diff --git a/src/components/progress-bar/CProgressBar.vue b/src/components/progress-bar/CProgressBar.vue new file mode 100644 index 0000000..3f05def --- /dev/null +++ b/src/components/progress-bar/CProgressBar.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/components/progress-bar/types.ts b/src/components/progress-bar/types.ts new file mode 100644 index 0000000..f75c4b5 --- /dev/null +++ b/src/components/progress-bar/types.ts @@ -0,0 +1,2 @@ +export type CProgressBarSize = 'small' | 'medium' | 'large' +export type CProgressBarVariant = 'default' | 'success' | 'warning' | 'danger' diff --git a/src/index.ts b/src/index.ts index a6d7e6b..33b88d0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,6 +11,7 @@ export { default as CMenu } from './components/menu/CMenu.vue' export { default as CMultiSelect } from './components/multi-select/CMultiSelect.vue' export { default as CNumberInput } from './components/number-input/CNumberInput.vue' export { default as CPassword } from './components/password/CPassword.vue' +export { default as CProgressBar } from './components/progress-bar/CProgressBar.vue' export { default as CRadio } from './components/radio/CRadio.vue' export { default as CSelect } from './components/select/CSelect.vue' export { default as CSeparator } from './components/separator/CSeparator.vue' @@ -34,6 +35,10 @@ export type { CMultiSelectValue, } from './components/multi-select/types' export type { CRadioValue } from './components/radio/types' +export type { + CProgressBarSize, + CProgressBarVariant, +} from './components/progress-bar/types' export type { CSelectKeyAccessor, CSelectLabelAccessor, diff --git a/src/layouts/useLayoutNavigation.ts b/src/layouts/useLayoutNavigation.ts index 8718ec0..044cac5 100644 --- a/src/layouts/useLayoutNavigation.ts +++ b/src/layouts/useLayoutNavigation.ts @@ -120,6 +120,13 @@ export function useTopNavigation() { active: route.name === 'auto-complete', command: () => void router.push({ name: 'auto-complete' }), }, + { + id: 'progress-bar', + label: 'Progress Bar', + icon: '▰', + active: route.name === 'progress-bar', + command: () => void router.push({ name: 'progress-bar' }), + }, { type: 'separator' }, { id: 'icon', @@ -244,6 +251,13 @@ export function useComponentNavigation() { active: route.name === 'auto-complete', command: () => void router.push({ name: 'auto-complete' }), }, + { + id: 'progress-bar', + label: 'Progress Bar', + icon: '▰', + active: route.name === 'progress-bar', + command: () => void router.push({ name: 'progress-bar' }), + }, { type: 'separator' }, { id: 'icon', diff --git a/src/pages/components/ProgressBar.vue b/src/pages/components/ProgressBar.vue new file mode 100644 index 0000000..f8fd1c8 --- /dev/null +++ b/src/pages/components/ProgressBar.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 15b2598..fd5e293 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -96,6 +96,11 @@ const router = createRouter({ name: 'auto-complete', component: () => import('@/pages/components/AutoComplete.vue'), }, + { + path: 'progress-bar', + name: 'progress-bar', + component: () => import('@/pages/components/ProgressBar.vue'), + }, { path: 'icon', name: 'icon',