@uselets/ui 1.20.4 → 2.0.1
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 +309 -426
- package/dist/as-child-Dxg3Xo1G.d.ts +41 -0
- package/dist/cli/uselets.mjs +5 -4
- package/dist/cli/uselets.mjs.map +1 -1
- package/dist/components/accordion.d.ts +12 -8
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/alert-dialog.d.ts +22 -15
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.d.ts +1 -1
- package/dist/components/anchor.d.ts +3 -5
- package/dist/components/anchor.js +1 -1
- package/dist/components/anchor.js.map +1 -1
- package/dist/components/area-chart.d.ts +54 -0
- package/dist/components/area-chart.js +1 -1
- package/dist/components/area-chart.js.map +1 -1
- package/dist/components/avatar.d.ts +12 -7
- package/dist/components/avatar.js +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.d.ts +3 -5
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/bar-chart.d.ts +48 -0
- package/dist/components/bar-chart.js +1 -1
- package/dist/components/bar-chart.js.map +1 -1
- package/dist/components/bottom-nav.d.ts +7 -3
- package/dist/components/bottom-nav.js +1 -1
- package/dist/components/bottom-nav.js.map +1 -1
- package/dist/components/breadcrumb.d.ts +3 -4
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button-group.d.ts +3 -4
- package/dist/components/button-group.js +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button.d.ts +8 -4
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.d.ts +4 -0
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.d.ts +4 -0
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.d.ts +11 -3
- package/dist/components/carousel.js +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/center.d.ts +1 -1
- package/dist/components/chart.js +4 -4
- package/dist/components/checkbox.d.ts +14 -4
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/collapsible.d.ts +8 -7
- package/dist/components/collapsible.js +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/combobox.d.ts +48 -26
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/command.d.ts +16 -2
- package/dist/components/command.js +1 -1
- package/dist/components/command.js.map +1 -1
- package/dist/components/container.d.ts +1 -1
- package/dist/components/data-table.d.ts +39 -0
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +24 -2
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog.d.ts +35 -15
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/direction.d.ts +7 -0
- package/dist/components/direction.js +1 -0
- package/dist/components/donut-chart.d.ts +12 -0
- package/dist/components/donut-chart.js +1 -1
- package/dist/components/donut-chart.js.map +1 -1
- package/dist/components/drawer.d.ts +33 -15
- package/dist/components/drawer.js +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown-menu.d.ts +36 -26
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/dropzone.d.ts +19 -0
- package/dist/components/dropzone.js +1 -1
- package/dist/components/dropzone.js.map +1 -1
- package/dist/components/field.d.ts +16 -4
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/flex.d.ts +1 -1
- package/dist/components/grid.d.ts +13 -0
- package/dist/components/grid.js.map +1 -1
- package/dist/components/group.d.ts +1 -1
- package/dist/components/heading.d.ts +3 -5
- package/dist/components/heading.js +1 -1
- package/dist/components/heading.js.map +1 -1
- package/dist/components/hover-card.d.ts +7 -6
- package/dist/components/hover-card.js +1 -1
- package/dist/components/hover-card.js.map +1 -1
- package/dist/components/input-group.d.ts +2 -2
- package/dist/components/input-group.js +1 -1
- package/dist/components/input-group.js.map +1 -1
- package/dist/components/input-otp.d.ts +4 -2
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input-otp.js.map +1 -1
- package/dist/components/input.d.ts +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/label.d.ts +3 -4
- package/dist/components/label.js +1 -1
- package/dist/components/label.js.map +1 -1
- package/dist/components/list.d.ts +8 -5
- package/dist/components/list.js +1 -1
- package/dist/components/list.js.map +1 -1
- package/dist/components/logo.d.ts +113 -0
- package/dist/components/marker.d.ts +4 -5
- package/dist/components/marker.js +1 -1
- package/dist/components/marker.js.map +1 -1
- package/dist/components/mask-input.d.ts +6 -0
- package/dist/components/mask-input.js.map +1 -1
- package/dist/components/native-select.d.ts +5 -1
- package/dist/components/native-select.js +1 -1
- package/dist/components/native-select.js.map +1 -1
- package/dist/components/navigation-menu.d.ts +19 -20
- package/dist/components/navigation-menu.js +1 -1
- package/dist/components/navigation-menu.js.map +1 -1
- package/dist/components/number-field.d.ts +18 -13
- package/dist/components/number-field.js +1 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/pagination.d.ts +9 -0
- package/dist/components/pagination.js +1 -1
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/phone-input.d.ts +3 -0
- package/dist/components/phone-input.js +1 -1
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/pie-chart.d.ts +53 -0
- package/dist/components/pie-chart.js +1 -1
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.d.ts +13 -12
- package/dist/components/popover.js +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress.d.ts +9 -3
- package/dist/components/progress.js +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/radio-group.d.ts +20 -6
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.d.ts +1 -0
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/ring-progress.d.ts +9 -1
- package/dist/components/ring-progress.js.map +1 -1
- package/dist/components/scroll-area.d.ts +3 -3
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/select.d.ts +25 -20
- package/dist/components/select.js +1 -1
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.d.ts +9 -4
- package/dist/components/separator.js +1 -1
- package/dist/components/separator.js.map +1 -1
- package/dist/components/sidebar.d.ts +63 -18
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/simple-grid.d.ts +7 -0
- package/dist/components/simple-grid.js +1 -1
- package/dist/components/simple-grid.js.map +1 -1
- package/dist/components/skeleton.d.ts +4 -0
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +2 -2
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/spinner.d.ts +1 -1
- package/dist/components/stack.d.ts +1 -1
- package/dist/components/stepper.d.ts +46 -25
- package/dist/components/stepper.js +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.d.ts +17 -3
- package/dist/components/switch.js +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +10 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.d.ts +14 -10
- package/dist/components/tabs.js +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text.d.ts +3 -5
- package/dist/components/text.js +1 -1
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.d.ts +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/theme.d.ts +12 -0
- package/dist/components/theme.js +1 -1
- package/dist/components/theme.js.map +1 -1
- package/dist/components/timeline.d.ts +25 -1
- package/dist/components/timeline.js +1 -1
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/toggle-group.d.ts +16 -6
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.d.ts +4 -4
- package/dist/components/toggle.js +1 -1
- package/dist/components/toggle.js.map +1 -1
- package/dist/components/tooltip.d.ts +15 -8
- package/dist/components/tooltip.js +1 -1
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/unstyled-button.d.ts +3 -5
- package/dist/components/unstyled-button.js +1 -1
- package/dist/components/unstyled-button.js.map +1 -1
- package/dist/components/visibility.d.ts +2 -0
- package/dist/components/visibility.js +1 -1
- package/dist/components/visibility.js.map +1 -1
- package/dist/hooks/use-breakpoint-value.d.ts +1 -0
- package/dist/hooks/use-breakpoint-value.js.map +1 -1
- package/dist/hooks/use-breakpoint.d.ts +1 -0
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-disclosure.d.ts +3 -0
- package/dist/hooks/use-disclosure.js +1 -1
- package/dist/hooks/use-disclosure.js.map +1 -1
- package/dist/hooks/use-document-visibility.d.ts +1 -0
- package/dist/hooks/use-document-visibility.js.map +1 -1
- package/dist/hooks/use-hotkeys.d.ts +1 -1
- package/dist/hooks/use-idle.d.ts +9 -0
- package/dist/hooks/use-idle.js.map +1 -1
- package/dist/hooks/use-interval.d.ts +1 -0
- package/dist/hooks/use-interval.js.map +1 -1
- package/dist/hooks/use-local-storage.d.ts +6 -0
- package/dist/hooks/use-local-storage.js +1 -1
- package/dist/hooks/use-local-storage.js.map +1 -1
- package/dist/hooks/use-mask.d.ts +1 -0
- package/dist/hooks/use-mask.js.map +1 -1
- package/dist/hooks/use-mobile.d.ts +1 -0
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1 -1
- package/dist/lib/as-child.d.ts +2 -0
- package/dist/lib/as-child.js +2 -0
- package/dist/lib/as-child.js.map +1 -0
- package/dist/lib/utils.d.ts +1 -1
- package/dist/logo--R3_XDgA.js.map +1 -1
- package/dist/resolve-class-name-BurP8ngI.js +2 -0
- package/dist/resolve-class-name-BurP8ngI.js.map +1 -0
- package/dist/skills/uselets-ui/SKILL.md +8 -3
- package/dist/skills/uselets-ui/references/component-catalog.md +32 -17
- package/dist/skills/uselets-ui/references/migration-v1-to-v2.md +599 -0
- package/dist/skills/uselets-ui/references/package-guide.md +7 -7
- package/dist/styles/base.css +21 -0
- package/dist/{use-hotkeys-DOjcX9Tt.d.ts → use-hotkeys-D1_TEIwN.d.ts} +2 -1
- package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
- package/package.json +16 -17
- package/skills/uselets-ui/SKILL.md +8 -3
- package/skills/uselets-ui/references/component-catalog.md +32 -17
- package/skills/uselets-ui/references/migration-v1-to-v2.md +599 -0
- package/skills/uselets-ui/references/package-guide.md +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie-chart.js","names":["RechartsPieChart","React","PieChart$1","data","item","resolveChartColor","DEFAULT_CHART_PALETTE","index","acc","props","config","resolvedStroke","strokeColor","styledData","ChartContainer","dataSlot","cn","className","withTooltip","Tooltip","ChartTooltipContent","tooltipProps","withLegend","Legend","ChartLegendContent","legendProps","Pie","withLabels","labelsPosition","animationDuration","pieProps","centerSlot"],"sources":["../../src/components/pie-chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Legend, Pie, PieChart as RechartsPieChart, Tooltip } from 'recharts'\n\nimport { cn } from '../lib/utils'\nimport {\n type ChartColorKey,\n type ChartConfig,\n ChartContainer,\n ChartLegendContent,\n type ChartLegendContentProps,\n ChartTooltipContent,\n type ChartTooltipContentProps,\n DEFAULT_CHART_PALETTE,\n resolveChartColor\n} from './chart'\n\nexport type PieChartDatum = {\n name: string\n value: number\n color?: string\n colorKey?: ChartColorKey\n}\n\nexport type PieChartProps = Omit<React.ComponentProps<'div'>, 'children'> & {\n data: PieChartDatum[]\n withTooltip?: boolean\n withLegend?: boolean\n withLabels?: boolean\n labelsPosition?: 'inside' | 'outside'\n startAngle?: number\n endAngle?: number\n paddingAngle?: number\n strokeWidth?: number\n strokeColor?: ChartColorKey | string\n innerRadius?: number | string\n outerRadius?: number | string\n animationDuration?: number\n tooltipProps?: ChartTooltipContentProps\n legendProps?: ChartLegendContentProps\n pieProps?: Partial<React.ComponentProps<typeof Pie>>\n children?: React.ReactNode\n}\n\nexport function buildPieConfig(data: PieChartDatum[]): ChartConfig {\n return data.reduce<ChartConfig>((acc, item, index) => {\n acc[item.name] = {\n label: item.name,\n color:\n item.color ?? resolveChartColor(item.colorKey) ?? DEFAULT_CHART_PALETTE[index % DEFAULT_CHART_PALETTE.length]\n }\n return acc\n }, {})\n}\n\nexport type PieChartBaseProps = Omit<PieChartProps, 'children'> & {\n dataSlot: string\n innerRadius?: number | string\n outerRadius?: number | string\n centerSlot?: React.ReactNode\n}\n\nfunction PieChartBase({\n className,\n data,\n withTooltip = true,\n withLegend = false,\n withLabels = false,\n labelsPosition = 'outside',\n startAngle = 90,\n endAngle = -270,\n paddingAngle = 0,\n strokeWidth = 1,\n strokeColor = 'var(--background)',\n innerRadius = 0,\n outerRadius = '80%',\n animationDuration,\n tooltipProps,\n legendProps,\n pieProps,\n dataSlot,\n centerSlot,\n ...props\n}: PieChartBaseProps) {\n const config = React.useMemo(() => buildPieConfig(data), [data])\n const resolvedStroke = resolveChartColor(strokeColor) ?? strokeColor\n const styledData = React.useMemo(\n () => data.map((item) => ({ ...item, fill: config[item.name]?.color, stroke: resolvedStroke })),\n [data, resolvedStroke, config]\n )\n\n return (\n <ChartContainer\n data-slot={dataSlot}\n className={cn('relative aspect-square w-full', className)}\n config={config}\n {...props}\n >\n <RechartsPieChart>\n {withTooltip && <Tooltip cursor={false} content={<ChartTooltipContent hideLabel {...tooltipProps} />} />}\n {withLegend && <Legend content={<ChartLegendContent nameKey=\"name\" {...legendProps} />} />}\n <Pie\n data={styledData}\n dataKey=\"value\"\n nameKey=\"name\"\n startAngle={startAngle}\n endAngle={endAngle}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n strokeWidth={strokeWidth}\n label={withLabels ? { fontSize: 12 } : undefined}\n labelLine={withLabels && labelsPosition === 'outside'}\n animationDuration={animationDuration}\n isAnimationActive={animationDuration !== 0}\n {...pieProps}\n >\n {centerSlot}\n </Pie>\n </RechartsPieChart>\n </ChartContainer>\n )\n}\n\nfunction PieChart(props: PieChartProps) {\n return <PieChartBase {...props} dataSlot=\"pie-chart\" />\n}\n\nexport { PieChart, PieChartBase }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pie-chart.js","names":["RechartsPieChart","React","PieChart$1","data","item","resolveChartColor","DEFAULT_CHART_PALETTE","index","acc","props","config","resolvedStroke","strokeColor","styledData","ChartContainer","dataSlot","cn","className","withTooltip","Tooltip","ChartTooltipContent","tooltipProps","withLegend","Legend","ChartLegendContent","legendProps","Pie","withLabels","labelsPosition","animationDuration","pieProps","centerSlot"],"sources":["../../src/components/pie-chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Legend, Pie, PieChart as RechartsPieChart, Tooltip } from 'recharts'\n\nimport { cn } from '../lib/utils'\nimport {\n type ChartColorKey,\n type ChartConfig,\n ChartContainer,\n ChartLegendContent,\n type ChartLegendContentProps,\n ChartTooltipContent,\n type ChartTooltipContentProps,\n DEFAULT_CHART_PALETTE,\n resolveChartColor\n} from './chart'\n\nexport type PieChartDatum = {\n /** Slice name, shown in the tooltip and legend. */\n name: string\n /** Slice value. */\n value: number\n /** Any CSS color. Wins over `colorKey`. */\n color?: string\n /** Palette family, resolved to its semantic color `var(--{key})`. */\n colorKey?: ChartColorKey\n}\n\nexport type PieChartProps = Omit<React.ComponentProps<'div'>, 'children'> & {\n /** Slices to draw. */\n data: PieChartDatum[]\n /**\n * Shows a tooltip on hover.\n * @default true\n */\n withTooltip?: boolean\n /**\n * Shows the legend.\n * @default false\n */\n withLegend?: boolean\n /**\n * Shows the value of each slice.\n * @default false\n */\n withLabels?: boolean\n /**\n * Where the labels go.\n * @default 'outside'\n */\n labelsPosition?: 'inside' | 'outside'\n /**\n * Angle where the first slice starts.\n * @default 90\n */\n startAngle?: number\n /**\n * Angle where the last slice ends.\n * @default -270\n */\n endAngle?: number\n /**\n * Space between slices, in degrees.\n * @default 0\n */\n paddingAngle?: number\n /**\n * Width of the gap between slices.\n * @default 1\n */\n strokeWidth?: number\n /**\n * Color of the gap between slices (palette family or CSS color).\n * @default 'var(--background)'\n */\n strokeColor?: ChartColorKey | string\n /**\n * Inner radius; above `0` it becomes a ring.\n * @default 0\n */\n innerRadius?: number | string\n /**\n * Outer radius (px or %).\n * @default '80%'\n */\n outerRadius?: number | string\n /** Animation length in ms. */\n animationDuration?: number\n /** Props for the tooltip content. */\n tooltipProps?: ChartTooltipContentProps\n /** Props for the legend content. */\n legendProps?: ChartLegendContentProps\n /** Props for the Recharts `<Pie>`. */\n pieProps?: Partial<React.ComponentProps<typeof Pie>>\n children?: React.ReactNode\n}\n\nexport function buildPieConfig(data: PieChartDatum[]): ChartConfig {\n return data.reduce<ChartConfig>((acc, item, index) => {\n acc[item.name] = {\n label: item.name,\n color:\n item.color ?? resolveChartColor(item.colorKey) ?? DEFAULT_CHART_PALETTE[index % DEFAULT_CHART_PALETTE.length]\n }\n return acc\n }, {})\n}\n\nexport type PieChartBaseProps = Omit<PieChartProps, 'children'> & {\n dataSlot: string\n innerRadius?: number | string\n outerRadius?: number | string\n centerSlot?: React.ReactNode\n}\n\nfunction PieChartBase({\n className,\n data,\n withTooltip = true,\n withLegend = false,\n withLabels = false,\n labelsPosition = 'outside',\n startAngle = 90,\n endAngle = -270,\n paddingAngle = 0,\n strokeWidth = 1,\n strokeColor = 'var(--background)',\n innerRadius = 0,\n outerRadius = '80%',\n animationDuration,\n tooltipProps,\n legendProps,\n pieProps,\n dataSlot,\n centerSlot,\n ...props\n}: PieChartBaseProps) {\n const config = React.useMemo(() => buildPieConfig(data), [data])\n const resolvedStroke = resolveChartColor(strokeColor) ?? strokeColor\n const styledData = React.useMemo(\n () => data.map((item) => ({ ...item, fill: config[item.name]?.color, stroke: resolvedStroke })),\n [data, resolvedStroke, config]\n )\n\n return (\n <ChartContainer\n data-slot={dataSlot}\n className={cn('relative aspect-square w-full', className)}\n config={config}\n {...props}\n >\n <RechartsPieChart>\n {withTooltip && <Tooltip cursor={false} content={<ChartTooltipContent hideLabel {...tooltipProps} />} />}\n {withLegend && <Legend content={<ChartLegendContent nameKey=\"name\" {...legendProps} />} />}\n <Pie\n data={styledData}\n dataKey=\"value\"\n nameKey=\"name\"\n startAngle={startAngle}\n endAngle={endAngle}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n strokeWidth={strokeWidth}\n label={\n withLabels\n ? labelsPosition === 'inside'\n ? { position: 'inside', fontSize: 12, fontWeight: 500, fill: 'var(--background)' }\n : { fontSize: 12 }\n : undefined\n }\n labelLine={withLabels && labelsPosition === 'outside'}\n animationDuration={animationDuration}\n isAnimationActive={animationDuration !== 0}\n {...pieProps}\n >\n {centerSlot}\n </Pie>\n </RechartsPieChart>\n </ChartContainer>\n )\n}\n\nfunction PieChart(props: PieChartProps) {\n return <PieChartBase {...props} dataSlot=\"pie-chart\" />\n}\n\nexport { PieChart, PieChartBase }\n"],"mappings":"4WAiGA,SAAgB,eAAe,EAAoC,CACjE,OAAOG,EAAK,QAAqB,EAAK,EAAM,KAC1C,EAAIC,EAAK,MAAQ,CACf,MAAOA,EAAK,KACZ,MACEA,EAAK,OAASC,EAAkBD,EAAK,QAAQ,GAAKE,EAAsBC,EAAQD,EAAsB,OAC1G,EACOE,GACN,CAAC,CAAC,CACP,CASA,SAAS,aAAa,CACpB,YACA,OACA,cAAc,GACd,aAAa,GACb,aAAa,GACb,iBAAiB,UACjB,aAAa,GACb,WAAW,KACX,eAAe,EACf,cAAc,EACd,cAAc,oBACd,cAAc,EACd,cAAc,MACd,oBACA,eACA,cACA,WACA,WACA,aACA,GAAGC,GACiB,CACpB,IAAMC,EAAST,EAAM,YAAc,eAAeE,CAAI,EAAG,CAACA,CAAI,CAAC,EACzDQ,EAAiBN,EAAkBO,CAAW,GAAKA,EACnDC,EAAaZ,EAAM,YACjBE,EAAK,IAAK,IAAU,CAAE,GAAGC,EAAM,KAAMM,EAAON,EAAK,KAAK,EAAE,MAAO,OAAQO,CAAe,EAAE,EAC9F,CAACR,EAAMQ,EAAgBD,CAAM,CAC/B,EAEA,MACE,kBAACI,EAAD,CACE,YAAWC,EACX,UAAWC,EAAG,gCAAiCC,CAAS,EAChD,SACR,GAAIR,EAEJ,SAAA,kBAACT,EAAD,CAAA,SAAA,CACGkB,GAAe,kBAACC,EAAD,CAAS,OAAQ,GAAO,QAAS,kBAACC,EAAD,CAAqB,UAAA,GAAU,GAAIC,CAAe,CAAA,CAAI,CAAA,EACtGC,GAAc,kBAACC,EAAD,CAAQ,QAAS,kBAACC,EAAD,CAAoB,QAAQ,OAAO,GAAIC,CAAc,CAAA,CAAI,CAAA,EACzF,kBAACC,EAAD,CACE,KAAMb,EACN,QAAQ,QACR,QAAQ,OACI,aACF,WACG,cACA,cACC,eACD,cACb,MACEc,EACIC,IAAmB,SACjB,CAAE,SAAU,SAAU,SAAU,GAAI,WAAY,IAAK,KAAM,mBAAoB,EAC/E,CAAE,SAAU,EAAG,EACjB,IAAA,GAEN,UAAWD,GAAcC,IAAmB,UACzB,oBACnB,kBAAmBC,IAAsB,EACzC,GAAIC,EAEH,SAAAC,CACE,CAAA,CACW,CAAA,CAAA,CACJ,CAAA,CAEpB,CAEA,SAAS,SAAS,EAAsB,CACtC,MAAO,kBAAC,aAAD,CAAc,GAAItB,EAAO,SAAS,WAAa,CAAA,CACxD"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import {
|
|
2
|
+
import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
|
|
3
3
|
import * as React from "react";
|
|
4
|
+
import { Popover as Popover$1 } from "@base-ui/react/popover";
|
|
4
5
|
//#region src/components/popover.d.ts
|
|
5
6
|
export type PopoverProps = React.ComponentProps<typeof Popover$1.Root>;
|
|
6
|
-
export type PopoverTriggerProps =
|
|
7
|
-
export type PopoverContentProps = React.ComponentProps<typeof Popover$1.
|
|
8
|
-
export type
|
|
7
|
+
export type PopoverTriggerProps = AsChildPrimitiveProps<typeof Popover$1.Trigger>;
|
|
8
|
+
export type PopoverContentProps = AsChildPrimitiveProps<typeof Popover$1.Popup> & Pick<React.ComponentProps<typeof Popover$1.Positioner>, 'anchor' | 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'> & Pick<React.ComponentProps<typeof Popover$1.Portal>, 'keepMounted'>;
|
|
9
|
+
export type PopoverCloseProps = AsChildPrimitiveProps<typeof Popover$1.Close>;
|
|
9
10
|
export type PopoverHeaderProps = React.ComponentProps<'div'>;
|
|
10
|
-
export type PopoverTitleProps =
|
|
11
|
-
export type PopoverDescriptionProps =
|
|
11
|
+
export type PopoverTitleProps = AsChildPrimitiveProps<typeof Popover$1.Title>;
|
|
12
|
+
export type PopoverDescriptionProps = AsChildPrimitiveProps<typeof Popover$1.Description>;
|
|
12
13
|
declare function Popover({ ...props }: PopoverProps): React.JSX.Element;
|
|
13
|
-
declare function PopoverTrigger({ ...props }: PopoverTriggerProps): React.JSX.Element;
|
|
14
|
-
declare function
|
|
15
|
-
declare function
|
|
14
|
+
declare function PopoverTrigger({ asChild, children, ...props }: PopoverTriggerProps): React.JSX.Element;
|
|
15
|
+
declare function PopoverClose({ asChild, children, ...props }: PopoverCloseProps): React.JSX.Element;
|
|
16
|
+
declare function PopoverContent({ className, anchor, side, sideOffset, align, alignOffset, sticky, keepMounted, asChild, children, ...props }: PopoverContentProps): React.JSX.Element;
|
|
16
17
|
declare function PopoverHeader({ className, ...props }: PopoverHeaderProps): React.JSX.Element;
|
|
17
|
-
declare function PopoverTitle({ className, ...props }: PopoverTitleProps): React.JSX.Element;
|
|
18
|
-
declare function PopoverDescription({ className, ...props }: PopoverDescriptionProps): React.JSX.Element;
|
|
18
|
+
declare function PopoverTitle({ className, asChild, children, ...props }: PopoverTitleProps): React.JSX.Element;
|
|
19
|
+
declare function PopoverDescription({ className, asChild, children, ...props }: PopoverDescriptionProps): React.JSX.Element;
|
|
19
20
|
//#endregion
|
|
20
|
-
export { Popover,
|
|
21
|
+
export { Popover, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
|
|
21
22
|
//# sourceMappingURL=popover.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{jsx as r}from"react/jsx-runtime";import{Popover as i}from"@base-ui/react/popover";function Popover({...e}){return/* @__PURE__ */ r(i.Root,{"data-slot":`popover`,...e})}function PopoverTrigger({asChild:t,children:n,...a}){return/* @__PURE__ */ r(i.Trigger,{"data-slot":`popover-trigger`,...a,...e(t,n)})}function PopoverClose({asChild:t,children:n,...a}){return/* @__PURE__ */ r(i.Close,{"data-slot":`popover-close`,...a,...e(t,n)})}function PopoverContent({className:a,anchor:o,side:s=`bottom`,sideOffset:c=4,align:l=`center`,alignOffset:u=0,sticky:d,keepMounted:f,asChild:p,children:m,...h}){return/* @__PURE__ */ r(i.Portal,{keepMounted:f,children:/* @__PURE__ */ r(i.Positioner,{anchor:o,side:s,sideOffset:c,align:l,alignOffset:u,sticky:d,className:`isolate z-50`,children:/* @__PURE__ */ r(i.Popup,{"data-slot":`popover-content`,className:e=>t(`bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--transform-origin) flex flex-col gap-2.5 outline-hidden`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open: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`,n(a,e)),...h,...e(p,m)})})})}function PopoverHeader({className:e,...n}){return/* @__PURE__ */ r(`div`,{"data-slot":`popover-header`,className:t(`flex flex-col gap-0.5 text-sm`,e),...n})}function PopoverTitle({className:a,asChild:o,children:s,...c}){return/* @__PURE__ */ r(i.Title,{"data-slot":`popover-title`,className:e=>t(`font-medium`,n(a,e)),...c,...e(o,s)})}function PopoverDescription({className:a,asChild:o,children:s,...c}){return/* @__PURE__ */ r(i.Description,{"data-slot":`popover-description`,className:e=>t(`text-muted-foreground`,n(a,e)),...c,...e(o,s)})}export{Popover,PopoverClose,PopoverContent,PopoverDescription,PopoverHeader,PopoverTitle,PopoverTrigger};
|
|
2
2
|
//# sourceMappingURL=popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","names":["PopoverPrimitive","Popover$1","props","cn","className"],"sources":["../../src/components/popover.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Popover as PopoverPrimitive } from '
|
|
1
|
+
{"version":3,"file":"popover.js","names":["PopoverPrimitive","resolveClassName","Popover$1","props","toAsChildRenderProps","asChild","children","cn","className","state"],"sources":["../../src/components/popover.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Popover as PopoverPrimitive } from '@base-ui/react/popover'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>\n\nexport type PopoverTriggerProps = AsChildPrimitiveProps<typeof PopoverPrimitive.Trigger>\n\nexport type PopoverContentProps = AsChildPrimitiveProps<typeof PopoverPrimitive.Popup> &\n Pick<\n React.ComponentProps<typeof PopoverPrimitive.Positioner>,\n 'anchor' | 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'\n > &\n Pick<React.ComponentProps<typeof PopoverPrimitive.Portal>, 'keepMounted'>\n\nexport type PopoverCloseProps = AsChildPrimitiveProps<typeof PopoverPrimitive.Close>\n\nexport type PopoverHeaderProps = React.ComponentProps<'div'>\n\nexport type PopoverTitleProps = AsChildPrimitiveProps<typeof PopoverPrimitive.Title>\n\nexport type PopoverDescriptionProps = AsChildPrimitiveProps<typeof PopoverPrimitive.Description>\n\nfunction Popover({ ...props }: PopoverProps) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({ asChild, children, ...props }: PopoverTriggerProps) {\n return (\n <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} {...toAsChildRenderProps(asChild, children)} />\n )\n}\n\nfunction PopoverClose({ asChild, children, ...props }: PopoverCloseProps) {\n return <PopoverPrimitive.Close data-slot=\"popover-close\" {...props} {...toAsChildRenderProps(asChild, children)} />\n}\n\nfunction PopoverContent({\n className,\n anchor,\n side = 'bottom',\n sideOffset = 4,\n align = 'center',\n alignOffset = 0,\n sticky,\n keepMounted,\n asChild,\n children,\n ...props\n}: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal keepMounted={keepMounted}>\n <PopoverPrimitive.Positioner\n anchor={anchor}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={(state) =>\n cn(\n 'bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--transform-origin) flex flex-col gap-2.5 outline-hidden',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverHeader({ className, ...props }: PopoverHeaderProps) {\n return <div data-slot=\"popover-header\" className={cn('flex flex-col gap-0.5 text-sm', className)} {...props} />\n}\n\nfunction PopoverTitle({ className, asChild, children, ...props }: PopoverTitleProps) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={(state) => cn('font-medium', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction PopoverDescription({ className, asChild, children, ...props }: PopoverDescriptionProps) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={(state) => cn('text-muted-foreground', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Popover, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }\n"],"mappings":"sRA2BA,SAAS,QAAQ,CAAE,GAAGG,GAAuB,CAC3C,MAAO,kBAACH,EAAiB,KAAlB,CAAuB,YAAU,UAAU,GAAIG,CAAQ,CAAA,CAChE,CAEA,SAAS,eAAe,CAAE,UAAS,WAAU,GAAGA,GAA8B,CAC5E,MACE,kBAACH,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIG,EAAO,GAAIC,EAAqBC,EAASC,CAAQ,CAAI,CAAA,CAEnH,CAEA,SAAS,aAAa,CAAE,UAAS,WAAU,GAAGH,GAA4B,CACxE,MAAO,kBAACH,EAAiB,MAAlB,CAAwB,YAAU,gBAAgB,GAAIG,EAAO,GAAIC,EAAqBC,EAASC,CAAQ,CAAI,CAAA,CACpH,CAEA,SAAS,eAAe,CACtB,YACA,SACA,OAAO,SACP,aAAa,EACb,QAAQ,SACR,cAAc,EACd,SACA,cACA,UACA,WACA,GAAGH,GACmB,CACtB,MACE,kBAACH,EAAiB,OAAlB,CAAsC,cACpC,SAAA,kBAACA,EAAiB,WAAlB,CACU,SACF,OACM,aACL,QACM,cACL,SACR,UAAU,eAEV,SAAA,kBAACA,EAAiB,MAAlB,CACE,YAAU,kBACV,UAAY,GACVO,EACE,0LACA,uIACA,8JACAN,EAAiBO,EAAWC,CAAK,CACnC,EAEF,GAAIN,EACJ,GAAIC,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAC0B,CAAA,CACN,CAAA,CAE7B,CAEA,SAAS,cAAc,CAAE,YAAW,GAAGH,GAA6B,CAClE,MAAO,kBAAC,MAAD,CAAK,YAAU,iBAAiB,UAAWI,EAAG,gCAAiCC,CAAS,EAAG,GAAIL,CAAQ,CAAA,CAChH,CAEA,SAAS,aAAa,CAAE,YAAW,UAAS,WAAU,GAAGA,GAA4B,CACnF,MACE,kBAACH,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAY,GAAUO,EAAG,cAAeN,EAAiBO,EAAWC,CAAK,CAAC,EAC1E,GAAIN,EACJ,GAAIC,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,mBAAmB,CAAE,YAAW,UAAS,WAAU,GAAGH,GAAkC,CAC/F,MACE,kBAACH,EAAiB,YAAlB,CACE,YAAU,sBACV,UAAY,GAAUO,EAAG,wBAAyBN,EAAiBO,EAAWC,CAAK,CAAC,EACpF,GAAIN,EACJ,GAAIC,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { Progress as Progress$1 } from "radix-ui";
|
|
3
|
-
import { VariantProps } from "class-variance-authority";
|
|
4
2
|
import * as React from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import { Progress as Progress$1 } from "@base-ui/react/progress";
|
|
5
5
|
//#region src/components/progress.d.ts
|
|
6
6
|
declare const progressVariants: (props?: ({
|
|
7
7
|
size?: "lg" | "md" | "sm" | null | undefined;
|
|
8
8
|
color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
-
export type ProgressProps = React.ComponentProps<typeof Progress$1.Root> & VariantProps<typeof progressVariants
|
|
10
|
+
export type ProgressProps = Omit<React.ComponentProps<typeof Progress$1.Root>, 'render' | 'value'> & VariantProps<typeof progressVariants> & {
|
|
11
|
+
/**
|
|
12
|
+
* Progress from `0` to `100`. `null` renders an indeterminate bar.
|
|
13
|
+
* @default null
|
|
14
|
+
*/
|
|
15
|
+
value?: number | null;
|
|
16
|
+
};
|
|
11
17
|
declare function Progress({ className, value, size, color, ...props }: ProgressProps): React.JSX.Element;
|
|
12
18
|
//#endregion
|
|
13
19
|
export { Progress, progressVariants };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{t}from"../resolve-class-name-BurP8ngI.js";import{progressColorVariants as n}from"../lib/progress.js";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";import{Progress as a}from"@base-ui/react/progress";const o=i(`relative flex w-full items-center overflow-x-hidden rounded-full bg-muted`,{variants:{size:{sm:`h-0.5`,md:`h-1`,lg:`h-1.5`},color:n},defaultVariants:{size:`md`,color:`primary`}});function Progress({className:n,value:i=null,size:s=`md`,color:c=`primary`,...l}){return/* @__PURE__ */ r(a.Root,{"data-slot":`progress`,"data-size":s,"data-color":c,value:i,...l,children:/* @__PURE__ */ r(a.Track,{"data-slot":`progress-track`,className:r=>e(o({size:s,color:c}),t(n,r)),children:/* @__PURE__ */ r(a.Indicator,{"data-slot":`progress-indicator`,className:`h-full bg-(--progress-color) transition-all`})})})}export{Progress,o as progressVariants};
|
|
2
2
|
//# sourceMappingURL=progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","names":["ProgressPrimitive","Progress$1","progressVariants","cva","progressColorVariants","props","size","color","cn","className","
|
|
1
|
+
{"version":3,"file":"progress.js","names":["ProgressPrimitive","Progress$1","progressVariants","cva","progressColorVariants","props","size","color","cn","resolveClassName","className","state"],"sources":["../../src/components/progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Progress as ProgressPrimitive } from '@base-ui/react/progress'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst progressVariants = cva('relative flex w-full items-center overflow-x-hidden rounded-full bg-muted', {\n variants: {\n size: {\n sm: 'h-0.5',\n md: 'h-1',\n lg: 'h-1.5'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type ProgressProps = Omit<React.ComponentProps<typeof ProgressPrimitive.Root>, 'render' | 'value'> &\n VariantProps<typeof progressVariants> & {\n /**\n * Progress from `0` to `100`. `null` renders an indeterminate bar.\n * @default null\n */\n value?: number | null\n }\n\nfunction Progress({ className, value = null, size = 'md', color = 'primary', ...props }: ProgressProps) {\n return (\n <ProgressPrimitive.Root data-slot=\"progress\" data-size={size} data-color={color} value={value} {...props}>\n <ProgressPrimitive.Track\n data-slot=\"progress-track\"\n className={(state) => cn(progressVariants({ size, color }), resolveClassName(className, state))}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"h-full bg-(--progress-color) transition-all\"\n />\n </ProgressPrimitive.Track>\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress, progressVariants }\n"],"mappings":"mUASA,MAAME,EAAmBC,EAAI,4EAA6E,CACxG,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,MACJ,GAAI,OACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAWD,SAAS,SAAS,CAAE,YAAW,QAAQ,KAAM,OAAO,KAAM,QAAQ,UAAW,GAAGC,GAAwB,CACtG,MACE,kBAACL,EAAkB,KAAnB,CAAwB,YAAU,WAAW,YAAWM,EAAM,aAAYC,EAAc,QAAO,GAAIF,EACjG,SAAA,kBAACL,EAAkB,MAAnB,CACE,YAAU,iBACV,UAAY,GAAUQ,EAAGN,EAAiB,CAAE,OAAM,OAAM,CAAC,EAAGO,EAAiBC,EAAWC,CAAK,CAAC,EAE9F,SAAA,kBAACX,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,6CACX,CAAA,CACsB,CAAA,CACH,CAAA,CAE5B"}
|
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
2
|
import { UIColor } from "../lib/color.js";
|
|
3
3
|
import { LabelProps } from "./label.js";
|
|
4
|
-
import { RadioGroup as RadioGroup$1 } from "radix-ui";
|
|
5
|
-
import { VariantProps } from "class-variance-authority";
|
|
6
4
|
import * as React from "react";
|
|
7
5
|
import { ReactNode } from "react";
|
|
6
|
+
import { VariantProps } from "class-variance-authority";
|
|
7
|
+
import { Radio } from "@base-ui/react/radio";
|
|
8
|
+
import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
|
|
8
9
|
//#region src/components/radio-group.d.ts
|
|
9
|
-
export type RadioGroupProps =
|
|
10
|
+
export type RadioGroupProps<Value = string> = Omit<RadioGroup$1.Props<Value>, 'render'> & {
|
|
11
|
+
asChild?: boolean;
|
|
12
|
+
} & {
|
|
13
|
+
/**
|
|
14
|
+
* Palette family for every item in the group.
|
|
15
|
+
* @default 'primary'
|
|
16
|
+
*/
|
|
10
17
|
color?: UIColor;
|
|
11
18
|
};
|
|
12
19
|
declare const radioGroupItemVariants: (props?: ({
|
|
13
20
|
color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
|
|
14
21
|
size?: "lg" | "md" | "sm" | null | undefined;
|
|
15
22
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
-
export type RadioGroupItemProps = React.ComponentProps<typeof
|
|
23
|
+
export type RadioGroupItemProps = Omit<React.ComponentProps<typeof Radio.Root>, 'render'> & VariantProps<typeof radioGroupItemVariants> & {
|
|
24
|
+
/** Overrides the group color for this item. */
|
|
17
25
|
color?: UIColor;
|
|
26
|
+
/** Label rendered next to the radio and linked to it. */
|
|
18
27
|
label?: ReactNode;
|
|
28
|
+
/** Props for the rendered label. */
|
|
19
29
|
labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>;
|
|
30
|
+
/** Helper text rendered below the label. */
|
|
31
|
+
description?: ReactNode;
|
|
32
|
+
/** Props for the rendered description. */
|
|
33
|
+
descriptionProps?: Omit<React.ComponentProps<'p'>, 'children'>;
|
|
20
34
|
};
|
|
21
|
-
declare function RadioGroup({ className, color, ...props }: RadioGroupProps): React.JSX.Element;
|
|
22
|
-
declare function RadioGroupItem({ className, color, id, label, labelProps, size, ...props }: RadioGroupItemProps): React.JSX.Element;
|
|
35
|
+
declare function RadioGroup<Value = string>({ className, color, asChild, children, 'aria-invalid': ariaInvalid, ...props }: RadioGroupProps<Value>): React.JSX.Element;
|
|
36
|
+
declare function RadioGroupItem({ className, color, id, label, labelProps, description, descriptionProps, size, ...props }: RadioGroupItemProps): React.JSX.Element;
|
|
23
37
|
//#endregion
|
|
24
38
|
export { RadioGroup, RadioGroupItem };
|
|
25
39
|
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{selectionControlColorVariants as r}from"../lib/color.js";import{Label as i}from"./label.js";import{useFieldControlId as a,useFieldInvalid as o,useFieldLabelId as s}from"./field.js";import{createContext as c,useContext as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{Radio as m}from"@base-ui/react/radio";import{RadioGroup as h}from"@base-ui/react/radio-group";const g=p([`group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none`,`after:absolute after:-inset-x-3 after:-inset-y-2`,`focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50`,`data-disabled:cursor-not-allowed data-disabled:opacity-50`,`dark:data-unchecked:bg-input/30`,`data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)`],{variants:{color:r,size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),_=p(`flex items-center justify-center`,{variants:{size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),v=p(`absolute top-1/2 left-1/2 rounded-full bg-primary-foreground`,{variants:{size:{sm:`size-1.5`,md:`size-2`,lg:`size-2.5`}},defaultVariants:{size:`md`}}),y=p(``,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-lg`}},defaultVariants:{size:`md`}}),b=p(`text-muted-foreground text-left leading-normal font-normal [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,{variants:{size:{sm:`text-xs`,md:`text-xs`,lg:`text-sm`}},defaultVariants:{size:`md`}}),x=c(void 0);function RadioGroup({className:i,color:c=`primary`,asChild:l,children:u,"aria-invalid":f,...p}){let m=a(),g=s(),_=o(f);return/* @__PURE__ */ d(x.Provider,{value:m,children:/* @__PURE__ */ d(h,{"data-slot":`radio-group`,"data-color":c,"aria-labelledby":g,"aria-invalid":_,className:e=>t(`grid w-full gap-2`,r[c],n(i,e)),...p,...e(l,u)})})}function RadioGroupItem({className:e,color:r,id:o,label:s,labelProps:c,description:p,descriptionProps:h,size:S=`md`,...C}){let w=u(),T=a(o),E=l(x),D=s!==void 0,O=(o===void 0&&T===E?void 0:T)??(D?w:void 0),{className:k,...A}=c??{},j=u(),M=p!==void 0,{className:N,...P}=h??{},F=M?P.id??j:void 0,I=/* @__PURE__ */ d(m.Root,{"data-slot":`radio-group-item`,"data-color":r,"data-size":S,id:O,"aria-describedby":F,className:i=>t(g({color:r,size:S}),n(e,i)),...C,children:/* @__PURE__ */ d(m.Indicator,{"data-slot":`radio-group-indicator`,className:t(_({size:S})),children:/* @__PURE__ */ d(`span`,{className:t(v({size:S}),`-translate-x-1/2 -translate-y-1/2`)})})});return!D&&!M?I:/* @__PURE__ */ f(`div`,{"data-slot":`radio-group-item-field`,className:`grid grid-cols-[auto_1fr] items-center justify-items-start gap-x-2 gap-y-0.5`,children:[I,D&&/* @__PURE__ */ d(i,{...A,htmlFor:O,className:t(y({size:S}),k),children:s}),M&&/* @__PURE__ */ d(`p`,{"data-slot":`radio-group-item-description`,...P,id:F,className:t(`col-start-2`,b({size:S}),N),children:p})]})}export{RadioGroup,RadioGroupItem};
|
|
2
2
|
//# sourceMappingURL=radio-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","names":["RadioGroupPrimitive","Label","Label$1","RadioGroup$1","radioGroupItemVariants","cva","selectionControlColorVariants","radioGroupIndicatorVariants","radioGroupIndicatorDotVariants","radioGroupItemLabelVariants","props","color","cn","className","generatedId","useId","fieldControlId","useFieldControlId","id","hasLabel","label","resolvedId","labelClassName","labelRootProps","labelProps","item","size"],"sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui'\n\nimport type { UIColor } from '../lib/color'\nimport { selectionControlColorVariants } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type RadioGroupProps = React.ComponentProps<typeof RadioGroupPrimitive.Root> & {\n color?: UIColor\n}\n\nconst radioGroupItemVariants = cva(\n [\n 'group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20',\n 'aria-invalid:aria-checked:border-(--selection-control) dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'dark:data-unchecked:bg-input/30',\n 'data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)'\n ],\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst radioGroupIndicatorVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupIndicatorDotVariants = cva('absolute top-1/2 left-1/2 rounded-full bg-primary-foreground', {\n variants: {\n size: {\n sm: 'size-1.5',\n md: 'size-2',\n lg: 'size-2.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type RadioGroupItemProps = React.ComponentProps<typeof RadioGroupPrimitive.Item> &\n VariantProps<typeof radioGroupItemVariants> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n }\n\nfunction RadioGroup({ className, color = 'primary', ...props }: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n data-color={color}\n className={cn('grid w-full gap-2', selectionControlColorVariants[color], className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({ className, color, id, label, labelProps, size = 'md', ...props }: RadioGroupItemProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const hasLabel = label !== undefined\n const resolvedId = fieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n\n const item = (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(radioGroupItemVariants({ color, size }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className={cn(radioGroupIndicatorVariants({ size }))}\n >\n <span className={cn(radioGroupIndicatorDotVariants({ size }), '-translate-x-1/2 -translate-y-1/2')} />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n\n if (!hasLabel) {\n return item\n }\n\n return (\n <div data-slot=\"radio-group-item-field\" className=\"flex items-center gap-2\">\n {item}\n <Label\n {...labelRootProps}\n htmlFor={resolvedId}\n className={cn(radioGroupItemLabelVariants({ size }), labelClassName)}\n >\n {label}\n </Label>\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"],"mappings":"oYAgBA,MAAMI,EAAyBC,EAC7B,CACE,iHACA,mDACA,4EACA,kDACA,uFACA,uIACA,kCACA,oIACF,EACA,CACE,SAAU,CACR,MAAOC,EACP,KAAM,CACJ,GAAI,SACJ,GAAI,WACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CACF,EAEMC,EAA8BF,EAAI,mCAAoC,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,WACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEKG,EAAiCH,EAAI,+DAAgE,CACzG,SAAU,CACR,KAAM,CACJ,GAAI,WACJ,GAAI,SACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEKI,EAA8BJ,EAAI,GAAI,CAC1C,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EASD,SAAS,WAAW,CAAE,YAAW,QAAQ,UAAW,GAAGK,GAA0B,CAC/E,MACE,kBAACV,EAAoB,KAArB,CACE,YAAU,cACV,aAAYW,EACZ,UAAWC,EAAG,oBAAqBN,EAA8BK,GAAQE,CAAS,EAClF,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,eAAe,CAAE,YAAW,QAAO,KAAI,QAAO,aAAY,OAAO,KAAM,GAAGA,GAA8B,CAC/G,IAAMI,EAAcC,EAAM,EACpBC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAWC,IAAU,IAAA,GACrBC,EAAaL,IAAmBG,EAAWL,EAAc,IAAA,IACzD,CAAE,UAAWQ,EAAgB,GAAGC,GAAmBC,GAAc,CAAC,EAElEC,EACJ,kBAACzB,EAAoB,KAArB,CACE,YAAU,mBACV,aAAYW,EACZ,YAAWe,EACX,GAAIL,EACJ,UAAWT,EAAGR,EAAuB,CAAE,QAAO,MAAK,CAAC,EAAGS,CAAS,EAChE,GAAIH,EAEJ,SAAA,kBAACV,EAAoB,UAArB,CACE,YAAU,wBACV,UAAWY,EAAGL,EAA4B,CAAE,MAAK,CAAC,CAAC,EAEnD,SAAA,kBAAC,OAAD,CAAM,UAAWK,EAAGJ,EAA+B,CAAE,MAAK,CAAC,EAAG,mCAAmC,CAAI,CAAA,CACxE,CAAA,CACP,CAAA,EAO5B,OAJKW,EAKH,kBAAC,MAAD,CAAK,YAAU,yBAAyB,UAAU,0BAAlD,SAAA,CACGM,EACD,kBAACxB,EAAD,CACE,GAAIsB,EACJ,QAASF,EACT,UAAWT,EAAGH,EAA4B,CAAE,MAAK,CAAC,EAAGa,CAAc,EAElE,SAAAF,CACI,CAAA,CACJ,IAbEK,CAeX"}
|
|
1
|
+
{"version":3,"file":"radio-group.js","names":["RadioGroupPrimitive","RadioPrimitive","resolveClassName","RadioGroup$1","radioGroupItemVariants","cva","selectionControlColorVariants","radioGroupIndicatorVariants","radioGroupIndicatorDotVariants","radioGroupItemLabelVariants","radioGroupItemDescriptionVariants","RadioGroupFieldControlIdContext","createContext","ariaInvalid","props","fieldControlId","useFieldControlId","fieldLabelId","useFieldLabelId","invalid","useFieldInvalid","color","cn","className","state","toAsChildRenderProps","asChild","children","generatedId","useId","id","groupFieldControlId","useContext","hasLabel","label","resolvedId","labelClassName","labelRootProps","labelProps","descriptionId","hasDescription","description","descriptionClassName","descriptionRootProps","descriptionProps","resolvedDescriptionId","item","Radio","size","Label"],"sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio'\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { toAsChildRenderProps } from '../lib/as-child'\nimport type { UIColor } from '../lib/color'\nimport { selectionControlColorVariants } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid, useFieldLabelId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type RadioGroupProps<Value = string> = Omit<RadioGroupPrimitive.Props<Value>, 'render'> & {\n asChild?: boolean\n} & {\n /**\n * Palette family for every item in the group.\n * @default 'primary'\n */\n color?: UIColor\n}\n\nconst radioGroupItemVariants = cva(\n [\n 'group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n 'dark:data-unchecked:bg-input/30',\n 'data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)'\n ],\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst radioGroupIndicatorVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupIndicatorDotVariants = cva('absolute top-1/2 left-1/2 rounded-full bg-primary-foreground', {\n variants: {\n size: {\n sm: 'size-1.5',\n md: 'size-2',\n lg: 'size-2.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-lg'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemDescriptionVariants = cva(\n 'text-muted-foreground text-left leading-normal font-normal [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-xs',\n lg: 'text-sm'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nexport type RadioGroupItemProps = Omit<React.ComponentProps<typeof RadioPrimitive.Root>, 'render'> &\n VariantProps<typeof radioGroupItemVariants> & {\n /** Overrides the group color for this item. */\n color?: UIColor\n /** Label rendered next to the radio and linked to it. */\n label?: ReactNode\n /** Props for the rendered label. */\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n /** Helper text rendered below the label. */\n description?: ReactNode\n /** Props for the rendered description. */\n descriptionProps?: Omit<React.ComponentProps<'p'>, 'children'>\n }\n\n// The `Field` control id claimed by the enclosing `RadioGroup`. Items must not reuse it (every item would share\n// one id); an item only takes a Field control id when it sits in its own nested `Field`.\nconst RadioGroupFieldControlIdContext = createContext<string | undefined>(undefined)\n\nfunction RadioGroup<Value = string>({\n className,\n color = 'primary',\n asChild,\n children,\n 'aria-invalid': ariaInvalid,\n ...props\n}: RadioGroupProps<Value>) {\n const fieldControlId = useFieldControlId()\n const fieldLabelId = useFieldLabelId()\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <RadioGroupFieldControlIdContext.Provider value={fieldControlId}>\n <RadioGroupPrimitive\n data-slot=\"radio-group\"\n data-color={color}\n aria-labelledby={fieldLabelId}\n aria-invalid={invalid}\n className={(state) =>\n cn('grid w-full gap-2', selectionControlColorVariants[color], resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n </RadioGroupFieldControlIdContext.Provider>\n )\n}\n\nfunction RadioGroupItem({\n className,\n color,\n id,\n label,\n labelProps,\n description,\n descriptionProps,\n size = 'md',\n ...props\n}: RadioGroupItemProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const groupFieldControlId = useContext(RadioGroupFieldControlIdContext)\n const hasLabel = label !== undefined\n const ownFieldControlId = id === undefined && fieldControlId === groupFieldControlId ? undefined : fieldControlId\n const resolvedId = ownFieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n const descriptionId = useId()\n const hasDescription = description !== undefined\n const { className: descriptionClassName, ...descriptionRootProps } = descriptionProps ?? {}\n const resolvedDescriptionId = hasDescription ? (descriptionRootProps.id ?? descriptionId) : undefined\n\n const item = (\n <RadioPrimitive.Root\n data-slot=\"radio-group-item\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n aria-describedby={resolvedDescriptionId}\n className={(state) => cn(radioGroupItemVariants({ color, size }), resolveClassName(className, state))}\n {...props}\n >\n <RadioPrimitive.Indicator data-slot=\"radio-group-indicator\" className={cn(radioGroupIndicatorVariants({ size }))}>\n <span className={cn(radioGroupIndicatorDotVariants({ size }), '-translate-x-1/2 -translate-y-1/2')} />\n </RadioPrimitive.Indicator>\n </RadioPrimitive.Root>\n )\n\n if (!hasLabel && !hasDescription) {\n return item\n }\n\n return (\n <div\n data-slot=\"radio-group-item-field\"\n className=\"grid grid-cols-[auto_1fr] items-center justify-items-start gap-x-2 gap-y-0.5\"\n >\n {item}\n {hasLabel && (\n <Label\n {...labelRootProps}\n htmlFor={resolvedId}\n className={cn(radioGroupItemLabelVariants({ size }), labelClassName)}\n >\n {label}\n </Label>\n )}\n {hasDescription && (\n <p\n data-slot=\"radio-group-item-description\"\n {...descriptionRootProps}\n id={resolvedDescriptionId}\n className={cn('col-start-2', radioGroupItemDescriptionVariants({ size }), descriptionClassName)}\n >\n {description}\n </p>\n )}\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import * as ResizablePrimitive from "react-resizable-panels";
|
|
|
4
4
|
export type ResizablePanelGroupProps = ResizablePrimitive.GroupProps;
|
|
5
5
|
export type ResizablePanelProps = ResizablePrimitive.PanelProps;
|
|
6
6
|
export type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {
|
|
7
|
+
/** Shows a visible grip on the handle. */
|
|
7
8
|
withHandle?: boolean;
|
|
8
9
|
};
|
|
9
10
|
declare function ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable.js","names":["ResizablePrimitive","props","cn","className","withHandle"],"sources":["../../src/components/resizable.tsx"],"sourcesContent":["import * as ResizablePrimitive from 'react-resizable-panels'\n\nimport { cn } from '../lib/utils'\n\nexport type ResizablePanelGroupProps = ResizablePrimitive.GroupProps\n\nexport type ResizablePanelProps = ResizablePrimitive.PanelProps\n\nexport type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {\n withHandle?: boolean\n}\n\nfunction ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps) {\n return (\n <ResizablePrimitive.Group\n data-slot=\"resizable-panel-group\"\n className={cn('flex h-full w-full aria-[orientation=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: ResizablePanelProps) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />\n}\n\nfunction ResizableHandle({ withHandle, className, ...props }: ResizableHandleProps) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n 'relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90',\n className\n )}\n {...props}\n >\n {withHandle && <div className=\"z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border\" />}\n </ResizablePrimitive.Separator>\n )\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"resizable.js","names":["ResizablePrimitive","props","cn","className","withHandle"],"sources":["../../src/components/resizable.tsx"],"sourcesContent":["import * as ResizablePrimitive from 'react-resizable-panels'\n\nimport { cn } from '../lib/utils'\n\nexport type ResizablePanelGroupProps = ResizablePrimitive.GroupProps\n\nexport type ResizablePanelProps = ResizablePrimitive.PanelProps\n\nexport type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {\n /** Shows a visible grip on the handle. */\n withHandle?: boolean\n}\n\nfunction ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps) {\n return (\n <ResizablePrimitive.Group\n data-slot=\"resizable-panel-group\"\n className={cn('flex h-full w-full aria-[orientation=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: ResizablePanelProps) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />\n}\n\nfunction ResizableHandle({ withHandle, className, ...props }: ResizableHandleProps) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n 'relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90',\n className\n )}\n {...props}\n >\n {withHandle && <div className=\"z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border\" />}\n </ResizablePrimitive.Separator>\n )\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup }\n"],"mappings":"8JAaA,SAAS,oBAAoB,CAAE,YAAW,GAAGC,GAAmC,CAC9E,MACE,kBAACD,EAAmB,MAApB,CACE,YAAU,wBACV,UAAWE,EAAG,0DAA2DC,CAAS,EAClF,GAAIF,CACL,CAAA,CAEL,CAEA,SAAS,eAAe,CAAE,GAAGA,GAA8B,CACzD,MAAO,kBAACD,EAAmB,MAApB,CAA0B,YAAU,kBAAkB,GAAIC,CAAQ,CAAA,CAC3E,CAEA,SAAS,gBAAgB,CAAE,aAAY,YAAW,GAAGA,GAA+B,CAClF,MACE,kBAACD,EAAmB,UAApB,CACE,YAAU,mBACV,UAAWE,EACT,ukBACAC,CACF,EACA,GAAIF,EAEH,SAAAG,GAAc,kBAAC,MAAD,CAAK,UAAU,iDAAmD,CAAA,CACrD,CAAA,CAElC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { VariantProps } from "class-variance-authority";
|
|
3
2
|
import * as React from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
//#region src/components/ring-progress.d.ts
|
|
5
5
|
declare const ringProgressVariants: (props?: ({
|
|
6
6
|
size?: "lg" | "md" | "sm" | null | undefined;
|
|
@@ -8,7 +8,15 @@ declare const ringProgressVariants: (props?: ({
|
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
export type RingProgressThickness = 'thin' | 'md' | 'thick';
|
|
10
10
|
export type RingProgressProps = React.ComponentProps<'svg'> & VariantProps<typeof ringProgressVariants> & {
|
|
11
|
+
/**
|
|
12
|
+
* Progress from `0` to `100`.
|
|
13
|
+
* @default 0
|
|
14
|
+
*/
|
|
11
15
|
value?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Stroke width of the ring.
|
|
18
|
+
* @default 'md'
|
|
19
|
+
*/
|
|
12
20
|
thickness?: RingProgressThickness;
|
|
13
21
|
};
|
|
14
22
|
declare function RingProgress({ className, value, size, color, thickness, ...props }: RingProgressProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ring-progress.js","names":["ringProgressVariants","cva","progressColorVariants","ringThickness","props","strokeWidth","thickness","radius","circumference","clamped","value","strokeDashoffset","size","color","cn","className"],"sources":["../../src/components/ring-progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\n\nconst ringProgressVariants = cva('shrink-0', {\n variants: {\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type RingProgressThickness = 'thin' | 'md' | 'thick'\n\nconst ringThickness = {\n thin: 8,\n md: 12,\n thick: 16\n} as const satisfies Record<RingProgressThickness, number>\n\nexport type RingProgressProps = React.ComponentProps<'svg'> &\n VariantProps<typeof ringProgressVariants> & {\n value?: number\n thickness?: RingProgressThickness\n }\n\nfunction RingProgress({\n className,\n value = 0,\n size = 'md',\n color = 'primary',\n thickness = 'md',\n ...props\n}: RingProgressProps) {\n const strokeWidth = ringThickness[thickness]\n const radius = (100 - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const clamped = Math.min(100, Math.max(0, value))\n const strokeDashoffset = circumference * (1 - clamped / 100)\n\n return (\n <svg\n data-slot=\"ring-progress\"\n data-size={size}\n data-color={color}\n data-thickness={thickness}\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n viewBox=\"0 0 100 100\"\n className={cn(ringProgressVariants({ size, color }), className)}\n {...props}\n >\n <circle cx=\"50\" cy=\"50\" r={radius} fill=\"none\" strokeWidth={strokeWidth} className=\"stroke-muted\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n transform=\"rotate(-90 50 50)\"\n className=\"stroke-(--progress-color) transition-all\"\n />\n </svg>\n )\n}\n\nexport { RingProgress, ringProgressVariants }\n"],"mappings":"yOAOA,MAAMA,EAAuBC,EAAI,WAAY,CAC3C,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAIKC,EAAgB,CACpB,KAAM,EACN,GAAI,GACJ,MAAO,EACT,
|
|
1
|
+
{"version":3,"file":"ring-progress.js","names":["ringProgressVariants","cva","progressColorVariants","ringThickness","props","strokeWidth","thickness","radius","circumference","clamped","value","strokeDashoffset","size","color","cn","className"],"sources":["../../src/components/ring-progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\n\nconst ringProgressVariants = cva('shrink-0', {\n variants: {\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type RingProgressThickness = 'thin' | 'md' | 'thick'\n\nconst ringThickness = {\n thin: 8,\n md: 12,\n thick: 16\n} as const satisfies Record<RingProgressThickness, number>\n\nexport type RingProgressProps = React.ComponentProps<'svg'> &\n VariantProps<typeof ringProgressVariants> & {\n /**\n * Progress from `0` to `100`.\n * @default 0\n */\n value?: number\n /**\n * Stroke width of the ring.\n * @default 'md'\n */\n thickness?: RingProgressThickness\n }\n\nfunction RingProgress({\n className,\n value = 0,\n size = 'md',\n color = 'primary',\n thickness = 'md',\n ...props\n}: RingProgressProps) {\n const strokeWidth = ringThickness[thickness]\n const radius = (100 - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const clamped = Math.min(100, Math.max(0, value))\n const strokeDashoffset = circumference * (1 - clamped / 100)\n\n return (\n <svg\n data-slot=\"ring-progress\"\n data-size={size}\n data-color={color}\n data-thickness={thickness}\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n viewBox=\"0 0 100 100\"\n className={cn(ringProgressVariants({ size, color }), className)}\n {...props}\n >\n <circle cx=\"50\" cy=\"50\" r={radius} fill=\"none\" strokeWidth={strokeWidth} className=\"stroke-muted\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n transform=\"rotate(-90 50 50)\"\n className=\"stroke-(--progress-color) transition-all\"\n />\n </svg>\n )\n}\n\nexport { RingProgress, ringProgressVariants }\n"],"mappings":"yOAOA,MAAMA,EAAuBC,EAAI,WAAY,CAC3C,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAIKC,EAAgB,CACpB,KAAM,EACN,GAAI,GACJ,MAAO,EACT,EAgBA,SAAS,aAAa,CACpB,YACA,QAAQ,EACR,OAAO,KACP,QAAQ,UACR,YAAY,KACZ,GAAGC,GACiB,CACpB,IAAMC,EAAcF,EAAcG,GAC5BC,GAAU,IAAMF,GAAe,EAC/BG,EAAgB,EAAI,KAAK,GAAKD,EAC9BE,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAGC,CAAK,CAAC,EAC1CC,EAAmBH,GAAiB,EAAIC,EAAU,KAExD,MACE,kBAAC,MAAD,CACE,YAAU,gBACV,YAAWG,EACX,aAAYC,EACZ,iBAAgBP,EAChB,KAAK,cACL,gBAAeG,EACf,gBAAe,EACf,gBAAe,IACf,QAAQ,cACR,UAAWK,EAAGd,EAAqB,CAAE,OAAM,OAAM,CAAC,EAAGe,CAAS,EAC9D,GAAIX,EAXN,SAAA,CAaE,kBAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAGG,EAAQ,KAAK,OAAoB,cAAa,UAAU,cAAgB,CAAA,EACnG,kBAAC,SAAD,CACE,GAAG,KACH,GAAG,KACH,EAAGA,EACH,KAAK,OACQ,cACb,cAAc,QACd,gBAAiBC,EACC,mBAClB,UAAU,oBACV,UAAU,0CACX,CAAA,CACE,GAET"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import { ScrollArea as ScrollArea$1 } from "radix-ui";
|
|
3
2
|
import * as React from "react";
|
|
3
|
+
import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
|
|
4
4
|
//#region src/components/scroll-area.d.ts
|
|
5
|
-
export type ScrollAreaProps = React.ComponentProps<typeof ScrollArea$1.Root>;
|
|
6
|
-
export type ScrollBarProps = React.ComponentProps<typeof ScrollArea$1.
|
|
5
|
+
export type ScrollAreaProps = Omit<React.ComponentProps<typeof ScrollArea$1.Root>, 'render'>;
|
|
6
|
+
export type ScrollBarProps = Omit<React.ComponentProps<typeof ScrollArea$1.Scrollbar>, 'render'>;
|
|
7
7
|
declare function ScrollArea({ className, children, ...props }: ScrollAreaProps): React.JSX.Element;
|
|
8
8
|
declare function ScrollBar({ className, orientation, ...props }: ScrollBarProps): React.JSX.Element;
|
|
9
9
|
//#endregion
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{t}from"../resolve-class-name-BurP8ngI.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{ScrollArea as i}from"@base-ui/react/scroll-area";function ScrollArea({className:a,children:o,...s}){return/* @__PURE__ */ r(i.Root,{"data-slot":`scroll-area`,className:n=>e(`relative`,t(a,n)),...s,children:[/* @__PURE__ */ n(i.Viewport,{"data-slot":`scroll-area-viewport`,className:e(`size-full rounded-[inherit] transition-[color,box-shadow] outline-none`,`focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`),children:/* @__PURE__ */ n(i.Content,{"data-slot":`scroll-area-content`,children:o})}),/* @__PURE__ */ n(ScrollBar,{}),/* @__PURE__ */ n(i.Corner,{})]})}function ScrollBar({className:r,orientation:a=`vertical`,...o}){return/* @__PURE__ */ n(i.Scrollbar,{"data-slot":`scroll-area-scrollbar`,"data-orientation":a,orientation:a,className:n=>e(`flex touch-none p-px transition-opacity select-none`,`opacity-0 delay-600 data-hovering:opacity-100 data-hovering:delay-0 data-scrolling:opacity-100 data-scrolling:delay-0`,`data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent`,`data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t(r,n)),...o,children:/* @__PURE__ */ n(i.Thumb,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}export{ScrollArea,ScrollBar};
|
|
2
2
|
//# sourceMappingURL=scroll-area.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive","ScrollArea$1","props","cn","className","orientation"],"sources":["../../src/components/scroll-area.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { ScrollArea as ScrollAreaPrimitive } from '
|
|
1
|
+
{"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive","ScrollArea$1","props","cn","resolveClassName","className","state","orientation"],"sources":["../../src/components/scroll-area.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area'\n\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type ScrollAreaProps = Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Root>, 'render'>\n\nexport type ScrollBarProps = Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>, 'render'>\n\nfunction ScrollArea({ className, children, ...props }: ScrollAreaProps) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={(state) => cn('relative', resolveClassName(className, state))}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={cn(\n 'size-full rounded-[inherit] transition-[color,box-shadow] outline-none',\n 'focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1'\n )}\n >\n <ScrollAreaPrimitive.Content data-slot=\"scroll-area-content\">{children}</ScrollAreaPrimitive.Content>\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({ className, orientation = 'vertical', ...props }: ScrollBarProps) {\n return (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={(state) =>\n cn(\n 'flex touch-none p-px transition-opacity select-none',\n 'opacity-0 delay-600 data-hovering:opacity-100 data-hovering:delay-0 data-scrolling:opacity-100 data-scrolling:delay-0',\n 'data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent',\n 'data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <ScrollAreaPrimitive.Thumb data-slot=\"scroll-area-thumb\" className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.Scrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"],"mappings":"wOAWA,SAAS,WAAW,CAAE,YAAW,WAAU,GAAGE,GAA0B,CACtE,MACE,kBAACF,EAAoB,KAArB,CACE,YAAU,cACV,UAAY,GAAUG,EAAG,WAAYC,EAAiBC,EAAWC,CAAK,CAAC,EACvE,GAAIJ,EAHN,SAAA,CAKE,kBAACF,EAAoB,SAArB,CACE,YAAU,uBACV,UAAWG,EACT,yEACA,6EACF,EAEA,SAAA,kBAACH,EAAoB,QAArB,CAA6B,YAAU,sBAAuB,UAAsC,CAAA,CACxE,CAAA,EAC9B,kBAAC,UAAD,CAAY,CAAA,EACZ,kBAACA,EAAoB,OAArB,CAA6B,CAAA,CACL,GAE9B,CAEA,SAAS,UAAU,CAAE,YAAW,cAAc,WAAY,GAAGE,GAAyB,CACpF,MACE,kBAACF,EAAoB,UAArB,CACE,YAAU,wBACV,mBAAkBO,EACL,cACb,UAAY,GACVJ,EACE,sDACA,wHACA,+GACA,qGACAC,EAAiBC,EAAWC,CAAK,CACnC,EAEF,GAAIJ,EAEJ,SAAA,kBAACF,EAAoB,MAArB,CAA2B,YAAU,oBAAoB,UAAU,wCAA0C,CAAA,CAChF,CAAA,CAEnC"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
|
|
2
|
-
import {
|
|
2
|
+
import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
|
|
3
3
|
import * as React from "react";
|
|
4
|
+
import { Select as Select$1 } from "@base-ui/react/select";
|
|
4
5
|
//#region src/components/select.d.ts
|
|
5
|
-
export type SelectProps =
|
|
6
|
-
export type SelectGroupProps =
|
|
7
|
-
export type SelectValueProps =
|
|
8
|
-
export type SelectTriggerProps =
|
|
6
|
+
export type SelectProps<Value = string, Multiple extends boolean | undefined = false> = Select$1.Root.Props<Value, Multiple>;
|
|
7
|
+
export type SelectGroupProps = AsChildPrimitiveProps<typeof Select$1.Group>;
|
|
8
|
+
export type SelectValueProps = AsChildPrimitiveProps<typeof Select$1.Value>;
|
|
9
|
+
export type SelectTriggerProps = AsChildPrimitiveProps<typeof Select$1.Trigger> & {
|
|
10
|
+
/**
|
|
11
|
+
* Height of the trigger.
|
|
12
|
+
* @default 'md'
|
|
13
|
+
*/
|
|
9
14
|
size?: 'sm' | 'md';
|
|
10
15
|
};
|
|
11
|
-
export type SelectContentProps = React.ComponentProps<typeof Select$1.
|
|
12
|
-
export type SelectLabelProps =
|
|
13
|
-
export type SelectItemProps = React.ComponentProps<typeof Select$1.Item>;
|
|
14
|
-
export type SelectSeparatorProps =
|
|
15
|
-
export type SelectScrollUpButtonProps =
|
|
16
|
-
export type SelectScrollDownButtonProps =
|
|
17
|
-
declare function Select({ ...props }: SelectProps): React.JSX.Element;
|
|
18
|
-
declare function SelectGroup({ className, ...props }: SelectGroupProps): React.JSX.Element;
|
|
19
|
-
declare function SelectValue({ ...props }: SelectValueProps): React.JSX.Element;
|
|
20
|
-
declare function SelectTrigger({ className, id, size, children, ...props }: SelectTriggerProps): React.JSX.Element;
|
|
21
|
-
declare function SelectContent({ className, children,
|
|
22
|
-
declare function SelectLabel({ className, ...props }: SelectLabelProps): React.JSX.Element;
|
|
16
|
+
export type SelectContentProps = Omit<React.ComponentProps<typeof Select$1.Popup>, 'render'> & Pick<React.ComponentProps<typeof Select$1.Positioner>, 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'alignItemWithTrigger' | 'sticky'>;
|
|
17
|
+
export type SelectLabelProps = AsChildPrimitiveProps<typeof Select$1.GroupLabel>;
|
|
18
|
+
export type SelectItemProps = Omit<React.ComponentProps<typeof Select$1.Item>, 'render'>;
|
|
19
|
+
export type SelectSeparatorProps = AsChildPrimitiveProps<typeof Select$1.Separator>;
|
|
20
|
+
export type SelectScrollUpButtonProps = AsChildPrimitiveProps<typeof Select$1.ScrollUpArrow>;
|
|
21
|
+
export type SelectScrollDownButtonProps = AsChildPrimitiveProps<typeof Select$1.ScrollDownArrow>;
|
|
22
|
+
declare function Select<Value = string, Multiple extends boolean | undefined = false>({ ...props }: SelectProps<Value, Multiple>): React.JSX.Element;
|
|
23
|
+
declare function SelectGroup({ className, asChild, children, ...props }: SelectGroupProps): React.JSX.Element;
|
|
24
|
+
declare function SelectValue({ asChild, children, ...props }: SelectValueProps): React.JSX.Element;
|
|
25
|
+
declare function SelectTrigger({ className, id, size, children, asChild, 'aria-invalid': ariaInvalid, ...props }: SelectTriggerProps): React.JSX.Element;
|
|
26
|
+
declare function SelectContent({ className, children, side, sideOffset, align, alignOffset, alignItemWithTrigger, sticky, ...props }: SelectContentProps): React.JSX.Element;
|
|
27
|
+
declare function SelectLabel({ className, asChild, children, ...props }: SelectLabelProps): React.JSX.Element;
|
|
23
28
|
declare function SelectItem({ className, children, ...props }: SelectItemProps): React.JSX.Element;
|
|
24
|
-
declare function SelectSeparator({ className, ...props }: SelectSeparatorProps): React.JSX.Element;
|
|
25
|
-
declare function SelectScrollUpButton({ className, ...props }: SelectScrollUpButtonProps): React.JSX.Element;
|
|
26
|
-
declare function SelectScrollDownButton({ className, ...props }: SelectScrollDownButtonProps): React.JSX.Element;
|
|
29
|
+
declare function SelectSeparator({ className, asChild, children, ...props }: SelectSeparatorProps): React.JSX.Element;
|
|
30
|
+
declare function SelectScrollUpButton({ className, asChild, children, ...props }: SelectScrollUpButtonProps): React.JSX.Element;
|
|
31
|
+
declare function SelectScrollDownButton({ className, asChild, children, ...props }: SelectScrollDownButtonProps): React.JSX.Element;
|
|
27
32
|
//#endregion
|
|
28
33
|
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
|
|
29
34
|
//# sourceMappingURL=select.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-BhWHdk3m.js";import{
|
|
1
|
+
import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{useFieldControlId as r,useFieldInvalid as i}from"./field.js";import{IconCheck as a,IconChevronDown as o,IconChevronUp as s,IconSelector as c}from"@tabler/icons-react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{Select as d}from"@base-ui/react/select";function Select({...e}){return/* @__PURE__ */ l(d.Root,{"data-slot":`select`,...e})}function SelectGroup({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.Group,{"data-slot":`select-group`,className:e=>t(`scroll-my-1 p-1`,n(r,e)),...o,...e(i,a)})}function SelectValue({asChild:t,children:n,...r}){return/* @__PURE__ */ l(d.Value,{"data-slot":`select-value`,...r,...e(t,n)})}function SelectTrigger({className:a,id:o,size:s=`md`,children:f,asChild:p,"aria-invalid":m,...h}){let g=r(o),_=i(m);return/* @__PURE__ */ u(d.Trigger,{id:g,"aria-invalid":_,"data-slot":`select-trigger`,"data-size":s,className:e=>t(`border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]`,`*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50`,n(a,e)),...h,...e(p,f),children:[!p&&f,!p&&/* @__PURE__ */ l(d.Icon,{render:/* @__PURE__ */ l(c,{className:`text-muted-foreground size-4 pointer-events-none`})})]})}function SelectContent({className:e,children:r,side:i=`bottom`,sideOffset:a=4,align:o=`center`,alignOffset:s=0,alignItemWithTrigger:c=!0,sticky:f,...p}){return/* @__PURE__ */ l(d.Portal,{children:/* @__PURE__ */ l(d.Positioner,{side:i,sideOffset:a,align:o,alignOffset:s,alignItemWithTrigger:c,sticky:f,className:`isolate z-50`,children:/* @__PURE__ */ u(d.Popup,{"data-slot":`select-content`,"data-align-trigger":c,className:r=>t(`bg-popover text-popover-foreground ring-foreground/10 relative isolate z-50 min-w-[max(--spacing(36),var(--anchor-width))] max-h-(--available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--transform-origin) overflow-x-hidden overflow-y-auto`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open: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`,`data-[align-trigger=true]:animate-none`,n(e,r)),...p,children:[/* @__PURE__ */ l(SelectScrollUpButton,{}),/* @__PURE__ */ l(d.List,{children:r}),/* @__PURE__ */ l(SelectScrollDownButton,{})]})})})}function SelectLabel({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.GroupLabel,{"data-slot":`select-label`,className:e=>t(`text-muted-foreground px-1.5 py-1 text-xs`,n(r,e)),...o,...e(i,a)})}function SelectItem({className:e,children:r,...i}){return/* @__PURE__ */ u(d.Item,{"data-slot":`select-item`,className:r=>t(`focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground`,`relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none`,`*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`data-disabled:pointer-events-none data-disabled:opacity-50`,n(e,r)),...i,children:[/* @__PURE__ */ l(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:/* @__PURE__ */ l(d.ItemIndicator,{children:/* @__PURE__ */ l(a,{className:`pointer-events-none`})})}),/* @__PURE__ */ l(d.ItemText,{render:/* @__PURE__ */ l(`span`,{}),children:r})]})}function SelectSeparator({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.Separator,{"data-slot":`select-separator`,className:e=>t(`bg-border -mx-1 my-1 h-px pointer-events-none`,n(r,e)),...o,...e(i,a)})}function SelectScrollUpButton({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.ScrollUpArrow,{"data-slot":`select-scroll-up-button`,className:e=>t(`bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,n(r,e)),...o,...e(i,a),children:/* @__PURE__ */ l(s,{})})}function SelectScrollDownButton({className:r,asChild:i,children:a,...s}){return/* @__PURE__ */ l(d.ScrollDownArrow,{"data-slot":`select-scroll-down-button`,className:e=>t(`bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,n(r,e)),...s,...e(i,a),children:/* @__PURE__ */ l(o,{})})}export{Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue};
|
|
2
2
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["SelectPrimitive","Select$1","props","cn","className","fieldControlId","useFieldControlId","id","size","children","IconSelector","position","IconCheck","IconChevronUp","IconChevronDown"],"sources":["../../src/components/select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconCheck, IconChevronDown, IconChevronUp, IconSelector } from '@tabler/icons-react'\nimport { Select as SelectPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\n\nexport type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>\n\nexport type SelectGroupProps = React.ComponentProps<typeof SelectPrimitive.Group>\n\nexport type SelectValueProps = React.ComponentProps<typeof SelectPrimitive.Value>\n\nexport type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'md'\n}\n\nexport type SelectContentProps = React.ComponentProps<typeof SelectPrimitive.Content>\n\nexport type SelectLabelProps = React.ComponentProps<typeof SelectPrimitive.Label>\n\nexport type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item>\n\nexport type SelectSeparatorProps = React.ComponentProps<typeof SelectPrimitive.Separator>\n\nexport type SelectScrollUpButtonProps = React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>\n\nexport type SelectScrollDownButtonProps = React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>\n\nfunction Select({ ...props }: SelectProps) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({ className, ...props }: SelectGroupProps) {\n return <SelectPrimitive.Group data-slot=\"select-group\" className={cn('scroll-my-1 p-1', className)} {...props} />\n}\n\nfunction SelectValue({ ...props }: SelectValueProps) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({ className, id, size = 'md', children, ...props }: SelectTriggerProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <SelectPrimitive.Trigger\n id={fieldControlId}\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n '*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <IconSelector className=\"text-muted-foreground size-4 pointer-events-none\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'item-aligned',\n align = 'center',\n ...props\n}: SelectContentProps) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === 'item-aligned'}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 relative z-50 min-w-36 max-h-(--radix-select-content-available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n 'data-[align-trigger=true]:animate-none',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n 'data-[position=popper]:h-(--radix-select-trigger-height)',\n 'data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, ...props }: SelectLabelProps) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-1.5 py-1 text-xs', className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground',\n 'relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none',\n '*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <IconCheck className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({ className, ...props }: SelectSeparatorProps) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border -mx-1 my-1 h-px pointer-events-none', className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({ className, ...props }: SelectScrollUpButtonProps) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n 'bg-popover z-10 flex cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <IconChevronUp />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({ className, ...props }: SelectScrollDownButtonProps) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n 'bg-popover z-10 flex cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <IconChevronDown />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","names":["SelectPrimitive","resolveClassName","Select$1","props","cn","className","state","toAsChildRenderProps","asChild","children","ariaInvalid","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","size","IconSelector","alignItemWithTrigger","IconCheck","IconChevronUp","IconChevronDown"],"sources":["../../src/components/select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Select as SelectPrimitive } from '@base-ui/react/select'\nimport { IconCheck, IconChevronDown, IconChevronUp, IconSelector } from '@tabler/icons-react'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type SelectProps<Value = string, Multiple extends boolean | undefined = false> = SelectPrimitive.Root.Props<\n Value,\n Multiple\n>\n\nexport type SelectGroupProps = AsChildPrimitiveProps<typeof SelectPrimitive.Group>\n\nexport type SelectValueProps = AsChildPrimitiveProps<typeof SelectPrimitive.Value>\n\nexport type SelectTriggerProps = AsChildPrimitiveProps<typeof SelectPrimitive.Trigger> & {\n /**\n * Height of the trigger.\n * @default 'md'\n */\n size?: 'sm' | 'md'\n}\n\nexport type SelectContentProps = Omit<React.ComponentProps<typeof SelectPrimitive.Popup>, 'render'> &\n Pick<\n React.ComponentProps<typeof SelectPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'alignItemWithTrigger' | 'sticky'\n >\n\nexport type SelectLabelProps = AsChildPrimitiveProps<typeof SelectPrimitive.GroupLabel>\n\nexport type SelectItemProps = Omit<React.ComponentProps<typeof SelectPrimitive.Item>, 'render'>\n\nexport type SelectSeparatorProps = AsChildPrimitiveProps<typeof SelectPrimitive.Separator>\n\nexport type SelectScrollUpButtonProps = AsChildPrimitiveProps<typeof SelectPrimitive.ScrollUpArrow>\n\nexport type SelectScrollDownButtonProps = AsChildPrimitiveProps<typeof SelectPrimitive.ScrollDownArrow>\n\nfunction Select<Value = string, Multiple extends boolean | undefined = false>({\n ...props\n}: SelectProps<Value, Multiple>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({ className, asChild, children, ...props }: SelectGroupProps) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={(state) => cn('scroll-my-1 p-1', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectValue({ asChild, children, ...props }: SelectValueProps) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} {...toAsChildRenderProps(asChild, children)} />\n}\n\nfunction SelectTrigger({\n className,\n id,\n size = 'md',\n children,\n asChild,\n 'aria-invalid': ariaInvalid,\n ...props\n}: SelectTriggerProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <SelectPrimitive.Trigger\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"select-trigger\"\n data-size={size}\n className={(state) =>\n cn(\n 'border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n '*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <SelectPrimitive.Icon render={<IconSelector className=\"text-muted-foreground size-4 pointer-events-none\" />} />\n )}\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n side = 'bottom',\n sideOffset = 4,\n align = 'center',\n alignOffset = 0,\n alignItemWithTrigger = true,\n sticky,\n ...props\n}: SelectContentProps) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n alignItemWithTrigger={alignItemWithTrigger}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <SelectPrimitive.Popup\n data-slot=\"select-content\"\n data-align-trigger={alignItemWithTrigger}\n className={(state) =>\n cn(\n 'bg-popover text-popover-foreground ring-foreground/10 relative isolate z-50 min-w-[max(--spacing(36),var(--anchor-width))] max-h-(--available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--transform-origin) overflow-x-hidden overflow-y-auto',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n 'data-[align-trigger=true]:animate-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.List>{children}</SelectPrimitive.List>\n <SelectScrollDownButton />\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, asChild, children, ...props }: SelectLabelProps) {\n return (\n <SelectPrimitive.GroupLabel\n data-slot=\"select-label\"\n className={(state) => cn('text-muted-foreground px-1.5 py-1 text-xs', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={(state) =>\n cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground',\n 'relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none',\n '*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <IconCheck className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText render={<span />}>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({ className, asChild, children, ...props }: SelectSeparatorProps) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={(state) => cn('bg-border -mx-1 my-1 h-px pointer-events-none', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectScrollUpButton({ className, asChild, children, ...props }: SelectScrollUpButtonProps) {\n return (\n <SelectPrimitive.ScrollUpArrow\n data-slot=\"select-scroll-up-button\"\n className={(state) =>\n cn(\n 'bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n <IconChevronUp />\n </SelectPrimitive.ScrollUpArrow>\n )\n}\n\nfunction SelectScrollDownButton({ className, asChild, children, ...props }: SelectScrollDownButtonProps) {\n return (\n <SelectPrimitive.ScrollDownArrow\n data-slot=\"select-scroll-down-button\"\n className={(state) =>\n cn(\n 'bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n <IconChevronDown />\n </SelectPrimitive.ScrollDownArrow>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n}\n"],"mappings":"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"}
|