From a8cfc85b36fe14b1ed10d0d4a51781cc8c55540f Mon Sep 17 00:00:00 2001 From: hirakei1203 Date: Fri, 28 Oct 2022 22:32:12 +0900 Subject: [PATCH] add size logic --- .../Button/composables/useButtonClasses.ts | 1 - src/components/Progress/Progress.vue | 8 ++-- .../composables/useProgressClasses.ts | 39 ++++++++++++++----- src/components/Progress/types.ts | 1 + 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/components/Button/composables/useButtonClasses.ts b/src/components/Button/composables/useButtonClasses.ts index ec71268..b83fae4 100644 --- a/src/components/Button/composables/useButtonClasses.ts +++ b/src/components/Button/composables/useButtonClasses.ts @@ -122,7 +122,6 @@ const buttonOutlineGradientClasses: ButtonClassMap = { }, } - const buttonSizeClasses: Record = { xs: 'text-xs px-2 py-1', sm: 'text-sm px-3 py-1.5', diff --git a/src/components/Progress/Progress.vue b/src/components/Progress/Progress.vue index 9d4665a..64b2952 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