@kuzenbo/core 0.0.3 → 0.0.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/dist/provider.js +2 -0
- package/dist/size.js +2 -0
- package/dist/ui/alert-dialog.d.ts.map +1 -1
- package/dist/ui/alert-dialog.js +2 -0
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +2 -0
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +2 -0
- package/dist/ui/autocomplete.js.map +1 -1
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/badge.js +2 -0
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +2 -0
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/button-group.d.ts.map +1 -1
- package/dist/ui/button-group.js +2 -0
- package/dist/ui/button-group.js.map +1 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +2 -0
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/checkbox-group.d.ts.map +1 -1
- package/dist/ui/checkbox-group.js +2 -0
- package/dist/ui/checkbox-group.js.map +1 -1
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +2 -0
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/context-menu.d.ts.map +1 -1
- package/dist/ui/context-menu.js +2 -0
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/ui/dropdown-menu.js +2 -0
- package/dist/ui/dropdown-menu.js.map +1 -1
- package/dist/ui/empty.d.ts.map +1 -1
- package/dist/ui/empty.js +2 -0
- package/dist/ui/empty.js.map +1 -1
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +2 -0
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/item.d.ts.map +1 -1
- package/dist/ui/item.js +2 -0
- package/dist/ui/item.js.map +1 -1
- package/dist/ui/kbd.d.ts.map +1 -1
- package/dist/ui/kbd.js +2 -0
- package/dist/ui/kbd.js.map +1 -1
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +2 -0
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/meter.d.ts.map +1 -1
- package/dist/ui/meter.js +2 -0
- package/dist/ui/meter.js.map +1 -1
- package/dist/ui/navigation-list.d.ts.map +1 -1
- package/dist/ui/navigation-list.js +2 -0
- package/dist/ui/navigation-list.js.map +1 -1
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +2 -0
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/number-field.d.ts.map +1 -1
- package/dist/ui/number-field.js +2 -0
- package/dist/ui/number-field.js.map +1 -1
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +2 -0
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/radio-group.d.ts.map +1 -1
- package/dist/ui/radio-group.js +2 -0
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/scroll-area.d.ts.map +1 -1
- package/dist/ui/scroll-area.js +2 -0
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/separator.d.ts.map +1 -1
- package/dist/ui/separator.js +2 -0
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +2 -0
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +2 -0
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +2 -0
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/textarea.d.ts.map +1 -1
- package/dist/ui/textarea.js +2 -0
- package/dist/ui/textarea.js.map +1 -1
- package/dist/ui/timeline.d.ts.map +1 -1
- package/dist/ui/timeline.js +2 -0
- package/dist/ui/timeline.js.map +1 -1
- package/dist/ui/toggle.d.ts.map +1 -1
- package/dist/ui/toggle.js +2 -0
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toolbar.d.ts.map +1 -1
- package/dist/ui/toolbar.js +2 -0
- package/dist/ui/toolbar.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-field.js","names":["getNumberFieldStepperIconSize","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField"],"sources":["../../src/ui/number-field/number-field-context.tsx","../../src/ui/number-field/number-field-decrement.tsx","../../src/ui/number-field/number-field-group.tsx","../../src/ui/number-field/number-field-increment.tsx","../../src/ui/number-field/number-field-input.tsx","../../src/ui/number-field/number-field-scrub-area.tsx","../../src/ui/number-field/number-field-scrub-area-cursor.tsx","../../src/ui/number-field/number-field.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NumberFieldContextValue {\n size?: InputSize;\n}\n\nconst NumberFieldContext = createContext<NumberFieldContextValue>({\n size: \"md\",\n});\n\nexport { NumberFieldContext };\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldDecrementProps = ComponentProps<\n typeof BaseNumberField.Decrement\n> &\n VariantProps<typeof numberFieldDecrementVariants>;\n\nconst numberFieldDecrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-l-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-l-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-l-md\",\n lg: \"size-10 rounded-l-md\",\n xl: \"size-11 rounded-l-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldDecrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldDecrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Decrement\n className={mergeBaseUIClassName(\n numberFieldDecrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={MinusSignIcon}\n />\n )}\n </BaseNumberField.Decrement>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldGroupProps = ComponentProps<\n typeof BaseNumberField.Group\n>;\n\nexport const NumberFieldGroup = ({\n className,\n ...props\n}: NumberFieldGroupProps) => (\n <BaseNumberField.Group\n className={mergeBaseUIClassName(\n \"flex rounded-md text-foreground shadow-xs transition-shadow focus-within:ring-[3px] focus-within:ring-ring/30\",\n className\n )}\n data-slot=\"number-field-group\"\n {...props}\n />\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { Add01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldIncrementProps = ComponentProps<\n typeof BaseNumberField.Increment\n> &\n VariantProps<typeof numberFieldIncrementVariants>;\n\nconst numberFieldIncrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-r-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-r-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-r-md\",\n lg: \"size-10 rounded-r-md\",\n xl: \"size-11 rounded-r-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldIncrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldIncrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Increment\n className={mergeBaseUIClassName(\n numberFieldIncrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-increment\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={Add01Icon}\n />\n )}\n </BaseNumberField.Increment>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nconst numberFieldInputVariants = tv({\n base: \"w-20 border-y border-input bg-background text-center tabular-nums text-foreground transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"h-6 text-xs\",\n sm: \"h-8 text-sm\",\n md: \"h-9 text-sm\",\n lg: \"h-10 text-sm\",\n xl: \"h-11 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype NativeNumberFieldInputProps = ComponentProps<typeof BaseNumberField.Input>;\ntype NativeNumberFieldInputSize = NativeNumberFieldInputProps[\"size\"];\n\nexport type NumberFieldInputProps = Omit<NativeNumberFieldInputProps, \"size\"> &\n VariantProps<typeof numberFieldInputVariants> & {\n htmlSize?: NativeNumberFieldInputSize;\n };\n\nexport const NumberFieldInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: NumberFieldInputProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Input\n className={mergeBaseUIClassName(\n numberFieldInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaProps = ComponentProps<\n typeof BaseNumberField.ScrubArea\n>;\n\nexport const NumberFieldScrubArea = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaProps) => (\n <BaseNumberField.ScrubArea\n className={mergeBaseUIClassName(\"cursor-ew-resize\", className)}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n {children}\n </BaseNumberField.ScrubArea>\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { ArrowHorizontalIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaCursorProps = ComponentProps<\n typeof BaseNumberField.ScrubAreaCursor\n>;\n\nexport const NumberFieldScrubAreaCursor = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaCursorProps) => (\n <BaseNumberField.ScrubAreaCursor\n className={mergeBaseUIClassName(\"drop-shadow-sm filter\", className)}\n data-slot=\"number-field-scrub-area-cursor\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon className=\"size-4.5\" icon={ArrowHorizontalIcon} />\n )}\n </BaseNumberField.ScrubAreaCursor>\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { NumberFieldContext } from \"./number-field-context\";\nimport { NumberFieldDecrement } from \"./number-field-decrement\";\nimport { NumberFieldGroup } from \"./number-field-group\";\nimport { NumberFieldIncrement } from \"./number-field-increment\";\nimport { NumberFieldInput } from \"./number-field-input\";\nimport { NumberFieldScrubArea } from \"./number-field-scrub-area\";\nimport { NumberFieldScrubAreaCursor } from \"./number-field-scrub-area-cursor\";\n\nexport type NumberFieldProps = ComponentProps<typeof BaseNumberField.Root> & {\n size?: InputSize;\n};\n\nconst NumberField = ({\n className,\n children,\n size: providedSize,\n ...props\n}: NumberFieldProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <NumberFieldContext.Provider value={{ size }}>\n <BaseNumberField.Root\n className={mergeBaseUIClassName(\n \"flex flex-col items-start gap-1\",\n className\n )}\n data-size={size}\n data-slot=\"number-field\"\n {...props}\n >\n {children}\n </BaseNumberField.Root>\n </NumberFieldContext.Provider>\n );\n};\n\nNumberField.Decrement = NumberFieldDecrement;\nNumberField.Group = NumberFieldGroup;\nNumberField.Increment = NumberFieldIncrement;\nNumberField.Input = NumberFieldInput;\nNumberField.ScrubArea = NumberFieldScrubArea;\nNumberField.ScrubAreaCursor = NumberFieldScrubAreaCursor;\n\nexport type { NumberFieldDecrementProps } from \"./number-field-decrement\";\nexport type { NumberFieldGroupProps } from \"./number-field-group\";\nexport type { NumberFieldIncrementProps } from \"./number-field-increment\";\nexport type { NumberFieldInputProps } from \"./number-field-input\";\nexport type { NumberFieldScrubAreaProps } from \"./number-field-scrub-area\";\nexport type { NumberFieldScrubAreaCursorProps } from \"./number-field-scrub-area-cursor\";\n\nexport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea,\n NumberFieldScrubAreaCursor,\n};\n"],"mappings":";;;;;;;;;;AAUA,MAAM,qBAAqB,cAAuC,EAChE,MAAM,MACP,CAAC;;;;ACMF,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAMA,mCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,cAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAMD,gCAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;ACjEhC,MAAa,oBAAoB,EAC/B,WACA,GAAG,YAEH,oBAACE,cAAgB;CACf,WAAW,qBACT,iHACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACHJ,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAM,iCAAiC,SAAoB;AACzD,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAa,wBAAwB,EACnC,WACA,UACA,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,cAAgB;EACf,WAAW,qBACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GACC,MAAM,8BAA8B,aAAa;GACjD,MAAM;IACN;GAEsB;;;;;AClEhC,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAUF,MAAa,oBAAoB,EAC/B,WACA,UACA,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,gBAAgB,WAAW,mBAAmB;CAC5D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAACC,cAAgB;EACf,WAAW,qBACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAM;EACN,GAAI;GACJ;;;;;AC1CN,MAAa,wBAAwB,EACnC,WACA,UACA,GAAG,YAEH,oBAACC,cAAgB;CACf,WAAW,qBAAqB,oBAAoB,UAAU;CAC9D,aAAU;CACV,GAAI;CAEH;EACyB;;;;ACT9B,MAAa,8BAA8B,EACzC,WACA,UACA,GAAG,YAEH,oBAACC,cAAgB;CACf,WAAW,qBAAqB,yBAAyB,UAAU;CACnE,aAAU;CACV,GAAI;WAEH,YACC,oBAAC;EAAc,WAAU;EAAW,MAAM;GAAuB;EAEnC;;;;ACLpC,MAAM,eAAe,EACnB,WACA,UACA,MAAM,cACN,GAAG,YACmB;CACtB,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC,mBAAmB;EAAS,OAAO,EAAE,MAAM;YAC1C,oBAACC,cAAgB;GACf,WAAW,qBACT,mCACA,UACD;GACD,aAAW;GACX,aAAU;GACV,GAAI;GAEH;IACoB;GACK;;AAIlC,YAAY,YAAY;AACxB,YAAY,QAAQ;AACpB,YAAY,YAAY;AACxB,YAAY,QAAQ;AACpB,YAAY,YAAY;AACxB,YAAY,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"number-field.js","names":["getNumberFieldStepperIconSize","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField","BaseNumberField"],"sources":["../../src/ui/number-field/number-field-context.tsx","../../src/ui/number-field/number-field-decrement.tsx","../../src/ui/number-field/number-field-group.tsx","../../src/ui/number-field/number-field-increment.tsx","../../src/ui/number-field/number-field-input.tsx","../../src/ui/number-field/number-field-scrub-area.tsx","../../src/ui/number-field/number-field-scrub-area-cursor.tsx","../../src/ui/number-field/number-field.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface NumberFieldContextValue {\n size?: InputSize;\n}\n\nconst NumberFieldContext = createContext<NumberFieldContextValue>({\n size: \"md\",\n});\n\nexport { NumberFieldContext };\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { MinusSignIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldDecrementProps = ComponentProps<\n typeof BaseNumberField.Decrement\n> &\n VariantProps<typeof numberFieldDecrementVariants>;\n\nconst numberFieldDecrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-l-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-l-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-l-md\",\n lg: \"size-10 rounded-l-md\",\n xl: \"size-11 rounded-l-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldDecrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldDecrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Decrement\n className={mergeBaseUIClassName(\n numberFieldDecrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={MinusSignIcon}\n />\n )}\n </BaseNumberField.Decrement>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldGroupProps = ComponentProps<\n typeof BaseNumberField.Group\n>;\n\nexport const NumberFieldGroup = ({\n className,\n ...props\n}: NumberFieldGroupProps) => (\n <BaseNumberField.Group\n className={mergeBaseUIClassName(\n \"flex rounded-md text-foreground shadow-xs transition-shadow focus-within:ring-[3px] focus-within:ring-ring/30\",\n className\n )}\n data-slot=\"number-field-group\"\n {...props}\n />\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { Add01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nexport type NumberFieldIncrementProps = ComponentProps<\n typeof BaseNumberField.Increment\n> &\n VariantProps<typeof numberFieldIncrementVariants>;\n\nconst numberFieldIncrementVariants = tv({\n base: \"flex cursor-pointer items-center justify-center border border-input bg-muted text-foreground transition-colors select-none hover:border-ring/70 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"size-6 rounded-r-[min(var(--radius-md),8px)]\",\n sm: \"size-8 rounded-r-[min(var(--radius-md),10px)]\",\n md: \"size-9 rounded-r-md\",\n lg: \"size-10 rounded-r-md\",\n xl: \"size-11 rounded-r-md\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst getNumberFieldStepperIconSize = (size: InputSize) => {\n if (size === \"xs\") {\n return 12;\n }\n\n if (size === \"lg\") {\n return 15;\n }\n\n if (size === \"xl\") {\n return 16;\n }\n\n return 14;\n};\n\nexport const NumberFieldIncrement = ({\n className,\n children,\n size,\n ...props\n}: NumberFieldIncrementProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Increment\n className={mergeBaseUIClassName(\n numberFieldIncrementVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-increment\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon\n size={getNumberFieldStepperIconSize(resolvedSize)}\n icon={Add01Icon}\n />\n )}\n </BaseNumberField.Increment>\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { useContext } from \"react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { NumberFieldContext } from \"./number-field-context\";\n\nconst numberFieldInputVariants = tv({\n base: \"w-20 border-y border-input bg-background text-center tabular-nums text-foreground transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n size: {\n xs: \"h-6 text-xs\",\n sm: \"h-8 text-sm\",\n md: \"h-9 text-sm\",\n lg: \"h-10 text-sm\",\n xl: \"h-11 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype NativeNumberFieldInputProps = ComponentProps<typeof BaseNumberField.Input>;\ntype NativeNumberFieldInputSize = NativeNumberFieldInputProps[\"size\"];\n\nexport type NumberFieldInputProps = Omit<NativeNumberFieldInputProps, \"size\"> &\n VariantProps<typeof numberFieldInputVariants> & {\n htmlSize?: NativeNumberFieldInputSize;\n };\n\nexport const NumberFieldInput = ({\n className,\n htmlSize,\n size,\n ...props\n}: NumberFieldInputProps) => {\n const { size: contextSize } = useContext(NumberFieldContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <BaseNumberField.Input\n className={mergeBaseUIClassName(\n numberFieldInputVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"number-field-input\"\n size={htmlSize}\n {...props}\n />\n );\n};\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaProps = ComponentProps<\n typeof BaseNumberField.ScrubArea\n>;\n\nexport const NumberFieldScrubArea = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaProps) => (\n <BaseNumberField.ScrubArea\n className={mergeBaseUIClassName(\"cursor-ew-resize\", className)}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n {children}\n </BaseNumberField.ScrubArea>\n);\n","import type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\nimport { ArrowHorizontalIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type NumberFieldScrubAreaCursorProps = ComponentProps<\n typeof BaseNumberField.ScrubAreaCursor\n>;\n\nexport const NumberFieldScrubAreaCursor = ({\n className,\n children,\n ...props\n}: NumberFieldScrubAreaCursorProps) => (\n <BaseNumberField.ScrubAreaCursor\n className={mergeBaseUIClassName(\"drop-shadow-sm filter\", className)}\n data-slot=\"number-field-scrub-area-cursor\"\n {...props}\n >\n {children ?? (\n <HugeiconsIcon className=\"size-4.5\" icon={ArrowHorizontalIcon} />\n )}\n </BaseNumberField.ScrubAreaCursor>\n);\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { NumberField as BaseNumberField } from \"@base-ui/react/number-field\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { NumberFieldContext } from \"./number-field-context\";\nimport { NumberFieldDecrement } from \"./number-field-decrement\";\nimport { NumberFieldGroup } from \"./number-field-group\";\nimport { NumberFieldIncrement } from \"./number-field-increment\";\nimport { NumberFieldInput } from \"./number-field-input\";\nimport { NumberFieldScrubArea } from \"./number-field-scrub-area\";\nimport { NumberFieldScrubAreaCursor } from \"./number-field-scrub-area-cursor\";\n\nexport type NumberFieldProps = ComponentProps<typeof BaseNumberField.Root> & {\n size?: InputSize;\n};\n\nconst NumberField = ({\n className,\n children,\n size: providedSize,\n ...props\n}: NumberFieldProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <NumberFieldContext.Provider value={{ size }}>\n <BaseNumberField.Root\n className={mergeBaseUIClassName(\n \"flex flex-col items-start gap-1\",\n className\n )}\n data-size={size}\n data-slot=\"number-field\"\n {...props}\n >\n {children}\n </BaseNumberField.Root>\n </NumberFieldContext.Provider>\n );\n};\n\nNumberField.Decrement = NumberFieldDecrement;\nNumberField.Group = NumberFieldGroup;\nNumberField.Increment = NumberFieldIncrement;\nNumberField.Input = NumberFieldInput;\nNumberField.ScrubArea = NumberFieldScrubArea;\nNumberField.ScrubAreaCursor = NumberFieldScrubAreaCursor;\n\nexport type { NumberFieldDecrementProps } from \"./number-field-decrement\";\nexport type { NumberFieldGroupProps } from \"./number-field-group\";\nexport type { NumberFieldIncrementProps } from \"./number-field-increment\";\nexport type { NumberFieldInputProps } from \"./number-field-input\";\nexport type { NumberFieldScrubAreaProps } from \"./number-field-scrub-area\";\nexport type { NumberFieldScrubAreaCursorProps } from \"./number-field-scrub-area-cursor\";\n\nexport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea,\n NumberFieldScrubAreaCursor,\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","names":[],"sources":["../../src/ui/pagination/pagination-content.tsx","../../src/ui/pagination/pagination-ellipsis.tsx","../../src/ui/pagination/pagination-item.tsx","../../src/ui/pagination/pagination-link.tsx","../../src/ui/pagination/pagination-next.tsx","../../src/ui/pagination/pagination-previous.tsx","../../src/ui/pagination/pagination.tsx"],"mappings":";;;;;;;cAQM,yBAAA,EAcJ,kBAAA,CAd6B,YAAA;;;;;;;;;;;;;;;;cAc7B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,6BAAA,GAAgC,IAAA,CACnC,YAAA,QAAoB,yBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,sBAAA,GAAyB,cAAA,SACnC,6BAAA;AAAA,cAEI,iBAAA;EAAqB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIxB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BnB,0BAAA,EAgCJ,kBAAA,CAhC8B,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgC9B,kBAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEG,8BAAA,GAAiC,IAAA,CACpC,YAAA,QAAoB,0BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,uBAAA,GAA0B,cAAA,WACpC,8BAAA;AAAA,cAEI,kBAAA;EAAsB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCzDd,mBAAA,GAAsB,cAAA;AAAA,cAE5B,cAAA;EAAA,GAAkB;AAAA,GAAc,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCMpD,mBAAA;EACH,IAAA;EACA,QAAA;EACA,IAAA,GAAO,MAAA;AAAA,IACL,cAAA;AAAA,cAoBE,cAAA;EAAkB,IAAA;EAAA,SAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAMrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BhB,sBAAA,EAaJ,kBAAA,CAb0B,YAAA;;;;;;;;;;;;;;;;cAa1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,IAAA,CAChC,cAAA,QAAsB,cAAA,aAGtB,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BpE,0BAAA,EAaJ,kBAAA,CAb8B,YAAA;;;;;;;;;;;;;;;;cAa9B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,8BAAA,GAAiC,IAAA,CACpC,YAAA,QAAoB,0BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,uBAAA,GAA0B,IAAA,CACpC,cAAA,QAAsB,cAAA,aAGtB,8BAAA;AAAA,cAEI,kBAAA;EAAsB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","names":[],"sources":["../../src/ui/pagination/pagination-content.tsx","../../src/ui/pagination/pagination-ellipsis.tsx","../../src/ui/pagination/pagination-item.tsx","../../src/ui/pagination/pagination-link.tsx","../../src/ui/pagination/pagination-next.tsx","../../src/ui/pagination/pagination-previous.tsx","../../src/ui/pagination/pagination.tsx"],"mappings":";;;;;;;cAQM,yBAAA,EAcJ,kBAAA,CAd6B,YAAA;;;;;;;;;;;;;;;;cAc7B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,6BAAA,GAAgC,IAAA,CACnC,YAAA,QAAoB,yBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,sBAAA,GAAyB,cAAA,SACnC,6BAAA;AAAA,cAEI,iBAAA;EAAqB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIxB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BnB,0BAAA,EAgCJ,kBAAA,CAhC8B,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgC9B,kBAAA,CAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEG,8BAAA,GAAiC,IAAA,CACpC,YAAA,QAAoB,0BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,uBAAA,GAA0B,cAAA,WACpC,8BAAA;AAAA,cAEI,kBAAA;EAAsB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCzDd,mBAAA,GAAsB,cAAA;AAAA,cAE5B,cAAA;EAAA,GAAkB;AAAA,GAAc,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCMpD,mBAAA;EACH,IAAA;EACA,QAAA;EACA,IAAA,GAAO,MAAA;AAAA,IACL,cAAA;AAAA,cAoBE,cAAA;EAAkB,IAAA;EAAA,SAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAMrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BhB,sBAAA,EAaJ,kBAAA,CAb0B,YAAA;;;;;;;;;;;;;;;;cAa1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,IAAA,CAChC,cAAA,QAAsB,cAAA,aAGtB,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC5BpE,0BAAA,EAaJ,kBAAA,CAb8B,YAAA;;;;;;;;;;;;;;;;cAa9B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,8BAAA,GAAiC,IAAA,CACpC,YAAA,QAAoB,0BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,uBAAA,GAA0B,IAAA,CACpC,cAAA,QAAsB,cAAA,aAGtB,8BAAA;AAAA,cAEI,kBAAA;EAAsB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KC3Bd,eAAA,GAAkB,cAAA;EAC5B,IAAA,GAAO,MAAA;AAAA;AAAA,cAGH,UAAA;EAAA;;;;KAIH,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/pagination.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","names":[],"sources":["../../src/ui/pagination/pagination-size-context.ts","../../src/ui/pagination/pagination-content.tsx","../../src/ui/pagination/pagination-ellipsis.tsx","../../src/ui/pagination/pagination-item.tsx","../../src/ui/pagination/pagination-link.tsx","../../src/ui/pagination/pagination-next.tsx","../../src/ui/pagination/pagination-previous.tsx","../../src/ui/pagination/pagination.tsx"],"sourcesContent":["import { createSizeContext } from \"../shared/size/size-context\";\n\nconst {\n SizeContext: PaginationSizeContext,\n useResolvedSize: useResolvedPaginationSize,\n} = createSizeContext();\n\nexport { PaginationSizeContext, useResolvedPaginationSize };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationContentVariants = tv({\n base: \"flex items-center\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-0.5\",\n lg: \"gap-1\",\n xl: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationContentVariantProps = Omit<\n VariantProps<typeof paginationContentVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationContentProps = ComponentProps<\"ul\"> &\n PaginationContentVariantProps;\n\nconst PaginationContent = ({\n className,\n size,\n ...props\n}: PaginationContentProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <ul\n className={cn(\n paginationContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"pagination-content\"\n {...props}\n />\n );\n};\n\nexport { PaginationContent };\n","import type { ComponentProps } from \"react\";\n\nimport { MoreHorizontalCircle01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationEllipsisVariants = tv({\n slots: {\n icon: \"\",\n root: \"flex items-center justify-center\",\n },\n variants: {\n size: {\n xs: {\n icon: \"size-3\",\n root: \"size-6\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"size-7\",\n },\n md: {\n icon: \"size-4\",\n root: \"size-8\",\n },\n lg: {\n icon: \"size-4\",\n root: \"size-9\",\n },\n xl: {\n icon: \"size-5\",\n root: \"size-10\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationEllipsisVariantProps = Omit<\n VariantProps<typeof paginationEllipsisVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationEllipsisProps = ComponentProps<\"span\"> &\n PaginationEllipsisVariantProps;\n\nconst PaginationEllipsis = ({\n className,\n size,\n ...props\n}: PaginationEllipsisProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n const { icon, root } = paginationEllipsisVariants({ size: resolvedSize });\n\n return (\n <span\n aria-hidden\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <HugeiconsIcon\n className={icon()}\n icon={MoreHorizontalCircle01Icon}\n strokeWidth={2}\n />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n};\n\nexport { PaginationEllipsis };\n","import type { ComponentProps } from \"react\";\nexport type PaginationItemProps = ComponentProps<\"li\">;\n\nconst PaginationItem = ({ ...props }: PaginationItemProps) => (\n <li data-slot=\"pagination-item\" {...props} />\n);\n\nexport { PaginationItem };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { Button, type ButtonProps } from \"../button/button\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\ntype PaginationLinkProps = {\n kind?: \"default\" | \"icon\";\n isActive?: boolean;\n size?: UISize;\n} & ComponentProps<\"a\">;\n\nconst PAGINATION_ICON_BUTTON_SIZE_BY_SIZE: Record<UISize, ButtonProps[\"size\"]> =\n {\n xs: \"icon-xs\",\n sm: \"icon-sm\",\n md: \"icon\",\n lg: \"icon-lg\",\n xl: \"icon-xl\",\n };\n\nconst PAGINATION_TEXT_BUTTON_SIZE_BY_SIZE: Record<UISize, ButtonProps[\"size\"]> =\n {\n xs: \"xs\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"xl\",\n };\n\nconst PaginationLink = ({\n kind = \"icon\",\n className,\n isActive,\n size,\n ...props\n}: PaginationLinkProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n const buttonSize =\n kind === \"icon\"\n ? PAGINATION_ICON_BUTTON_SIZE_BY_SIZE[resolvedSize]\n : PAGINATION_TEXT_BUTTON_SIZE_BY_SIZE[resolvedSize];\n\n return (\n <Button\n className={cn(className)}\n data-size={resolvedSize}\n nativeButton={false}\n render={\n <a\n aria-current={isActive ? \"page\" : undefined}\n aria-label=\"pagination link\"\n data-active={isActive}\n data-size={resolvedSize}\n data-slot=\"pagination-link\"\n {...props}\n />\n }\n size={buttonSize}\n variant={isActive ? \"outline\" : \"ghost\"}\n />\n );\n};\n\nexport { PaginationLink };\nexport type { PaginationLinkProps };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { PaginationLink } from \"./pagination-link\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationNextVariants = tv({\n variants: {\n size: {\n xs: \"pr-1!\",\n sm: \"pr-1!\",\n md: \"pr-1.5!\",\n lg: \"pr-2!\",\n xl: \"pr-2.5!\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationNextVariantProps = Omit<\n VariantProps<typeof paginationNextVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationNextProps = Omit<\n ComponentProps<typeof PaginationLink>,\n \"size\"\n> &\n PaginationNextVariantProps;\n\nconst PaginationNext = ({ className, size, ...props }: PaginationNextProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cn(paginationNextVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n kind=\"default\"\n size={resolvedSize}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <HugeiconsIcon\n data-icon=\"inline-end\"\n icon={ArrowRight01Icon}\n strokeWidth={2}\n />\n </PaginationLink>\n );\n};\n\nexport { PaginationNext };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { PaginationLink } from \"./pagination-link\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationPreviousVariants = tv({\n variants: {\n size: {\n xs: \"pl-1!\",\n sm: \"pl-1!\",\n md: \"pl-1.5!\",\n lg: \"pl-2!\",\n xl: \"pl-2.5!\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationPreviousVariantProps = Omit<\n VariantProps<typeof paginationPreviousVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationPreviousProps = Omit<\n ComponentProps<typeof PaginationLink>,\n \"size\"\n> &\n PaginationPreviousVariantProps;\n\nconst PaginationPrevious = ({\n className,\n size,\n ...props\n}: PaginationPreviousProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cn(\n paginationPreviousVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n kind=\"default\"\n size={resolvedSize}\n {...props}\n >\n <HugeiconsIcon\n data-icon=\"inline-start\"\n icon={ArrowLeft01Icon}\n strokeWidth={2}\n />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n};\n\nexport { PaginationPrevious };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { PaginationContent } from \"./pagination-content\";\nimport { PaginationEllipsis } from \"./pagination-ellipsis\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { PaginationLink } from \"./pagination-link\";\nimport { PaginationNext } from \"./pagination-next\";\nimport { PaginationPrevious } from \"./pagination-previous\";\nimport { PaginationSizeContext } from \"./pagination-size-context\";\nexport type PaginationProps = ComponentProps<\"nav\"> & {\n size?: UISize;\n};\n\nconst Pagination = ({\n className,\n size: providedSize,\n ...props\n}: PaginationProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <PaginationSizeContext.Provider value={{ size }}>\n <nav\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n data-size={size}\n data-slot=\"pagination\"\n {...props}\n />\n </PaginationSizeContext.Provider>\n );\n};\n\nPagination.Content = PaginationContent;\nPagination.Ellipsis = PaginationEllipsis;\nPagination.Item = PaginationItem;\nPagination.Link = PaginationLink;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n\nexport type { PaginationContentProps } from \"./pagination-content\";\nexport type { PaginationEllipsisProps } from \"./pagination-ellipsis\";\nexport type { PaginationItemProps } from \"./pagination-item\";\nexport type { PaginationLinkProps } from \"./pagination-link\";\nexport type { PaginationNextProps } from \"./pagination-next\";\nexport type { PaginationPreviousProps } from \"./pagination-previous\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.js","names":[],"sources":["../../src/ui/pagination/pagination-size-context.ts","../../src/ui/pagination/pagination-content.tsx","../../src/ui/pagination/pagination-ellipsis.tsx","../../src/ui/pagination/pagination-item.tsx","../../src/ui/pagination/pagination-link.tsx","../../src/ui/pagination/pagination-next.tsx","../../src/ui/pagination/pagination-previous.tsx","../../src/ui/pagination/pagination.tsx"],"sourcesContent":["import { createSizeContext } from \"../shared/size/size-context\";\n\nconst {\n SizeContext: PaginationSizeContext,\n useResolvedSize: useResolvedPaginationSize,\n} = createSizeContext();\n\nexport { PaginationSizeContext, useResolvedPaginationSize };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationContentVariants = tv({\n base: \"flex items-center\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-0.5\",\n lg: \"gap-1\",\n xl: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationContentVariantProps = Omit<\n VariantProps<typeof paginationContentVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationContentProps = ComponentProps<\"ul\"> &\n PaginationContentVariantProps;\n\nconst PaginationContent = ({\n className,\n size,\n ...props\n}: PaginationContentProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <ul\n className={cn(\n paginationContentVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"pagination-content\"\n {...props}\n />\n );\n};\n\nexport { PaginationContent };\n","import type { ComponentProps } from \"react\";\n\nimport { MoreHorizontalCircle01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationEllipsisVariants = tv({\n slots: {\n icon: \"\",\n root: \"flex items-center justify-center\",\n },\n variants: {\n size: {\n xs: {\n icon: \"size-3\",\n root: \"size-6\",\n },\n sm: {\n icon: \"size-3.5\",\n root: \"size-7\",\n },\n md: {\n icon: \"size-4\",\n root: \"size-8\",\n },\n lg: {\n icon: \"size-4\",\n root: \"size-9\",\n },\n xl: {\n icon: \"size-5\",\n root: \"size-10\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationEllipsisVariantProps = Omit<\n VariantProps<typeof paginationEllipsisVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationEllipsisProps = ComponentProps<\"span\"> &\n PaginationEllipsisVariantProps;\n\nconst PaginationEllipsis = ({\n className,\n size,\n ...props\n}: PaginationEllipsisProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n const { icon, root } = paginationEllipsisVariants({ size: resolvedSize });\n\n return (\n <span\n aria-hidden\n className={cn(root(), className)}\n data-size={resolvedSize}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <HugeiconsIcon\n className={icon()}\n icon={MoreHorizontalCircle01Icon}\n strokeWidth={2}\n />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n};\n\nexport { PaginationEllipsis };\n","import type { ComponentProps } from \"react\";\nexport type PaginationItemProps = ComponentProps<\"li\">;\n\nconst PaginationItem = ({ ...props }: PaginationItemProps) => (\n <li data-slot=\"pagination-item\" {...props} />\n);\n\nexport { PaginationItem };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { Button, type ButtonProps } from \"../button/button\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\ntype PaginationLinkProps = {\n kind?: \"default\" | \"icon\";\n isActive?: boolean;\n size?: UISize;\n} & ComponentProps<\"a\">;\n\nconst PAGINATION_ICON_BUTTON_SIZE_BY_SIZE: Record<UISize, ButtonProps[\"size\"]> =\n {\n xs: \"icon-xs\",\n sm: \"icon-sm\",\n md: \"icon\",\n lg: \"icon-lg\",\n xl: \"icon-xl\",\n };\n\nconst PAGINATION_TEXT_BUTTON_SIZE_BY_SIZE: Record<UISize, ButtonProps[\"size\"]> =\n {\n xs: \"xs\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"xl\",\n };\n\nconst PaginationLink = ({\n kind = \"icon\",\n className,\n isActive,\n size,\n ...props\n}: PaginationLinkProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n const buttonSize =\n kind === \"icon\"\n ? PAGINATION_ICON_BUTTON_SIZE_BY_SIZE[resolvedSize]\n : PAGINATION_TEXT_BUTTON_SIZE_BY_SIZE[resolvedSize];\n\n return (\n <Button\n className={cn(className)}\n data-size={resolvedSize}\n nativeButton={false}\n render={\n <a\n aria-current={isActive ? \"page\" : undefined}\n aria-label=\"pagination link\"\n data-active={isActive}\n data-size={resolvedSize}\n data-slot=\"pagination-link\"\n {...props}\n />\n }\n size={buttonSize}\n variant={isActive ? \"outline\" : \"ghost\"}\n />\n );\n};\n\nexport { PaginationLink };\nexport type { PaginationLinkProps };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { PaginationLink } from \"./pagination-link\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationNextVariants = tv({\n variants: {\n size: {\n xs: \"pr-1!\",\n sm: \"pr-1!\",\n md: \"pr-1.5!\",\n lg: \"pr-2!\",\n xl: \"pr-2.5!\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationNextVariantProps = Omit<\n VariantProps<typeof paginationNextVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationNextProps = Omit<\n ComponentProps<typeof PaginationLink>,\n \"size\"\n> &\n PaginationNextVariantProps;\n\nconst PaginationNext = ({ className, size, ...props }: PaginationNextProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cn(paginationNextVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n kind=\"default\"\n size={resolvedSize}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <HugeiconsIcon\n data-icon=\"inline-end\"\n icon={ArrowRight01Icon}\n strokeWidth={2}\n />\n </PaginationLink>\n );\n};\n\nexport { PaginationNext };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { PaginationLink } from \"./pagination-link\";\nimport { useResolvedPaginationSize } from \"./pagination-size-context\";\n\nconst paginationPreviousVariants = tv({\n variants: {\n size: {\n xs: \"pl-1!\",\n sm: \"pl-1!\",\n md: \"pl-1.5!\",\n lg: \"pl-2!\",\n xl: \"pl-2.5!\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype PaginationPreviousVariantProps = Omit<\n VariantProps<typeof paginationPreviousVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type PaginationPreviousProps = Omit<\n ComponentProps<typeof PaginationLink>,\n \"size\"\n> &\n PaginationPreviousVariantProps;\n\nconst PaginationPrevious = ({\n className,\n size,\n ...props\n}: PaginationPreviousProps) => {\n const resolvedSize = useResolvedPaginationSize(size);\n\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cn(\n paginationPreviousVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n kind=\"default\"\n size={resolvedSize}\n {...props}\n >\n <HugeiconsIcon\n data-icon=\"inline-start\"\n icon={ArrowLeft01Icon}\n strokeWidth={2}\n />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n};\n\nexport { PaginationPrevious };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { PaginationContent } from \"./pagination-content\";\nimport { PaginationEllipsis } from \"./pagination-ellipsis\";\nimport { PaginationItem } from \"./pagination-item\";\nimport { PaginationLink } from \"./pagination-link\";\nimport { PaginationNext } from \"./pagination-next\";\nimport { PaginationPrevious } from \"./pagination-previous\";\nimport { PaginationSizeContext } from \"./pagination-size-context\";\nexport type PaginationProps = ComponentProps<\"nav\"> & {\n size?: UISize;\n};\n\nconst Pagination = ({\n className,\n size: providedSize,\n ...props\n}: PaginationProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <PaginationSizeContext.Provider value={{ size }}>\n <nav\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n data-size={size}\n data-slot=\"pagination\"\n {...props}\n />\n </PaginationSizeContext.Provider>\n );\n};\n\nPagination.Content = PaginationContent;\nPagination.Ellipsis = PaginationEllipsis;\nPagination.Item = PaginationItem;\nPagination.Link = PaginationLink;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n\nexport type { PaginationContentProps } from \"./pagination-content\";\nexport type { PaginationEllipsisProps } from \"./pagination-ellipsis\";\nexport type { PaginationItemProps } from \"./pagination-item\";\nexport type { PaginationLinkProps } from \"./pagination-link\";\nexport type { PaginationNextProps } from \"./pagination-next\";\nexport type { PaginationPreviousProps } from \"./pagination-previous\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"mappings":";;;;;;;;cAQM,2BAAA,EAcJ,kBAAA,CAd+B,YAAA;;;;;;;;;;;;;;;;cAc/B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,+BAAA,GAAkC,IAAA,CACrC,YAAA,QAAoB,2BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,wBAAA,GAA2B,KAAA,CAAe,SAAA,CAAU,KAAA,GAC9D,+BAAA;AAAA,cAEI,mBAAA;EAAuB,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAI1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC3BrB,sBAAA,EAcJ,kBAAA,CAd0B,YAAA;;;;;;;;;;;;;;;;cAc1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,KAAA,CAAe,IAAA,CAAK,KAAA,GACpD,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,QAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"mappings":";;;;;;;;cAQM,2BAAA,EAcJ,kBAAA,CAd+B,YAAA;;;;;;;;;;;;;;;;cAc/B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,+BAAA,GAAkC,IAAA,CACrC,YAAA,QAAoB,2BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,wBAAA,GAA2B,KAAA,CAAe,SAAA,CAAU,KAAA,GAC9D,+BAAA;AAAA,cAEI,mBAAA;EAAuB,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAI1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC3BrB,sBAAA,EAcJ,kBAAA,CAd0B,YAAA;;;;;;;;;;;;;;;;cAc1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,0BAAA,GAA6B,IAAA,CAChC,YAAA,QAAoB,sBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,mBAAA,GAAsB,KAAA,CAAe,IAAA,CAAK,KAAA,GACpD,0BAAA;AAAA,cAEI,cAAA;EAAkB,SAAA;EAAA,QAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KClCV,eAAA,oBAAmC,YAAA,CAAoB,KAAA,CAAM,KAAA;AAAA,cAEnE,UAAA;EAAA;;;KAAuC,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/radio-group.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","names":["RadioPrimitive","RadioPrimitive","RadioGroupPrimitive"],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\n\nconst radioGroupIndicatorVariants = tv({\n base: \"flex items-center justify-center text-primary group-aria-invalid/radio-group-item:text-danger\",\n variants: {\n size: {\n xs: \"size-3\",\n sm: \"size-3.5\",\n md: \"size-4\",\n lg: \"size-[18px]\",\n xl: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype RadioGroupIndicatorVariantProps = Omit<\n VariantProps<typeof radioGroupIndicatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupIndicatorProps = RadioPrimitive.Indicator.Props &\n RadioGroupIndicatorVariantProps;\n\nconst RadioGroupIndicator = ({\n className,\n size: providedSize,\n ...props\n}: RadioGroupIndicatorProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Indicator\n className={mergeBaseUIClassName<RadioPrimitive.Indicator.State>(\n radioGroupIndicatorVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-indicator\"\n {...props}\n />\n );\n};\n\nexport { RadioGroupIndicator };\n","import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { CircleIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { RadioGroupIndicator } from \"./radio-group-indicator\";\n\nconst radioGroupItemVariants = tv({\n base: \"group/radio-group-item peer relative flex shrink-0 cursor-pointer rounded-full border border-input text-primary-foreground shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-danger-foreground aria-invalid:ring-[3px] aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40\",\n variants: {\n size: {\n xs: \"aspect-square size-3 after:absolute after:-inset-1.5\",\n sm: \"aspect-square size-3.5 after:absolute after:-inset-2\",\n md: \"aspect-square size-4 after:absolute after:-inset-2.5\",\n lg: \"aspect-square size-[18px] after:absolute after:-inset-3\",\n xl: \"aspect-square size-5 after:absolute after:-inset-3.5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype RadioGroupItemVariantProps = Omit<\n VariantProps<typeof radioGroupItemVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupItemProps = RadioPrimitive.Root.Props &\n RadioGroupItemVariantProps;\n\nconst RadioGroupItem = ({\n className,\n children,\n size: providedSize,\n ...props\n}: RadioGroupItemProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Root\n className={mergeBaseUIClassName<RadioPrimitive.Root.State>(\n radioGroupItemVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-item\"\n {...props}\n >\n {children ?? (\n <RadioGroupIndicator size={size}>\n <HugeiconsIcon\n className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current data-[size=xs]:size-1.5 data-[size=sm]:size-1.5 data-[size=md]:size-2 data-[size=lg]:size-2 data-[size=xl]:size-2.5\"\n data-size={size}\n icon={CircleIcon}\n strokeWidth={2}\n />\n </RadioGroupIndicator>\n )}\n </RadioPrimitive.Root>\n );\n};\n\nexport { RadioGroupItem };\n","
|
|
1
|
+
{"version":3,"file":"radio-group.js","names":["RadioPrimitive","RadioPrimitive","RadioGroupPrimitive"],"sources":["../../src/ui/radio-group/radio-group-indicator.tsx","../../src/ui/radio-group/radio-group-item.tsx","../../src/ui/radio-group/radio-group.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\n\nconst radioGroupIndicatorVariants = tv({\n base: \"flex items-center justify-center text-primary group-aria-invalid/radio-group-item:text-danger\",\n variants: {\n size: {\n xs: \"size-3\",\n sm: \"size-3.5\",\n md: \"size-4\",\n lg: \"size-[18px]\",\n xl: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype RadioGroupIndicatorVariantProps = Omit<\n VariantProps<typeof radioGroupIndicatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupIndicatorProps = RadioPrimitive.Indicator.Props &\n RadioGroupIndicatorVariantProps;\n\nconst RadioGroupIndicator = ({\n className,\n size: providedSize,\n ...props\n}: RadioGroupIndicatorProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Indicator\n className={mergeBaseUIClassName<RadioPrimitive.Indicator.State>(\n radioGroupIndicatorVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-indicator\"\n {...props}\n />\n );\n};\n\nexport { RadioGroupIndicator };\n","import { Radio as RadioPrimitive } from \"@base-ui/react/radio\";\nimport { CircleIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { RadioGroupIndicator } from \"./radio-group-indicator\";\n\nconst radioGroupItemVariants = tv({\n base: \"group/radio-group-item peer relative flex shrink-0 cursor-pointer rounded-full border border-input text-primary-foreground shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-danger-foreground aria-invalid:ring-[3px] aria-invalid:ring-danger-foreground/20 dark:bg-input/30 dark:aria-invalid:border-danger-foreground/50 dark:aria-invalid:ring-danger-foreground/40\",\n variants: {\n size: {\n xs: \"aspect-square size-3 after:absolute after:-inset-1.5\",\n sm: \"aspect-square size-3.5 after:absolute after:-inset-2\",\n md: \"aspect-square size-4 after:absolute after:-inset-2.5\",\n lg: \"aspect-square size-[18px] after:absolute after:-inset-3\",\n xl: \"aspect-square size-5 after:absolute after:-inset-3.5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype RadioGroupItemVariantProps = Omit<\n VariantProps<typeof radioGroupItemVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type RadioGroupItemProps = RadioPrimitive.Root.Props &\n RadioGroupItemVariantProps;\n\nconst RadioGroupItem = ({\n className,\n children,\n size: providedSize,\n ...props\n}: RadioGroupItemProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <RadioPrimitive.Root\n className={mergeBaseUIClassName<RadioPrimitive.Root.State>(\n radioGroupItemVariants({ size }),\n className\n )}\n data-size={size}\n data-slot=\"radio-group-item\"\n {...props}\n >\n {children ?? (\n <RadioGroupIndicator size={size}>\n <HugeiconsIcon\n className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current data-[size=xs]:size-1.5 data-[size=sm]:size-1.5 data-[size=md]:size-2 data-[size=lg]:size-2 data-[size=xl]:size-2.5\"\n data-size={size}\n icon={CircleIcon}\n strokeWidth={2}\n />\n </RadioGroupIndicator>\n )}\n </RadioPrimitive.Root>\n );\n};\n\nexport { RadioGroupItem };\n","\"use client\";\n\nimport { RadioGroup as RadioGroupPrimitive } from \"@base-ui/react/radio-group\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { RadioGroupIndicator } from \"./radio-group-indicator\";\nimport { RadioGroupItem } from \"./radio-group-item\";\n\nexport type RadioGroupProps<Value = unknown> = RadioGroupPrimitive.Props<Value>;\n\nconst RadioGroup = ({ className, ...props }: RadioGroupProps) => (\n <RadioGroupPrimitive\n className={mergeBaseUIClassName<RadioGroupPrimitive.State>(\n \"grid w-full gap-2\",\n className\n )}\n data-slot=\"radio-group\"\n {...props}\n />\n);\n\nRadioGroup.Indicator = RadioGroupIndicator;\nRadioGroup.Item = RadioGroupItem;\n\nexport type { RadioGroupIndicatorProps } from \"./radio-group-indicator\";\nexport type { RadioGroupItemProps } from \"./radio-group-item\";\n\nexport { RadioGroup, RadioGroupIndicator, RadioGroupItem };\n"],"mappings":";;;;;;;;;;;;AAQA,MAAM,8BAA8B,GAAG;CACrC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAYF,MAAM,uBAAuB,EAC3B,WACA,MAAM,cACN,GAAG,YAC2B;CAC9B,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAACA,MAAe;EACd,WAAW,qBACT,4BAA4B,EAAE,MAAM,CAAC,EACrC,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;GACJ;;;;;ACvCN,MAAM,yBAAyB,GAAG;CAChC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAYF,MAAM,kBAAkB,EACtB,WACA,UACA,MAAM,cACN,GAAG,YACsB;CACzB,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAACC,MAAe;EACd,WAAW,qBACT,uBAAuB,EAAE,MAAM,CAAC,EAChC,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;YAEH,YACC,oBAAC;GAA0B;aACzB,oBAAC;IACC,WAAU;IACV,aAAW;IACX,MAAM;IACN,aAAa;KACb;IACkB;GAEJ;;;;;ACvD1B,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAACC;CACC,WAAW,qBACT,qBACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;AAGJ,WAAW,YAAY;AACvB,WAAW,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.d.ts","names":[],"sources":["../../src/ui/scroll-area/scroll-bar.tsx","../../src/ui/scroll-area/scroll-content.tsx","../../src/ui/scroll-area/scroll-corner.tsx","../../src/ui/scroll-area/scroll-thumb.tsx","../../src/ui/scroll-area/scroll-viewport.tsx","../../src/ui/scroll-area/scroll-area.tsx"],"mappings":";;;;KAKY,cAAA,GAAiB,YAAA,CAAoB,SAAA,CAAU,KAAA;AAAA,cAErD,SAAA;EAAa,SAAA;EAAA,WAAA;EAAA,QAAA;EAAA,GAAA;AAAA,GAKhB,cAAA,KAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCTL,sBAAA,GAAyB,YAAA,CAAoB,OAAA,CAAQ,KAAA;AAAA,cAE3D,iBAAA;EAAqB,SAAA;EAAA,GAAA;AAAA,GAAyB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF9D,qBAAA,GAAwB,YAAA,CAAoB,MAAA,CAAO,KAAA;AAAA,cAEzD,gBAAA;EAAoB,SAAA;EAAA,GAAA;AAAA,GAAyB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF5D,oBAAA,GAAuB,YAAA,CAAoB,KAAA,CAAM,KAAA;AAAA,cAEvD,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,uBAAA,GAA0B,YAAA,CAAoB,QAAA,CAAS,KAAA;AAAA,cAE7D,kBAAA;EAAsB,SAAA;EAAA,GAAA;AAAA,GAGzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;
|
|
1
|
+
{"version":3,"file":"scroll-area.d.ts","names":[],"sources":["../../src/ui/scroll-area/scroll-bar.tsx","../../src/ui/scroll-area/scroll-content.tsx","../../src/ui/scroll-area/scroll-corner.tsx","../../src/ui/scroll-area/scroll-thumb.tsx","../../src/ui/scroll-area/scroll-viewport.tsx","../../src/ui/scroll-area/scroll-area.tsx"],"mappings":";;;;KAKY,cAAA,GAAiB,YAAA,CAAoB,SAAA,CAAU,KAAA;AAAA,cAErD,SAAA;EAAa,SAAA;EAAA,WAAA;EAAA,QAAA;EAAA,GAAA;AAAA,GAKhB,cAAA,KAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCTL,sBAAA,GAAyB,YAAA,CAAoB,OAAA,CAAQ,KAAA;AAAA,cAE3D,iBAAA;EAAqB,SAAA;EAAA,GAAA;AAAA,GAAyB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF9D,qBAAA,GAAwB,YAAA,CAAoB,MAAA,CAAO,KAAA;AAAA,cAEzD,gBAAA;EAAoB,SAAA;EAAA,GAAA;AAAA,GAAyB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF5D,oBAAA,GAAuB,YAAA,CAAoB,KAAA,CAAM,KAAA;AAAA,cAEvD,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,uBAAA,GAA0B,YAAA,CAAoB,QAAA,CAAS,KAAA;AAAA,cAE7D,kBAAA;EAAsB,SAAA;EAAA,GAAA;AAAA,GAGzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCGd,eAAA,GAAkB,YAAA,CAAoB,IAAA,CAAK,KAAA;AAAA,cAEjD,UAAA;EAAA;;;;KAAiD,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/scroll-area.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive","ScrollAreaPrimitive","ScrollAreaPrimitive","ScrollAreaPrimitive"],"sources":["../../src/ui/scroll-area/scroll-content.tsx","../../src/ui/scroll-area/scroll-corner.tsx","../../src/ui/scroll-area/scroll-viewport.tsx","../../src/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaContentProps = ScrollAreaPrimitive.Content.Props;\n\nconst ScrollAreaContent = ({ className, ...props }: ScrollAreaContentProps) => (\n <ScrollAreaPrimitive.Content\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Content.State>(\n undefined,\n className\n )}\n data-slot=\"scroll-area-content\"\n {...props}\n />\n);\n\nexport { ScrollAreaContent };\n","import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaCornerProps = ScrollAreaPrimitive.Corner.Props;\n\nconst ScrollAreaCorner = ({ className, ...props }: ScrollAreaCornerProps) => (\n <ScrollAreaPrimitive.Corner\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Corner.State>(\n undefined,\n className\n )}\n data-slot=\"scroll-area-corner\"\n {...props}\n />\n);\n\nexport { ScrollAreaCorner };\n","import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaViewportProps = ScrollAreaPrimitive.Viewport.Props;\n\nconst ScrollAreaViewport = ({\n className,\n ...props\n}: ScrollAreaViewportProps) => (\n <ScrollAreaPrimitive.Viewport\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Viewport.State>(\n \"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\",\n className\n )}\n data-slot=\"scroll-area-viewport\"\n {...props}\n />\n);\n\nexport { ScrollAreaViewport };\n","
|
|
1
|
+
{"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive","ScrollAreaPrimitive","ScrollAreaPrimitive","ScrollAreaPrimitive"],"sources":["../../src/ui/scroll-area/scroll-content.tsx","../../src/ui/scroll-area/scroll-corner.tsx","../../src/ui/scroll-area/scroll-viewport.tsx","../../src/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaContentProps = ScrollAreaPrimitive.Content.Props;\n\nconst ScrollAreaContent = ({ className, ...props }: ScrollAreaContentProps) => (\n <ScrollAreaPrimitive.Content\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Content.State>(\n undefined,\n className\n )}\n data-slot=\"scroll-area-content\"\n {...props}\n />\n);\n\nexport { ScrollAreaContent };\n","import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaCornerProps = ScrollAreaPrimitive.Corner.Props;\n\nconst ScrollAreaCorner = ({ className, ...props }: ScrollAreaCornerProps) => (\n <ScrollAreaPrimitive.Corner\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Corner.State>(\n undefined,\n className\n )}\n data-slot=\"scroll-area-corner\"\n {...props}\n />\n);\n\nexport { ScrollAreaCorner };\n","import { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nexport type ScrollAreaViewportProps = ScrollAreaPrimitive.Viewport.Props;\n\nconst ScrollAreaViewport = ({\n className,\n ...props\n}: ScrollAreaViewportProps) => (\n <ScrollAreaPrimitive.Viewport\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Viewport.State>(\n \"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\",\n className\n )}\n data-slot=\"scroll-area-viewport\"\n {...props}\n />\n);\n\nexport { ScrollAreaViewport };\n","\"use client\";\n\nimport { ScrollArea as ScrollAreaPrimitive } from \"@base-ui/react/scroll-area\";\nimport { Children, isValidElement } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { ScrollBar } from \"./scroll-bar\";\nimport { ScrollAreaContent } from \"./scroll-content\";\nimport { ScrollAreaCorner } from \"./scroll-corner\";\nimport { ScrollAreaThumb } from \"./scroll-thumb\";\nimport { ScrollAreaViewport } from \"./scroll-viewport\";\nexport type ScrollAreaProps = ScrollAreaPrimitive.Root.Props;\n\nconst ScrollArea = ({ className, children, ...props }: ScrollAreaProps) => (\n <ScrollAreaPrimitive.Root\n className={mergeBaseUIClassName<ScrollAreaPrimitive.Root.State>(\n \"relative\",\n className\n )}\n data-slot=\"scroll-area\"\n {...props}\n >\n {Children.toArray(children).some((child) => {\n if (!isValidElement(child)) {\n return false;\n }\n return (\n child.type === ScrollAreaPrimitive.Viewport ||\n child.type === ScrollAreaViewport\n );\n }) ? (\n children\n ) : (\n <>\n <ScrollAreaViewport>\n <ScrollAreaContent>{children}</ScrollAreaContent>\n </ScrollAreaViewport>\n <ScrollBar />\n <ScrollAreaCorner />\n </>\n )}\n </ScrollAreaPrimitive.Root>\n);\n\nScrollArea.Bar = ScrollBar;\nScrollArea.Content = ScrollAreaContent;\nScrollArea.Corner = ScrollAreaCorner;\nScrollArea.Scrollbar = ScrollBar;\nScrollArea.Thumb = ScrollAreaThumb;\nScrollArea.Viewport = ScrollAreaViewport;\n\nexport {\n ScrollArea,\n ScrollAreaContent,\n ScrollAreaCorner,\n ScrollAreaThumb,\n ScrollAreaViewport,\n ScrollBar,\n};\n\nexport type { ScrollBarProps } from \"./scroll-bar\";\nexport type { ScrollAreaContentProps } from \"./scroll-content\";\nexport type { ScrollAreaCornerProps } from \"./scroll-corner\";\nexport type { ScrollAreaThumbProps } from \"./scroll-thumb\";\nexport type { ScrollAreaViewportProps } from \"./scroll-viewport\";\n"],"mappings":";;;;;;;;;AAKA,MAAM,qBAAqB,EAAE,WAAW,GAAG,YACzC,oBAACA,aAAoB;CACnB,WAAW,qBACT,QACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACRJ,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,oBAACC,aAAoB;CACnB,WAAW,qBACT,QACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACRJ,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAEH,oBAACC,aAAoB;CACnB,WAAW,qBACT,sJACA,UACD;CACD,aAAU;CACV,GAAI;EACJ;;;;ACHJ,MAAM,cAAc,EAAE,WAAW,UAAU,GAAG,YAC5C,oBAACC,aAAoB;CACnB,WAAW,qBACT,YACA,UACD;CACD,aAAU;CACV,GAAI;WAEH,SAAS,QAAQ,SAAS,CAAC,MAAM,UAAU;AAC1C,MAAI,CAAC,eAAe,MAAM,CACxB,QAAO;AAET,SACE,MAAM,SAASA,aAAoB,YACnC,MAAM,SAAS;GAEjB,GACA,WAEA;EACE,oBAAC,gCACC,oBAAC,qBAAmB,WAA6B,GAC9B;EACrB,oBAAC,cAAY;EACb,oBAAC,qBAAmB;KACnB;EAEoB;AAG7B,WAAW,MAAM;AACjB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separator.d.ts","names":[],"sources":["../../src/ui/separator/separator.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"separator.d.ts","names":[],"sources":["../../src/ui/separator/separator.tsx"],"mappings":";;;;KAMY,cAAA,GAAiB,WAAA,CAAmB,KAAA;AAAA,cAE1C,SAAA;EAAa,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,GAIhB,cAAA,KAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/separator.js
CHANGED
package/dist/ui/separator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separator.js","names":["SeparatorPrimitive"],"sources":["../../src/ui/separator/separator.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"separator.js","names":["SeparatorPrimitive"],"sources":["../../src/ui/separator/separator.tsx"],"sourcesContent":["\"use client\";\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type SeparatorProps = SeparatorPrimitive.Props;\n\nconst Separator = ({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorProps) => (\n <SeparatorPrimitive\n className={mergeBaseUIClassName<SeparatorPrimitive.State>(\n \"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n data-slot=\"separator\"\n orientation={orientation}\n {...props}\n />\n);\n\nexport { Separator };\n"],"mappings":";;;;;;;AAQA,MAAM,aAAa,EACjB,WACA,cAAc,cACd,GAAG,YAEH,oBAACA;CACC,WAAW,qBACT,wKACA,UACD;CACD,aAAU;CACG;CACb,GAAI;EACJ"}
|
package/dist/ui/sidebar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar.tsx"],"mappings":";;;;;;;;;;;;;;KAGY,mBAAA,GAAsB,cAAA;AAAA,cAE5B,cAAA;EAAkB,SAAA;EAAA,GAAA;AAAA,GAAyB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFxD,kBAAA,GAAqB,cAAA;AAAA,cAE3B,aAAA;EAAiB,SAAA;EAAA,GAAA;AAAA,GAAyB,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFtD,iBAAA,GAAoB,cAAA;AAAA,cAE1B,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCApD,uBAAA,GAA0B,SAAA,CAAU,cAAA,aAC9C,cAAA;AAAA,cAEI,kBAAA;EAAsB,SAAA;EAAA,MAAA;EAAA,GAAA;AAAA,GAIzB,uBAAA,KAAuB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;KCTd,wBAAA,GAA2B,cAAA;AAAA,cAEjC,mBAAA;EAAuB,SAAA;EAAA,GAAA;AAAA,GAG1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCHf,sBAAA,GAAyB,SAAA,CAAU,cAAA,UAC7C,cAAA;AAAA,cAEI,iBAAA;EAAqB,SAAA;EAAA,MAAA;EAAA,GAAA;AAAA,GAIxB,sBAAA,KAAsB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;KCTb,kBAAA,GAAqB,cAAA;AAAA,cAE3B,aAAA;EAAiB,SAAA;EAAA,GAAA;AAAA,GAAyB,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCAtD,iBAAA,GAAoB,cAAA,QAAsB,KAAA;AAAA,cAEhD,YAAA;EAAgB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAInB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCRR,iBAAA,GAAoB,cAAA;AAAA,cAE1B,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCGpD,gBAAA,GAAmB,cAAA;EAC7B,IAAA,GAAO,SAAA;AAAA;AAAA,cAGH,WAAA;EAAe,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAIlB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCLb,yBAAA,EAcJ,kBAAA,CAd6B,YAAA;;;;;;;;;;;;;;;;cAc7B,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,sBAAA,GAAyB,SAAA,CAAU,cAAA,aAC7C,cAAA;EACE,WAAA;EACA,IAAA,GAAO,SAAA;AAAA,IACL,YAAA,QAAoB,yBAAA;AAAA,cAEpB,iBAAA;EAAqB,SAAA;EAAA,MAAA;EAAA,IAAA;EAAA,WAAA;EAAA,GAAA;AAAA,GAMxB,sBAAA,KAAsB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;cC9BnB,wBAAA,EAcJ,kBAAA,CAd4B,YAAA;;;;;;;;;;;;;;;;cAc5B,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,qBAAA,GAAwB,cAAA,UAClC,YAAA,QAAoB,wBAAA;EAClB,IAAA,GAAO,SAAA;AAAA;AAAA,cAGL,gBAAA;EAAoB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAIvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCtBZ,sBAAA,GAAyB,SAAA,CAAU,cAAA,aAC7C,cAAA;EACE,QAAA;EACA,OAAA,YAAmB,cAAA,QAAsB,cAAA;EACzC,IAAA,GAAO,SAAA;AAAA,IACL,YAAA,QAAoB,yBAAA;AAAA,cAEpB,yBAAA,EAoBJ,kBAAA,CApB6B,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cAoB7B,kBAAA,CAAA,YAAA;;;;;;;;;;;;;cAEI,iBAAA;EAAqB,MAAA;EAAA,QAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAQxB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KC9Cb,oBAAA,GAAuB,cAAA;AAAA,cAE7B,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCOhE,2BAAA,EAcJ,kBAAA,CAd+B,YAAA;;;;;;;;;;;;;;;;cAc/B,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,wBAAA,GAA2B,cAAA;EACrC,QAAA;EACA,IAAA,GAAO,SAAA;AAAA,IACL,YAAA,QAAoB,2BAAA;AAAA,cAElB,mBAAA;EAAuB,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,GAAA;AAAA,GAK1B,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC7BrB,sBAAA,EAcJ,kBAAA,CAd0B,YAAA;;;;;;;;;;;;;;;;cAc1B,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,mBAAA,GAAsB,cAAA,SAChC,YAAA,QAAoB,sBAAA;EAClB,IAAA,GAAO,SAAA;AAAA;AAAA,cAGL,cAAA;EAAkB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCpB9D,yBAAA,GAA4B,SAAA,CAAU,cAAA,QAChD,cAAA;EACE,IAAA,GAAO,SAAA;EACP,QAAA;AAAA,IACE,YAAA,QAAoB,4BAAA;AAAA,cAEpB,4BAAA,EAcJ,kBAAA,CAdgC,YAAA;;;;;;;;;;;;;;;;cAchC,kBAAA,CAAA,YAAA;;;;;;;;;cAEI,oBAAA;EAAwB,MAAA;EAAA,IAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAM3B,yBAAA,KAAyB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;KCnChB,uBAAA,GAA0B,cAAA;AAAA,cAEhC,kBAAA;EAAsB,SAAA;EAAA,GAAA;AAAA,GAGzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCQd,oBAAA,GAAuB,cAAA;EACjC,WAAA;EACA,IAAA;EACA,YAAA,IAAgB,IAAA;AAAA;AAAA,cAGZ,eAAA;EAAmB,WAAA;EAAA,IAAA,EAAA,QAAA;EAAA,YAAA,EAAA,WAAA;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,GAQtB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCzBX,gBAAA,GAAmB,cAAA;AAAA,cAEzB,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFlD,qBAAA,GAAwB,cAAA,QAAsB,SAAA;AAAA,cAEpD,gBAAA;EAAoB,SAAA;EAAA,GAAA;AAAA,GAAyB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCE5D,mBAAA,GAAsB,cAAA,QAAsB,MAAA;AAAA,cAElD,cAAA;EAAkB,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAIrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCXL,mBAAA;EACf,KAAA;EACA,IAAA;EACA,OAAA,GAAU,IAAA;EACV,UAAA;EACA,aAAA,GAAgB,IAAA;EAChB,QAAA;EACA,aAAA;AAAA;AAAA,cAKW,UAAA,QAAU,mBAAA;;;
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar.tsx"],"mappings":"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"}
|
package/dist/ui/sidebar.js
CHANGED
package/dist/ui/sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":[],"sources":["../../src/ui/sidebar/constants.ts","../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu-context.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/sidebar.tsx"],"sourcesContent":["export const SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_WIDTH = \"16rem\";\nexport const SIDEBAR_WIDTH_MOBILE = \"18rem\";\nexport const SIDEBAR_WIDTH_ICON = \"3rem\";\nexport const SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarContentProps = ComponentProps<\"div\">;\n\nconst SidebarContent = ({ className, ...props }: SidebarContentProps) => (\n <div\n className={cn(\n \"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n);\n\nexport { SidebarContent };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarFooterProps = ComponentProps<\"div\">;\n\nconst SidebarFooter = ({ className, ...props }: SidebarFooterProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n);\n\nexport { SidebarFooter };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupProps = ComponentProps<\"div\">;\n\nconst SidebarGroup = ({ className, ...props }: SidebarGroupProps) => (\n <div\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n);\n\nexport { SidebarGroup };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\">;\n\nconst SidebarGroupAction = ({\n className,\n render,\n ...props\n}: SidebarGroupActionProps) =>\n useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-action\",\n sidebar: \"group-action\",\n },\n });\n\nexport { SidebarGroupAction };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupContentProps = ComponentProps<\"div\">;\n\nconst SidebarGroupContent = ({\n className,\n ...props\n}: SidebarGroupContentProps) => (\n <div\n className={cn(\"w-full text-sm\", className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n);\n\nexport { SidebarGroupContent };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupLabelProps = useRender.ComponentProps<\"div\"> &\n ComponentProps<\"div\">;\n\nconst SidebarGroupLabel = ({\n className,\n render,\n ...props\n}: SidebarGroupLabelProps) =>\n useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-label\",\n sidebar: \"group-label\",\n },\n });\n\nexport { SidebarGroupLabel };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarHeaderProps = ComponentProps<\"div\">;\n\nconst SidebarHeader = ({ className, ...props }: SidebarHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n);\n\nexport { SidebarHeader };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nexport type SidebarInputProps = ComponentProps<typeof Input>;\n\nconst SidebarInput = ({\n className,\n size = \"sm\",\n ...props\n}: SidebarInputProps) => (\n <Input\n className={cn(\"w-full bg-background shadow-none\", className)}\n data-sidebar=\"input\"\n size={size}\n data-slot=\"sidebar-input\"\n {...props}\n />\n);\n\nexport { SidebarInput };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarInsetProps = ComponentProps<\"main\">;\n\nconst SidebarInset = ({ className, ...props }: SidebarInsetProps) => (\n <main\n className={cn(\n \"relative flex w-full min-w-0 flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n);\n\nexport { SidebarInset };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SidebarMenuContextValue {\n size?: InputSize;\n}\n\nconst SidebarMenuContext = createContext<SidebarMenuContextValue>({\n size: \"md\",\n});\n\nexport { SidebarMenuContext };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuProps = ComponentProps<\"ul\"> & {\n size?: InputSize;\n};\n\nconst SidebarMenu = ({\n className,\n size: providedSize,\n ...props\n}: SidebarMenuProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <SidebarMenuContext.Provider value={{ size }}>\n <ul\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n data-sidebar=\"menu\"\n data-size={size}\n data-slot=\"sidebar-menu\"\n {...props}\n />\n </SidebarMenuContext.Provider>\n );\n};\n\nexport { SidebarMenu };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuActionVariants = tv({\n base: \"absolute right-1 flex aspect-square items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:shrink-0\",\n variants: {\n size: {\n xs: \"top-0.5 w-4 [&>svg:not([class*='size-'])]:size-3\",\n sm: \"top-1 w-5 [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"top-1.5 w-5 [&>svg:not([class*='size-'])]:size-4\",\n lg: \"top-2 w-6 [&>svg:not([class*='size-'])]:size-4\",\n xl: \"top-2.5 w-7 [&>svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n showOnHover?: boolean;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuActionVariants>;\n\nconst SidebarMenuAction = ({\n className,\n render,\n size,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuActionVariants({ size: resolvedSize }),\n \"peer-data-[size=xs]/menu-button:top-0.5 peer-data-[size=sm]/menu-button:top-1 peer-data-[size=md]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2 peer-data-[size=xl]/menu-button:top-2.5\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground data-open:opacity-100 md:opacity-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-action\",\n sidebar: \"menu-action\",\n size: resolvedSize,\n },\n });\n};\n\nexport { SidebarMenuAction };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuBadgeVariants = tv({\n base: \"pointer-events-none absolute right-1 flex items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground\",\n variants: {\n size: {\n xs: \"top-0.5 h-4 min-w-4 text-[10px]\",\n sm: \"top-1 h-5 min-w-5 text-[11px]\",\n md: \"top-1.5 h-5 min-w-5 text-xs\",\n lg: \"top-2 h-6 min-w-6 text-xs\",\n xl: \"top-2.5 h-7 min-w-7 text-sm\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuBadgeProps = ComponentProps<\"div\"> &\n VariantProps<typeof sidebarMenuBadgeVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuBadge = ({\n className,\n size,\n ...props\n}: SidebarMenuBadgeProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuBadgeVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-badge\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuBadge };\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport interface SidebarContextProps {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\nexport const useSidebar = () => {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n};\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarMenuButtonProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n isActive?: boolean;\n tooltip?: string | ComponentProps<typeof TooltipContent>;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuButtonVariants>;\n\nconst sidebarMenuButtonVariants = tv({\n base: \"peer/menu-button group/menu-button flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:shrink-0 [&>span:last-child]:truncate\",\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--kb-sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--kb-sidebar-accent))]\",\n },\n size: {\n xs: \"h-6 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"h-8 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"h-10 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"h-11 px-3 py-2 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nconst SidebarMenuButton = ({\n render,\n isActive = false,\n variant = \"default\",\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n const { isMobile, state } = useSidebar();\n const comp = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuButtonVariants({ size: resolvedSize, variant }),\n className\n ),\n },\n props\n ),\n render: tooltip ? TooltipTrigger : render,\n state: {\n slot: \"sidebar-menu-button\",\n sidebar: \"menu-button\",\n size: resolvedSize,\n active: isActive,\n },\n });\n\n if (!tooltip) {\n return comp;\n }\n\n if (typeof tooltip === \"string\") {\n // oxlint-disable-next-line no-param-reassign\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n {comp}\n <TooltipContent\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n side=\"right\"\n {...tooltip}\n />\n </Tooltip>\n );\n};\n\nexport { SidebarMenuButton, sidebarMenuButtonVariants };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuItem = ({ className, ...props }: SidebarMenuItemProps) => (\n <li\n className={cn(\"group/menu-item relative\", className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { Skeleton } from \"../skeleton/skeleton\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSkeletonVariants = tv({\n base: \"flex items-center gap-2 rounded-md\",\n variants: {\n size: {\n xs: \"h-6 px-1.5\",\n sm: \"h-7 px-2\",\n md: \"h-8 px-2\",\n lg: \"h-10 px-2.5\",\n xl: \"h-11 px-3\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuSkeletonProps = ComponentProps<\"div\"> & {\n showIcon?: boolean;\n size?: InputSize;\n} & VariantProps<typeof sidebarMenuSkeletonVariants>;\n\nconst SidebarMenuSkeleton = ({\n className,\n size,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuSkeletonVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-skeleton\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": \"100%\",\n } as CSSProperties\n }\n />\n </div>\n );\n};\n\nexport { SidebarMenuSkeleton };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSubVariants = tv({\n base: \"flex min-w-0 translate-x-px flex-col border-l border-sidebar-border group-data-[collapsible=icon]:hidden\",\n variants: {\n size: {\n xs: \"mx-2.5 gap-0.5 px-1.5 py-0.5\",\n sm: \"mx-3 gap-1 px-2 py-0.5\",\n md: \"mx-3.5 gap-1 px-2.5 py-0.5\",\n lg: \"mx-4 gap-1 px-3 py-1\",\n xl: \"mx-4.5 gap-1.5 px-3.5 py-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuSubProps = ComponentProps<\"ul\"> &\n VariantProps<typeof sidebarMenuSubVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuSub = ({ className, size, ...props }: SidebarMenuSubProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <ul\n className={cn(sidebarMenuSubVariants({ size: resolvedSize }), className)}\n data-sidebar=\"menu-sub\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuSub };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuSubButtonProps = useRender.ComponentProps<\"a\"> &\n ComponentProps<\"a\"> & {\n size?: InputSize;\n isActive?: boolean;\n } & VariantProps<typeof sidebarMenuSubButtonVariants>;\n\nconst sidebarMenuSubButtonVariants = tv({\n base: \"flex min-w-0 -translate-x-px cursor-pointer items-center overflow-hidden rounded-md text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n variants: {\n size: {\n xs: \"h-6 gap-1.5 px-1.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-2 px-2 text-xs [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"h-8 gap-2 px-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n lg: \"h-9 gap-2.5 px-2.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n xl: \"h-10 gap-2.5 px-3 text-base [&>svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst SidebarMenuSubButton = ({\n render,\n size,\n isActive = false,\n className,\n ...props\n}: SidebarMenuSubButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n sidebarMenuSubButtonVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-sub-button\",\n sidebar: \"menu-sub-button\",\n size: resolvedSize,\n active: isActive,\n },\n });\n};\n\nexport { SidebarMenuSubButton };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuSubItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuSubItem = ({\n className,\n ...props\n}: SidebarMenuSubItemProps) => (\n <li\n className={cn(\"group/menu-sub-item relative\", className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuSubItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\n\nimport { useIsMobile } from \"@kuzenbo/hooks/use-mobile\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n SIDEBAR_COOKIE_MAX_AGE,\n SIDEBAR_COOKIE_NAME,\n SIDEBAR_KEYBOARD_SHORTCUT,\n SIDEBAR_WIDTH,\n SIDEBAR_WIDTH_ICON,\n} from \"./constants\";\nimport { SidebarContext, type SidebarContextProps } from \"./use-sidebar\";\nexport type SidebarProviderProps = ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nconst SidebarProvider = ({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: SidebarProviderProps) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n // oxlint-disable-next-line unicorn/no-document-cookie\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(\n () =>\n isMobile ? setOpenMobile((prev) => !prev) : setOpen((prev) => !prev),\n [isMobile, setOpen]\n );\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </SidebarContext.Provider>\n );\n};\n\nexport { SidebarProvider };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarRailProps = ComponentProps<\"button\">;\n\nconst SidebarRail = ({ className, ...props }: SidebarRailProps) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n type=\"button\"\n aria-label=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offExamples]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offExamples]_&]:-left-2\",\n className\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n onClick={toggleSidebar}\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n {...props}\n />\n );\n};\n\nexport { SidebarRail };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nexport type SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nconst SidebarSeparator = ({ className, ...props }: SidebarSeparatorProps) => (\n <Separator\n className={cn(\"w-auto bg-sidebar-border\", className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n);\n\nexport { SidebarSeparator };\n","\"use client\";\n\nimport { SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useCallback, type ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarTriggerProps = ComponentProps<typeof Button>;\n\nconst SidebarTrigger = ({\n className,\n onClick,\n ...props\n}: SidebarTriggerProps) => {\n const { toggleSidebar } = useSidebar();\n\n const handleClick = useCallback(\n (\n event: Parameters<\n NonNullable<ComponentProps<typeof Button>[\"onClick\"]>\n >[0]\n ) => {\n onClick?.(event);\n toggleSidebar();\n },\n [onClick, toggleSidebar]\n );\n\n return (\n <Button\n className={cn(className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n onClick={handleClick}\n size=\"icon-sm\"\n variant=\"ghost\"\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n};\n\nexport { SidebarTrigger };\n","import type { ComponentProps, CSSProperties } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"../sheet/sheet\";\nimport { SIDEBAR_WIDTH_MOBILE } from \"./constants\";\nimport { SidebarContent } from \"./sidebar-content\";\nimport { SidebarFooter } from \"./sidebar-footer\";\nimport { SidebarGroup } from \"./sidebar-group\";\nimport { SidebarGroupAction } from \"./sidebar-group-action\";\nimport { SidebarGroupContent } from \"./sidebar-group-content\";\nimport { SidebarGroupLabel } from \"./sidebar-group-label\";\nimport { SidebarHeader } from \"./sidebar-header\";\nimport { SidebarInput } from \"./sidebar-input\";\nimport { SidebarInset } from \"./sidebar-inset\";\nimport { SidebarMenu } from \"./sidebar-menu\";\nimport { SidebarMenuAction } from \"./sidebar-menu-action\";\nimport { SidebarMenuBadge } from \"./sidebar-menu-badge\";\nimport { SidebarMenuButton } from \"./sidebar-menu-button\";\nimport { SidebarMenuItem } from \"./sidebar-menu-item\";\nimport { SidebarMenuSkeleton } from \"./sidebar-menu-skeleton\";\nimport { SidebarMenuSub } from \"./sidebar-menu-sub\";\nimport { SidebarMenuSubButton } from \"./sidebar-menu-sub-button\";\nimport { SidebarMenuSubItem } from \"./sidebar-menu-sub-item\";\nimport { SidebarProvider } from \"./sidebar-provider\";\nimport { SidebarRail } from \"./sidebar-rail\";\nimport { SidebarSeparator } from \"./sidebar-separator\";\nimport { SidebarTrigger } from \"./sidebar-trigger\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarProps = ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offExamples\" | \"icon\" | \"none\";\n};\n\nconst Sidebar = ({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offExamples\",\n className,\n children,\n ...props\n}: SidebarProps) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet onOpenChange={setOpenMobile} open={openMobile} {...props}>\n <SheetContent\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offExamples]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nSidebar.Content = SidebarContent;\nSidebar.Footer = SidebarFooter;\nSidebar.Group = SidebarGroup;\nSidebar.GroupAction = SidebarGroupAction;\nSidebar.GroupContent = SidebarGroupContent;\nSidebar.GroupLabel = SidebarGroupLabel;\nSidebar.Header = SidebarHeader;\nSidebar.Input = SidebarInput;\nSidebar.Inset = SidebarInset;\nSidebar.Menu = SidebarMenu;\nSidebar.MenuAction = SidebarMenuAction;\nSidebar.MenuBadge = SidebarMenuBadge;\nSidebar.MenuButton = SidebarMenuButton;\nSidebar.MenuItem = SidebarMenuItem;\nSidebar.MenuSkeleton = SidebarMenuSkeleton;\nSidebar.MenuSub = SidebarMenuSub;\nSidebar.MenuSubButton = SidebarMenuSubButton;\nSidebar.MenuSubItem = SidebarMenuSubItem;\nSidebar.Provider = SidebarProvider;\nSidebar.Rail = SidebarRail;\nSidebar.Separator = SidebarSeparator;\nSidebar.Trigger = SidebarTrigger;\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n\nexport type { SidebarContentProps } from \"./sidebar-content\";\nexport type { SidebarFooterProps } from \"./sidebar-footer\";\nexport type { SidebarGroupProps } from \"./sidebar-group\";\nexport type { SidebarGroupActionProps } from \"./sidebar-group-action\";\nexport type { SidebarGroupContentProps } from \"./sidebar-group-content\";\nexport type { SidebarGroupLabelProps } from \"./sidebar-group-label\";\nexport type { SidebarHeaderProps } from \"./sidebar-header\";\nexport type { SidebarInputProps } from \"./sidebar-input\";\nexport type { SidebarInsetProps } from \"./sidebar-inset\";\nexport type { SidebarMenuProps } from \"./sidebar-menu\";\nexport type { SidebarMenuActionProps } from \"./sidebar-menu-action\";\nexport type { SidebarMenuBadgeProps } from \"./sidebar-menu-badge\";\nexport type { SidebarMenuButtonProps } from \"./sidebar-menu-button\";\nexport type { SidebarMenuItemProps } from \"./sidebar-menu-item\";\nexport type { SidebarMenuSkeletonProps } from \"./sidebar-menu-skeleton\";\nexport type { SidebarMenuSubProps } from \"./sidebar-menu-sub\";\nexport type { SidebarMenuSubButtonProps } from \"./sidebar-menu-sub-button\";\nexport type { SidebarMenuSubItemProps } from \"./sidebar-menu-sub-item\";\nexport type { SidebarProviderProps } from \"./sidebar-provider\";\nexport type { SidebarRailProps } from \"./sidebar-rail\";\nexport type { SidebarSeparatorProps } from \"./sidebar-separator\";\nexport type { SidebarTriggerProps } from \"./sidebar-trigger\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":[],"sources":["../../src/ui/sidebar/constants.ts","../../src/ui/sidebar/sidebar-content.tsx","../../src/ui/sidebar/sidebar-footer.tsx","../../src/ui/sidebar/sidebar-group.tsx","../../src/ui/sidebar/sidebar-group-action.tsx","../../src/ui/sidebar/sidebar-group-content.tsx","../../src/ui/sidebar/sidebar-group-label.tsx","../../src/ui/sidebar/sidebar-header.tsx","../../src/ui/sidebar/sidebar-input.tsx","../../src/ui/sidebar/sidebar-inset.tsx","../../src/ui/sidebar/sidebar-menu-context.tsx","../../src/ui/sidebar/sidebar-menu.tsx","../../src/ui/sidebar/sidebar-menu-action.tsx","../../src/ui/sidebar/sidebar-menu-badge.tsx","../../src/ui/sidebar/use-sidebar.tsx","../../src/ui/sidebar/sidebar-menu-button.tsx","../../src/ui/sidebar/sidebar-menu-item.tsx","../../src/ui/sidebar/sidebar-menu-skeleton.tsx","../../src/ui/sidebar/sidebar-menu-sub.tsx","../../src/ui/sidebar/sidebar-menu-sub-button.tsx","../../src/ui/sidebar/sidebar-menu-sub-item.tsx","../../src/ui/sidebar/sidebar-provider.tsx","../../src/ui/sidebar/sidebar-rail.tsx","../../src/ui/sidebar/sidebar-separator.tsx","../../src/ui/sidebar/sidebar-trigger.tsx","../../src/ui/sidebar/sidebar.tsx"],"sourcesContent":["export const SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nexport const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nexport const SIDEBAR_WIDTH = \"16rem\";\nexport const SIDEBAR_WIDTH_MOBILE = \"18rem\";\nexport const SIDEBAR_WIDTH_ICON = \"3rem\";\nexport const SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarContentProps = ComponentProps<\"div\">;\n\nconst SidebarContent = ({ className, ...props }: SidebarContentProps) => (\n <div\n className={cn(\n \"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n);\n\nexport { SidebarContent };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarFooterProps = ComponentProps<\"div\">;\n\nconst SidebarFooter = ({ className, ...props }: SidebarFooterProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n);\n\nexport { SidebarFooter };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupProps = ComponentProps<\"div\">;\n\nconst SidebarGroup = ({ className, ...props }: SidebarGroupProps) => (\n <div\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n);\n\nexport { SidebarGroup };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\">;\n\nconst SidebarGroupAction = ({\n className,\n render,\n ...props\n}: SidebarGroupActionProps) =>\n useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-action\",\n sidebar: \"group-action\",\n },\n });\n\nexport { SidebarGroupAction };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupContentProps = ComponentProps<\"div\">;\n\nconst SidebarGroupContent = ({\n className,\n ...props\n}: SidebarGroupContentProps) => (\n <div\n className={cn(\"w-full text-sm\", className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n);\n\nexport { SidebarGroupContent };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn } from \"tailwind-variants\";\nexport type SidebarGroupLabelProps = useRender.ComponentProps<\"div\"> &\n ComponentProps<\"div\">;\n\nconst SidebarGroupLabel = ({\n className,\n render,\n ...props\n}: SidebarGroupLabelProps) =>\n useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-label\",\n sidebar: \"group-label\",\n },\n });\n\nexport { SidebarGroupLabel };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarHeaderProps = ComponentProps<\"div\">;\n\nconst SidebarHeader = ({ className, ...props }: SidebarHeaderProps) => (\n <div\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n);\n\nexport { SidebarHeader };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nexport type SidebarInputProps = ComponentProps<typeof Input>;\n\nconst SidebarInput = ({\n className,\n size = \"sm\",\n ...props\n}: SidebarInputProps) => (\n <Input\n className={cn(\"w-full bg-background shadow-none\", className)}\n data-sidebar=\"input\"\n size={size}\n data-slot=\"sidebar-input\"\n {...props}\n />\n);\n\nexport { SidebarInput };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarInsetProps = ComponentProps<\"main\">;\n\nconst SidebarInset = ({ className, ...props }: SidebarInsetProps) => (\n <main\n className={cn(\n \"relative flex w-full min-w-0 flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n);\n\nexport { SidebarInset };\n","\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface SidebarMenuContextValue {\n size?: InputSize;\n}\n\nconst SidebarMenuContext = createContext<SidebarMenuContextValue>({\n size: \"md\",\n});\n\nexport { SidebarMenuContext };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuProps = ComponentProps<\"ul\"> & {\n size?: InputSize;\n};\n\nconst SidebarMenu = ({\n className,\n size: providedSize,\n ...props\n}: SidebarMenuProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <SidebarMenuContext.Provider value={{ size }}>\n <ul\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n data-sidebar=\"menu\"\n data-size={size}\n data-slot=\"sidebar-menu\"\n {...props}\n />\n </SidebarMenuContext.Provider>\n );\n};\n\nexport { SidebarMenu };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuActionVariants = tv({\n base: \"absolute right-1 flex aspect-square items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:shrink-0\",\n variants: {\n size: {\n xs: \"top-0.5 w-4 [&>svg:not([class*='size-'])]:size-3\",\n sm: \"top-1 w-5 [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"top-1.5 w-5 [&>svg:not([class*='size-'])]:size-4\",\n lg: \"top-2 w-6 [&>svg:not([class*='size-'])]:size-4\",\n xl: \"top-2.5 w-7 [&>svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n showOnHover?: boolean;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuActionVariants>;\n\nconst SidebarMenuAction = ({\n className,\n render,\n size,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuActionVariants({ size: resolvedSize }),\n \"peer-data-[size=xs]/menu-button:top-0.5 peer-data-[size=sm]/menu-button:top-1 peer-data-[size=md]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2 peer-data-[size=xl]/menu-button:top-2.5\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground data-open:opacity-100 md:opacity-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-action\",\n sidebar: \"menu-action\",\n size: resolvedSize,\n },\n });\n};\n\nexport { SidebarMenuAction };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuBadgeVariants = tv({\n base: \"pointer-events-none absolute right-1 flex items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground\",\n variants: {\n size: {\n xs: \"top-0.5 h-4 min-w-4 text-[10px]\",\n sm: \"top-1 h-5 min-w-5 text-[11px]\",\n md: \"top-1.5 h-5 min-w-5 text-xs\",\n lg: \"top-2 h-6 min-w-6 text-xs\",\n xl: \"top-2.5 h-7 min-w-7 text-sm\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuBadgeProps = ComponentProps<\"div\"> &\n VariantProps<typeof sidebarMenuBadgeVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuBadge = ({\n className,\n size,\n ...props\n}: SidebarMenuBadgeProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuBadgeVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-badge\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuBadge };\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport interface SidebarContextProps {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null);\n\nexport const useSidebar = () => {\n const context = useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n};\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarMenuButtonProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n isActive?: boolean;\n tooltip?: string | ComponentProps<typeof TooltipContent>;\n size?: InputSize;\n } & VariantProps<typeof sidebarMenuButtonVariants>;\n\nconst sidebarMenuButtonVariants = tv({\n base: \"peer/menu-button group/menu-button flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:shrink-0 [&>span:last-child]:truncate\",\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--kb-sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--kb-sidebar-accent))]\",\n },\n size: {\n xs: \"h-6 px-1.5 py-1 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"h-8 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"h-10 px-2.5 py-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"h-11 px-3 py-2 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nconst SidebarMenuButton = ({\n render,\n isActive = false,\n variant = \"default\",\n size,\n tooltip,\n className,\n ...props\n}: SidebarMenuButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n const { isMobile, state } = useSidebar();\n const comp = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n sidebarMenuButtonVariants({ size: resolvedSize, variant }),\n className\n ),\n },\n props\n ),\n render: tooltip ? TooltipTrigger : render,\n state: {\n slot: \"sidebar-menu-button\",\n sidebar: \"menu-button\",\n size: resolvedSize,\n active: isActive,\n },\n });\n\n if (!tooltip) {\n return comp;\n }\n\n if (typeof tooltip === \"string\") {\n // oxlint-disable-next-line no-param-reassign\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n {comp}\n <TooltipContent\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n side=\"right\"\n {...tooltip}\n />\n </Tooltip>\n );\n};\n\nexport { SidebarMenuButton, sidebarMenuButtonVariants };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuItem = ({ className, ...props }: SidebarMenuItemProps) => (\n <li\n className={cn(\"group/menu-item relative\", className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { Skeleton } from \"../skeleton/skeleton\";\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSkeletonVariants = tv({\n base: \"flex items-center gap-2 rounded-md\",\n variants: {\n size: {\n xs: \"h-6 px-1.5\",\n sm: \"h-7 px-2\",\n md: \"h-8 px-2\",\n lg: \"h-10 px-2.5\",\n xl: \"h-11 px-3\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuSkeletonProps = ComponentProps<\"div\"> & {\n showIcon?: boolean;\n size?: InputSize;\n} & VariantProps<typeof sidebarMenuSkeletonVariants>;\n\nconst SidebarMenuSkeleton = ({\n className,\n size,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <div\n className={cn(\n sidebarMenuSkeletonVariants({ size: resolvedSize }),\n className\n )}\n data-sidebar=\"menu-skeleton\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": \"100%\",\n } as CSSProperties\n }\n />\n </div>\n );\n};\n\nexport { SidebarMenuSkeleton };\n","import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\n\nconst sidebarMenuSubVariants = tv({\n base: \"flex min-w-0 translate-x-px flex-col border-l border-sidebar-border group-data-[collapsible=icon]:hidden\",\n variants: {\n size: {\n xs: \"mx-2.5 gap-0.5 px-1.5 py-0.5\",\n sm: \"mx-3 gap-1 px-2 py-0.5\",\n md: \"mx-3.5 gap-1 px-2.5 py-0.5\",\n lg: \"mx-4 gap-1 px-3 py-1\",\n xl: \"mx-4.5 gap-1.5 px-3.5 py-1\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type SidebarMenuSubProps = ComponentProps<\"ul\"> &\n VariantProps<typeof sidebarMenuSubVariants> & {\n size?: InputSize;\n };\n\nconst SidebarMenuSub = ({ className, size, ...props }: SidebarMenuSubProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return (\n <ul\n className={cn(sidebarMenuSubVariants({ size: resolvedSize }), className)}\n data-sidebar=\"menu-sub\"\n data-size={resolvedSize}\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n};\n\nexport { SidebarMenuSub };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { SidebarMenuContext } from \"./sidebar-menu-context\";\nexport type SidebarMenuSubButtonProps = useRender.ComponentProps<\"a\"> &\n ComponentProps<\"a\"> & {\n size?: InputSize;\n isActive?: boolean;\n } & VariantProps<typeof sidebarMenuSubButtonVariants>;\n\nconst sidebarMenuSubButtonVariants = tv({\n base: \"flex min-w-0 -translate-x-px cursor-pointer items-center overflow-hidden rounded-md text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n variants: {\n size: {\n xs: \"h-6 gap-1.5 px-1.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-2 px-2 text-xs [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"h-8 gap-2 px-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n lg: \"h-9 gap-2.5 px-2.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n xl: \"h-10 gap-2.5 px-3 text-base [&>svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst SidebarMenuSubButton = ({\n render,\n size,\n isActive = false,\n className,\n ...props\n}: SidebarMenuSubButtonProps) => {\n const { size: menuSize } = useContext(SidebarMenuContext);\n const resolvedSize: InputSize = size ?? menuSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n sidebarMenuSubButtonVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-sub-button\",\n sidebar: \"menu-sub-button\",\n size: resolvedSize,\n active: isActive,\n },\n });\n};\n\nexport { SidebarMenuSubButton };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type SidebarMenuSubItemProps = ComponentProps<\"li\">;\n\nconst SidebarMenuSubItem = ({\n className,\n ...props\n}: SidebarMenuSubItemProps) => (\n <li\n className={cn(\"group/menu-sub-item relative\", className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n);\n\nexport { SidebarMenuSubItem };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\n\nimport { useIsMobile } from \"@kuzenbo/hooks/use-mobile\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport {\n SIDEBAR_COOKIE_MAX_AGE,\n SIDEBAR_COOKIE_NAME,\n SIDEBAR_KEYBOARD_SHORTCUT,\n SIDEBAR_WIDTH,\n SIDEBAR_WIDTH_ICON,\n} from \"./constants\";\nimport { SidebarContext, type SidebarContextProps } from \"./use-sidebar\";\nexport type SidebarProviderProps = ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nconst SidebarProvider = ({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: SidebarProviderProps) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n // oxlint-disable-next-line unicorn/no-document-cookie\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(\n () =>\n isMobile ? setOpenMobile((prev) => !prev) : setOpen((prev) => !prev),\n [isMobile, setOpen]\n );\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </SidebarContext.Provider>\n );\n};\n\nexport { SidebarProvider };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarRailProps = ComponentProps<\"button\">;\n\nconst SidebarRail = ({ className, ...props }: SidebarRailProps) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n type=\"button\"\n aria-label=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offExamples]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offExamples]_&]:-left-2\",\n className\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n onClick={toggleSidebar}\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n {...props}\n />\n );\n};\n\nexport { SidebarRail };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nexport type SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nconst SidebarSeparator = ({ className, ...props }: SidebarSeparatorProps) => (\n <Separator\n className={cn(\"w-auto bg-sidebar-border\", className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n);\n\nexport { SidebarSeparator };\n","\"use client\";\n\nimport { SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useCallback, type ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarTriggerProps = ComponentProps<typeof Button>;\n\nconst SidebarTrigger = ({\n className,\n onClick,\n ...props\n}: SidebarTriggerProps) => {\n const { toggleSidebar } = useSidebar();\n\n const handleClick = useCallback(\n (\n event: Parameters<\n NonNullable<ComponentProps<typeof Button>[\"onClick\"]>\n >[0]\n ) => {\n onClick?.(event);\n toggleSidebar();\n },\n [onClick, toggleSidebar]\n );\n\n return (\n <Button\n className={cn(className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n onClick={handleClick}\n size=\"icon-sm\"\n variant=\"ghost\"\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n};\n\nexport { SidebarTrigger };\n","\"use client\";\n\nimport type { ComponentProps, CSSProperties } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"../sheet/sheet\";\nimport { SIDEBAR_WIDTH_MOBILE } from \"./constants\";\nimport { SidebarContent } from \"./sidebar-content\";\nimport { SidebarFooter } from \"./sidebar-footer\";\nimport { SidebarGroup } from \"./sidebar-group\";\nimport { SidebarGroupAction } from \"./sidebar-group-action\";\nimport { SidebarGroupContent } from \"./sidebar-group-content\";\nimport { SidebarGroupLabel } from \"./sidebar-group-label\";\nimport { SidebarHeader } from \"./sidebar-header\";\nimport { SidebarInput } from \"./sidebar-input\";\nimport { SidebarInset } from \"./sidebar-inset\";\nimport { SidebarMenu } from \"./sidebar-menu\";\nimport { SidebarMenuAction } from \"./sidebar-menu-action\";\nimport { SidebarMenuBadge } from \"./sidebar-menu-badge\";\nimport { SidebarMenuButton } from \"./sidebar-menu-button\";\nimport { SidebarMenuItem } from \"./sidebar-menu-item\";\nimport { SidebarMenuSkeleton } from \"./sidebar-menu-skeleton\";\nimport { SidebarMenuSub } from \"./sidebar-menu-sub\";\nimport { SidebarMenuSubButton } from \"./sidebar-menu-sub-button\";\nimport { SidebarMenuSubItem } from \"./sidebar-menu-sub-item\";\nimport { SidebarProvider } from \"./sidebar-provider\";\nimport { SidebarRail } from \"./sidebar-rail\";\nimport { SidebarSeparator } from \"./sidebar-separator\";\nimport { SidebarTrigger } from \"./sidebar-trigger\";\nimport { useSidebar } from \"./use-sidebar\";\nexport type SidebarProps = ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offExamples\" | \"icon\" | \"none\";\n};\n\nconst Sidebar = ({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offExamples\",\n className,\n children,\n ...props\n}: SidebarProps) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet onOpenChange={setOpenMobile} open={openMobile} {...props}>\n <SheetContent\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offExamples]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nSidebar.Content = SidebarContent;\nSidebar.Footer = SidebarFooter;\nSidebar.Group = SidebarGroup;\nSidebar.GroupAction = SidebarGroupAction;\nSidebar.GroupContent = SidebarGroupContent;\nSidebar.GroupLabel = SidebarGroupLabel;\nSidebar.Header = SidebarHeader;\nSidebar.Input = SidebarInput;\nSidebar.Inset = SidebarInset;\nSidebar.Menu = SidebarMenu;\nSidebar.MenuAction = SidebarMenuAction;\nSidebar.MenuBadge = SidebarMenuBadge;\nSidebar.MenuButton = SidebarMenuButton;\nSidebar.MenuItem = SidebarMenuItem;\nSidebar.MenuSkeleton = SidebarMenuSkeleton;\nSidebar.MenuSub = SidebarMenuSub;\nSidebar.MenuSubButton = SidebarMenuSubButton;\nSidebar.MenuSubItem = SidebarMenuSubItem;\nSidebar.Provider = SidebarProvider;\nSidebar.Rail = SidebarRail;\nSidebar.Separator = SidebarSeparator;\nSidebar.Trigger = SidebarTrigger;\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n\nexport type { SidebarContentProps } from \"./sidebar-content\";\nexport type { SidebarFooterProps } from \"./sidebar-footer\";\nexport type { SidebarGroupProps } from \"./sidebar-group\";\nexport type { SidebarGroupActionProps } from \"./sidebar-group-action\";\nexport type { SidebarGroupContentProps } from \"./sidebar-group-content\";\nexport type { SidebarGroupLabelProps } from \"./sidebar-group-label\";\nexport type { SidebarHeaderProps } from \"./sidebar-header\";\nexport type { SidebarInputProps } from \"./sidebar-input\";\nexport type { SidebarInsetProps } from \"./sidebar-inset\";\nexport type { SidebarMenuProps } from \"./sidebar-menu\";\nexport type { SidebarMenuActionProps } from \"./sidebar-menu-action\";\nexport type { SidebarMenuBadgeProps } from \"./sidebar-menu-badge\";\nexport type { SidebarMenuButtonProps } from \"./sidebar-menu-button\";\nexport type { SidebarMenuItemProps } from \"./sidebar-menu-item\";\nexport type { SidebarMenuSkeletonProps } from \"./sidebar-menu-skeleton\";\nexport type { SidebarMenuSubProps } from \"./sidebar-menu-sub\";\nexport type { SidebarMenuSubButtonProps } from \"./sidebar-menu-sub-button\";\nexport type { SidebarMenuSubItemProps } from \"./sidebar-menu-sub-item\";\nexport type { SidebarProviderProps } from \"./sidebar-provider\";\nexport type { SidebarRailProps } from \"./sidebar-rail\";\nexport type { SidebarSeparatorProps } from \"./sidebar-separator\";\nexport type { SidebarTriggerProps } from \"./sidebar-trigger\";\n"],"mappings":"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"}
|
package/dist/ui/spinner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.d.ts","names":[],"sources":["../../src/ui/spinner/spinner.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","names":[],"sources":["../../src/ui/spinner/spinner.tsx"],"mappings":";;;;;KAaY,YAAA,GAAe,IAAA,CAAK,cAAA;EAC9B,IAAA,GAAO,MAAA;AAAA;AAAA,cAGH,OAAA;EAAW,SAAA;EAAA,IAAA,EAAA,YAAA;EAAA,WAAA;EAAA,GAAA;AAAA,GAKd,YAAA,KAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|