@kuzenbo/core 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/action-icon-UjYZjXrB.d.ts +59 -0
- package/dist/action-icon-UjYZjXrB.d.ts.map +1 -0
- package/dist/{avatar-DpiupAAM.d.ts → avatar-4S7I72CH.d.ts} +2 -2
- package/dist/{avatar-DpiupAAM.d.ts.map → avatar-4S7I72CH.d.ts.map} +1 -1
- package/dist/{avatar-CXhwmJgG.js → avatar-C3vF6E7s.js} +1 -1
- package/dist/{avatar-CXhwmJgG.js.map → avatar-C3vF6E7s.js.map} +1 -1
- package/dist/{badge-BKRm6jL7.js → badge-DB40swlt.js} +1 -1
- package/dist/{badge-BKRm6jL7.js.map → badge-DB40swlt.js.map} +1 -1
- package/dist/button-CPPkhcmB.d.ts +59 -0
- package/dist/button-CPPkhcmB.d.ts.map +1 -0
- package/dist/button-shared-variants-J4RVI3K7.js +19 -0
- package/dist/button-shared-variants-J4RVI3K7.js.map +1 -0
- package/dist/{dialog-DEkdr-9K.d.ts → dialog-D3dAMsO_.d.ts} +1 -1
- package/dist/{dialog-DEkdr-9K.d.ts.map → dialog-D3dAMsO_.d.ts.map} +1 -1
- package/dist/{dialog-CD5lfQA9.js → dialog-Dzvma_bu.js} +4 -3
- package/dist/dialog-Dzvma_bu.js.map +1 -0
- package/dist/{dropdown-menu-Bpj576m0.d.ts → dropdown-menu-BG03sLbC.d.ts} +2 -2
- package/dist/{dropdown-menu-Bpj576m0.d.ts.map → dropdown-menu-BG03sLbC.d.ts.map} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js → dropdown-menu-DOVY76ue.js} +1 -1
- package/dist/{dropdown-menu-BJi-V71O.js.map → dropdown-menu-DOVY76ue.js.map} +1 -1
- package/dist/{input-WWoBCgxe.d.ts → input-BeE717GK.d.ts} +2 -2
- package/dist/{input-WWoBCgxe.d.ts.map → input-BeE717GK.d.ts.map} +1 -1
- package/dist/{input-Ex9ZRqbo.js → input-cICL6sH_.js} +1 -1
- package/dist/{input-Ex9ZRqbo.js.map → input-cICL6sH_.js.map} +1 -1
- package/dist/{input-group-CjcHP0L4.js → input-group-7kPror1q.js} +15 -5
- package/dist/input-group-7kPror1q.js.map +1 -0
- package/dist/provider.d.ts +3 -3
- package/dist/{scroll-bar-C4qEUKlT.js → scroll-bar-BKRy5Me9.js} +1 -1
- package/dist/{scroll-bar-C4qEUKlT.js.map → scroll-bar-BKRy5Me9.js.map} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts → separator-CgOz2m5i.d.ts} +1 -1
- package/dist/{separator-C8Qw2ADs.d.ts.map → separator-CgOz2m5i.d.ts.map} +1 -1
- package/dist/{sheet-imSHXfFH.js → sheet-FVsgl5Wk.js} +4 -4
- package/dist/sheet-FVsgl5Wk.js.map +1 -0
- package/dist/{size-context-DXfCAlWF.d.ts → size-context-DWvVJytl.d.ts} +2 -2
- package/dist/{size-context-DXfCAlWF.d.ts.map → size-context-DWvVJytl.d.ts.map} +1 -1
- package/dist/{size-provider-Bd2C6gKd.d.ts → size-provider-PHAZhU6k.d.ts} +2 -2
- package/dist/{size-provider-Bd2C6gKd.d.ts.map → size-provider-PHAZhU6k.d.ts.map} +1 -1
- package/dist/{size-system-wzOLSuax.d.ts → size-system-BAI1CnwU.d.ts} +1 -1
- package/dist/size-system-BAI1CnwU.d.ts.map +1 -0
- package/dist/size.d.ts +3 -3
- package/dist/{slider-root-presentation-B6OO_iCT.js → slider-root-presentation-G0ByTcvd.js} +1 -1
- package/dist/{slider-root-presentation-B6OO_iCT.js.map → slider-root-presentation-G0ByTcvd.js.map} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts → slider-style-tokens-DNzHvGii.d.ts} +1 -1
- package/dist/{slider-style-tokens-CZezJilZ.d.ts.map → slider-style-tokens-DNzHvGii.d.ts.map} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts → textarea-rmoEkvdu.d.ts} +1 -1
- package/dist/{textarea-C8dsnn8D.d.ts.map → textarea-rmoEkvdu.d.ts.map} +1 -1
- package/dist/{textarea-CkiM1N_I.js → textarea-vNt8edEA.js} +1 -1
- package/dist/{textarea-CkiM1N_I.js.map → textarea-vNt8edEA.js.map} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts → toggle-D8kPPZH9.d.ts} +1 -1
- package/dist/{toggle-CxkIncmZ.d.ts.map → toggle-D8kPPZH9.d.ts.map} +1 -1
- package/dist/{tooltip-D0BEpCQx.js → tooltip-BUo_HPnp.js} +1 -1
- package/dist/{tooltip-D0BEpCQx.js.map → tooltip-BUo_HPnp.js.map} +1 -1
- package/dist/{tooltip-DbJxt69l.d.ts → tooltip-DatN3AoZ.d.ts} +2 -2
- package/dist/{tooltip-DbJxt69l.d.ts.map → tooltip-DatN3AoZ.d.ts.map} +1 -1
- package/dist/ui/accordion.d.ts +1 -1
- package/dist/ui/action-icon.d.ts +2 -0
- package/dist/ui/action-icon.js +74 -0
- package/dist/ui/action-icon.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +2 -2
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/announcement.js +1 -1
- package/dist/ui/autocomplete.d.ts +1 -1
- package/dist/ui/avatar.d.ts +1 -1
- package/dist/ui/avatar.js +1 -1
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.d.ts +1 -1
- package/dist/ui/button-group.d.ts +2 -2
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +27 -49
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/carousel.d.ts +3 -3
- package/dist/ui/carousel.d.ts.map +1 -1
- package/dist/ui/carousel.js +5 -5
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox.d.ts +1 -1
- package/dist/ui/combobox.d.ts +1 -1
- package/dist/ui/combobox.js +7 -7
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +2 -2
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/ui/copy-button.d.ts +1 -1
- package/dist/ui/copy-button.js +29 -8
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/drawer.d.ts +2 -2
- package/dist/ui/dropdown-menu.d.ts +2 -2
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/emoji-picker.d.ts +2 -2
- package/dist/ui/empty.d.ts +2 -2
- package/dist/ui/field.d.ts +1 -1
- package/dist/ui/input-group.d.ts +3 -3
- package/dist/ui/input-group.d.ts.map +1 -1
- package/dist/ui/input-group.js +1 -1
- package/dist/ui/input-otp.d.ts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/item.d.ts +1 -1
- package/dist/ui/kbd.d.ts +1 -1
- package/dist/ui/menubar.d.ts +2 -2
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/navigation-list.d.ts +2 -2
- package/dist/ui/navigation-menu.d.ts +1 -1
- package/dist/ui/number-field.d.ts +1 -1
- package/dist/ui/pagination.d.ts +1 -1
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +18 -10
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pill.d.ts +3 -3
- package/dist/ui/pill.d.ts.map +1 -1
- package/dist/ui/pill.js +5 -5
- package/dist/ui/pill.js.map +1 -1
- package/dist/ui/popover.d.ts +2 -2
- package/dist/ui/radio-group.d.ts +1 -1
- package/dist/ui/range-slider.d.ts +1 -1
- package/dist/ui/range-slider.js +1 -1
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/select.d.ts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar.d.ts +6 -6
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +6 -6
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.js +1 -1
- package/dist/ui/spinner.d.ts +1 -1
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/table.d.ts +2 -2
- package/dist/ui/table.js +1 -1
- package/dist/ui/textarea.d.ts +1 -1
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.d.ts +2 -2
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toolbar.d.ts +3 -3
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.js +1 -1
- package/package.json +8 -6
- package/dist/button-nAbTNrxA.d.ts +0 -78
- package/dist/button-nAbTNrxA.d.ts.map +0 -1
- package/dist/dialog-CD5lfQA9.js.map +0 -1
- package/dist/input-group-CjcHP0L4.js.map +0 -1
- package/dist/sheet-imSHXfFH.js.map +0 -1
- package/dist/size-system-wzOLSuax.d.ts.map +0 -1
package/dist/{slider-root-presentation-B6OO_iCT.js.map → slider-root-presentation-G0ByTcvd.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-root-presentation-B6OO_iCT.js","names":["SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive"],"sources":["../src/ui/slider/math/slider-math-utils.ts","../src/ui/slider/primitives/slider-control.tsx","../src/ui/slider/primitives/slider-indicator.tsx","../src/ui/slider/primitives/slider-mark.tsx","../src/ui/slider/primitives/slider-marks.tsx","../src/ui/slider/primitives/slider-thumb.tsx","../src/ui/slider/shared/slider-transition.ts","../src/ui/slider/primitives/slider-thumb-label.tsx","../src/ui/slider/primitives/slider-track.tsx","../src/ui/slider/primitives/slider-value.tsx","../src/ui/slider/shared/slider-bounds.ts","../src/ui/slider/shared/slider-label.ts","../src/ui/slider/shared/slider-style-tokens.ts","../src/ui/slider/shared/slider-root-presentation.ts"],"sourcesContent":["import type { SliderMark } from \"../shared/slider-types\";\n\nconst EPSILON = 1e-9;\n\nexport const clampNumber = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nexport const getPrecisionFromStep = (step: number) => {\n if (!Number.isFinite(step) || step <= 0) {\n return 0;\n }\n\n const [, decimals] = step.toString().split(\".\");\n return decimals?.length ?? 0;\n};\n\nexport const toFloatingValue = (value: number, precision: number) =>\n Number.parseFloat(value.toFixed(precision));\n\nexport const getPositionPercent = (value: number, min: number, max: number) => {\n if (min === max) {\n return 0;\n }\n\n const percent = ((value - min) / (max - min)) * 100;\n return clampNumber(percent, 0, 100);\n};\n\nexport const getSortedSelectableMarks = (\n marks: readonly SliderMark[] | undefined,\n min: number,\n max: number\n) => {\n if (!marks?.length) {\n return [] as number[];\n }\n\n const uniqueMarks = new Set<number>();\n for (const mark of marks) {\n if (!Number.isFinite(mark.value)) {\n continue;\n }\n\n if (mark.value < min || mark.value > max) {\n continue;\n }\n\n uniqueMarks.add(mark.value);\n }\n\n const sortedMarks = [...uniqueMarks];\n sortedMarks.sort((a, b) => a - b);\n return sortedMarks;\n};\n\nexport const getNearestMarkValue = (\n value: number,\n marks: readonly number[]\n) => {\n if (!marks.length) {\n return value;\n }\n\n let nearest = marks[0] ?? value;\n let nearestDistance = Math.abs(value - nearest);\n\n for (const mark of marks) {\n const distance = Math.abs(value - mark);\n if (distance + EPSILON < nearestDistance) {\n nearest = mark;\n nearestDistance = distance;\n }\n }\n\n return nearest;\n};\n\nexport const getNextMarkValue = (current: number, marks: readonly number[]) => {\n for (const mark of marks) {\n if (mark > current + EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getPreviousMarkValue = (\n current: number,\n marks: readonly number[]\n) => {\n for (let index = marks.length - 1; index >= 0; index -= 1) {\n const mark = marks[index];\n if (mark !== undefined && mark < current - EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getFirstMarkValue = (marks: readonly number[], fallback: number) =>\n marks[0] ?? fallback;\n\nexport const getLastMarkValue = (marks: readonly number[], fallback: number) =>\n marks.at(-1) ?? fallback;\n\nexport const isMarkFilled = ({\n inverted = false,\n mark,\n values,\n}: {\n inverted?: boolean;\n mark: number;\n values: readonly number[];\n}) => {\n if (!values.length) {\n return false;\n }\n\n if (values.length === 1) {\n const [singleValue] = values;\n if (singleValue === undefined) {\n return false;\n }\n\n return inverted ? mark >= singleValue : mark <= singleValue;\n }\n\n const sortedValues = [...values];\n sortedValues.sort((a, b) => a - b);\n const [from = 0, to = 0] = sortedValues;\n\n if (inverted) {\n return mark <= from || mark >= to;\n }\n\n return mark >= from && mark <= to;\n};\n\nexport const isKeyboardLikeReason = (reason: string | null | undefined) =>\n reason === \"input-change\" || reason === \"keyboard\";\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderControlProps = SliderPrimitive.Control.Props;\n\nconst SliderControl = ({ className, ...props }: SliderControlProps) => (\n <SliderPrimitive.Control\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/control relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:w-auto data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:flex-col\",\n className\n )}\n data-slot=\"slider-control\"\n {...props}\n />\n);\n\nexport { SliderControl };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderIndicatorProps = SliderPrimitive.Indicator.Props;\n\nconst SliderIndicator = ({ className, ...props }: SliderIndicatorProps) => (\n <SliderPrimitive.Indicator\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-color,var(--color-primary))] select-none group-data-[invalid]/slider:bg-danger data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full transition-[background-color,inset-inline-start,inset-inline-end,inset-block-start,inset-block-end,width,height] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-range\"\n />\n);\n\nexport { SliderIndicator };\n","\"use client\";\n\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nexport interface SliderMarkProps {\n disabled?: boolean;\n filled?: boolean;\n label?: ReactNode;\n orientation?: \"horizontal\" | \"vertical\";\n position: number;\n}\n\nconst SliderMark = ({\n disabled,\n filled,\n label,\n orientation = \"horizontal\",\n position,\n}: SliderMarkProps) => {\n const isHorizontal = orientation === \"horizontal\";\n\n const wrapperStyle = isHorizontal\n ? ({ insetInlineStart: `${position}%` } satisfies CSSProperties)\n : ({ bottom: `${position}%` } satisfies CSSProperties);\n\n return (\n <div\n className={cn(\n \"z-elevated pointer-events-none absolute\",\n isHorizontal\n ? \"top-1/2 -translate-x-1/2 -translate-y-1/2\"\n : \"left-1/2 -translate-x-1/2 translate-y-1/2\"\n )}\n data-filled={filled ? \"true\" : \"false\"}\n data-slot=\"slider-mark\"\n style={wrapperStyle}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n \"block h-[var(--slider-mark-size,0.5rem)] w-[var(--slider-mark-size,0.5rem)] rounded-full border transition-[border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n filled\n ? \"border-[var(--slider-color,var(--color-primary))] bg-[var(--slider-color,var(--color-primary))]\"\n : \"border-border bg-background\",\n disabled && \"border-muted bg-muted\"\n )}\n data-slot=\"slider-mark-dot\"\n />\n {label ? (\n <span\n className={cn(\n \"text-muted-foreground pointer-events-none absolute text-xs whitespace-nowrap\",\n isHorizontal\n ? \"top-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] -translate-y-1/2\"\n )}\n data-slot=\"slider-mark-label\"\n >\n {label}\n </span>\n ) : null}\n </div>\n );\n};\n\nexport { SliderMark };\n","\"use client\";\n\nimport { useMemo } from \"react\";\n\nimport { getPositionPercent, isMarkFilled } from \"../math/slider-math-utils\";\nimport type { SliderMark as SliderMarkType } from \"../shared/slider-types\";\nimport { SliderMark } from \"./slider-mark\";\n\nexport interface SliderMarksProps {\n disabled?: boolean;\n inverted?: boolean;\n marks?: readonly SliderMarkType[];\n max: number;\n min: number;\n orientation?: \"horizontal\" | \"vertical\";\n values: readonly number[];\n}\n\nconst SliderMarks = ({\n disabled,\n inverted,\n marks,\n max,\n min,\n orientation = \"horizontal\",\n values,\n}: SliderMarksProps) => {\n const normalizedMarks = useMemo(() => {\n if (!marks?.length) {\n return [];\n }\n\n return marks\n .filter((mark) => Number.isFinite(mark.value))\n .map((mark) => ({\n ...mark,\n position: getPositionPercent(mark.value, min, max),\n }));\n }, [marks, max, min]);\n\n if (!normalizedMarks.length) {\n return null;\n }\n\n return (\n <>\n {normalizedMarks.map((mark) => (\n <SliderMark\n disabled={disabled}\n filled={isMarkFilled({\n inverted,\n mark: mark.value,\n values,\n })}\n key={`${mark.value}-${String(mark.label)}`}\n label={mark.label}\n orientation={orientation}\n position={mark.position}\n />\n ))}\n </>\n );\n};\n\nexport { SliderMarks };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderThumbProps = SliderPrimitive.Thumb.Props;\n\nconst SliderThumb = ({ className, ...props }: SliderThumbProps) => (\n <SliderPrimitive.Thumb\n className={mergeBaseUIClassName<SliderPrimitive.Thumb.State>(\n \"group/thumb relative block h-[var(--slider-thumb-size,1.25rem)] w-[var(--slider-thumb-size,1.25rem)] shrink-0 cursor-clickable rounded-[var(--slider-radius,var(--radius-sm))] border border-border bg-background shadow-sm ring-ring/50 select-none hover:ring-[3px] has-[:focus-visible]:ring-[3px] has-[:focus-visible]:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[invalid]/slider:border-danger group-data-[invalid]/slider:ring-danger/20 dark:group-data-[invalid]/slider:ring-danger/40 transition-[color,box-shadow,border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-thumb\"\n />\n);\n\nexport { SliderThumb };\n","export interface SliderLabelTransitionProps {\n delay?: number;\n duration?: number;\n timingFunction?: string;\n}\n\nexport const defaultSliderLabelTransitionProps = {\n delay: 0,\n duration: 0,\n timingFunction: \"linear\",\n} as const satisfies Required<SliderLabelTransitionProps>;\n","\"use client\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { defaultSliderLabelTransitionProps } from \"../shared/slider-transition\";\nimport type { SliderLabelTransitionProps } from \"../shared/slider-transition\";\n\nexport interface SliderThumbLabelProps extends Omit<\n ComponentPropsWithoutRef<\"span\">,\n \"children\"\n> {\n label: ReactNode;\n labelAlwaysOn?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n showLabelOnHover?: boolean;\n transitionProps?: SliderLabelTransitionProps;\n}\n\nconst toMilliseconds = (value: number) => `${value}ms`;\n\nconst SliderThumbLabel = ({\n className,\n label,\n labelAlwaysOn,\n orientation = \"horizontal\",\n showLabelOnHover,\n style,\n transitionProps,\n ...props\n}: SliderThumbLabelProps) => {\n if (label === null || label === undefined) {\n return null;\n }\n\n const transitionDelay =\n transitionProps?.delay ?? defaultSliderLabelTransitionProps.delay;\n const transitionDuration =\n transitionProps?.duration ?? defaultSliderLabelTransitionProps.duration;\n const transitionTimingFunction =\n transitionProps?.timingFunction ??\n defaultSliderLabelTransitionProps.timingFunction;\n\n return (\n <span\n {...props}\n aria-hidden=\"true\"\n className={cn(\n \"z-floating bg-foreground text-background pointer-events-none absolute rounded-sm px-1.5 py-0.5 text-xs whitespace-nowrap shadow-sm transition-opacity group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n orientation === \"horizontal\"\n ? \"-top-[var(--slider-thumb-label-offset,2rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[var(--slider-thumb-label-offset-vertical,2rem)] -translate-y-1/2\",\n labelAlwaysOn\n ? \"opacity-100\"\n : \"opacity-0 group-has-[:focus]/thumb:opacity-100 group-data-[dragging]/slider:opacity-100\",\n showLabelOnHover ? \"group-hover/slider:opacity-100\" : undefined,\n className\n )}\n data-slot=\"slider-thumb-label\"\n style={{\n ...style,\n transitionDelay: toMilliseconds(transitionDelay),\n transitionDuration: toMilliseconds(transitionDuration),\n transitionTimingFunction,\n }}\n >\n {label}\n </span>\n );\n};\n\nexport { SliderThumbLabel };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderTrackProps = SliderPrimitive.Track.Props;\n\nconst SliderTrack = ({ className, ...props }: SliderTrackProps) => (\n <SliderPrimitive.Track\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"relative overflow-visible rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-track-color,var(--color-muted))] select-none group-data-[invalid]/slider:bg-danger/15 data-[orientation=horizontal]:h-[var(--slider-size,var(--slider-track-size,0.5rem))] data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-[var(--slider-size,var(--slider-track-size,0.5rem))] transition-[background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-track\"\n />\n);\n\nexport { SliderTrack };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderValueProps = SliderPrimitive.Value.Props;\n\nconst SliderValue = ({ className, ...props }: SliderValueProps) => (\n <SliderPrimitive.Value\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n undefined,\n className\n )}\n data-slot=\"slider-value\"\n {...props}\n />\n);\n\nexport { SliderValue };\n","import { getPrecisionFromStep } from \"../math/slider-math-utils\";\n\ninterface ResolveSliderBoundsOptions {\n domain?: [number, number];\n max: number;\n min: number;\n precision?: number;\n step: number;\n}\n\ninterface ResolvedSliderBounds {\n domainMax: number;\n domainMin: number;\n max: number;\n min: number;\n precision: number;\n}\n\nexport const resolveSliderBounds = ({\n domain,\n max,\n min,\n precision,\n step,\n}: ResolveSliderBoundsOptions): ResolvedSliderBounds => {\n const normalizedMin = Math.min(min, max);\n const normalizedMax = Math.max(min, max);\n\n const domainMin = Math.min(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n const domainMax = Math.max(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n\n return {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision: precision ?? getPrecisionFromStep(step),\n };\n};\n","import type { SliderLabel } from \"./slider-types\";\n\nexport const resolveSliderLabel = (\n label: SliderLabel | undefined,\n value: number\n) => {\n if (typeof label === \"function\") {\n return label(value);\n }\n\n return label;\n};\n","import type { CSSProperties } from \"react\";\n\nconst PIXEL_UNIT = \"px\";\n\nexport const sliderStyleTokens = {\n color: \"--slider-color\",\n markSize: \"--slider-mark-size\",\n radius: \"--slider-radius\",\n size: \"--slider-size\",\n thumbLabelOffset: \"--slider-thumb-label-offset\",\n thumbLabelOffsetVertical: \"--slider-thumb-label-offset-vertical\",\n thumbSize: \"--slider-thumb-size\",\n trackColor: \"--slider-track-color\",\n trackSize: \"--slider-track-size\",\n} as const;\n\nconst sliderSemanticSizes = {\n lg: { thumbSize: \"1.5rem\", trackSize: \"0.625rem\" },\n md: { thumbSize: \"1.25rem\", trackSize: \"0.5rem\" },\n sm: { thumbSize: \"1rem\", trackSize: \"0.375rem\" },\n xl: { thumbSize: \"1.75rem\", trackSize: \"0.75rem\" },\n xs: { thumbSize: \"0.875rem\", trackSize: \"0.25rem\" },\n} as const;\n\nconst sliderSemanticRadii = {\n lg: \"var(--radius-lg)\",\n md: \"var(--radius-md)\",\n sm: \"var(--radius-sm)\",\n xl: \"var(--radius-xl)\",\n xs: \"calc(var(--radius-sm) - 2px)\",\n} as const;\n\nconst semanticSliderColorNames = new Set([\n \"background\",\n \"border\",\n \"danger\",\n \"foreground\",\n \"info\",\n \"muted\",\n \"primary\",\n \"secondary\",\n \"success\",\n \"warning\",\n]);\n\nexport type SliderSemanticSize = keyof typeof sliderSemanticSizes;\nexport type SliderSemanticRadius = keyof typeof sliderSemanticRadii;\nexport type SliderStyleTokenLength = number | string | undefined;\nexport type SliderSize = SliderSemanticSize | number | string;\nexport type SliderRadius = SliderSemanticRadius | number | string;\n\nexport interface SliderRootStyleTokenOptions {\n color?: string;\n markSize?: SliderStyleTokenLength;\n radius?: SliderRadius | undefined;\n size?: SliderSize | undefined;\n thumbLabelOffset?: SliderStyleTokenLength;\n thumbLabelOffsetVertical?: SliderStyleTokenLength;\n thumbSize?: SliderSize | undefined;\n trackSize?: SliderSize | undefined;\n}\n\nconst isSemanticSliderSize = (value: unknown): value is SliderSemanticSize =>\n typeof value === \"string\" && value in sliderSemanticSizes;\n\nconst isSemanticSliderRadius = (\n value: unknown\n): value is SliderSemanticRadius =>\n typeof value === \"string\" && value in sliderSemanticRadii;\n\nconst toSliderStyleTokenValue = (value: SliderStyleTokenLength) => {\n if (value === undefined) {\n return;\n }\n\n return typeof value === \"number\" ? `${value}${PIXEL_UNIT}` : value;\n};\n\nconst resolveSliderColorValue = (color: string | undefined) => {\n if (color === undefined) {\n return \"var(--color-primary)\";\n }\n\n return semanticSliderColorNames.has(color) ? `var(--color-${color})` : color;\n};\n\nconst resolveSliderRadiusValue = (value: SliderRadius | undefined) => {\n if (value === undefined) {\n return \"var(--radius-sm)\";\n }\n\n if (isSemanticSliderRadius(value)) {\n return sliderSemanticRadii[value];\n }\n\n return toSliderStyleTokenValue(value);\n};\n\nconst resolveSliderTrackSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].trackSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].trackSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.trackSize;\n};\n\nconst resolveSliderThumbSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].thumbSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].thumbSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.thumbSize;\n};\n\nexport const resolveSliderRootStyleTokens = ({\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n}: SliderRootStyleTokenOptions): CSSProperties => {\n const markSizeValue = toSliderStyleTokenValue(markSize);\n const thumbLabelOffsetValue = toSliderStyleTokenValue(thumbLabelOffset);\n const thumbLabelOffsetVerticalValue = toSliderStyleTokenValue(\n thumbLabelOffsetVertical\n );\n const trackSizeValue = resolveSliderTrackSizeValue(trackSize, size);\n const thumbSizeValue = resolveSliderThumbSizeValue(thumbSize, size);\n\n return {\n [sliderStyleTokens.color]: resolveSliderColorValue(color),\n [sliderStyleTokens.radius]: resolveSliderRadiusValue(radius),\n [sliderStyleTokens.size]: trackSizeValue,\n [sliderStyleTokens.thumbSize]: thumbSizeValue,\n [sliderStyleTokens.trackColor]: \"var(--color-muted)\",\n [sliderStyleTokens.trackSize]: trackSizeValue,\n ...(markSizeValue === undefined\n ? {}\n : { [sliderStyleTokens.markSize]: markSizeValue }),\n ...(thumbLabelOffsetValue === undefined\n ? {}\n : { [sliderStyleTokens.thumbLabelOffset]: thumbLabelOffsetValue }),\n ...(thumbLabelOffsetVerticalValue === undefined\n ? {}\n : {\n [sliderStyleTokens.thumbLabelOffsetVertical]:\n thumbLabelOffsetVerticalValue,\n }),\n } as CSSProperties;\n};\n","import type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport type { CSSProperties } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { BaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { SliderRootStyleTokenOptions } from \"./slider-style-tokens\";\nimport { resolveSliderRootStyleTokens } from \"./slider-style-tokens\";\n\nexport const resolveSliderRootClassName = (\n className: BaseUIClassName<SliderPrimitive.Root.State>,\n inverted: boolean\n) =>\n mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/slider data-[orientation=horizontal]:w-full data-[orientation=horizontal]:px-[calc(var(--slider-thumb-size,1.25rem)/2)] data-[orientation=vertical]:h-full data-[orientation=vertical]:py-[calc(var(--slider-thumb-size,1.25rem)/2)]\",\n typeof className === \"function\"\n ? (state) =>\n [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className(state),\n ]\n .filter(Boolean)\n .join(\" \")\n : [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \")\n );\n\ntype SliderRootStyle<TValue extends number | number[]> =\n SliderPrimitive.Root.Props<TValue>[\"style\"];\n\nexport const mergeSliderRootStyle = <TValue extends number | number[]>(\n styleTokens: SliderRootStyleTokenOptions,\n style: SliderRootStyle<TValue>\n): SliderRootStyle<TValue> => {\n const baseStyle = resolveSliderRootStyleTokens(styleTokens);\n\n if (typeof style === \"function\") {\n return (state) => {\n const resolvedStyle = style(state);\n return baseStyle ? { ...baseStyle, ...resolvedStyle } : resolvedStyle;\n };\n }\n\n if (!baseStyle) {\n return style;\n }\n\n return { ...baseStyle, ...(style as CSSProperties | undefined) };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider-root-presentation-G0ByTcvd.js","names":["SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive"],"sources":["../src/ui/slider/math/slider-math-utils.ts","../src/ui/slider/primitives/slider-control.tsx","../src/ui/slider/primitives/slider-indicator.tsx","../src/ui/slider/primitives/slider-mark.tsx","../src/ui/slider/primitives/slider-marks.tsx","../src/ui/slider/primitives/slider-thumb.tsx","../src/ui/slider/shared/slider-transition.ts","../src/ui/slider/primitives/slider-thumb-label.tsx","../src/ui/slider/primitives/slider-track.tsx","../src/ui/slider/primitives/slider-value.tsx","../src/ui/slider/shared/slider-bounds.ts","../src/ui/slider/shared/slider-label.ts","../src/ui/slider/shared/slider-style-tokens.ts","../src/ui/slider/shared/slider-root-presentation.ts"],"sourcesContent":["import type { SliderMark } from \"../shared/slider-types\";\n\nconst EPSILON = 1e-9;\n\nexport const clampNumber = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nexport const getPrecisionFromStep = (step: number) => {\n if (!Number.isFinite(step) || step <= 0) {\n return 0;\n }\n\n const [, decimals] = step.toString().split(\".\");\n return decimals?.length ?? 0;\n};\n\nexport const toFloatingValue = (value: number, precision: number) =>\n Number.parseFloat(value.toFixed(precision));\n\nexport const getPositionPercent = (value: number, min: number, max: number) => {\n if (min === max) {\n return 0;\n }\n\n const percent = ((value - min) / (max - min)) * 100;\n return clampNumber(percent, 0, 100);\n};\n\nexport const getSortedSelectableMarks = (\n marks: readonly SliderMark[] | undefined,\n min: number,\n max: number\n) => {\n if (!marks?.length) {\n return [] as number[];\n }\n\n const uniqueMarks = new Set<number>();\n for (const mark of marks) {\n if (!Number.isFinite(mark.value)) {\n continue;\n }\n\n if (mark.value < min || mark.value > max) {\n continue;\n }\n\n uniqueMarks.add(mark.value);\n }\n\n const sortedMarks = [...uniqueMarks];\n sortedMarks.sort((a, b) => a - b);\n return sortedMarks;\n};\n\nexport const getNearestMarkValue = (\n value: number,\n marks: readonly number[]\n) => {\n if (!marks.length) {\n return value;\n }\n\n let nearest = marks[0] ?? value;\n let nearestDistance = Math.abs(value - nearest);\n\n for (const mark of marks) {\n const distance = Math.abs(value - mark);\n if (distance + EPSILON < nearestDistance) {\n nearest = mark;\n nearestDistance = distance;\n }\n }\n\n return nearest;\n};\n\nexport const getNextMarkValue = (current: number, marks: readonly number[]) => {\n for (const mark of marks) {\n if (mark > current + EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getPreviousMarkValue = (\n current: number,\n marks: readonly number[]\n) => {\n for (let index = marks.length - 1; index >= 0; index -= 1) {\n const mark = marks[index];\n if (mark !== undefined && mark < current - EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getFirstMarkValue = (marks: readonly number[], fallback: number) =>\n marks[0] ?? fallback;\n\nexport const getLastMarkValue = (marks: readonly number[], fallback: number) =>\n marks.at(-1) ?? fallback;\n\nexport const isMarkFilled = ({\n inverted = false,\n mark,\n values,\n}: {\n inverted?: boolean;\n mark: number;\n values: readonly number[];\n}) => {\n if (!values.length) {\n return false;\n }\n\n if (values.length === 1) {\n const [singleValue] = values;\n if (singleValue === undefined) {\n return false;\n }\n\n return inverted ? mark >= singleValue : mark <= singleValue;\n }\n\n const sortedValues = [...values];\n sortedValues.sort((a, b) => a - b);\n const [from = 0, to = 0] = sortedValues;\n\n if (inverted) {\n return mark <= from || mark >= to;\n }\n\n return mark >= from && mark <= to;\n};\n\nexport const isKeyboardLikeReason = (reason: string | null | undefined) =>\n reason === \"input-change\" || reason === \"keyboard\";\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderControlProps = SliderPrimitive.Control.Props;\n\nconst SliderControl = ({ className, ...props }: SliderControlProps) => (\n <SliderPrimitive.Control\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/control relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:w-auto data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:flex-col\",\n className\n )}\n data-slot=\"slider-control\"\n {...props}\n />\n);\n\nexport { SliderControl };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderIndicatorProps = SliderPrimitive.Indicator.Props;\n\nconst SliderIndicator = ({ className, ...props }: SliderIndicatorProps) => (\n <SliderPrimitive.Indicator\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-color,var(--color-primary))] select-none group-data-[invalid]/slider:bg-danger data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full transition-[background-color,inset-inline-start,inset-inline-end,inset-block-start,inset-block-end,width,height] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-range\"\n />\n);\n\nexport { SliderIndicator };\n","\"use client\";\n\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nexport interface SliderMarkProps {\n disabled?: boolean;\n filled?: boolean;\n label?: ReactNode;\n orientation?: \"horizontal\" | \"vertical\";\n position: number;\n}\n\nconst SliderMark = ({\n disabled,\n filled,\n label,\n orientation = \"horizontal\",\n position,\n}: SliderMarkProps) => {\n const isHorizontal = orientation === \"horizontal\";\n\n const wrapperStyle = isHorizontal\n ? ({ insetInlineStart: `${position}%` } satisfies CSSProperties)\n : ({ bottom: `${position}%` } satisfies CSSProperties);\n\n return (\n <div\n className={cn(\n \"z-elevated pointer-events-none absolute\",\n isHorizontal\n ? \"top-1/2 -translate-x-1/2 -translate-y-1/2\"\n : \"left-1/2 -translate-x-1/2 translate-y-1/2\"\n )}\n data-filled={filled ? \"true\" : \"false\"}\n data-slot=\"slider-mark\"\n style={wrapperStyle}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n \"block h-[var(--slider-mark-size,0.5rem)] w-[var(--slider-mark-size,0.5rem)] rounded-full border transition-[border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n filled\n ? \"border-[var(--slider-color,var(--color-primary))] bg-[var(--slider-color,var(--color-primary))]\"\n : \"border-border bg-background\",\n disabled && \"border-muted bg-muted\"\n )}\n data-slot=\"slider-mark-dot\"\n />\n {label ? (\n <span\n className={cn(\n \"text-muted-foreground pointer-events-none absolute text-xs whitespace-nowrap\",\n isHorizontal\n ? \"top-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] -translate-y-1/2\"\n )}\n data-slot=\"slider-mark-label\"\n >\n {label}\n </span>\n ) : null}\n </div>\n );\n};\n\nexport { SliderMark };\n","\"use client\";\n\nimport { useMemo } from \"react\";\n\nimport { getPositionPercent, isMarkFilled } from \"../math/slider-math-utils\";\nimport type { SliderMark as SliderMarkType } from \"../shared/slider-types\";\nimport { SliderMark } from \"./slider-mark\";\n\nexport interface SliderMarksProps {\n disabled?: boolean;\n inverted?: boolean;\n marks?: readonly SliderMarkType[];\n max: number;\n min: number;\n orientation?: \"horizontal\" | \"vertical\";\n values: readonly number[];\n}\n\nconst SliderMarks = ({\n disabled,\n inverted,\n marks,\n max,\n min,\n orientation = \"horizontal\",\n values,\n}: SliderMarksProps) => {\n const normalizedMarks = useMemo(() => {\n if (!marks?.length) {\n return [];\n }\n\n return marks\n .filter((mark) => Number.isFinite(mark.value))\n .map((mark) => ({\n ...mark,\n position: getPositionPercent(mark.value, min, max),\n }));\n }, [marks, max, min]);\n\n if (!normalizedMarks.length) {\n return null;\n }\n\n return (\n <>\n {normalizedMarks.map((mark) => (\n <SliderMark\n disabled={disabled}\n filled={isMarkFilled({\n inverted,\n mark: mark.value,\n values,\n })}\n key={`${mark.value}-${String(mark.label)}`}\n label={mark.label}\n orientation={orientation}\n position={mark.position}\n />\n ))}\n </>\n );\n};\n\nexport { SliderMarks };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderThumbProps = SliderPrimitive.Thumb.Props;\n\nconst SliderThumb = ({ className, ...props }: SliderThumbProps) => (\n <SliderPrimitive.Thumb\n className={mergeBaseUIClassName<SliderPrimitive.Thumb.State>(\n \"group/thumb relative block h-[var(--slider-thumb-size,1.25rem)] w-[var(--slider-thumb-size,1.25rem)] shrink-0 cursor-clickable rounded-[var(--slider-radius,var(--radius-sm))] border border-border bg-background shadow-sm ring-ring/50 select-none hover:ring-[3px] has-[:focus-visible]:ring-[3px] has-[:focus-visible]:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[invalid]/slider:border-danger group-data-[invalid]/slider:ring-danger/20 dark:group-data-[invalid]/slider:ring-danger/40 transition-[color,box-shadow,border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-thumb\"\n />\n);\n\nexport { SliderThumb };\n","export interface SliderLabelTransitionProps {\n delay?: number;\n duration?: number;\n timingFunction?: string;\n}\n\nexport const defaultSliderLabelTransitionProps = {\n delay: 0,\n duration: 0,\n timingFunction: \"linear\",\n} as const satisfies Required<SliderLabelTransitionProps>;\n","\"use client\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { defaultSliderLabelTransitionProps } from \"../shared/slider-transition\";\nimport type { SliderLabelTransitionProps } from \"../shared/slider-transition\";\n\nexport interface SliderThumbLabelProps extends Omit<\n ComponentPropsWithoutRef<\"span\">,\n \"children\"\n> {\n label: ReactNode;\n labelAlwaysOn?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n showLabelOnHover?: boolean;\n transitionProps?: SliderLabelTransitionProps;\n}\n\nconst toMilliseconds = (value: number) => `${value}ms`;\n\nconst SliderThumbLabel = ({\n className,\n label,\n labelAlwaysOn,\n orientation = \"horizontal\",\n showLabelOnHover,\n style,\n transitionProps,\n ...props\n}: SliderThumbLabelProps) => {\n if (label === null || label === undefined) {\n return null;\n }\n\n const transitionDelay =\n transitionProps?.delay ?? defaultSliderLabelTransitionProps.delay;\n const transitionDuration =\n transitionProps?.duration ?? defaultSliderLabelTransitionProps.duration;\n const transitionTimingFunction =\n transitionProps?.timingFunction ??\n defaultSliderLabelTransitionProps.timingFunction;\n\n return (\n <span\n {...props}\n aria-hidden=\"true\"\n className={cn(\n \"z-floating bg-foreground text-background pointer-events-none absolute rounded-sm px-1.5 py-0.5 text-xs whitespace-nowrap shadow-sm transition-opacity group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n orientation === \"horizontal\"\n ? \"-top-[var(--slider-thumb-label-offset,2rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[var(--slider-thumb-label-offset-vertical,2rem)] -translate-y-1/2\",\n labelAlwaysOn\n ? \"opacity-100\"\n : \"opacity-0 group-has-[:focus]/thumb:opacity-100 group-data-[dragging]/slider:opacity-100\",\n showLabelOnHover ? \"group-hover/slider:opacity-100\" : undefined,\n className\n )}\n data-slot=\"slider-thumb-label\"\n style={{\n ...style,\n transitionDelay: toMilliseconds(transitionDelay),\n transitionDuration: toMilliseconds(transitionDuration),\n transitionTimingFunction,\n }}\n >\n {label}\n </span>\n );\n};\n\nexport { SliderThumbLabel };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderTrackProps = SliderPrimitive.Track.Props;\n\nconst SliderTrack = ({ className, ...props }: SliderTrackProps) => (\n <SliderPrimitive.Track\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"relative overflow-visible rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-track-color,var(--color-muted))] select-none group-data-[invalid]/slider:bg-danger/15 data-[orientation=horizontal]:h-[var(--slider-size,var(--slider-track-size,0.5rem))] data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-[var(--slider-size,var(--slider-track-size,0.5rem))] transition-[background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-track\"\n />\n);\n\nexport { SliderTrack };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderValueProps = SliderPrimitive.Value.Props;\n\nconst SliderValue = ({ className, ...props }: SliderValueProps) => (\n <SliderPrimitive.Value\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n undefined,\n className\n )}\n data-slot=\"slider-value\"\n {...props}\n />\n);\n\nexport { SliderValue };\n","import { getPrecisionFromStep } from \"../math/slider-math-utils\";\n\ninterface ResolveSliderBoundsOptions {\n domain?: [number, number];\n max: number;\n min: number;\n precision?: number;\n step: number;\n}\n\ninterface ResolvedSliderBounds {\n domainMax: number;\n domainMin: number;\n max: number;\n min: number;\n precision: number;\n}\n\nexport const resolveSliderBounds = ({\n domain,\n max,\n min,\n precision,\n step,\n}: ResolveSliderBoundsOptions): ResolvedSliderBounds => {\n const normalizedMin = Math.min(min, max);\n const normalizedMax = Math.max(min, max);\n\n const domainMin = Math.min(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n const domainMax = Math.max(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n\n return {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision: precision ?? getPrecisionFromStep(step),\n };\n};\n","import type { SliderLabel } from \"./slider-types\";\n\nexport const resolveSliderLabel = (\n label: SliderLabel | undefined,\n value: number\n) => {\n if (typeof label === \"function\") {\n return label(value);\n }\n\n return label;\n};\n","import type { CSSProperties } from \"react\";\n\nconst PIXEL_UNIT = \"px\";\n\nexport const sliderStyleTokens = {\n color: \"--slider-color\",\n markSize: \"--slider-mark-size\",\n radius: \"--slider-radius\",\n size: \"--slider-size\",\n thumbLabelOffset: \"--slider-thumb-label-offset\",\n thumbLabelOffsetVertical: \"--slider-thumb-label-offset-vertical\",\n thumbSize: \"--slider-thumb-size\",\n trackColor: \"--slider-track-color\",\n trackSize: \"--slider-track-size\",\n} as const;\n\nconst sliderSemanticSizes = {\n lg: { thumbSize: \"1.5rem\", trackSize: \"0.625rem\" },\n md: { thumbSize: \"1.25rem\", trackSize: \"0.5rem\" },\n sm: { thumbSize: \"1rem\", trackSize: \"0.375rem\" },\n xl: { thumbSize: \"1.75rem\", trackSize: \"0.75rem\" },\n xs: { thumbSize: \"0.875rem\", trackSize: \"0.25rem\" },\n} as const;\n\nconst sliderSemanticRadii = {\n lg: \"var(--radius-lg)\",\n md: \"var(--radius-md)\",\n sm: \"var(--radius-sm)\",\n xl: \"var(--radius-xl)\",\n xs: \"calc(var(--radius-sm) - 2px)\",\n} as const;\n\nconst semanticSliderColorNames = new Set([\n \"background\",\n \"border\",\n \"danger\",\n \"foreground\",\n \"info\",\n \"muted\",\n \"primary\",\n \"secondary\",\n \"success\",\n \"warning\",\n]);\n\nexport type SliderSemanticSize = keyof typeof sliderSemanticSizes;\nexport type SliderSemanticRadius = keyof typeof sliderSemanticRadii;\nexport type SliderStyleTokenLength = number | string | undefined;\nexport type SliderSize = SliderSemanticSize | number | string;\nexport type SliderRadius = SliderSemanticRadius | number | string;\n\nexport interface SliderRootStyleTokenOptions {\n color?: string;\n markSize?: SliderStyleTokenLength;\n radius?: SliderRadius | undefined;\n size?: SliderSize | undefined;\n thumbLabelOffset?: SliderStyleTokenLength;\n thumbLabelOffsetVertical?: SliderStyleTokenLength;\n thumbSize?: SliderSize | undefined;\n trackSize?: SliderSize | undefined;\n}\n\nconst isSemanticSliderSize = (value: unknown): value is SliderSemanticSize =>\n typeof value === \"string\" && value in sliderSemanticSizes;\n\nconst isSemanticSliderRadius = (\n value: unknown\n): value is SliderSemanticRadius =>\n typeof value === \"string\" && value in sliderSemanticRadii;\n\nconst toSliderStyleTokenValue = (value: SliderStyleTokenLength) => {\n if (value === undefined) {\n return;\n }\n\n return typeof value === \"number\" ? `${value}${PIXEL_UNIT}` : value;\n};\n\nconst resolveSliderColorValue = (color: string | undefined) => {\n if (color === undefined) {\n return \"var(--color-primary)\";\n }\n\n return semanticSliderColorNames.has(color) ? `var(--color-${color})` : color;\n};\n\nconst resolveSliderRadiusValue = (value: SliderRadius | undefined) => {\n if (value === undefined) {\n return \"var(--radius-sm)\";\n }\n\n if (isSemanticSliderRadius(value)) {\n return sliderSemanticRadii[value];\n }\n\n return toSliderStyleTokenValue(value);\n};\n\nconst resolveSliderTrackSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].trackSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].trackSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.trackSize;\n};\n\nconst resolveSliderThumbSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].thumbSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].thumbSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.thumbSize;\n};\n\nexport const resolveSliderRootStyleTokens = ({\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n}: SliderRootStyleTokenOptions): CSSProperties => {\n const markSizeValue = toSliderStyleTokenValue(markSize);\n const thumbLabelOffsetValue = toSliderStyleTokenValue(thumbLabelOffset);\n const thumbLabelOffsetVerticalValue = toSliderStyleTokenValue(\n thumbLabelOffsetVertical\n );\n const trackSizeValue = resolveSliderTrackSizeValue(trackSize, size);\n const thumbSizeValue = resolveSliderThumbSizeValue(thumbSize, size);\n\n return {\n [sliderStyleTokens.color]: resolveSliderColorValue(color),\n [sliderStyleTokens.radius]: resolveSliderRadiusValue(radius),\n [sliderStyleTokens.size]: trackSizeValue,\n [sliderStyleTokens.thumbSize]: thumbSizeValue,\n [sliderStyleTokens.trackColor]: \"var(--color-muted)\",\n [sliderStyleTokens.trackSize]: trackSizeValue,\n ...(markSizeValue === undefined\n ? {}\n : { [sliderStyleTokens.markSize]: markSizeValue }),\n ...(thumbLabelOffsetValue === undefined\n ? {}\n : { [sliderStyleTokens.thumbLabelOffset]: thumbLabelOffsetValue }),\n ...(thumbLabelOffsetVerticalValue === undefined\n ? {}\n : {\n [sliderStyleTokens.thumbLabelOffsetVertical]:\n thumbLabelOffsetVerticalValue,\n }),\n } as CSSProperties;\n};\n","import type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport type { CSSProperties } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { BaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { SliderRootStyleTokenOptions } from \"./slider-style-tokens\";\nimport { resolveSliderRootStyleTokens } from \"./slider-style-tokens\";\n\nexport const resolveSliderRootClassName = (\n className: BaseUIClassName<SliderPrimitive.Root.State>,\n inverted: boolean\n) =>\n mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/slider data-[orientation=horizontal]:w-full data-[orientation=horizontal]:px-[calc(var(--slider-thumb-size,1.25rem)/2)] data-[orientation=vertical]:h-full data-[orientation=vertical]:py-[calc(var(--slider-thumb-size,1.25rem)/2)]\",\n typeof className === \"function\"\n ? (state) =>\n [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className(state),\n ]\n .filter(Boolean)\n .join(\" \")\n : [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \")\n );\n\ntype SliderRootStyle<TValue extends number | number[]> =\n SliderPrimitive.Root.Props<TValue>[\"style\"];\n\nexport const mergeSliderRootStyle = <TValue extends number | number[]>(\n styleTokens: SliderRootStyleTokenOptions,\n style: SliderRootStyle<TValue>\n): SliderRootStyle<TValue> => {\n const baseStyle = resolveSliderRootStyleTokens(styleTokens);\n\n if (typeof style === \"function\") {\n return (state) => {\n const resolvedStyle = style(state);\n return baseStyle ? { ...baseStyle, ...resolvedStyle } : resolvedStyle;\n };\n }\n\n if (!baseStyle) {\n return style;\n }\n\n return { ...baseStyle, ...(style as CSSProperties | undefined) };\n};\n"],"mappings":"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"}
|
|
@@ -143,4 +143,4 @@ type SliderSize = SliderSemanticSize | number | string;
|
|
|
143
143
|
type SliderRadius = SliderSemanticRadius | number | string;
|
|
144
144
|
//#endregion
|
|
145
145
|
export { SliderControl as C, SliderIndicatorProps as S, SliderMark as _, SliderValue as a, SliderMarkProps as b, SliderTrackProps as c, SliderLabelTransitionProps as d, SliderThumb as f, SliderLabel as g, SliderMarksProps as h, SliderSize as i, SliderThumbLabel as l, SliderMarks as m, SliderSemanticRadius as n, SliderValueProps as o, SliderThumbProps as p, SliderSemanticSize as r, SliderTrack as s, SliderRadius as t, SliderThumbLabelProps as u, SliderValue$1 as v, SliderControlProps as w, SliderIndicator as x, SliderMark$1 as y };
|
|
146
|
-
//# sourceMappingURL=slider-style-tokens-
|
|
146
|
+
//# sourceMappingURL=slider-style-tokens-DNzHvGii.d.ts.map
|
package/dist/{slider-style-tokens-CZezJilZ.d.ts.map → slider-style-tokens-DNzHvGii.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-style-tokens-
|
|
1
|
+
{"version":3,"file":"slider-style-tokens-DNzHvGii.d.ts","names":[],"sources":["../src/ui/slider/primitives/slider-control.tsx","../src/ui/slider/primitives/slider-indicator.tsx","../src/ui/slider/primitives/slider-mark.tsx","../src/ui/slider/shared/slider-types.ts","../src/ui/slider/primitives/slider-marks.tsx","../src/ui/slider/primitives/slider-thumb.tsx","../src/ui/slider/shared/slider-transition.ts","../src/ui/slider/primitives/slider-thumb-label.tsx","../src/ui/slider/primitives/slider-track.tsx","../src/ui/slider/primitives/slider-value.tsx","../src/ui/slider/shared/slider-style-tokens.ts"],"mappings":";;;;;KAMY,kBAAA,GAAqB,MAAA,CAAgB,OAAA,CAAQ,KAAA;AAAA,cAEnD,aAAA;EAAiB,SAAA;EAAA,GAAA;AAAA,GAAyB,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFtD,oBAAA,GAAuB,MAAA,CAAgB,SAAA,CAAU,KAAA;AAAA,cAEvD,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCHrD,eAAA;EACf,QAAA;EACA,MAAA;EACA,KAAA,GAAQ,SAAA;EACR,WAAA;EACA,QAAA;AAAA;AAAA,cAGI,YAAA;EAAc,QAAA;EAAA,MAAA;EAAA,KAAA;EAAA,WAAA;EAAA;AAAA,GAMjB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCjBN,aAAA;AAAA,UAEK,UAAA;EACf,KAAA,GAAQ,SAAA;EACR,KAAA;AAAA;AAAA,KAGU,WAAA,KAAgB,KAAA,aAAkB,SAAA,IAAa,SAAA;;;UCD1C,gBAAA;EACf,QAAA;EACA,QAAA;EACA,KAAA,YAAiB,UAAA;EACjB,GAAA;EACA,GAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,cAGI,WAAA;EAAe,QAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;EAAA,GAAA;EAAA,WAAA;EAAA;AAAA,GAQlB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCpBP,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCR7C,0BAAA;EACf,KAAA;EACA,QAAA;EACA,cAAA;AAAA;;;UCKe,qBAAA,SAA8B,IAAA,CAC7C,wBAAA;EAGA,KAAA,EAAO,SAAA;EACP,aAAA;EACA,WAAA;EACA,gBAAA;EACA,eAAA,GAAkB,0BAAA;AAAA;AAAA,cAKd,gBAAA;EAAoB,SAAA;EAAA,KAAA;EAAA,aAAA;EAAA,WAAA;EAAA,gBAAA;EAAA,KAAA;EAAA,eAAA;EAAA,GAAA;AAAA,GASvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCxBZ,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFlD,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCQxD,mBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;cAQA,mBAAA;EAAA;;;;;;KAqBM,kBAAA,gBAAkC,mBAAA;AAAA,KAClC,oBAAA,gBAAoC,mBAAA;AAAA,KAEpC,UAAA,GAAa,kBAAA;AAAA,KACb,YAAA,GAAe,oBAAA"}
|
|
@@ -34,4 +34,4 @@ type TextareaProps = ComponentProps<typeof TextareaAutosize> & VariantProps<type
|
|
|
34
34
|
declare const Textarea: (incomingProps: TextareaProps) => react_jsx_runtime0.JSX.Element;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { TextareaProps as n, Textarea as t };
|
|
37
|
-
//# sourceMappingURL=textarea-
|
|
37
|
+
//# sourceMappingURL=textarea-rmoEkvdu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-
|
|
1
|
+
{"version":3,"file":"textarea-rmoEkvdu.d.ts","names":[],"sources":["../src/ui/textarea/textarea.tsx"],"mappings":";;;;;;;cAUM,gBAAA,EAcJ,kBAAA,CAdoB,YAAA;;;;;;;;;;;;;;;;cAcpB,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,aAAA,GAAgB,cAAA,QAAsB,gBAAA,IAChD,YAAA,QAAoB,gBAAA;AAAA,cAEhB,QAAA,GAAY,aAAA,EAAe,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-
|
|
1
|
+
{"version":3,"file":"textarea-vNt8edEA.js","names":[],"sources":["../src/ui/textarea/use-textarea-default-props.ts","../src/ui/textarea/textarea.tsx"],"sourcesContent":["import { useComponentDefaultProps } from \"../shared/size/size-provider\";\nimport type { TextareaProps } from \"./textarea\";\n\nexport const useTextareaDefaultProps = (\n incomingProps: TextareaProps\n): TextareaProps =>\n useComponentDefaultProps<TextareaProps>(\"Textarea\", {}, incomingProps);\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { useTextareaDefaultProps } from \"./use-textarea-default-props\";\n\nconst textareaVariants = tv({\n base: \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex field-sizing-content w-full border bg-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"min-h-18 rounded-md px-3 py-2.5 text-base md:text-sm\",\n md: \"min-h-16 rounded-md px-2.5 py-2 text-base md:text-sm\",\n sm: \"min-h-14 rounded-[min(var(--radius-md),10px)] px-2.5 py-1.5 text-sm\",\n xl: \"min-h-20 rounded-md px-4 py-2.5 text-base\",\n xs: \"min-h-12 rounded-[min(var(--radius-md),8px)] px-2 py-1 text-xs\",\n },\n },\n});\n\nexport type TextareaProps = ComponentProps<typeof TextareaAutosize> &\n VariantProps<typeof textareaVariants>;\n\nconst Textarea = (incomingProps: TextareaProps) => {\n const {\n className,\n rows = 3,\n size: providedSize,\n ...props\n } = useTextareaDefaultProps(incomingProps);\n const size = useComponentSize(providedSize);\n\n return (\n <TextareaAutosize\n className={textareaVariants({\n className,\n size,\n })}\n data-size={size}\n data-slot=\"textarea\"\n minRows={rows}\n {...props}\n />\n );\n};\n\nexport { Textarea };\n"],"mappings":";;;;;;AAGA,MAAa,2BACX,kBAEA,yBAAwC,YAAY,EAAE,EAAE,cAAc;;;;ACIxE,MAAM,mBAAmB,GAAG;CAC1B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAKF,MAAM,YAAY,kBAAiC;CACjD,MAAM,EACJ,WACA,OAAO,GACP,MAAM,cACN,GAAG,UACD,wBAAwB,cAAc;CAC1C,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC,kBAAD;EACE,WAAW,iBAAiB;GAC1B;GACA;GACD,CAAC;EACF,aAAW;EACX,aAAU;EACV,SAAS;EACT,GAAI;EACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-
|
|
1
|
+
{"version":3,"file":"toggle-D8kPPZH9.d.ts","names":[],"sources":["../src/ui/toggle/toggle.tsx"],"mappings":";;;;;;cASM,cAAA,EAmBJ,kBAAA,CAnBkB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cAmBlB,kBAAA,CAAA,YAAA;;;;;;;;;;;;;KAEU,WAAA,GAAc,MAAA,CAAgB,KAAA,GACxC,YAAA,QAAoB,cAAA;AAAA,cAEhB,QAAA;EAAU,SAAA;EAAA,OAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKb,WAAA,KAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -123,4 +123,4 @@ Tooltip$1.Viewport = TooltipViewport;
|
|
|
123
123
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { TooltipViewport as a, TooltipPopup as c, TooltipContent as i, TooltipArrow as l, TooltipTrigger as n, TooltipPositioner as o, TooltipProvider as r, TooltipPortal as s, Tooltip$1 as t };
|
|
126
|
-
//# sourceMappingURL=tooltip-
|
|
126
|
+
//# sourceMappingURL=tooltip-BUo_HPnp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-D0BEpCQx.js","names":["TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","Tooltip","TooltipPrimitive"],"sources":["../src/ui/tooltip/tooltip-arrow.tsx","../src/ui/tooltip/tooltip-size-context.ts","../src/ui/tooltip/tooltip-popup.tsx","../src/ui/tooltip/tooltip-portal.tsx","../src/ui/tooltip/tooltip-positioner.tsx","../src/ui/tooltip/tooltip-viewport.tsx","../src/ui/tooltip/tooltip-content.tsx","../src/ui/tooltip/tooltip-provider.tsx","../src/ui/tooltip/tooltip-trigger.tsx","../src/ui/tooltip/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\n\nexport type TooltipArrowProps = TooltipPrimitive.Arrow.Props;\n\nconst TooltipArrow = ({ className, ...props }: TooltipArrowProps) => (\n <TooltipPrimitive.Arrow\n className={cn(\n \"z-overlay bg-foreground fill-foreground size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\",\n className\n )}\n data-slot=\"tooltip-arrow\"\n {...props}\n />\n);\n\nexport { TooltipArrow };\n","import { createSizeContext } from \"../shared/size/size-context\";\nimport type { UISize } from \"../shared/size/size-system\";\n\nexport type TooltipSize = UISize;\n\nconst {\n SizeContext: TooltipSizeContext,\n useResolvedSize: useResolvedTooltipSize,\n} = createSizeContext();\n\nexport { TooltipSizeContext, useResolvedTooltipSize };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { useResolvedTooltipSize } from \"./tooltip-size-context\";\n\nconst tooltipPopupVariants = tv({\n base: \"z-overlay bg-foreground text-background data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-starting-style:animate-in data-starting-style:fade-in-0 data-starting-style:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 w-fit origin-(--transform-origin)\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"max-w-sm rounded-md px-3.5 py-2 text-sm\",\n md: \"max-w-xs rounded-md px-3 py-1.5 text-xs\",\n sm: \"max-w-48 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-xs\",\n xl: \"max-w-md rounded-md px-4 py-2.5 text-base\",\n xs: \"max-w-40 rounded-[min(var(--radius-md),8px)] px-2 py-1 text-xs\",\n },\n },\n});\n\ntype TooltipPopupVariantProps = Omit<\n VariantProps<typeof tooltipPopupVariants>,\n \"size\"\n> & {\n size?: TooltipSize;\n};\n\nexport type TooltipPopupProps = TooltipPrimitive.Popup.Props &\n TooltipPopupVariantProps;\n\nconst TooltipPopup = ({ className, size, ...props }: TooltipPopupProps) => {\n const resolvedSize = useResolvedTooltipSize(size);\n\n return (\n <TooltipPrimitive.Popup\n className={mergeBaseUIClassName<TooltipPrimitive.Popup.State>(\n tooltipPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"tooltip-popup\"\n {...props}\n />\n );\n};\n\nexport { TooltipPopup };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nexport type TooltipPortalProps = TooltipPrimitive.Portal.Props;\n\nconst TooltipPortal = ({ ...props }: TooltipPortalProps) => (\n <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n);\n\nexport { TooltipPortal };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\n\nexport type TooltipPositionerProps = TooltipPrimitive.Positioner.Props;\n\nconst TooltipPositioner = ({ className, ...props }: TooltipPositionerProps) => (\n <TooltipPrimitive.Positioner\n className={cn(\n \"z-overlay isolate h-[var(--positioner-height)] w-[var(--positioner-width)] max-w-[var(--available-width)]\",\n className\n )}\n data-slot=\"tooltip-positioner\"\n {...props}\n />\n);\n\nexport { TooltipPositioner };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nexport type TooltipViewportProps = TooltipPrimitive.Viewport.Props;\n\nconst TooltipViewport = ({ ...props }: TooltipViewportProps) => (\n <TooltipPrimitive.Viewport data-slot=\"tooltip-viewport\" {...props} />\n);\n\nexport { TooltipViewport };\n","\"use client\";\n\nimport type { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nimport { TooltipArrow } from \"./tooltip-arrow\";\nimport { TooltipPopup } from \"./tooltip-popup\";\nimport { TooltipPortal } from \"./tooltip-portal\";\nimport { TooltipPositioner } from \"./tooltip-positioner\";\nimport { useResolvedTooltipSize } from \"./tooltip-size-context\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { TooltipViewport } from \"./tooltip-viewport\";\nexport type TooltipContentProps = TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n size?: TooltipSize;\n };\n\nconst TooltipContent = ({\n className,\n side = \"top\",\n sideOffset = 4,\n size,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipContentProps) => {\n const resolvedSize = useResolvedTooltipSize(size);\n\n return (\n <TooltipPortal>\n <TooltipPositioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"tooltip-content\"\n size={resolvedSize}\n {...props}\n >\n <TooltipViewport>{children}</TooltipViewport>\n <TooltipArrow />\n </TooltipPopup>\n </TooltipPositioner>\n </TooltipPortal>\n );\n};\n\nexport { TooltipContent };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nexport type TooltipProviderProps = TooltipPrimitive.Provider.Props;\n\nconst TooltipProvider = ({ delay = 0, ...props }: TooltipProviderProps) => (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n);\n\nexport { TooltipProvider };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\nexport type TooltipTriggerProps = TooltipPrimitive.Trigger.Props;\n\nconst TooltipTrigger = ({ className, ...props }: TooltipTriggerProps) => (\n <TooltipPrimitive.Trigger\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"tooltip-trigger\"\n {...props}\n />\n);\n\nexport { TooltipTrigger };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { useMemo } from \"react\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { TooltipArrow } from \"./tooltip-arrow\";\nimport { TooltipContent } from \"./tooltip-content\";\nimport { TooltipPopup } from \"./tooltip-popup\";\nimport { TooltipPortal } from \"./tooltip-portal\";\nimport { TooltipPositioner } from \"./tooltip-positioner\";\nimport { TooltipProvider } from \"./tooltip-provider\";\nimport { TooltipSizeContext } from \"./tooltip-size-context\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { TooltipTrigger } from \"./tooltip-trigger\";\nimport { TooltipViewport } from \"./tooltip-viewport\";\nexport type TooltipProps = TooltipPrimitive.Root.Props & {\n size?: TooltipSize;\n};\n\nconst Tooltip = ({ size: providedSize, ...props }: TooltipProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <TooltipSizeContext.Provider value={contextValue}>\n <TooltipProvider>\n <TooltipPrimitive.Root\n data-size={size}\n data-slot=\"tooltip\"\n {...props}\n />\n </TooltipProvider>\n </TooltipSizeContext.Provider>\n );\n};\n\nTooltip.Content = TooltipContent;\nTooltip.Arrow = TooltipArrow;\nTooltip.Popup = TooltipPopup;\nTooltip.Portal = TooltipPortal;\nTooltip.Positioner = TooltipPositioner;\nTooltip.Provider = TooltipProvider;\nTooltip.Trigger = TooltipTrigger;\nTooltip.Viewport = TooltipViewport;\n\nexport type { TooltipArrowProps } from \"./tooltip-arrow\";\nexport type { TooltipPopupProps } from \"./tooltip-popup\";\nexport type { TooltipPortalProps } from \"./tooltip-portal\";\nexport type { TooltipPositionerProps } from \"./tooltip-positioner\";\nexport type { TooltipViewportProps } from \"./tooltip-viewport\";\n\nexport {\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPopup,\n TooltipPortal,\n TooltipPositioner,\n TooltipProvider,\n TooltipTrigger,\n TooltipViewport,\n};\n\nexport type { TooltipContentProps } from \"./tooltip-content\";\nexport type { TooltipProviderProps } from \"./tooltip-provider\";\nexport type { TooltipSize } from \"./tooltip-size-context\";\nexport type { TooltipTriggerProps } from \"./tooltip-trigger\";\n"],"mappings":";;;;;;;;;AAOA,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAACA,QAAiB,OAAlB;CACE,WAAW,GACT,8UACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACVJ,MAAM,EACJ,aAAa,oBACb,iBAAiB,2BACf,mBAAmB;;;;ACEvB,MAAM,uBAAuB,GAAG;CAC9B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,gBAAgB,EAAE,WAAW,MAAM,GAAG,YAA+B;CACzE,MAAM,eAAe,uBAAuB,KAAK;AAEjD,QACE,oBAACC,QAAiB,OAAlB;EACE,WAAW,qBACT,qBAAqB,EAAE,MAAM,cAAc,CAAC,EAC5C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;AC1CN,MAAM,iBAAiB,EAAE,GAAG,YAC1B,oBAACC,QAAiB,QAAlB;CAAyB,aAAU;CAAiB,GAAI;CAAS;;;;ACAnE,MAAM,qBAAqB,EAAE,WAAW,GAAG,YACzC,oBAACC,QAAiB,YAAlB;CACE,WAAW,GACT,6GACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,mBAAmB,EAAE,GAAG,YAC5B,oBAACC,QAAiB,UAAlB;CAA2B,aAAU;CAAmB,GAAI;CAAS;;;;ACYvE,MAAM,kBAAkB,EACtB,WACA,OAAO,OACP,aAAa,GACb,MACA,QAAQ,UACR,cAAc,GACd,UACA,GAAG,YACsB;CACzB,MAAM,eAAe,uBAAuB,KAAK;AAEjD,QACE,oBAAC,eAAD,YACE,oBAAC,mBAAD;EACS;EACM;EACP;EACM;YAEZ,qBAAC,cAAD;GACa;GACX,aAAW;GACX,aAAU;GACV,MAAM;GACN,GAAI;aALN,CAOE,oBAAC,iBAAD,EAAkB,UAA2B,GAC7C,oBAAC,cAAD,EAAgB,EACH;;EACG,GACN;;;;;AC7CpB,MAAM,mBAAmB,EAAE,QAAQ,GAAG,GAAG,YACvC,oBAACC,QAAiB,UAAlB;CACE,aAAU;CACH;CACP,GAAI;CACJ;;;;ACJJ,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACC,QAAiB,SAAlB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACSJ,MAAMC,aAAW,EAAE,MAAM,cAAc,GAAG,YAA0B;CAClE,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;YAClC,oBAAC,iBAAD,YACE,oBAACC,QAAiB,MAAlB;GACE,aAAW;GACX,aAAU;GACV,GAAI;GACJ,GACc;EACU;;AAIlC,UAAQ,UAAU;AAClB,UAAQ,QAAQ;AAChB,UAAQ,QAAQ;AAChB,UAAQ,SAAS;AACjB,UAAQ,aAAa;AACrB,UAAQ,WAAW;AACnB,UAAQ,UAAU;AAClB,UAAQ,WAAW"}
|
|
1
|
+
{"version":3,"file":"tooltip-BUo_HPnp.js","names":["TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","TooltipPrimitive","Tooltip","TooltipPrimitive"],"sources":["../src/ui/tooltip/tooltip-arrow.tsx","../src/ui/tooltip/tooltip-size-context.ts","../src/ui/tooltip/tooltip-popup.tsx","../src/ui/tooltip/tooltip-portal.tsx","../src/ui/tooltip/tooltip-positioner.tsx","../src/ui/tooltip/tooltip-viewport.tsx","../src/ui/tooltip/tooltip-content.tsx","../src/ui/tooltip/tooltip-provider.tsx","../src/ui/tooltip/tooltip-trigger.tsx","../src/ui/tooltip/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\n\nexport type TooltipArrowProps = TooltipPrimitive.Arrow.Props;\n\nconst TooltipArrow = ({ className, ...props }: TooltipArrowProps) => (\n <TooltipPrimitive.Arrow\n className={cn(\n \"z-overlay bg-foreground fill-foreground size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\",\n className\n )}\n data-slot=\"tooltip-arrow\"\n {...props}\n />\n);\n\nexport { TooltipArrow };\n","import { createSizeContext } from \"../shared/size/size-context\";\nimport type { UISize } from \"../shared/size/size-system\";\n\nexport type TooltipSize = UISize;\n\nconst {\n SizeContext: TooltipSizeContext,\n useResolvedSize: useResolvedTooltipSize,\n} = createSizeContext();\n\nexport { TooltipSizeContext, useResolvedTooltipSize };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { useResolvedTooltipSize } from \"./tooltip-size-context\";\n\nconst tooltipPopupVariants = tv({\n base: \"z-overlay bg-foreground text-background data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-starting-style:animate-in data-starting-style:fade-in-0 data-starting-style:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 w-fit origin-(--transform-origin)\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"max-w-sm rounded-md px-3.5 py-2 text-sm\",\n md: \"max-w-xs rounded-md px-3 py-1.5 text-xs\",\n sm: \"max-w-48 rounded-[min(var(--radius-md),10px)] px-2.5 py-1 text-xs\",\n xl: \"max-w-md rounded-md px-4 py-2.5 text-base\",\n xs: \"max-w-40 rounded-[min(var(--radius-md),8px)] px-2 py-1 text-xs\",\n },\n },\n});\n\ntype TooltipPopupVariantProps = Omit<\n VariantProps<typeof tooltipPopupVariants>,\n \"size\"\n> & {\n size?: TooltipSize;\n};\n\nexport type TooltipPopupProps = TooltipPrimitive.Popup.Props &\n TooltipPopupVariantProps;\n\nconst TooltipPopup = ({ className, size, ...props }: TooltipPopupProps) => {\n const resolvedSize = useResolvedTooltipSize(size);\n\n return (\n <TooltipPrimitive.Popup\n className={mergeBaseUIClassName<TooltipPrimitive.Popup.State>(\n tooltipPopupVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"tooltip-popup\"\n {...props}\n />\n );\n};\n\nexport { TooltipPopup };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nexport type TooltipPortalProps = TooltipPrimitive.Portal.Props;\n\nconst TooltipPortal = ({ ...props }: TooltipPortalProps) => (\n <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n);\n\nexport { TooltipPortal };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\n\nexport type TooltipPositionerProps = TooltipPrimitive.Positioner.Props;\n\nconst TooltipPositioner = ({ className, ...props }: TooltipPositionerProps) => (\n <TooltipPrimitive.Positioner\n className={cn(\n \"z-overlay isolate h-[var(--positioner-height)] w-[var(--positioner-width)] max-w-[var(--available-width)]\",\n className\n )}\n data-slot=\"tooltip-positioner\"\n {...props}\n />\n);\n\nexport { TooltipPositioner };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nexport type TooltipViewportProps = TooltipPrimitive.Viewport.Props;\n\nconst TooltipViewport = ({ ...props }: TooltipViewportProps) => (\n <TooltipPrimitive.Viewport data-slot=\"tooltip-viewport\" {...props} />\n);\n\nexport { TooltipViewport };\n","\"use client\";\n\nimport type { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nimport { TooltipArrow } from \"./tooltip-arrow\";\nimport { TooltipPopup } from \"./tooltip-popup\";\nimport { TooltipPortal } from \"./tooltip-portal\";\nimport { TooltipPositioner } from \"./tooltip-positioner\";\nimport { useResolvedTooltipSize } from \"./tooltip-size-context\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { TooltipViewport } from \"./tooltip-viewport\";\nexport type TooltipContentProps = TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n > & {\n size?: TooltipSize;\n };\n\nconst TooltipContent = ({\n className,\n side = \"top\",\n sideOffset = 4,\n size,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipContentProps) => {\n const resolvedSize = useResolvedTooltipSize(size);\n\n return (\n <TooltipPortal>\n <TooltipPositioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPopup\n className={className}\n data-size={resolvedSize}\n data-slot=\"tooltip-content\"\n size={resolvedSize}\n {...props}\n >\n <TooltipViewport>{children}</TooltipViewport>\n <TooltipArrow />\n </TooltipPopup>\n </TooltipPositioner>\n </TooltipPortal>\n );\n};\n\nexport { TooltipContent };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nexport type TooltipProviderProps = TooltipPrimitive.Provider.Props;\n\nconst TooltipProvider = ({ delay = 0, ...props }: TooltipProviderProps) => (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n);\n\nexport { TooltipProvider };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"tailwind-variants\";\nexport type TooltipTriggerProps = TooltipPrimitive.Trigger.Props;\n\nconst TooltipTrigger = ({ className, ...props }: TooltipTriggerProps) => (\n <TooltipPrimitive.Trigger\n className={cn(\"cursor-clickable\", className)}\n data-slot=\"tooltip-trigger\"\n {...props}\n />\n);\n\nexport { TooltipTrigger };\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { useMemo } from \"react\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { TooltipArrow } from \"./tooltip-arrow\";\nimport { TooltipContent } from \"./tooltip-content\";\nimport { TooltipPopup } from \"./tooltip-popup\";\nimport { TooltipPortal } from \"./tooltip-portal\";\nimport { TooltipPositioner } from \"./tooltip-positioner\";\nimport { TooltipProvider } from \"./tooltip-provider\";\nimport { TooltipSizeContext } from \"./tooltip-size-context\";\nimport type { TooltipSize } from \"./tooltip-size-context\";\nimport { TooltipTrigger } from \"./tooltip-trigger\";\nimport { TooltipViewport } from \"./tooltip-viewport\";\nexport type TooltipProps = TooltipPrimitive.Root.Props & {\n size?: TooltipSize;\n};\n\nconst Tooltip = ({ size: providedSize, ...props }: TooltipProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <TooltipSizeContext.Provider value={contextValue}>\n <TooltipProvider>\n <TooltipPrimitive.Root\n data-size={size}\n data-slot=\"tooltip\"\n {...props}\n />\n </TooltipProvider>\n </TooltipSizeContext.Provider>\n );\n};\n\nTooltip.Content = TooltipContent;\nTooltip.Arrow = TooltipArrow;\nTooltip.Popup = TooltipPopup;\nTooltip.Portal = TooltipPortal;\nTooltip.Positioner = TooltipPositioner;\nTooltip.Provider = TooltipProvider;\nTooltip.Trigger = TooltipTrigger;\nTooltip.Viewport = TooltipViewport;\n\nexport type { TooltipArrowProps } from \"./tooltip-arrow\";\nexport type { TooltipPopupProps } from \"./tooltip-popup\";\nexport type { TooltipPortalProps } from \"./tooltip-portal\";\nexport type { TooltipPositionerProps } from \"./tooltip-positioner\";\nexport type { TooltipViewportProps } from \"./tooltip-viewport\";\n\nexport {\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPopup,\n TooltipPortal,\n TooltipPositioner,\n TooltipProvider,\n TooltipTrigger,\n TooltipViewport,\n};\n\nexport type { TooltipContentProps } from \"./tooltip-content\";\nexport type { TooltipProviderProps } from \"./tooltip-provider\";\nexport type { TooltipSize } from \"./tooltip-size-context\";\nexport type { TooltipTriggerProps } from \"./tooltip-trigger\";\n"],"mappings":";;;;;;;;;AAOA,MAAM,gBAAgB,EAAE,WAAW,GAAG,YACpC,oBAACA,QAAiB,OAAlB;CACE,WAAW,GACT,8UACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACVJ,MAAM,EACJ,aAAa,oBACb,iBAAiB,2BACf,mBAAmB;;;;ACEvB,MAAM,uBAAuB,GAAG;CAC9B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,gBAAgB,EAAE,WAAW,MAAM,GAAG,YAA+B;CACzE,MAAM,eAAe,uBAAuB,KAAK;AAEjD,QACE,oBAACC,QAAiB,OAAlB;EACE,WAAW,qBACT,qBAAqB,EAAE,MAAM,cAAc,CAAC,EAC5C,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;;;;AC1CN,MAAM,iBAAiB,EAAE,GAAG,YAC1B,oBAACC,QAAiB,QAAlB;CAAyB,aAAU;CAAiB,GAAI;CAAS;;;;ACAnE,MAAM,qBAAqB,EAAE,WAAW,GAAG,YACzC,oBAACC,QAAiB,YAAlB;CACE,WAAW,GACT,6GACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAM,mBAAmB,EAAE,GAAG,YAC5B,oBAACC,QAAiB,UAAlB;CAA2B,aAAU;CAAmB,GAAI;CAAS;;;;ACYvE,MAAM,kBAAkB,EACtB,WACA,OAAO,OACP,aAAa,GACb,MACA,QAAQ,UACR,cAAc,GACd,UACA,GAAG,YACsB;CACzB,MAAM,eAAe,uBAAuB,KAAK;AAEjD,QACE,oBAAC,eAAD,YACE,oBAAC,mBAAD;EACS;EACM;EACP;EACM;YAEZ,qBAAC,cAAD;GACa;GACX,aAAW;GACX,aAAU;GACV,MAAM;GACN,GAAI;aALN,CAOE,oBAAC,iBAAD,EAAkB,UAA2B,GAC7C,oBAAC,cAAD,EAAgB,EACH;;EACG,GACN;;;;;AC7CpB,MAAM,mBAAmB,EAAE,QAAQ,GAAG,GAAG,YACvC,oBAACC,QAAiB,UAAlB;CACE,aAAU;CACH;CACP,GAAI;CACJ;;;;ACJJ,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAACC,QAAiB,SAAlB;CACE,WAAW,GAAG,oBAAoB,UAAU;CAC5C,aAAU;CACV,GAAI;CACJ;;;;ACSJ,MAAMC,aAAW,EAAE,MAAM,cAAc,GAAG,YAA0B;CAClE,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;YAClC,oBAAC,iBAAD,YACE,oBAACC,QAAiB,MAAlB;GACE,aAAW;GACX,aAAU;GACV,GAAI;GACJ,GACc;EACU;;AAIlC,UAAQ,UAAU;AAClB,UAAQ,QAAQ;AAChB,UAAQ,QAAQ;AAChB,UAAQ,SAAS;AACjB,UAAQ,aAAa;AACrB,UAAQ,WAAW;AACnB,UAAQ,UAAU;AAClB,UAAQ,WAAW"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "./size-system-
|
|
1
|
+
import { t as UISize } from "./size-system-BAI1CnwU.js";
|
|
2
2
|
import "react";
|
|
3
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
import * as tailwind_variants0 from "tailwind-variants";
|
|
@@ -148,4 +148,4 @@ declare const Tooltip$1: {
|
|
|
148
148
|
};
|
|
149
149
|
//#endregion
|
|
150
150
|
export { TooltipContent as _, TooltipTrigger as a, TooltipProviderProps as c, TooltipPortal as d, TooltipPortalProps as f, TooltipArrowProps as g, TooltipArrow as h, TooltipViewportProps as i, TooltipPositioner as l, TooltipPopupProps as m, TooltipProps as n, TooltipTriggerProps as o, TooltipPopup as p, TooltipViewport as r, TooltipProvider as s, Tooltip$1 as t, TooltipPositionerProps as u, TooltipContentProps as v, TooltipSize as y };
|
|
151
|
-
//# sourceMappingURL=tooltip-
|
|
151
|
+
//# sourceMappingURL=tooltip-DatN3AoZ.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-
|
|
1
|
+
{"version":3,"file":"tooltip-DatN3AoZ.d.ts","names":[],"sources":["../src/ui/tooltip/tooltip-size-context.ts","../src/ui/tooltip/tooltip-content.tsx","../src/ui/tooltip/tooltip-arrow.tsx","../src/ui/tooltip/tooltip-popup.tsx","../src/ui/tooltip/tooltip-portal.tsx","../src/ui/tooltip/tooltip-positioner.tsx","../src/ui/tooltip/tooltip-provider.tsx","../src/ui/tooltip/tooltip-trigger.tsx","../src/ui/tooltip/tooltip-viewport.tsx","../src/ui/tooltip/tooltip.tsx"],"mappings":";;;;;;;;KAGY,WAAA,GAAc,MAAA;;;KCQd,mBAAA,GAAsB,OAAA,CAAiB,KAAA,CAAM,KAAA,GACvD,IAAA,CACE,OAAA,CAAiB,UAAA,CAAW,KAAA;EAG5B,IAAA,GAAO,WAAA;AAAA;AAAA,cAGL,cAAA;EAAkB,SAAA;EAAA,IAAA;EAAA,UAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,QAAA;EAAA,GAAA;AAAA,GASrB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCvBV,iBAAA,GAAoB,OAAA,CAAiB,KAAA,CAAM,KAAA;AAAA,cAEjD,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCG1D,oBAAA,EAcJ,kBAAA,CAdwB,YAAA;;;;;;;;;;;;;;;;cAcxB,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,wBAAA,GAA2B,IAAA,CAC9B,YAAA,QAAoB,oBAAA;EAGpB,IAAA,GAAO,WAAA;AAAA;AAAA,KAGG,iBAAA,GAAoB,OAAA,CAAiB,KAAA,CAAM,KAAA,GACrD,wBAAA;AAAA,cAEI,YAAA;EAAgB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAA+B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KChC1D,kBAAA,GAAqB,OAAA,CAAiB,MAAA,CAAO,KAAA;AAAA,cAEnD,aAAA;EAAA,GAAiB;AAAA,GAAc,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCD3C,sBAAA,GAAyB,OAAA,CAAiB,UAAA,CAAW,KAAA;AAAA,cAE3D,iBAAA;EAAqB,SAAA;EAAA,GAAA;AAAA,GAAyB,sBAAA,KAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCJ9D,oBAAA,GAAuB,OAAA,CAAiB,QAAA,CAAS,KAAA;AAAA,cAEvD,eAAA;EAAmB,KAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCD1D,mBAAA,GAAsB,OAAA,CAAiB,OAAA,CAAQ,KAAA;AAAA,cAErD,cAAA;EAAkB,SAAA;EAAA,GAAA;AAAA,GAAyB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFxD,oBAAA,GAAuB,OAAA,CAAiB,QAAA,CAAS,KAAA;AAAA,cAEvD,eAAA;EAAA,GAAmB;AAAA,GAAc,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCU/C,YAAA,GAAe,OAAA,CAAiB,IAAA,CAAK,KAAA;EAC/C,IAAA,GAAO,WAAA;AAAA;AAAA,cAGH,SAAA;EAAA;;;KAA6C,YAAA,GAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/accordion.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import * as tailwind_variants0 from "tailwind-variants";
|
|
4
4
|
import { VariantProps } from "tailwind-variants";
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { a as useComponentSize, r as filterUndefinedProps, s as useKuzenboComponentDefaults } from "../size-provider-18EvJgDT.js";
|
|
4
|
+
import { i as resolveDefaultNestedIconClassBySize } from "../size-system-BTsMqZRQ.js";
|
|
5
|
+
import { t as mergeBaseUIClassName } from "../merge-base-ui-class-name-HKsgjcXj.js";
|
|
6
|
+
import { t as ButtonGroupSizeContext } from "../button-group-size-context-DW7Gn-3k.js";
|
|
7
|
+
import { Spinner } from "./spinner.js";
|
|
8
|
+
import { t as buttonSharedVariants } from "../button-shared-variants-J4RVI3K7.js";
|
|
9
|
+
import { useContext } from "react";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { cn, tv } from "tailwind-variants";
|
|
12
|
+
import { Button } from "@base-ui/react/button";
|
|
13
|
+
|
|
14
|
+
//#region src/ui/action-icon/action-icon.tsx
|
|
15
|
+
const actionIconVariants = tv({
|
|
16
|
+
extend: buttonSharedVariants,
|
|
17
|
+
base: "group/action-icon",
|
|
18
|
+
defaultVariants: { size: "md" },
|
|
19
|
+
variants: { size: {
|
|
20
|
+
lg: "size-10",
|
|
21
|
+
md: "size-9",
|
|
22
|
+
sm: ["size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg"],
|
|
23
|
+
xl: ["size-11", resolveDefaultNestedIconClassBySize("xl")],
|
|
24
|
+
xs: ["size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg", resolveDefaultNestedIconClassBySize("xs")]
|
|
25
|
+
} }
|
|
26
|
+
});
|
|
27
|
+
const ACTION_ICON_SPINNER_SIZE_BY_SIZE = {
|
|
28
|
+
lg: "lg",
|
|
29
|
+
md: "md",
|
|
30
|
+
sm: "sm",
|
|
31
|
+
xl: "xl",
|
|
32
|
+
xs: "xs"
|
|
33
|
+
};
|
|
34
|
+
const isActionIconSize = (value) => typeof value === "string" && value in ACTION_ICON_SPINNER_SIZE_BY_SIZE;
|
|
35
|
+
const ActionIconContent = ({ children, isLoading, size }) => /* @__PURE__ */ jsxs("span", {
|
|
36
|
+
className: "relative inline-flex items-center justify-center",
|
|
37
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
38
|
+
className: cn("inline-flex items-center justify-center gap-2 transition-all duration-200", isLoading ? "pointer-events-none -translate-y-full opacity-0" : "translate-y-0 opacity-100"),
|
|
39
|
+
children
|
|
40
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
41
|
+
className: cn("absolute inset-0 inline-flex items-center justify-center transition-all duration-200", isLoading ? "translate-y-0 opacity-100" : "pointer-events-none -translate-y-full opacity-0"),
|
|
42
|
+
children: /* @__PURE__ */ jsx(Spinner, { size: ACTION_ICON_SPINNER_SIZE_BY_SIZE[size] })
|
|
43
|
+
})]
|
|
44
|
+
});
|
|
45
|
+
const ActionIcon = (incomingProps) => {
|
|
46
|
+
const { size: componentDefaultSize, ...componentDefaultsWithoutSize } = useKuzenboComponentDefaults("ActionIcon");
|
|
47
|
+
const { className, variant = "default", size, isLoading, children, disabled, ...props } = {
|
|
48
|
+
...filterUndefinedProps(componentDefaultsWithoutSize),
|
|
49
|
+
...filterUndefinedProps(incomingProps)
|
|
50
|
+
};
|
|
51
|
+
const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);
|
|
52
|
+
const resolvedSize = useComponentSize(isActionIconSize(size) ? size : void 0, buttonGroupSize, isActionIconSize(componentDefaultSize) ? componentDefaultSize : void 0);
|
|
53
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
54
|
+
className: mergeBaseUIClassName(cn(actionIconVariants({
|
|
55
|
+
size: resolvedSize,
|
|
56
|
+
variant
|
|
57
|
+
})), className),
|
|
58
|
+
focusableWhenDisabled: Boolean(isLoading),
|
|
59
|
+
"data-loading": isLoading,
|
|
60
|
+
"data-size": resolvedSize,
|
|
61
|
+
"data-slot": "action-icon",
|
|
62
|
+
disabled: disabled || isLoading,
|
|
63
|
+
...props,
|
|
64
|
+
children: /* @__PURE__ */ jsx(ActionIconContent, {
|
|
65
|
+
isLoading,
|
|
66
|
+
size: resolvedSize,
|
|
67
|
+
children
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
export { ActionIcon, actionIconVariants };
|
|
74
|
+
//# sourceMappingURL=action-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-icon.js","names":["ButtonPrimitive"],"sources":["../../src/ui/action-icon/action-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { ButtonGroupSizeContext } from \"../button-group/button-group-size-context\";\nimport { buttonSharedVariants } from \"../button/button-shared-variants\";\nimport {\n useComponentSize,\n filterUndefinedProps,\n useKuzenboComponentDefaults,\n} from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { resolveDefaultNestedIconClassBySize } from \"../shared/size/size-system\";\nimport { Spinner } from \"../spinner/spinner\";\n\nconst actionIconVariants = tv({\n extend: buttonSharedVariants,\n base: \"group/action-icon\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"size-10\",\n md: \"size-9\",\n sm: [\n \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg\",\n ],\n xl: [\"size-11\", resolveDefaultNestedIconClassBySize(\"xl\")],\n xs: [\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg\",\n resolveDefaultNestedIconClassBySize(\"xs\"),\n ],\n },\n },\n});\n\nexport type ActionIconProps = ComponentProps<typeof ButtonPrimitive> &\n VariantProps<typeof actionIconVariants> & {\n isLoading?: boolean;\n };\n\ntype ActionIconSize = NonNullable<\n VariantProps<typeof actionIconVariants>[\"size\"]\n>;\n\nconst ACTION_ICON_SPINNER_SIZE_BY_SIZE: Record<ActionIconSize, UISize> = {\n lg: \"lg\",\n md: \"md\",\n sm: \"sm\",\n xl: \"xl\",\n xs: \"xs\",\n};\n\nconst isActionIconSize = (value: unknown): value is ActionIconSize =>\n typeof value === \"string\" && value in ACTION_ICON_SPINNER_SIZE_BY_SIZE;\n\nconst ActionIconContent = ({\n children,\n isLoading,\n size,\n}: {\n children: ReactNode;\n isLoading?: boolean;\n size: ActionIconSize;\n}) => (\n <span className=\"relative inline-flex items-center justify-center\">\n <span\n className={cn(\n \"inline-flex items-center justify-center gap-2 transition-all duration-200\",\n isLoading\n ? \"pointer-events-none -translate-y-full opacity-0\"\n : \"translate-y-0 opacity-100\"\n )}\n >\n {children}\n </span>\n <span\n className={cn(\n \"absolute inset-0 inline-flex items-center justify-center transition-all duration-200\",\n isLoading\n ? \"translate-y-0 opacity-100\"\n : \"pointer-events-none -translate-y-full opacity-0\"\n )}\n >\n <Spinner size={ACTION_ICON_SPINNER_SIZE_BY_SIZE[size]} />\n </span>\n </span>\n);\n\nconst ActionIcon = (incomingProps: ActionIconProps) => {\n const componentDefaults =\n useKuzenboComponentDefaults<ActionIconProps>(\"ActionIcon\");\n const { size: componentDefaultSize, ...componentDefaultsWithoutSize } =\n componentDefaults;\n const {\n className,\n variant = \"default\",\n size,\n isLoading,\n children,\n disabled,\n ...props\n } = {\n ...filterUndefinedProps(componentDefaultsWithoutSize),\n ...filterUndefinedProps(incomingProps),\n };\n\n const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);\n\n const resolvedSize = useComponentSize(\n isActionIconSize(size) ? size : undefined,\n buttonGroupSize,\n isActionIconSize(componentDefaultSize) ? componentDefaultSize : undefined\n );\n\n return (\n <ButtonPrimitive\n className={mergeBaseUIClassName<ButtonPrimitive.State>(\n cn(actionIconVariants({ size: resolvedSize, variant })),\n className\n )}\n focusableWhenDisabled={Boolean(isLoading)}\n data-loading={isLoading}\n data-size={resolvedSize}\n data-slot=\"action-icon\"\n disabled={disabled || isLoading}\n {...props}\n >\n <ActionIconContent isLoading={isLoading} size={resolvedSize}>\n {children}\n </ActionIconContent>\n </ButtonPrimitive>\n );\n};\n\nexport { ActionIcon, actionIconVariants };\n"],"mappings":";;;;;;;;;;;;;;AAoBA,MAAM,qBAAqB,GAAG;CAC5B,QAAQ;CACR,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI,CACF,qFACD;EACD,IAAI,CAAC,WAAW,oCAAoC,KAAK,CAAC;EAC1D,IAAI,CACF,sFACA,oCAAoC,KAAK,CAC1C;EACF,EACF;CACF,CAAC;AAWF,MAAM,mCAAmE;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,oBAAoB,UACxB,OAAO,UAAU,YAAY,SAAS;AAExC,MAAM,qBAAqB,EACzB,UACA,WACA,WAMA,qBAAC,QAAD;CAAM,WAAU;WAAhB,CACE,oBAAC,QAAD;EACE,WAAW,GACT,6EACA,YACI,oDACA,4BACL;EAEA;EACI,GACP,oBAAC,QAAD;EACE,WAAW,GACT,wFACA,YACI,8BACA,kDACL;YAED,oBAAC,SAAD,EAAS,MAAM,iCAAiC,OAAS;EACpD,EACF;;AAGT,MAAM,cAAc,kBAAmC;CAGrD,MAAM,EAAE,MAAM,sBAAsB,GAAG,iCADrC,4BAA6C,aAAa;CAG5D,MAAM,EACJ,WACA,UAAU,WACV,MACA,WACA,UACA,UACA,GAAG,UACD;EACF,GAAG,qBAAqB,6BAA6B;EACrD,GAAG,qBAAqB,cAAc;EACvC;CAED,MAAM,EAAE,MAAM,oBAAoB,WAAW,uBAAuB;CAEpE,MAAM,eAAe,iBACnB,iBAAiB,KAAK,GAAG,OAAO,QAChC,iBACA,iBAAiB,qBAAqB,GAAG,uBAAuB,OACjE;AAED,QACE,oBAACA,QAAD;EACE,WAAW,qBACT,GAAG,mBAAmB;GAAE,MAAM;GAAc;GAAS,CAAC,CAAC,EACvD,UACD;EACD,uBAAuB,QAAQ,UAAU;EACzC,gBAAc;EACd,aAAW;EACX,aAAU;EACV,UAAU,YAAY;EACtB,GAAI;YAEJ,oBAAC,mBAAD;GAA8B;GAAW,MAAM;GAC5C;GACiB;EACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import { t as Button } from "../button-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import { t as Button } from "../button-CPPkhcmB.js";
|
|
3
3
|
import { ComponentProps } from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
package/dist/ui/alert.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
import * as tailwind_variants0 from "tailwind-variants";
|
package/dist/ui/announcement.js
CHANGED
package/dist/ui/avatar.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as AvatarGroupCount, c as AvatarGroupProps, d as AvatarBadge, f as AvatarBadgeProps, i as AvatarImageProps, l as AvatarFallback, n as AvatarProps, o as AvatarGroupCountProps, r as AvatarImage, s as AvatarGroup, t as Avatar, u as AvatarFallbackProps } from "../avatar-
|
|
1
|
+
import { a as AvatarGroupCount, c as AvatarGroupProps, d as AvatarBadge, f as AvatarBadgeProps, i as AvatarImageProps, l as AvatarFallback, n as AvatarProps, o as AvatarGroupCountProps, r as AvatarImage, s as AvatarGroup, t as Avatar, u as AvatarFallbackProps } from "../avatar-4S7I72CH.js";
|
|
2
2
|
export { Avatar, AvatarBadge, AvatarBadgeProps, AvatarFallback, AvatarFallbackProps, AvatarGroup, AvatarGroupCount, AvatarGroupCountProps, AvatarGroupProps, AvatarImage, AvatarImageProps, AvatarProps };
|
package/dist/ui/avatar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { a as AvatarFallback, i as AvatarGroup, n as AvatarImage, o as AvatarBadge, r as AvatarGroupCount, t as Avatar } from "../avatar-
|
|
3
|
+
import { a as AvatarFallback, i as AvatarGroup, n as AvatarImage, o as AvatarBadge, r as AvatarGroupCount, t as Avatar } from "../avatar-C3vF6E7s.js";
|
|
4
4
|
|
|
5
5
|
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
|
package/dist/ui/badge.js
CHANGED
package/dist/ui/breadcrumb.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
2
|
-
import { t as Separator } from "../separator-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
|
+
import { t as Separator } from "../separator-CgOz2m5i.js";
|
|
3
3
|
import * as react from "react";
|
|
4
4
|
import { ComponentProps } from "react";
|
|
5
5
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
package/dist/ui/button.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-
|
|
1
|
+
import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-CPPkhcmB.js";
|
|
2
2
|
export { Button, ButtonProps, buttonVariants };
|