@uselets/ui 1.20.2 → 1.20.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/cli/uselets.mjs +3 -3
- package/dist/cli/uselets.mjs.map +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/anchor.js +1 -1
- package/dist/components/anchor.js.map +1 -1
- package/dist/components/area-chart.js +1 -1
- package/dist/components/area-chart.js.map +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/bar-chart.js +1 -1
- package/dist/components/bar-chart.js.map +1 -1
- package/dist/components/bottom-nav.js +1 -1
- package/dist/components/bottom-nav.js.map +1 -1
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button-group.js +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/center.js +1 -1
- package/dist/components/center.js.map +1 -1
- package/dist/components/chart.js +2 -2
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/code.js.map +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/command.js.map +1 -1
- package/dist/components/container.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/data-table.d.ts +138 -2
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/donut-chart.js +1 -1
- package/dist/components/donut-chart.js.map +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/dropzone.js +1 -1
- package/dist/components/dropzone.js.map +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/empty.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/flex.js +1 -1
- package/dist/components/flex.js.map +1 -1
- package/dist/components/grid.js +1 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/group.js +1 -1
- package/dist/components/group.js.map +1 -1
- package/dist/components/heading.js +1 -1
- package/dist/components/heading.js.map +1 -1
- package/dist/components/hover-card.js +1 -1
- package/dist/components/hover-card.js.map +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input-group.js.map +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input-otp.js.map +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/kbd.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/list.js.map +1 -1
- package/dist/components/logo.js +1 -1
- package/dist/components/marker.js +1 -1
- package/dist/components/marker.js.map +1 -1
- package/dist/components/mask-input.js +1 -1
- package/dist/components/mask-input.js.map +1 -1
- package/dist/components/native-select.js +1 -1
- package/dist/components/native-select.js.map +1 -1
- package/dist/components/navigation-menu.js +1 -1
- package/dist/components/navigation-menu.js.map +1 -1
- package/dist/components/number-field.js +1 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/phone-input.d.ts +3 -0
- package/dist/components/phone-input.js +1 -1
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/pie-chart.js +1 -1
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/ring-progress.js +1 -1
- package/dist/components/ring-progress.js.map +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/separator.js.map +1 -1
- package/dist/components/sidebar.d.ts +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/simple-grid.js +1 -1
- package/dist/components/simple-grid.js.map +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sonner.js +1 -1
- package/dist/components/sonner.js.map +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/stack.js +1 -1
- package/dist/components/stack.js.map +1 -1
- package/dist/components/stepper.js +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/theme.js +1 -1
- package/dist/components/theme.js.map +1 -1
- package/dist/components/timeline.js +1 -1
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/toggle.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/unstyled-button.js +1 -1
- package/dist/components/unstyled-button.js.map +1 -1
- package/dist/components/visibility.js +1 -1
- package/dist/components/visibility.js.map +1 -1
- package/dist/hooks/use-breakpoint-value.js.map +1 -1
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-disclosure.js.map +1 -1
- package/dist/hooks/use-document-visibility.js.map +1 -1
- package/dist/hooks/use-hotkeys.js +1 -1
- package/dist/hooks/use-idle.js.map +1 -1
- package/dist/hooks/use-interval.js.map +1 -1
- package/dist/hooks/use-local-storage.js +1 -1
- package/dist/hooks/use-local-storage.js.map +1 -1
- package/dist/hooks/use-mask.js.map +1 -1
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/color.js.map +1 -1
- package/dist/lib/compose-refs.js +1 -1
- package/dist/lib/compose-refs.js.map +1 -1
- package/dist/lib/progress.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/logo--R3_XDgA.js +2 -0
- package/dist/logo--R3_XDgA.js.map +1 -0
- package/dist/postcss.config.js.map +1 -1
- package/dist/skills/uselets-ui/SKILL.md +1 -0
- package/dist/skills/uselets-ui/references/component-catalog.md +1 -1
- package/dist/skills/uselets-ui/references/package-guide.md +16 -0
- package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
- package/package.json +17 -17
- package/skills/uselets-ui/SKILL.md +1 -0
- package/skills/uselets-ui/references/component-catalog.md +1 -1
- package/skills/uselets-ui/references/package-guide.md +16 -0
- package/dist/data-table-DWWVGWbU.d.ts +0 -4184
- package/dist/logo-B0thHtTS.js +0 -2
- package/dist/logo-B0thHtTS.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"./label.js";import{useFieldControlId as n}from"./field.js";import{Switch as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{cva as o}from"class-variance-authority";import{useId as s}from"react";const c={primary:`[--switch-checked:var(--primary)]`,brand:`[--switch-checked:var(--brand)]`,gray:`[--switch-checked:var(--gray)]`,zinc:`[--switch-checked:var(--zinc)]`,red:`[--switch-checked:var(--red)]`,yellow:`[--switch-checked:var(--yellow)]`,blue:`[--switch-checked:var(--blue)]`,indigo:`[--switch-checked:var(--indigo)]`,pink:`[--switch-checked:var(--pink)]`,green:`[--switch-checked:var(--green)]`},l=o(``,{variants:{size:{sm:`text-sm`,md:`text-base`,lg:`text-lg`}},defaultVariants:{size:`md`}});function Switch({className:o,color:u=`green`,id:d,label:f,labelProps:p,size:m=`md`,...h}){let g=s(),_=n(d),v=f!==void 0,y=_??(v?g:void 0),{className:b,...x}=p??{},S
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"./label.js";import{useFieldControlId as n}from"./field.js";import{Switch as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{cva as o}from"class-variance-authority";import{useId as s}from"react";const c={primary:`[--switch-checked:var(--primary)]`,brand:`[--switch-checked:var(--brand)]`,gray:`[--switch-checked:var(--gray)]`,zinc:`[--switch-checked:var(--zinc)]`,red:`[--switch-checked:var(--red)]`,yellow:`[--switch-checked:var(--yellow)]`,blue:`[--switch-checked:var(--blue)]`,indigo:`[--switch-checked:var(--indigo)]`,pink:`[--switch-checked:var(--pink)]`,green:`[--switch-checked:var(--green)]`},l=o(``,{variants:{size:{sm:`text-sm`,md:`text-base`,lg:`text-lg`}},defaultVariants:{size:`md`}});function Switch({className:o,color:u=`green`,id:d,label:f,labelProps:p,size:m=`md`,...h}){let g=s(),_=n(d),v=f!==void 0,y=_??(v?g:void 0),{className:b,...x}=p??{},S=/* @__PURE__ */ i(r.Root,{"data-slot":`switch`,"data-color":u,"data-size":m,id:y,className:e(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none`,`after:absolute after:-inset-x-3 after:-inset-y-2`,`focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20`,`data-[size=lg]:h-5.5 data-[size=lg]:w-12 data-[size=md]:h-5 data-[size=md]:w-10.5 data-[size=sm]:h-4 data-[size=sm]:w-8.5`,`dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`data-checked:bg-(--switch-checked) data-unchecked:bg-input dark:data-unchecked:bg-input/80`,`data-disabled:cursor-not-allowed data-disabled:opacity-50`,c[u],o),...h,children:/* @__PURE__ */ i(r.Thumb,{"data-slot":`switch-thumb`,className:e(`pointer-events-none flex items-center justify-center rounded-full bg-background ring-0 transition-transform`,`group-data-[size=lg]/switch:size-4.5 group-data-[size=md]/switch:size-4 group-data-[size=sm]/switch:size-3`,`group-data-[size=lg]/switch:data-checked:translate-x-7`,`group-data-[size=md]/switch:data-checked:translate-x-6`,`group-data-[size=sm]/switch:data-checked:translate-x-5`,`group-data-[size=lg]/switch:data-unchecked:translate-x-0.5`,`group-data-[size=md]/switch:data-unchecked:translate-x-0.5`,`group-data-[size=sm]/switch:data-unchecked:translate-x-0.5`,`dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground`),children:/* @__PURE__ */ i(`span`,{"data-slot":`switch-thumb-indicator`,className:e(`rounded-full transition-colors`,`group-data-[size=lg]/switch:size-2.5 group-data-[size=md]/switch:size-2 group-data-[size=sm]/switch:size-1.5`,`group-data-checked/switch:bg-(--switch-checked) group-data-unchecked/switch:bg-input`,`group-data-unchecked/switch:dark:bg-input/80`)})})});return v?/* @__PURE__ */ a(`div`,{"data-slot":`switch-field`,className:`flex items-center gap-2`,children:[S,/* @__PURE__ */ i(t,{...x,htmlFor:y,className:e(l({size:m}),b),children:f})]}):S}export{Switch};
|
|
2
2
|
//# sourceMappingURL=switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","names":["SwitchPrimitive","Label"],"sources":["../../src/components/switch.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { cva } from 'class-variance-authority'\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nimport type { UIColor } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type SwitchProps = React.ComponentProps<typeof SwitchPrimitive.Root> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst switchColorVariants: Record<UIColor, string> = {\n primary: '[--switch-checked:var(--primary)]',\n brand: '[--switch-checked:var(--brand)]',\n gray: '[--switch-checked:var(--gray)]',\n zinc: '[--switch-checked:var(--zinc)]',\n red: '[--switch-checked:var(--red)]',\n yellow: '[--switch-checked:var(--yellow)]',\n blue: '[--switch-checked:var(--blue)]',\n indigo: '[--switch-checked:var(--indigo)]',\n pink: '[--switch-checked:var(--pink)]',\n green: '[--switch-checked:var(--green)]'\n}\n\nconst switchLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nfunction Switch({ className, color = 'green', id, label, labelProps, size = 'md', ...props }: SwitchProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const hasLabel = label !== undefined\n const resolvedId = fieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n\n const switchControl = (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(\n 'peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20',\n 'data-[size=lg]:h-5.5 data-[size=lg]:w-12 data-[size=md]:h-5 data-[size=md]:w-10.5 data-[size=sm]:h-4 data-[size=sm]:w-8.5',\n 'dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-checked:bg-(--switch-checked) data-unchecked:bg-input dark:data-unchecked:bg-input/80',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n switchColorVariants[color],\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'pointer-events-none flex items-center justify-center rounded-full bg-background ring-0 transition-transform',\n 'group-data-[size=lg]/switch:size-4.5 group-data-[size=md]/switch:size-4 group-data-[size=sm]/switch:size-3',\n 'group-data-[size=lg]/switch:data-checked:translate-x-7',\n 'group-data-[size=md]/switch:data-checked:translate-x-6',\n 'group-data-[size=sm]/switch:data-checked:translate-x-5',\n 'group-data-[size=lg]/switch:data-unchecked:translate-x-0.5',\n 'group-data-[size=md]/switch:data-unchecked:translate-x-0.5',\n 'group-data-[size=sm]/switch:data-unchecked:translate-x-0.5',\n 'dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground'\n )}\n >\n <span\n data-slot=\"switch-thumb-indicator\"\n className={cn(\n 'rounded-full transition-colors',\n 'group-data-[size=lg]/switch:size-2.5 group-data-[size=md]/switch:size-2 group-data-[size=sm]/switch:size-1.5',\n 'group-data-checked/switch:bg-(--switch-checked) group-data-unchecked/switch:bg-input',\n 'group-data-unchecked/switch:dark:bg-input/80'\n )}\n />\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n )\n\n if (!hasLabel) {\n return switchControl\n }\n\n return (\n <div data-slot=\"switch-field\" className=\"flex items-center gap-2\">\n {switchControl}\n <Label {...labelRootProps} htmlFor={resolvedId} className={cn(switchLabelVariants({ size }), labelClassName)}>\n {label}\n </Label>\n </div>\n )\n}\n\nexport { Switch }\n"],"mappings":"gUAkBA,
|
|
1
|
+
{"version":3,"file":"switch.js","names":["SwitchPrimitive","Label","Label$1","Switch$1","switchColorVariants","switchLabelVariants","cva","props","generatedId","useId","fieldControlId","useFieldControlId","id","hasLabel","label","resolvedId","labelClassName","labelRootProps","labelProps","switchControl","color","size","cn","className"],"sources":["../../src/components/switch.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { cva } from 'class-variance-authority'\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nimport type { UIColor } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type SwitchProps = React.ComponentProps<typeof SwitchPrimitive.Root> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst switchColorVariants: Record<UIColor, string> = {\n primary: '[--switch-checked:var(--primary)]',\n brand: '[--switch-checked:var(--brand)]',\n gray: '[--switch-checked:var(--gray)]',\n zinc: '[--switch-checked:var(--zinc)]',\n red: '[--switch-checked:var(--red)]',\n yellow: '[--switch-checked:var(--yellow)]',\n blue: '[--switch-checked:var(--blue)]',\n indigo: '[--switch-checked:var(--indigo)]',\n pink: '[--switch-checked:var(--pink)]',\n green: '[--switch-checked:var(--green)]'\n}\n\nconst switchLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nfunction Switch({ className, color = 'green', id, label, labelProps, size = 'md', ...props }: SwitchProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const hasLabel = label !== undefined\n const resolvedId = fieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n\n const switchControl = (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(\n 'peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20',\n 'data-[size=lg]:h-5.5 data-[size=lg]:w-12 data-[size=md]:h-5 data-[size=md]:w-10.5 data-[size=sm]:h-4 data-[size=sm]:w-8.5',\n 'dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-checked:bg-(--switch-checked) data-unchecked:bg-input dark:data-unchecked:bg-input/80',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n switchColorVariants[color],\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'pointer-events-none flex items-center justify-center rounded-full bg-background ring-0 transition-transform',\n 'group-data-[size=lg]/switch:size-4.5 group-data-[size=md]/switch:size-4 group-data-[size=sm]/switch:size-3',\n 'group-data-[size=lg]/switch:data-checked:translate-x-7',\n 'group-data-[size=md]/switch:data-checked:translate-x-6',\n 'group-data-[size=sm]/switch:data-checked:translate-x-5',\n 'group-data-[size=lg]/switch:data-unchecked:translate-x-0.5',\n 'group-data-[size=md]/switch:data-unchecked:translate-x-0.5',\n 'group-data-[size=sm]/switch:data-unchecked:translate-x-0.5',\n 'dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground'\n )}\n >\n <span\n data-slot=\"switch-thumb-indicator\"\n className={cn(\n 'rounded-full transition-colors',\n 'group-data-[size=lg]/switch:size-2.5 group-data-[size=md]/switch:size-2 group-data-[size=sm]/switch:size-1.5',\n 'group-data-checked/switch:bg-(--switch-checked) group-data-unchecked/switch:bg-input',\n 'group-data-unchecked/switch:dark:bg-input/80'\n )}\n />\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n )\n\n if (!hasLabel) {\n return switchControl\n }\n\n return (\n <div data-slot=\"switch-field\" className=\"flex items-center gap-2\">\n {switchControl}\n <Label {...labelRootProps} htmlFor={resolvedId} className={cn(switchLabelVariants({ size }), labelClassName)}>\n {label}\n </Label>\n </div>\n )\n}\n\nexport { Switch }\n"],"mappings":"gUAkBA,MAAMI,EAA+C,CACnD,QAAS,oCACT,MAAO,kCACP,KAAM,iCACN,KAAM,iCACN,IAAK,gCACL,OAAQ,mCACR,KAAM,iCACN,OAAQ,mCACR,KAAM,iCACN,MAAO,iCACT,EAEMC,EAAsBC,EAAI,GAAI,CAClC,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,YACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAED,SAAS,OAAO,CAAE,YAAW,QAAQ,QAAS,KAAI,QAAO,aAAY,OAAO,KAAM,GAAGC,GAAsB,CACzG,IAAMC,EAAcC,EAAM,EACpBC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAWC,IAAU,IAAA,GACrBC,EAAaL,IAAmBG,EAAWL,EAAc,IAAA,IACzD,CAAE,UAAWQ,EAAgB,GAAGC,GAAmBC,GAAc,CAAC,EAElEC,EACJ,kBAACnB,EAAgB,KAAjB,CACE,YAAU,SACV,aAAYoB,EACZ,YAAWC,EACX,GAAIN,EACJ,UAAWO,EACT,kIACA,mDACA,4EACA,uFACA,4HACA,gFACA,6FACA,4DACAlB,EAAoBgB,GACpBG,CACF,EACA,GAAIhB,EAEJ,SAAA,kBAACP,EAAgB,MAAjB,CACE,YAAU,eACV,UAAWsB,EACT,8GACA,6GACA,yDACA,yDACA,yDACA,6DACA,6DACA,6DACA,2EACF,EAEA,SAAA,kBAAC,OAAD,CACE,YAAU,yBACV,UAAWA,EACT,iCACA,+GACA,uFACA,8CACF,CACD,CAAA,CACoB,CAAA,CACH,CAAA,EAOxB,OAJKT,EAKH,kBAAC,MAAD,CAAK,YAAU,eAAe,UAAU,0BAAxC,SAAA,CACGM,EACD,kBAAClB,EAAD,CAAO,GAAIgB,EAAgB,QAASF,EAAY,UAAWO,EAAGjB,EAAoB,CAAE,MAAK,CAAC,EAAGW,CAAc,EACxG,SAAAF,CACI,CAAA,CACJ,IATEK,CAWX"}
|
package/dist/components/table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`w-full caption-bottom text-sm`,{variants:{variant:{line:``,outline:e(`rounded-lg border border-separate border-spacing-0`,`[&_thead_th]:border-b`,`[&_tbody_tr:not(:last-child)>td]:border-b`)}},defaultVariants:{variant:`line`}});function TableContainer({className:n,minWidth:r,style:i,...a}){return t(`div`,{"data-slot":`table-container`,className:e(`relative w-full overflow-x-auto`,`has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border`,`[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0`,n),style:r===void 0?i:{minWidth:r,...i},...a})}function Table({className:n,variant:i=`line`,striped:a=!0,stickyHeader:o=!1,...s}){return t(`table`,{"data-slot":`table`,"data-variant":i,"data-striped":a?`true`:`false`,"data-sticky-header":o?`true`:`false`,className:e(r({variant:i}),`data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50`,`data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background`,n),...s})}function TableHeader({className:n,...r}){return t(`thead`,{"data-slot":`table-header`,className:e(`[&_tr]:border-b`,n),...r})}function TableBody({className:n,...r}){return t(`tbody`,{"data-slot":`table-body`,className:e(`[&_tr:last-child]:border-0`,n),...r})}function TableFooter({className:n,...r}){return t(`tfoot`,{"data-slot":`table-footer`,className:e(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,n),...r})}function TableRow({className:n,...r}){return t(`tr`,{"data-slot":`table-row`,className:e(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,n),...r})}function TableHead({className:n,...r}){return t(`th`,{"data-slot":`table-head`,className:e(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0`,n),...r})}function TableCell({className:n,...r}){return t(`td`,{"data-slot":`table-cell`,className:e(`p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0`,n),...r})}function TableCaption({className:n,...r}){return t(`caption`,{"data-slot":`table-caption`,className:e(`mt-4 text-sm text-muted-foreground`,n),...r})}export{Table,TableBody,TableCaption,TableCell,TableContainer,TableFooter,TableHead,TableHeader,TableRow,r as tableVariants};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`w-full caption-bottom text-sm`,{variants:{variant:{line:``,outline:e(`rounded-lg border border-separate border-spacing-0`,`[&_thead_th]:border-b`,`[&_tbody_tr:not(:last-child)>td]:border-b`)}},defaultVariants:{variant:`line`}});function TableContainer({className:n,minWidth:r,style:i,...a}){return/* @__PURE__ */ t(`div`,{"data-slot":`table-container`,className:e(`relative w-full overflow-x-auto`,`has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border`,`[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0`,n),style:r===void 0?i:{minWidth:r,...i},...a})}function Table({className:n,variant:i=`line`,striped:a=!0,stickyHeader:o=!1,...s}){return/* @__PURE__ */ t(`table`,{"data-slot":`table`,"data-variant":i,"data-striped":a?`true`:`false`,"data-sticky-header":o?`true`:`false`,className:e(r({variant:i}),`data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50`,`data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background`,n),...s})}function TableHeader({className:n,...r}){return/* @__PURE__ */ t(`thead`,{"data-slot":`table-header`,className:e(`[&_tr]:border-b`,n),...r})}function TableBody({className:n,...r}){return/* @__PURE__ */ t(`tbody`,{"data-slot":`table-body`,className:e(`[&_tr:last-child]:border-0`,n),...r})}function TableFooter({className:n,...r}){return/* @__PURE__ */ t(`tfoot`,{"data-slot":`table-footer`,className:e(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,n),...r})}function TableRow({className:n,...r}){return/* @__PURE__ */ t(`tr`,{"data-slot":`table-row`,className:e(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,n),...r})}function TableHead({className:n,...r}){return/* @__PURE__ */ t(`th`,{"data-slot":`table-head`,className:e(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0`,n),...r})}function TableCell({className:n,...r}){return/* @__PURE__ */ t(`td`,{"data-slot":`table-cell`,className:e(`p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0`,n),...r})}function TableCaption({className:n,...r}){return/* @__PURE__ */ t(`caption`,{"data-slot":`table-caption`,className:e(`mt-4 text-sm text-muted-foreground`,n),...r})}export{Table,TableBody,TableCaption,TableCell,TableContainer,TableFooter,TableHead,TableHeader,TableRow,r as tableVariants};
|
|
2
2
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","names":[],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n striped?: boolean\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n className\n )}\n style={minWidth !== undefined ? { minWidth, ...style } : style}\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50',\n 'data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHeader({ className, ...props }: TableHeaderProps) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: TableBodyProps) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: TableFooterProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: TableHeadProps) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: TableCaptionProps) {\n return (\n <caption data-slot=\"table-caption\" className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n )\n}\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n tableVariants\n}\n"],"mappings":"oKAUA,
|
|
1
|
+
{"version":3,"file":"table.js","names":["tableVariants","cva","cn","props","className","minWidth","style","variant","striped","stickyHeader"],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n striped?: boolean\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n className\n )}\n style={minWidth !== undefined ? { minWidth, ...style } : style}\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50',\n 'data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHeader({ className, ...props }: TableHeaderProps) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: TableBodyProps) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: TableFooterProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: TableHeadProps) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: TableCaptionProps) {\n return (\n <caption data-slot=\"table-caption\" className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n )\n}\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n tableVariants\n}\n"],"mappings":"oKAUA,MAAMA,EAAgBC,EAAI,gCAAiC,CACzD,SAAU,CACR,QAAS,CACP,KAAM,GACN,QAASC,EACP,qDACA,wBACA,2CACF,CACF,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAsBD,SAAS,eAAe,CAAE,YAAW,WAAU,QAAO,GAAGC,GAA8B,CACrF,MACE,kBAAC,MAAD,CACE,YAAU,kBACV,UAAWD,EACT,kCACA,0FACA,wFACAE,CACF,EACA,MAAOC,IAAa,IAAA,GAAqCC,EAAzB,CAAE,WAAU,GAAGA,CAAM,EACrD,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,MAAM,CAAE,YAAW,UAAU,OAAQ,UAAU,GAAM,eAAe,GAAO,GAAGA,GAAqB,CAC1G,MACE,kBAAC,QAAD,CACE,YAAU,QACV,eAAcI,EACd,eAAcC,EAAU,OAAS,QACjC,qBAAoBC,EAAe,OAAS,QAC5C,UAAWP,EACTF,EAAc,CAAE,SAAQ,CAAC,EACzB,sGACA,kLACAI,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MAAO,kBAAC,QAAD,CAAO,YAAU,eAAe,UAAWD,EAAG,kBAAmBE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAClG,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MAAO,kBAAC,QAAD,CAAO,YAAU,aAAa,UAAWD,EAAG,6BAA8BE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAC3G,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MACE,kBAAC,QAAD,CACE,YAAU,eACV,UAAWD,EAAG,0DAA2DE,CAAS,EAClF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAGA,GAAwB,CACxD,MACE,kBAAC,KAAD,CACE,YAAU,YACV,UAAWD,EAAG,8EAA+EE,CAAS,EACtG,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EACT,4GACAE,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EAAG,gEAAiEE,CAAS,EACxF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAGA,GAA4B,CAChE,MACE,kBAAC,UAAD,CAAS,YAAU,gBAAgB,UAAWD,EAAG,qCAAsCE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAEnH"}
|
package/dist/components/tabs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Tabs as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";function Tabs({className:r,orientation:i=`horizontal`,...a}){return n(t.Root,{"data-slot":`tabs`,"data-orientation":i,className:e(`group/tabs flex gap-2 data-horizontal:flex-col`,r),...a})}const i=r(`group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{enclosed:`bg-muted p-0.75`,line:`gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border`}},defaultVariants:{variant:`line`}});function TabsList({className:r,variant:a=`line`,grow:o=!1,...s}){return n(t.List,{"data-slot":`tabs-list`,"data-variant":a,"data-grow":o,className:e(i({variant:a}),r),...s})}function TabsTrigger({className:r,...i}){return n(t.Trigger,{"data-slot":`tabs-trigger`,className:e(`relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none`,`group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500`,`group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30`,r),...i})}function TabsContent({className:r,...i}){return n(t.Content,{"data-slot":`tabs-content`,className:e(`flex-1 text-sm outline-none`,r),...i})}export{Tabs,TabsContent,TabsList,TabsTrigger,i as tabsListVariants};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Tabs as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";function Tabs({className:r,orientation:i=`horizontal`,...a}){return/* @__PURE__ */ n(t.Root,{"data-slot":`tabs`,"data-orientation":i,className:e(`group/tabs flex gap-2 data-horizontal:flex-col`,r),...a})}const i=r(`group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{enclosed:`bg-muted p-0.75`,line:`gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border`}},defaultVariants:{variant:`line`}});function TabsList({className:r,variant:a=`line`,grow:o=!1,...s}){return/* @__PURE__ */ n(t.List,{"data-slot":`tabs-list`,"data-variant":a,"data-grow":o,className:e(i({variant:a}),r),...s})}function TabsTrigger({className:r,...i}){return/* @__PURE__ */ n(t.Trigger,{"data-slot":`tabs-trigger`,className:e(`relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none`,`group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500`,`group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30`,r),...i})}function TabsContent({className:r,...i}){return/* @__PURE__ */ n(t.Content,{"data-slot":`tabs-content`,className:e(`flex-1 text-sm outline-none`,r),...i})}export{Tabs,TabsContent,TabsList,TabsTrigger,i as tabsListVariants};
|
|
2
2
|
//# sourceMappingURL=tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","names":["TabsPrimitive"],"sources":["../../src/components/tabs.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Tabs as TabsPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>\n\nfunction Tabs({ className, orientation = 'horizontal', ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn('group/tabs flex gap-2 data-horizontal:flex-col', className)}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n enclosed: 'bg-muted p-0.75',\n line: 'gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border'\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n }\n)\n\nexport type TabsListProps = React.ComponentProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants> & {\n grow?: boolean\n }\n\nexport type TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>\n\nexport type TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content>\n\nfunction TabsList({ className, variant = 'line', grow = false, ...props }: TabsListProps) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n data-grow={grow}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsTriggerProps) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none',\n 'group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500',\n 'group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 text-sm outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }\n"],"mappings":"oMASA,SAAS,KAAK,CAAE,YAAW,cAAc,aAAc,
|
|
1
|
+
{"version":3,"file":"tabs.js","names":["TabsPrimitive","Tabs$1","props","orientation","cn","className","tabsListVariants","cva","variant","grow"],"sources":["../../src/components/tabs.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Tabs as TabsPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>\n\nfunction Tabs({ className, orientation = 'horizontal', ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn('group/tabs flex gap-2 data-horizontal:flex-col', className)}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n enclosed: 'bg-muted p-0.75',\n line: 'gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border'\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n }\n)\n\nexport type TabsListProps = React.ComponentProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants> & {\n grow?: boolean\n }\n\nexport type TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>\n\nexport type TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content>\n\nfunction TabsList({ className, variant = 'line', grow = false, ...props }: TabsListProps) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n data-grow={grow}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsTriggerProps) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none',\n 'group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500',\n 'group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 text-sm outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }\n"],"mappings":"oMASA,SAAS,KAAK,CAAE,YAAW,cAAc,aAAc,GAAGE,GAAoB,CAC5E,MACE,kBAACF,EAAc,KAAf,CACE,YAAU,OACV,mBAAkBG,EAClB,UAAWC,EAAG,iDAAkDC,CAAS,EACzE,GAAIH,CACL,CAAA,CAEL,CAEA,MAAMI,EAAmBC,EACvB,mPACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,kBACV,KAAM,gLACR,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAWA,SAAS,SAAS,CAAE,YAAW,UAAU,OAAQ,OAAO,GAAO,GAAGL,GAAwB,CACxF,MACE,kBAACF,EAAc,KAAf,CACE,YAAU,YACV,eAAcQ,EACd,YAAWC,EACX,UAAWL,EAAGE,EAAiB,CAAE,SAAQ,CAAC,EAAGD,CAAS,EACtD,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MACE,kBAACF,EAAc,QAAf,CACE,YAAU,eACV,UAAWI,EACT,uoBACA,qEACA,2WACA,wOACA,6UACAC,CACF,EACA,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MACE,kBAACF,EAAc,QAAf,CACE,YAAU,eACV,UAAWI,EAAG,8BAA+BC,CAAS,EACtD,GAAIH,CACL,CAAA,CAEL"}
|
package/dist/components/text.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`text-foreground font-normal`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`}},defaultVariants:{size:`md`}});function Text({className:r,size:a=`md`,asChild:o=!1,...s}){let c=o?t.Root:`p`;return n(c,{"data-slot":`text`,"data-size":a,className:e(i({size:a}),r),...s})}export{Text,i as textVariants};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`text-foreground font-normal`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`}},defaultVariants:{size:`md`}});function Text({className:r,size:a=`md`,asChild:o=!1,...s}){let c=o?t.Root:`p`;return/* @__PURE__ */ n(c,{"data-slot":`text`,"data-size":a,className:e(i({size:a}),r),...s})}export{Text,i as textVariants};
|
|
2
2
|
//# sourceMappingURL=text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","names":[],"sources":["../../src/components/text.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst textVariants = cva('text-foreground font-normal', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TextProps = React.ComponentProps<'p'> &\n VariantProps<typeof textVariants> & {\n asChild?: boolean\n }\n\nfunction Text({ className, size = 'md', asChild = false, ...props }: TextProps) {\n const Comp = asChild ? Slot.Root : 'p'\n\n return <Comp data-slot=\"text\" data-size={size} className={cn(textVariants({ size }), className)} {...props} />\n}\n\nexport { Text, textVariants }\n"],"mappings":"oMAOA,
|
|
1
|
+
{"version":3,"file":"text.js","names":["textVariants","cva","props","Comp","asChild","Slot","size","cn","className"],"sources":["../../src/components/text.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst textVariants = cva('text-foreground font-normal', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TextProps = React.ComponentProps<'p'> &\n VariantProps<typeof textVariants> & {\n asChild?: boolean\n }\n\nfunction Text({ className, size = 'md', asChild = false, ...props }: TextProps) {\n const Comp = asChild ? Slot.Root : 'p'\n\n return <Comp data-slot=\"text\" data-size={size} className={cn(textVariants({ size }), className)} {...props} />\n}\n\nexport { Text, textVariants }\n"],"mappings":"oMAOA,MAAMA,EAAeC,EAAI,8BAA+B,CACtD,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAOD,SAAS,KAAK,CAAE,YAAW,OAAO,KAAM,UAAU,GAAO,GAAGC,GAAoB,CAC9E,IAAMC,EAAOC,EAAUC,EAAK,KAAO,IAEnC,MAAO,kBAACF,EAAD,CAAM,YAAU,OAAO,YAAWG,EAAM,UAAWC,EAAGP,EAAa,CAAE,MAAK,CAAC,EAAGQ,CAAS,EAAG,GAAIN,CAAQ,CAAA,CAC/G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{useFieldControlId as t}from"./field.js";import{jsx as n}from"react/jsx-runtime";function Textarea({className:r,id:i,...a}){let o=t(i);return n(`textarea`,{id:o,"data-slot":`textarea`,className:e(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,r),...a})}export{Textarea};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{useFieldControlId as t}from"./field.js";import{jsx as n}from"react/jsx-runtime";function Textarea({className:r,id:i,...a}){let o=t(i);return/* @__PURE__ */ n(`textarea`,{id:o,"data-slot":`textarea`,className:e(`flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,r),...a})}export{Textarea};
|
|
2
2
|
//# sourceMappingURL=textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.js","names":[],"sources":["../../src/components/textarea.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\n\nexport type TextareaProps = React.ComponentProps<'textarea'>\n\nfunction Textarea({ className, id, ...props }: TextareaProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <textarea\n id={fieldControlId}\n data-slot=\"textarea\"\n className={cn(\n 'flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"oKAOA,SAAS,SAAS,CAAE,YAAW,KAAI,
|
|
1
|
+
{"version":3,"file":"textarea.js","names":["props","fieldControlId","useFieldControlId","id","cn","className"],"sources":["../../src/components/textarea.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\n\nexport type TextareaProps = React.ComponentProps<'textarea'>\n\nfunction Textarea({ className, id, ...props }: TextareaProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <textarea\n id={fieldControlId}\n data-slot=\"textarea\"\n className={cn(\n 'flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"oKAOA,SAAS,SAAS,CAAE,YAAW,KAAI,GAAGA,GAAwB,CAC5D,IAAMC,EAAiBC,EAAkBC,CAAE,EAE3C,MACE,kBAAC,WAAD,CACE,GAAIF,EACJ,YAAU,WACV,UAAWG,EACT,ohBACAC,CACF,EACA,GAAIL,CACL,CAAA,CAEL"}
|
package/dist/components/theme.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{Button as e}from"./button.js";import{DropdownMenu as t,DropdownMenuContent as n,DropdownMenuItem as r,DropdownMenuTrigger as i}from"./dropdown-menu.js";import{IconMoon as a,IconSun as o}from"@tabler/icons-react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{createContext as l,use as u,useEffect as d,useState as f}from"react";const p=l({});function disableAnimation(){let e=document.createElement(`style`);return e.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}}function ThemeProvider({children:e,defaultTheme:t=`system`,storageKey:n=`vite-ui-theme`,disableTransitionOnChange:r=!1,...i}){let[a,o]=f(()=>localStorage.getItem(n)||t);d(()=>{let e=window.document.documentElement,t=r?disableAnimation():null;e.classList.remove(`light`,`dark`);let n=a===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:a;e.classList.add(n),t?.()},[a,r]);let c={theme:a,setTheme:e=>{localStorage.setItem(n,e),o(e)}};return s(p.Provider,{...i,value:c,children:e})}const useTheme=()=>{let e=u(p);if(e===void 0||Object.keys(e).length===0)throw Error(`useTheme must be used within a ThemeProvider`);return e};function ModeToggle(l){let{setTheme:u}=useTheme();return c(t,{children:[s(i,{asChild:!0,children
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{Button as e}from"./button.js";import{DropdownMenu as t,DropdownMenuContent as n,DropdownMenuItem as r,DropdownMenuTrigger as i}from"./dropdown-menu.js";import{IconMoon as a,IconSun as o}from"@tabler/icons-react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{createContext as l,use as u,useEffect as d,useState as f}from"react";const p=l({});function disableAnimation(){let e=document.createElement(`style`);return e.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}}function ThemeProvider({children:e,defaultTheme:t=`system`,storageKey:n=`vite-ui-theme`,disableTransitionOnChange:r=!1,...i}){let[a,o]=f(()=>localStorage.getItem(n)||t);d(()=>{let e=window.document.documentElement,t=r?disableAnimation():null;e.classList.remove(`light`,`dark`);let n=a===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:a;e.classList.add(n),t?.()},[a,r]);let c={theme:a,setTheme:e=>{localStorage.setItem(n,e),o(e)}};return/* @__PURE__ */ s(p.Provider,{...i,value:c,children:e})}const useTheme=()=>{let e=u(p);if(e===void 0||Object.keys(e).length===0)throw Error(`useTheme must be used within a ThemeProvider`);return e};function ModeToggle(l){let{setTheme:u}=useTheme();return/* @__PURE__ */ c(t,{children:[/* @__PURE__ */ s(i,{asChild:!0,children:/* @__PURE__ */ c(e,{variant:`outline`,size:`icon`,...l,children:[/* @__PURE__ */ s(o,{className:`h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),/* @__PURE__ */ s(a,{className:`absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),/* @__PURE__ */ s(`span`,{className:`sr-only`,children:`Toggle theme`})]})}),/* @__PURE__ */ c(n,{align:`end`,children:[/* @__PURE__ */ s(r,{onClick:()=>u(`light`),children:`Light`}),/* @__PURE__ */ s(r,{onClick:()=>u(`dark`),children:`Dark`}),/* @__PURE__ */ s(r,{onClick:()=>u(`system`),children:`System`})]})]})}export{ModeToggle,ThemeProvider,useTheme};
|
|
2
2
|
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":[],"sources":["../../src/components/theme.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { IconMoon, IconSun } from '@tabler/icons-react'\n\nimport { Button } from './button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu'\n\nexport type Theme = 'dark' | 'light' | 'system'\n\nexport type ThemeProviderProps = {\n children: React.ReactNode\n defaultTheme?: Theme\n storageKey?: string\n disableTransitionOnChange?: boolean\n}\n\nexport type ThemeProviderState = {\n theme: Theme\n setTheme: (theme: Theme) => void\n}\n\nexport type ModeToggleProps = React.ComponentProps<typeof Button>\n\nconst ThemeProviderContext = createContext({} as ThemeProviderState)\n\nfunction disableAnimation() {\n const css = document.createElement('style')\n\n css.appendChild(\n document.createTextNode(\n '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n )\n document.head.appendChild(css)\n\n return () => {\n window.getComputedStyle(document.body)\n\n setTimeout(() => {\n document.head.removeChild(css)\n }, 1)\n }\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n storageKey = 'vite-ui-theme',\n disableTransitionOnChange = false,\n ...props\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<Theme>(() => (localStorage.getItem(storageKey) as Theme) || defaultTheme)\n\n useEffect(() => {\n const root = window.document.documentElement\n const enableTransitions = disableTransitionOnChange ? disableAnimation() : null\n\n root.classList.remove('light', 'dark')\n\n const resolvedTheme =\n theme === 'system' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme\n\n root.classList.add(resolvedTheme)\n\n enableTransitions?.()\n }, [theme, disableTransitionOnChange])\n\n const value = {\n theme,\n setTheme: (theme: Theme) => {\n localStorage.setItem(storageKey, theme)\n setTheme(theme)\n }\n }\n\n return (\n <ThemeProviderContext.Provider {...props} value={value}>\n {children}\n </ThemeProviderContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = use(ThemeProviderContext)\n\n if (context === undefined || Object.keys(context).length === 0) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n\nexport function ModeToggle(props: ModeToggleProps) {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\" {...props}>\n <IconSun className=\"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90\" />\n <IconMoon className=\"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>Light</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>Dark</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>System</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"mappings":"iYAwBA,
|
|
1
|
+
{"version":3,"file":"theme.js","names":["ThemeProviderContext","createContext","css","props","theme","setTheme","useState","storageKey","defaultTheme","useEffect","root","enableTransitions","disableTransitionOnChange","resolvedTheme","value","context","use","DropdownMenu","DropdownMenuTrigger","Button","IconSun","IconMoon","DropdownMenuContent","DropdownMenuItem"],"sources":["../../src/components/theme.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { IconMoon, IconSun } from '@tabler/icons-react'\n\nimport { Button } from './button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu'\n\nexport type Theme = 'dark' | 'light' | 'system'\n\nexport type ThemeProviderProps = {\n children: React.ReactNode\n defaultTheme?: Theme\n storageKey?: string\n disableTransitionOnChange?: boolean\n}\n\nexport type ThemeProviderState = {\n theme: Theme\n setTheme: (theme: Theme) => void\n}\n\nexport type ModeToggleProps = React.ComponentProps<typeof Button>\n\nconst ThemeProviderContext = createContext({} as ThemeProviderState)\n\nfunction disableAnimation() {\n const css = document.createElement('style')\n\n css.appendChild(\n document.createTextNode(\n '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n )\n document.head.appendChild(css)\n\n return () => {\n window.getComputedStyle(document.body)\n\n setTimeout(() => {\n document.head.removeChild(css)\n }, 1)\n }\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n storageKey = 'vite-ui-theme',\n disableTransitionOnChange = false,\n ...props\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<Theme>(() => (localStorage.getItem(storageKey) as Theme) || defaultTheme)\n\n useEffect(() => {\n const root = window.document.documentElement\n const enableTransitions = disableTransitionOnChange ? disableAnimation() : null\n\n root.classList.remove('light', 'dark')\n\n const resolvedTheme =\n theme === 'system' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme\n\n root.classList.add(resolvedTheme)\n\n enableTransitions?.()\n }, [theme, disableTransitionOnChange])\n\n const value = {\n theme,\n setTheme: (theme: Theme) => {\n localStorage.setItem(storageKey, theme)\n setTheme(theme)\n }\n }\n\n return (\n <ThemeProviderContext.Provider {...props} value={value}>\n {children}\n </ThemeProviderContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = use(ThemeProviderContext)\n\n if (context === undefined || Object.keys(context).length === 0) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n\nexport function ModeToggle(props: ModeToggleProps) {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\" {...props}>\n <IconSun className=\"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90\" />\n <IconMoon className=\"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>Light</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>Dark</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>System</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"mappings":"iYAwBA,MAAMA,EAAuBC,EAAc,CAAC,CAAuB,EAEnE,SAAS,kBAAmB,CAC1B,IAAMC,EAAM,SAAS,cAAc,OAAO,EAS1C,OAPAA,EAAI,YACF,SAAS,eACP,6KACF,CACF,EACA,SAAS,KAAK,YAAYA,CAAG,MAEhB,CACX,OAAO,iBAAiB,SAAS,IAAI,EAErC,eAAiB,CACf,SAAS,KAAK,YAAYA,CAAG,CAC/B,EAAG,CAAC,CACN,CACF,CAEA,SAAgB,cAAc,CAC5B,WACA,eAAe,SACf,aAAa,gBACb,4BAA4B,GAC5B,GAAGC,GACkB,CACrB,GAAM,CAACC,EAAOC,GAAYC,MAAuB,aAAa,QAAQC,CAAU,GAAeC,CAAY,EAE3GC,MAAgB,CACd,IAAMC,EAAO,OAAO,SAAS,gBACvBC,EAAoBC,EAA4B,iBAAiB,EAAI,KAE3EF,EAAK,UAAU,OAAO,QAAS,MAAM,EAErC,IAAMG,EACJT,IAAU,SAAY,OAAO,WAAW,8BAA8B,CAAC,CAAC,QAAU,OAAS,QAAWA,EAExGM,EAAK,UAAU,IAAIG,CAAa,EAEhCF,IAAoB,CACtB,EAAG,CAACP,EAAOQ,CAAyB,CAAC,EAErC,IAAME,EAAQ,CACZ,QACA,SAAW,GAAiB,CAC1B,aAAa,QAAQP,EAAYH,CAAK,EACtCC,EAASD,CAAK,CAChB,CACF,EAEA,MACE,kBAACJ,EAAqB,SAAtB,CAA+B,GAAIG,EAAc,QAC9C,UAC4B,CAAA,CAEnC,CAEA,MAAa,aAAiB,CAC5B,IAAMY,EAAUC,EAAIhB,CAAoB,EAExC,GAAIe,IAAY,IAAA,IAAa,OAAO,KAAKA,CAAO,CAAC,CAAC,SAAW,EAC3D,MAAU,MAAM,8CAA8C,EAGhE,OAAOA,CACT,EAEA,SAAgB,WAAW,EAAwB,CACjD,GAAM,CAAE,YAAa,SAAS,EAE9B,MACE,kBAACE,EAAD,CAAA,SAAA,CACE,kBAACC,EAAD,CAAqB,QAAA,GACnB,SAAA,kBAACC,EAAD,CAAQ,QAAQ,UAAU,KAAK,OAAO,GAAIhB,EAA1C,SAAA,CACE,kBAACiB,EAAD,CAAS,UAAU,sFAAwF,CAAA,EAC3G,kBAACC,EAAD,CAAU,UAAU,8FAAgG,CAAA,EACpH,kBAAC,OAAD,CAAM,UAAU,UAAU,SAAA,cAAkB,CAAA,CACtC,GACW,CAAA,EACrB,kBAACC,EAAD,CAAqB,MAAM,MAA3B,SAAA,CACE,kBAACC,EAAD,CAAkB,YAAelB,EAAS,OAAO,EAAG,SAAA,OAAuB,CAAA,EAC3E,kBAACkB,EAAD,CAAkB,YAAelB,EAAS,MAAM,EAAG,SAAA,MAAsB,CAAA,EACzE,kBAACkB,EAAD,CAAkB,YAAelB,EAAS,QAAQ,EAAG,SAAA,QAAwB,CAAA,CAC1D,CACT,CAAA,CAAA,CAAA,CAAA,CAElB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Spinner as t}from"./spinner.js";import{IconAlertCircle as n}from"@tabler/icons-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import*as o from"react";const s=a(`relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8`,{variants:{size:{sm:`gap-4`,md:`gap-6`,lg:`gap-8`}},defaultVariants:{size:`md`}}),c=a(`relative w-full last:mb-0`,{variants:{tone:{default:`mb-2`,error:`mb-2`}},defaultVariants:{tone:`default`}}),l=a(`w-0.5`,{variants:{status:{completed:`bg-primary`,"in-progress":`bg-accent`,pending:`bg-muted`},color:{primary:`bg-primary`,secondary:`bg-secondary`,muted:`bg-muted`,accent:`bg-accent`,destructive:`bg-destructive`,gradient:`bg-linear-to-b from-primary to-muted`}}}),u=a(`relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm`,{variants:{color:{primary:`bg-primary text-primary-foreground`,secondary:`bg-secondary text-secondary-foreground`,muted:`bg-muted text-muted-foreground`,accent:`bg-accent text-accent-foreground`,destructive:`bg-destructive text-destructive-foreground`},size:{sm:`h-8 w-8`,md:`h-10 w-10`,lg:`h-12 w-12`}},defaultVariants:{color:`primary`,size:`md`}}),d=a(`flex items-center justify-center`,{variants:{size:{sm:`h-4 w-4`,md:`h-5 w-5`,lg:`h-6 w-6`}},defaultVariants:{size:`md`}}),f=o.forwardRef(({className:t,iconSize:n,size:i=`md`,children:a,...c},l)=>{let u=o.Children.toArray(a).filter(isTimelineItemElement).length;if(u===0)return r(`ol`,{ref:l,"aria-label":`Timeline`,"data-slot":`timeline`,"data-size":i,className:e(s({size:i}),t),...c,children
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Spinner as t}from"./spinner.js";import{IconAlertCircle as n}from"@tabler/icons-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import*as o from"react";const s=a(`relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8`,{variants:{size:{sm:`gap-4`,md:`gap-6`,lg:`gap-8`}},defaultVariants:{size:`md`}}),c=a(`relative w-full last:mb-0`,{variants:{tone:{default:`mb-2`,error:`mb-2`}},defaultVariants:{tone:`default`}}),l=a(`w-0.5`,{variants:{status:{completed:`bg-primary`,"in-progress":`bg-accent`,pending:`bg-muted`},color:{primary:`bg-primary`,secondary:`bg-secondary`,muted:`bg-muted`,accent:`bg-accent`,destructive:`bg-destructive`,gradient:`bg-linear-to-b from-primary to-muted`}}}),u=a(`relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm`,{variants:{color:{primary:`bg-primary text-primary-foreground`,secondary:`bg-secondary text-secondary-foreground`,muted:`bg-muted text-muted-foreground`,accent:`bg-accent text-accent-foreground`,destructive:`bg-destructive text-destructive-foreground`},size:{sm:`h-8 w-8`,md:`h-10 w-10`,lg:`h-12 w-12`}},defaultVariants:{color:`primary`,size:`md`}}),d=a(`flex items-center justify-center`,{variants:{size:{sm:`h-4 w-4`,md:`h-5 w-5`,lg:`h-6 w-6`}},defaultVariants:{size:`md`}}),f=o.forwardRef(({className:t,iconSize:n,size:i=`md`,children:a,...c},l)=>{let u=o.Children.toArray(a).filter(isTimelineItemElement).length;if(u===0)return/* @__PURE__ */ r(`ol`,{ref:l,"aria-label":`Timeline`,"data-slot":`timeline`,"data-size":i,className:e(s({size:i}),t),...c,children:/* @__PURE__ */ r(`li`,{className:`list-none`,children:/* @__PURE__ */ r(S,{})})});let d=0;return/* @__PURE__ */ r(`ol`,{ref:l,"aria-label":`Timeline`,"data-slot":`timeline`,"data-size":i,className:e(s({size:i}),t),...c,children:o.Children.map(a,e=>{if(!isTimelineItemElement(e))return e;let t=d===u-1;return d+=1,o.cloneElement(e,{iconSize:e.props.iconSize??n,showConnector:e.props.showConnector??!t})})})});f.displayName=`Timeline`;const p=o.forwardRef(({className:a,children:o,date:s,title:l,description:u,icon:d,iconColor:f,status:p=`completed`,connectorColor:m,showConnector:S=!0,iconSize:C,loading:w=!1,error:T,...E},D)=>w?/* @__PURE__ */ r(`li`,{ref:D,"aria-busy":`true`,"data-slot":`timeline-item`,"data-status":p,className:e(c(),a),...E,children:/* @__PURE__ */ i(`div`,{className:`grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4`,children:[/* @__PURE__ */ r(`div`,{className:`pr-4 text-right`,children:/* @__PURE__ */ r(`div`,{className:`h-4 w-24 animate-pulse rounded bg-muted`})}),/* @__PURE__ */ i(`div`,{className:`mx-3 flex flex-col items-center justify-start gap-y-2`,children:[/* @__PURE__ */ r(`div`,{className:`relative flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted ring-8 ring-background`,children:/* @__PURE__ */ r(t,{})}),S&&/* @__PURE__ */ r(`div`,{className:`h-full w-0.5 animate-pulse bg-muted`})]}),/* @__PURE__ */ r(`div`,{className:`flex flex-col gap-2 pl-2`,children:/* @__PURE__ */ i(`div`,{className:`space-y-2`,children:[/* @__PURE__ */ r(`div`,{className:`h-4 w-24 animate-pulse rounded bg-muted`}),/* @__PURE__ */ r(`div`,{className:`h-3 w-48 animate-pulse rounded bg-muted`})]})})]})}):T?/* @__PURE__ */ r(`li`,{ref:D,role:`alert`,"data-slot":`timeline-item`,"data-status":`error`,className:e(c({tone:`error`}),a),...E,children:/* @__PURE__ */ i(`div`,{className:`grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4`,children:[/* @__PURE__ */ r(`div`,{className:`pr-4 text-right`,children:/* @__PURE__ */ r(h,{className:`text-destructive`,children:s})}),/* @__PURE__ */ i(`div`,{className:`mx-3 flex flex-col items-center justify-start gap-y-2`,children:[/* @__PURE__ */ r(`div`,{className:`relative flex h-8 w-8 items-center justify-center rounded-full bg-destructive/20 ring-8 ring-background`,children:/* @__PURE__ */ r(n,{className:`h-4 w-4 text-destructive`})}),S&&/* @__PURE__ */ r(g,{color:`destructive`,className:`h-full`})]}),/* @__PURE__ */ i(`div`,{className:`flex flex-col gap-2 pl-2`,children:[/* @__PURE__ */ r(_,{children:/* @__PURE__ */ r(v,{className:`text-destructive`,children:l||`Error`})}),/* @__PURE__ */ r(b,{className:`text-destructive`,children:T})]})]})}):o==null?/* @__PURE__ */ r(`li`,{ref:D,"data-slot":`timeline-item`,"data-status":p,className:e(c(),a),"aria-current":p===`in-progress`?`step`:void 0,...E,children:/* @__PURE__ */ i(`div`,{className:`grid grid-cols-[1fr_auto_1fr] items-start gap-4`,children:[/* @__PURE__ */ r(`div`,{className:`flex flex-col justify-start pt-1`,children:/* @__PURE__ */ r(h,{className:`pr-4 text-right`,children:s})}),/* @__PURE__ */ i(`div`,{className:`flex flex-col items-center`,children:[/* @__PURE__ */ r(`div`,{className:`relative z-10`,children:/* @__PURE__ */ r(y,{icon:d,color:f??(p===`pending`?`muted`:`primary`),size:C})}),S&&/* @__PURE__ */ r(g,{status:p,color:m,className:`mt-2 h-16`})]}),/* @__PURE__ */ i(x,{children:[/* @__PURE__ */ r(_,{children:/* @__PURE__ */ r(v,{children:l})}),/* @__PURE__ */ r(b,{children:u})]})]})}):/* @__PURE__ */ r(`li`,{ref:D,"data-slot":`timeline-item`,"data-status":p,className:e(c(),a),"aria-current":p===`in-progress`?`step`:void 0,...E,children:o}));p.displayName=`TimelineItem`;const m={year:`numeric`,month:`short`,day:`2-digit`},h=o.forwardRef(({className:t,date:n,format:i,children:a,...s},c)=>{let l=o.useMemo(()=>getValidDate(n),[n]),u=o.useMemo(()=>l?new Intl.DateTimeFormat(`en-US`,{...m,...i}).format(l):``,[l,i]);return/* @__PURE__ */ r(`time`,{ref:c,"data-slot":`timeline-time`,dateTime:l?.toISOString(),className:e(`text-sm font-medium tracking-tight text-muted-foreground`,t),...s,children:a||u})});h.displayName=`TimelineTime`;const g=o.forwardRef(({className:t,status:n=`completed`,color:i,...a},o)=>/* @__PURE__ */ r(`div`,{ref:o,"data-slot":`timeline-connector`,"data-status":n,"data-color":i,className:e(l(i?{color:i}:{status:n}),t),...a}));g.displayName=`TimelineConnector`;const _=o.forwardRef(({className:t,...n},i)=>/* @__PURE__ */ r(`div`,{ref:i,"data-slot":`timeline-header`,className:e(`flex items-center gap-4`,t),...n}));_.displayName=`TimelineHeader`;const v=o.forwardRef(({className:t,...n},i)=>/* @__PURE__ */ r(`h3`,{ref:i,"data-slot":`timeline-title`,className:e(`font-semibold leading-none tracking-tight text-secondary-foreground`,t),...n}));v.displayName=`TimelineTitle`;const y=o.forwardRef(({className:t,color:n=`primary`,icon:i,size:a=`md`,...o},s)=>/* @__PURE__ */ r(`div`,{ref:s,"data-slot":`timeline-icon`,"data-color":n,"data-size":a,className:e(u({color:n,size:a}),t),...o,children:i?/* @__PURE__ */ r(`div`,{className:d({size:a}),children:i}):/* @__PURE__ */ r(`div`,{className:e(`rounded-full`,d({size:a}))})}));y.displayName=`TimelineIcon`;const b=o.forwardRef(({className:t,...n},i)=>/* @__PURE__ */ r(`p`,{ref:i,"data-slot":`timeline-description`,className:e(`max-w-sm text-sm text-muted-foreground`,t),...n}));b.displayName=`TimelineDescription`;const x=o.forwardRef(({className:t,...n},i)=>/* @__PURE__ */ r(`div`,{ref:i,"data-slot":`timeline-content`,className:e(`flex flex-col gap-2 pl-2`,t),...n}));x.displayName=`TimelineContent`;const S=o.forwardRef(({className:t,children:n,...i},a)=>/* @__PURE__ */ r(`div`,{ref:a,"data-slot":`timeline-empty`,className:e(`flex flex-col items-center justify-center p-8 text-center`,t),...i,children:/* @__PURE__ */ r(`p`,{className:`text-sm text-muted-foreground`,children:n||`No timeline items to display`})}));S.displayName=`TimelineEmpty`;function getValidDate(e){if(e==null||e===``)return null;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?null:t}function isTimelineItemElement(e){return o.isValidElement(e)&&e.type===p}export{f as Timeline,g as TimelineConnector,x as TimelineContent,b as TimelineDescription,S as TimelineEmpty,_ as TimelineHeader,y as TimelineIcon,p as TimelineItem,h as TimelineTime,v as TimelineTitle,s as timelineVariants};
|
|
2
2
|
//# sourceMappingURL=timeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","names":[],"sources":["../../src/components/timeline.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconAlertCircle } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst timelineVariants = cva('relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8', {\n variants: {\n size: {\n sm: 'gap-4',\n md: 'gap-6',\n lg: 'gap-8'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst timelineItemVariants = cva('relative w-full last:mb-0', {\n variants: {\n tone: {\n default: 'mb-2',\n error: 'mb-2'\n }\n },\n defaultVariants: {\n tone: 'default'\n }\n})\n\nconst timelineConnectorVariants = cva('w-0.5', {\n variants: {\n status: {\n completed: 'bg-primary',\n 'in-progress': 'bg-accent',\n pending: 'bg-muted'\n },\n color: {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n muted: 'bg-muted',\n accent: 'bg-accent',\n destructive: 'bg-destructive',\n gradient: 'bg-linear-to-b from-primary to-muted'\n }\n }\n})\n\nconst timelineIconVariants = cva(\n 'relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm',\n {\n variants: {\n color: {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n muted: 'bg-muted text-muted-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground'\n },\n size: {\n sm: 'h-8 w-8',\n md: 'h-10 w-10',\n lg: 'h-12 w-12'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst timelineIconContentVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TimelineIconSize = NonNullable<VariantProps<typeof timelineIconVariants>['size']>\nexport type TimelineConnectorColor = NonNullable<VariantProps<typeof timelineConnectorVariants>['color']>\nexport type TimelineIconColor = NonNullable<VariantProps<typeof timelineIconVariants>['color']>\nexport type TimelineStatus = NonNullable<VariantProps<typeof timelineConnectorVariants>['status']>\n\nexport type TimelineProps = React.ComponentProps<'ol'> &\n VariantProps<typeof timelineVariants> & {\n iconSize?: TimelineIconSize\n }\n\nconst Timeline = React.forwardRef<HTMLOListElement, TimelineProps>(\n ({ className, iconSize, size = 'md', children, ...props }, ref) => {\n const childArray = React.Children.toArray(children)\n const totalItems = childArray.filter(isTimelineItemElement).length\n\n if (totalItems === 0) {\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n <li className=\"list-none\">\n <TimelineEmpty />\n </li>\n </ol>\n )\n }\n\n let itemIndex = 0\n\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n {React.Children.map(children, (child) => {\n if (!isTimelineItemElement(child)) {\n return child\n }\n\n const isLastItem = itemIndex === totalItems - 1\n itemIndex += 1\n\n return React.cloneElement(child, {\n iconSize: child.props.iconSize ?? iconSize,\n showConnector: child.props.showConnector ?? !isLastItem\n })\n })}\n </ol>\n )\n }\n)\nTimeline.displayName = 'Timeline'\n\nexport type TimelineItemProps = React.ComponentProps<'li'> & {\n date?: React.ReactNode\n title?: React.ReactNode\n description?: React.ReactNode\n icon?: React.ReactNode\n iconColor?: TimelineIconColor\n status?: TimelineStatus\n connectorColor?: TimelineConnectorColor\n showConnector?: boolean\n iconSize?: TimelineIconSize\n loading?: boolean\n error?: React.ReactNode\n}\n\nconst TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n (\n {\n className,\n children,\n date,\n title,\n description,\n icon,\n iconColor,\n status = 'completed',\n connectorColor,\n showConnector = true,\n iconSize,\n loading = false,\n error,\n ...props\n },\n ref\n ) => {\n if (loading) {\n return (\n <li\n ref={ref}\n aria-busy=\"true\"\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted ring-8 ring-background\">\n <Spinner />\n </div>\n {showConnector && <div className=\"h-full w-0.5 animate-pulse bg-muted\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <div className=\"space-y-2\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-48 animate-pulse rounded bg-muted\" />\n </div>\n </div>\n </div>\n </li>\n )\n }\n\n if (error) {\n return (\n <li\n ref={ref}\n role=\"alert\"\n data-slot=\"timeline-item\"\n data-status=\"error\"\n className={cn(timelineItemVariants({ tone: 'error' }), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <TimelineTime className=\"text-destructive\">{date}</TimelineTime>\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 items-center justify-center rounded-full bg-destructive/20 ring-8 ring-background\">\n <IconAlertCircle className=\"h-4 w-4 text-destructive\" />\n </div>\n {showConnector && <TimelineConnector color=\"destructive\" className=\"h-full\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <TimelineHeader>\n <TimelineTitle className=\"text-destructive\">{title || 'Error'}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription className=\"text-destructive\">{error}</TimelineDescription>\n </div>\n </div>\n </li>\n )\n }\n\n if (children != null) {\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n {children}\n </li>\n )\n }\n\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n <div className=\"grid grid-cols-[1fr_auto_1fr] items-start gap-4\">\n <div className=\"flex flex-col justify-start pt-1\">\n <TimelineTime className=\"pr-4 text-right\">{date}</TimelineTime>\n </div>\n\n <div className=\"flex flex-col items-center\">\n <div className=\"relative z-10\">\n <TimelineIcon\n icon={icon}\n color={iconColor ?? (status === 'pending' ? 'muted' : 'primary')}\n size={iconSize}\n />\n </div>\n {showConnector && <TimelineConnector status={status} color={connectorColor} className=\"mt-2 h-16\" />}\n </div>\n\n <TimelineContent>\n <TimelineHeader>\n <TimelineTitle>{title}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription>{description}</TimelineDescription>\n </TimelineContent>\n </div>\n </li>\n )\n }\n)\nTimelineItem.displayName = 'TimelineItem'\n\nexport type TimelineTimeProps = React.ComponentProps<'time'> & {\n date?: string | Date | number\n format?: Intl.DateTimeFormatOptions\n}\n\nconst defaultDateFormat: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: '2-digit'\n}\n\nconst TimelineTime = React.forwardRef<HTMLTimeElement, TimelineTimeProps>(\n ({ className, date, format, children, ...props }, ref) => {\n const dateValue = React.useMemo(() => getValidDate(date), [date])\n\n const formattedDate = React.useMemo(() => {\n if (!dateValue) {\n return ''\n }\n\n return new Intl.DateTimeFormat('en-US', {\n ...defaultDateFormat,\n ...format\n }).format(dateValue)\n }, [dateValue, format])\n\n return (\n <time\n ref={ref}\n data-slot=\"timeline-time\"\n dateTime={dateValue?.toISOString()}\n className={cn('text-sm font-medium tracking-tight text-muted-foreground', className)}\n {...props}\n >\n {children || formattedDate}\n </time>\n )\n }\n)\nTimelineTime.displayName = 'TimelineTime'\n\nexport type TimelineConnectorProps = React.ComponentProps<'div'> & VariantProps<typeof timelineConnectorVariants>\n\nconst TimelineConnector = React.forwardRef<HTMLDivElement, TimelineConnectorProps>(\n ({ className, status = 'completed', color, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-connector\"\n data-status={status}\n data-color={color}\n className={cn(color ? timelineConnectorVariants({ color }) : timelineConnectorVariants({ status }), className)}\n {...props}\n />\n )\n)\nTimelineConnector.displayName = 'TimelineConnector'\n\nexport type TimelineHeaderProps = React.ComponentProps<'div'>\n\nconst TimelineHeader = React.forwardRef<HTMLDivElement, TimelineHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-header\" className={cn('flex items-center gap-4', className)} {...props} />\n))\nTimelineHeader.displayName = 'TimelineHeader'\n\nexport type TimelineTitleProps = React.ComponentProps<'h3'>\n\nconst TimelineTitle = React.forwardRef<HTMLHeadingElement, TimelineTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"timeline-title\"\n className={cn('font-semibold leading-none tracking-tight text-secondary-foreground', className)}\n {...props}\n />\n))\nTimelineTitle.displayName = 'TimelineTitle'\n\nexport type TimelineIconProps = React.ComponentProps<'div'> &\n VariantProps<typeof timelineIconVariants> & {\n icon?: React.ReactNode\n }\n\nconst TimelineIcon = React.forwardRef<HTMLDivElement, TimelineIconProps>(\n ({ className, color = 'primary', icon, size = 'md', ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-icon\"\n data-color={color}\n data-size={size}\n className={cn(timelineIconVariants({ color, size }), className)}\n {...props}\n >\n {icon ? (\n <div className={timelineIconContentVariants({ size })}>{icon}</div>\n ) : (\n <div className={cn('rounded-full', timelineIconContentVariants({ size }))} />\n )}\n </div>\n )\n)\nTimelineIcon.displayName = 'TimelineIcon'\n\nexport type TimelineDescriptionProps = React.ComponentProps<'p'>\n\nconst TimelineDescription = React.forwardRef<HTMLParagraphElement, TimelineDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"timeline-description\"\n className={cn('max-w-sm text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nTimelineDescription.displayName = 'TimelineDescription'\n\nexport type TimelineContentProps = React.ComponentProps<'div'>\n\nconst TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-content\" className={cn('flex flex-col gap-2 pl-2', className)} {...props} />\n))\nTimelineContent.displayName = 'TimelineContent'\n\nexport type TimelineEmptyProps = React.ComponentProps<'div'>\n\nconst TimelineEmpty = React.forwardRef<HTMLDivElement, TimelineEmptyProps>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-empty\"\n className={cn('flex flex-col items-center justify-center p-8 text-center', className)}\n {...props}\n >\n <p className=\"text-sm text-muted-foreground\">{children || 'No timeline items to display'}</p>\n </div>\n))\nTimelineEmpty.displayName = 'TimelineEmpty'\n\nfunction getValidDate(date?: string | Date | number) {\n if (date == null || date === '') {\n return null\n }\n\n const parsedDate = date instanceof Date ? date : new Date(date)\n\n return Number.isNaN(parsedDate.getTime()) ? null : parsedDate\n}\n\nfunction isTimelineItemElement(child: React.ReactNode): child is React.ReactElement<TimelineItemProps> {\n return React.isValidElement(child) && child.type === TimelineItem\n}\n\nexport {\n Timeline,\n TimelineConnector,\n TimelineContent,\n TimelineDescription,\n TimelineEmpty,\n TimelineHeader,\n TimelineIcon,\n TimelineItem,\n TimelineTime,\n TimelineTitle,\n timelineVariants\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timeline.js","names":["React","timelineVariants","cva","timelineItemVariants","timelineConnectorVariants","timelineIconVariants","timelineIconContentVariants","Timeline","props","totalItems","children","size","cn","className","TimelineEmpty","itemIndex","child","isLastItem","iconSize","TimelineItem","loading","status","Spinner","showConnector","error","TimelineTime","date","IconAlertCircle","TimelineConnector","TimelineHeader","TimelineTitle","title","TimelineDescription","TimelineIcon","iconColor","connectorColor","TimelineContent","description","defaultDateFormat","dateValue","formattedDate","format","color","icon","parsedDate"],"sources":["../../src/components/timeline.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconAlertCircle } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst timelineVariants = cva('relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8', {\n variants: {\n size: {\n sm: 'gap-4',\n md: 'gap-6',\n lg: 'gap-8'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst timelineItemVariants = cva('relative w-full last:mb-0', {\n variants: {\n tone: {\n default: 'mb-2',\n error: 'mb-2'\n }\n },\n defaultVariants: {\n tone: 'default'\n }\n})\n\nconst timelineConnectorVariants = cva('w-0.5', {\n variants: {\n status: {\n completed: 'bg-primary',\n 'in-progress': 'bg-accent',\n pending: 'bg-muted'\n },\n color: {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n muted: 'bg-muted',\n accent: 'bg-accent',\n destructive: 'bg-destructive',\n gradient: 'bg-linear-to-b from-primary to-muted'\n }\n }\n})\n\nconst timelineIconVariants = cva(\n 'relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm',\n {\n variants: {\n color: {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n muted: 'bg-muted text-muted-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground'\n },\n size: {\n sm: 'h-8 w-8',\n md: 'h-10 w-10',\n lg: 'h-12 w-12'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst timelineIconContentVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TimelineIconSize = NonNullable<VariantProps<typeof timelineIconVariants>['size']>\nexport type TimelineConnectorColor = NonNullable<VariantProps<typeof timelineConnectorVariants>['color']>\nexport type TimelineIconColor = NonNullable<VariantProps<typeof timelineIconVariants>['color']>\nexport type TimelineStatus = NonNullable<VariantProps<typeof timelineConnectorVariants>['status']>\n\nexport type TimelineProps = React.ComponentProps<'ol'> &\n VariantProps<typeof timelineVariants> & {\n iconSize?: TimelineIconSize\n }\n\nconst Timeline = React.forwardRef<HTMLOListElement, TimelineProps>(\n ({ className, iconSize, size = 'md', children, ...props }, ref) => {\n const childArray = React.Children.toArray(children)\n const totalItems = childArray.filter(isTimelineItemElement).length\n\n if (totalItems === 0) {\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n <li className=\"list-none\">\n <TimelineEmpty />\n </li>\n </ol>\n )\n }\n\n let itemIndex = 0\n\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n {React.Children.map(children, (child) => {\n if (!isTimelineItemElement(child)) {\n return child\n }\n\n const isLastItem = itemIndex === totalItems - 1\n itemIndex += 1\n\n return React.cloneElement(child, {\n iconSize: child.props.iconSize ?? iconSize,\n showConnector: child.props.showConnector ?? !isLastItem\n })\n })}\n </ol>\n )\n }\n)\nTimeline.displayName = 'Timeline'\n\nexport type TimelineItemProps = React.ComponentProps<'li'> & {\n date?: React.ReactNode\n title?: React.ReactNode\n description?: React.ReactNode\n icon?: React.ReactNode\n iconColor?: TimelineIconColor\n status?: TimelineStatus\n connectorColor?: TimelineConnectorColor\n showConnector?: boolean\n iconSize?: TimelineIconSize\n loading?: boolean\n error?: React.ReactNode\n}\n\nconst TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n (\n {\n className,\n children,\n date,\n title,\n description,\n icon,\n iconColor,\n status = 'completed',\n connectorColor,\n showConnector = true,\n iconSize,\n loading = false,\n error,\n ...props\n },\n ref\n ) => {\n if (loading) {\n return (\n <li\n ref={ref}\n aria-busy=\"true\"\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted ring-8 ring-background\">\n <Spinner />\n </div>\n {showConnector && <div className=\"h-full w-0.5 animate-pulse bg-muted\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <div className=\"space-y-2\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-48 animate-pulse rounded bg-muted\" />\n </div>\n </div>\n </div>\n </li>\n )\n }\n\n if (error) {\n return (\n <li\n ref={ref}\n role=\"alert\"\n data-slot=\"timeline-item\"\n data-status=\"error\"\n className={cn(timelineItemVariants({ tone: 'error' }), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <TimelineTime className=\"text-destructive\">{date}</TimelineTime>\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 items-center justify-center rounded-full bg-destructive/20 ring-8 ring-background\">\n <IconAlertCircle className=\"h-4 w-4 text-destructive\" />\n </div>\n {showConnector && <TimelineConnector color=\"destructive\" className=\"h-full\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <TimelineHeader>\n <TimelineTitle className=\"text-destructive\">{title || 'Error'}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription className=\"text-destructive\">{error}</TimelineDescription>\n </div>\n </div>\n </li>\n )\n }\n\n if (children != null) {\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n {children}\n </li>\n )\n }\n\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n <div className=\"grid grid-cols-[1fr_auto_1fr] items-start gap-4\">\n <div className=\"flex flex-col justify-start pt-1\">\n <TimelineTime className=\"pr-4 text-right\">{date}</TimelineTime>\n </div>\n\n <div className=\"flex flex-col items-center\">\n <div className=\"relative z-10\">\n <TimelineIcon\n icon={icon}\n color={iconColor ?? (status === 'pending' ? 'muted' : 'primary')}\n size={iconSize}\n />\n </div>\n {showConnector && <TimelineConnector status={status} color={connectorColor} className=\"mt-2 h-16\" />}\n </div>\n\n <TimelineContent>\n <TimelineHeader>\n <TimelineTitle>{title}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription>{description}</TimelineDescription>\n </TimelineContent>\n </div>\n </li>\n )\n }\n)\nTimelineItem.displayName = 'TimelineItem'\n\nexport type TimelineTimeProps = React.ComponentProps<'time'> & {\n date?: string | Date | number\n format?: Intl.DateTimeFormatOptions\n}\n\nconst defaultDateFormat: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: '2-digit'\n}\n\nconst TimelineTime = React.forwardRef<HTMLTimeElement, TimelineTimeProps>(\n ({ className, date, format, children, ...props }, ref) => {\n const dateValue = React.useMemo(() => getValidDate(date), [date])\n\n const formattedDate = React.useMemo(() => {\n if (!dateValue) {\n return ''\n }\n\n return new Intl.DateTimeFormat('en-US', {\n ...defaultDateFormat,\n ...format\n }).format(dateValue)\n }, [dateValue, format])\n\n return (\n <time\n ref={ref}\n data-slot=\"timeline-time\"\n dateTime={dateValue?.toISOString()}\n className={cn('text-sm font-medium tracking-tight text-muted-foreground', className)}\n {...props}\n >\n {children || formattedDate}\n </time>\n )\n }\n)\nTimelineTime.displayName = 'TimelineTime'\n\nexport type TimelineConnectorProps = React.ComponentProps<'div'> & VariantProps<typeof timelineConnectorVariants>\n\nconst TimelineConnector = React.forwardRef<HTMLDivElement, TimelineConnectorProps>(\n ({ className, status = 'completed', color, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-connector\"\n data-status={status}\n data-color={color}\n className={cn(color ? timelineConnectorVariants({ color }) : timelineConnectorVariants({ status }), className)}\n {...props}\n />\n )\n)\nTimelineConnector.displayName = 'TimelineConnector'\n\nexport type TimelineHeaderProps = React.ComponentProps<'div'>\n\nconst TimelineHeader = React.forwardRef<HTMLDivElement, TimelineHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-header\" className={cn('flex items-center gap-4', className)} {...props} />\n))\nTimelineHeader.displayName = 'TimelineHeader'\n\nexport type TimelineTitleProps = React.ComponentProps<'h3'>\n\nconst TimelineTitle = React.forwardRef<HTMLHeadingElement, TimelineTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"timeline-title\"\n className={cn('font-semibold leading-none tracking-tight text-secondary-foreground', className)}\n {...props}\n />\n))\nTimelineTitle.displayName = 'TimelineTitle'\n\nexport type TimelineIconProps = React.ComponentProps<'div'> &\n VariantProps<typeof timelineIconVariants> & {\n icon?: React.ReactNode\n }\n\nconst TimelineIcon = React.forwardRef<HTMLDivElement, TimelineIconProps>(\n ({ className, color = 'primary', icon, size = 'md', ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-icon\"\n data-color={color}\n data-size={size}\n className={cn(timelineIconVariants({ color, size }), className)}\n {...props}\n >\n {icon ? (\n <div className={timelineIconContentVariants({ size })}>{icon}</div>\n ) : (\n <div className={cn('rounded-full', timelineIconContentVariants({ size }))} />\n )}\n </div>\n )\n)\nTimelineIcon.displayName = 'TimelineIcon'\n\nexport type TimelineDescriptionProps = React.ComponentProps<'p'>\n\nconst TimelineDescription = React.forwardRef<HTMLParagraphElement, TimelineDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"timeline-description\"\n className={cn('max-w-sm text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nTimelineDescription.displayName = 'TimelineDescription'\n\nexport type TimelineContentProps = React.ComponentProps<'div'>\n\nconst TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-content\" className={cn('flex flex-col gap-2 pl-2', className)} {...props} />\n))\nTimelineContent.displayName = 'TimelineContent'\n\nexport type TimelineEmptyProps = React.ComponentProps<'div'>\n\nconst TimelineEmpty = React.forwardRef<HTMLDivElement, TimelineEmptyProps>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-empty\"\n className={cn('flex flex-col items-center justify-center p-8 text-center', className)}\n {...props}\n >\n <p className=\"text-sm text-muted-foreground\">{children || 'No timeline items to display'}</p>\n </div>\n))\nTimelineEmpty.displayName = 'TimelineEmpty'\n\nfunction getValidDate(date?: string | Date | number) {\n if (date == null || date === '') {\n return null\n }\n\n const parsedDate = date instanceof Date ? date : new Date(date)\n\n return Number.isNaN(parsedDate.getTime()) ? null : parsedDate\n}\n\nfunction isTimelineItemElement(child: React.ReactNode): child is React.ReactElement<TimelineItemProps> {\n return React.isValidElement(child) && child.type === TimelineItem\n}\n\nexport {\n Timeline,\n TimelineConnector,\n TimelineContent,\n TimelineDescription,\n TimelineEmpty,\n TimelineHeader,\n TimelineIcon,\n TimelineItem,\n TimelineTime,\n TimelineTitle,\n timelineVariants\n}\n"],"mappings":"mSAQA,MAAMC,EAAmBC,EAAI,mFAAoF,CAC/G,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEKC,EAAuBD,EAAI,4BAA6B,CAC5D,SAAU,CACR,KAAM,CACJ,QAAS,OACT,MAAO,MACT,CACF,EACA,gBAAiB,CACf,KAAM,SACR,CACF,CAAC,EAEKE,EAA4BF,EAAI,QAAS,CAC7C,SAAU,CACR,OAAQ,CACN,UAAW,aACX,cAAe,YACf,QAAS,UACX,EACA,MAAO,CACL,QAAS,aACT,UAAW,eACX,MAAO,WACP,OAAQ,YACR,YAAa,iBACb,SAAU,sCACZ,CACF,CACF,CAAC,EAEKG,EAAuBH,EAC3B,0FACA,CACE,SAAU,CACR,MAAO,CACL,QAAS,qCACT,UAAW,yCACX,MAAO,iCACP,OAAQ,mCACR,YAAa,4CACf,EACA,KAAM,CACJ,GAAI,UACJ,GAAI,YACJ,GAAI,WACN,CACF,EACA,gBAAiB,CACf,MAAO,UACP,KAAM,IACR,CACF,CACF,EAEMI,EAA8BJ,EAAI,mCAAoC,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAYKK,EAAWP,EAAM,YACpB,CAAE,YAAW,WAAU,OAAO,KAAM,WAAU,GAAGQ,GAAS,IAAQ,CAEjE,IAAMC,EADaT,EAAM,SAAS,QAAQU,CACd,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,OAE5D,GAAID,IAAe,EACjB,MACE,kBAAC,KAAD,CACO,MACL,aAAW,WACX,YAAU,WACV,YAAWE,EACX,UAAWC,EAAGX,EAAiB,CAAE,MAAK,CAAC,EAAGY,CAAS,EACnD,GAAIL,EAEJ,SAAA,kBAAC,KAAD,CAAI,UAAU,YACZ,SAAA,kBAACM,EAAD,CAAgB,CAAA,CACd,CAAA,CACF,CAAA,EAIR,IAAIC,EAAY,EAEhB,MACE,kBAAC,KAAD,CACO,MACL,aAAW,WACX,YAAU,WACV,YAAWJ,EACX,UAAWC,EAAGX,EAAiB,CAAE,MAAK,CAAC,EAAGY,CAAS,EACnD,GAAIL,EAEH,SAAAR,EAAM,SAAS,IAAIU,EAAW,GAAU,CACvC,GAAI,CAAC,sBAAsBM,CAAK,EAC9B,OAAOA,EAGT,IAAMC,EAAaF,IAAcN,EAAa,EAG9C,MAFA,IAAa,EAENT,EAAM,aAAagB,EAAO,CAC/B,SAAUA,EAAM,MAAM,UAAYE,EAClC,cAAeF,EAAM,MAAM,eAAiB,CAACC,CAC/C,CAAC,CACH,CAAC,CACC,CAAA,CAER,CACF,EACA,EAAS,YAAc,WAgBvB,MAAME,EAAenB,EAAM,YAEvB,CACE,YACA,WACA,OACA,QACA,cACA,OACA,YACA,SAAS,YACT,iBACA,gBAAgB,GAChB,WACA,UAAU,GACV,QACA,GAAGQ,GAEL,IAEIY,EAEA,kBAAC,KAAD,CACO,MACL,YAAU,OACV,YAAU,gBACV,cAAaC,EACb,UAAWT,EAAGT,EAAqB,EAAGU,CAAS,EAC/C,GAAIL,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,+DAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,kBACb,SAAA,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,CACvD,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,wDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,+GACb,SAAA,kBAACc,EAAD,CAAU,CAAA,CACP,CAAA,EACJC,GAAiB,kBAAC,MAAD,CAAK,UAAU,qCAAuC,CAAA,CACrE,IAEL,kBAAC,MAAD,CAAK,UAAU,2BACb,SAAA,kBAAC,MAAD,CAAK,UAAU,YAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,EAC1D,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,CACvD,GACF,CAAA,CACF,GACH,CAAA,EAIJC,EAEA,kBAAC,KAAD,CACO,MACL,KAAK,QACL,YAAU,gBACV,cAAY,QACZ,UAAWZ,EAAGT,EAAqB,CAAE,KAAM,OAAQ,CAAC,EAAGU,CAAS,EAChE,GAAIL,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,+DAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,kBACb,SAAA,kBAACiB,EAAD,CAAc,UAAU,mBAAoB,SAAAC,CAAmB,CAAA,CAC5D,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,wDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,0GACb,SAAA,kBAACC,EAAD,CAAiB,UAAU,0BAA4B,CAAA,CACpD,CAAA,EACJJ,GAAiB,kBAACK,EAAD,CAAmB,MAAM,cAAc,UAAU,QAAU,CAAA,CAC1E,IAEL,kBAAC,MAAD,CAAK,UAAU,2BAAf,SAAA,CACE,kBAACC,EAAD,CAAA,SACE,kBAACC,EAAD,CAAe,UAAU,mBAAoB,SAAAC,GAAS,OAAuB,CAAA,CAC/D,CAAA,EAChB,kBAACC,EAAD,CAAqB,UAAU,mBAAoB,SAAAR,CAA2B,CAAA,CAC3E,GACF,GACH,CAAA,EAIJd,GAAY,KAgBd,kBAAC,KAAD,CACO,MACL,YAAU,gBACV,cAAaW,EACb,UAAWT,EAAGT,EAAqB,EAAGU,CAAS,EAC/C,eAAcQ,IAAW,cAAgB,OAAS,IAAA,GAClD,GAAIb,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,kDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,mCACb,SAAA,kBAACiB,EAAD,CAAc,UAAU,kBAAmB,SAAAC,CAAmB,CAAA,CAC3D,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,6BAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,gBACb,SAAA,kBAACO,EAAD,CACQ,OACN,MAAOC,IAAcb,IAAW,UAAY,QAAU,WACtD,KAAMH,CACP,CAAA,CACE,CAAA,EACJK,GAAiB,kBAACK,EAAD,CAA2B,SAAQ,MAAOO,EAAgB,UAAU,WAAa,CAAA,CAChG,IAEL,kBAACC,EAAD,CAAA,SAAA,CACE,kBAACP,EAAD,CAAA,SACE,kBAACC,EAAD,CAAA,SAAgBC,CAAqB,CAAA,CACvB,CAAA,EAChB,kBAACC,EAAD,CAAA,SAAsBK,CAAiC,CAAA,CACxC,CAAA,CAAA,CACd,GACH,CAAA,EA7CF,kBAAC,KAAD,CACO,MACL,YAAU,gBACV,cAAahB,EACb,UAAWT,EAAGT,EAAqB,EAAGU,CAAS,EAC/C,eAAcQ,IAAW,cAAgB,OAAS,IAAA,GAClD,GAAIb,EAEH,UACC,CAAA,CAuCZ,EACA,EAAa,YAAc,eAO3B,MAAM8B,EAAgD,CACpD,KAAM,UACN,MAAO,QACP,IAAK,SACP,EAEMb,EAAezB,EAAM,YACxB,CAAE,YAAW,OAAM,SAAQ,WAAU,GAAGQ,GAAS,IAAQ,CACxD,IAAM+B,EAAYvC,EAAM,YAAc,aAAa0B,CAAI,EAAG,CAACA,CAAI,CAAC,EAE1Dc,EAAgBxC,EAAM,YACrBuC,EAIE,IAAI,KAAK,eAAe,QAAS,CACtC,GAAGD,EACH,GAAGG,CACL,CAAC,CAAC,CAAC,OAAOF,CAAS,EANV,GAOR,CAACA,EAAWE,CAAM,CAAC,EAEtB,MACE,kBAAC,OAAD,CACO,MACL,YAAU,gBACV,SAAUF,GAAW,YAAY,EACjC,UAAW3B,EAAG,2DAA4DC,CAAS,EACnF,GAAIL,EAEH,SAAAE,GAAY8B,CACT,CAAA,CAEV,CACF,EACA,EAAa,YAAc,eAI3B,MAAMZ,EAAoB5B,EAAM,YAC7B,CAAE,YAAW,SAAS,YAAa,QAAO,GAAGQ,GAAS,IACrD,kBAAC,MAAD,CACO,MACL,YAAU,qBACV,cAAaa,EACb,aAAYqB,EACZ,UAAW9B,EAAWR,EAARsC,EAAkC,CAAE,OAAM,EAA+B,CAAE,QAAO,CAAC,EAAG7B,CAAS,EAC7G,GAAIL,CACL,CAAA,CAEL,EACA,EAAkB,YAAc,oBAIhC,MAAMqB,EAAiB7B,EAAM,YAAiD,CAAE,YAAW,GAAGQ,GAAS,IACrG,kBAAC,MAAD,CAAU,MAAK,YAAU,kBAAkB,UAAWI,EAAG,0BAA2BC,CAAS,EAAG,GAAIL,CAAQ,CAAA,CAC7G,EACD,EAAe,YAAc,iBAI7B,MAAMsB,EAAgB9B,EAAM,YAAoD,CAAE,YAAW,GAAGQ,GAAS,IACvG,kBAAC,KAAD,CACO,MACL,YAAU,iBACV,UAAWI,EAAG,sEAAuEC,CAAS,EAC9F,GAAIL,CACL,CAAA,CACF,EACD,EAAc,YAAc,gBAO5B,MAAMyB,EAAejC,EAAM,YACxB,CAAE,YAAW,QAAQ,UAAW,OAAM,OAAO,KAAM,GAAGQ,GAAS,IAC9D,kBAAC,MAAD,CACO,MACL,YAAU,gBACV,aAAYkC,EACZ,YAAW/B,EACX,UAAWC,EAAGP,EAAqB,CAAE,QAAO,MAAK,CAAC,EAAGQ,CAAS,EAC9D,GAAIL,EAEH,SAAAmC,EACC,kBAAC,MAAD,CAAK,UAAWrC,EAA4B,CAAE,MAAK,CAAC,EAAI,SAAAqC,CAAU,CAAA,EAElE,kBAAC,MAAD,CAAK,UAAW/B,EAAG,eAAgBN,EAA4B,CAAE,MAAK,CAAC,CAAC,CAAI,CAAA,CAE3E,CAAA,CAET,EACA,EAAa,YAAc,eAI3B,MAAM0B,EAAsBhC,EAAM,YAC/B,CAAE,YAAW,GAAGQ,GAAS,IACxB,kBAAC,IAAD,CACO,MACL,YAAU,uBACV,UAAWI,EAAG,yCAA0CC,CAAS,EACjE,GAAIL,CACL,CAAA,CAEL,EACA,EAAoB,YAAc,sBAIlC,MAAM4B,EAAkBpC,EAAM,YAAkD,CAAE,YAAW,GAAGQ,GAAS,IACvG,kBAAC,MAAD,CAAU,MAAK,YAAU,mBAAmB,UAAWI,EAAG,2BAA4BC,CAAS,EAAG,GAAIL,CAAQ,CAAA,CAC/G,EACD,EAAgB,YAAc,kBAI9B,MAAMM,EAAgBd,EAAM,YAAgD,CAAE,YAAW,WAAU,GAAGQ,GAAS,IAC7G,kBAAC,MAAD,CACO,MACL,YAAU,iBACV,UAAWI,EAAG,4DAA6DC,CAAS,EACpF,GAAIL,EAEJ,SAAA,kBAAC,IAAD,CAAG,UAAU,gCAAiC,SAAAE,GAAY,8BAAkC,CAAA,CACzF,CAAA,CACN,EACD,EAAc,YAAc,gBAE5B,SAAS,aAAa,EAA+B,CACnD,GAAIgB,GAAQ,MAAQA,IAAS,GAC3B,OAAO,KAGT,IAAMkB,EAAalB,aAAgB,KAAOA,EAAO,IAAI,KAAKA,CAAI,EAE9D,OAAO,OAAO,MAAMkB,EAAW,QAAQ,CAAC,EAAI,KAAOA,CACrD,CAEA,SAAS,sBAAsB,EAAwE,CACrG,OAAO5C,EAAM,eAAegB,CAAK,GAAKA,EAAM,OAASG,CACvD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{toggleVariants as t}from"./toggle.js";import{ToggleGroup as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import*as i from"react";const a=i.createContext({size:`md`,variant:`ghost`,color:`primary`,spacing:0,orientation:`horizontal`});function ToggleGroup({className:t,variant:i,color:o,size:s,spacing:c=0,orientation:l=`horizontal`,children:u,...d}){return r(n.Root,{"data-slot":`toggle-group`,"data-variant":i??`ghost`,"data-color":o??`primary`,"data-size":s??`md`,"data-spacing":c,"data-orientation":l,style:{"--gap":c},className:e(`group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch`,t),...d,children
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{toggleVariants as t}from"./toggle.js";import{ToggleGroup as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import*as i from"react";const a=i.createContext({size:`md`,variant:`ghost`,color:`primary`,spacing:0,orientation:`horizontal`});function ToggleGroup({className:t,variant:i,color:o,size:s,spacing:c=0,orientation:l=`horizontal`,children:u,...d}){return/* @__PURE__ */ r(n.Root,{"data-slot":`toggle-group`,"data-variant":i??`ghost`,"data-color":o??`primary`,"data-size":s??`md`,"data-spacing":c,"data-orientation":l,style:{"--gap":c},className:e(`group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch`,t),...d,children:/* @__PURE__ */ r(a.Provider,{value:{variant:i,color:o,size:s,spacing:c,orientation:l},children:u})})}function ToggleGroupItem({className:o,children:s,variant:c=`ghost`,color:l=`primary`,size:u=`md`,...d}){let f=i.useContext(a);return/* @__PURE__ */ r(n.Item,{"data-slot":`toggle-group-item`,"data-variant":f.variant||c,"data-color":f.color||l,"data-size":f.size||u,"data-spacing":f.spacing,className:e(`shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg`,`group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t`,`group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-t`,t({variant:f.variant||c,color:f.color||l,size:f.size||u}),o),...d,children:s})}export{ToggleGroup,ToggleGroupItem};
|
|
2
2
|
//# sourceMappingURL=toggle-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","names":["ToggleGroupPrimitive"],"sources":["../../src/components/toggle-group.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { VariantProps } from 'class-variance-authority'\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { toggleVariants } from './toggle'\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n>({\n size: 'md',\n variant: 'ghost',\n color: 'primary',\n spacing: 0,\n orientation: 'horizontal'\n})\n\nexport type ToggleGroupProps = React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n\nexport type ToggleGroupItemProps = React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n\nfunction ToggleGroup({\n className,\n variant,\n color,\n size,\n spacing = 0,\n orientation = 'horizontal',\n children,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant ?? 'ghost'}\n data-color={color ?? 'primary'}\n data-size={size ?? 'md'}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, color, size, spacing, orientation }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n ...props\n}: ToggleGroupItemProps) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-color={context.color || color}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n color: context.color || color,\n size: context.size || size\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"mappings":"iOAQA,
|
|
1
|
+
{"version":3,"file":"toggle-group.js","names":["ToggleGroupPrimitive","ToggleGroup$1","React","ToggleGroupContext","props","variant","color","size","spacing","orientation","cn","className","context","toggleVariants"],"sources":["../../src/components/toggle-group.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { VariantProps } from 'class-variance-authority'\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { toggleVariants } from './toggle'\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n>({\n size: 'md',\n variant: 'ghost',\n color: 'primary',\n spacing: 0,\n orientation: 'horizontal'\n})\n\nexport type ToggleGroupProps = React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n\nexport type ToggleGroupItemProps = React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n\nfunction ToggleGroup({\n className,\n variant,\n color,\n size,\n spacing = 0,\n orientation = 'horizontal',\n children,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant ?? 'ghost'}\n data-color={color ?? 'primary'}\n data-size={size ?? 'md'}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, color, size, spacing, orientation }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n ...props\n}: ToggleGroupItemProps) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-color={context.color || color}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n color: context.color || color,\n size: context.size || size\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"mappings":"iOAQA,MAAMG,EAAqBD,EAAM,cAK/B,CACA,KAAM,KACN,QAAS,QACT,MAAO,UACP,QAAS,EACT,YAAa,YACf,CAAC,EAWD,SAAS,YAAY,CACnB,YACA,UACA,QACA,OACA,UAAU,EACV,cAAc,aACd,WACA,GAAGE,GACgB,CACnB,MACE,kBAACJ,EAAqB,KAAtB,CACE,YAAU,eACV,eAAcK,GAAW,QACzB,aAAYC,GAAS,UACrB,YAAWC,GAAQ,KACnB,eAAcC,EACd,mBAAkBC,EAClB,MAAO,CAAE,QAASD,CAAQ,EAC1B,UAAWE,EACT,oMACAC,CACF,EACA,GAAIP,EAEJ,SAAA,kBAACD,EAAmB,SAApB,CAA6B,MAAO,CAAE,UAAS,QAAO,OAAM,UAAS,aAAY,EAC9E,UAC0B,CAAA,CACJ,CAAA,CAE/B,CAEA,SAAS,gBAAgB,CACvB,YACA,WACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,GAAGC,GACoB,CACvB,IAAMQ,EAAUV,EAAM,WAAWC,CAAkB,EAEnD,MACE,kBAACH,EAAqB,KAAtB,CACE,YAAU,oBACV,eAAcY,EAAQ,SAAWP,EACjC,aAAYO,EAAQ,OAASN,EAC7B,YAAWM,EAAQ,MAAQL,EAC3B,eAAcK,EAAQ,QACtB,UAAWF,EACT,yZACA,8VACA,sWACAG,EAAe,CACb,QAASD,EAAQ,SAAWP,EAC5B,MAAOO,EAAQ,OAASN,EACxB,KAAMM,EAAQ,MAAQL,CACxB,CAAC,EACDI,CACF,EACA,GAAIP,EAEH,UACwB,CAAA,CAE/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{buttonColorVariants as t}from"../lib/button.js";import{Toggle as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{secondary:`border-border bg-background hover:bg-muted hover:text-foreground data-[state=on]:bg-muted data-[state=on]:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-[state=on]:bg-input/50`,outline:`border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-[state=on]:bg-(--button-solid) data-[state=on]:text-(--button-solid-foreground)`,ghost:`text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[state=on]:bg-(--button-ghost-hover) data-[state=on]:text-(--button-ghost-foreground)`},color:t,size:{sm:`h-8 min-w-8 px-1.5 text-[0.8rem]`,md:`h-9 min-w-9 px-2`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`ghost`,color:`primary`,size:`md`}});function Toggle({className:t,variant:i=`ghost`,color:o=`primary`,size:s=`md`,...c}){return r(n.Root,{"data-slot":`toggle`,"data-variant":i,"data-color":o,"data-size":s,className:e(a({variant:i,color:o,size:s,className:t})),...c})}export{Toggle,a as toggleVariants};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{buttonColorVariants as t}from"../lib/button.js";import{Toggle as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{secondary:`border-border bg-background hover:bg-muted hover:text-foreground data-[state=on]:bg-muted data-[state=on]:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-[state=on]:bg-input/50`,outline:`border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-[state=on]:bg-(--button-solid) data-[state=on]:text-(--button-solid-foreground)`,ghost:`text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[state=on]:bg-(--button-ghost-hover) data-[state=on]:text-(--button-ghost-foreground)`},color:t,size:{sm:`h-8 min-w-8 px-1.5 text-[0.8rem]`,md:`h-9 min-w-9 px-2`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`ghost`,color:`primary`,size:`md`}});function Toggle({className:t,variant:i=`ghost`,color:o=`primary`,size:s=`md`,...c}){return/* @__PURE__ */ r(n.Root,{"data-slot":`toggle`,"data-variant":i,"data-color":o,"data-size":s,className:e(a({variant:i,color:o,size:s,className:t})),...c})}export{Toggle,a as toggleVariants};
|
|
2
2
|
//# sourceMappingURL=toggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","names":["TogglePrimitive"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Toggle as TogglePrimitive } from 'radix-ui'\n\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-[state=on]:bg-muted data-[state=on]:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-[state=on]:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-[state=on]:bg-(--button-solid) data-[state=on]:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[state=on]:bg-(--button-ghost-hover) data-[state=on]:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({ className, variant = 'ghost', color = 'primary', size = 'md', ...props }: ToggleProps) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={cn(toggleVariants({ variant, color, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"6PAQA,
|
|
1
|
+
{"version":3,"file":"toggle.js","names":["TogglePrimitive","Toggle$1","toggleVariants","cva","buttonColorVariants","props","variant","color","size","cn"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Toggle as TogglePrimitive } from 'radix-ui'\n\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-[state=on]:bg-muted data-[state=on]:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-[state=on]:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-[state=on]:bg-(--button-solid) data-[state=on]:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[state=on]:bg-(--button-ghost-hover) data-[state=on]:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({ className, variant = 'ghost', color = 'primary', size = 'md', ...props }: ToggleProps) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={cn(toggleVariants({ variant, color, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"6PAQA,MAAME,EAAiBC,EACrB,shBACA,CACE,SAAU,CACR,QAAS,CACP,UACE,uNACF,QACE,0OACF,MACE,oMACJ,EACA,MAAOC,EACP,KAAM,CACJ,GAAI,mCACJ,GAAI,mBACJ,GAAI,sBACN,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAIA,SAAS,OAAO,CAAE,YAAW,UAAU,QAAS,QAAQ,UAAW,OAAO,KAAM,GAAGC,GAAsB,CACvG,MACE,kBAACL,EAAgB,KAAjB,CACE,YAAU,SACV,eAAcM,EACd,aAAYC,EACZ,YAAWC,EACX,UAAWC,EAAGP,EAAe,CAAE,UAAS,QAAO,OAAM,WAAU,CAAC,CAAC,EACjE,GAAIG,CACL,CAAA,CAEL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Tooltip as t}from"radix-ui";import{jsx as n,jsxs as r}from"react/jsx-runtime";function TooltipProvider({delayDuration:e=0,...r}){return n(t.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...r})}function TooltipRoot({...e}){return n(t.Root,{"data-slot":`tooltip-root`,...e})}function Tooltip({label:e,children:t,disabled:i=!1,open:a,defaultOpen:o,onOpenChange:s,delayDuration:c,disableHoverableContent:l,...u}){return i?t
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Tooltip as t}from"radix-ui";import{jsx as n,jsxs as r}from"react/jsx-runtime";function TooltipProvider({delayDuration:e=0,...r}){return/* @__PURE__ */ n(t.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...r})}function TooltipRoot({...e}){return/* @__PURE__ */ n(t.Root,{"data-slot":`tooltip-root`,...e})}function Tooltip({label:e,children:t,disabled:i=!1,open:a,defaultOpen:o,onOpenChange:s,delayDuration:c,disableHoverableContent:l,...u}){return i?t:/* @__PURE__ */ r(TooltipRoot,{open:a,defaultOpen:o,onOpenChange:s,delayDuration:c,disableHoverableContent:l,children:[/* @__PURE__ */ n(TooltipTrigger,{asChild:!0,children:t}),/* @__PURE__ */ n(TooltipContent,{...u,children:e})]})}function TooltipTrigger({...e}){return/* @__PURE__ */ n(t.Trigger,{"data-slot":`tooltip-trigger`,...e})}function TooltipContent({className:i,sideOffset:a=0,children:o,...s}){return/* @__PURE__ */ n(t.Portal,{children:/* @__PURE__ */ r(t.Content,{"data-slot":`tooltip-content`,sideOffset:a,className:e(`bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--radix-tooltip-content-transform-origin)`,`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95`,`data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,i),...s,children:[o,/* @__PURE__ */ n(t.Arrow,{className:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]`})]})})}export{Tooltip,TooltipContent,TooltipProvider,TooltipRoot,TooltipTrigger};
|
|
2
2
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["TooltipPrimitive"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = React.ComponentProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Content>\n\nexport type TooltipProps = Omit<TooltipRootProps, 'children'> &\n Omit<TooltipContentProps, 'children'> & {\n children?: React.ReactNode\n label?: React.ReactNode\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipTrigger asChild>{children}</TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ ...props }: TooltipTriggerProps) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({ className, sideOffset = 0, children, ...props }: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--radix-tooltip-content-transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"kKAqBA,SAAS,gBAAgB,CAAE,gBAAgB,EAAG,
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["TooltipPrimitive","Tooltip$1","props","contentProps","disabled","children","label","cn","className"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = React.ComponentProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Content>\n\nexport type TooltipProps = Omit<TooltipRootProps, 'children'> &\n Omit<TooltipContentProps, 'children'> & {\n children?: React.ReactNode\n label?: React.ReactNode\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n delayDuration={delayDuration}\n disableHoverableContent={disableHoverableContent}\n >\n <TooltipTrigger asChild>{children}</TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ ...props }: TooltipTriggerProps) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({ className, sideOffset = 0, children, ...props }: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--radix-tooltip-content-transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"kKAqBA,SAAS,gBAAgB,CAAE,gBAAgB,EAAG,GAAGE,GAA+B,CAC9E,MAAO,kBAACF,EAAiB,SAAlB,CAA2B,YAAU,mBAAkC,gBAAe,GAAIE,CAAQ,CAAA,CAC3G,CAEA,SAAS,YAAY,CAAE,GAAGA,GAA2B,CACnD,MAAO,kBAACF,EAAiB,KAAlB,CAAuB,YAAU,eAAe,GAAIE,CAAQ,CAAA,CACrE,CAEA,SAAS,QAAQ,CACf,QACA,WACA,WAAW,GACX,OACA,cACA,eACA,gBACA,0BACA,GAAGC,GACY,CAKf,OAJIC,EACKC,EAIP,kBAAC,YAAD,CACQ,OACO,cACC,eACC,gBACU,0BAL3B,SAAA,CAOE,kBAAC,eAAD,CAAgB,QAAA,GAAS,UAAyB,CAAA,EAClD,kBAAC,eAAD,CAAgB,GAAIF,EAAe,SAAAG,CAAsB,CAAA,CAC9C,GAEjB,CAEA,SAAS,eAAe,CAAE,GAAGJ,GAA8B,CACzD,MAAO,kBAACF,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIE,CAAQ,CAAA,CAC3E,CAEA,SAAS,eAAe,CAAE,YAAW,aAAa,EAAG,WAAU,GAAGA,GAA8B,CAC9F,MACE,kBAACF,EAAiB,OAAlB,CAAA,SACE,kBAACA,EAAiB,QAAlB,CACE,YAAU,kBACE,aACZ,UAAWO,EACT,qIACA,8KACA,yEACA,8JACAC,CACF,EACA,GAAIN,EAVN,SAAA,CAYGG,EACD,kBAACL,EAAiB,MAAlB,CAAwB,UAAU,kGAAoG,CAAA,CAC9G,CACH,CAAA,CAAA,CAAA,CAE7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function UnstyledButton({className:r,type:i=`button`,asChild:a=!1,...o}){let s=a?t.Root:`button`;return n(s,{type:a?void 0:i,"data-slot":`unstyled-button`,className:e(`inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none`,`cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50`,`focus-visible:ring-3 focus-visible:ring-ring/50`,r),...o})}export{UnstyledButton};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function UnstyledButton({className:r,type:i=`button`,asChild:a=!1,...o}){let s=a?t.Root:`button`;return/* @__PURE__ */ n(s,{type:a?void 0:i,"data-slot":`unstyled-button`,className:e(`inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none`,`cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50`,`focus-visible:ring-3 focus-visible:ring-ring/50`,r),...o})}export{UnstyledButton};
|
|
2
2
|
//# sourceMappingURL=unstyled-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unstyled-button.js","names":[],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = React.ComponentProps<'button'> & {\n asChild?: boolean\n}\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n const Comp = asChild ? Slot.Root : 'button'\n\n return (\n <Comp\n type={!asChild ? type : undefined}\n data-slot=\"unstyled-button\"\n className={cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { UnstyledButton }\n"],"mappings":"qJAUA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,
|
|
1
|
+
{"version":3,"file":"unstyled-button.js","names":["props","Comp","asChild","Slot","type","cn","className"],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = React.ComponentProps<'button'> & {\n asChild?: boolean\n}\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n const Comp = asChild ? Slot.Root : 'button'\n\n return (\n <Comp\n type={!asChild ? type : undefined}\n data-slot=\"unstyled-button\"\n className={cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { UnstyledButton }\n"],"mappings":"qJAUA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,GAAGA,GAA8B,CACtG,IAAMC,EAAOC,EAAUC,EAAK,KAAO,SAEnC,MACE,kBAACF,EAAD,CACE,KAAOC,EAAiB,IAAA,GAAPE,EACjB,YAAU,kBACV,UAAWC,EACT,+HACA,8EACA,kDACAC,CACF,EACA,GAAIN,CACL,CAAA,CAEL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{useBreakpoint as e}from"../hooks/use-breakpoint.js";import{jsx as t}from"react/jsx-runtime";import{Activity as n}from"react";function HiddenFrom({breakpoint:r,children:i}){let a=e(r);return t(n,{mode:a?`hidden`:`visible`,children:i})}function VisibleFrom({breakpoint:r,children:i}){let a=e(r);return t(n,{mode:a?`visible`:`hidden`,children:i})}export{HiddenFrom,VisibleFrom};
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{useBreakpoint as e}from"../hooks/use-breakpoint.js";import{jsx as t}from"react/jsx-runtime";import{Activity as n}from"react";function HiddenFrom({breakpoint:r,children:i}){let a=e(r);return/* @__PURE__ */ t(n,{mode:a?`hidden`:`visible`,children:i})}function VisibleFrom({breakpoint:r,children:i}){let a=e(r);return/* @__PURE__ */ t(n,{mode:a?`visible`:`hidden`,children:i})}export{HiddenFrom,VisibleFrom};
|
|
2
2
|
//# sourceMappingURL=visibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.js","names":[],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"4KAWA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,
|
|
1
|
+
{"version":3,"file":"visibility.js","names":["isHidden","useBreakpoint","breakpoint","Activity","isVisible"],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"4KAWA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,IAAMA,EAAWC,EAAcC,CAAU,EAEzC,MAAO,kBAACC,EAAD,CAAU,KAAMH,EAAW,SAAW,UAAY,UAAmB,CAAA,CAC9E,CAOA,SAAS,YAAY,CAAE,aAAY,YAA8B,CAC/D,IAAMI,EAAYH,EAAcC,CAAU,EAE1C,MAAO,kBAACC,EAAD,CAAU,KAAMC,EAAY,UAAY,SAAW,UAAmB,CAAA,CAC/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-breakpoint-value.js","names":[],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"4FAKA,
|
|
1
|
+
{"version":3,"file":"use-breakpoint-value.js","names":["breakpointOrder","activeBreakpoints","useBreakpoint","value","values","breakpoint"],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"4FAKA,MAAMA,EAAkB,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAK,EAE9D,SAAgB,mBAAsB,EAA+B,CACnE,IAAMC,EAAoB,CACxB,KAAMC,EAAc,MAAM,EAC1B,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,MAAOA,EAAc,KAAK,CAC5B,EAEIC,EAAQC,EAAO,KAEnB,IAAK,IAAMC,KAAcL,EACnBC,EAAkBI,IAAeD,EAAOC,KAAgB,IAAA,KAC1D,EAAQD,EAAOC,IAInB,OAAOF,CACT"}
|