diff --git a/src/circular-progress/stories/CircularProgressBasic.component.tsx b/src/circular-progress/stories/CircularProgressBasic.component.tsx index 64c7ba84..12158ebb 100644 --- a/src/circular-progress/stories/CircularProgressBasic.component.tsx +++ b/src/circular-progress/stories/CircularProgressBasic.component.tsx @@ -9,7 +9,7 @@ export const CircularProgressBasic: React.FC< > = props => { return (
- +
); }; diff --git a/src/circular-progress/stories/CircularProgressBasic.stories.tsx b/src/circular-progress/stories/CircularProgressBasic.stories.tsx index be27ba87..90dc2fcc 100644 --- a/src/circular-progress/stories/CircularProgressBasic.stories.tsx +++ b/src/circular-progress/stories/CircularProgressBasic.stories.tsx @@ -24,7 +24,7 @@ export default { } as Meta; export const Default: Story = { - args: { size: "md", themeColor: "base" }, + args: { size: "md", themeColor: "base", value: 50 }, }; export const Small: Story = { diff --git a/src/meter/MeterBar.tsx b/src/meter/MeterBar.tsx index 9360a807..d008076c 100644 --- a/src/meter/MeterBar.tsx +++ b/src/meter/MeterBar.tsx @@ -12,12 +12,26 @@ import { cx } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterBar = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { - console.log("%cstate", "color: #408059", state); + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = cx( - theme.bar.common, - flatBorders ? theme.bar.flatBorders : "", + theme.bar, + size + ? cx( + theme.size[size]?.bar.base, + !flatBorders ? theme.size[size]?.bar.roundedBorders : "", + ) + : "", + themeColor ? theme.themeColor[themeColor]?.bar : "", props.className, ); const style = { width: `${state?.percent}%`, ...props.style }; diff --git a/src/meter/MeterBarWrapper.tsx b/src/meter/MeterBarWrapper.tsx index 5b187d3b..4a53fff4 100644 --- a/src/meter/MeterBarWrapper.tsx +++ b/src/meter/MeterBarWrapper.tsx @@ -12,10 +12,20 @@ import { cx } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterBarWrapper = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = cx( - theme.barWrapper.common, + theme.barWrapper.base, + size ? theme.size[size]?.barWrapper : "", flatBorders ? theme.barWrapper.flatBorders : "", props.className, ); diff --git a/src/meter/MeterHint.tsx b/src/meter/MeterHint.tsx index e08cac67..f0cee01b 100644 --- a/src/meter/MeterHint.tsx +++ b/src/meter/MeterHint.tsx @@ -12,11 +12,21 @@ import { cx } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterHint = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = cx( - theme.hint.common, - size ? theme.hint.size[size] : "", + theme.hint, + size ? theme.size[size]?.hint : "", + themeColor ? theme.themeColor[themeColor]?.hint : "", props.className, ); diff --git a/src/meter/MeterLabel.tsx b/src/meter/MeterLabel.tsx index 1a02d389..919b7d7f 100644 --- a/src/meter/MeterLabel.tsx +++ b/src/meter/MeterLabel.tsx @@ -12,11 +12,21 @@ import { tcm } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterLabel = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = tcm( - theme.label.common, - size ? theme.label.size[size] : "", + theme.label, + size ? theme.size[size]?.label : "", + themeColor ? theme.themeColor[themeColor]?.label : "", props.className, ); diff --git a/src/meter/MeterProps.ts b/src/meter/MeterProps.ts index b374499e..0c3484ec 100644 --- a/src/meter/MeterProps.ts +++ b/src/meter/MeterProps.ts @@ -30,6 +30,7 @@ export function useMeterProps(props: MeterProps): MeterPropsReturn { min, max, size, + themeColor, intervals, flatBorders, label, @@ -44,6 +45,7 @@ export function useMeterProps(props: MeterProps): MeterPropsReturn { }); const uiState = useMeterUIState({ size, + themeColor, flatBorders, intervals, label, @@ -98,7 +100,7 @@ export function useMeterProps(props: MeterProps): MeterPropsReturn { const hintProps: MeterHintProps = { ...uiProps, - ...componentProps.trackProps, + ...componentProps.hintProps, children: runIfFn(_hint, uiProps), }; diff --git a/src/meter/MeterTrack.tsx b/src/meter/MeterTrack.tsx index 61c42ac0..c59f4e0a 100644 --- a/src/meter/MeterTrack.tsx +++ b/src/meter/MeterTrack.tsx @@ -12,11 +12,22 @@ import { cx } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterTrack = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = cx( - theme.track.common, - size ? theme.track.size[size] : "", + theme.track, + size ? theme.size[size]?.track : "", + // flatBorders ? theme.bar.flatBorders : "", + themeColor ? theme.themeColor[themeColor]?.track : "", props.className, ); diff --git a/src/meter/MeterUIState.ts b/src/meter/MeterUIState.ts index 6fff2fc5..79b25d06 100644 --- a/src/meter/MeterUIState.ts +++ b/src/meter/MeterUIState.ts @@ -3,10 +3,18 @@ import { RenderProp } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterUIState = (props: MeterUIStateProps): MeterUIState => { - const { size = "md", intervals = 1, flatBorders = true, label, hint } = props; + const { + size = "md", + themeColor = "base", + intervals = 1, + flatBorders = true, + label, + hint, + } = props; return { size, + themeColor, intervals, flatBorders: intervals === 1 ? false : flatBorders, label, @@ -20,7 +28,14 @@ export type MeterUIState = { * * @default md */ - size: keyof AdaptUI.GetThemeValue<"meter", "track", "size">; + size: keyof AdaptUI.GetThemeValue<"meter", "size">; + + /** + * How the progress should be themed? + * + * @default base + */ + themeColor: keyof AdaptUI.GetThemeValue<"meter", "themeColor">; /** * No of intervals for the meter. @@ -46,5 +61,8 @@ export type MeterUIState = { }; export type MeterUIStateProps = Partial< - Pick + Pick< + MeterUIState, + "size" | "intervals" | "flatBorders" | "label" | "hint" | "themeColor" + > > & {}; diff --git a/src/meter/MeterWrapper.tsx b/src/meter/MeterWrapper.tsx index d7779c67..3ccb2e0e 100644 --- a/src/meter/MeterWrapper.tsx +++ b/src/meter/MeterWrapper.tsx @@ -13,7 +13,16 @@ import { tcm } from "../utils"; import { MeterUIProps } from "./MeterProps"; export const useMeterWrapper = createHook( - ({ state, size, intervals, flatBorders, label, hint, ...props }) => { + ({ + state, + size, + themeColor, + intervals, + flatBorders, + label, + hint, + ...props + }) => { const theme = useTheme("meter"); const className = tcm(theme.wrapper, props.className); diff --git a/src/meter/stories/MeterBasic.component.tsx b/src/meter/stories/MeterBasic.component.tsx index 7ef2a496..ff857c8e 100644 --- a/src/meter/stories/MeterBasic.component.tsx +++ b/src/meter/stories/MeterBasic.component.tsx @@ -1,52 +1,15 @@ import * as React from "react"; -import { Button, Meter, MeterProps } from "../../index"; +import { Meter, MeterProps } from "../../index"; export type MeterBasicProps = MeterProps & {}; export const MeterBasic: React.FC = props => { - const [value, setValue] = useMeterState(); - return (
- - +
); }; export default MeterBasic; - -const useMeterState = (initialValue: number = 0) => { - const [value, setValue] = React.useState(initialValue); - - React.useEffect(() => { - const clearId = setInterval(() => { - setValue(prevValue => { - return prevValue + 50; - }); - }, 500); - - if (value === 100) { - clearInterval(clearId); - } - - return () => { - clearInterval(clearId); - }; - }, [setValue, value]); - - return [value, setValue] as const; -}; - -const ActionButtons: React.FC<{ - setValue: React.Dispatch>; -}> = ({ setValue }) => { - return ( - <> - - - ); -}; diff --git a/src/meter/stories/MeterBasic.stories.tsx b/src/meter/stories/MeterBasic.stories.tsx index 39f77075..9cc002ec 100644 --- a/src/meter/stories/MeterBasic.stories.tsx +++ b/src/meter/stories/MeterBasic.stories.tsx @@ -1,9 +1,6 @@ import { ComponentMeta, ComponentStoryObj } from "@storybook/react"; -import { - createPreviewTabs, - createUnionControl, -} from "../../../.storybook/utils"; +import { createControls, createPreviewTabs } from "../../../.storybook/utils"; import js from "./templates/MeterBasicJsx"; import ts from "./templates/MeterBasicTsx"; @@ -15,9 +12,9 @@ type Story = ComponentStoryObj; export default { title: "Feedback/Meter/Basic", component: MeterBasic, - argTypes: { - size: createUnionControl(["sm", "md", "lg", "xl"]), - }, + argTypes: createControls("meter", { + ignore: ["wrapElement", "as", "ref", "label", "hint"], + }), parameters: { layout: "centered", options: { showPanel: true }, @@ -25,7 +22,55 @@ export default { }, } as Meta; -export const Small: Story = { args: { size: "sm" } }; -export const Medium: Story = { args: { size: "md" } }; -export const Large: Story = { args: { size: "lg" } }; -export const ExtraLarge: Story = { args: { size: "xl" } }; +export const Default: Story = { + args: { size: "md", themeColor: "base", max: 100, value: 50 }, +}; + +export const Small: Story = { + ...Default, + args: { ...Default.args, size: "sm" }, +}; +export const Medium: Story = { ...Default }; +export const Large: Story = { + ...Default, + args: { ...Default.args, size: "lg" }, +}; +export const ExtraLarge: Story = { + ...Default, + args: { ...Default.args, size: "xl" }, +}; + +export const Base: Story = { + ...Default, + args: { ...Default.args, themeColor: "base" }, +}; +export const Primary: Story = { + ...Default, + args: { ...Default.args, themeColor: "primary" }, +}; + +export const Label: Story = { + ...Default, + args: { ...Default.args, label: "Meter" }, +}; + +export const Hint: Story = { + ...Default, + args: { ...Default.args, label: "Meter", hint: "50%" }, +}; + +export const Intervals: Story = { + ...Default, + args: { ...Default.args, label: "Meter", hint: "50%", intervals: 2 }, +}; + +export const RoundedBorders: Story = { + ...Default, + args: { + ...Default.args, + label: "Meter", + hint: "50%", + intervals: 4, + flatBorders: false, + }, +}; diff --git a/src/meter/stories/MeterCustom.component.tsx b/src/meter/stories/MeterCustom.component.tsx index 227b8445..cfd34d9e 100644 --- a/src/meter/stories/MeterCustom.component.tsx +++ b/src/meter/stories/MeterCustom.component.tsx @@ -9,7 +9,17 @@ export const MeterCustom: React.FC = props => { return (
- + + props.state?.percent === null + ? undefined + : `${Math.ceil(props.state?.percent)}%` + } + {...props} + > @@ -26,7 +36,7 @@ const useMeterState = (initialValue: number = 0) => { React.useEffect(() => { const clearId = setInterval(() => { setValue(prevValue => { - return prevValue + 50; + return prevValue + 5; }); }, 500); diff --git a/src/meter/stories/MeterCustom.stories.tsx b/src/meter/stories/MeterCustom.stories.tsx index eb856a5f..1a1ddb3f 100644 --- a/src/meter/stories/MeterCustom.stories.tsx +++ b/src/meter/stories/MeterCustom.stories.tsx @@ -1,9 +1,6 @@ import { ComponentMeta, ComponentStoryObj } from "@storybook/react"; -import { - createPreviewTabs, - createUnionControl, -} from "../../../.storybook/utils"; +import { createControls, createPreviewTabs } from "../../../.storybook/utils"; import js from "./templates/MeterCustomJsx"; import ts from "./templates/MeterCustomTsx"; @@ -15,9 +12,9 @@ type Story = ComponentStoryObj; export default { title: "Feedback/Meter/Custom", component: MeterCustom, - argTypes: { - size: createUnionControl(["sm", "md", "lg", "xl"]), - }, + argTypes: createControls("meter", { + ignore: ["wrapElement", "as", "ref", "label", "hint"], + }), parameters: { layout: "centered", options: { showPanel: true }, @@ -25,7 +22,43 @@ export default { }, } as Meta; -export const Small: Story = { args: { size: "sm" } }; -export const Medium: Story = { args: { size: "md" } }; -export const Large: Story = { args: { size: "lg" } }; -export const ExtraLarge: Story = { args: { size: "xl" } }; +export const Default: Story = { + args: { size: "md", themeColor: "base" }, +}; + +export const Small: Story = { + ...Default, + args: { ...Default.args, size: "sm" }, +}; +export const Medium: Story = { ...Default }; +export const Large: Story = { + ...Default, + args: { ...Default.args, size: "lg" }, +}; +export const ExtraLarge: Story = { + ...Default, + args: { ...Default.args, size: "xl" }, +}; + +export const Base: Story = { + ...Default, + args: { ...Default.args, themeColor: "base" }, +}; +export const Primary: Story = { + ...Default, + args: { ...Default.args, themeColor: "primary" }, +}; + +export const Intervals: Story = { + ...Default, + args: { ...Default.args, intervals: 4 }, +}; + +export const RoundedBorders: Story = { + ...Default, + args: { + ...Default.args, + intervals: 4, + flatBorders: false, + }, +}; diff --git a/src/meter/stories/MeterHint.component.tsx b/src/meter/stories/MeterHint.component.tsx deleted file mode 100644 index dc52de6b..00000000 --- a/src/meter/stories/MeterHint.component.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from "react"; - -import { Button, Meter, MeterProps } from "../../index"; - -export type MeterHintProps = MeterProps & {}; - -export const MeterHint: React.FC = props => { - const [value, setValue] = useMeterState(); - - return ( -
- - props.state?.percent === null - ? undefined - : `${Math.ceil(props.state?.percent)}%` - } - {...props} - /> - -
- ); -}; - -export default MeterHint; - -const useMeterState = (initialValue: number = 0) => { - const [value, setValue] = React.useState(initialValue); - - React.useEffect(() => { - const clearId = setInterval(() => { - setValue(prevValue => { - return prevValue + 1; - }); - }, 500); - - if (value === 100) { - clearInterval(clearId); - } - - return () => { - clearInterval(clearId); - }; - }, [setValue, value]); - - return [value, setValue] as const; -}; - -const ActionButtons: React.FC<{ - setValue: React.Dispatch>; -}> = ({ setValue }) => { - return ( - <> - - - ); -}; diff --git a/src/meter/stories/MeterHint.stories.tsx b/src/meter/stories/MeterHint.stories.tsx deleted file mode 100644 index 28519553..00000000 --- a/src/meter/stories/MeterHint.stories.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { ComponentMeta, ComponentStoryObj } from "@storybook/react"; - -import { - createPreviewTabs, - createUnionControl, -} from "../../../.storybook/utils"; - -import js from "./templates/MeterHintJsx"; -import ts from "./templates/MeterHintTsx"; -import MeterHint from "./MeterHint.component"; - -type Meta = ComponentMeta; -type Story = ComponentStoryObj; - -export default { - title: "Feedback/Meter/Hint", - component: MeterHint, - argTypes: { - size: createUnionControl(["sm", "md", "lg", "xl"]), - }, - parameters: { - layout: "centered", - options: { showPanel: true }, - preview: createPreviewTabs({ js, ts }), - }, -} as Meta; - -export const Small: Story = { args: { size: "sm" } }; -export const Medium: Story = { args: { size: "md" } }; -export const Large: Story = { args: { size: "lg" } }; -export const ExtraLarge: Story = { args: { size: "xl" } }; diff --git a/src/meter/stories/MeterInterval.stories.tsx b/src/meter/stories/MeterInterval.stories.tsx index 06d7c76a..a2c54d1d 100644 --- a/src/meter/stories/MeterInterval.stories.tsx +++ b/src/meter/stories/MeterInterval.stories.tsx @@ -1,9 +1,6 @@ import { ComponentMeta, ComponentStoryObj } from "@storybook/react"; -import { - createPreviewTabs, - createUnionControl, -} from "../../../.storybook/utils"; +import { createControls, createPreviewTabs } from "../../../.storybook/utils"; import js from "./templates/MeterIntervalJsx"; import ts from "./templates/MeterIntervalTsx"; @@ -15,9 +12,9 @@ type Story = ComponentStoryObj; export default { title: "Feedback/Meter/Interval", component: MeterInterval, - argTypes: { - size: createUnionControl(["sm", "md", "lg", "xl"]), - }, + argTypes: createControls("meter", { + ignore: ["wrapElement", "as", "ref", "label", "hint"], + }), parameters: { layout: "centered", options: { showPanel: true }, @@ -25,8 +22,37 @@ export default { }, } as Meta; -export const Small: Story = { args: { size: "sm" } }; -export const Medium: Story = { args: { size: "md" } }; -export const Large: Story = { args: { size: "lg" } }; -export const ExtraLarge: Story = { args: { size: "xl" } }; -export const RoundedBars: Story = { args: { flatBorders: false } }; +export const Default: Story = { + args: { size: "md", themeColor: "base" }, +}; + +export const Small: Story = { + ...Default, + args: { ...Default.args, size: "sm" }, +}; +export const Medium: Story = { ...Default }; +export const Large: Story = { + ...Default, + args: { ...Default.args, size: "lg" }, +}; +export const ExtraLarge: Story = { + ...Default, + args: { ...Default.args, size: "xl" }, +}; + +export const Base: Story = { + ...Default, + args: { ...Default.args, themeColor: "base" }, +}; +export const Primary: Story = { + ...Default, + args: { ...Default.args, themeColor: "primary" }, +}; + +export const RoundedBorders: Story = { + ...Default, + args: { + ...Default.args, + flatBorders: false, + }, +}; diff --git a/src/meter/stories/MeterLabel.component.tsx b/src/meter/stories/MeterLabel.component.tsx deleted file mode 100644 index 4a563fd6..00000000 --- a/src/meter/stories/MeterLabel.component.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import * as React from "react"; - -import { Button, Meter, MeterProps } from "../../index"; - -export type MeterLabelProps = MeterProps & {}; - -export const MeterLabel: React.FC = props => { - const [value, setValue] = useMeterState(); - - return ( -
- - -
- ); -}; - -export default MeterLabel; - -const useMeterState = (initialValue: number = 0) => { - const [value, setValue] = React.useState(initialValue); - - React.useEffect(() => { - const clearId = setInterval(() => { - setValue(prevValue => { - return prevValue + 50; - }); - }, 500); - - if (value === 100) { - clearInterval(clearId); - } - - return () => { - clearInterval(clearId); - }; - }, [setValue, value]); - - return [value, setValue] as const; -}; - -const ActionButtons: React.FC<{ - setValue: React.Dispatch>; -}> = ({ setValue }) => { - return ( - <> - - - ); -}; diff --git a/src/meter/stories/MeterLabel.stories.tsx b/src/meter/stories/MeterLabel.stories.tsx deleted file mode 100644 index 603595cd..00000000 --- a/src/meter/stories/MeterLabel.stories.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { ComponentMeta, ComponentStoryObj } from "@storybook/react"; - -import { - createPreviewTabs, - createUnionControl, -} from "../../../.storybook/utils"; - -import js from "./templates/MeterLabelJsx"; -import ts from "./templates/MeterLabelTsx"; -import MeterLabel from "./MeterLabel.component"; - -type Meta = ComponentMeta; -type Story = ComponentStoryObj; - -export default { - title: "Feedback/Meter/Label", - component: MeterLabel, - argTypes: { - size: createUnionControl(["sm", "md", "lg", "xl"]), - }, - parameters: { - layout: "centered", - options: { showPanel: true }, - preview: createPreviewTabs({ js, ts }), - }, -} as Meta; - -export const Small: Story = { args: { size: "sm" } }; -export const Medium: Story = { args: { size: "md" } }; -export const Large: Story = { args: { size: "lg" } }; -export const ExtraLarge: Story = { args: { size: "xl" } }; diff --git a/src/progress/stories/ProgressBasic.component.tsx b/src/progress/stories/ProgressBasic.component.tsx index 3c556a4b..7098b804 100644 --- a/src/progress/stories/ProgressBasic.component.tsx +++ b/src/progress/stories/ProgressBasic.component.tsx @@ -7,7 +7,7 @@ export type ProgressBasicProps = ProgressProps & {}; export const ProgressBasic: React.FC = props => { return (
- +
); }; diff --git a/src/progress/stories/ProgressBasic.stories.tsx b/src/progress/stories/ProgressBasic.stories.tsx index d63e2b65..f370114b 100644 --- a/src/progress/stories/ProgressBasic.stories.tsx +++ b/src/progress/stories/ProgressBasic.stories.tsx @@ -23,7 +23,7 @@ export default { } as Meta; export const Default: Story = { - args: { size: "md", themeColor: "base" }, + args: { size: "md", themeColor: "base", value: 50 }, }; export const Small: Story = { diff --git a/src/theme/defaultTheme/meter.ts b/src/theme/defaultTheme/meter.ts index dafdc266..d1a45bf9 100644 --- a/src/theme/defaultTheme/meter.ts +++ b/src/theme/defaultTheme/meter.ts @@ -1,39 +1,56 @@ export const meter = { wrapper: "inline-flex flex-row flex-wrap justify-between items-center align-top w-full", - label: { - common: "flex-1 text-left mb-3 text-gray-700 font-medium", - size: { - sm: "text-cxs", - md: "text-sm", - lg: "text-sm", - xl: "text-sm", + size: { + sm: { + label: "mb-3 text-cxs font-medium", + hint: "ml-3 mb-3 text-cxs font-medium", + barWrapper: "w-full space-x-1", + track: "w-full h-0.5 rounded-[20px] z-10", + bar: { base: "h-full", roundedBorders: "rounded-[20px]" }, + }, + md: { + label: "mb-3 text-sm font-medium", + hint: "ml-3 mb-3 text-sm font-medium", + barWrapper: "w-full space-x-1", + track: "w-full h-1 rounded-[20px] z-10", + bar: { base: "h-full", roundedBorders: "rounded-[20px]" }, + }, + lg: { + label: "mb-3 text-sm font-medium", + hint: "ml-3 mb-3 text-sm font-medium", + barWrapper: "w-full space-x-1", + track: "w-full h-2 rounded-[20px] z-10", + bar: { base: "h-full", roundedBorders: "rounded-[20px]" }, + }, + xl: { + label: "mb-3 text-sm font-medium", + hint: "ml-3 mb-3 text-sm font-medium", + barWrapper: "w-full space-x-1", + track: "w-full h-3 rounded-[20px] z-10", + bar: { base: "h-full", roundedBorders: "rounded-[20px]" }, }, }, - hint: { - common: "ml-3 mb-3 text-gray-500 ", - size: { - sm: "text-cxs", - md: "text-sm", - lg: "text-sm", - xl: "text-sm", + themeColor: { + base: { + label: "text-gray-900", + hint: "text-gray-600", + track: "bg-gray-100", + bar: "bg-gray-900", + }, + primary: { + label: "text-gray-900", + hint: "text-gray-600", + track: "bg-blue-100", + bar: "bg-blue-600", }, }, + label: "flex-1 text-left", + hint: "", barWrapper: { - common: "flex w-full space-x-1", + base: "flex", flatBorders: "meter-radius", }, - track: { - common: "w-full relative overflow-hidden bg-gray-200 rounded-2xl z-10", - size: { - sm: "h-0.5", - md: "h-1", - lg: "h-2", - xl: "h-3", - }, - }, - bar: { - common: "h-full bg-gray-800 rounded-2xl transition-all", - flatBorders: "rounded-none", - }, + track: "overflow-hidden", + bar: "transition-all", }; diff --git a/src/theme/defaultTheme/progress.ts b/src/theme/defaultTheme/progress.ts index c217928d..0ef7f041 100644 --- a/src/theme/defaultTheme/progress.ts +++ b/src/theme/defaultTheme/progress.ts @@ -31,19 +31,19 @@ export const progress = { base: { label: "text-gray-900", hint: "text-gray-600", - bar: "bg-gray-900", track: "bg-gray-100", + bar: "bg-gray-900", }, primary: { label: "text-gray-900", hint: "text-gray-600", - bar: "bg-blue-600", track: "bg-blue-100", + bar: "bg-blue-600", }, }, - label: "flex-1", + label: "flex-1 text-left", hint: "", - track: "overflow-hidden ", + track: "relative overflow-hidden ", bar: { base: "transition-all", indeterminate: "min-w-[50%] animate-progress",