@uselets/ui 2.0.1 → 2.1.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 (246) hide show
  1. package/README.md +8 -0
  2. package/dist/{as-child-Dxg3Xo1G.d.ts → as-child-T9W73ZYU.d.ts} +1 -3
  3. package/dist/{chart-B_6nC_ih.d.ts → chart-8rgtsk95.d.ts} +1 -3
  4. package/dist/checkbox-group-context-HDVxTNPi.js +2 -0
  5. package/dist/checkbox-group-context-HDVxTNPi.js.map +1 -0
  6. package/dist/cli/uselets.mjs.map +1 -1
  7. package/dist/combobox-styles-CZ0aJayc.js +2 -0
  8. package/dist/combobox-styles-CZ0aJayc.js.map +1 -0
  9. package/dist/components/accordion.d.ts +1 -3
  10. package/dist/components/accordion.js.map +1 -1
  11. package/dist/components/alert-dialog.d.ts +1 -3
  12. package/dist/components/alert-dialog.js.map +1 -1
  13. package/dist/components/alert.d.ts +0 -2
  14. package/dist/components/alert.js.map +1 -1
  15. package/dist/components/anchor.d.ts +1 -3
  16. package/dist/components/anchor.js.map +1 -1
  17. package/dist/components/area-chart.d.ts +1 -3
  18. package/dist/components/area-chart.js.map +1 -1
  19. package/dist/components/autocomplete.d.ts +46 -0
  20. package/dist/components/autocomplete.js +2 -0
  21. package/dist/components/autocomplete.js.map +1 -0
  22. package/dist/components/avatar.d.ts +1 -3
  23. package/dist/components/avatar.js.map +1 -1
  24. package/dist/components/badge.d.ts +1 -3
  25. package/dist/components/badge.js +1 -1
  26. package/dist/components/badge.js.map +1 -1
  27. package/dist/components/bar-chart.d.ts +1 -3
  28. package/dist/components/bar-chart.js.map +1 -1
  29. package/dist/components/bottom-nav.d.ts +1 -3
  30. package/dist/components/bottom-nav.js.map +1 -1
  31. package/dist/components/breadcrumb.d.ts +1 -3
  32. package/dist/components/breadcrumb.js.map +1 -1
  33. package/dist/components/button-group.d.ts +1 -3
  34. package/dist/components/button-group.js.map +1 -1
  35. package/dist/components/button.d.ts +1 -3
  36. package/dist/components/button.js +1 -1
  37. package/dist/components/button.js.map +1 -1
  38. package/dist/components/calendar.d.ts +0 -2
  39. package/dist/components/calendar.js +1 -1
  40. package/dist/components/calendar.js.map +1 -1
  41. package/dist/components/card.d.ts +0 -2
  42. package/dist/components/card.js.map +1 -1
  43. package/dist/components/carousel.d.ts +0 -2
  44. package/dist/components/carousel.js.map +1 -1
  45. package/dist/components/center.d.ts +0 -2
  46. package/dist/components/center.js.map +1 -1
  47. package/dist/components/chart.d.ts +1 -1
  48. package/dist/components/chart.js.map +1 -1
  49. package/dist/components/checkbox-group.d.ts +19 -0
  50. package/dist/components/checkbox-group.js +2 -0
  51. package/dist/components/checkbox-group.js.map +1 -0
  52. package/dist/components/checkbox.d.ts +2 -4
  53. package/dist/components/checkbox.js +1 -1
  54. package/dist/components/checkbox.js.map +1 -1
  55. package/dist/components/code.d.ts +0 -2
  56. package/dist/components/code.js.map +1 -1
  57. package/dist/components/collapsible.d.ts +1 -3
  58. package/dist/components/collapsible.js.map +1 -1
  59. package/dist/components/combobox.d.ts +1 -3
  60. package/dist/components/combobox.js +1 -1
  61. package/dist/components/combobox.js.map +1 -1
  62. package/dist/components/command.d.ts +0 -2
  63. package/dist/components/command.js +1 -1
  64. package/dist/components/command.js.map +1 -1
  65. package/dist/components/container.d.ts +0 -2
  66. package/dist/components/container.js.map +1 -1
  67. package/dist/components/data-table.d.ts +0 -2
  68. package/dist/components/data-table.js +1 -1
  69. package/dist/components/data-table.js.map +1 -1
  70. package/dist/components/date-range-picker.d.ts +0 -2
  71. package/dist/components/date-range-picker.js.map +1 -1
  72. package/dist/components/dialog.d.ts +1 -3
  73. package/dist/components/dialog.js.map +1 -1
  74. package/dist/components/direction.d.ts +0 -2
  75. package/dist/components/donut-chart.d.ts +0 -2
  76. package/dist/components/donut-chart.js.map +1 -1
  77. package/dist/components/drawer.d.ts +1 -3
  78. package/dist/components/drawer.js.map +1 -1
  79. package/dist/components/dropdown-menu.d.ts +1 -3
  80. package/dist/components/dropdown-menu.js.map +1 -1
  81. package/dist/components/dropzone.d.ts +0 -2
  82. package/dist/components/dropzone.js +1 -1
  83. package/dist/components/dropzone.js.map +1 -1
  84. package/dist/components/empty.d.ts +0 -2
  85. package/dist/components/empty.js.map +1 -1
  86. package/dist/components/field.d.ts +0 -2
  87. package/dist/components/field.js +1 -1
  88. package/dist/components/field.js.map +1 -1
  89. package/dist/components/flex.d.ts +0 -2
  90. package/dist/components/flex.js.map +1 -1
  91. package/dist/components/grid.d.ts +0 -2
  92. package/dist/components/grid.js.map +1 -1
  93. package/dist/components/group.d.ts +0 -2
  94. package/dist/components/group.js.map +1 -1
  95. package/dist/components/heading.d.ts +1 -3
  96. package/dist/components/heading.js.map +1 -1
  97. package/dist/components/hover-card.d.ts +1 -3
  98. package/dist/components/hover-card.js.map +1 -1
  99. package/dist/components/input-group.d.ts +0 -2
  100. package/dist/components/input-group.js.map +1 -1
  101. package/dist/components/input-otp.d.ts +0 -2
  102. package/dist/components/input-otp.js.map +1 -1
  103. package/dist/components/input.d.ts +0 -2
  104. package/dist/components/input.js.map +1 -1
  105. package/dist/components/kbd.d.ts +0 -2
  106. package/dist/components/kbd.js.map +1 -1
  107. package/dist/components/label.d.ts +1 -3
  108. package/dist/components/label.js.map +1 -1
  109. package/dist/components/list.d.ts +1 -3
  110. package/dist/components/list.js.map +1 -1
  111. package/dist/components/logo.d.ts +0 -2
  112. package/dist/components/marker.d.ts +1 -3
  113. package/dist/components/marker.js.map +1 -1
  114. package/dist/components/mask-input.d.ts +1 -3
  115. package/dist/components/mask-input.js +1 -1
  116. package/dist/components/mask-input.js.map +1 -1
  117. package/dist/components/meter.d.ts +21 -0
  118. package/dist/components/meter.js +2 -0
  119. package/dist/components/meter.js.map +1 -0
  120. package/dist/components/native-select.d.ts +0 -2
  121. package/dist/components/native-select.js.map +1 -1
  122. package/dist/components/navigation-menu.d.ts +1 -3
  123. package/dist/components/navigation-menu.js.map +1 -1
  124. package/dist/components/number-field.d.ts +1 -3
  125. package/dist/components/number-field.js +1 -1
  126. package/dist/components/number-field.js.map +1 -1
  127. package/dist/components/pagination.d.ts +0 -2
  128. package/dist/components/pagination.js.map +1 -1
  129. package/dist/components/phone-input.d.ts +0 -2
  130. package/dist/components/phone-input.js +1 -1
  131. package/dist/components/phone-input.js.map +1 -1
  132. package/dist/components/pie-chart.d.ts +1 -3
  133. package/dist/components/pie-chart.js.map +1 -1
  134. package/dist/components/popover.d.ts +1 -3
  135. package/dist/components/popover.js.map +1 -1
  136. package/dist/components/progress.d.ts +0 -2
  137. package/dist/components/progress.js +1 -1
  138. package/dist/components/progress.js.map +1 -1
  139. package/dist/components/radio-group.d.ts +0 -2
  140. package/dist/components/radio-group.js +1 -1
  141. package/dist/components/radio-group.js.map +1 -1
  142. package/dist/components/resizable.d.ts +0 -2
  143. package/dist/components/resizable.js.map +1 -1
  144. package/dist/components/ring-progress.d.ts +0 -2
  145. package/dist/components/ring-progress.js +1 -1
  146. package/dist/components/ring-progress.js.map +1 -1
  147. package/dist/components/scroll-area.d.ts +0 -2
  148. package/dist/components/scroll-area.js.map +1 -1
  149. package/dist/components/select.d.ts +1 -3
  150. package/dist/components/select.js.map +1 -1
  151. package/dist/components/separator.d.ts +1 -3
  152. package/dist/components/separator.js.map +1 -1
  153. package/dist/components/sidebar.d.ts +2 -4
  154. package/dist/components/sidebar.js +1 -1
  155. package/dist/components/sidebar.js.map +1 -1
  156. package/dist/components/simple-grid.d.ts +0 -2
  157. package/dist/components/simple-grid.js.map +1 -1
  158. package/dist/components/skeleton.d.ts +0 -2
  159. package/dist/components/skeleton.js.map +1 -1
  160. package/dist/components/slider.d.ts +0 -2
  161. package/dist/components/slider.js.map +1 -1
  162. package/dist/components/sonner.d.ts +0 -2
  163. package/dist/components/sonner.js.map +1 -1
  164. package/dist/components/spinner.d.ts +0 -2
  165. package/dist/components/spinner.js.map +1 -1
  166. package/dist/components/stack.d.ts +0 -2
  167. package/dist/components/stack.js.map +1 -1
  168. package/dist/components/stepper.d.ts +1 -3
  169. package/dist/components/stepper.js +1 -1
  170. package/dist/components/stepper.js.map +1 -1
  171. package/dist/components/switch.d.ts +0 -2
  172. package/dist/components/switch.js +1 -1
  173. package/dist/components/switch.js.map +1 -1
  174. package/dist/components/table.d.ts +0 -2
  175. package/dist/components/table.js.map +1 -1
  176. package/dist/components/tabs.d.ts +1 -3
  177. package/dist/components/tabs.js.map +1 -1
  178. package/dist/components/text.d.ts +1 -3
  179. package/dist/components/text.js.map +1 -1
  180. package/dist/components/textarea.d.ts +0 -2
  181. package/dist/components/textarea.js.map +1 -1
  182. package/dist/components/theme.d.ts +0 -2
  183. package/dist/components/theme.js.map +1 -1
  184. package/dist/components/timeline.d.ts +0 -2
  185. package/dist/components/timeline.js.map +1 -1
  186. package/dist/components/toggle-group.d.ts +1 -3
  187. package/dist/components/toggle-group.js.map +1 -1
  188. package/dist/components/toggle.d.ts +1 -3
  189. package/dist/components/toggle.js +1 -1
  190. package/dist/components/toggle.js.map +1 -1
  191. package/dist/components/toolbar.d.ts +30 -0
  192. package/dist/components/toolbar.js +2 -0
  193. package/dist/components/toolbar.js.map +1 -0
  194. package/dist/components/tooltip.d.ts +1 -3
  195. package/dist/components/tooltip.js.map +1 -1
  196. package/dist/components/unstyled-button.d.ts +1 -3
  197. package/dist/components/unstyled-button.js.map +1 -1
  198. package/dist/components/visibility.d.ts +0 -2
  199. package/dist/components/visibility.js.map +1 -1
  200. package/dist/hooks/use-breakpoint-value.d.ts +0 -2
  201. package/dist/hooks/use-breakpoint-value.js.map +1 -1
  202. package/dist/hooks/use-breakpoint.d.ts +0 -2
  203. package/dist/hooks/use-breakpoint.js.map +1 -1
  204. package/dist/hooks/use-disclosure.d.ts +0 -2
  205. package/dist/hooks/use-disclosure.js.map +1 -1
  206. package/dist/hooks/use-document-visibility.d.ts +0 -2
  207. package/dist/hooks/use-document-visibility.js.map +1 -1
  208. package/dist/hooks/use-hotkeys.d.ts +1 -1
  209. package/dist/hooks/use-idle.d.ts +0 -2
  210. package/dist/hooks/use-idle.js.map +1 -1
  211. package/dist/hooks/use-interval.d.ts +0 -2
  212. package/dist/hooks/use-interval.js.map +1 -1
  213. package/dist/hooks/use-local-storage.d.ts +0 -2
  214. package/dist/hooks/use-local-storage.js.map +1 -1
  215. package/dist/hooks/use-mask.d.ts +0 -2
  216. package/dist/hooks/use-mask.js.map +1 -1
  217. package/dist/hooks/use-mobile.d.ts +0 -2
  218. package/dist/hooks/use-mobile.js.map +1 -1
  219. package/dist/index.d.ts +21 -17
  220. package/dist/index.js +1 -1
  221. package/dist/lib/as-child.d.ts +1 -1
  222. package/dist/lib/as-child.js.map +1 -1
  223. package/dist/lib/badge.d.ts +0 -2
  224. package/dist/lib/badge.js.map +1 -1
  225. package/dist/lib/button.d.ts +0 -2
  226. package/dist/lib/button.js.map +1 -1
  227. package/dist/lib/color.d.ts +0 -2
  228. package/dist/lib/color.js.map +1 -1
  229. package/dist/lib/compose-refs.d.ts +0 -2
  230. package/dist/lib/compose-refs.js.map +1 -1
  231. package/dist/lib/progress.d.ts +0 -2
  232. package/dist/lib/progress.js.map +1 -1
  233. package/dist/lib/utils.d.ts +0 -2
  234. package/dist/lib/utils.js.map +1 -1
  235. package/dist/logo--R3_XDgA.js.map +1 -1
  236. package/dist/postcss.config.js.map +1 -1
  237. package/dist/resolve-class-name-BurP8ngI.js.map +1 -1
  238. package/dist/skills/uselets-ui/SKILL.md +3 -3
  239. package/dist/skills/uselets-ui/references/component-catalog.md +14 -2
  240. package/dist/skills/uselets-ui/references/package-guide.md +3 -3
  241. package/dist/{use-hotkeys-D1_TEIwN.d.ts → use-hotkeys-BVm0IGb8.d.ts} +1 -5
  242. package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
  243. package/package.json +14 -14
  244. package/skills/uselets-ui/SKILL.md +3 -3
  245. package/skills/uselets-ui/references/component-catalog.md +14 -2
  246. package/skills/uselets-ui/references/package-guide.md +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","names":["React","InputOTPInvalidContext","ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","OTPInput","cn","containerClassName","className","inputOTPContext","OTPInputContext","inputInvalid","index","isActive","char","hasFakeCaret","IconMinus","REGEXP_ONLY_CHARS","REGEXP_ONLY_DIGITS","REGEXP_ONLY_DIGITS_AND_CHARS"],"sources":["../../src/components/input-otp.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconMinus } from '@tabler/icons-react'\nimport {\n OTPInput,\n OTPInputContext,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n} from 'input-otp'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type InputOTPProps = React.ComponentProps<typeof OTPInput> & {\n /** Classes for the element that wraps the slots. */\n containerClassName?: string\n}\n\nexport type InputOTPGroupProps = React.ComponentProps<'div'>\n\nexport type InputOTPSlotProps = React.ComponentProps<'div'> & {\n /** Position of the character this slot shows, starting at `0`. */\n index: number\n}\n\nexport type InputOTPSeparatorProps = React.ComponentProps<'div'>\n\n// Lets the slots show the invalid state set on `InputOTP` (or inherited from an invalid `Field`).\nconst InputOTPInvalidContext = React.createContext<React.AriaAttributes['aria-invalid']>(undefined)\n\nfunction InputOTP({ className, containerClassName, id, 'aria-invalid': ariaInvalid, ...props }: InputOTPProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <InputOTPInvalidContext.Provider value={invalid}>\n <OTPInput\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"input-otp\"\n containerClassName={cn('cn-input-otp flex items-center has-disabled:opacity-50', containerClassName)}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n </InputOTPInvalidContext.Provider>\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: InputOTPGroupProps) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\n 'flex items-center rounded-lg',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({ index, className, 'aria-invalid': ariaInvalid, ...props }: InputOTPSlotProps) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const inputInvalid = React.useContext(InputOTPInvalidContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n aria-invalid={ariaInvalid ?? inputInvalid}\n className={cn(\n 'dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none',\n 'first:rounded-l-lg first:border-l last:rounded-r-lg',\n 'aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive',\n 'data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: InputOTPSeparatorProps) {\n return (\n <div data-slot=\"input-otp-separator\" className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\" {...props}>\n <IconMinus />\n </div>\n )\n}\n\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n}\n"],"mappings":"sZA6BA,MAAMC,EAAyBD,EAAM,cAAoD,IAAA,EAAS,EAElG,SAAS,SAAS,CAAE,YAAW,qBAAoB,KAAI,eAAgBE,EAAa,GAAGC,GAAwB,CAC7G,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAACD,EAAuB,SAAxB,CAAiC,MAAOM,EACtC,SAAA,kBAACE,EAAD,CACE,GAAIL,EACJ,eAAcG,EACd,YAAU,YACV,mBAAoBG,EAAG,yDAA0DC,CAAkB,EACnG,WAAY,GACZ,UAAWD,EAAG,8BAA+BE,CAAS,EACtD,GAAIT,CACL,CAAA,CAC8B,CAAA,CAErC,CAEA,SAAS,cAAc,CAAE,YAAW,GAAGA,GAA6B,CAClE,MACE,kBAAC,MAAD,CACE,YAAU,kBACV,UAAWO,EACT,+BACA,6IACAE,CACF,EACA,GAAIT,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,QAAO,YAAW,eAAgBD,EAAa,GAAGC,GAA4B,CACpG,IAAMU,EAAkBb,EAAM,WAAWc,CAAe,EAClDC,EAAef,EAAM,WAAWC,CAAsB,EACtD,CAAE,OAAM,eAAc,YAAaY,GAAiB,MAAMG,IAAU,CAAC,EAE3E,MACE,kBAAC,MAAD,CACE,YAAU,iBACV,cAAaC,EACb,eAAcf,GAAea,EAC7B,UAAWL,EACT,uIACA,sDACA,qFACA,gOACAE,CACF,EACA,GAAIT,EAXN,SAAA,CAaGe,EACAC,GACC,kBAAC,MAAD,CAAK,UAAU,wEACb,SAAA,kBAAC,MAAD,CAAK,UAAU,0DAA4D,CAAA,CACxE,CAAA,CAEJ,GAET,CAEA,SAAS,kBAAkB,CAAE,GAAGhB,GAAiC,CAC/D,MACE,kBAAC,MAAD,CAAK,YAAU,sBAAsB,UAAU,yDAAyD,GAAIA,EAC1G,SAAA,kBAACiB,EAAD,CAAY,CAAA,CACT,CAAA,CAET"}
1
+ {"version":3,"file":"input-otp.js","names":["React","InputOTPInvalidContext","ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","OTPInput","cn","containerClassName","className","inputOTPContext","OTPInputContext","inputInvalid","index","isActive","char","hasFakeCaret","IconMinus","REGEXP_ONLY_CHARS","REGEXP_ONLY_DIGITS","REGEXP_ONLY_DIGITS_AND_CHARS"],"sources":["../../src/components/input-otp.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconMinus } from '@tabler/icons-react'\nimport {\n OTPInput,\n OTPInputContext,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n} from 'input-otp'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type InputOTPProps = React.ComponentProps<typeof OTPInput> & {\n /** Classes for the element that wraps the slots. */\n containerClassName?: string\n}\n\nexport type InputOTPGroupProps = React.ComponentProps<'div'>\n\nexport type InputOTPSlotProps = React.ComponentProps<'div'> & {\n /** Position of the character this slot shows, starting at `0`. */\n index: number\n}\n\nexport type InputOTPSeparatorProps = React.ComponentProps<'div'>\n\n// Lets the slots show the invalid state set on `InputOTP` (or inherited from an invalid `Field`).\nconst InputOTPInvalidContext = React.createContext<React.AriaAttributes['aria-invalid']>(undefined)\n\nfunction InputOTP({ className, containerClassName, id, 'aria-invalid': ariaInvalid, ...props }: InputOTPProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <InputOTPInvalidContext.Provider value={invalid}>\n <OTPInput\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"input-otp\"\n containerClassName={cn('cn-input-otp flex items-center has-disabled:opacity-50', containerClassName)}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n </InputOTPInvalidContext.Provider>\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: InputOTPGroupProps) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\n 'flex items-center rounded-lg',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({ index, className, 'aria-invalid': ariaInvalid, ...props }: InputOTPSlotProps) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const inputInvalid = React.useContext(InputOTPInvalidContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n aria-invalid={ariaInvalid ?? inputInvalid}\n className={cn(\n 'dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none',\n 'first:rounded-l-lg first:border-l last:rounded-r-lg',\n 'aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive',\n 'data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: InputOTPSeparatorProps) {\n return (\n <div data-slot=\"input-otp-separator\" className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\" {...props}>\n <IconMinus />\n </div>\n )\n}\n\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n}\n"],"mappings":"A,sZA6BA,MAAMC,EAAyBD,EAAM,cAAoD,IAAA,EAAS,EAElG,SAAS,SAAS,CAAE,YAAW,qBAAoB,KAAI,eAAgBE,EAAa,GAAGC,GAAwB,CAC7G,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAACD,EAAuB,SAAxB,CAAiC,MAAOM,EACtC,SAAA,kBAACE,EAAD,CACE,GAAIL,EACJ,eAAcG,EACd,YAAU,YACV,mBAAoBG,EAAG,yDAA0DC,CAAkB,EACnG,WAAY,GACZ,UAAWD,EAAG,8BAA+BE,CAAS,EACtD,GAAIT,CACL,CAAA,CAC8B,CAAA,CAErC,CAEA,SAAS,cAAc,CAAE,YAAW,GAAGA,GAA6B,CAClE,MACE,kBAAC,MAAD,CACE,YAAU,kBACV,UAAWO,EACT,+BACA,6IACAE,CACF,EACA,GAAIT,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,QAAO,YAAW,eAAgBD,EAAa,GAAGC,GAA4B,CACpG,IAAMU,EAAkBb,EAAM,WAAWc,CAAe,EAClDC,EAAef,EAAM,WAAWC,CAAsB,EACtD,CAAE,OAAM,eAAc,YAAaY,GAAiB,MAAMG,IAAU,CAAC,EAE3E,MACE,kBAAC,MAAD,CACE,YAAU,iBACV,cAAaC,EACb,eAAcf,GAAea,EAC7B,UAAWL,EACT,uIACA,sDACA,qFACA,gOACAE,CACF,EACA,GAAIT,EAXN,SAAA,CAaGe,EACAC,GACC,kBAAC,MAAD,CAAK,UAAU,wEACb,SAAA,kBAAC,MAAD,CAAK,UAAU,0DAA4D,CAAA,CACxE,CAAA,CAEJ,C,EAET,CAEA,SAAS,kBAAkB,CAAE,GAAGhB,GAAiC,CAC/D,MACE,kBAAC,MAAD,CAAK,YAAU,sBAAsB,UAAU,yDAAyD,GAAIA,EAC1G,SAAA,kBAACiB,EAAD,CAAY,CAAA,CACT,CAAA,CAET,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
- //#region src/components/input.d.ts
4
3
  export type InputProps = React.ComponentProps<'input'>;
5
4
  declare function Input({ className, id, type, 'aria-invalid': ariaInvalid, ...props }: InputProps): React.JSX.Element;
6
- //#endregion
7
5
  export { Input };
8
6
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className"],"sources":["../../src/components/input.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type InputProps = React.ComponentProps<'input'>\n\nfunction Input({ className, id, type, 'aria-invalid': ariaInvalid, ...props }: InputProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <input\n id={fieldControlId}\n aria-invalid={invalid}\n type={type}\n data-slot=\"input\"\n className={cn(\n 'border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-placeholder',\n 'file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground',\n 'outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80',\n '[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"yLAOA,SAAS,MAAM,CAAE,YAAW,KAAI,OAAM,eAAgBA,EAAa,GAAGC,GAAqB,CACzF,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,QAAD,CACE,GAAIE,EACJ,eAAcG,EACR,OACN,YAAU,QACV,UAAWE,EACT,uIACA,4EACA,qKACA,+BACA,iHACA,2IACA,mGACAC,CACF,EACA,GAAIP,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"input.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className"],"sources":["../../src/components/input.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type InputProps = React.ComponentProps<'input'>\n\nfunction Input({ className, id, type, 'aria-invalid': ariaInvalid, ...props }: InputProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <input\n id={fieldControlId}\n aria-invalid={invalid}\n type={type}\n data-slot=\"input\"\n className={cn(\n 'border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-placeholder',\n 'file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground',\n 'outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80',\n '[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"A,yLAOA,SAAS,MAAM,CAAE,YAAW,KAAI,OAAM,eAAgBA,EAAa,GAAGC,GAAqB,CACzF,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,QAAD,CACE,GAAIE,EACJ,eAAcG,EACR,OACN,YAAU,QACV,UAAWE,EACT,uIACA,4EACA,qKACA,+BACA,iHACA,2IACA,mGACAC,CACF,EACA,GAAIP,CACL,CAAA,CAEL,C"}
@@ -1,10 +1,8 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
- //#region src/components/kbd.d.ts
4
3
  export type KbdProps = React.ComponentProps<'kbd'>;
5
4
  export type KbdGroupProps = React.ComponentProps<'div'>;
6
5
  declare function Kbd({ className, ...props }: KbdProps): React.JSX.Element;
7
6
  declare function KbdGroup({ className, ...props }: KbdGroupProps): React.JSX.Element;
8
- //#endregion
9
7
  export { Kbd, KbdGroup };
10
8
  //# sourceMappingURL=kbd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kbd.js","names":["props","cn","className"],"sources":["../../src/components/kbd.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type KbdProps = React.ComponentProps<'kbd'>\n\nexport type KbdGroupProps = React.ComponentProps<'div'>\n\nfunction Kbd({ className, ...props }: KbdProps) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction KbdGroup({ className, ...props }: KbdGroupProps) {\n return <kbd data-slot=\"kbd-group\" className={cn('gap-1 inline-flex items-center', className)} {...props} />\n}\n\nexport { Kbd, KbdGroup }\n"],"mappings":"qHAQA,SAAS,IAAI,CAAE,YAAW,GAAGA,GAAmB,CAC9C,MACE,kBAAC,MAAD,CACE,YAAU,MACV,UAAWC,EACT,wWACAC,CACF,EACA,GAAIF,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAGA,GAAwB,CACxD,MAAO,kBAAC,MAAD,CAAK,YAAU,YAAY,UAAWC,EAAG,iCAAkCC,CAAS,EAAG,GAAIF,CAAQ,CAAA,CAC5G"}
1
+ {"version":3,"file":"kbd.js","names":["props","cn","className"],"sources":["../../src/components/kbd.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type KbdProps = React.ComponentProps<'kbd'>\n\nexport type KbdGroupProps = React.ComponentProps<'div'>\n\nfunction Kbd({ className, ...props }: KbdProps) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction KbdGroup({ className, ...props }: KbdGroupProps) {\n return <kbd data-slot=\"kbd-group\" className={cn('gap-1 inline-flex items-center', className)} {...props} />\n}\n\nexport { Kbd, KbdGroup }\n"],"mappings":"A,qHAQA,SAAS,IAAI,CAAE,YAAW,GAAGA,GAAmB,CAC9C,MACE,kBAAC,MAAD,CACE,YAAU,MACV,UAAWC,EACT,wWACAC,CACF,EACA,GAAIF,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAGA,GAAwB,CACxD,MAAO,kBAAC,MAAD,CAAK,YAAU,YAAY,UAAWC,EAAG,iCAAkCC,CAAS,EAAG,GAAIF,CAAQ,CAAA,CAC5G,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { n as AsChildProps } from "../as-child-Dxg3Xo1G.js";
3
- //#region src/components/label.d.ts
2
+ import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
4
3
  export type LabelProps = AsChildProps<'label'>;
5
4
  declare function Label({ className, ...props }: LabelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
6
- //#endregion
7
5
  export { Label };
8
6
  //# sourceMappingURL=label.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","names":["props","useAsChild","cn","className"],"sources":["../../src/components/label.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type LabelProps = AsChildProps<'label'>\n\nfunction Label({ className, ...props }: LabelProps) {\n return useAsChild('label', {\n 'data-slot': 'label',\n className: cn(\n 'flex items-center gap-2 select-none text-sm leading-none',\n 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n 'peer-data-disabled:cursor-not-allowed peer-data-disabled:opacity-50',\n className\n ),\n ...props\n })\n}\n\nexport { Label }\n"],"mappings":"6HAKA,SAAS,MAAM,CAAE,YAAW,GAAGA,GAAqB,CAClD,OAAOC,EAAW,QAAS,CACzB,YAAa,QACb,UAAWC,EACT,2DACA,uFACA,4DACA,sEACAC,CACF,EACA,GAAGH,CACL,CAAC,CACH"}
1
+ {"version":3,"file":"label.js","names":["props","useAsChild","cn","className"],"sources":["../../src/components/label.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type LabelProps = AsChildProps<'label'>\n\nfunction Label({ className, ...props }: LabelProps) {\n return useAsChild('label', {\n 'data-slot': 'label',\n className: cn(\n 'flex items-center gap-2 select-none text-sm leading-none',\n 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n 'peer-data-disabled:cursor-not-allowed peer-data-disabled:opacity-50',\n className\n ),\n ...props\n })\n}\n\nexport { Label }\n"],"mappings":"A,6HAKA,SAAS,MAAM,CAAE,YAAW,GAAGA,GAAqB,CAClD,OAAOC,EAAW,QAAS,CACzB,YAAa,QACb,UAAWC,EACT,2DACA,uFACA,4DACA,sEACAC,CACF,EACA,GAAGH,CACL,CAAC,CACH,C"}
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { n as AsChildProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
3
3
  import * as React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
5
- //#region src/components/list.d.ts
6
5
  type ListType = 'unordered' | 'ordered';
7
6
  type InternalListItemProps = {
8
7
  __index?: number;
@@ -23,6 +22,5 @@ export type ListIconProps = AsChildProps<'span'>;
23
22
  declare function List({ className, children, type, size, spacing, ...props }: ListProps): React.JSX.Element;
24
23
  declare function ListItem({ className, children, __index, ...props }: ListItemProps & InternalListItemProps): React.JSX.Element;
25
24
  declare function ListIcon({ className, asChild, ...props }: ListIconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
26
- //#endregion
27
25
  export { List, ListIcon, ListItem, listVariants };
28
26
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","names":["React","ListContext","listVariants","cva","props","Comp","type","size","spacing","cn","className","children","items","icon","content","item","isOrdered","__index","useAsChild","asChild","child","fragment","indexRef"],"sources":["../../src/components/list.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\ntype ListType = 'unordered' | 'ordered'\n\ntype ListContextValue = {\n type: ListType\n}\n\ntype InternalListItemProps = {\n __index?: number\n}\n\nconst ListContext = React.createContext<ListContextValue>({\n type: 'unordered'\n})\n\nconst listVariants = cva('m-0 flex list-none flex-col p-0 text-foreground', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n },\n spacing: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6'\n }\n },\n defaultVariants: {\n size: 'md',\n spacing: 'md'\n }\n})\n\nexport type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> &\n Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> &\n VariantProps<typeof listVariants> & {\n /**\n * `ordered` renders an `<ol>`; `unordered` renders a `<ul>`.\n * @default 'unordered'\n */\n type?: ListType\n }\n\nexport type ListItemProps = React.ComponentProps<'li'>\n\nexport type ListIconProps = AsChildProps<'span'>\n\nfunction List({ className, children, type = 'unordered', size = 'md', spacing = 'md', ...props }: ListProps) {\n const Comp = type === 'ordered' ? 'ol' : 'ul'\n\n return (\n <ListContext.Provider value={{ type }}>\n <Comp\n data-slot=\"list\"\n data-type={type}\n data-size={size}\n data-spacing={spacing}\n className={cn(listVariants({ size, spacing }), className)}\n {...props}\n >\n {injectListItemIndices(children)}\n </Comp>\n </ListContext.Provider>\n )\n}\n\nfunction ListItem({ className, children, __index, ...props }: ListItemProps & InternalListItemProps) {\n const { type } = React.useContext(ListContext)\n const items = React.Children.toArray(children)\n const icon = items.find(isListIconElement) ?? null\n const content = icon ? items.filter((item) => item !== icon) : items\n const isOrdered = type === 'ordered'\n\n return (\n <li\n data-slot=\"list-item\"\n data-type={type}\n data-has-icon={icon ? 'true' : 'false'}\n className={cn('grid grid-cols-[auto_minmax(0,1fr)] items-start gap-x-3', className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0',\n icon && 'flex min-h-5 min-w-4 items-center justify-center pt-0.5 text-primary [&_svg]:size-[1em]',\n !icon && isOrdered && 'min-w-7 pt-0.5 text-right font-medium tabular-nums text-muted-foreground',\n !icon && !isOrdered && 'flex min-h-5 min-w-4 items-start justify-center pt-[0.45em] text-muted-foreground'\n )}\n >\n {icon ?? (isOrdered ? `${(__index ?? 0) + 1}.` : <span className=\"size-1.5 rounded-full bg-current\" />)}\n </span>\n <div className=\"min-w-0\">{content}</div>\n </li>\n )\n}\n\nfunction ListIcon({ className, asChild = false, ...props }: ListIconProps) {\n return useAsChild('span', {\n asChild,\n 'data-slot': 'list-icon',\n className: cn(\n 'inline-flex shrink-0 items-center justify-center text-primary [&>svg]:size-4',\n asChild && 'size-4',\n className\n ),\n ...props\n })\n}\n\nfunction injectListItemIndices(children: React.ReactNode, indexRef = { current: 0 }): React.ReactNode {\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) {\n return child\n }\n\n if (child.type === React.Fragment) {\n const fragment = child as React.ReactElement<{ children?: React.ReactNode }>\n\n return <React.Fragment key={child.key}>{injectListItemIndices(fragment.props.children, indexRef)}</React.Fragment>\n }\n\n if (child.type === ListItem) {\n return React.cloneElement(child as React.ReactElement<ListItemProps & InternalListItemProps>, {\n __index: indexRef.current++\n })\n }\n\n return child\n })\n}\n\nfunction isListIconElement(child: React.ReactNode): child is React.ReactElement<ListIconProps> {\n return React.isValidElement(child) && child.type === ListIcon\n}\n\nexport { List, ListIcon, ListItem, listVariants }\n"],"mappings":"sPAiBA,MAAMC,EAAcD,EAAM,cAAgC,CACxD,KAAM,WACR,CAAC,EAEKE,EAAeC,EAAI,kDAAmD,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,EACA,QAAS,CACP,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,CACF,EACA,gBAAiB,CACf,KAAM,KACN,QAAS,IACX,CACF,CAAC,EAgBD,SAAS,KAAK,CAAE,YAAW,WAAU,OAAO,YAAa,OAAO,KAAM,UAAU,KAAM,GAAGC,GAAoB,CAC3G,IAAMC,EAAOC,IAAS,UAAY,KAAO,KAEzC,MACE,kBAACL,EAAY,SAAb,CAAsB,MAAO,CAAE,MAAK,EAClC,SAAA,kBAACI,EAAD,CACE,YAAU,OACV,YAAWC,EACX,YAAWC,EACX,eAAcC,EACd,UAAWC,EAAGP,EAAa,CAAE,OAAM,SAAQ,CAAC,EAAGQ,CAAS,EACxD,GAAIN,EAEH,SAAA,sBAAsBO,CAAQ,CAC3B,CAAA,CACc,CAAA,CAE1B,CAEA,SAAS,SAAS,CAAE,YAAW,WAAU,UAAS,GAAGP,GAAgD,CACnG,GAAM,CAAE,QAASJ,EAAM,WAAWC,CAAW,EACvCW,EAAQZ,EAAM,SAAS,QAAQW,CAAQ,EACvCE,EAAOD,EAAM,KAAK,iBAAiB,GAAK,KACxCE,EAAUD,EAAOD,EAAM,OAAQ,GAASG,IAASF,CAAI,EAAID,EACzDI,EAAYV,IAAS,UAE3B,MACE,kBAAC,KAAD,CACE,YAAU,YACV,YAAWA,EACX,gBAAeO,EAAO,OAAS,QAC/B,UAAWJ,EAAG,0DAA2DC,CAAS,EAClF,GAAIN,EALN,SAAA,CAOE,kBAAC,OAAD,CACE,cAAY,OACZ,UAAWK,EACT,WACAI,GAAQ,0FACR,CAACA,GAAQG,GAAa,2EACtB,CAACH,GAAQ,CAACG,GAAa,mFACzB,EAEC,SAAAH,IAASG,EAAY,IAAIC,GAAW,GAAK,EAAE,GAAK,kBAAC,OAAD,CAAM,UAAU,kCAAoC,CAAA,EACjG,CAAA,EACN,kBAAC,MAAD,CAAK,UAAU,UAAW,SAAAH,CAAa,CAAA,CACrC,GAER,CAEA,SAAS,SAAS,CAAE,YAAW,UAAU,GAAO,GAAGV,GAAwB,CACzE,OAAOc,EAAW,OAAQ,CACxB,UACA,YAAa,YACb,UAAWT,EACT,+EACAU,GAAW,SACXT,CACF,EACA,GAAGN,CACL,CAAC,CACH,CAEA,SAAS,sBAAsB,EAA2B,EAAW,CAAE,QAAS,CAAE,EAAoB,CACpG,OAAOJ,EAAM,SAAS,IAAIW,EAAW,GAAU,CAC7C,GAAI,CAACX,EAAM,eAAeoB,CAAK,EAC7B,OAAOA,EAGT,GAAIA,EAAM,OAASpB,EAAM,SAAU,CACjC,IAAMqB,EAAWD,EAEjB,MAAO,kBAACpB,EAAM,SAAP,CAAA,SAAiC,sBAAsBqB,EAAS,MAAM,SAAUC,CAAQ,CAAkB,EAArFF,EAAM,GAA+E,CACnH,CAQA,OANIA,EAAM,OAAS,SACVpB,EAAM,aAAaoB,EAAoE,CAC5F,QAAS,EAAS,SACpB,CAAC,EAGIA,CACT,CAAC,CACH,CAEA,SAAS,kBAAkB,EAAoE,CAC7F,OAAOpB,EAAM,eAAeoB,CAAK,GAAKA,EAAM,OAAS,QACvD"}
1
+ {"version":3,"file":"list.js","names":["React","ListContext","listVariants","cva","props","Comp","type","size","spacing","cn","className","children","items","icon","content","item","isOrdered","__index","useAsChild","asChild","child","fragment","indexRef"],"sources":["../../src/components/list.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\ntype ListType = 'unordered' | 'ordered'\n\ntype ListContextValue = {\n type: ListType\n}\n\ntype InternalListItemProps = {\n __index?: number\n}\n\nconst ListContext = React.createContext<ListContextValue>({\n type: 'unordered'\n})\n\nconst listVariants = cva('m-0 flex list-none flex-col p-0 text-foreground', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n },\n spacing: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6'\n }\n },\n defaultVariants: {\n size: 'md',\n spacing: 'md'\n }\n})\n\nexport type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> &\n Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> &\n VariantProps<typeof listVariants> & {\n /**\n * `ordered` renders an `<ol>`; `unordered` renders a `<ul>`.\n * @default 'unordered'\n */\n type?: ListType\n }\n\nexport type ListItemProps = React.ComponentProps<'li'>\n\nexport type ListIconProps = AsChildProps<'span'>\n\nfunction List({ className, children, type = 'unordered', size = 'md', spacing = 'md', ...props }: ListProps) {\n const Comp = type === 'ordered' ? 'ol' : 'ul'\n\n return (\n <ListContext.Provider value={{ type }}>\n <Comp\n data-slot=\"list\"\n data-type={type}\n data-size={size}\n data-spacing={spacing}\n className={cn(listVariants({ size, spacing }), className)}\n {...props}\n >\n {injectListItemIndices(children)}\n </Comp>\n </ListContext.Provider>\n )\n}\n\nfunction ListItem({ className, children, __index, ...props }: ListItemProps & InternalListItemProps) {\n const { type } = React.useContext(ListContext)\n const items = React.Children.toArray(children)\n const icon = items.find(isListIconElement) ?? null\n const content = icon ? items.filter((item) => item !== icon) : items\n const isOrdered = type === 'ordered'\n\n return (\n <li\n data-slot=\"list-item\"\n data-type={type}\n data-has-icon={icon ? 'true' : 'false'}\n className={cn('grid grid-cols-[auto_minmax(0,1fr)] items-start gap-x-3', className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0',\n icon && 'flex min-h-5 min-w-4 items-center justify-center pt-0.5 text-primary [&_svg]:size-[1em]',\n !icon && isOrdered && 'min-w-7 pt-0.5 text-right font-medium tabular-nums text-muted-foreground',\n !icon && !isOrdered && 'flex min-h-5 min-w-4 items-start justify-center pt-[0.45em] text-muted-foreground'\n )}\n >\n {icon ?? (isOrdered ? `${(__index ?? 0) + 1}.` : <span className=\"size-1.5 rounded-full bg-current\" />)}\n </span>\n <div className=\"min-w-0\">{content}</div>\n </li>\n )\n}\n\nfunction ListIcon({ className, asChild = false, ...props }: ListIconProps) {\n return useAsChild('span', {\n asChild,\n 'data-slot': 'list-icon',\n className: cn(\n 'inline-flex shrink-0 items-center justify-center text-primary [&>svg]:size-4',\n asChild && 'size-4',\n className\n ),\n ...props\n })\n}\n\nfunction injectListItemIndices(children: React.ReactNode, indexRef = { current: 0 }): React.ReactNode {\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) {\n return child\n }\n\n if (child.type === React.Fragment) {\n const fragment = child as React.ReactElement<{ children?: React.ReactNode }>\n\n return <React.Fragment key={child.key}>{injectListItemIndices(fragment.props.children, indexRef)}</React.Fragment>\n }\n\n if (child.type === ListItem) {\n return React.cloneElement(child as React.ReactElement<ListItemProps & InternalListItemProps>, {\n __index: indexRef.current++\n })\n }\n\n return child\n })\n}\n\nfunction isListIconElement(child: React.ReactNode): child is React.ReactElement<ListIconProps> {\n return React.isValidElement(child) && child.type === ListIcon\n}\n\nexport { List, ListIcon, ListItem, listVariants }\n"],"mappings":"A,sPAiBA,MAAMC,EAAcD,EAAM,cAAgC,CACxD,KAAM,WACR,CAAC,EAEKE,EAAeC,EAAI,kDAAmD,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,EACA,QAAS,CACP,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,CACF,EACA,gBAAiB,CACf,KAAM,KACN,QAAS,IACX,CACF,CAAC,EAgBD,SAAS,KAAK,CAAE,YAAW,WAAU,OAAO,YAAa,OAAO,KAAM,UAAU,KAAM,GAAGC,GAAoB,CAC3G,IAAMC,EAAOC,IAAS,UAAY,KAAO,KAEzC,MACE,kBAACL,EAAY,SAAb,CAAsB,MAAO,CAAE,MAAK,EAClC,SAAA,kBAACI,EAAD,CACE,YAAU,OACV,YAAWC,EACX,YAAWC,EACX,eAAcC,EACd,UAAWC,EAAGP,EAAa,CAAE,OAAM,SAAQ,CAAC,EAAGQ,CAAS,EACxD,GAAIN,EAEH,SAAA,sBAAsBO,CAAQ,CAC3B,CAAA,CACc,CAAA,CAE1B,CAEA,SAAS,SAAS,CAAE,YAAW,WAAU,UAAS,GAAGP,GAAgD,CACnG,GAAM,CAAE,QAASJ,EAAM,WAAWC,CAAW,EACvCW,EAAQZ,EAAM,SAAS,QAAQW,CAAQ,EACvCE,EAAOD,EAAM,KAAK,iBAAiB,GAAK,KACxCE,EAAUD,EAAOD,EAAM,OAAQ,GAASG,IAASF,CAAI,EAAID,EACzDI,EAAYV,IAAS,UAE3B,MACE,kBAAC,KAAD,CACE,YAAU,YACV,YAAWA,EACX,gBAAeO,EAAO,OAAS,QAC/B,UAAWJ,EAAG,0DAA2DC,CAAS,EAClF,GAAIN,EALN,SAAA,CAOE,kBAAC,OAAD,CACE,cAAY,OACZ,UAAWK,EACT,WACAI,GAAQ,0FACR,CAACA,GAAQG,GAAa,2EACtB,CAACH,GAAQ,CAACG,GAAa,mFACzB,EAEC,SAAAH,IAASG,EAAY,IAAIC,GAAW,GAAK,EAAE,GAAK,kBAAC,OAAD,CAAM,UAAU,kCAAoC,CAAA,EACjG,CAAA,EACN,kBAAC,MAAD,CAAK,UAAU,UAAW,SAAAH,CAAa,CAAA,CACrC,C,EAER,CAEA,SAAS,SAAS,CAAE,YAAW,UAAU,GAAO,GAAGV,GAAwB,CACzE,OAAOc,EAAW,OAAQ,CACxB,UACA,YAAa,YACb,UAAWT,EACT,+EACAU,GAAW,SACXT,CACF,EACA,GAAGN,CACL,CAAC,CACH,CAEA,SAAS,sBAAsB,EAA2B,EAAW,CAAE,QAAS,CAAE,EAAoB,CACpG,OAAOJ,EAAM,SAAS,IAAIW,EAAW,GAAU,CAC7C,GAAI,CAACX,EAAM,eAAeoB,CAAK,EAC7B,OAAOA,EAGT,GAAIA,EAAM,OAASpB,EAAM,SAAU,CACjC,IAAMqB,EAAWD,EAEjB,MAAO,kBAACpB,EAAM,SAAP,CAAA,SAAiC,sBAAsBqB,EAAS,MAAM,SAAUC,CAAQ,CAAkB,EAArFF,EAAM,GAA+E,CACnH,CAQA,OANIA,EAAM,OAAS,SACVpB,EAAM,aAAaoB,EAAoE,CAC5F,QAAS,EAAS,SACpB,CAAC,EAGIA,CACT,CAAC,CACH,CAEA,SAAS,kBAAkB,EAAoE,CAC7F,OAAOpB,EAAM,eAAeoB,CAAK,GAAKA,EAAM,OAAS,QACvD,C"}
@@ -1,6 +1,5 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
- //#region src/components/logo.d.ts
4
3
  type LogoSize = 'sm' | 'md' | 'lg' | number;
5
4
  export type MaxLogoProps = Omit<React.ComponentProps<'svg'>, 'color'> & {
6
5
  /**
@@ -177,6 +176,5 @@ export type LetsLogoProps = Omit<React.ComponentProps<'svg'>, 'color'> & {
177
176
  size?: LogoSize;
178
177
  };
179
178
  declare function LetsLogo({ tone, color, size, className, style, ...props }: LetsLogoProps): React.JSX.Element;
180
- //#endregion
181
179
  export { BippiLogo, FibonashLogo, GomaxLogo, IntelitrackLogo, KovraLogo, LetsLogo, MaxLogo, NeutraLogo, RdLogo };
182
180
  //# sourceMappingURL=logo.d.ts.map
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { n as AsChildProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
3
3
  import * as React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
5
- //#region src/components/marker.d.ts
6
5
  declare const markerVariants: (props?: ({
7
6
  variant?: "border" | "default" | "separator" | null | undefined;
8
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -12,6 +11,5 @@ export type MarkerContentProps = React.ComponentProps<'span'>;
12
11
  declare function Marker({ className, variant, ...props }: MarkerProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
13
12
  declare function MarkerIcon({ className, ...props }: MarkerIconProps): React.JSX.Element;
14
13
  declare function MarkerContent({ className, ...props }: MarkerContentProps): React.JSX.Element;
15
- //#endregion
16
14
  export { Marker, MarkerContent, MarkerIcon, markerVariants };
17
15
  //# sourceMappingURL=marker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marker.js","names":["markerVariants","cva","props","useAsChild","variant","cn","className"],"sources":["../../src/components/marker.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nconst markerVariants = cva(\n \"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground\",\n {\n variants: {\n variant: {\n default: '',\n separator:\n 'before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border',\n border: 'border-b border-border pb-2'\n }\n }\n }\n)\n\nexport type MarkerProps = AsChildProps<'div'> & VariantProps<typeof markerVariants>\n\nexport type MarkerIconProps = React.ComponentProps<'span'>\n\nexport type MarkerContentProps = React.ComponentProps<'span'>\n\nfunction Marker({ className, variant = 'default', ...props }: MarkerProps) {\n return useAsChild('div', {\n 'data-slot': 'marker',\n 'data-variant': variant,\n className: cn(markerVariants({ variant, className })),\n ...props\n })\n}\n\nfunction MarkerIcon({ className, ...props }: MarkerIconProps) {\n return (\n <span\n data-slot=\"marker-icon\"\n aria-hidden=\"true\"\n className={cn(\"size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n />\n )\n}\n\nfunction MarkerContent({ className, ...props }: MarkerContentProps) {\n return (\n <span\n data-slot=\"marker-content\"\n className={cn(\n 'min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Marker, MarkerContent, MarkerIcon, markerVariants }\n"],"mappings":"oNAOA,MAAMA,EAAiBC,EACrB,2MACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,GACT,UACE,yIACF,OAAQ,6BACV,CACF,CACF,CACF,EAQA,SAAS,OAAO,CAAE,YAAW,UAAU,UAAW,GAAGC,GAAsB,CACzE,OAAOC,EAAW,MAAO,CACvB,YAAa,SACb,eAAgBC,EAChB,UAAWC,EAAGL,EAAe,CAAE,UAAS,WAAU,CAAC,CAAC,EACpD,GAAGE,CACL,CAAC,CACH,CAEA,SAAS,WAAW,CAAE,YAAW,GAAGA,GAA0B,CAC5D,MACE,kBAAC,OAAD,CACE,YAAU,cACV,cAAY,OACZ,UAAWG,EAAG,uDAAwDC,CAAS,EAC/E,GAAIJ,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CAAE,YAAW,GAAGA,GAA6B,CAClE,MACE,kBAAC,OAAD,CACE,YAAU,iBACV,UAAWG,EACT,iMACAC,CACF,EACA,GAAIJ,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"marker.js","names":["markerVariants","cva","props","useAsChild","variant","cn","className"],"sources":["../../src/components/marker.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nconst markerVariants = cva(\n \"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground\",\n {\n variants: {\n variant: {\n default: '',\n separator:\n 'before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border',\n border: 'border-b border-border pb-2'\n }\n }\n }\n)\n\nexport type MarkerProps = AsChildProps<'div'> & VariantProps<typeof markerVariants>\n\nexport type MarkerIconProps = React.ComponentProps<'span'>\n\nexport type MarkerContentProps = React.ComponentProps<'span'>\n\nfunction Marker({ className, variant = 'default', ...props }: MarkerProps) {\n return useAsChild('div', {\n 'data-slot': 'marker',\n 'data-variant': variant,\n className: cn(markerVariants({ variant, className })),\n ...props\n })\n}\n\nfunction MarkerIcon({ className, ...props }: MarkerIconProps) {\n return (\n <span\n data-slot=\"marker-icon\"\n aria-hidden=\"true\"\n className={cn(\"size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n />\n )\n}\n\nfunction MarkerContent({ className, ...props }: MarkerContentProps) {\n return (\n <span\n data-slot=\"marker-content\"\n className={cn(\n 'min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Marker, MarkerContent, MarkerIcon, markerVariants }\n"],"mappings":"A,oNAOA,MAAMA,EAAiBC,EACrB,2MACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,GACT,UACE,yIACF,OAAQ,6BACV,CACF,CACF,CACF,EAQA,SAAS,OAAO,CAAE,YAAW,UAAU,UAAW,GAAGC,GAAsB,CACzE,OAAOC,EAAW,MAAO,CACvB,YAAa,SACb,eAAgBC,EAChB,UAAWC,EAAGL,EAAe,CAAE,UAAS,WAAU,CAAC,CAAC,EACpD,GAAGE,CACL,CAAC,CACH,CAEA,SAAS,WAAW,CAAE,YAAW,GAAGA,GAA0B,CAC5D,MACE,kBAAC,OAAD,CACE,YAAU,cACV,cAAY,OACZ,UAAWG,EAAG,uDAAwDC,CAAS,EAC/E,GAAIJ,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CAAE,YAAW,GAAGA,GAA6B,CAClE,MACE,kBAAC,OAAD,CACE,YAAU,iBACV,UAAWG,EACT,iMACAC,CACF,EACA,GAAIJ,CACL,CAAA,CAEL,C"}
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { InputProps } from "./input.js";
3
2
  import { Modify, Replacement, Track } from "../hooks/use-mask.js";
4
- //#region src/components/mask-input.d.ts
3
+ import { InputProps } from "./input.js";
5
4
  export type MaskInputProps = InputProps & {
6
5
  /** Mask pattern. `_` is a digit, `#` a letter, `*` any character; everything else is fixed. */
7
6
  mask: string;
@@ -17,6 +16,5 @@ export type MaskInputProps = InputProps & {
17
16
  modify?: Modify;
18
17
  };
19
18
  declare function MaskInput({ ref, mask, replacement, showMask, separate, track, modify, ...props }: MaskInputProps): import("react").JSX.Element;
20
- //#endregion
21
19
  export { MaskInput };
22
20
  //# sourceMappingURL=mask-input.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{Input as e}from"./input.js";import{composeRefs as t}from"../lib/compose-refs.js";import{useMask as n}from"../hooks/use-mask.js";import{jsx as r}from"react/jsx-runtime";function MaskInput({ref:i,mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u,...d}){let f=n({mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u});return/* @__PURE__ */ r(e,{"data-slot":`mask-input`,...d,ref:t(i,f)})}export{MaskInput};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{useMask as e}from"../hooks/use-mask.js";import{composeRefs as t}from"../lib/compose-refs.js";import{Input as n}from"./input.js";import{jsx as r}from"react/jsx-runtime";function MaskInput({ref:i,mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u,...d}){let f=e({mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u});return/* @__PURE__ */ r(n,{"data-slot":`mask-input`,...d,ref:t(i,f)})}export{MaskInput};
2
2
  //# sourceMappingURL=mask-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mask-input.js","names":["props","maskRef","useMask","Input","composeRefs","ref"],"sources":["../../src/components/mask-input.tsx"],"sourcesContent":["import { type Modify, type Replacement, type Track, useMask } from '../hooks/use-mask'\nimport { composeRefs } from '../lib/compose-refs'\nimport { Input, type InputProps } from './input'\n\nexport type MaskInputProps = InputProps & {\n /** Mask pattern. `_` is a digit, `#` a letter, `*` any character; everything else is fixed. */\n mask: string\n /** Custom tokens for `mask`, mapping each character to the pattern it accepts. */\n replacement?: string | Replacement\n /** Shows the whole mask, with placeholders for the characters not typed yet. */\n showMask?: boolean\n /** Keeps each character in its position when another one is deleted, instead of shifting the rest left. */\n separate?: boolean\n /** Changes the typed or pasted text before it is masked. */\n track?: Track\n /** Changes the mask options on each input, for masks that depend on the current value. */\n modify?: Modify\n}\n\nfunction MaskInput({ ref, mask, replacement, showMask, separate, track, modify, ...props }: MaskInputProps) {\n const maskRef = useMask({ mask, replacement, showMask, separate, track, modify })\n\n return <Input data-slot=\"mask-input\" {...props} ref={composeRefs<HTMLInputElement>(ref, maskRef)} />\n}\n\nexport { MaskInput }\n"],"mappings":"uNAmBA,SAAS,UAAU,CAAE,MAAK,OAAM,cAAa,WAAU,WAAU,QAAO,SAAQ,GAAGA,GAAyB,CAC1G,IAAMC,EAAUC,EAAQ,CAAE,OAAM,cAAa,WAAU,WAAU,QAAO,QAAO,CAAC,EAEhF,MAAO,kBAACC,EAAD,CAAO,YAAU,aAAa,GAAIH,EAAO,IAAKI,EAA8BC,EAAKJ,CAAO,CAAI,CAAA,CACrG"}
1
+ {"version":3,"file":"mask-input.js","names":["props","maskRef","useMask","Input","composeRefs","ref"],"sources":["../../src/components/mask-input.tsx"],"sourcesContent":["import { type Modify, type Replacement, type Track, useMask } from '../hooks/use-mask'\nimport { composeRefs } from '../lib/compose-refs'\nimport { Input, type InputProps } from './input'\n\nexport type MaskInputProps = InputProps & {\n /** Mask pattern. `_` is a digit, `#` a letter, `*` any character; everything else is fixed. */\n mask: string\n /** Custom tokens for `mask`, mapping each character to the pattern it accepts. */\n replacement?: string | Replacement\n /** Shows the whole mask, with placeholders for the characters not typed yet. */\n showMask?: boolean\n /** Keeps each character in its position when another one is deleted, instead of shifting the rest left. */\n separate?: boolean\n /** Changes the typed or pasted text before it is masked. */\n track?: Track\n /** Changes the mask options on each input, for masks that depend on the current value. */\n modify?: Modify\n}\n\nfunction MaskInput({ ref, mask, replacement, showMask, separate, track, modify, ...props }: MaskInputProps) {\n const maskRef = useMask({ mask, replacement, showMask, separate, track, modify })\n\n return <Input data-slot=\"mask-input\" {...props} ref={composeRefs<HTMLInputElement>(ref, maskRef)} />\n}\n\nexport { MaskInput }\n"],"mappings":"A,uNAmBA,SAAS,UAAU,CAAE,MAAK,OAAM,cAAa,WAAU,WAAU,QAAO,SAAQ,GAAGA,GAAyB,CAC1G,IAAMC,EAAUC,EAAQ,CAAE,OAAM,cAAa,WAAU,WAAU,QAAO,QAAO,CAAC,EAEhF,MAAO,kBAACC,EAAD,CAAO,YAAU,aAAa,GAAIH,EAAO,IAAKI,EAA8BC,EAAKJ,CAAO,CAAI,CAAA,CACrG,C"}
@@ -0,0 +1,21 @@
1
+ import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
+ import * as React from "react";
3
+ import { ReactNode } from "react";
4
+ import { VariantProps } from "class-variance-authority";
5
+ import { Meter as Meter$1 } from "@base-ui/react/meter";
6
+ declare const meterVariants: (props?: ({
7
+ size?: "lg" | "md" | "sm" | null | undefined;
8
+ color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ export type MeterProps = Omit<React.ComponentProps<typeof Meter$1.Root>, 'render'> & VariantProps<typeof meterVariants> & {
11
+ /** Label rendered above the bar; it also names the meter for assistive technology. */
12
+ label?: ReactNode;
13
+ /**
14
+ * Shows the formatted value above the bar, at the end of the label row.
15
+ * @default false
16
+ */
17
+ showValue?: boolean;
18
+ };
19
+ declare function Meter({ className, size, color, label, showValue, children, ...props }: MeterProps): React.JSX.Element;
20
+ export { Meter, meterVariants };
21
+ //# sourceMappingURL=meter.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{progressColorVariants as e}from"../lib/progress.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{Meter as o}from"@base-ui/react/meter";const s=a(`relative flex w-full items-center overflow-x-hidden rounded-full bg-muted`,{variants:{size:{sm:`h-0.5`,md:`h-1`,lg:`h-1.5`},color:e},defaultVariants:{size:`md`,color:`primary`}});function Meter({className:e,size:a=`md`,color:c=`primary`,label:l,showValue:u=!1,children:d,...f}){let p=l!==void 0||u;return/* @__PURE__ */ i(o.Root,{"data-slot":`meter`,"data-size":a,"data-color":c,className:`flex w-full flex-col gap-1.5`,...f,children:[p&&/* @__PURE__ */ i(`div`,{"data-slot":`meter-header`,className:`flex items-center justify-between gap-2 text-sm`,children:[l!==void 0&&/* @__PURE__ */ r(o.Label,{"data-slot":`meter-label`,className:`font-medium`,children:l}),u&&/* @__PURE__ */ r(o.Value,{"data-slot":`meter-value`,className:`ml-auto text-muted-foreground tabular-nums`})]}),/* @__PURE__ */ r(o.Track,{"data-slot":`meter-track`,className:r=>t(s({size:a,color:c}),n(e,r)),children:/* @__PURE__ */ r(o.Indicator,{"data-slot":`meter-indicator`,className:`h-full bg-(--progress-color) transition-all`})}),d]})}export{Meter,s as meterVariants};
2
+ //# sourceMappingURL=meter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.js","names":["MeterPrimitive","resolveClassName","Meter$1","meterVariants","cva","progressColorVariants","props","hasHeader","label","showValue","size","color","cn","className","state","children"],"sources":["../../src/components/meter.tsx"],"sourcesContent":["import type * as React from 'react'\nimport type { ReactNode } from 'react'\n\nimport { Meter as MeterPrimitive } from '@base-ui/react/meter'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst meterVariants = cva('relative flex w-full items-center overflow-x-hidden rounded-full bg-muted', {\n variants: {\n size: {\n sm: 'h-0.5',\n md: 'h-1',\n lg: 'h-1.5'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type MeterProps = Omit<React.ComponentProps<typeof MeterPrimitive.Root>, 'render'> &\n VariantProps<typeof meterVariants> & {\n /** Label rendered above the bar; it also names the meter for assistive technology. */\n label?: ReactNode\n /**\n * Shows the formatted value above the bar, at the end of the label row.\n * @default false\n */\n showValue?: boolean\n }\n\nfunction Meter({\n className,\n size = 'md',\n color = 'primary',\n label,\n showValue = false,\n children,\n ...props\n}: MeterProps) {\n const hasHeader = label !== undefined || showValue\n\n return (\n <MeterPrimitive.Root\n data-slot=\"meter\"\n data-size={size}\n data-color={color}\n className=\"flex w-full flex-col gap-1.5\"\n {...props}\n >\n {hasHeader && (\n <div data-slot=\"meter-header\" className=\"flex items-center justify-between gap-2 text-sm\">\n {label !== undefined && (\n <MeterPrimitive.Label data-slot=\"meter-label\" className=\"font-medium\">\n {label}\n </MeterPrimitive.Label>\n )}\n {showValue && (\n <MeterPrimitive.Value data-slot=\"meter-value\" className=\"ml-auto text-muted-foreground tabular-nums\" />\n )}\n </div>\n )}\n <MeterPrimitive.Track\n data-slot=\"meter-track\"\n className={(state) => cn(meterVariants({ size, color }), resolveClassName(className, state))}\n >\n <MeterPrimitive.Indicator data-slot=\"meter-indicator\" className=\"h-full bg-(--progress-color) transition-all\" />\n </MeterPrimitive.Track>\n {children}\n </MeterPrimitive.Root>\n )\n}\n\nexport { Meter, meterVariants }\n"],"mappings":"A,4UAUA,MAAMG,EAAgBC,EAAI,4EAA6E,CACrG,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,MACJ,GAAI,OACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAaD,SAAS,MAAM,CACb,YACA,OAAO,KACP,QAAQ,UACR,QACA,YAAY,GACZ,WACA,GAAGC,GACU,CACb,IAAMC,EAAYC,IAAU,IAAA,IAAaC,EAEzC,MACE,kBAACT,EAAe,KAAhB,CACE,YAAU,QACV,YAAWU,EACX,aAAYC,EACZ,UAAU,+BACV,GAAIL,EALN,SAAA,CAOGC,GACC,kBAAC,MAAD,CAAK,YAAU,eAAe,UAAU,kDAAxC,SAAA,CACGC,IAAU,IAAA,IACT,kBAACR,EAAe,MAAhB,CAAsB,YAAU,cAAc,UAAU,cACrD,SAAAQ,CACmB,CAAA,EAEvBC,GACC,kBAACT,EAAe,MAAhB,CAAsB,YAAU,cAAc,UAAU,4CAA8C,CAAA,CAErG,C,GAEP,kBAACA,EAAe,MAAhB,CACE,YAAU,cACV,UAAY,GAAUY,EAAGT,EAAc,CAAE,OAAM,OAAM,CAAC,EAAGF,EAAiBY,EAAWC,CAAK,CAAC,EAE3F,SAAA,kBAACd,EAAe,UAAhB,CAA0B,YAAU,kBAAkB,UAAU,6CAA+C,CAAA,CAC3F,CAAA,EACrBe,CACkB,C,EAEzB,C"}
@@ -1,6 +1,5 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
- //#region src/components/native-select.d.ts
4
3
  export type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {
5
4
  /**
6
5
  * Height of the select.
@@ -13,6 +12,5 @@ export type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>;
13
12
  declare function NativeSelect({ className, id, size, 'aria-invalid': ariaInvalid, ...props }: NativeSelectProps): React.JSX.Element;
14
13
  declare function NativeSelectOption({ ...props }: NativeSelectOptionProps): React.JSX.Element;
15
14
  declare function NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps): React.JSX.Element;
16
- //#endregion
17
15
  export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
18
16
  //# sourceMappingURL=native-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-select.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className","size","IconSelector"],"sources":["../../src/components/native-select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconSelector } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n /**\n * Height of the select.\n * @default 'md'\n */\n size?: 'sm' | 'md'\n}\n\nexport type NativeSelectOptionProps = React.ComponentProps<'option'>\n\nexport type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>\n\nfunction NativeSelect({ className, id, size = 'md', 'aria-invalid': ariaInvalid, ...props }: NativeSelectProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <div\n className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"native-select\"\n data-size={size}\n className={cn(\n 'border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-placeholder selection:bg-primary selection:text-primary-foreground',\n 'data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5',\n 'disabled:pointer-events-none disabled:cursor-not-allowed'\n )}\n {...props}\n />\n <IconSelector\n className=\"text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n )\n}\n\nfunction NativeSelectOption({ ...props }: NativeSelectOptionProps) {\n return <option data-slot=\"native-select-option\" {...props} />\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps) {\n return <optgroup data-slot=\"native-select-optgroup\" className={cn(className)} {...props} />\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption }\n"],"mappings":"sPAmBA,SAAS,aAAa,CAAE,YAAW,KAAI,OAAO,KAAM,eAAgBA,EAAa,GAAGC,GAA4B,CAC9G,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,MAAD,CACE,UAAWO,EAAG,sEAAuEC,CAAS,EAC9F,YAAU,wBACV,YAAWC,EAHb,SAAA,CAKE,kBAAC,SAAD,CACE,GAAIP,EACJ,eAAcG,EACd,YAAU,gBACV,YAAWI,EACX,UAAWF,EACT,+LACA,4EACA,qKACA,sFACA,+FACA,0DACF,EACA,GAAIN,CACL,CAAA,EACD,kBAACS,EAAD,CACE,UAAU,2GACV,cAAY,OACZ,YAAU,oBACX,CAAA,CACE,GAET,CAEA,SAAS,mBAAmB,CAAE,GAAGT,GAAkC,CACjE,MAAO,kBAAC,SAAD,CAAQ,YAAU,uBAAuB,GAAIA,CAAQ,CAAA,CAC9D,CAEA,SAAS,qBAAqB,CAAE,YAAW,GAAGA,GAAoC,CAChF,MAAO,kBAAC,WAAD,CAAU,YAAU,yBAAyB,UAAWM,EAAGC,CAAS,EAAG,GAAIP,CAAQ,CAAA,CAC5F"}
1
+ {"version":3,"file":"native-select.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className","size","IconSelector"],"sources":["../../src/components/native-select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconSelector } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n /**\n * Height of the select.\n * @default 'md'\n */\n size?: 'sm' | 'md'\n}\n\nexport type NativeSelectOptionProps = React.ComponentProps<'option'>\n\nexport type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>\n\nfunction NativeSelect({ className, id, size = 'md', 'aria-invalid': ariaInvalid, ...props }: NativeSelectProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <div\n className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"native-select\"\n data-size={size}\n className={cn(\n 'border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-placeholder selection:bg-primary selection:text-primary-foreground',\n 'data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5',\n 'disabled:pointer-events-none disabled:cursor-not-allowed'\n )}\n {...props}\n />\n <IconSelector\n className=\"text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n )\n}\n\nfunction NativeSelectOption({ ...props }: NativeSelectOptionProps) {\n return <option data-slot=\"native-select-option\" {...props} />\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps) {\n return <optgroup data-slot=\"native-select-optgroup\" className={cn(className)} {...props} />\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption }\n"],"mappings":"A,sPAmBA,SAAS,aAAa,CAAE,YAAW,KAAI,OAAO,KAAM,eAAgBA,EAAa,GAAGC,GAA4B,CAC9G,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,MAAD,CACE,UAAWO,EAAG,sEAAuEC,CAAS,EAC9F,YAAU,wBACV,YAAWC,EAHb,SAAA,CAKE,kBAAC,SAAD,CACE,GAAIP,EACJ,eAAcG,EACd,YAAU,gBACV,YAAWI,EACX,UAAWF,EACT,+LACA,4EACA,qKACA,sFACA,+FACA,0DACF,EACA,GAAIN,CACL,CAAA,EACD,kBAACS,EAAD,CACE,UAAU,2GACV,cAAY,OACZ,YAAU,oBACX,CAAA,CACE,C,EAET,CAEA,SAAS,mBAAmB,CAAE,GAAGT,GAAkC,CACjE,MAAO,kBAAC,SAAD,CAAQ,YAAU,uBAAuB,GAAIA,CAAQ,CAAA,CAC9D,CAEA,SAAS,qBAAqB,CAAE,YAAW,GAAGA,GAAoC,CAChF,MAAO,kBAAC,WAAD,CAAU,YAAU,yBAAyB,UAAWM,EAAGC,CAAS,EAAG,GAAIP,CAAQ,CAAA,CAC5F,C"}
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import * as React from "react";
4
4
  import { NavigationMenu as NavigationMenu$1 } from "@base-ui/react/navigation-menu";
5
- //#region src/components/navigation-menu.d.ts
6
5
  export type NavigationMenuProps = Omit<React.ComponentProps<typeof NavigationMenu$1.Root>, 'render'> & Pick<React.ComponentProps<typeof NavigationMenu$1.Positioner>, 'align'>;
7
6
  export type NavigationMenuListProps = AsChildPrimitiveProps<typeof NavigationMenu$1.List>;
8
7
  export type NavigationMenuItemProps = AsChildPrimitiveProps<typeof NavigationMenu$1.Item>;
@@ -20,6 +19,5 @@ declare function NavigationMenuContent({ className, asChild, children, ...props
20
19
  declare function NavigationMenuPositioner({ className, side, sideOffset, align, alignOffset, keepMounted, ...props }: NavigationMenuPositionerProps): React.JSX.Element;
21
20
  declare function NavigationMenuLink({ className, asChild, children, ...props }: NavigationMenuLinkProps): React.JSX.Element;
22
21
  declare function NavigationMenuIndicator({ className, asChild, children, ...props }: NavigationMenuIndicatorProps): React.JSX.Element;
23
- //#endregion
24
22
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, navigationMenuTriggerStyle };
25
23
  //# sourceMappingURL=navigation-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.js","names":["NavigationMenuPrimitive","resolveClassName","NavigationMenu$1","props","cn","className","state","children","toAsChildRenderProps","asChild","navigationMenuTriggerStyle","cva","Fragment","IconChevronDown"],"sources":["../../src/components/navigation-menu.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { NavigationMenu as NavigationMenuPrimitive } from '@base-ui/react/navigation-menu'\nimport { IconChevronDown } from '@tabler/icons-react'\nimport { cva } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type NavigationMenuProps = Omit<React.ComponentProps<typeof NavigationMenuPrimitive.Root>, 'render'> &\n Pick<React.ComponentProps<typeof NavigationMenuPrimitive.Positioner>, 'align'>\n\nexport type NavigationMenuListProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.List>\n\nexport type NavigationMenuItemProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Item>\n\nexport type NavigationMenuTriggerProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Trigger>\n\nexport type NavigationMenuContentProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Content>\n\nexport type NavigationMenuPositionerProps = Omit<\n React.ComponentProps<typeof NavigationMenuPrimitive.Positioner>,\n 'render'\n> &\n Pick<React.ComponentProps<typeof NavigationMenuPrimitive.Portal>, 'keepMounted'>\n\nexport type NavigationMenuLinkProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Link>\n\nexport type NavigationMenuIndicatorProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Icon>\n\nfunction NavigationMenu({ align = 'start', className, children, ...props }: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n className={(state) =>\n cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n {children}\n <NavigationMenuPositioner align={align} />\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({ className, asChild, children, ...props }: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={(state) =>\n cn('group flex flex-1 list-none items-center justify-center gap-0', resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuItem({ className, asChild, children, ...props }: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={(state) => cn('relative', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted'\n)\n\nfunction NavigationMenuTrigger({ className, children, asChild, ...props }: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={(state) => cn(navigationMenuTriggerStyle(), 'group', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <>\n {' '}\n <IconChevronDown\n className={cn(\n 'relative top-px ml-1 size-3 transition duration-300',\n 'group-data-popup-open/navigation-menu-trigger:rotate-180',\n 'group-data-open/navigation-menu-trigger:rotate-180'\n )}\n aria-hidden=\"true\"\n />\n </>\n )}\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({ className, asChild, children, ...props }: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={(state) =>\n cn(\n 'h-full w-auto p-1 ease-[cubic-bezier(0.22,1,0.36,1)]',\n 'transition-[opacity,transform,translate] duration-[0.35s]',\n 'data-starting-style:opacity-0 data-ending-style:opacity-0',\n 'data-[activation-direction=left]:data-starting-style:-translate-x-1/2 data-[activation-direction=right]:data-starting-style:translate-x-1/2',\n 'data-[activation-direction=left]:data-ending-style:translate-x-1/2 data-[activation-direction=right]:data-ending-style:-translate-x-1/2',\n '**:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuPositioner({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n keepMounted,\n ...props\n}: NavigationMenuPositionerProps) {\n return (\n <NavigationMenuPrimitive.Portal keepMounted={keepMounted}>\n <NavigationMenuPrimitive.Positioner\n data-slot=\"navigation-menu-positioner\"\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n className={(state) =>\n cn(\n 'isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width)',\n 'transition-[top,left,right,bottom] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <NavigationMenuPrimitive.Popup\n data-slot=\"navigation-menu-popup\"\n className={cn(\n 'relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-lg outline-none',\n 'bg-popover text-popover-foreground shadow ring-1 ring-foreground/10',\n 'transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)]',\n 'data-starting-style:scale-90 data-starting-style:opacity-0',\n 'data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150'\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className=\"relative size-full overflow-hidden\"\n />\n </NavigationMenuPrimitive.Popup>\n </NavigationMenuPrimitive.Positioner>\n </NavigationMenuPrimitive.Portal>\n )\n}\n\nfunction NavigationMenuLink({ className, asChild, children, ...props }: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={(state) =>\n cn(\n \"flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuIndicator({ className, asChild, children, ...props }: NavigationMenuIndicatorProps) {\n return (\n <NavigationMenuPrimitive.Icon\n data-slot=\"navigation-menu-indicator\"\n className={(state) =>\n cn('top-full z-1 flex h-1.5 items-end justify-center overflow-hidden', resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />}\n </NavigationMenuPrimitive.Icon>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuPositioner,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"navigation-menu.js","names":["NavigationMenuPrimitive","resolveClassName","NavigationMenu$1","props","cn","className","state","children","toAsChildRenderProps","asChild","navigationMenuTriggerStyle","cva","Fragment","IconChevronDown"],"sources":["../../src/components/navigation-menu.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { NavigationMenu as NavigationMenuPrimitive } from '@base-ui/react/navigation-menu'\nimport { IconChevronDown } from '@tabler/icons-react'\nimport { cva } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type NavigationMenuProps = Omit<React.ComponentProps<typeof NavigationMenuPrimitive.Root>, 'render'> &\n Pick<React.ComponentProps<typeof NavigationMenuPrimitive.Positioner>, 'align'>\n\nexport type NavigationMenuListProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.List>\n\nexport type NavigationMenuItemProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Item>\n\nexport type NavigationMenuTriggerProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Trigger>\n\nexport type NavigationMenuContentProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Content>\n\nexport type NavigationMenuPositionerProps = Omit<\n React.ComponentProps<typeof NavigationMenuPrimitive.Positioner>,\n 'render'\n> &\n Pick<React.ComponentProps<typeof NavigationMenuPrimitive.Portal>, 'keepMounted'>\n\nexport type NavigationMenuLinkProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Link>\n\nexport type NavigationMenuIndicatorProps = AsChildPrimitiveProps<typeof NavigationMenuPrimitive.Icon>\n\nfunction NavigationMenu({ align = 'start', className, children, ...props }: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n className={(state) =>\n cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n {children}\n <NavigationMenuPositioner align={align} />\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({ className, asChild, children, ...props }: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={(state) =>\n cn('group flex flex-1 list-none items-center justify-center gap-0', resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuItem({ className, asChild, children, ...props }: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={(state) => cn('relative', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted'\n)\n\nfunction NavigationMenuTrigger({ className, children, asChild, ...props }: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={(state) => cn(navigationMenuTriggerStyle(), 'group', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <>\n {' '}\n <IconChevronDown\n className={cn(\n 'relative top-px ml-1 size-3 transition duration-300',\n 'group-data-popup-open/navigation-menu-trigger:rotate-180',\n 'group-data-open/navigation-menu-trigger:rotate-180'\n )}\n aria-hidden=\"true\"\n />\n </>\n )}\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({ className, asChild, children, ...props }: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={(state) =>\n cn(\n 'h-full w-auto p-1 ease-[cubic-bezier(0.22,1,0.36,1)]',\n 'transition-[opacity,transform,translate] duration-[0.35s]',\n 'data-starting-style:opacity-0 data-ending-style:opacity-0',\n 'data-[activation-direction=left]:data-starting-style:-translate-x-1/2 data-[activation-direction=right]:data-starting-style:translate-x-1/2',\n 'data-[activation-direction=left]:data-ending-style:translate-x-1/2 data-[activation-direction=right]:data-ending-style:-translate-x-1/2',\n '**:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuPositioner({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n keepMounted,\n ...props\n}: NavigationMenuPositionerProps) {\n return (\n <NavigationMenuPrimitive.Portal keepMounted={keepMounted}>\n <NavigationMenuPrimitive.Positioner\n data-slot=\"navigation-menu-positioner\"\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n className={(state) =>\n cn(\n 'isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width)',\n 'transition-[top,left,right,bottom] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <NavigationMenuPrimitive.Popup\n data-slot=\"navigation-menu-popup\"\n className={cn(\n 'relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-lg outline-none',\n 'bg-popover text-popover-foreground shadow ring-1 ring-foreground/10',\n 'transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)]',\n 'data-starting-style:scale-90 data-starting-style:opacity-0',\n 'data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150'\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className=\"relative size-full overflow-hidden\"\n />\n </NavigationMenuPrimitive.Popup>\n </NavigationMenuPrimitive.Positioner>\n </NavigationMenuPrimitive.Portal>\n )\n}\n\nfunction NavigationMenuLink({ className, asChild, children, ...props }: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={(state) =>\n cn(\n \"flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction NavigationMenuIndicator({ className, asChild, children, ...props }: NavigationMenuIndicatorProps) {\n return (\n <NavigationMenuPrimitive.Icon\n data-slot=\"navigation-menu-indicator\"\n className={(state) =>\n cn('top-full z-1 flex h-1.5 items-end justify-center overflow-hidden', resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />}\n </NavigationMenuPrimitive.Icon>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuPositioner,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle\n}\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import * as React from "react";
4
4
  import { ReactNode } from "react";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import { NumberField as NumberField$1 } from "@base-ui/react/number-field";
7
- //#region src/components/number-field.d.ts
8
7
  declare const numberFieldGroupVariants: (props?: ({
9
8
  size?: "lg" | "md" | "sm" | null | undefined;
10
9
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -35,6 +34,5 @@ export type NumberFieldScrubAreaProps = Omit<React.ComponentProps<typeof NumberF
35
34
  label: string;
36
35
  };
37
36
  declare function NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps): React.JSX.Element;
38
- //#endregion
39
37
  export { NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldScrubArea };
40
38
  //# sourceMappingURL=number-field.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{Label as r}from"./label.js";import{useFieldControlId as i,useFieldInvalid as a}from"./field.js";import{IconMinus as o,IconPlus as s}from"@tabler/icons-react";import{createContext as c,useContext as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{NumberField as m}from"@base-ui/react/number-field";const h=c(null),g=p([`relative flex w-full justify-between rounded-lg border border-input bg-transparent transition-colors dark:bg-input/30`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`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 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40`],{variants:{size:{sm:`h-7 text-sm`,md:`h-8 text-sm`,lg:`h-9 text-sm`}},defaultVariants:{size:`md`}}),_=p(`relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent`,{variants:{size:{sm:`px-1.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`px-2 [&_svg:not([class*='size-'])]:size-4`,lg:`px-2.5 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{size:`md`}}),v=p(`w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none`,{variants:{size:{sm:`px-2 py-0.5`,md:`px-2.5 py-1`,lg:`px-2.5 py-1.5`}},defaultVariants:{size:`md`}});function NumberField({id:e,className:r,size:o=`md`,"aria-invalid":s,...c}){let l=u(),f=i(e),p=a(s),g=f??l,_=o??`md`;return/* @__PURE__ */ d(h.Provider,{value:{fieldId:g,size:_,invalid:p},children:/* @__PURE__ */ d(m.Root,{className:e=>t(`flex w-full flex-col items-start gap-2`,n(r,e)),"data-size":_,"data-slot":`number-field`,...c})})}function NumberFieldGroup({className:r,size:i,asChild:a,children:o,...s}){let c=l(h);if(!c)throw Error(`NumberFieldGroup must be used within a NumberField component.`);let u=i??c.size;return/* @__PURE__ */ d(m.Group,{className:e=>t(g({size:u}),n(r,e)),"data-slot":`number-field-group`,...s,...e(a,o)})}function NumberFieldDecrement({className:r,size:i,children:a,asChild:s,...c}){let u=l(h);if(!u)throw Error(`NumberFieldDecrement must be used within a NumberField component.`);let f=i??u.size;return/* @__PURE__ */ d(m.Decrement,{className:e=>t(_({size:f}),`rounded-s-lg border-e-0`,n(r,e)),"data-slot":`number-field-decrement`,...c,...e(s,a),children:!s&&(a??/* @__PURE__ */ d(o,{}))})}function NumberFieldIncrement({className:r,size:i,children:a,asChild:o,...c}){let u=l(h);if(!u)throw Error(`NumberFieldIncrement must be used within a NumberField component.`);let f=i??u.size;return/* @__PURE__ */ d(m.Increment,{className:e=>t(_({size:f}),`rounded-e-lg border-s-0`,n(r,e)),"data-slot":`number-field-increment`,...c,...e(o,a),children:!o&&(a??/* @__PURE__ */ d(s,{}))})}function NumberFieldInput({id:e,className:r,size:i,...a}){let o=l(h);if(!o)throw Error(`NumberFieldInput must be used within a NumberField component.`);let s=i??o.size;return/* @__PURE__ */ d(m.Input,{id:e??o.fieldId,"aria-invalid":o.invalid,className:e=>t(v({size:s}),n(r,e)),"data-slot":`number-field-input`,...a})}function NumberFieldScrubArea({className:e,label:i,...a}){let o=l(h);if(!o)throw Error(`NumberFieldScrubArea must be used within a NumberField component for accessibility.`);return/* @__PURE__ */ f(m.ScrubArea,{className:r=>t(`flex cursor-ew-resize`,n(e,r)),"data-slot":`number-field-scrub-area`,...a,children:[/* @__PURE__ */ d(r,{className:`cursor-ew-resize`,htmlFor:o.fieldId,children:i}),/* @__PURE__ */ d(m.ScrubAreaCursor,{className:`drop-shadow-[0_1px_1px_#0008] filter`,children:/* @__PURE__ */ d(CursorGrowIcon,{})})]})}function CursorGrowIcon(e){return/* @__PURE__ */ d(`svg`,{"aria-hidden":`true`,fill:`black`,height:`14`,stroke:`white`,viewBox:`0 0 24 14`,width:`26`,xmlns:`http://www.w3.org/2000/svg`,...e,children:/* @__PURE__ */ d(`path`,{d:`M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z`})})}export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{useFieldControlId as r,useFieldInvalid as i}from"./field.js";import{Label as a}from"./label.js";import{IconMinus as o,IconPlus as s}from"@tabler/icons-react";import{createContext as c,useContext as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{NumberField as m}from"@base-ui/react/number-field";const h=c(null),g=p([`relative flex w-full justify-between rounded-lg border border-input bg-transparent transition-colors dark:bg-input/30`,`data-disabled:pointer-events-none data-disabled:opacity-50`,`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 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40`],{variants:{size:{sm:`h-7 text-sm`,md:`h-8 text-sm`,lg:`h-9 text-sm`}},defaultVariants:{size:`md`}}),_=p(`relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent`,{variants:{size:{sm:`px-1.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`px-2 [&_svg:not([class*='size-'])]:size-4`,lg:`px-2.5 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{size:`md`}}),v=p(`w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none`,{variants:{size:{sm:`px-2 py-0.5`,md:`px-2.5 py-1`,lg:`px-2.5 py-1.5`}},defaultVariants:{size:`md`}});function NumberField({id:e,className:a,size:o=`md`,"aria-invalid":s,...c}){let l=u(),f=r(e),p=i(s),g=f??l,_=o??`md`;return/* @__PURE__ */ d(h.Provider,{value:{fieldId:g,size:_,invalid:p},children:/* @__PURE__ */ d(m.Root,{className:e=>t(`flex w-full flex-col items-start gap-2`,n(a,e)),"data-size":_,"data-slot":`number-field`,...c})})}function NumberFieldGroup({className:r,size:i,asChild:a,children:o,...s}){let c=l(h);if(!c)throw Error(`NumberFieldGroup must be used within a NumberField component.`);let u=i??c.size;return/* @__PURE__ */ d(m.Group,{className:e=>t(g({size:u}),n(r,e)),"data-slot":`number-field-group`,...s,...e(a,o)})}function NumberFieldDecrement({className:r,size:i,children:a,asChild:s,...c}){let u=l(h);if(!u)throw Error(`NumberFieldDecrement must be used within a NumberField component.`);let f=i??u.size;return/* @__PURE__ */ d(m.Decrement,{className:e=>t(_({size:f}),`rounded-s-lg border-e-0`,n(r,e)),"data-slot":`number-field-decrement`,...c,...e(s,a),children:!s&&(a??/* @__PURE__ */ d(o,{}))})}function NumberFieldIncrement({className:r,size:i,children:a,asChild:o,...c}){let u=l(h);if(!u)throw Error(`NumberFieldIncrement must be used within a NumberField component.`);let f=i??u.size;return/* @__PURE__ */ d(m.Increment,{className:e=>t(_({size:f}),`rounded-e-lg border-s-0`,n(r,e)),"data-slot":`number-field-increment`,...c,...e(o,a),children:!o&&(a??/* @__PURE__ */ d(s,{}))})}function NumberFieldInput({id:e,className:r,size:i,...a}){let o=l(h);if(!o)throw Error(`NumberFieldInput must be used within a NumberField component.`);let s=i??o.size;return/* @__PURE__ */ d(m.Input,{id:e??o.fieldId,"aria-invalid":o.invalid,className:e=>t(v({size:s}),n(r,e)),"data-slot":`number-field-input`,...a})}function NumberFieldScrubArea({className:e,label:r,...i}){let o=l(h);if(!o)throw Error(`NumberFieldScrubArea must be used within a NumberField component for accessibility.`);return/* @__PURE__ */ f(m.ScrubArea,{className:r=>t(`flex cursor-ew-resize`,n(e,r)),"data-slot":`number-field-scrub-area`,...i,children:[/* @__PURE__ */ d(a,{className:`cursor-ew-resize`,htmlFor:o.fieldId,children:r}),/* @__PURE__ */ d(m.ScrubAreaCursor,{className:`drop-shadow-[0_1px_1px_#0008] filter`,children:/* @__PURE__ */ d(CursorGrowIcon,{})})]})}function CursorGrowIcon(e){return/* @__PURE__ */ d(`svg`,{"aria-hidden":`true`,fill:`black`,height:`14`,stroke:`white`,viewBox:`0 0 24 14`,width:`26`,xmlns:`http://www.w3.org/2000/svg`,...e,children:/* @__PURE__ */ d(`path`,{d:`M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z`})})}export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea};
2
2
  //# sourceMappingURL=number-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.js","names":["NumberFieldPrimitive","resolveClassName","NumberField$1","NumberFieldContext","createContext","numberFieldGroupVariants","cva","numberFieldButtonVariants","numberFieldInputVariants","ariaInvalid","props","generatedId","useId","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","fieldId","sizeValue","size","cn","className","state","sizeProp","context","useContext","toAsChildRenderProps","asChild","children","IconMinus","IconPlus","Label","label"],"sources":["../../src/components/number-field.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { NumberField as NumberFieldPrimitive } from '@base-ui/react/number-field'\nimport { IconMinus, IconPlus } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid } from './field'\nimport { Label } from './label'\n\nconst NumberFieldContext = createContext<{\n fieldId: string\n size: 'sm' | 'md' | 'lg'\n invalid: React.AriaAttributes['aria-invalid']\n} | null>(null)\n\nconst numberFieldGroupVariants = cva(\n [\n 'relative flex w-full justify-between rounded-lg border border-input bg-transparent transition-colors dark:bg-input/30',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40'\n ],\n {\n variants: {\n size: {\n sm: 'h-7 text-sm',\n md: 'h-8 text-sm',\n lg: 'h-9 text-sm'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldButtonVariants = cva(\n 'relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent',\n {\n variants: {\n size: {\n sm: \"px-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"px-2 [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-2.5 [&_svg:not([class*='size-'])]:size-4\"\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldInputVariants = cva('w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none', {\n variants: {\n size: {\n sm: 'px-2 py-0.5',\n md: 'px-2.5 py-1',\n lg: 'px-2.5 py-1.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type NumberFieldProps = Omit<NumberFieldPrimitive.Root.Props, 'render'> &\n VariantProps<typeof numberFieldGroupVariants>\n\nfunction NumberField({ id, className, size = 'md', 'aria-invalid': ariaInvalid, ...props }: NumberFieldProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n const fieldId = fieldControlId ?? generatedId\n const sizeValue = size ?? 'md'\n\n return (\n <NumberFieldContext.Provider value={{ fieldId, size: sizeValue, invalid }}>\n <NumberFieldPrimitive.Root\n className={(state) => cn('flex w-full flex-col items-start gap-2', resolveClassName(className, state))}\n data-size={sizeValue}\n data-slot=\"number-field\"\n {...props}\n />\n </NumberFieldContext.Provider>\n )\n}\n\nexport type NumberFieldGroupProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Group> &\n Partial<VariantProps<typeof numberFieldGroupVariants>>\n\nfunction NumberFieldGroup({ className, size: sizeProp, asChild, children, ...props }: NumberFieldGroupProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldGroup must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Group\n className={(state) => cn(numberFieldGroupVariants({ size }), resolveClassName(className, state))}\n data-slot=\"number-field-group\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport type NumberFieldDecrementProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Decrement> &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n /** Replaces the default minus icon. */\n children?: React.ReactNode\n }\n\nfunction NumberFieldDecrement({ className, size: sizeProp, children, asChild, ...props }: NumberFieldDecrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldDecrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n return (\n <NumberFieldPrimitive.Decrement\n className={(state) =>\n cn(numberFieldButtonVariants({ size }), 'rounded-s-lg border-e-0', resolveClassName(className, state))\n }\n data-slot=\"number-field-decrement\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && (children ?? <IconMinus />)}\n </NumberFieldPrimitive.Decrement>\n )\n}\n\nexport type NumberFieldIncrementProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Increment> &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n /** Replaces the default plus icon. */\n children?: ReactNode\n }\n\nfunction NumberFieldIncrement({ className, size: sizeProp, children, asChild, ...props }: NumberFieldIncrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldIncrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n return (\n <NumberFieldPrimitive.Increment\n className={(state) =>\n cn(numberFieldButtonVariants({ size }), 'rounded-e-lg border-s-0', resolveClassName(className, state))\n }\n data-slot=\"number-field-increment\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && (children ?? <IconPlus />)}\n </NumberFieldPrimitive.Increment>\n )\n}\n\nexport type NumberFieldInputProps = Omit<NumberFieldPrimitive.Input.Props, 'render'> &\n Partial<VariantProps<typeof numberFieldInputVariants>>\n\nfunction NumberFieldInput({ id, className, size: sizeProp, ...props }: NumberFieldInputProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldInput must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Input\n id={id ?? context.fieldId}\n aria-invalid={context.invalid}\n className={(state) => cn(numberFieldInputVariants({ size }), resolveClassName(className, state))}\n data-slot=\"number-field-input\"\n {...props}\n />\n )\n}\n\nexport type NumberFieldScrubAreaProps = Omit<React.ComponentProps<typeof NumberFieldPrimitive.ScrubArea>, 'render'> & {\n /** Visible label; dragging it changes the value. */\n label: string\n}\n\nfunction NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldScrubArea must be used within a NumberField component for accessibility.')\n }\n\n return (\n <NumberFieldPrimitive.ScrubArea\n className={(state) => cn('flex cursor-ew-resize', resolveClassName(className, state))}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n <Label className=\"cursor-ew-resize\" htmlFor={context.fieldId}>\n {label}\n </Label>\n <NumberFieldPrimitive.ScrubAreaCursor className=\"drop-shadow-[0_1px_1px_#0008] filter\">\n <CursorGrowIcon />\n </NumberFieldPrimitive.ScrubAreaCursor>\n </NumberFieldPrimitive.ScrubArea>\n )\n}\n\nfunction CursorGrowIcon(props: React.ComponentProps<'svg'>) {\n return (\n <svg\n aria-hidden=\"true\"\n fill=\"black\"\n height=\"14\"\n stroke=\"white\"\n viewBox=\"0 0 24 14\"\n width=\"26\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z\" />\n </svg>\n )\n}\n\nexport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"number-field.js","names":["NumberFieldPrimitive","resolveClassName","NumberField$1","NumberFieldContext","createContext","numberFieldGroupVariants","cva","numberFieldButtonVariants","numberFieldInputVariants","ariaInvalid","props","generatedId","useId","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","fieldId","sizeValue","size","cn","className","state","sizeProp","context","useContext","toAsChildRenderProps","asChild","children","IconMinus","IconPlus","Label","label"],"sources":["../../src/components/number-field.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { NumberField as NumberFieldPrimitive } from '@base-ui/react/number-field'\nimport { IconMinus, IconPlus } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid } from './field'\nimport { Label } from './label'\n\nconst NumberFieldContext = createContext<{\n fieldId: string\n size: 'sm' | 'md' | 'lg'\n invalid: React.AriaAttributes['aria-invalid']\n} | null>(null)\n\nconst numberFieldGroupVariants = cva(\n [\n 'relative flex w-full justify-between rounded-lg border border-input bg-transparent transition-colors dark:bg-input/30',\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n 'focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40'\n ],\n {\n variants: {\n size: {\n sm: 'h-7 text-sm',\n md: 'h-8 text-sm',\n lg: 'h-9 text-sm'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldButtonVariants = cva(\n 'relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent',\n {\n variants: {\n size: {\n sm: \"px-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"px-2 [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-2.5 [&_svg:not([class*='size-'])]:size-4\"\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldInputVariants = cva('w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none', {\n variants: {\n size: {\n sm: 'px-2 py-0.5',\n md: 'px-2.5 py-1',\n lg: 'px-2.5 py-1.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type NumberFieldProps = Omit<NumberFieldPrimitive.Root.Props, 'render'> &\n VariantProps<typeof numberFieldGroupVariants>\n\nfunction NumberField({ id, className, size = 'md', 'aria-invalid': ariaInvalid, ...props }: NumberFieldProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n const fieldId = fieldControlId ?? generatedId\n const sizeValue = size ?? 'md'\n\n return (\n <NumberFieldContext.Provider value={{ fieldId, size: sizeValue, invalid }}>\n <NumberFieldPrimitive.Root\n className={(state) => cn('flex w-full flex-col items-start gap-2', resolveClassName(className, state))}\n data-size={sizeValue}\n data-slot=\"number-field\"\n {...props}\n />\n </NumberFieldContext.Provider>\n )\n}\n\nexport type NumberFieldGroupProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Group> &\n Partial<VariantProps<typeof numberFieldGroupVariants>>\n\nfunction NumberFieldGroup({ className, size: sizeProp, asChild, children, ...props }: NumberFieldGroupProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldGroup must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Group\n className={(state) => cn(numberFieldGroupVariants({ size }), resolveClassName(className, state))}\n data-slot=\"number-field-group\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport type NumberFieldDecrementProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Decrement> &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n /** Replaces the default minus icon. */\n children?: React.ReactNode\n }\n\nfunction NumberFieldDecrement({ className, size: sizeProp, children, asChild, ...props }: NumberFieldDecrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldDecrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n return (\n <NumberFieldPrimitive.Decrement\n className={(state) =>\n cn(numberFieldButtonVariants({ size }), 'rounded-s-lg border-e-0', resolveClassName(className, state))\n }\n data-slot=\"number-field-decrement\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && (children ?? <IconMinus />)}\n </NumberFieldPrimitive.Decrement>\n )\n}\n\nexport type NumberFieldIncrementProps = AsChildPrimitiveProps<typeof NumberFieldPrimitive.Increment> &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n /** Replaces the default plus icon. */\n children?: ReactNode\n }\n\nfunction NumberFieldIncrement({ className, size: sizeProp, children, asChild, ...props }: NumberFieldIncrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldIncrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n return (\n <NumberFieldPrimitive.Increment\n className={(state) =>\n cn(numberFieldButtonVariants({ size }), 'rounded-e-lg border-s-0', resolveClassName(className, state))\n }\n data-slot=\"number-field-increment\"\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && (children ?? <IconPlus />)}\n </NumberFieldPrimitive.Increment>\n )\n}\n\nexport type NumberFieldInputProps = Omit<NumberFieldPrimitive.Input.Props, 'render'> &\n Partial<VariantProps<typeof numberFieldInputVariants>>\n\nfunction NumberFieldInput({ id, className, size: sizeProp, ...props }: NumberFieldInputProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldInput must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Input\n id={id ?? context.fieldId}\n aria-invalid={context.invalid}\n className={(state) => cn(numberFieldInputVariants({ size }), resolveClassName(className, state))}\n data-slot=\"number-field-input\"\n {...props}\n />\n )\n}\n\nexport type NumberFieldScrubAreaProps = Omit<React.ComponentProps<typeof NumberFieldPrimitive.ScrubArea>, 'render'> & {\n /** Visible label; dragging it changes the value. */\n label: string\n}\n\nfunction NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldScrubArea must be used within a NumberField component for accessibility.')\n }\n\n return (\n <NumberFieldPrimitive.ScrubArea\n className={(state) => cn('flex cursor-ew-resize', resolveClassName(className, state))}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n <Label className=\"cursor-ew-resize\" htmlFor={context.fieldId}>\n {label}\n </Label>\n <NumberFieldPrimitive.ScrubAreaCursor className=\"drop-shadow-[0_1px_1px_#0008] filter\">\n <CursorGrowIcon />\n </NumberFieldPrimitive.ScrubAreaCursor>\n </NumberFieldPrimitive.ScrubArea>\n )\n}\n\nfunction CursorGrowIcon(props: React.ComponentProps<'svg'>) {\n return (\n <svg\n aria-hidden=\"true\"\n fill=\"black\"\n height=\"14\"\n stroke=\"white\"\n viewBox=\"0 0 24 14\"\n width=\"26\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z\" />\n </svg>\n )\n}\n\nexport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { Button } from "./button.js";
3
3
  import * as React from "react";
4
- //#region src/components/pagination.d.ts
5
4
  export type PaginationProps = React.ComponentProps<'nav'> & Pick<React.ComponentProps<typeof Button>, 'color'>;
6
5
  export type PaginationContentProps = React.ComponentProps<'ul'>;
7
6
  export type PaginationItemProps = React.ComponentProps<'li'>;
@@ -31,6 +30,5 @@ declare function PaginationLink({ className, isActive, size, color, ...props }:
31
30
  declare function PaginationPrevious({ className, text, ...props }: PaginationPreviousProps): React.JSX.Element;
32
31
  declare function PaginationNext({ className, text, ...props }: PaginationNextProps): React.JSX.Element;
33
32
  declare function PaginationEllipsis({ className, ...props }: PaginationEllipsisProps): React.JSX.Element;
34
- //#endregion
35
33
  export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };
36
34
  //# sourceMappingURL=pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":["React","PaginationContext","props","color","cn","className","context","Button","isActive","text","IconChevronLeft","IconChevronRight","IconDots"],"sources":["../../src/components/pagination.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconChevronLeft, IconChevronRight, IconDots } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nconst PaginationContext = React.createContext<Pick<React.ComponentProps<typeof Button>, 'color'>>({})\n\nexport type PaginationProps = React.ComponentProps<'nav'> & Pick<React.ComponentProps<typeof Button>, 'color'>\n\nexport type PaginationContentProps = React.ComponentProps<'ul'>\n\nexport type PaginationItemProps = React.ComponentProps<'li'>\n\nexport type PaginationLinkProps = {\n /** Marks the link as the current page. */\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, 'size' | 'color'> &\n React.ComponentProps<'a'>\n\nexport type PaginationPreviousProps = React.ComponentProps<typeof PaginationLink> & {\n /**\n * Label next to the arrow, shown from `sm` up.\n * @default ''\n */\n text?: string\n}\n\nexport type PaginationNextProps = React.ComponentProps<typeof PaginationLink> & {\n /**\n * Label next to the arrow, shown from `sm` up.\n * @default ''\n */\n text?: string\n}\n\nexport type PaginationEllipsisProps = React.ComponentProps<'span'>\n\nfunction Pagination({ className, color, children, ...props }: PaginationProps) {\n return (\n <PaginationContext.Provider value={{ color }}>\n <nav\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n data-color={color}\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n >\n {children}\n </nav>\n </PaginationContext.Provider>\n )\n}\n\nfunction PaginationContent({ className, ...props }: PaginationContentProps) {\n return <ul data-slot=\"pagination-content\" className={cn('flex items-center gap-0.5', className)} {...props} />\n}\n\nfunction PaginationItem({ ...props }: PaginationItemProps) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\nfunction PaginationLink({ className, isActive, size = 'icon', color, ...props }: PaginationLinkProps) {\n const context = React.useContext(PaginationContext)\n\n return (\n <Button\n asChild\n variant={isActive ? 'solid' : 'secondary'}\n color={color ?? context.color ?? 'primary'}\n size={size}\n className={cn(className)}\n >\n <a aria-current={isActive ? 'page' : undefined} data-slot=\"pagination-link\" data-active={isActive} {...props} />\n </Button>\n )\n}\n\nfunction PaginationPrevious({ className, text = '', ...props }: PaginationPreviousProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size={text ? 'md' : 'icon'}\n className={cn(text && 'pl-1.5!', className)}\n {...props}\n >\n <IconChevronLeft data-icon=\"inline-start\" />\n {text && <span className=\"hidden sm:block\">{text}</span>}\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({ className, text = '', ...props }: PaginationNextProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size={text ? 'md' : 'icon'}\n className={cn(text && 'pr-1.5!', className)}\n {...props}\n >\n {text && <span className=\"hidden sm:block\">{text}</span>}\n <IconChevronRight data-icon=\"inline-end\" />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({ className, ...props }: PaginationEllipsisProps) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <IconDots />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious\n}\n"],"mappings":"sRAOA,MAAMC,EAAoBD,EAAM,cAAkE,CAAC,CAAC,EAgCpG,SAAS,WAAW,CAAE,YAAW,QAAO,WAAU,GAAGE,GAA0B,CAC7E,MACE,kBAACD,EAAkB,SAAnB,CAA4B,MAAO,CAAE,OAAM,EACzC,SAAA,kBAAC,MAAD,CACE,aAAW,aACX,YAAU,aACV,aAAYE,EACZ,UAAWC,EAAG,qCAAsCC,CAAS,EAC7D,GAAIH,EAEH,UACE,CAAA,CACqB,CAAA,CAEhC,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAGA,GAAiC,CAC1E,MAAO,kBAAC,KAAD,CAAI,YAAU,qBAAqB,UAAWE,EAAG,4BAA6BC,CAAS,EAAG,GAAIH,CAAQ,CAAA,CAC/G,CAEA,SAAS,eAAe,CAAE,GAAGA,GAA8B,CACzD,MAAO,kBAAC,KAAD,CAAI,YAAU,kBAAkB,GAAIA,CAAQ,CAAA,CACrD,CAEA,SAAS,eAAe,CAAE,YAAW,WAAU,OAAO,OAAQ,QAAO,GAAGA,GAA8B,CACpG,IAAMI,EAAUN,EAAM,WAAWC,CAAiB,EAElD,MACE,kBAACM,EAAD,CACE,QAAA,GACA,QAASC,EAAW,QAAU,YAC9B,MAAOL,GAASG,EAAQ,OAAS,UAC3B,OACN,UAAWF,EAAGC,CAAS,EAEvB,SAAA,kBAAC,IAAD,CAAG,eAAcG,EAAW,OAAS,IAAA,GAAW,YAAU,kBAAkB,cAAaA,EAAU,GAAIN,CAAQ,CAAA,CACzG,CAAA,CAEZ,CAEA,SAAS,mBAAmB,CAAE,YAAW,OAAO,GAAI,GAAGA,GAAkC,CACvF,MACE,kBAAC,eAAD,CACE,aAAW,sBACX,KAAMO,EAAO,KAAO,OACpB,UAAWL,EAAGK,GAAQ,UAAWJ,CAAS,EAC1C,GAAIH,EAJN,SAAA,CAME,kBAACQ,EAAD,CAAiB,YAAU,cAAgB,CAAA,EAC1CD,GAAQ,kBAAC,OAAD,CAAM,UAAU,kBAAmB,SAAAA,CAAW,CAAA,CACzC,GAEpB,CAEA,SAAS,eAAe,CAAE,YAAW,OAAO,GAAI,GAAGP,GAA8B,CAC/E,MACE,kBAAC,eAAD,CACE,aAAW,kBACX,KAAMO,EAAO,KAAO,OACpB,UAAWL,EAAGK,GAAQ,UAAWJ,CAAS,EAC1C,GAAIH,EAJN,SAAA,CAMGO,GAAQ,kBAAC,OAAD,CAAM,UAAU,kBAAmB,SAAAA,CAAW,CAAA,EACvD,kBAACE,EAAD,CAAkB,YAAU,YAAc,CAAA,CAC5B,GAEpB,CAEA,SAAS,mBAAmB,CAAE,YAAW,GAAGT,GAAkC,CAC5E,MACE,kBAAC,OAAD,CACE,cAAA,GACA,YAAU,sBACV,UAAWE,EAAG,+EAAgFC,CAAS,EACvG,GAAIH,EAJN,SAAA,CAME,kBAACU,EAAD,CAAW,CAAA,EACX,kBAAC,OAAD,CAAM,UAAU,UAAU,SAAA,YAAgB,CAAA,CACtC,GAEV"}
1
+ {"version":3,"file":"pagination.js","names":["React","PaginationContext","props","color","cn","className","context","Button","isActive","text","IconChevronLeft","IconChevronRight","IconDots"],"sources":["../../src/components/pagination.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconChevronLeft, IconChevronRight, IconDots } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nconst PaginationContext = React.createContext<Pick<React.ComponentProps<typeof Button>, 'color'>>({})\n\nexport type PaginationProps = React.ComponentProps<'nav'> & Pick<React.ComponentProps<typeof Button>, 'color'>\n\nexport type PaginationContentProps = React.ComponentProps<'ul'>\n\nexport type PaginationItemProps = React.ComponentProps<'li'>\n\nexport type PaginationLinkProps = {\n /** Marks the link as the current page. */\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, 'size' | 'color'> &\n React.ComponentProps<'a'>\n\nexport type PaginationPreviousProps = React.ComponentProps<typeof PaginationLink> & {\n /**\n * Label next to the arrow, shown from `sm` up.\n * @default ''\n */\n text?: string\n}\n\nexport type PaginationNextProps = React.ComponentProps<typeof PaginationLink> & {\n /**\n * Label next to the arrow, shown from `sm` up.\n * @default ''\n */\n text?: string\n}\n\nexport type PaginationEllipsisProps = React.ComponentProps<'span'>\n\nfunction Pagination({ className, color, children, ...props }: PaginationProps) {\n return (\n <PaginationContext.Provider value={{ color }}>\n <nav\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n data-color={color}\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n >\n {children}\n </nav>\n </PaginationContext.Provider>\n )\n}\n\nfunction PaginationContent({ className, ...props }: PaginationContentProps) {\n return <ul data-slot=\"pagination-content\" className={cn('flex items-center gap-0.5', className)} {...props} />\n}\n\nfunction PaginationItem({ ...props }: PaginationItemProps) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\nfunction PaginationLink({ className, isActive, size = 'icon', color, ...props }: PaginationLinkProps) {\n const context = React.useContext(PaginationContext)\n\n return (\n <Button\n asChild\n variant={isActive ? 'solid' : 'secondary'}\n color={color ?? context.color ?? 'primary'}\n size={size}\n className={cn(className)}\n >\n <a aria-current={isActive ? 'page' : undefined} data-slot=\"pagination-link\" data-active={isActive} {...props} />\n </Button>\n )\n}\n\nfunction PaginationPrevious({ className, text = '', ...props }: PaginationPreviousProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size={text ? 'md' : 'icon'}\n className={cn(text && 'pl-1.5!', className)}\n {...props}\n >\n <IconChevronLeft data-icon=\"inline-start\" />\n {text && <span className=\"hidden sm:block\">{text}</span>}\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({ className, text = '', ...props }: PaginationNextProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size={text ? 'md' : 'icon'}\n className={cn(text && 'pr-1.5!', className)}\n {...props}\n >\n {text && <span className=\"hidden sm:block\">{text}</span>}\n <IconChevronRight data-icon=\"inline-end\" />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({ className, ...props }: PaginationEllipsisProps) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <IconDots />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious\n}\n"],"mappings":"A,sRAOA,MAAMC,EAAoBD,EAAM,cAAkE,CAAC,CAAC,EAgCpG,SAAS,WAAW,CAAE,YAAW,QAAO,WAAU,GAAGE,GAA0B,CAC7E,MACE,kBAACD,EAAkB,SAAnB,CAA4B,MAAO,CAAE,OAAM,EACzC,SAAA,kBAAC,MAAD,CACE,aAAW,aACX,YAAU,aACV,aAAYE,EACZ,UAAWC,EAAG,qCAAsCC,CAAS,EAC7D,GAAIH,EAEH,UACE,CAAA,CACqB,CAAA,CAEhC,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAGA,GAAiC,CAC1E,MAAO,kBAAC,KAAD,CAAI,YAAU,qBAAqB,UAAWE,EAAG,4BAA6BC,CAAS,EAAG,GAAIH,CAAQ,CAAA,CAC/G,CAEA,SAAS,eAAe,CAAE,GAAGA,GAA8B,CACzD,MAAO,kBAAC,KAAD,CAAI,YAAU,kBAAkB,GAAIA,CAAQ,CAAA,CACrD,CAEA,SAAS,eAAe,CAAE,YAAW,WAAU,OAAO,OAAQ,QAAO,GAAGA,GAA8B,CACpG,IAAMI,EAAUN,EAAM,WAAWC,CAAiB,EAElD,MACE,kBAACM,EAAD,CACE,QAAA,GACA,QAASC,EAAW,QAAU,YAC9B,MAAOL,GAASG,EAAQ,OAAS,UAC3B,OACN,UAAWF,EAAGC,CAAS,EAEvB,SAAA,kBAAC,IAAD,CAAG,eAAcG,EAAW,OAAS,IAAA,GAAW,YAAU,kBAAkB,cAAaA,EAAU,GAAIN,CAAQ,CAAA,CACzG,CAAA,CAEZ,CAEA,SAAS,mBAAmB,CAAE,YAAW,OAAO,GAAI,GAAGA,GAAkC,CACvF,MACE,kBAAC,eAAD,CACE,aAAW,sBACX,KAAMO,EAAO,KAAO,OACpB,UAAWL,EAAGK,GAAQ,UAAWJ,CAAS,EAC1C,GAAIH,EAJN,SAAA,CAME,kBAACQ,EAAD,CAAiB,YAAU,cAAgB,CAAA,EAC1CD,GAAQ,kBAAC,OAAD,CAAM,UAAU,kBAAmB,SAAAA,CAAW,CAAA,CACzC,C,EAEpB,CAEA,SAAS,eAAe,CAAE,YAAW,OAAO,GAAI,GAAGP,GAA8B,CAC/E,MACE,kBAAC,eAAD,CACE,aAAW,kBACX,KAAMO,EAAO,KAAO,OACpB,UAAWL,EAAGK,GAAQ,UAAWJ,CAAS,EAC1C,GAAIH,EAJN,SAAA,CAMGO,GAAQ,kBAAC,OAAD,CAAM,UAAU,kBAAmB,SAAAA,CAAW,CAAA,EACvD,kBAACE,EAAD,CAAkB,YAAU,YAAc,CAAA,CAC5B,C,EAEpB,CAEA,SAAS,mBAAmB,CAAE,YAAW,GAAGT,GAAkC,CAC5E,MACE,kBAAC,OAAD,CACE,cAAA,GACA,YAAU,sBACV,UAAWE,EAAG,+EAAgFC,CAAS,EACvG,GAAIH,EAJN,SAAA,CAME,kBAACU,EAAD,CAAW,CAAA,EACX,kBAAC,OAAD,CAAM,UAAU,UAAU,SAAA,YAAgB,CAAA,CACtC,C,EAEV,C"}
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { ComponentProps } from "react";
3
3
  import * as BasePhoneInput from "react-phone-number-input";
4
- //#region src/components/phone-input.d.ts
5
4
  export type PhoneInputProps = Omit<ComponentProps<'input'>, 'onChange' | 'value' | 'ref'> & Omit<BasePhoneInput.Props<typeof BasePhoneInput.default>, 'onChange' | 'popupClassName' | 'scrollAreaClassName'> & {
6
5
  /** Called with the number in E.164 format, or an empty string when the input is cleared. */
7
6
  onChange?: (value: BasePhoneInput.Value) => void;
@@ -14,6 +13,5 @@ export type PhoneInputValue = BasePhoneInput.Value;
14
13
  export type PhoneInputCountry = BasePhoneInput.Country;
15
14
  export type PhoneInputLabels = BasePhoneInput.Labels;
16
15
  declare function PhoneInput({ className, popupClassName, scrollAreaClassName, onChange, value, ...props }: PhoneInputProps): import("react").JSX.Element;
17
- //#endregion
18
16
  export { PhoneInput };
19
17
  //# sourceMappingURL=phone-input.d.ts.map