@uselets/ui 1.12.0 → 1.14.0

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.
Files changed (198) hide show
  1. package/README.md +6 -2
  2. package/dist/{chart-lqgodZYQ.d.ts → chart-CVe5-EWS.d.ts} +9 -39
  3. package/dist/components/accordion.d.ts +4 -19
  4. package/dist/components/accordion.js.map +1 -1
  5. package/dist/components/alert-dialog.d.ts +12 -53
  6. package/dist/components/alert-dialog.js.map +1 -1
  7. package/dist/components/alert.d.ts +4 -18
  8. package/dist/components/anchor.d.ts +2 -9
  9. package/dist/components/area-chart.d.ts +2 -26
  10. package/dist/components/area-chart.js.map +1 -1
  11. package/dist/components/avatar.d.ts +6 -26
  12. package/dist/components/badge.d.ts +4 -12
  13. package/dist/components/bar-chart.d.ts +2 -24
  14. package/dist/components/bar-chart.js.map +1 -1
  15. package/dist/components/breadcrumb.d.ts +7 -31
  16. package/dist/components/breadcrumb.js.map +1 -1
  17. package/dist/components/button-group.d.ts +3 -16
  18. package/dist/components/button.d.ts +4 -15
  19. package/dist/components/button.js.map +1 -1
  20. package/dist/components/calendar.d.ts +2 -19
  21. package/dist/components/calendar.js.map +1 -1
  22. package/dist/components/card.d.ts +7 -30
  23. package/dist/components/carousel.d.ts +6 -37
  24. package/dist/components/carousel.js +1 -1
  25. package/dist/components/carousel.js.map +1 -1
  26. package/dist/components/carousel.spec.d.ts +1 -1
  27. package/dist/components/carousel.spec.js +93 -1
  28. package/dist/components/carousel.spec.js.map +1 -1
  29. package/dist/components/center.d.ts +2 -8
  30. package/dist/components/chart.d.ts +1 -1
  31. package/dist/components/chart.js +1 -1
  32. package/dist/components/chart.js.map +1 -1
  33. package/dist/components/checkbox.d.ts +3 -12
  34. package/dist/components/checkbox.js +1 -1
  35. package/dist/components/checkbox.js.map +1 -1
  36. package/dist/components/code.d.ts +1 -5
  37. package/dist/components/collapsible.d.ts +3 -10
  38. package/dist/components/combobox.d.ts +15 -80
  39. package/dist/components/combobox.js.map +1 -1
  40. package/dist/components/command.d.ts +9 -43
  41. package/dist/components/command.js.map +1 -1
  42. package/dist/components/container.d.ts +2 -7
  43. package/dist/components/data-table.d.ts +8 -61
  44. package/dist/components/data-table.js.map +1 -1
  45. package/dist/components/date-range-picker.d.ts +11 -75
  46. package/dist/components/date-range-picker.js +1 -1
  47. package/dist/components/date-range-picker.js.map +1 -1
  48. package/dist/components/dialog.d.ts +12 -49
  49. package/dist/components/dialog.js.map +1 -1
  50. package/dist/components/donut-chart.d.ts +1 -10
  51. package/dist/components/donut-chart.js.map +1 -1
  52. package/dist/components/drawer.d.ts +13 -49
  53. package/dist/components/drawer.js.map +1 -1
  54. package/dist/components/dropdown-menu.d.ts +15 -66
  55. package/dist/components/dropdown-menu.js.map +1 -1
  56. package/dist/components/dropzone.d.ts +1 -5
  57. package/dist/components/dropzone.js.map +1 -1
  58. package/dist/components/empty.d.ts +6 -26
  59. package/dist/components/field.d.ts +11 -48
  60. package/dist/components/field.js.map +1 -1
  61. package/dist/components/field.spec.d.ts +1 -1
  62. package/dist/components/field.spec.js +1 -1
  63. package/dist/components/field.spec.js.map +1 -1
  64. package/dist/components/flex.d.ts +5 -14
  65. package/dist/components/grid.d.ts +2 -18
  66. package/dist/components/group.d.ts +4 -12
  67. package/dist/components/heading.d.ts +2 -8
  68. package/dist/components/hover-card.d.ts +3 -13
  69. package/dist/components/hover-card.js.map +1 -1
  70. package/dist/components/input-group.d.ts +8 -32
  71. package/dist/components/input-otp.d.ts +4 -19
  72. package/dist/components/input-otp.js.map +1 -1
  73. package/dist/components/input.d.ts +1 -7
  74. package/dist/components/kbd.d.ts +2 -9
  75. package/dist/components/label.d.ts +1 -5
  76. package/dist/components/list.d.ts +5 -22
  77. package/dist/components/list.js.map +1 -1
  78. package/dist/components/marker.d.ts +18 -0
  79. package/dist/components/marker.js +2 -0
  80. package/dist/components/marker.js.map +1 -0
  81. package/dist/components/mask-input.d.ts +1 -11
  82. package/dist/components/native-select.d.ts +3 -14
  83. package/dist/components/native-select.js.map +1 -1
  84. package/dist/components/navigation-menu.d.ts +8 -36
  85. package/dist/components/navigation-menu.js.map +1 -1
  86. package/dist/components/number-field.d.ts +35 -0
  87. package/dist/components/number-field.js +2 -0
  88. package/dist/components/number-field.js.map +1 -0
  89. package/dist/components/pagination.d.ts +7 -33
  90. package/dist/components/pagination.js.map +1 -1
  91. package/dist/components/phone-input.d.ts +13 -0
  92. package/dist/components/phone-input.js +2 -0
  93. package/dist/components/phone-input.js.map +1 -0
  94. package/dist/components/pie-chart.d.ts +2 -24
  95. package/dist/components/pie-chart.js.map +1 -1
  96. package/dist/components/popover.d.ts +7 -28
  97. package/dist/components/progress.d.ts +3 -10
  98. package/dist/components/progress.js.map +1 -1
  99. package/dist/components/radio-group.d.ts +4 -17
  100. package/dist/components/radio-group.js +1 -1
  101. package/dist/components/radio-group.js.map +1 -1
  102. package/dist/components/resizable.d.ts +3 -13
  103. package/dist/components/resizable.js.map +1 -1
  104. package/dist/components/ring-progress.d.ts +3 -11
  105. package/dist/components/ring-progress.js.map +1 -1
  106. package/dist/components/scroll-area.d.ts +2 -11
  107. package/dist/components/scroll-area.js.map +1 -1
  108. package/dist/components/select.d.ts +10 -46
  109. package/dist/components/select.js.map +1 -1
  110. package/dist/components/separator.d.ts +1 -7
  111. package/dist/components/sidebar.d.ts +24 -118
  112. package/dist/components/sidebar.js.map +1 -1
  113. package/dist/components/simple-grid.d.ts +1 -10
  114. package/dist/components/skeleton.d.ts +1 -7
  115. package/dist/components/skeleton.js.map +1 -1
  116. package/dist/components/skeleton.spec.d.ts +1 -1
  117. package/dist/components/skeleton.spec.js +1 -1
  118. package/dist/components/skeleton.spec.js.map +1 -1
  119. package/dist/components/slider.d.ts +1 -10
  120. package/dist/components/slider.js.map +1 -1
  121. package/dist/components/sonner.d.ts +0 -1
  122. package/dist/components/spinner.d.ts +2 -7
  123. package/dist/components/stack.d.ts +4 -11
  124. package/dist/components/stepper.d.ts +71 -0
  125. package/dist/components/stepper.js +2 -0
  126. package/dist/components/stepper.js.map +1 -0
  127. package/dist/components/switch.d.ts +1 -10
  128. package/dist/components/switch.js +1 -1
  129. package/dist/components/switch.js.map +1 -1
  130. package/dist/components/table.d.ts +10 -43
  131. package/dist/components/tabs.d.ts +5 -21
  132. package/dist/components/text.d.ts +2 -8
  133. package/dist/components/textarea.d.ts +1 -6
  134. package/dist/components/theme.d.ts +1 -7
  135. package/dist/components/theme.js.map +1 -1
  136. package/dist/components/timeline.d.ts +5 -6
  137. package/dist/components/timeline.js.map +1 -1
  138. package/dist/components/toggle-group.d.ts +2 -19
  139. package/dist/components/toggle-group.js.map +1 -1
  140. package/dist/components/toggle.d.ts +4 -11
  141. package/dist/components/tooltip.d.ts +5 -28
  142. package/dist/components/tooltip.js.map +1 -1
  143. package/dist/components/unstyled-button.d.ts +1 -7
  144. package/dist/components/visibility.d.ts +2 -9
  145. package/dist/hooks/use-breakpoint-value.d.ts +0 -1
  146. package/dist/hooks/use-breakpoint-value.spec.d.ts +1 -1
  147. package/dist/hooks/use-breakpoint-value.spec.js +1 -1
  148. package/dist/hooks/use-breakpoint-value.spec.js.map +1 -1
  149. package/dist/hooks/use-breakpoint.d.ts +0 -1
  150. package/dist/hooks/use-breakpoint.spec.d.ts +1 -1
  151. package/dist/hooks/use-breakpoint.spec.js +1 -1
  152. package/dist/hooks/use-disclosure.d.ts +0 -1
  153. package/dist/hooks/use-disclosure.spec.d.ts +1 -1
  154. package/dist/hooks/use-disclosure.spec.js +1 -1
  155. package/dist/hooks/use-document-visibility.d.ts +0 -1
  156. package/dist/hooks/use-document-visibility.spec.d.ts +1 -1
  157. package/dist/hooks/use-document-visibility.spec.js +1 -1
  158. package/dist/hooks/use-hotkeys.d.ts +1 -1
  159. package/dist/hooks/use-hotkeys.js +1 -1
  160. package/dist/hooks/use-hotkeys.spec.d.ts +1 -1
  161. package/dist/hooks/use-hotkeys.spec.js +1 -1
  162. package/dist/hooks/use-idle.d.ts +0 -1
  163. package/dist/hooks/use-idle.spec.d.ts +1 -1
  164. package/dist/hooks/use-idle.spec.js +1 -1
  165. package/dist/hooks/use-interval.d.ts +10 -8
  166. package/dist/hooks/use-interval.spec.d.ts +1 -1
  167. package/dist/hooks/use-interval.spec.js +1 -1
  168. package/dist/hooks/use-local-storage.d.ts +0 -1
  169. package/dist/hooks/use-local-storage.spec.d.ts +1 -1
  170. package/dist/hooks/use-local-storage.spec.js +1 -1
  171. package/dist/hooks/use-mask.d.ts +0 -1
  172. package/dist/hooks/use-mask.js +1 -1
  173. package/dist/hooks/use-mask.js.map +1 -1
  174. package/dist/hooks/use-mobile.d.ts +0 -1
  175. package/dist/hooks/use-mobile.spec.d.ts +1 -1
  176. package/dist/hooks/use-mobile.spec.js +1 -1
  177. package/dist/index.d.ts +7 -3
  178. package/dist/index.js +1 -1
  179. package/dist/lib/badge.d.ts +0 -1
  180. package/dist/lib/button.d.ts +0 -1
  181. package/dist/lib/color.d.ts +1 -2
  182. package/dist/lib/compose-refs.d.ts +0 -1
  183. package/dist/lib/progress.d.ts +0 -1
  184. package/dist/lib/utils.d.ts +0 -1
  185. package/dist/{magic-string.es-DbBO8R0S.js → magic-string.es-oADFB1hu.js} +2 -2
  186. package/dist/{magic-string.es-DbBO8R0S.js.map → magic-string.es-oADFB1hu.js.map} +1 -1
  187. package/dist/{react.esm-D88qr0ij.js → react.esm-D5AipFQb.js} +5 -5
  188. package/dist/{react.esm-D88qr0ij.js.map → react.esm-D5AipFQb.js.map} +1 -1
  189. package/dist/skills/uselets-ui/references/component-catalog.md +14 -2
  190. package/dist/{use-hotkeys-BOfOFxb5.js → use-hotkeys-C0d5t4yo.js} +2 -2
  191. package/dist/{use-hotkeys-BOfOFxb5.js.map → use-hotkeys-C0d5t4yo.js.map} +1 -1
  192. package/dist/{use-hotkeys-Cl1cV6e8.d.ts → use-hotkeys-DloZH-B4.d.ts} +1 -2
  193. package/dist/utils-Cj3IZeiu.js +37 -0
  194. package/dist/utils-Cj3IZeiu.js.map +1 -0
  195. package/package.json +17 -16
  196. package/skills/uselets-ui/references/component-catalog.md +14 -2
  197. package/dist/dist-B-hwiqYg.js +0 -129
  198. package/dist/dist-B-hwiqYg.js.map +0 -1
@@ -1,19 +1,13 @@
1
1
  import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
-
5
4
  //#region src/components/center.d.ts
6
5
  declare const centerVariants: (props?: ({
7
6
  direction?: "horizontal" | "vertical" | null | undefined;
8
- size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
7
+ size?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
9
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
9
  type CenterProps = React.ComponentProps<'div'> & VariantProps<typeof centerVariants>;
11
- declare function Center({
12
- className,
13
- direction,
14
- size,
15
- ...props
16
- }: CenterProps): React.JSX.Element;
10
+ declare function Center({ className, direction, size, ...props }: CenterProps): React.JSX.Element;
17
11
  //#endregion
18
12
  export { Center, CenterProps, centerVariants };
19
13
  //# sourceMappingURL=center.d.ts.map
@@ -1,2 +1,2 @@
1
- import { _ as resolveChartColor, a as ChartContainerProps, c as ChartLegendContentProps, d as ChartStyleProps, f as ChartTooltip, g as DEFAULT_CHART_PALETTE, h as ChartTooltipProps, i as ChartContainer, l as ChartLegendProps, m as ChartTooltipContentProps, n as ChartColorKey, o as ChartLegend, p as ChartTooltipContent, r as ChartConfig, s as ChartLegendContent, t as CHART_COLOR_KEYS, u as ChartStyle } from "../chart-lqgodZYQ.js";
1
+ import { _ as resolveChartColor, a as ChartContainerProps, c as ChartLegendContentProps, d as ChartStyleProps, f as ChartTooltip, g as DEFAULT_CHART_PALETTE, h as ChartTooltipProps, i as ChartContainer, l as ChartLegendProps, m as ChartTooltipContentProps, n as ChartColorKey, o as ChartLegend, p as ChartTooltipContent, r as ChartConfig, s as ChartLegendContent, t as CHART_COLOR_KEYS, u as ChartStyle } from "../chart-CVe5-EWS.js";
2
2
  export { CHART_COLOR_KEYS, ChartColorKey, ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartLegendProps, ChartStyle, ChartStyleProps, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, ChartTooltipProps, DEFAULT_CHART_PALETTE, resolveChartColor };
@@ -4,5 +4,5 @@ ${r.map(([e,n])=>{let r=n.theme?.[t]||n.color;return r?` --color-${e}: ${r};`:n
4
4
  `)}
5
5
  }
6
6
  `).join(`
7
- `)}):null},u=a.Tooltip;function ChartTooltipContent({active:a,payload:o,className:s,indicator:c=`dot`,hideLabel:l=!1,hideIndicator:u=!1,label:d,labelFormatter:f,labelClassName:p,formatter:m,color:h,nameKey:g,labelKey:_}){let{config:v}=useChart(),y=i.useMemo(()=>{if(l||!o?.length)return null;let[t]=o,r=getPayloadConfigFromPayload(v,t,`${_||t?.dataKey||t?.name||`value`}`),i=!_&&typeof d==`string`?v[d]?.label||d:r?.label;return f?n(`div`,{className:e(`font-medium`,p),children:f(i,o)}):i?n(`div`,{className:e(`font-medium`,p),children:i}):null},[d,f,o,l,p,v,_]);if(!a||!o?.length)return null;let b=o.length===1&&c!==`dot`;return r(`div`,{className:e(`grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,s),children:[b?null:y,n(`div`,{className:`grid gap-1.5`,children:o.filter(e=>e.type!==`none`).map((i,a)=>{let o=getPayloadConfigFromPayload(v,i,`${g||i.name||i.dataKey||`value`}`),s=h||i.payload.fill||i.color;return n(`div`,{className:e(`flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground`,c===`dot`&&`items-center`),children:m&&i?.value!==void 0&&i.name?m(i.value,i.name,i,a,i.payload):r(t,{children:[o?.icon?n(o.icon,{}):!u&&n(`div`,{className:e(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"h-2.5 w-2.5":c===`dot`,"w-1":c===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":c===`dashed`,"my-0.5":b&&c===`dashed`}),style:{"--color-bg":s,"--color-border":s}}),r(`div`,{className:e(`flex flex-1 justify-between leading-none`,b?`items-end`:`items-center`),children:[r(`div`,{className:`grid gap-1.5`,children:[b?y:null,n(`span`,{className:`text-muted-foreground`,children:o?.label||i.name})]}),i.value&&n(`span`,{className:`font-mono font-medium text-foreground tabular-nums`,children:i.value.toLocaleString()})]})]})},String(i.dataKey))})})]})}const d=a.Legend;function ChartLegendContent({className:t,hideIcon:i=!1,payload:a,verticalAlign:o=`bottom`,nameKey:s}){let{config:c}=useChart();return a?.length?n(`div`,{className:e(`flex items-center justify-center flex-wrap gap-2`,o===`top`?`pb-3`:`pt-3`,t),children:a.filter(e=>e.type!==`none`).map(t=>{let a=getPayloadConfigFromPayload(c,t,`${s||t.dataKey||`value`}`);return r(`div`,{className:e(`flex items-center gap-1 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground`),children:[a?.icon&&!i?n(a.icon,{}):n(`div`,{className:`h-3 w-3 shrink-0 rounded-[2px]`,style:{backgroundColor:t.color}}),a?.label]},t.value)})}):null}function getPayloadConfigFromPayload(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}export{s as CHART_COLOR_KEYS,ChartContainer,d as ChartLegend,ChartLegendContent,ChartStyle,u as ChartTooltip,ChartTooltipContent,c as DEFAULT_CHART_PALETTE,resolveChartColor};
7
+ `)}):null},u=a.Tooltip;function ChartTooltipContent({active:a,payload:o,className:s,indicator:c=`dot`,hideLabel:l=!1,hideIndicator:u=!1,label:d,labelFormatter:f,labelClassName:p,formatter:m,color:h,nameKey:g,labelKey:_}){let{config:v}=useChart(),y=i.useMemo(()=>{if(l||!o?.length)return null;let[t]=o,r=`${_||t?.dataKey||t?.name||`value`}`,i=getPayloadConfigFromPayload(v,t,r),a=!_&&typeof d==`string`?v[d]?.label||d:i?.label;return f?n(`div`,{className:e(`font-medium`,p),children:f(a,o)}):a?n(`div`,{className:e(`font-medium`,p),children:a}):null},[d,f,o,l,p,v,_]);if(!a||!o?.length)return null;let b=o.length===1&&c!==`dot`;return r(`div`,{className:e(`grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,s),children:[b?null:y,n(`div`,{className:`grid gap-1.5`,children:o.filter(e=>e.type!==`none`).map((i,a)=>{let o=`${g||i.name||i.dataKey||`value`}`,s=getPayloadConfigFromPayload(v,i,o),l=h||i.payload.fill||i.color;return n(`div`,{className:e(`flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground`,c===`dot`&&`items-center`),children:m&&i?.value!==void 0&&i.name?m(i.value,i.name,i,a,i.payload):r(t,{children:[s?.icon?n(s.icon,{}):!u&&n(`div`,{className:e(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"h-2.5 w-2.5":c===`dot`,"w-1":c===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":c===`dashed`,"my-0.5":b&&c===`dashed`}),style:{"--color-bg":l,"--color-border":l}}),r(`div`,{className:e(`flex flex-1 justify-between leading-none`,b?`items-end`:`items-center`),children:[r(`div`,{className:`grid gap-1.5`,children:[b?y:null,n(`span`,{className:`text-muted-foreground`,children:s?.label||i.name})]}),i.value&&n(`span`,{className:`font-mono font-medium text-foreground tabular-nums`,children:i.value.toLocaleString()})]})]})},String(i.dataKey))})})]})}const d=a.Legend;function ChartLegendContent({className:t,hideIcon:i=!1,payload:a,verticalAlign:o=`bottom`,nameKey:s}){let{config:c}=useChart();return a?.length?n(`div`,{className:e(`flex items-center justify-center flex-wrap gap-2`,o===`top`?`pb-3`:`pt-3`,t),children:a.filter(e=>e.type!==`none`).map(t=>{let a=`${s||t.dataKey||`value`}`,o=getPayloadConfigFromPayload(c,t,a);return r(`div`,{className:e(`flex items-center gap-1 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground`),children:[o?.icon&&!i?n(o.icon,{}):n(`div`,{className:`h-3 w-3 shrink-0 rounded-[2px]`,style:{backgroundColor:t.color}}),o?.label]},t.value)})}):null}function getPayloadConfigFromPayload(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}export{s as CHART_COLOR_KEYS,ChartContainer,d as ChartLegend,ChartLegendContent,ChartStyle,u as ChartTooltip,ChartTooltipContent,c as DEFAULT_CHART_PALETTE,resolveChartColor};
8
8
  //# sourceMappingURL=chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.js","names":[],"sources":["../../src/components/chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport * as RechartsPrimitive from 'recharts'\n\nimport { cn } from '../lib/utils'\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const\n\nexport type ChartColorKey =\n | 'primary'\n | 'brand'\n | 'gray'\n | 'zinc'\n | 'red'\n | 'yellow'\n | 'green'\n | 'blue'\n | 'indigo'\n | 'pink'\n\nconst CHART_COLOR_KEYS: readonly ChartColorKey[] = [\n 'primary',\n 'brand',\n 'gray',\n 'zinc',\n 'red',\n 'yellow',\n 'green',\n 'blue',\n 'indigo',\n 'pink'\n]\n\nexport function resolveChartColor(value: string | undefined): string | undefined {\n if (!value) return undefined\n if ((CHART_COLOR_KEYS as readonly string[]).includes(value)) {\n return `var(--${value})`\n }\n return value\n}\n\nexport const DEFAULT_CHART_PALETTE = [\n 'var(--chart-1)',\n 'var(--chart-2)',\n 'var(--chart-3)',\n 'var(--chart-4)',\n 'var(--chart-5)'\n] as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> })\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nexport type ChartContainerProps = React.ComponentProps<'div'> & {\n config: ChartConfig\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children']\n}\n\nexport type ChartStyleProps = {\n id: string\n config: ChartConfig\n}\n\nexport type ChartTooltipProps = React.ComponentProps<typeof RechartsPrimitive.Tooltip>\n\nexport type ChartTooltipContentProps = Partial<\n RechartsPrimitive.DefaultTooltipContentProps<number | string | Array<number | string>, number | string>\n> &\n Omit<React.ComponentProps<'div'>, 'formatter'> & {\n active?: boolean\n color?: string\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: 'line' | 'dot' | 'dashed'\n nameKey?: string\n labelKey?: string\n }\n\nexport type ChartLegendProps = React.ComponentProps<typeof RechartsPrimitive.Legend>\n\nexport type ChartLegendContentProps = React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.DefaultLegendContentProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean\n nameKey?: string\n }\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />')\n }\n\n return context\n}\n\nfunction ChartContainer({ id, className, children, config, ...props }: ChartContainerProps) {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n}\n\nconst ChartStyle = ({ id, config }: ChartStyleProps) => {\n const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color)\n\n if (!colorConfig.length) {\n return null\n }\n\n const styles = Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join('\\n')}\n}\n`\n )\n .join('\\n')\n\n return <style>{styles}</style>\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey\n}: ChartTooltipContentProps) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot'\n\n return (\n <div\n className={cn(\n 'grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl',\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== 'none')\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={String(item.dataKey)}\n className={cn(\n 'flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n indicator === 'dot' && 'items-center'\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed'\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center'\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium text-foreground tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = 'bottom',\n nameKey\n}: ChartLegendContentProps) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n className={cn(\n 'flex items-center justify-center flex-wrap gap-2',\n verticalAlign === 'top' ? 'pb-3' : 'pt-3',\n className\n )}\n >\n {payload\n .filter((item) => item.type !== 'none')\n .map((item) => {\n const key = `${nameKey || item.dataKey || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn('flex items-center gap-1 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-3 w-3 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n}\n\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n ) {\n configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config]\n}\n\nexport {\n CHART_COLOR_KEYS,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n ChartTooltip,\n ChartTooltipContent\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"chart.js","names":[],"sources":["../../src/components/chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport * as RechartsPrimitive from 'recharts'\n\nimport { cn } from '../lib/utils'\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const\n\nexport type ChartColorKey =\n | 'primary'\n | 'brand'\n | 'gray'\n | 'zinc'\n | 'red'\n | 'yellow'\n | 'green'\n | 'blue'\n | 'indigo'\n | 'pink'\n\nconst CHART_COLOR_KEYS: readonly ChartColorKey[] = [\n 'primary',\n 'brand',\n 'gray',\n 'zinc',\n 'red',\n 'yellow',\n 'green',\n 'blue',\n 'indigo',\n 'pink'\n]\n\nexport function resolveChartColor(value: string | undefined): string | undefined {\n if (!value) return undefined\n if ((CHART_COLOR_KEYS as readonly string[]).includes(value)) {\n return `var(--${value})`\n }\n return value\n}\n\nexport const DEFAULT_CHART_PALETTE = [\n 'var(--chart-1)',\n 'var(--chart-2)',\n 'var(--chart-3)',\n 'var(--chart-4)',\n 'var(--chart-5)'\n] as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> })\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nexport type ChartContainerProps = React.ComponentProps<'div'> & {\n config: ChartConfig\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children']\n}\n\nexport type ChartStyleProps = {\n id: string\n config: ChartConfig\n}\n\nexport type ChartTooltipProps = React.ComponentProps<typeof RechartsPrimitive.Tooltip>\n\nexport type ChartTooltipContentProps = Partial<\n RechartsPrimitive.DefaultTooltipContentProps<number | string | Array<number | string>, number | string>\n> &\n Omit<React.ComponentProps<'div'>, 'formatter'> & {\n active?: boolean\n color?: string\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: 'line' | 'dot' | 'dashed'\n nameKey?: string\n labelKey?: string\n }\n\nexport type ChartLegendProps = React.ComponentProps<typeof RechartsPrimitive.Legend>\n\nexport type ChartLegendContentProps = React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.DefaultLegendContentProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean\n nameKey?: string\n }\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />')\n }\n\n return context\n}\n\nfunction ChartContainer({ id, className, children, config, ...props }: ChartContainerProps) {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n}\n\nconst ChartStyle = ({ id, config }: ChartStyleProps) => {\n const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color)\n\n if (!colorConfig.length) {\n return null\n }\n\n const styles = Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join('\\n')}\n}\n`\n )\n .join('\\n')\n\n return <style>{styles}</style>\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey\n}: ChartTooltipContentProps) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot'\n\n return (\n <div\n className={cn(\n 'grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl',\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== 'none')\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={String(item.dataKey)}\n className={cn(\n 'flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n indicator === 'dot' && 'items-center'\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed'\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center'\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium text-foreground tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = 'bottom',\n nameKey\n}: ChartLegendContentProps) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n className={cn(\n 'flex items-center justify-center flex-wrap gap-2',\n verticalAlign === 'top' ? 'pb-3' : 'pt-3',\n className\n )}\n >\n {payload\n .filter((item) => item.type !== 'none')\n .map((item) => {\n const key = `${nameKey || item.dataKey || 'value'}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn('flex items-center gap-1 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-3 w-3 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n}\n\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n ) {\n configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config]\n}\n\nexport {\n CHART_COLOR_KEYS,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n ChartTooltip,\n ChartTooltipContent\n}\n"],"mappings":"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"}
@@ -5,26 +5,17 @@ import { Checkbox as Checkbox$1 } from "radix-ui";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import * as React from "react";
7
7
  import { ReactNode } from "react";
8
-
9
8
  //#region src/components/checkbox.d.ts
10
9
  declare const checkboxVariants: (props?: ({
11
- color?: "primary" | "brand" | "gray" | "zinc" | "red" | "yellow" | "blue" | "indigo" | "pink" | "green" | null | undefined;
12
- size?: "sm" | "md" | "lg" | null | undefined;
10
+ color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
11
+ size?: "lg" | "md" | "sm" | null | undefined;
13
12
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
13
  type CheckboxProps = React.ComponentProps<typeof Checkbox$1.Root> & VariantProps<typeof checkboxVariants> & {
15
14
  color?: UIColor;
16
15
  label?: ReactNode;
17
16
  labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>;
18
17
  };
19
- declare function Checkbox({
20
- className,
21
- color,
22
- id,
23
- label,
24
- labelProps,
25
- size,
26
- ...props
27
- }: CheckboxProps): React.JSX.Element;
18
+ declare function Checkbox({ className, color, id, label, labelProps, size, ...props }: CheckboxProps): React.JSX.Element;
28
19
  //#endregion
29
20
  export { Checkbox, CheckboxProps };
30
21
  //# sourceMappingURL=checkbox.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{selectionControlColorVariants as t}from"../lib/color.js";import{Label as n}from"./label.js";import{useFieldControlId as r}from"./field.js";import{IconCheck as i,IconMinus as a}from"@tabler/icons-react";import{Checkbox as o}from"radix-ui";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{cva as l}from"class-variance-authority";import{useId as u}from"react";const d=l(`border-input dark:bg-input/30 data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground) data-checked:border-(--selection-control) aria-invalid:aria-checked:border-(--selection-control) aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex items-center justify-center border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50`,{variants:{color:t,size:{sm:`size-3.5 rounded-[3px] [&_[data-slot=checkbox-indicator]>svg]:size-3`,md:`size-4 rounded-[4px] [&_[data-slot=checkbox-indicator]>svg]:size-3.5`,lg:`size-5 rounded-[5px] [&_[data-slot=checkbox-indicator]>svg]:size-4`}},defaultVariants:{color:`primary`,size:`md`}}),f=l(``,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-xl`}},defaultVariants:{size:`md`}});function Checkbox({className:t,color:l=`primary`,id:p,label:m,labelProps:h,size:g=`md`,..._}){let v=u(),y=r(p),b=m!==void 0,x=y??(b?v:void 0),{className:S,...C}=h??{},w=s(o.Root,{"data-slot":`checkbox`,"data-color":l,"data-size":g,id:x,className:e(d({color:l,size:g}),t),..._,children:c(o.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:[s(i,{className:`block in-data-[state=indeterminate]:hidden`}),s(a,{className:`hidden in-data-[state=indeterminate]:block`})]})});return b?c(`div`,{"data-slot":`checkbox-field`,className:`flex items-center gap-2`,children:[w,s(n,{...C,htmlFor:x,className:e(f({size:g}),S),children:m})]}):w}export{Checkbox};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{selectionControlColorVariants as t}from"../lib/color.js";import{Label as n}from"./label.js";import{useFieldControlId as r}from"./field.js";import{IconCheck as i,IconMinus as a}from"@tabler/icons-react";import{Checkbox as o}from"radix-ui";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{cva as l}from"class-variance-authority";import{useId as u}from"react";const d=l(`border-input dark:data-unchecked:bg-input/30 data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground) data-checked:border-(--selection-control) aria-invalid:aria-checked:border-(--selection-control) aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex items-center justify-center border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50`,{variants:{color:t,size:{sm:`size-3.5 rounded-[3px] [&_[data-slot=checkbox-indicator]>svg]:size-3`,md:`size-4 rounded-[4px] [&_[data-slot=checkbox-indicator]>svg]:size-3.5`,lg:`size-5 rounded-[5px] [&_[data-slot=checkbox-indicator]>svg]:size-4`}},defaultVariants:{color:`primary`,size:`md`}}),f=l(``,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-xl`}},defaultVariants:{size:`md`}});function Checkbox({className:t,color:l=`primary`,id:p,label:m,labelProps:h,size:g=`md`,..._}){let v=u(),y=r(p),b=m!==void 0,x=y??(b?v:void 0),{className:S,...C}=h??{},w=s(o.Root,{"data-slot":`checkbox`,"data-color":l,"data-size":g,id:x,className:e(d({color:l,size:g}),t),..._,children:c(o.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:[s(i,{className:`block in-data-[state=indeterminate]:hidden`}),s(a,{className:`hidden in-data-[state=indeterminate]:block`})]})});return b?c(`div`,{"data-slot":`checkbox-field`,className:`flex items-center gap-2`,children:[w,s(n,{...C,htmlFor:x,className:e(f({size:g}),S),children:m})]}):w}export{Checkbox};
2
2
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","names":["CheckboxPrimitive","Label"],"sources":["../../src/components/checkbox.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { IconCheck, IconMinus } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Checkbox as CheckboxPrimitive } 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\nconst checkboxVariants = cva(\n 'border-input dark:bg-input/30 data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground) data-checked:border-(--selection-control) aria-invalid:aria-checked:border-(--selection-control) aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex items-center justify-center border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-3.5 rounded-[3px] [&_[data-slot=checkbox-indicator]>svg]:size-3',\n md: 'size-4 rounded-[4px] [&_[data-slot=checkbox-indicator]>svg]:size-3.5',\n lg: 'size-5 rounded-[5px] [&_[data-slot=checkbox-indicator]>svg]:size-4'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst checkboxLabelVariants = 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 CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root> &\n VariantProps<typeof checkboxVariants> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n }\n\nfunction Checkbox({ className, color = 'primary', id, label, labelProps, size = 'md', ...props }: CheckboxProps) {\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 checkbox = (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(checkboxVariants({ color, size }), className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <IconCheck className=\"block in-data-[state=indeterminate]:hidden\" />\n <IconMinus className=\"hidden in-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n\n if (!hasLabel) {\n return checkbox\n }\n\n return (\n <div data-slot=\"checkbox-field\" className=\"flex items-center gap-2\">\n {checkbox}\n <Label {...labelRootProps} htmlFor={resolvedId} className={cn(checkboxLabelVariants({ size }), labelClassName)}>\n {label}\n </Label>\n </div>\n )\n}\n\nexport { Checkbox }\n"],"mappings":"icAaA,MAAM,EAAmB,EACvB,0qBACA,CACE,SAAU,CACR,MAAO,EACP,KAAM,CACJ,GAAI,uEACJ,GAAI,uEACJ,GAAI,oEACN,CACF,EACA,gBAAiB,CACf,MAAO,UACP,KAAM,IACR,CACF,CACF,EAEM,EAAwB,EAAI,GAAI,CACpC,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EASD,SAAS,SAAS,CAAE,YAAW,QAAQ,UAAW,KAAI,QAAO,aAAY,OAAO,KAAM,GAAG,GAAwB,CAC/G,IAAM,EAAc,EAAM,EACpB,EAAiB,EAAkB,CAAE,EACrC,EAAW,IAAU,IAAA,GACrB,EAAa,IAAmB,EAAW,EAAc,IAAA,IACzD,CAAE,UAAW,EAAgB,GAAG,GAAmB,GAAc,CAAC,EAElE,EACJ,EAACA,EAAkB,KAAnB,CACE,YAAU,WACV,aAAY,EACZ,YAAW,EACX,GAAI,EACJ,UAAW,EAAG,EAAiB,CAAE,QAAO,MAAK,CAAC,EAAG,CAAS,EAC1D,GAAI,WAEJ,EAACA,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,kEAFZ,CAIE,EAAC,EAAD,CAAW,UAAU,4CAA8C,CAAA,EACnE,EAAC,EAAD,CAAW,UAAU,4CAA8C,CAAA,CACxC,GACP,CAAA,EAO1B,OAJK,EAKH,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,mCAA1C,CACG,EACD,EAACC,EAAD,CAAO,GAAI,EAAgB,QAAS,EAAY,UAAW,EAAG,EAAsB,CAAE,MAAK,CAAC,EAAG,CAAc,WAC1G,CACI,CAAA,CACJ,IATE,CAWX"}
1
+ {"version":3,"file":"checkbox.js","names":["CheckboxPrimitive","Label"],"sources":["../../src/components/checkbox.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { IconCheck, IconMinus } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Checkbox as CheckboxPrimitive } 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\nconst checkboxVariants = cva(\n 'border-input dark:data-unchecked:bg-input/30 data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground) data-checked:border-(--selection-control) aria-invalid:aria-checked:border-(--selection-control) aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex items-center justify-center border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-3.5 rounded-[3px] [&_[data-slot=checkbox-indicator]>svg]:size-3',\n md: 'size-4 rounded-[4px] [&_[data-slot=checkbox-indicator]>svg]:size-3.5',\n lg: 'size-5 rounded-[5px] [&_[data-slot=checkbox-indicator]>svg]:size-4'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst checkboxLabelVariants = 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 CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root> &\n VariantProps<typeof checkboxVariants> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n }\n\nfunction Checkbox({ className, color = 'primary', id, label, labelProps, size = 'md', ...props }: CheckboxProps) {\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 checkbox = (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(checkboxVariants({ color, size }), className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <IconCheck className=\"block in-data-[state=indeterminate]:hidden\" />\n <IconMinus className=\"hidden in-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n\n if (!hasLabel) {\n return checkbox\n }\n\n return (\n <div data-slot=\"checkbox-field\" className=\"flex items-center gap-2\">\n {checkbox}\n <Label {...labelRootProps} htmlFor={resolvedId} className={cn(checkboxLabelVariants({ size }), labelClassName)}>\n {label}\n </Label>\n </div>\n )\n}\n\nexport { Checkbox }\n"],"mappings":"icAaA,MAAM,EAAmB,EACvB,yrBACA,CACE,SAAU,CACR,MAAO,EACP,KAAM,CACJ,GAAI,uEACJ,GAAI,uEACJ,GAAI,oEACN,CACF,EACA,gBAAiB,CACf,MAAO,UACP,KAAM,IACR,CACF,CACF,EAEM,EAAwB,EAAI,GAAI,CACpC,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EASD,SAAS,SAAS,CAAE,YAAW,QAAQ,UAAW,KAAI,QAAO,aAAY,OAAO,KAAM,GAAG,GAAwB,CAC/G,IAAM,EAAc,EAAM,EACpB,EAAiB,EAAkB,CAAE,EACrC,EAAW,IAAU,IAAA,GACrB,EAAa,IAAmB,EAAW,EAAc,IAAA,IACzD,CAAE,UAAW,EAAgB,GAAG,GAAmB,GAAc,CAAC,EAElE,EACJ,EAACA,EAAkB,KAAnB,CACE,YAAU,WACV,aAAY,EACZ,YAAW,EACX,GAAI,EACJ,UAAW,EAAG,EAAiB,CAAE,QAAO,MAAK,CAAC,EAAG,CAAS,EAC1D,GAAI,EAEJ,SAAA,EAACA,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,yDAFZ,SAAA,CAIE,EAAC,EAAD,CAAW,UAAU,4CAA8C,CAAA,EACnE,EAAC,EAAD,CAAW,UAAU,4CAA8C,CAAA,CACxC,GACP,CAAA,EAO1B,OAJK,EAKH,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAU,0BAA1C,SAAA,CACG,EACD,EAACC,EAAD,CAAO,GAAI,EAAgB,QAAS,EAAY,UAAW,EAAG,EAAsB,CAAE,MAAK,CAAC,EAAG,CAAc,EAC1G,SAAA,CACI,CAAA,CACJ,IATE,CAWX"}
@@ -1,12 +1,8 @@
1
1
  import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import * as React from "react";
3
-
4
3
  //#region src/components/code.d.ts
5
4
  type CodeProps = React.ComponentProps<'code'>;
6
- declare function Code({
7
- className,
8
- ...props
9
- }: CodeProps): React.JSX.Element;
5
+ declare function Code({ className, ...props }: CodeProps): React.JSX.Element;
10
6
  //#endregion
11
7
  export { Code, CodeProps };
12
8
  //# sourceMappingURL=code.d.ts.map
@@ -1,19 +1,12 @@
1
1
  import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { Collapsible as Collapsible$1 } from "radix-ui";
3
-
4
3
  //#region src/components/collapsible.d.ts
5
4
  type CollapsibleProps = React.ComponentProps<typeof Collapsible$1.Root>;
6
5
  type CollapsibleTriggerProps = React.ComponentProps<typeof Collapsible$1.CollapsibleTrigger>;
7
6
  type CollapsibleContentProps = React.ComponentProps<typeof Collapsible$1.CollapsibleContent>;
8
- declare function Collapsible({
9
- ...props
10
- }: CollapsibleProps): import("react").JSX.Element;
11
- declare function CollapsibleTrigger({
12
- ...props
13
- }: CollapsibleTriggerProps): import("react").JSX.Element;
14
- declare function CollapsibleContent({
15
- ...props
16
- }: CollapsibleContentProps): import("react").JSX.Element;
7
+ declare function Collapsible({ ...props }: CollapsibleProps): import("react").JSX.Element;
8
+ declare function CollapsibleTrigger({ ...props }: CollapsibleTriggerProps): import("react").JSX.Element;
9
+ declare function CollapsibleContent({ ...props }: CollapsibleContentProps): import("react").JSX.Element;
17
10
  //#endregion
18
11
  export { Collapsible, CollapsibleContent, CollapsibleContentProps, CollapsibleProps, CollapsibleTrigger, CollapsibleTriggerProps };
19
12
  //# sourceMappingURL=collapsible.d.ts.map
@@ -1,7 +1,6 @@
1
1
  import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import * as React from "react";
3
3
  import { Combobox as Combobox$1 } from "@base-ui/react";
4
-
5
4
  //#region src/components/combobox.d.ts
6
5
  type ComboboxProps = React.ComponentProps<typeof Combobox$1.Root>;
7
6
  type ComboboxValueProps = Combobox$1.Value.Props;
@@ -31,85 +30,21 @@ type ComboboxChipProps = Combobox$1.Chip.Props & {
31
30
  };
32
31
  type ComboboxChipsInputProps = Combobox$1.Input.Props;
33
32
  declare const Combobox: typeof Combobox$1.Root;
34
- declare function ComboboxValue({
35
- ...props
36
- }: ComboboxValueProps): React.JSX.Element;
37
- declare function ComboboxTrigger({
38
- className,
39
- children,
40
- icon,
41
- ...props
42
- }: ComboboxTriggerProps): React.JSX.Element;
43
- declare function ComboboxClear({
44
- className,
45
- ...props
46
- }: ComboboxClearProps): React.JSX.Element;
47
- declare function ComboboxInput({
48
- className,
49
- children,
50
- disabled,
51
- icon,
52
- id,
53
- showTrigger,
54
- showClear,
55
- triggerIcon,
56
- ...props
57
- }: ComboboxInputProps): React.JSX.Element;
58
- declare function ComboboxContent({
59
- className,
60
- side,
61
- sideOffset,
62
- align,
63
- alignOffset,
64
- anchor,
65
- container,
66
- ...props
67
- }: ComboboxContentProps): React.JSX.Element;
68
- declare function ComboboxList({
69
- className,
70
- ...props
71
- }: ComboboxListProps): React.JSX.Element;
72
- declare function ComboboxItem({
73
- className,
74
- children,
75
- ...props
76
- }: ComboboxItemProps): React.JSX.Element;
77
- declare function ComboboxGroup({
78
- className,
79
- ...props
80
- }: ComboboxGroupProps): React.JSX.Element;
81
- declare function ComboboxLabel({
82
- className,
83
- ...props
84
- }: ComboboxLabelProps): React.JSX.Element;
85
- declare function ComboboxCollection({
86
- ...props
87
- }: ComboboxCollectionProps): React.JSX.Element;
88
- declare function ComboboxEmpty({
89
- className,
90
- ...props
91
- }: ComboboxEmptyProps): React.JSX.Element;
92
- declare function ComboboxSeparator({
93
- className,
94
- ...props
95
- }: ComboboxSeparatorProps): React.JSX.Element;
96
- declare function ComboboxChips({
97
- className,
98
- children,
99
- showClear,
100
- ...props
101
- }: ComboboxChipsProps): React.JSX.Element;
102
- declare function ComboboxChip({
103
- className,
104
- children,
105
- showRemove,
106
- ...props
107
- }: ComboboxChipProps): React.JSX.Element;
108
- declare function ComboboxChipsInput({
109
- className,
110
- id,
111
- ...props
112
- }: ComboboxChipsInputProps): React.JSX.Element;
33
+ declare function ComboboxValue({ ...props }: ComboboxValueProps): React.JSX.Element;
34
+ declare function ComboboxTrigger({ className, children, icon, ...props }: ComboboxTriggerProps): React.JSX.Element;
35
+ declare function ComboboxClear({ className, ...props }: ComboboxClearProps): React.JSX.Element;
36
+ declare function ComboboxInput({ className, children, disabled, icon, id, showTrigger, showClear, triggerIcon, ...props }: ComboboxInputProps): React.JSX.Element;
37
+ declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, container, ...props }: ComboboxContentProps): React.JSX.Element;
38
+ declare function ComboboxList({ className, ...props }: ComboboxListProps): React.JSX.Element;
39
+ declare function ComboboxItem({ className, children, ...props }: ComboboxItemProps): React.JSX.Element;
40
+ declare function ComboboxGroup({ className, ...props }: ComboboxGroupProps): React.JSX.Element;
41
+ declare function ComboboxLabel({ className, ...props }: ComboboxLabelProps): React.JSX.Element;
42
+ declare function ComboboxCollection({ ...props }: ComboboxCollectionProps): React.JSX.Element;
43
+ declare function ComboboxEmpty({ className, ...props }: ComboboxEmptyProps): React.JSX.Element;
44
+ declare function ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps): React.JSX.Element;
45
+ declare function ComboboxChips({ className, children, showClear, ...props }: ComboboxChipsProps): React.JSX.Element;
46
+ declare function ComboboxChip({ className, children, showRemove, ...props }: ComboboxChipProps): React.JSX.Element;
47
+ declare function ComboboxChipsInput({ className, id, ...props }: ComboboxChipsInputProps): React.JSX.Element;
113
48
  declare function useComboboxAnchor(): React.RefObject<HTMLDivElement | null>;
114
49
  //#endregion
115
50
  export { Combobox, ComboboxChip, ComboboxChipProps, ComboboxChips, ComboboxChipsInput, ComboboxChipsInputProps, ComboboxChipsProps, ComboboxClear, ComboboxClearProps, ComboboxCollection, ComboboxCollectionProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxGroup, ComboboxGroupProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemProps, ComboboxLabel, ComboboxLabelProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxSeparator, ComboboxSeparatorProps, ComboboxTrigger, ComboboxTriggerProps, ComboboxValue, ComboboxValueProps, useComboboxAnchor };
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.js","names":["ComboboxPrimitive"],"sources":["../../src/components/combobox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react'\nimport { IconCheck, IconSelector, IconX } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from './input-group'\n\nexport type ComboboxProps = React.ComponentProps<typeof ComboboxPrimitive.Root>\n\nexport type ComboboxValueProps = ComboboxPrimitive.Value.Props\n\nexport type ComboboxTriggerProps = ComboboxPrimitive.Trigger.Props & {\n icon?: React.ReactNode\n}\n\nexport type ComboboxClearProps = ComboboxPrimitive.Clear.Props\n\nexport type ComboboxInputProps = ComboboxPrimitive.Input.Props & {\n icon?: React.ReactNode\n triggerIcon?: React.ReactNode\n showTrigger?: boolean\n showClear?: boolean\n}\n\nexport type ComboboxContentProps = ComboboxPrimitive.Popup.Props &\n Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<ComboboxPrimitive.Portal.Props, 'container'>\n\nexport type ComboboxListProps = ComboboxPrimitive.List.Props\n\nexport type ComboboxItemProps = ComboboxPrimitive.Item.Props\n\nexport type ComboboxGroupProps = ComboboxPrimitive.Group.Props\n\nexport type ComboboxLabelProps = ComboboxPrimitive.GroupLabel.Props\n\nexport type ComboboxCollectionProps = ComboboxPrimitive.Collection.Props\n\nexport type ComboboxEmptyProps = ComboboxPrimitive.Empty.Props\n\nexport type ComboboxSeparatorProps = ComboboxPrimitive.Separator.Props\n\nexport type ComboboxChipsProps = React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props & {\n showClear?: boolean\n }\n\nexport type ComboboxChipProps = ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}\n\nexport type ComboboxChipsInputProps = ComboboxPrimitive.Input.Props\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxValueProps) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n icon = <IconSelector className=\"pointer-events-none size-4 text-muted-foreground\" />,\n ...props\n}: ComboboxTriggerProps) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n {icon}\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxClearProps) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n icon,\n id,\n showTrigger = true,\n showClear = false,\n triggerIcon,\n ...props\n}: ComboboxInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <InputGroup className={cn('w-auto', className)}>\n {icon && <InputGroupAddon align=\"inline-start\">{icon}</InputGroupAddon>}\n <ComboboxPrimitive.Input id={fieldControlId} render={<InputGroupInput disabled={disabled} />} {...props} />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger icon={triggerIcon} />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n anchor,\n container,\n ...props\n}: ComboboxContentProps) {\n return (\n <ComboboxPrimitive.Portal container={container} className=\"absolute\">\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n 'group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+(--spacing(7)))] origin-(--transform-origin) overflow-hidden rounded-lg text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxListProps) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n 'no-scrollbar max-h-[min(calc(--spacing(72)-(--spacing(9))),calc(var(--available-height)-(--spacing(9))))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({ className, children, ...props }: ComboboxItemProps) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <IconCheck className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxGroupProps) {\n return <ComboboxPrimitive.Group data-slot=\"combobox-group\" className={cn(className)} {...props} />\n}\n\nfunction ComboboxLabel({ className, ...props }: ComboboxLabelProps) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn('px-2 py-1.5 text-xs text-muted-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxCollectionProps) {\n return <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n 'hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({ className, children, showClear = false, ...props }: ComboboxChipsProps) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n 'flex min-h-8 overflow-hidden flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {children}\n {showClear && (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-chips-clear\"\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"shrink-0 self-center size-5\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )}\n </ComboboxPrimitive.Chips>\n )\n}\n\nfunction ComboboxChip({ className, children, showRemove = true, ...props }: ComboboxChipProps) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n 'flex h-[calc(--spacing(5.25))] w-fit text-left max-w-full items-center justify-start gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0',\n className\n )}\n {...props}\n >\n <span className=\"flex-1 truncate\">{children}</span>\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 shrink-0 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({ className, id, ...props }: ComboboxChipsInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <ComboboxPrimitive.Input\n id={fieldControlId}\n data-slot=\"combobox-chip-input\"\n className={cn('min-w-16 flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxClear,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n ComboboxSeparator,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.js","names":["ComboboxPrimitive"],"sources":["../../src/components/combobox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react'\nimport { IconCheck, IconSelector, IconX } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from './input-group'\n\nexport type ComboboxProps = React.ComponentProps<typeof ComboboxPrimitive.Root>\n\nexport type ComboboxValueProps = ComboboxPrimitive.Value.Props\n\nexport type ComboboxTriggerProps = ComboboxPrimitive.Trigger.Props & {\n icon?: React.ReactNode\n}\n\nexport type ComboboxClearProps = ComboboxPrimitive.Clear.Props\n\nexport type ComboboxInputProps = ComboboxPrimitive.Input.Props & {\n icon?: React.ReactNode\n triggerIcon?: React.ReactNode\n showTrigger?: boolean\n showClear?: boolean\n}\n\nexport type ComboboxContentProps = ComboboxPrimitive.Popup.Props &\n Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<ComboboxPrimitive.Portal.Props, 'container'>\n\nexport type ComboboxListProps = ComboboxPrimitive.List.Props\n\nexport type ComboboxItemProps = ComboboxPrimitive.Item.Props\n\nexport type ComboboxGroupProps = ComboboxPrimitive.Group.Props\n\nexport type ComboboxLabelProps = ComboboxPrimitive.GroupLabel.Props\n\nexport type ComboboxCollectionProps = ComboboxPrimitive.Collection.Props\n\nexport type ComboboxEmptyProps = ComboboxPrimitive.Empty.Props\n\nexport type ComboboxSeparatorProps = ComboboxPrimitive.Separator.Props\n\nexport type ComboboxChipsProps = React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props & {\n showClear?: boolean\n }\n\nexport type ComboboxChipProps = ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}\n\nexport type ComboboxChipsInputProps = ComboboxPrimitive.Input.Props\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxValueProps) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n icon = <IconSelector className=\"pointer-events-none size-4 text-muted-foreground\" />,\n ...props\n}: ComboboxTriggerProps) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n {icon}\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxClearProps) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n icon,\n id,\n showTrigger = true,\n showClear = false,\n triggerIcon,\n ...props\n}: ComboboxInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <InputGroup className={cn('w-auto', className)}>\n {icon && <InputGroupAddon align=\"inline-start\">{icon}</InputGroupAddon>}\n <ComboboxPrimitive.Input id={fieldControlId} render={<InputGroupInput disabled={disabled} />} {...props} />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger icon={triggerIcon} />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n anchor,\n container,\n ...props\n}: ComboboxContentProps) {\n return (\n <ComboboxPrimitive.Portal container={container} className=\"absolute\">\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n 'group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+(--spacing(7)))] origin-(--transform-origin) overflow-hidden rounded-lg text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxListProps) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n 'no-scrollbar max-h-[min(calc(--spacing(72)-(--spacing(9))),calc(var(--available-height)-(--spacing(9))))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({ className, children, ...props }: ComboboxItemProps) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <IconCheck className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxGroupProps) {\n return <ComboboxPrimitive.Group data-slot=\"combobox-group\" className={cn(className)} {...props} />\n}\n\nfunction ComboboxLabel({ className, ...props }: ComboboxLabelProps) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn('px-2 py-1.5 text-xs text-muted-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxCollectionProps) {\n return <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n 'hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({ className, children, showClear = false, ...props }: ComboboxChipsProps) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n 'flex min-h-8 overflow-hidden flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {children}\n {showClear && (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-chips-clear\"\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"shrink-0 self-center size-5\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )}\n </ComboboxPrimitive.Chips>\n )\n}\n\nfunction ComboboxChip({ className, children, showRemove = true, ...props }: ComboboxChipProps) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n 'flex h-[calc(--spacing(5.25))] w-fit text-left max-w-full items-center justify-start gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0',\n className\n )}\n {...props}\n >\n <span className=\"flex-1 truncate\">{children}</span>\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 shrink-0 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({ className, id, ...props }: ComboboxChipsInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <ComboboxPrimitive.Input\n id={fieldControlId}\n data-slot=\"combobox-chip-input\"\n className={cn('min-w-16 flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxClear,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n ComboboxSeparator,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor\n}\n"],"mappings":"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"}
@@ -2,7 +2,6 @@ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { Dialog } from "./dialog.js";
3
3
  import * as React from "react";
4
4
  import { Command as Command$1 } from "cmdk";
5
-
6
5
  //#region src/components/command.d.ts
7
6
  type CommandProps = React.ComponentProps<typeof Command$1>;
8
7
  type CommandDialogProps = React.ComponentProps<typeof Dialog> & {
@@ -18,48 +17,15 @@ type CommandGroupProps = React.ComponentProps<typeof Command$1.Group>;
18
17
  type CommandSeparatorProps = React.ComponentProps<typeof Command$1.Separator>;
19
18
  type CommandItemProps = React.ComponentProps<typeof Command$1.Item>;
20
19
  type CommandShortcutProps = React.ComponentProps<'span'>;
21
- declare function Command({
22
- className,
23
- ...props
24
- }: CommandProps): React.JSX.Element;
25
- declare function CommandDialog({
26
- title,
27
- description,
28
- children,
29
- className,
30
- showCloseButton,
31
- ...props
32
- }: CommandDialogProps): React.JSX.Element;
33
- declare function CommandInput({
34
- className,
35
- id,
36
- ...props
37
- }: CommandInputProps): React.JSX.Element;
38
- declare function CommandList({
39
- className,
40
- ...props
41
- }: CommandListProps): React.JSX.Element;
42
- declare function CommandEmpty({
43
- className,
44
- ...props
45
- }: CommandEmptyProps): React.JSX.Element;
46
- declare function CommandGroup({
47
- className,
48
- ...props
49
- }: CommandGroupProps): React.JSX.Element;
50
- declare function CommandSeparator({
51
- className,
52
- ...props
53
- }: CommandSeparatorProps): React.JSX.Element;
54
- declare function CommandItem({
55
- className,
56
- children,
57
- ...props
58
- }: CommandItemProps): React.JSX.Element;
59
- declare function CommandShortcut({
60
- className,
61
- ...props
62
- }: CommandShortcutProps): React.JSX.Element;
20
+ declare function Command({ className, ...props }: CommandProps): React.JSX.Element;
21
+ declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: CommandDialogProps): React.JSX.Element;
22
+ declare function CommandInput({ className, id, ...props }: CommandInputProps): React.JSX.Element;
23
+ declare function CommandList({ className, ...props }: CommandListProps): React.JSX.Element;
24
+ declare function CommandEmpty({ className, ...props }: CommandEmptyProps): React.JSX.Element;
25
+ declare function CommandGroup({ className, ...props }: CommandGroupProps): React.JSX.Element;
26
+ declare function CommandSeparator({ className, ...props }: CommandSeparatorProps): React.JSX.Element;
27
+ declare function CommandItem({ className, children, ...props }: CommandItemProps): React.JSX.Element;
28
+ declare function CommandShortcut({ className, ...props }: CommandShortcutProps): React.JSX.Element;
63
29
  //#endregion
64
30
  export { Command, CommandDialog, CommandDialogProps, CommandEmpty, CommandEmptyProps, CommandGroup, CommandGroupProps, CommandInput, CommandInputProps, CommandItem, CommandItemProps, CommandList, CommandListProps, CommandProps, CommandSeparator, CommandSeparatorProps, CommandShortcut, CommandShortcutProps };
65
31
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","names":["CommandPrimitive"],"sources":["../../src/components/command.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconCheck, IconSearch } from '@tabler/icons-react'\nimport { Command as CommandPrimitive } from 'cmdk'\n\nimport { cn } from '../lib/utils'\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from './dialog'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon } from './input-group'\n\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive>\n\nexport type CommandDialogProps = React.ComponentProps<typeof Dialog> & {\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport type CommandInputProps = React.ComponentProps<typeof CommandPrimitive.Input>\n\nexport type CommandListProps = React.ComponentProps<typeof CommandPrimitive.List>\n\nexport type CommandEmptyProps = React.ComponentProps<typeof CommandPrimitive.Empty>\n\nexport type CommandGroupProps = React.ComponentProps<typeof CommandPrimitive.Group>\n\nexport type CommandSeparatorProps = React.ComponentProps<typeof CommandPrimitive.Separator>\n\nexport type CommandItemProps = React.ComponentProps<typeof CommandPrimitive.Item>\n\nexport type CommandShortcutProps = React.ComponentProps<'span'>\n\nfunction Command({ className, ...props }: CommandProps) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n showCloseButton = false,\n ...props\n}: CommandDialogProps) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={cn('top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0', className)}\n showCloseButton={showCloseButton}\n >\n {children}\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CommandInput({ className, id, ...props }: CommandInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <div data-slot=\"command-input-wrapper\" className=\"p-1 pb-0\">\n <InputGroup\n className={cn(\n 'h-8! rounded-lg! border-input/30 bg-input/30 shadow-none!',\n '*:data-[slot=input-group-addon]:pl-2!'\n )}\n >\n <CommandPrimitive.Input\n id={fieldControlId}\n data-slot=\"command-input\"\n className={cn('w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50', className)}\n {...props}\n />\n <InputGroupAddon>\n <IconSearch className=\"size-4 shrink-0 opacity-50\" />\n </InputGroupAddon>\n </InputGroup>\n </div>\n )\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction CommandEmpty({ className, ...props }: CommandEmptyProps) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('py-6 text-center text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CommandGroup({ className, ...props }: CommandGroupProps) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n 'overflow-hidden p-1 text-foreground',\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5',\n '**:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium',\n '**:[[cmdk-group-heading]]:text-muted-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CommandSeparator({ className, ...props }: CommandSeparatorProps) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn('-mx-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction CommandItem({ className, children, ...props }: CommandItemProps) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n 'group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none',\n 'in-data-[slot=dialog-content]:rounded-lg!',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n 'data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground',\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <IconCheck\n className={cn(\n 'ml-auto opacity-0',\n 'group-has-data-[slot=command-shortcut]/command-item:hidden',\n 'group-data-[checked=true]/command-item:opacity-100'\n )}\n />\n </CommandPrimitive.Item>\n )\n}\n\nfunction CommandShortcut({ className, ...props }: CommandShortcutProps) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut\n}\n"],"mappings":"kcAiCA,SAAS,QAAQ,CAAE,YAAW,GAAG,GAAuB,CACtD,OACE,EAACA,EAAD,CACE,YAAU,UACV,UAAW,EACT,6FACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CACrB,QAAQ,kBACR,cAAc,iCACd,WACA,YACA,kBAAkB,GAClB,GAAG,GACkB,CACrB,OACE,EAAC,EAAD,CAAQ,GAAI,WAAZ,CACE,EAAC,EAAD,CAAc,UAAU,mBAAxB,CACE,EAAC,EAAD,CAAA,SAAc,CAAmB,CAAA,EACjC,EAAC,EAAD,CAAA,SAAoB,CAA+B,CAAA,CACvC,IACd,EAAC,EAAD,CACE,UAAW,EAAG,wDAAyD,CAAS,EAC/D,kBAEhB,UACY,CAAA,CACT,GAEZ,CAEA,SAAS,aAAa,CAAE,YAAW,KAAI,GAAG,GAA4B,CACpE,IAAM,EAAiB,EAAkB,CAAE,EAE3C,OACE,EAAC,MAAD,CAAK,YAAU,wBAAwB,UAAU,oBAC/C,EAAC,EAAD,CACE,UAAW,EACT,4DACA,uCACF,WAJF,CAME,EAACA,EAAiB,MAAlB,CACE,GAAI,EACJ,YAAU,gBACV,UAAW,EAAG,gFAAiF,CAAS,EACxG,GAAI,CACL,CAAA,EACD,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAY,UAAU,4BAA8B,CAAA,CACrC,CAAA,CACP,GACT,CAAA,CAET,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAACA,EAAiB,KAAlB,CACE,YAAU,eACV,UAAW,EAAG,mFAAoF,CAAS,EAC3G,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OACE,EAACA,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAW,EAAG,2BAA4B,CAAS,EACnD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OACE,EAACA,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAW,EACT,sCACA,kEACA,0EACA,kDACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAACA,EAAiB,UAAlB,CACE,YAAU,oBACV,UAAW,EAAG,uBAAwB,CAAS,EAC/C,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,WAAU,GAAG,GAA2B,CACxE,OACE,EAACA,EAAiB,KAAlB,CACE,YAAU,eACV,UAAW,EACT,+HACA,4CACA,2EACA,6FACA,oFACA,CACF,EACA,GAAI,WAVN,CAYG,EACD,EAAC,EAAD,CACE,UAAW,EACT,oBACA,6DACA,oDACF,CACD,CAAA,CACoB,GAE3B,CAEA,SAAS,gBAAgB,CAAE,YAAW,GAAG,GAA+B,CACtE,OACE,EAAC,OAAD,CACE,YAAU,mBACV,UAAW,EACT,yGACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"command.js","names":["CommandPrimitive"],"sources":["../../src/components/command.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconCheck, IconSearch } from '@tabler/icons-react'\nimport { Command as CommandPrimitive } from 'cmdk'\n\nimport { cn } from '../lib/utils'\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from './dialog'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon } from './input-group'\n\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive>\n\nexport type CommandDialogProps = React.ComponentProps<typeof Dialog> & {\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport type CommandInputProps = React.ComponentProps<typeof CommandPrimitive.Input>\n\nexport type CommandListProps = React.ComponentProps<typeof CommandPrimitive.List>\n\nexport type CommandEmptyProps = React.ComponentProps<typeof CommandPrimitive.Empty>\n\nexport type CommandGroupProps = React.ComponentProps<typeof CommandPrimitive.Group>\n\nexport type CommandSeparatorProps = React.ComponentProps<typeof CommandPrimitive.Separator>\n\nexport type CommandItemProps = React.ComponentProps<typeof CommandPrimitive.Item>\n\nexport type CommandShortcutProps = React.ComponentProps<'span'>\n\nfunction Command({ className, ...props }: CommandProps) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n showCloseButton = false,\n ...props\n}: CommandDialogProps) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={cn('top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0', className)}\n showCloseButton={showCloseButton}\n >\n {children}\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CommandInput({ className, id, ...props }: CommandInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <div data-slot=\"command-input-wrapper\" className=\"p-1 pb-0\">\n <InputGroup\n className={cn(\n 'h-8! rounded-lg! border-input/30 bg-input/30 shadow-none!',\n '*:data-[slot=input-group-addon]:pl-2!'\n )}\n >\n <CommandPrimitive.Input\n id={fieldControlId}\n data-slot=\"command-input\"\n className={cn('w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50', className)}\n {...props}\n />\n <InputGroupAddon>\n <IconSearch className=\"size-4 shrink-0 opacity-50\" />\n </InputGroupAddon>\n </InputGroup>\n </div>\n )\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction CommandEmpty({ className, ...props }: CommandEmptyProps) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('py-6 text-center text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CommandGroup({ className, ...props }: CommandGroupProps) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n 'overflow-hidden p-1 text-foreground',\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5',\n '**:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium',\n '**:[[cmdk-group-heading]]:text-muted-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CommandSeparator({ className, ...props }: CommandSeparatorProps) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn('-mx-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction CommandItem({ className, children, ...props }: CommandItemProps) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n 'group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none',\n 'in-data-[slot=dialog-content]:rounded-lg!',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n 'data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground',\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <IconCheck\n className={cn(\n 'ml-auto opacity-0',\n 'group-has-data-[slot=command-shortcut]/command-item:hidden',\n 'group-data-[checked=true]/command-item:opacity-100'\n )}\n />\n </CommandPrimitive.Item>\n )\n}\n\nfunction CommandShortcut({ className, ...props }: CommandShortcutProps) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut\n}\n"],"mappings":"kcAiCA,SAAS,QAAQ,CAAE,YAAW,GAAG,GAAuB,CACtD,OACE,EAACA,EAAD,CACE,YAAU,UACV,UAAW,EACT,6FACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CACrB,QAAQ,kBACR,cAAc,iCACd,WACA,YACA,kBAAkB,GAClB,GAAG,GACkB,CACrB,OACE,EAAC,EAAD,CAAQ,GAAI,EAAZ,SAAA,CACE,EAAC,EAAD,CAAc,UAAU,UAAxB,SAAA,CACE,EAAC,EAAD,CAAA,SAAc,CAAmB,CAAA,EACjC,EAAC,EAAD,CAAA,SAAoB,CAA+B,CAAA,CACvC,CACd,CAAA,EAAA,EAAC,EAAD,CACE,UAAW,EAAG,wDAAyD,CAAS,EAC/D,kBAEhB,UACY,CAAA,CACT,GAEZ,CAEA,SAAS,aAAa,CAAE,YAAW,KAAI,GAAG,GAA4B,CACpE,IAAM,EAAiB,EAAkB,CAAE,EAE3C,OACE,EAAC,MAAD,CAAK,YAAU,wBAAwB,UAAU,WAC/C,SAAA,EAAC,EAAD,CACE,UAAW,EACT,4DACA,uCACF,EAJF,SAAA,CAME,EAACA,EAAiB,MAAlB,CACE,GAAI,EACJ,YAAU,gBACV,UAAW,EAAG,gFAAiF,CAAS,EACxG,GAAI,CACL,CAAA,EACD,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAY,UAAU,4BAA8B,CAAA,CACrC,CAAA,CACP,GACT,CAAA,CAET,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAACA,EAAiB,KAAlB,CACE,YAAU,eACV,UAAW,EAAG,mFAAoF,CAAS,EAC3G,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OACE,EAACA,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAW,EAAG,2BAA4B,CAAS,EACnD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OACE,EAACA,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAW,EACT,sCACA,kEACA,0EACA,kDACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAACA,EAAiB,UAAlB,CACE,YAAU,oBACV,UAAW,EAAG,uBAAwB,CAAS,EAC/C,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,WAAU,GAAG,GAA2B,CACxE,OACE,EAACA,EAAiB,KAAlB,CACE,YAAU,eACV,UAAW,EACT,+HACA,4CACA,2EACA,6FACA,oFACA,CACF,EACA,GAAI,EAVN,SAAA,CAYG,EACD,EAAC,EAAD,CACE,UAAW,EACT,oBACA,6DACA,oDACF,CACD,CAAA,CACoB,GAE3B,CAEA,SAAS,gBAAgB,CAAE,YAAW,GAAG,GAA+B,CACtE,OACE,EAAC,OAAD,CACE,YAAU,mBACV,UAAW,EACT,yGACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
@@ -1,17 +1,12 @@
1
1
  import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
-
5
4
  //#region src/components/container.d.ts
6
5
  declare const containerVariants: (props?: ({
7
- size?: "sm" | "md" | "lg" | "full" | null | undefined;
6
+ size?: "full" | "lg" | "md" | "sm" | null | undefined;
8
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
8
  type ContainerProps = React.ComponentProps<'div'> & VariantProps<typeof containerVariants>;
10
- declare function Container({
11
- className,
12
- size,
13
- ...props
14
- }: ContainerProps): React.JSX.Element;
9
+ declare function Container({ className, size, ...props }: ContainerProps): React.JSX.Element;
15
10
  //#endregion
16
11
  export { Container, ContainerProps, containerVariants };
17
12
  //# sourceMappingURL=container.d.ts.map