From efe306a6347fa2538ff123863f33fd0548f7af50 Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Fri, 21 Oct 2022 21:44:28 +0900 Subject: [PATCH 01/25] move progress active --- docs/.vitepress/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 6ec6c3a..2402fbf 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -42,6 +42,7 @@ function getComponents() { { text: 'Button Group', link: '/components/buttonGroup/buttonGroup.md' }, { text: 'Card', link: 'components/card/card.md' }, { text: 'Dropdown', link: '/components/dropdown/dropdown.md' }, + { text: 'Progress', link: 'components/progress/progress.md' }, { text: 'Spinner', link: '/components/spinner/spinner.md' }, { text: 'Tabs', link: '/components/tabs/tabs.md' }, { text: 'ListGroup', link: 'components/listGroup/listGroup.md' }, @@ -53,7 +54,6 @@ function getComponents() { { text: '- Footer', link: 'components/footer/footer.md' }, { text: '- Navbar', link: 'components/navbar/navbar.md' }, { text: '- Pagination', link: 'components/pagination/pagination.md' }, - { text: '- Progress', link: 'components/progress/progress.md' }, { text: '- Rating', link: 'components/rating/rating.md' }, { text: '- Sidebar', link: 'components/sidebar/sidebar.md' }, { text: '- Table', link: 'components/table/table.md' }, From 7e75e047904dd00cab6fb9ce49b445109fea8641 Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Sat, 22 Oct 2022 22:52:36 +0900 Subject: [PATCH 02/25] create useProgressClasses.ts --- .node-version | 1 + src/components/Progress/Progress.vue | 3 +++ .../Progress/composables/useProgressClasses.ts | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 .node-version create mode 100644 src/components/Progress/composables/useProgressClasses.ts diff --git a/.node-version b/.node-version new file mode 100644 index 0000000..357607e --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +16.6.2 diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 378c2d8..48f12ef 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -6,6 +6,7 @@ diff --git a/src/components/Progress/composables/useProgressClasses.ts b/src/components/Progress/composables/useProgressClasses.ts new file mode 100644 index 0000000..1e1ebd6 --- /dev/null +++ b/src/components/Progress/composables/useProgressClasses.ts @@ -0,0 +1,18 @@ +const progressColorClasses: ProgressClassMap = { + default: { + default: '', + blue: 'bg-blue-600', + alternative: '', + dark: 'bg-gray-600 dark:bg-gray-300', + light: '', + green: 'bg-green-600 dark:bg-green-500', + red: 'bg-red-600 dark:bg-red-500', + yellow: 'bg-yellow-400', + purple: 'bg-purple-600 dark:bg-purple-500', + pink: '', + }, +} + +export function useProgressClasses(props: UseProgressClassesProps): { wrapperClasses: Ref} { + +} \ No newline at end of file From 373fd8f60287438230b9caf3d6a0d386e224e276 Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Sun, 23 Oct 2022 23:42:38 +0900 Subject: [PATCH 03/25] create types.ts --- src/components/Progress/composables/useProgressClasses.ts | 7 ++++++- src/components/Progress/types.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/components/Progress/types.ts diff --git a/src/components/Progress/composables/useProgressClasses.ts b/src/components/Progress/composables/useProgressClasses.ts index 1e1ebd6..23d56ad 100644 --- a/src/components/Progress/composables/useProgressClasses.ts +++ b/src/components/Progress/composables/useProgressClasses.ts @@ -13,6 +13,11 @@ const progressColorClasses: ProgressClassMap = { }, } +export type UseProgressClassesProps = { + color: Ref +} + export function useProgressClasses(props: UseProgressClassesProps): { wrapperClasses: Ref} { - + let colorClasses = ''; + colorClasses = progressColorClasses(props.gradient.value as unknown as keyof typeof progressColorClasses.default) } \ No newline at end of file diff --git a/src/components/Progress/types.ts b/src/components/Progress/types.ts new file mode 100644 index 0000000..8d5b11a --- /dev/null +++ b/src/components/Progress/types.ts @@ -0,0 +1 @@ +export type progressColor = 'default' | 'alternative' | 'dark' | 'light' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'blue' \ No newline at end of file From d302645ca172d807596006cf5bdcc3b1eba2de48 Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Fri, 28 Oct 2022 22:04:59 +0900 Subject: [PATCH 04/25] activate useProgressClasses --- src/components/Progress/Progress.vue | 4 +-- .../composables/useProgressClasses.ts | 27 ++++++++++++++++--- src/components/Progress/types.ts | 3 ++- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 48f12ef..3af26b4 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -1,6 +1,6 @@ diff --git a/src/components/Progress/composables/useProgressClasses.ts b/src/components/Progress/composables/useProgressClasses.ts index d3f67d7..ccc8293 100644 --- a/src/components/Progress/composables/useProgressClasses.ts +++ b/src/components/Progress/composables/useProgressClasses.ts @@ -1,13 +1,14 @@ import type { Ref } from 'vue' import { computed } from 'vue' import classNames from 'classnames' -import type { ProgressVariant } from '../types' +import type { ProgressVariant, ProgressSize } from '../types' -export type ProgressClassMap = { default: Record } +// export type ProgressClassMap = { default: Record } -const progressColorClasses: ProgressClassMap = { - default: { +const progressColorClasses: Record = { + // const progressColorClasses: ProgressClassMap = { + // default: { default: 'bg-blue-600 dark:bg-blue-600', blue: 'bg-blue-600 dark:bg-blue-600', alternative: 'dark:bg-gray-800', @@ -18,27 +19,47 @@ const progressColorClasses: ProgressClassMap = { yellow: 'bg-yellow-400', purple: 'bg-purple-600 dark:bg-purple-500', pink: 'bg-pink-700 dark:bg-pink-600', - }, + // }, +} + +const progressSizeClasses: Record = { + sm: 'text-sm h-1.5', + md: 'text-sm h-2.5', + lg: 'text-base h-4', + xl: 'text-base h-6', } export type UseProgressClassesProps = { color: Ref + size: Ref } -export function useProgressClasses(props: UseProgressClassesProps): { wrapperClasses: Ref} { +export function useProgressClasses(props: UseProgressClassesProps): { wrapperClasses: Ref, outerClass: Ref} { const bindClasses = computed(() => { let colorClass = '' + colorClass = progressColorClasses[props.color.value] - const color = props.color.value - colorClass = progressColorClasses.default[color as unknown as keyof typeof progressColorClasses.default] + let sizeClass = '' + sizeClass = progressSizeClasses[props.size.value] return classNames( - colorClass + colorClass, + sizeClass ) }) + const outerClass = computed(() => { + let outerSizeClass = '' + outerSizeClass = progressSizeClasses[props.size.value] + return classNames( + outerSizeClass + ) + }) + + return { wrapperClasses: bindClasses, + outerClass } } \ No newline at end of file diff --git a/src/components/Progress/types.ts b/src/components/Progress/types.ts index 2b8a944..73e120b 100644 --- a/src/components/Progress/types.ts +++ b/src/components/Progress/types.ts @@ -1,2 +1,3 @@ export type progressColor = 'default' | 'alternative' | 'dark' | 'light' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'blue' export type ProgressVariant = 'default' | 'alternative' | 'dark' | 'light' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'blue' +export type ProgressSize = 'sm' | 'md' | 'lg' | 'xl' \ No newline at end of file From 910541c061a3e0f56ff5fe27482bc1dda2e784c2 Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Fri, 28 Oct 2022 23:11:31 +0900 Subject: [PATCH 07/25] add outer label --- src/components/Progress/Progress.vue | 26 ++++++++---- .../composables/useProgressClasses.ts | 42 ++++++++++++++----- 2 files changed, 50 insertions(+), 18 deletions(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 64b2952..5f9be68 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -1,6 +1,16 @@ diff --git a/src/components/Progress/composables/useProgressClasses.ts b/src/components/Progress/composables/useProgressClasses.ts index ccc8293..2e93f10 100644 --- a/src/components/Progress/composables/useProgressClasses.ts +++ b/src/components/Progress/composables/useProgressClasses.ts @@ -6,7 +6,7 @@ import type { ProgressVariant, ProgressSize } from '../types' // export type ProgressClassMap = { default: Record } -const progressColorClasses: Record = { +const barColorClasses: Record = { // const progressColorClasses: ProgressClassMap = { // default: { default: 'bg-blue-600 dark:bg-blue-600', @@ -22,11 +22,24 @@ const progressColorClasses: Record = { // }, } +const outsideTextColorClasses: Record = { + default: 'text-blue-700 dark:text-blue-500', + blue: 'text-blue-700 dark:text-blue-500', + alternative: 'dark:bg-gray-800', + dark: 'dark:text-white', + light: 'text-white dark:text-gray-800', + green: 'text-green-700 dark:text-green-500', + red: 'text-red-700 dark:text-red-500', + yellow: 'text-yellow-700 dark:text-yellow-500', + purple: 'text-purple-700 dark:text-purple-500', + pink: 'text-pink-700 dark:text-pink-600', +} + const progressSizeClasses: Record = { - sm: 'text-sm h-1.5', - md: 'text-sm h-2.5', - lg: 'text-base h-4', - xl: 'text-base h-6', + sm: 'h-1.5 text-xs leading-none', + md: 'h-2.5 text-xs leading-none', + lg: 'h-4 text-sm leading-none', + xl: 'h-6 text-base leading-tight', } export type UseProgressClassesProps = { @@ -34,11 +47,11 @@ export type UseProgressClassesProps = { size: Ref } -export function useProgressClasses(props: UseProgressClassesProps): { wrapperClasses: Ref, outerClass: Ref} { +export function useProgressClasses(props: UseProgressClassesProps): { innerClasses: Ref, outerClasses: Ref, outsideLabelClasses: Ref} { const bindClasses = computed(() => { let colorClass = '' - colorClass = progressColorClasses[props.color.value] + colorClass = barColorClasses[props.color.value] let sizeClass = '' sizeClass = progressSizeClasses[props.size.value] @@ -49,7 +62,7 @@ export function useProgressClasses(props: UseProgressClassesProps): { wrapperCla ) }) - const outerClass = computed(() => { + const outerClasses = computed(() => { let outerSizeClass = '' outerSizeClass = progressSizeClasses[props.size.value] return classNames( @@ -57,9 +70,18 @@ export function useProgressClasses(props: UseProgressClassesProps): { wrapperCla ) }) + const outsideLabelClasses = computed(() => { + let outsideLabelClass = '' + outsideLabelClass = outsideTextColorClasses[props.color.value] + return classNames( + outsideLabelClass + ) + }) + return { - wrapperClasses: bindClasses, - outerClass + innerClasses: bindClasses, + outerClasses, + outsideLabelClasses } } \ No newline at end of file From 11490b1e9a95f03d707a65c0ce15755aefce988d Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Fri, 28 Oct 2022 23:23:51 +0900 Subject: [PATCH 08/25] prepare initial progress.md --- docs/components/progress/progress.md | 12 ++++++++++++ src/components/Progress/Progress.vue | 12 +++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/components/progress/progress.md b/docs/components/progress/progress.md index 3ab4a7a..5518699 100644 --- a/docs/components/progress/progress.md +++ b/docs/components/progress/progress.md @@ -13,3 +13,15 @@ import { Progress } from 'flowbite-vue' ``` + +## Sizes +You can also use different sizes by using various sizing. + +## With label inside +Here is an example of using a progress bar with the label inside the bar. + +## With label outside +And this is an example of using a progress bar outside the bar. + +## Colors +You can also apply color. diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 5f9be68..7eabc4c 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -2,11 +2,11 @@
-
+
@@ -25,7 +25,7 @@ const props = defineProps({ }, label: { type: String, - default: 'rate', + default: '', }, labelPosition: { type: String, // 'inside' | 'outside' | 'none' @@ -37,14 +37,16 @@ const props = defineProps({ }, progress: { type: Number, - default: 55, + default: 45, }, size: { type: String, // 'sm' | 'md' | 'lg' | 'xl' - default: 'md', + default: 'lg', }, }) +const widthStyle = computed(() => "width:" + props.progress + "%") + const { innerClasses, outerClasses, outsideLabelClasses } = useProgressClasses(toRefs(props)) From eb6f4bd33aa5e42b41f4e44f786015a28dffb4ae Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Sat, 29 Oct 2022 11:22:25 +0900 Subject: [PATCH 09/25] prepate progress.md --- .../examples/ProgressColorExample.vue | 15 ++++ .../progress/examples/ProgressExample.vue | 2 +- .../examples/ProgressInsideLabelExample.vue | 6 ++ .../examples/ProgressOutsideLabelExample.vue | 6 ++ .../progress/examples/ProgressSizeExample.vue | 11 +++ docs/components/progress/progress.md | 77 ++++++++++++++++++- src/components/Progress/Progress.vue | 10 ++- .../composables/useProgressClasses.ts | 10 +-- src/components/Progress/types.ts | 3 +- 9 files changed, 125 insertions(+), 15 deletions(-) create mode 100644 docs/components/progress/examples/ProgressColorExample.vue create mode 100644 docs/components/progress/examples/ProgressInsideLabelExample.vue create mode 100644 docs/components/progress/examples/ProgressOutsideLabelExample.vue create mode 100644 docs/components/progress/examples/ProgressSizeExample.vue diff --git a/docs/components/progress/examples/ProgressColorExample.vue b/docs/components/progress/examples/ProgressColorExample.vue new file mode 100644 index 0000000..4015895 --- /dev/null +++ b/docs/components/progress/examples/ProgressColorExample.vue @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/docs/components/progress/examples/ProgressExample.vue b/docs/components/progress/examples/ProgressExample.vue index 62c6704..bd62efb 100644 --- a/docs/components/progress/examples/ProgressExample.vue +++ b/docs/components/progress/examples/ProgressExample.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/docs/components/progress/examples/ProgressOutsideLabelExample.vue b/docs/components/progress/examples/ProgressOutsideLabelExample.vue new file mode 100644 index 0000000..2af7377 --- /dev/null +++ b/docs/components/progress/examples/ProgressOutsideLabelExample.vue @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/docs/components/progress/examples/ProgressSizeExample.vue b/docs/components/progress/examples/ProgressSizeExample.vue new file mode 100644 index 0000000..35f9469 --- /dev/null +++ b/docs/components/progress/examples/ProgressSizeExample.vue @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/docs/components/progress/progress.md b/docs/components/progress/progress.md index 5518699..7ea9b9e 100644 --- a/docs/components/progress/progress.md +++ b/docs/components/progress/progress.md @@ -1,14 +1,22 @@ # Vue Progress Bar Component - Flowbite +## Default + ```vue ``` @@ -17,11 +25,78 @@ import { Progress } from 'flowbite-vue' ## Sizes You can also use different sizes by using various sizing. +```vue + + +``` + + + ## With label inside Here is an example of using a progress bar with the label inside the bar. +```vue + + +``` + + + ## With label outside And this is an example of using a progress bar outside the bar. +```vue + + +``` + + + ## Colors You can also apply color. + +```vue + + +``` + + \ No newline at end of file diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 7eabc4c..e8e768f 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -1,4 +1,5 @@ ``` diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index e8e768f..b462a73 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -31,7 +31,7 @@ const props = defineProps({ }, labelPosition: { type: String, // 'inside' | 'outside' | 'none' - default: 'inside', + default: 'none', }, labelProgress: { type: Boolean, @@ -43,7 +43,7 @@ const props = defineProps({ }, size: { type: String, // 'sm' | 'md' | 'lg' | 'xl' - default: 'lg', + default: 'md', }, }) From f2a0bb732c4257f69992a0f19819d893138bfa30 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:56:56 +0300 Subject: [PATCH 12/25] Update src/components/Progress/Progress.vue --- src/components/Progress/Progress.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index b462a73..f2b9860 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -2,7 +2,7 @@
From 2f7b0780f4f3e988376f310ebef88204405726d0 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:57:04 +0300 Subject: [PATCH 13/25] Update src/components/Progress/Progress.vue --- src/components/Progress/Progress.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index f2b9860..77c53bb 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -16,7 +16,7 @@
\ No newline at end of file From 47716a68b917b7a3b61c34153cb5afd742820761 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:57:44 +0300 Subject: [PATCH 20/25] Update docs/components/progress/examples/ProgressOutsideLabelExample.vue --- .../progress/examples/ProgressOutsideLabelExample.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/components/progress/examples/ProgressOutsideLabelExample.vue b/docs/components/progress/examples/ProgressOutsideLabelExample.vue index 2af7377..7da0a2a 100644 --- a/docs/components/progress/examples/ProgressOutsideLabelExample.vue +++ b/docs/components/progress/examples/ProgressOutsideLabelExample.vue @@ -2,5 +2,5 @@ \ No newline at end of file From 853925c49d5e6baf86164d89eb8f8c69010f2c9a Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:57:50 +0300 Subject: [PATCH 21/25] Update docs/components/progress/examples/ProgressSizeExample.vue --- docs/components/progress/examples/ProgressSizeExample.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/components/progress/examples/ProgressSizeExample.vue b/docs/components/progress/examples/ProgressSizeExample.vue index 35f9469..f79454c 100644 --- a/docs/components/progress/examples/ProgressSizeExample.vue +++ b/docs/components/progress/examples/ProgressSizeExample.vue @@ -7,5 +7,5 @@
\ No newline at end of file From ba378a4679214f062d7c9e6201ad551615ea7de7 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:58:37 +0300 Subject: [PATCH 22/25] Update src/components/Progress/Progress.vue --- src/components/Progress/Progress.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 5cdb52a..1936dff 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -48,7 +48,6 @@ const props = defineProps({ }, }) -const widthStyle = computed(() => "width:" + props.progress + "%") const { innerClasses, outerClasses, outsideLabelClasses } = useProgressClasses(toRefs(props)) From 0906d9ad132bf2c9b8a39681a7f001b01973f075 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:58:45 +0300 Subject: [PATCH 23/25] Update src/components/Progress/Progress.vue --- src/components/Progress/Progress.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 1936dff..2237753 100644 --- a/src/components/Progress/Progress.vue +++ b/src/components/Progress/Progress.vue @@ -48,7 +48,6 @@ const props = defineProps({ }, }) - const { innerClasses, outerClasses, outsideLabelClasses } = useProgressClasses(toRefs(props)) From 93988c439ba5ba33313bcad42617efcac083d182 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:58:53 +0300 Subject: [PATCH 24/25] Update src/components/Progress/composables/useProgressClasses.ts --- src/components/Progress/composables/useProgressClasses.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Progress/composables/useProgressClasses.ts b/src/components/Progress/composables/useProgressClasses.ts index 0bd8253..f97f30b 100644 --- a/src/components/Progress/composables/useProgressClasses.ts +++ b/src/components/Progress/composables/useProgressClasses.ts @@ -1,7 +1,7 @@ import type { Ref } from 'vue' import { computed } from 'vue' import classNames from 'classnames' -import type { ProgressVariant, ProgressSize } from '../types' +import type { ProgressVariant, ProgressSize, ProgressLabelPosition } from '../types' const barColorClasses: Record = { default: 'bg-blue-600 dark:bg-blue-600', From 7f2c03024c875f50715815083244d34e6f80a41f Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Sun, 20 Nov 2022 20:59:23 +0300 Subject: [PATCH 25/25] Update src/components/Progress/types.ts --- src/components/Progress/types.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Progress/types.ts b/src/components/Progress/types.ts index 11b7ebf..ec44e3d 100644 --- a/src/components/Progress/types.ts +++ b/src/components/Progress/types.ts @@ -1,2 +1,3 @@ export type ProgressVariant = 'default' | 'dark' | 'green' | 'red' | 'yellow' | 'purple' | 'blue' | 'indigo' -export type ProgressSize = 'sm' | 'md' | 'lg' | 'xl' \ No newline at end of file +export type ProgressSize = 'sm' | 'md' | 'lg' | 'xl' +export type ProgressLabelPosition = 'inside' | 'outside' | 'none'