@nuka-ui/core 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (766) hide show
  1. package/README.md +7 -7
  2. package/dist/bundle.css +1 -1
  3. package/dist/components/Accordion/Accordion.cjs +1 -1
  4. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  5. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  6. package/dist/components/Accordion/Accordion.js +2 -0
  7. package/dist/components/Accordion/Accordion.js.map +1 -1
  8. package/dist/components/Accordion/AccordionItem.cjs +1 -1
  9. package/dist/components/Accordion/AccordionItem.cjs.map +1 -1
  10. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionItem.js +1 -0
  12. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  13. package/dist/components/Accordion/AccordionTrigger.cjs +1 -1
  14. package/dist/components/Accordion/AccordionTrigger.cjs.map +1 -1
  15. package/dist/components/Accordion/AccordionTrigger.js +1 -0
  16. package/dist/components/Accordion/AccordionTrigger.js.map +1 -1
  17. package/dist/components/AppShell/AppShell.cjs +1 -1
  18. package/dist/components/AppShell/AppShell.cjs.map +1 -1
  19. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  20. package/dist/components/AppShell/AppShell.js +1 -0
  21. package/dist/components/AppShell/AppShell.js.map +1 -1
  22. package/dist/components/AppShell/AppShellBody.cjs +1 -1
  23. package/dist/components/AppShell/AppShellBody.cjs.map +1 -1
  24. package/dist/components/AppShell/AppShellBody.d.ts.map +1 -1
  25. package/dist/components/AppShell/AppShellBody.js +1 -0
  26. package/dist/components/AppShell/AppShellBody.js.map +1 -1
  27. package/dist/components/AppShell/AppShellHeader.cjs +1 -1
  28. package/dist/components/AppShell/AppShellHeader.cjs.map +1 -1
  29. package/dist/components/AppShell/AppShellHeader.d.ts.map +1 -1
  30. package/dist/components/AppShell/AppShellHeader.js +1 -0
  31. package/dist/components/AppShell/AppShellHeader.js.map +1 -1
  32. package/dist/components/AppShell/AppShellMain.cjs +1 -1
  33. package/dist/components/AppShell/AppShellMain.cjs.map +1 -1
  34. package/dist/components/AppShell/AppShellMain.d.ts.map +1 -1
  35. package/dist/components/AppShell/AppShellMain.js +1 -0
  36. package/dist/components/AppShell/AppShellMain.js.map +1 -1
  37. package/dist/components/Avatar/Avatar.variants.cjs +1 -1
  38. package/dist/components/Avatar/Avatar.variants.cjs.map +1 -1
  39. package/dist/components/Avatar/Avatar.variants.js +1 -1
  40. package/dist/components/Avatar/Avatar.variants.js.map +1 -1
  41. package/dist/components/Badge/Badge.variants.cjs +1 -1
  42. package/dist/components/Badge/Badge.variants.cjs.map +1 -1
  43. package/dist/components/Badge/Badge.variants.js +1 -1
  44. package/dist/components/Badge/Badge.variants.js.map +1 -1
  45. package/dist/components/Breadcrumb/Breadcrumb.cjs +1 -1
  46. package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  47. package/dist/components/Breadcrumb/Breadcrumb.js +1 -0
  48. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  49. package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs +1 -1
  50. package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs.map +1 -1
  51. package/dist/components/Breadcrumb/BreadcrumbEllipsis.d.ts.map +1 -1
  52. package/dist/components/Breadcrumb/BreadcrumbEllipsis.js +1 -0
  53. package/dist/components/Breadcrumb/BreadcrumbEllipsis.js.map +1 -1
  54. package/dist/components/Breadcrumb/BreadcrumbItem.cjs +1 -1
  55. package/dist/components/Breadcrumb/BreadcrumbItem.cjs.map +1 -1
  56. package/dist/components/Breadcrumb/BreadcrumbItem.d.ts.map +1 -1
  57. package/dist/components/Breadcrumb/BreadcrumbItem.js +1 -0
  58. package/dist/components/Breadcrumb/BreadcrumbItem.js.map +1 -1
  59. package/dist/components/Breadcrumb/BreadcrumbLink.cjs +1 -1
  60. package/dist/components/Breadcrumb/BreadcrumbLink.cjs.map +1 -1
  61. package/dist/components/Breadcrumb/BreadcrumbLink.d.ts.map +1 -1
  62. package/dist/components/Breadcrumb/BreadcrumbLink.js +1 -0
  63. package/dist/components/Breadcrumb/BreadcrumbLink.js.map +1 -1
  64. package/dist/components/Breadcrumb/BreadcrumbList.cjs +1 -1
  65. package/dist/components/Breadcrumb/BreadcrumbList.cjs.map +1 -1
  66. package/dist/components/Breadcrumb/BreadcrumbList.d.ts.map +1 -1
  67. package/dist/components/Breadcrumb/BreadcrumbList.js +1 -0
  68. package/dist/components/Breadcrumb/BreadcrumbList.js.map +1 -1
  69. package/dist/components/Breadcrumb/BreadcrumbPage.cjs +1 -1
  70. package/dist/components/Breadcrumb/BreadcrumbPage.cjs.map +1 -1
  71. package/dist/components/Breadcrumb/BreadcrumbPage.d.ts.map +1 -1
  72. package/dist/components/Breadcrumb/BreadcrumbPage.js +2 -1
  73. package/dist/components/Breadcrumb/BreadcrumbPage.js.map +1 -1
  74. package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs +1 -1
  75. package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs.map +1 -1
  76. package/dist/components/Breadcrumb/BreadcrumbSeparator.d.ts.map +1 -1
  77. package/dist/components/Breadcrumb/BreadcrumbSeparator.js +1 -0
  78. package/dist/components/Breadcrumb/BreadcrumbSeparator.js.map +1 -1
  79. package/dist/components/Button/Button.cjs +1 -1
  80. package/dist/components/Button/Button.cjs.map +1 -1
  81. package/dist/components/Button/Button.d.ts +2 -1
  82. package/dist/components/Button/Button.d.ts.map +1 -1
  83. package/dist/components/Button/Button.js +3 -3
  84. package/dist/components/Button/Button.js.map +1 -1
  85. package/dist/components/Button/Button.variants.cjs +1 -1
  86. package/dist/components/Button/Button.variants.cjs.map +1 -1
  87. package/dist/components/Button/Button.variants.js +1 -1
  88. package/dist/components/Button/Button.variants.js.map +1 -1
  89. package/dist/components/Callout/Callout.cjs +2 -0
  90. package/dist/components/Callout/Callout.cjs.map +1 -0
  91. package/dist/components/Callout/Callout.d.ts +13 -0
  92. package/dist/components/Callout/Callout.d.ts.map +1 -0
  93. package/dist/components/Callout/Callout.js +37 -0
  94. package/dist/components/Callout/Callout.js.map +1 -0
  95. package/dist/components/Callout/Callout.variants.cjs +2 -0
  96. package/dist/components/Callout/Callout.variants.cjs.map +1 -0
  97. package/dist/components/Callout/Callout.variants.d.ts +8 -0
  98. package/dist/components/Callout/Callout.variants.d.ts.map +1 -0
  99. package/dist/components/Callout/Callout.variants.js +42 -0
  100. package/dist/components/Callout/Callout.variants.js.map +1 -0
  101. package/dist/components/Callout/index.d.ts +4 -0
  102. package/dist/components/Callout/index.d.ts.map +1 -0
  103. package/dist/components/Card/Card.cjs +1 -1
  104. package/dist/components/Card/Card.cjs.map +1 -1
  105. package/dist/components/Card/Card.d.ts +9 -3
  106. package/dist/components/Card/Card.d.ts.map +1 -1
  107. package/dist/components/Card/Card.js +27 -11
  108. package/dist/components/Card/Card.js.map +1 -1
  109. package/dist/components/Card/index.d.ts +1 -1
  110. package/dist/components/Card/index.d.ts.map +1 -1
  111. package/dist/components/Checkbox/Checkbox.cjs +1 -1
  112. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  113. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  114. package/dist/components/Checkbox/Checkbox.js +4 -0
  115. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  116. package/dist/components/Checkbox/Checkbox.variants.cjs.map +1 -1
  117. package/dist/components/Checkbox/Checkbox.variants.d.ts.map +1 -1
  118. package/dist/components/Checkbox/Checkbox.variants.js.map +1 -1
  119. package/dist/components/Chip/Chip.variants.cjs +1 -1
  120. package/dist/components/Chip/Chip.variants.cjs.map +1 -1
  121. package/dist/components/Chip/Chip.variants.js +1 -1
  122. package/dist/components/Chip/Chip.variants.js.map +1 -1
  123. package/dist/components/Collapsible/Collapsible.cjs +1 -1
  124. package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
  125. package/dist/components/Collapsible/Collapsible.d.ts.map +1 -1
  126. package/dist/components/Collapsible/Collapsible.js +1 -0
  127. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  128. package/dist/components/Collapsible/CollapsibleContent.cjs +1 -1
  129. package/dist/components/Collapsible/CollapsibleContent.cjs.map +1 -1
  130. package/dist/components/Collapsible/CollapsibleContent.d.ts.map +1 -1
  131. package/dist/components/Collapsible/CollapsibleContent.js +2 -0
  132. package/dist/components/Collapsible/CollapsibleContent.js.map +1 -1
  133. package/dist/components/Collapsible/CollapsibleTrigger.cjs +1 -1
  134. package/dist/components/Collapsible/CollapsibleTrigger.cjs.map +1 -1
  135. package/dist/components/Collapsible/CollapsibleTrigger.d.ts.map +1 -1
  136. package/dist/components/Collapsible/CollapsibleTrigger.js +1 -0
  137. package/dist/components/Collapsible/CollapsibleTrigger.js.map +1 -1
  138. package/dist/components/Combobox/ComboboxContent.cjs +1 -1
  139. package/dist/components/Combobox/ComboboxContent.cjs.map +1 -1
  140. package/dist/components/Combobox/ComboboxContent.d.ts.map +1 -1
  141. package/dist/components/Combobox/ComboboxContent.js +2 -0
  142. package/dist/components/Combobox/ComboboxContent.js.map +1 -1
  143. package/dist/components/Combobox/ComboboxEmpty.cjs +1 -1
  144. package/dist/components/Combobox/ComboboxEmpty.cjs.map +1 -1
  145. package/dist/components/Combobox/ComboboxEmpty.d.ts.map +1 -1
  146. package/dist/components/Combobox/ComboboxEmpty.js +1 -0
  147. package/dist/components/Combobox/ComboboxEmpty.js.map +1 -1
  148. package/dist/components/Combobox/ComboboxGroup.cjs +1 -1
  149. package/dist/components/Combobox/ComboboxGroup.cjs.map +1 -1
  150. package/dist/components/Combobox/ComboboxGroup.d.ts.map +1 -1
  151. package/dist/components/Combobox/ComboboxGroup.js +1 -0
  152. package/dist/components/Combobox/ComboboxGroup.js.map +1 -1
  153. package/dist/components/Combobox/ComboboxInput.cjs +1 -1
  154. package/dist/components/Combobox/ComboboxInput.cjs.map +1 -1
  155. package/dist/components/Combobox/ComboboxInput.d.ts.map +1 -1
  156. package/dist/components/Combobox/ComboboxInput.js +2 -0
  157. package/dist/components/Combobox/ComboboxInput.js.map +1 -1
  158. package/dist/components/Combobox/ComboboxListbox.cjs +1 -1
  159. package/dist/components/Combobox/ComboboxListbox.cjs.map +1 -1
  160. package/dist/components/Combobox/ComboboxListbox.d.ts.map +1 -1
  161. package/dist/components/Combobox/ComboboxListbox.js +1 -0
  162. package/dist/components/Combobox/ComboboxListbox.js.map +1 -1
  163. package/dist/components/Combobox/ComboboxOption.cjs +1 -1
  164. package/dist/components/Combobox/ComboboxOption.cjs.map +1 -1
  165. package/dist/components/Combobox/ComboboxOption.d.ts.map +1 -1
  166. package/dist/components/Combobox/ComboboxOption.js +1 -0
  167. package/dist/components/Combobox/ComboboxOption.js.map +1 -1
  168. package/dist/components/Combobox/ComboboxTrigger.cjs +1 -1
  169. package/dist/components/Combobox/ComboboxTrigger.cjs.map +1 -1
  170. package/dist/components/Combobox/ComboboxTrigger.d.ts.map +1 -1
  171. package/dist/components/Combobox/ComboboxTrigger.js +1 -0
  172. package/dist/components/Combobox/ComboboxTrigger.js.map +1 -1
  173. package/dist/components/CommandMenu/CommandMenu.cjs +1 -1
  174. package/dist/components/CommandMenu/CommandMenu.cjs.map +1 -1
  175. package/dist/components/CommandMenu/CommandMenu.d.ts.map +1 -1
  176. package/dist/components/CommandMenu/CommandMenu.js +2 -0
  177. package/dist/components/CommandMenu/CommandMenu.js.map +1 -1
  178. package/dist/components/CommandMenu/CommandMenuEmpty.cjs +1 -1
  179. package/dist/components/CommandMenu/CommandMenuEmpty.cjs.map +1 -1
  180. package/dist/components/CommandMenu/CommandMenuEmpty.d.ts.map +1 -1
  181. package/dist/components/CommandMenu/CommandMenuEmpty.js +1 -0
  182. package/dist/components/CommandMenu/CommandMenuEmpty.js.map +1 -1
  183. package/dist/components/CommandMenu/CommandMenuGroup.cjs +1 -1
  184. package/dist/components/CommandMenu/CommandMenuGroup.cjs.map +1 -1
  185. package/dist/components/CommandMenu/CommandMenuGroup.d.ts.map +1 -1
  186. package/dist/components/CommandMenu/CommandMenuGroup.js +3 -1
  187. package/dist/components/CommandMenu/CommandMenuGroup.js.map +1 -1
  188. package/dist/components/CommandMenu/CommandMenuInput.cjs +1 -1
  189. package/dist/components/CommandMenu/CommandMenuInput.cjs.map +1 -1
  190. package/dist/components/CommandMenu/CommandMenuInput.d.ts.map +1 -1
  191. package/dist/components/CommandMenu/CommandMenuInput.js +2 -0
  192. package/dist/components/CommandMenu/CommandMenuInput.js.map +1 -1
  193. package/dist/components/CommandMenu/CommandMenuItem.cjs +1 -1
  194. package/dist/components/CommandMenu/CommandMenuItem.cjs.map +1 -1
  195. package/dist/components/CommandMenu/CommandMenuItem.d.ts.map +1 -1
  196. package/dist/components/CommandMenu/CommandMenuItem.js +1 -0
  197. package/dist/components/CommandMenu/CommandMenuItem.js.map +1 -1
  198. package/dist/components/CommandMenu/CommandMenuList.cjs +1 -1
  199. package/dist/components/CommandMenu/CommandMenuList.cjs.map +1 -1
  200. package/dist/components/CommandMenu/CommandMenuList.d.ts.map +1 -1
  201. package/dist/components/CommandMenu/CommandMenuList.js +1 -0
  202. package/dist/components/CommandMenu/CommandMenuList.js.map +1 -1
  203. package/dist/components/CommandMenu/CommandMenuShortcut.cjs +1 -1
  204. package/dist/components/CommandMenu/CommandMenuShortcut.cjs.map +1 -1
  205. package/dist/components/CommandMenu/CommandMenuShortcut.d.ts.map +1 -1
  206. package/dist/components/CommandMenu/CommandMenuShortcut.js +1 -0
  207. package/dist/components/CommandMenu/CommandMenuShortcut.js.map +1 -1
  208. package/dist/components/Container/Container.cjs +1 -1
  209. package/dist/components/Container/Container.cjs.map +1 -1
  210. package/dist/components/Container/Container.d.ts +11 -3
  211. package/dist/components/Container/Container.d.ts.map +1 -1
  212. package/dist/components/Container/Container.js +4 -4
  213. package/dist/components/Container/Container.js.map +1 -1
  214. package/dist/components/ContextMenu/ContextMenuContent.cjs +1 -1
  215. package/dist/components/ContextMenu/ContextMenuContent.cjs.map +1 -1
  216. package/dist/components/ContextMenu/ContextMenuContent.d.ts.map +1 -1
  217. package/dist/components/ContextMenu/ContextMenuContent.js +1 -0
  218. package/dist/components/ContextMenu/ContextMenuContent.js.map +1 -1
  219. package/dist/components/ContextMenu/ContextMenuTrigger.cjs +1 -1
  220. package/dist/components/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  221. package/dist/components/ContextMenu/ContextMenuTrigger.d.ts.map +1 -1
  222. package/dist/components/ContextMenu/ContextMenuTrigger.js +1 -0
  223. package/dist/components/ContextMenu/ContextMenuTrigger.js.map +1 -1
  224. package/dist/components/DatePicker/DatePickerCalendar.cjs +1 -1
  225. package/dist/components/DatePicker/DatePickerCalendar.cjs.map +1 -1
  226. package/dist/components/DatePicker/DatePickerCalendar.d.ts.map +1 -1
  227. package/dist/components/DatePicker/DatePickerCalendar.js +12 -0
  228. package/dist/components/DatePicker/DatePickerCalendar.js.map +1 -1
  229. package/dist/components/DatePicker/DatePickerInput.cjs +1 -1
  230. package/dist/components/DatePicker/DatePickerInput.cjs.map +1 -1
  231. package/dist/components/DatePicker/DatePickerInput.d.ts.map +1 -1
  232. package/dist/components/DatePicker/DatePickerInput.js +4 -1
  233. package/dist/components/DatePicker/DatePickerInput.js.map +1 -1
  234. package/dist/components/Dialog/Dialog.cjs +1 -1
  235. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  236. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  237. package/dist/components/Dialog/Dialog.js +2 -0
  238. package/dist/components/Dialog/Dialog.js.map +1 -1
  239. package/dist/components/DropdownMenu/DropdownMenuContent.cjs +1 -1
  240. package/dist/components/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  241. package/dist/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -1
  242. package/dist/components/DropdownMenu/DropdownMenuContent.js +1 -0
  243. package/dist/components/DropdownMenu/DropdownMenuContent.js.map +1 -1
  244. package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs +1 -1
  245. package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  246. package/dist/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -1
  247. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
  248. package/dist/components/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  249. package/dist/components/EmptyState/EmptyState.cjs +1 -1
  250. package/dist/components/EmptyState/EmptyState.cjs.map +1 -1
  251. package/dist/components/EmptyState/EmptyState.d.ts +4 -1
  252. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  253. package/dist/components/EmptyState/EmptyState.js +16 -8
  254. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  255. package/dist/components/Eyebrow/Eyebrow.cjs +1 -1
  256. package/dist/components/Eyebrow/Eyebrow.cjs.map +1 -1
  257. package/dist/components/Eyebrow/Eyebrow.d.ts +1 -1
  258. package/dist/components/Eyebrow/Eyebrow.d.ts.map +1 -1
  259. package/dist/components/Eyebrow/Eyebrow.js +6 -3
  260. package/dist/components/Eyebrow/Eyebrow.js.map +1 -1
  261. package/dist/components/Eyebrow/Eyebrow.variants.cjs +1 -1
  262. package/dist/components/Eyebrow/Eyebrow.variants.cjs.map +1 -1
  263. package/dist/components/Eyebrow/Eyebrow.variants.d.ts +2 -1
  264. package/dist/components/Eyebrow/Eyebrow.variants.d.ts.map +1 -1
  265. package/dist/components/Eyebrow/Eyebrow.variants.js +28 -7
  266. package/dist/components/Eyebrow/Eyebrow.variants.js.map +1 -1
  267. package/dist/components/FileInput/FileInput.cjs +1 -1
  268. package/dist/components/FileInput/FileInput.cjs.map +1 -1
  269. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  270. package/dist/components/FileInput/FileInput.js +10 -2
  271. package/dist/components/FileInput/FileInput.js.map +1 -1
  272. package/dist/components/FormField/FormField.cjs +1 -1
  273. package/dist/components/FormField/FormField.cjs.map +1 -1
  274. package/dist/components/FormField/FormField.d.ts.map +1 -1
  275. package/dist/components/FormField/FormField.js +3 -0
  276. package/dist/components/FormField/FormField.js.map +1 -1
  277. package/dist/components/Grid/Grid.cjs +1 -1
  278. package/dist/components/Grid/Grid.cjs.map +1 -1
  279. package/dist/components/Grid/Grid.d.ts +11 -3
  280. package/dist/components/Grid/Grid.d.ts.map +1 -1
  281. package/dist/components/Grid/Grid.js +4 -4
  282. package/dist/components/Grid/Grid.js.map +1 -1
  283. package/dist/components/Heading/Heading.variants.cjs +1 -1
  284. package/dist/components/Heading/Heading.variants.cjs.map +1 -1
  285. package/dist/components/Heading/Heading.variants.d.ts +1 -1
  286. package/dist/components/Heading/Heading.variants.d.ts.map +1 -1
  287. package/dist/components/Heading/Heading.variants.js +7 -2
  288. package/dist/components/Heading/Heading.variants.js.map +1 -1
  289. package/dist/components/Icon/Icon.variants.cjs.map +1 -1
  290. package/dist/components/Icon/Icon.variants.d.ts.map +1 -1
  291. package/dist/components/Icon/Icon.variants.js.map +1 -1
  292. package/dist/components/Kbd/Kbd.variants.cjs.map +1 -1
  293. package/dist/components/Kbd/Kbd.variants.d.ts.map +1 -1
  294. package/dist/components/Kbd/Kbd.variants.js.map +1 -1
  295. package/dist/components/Label/Label.cjs +1 -1
  296. package/dist/components/Label/Label.cjs.map +1 -1
  297. package/dist/components/Label/Label.d.ts +4 -1
  298. package/dist/components/Label/Label.d.ts.map +1 -1
  299. package/dist/components/Label/Label.js +21 -10
  300. package/dist/components/Label/Label.js.map +1 -1
  301. package/dist/components/Menu/MenuCheckboxItemBase.cjs +1 -1
  302. package/dist/components/Menu/MenuCheckboxItemBase.cjs.map +1 -1
  303. package/dist/components/Menu/MenuCheckboxItemBase.d.ts.map +1 -1
  304. package/dist/components/Menu/MenuCheckboxItemBase.js +2 -0
  305. package/dist/components/Menu/MenuCheckboxItemBase.js.map +1 -1
  306. package/dist/components/Menu/MenuItemBase.cjs +1 -1
  307. package/dist/components/Menu/MenuItemBase.cjs.map +1 -1
  308. package/dist/components/Menu/MenuItemBase.d.ts.map +1 -1
  309. package/dist/components/Menu/MenuItemBase.js +1 -0
  310. package/dist/components/Menu/MenuItemBase.js.map +1 -1
  311. package/dist/components/Menu/MenuLabelBase.cjs +1 -1
  312. package/dist/components/Menu/MenuLabelBase.cjs.map +1 -1
  313. package/dist/components/Menu/MenuLabelBase.d.ts.map +1 -1
  314. package/dist/components/Menu/MenuLabelBase.js +1 -0
  315. package/dist/components/Menu/MenuLabelBase.js.map +1 -1
  316. package/dist/components/Menu/MenuRadioGroupBase.cjs +1 -1
  317. package/dist/components/Menu/MenuRadioGroupBase.cjs.map +1 -1
  318. package/dist/components/Menu/MenuRadioGroupBase.js +1 -0
  319. package/dist/components/Menu/MenuRadioGroupBase.js.map +1 -1
  320. package/dist/components/Menu/MenuRadioItemBase.cjs +1 -1
  321. package/dist/components/Menu/MenuRadioItemBase.cjs.map +1 -1
  322. package/dist/components/Menu/MenuRadioItemBase.d.ts.map +1 -1
  323. package/dist/components/Menu/MenuRadioItemBase.js +2 -0
  324. package/dist/components/Menu/MenuRadioItemBase.js.map +1 -1
  325. package/dist/components/Menu/MenuSeparatorBase.cjs +1 -1
  326. package/dist/components/Menu/MenuSeparatorBase.cjs.map +1 -1
  327. package/dist/components/Menu/MenuSeparatorBase.d.ts.map +1 -1
  328. package/dist/components/Menu/MenuSeparatorBase.js +1 -0
  329. package/dist/components/Menu/MenuSeparatorBase.js.map +1 -1
  330. package/dist/components/Menu/menuItemVariants.cjs +1 -1
  331. package/dist/components/Menu/menuItemVariants.cjs.map +1 -1
  332. package/dist/components/Menu/menuItemVariants.js +1 -1
  333. package/dist/components/Menu/menuItemVariants.js.map +1 -1
  334. package/dist/components/Menubar/Menubar.cjs +1 -1
  335. package/dist/components/Menubar/Menubar.cjs.map +1 -1
  336. package/dist/components/Menubar/Menubar.d.ts.map +1 -1
  337. package/dist/components/Menubar/Menubar.js +1 -0
  338. package/dist/components/Menubar/Menubar.js.map +1 -1
  339. package/dist/components/Menubar/MenubarContent.cjs +1 -1
  340. package/dist/components/Menubar/MenubarContent.cjs.map +1 -1
  341. package/dist/components/Menubar/MenubarContent.d.ts.map +1 -1
  342. package/dist/components/Menubar/MenubarContent.js +1 -0
  343. package/dist/components/Menubar/MenubarContent.js.map +1 -1
  344. package/dist/components/Menubar/MenubarTrigger.cjs +1 -1
  345. package/dist/components/Menubar/MenubarTrigger.cjs.map +1 -1
  346. package/dist/components/Menubar/MenubarTrigger.d.ts.map +1 -1
  347. package/dist/components/Menubar/MenubarTrigger.js +2 -1
  348. package/dist/components/Menubar/MenubarTrigger.js.map +1 -1
  349. package/dist/components/Nav/Nav.cjs +1 -1
  350. package/dist/components/Nav/Nav.cjs.map +1 -1
  351. package/dist/components/Nav/Nav.js +1 -0
  352. package/dist/components/Nav/Nav.js.map +1 -1
  353. package/dist/components/Nav/NavItem.cjs +1 -1
  354. package/dist/components/Nav/NavItem.cjs.map +1 -1
  355. package/dist/components/Nav/NavItem.d.ts.map +1 -1
  356. package/dist/components/Nav/NavItem.js +1 -0
  357. package/dist/components/Nav/NavItem.js.map +1 -1
  358. package/dist/components/Nav/NavLink.cjs +1 -1
  359. package/dist/components/Nav/NavLink.cjs.map +1 -1
  360. package/dist/components/Nav/NavLink.d.ts.map +1 -1
  361. package/dist/components/Nav/NavLink.js +2 -1
  362. package/dist/components/Nav/NavLink.js.map +1 -1
  363. package/dist/components/Nav/NavList.cjs +1 -1
  364. package/dist/components/Nav/NavList.cjs.map +1 -1
  365. package/dist/components/Nav/NavList.d.ts.map +1 -1
  366. package/dist/components/Nav/NavList.js +1 -0
  367. package/dist/components/Nav/NavList.js.map +1 -1
  368. package/dist/components/Nav/NavSubmenu.cjs +1 -1
  369. package/dist/components/Nav/NavSubmenu.cjs.map +1 -1
  370. package/dist/components/Nav/NavSubmenu.d.ts.map +1 -1
  371. package/dist/components/Nav/NavSubmenu.js +1 -0
  372. package/dist/components/Nav/NavSubmenu.js.map +1 -1
  373. package/dist/components/Nav/NavTrigger.cjs +1 -1
  374. package/dist/components/Nav/NavTrigger.cjs.map +1 -1
  375. package/dist/components/Nav/NavTrigger.d.ts.map +1 -1
  376. package/dist/components/Nav/NavTrigger.js +3 -1
  377. package/dist/components/Nav/NavTrigger.js.map +1 -1
  378. package/dist/components/NavigationMenu/NavigationMenu.cjs +1 -1
  379. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
  380. package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  381. package/dist/components/NavigationMenu/NavigationMenu.js +1 -0
  382. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
  383. package/dist/components/NavigationMenu/NavigationMenuContent.cjs +1 -1
  384. package/dist/components/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  385. package/dist/components/NavigationMenu/NavigationMenuContent.d.ts.map +1 -1
  386. package/dist/components/NavigationMenu/NavigationMenuContent.js +1 -0
  387. package/dist/components/NavigationMenu/NavigationMenuContent.js.map +1 -1
  388. package/dist/components/NavigationMenu/NavigationMenuItem.cjs +1 -1
  389. package/dist/components/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  390. package/dist/components/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  391. package/dist/components/NavigationMenu/NavigationMenuItem.js +1 -0
  392. package/dist/components/NavigationMenu/NavigationMenuItem.js.map +1 -1
  393. package/dist/components/NavigationMenu/NavigationMenuLink.cjs +1 -1
  394. package/dist/components/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
  395. package/dist/components/NavigationMenu/NavigationMenuLink.d.ts.map +1 -1
  396. package/dist/components/NavigationMenu/NavigationMenuLink.js +2 -1
  397. package/dist/components/NavigationMenu/NavigationMenuLink.js.map +1 -1
  398. package/dist/components/NavigationMenu/NavigationMenuList.cjs +1 -1
  399. package/dist/components/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  400. package/dist/components/NavigationMenu/NavigationMenuList.d.ts.map +1 -1
  401. package/dist/components/NavigationMenu/NavigationMenuList.js +1 -0
  402. package/dist/components/NavigationMenu/NavigationMenuList.js.map +1 -1
  403. package/dist/components/NavigationMenu/NavigationMenuTrigger.cjs +1 -1
  404. package/dist/components/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  405. package/dist/components/NavigationMenu/NavigationMenuTrigger.d.ts.map +1 -1
  406. package/dist/components/NavigationMenu/NavigationMenuTrigger.js +2 -1
  407. package/dist/components/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  408. package/dist/components/NumberInput/NumberInput.cjs +1 -1
  409. package/dist/components/NumberInput/NumberInput.cjs.map +1 -1
  410. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  411. package/dist/components/NumberInput/NumberInput.js +3 -0
  412. package/dist/components/NumberInput/NumberInput.js.map +1 -1
  413. package/dist/components/Pagination/Pagination.cjs +1 -1
  414. package/dist/components/Pagination/Pagination.cjs.map +1 -1
  415. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  416. package/dist/components/Pagination/Pagination.js +1 -0
  417. package/dist/components/Pagination/Pagination.js.map +1 -1
  418. package/dist/components/Pagination/PaginationContent.cjs +1 -1
  419. package/dist/components/Pagination/PaginationContent.cjs.map +1 -1
  420. package/dist/components/Pagination/PaginationContent.d.ts.map +1 -1
  421. package/dist/components/Pagination/PaginationContent.js +1 -0
  422. package/dist/components/Pagination/PaginationContent.js.map +1 -1
  423. package/dist/components/Pagination/PaginationEllipsis.cjs +1 -1
  424. package/dist/components/Pagination/PaginationEllipsis.cjs.map +1 -1
  425. package/dist/components/Pagination/PaginationEllipsis.d.ts.map +1 -1
  426. package/dist/components/Pagination/PaginationEllipsis.js +1 -0
  427. package/dist/components/Pagination/PaginationEllipsis.js.map +1 -1
  428. package/dist/components/Pagination/PaginationItem.cjs +1 -1
  429. package/dist/components/Pagination/PaginationItem.cjs.map +1 -1
  430. package/dist/components/Pagination/PaginationItem.js +1 -0
  431. package/dist/components/Pagination/PaginationItem.js.map +1 -1
  432. package/dist/components/Pagination/PaginationLink.cjs +1 -1
  433. package/dist/components/Pagination/PaginationLink.cjs.map +1 -1
  434. package/dist/components/Pagination/PaginationLink.d.ts.map +1 -1
  435. package/dist/components/Pagination/PaginationLink.js +1 -0
  436. package/dist/components/Pagination/PaginationLink.js.map +1 -1
  437. package/dist/components/Pagination/PaginationNext.cjs +1 -1
  438. package/dist/components/Pagination/PaginationNext.cjs.map +1 -1
  439. package/dist/components/Pagination/PaginationNext.d.ts.map +1 -1
  440. package/dist/components/Pagination/PaginationNext.js +3 -0
  441. package/dist/components/Pagination/PaginationNext.js.map +1 -1
  442. package/dist/components/Pagination/PaginationPrevious.cjs +1 -1
  443. package/dist/components/Pagination/PaginationPrevious.cjs.map +1 -1
  444. package/dist/components/Pagination/PaginationPrevious.d.ts.map +1 -1
  445. package/dist/components/Pagination/PaginationPrevious.js +3 -0
  446. package/dist/components/Pagination/PaginationPrevious.js.map +1 -1
  447. package/dist/components/Popover/PopoverContent.cjs +1 -1
  448. package/dist/components/Popover/PopoverContent.cjs.map +1 -1
  449. package/dist/components/Popover/PopoverContent.d.ts.map +1 -1
  450. package/dist/components/Popover/PopoverContent.js +1 -0
  451. package/dist/components/Popover/PopoverContent.js.map +1 -1
  452. package/dist/components/Popover/PopoverTrigger.cjs +1 -1
  453. package/dist/components/Popover/PopoverTrigger.cjs.map +1 -1
  454. package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -1
  455. package/dist/components/Popover/PopoverTrigger.js +1 -0
  456. package/dist/components/Popover/PopoverTrigger.js.map +1 -1
  457. package/dist/components/Progress/Progress.variants.cjs.map +1 -1
  458. package/dist/components/Progress/Progress.variants.d.ts.map +1 -1
  459. package/dist/components/Progress/Progress.variants.js.map +1 -1
  460. package/dist/components/RadioGroup/Radio.cjs +1 -1
  461. package/dist/components/RadioGroup/Radio.cjs.map +1 -1
  462. package/dist/components/RadioGroup/Radio.d.ts.map +1 -1
  463. package/dist/components/RadioGroup/Radio.js +4 -0
  464. package/dist/components/RadioGroup/Radio.js.map +1 -1
  465. package/dist/components/RadioGroup/Radio.variants.cjs.map +1 -1
  466. package/dist/components/RadioGroup/Radio.variants.d.ts.map +1 -1
  467. package/dist/components/RadioGroup/Radio.variants.js.map +1 -1
  468. package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
  469. package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -1
  470. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  471. package/dist/components/RadioGroup/RadioGroup.js +1 -0
  472. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  473. package/dist/components/ScrollArea/ScrollArea.cjs +1 -1
  474. package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -1
  475. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  476. package/dist/components/ScrollArea/ScrollArea.js +1 -0
  477. package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
  478. package/dist/components/Section/Section.cjs +1 -1
  479. package/dist/components/Section/Section.cjs.map +1 -1
  480. package/dist/components/Section/Section.d.ts.map +1 -1
  481. package/dist/components/Section/Section.js +1 -0
  482. package/dist/components/Section/Section.js.map +1 -1
  483. package/dist/components/Select/Select.cjs +1 -1
  484. package/dist/components/Select/Select.cjs.map +1 -1
  485. package/dist/components/Select/Select.d.ts.map +1 -1
  486. package/dist/components/Select/Select.js +1 -0
  487. package/dist/components/Select/Select.js.map +1 -1
  488. package/dist/components/Select/SelectContent.cjs +1 -1
  489. package/dist/components/Select/SelectContent.cjs.map +1 -1
  490. package/dist/components/Select/SelectContent.d.ts.map +1 -1
  491. package/dist/components/Select/SelectContent.js +1 -0
  492. package/dist/components/Select/SelectContent.js.map +1 -1
  493. package/dist/components/Select/SelectItem.cjs +1 -1
  494. package/dist/components/Select/SelectItem.cjs.map +1 -1
  495. package/dist/components/Select/SelectItem.d.ts.map +1 -1
  496. package/dist/components/Select/SelectItem.js +1 -0
  497. package/dist/components/Select/SelectItem.js.map +1 -1
  498. package/dist/components/Select/SelectSeparator.cjs +1 -1
  499. package/dist/components/Select/SelectSeparator.cjs.map +1 -1
  500. package/dist/components/Select/SelectSeparator.d.ts.map +1 -1
  501. package/dist/components/Select/SelectSeparator.js +1 -0
  502. package/dist/components/Select/SelectSeparator.js.map +1 -1
  503. package/dist/components/Select/SelectTrigger.cjs +1 -1
  504. package/dist/components/Select/SelectTrigger.cjs.map +1 -1
  505. package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
  506. package/dist/components/Select/SelectTrigger.js +1 -0
  507. package/dist/components/Select/SelectTrigger.js.map +1 -1
  508. package/dist/components/Sheet/Sheet.cjs +1 -1
  509. package/dist/components/Sheet/Sheet.cjs.map +1 -1
  510. package/dist/components/Sheet/Sheet.d.ts.map +1 -1
  511. package/dist/components/Sheet/Sheet.js +2 -0
  512. package/dist/components/Sheet/Sheet.js.map +1 -1
  513. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  514. package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
  515. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  516. package/dist/components/Sidebar/Sidebar.js +2 -0
  517. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  518. package/dist/components/Sidebar/SidebarContent.cjs +1 -1
  519. package/dist/components/Sidebar/SidebarContent.cjs.map +1 -1
  520. package/dist/components/Sidebar/SidebarContent.d.ts.map +1 -1
  521. package/dist/components/Sidebar/SidebarContent.js +1 -0
  522. package/dist/components/Sidebar/SidebarContent.js.map +1 -1
  523. package/dist/components/Sidebar/SidebarFooter.cjs +1 -1
  524. package/dist/components/Sidebar/SidebarFooter.cjs.map +1 -1
  525. package/dist/components/Sidebar/SidebarFooter.d.ts.map +1 -1
  526. package/dist/components/Sidebar/SidebarFooter.js +1 -0
  527. package/dist/components/Sidebar/SidebarFooter.js.map +1 -1
  528. package/dist/components/Sidebar/SidebarGroup.cjs +1 -1
  529. package/dist/components/Sidebar/SidebarGroup.cjs.map +1 -1
  530. package/dist/components/Sidebar/SidebarGroup.d.ts.map +1 -1
  531. package/dist/components/Sidebar/SidebarGroup.js +1 -0
  532. package/dist/components/Sidebar/SidebarGroup.js.map +1 -1
  533. package/dist/components/Sidebar/SidebarGroupLabel.cjs +1 -1
  534. package/dist/components/Sidebar/SidebarGroupLabel.cjs.map +1 -1
  535. package/dist/components/Sidebar/SidebarGroupLabel.d.ts.map +1 -1
  536. package/dist/components/Sidebar/SidebarGroupLabel.js +1 -0
  537. package/dist/components/Sidebar/SidebarGroupLabel.js.map +1 -1
  538. package/dist/components/Sidebar/SidebarHeader.cjs +1 -1
  539. package/dist/components/Sidebar/SidebarHeader.cjs.map +1 -1
  540. package/dist/components/Sidebar/SidebarHeader.d.ts.map +1 -1
  541. package/dist/components/Sidebar/SidebarHeader.js +1 -0
  542. package/dist/components/Sidebar/SidebarHeader.js.map +1 -1
  543. package/dist/components/Sidebar/SidebarInset.cjs +1 -1
  544. package/dist/components/Sidebar/SidebarInset.cjs.map +1 -1
  545. package/dist/components/Sidebar/SidebarInset.d.ts.map +1 -1
  546. package/dist/components/Sidebar/SidebarInset.js +1 -0
  547. package/dist/components/Sidebar/SidebarInset.js.map +1 -1
  548. package/dist/components/Sidebar/SidebarMenu.cjs +1 -1
  549. package/dist/components/Sidebar/SidebarMenu.cjs.map +1 -1
  550. package/dist/components/Sidebar/SidebarMenu.d.ts.map +1 -1
  551. package/dist/components/Sidebar/SidebarMenu.js +1 -0
  552. package/dist/components/Sidebar/SidebarMenu.js.map +1 -1
  553. package/dist/components/Sidebar/SidebarMenuButton.cjs +1 -1
  554. package/dist/components/Sidebar/SidebarMenuButton.cjs.map +1 -1
  555. package/dist/components/Sidebar/SidebarMenuButton.d.ts.map +1 -1
  556. package/dist/components/Sidebar/SidebarMenuButton.js +1 -0
  557. package/dist/components/Sidebar/SidebarMenuButton.js.map +1 -1
  558. package/dist/components/Sidebar/SidebarMenuItem.cjs +1 -1
  559. package/dist/components/Sidebar/SidebarMenuItem.cjs.map +1 -1
  560. package/dist/components/Sidebar/SidebarMenuItem.d.ts.map +1 -1
  561. package/dist/components/Sidebar/SidebarMenuItem.js +1 -0
  562. package/dist/components/Sidebar/SidebarMenuItem.js.map +1 -1
  563. package/dist/components/Sidebar/SidebarProvider.cjs +1 -1
  564. package/dist/components/Sidebar/SidebarProvider.cjs.map +1 -1
  565. package/dist/components/Sidebar/SidebarProvider.d.ts.map +1 -1
  566. package/dist/components/Sidebar/SidebarProvider.js +1 -0
  567. package/dist/components/Sidebar/SidebarProvider.js.map +1 -1
  568. package/dist/components/Sidebar/SidebarTrigger.cjs +1 -1
  569. package/dist/components/Sidebar/SidebarTrigger.cjs.map +1 -1
  570. package/dist/components/Sidebar/SidebarTrigger.d.ts.map +1 -1
  571. package/dist/components/Sidebar/SidebarTrigger.js +1 -0
  572. package/dist/components/Sidebar/SidebarTrigger.js.map +1 -1
  573. package/dist/components/SkipLink/SkipLink.cjs +1 -1
  574. package/dist/components/SkipLink/SkipLink.cjs.map +1 -1
  575. package/dist/components/SkipLink/SkipLink.js +1 -1
  576. package/dist/components/SkipLink/SkipLink.js.map +1 -1
  577. package/dist/components/Slider/Slider.cjs +1 -1
  578. package/dist/components/Slider/Slider.cjs.map +1 -1
  579. package/dist/components/Slider/Slider.d.ts.map +1 -1
  580. package/dist/components/Slider/Slider.js +6 -0
  581. package/dist/components/Slider/Slider.js.map +1 -1
  582. package/dist/components/Slider/Slider.variants.cjs.map +1 -1
  583. package/dist/components/Slider/Slider.variants.d.ts.map +1 -1
  584. package/dist/components/Slider/Slider.variants.js.map +1 -1
  585. package/dist/components/Spinner/Spinner.variants.cjs.map +1 -1
  586. package/dist/components/Spinner/Spinner.variants.d.ts.map +1 -1
  587. package/dist/components/Spinner/Spinner.variants.js.map +1 -1
  588. package/dist/components/SplitLayout/SplitLayout.cjs +1 -1
  589. package/dist/components/SplitLayout/SplitLayout.cjs.map +1 -1
  590. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  591. package/dist/components/SplitLayout/SplitLayout.js +1 -0
  592. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  593. package/dist/components/Stack/Stack.cjs +1 -1
  594. package/dist/components/Stack/Stack.cjs.map +1 -1
  595. package/dist/components/Stack/Stack.d.ts +11 -3
  596. package/dist/components/Stack/Stack.d.ts.map +1 -1
  597. package/dist/components/Stack/Stack.js +4 -4
  598. package/dist/components/Stack/Stack.js.map +1 -1
  599. package/dist/components/Stepper/Stepper.cjs +1 -1
  600. package/dist/components/Stepper/Stepper.cjs.map +1 -1
  601. package/dist/components/Stepper/Stepper.d.ts.map +1 -1
  602. package/dist/components/Stepper/Stepper.js +3 -0
  603. package/dist/components/Stepper/Stepper.js.map +1 -1
  604. package/dist/components/Stepper/StepperContent.cjs +1 -1
  605. package/dist/components/Stepper/StepperContent.cjs.map +1 -1
  606. package/dist/components/Stepper/StepperContent.d.ts.map +1 -1
  607. package/dist/components/Stepper/StepperContent.js +1 -0
  608. package/dist/components/Stepper/StepperContent.js.map +1 -1
  609. package/dist/components/Stepper/StepperDescription.cjs +1 -1
  610. package/dist/components/Stepper/StepperDescription.cjs.map +1 -1
  611. package/dist/components/Stepper/StepperDescription.d.ts.map +1 -1
  612. package/dist/components/Stepper/StepperDescription.js +1 -0
  613. package/dist/components/Stepper/StepperDescription.js.map +1 -1
  614. package/dist/components/Stepper/StepperIndicator.cjs +1 -1
  615. package/dist/components/Stepper/StepperIndicator.cjs.map +1 -1
  616. package/dist/components/Stepper/StepperIndicator.d.ts.map +1 -1
  617. package/dist/components/Stepper/StepperIndicator.js +2 -1
  618. package/dist/components/Stepper/StepperIndicator.js.map +1 -1
  619. package/dist/components/Stepper/StepperItem.cjs +1 -1
  620. package/dist/components/Stepper/StepperItem.cjs.map +1 -1
  621. package/dist/components/Stepper/StepperItem.d.ts.map +1 -1
  622. package/dist/components/Stepper/StepperItem.js +1 -0
  623. package/dist/components/Stepper/StepperItem.js.map +1 -1
  624. package/dist/components/Stepper/StepperTitle.cjs +1 -1
  625. package/dist/components/Stepper/StepperTitle.cjs.map +1 -1
  626. package/dist/components/Stepper/StepperTitle.d.ts.map +1 -1
  627. package/dist/components/Stepper/StepperTitle.js +1 -0
  628. package/dist/components/Stepper/StepperTitle.js.map +1 -1
  629. package/dist/components/Switch/Switch.cjs +1 -1
  630. package/dist/components/Switch/Switch.cjs.map +1 -1
  631. package/dist/components/Switch/Switch.d.ts.map +1 -1
  632. package/dist/components/Switch/Switch.js +6 -3
  633. package/dist/components/Switch/Switch.js.map +1 -1
  634. package/dist/components/Switch/Switch.variants.cjs +1 -1
  635. package/dist/components/Switch/Switch.variants.cjs.map +1 -1
  636. package/dist/components/Switch/Switch.variants.d.ts.map +1 -1
  637. package/dist/components/Switch/Switch.variants.js +4 -4
  638. package/dist/components/Switch/Switch.variants.js.map +1 -1
  639. package/dist/components/Table/Table.cjs +1 -1
  640. package/dist/components/Table/Table.cjs.map +1 -1
  641. package/dist/components/Table/Table.d.ts.map +1 -1
  642. package/dist/components/Table/Table.js +3 -0
  643. package/dist/components/Table/Table.js.map +1 -1
  644. package/dist/components/Table/TableBody.cjs +1 -1
  645. package/dist/components/Table/TableBody.cjs.map +1 -1
  646. package/dist/components/Table/TableBody.d.ts.map +1 -1
  647. package/dist/components/Table/TableBody.js +1 -0
  648. package/dist/components/Table/TableBody.js.map +1 -1
  649. package/dist/components/Table/TableCell.cjs +1 -1
  650. package/dist/components/Table/TableCell.cjs.map +1 -1
  651. package/dist/components/Table/TableCell.d.ts.map +1 -1
  652. package/dist/components/Table/TableCell.js +1 -0
  653. package/dist/components/Table/TableCell.js.map +1 -1
  654. package/dist/components/Table/TableFooter.cjs +1 -1
  655. package/dist/components/Table/TableFooter.cjs.map +1 -1
  656. package/dist/components/Table/TableFooter.d.ts.map +1 -1
  657. package/dist/components/Table/TableFooter.js +2 -1
  658. package/dist/components/Table/TableFooter.js.map +1 -1
  659. package/dist/components/Table/TableHead.cjs +1 -1
  660. package/dist/components/Table/TableHead.cjs.map +1 -1
  661. package/dist/components/Table/TableHead.d.ts.map +1 -1
  662. package/dist/components/Table/TableHead.js +2 -1
  663. package/dist/components/Table/TableHead.js.map +1 -1
  664. package/dist/components/Table/TableHeader.cjs +1 -1
  665. package/dist/components/Table/TableHeader.cjs.map +1 -1
  666. package/dist/components/Table/TableHeader.d.ts.map +1 -1
  667. package/dist/components/Table/TableHeader.js +1 -0
  668. package/dist/components/Table/TableHeader.js.map +1 -1
  669. package/dist/components/Table/TableRow.cjs +1 -1
  670. package/dist/components/Table/TableRow.cjs.map +1 -1
  671. package/dist/components/Table/TableRow.d.ts.map +1 -1
  672. package/dist/components/Table/TableRow.js +1 -0
  673. package/dist/components/Table/TableRow.js.map +1 -1
  674. package/dist/components/Tabs/Tabs.cjs +1 -1
  675. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  676. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  677. package/dist/components/Tabs/Tabs.js +1 -0
  678. package/dist/components/Tabs/Tabs.js.map +1 -1
  679. package/dist/components/Tabs/TabsContent.cjs +1 -1
  680. package/dist/components/Tabs/TabsContent.cjs.map +1 -1
  681. package/dist/components/Tabs/TabsContent.d.ts.map +1 -1
  682. package/dist/components/Tabs/TabsContent.js +1 -0
  683. package/dist/components/Tabs/TabsContent.js.map +1 -1
  684. package/dist/components/Tabs/TabsList.cjs +1 -1
  685. package/dist/components/Tabs/TabsList.cjs.map +1 -1
  686. package/dist/components/Tabs/TabsList.d.ts.map +1 -1
  687. package/dist/components/Tabs/TabsList.js +1 -0
  688. package/dist/components/Tabs/TabsList.js.map +1 -1
  689. package/dist/components/Tabs/TabsTrigger.cjs +1 -1
  690. package/dist/components/Tabs/TabsTrigger.cjs.map +1 -1
  691. package/dist/components/Tabs/TabsTrigger.d.ts.map +1 -1
  692. package/dist/components/Tabs/TabsTrigger.js +1 -0
  693. package/dist/components/Tabs/TabsTrigger.js.map +1 -1
  694. package/dist/components/Tag/Tag.variants.cjs +1 -1
  695. package/dist/components/Tag/Tag.variants.cjs.map +1 -1
  696. package/dist/components/Tag/Tag.variants.js +1 -1
  697. package/dist/components/Tag/Tag.variants.js.map +1 -1
  698. package/dist/components/Text/Text.cjs.map +1 -1
  699. package/dist/components/Text/Text.d.ts +1 -1
  700. package/dist/components/Text/Text.d.ts.map +1 -1
  701. package/dist/components/Text/Text.js.map +1 -1
  702. package/dist/components/Text/Text.variants.cjs +1 -1
  703. package/dist/components/Text/Text.variants.cjs.map +1 -1
  704. package/dist/components/Text/Text.variants.d.ts +1 -1
  705. package/dist/components/Text/Text.variants.d.ts.map +1 -1
  706. package/dist/components/Text/Text.variants.js +6 -1
  707. package/dist/components/Text/Text.variants.js.map +1 -1
  708. package/dist/components/Timeline/Timeline.cjs +1 -1
  709. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  710. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  711. package/dist/components/Timeline/Timeline.js +1 -0
  712. package/dist/components/Timeline/Timeline.js.map +1 -1
  713. package/dist/components/Timeline/TimelineItem.cjs +1 -1
  714. package/dist/components/Timeline/TimelineItem.cjs.map +1 -1
  715. package/dist/components/Timeline/TimelineItem.d.ts +2 -1
  716. package/dist/components/Timeline/TimelineItem.d.ts.map +1 -1
  717. package/dist/components/Timeline/TimelineItem.js +48 -28
  718. package/dist/components/Timeline/TimelineItem.js.map +1 -1
  719. package/dist/components/Toast/Toast.cjs +1 -1
  720. package/dist/components/Toast/Toast.cjs.map +1 -1
  721. package/dist/components/Toast/Toast.d.ts.map +1 -1
  722. package/dist/components/Toast/Toast.js +4 -0
  723. package/dist/components/Toast/Toast.js.map +1 -1
  724. package/dist/components/Toast/Toaster.cjs +1 -1
  725. package/dist/components/Toast/Toaster.cjs.map +1 -1
  726. package/dist/components/Toast/Toaster.d.ts.map +1 -1
  727. package/dist/components/Toast/Toaster.js +1 -0
  728. package/dist/components/Toast/Toaster.js.map +1 -1
  729. package/dist/components/Tooltip/TooltipContent.cjs +1 -1
  730. package/dist/components/Tooltip/TooltipContent.cjs.map +1 -1
  731. package/dist/components/Tooltip/TooltipContent.d.ts.map +1 -1
  732. package/dist/components/Tooltip/TooltipContent.js +1 -0
  733. package/dist/components/Tooltip/TooltipContent.js.map +1 -1
  734. package/dist/components/Tooltip/TooltipTrigger.cjs +1 -1
  735. package/dist/components/Tooltip/TooltipTrigger.cjs.map +1 -1
  736. package/dist/components/Tooltip/TooltipTrigger.d.ts.map +1 -1
  737. package/dist/components/Tooltip/TooltipTrigger.js +1 -0
  738. package/dist/components/Tooltip/TooltipTrigger.js.map +1 -1
  739. package/dist/index.cjs +1 -1
  740. package/dist/index.d.ts +3 -1
  741. package/dist/index.d.ts.map +1 -1
  742. package/dist/index.js +190 -188
  743. package/dist/styles-root.css +12 -1
  744. package/dist/styles.css +22 -1
  745. package/dist/utils/_tailwind-safelist.d.ts +2 -0
  746. package/dist/utils/_tailwind-safelist.d.ts.map +1 -0
  747. package/dist/utils/modal-primitive.cjs +1 -1
  748. package/dist/utils/modal-primitive.cjs.map +1 -1
  749. package/dist/utils/modal-primitive.d.ts.map +1 -1
  750. package/dist/utils/modal-primitive.js +5 -0
  751. package/dist/utils/modal-primitive.js.map +1 -1
  752. package/dist/utils/polymorphic.d.ts +11 -0
  753. package/dist/utils/polymorphic.d.ts.map +1 -0
  754. package/dist/utils/responsive-maps.cjs +2 -0
  755. package/dist/utils/responsive-maps.cjs.map +1 -0
  756. package/dist/utils/responsive-maps.d.ts +50 -0
  757. package/dist/utils/responsive-maps.d.ts.map +1 -0
  758. package/dist/utils/responsive-maps.js +103 -0
  759. package/dist/utils/responsive-maps.js.map +1 -0
  760. package/dist/utils/responsive.cjs +1 -1
  761. package/dist/utils/responsive.cjs.map +1 -1
  762. package/dist/utils/responsive.d.ts +2 -19
  763. package/dist/utils/responsive.d.ts.map +1 -1
  764. package/dist/utils/responsive.js +23 -113
  765. package/dist/utils/responsive.js.map +1 -1
  766. package/package.json +6 -2
@@ -20,6 +20,7 @@ function c({ ref: c, className: l, intent: u, size: d, value: f, children: p, di
20
20
  };
21
21
  return /* @__PURE__ */ s("label", {
22
22
  className: e("inline-flex items-center gap-(--space-2) cursor-pointer select-none min-h-6 min-w-6", x ? "cursor-not-allowed" : void 0, l),
23
+ "data-slot": "item",
23
24
  children: [
24
25
  /* @__PURE__ */ o("input", {
25
26
  ref: t(c, v),
@@ -30,6 +31,7 @@ function c({ ref: c, className: l, intent: u, size: d, value: f, children: p, di
30
31
  disabled: x,
31
32
  tabIndex: C,
32
33
  className: "peer sr-only",
34
+ "data-slot": "item-input",
33
35
  ...g,
34
36
  onChange: w
35
37
  }),
@@ -39,10 +41,12 @@ function c({ ref: c, className: l, intent: u, size: d, value: f, children: p, di
39
41
  intent: u,
40
42
  size: d
41
43
  })),
44
+ "data-slot": "item-indicator",
42
45
  children: /* @__PURE__ */ o("span", { className: "hidden size-1/2 rounded-full bg-current" })
43
46
  }),
44
47
  p && /* @__PURE__ */ o(n, {
45
48
  as: "span",
49
+ "data-slot": "item-label",
46
50
  children: p
47
51
  })
48
52
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":[],"sources":["../../../src/components/RadioGroup/Radio.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { Text } from \"@nuka/components/Text\";\nimport { useRadioGroup } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport {\n radioIndicatorVariants,\n type RadioVariantProps,\n} from \"@nuka/components/RadioGroup/Radio.variants\";\n\nexport interface RadioProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"type\">,\n RadioVariantProps {\n ref?: React.Ref<HTMLInputElement> | undefined;\n value: string;\n children?: React.ReactNode;\n}\n\nfunction Radio({\n ref,\n className,\n intent,\n size,\n value,\n children,\n disabled,\n name,\n ...props\n}: RadioProps) {\n const ctx = useRadioGroup();\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n const resolvedName = ctx.name || name;\n const isChecked = ctx.value !== undefined ? ctx.value === value : undefined;\n const isDisabled = disabled ?? (ctx.disabled || undefined);\n const isFocusTarget = ctx.focusedValue === value;\n const tabIndex = ctx.name ? (isFocusTarget ? 0 : -1) : undefined;\n\n React.useEffect(() => {\n const node = internalRef.current;\n ctx.registerRef(value, node);\n return () => {\n ctx.registerRef(value, null);\n };\n }, [ctx, value]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n props.onChange?.(e);\n ctx.onChange(value);\n };\n\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-(--space-2) cursor-pointer select-none min-h-6 min-w-6\",\n isDisabled ? \"cursor-not-allowed\" : undefined,\n className,\n )}\n >\n <input\n ref={composeRefs(ref, internalRef)}\n type=\"radio\"\n name={resolvedName}\n value={value}\n checked={isChecked}\n disabled={isDisabled}\n tabIndex={tabIndex}\n className=\"peer sr-only\"\n {...props}\n onChange={handleChange}\n />\n <span\n aria-hidden=\"true\"\n className={cn(radioIndicatorVariants({ intent, size }))}\n >\n <span className=\"hidden size-1/2 rounded-full bg-current\" />\n </span>\n {children && <Text as=\"span\">{children}</Text>}\n </label>\n );\n}\n\nRadio.displayName = \"Radio\";\n\nexport { Radio };\n"],"mappings":";;;;;;;;;AAoBA,SAAS,EAAM,EACb,QACA,cACA,WACA,SACA,UACA,aACA,aACA,SACA,GAAG,KACU;CACb,IAAM,IAAM,GAAe,EACrB,IAAc,EAAM,OAAyB,KAAK,EAElD,IAAe,EAAI,QAAQ,GAC3B,IAAY,EAAI,UAAU,KAAA,IAAkC,KAAA,IAAtB,EAAI,UAAU,GACpD,IAAa,MAAa,EAAI,YAAY,KAAA,IAC1C,IAAgB,EAAI,iBAAiB,GACrC,IAAW,EAAI,OAAQ,IAAgB,IAAI,KAAM,KAAA;AAEvD,GAAM,gBAAgB;EACpB,IAAM,IAAO,EAAY;AAEzB,SADA,EAAI,YAAY,GAAO,EAAK,QACf;AACX,KAAI,YAAY,GAAO,KAAK;;IAE7B,CAAC,GAAK,EAAM,CAAC;CAEhB,IAAM,KAAgB,MAA2C;AAE/D,EADA,EAAM,WAAW,EAAE,EACnB,EAAI,SAAS,EAAM;;AAGrB,QACE,kBAAC,SAAD;EACE,WAAW,EACT,uFACA,IAAa,uBAAuB,KAAA,GACpC,EACD;YALH;GAOE,kBAAC,SAAD;IACE,KAAK,EAAY,GAAK,EAAY;IAClC,MAAK;IACL,MAAM;IACC;IACP,SAAS;IACT,UAAU;IACA;IACV,WAAU;IACV,GAAI;IACJ,UAAU;IACV,CAAA;GACF,kBAAC,QAAD;IACE,eAAY;IACZ,WAAW,EAAG,EAAuB;KAAE;KAAQ;KAAM,CAAC,CAAC;cAEvD,kBAAC,QAAD,EAAM,WAAU,2CAA4C,CAAA;IACvD,CAAA;GACN,KAAY,kBAAC,GAAD;IAAM,IAAG;IAAQ;IAAgB,CAAA;GACxC;;;AAIZ,EAAM,cAAc"}
1
+ {"version":3,"file":"Radio.js","names":[],"sources":["../../../src/components/RadioGroup/Radio.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { Text } from \"@nuka/components/Text\";\nimport { useRadioGroup } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport {\n radioIndicatorVariants,\n type RadioVariantProps,\n} from \"@nuka/components/RadioGroup/Radio.variants\";\n\nexport interface RadioProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"type\">,\n RadioVariantProps {\n ref?: React.Ref<HTMLInputElement> | undefined;\n value: string;\n children?: React.ReactNode;\n}\n\nfunction Radio({\n ref,\n className,\n intent,\n size,\n value,\n children,\n disabled,\n name,\n ...props\n}: RadioProps) {\n const ctx = useRadioGroup();\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n const resolvedName = ctx.name || name;\n const isChecked = ctx.value !== undefined ? ctx.value === value : undefined;\n const isDisabled = disabled ?? (ctx.disabled || undefined);\n const isFocusTarget = ctx.focusedValue === value;\n const tabIndex = ctx.name ? (isFocusTarget ? 0 : -1) : undefined;\n\n React.useEffect(() => {\n const node = internalRef.current;\n ctx.registerRef(value, node);\n return () => {\n ctx.registerRef(value, null);\n };\n }, [ctx, value]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n props.onChange?.(e);\n ctx.onChange(value);\n };\n\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-(--space-2) cursor-pointer select-none min-h-6 min-w-6\",\n isDisabled ? \"cursor-not-allowed\" : undefined,\n className,\n )}\n data-slot=\"item\"\n >\n <input\n ref={composeRefs(ref, internalRef)}\n type=\"radio\"\n name={resolvedName}\n value={value}\n checked={isChecked}\n disabled={isDisabled}\n tabIndex={tabIndex}\n className=\"peer sr-only\"\n data-slot=\"item-input\"\n {...props}\n onChange={handleChange}\n />\n <span\n aria-hidden=\"true\"\n className={cn(radioIndicatorVariants({ intent, size }))}\n data-slot=\"item-indicator\"\n >\n <span className=\"hidden size-1/2 rounded-full bg-current\" />\n </span>\n {children && (\n <Text as=\"span\" data-slot=\"item-label\">\n {children}\n </Text>\n )}\n </label>\n );\n}\n\nRadio.displayName = \"Radio\";\n\nexport { Radio };\n"],"mappings":";;;;;;;;;AAoBA,SAAS,EAAM,EACb,QACA,cACA,WACA,SACA,UACA,aACA,aACA,SACA,GAAG,KACU;CACb,IAAM,IAAM,GAAe,EACrB,IAAc,EAAM,OAAyB,KAAK,EAElD,IAAe,EAAI,QAAQ,GAC3B,IAAY,EAAI,UAAU,KAAA,IAAkC,KAAA,IAAtB,EAAI,UAAU,GACpD,IAAa,MAAa,EAAI,YAAY,KAAA,IAC1C,IAAgB,EAAI,iBAAiB,GACrC,IAAW,EAAI,OAAQ,IAAgB,IAAI,KAAM,KAAA;AAEvD,GAAM,gBAAgB;EACpB,IAAM,IAAO,EAAY;AAEzB,SADA,EAAI,YAAY,GAAO,EAAK,QACf;AACX,KAAI,YAAY,GAAO,KAAK;;IAE7B,CAAC,GAAK,EAAM,CAAC;CAEhB,IAAM,KAAgB,MAA2C;AAE/D,EADA,EAAM,WAAW,EAAE,EACnB,EAAI,SAAS,EAAM;;AAGrB,QACE,kBAAC,SAAD;EACE,WAAW,EACT,uFACA,IAAa,uBAAuB,KAAA,GACpC,EACD;EACD,aAAU;YANZ;GAQE,kBAAC,SAAD;IACE,KAAK,EAAY,GAAK,EAAY;IAClC,MAAK;IACL,MAAM;IACC;IACP,SAAS;IACT,UAAU;IACA;IACV,WAAU;IACV,aAAU;IACV,GAAI;IACJ,UAAU;IACV,CAAA;GACF,kBAAC,QAAD;IACE,eAAY;IACZ,WAAW,EAAG,EAAuB;KAAE;KAAQ;KAAM,CAAC,CAAC;IACvD,aAAU;cAEV,kBAAC,QAAD,EAAM,WAAU,2CAA4C,CAAA;IACvD,CAAA;GACN,KACC,kBAAC,GAAD;IAAM,IAAG;IAAO,aAAU;IACvB;IACI,CAAA;GAEH;;;AAIZ,EAAM,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.variants.cjs","names":[],"sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"sourcesContent":["import {\n cva,\n selectionIndicatorIntentVariants,\n type VariantProps,\n} from \"@nuka/utils/variants\";\n\nexport const radioIndicatorVariants = cva(\n [\n \"inline-flex items-center justify-center shrink-0\",\n \"rounded-full\",\n \"border\",\n \"bg-(--nuka-input-bg)\",\n \"text-(--nuka-text-inverse)\",\n \"transition-colors duration-150\",\n \"peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2\",\n \"peer-focus-visible:outline-(--nuka-border-focus)\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n \"peer-checked:*:block\",\n ],\n {\n variants: {\n intent: {\n default: \"\",\n danger: \"\",\n success: \"\",\n warning: \"\",\n },\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n compoundVariants: selectionIndicatorIntentVariants,\n defaultVariants: {\n intent: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const radioVariants = radioIndicatorVariants;\n\nexport type RadioVariantProps = VariantProps<typeof radioIndicatorVariants>;\n"],"mappings":"oHAMA,IAAa,EAAyB,EAAA,IACpC,CACE,mDACA,eACA,SACA,uBACA,6BACA,iCACA,mEACA,mDACA,4DACA,uBACD,CACD,CACE,SAAU,CACR,OAAQ,CACN,QAAS,GACT,OAAQ,GACR,QAAS,GACT,QAAS,GACV,CACD,KAAM,CACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACL,CACF,CACD,iBAAkB,EAAA,iCAClB,gBAAiB,CACf,OAAQ,UACR,KAAM,KACP,CACF,CACF,CAEY,EAAgB"}
1
+ {"version":3,"file":"Radio.variants.cjs","names":[],"sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"sourcesContent":["import {\n cva,\n selectionIndicatorIntentVariants,\n type VariantProps,\n} from \"@nuka/utils/variants\";\n\nexport const radioIndicatorVariants = cva(\n [\n \"inline-flex items-center justify-center shrink-0\",\n \"rounded-full\",\n \"border\",\n \"bg-(--nuka-input-bg)\",\n \"text-(--nuka-text-inverse)\",\n \"transition-colors duration-150\",\n \"peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2\",\n \"peer-focus-visible:outline-(--nuka-border-focus)\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n \"peer-checked:*:block\",\n ],\n {\n variants: {\n intent: {\n default: \"\",\n danger: \"\",\n success: \"\",\n warning: \"\",\n },\n // Indicator sits inside the label wrapper in Radio.tsx, which provides\n // the 24x24 touch target via min-h-6 min-w-6.\n size: {\n // eslint-disable-next-line nuka/no-sub-touch-target-sizes\n sm: \"size-4\",\n // eslint-disable-next-line nuka/no-sub-touch-target-sizes\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n compoundVariants: selectionIndicatorIntentVariants,\n defaultVariants: {\n intent: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const radioVariants = radioIndicatorVariants;\n\nexport type RadioVariantProps = VariantProps<typeof radioIndicatorVariants>;\n"],"mappings":"oHAMA,IAAa,EAAyB,EAAA,IACpC,CACE,mDACA,eACA,SACA,uBACA,6BACA,iCACA,mEACA,mDACA,4DACA,uBACD,CACD,CACE,SAAU,CACR,OAAQ,CACN,QAAS,GACT,OAAQ,GACR,QAAS,GACT,QAAS,GACV,CAGD,KAAM,CAEJ,GAAI,SAEJ,GAAI,SACJ,GAAI,SACL,CACF,CACD,iBAAkB,EAAA,iCAClB,gBAAiB,CACf,OAAQ,UACR,KAAM,KACP,CACF,CACF,CAEY,EAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.variants.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB;;;8EAiClC,CAAC;AAEF,eAAO,MAAM,aAAa;;;8EAAyB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"Radio.variants.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB;;;8EAqClC,CAAC;AAEF,eAAO,MAAM,aAAa;;;8EAAyB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.variants.js","names":[],"sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"sourcesContent":["import {\n cva,\n selectionIndicatorIntentVariants,\n type VariantProps,\n} from \"@nuka/utils/variants\";\n\nexport const radioIndicatorVariants = cva(\n [\n \"inline-flex items-center justify-center shrink-0\",\n \"rounded-full\",\n \"border\",\n \"bg-(--nuka-input-bg)\",\n \"text-(--nuka-text-inverse)\",\n \"transition-colors duration-150\",\n \"peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2\",\n \"peer-focus-visible:outline-(--nuka-border-focus)\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n \"peer-checked:*:block\",\n ],\n {\n variants: {\n intent: {\n default: \"\",\n danger: \"\",\n success: \"\",\n warning: \"\",\n },\n size: {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n compoundVariants: selectionIndicatorIntentVariants,\n defaultVariants: {\n intent: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const radioVariants = radioIndicatorVariants;\n\nexport type RadioVariantProps = VariantProps<typeof radioIndicatorVariants>;\n"],"mappings":";;;AAMA,IAAa,IAAyB,EACpC;CACE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EACD;CACE,UAAU;EACR,QAAQ;GACN,SAAS;GACT,QAAQ;GACR,SAAS;GACT,SAAS;GACV;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACD,kBAAkB;CAClB,iBAAiB;EACf,QAAQ;EACR,MAAM;EACP;CACF,CACF,EAEY,IAAgB"}
1
+ {"version":3,"file":"Radio.variants.js","names":[],"sources":["../../../src/components/RadioGroup/Radio.variants.ts"],"sourcesContent":["import {\n cva,\n selectionIndicatorIntentVariants,\n type VariantProps,\n} from \"@nuka/utils/variants\";\n\nexport const radioIndicatorVariants = cva(\n [\n \"inline-flex items-center justify-center shrink-0\",\n \"rounded-full\",\n \"border\",\n \"bg-(--nuka-input-bg)\",\n \"text-(--nuka-text-inverse)\",\n \"transition-colors duration-150\",\n \"peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2\",\n \"peer-focus-visible:outline-(--nuka-border-focus)\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n \"peer-checked:*:block\",\n ],\n {\n variants: {\n intent: {\n default: \"\",\n danger: \"\",\n success: \"\",\n warning: \"\",\n },\n // Indicator sits inside the label wrapper in Radio.tsx, which provides\n // the 24x24 touch target via min-h-6 min-w-6.\n size: {\n // eslint-disable-next-line nuka/no-sub-touch-target-sizes\n sm: \"size-4\",\n // eslint-disable-next-line nuka/no-sub-touch-target-sizes\n md: \"size-5\",\n lg: \"size-6\",\n },\n },\n compoundVariants: selectionIndicatorIntentVariants,\n defaultVariants: {\n intent: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const radioVariants = radioIndicatorVariants;\n\nexport type RadioVariantProps = VariantProps<typeof radioIndicatorVariants>;\n"],"mappings":";;;AAMA,IAAa,IAAyB,EACpC;CACE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EACD;CACE,UAAU;EACR,QAAQ;GACN,SAAS;GACT,QAAQ;GACR,SAAS;GACT,SAAS;GACV;EAGD,MAAM;GAEJ,IAAI;GAEJ,IAAI;GACJ,IAAI;GACL;EACF;CACD,kBAAkB;CAClB,iBAAiB;EACf,QAAQ;EACR,MAAM;EACP;CACF,CACF,EAEY,IAAgB"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/roving-index.cjs`),r=require(`../../hooks/use-controllable-state.cjs`),i=require(`../../hooks/use-form-field-props.cjs`),a=require(`./RadioGroup.context.cjs`);let o=require(`react`);o=e.__toESM(o,1);let s=require(`react/jsx-runtime`);function c({ref:e,className:c,name:l,value:u,defaultValue:d,disabled:f,onChange:p,orientation:m=`vertical`,children:h,...g}){let _=i.useFormFieldProps({disabled:f,"aria-invalid":g[`aria-invalid`],"aria-describedby":g[`aria-describedby`]}),v=_.resolvedDisabled??!1,[y,b]=r.useControllableState(u,d,p),x=o.useRef(new Map),[S,C]=o.useState(y),[w,T]=o.useState(0),E=o.useCallback((e,t)=>{t?(x.current.set(e,t),T(e=>e+1)):x.current.delete(e)},[]);o.useEffect(()=>{if(S===void 0){let e=Array.from(x.current.keys())[0];e!==void 0&&C(e)}},[S,y,w]);let D=o.useCallback(e=>{b(e),C(e)},[b]),O=o.useCallback(()=>{let e=[];return x.current.forEach((t,n)=>{t.disabled||e.push(n)}),e},[]),k=o.useCallback(e=>{if(g.onKeyDown?.(e),e.defaultPrevented)return;let t=O(),r=t.indexOf(S??``),i=n.getRovingIndex(e.key,r,t.length,`both`);if(i===void 0)return;e.preventDefault();let a=t[i];a!==void 0&&(C(a),D(a),x.current.get(a)?.focus())},[S,O,D,g]);return(0,s.jsx)(a.RadioGroupContext,{value:o.useMemo(()=>({name:l,value:y,disabled:v,focusedValue:S??y??void 0,setFocusedValue:C,onChange:D,registerRef:E}),[l,y,v,S,D,E]),children:(0,s.jsx)(`div`,{ref:e,role:`radiogroup`,"aria-orientation":m,"aria-invalid":_.ariaInvalid,"aria-describedby":_.ariaDescribedBy,className:t.cn(`flex`,m===`vertical`?`flex-col`:`flex-row`,`gap-(--space-2)`,c),...g,onKeyDown:k,children:h})})}c.displayName=`RadioGroup`,exports.RadioGroup=c;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/roving-index.cjs`),r=require(`../../hooks/use-controllable-state.cjs`),i=require(`../../hooks/use-form-field-props.cjs`),a=require(`./RadioGroup.context.cjs`);let o=require(`react`);o=e.__toESM(o,1);let s=require(`react/jsx-runtime`);function c({ref:e,className:c,name:l,value:u,defaultValue:d,disabled:f,onChange:p,orientation:m=`vertical`,children:h,...g}){let _=i.useFormFieldProps({disabled:f,"aria-invalid":g[`aria-invalid`],"aria-describedby":g[`aria-describedby`]}),v=_.resolvedDisabled??!1,[y,b]=r.useControllableState(u,d,p),x=o.useRef(new Map),[S,C]=o.useState(y),[w,T]=o.useState(0),E=o.useCallback((e,t)=>{t?(x.current.set(e,t),T(e=>e+1)):x.current.delete(e)},[]);o.useEffect(()=>{if(S===void 0){let e=Array.from(x.current.keys())[0];e!==void 0&&C(e)}},[S,y,w]);let D=o.useCallback(e=>{b(e),C(e)},[b]),O=o.useCallback(()=>{let e=[];return x.current.forEach((t,n)=>{t.disabled||e.push(n)}),e},[]),k=o.useCallback(e=>{if(g.onKeyDown?.(e),e.defaultPrevented)return;let t=O(),r=t.indexOf(S??``),i=n.getRovingIndex(e.key,r,t.length,`both`);if(i===void 0)return;e.preventDefault();let a=t[i];a!==void 0&&(C(a),D(a),x.current.get(a)?.focus())},[S,O,D,g]);return(0,s.jsx)(a.RadioGroupContext,{value:o.useMemo(()=>({name:l,value:y,disabled:v,focusedValue:S??y??void 0,setFocusedValue:C,onChange:D,registerRef:E}),[l,y,v,S,D,E]),children:(0,s.jsx)(`div`,{ref:e,role:`radiogroup`,"aria-orientation":m,"aria-invalid":_.ariaInvalid,"aria-describedby":_.ariaDescribedBy,className:t.cn(`flex`,m===`vertical`?`flex-col`:`flex-row`,`gap-(--space-2)`,c),"data-slot":`root`,...g,onKeyDown:k,children:h})})}c.displayName=`RadioGroup`,exports.RadioGroup=c;
2
2
  //# sourceMappingURL=RadioGroup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.cjs","names":[],"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { getRovingIndex } from \"@nuka/utils/roving-index\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { RadioGroupContext } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport type { RadioGroupContextValue } from \"@nuka/components/RadioGroup/RadioGroup.context\";\n\nexport interface RadioGroupProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\"\n> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n name: string;\n value?: string;\n defaultValue?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n orientation?: \"vertical\" | \"horizontal\";\n children: React.ReactNode;\n}\n\nfunction RadioGroup({\n ref,\n className,\n name,\n value: controlledValue,\n defaultValue,\n disabled,\n onChange,\n orientation = \"vertical\",\n children,\n ...props\n}: RadioGroupProps) {\n const field = useFormFieldProps({\n disabled,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n });\n\n const resolvedDisabled = field.resolvedDisabled ?? false;\n\n const [currentValue, setCurrentValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n\n const refsMap = React.useRef(new Map<string, HTMLInputElement>());\n\n const [focusedValue, setFocusedValue] = React.useState(currentValue);\n\n // Incremented each time a Radio mounts and registers its ref. Used as a\n // dependency for the first-focus effect below: refsMap is a ref (not state)\n // so mutating it does not trigger a re-render. Without this counter the\n // effect would run on mount before any radios have registered, read an\n // empty map, and never set focusedValue, leaving all radios at tabIndex=-1.\n const [registrationCount, setRegistrationCount] = React.useState(0);\n\n const registerRef = React.useCallback(\n (radioValue: string, node: HTMLInputElement | null) => {\n if (node) {\n refsMap.current.set(radioValue, node);\n setRegistrationCount((c) => c + 1);\n } else {\n refsMap.current.delete(radioValue);\n }\n },\n [],\n );\n\n // When the group has no selection, ensure the first non-disabled radio\n // has tabIndex=0 so the group is reachable by Tab. Depends on\n // registrationCount so it re-runs after radios mount and populate refsMap.\n React.useEffect(() => {\n if (focusedValue === undefined) {\n const firstKey = Array.from(refsMap.current.keys())[0];\n if (firstKey !== undefined) {\n setFocusedValue(firstKey);\n }\n }\n }, [focusedValue, currentValue, registrationCount]);\n\n const handleChange = React.useCallback(\n (radioValue: string) => {\n setCurrentValue(radioValue);\n setFocusedValue(radioValue);\n },\n [setCurrentValue],\n );\n\n const getOrderedValues = React.useCallback((): string[] => {\n const values: string[] = [];\n refsMap.current.forEach((node, radioValue) => {\n if (!node.disabled) {\n values.push(radioValue);\n }\n });\n return values;\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const values = getOrderedValues();\n const currentIndex = values.indexOf(focusedValue ?? \"\");\n const nextIndex = getRovingIndex(\n e.key,\n currentIndex,\n values.length,\n \"both\",\n );\n if (nextIndex === undefined) return;\n\n e.preventDefault();\n const nextValue = values[nextIndex];\n if (nextValue === undefined) return;\n setFocusedValue(nextValue);\n handleChange(nextValue);\n refsMap.current.get(nextValue)?.focus();\n },\n [focusedValue, getOrderedValues, handleChange, props],\n );\n\n const contextValue: RadioGroupContextValue = React.useMemo(\n () => ({\n name,\n value: currentValue,\n disabled: resolvedDisabled,\n focusedValue: focusedValue ?? currentValue ?? undefined,\n setFocusedValue,\n onChange: handleChange,\n registerRef,\n }),\n [\n name,\n currentValue,\n resolvedDisabled,\n focusedValue,\n handleChange,\n registerRef,\n ],\n );\n\n return (\n <RadioGroupContext value={contextValue}>\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-orientation={orientation}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n className={cn(\n \"flex\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n \"gap-(--space-2)\",\n className,\n )}\n {...props}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </RadioGroupContext>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport { RadioGroup };\n"],"mappings":"sWAuBA,SAAS,EAAW,CAClB,MACA,YACA,OACA,MAAO,EACP,eACA,WACA,WACA,cAAc,WACd,WACA,GAAG,GACe,CAClB,IAAM,EAAQ,EAAA,kBAAkB,CAC9B,WACA,eAAgB,EAAM,gBACtB,mBAAoB,EAAM,oBAC3B,CAAC,CAEI,EAAmB,EAAM,kBAAoB,GAE7C,CAAC,EAAc,GAAmB,EAAA,qBACtC,EACA,EACA,EACD,CAEK,EAAU,EAAM,OAAO,IAAI,IAAgC,CAE3D,CAAC,EAAc,GAAmB,EAAM,SAAS,EAAa,CAO9D,CAAC,EAAmB,GAAwB,EAAM,SAAS,EAAE,CAE7D,EAAc,EAAM,aACvB,EAAoB,IAAkC,CACjD,GACF,EAAQ,QAAQ,IAAI,EAAY,EAAK,CACrC,EAAsB,GAAM,EAAI,EAAE,EAElC,EAAQ,QAAQ,OAAO,EAAW,EAGtC,EAAE,CACH,CAKD,EAAM,cAAgB,CACpB,GAAI,IAAiB,IAAA,GAAW,CAC9B,IAAM,EAAW,MAAM,KAAK,EAAQ,QAAQ,MAAM,CAAC,CAAC,GAChD,IAAa,IAAA,IACf,EAAgB,EAAS,GAG5B,CAAC,EAAc,EAAc,EAAkB,CAAC,CAEnD,IAAM,EAAe,EAAM,YACxB,GAAuB,CACtB,EAAgB,EAAW,CAC3B,EAAgB,EAAW,EAE7B,CAAC,EAAgB,CAClB,CAEK,EAAmB,EAAM,gBAA4B,CACzD,IAAM,EAAmB,EAAE,CAM3B,OALA,EAAQ,QAAQ,SAAS,EAAM,IAAe,CACvC,EAAK,UACR,EAAO,KAAK,EAAW,EAEzB,CACK,GACN,EAAE,CAAC,CAEA,EAAgB,EAAM,YACzB,GAA2C,CAE1C,GADA,EAAM,YAAY,EAAE,CAChB,EAAE,iBAAkB,OAExB,IAAM,EAAS,GAAkB,CAC3B,EAAe,EAAO,QAAQ,GAAgB,GAAG,CACjD,EAAY,EAAA,eAChB,EAAE,IACF,EACA,EAAO,OACP,OACD,CACD,GAAI,IAAc,IAAA,GAAW,OAE7B,EAAE,gBAAgB,CAClB,IAAM,EAAY,EAAO,GACrB,IAAc,IAAA,KAClB,EAAgB,EAAU,CAC1B,EAAa,EAAU,CACvB,EAAQ,QAAQ,IAAI,EAAU,EAAE,OAAO,GAEzC,CAAC,EAAc,EAAkB,EAAc,EAAM,CACtD,CAsBD,OACE,EAAA,EAAA,KAAC,EAAA,kBAAD,CAAmB,MArBwB,EAAM,aAC1C,CACL,OACA,MAAO,EACP,SAAU,EACV,aAAc,GAAgB,GAAgB,IAAA,GAC9C,kBACA,SAAU,EACV,cACD,EACD,CACE,EACA,EACA,EACA,EACA,EACA,EACD,CACF,WAIG,EAAA,EAAA,KAAC,MAAD,CACO,MACL,KAAK,aACL,mBAAkB,EAClB,eAAc,EAAM,YACpB,mBAAkB,EAAM,gBACxB,UAAW,EAAA,GACT,OACA,IAAgB,WAAa,WAAa,WAC1C,kBACA,EACD,CACD,GAAI,EACJ,UAAW,EAEV,WACG,CAAA,CACY,CAAA,CAIxB,EAAW,YAAc"}
1
+ {"version":3,"file":"RadioGroup.cjs","names":[],"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { getRovingIndex } from \"@nuka/utils/roving-index\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { RadioGroupContext } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport type { RadioGroupContextValue } from \"@nuka/components/RadioGroup/RadioGroup.context\";\n\nexport interface RadioGroupProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\"\n> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n name: string;\n value?: string;\n defaultValue?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n orientation?: \"vertical\" | \"horizontal\";\n children: React.ReactNode;\n}\n\nfunction RadioGroup({\n ref,\n className,\n name,\n value: controlledValue,\n defaultValue,\n disabled,\n onChange,\n orientation = \"vertical\",\n children,\n ...props\n}: RadioGroupProps) {\n const field = useFormFieldProps({\n disabled,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n });\n\n const resolvedDisabled = field.resolvedDisabled ?? false;\n\n const [currentValue, setCurrentValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n\n const refsMap = React.useRef(new Map<string, HTMLInputElement>());\n\n const [focusedValue, setFocusedValue] = React.useState(currentValue);\n\n // Incremented each time a Radio mounts and registers its ref. Used as a\n // dependency for the first-focus effect below: refsMap is a ref (not state)\n // so mutating it does not trigger a re-render. Without this counter the\n // effect would run on mount before any radios have registered, read an\n // empty map, and never set focusedValue, leaving all radios at tabIndex=-1.\n const [registrationCount, setRegistrationCount] = React.useState(0);\n\n const registerRef = React.useCallback(\n (radioValue: string, node: HTMLInputElement | null) => {\n if (node) {\n refsMap.current.set(radioValue, node);\n setRegistrationCount((c) => c + 1);\n } else {\n refsMap.current.delete(radioValue);\n }\n },\n [],\n );\n\n // When the group has no selection, ensure the first non-disabled radio\n // has tabIndex=0 so the group is reachable by Tab. Depends on\n // registrationCount so it re-runs after radios mount and populate refsMap.\n React.useEffect(() => {\n if (focusedValue === undefined) {\n const firstKey = Array.from(refsMap.current.keys())[0];\n if (firstKey !== undefined) {\n setFocusedValue(firstKey);\n }\n }\n }, [focusedValue, currentValue, registrationCount]);\n\n const handleChange = React.useCallback(\n (radioValue: string) => {\n setCurrentValue(radioValue);\n setFocusedValue(radioValue);\n },\n [setCurrentValue],\n );\n\n const getOrderedValues = React.useCallback((): string[] => {\n const values: string[] = [];\n refsMap.current.forEach((node, radioValue) => {\n if (!node.disabled) {\n values.push(radioValue);\n }\n });\n return values;\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const values = getOrderedValues();\n const currentIndex = values.indexOf(focusedValue ?? \"\");\n const nextIndex = getRovingIndex(\n e.key,\n currentIndex,\n values.length,\n \"both\",\n );\n if (nextIndex === undefined) return;\n\n e.preventDefault();\n const nextValue = values[nextIndex];\n if (nextValue === undefined) return;\n setFocusedValue(nextValue);\n handleChange(nextValue);\n refsMap.current.get(nextValue)?.focus();\n },\n [focusedValue, getOrderedValues, handleChange, props],\n );\n\n const contextValue: RadioGroupContextValue = React.useMemo(\n () => ({\n name,\n value: currentValue,\n disabled: resolvedDisabled,\n focusedValue: focusedValue ?? currentValue ?? undefined,\n setFocusedValue,\n onChange: handleChange,\n registerRef,\n }),\n [\n name,\n currentValue,\n resolvedDisabled,\n focusedValue,\n handleChange,\n registerRef,\n ],\n );\n\n return (\n <RadioGroupContext value={contextValue}>\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-orientation={orientation}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n className={cn(\n \"flex\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n \"gap-(--space-2)\",\n className,\n )}\n data-slot=\"root\"\n {...props}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </RadioGroupContext>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport { RadioGroup };\n"],"mappings":"sWAuBA,SAAS,EAAW,CAClB,MACA,YACA,OACA,MAAO,EACP,eACA,WACA,WACA,cAAc,WACd,WACA,GAAG,GACe,CAClB,IAAM,EAAQ,EAAA,kBAAkB,CAC9B,WACA,eAAgB,EAAM,gBACtB,mBAAoB,EAAM,oBAC3B,CAAC,CAEI,EAAmB,EAAM,kBAAoB,GAE7C,CAAC,EAAc,GAAmB,EAAA,qBACtC,EACA,EACA,EACD,CAEK,EAAU,EAAM,OAAO,IAAI,IAAgC,CAE3D,CAAC,EAAc,GAAmB,EAAM,SAAS,EAAa,CAO9D,CAAC,EAAmB,GAAwB,EAAM,SAAS,EAAE,CAE7D,EAAc,EAAM,aACvB,EAAoB,IAAkC,CACjD,GACF,EAAQ,QAAQ,IAAI,EAAY,EAAK,CACrC,EAAsB,GAAM,EAAI,EAAE,EAElC,EAAQ,QAAQ,OAAO,EAAW,EAGtC,EAAE,CACH,CAKD,EAAM,cAAgB,CACpB,GAAI,IAAiB,IAAA,GAAW,CAC9B,IAAM,EAAW,MAAM,KAAK,EAAQ,QAAQ,MAAM,CAAC,CAAC,GAChD,IAAa,IAAA,IACf,EAAgB,EAAS,GAG5B,CAAC,EAAc,EAAc,EAAkB,CAAC,CAEnD,IAAM,EAAe,EAAM,YACxB,GAAuB,CACtB,EAAgB,EAAW,CAC3B,EAAgB,EAAW,EAE7B,CAAC,EAAgB,CAClB,CAEK,EAAmB,EAAM,gBAA4B,CACzD,IAAM,EAAmB,EAAE,CAM3B,OALA,EAAQ,QAAQ,SAAS,EAAM,IAAe,CACvC,EAAK,UACR,EAAO,KAAK,EAAW,EAEzB,CACK,GACN,EAAE,CAAC,CAEA,EAAgB,EAAM,YACzB,GAA2C,CAE1C,GADA,EAAM,YAAY,EAAE,CAChB,EAAE,iBAAkB,OAExB,IAAM,EAAS,GAAkB,CAC3B,EAAe,EAAO,QAAQ,GAAgB,GAAG,CACjD,EAAY,EAAA,eAChB,EAAE,IACF,EACA,EAAO,OACP,OACD,CACD,GAAI,IAAc,IAAA,GAAW,OAE7B,EAAE,gBAAgB,CAClB,IAAM,EAAY,EAAO,GACrB,IAAc,IAAA,KAClB,EAAgB,EAAU,CAC1B,EAAa,EAAU,CACvB,EAAQ,QAAQ,IAAI,EAAU,EAAE,OAAO,GAEzC,CAAC,EAAc,EAAkB,EAAc,EAAM,CACtD,CAsBD,OACE,EAAA,EAAA,KAAC,EAAA,kBAAD,CAAmB,MArBwB,EAAM,aAC1C,CACL,OACA,MAAO,EACP,SAAU,EACV,aAAc,GAAgB,GAAgB,IAAA,GAC9C,kBACA,SAAU,EACV,cACD,EACD,CACE,EACA,EACA,EACA,EACA,EACA,EACD,CACF,WAIG,EAAA,EAAA,KAAC,MAAD,CACO,MACL,KAAK,aACL,mBAAkB,EAClB,eAAc,EAAM,YACpB,mBAAkB,EAAM,gBACxB,UAAW,EAAA,GACT,OACA,IAAgB,WAAa,WAAa,WAC1C,kBACA,EACD,CACD,YAAU,OACV,GAAI,EACJ,UAAW,EAEV,WACG,CAAA,CACY,CAAA,CAIxB,EAAW,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,SAAS,EACT,IAAI,EACJ,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAwB,EACxB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAsIjB;kBAjJQ,UAAU;;;AAqJnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,SAAS,EACT,IAAI,EACJ,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAwB,EACxB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAuIjB;kBAlJQ,UAAU;;;AAsJnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -69,6 +69,7 @@ function s({ ref: s, className: c, name: l, value: u, defaultValue: d, disabled:
69
69
  "aria-invalid": _.ariaInvalid,
70
70
  "aria-describedby": _.ariaDescribedBy,
71
71
  className: e("flex", m === "vertical" ? "flex-col" : "flex-row", "gap-(--space-2)", c),
72
+ "data-slot": "root",
72
73
  ...g,
73
74
  onKeyDown: k,
74
75
  children: h
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":[],"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { getRovingIndex } from \"@nuka/utils/roving-index\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { RadioGroupContext } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport type { RadioGroupContextValue } from \"@nuka/components/RadioGroup/RadioGroup.context\";\n\nexport interface RadioGroupProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\"\n> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n name: string;\n value?: string;\n defaultValue?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n orientation?: \"vertical\" | \"horizontal\";\n children: React.ReactNode;\n}\n\nfunction RadioGroup({\n ref,\n className,\n name,\n value: controlledValue,\n defaultValue,\n disabled,\n onChange,\n orientation = \"vertical\",\n children,\n ...props\n}: RadioGroupProps) {\n const field = useFormFieldProps({\n disabled,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n });\n\n const resolvedDisabled = field.resolvedDisabled ?? false;\n\n const [currentValue, setCurrentValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n\n const refsMap = React.useRef(new Map<string, HTMLInputElement>());\n\n const [focusedValue, setFocusedValue] = React.useState(currentValue);\n\n // Incremented each time a Radio mounts and registers its ref. Used as a\n // dependency for the first-focus effect below: refsMap is a ref (not state)\n // so mutating it does not trigger a re-render. Without this counter the\n // effect would run on mount before any radios have registered, read an\n // empty map, and never set focusedValue, leaving all radios at tabIndex=-1.\n const [registrationCount, setRegistrationCount] = React.useState(0);\n\n const registerRef = React.useCallback(\n (radioValue: string, node: HTMLInputElement | null) => {\n if (node) {\n refsMap.current.set(radioValue, node);\n setRegistrationCount((c) => c + 1);\n } else {\n refsMap.current.delete(radioValue);\n }\n },\n [],\n );\n\n // When the group has no selection, ensure the first non-disabled radio\n // has tabIndex=0 so the group is reachable by Tab. Depends on\n // registrationCount so it re-runs after radios mount and populate refsMap.\n React.useEffect(() => {\n if (focusedValue === undefined) {\n const firstKey = Array.from(refsMap.current.keys())[0];\n if (firstKey !== undefined) {\n setFocusedValue(firstKey);\n }\n }\n }, [focusedValue, currentValue, registrationCount]);\n\n const handleChange = React.useCallback(\n (radioValue: string) => {\n setCurrentValue(radioValue);\n setFocusedValue(radioValue);\n },\n [setCurrentValue],\n );\n\n const getOrderedValues = React.useCallback((): string[] => {\n const values: string[] = [];\n refsMap.current.forEach((node, radioValue) => {\n if (!node.disabled) {\n values.push(radioValue);\n }\n });\n return values;\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const values = getOrderedValues();\n const currentIndex = values.indexOf(focusedValue ?? \"\");\n const nextIndex = getRovingIndex(\n e.key,\n currentIndex,\n values.length,\n \"both\",\n );\n if (nextIndex === undefined) return;\n\n e.preventDefault();\n const nextValue = values[nextIndex];\n if (nextValue === undefined) return;\n setFocusedValue(nextValue);\n handleChange(nextValue);\n refsMap.current.get(nextValue)?.focus();\n },\n [focusedValue, getOrderedValues, handleChange, props],\n );\n\n const contextValue: RadioGroupContextValue = React.useMemo(\n () => ({\n name,\n value: currentValue,\n disabled: resolvedDisabled,\n focusedValue: focusedValue ?? currentValue ?? undefined,\n setFocusedValue,\n onChange: handleChange,\n registerRef,\n }),\n [\n name,\n currentValue,\n resolvedDisabled,\n focusedValue,\n handleChange,\n registerRef,\n ],\n );\n\n return (\n <RadioGroupContext value={contextValue}>\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-orientation={orientation}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n className={cn(\n \"flex\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n \"gap-(--space-2)\",\n className,\n )}\n {...props}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </RadioGroupContext>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport { RadioGroup };\n"],"mappings":";;;;;;;;;AAuBA,SAAS,EAAW,EAClB,QACA,cACA,SACA,OAAO,GACP,iBACA,aACA,aACA,iBAAc,YACd,aACA,GAAG,KACe;CAClB,IAAM,IAAQ,EAAkB;EAC9B;EACA,gBAAgB,EAAM;EACtB,oBAAoB,EAAM;EAC3B,CAAC,EAEI,IAAmB,EAAM,oBAAoB,IAE7C,CAAC,GAAc,KAAmB,EACtC,GACA,GACA,EACD,EAEK,IAAU,EAAM,uBAAO,IAAI,KAA+B,CAAC,EAE3D,CAAC,GAAc,KAAmB,EAAM,SAAS,EAAa,EAO9D,CAAC,GAAmB,KAAwB,EAAM,SAAS,EAAE,EAE7D,IAAc,EAAM,aACvB,GAAoB,MAAkC;AACrD,EAAI,KACF,EAAQ,QAAQ,IAAI,GAAY,EAAK,EACrC,GAAsB,MAAM,IAAI,EAAE,IAElC,EAAQ,QAAQ,OAAO,EAAW;IAGtC,EAAE,CACH;AAKD,GAAM,gBAAgB;AACpB,MAAI,MAAiB,KAAA,GAAW;GAC9B,IAAM,IAAW,MAAM,KAAK,EAAQ,QAAQ,MAAM,CAAC,CAAC;AACpD,GAAI,MAAa,KAAA,KACf,EAAgB,EAAS;;IAG5B;EAAC;EAAc;EAAc;EAAkB,CAAC;CAEnD,IAAM,IAAe,EAAM,aACxB,MAAuB;AAEtB,EADA,EAAgB,EAAW,EAC3B,EAAgB,EAAW;IAE7B,CAAC,EAAgB,CAClB,EAEK,IAAmB,EAAM,kBAA4B;EACzD,IAAM,IAAmB,EAAE;AAM3B,SALA,EAAQ,QAAQ,SAAS,GAAM,MAAe;AAC5C,GAAK,EAAK,YACR,EAAO,KAAK,EAAW;IAEzB,EACK;IACN,EAAE,CAAC,EAEA,IAAgB,EAAM,aACzB,MAA2C;AAE1C,MADA,EAAM,YAAY,EAAE,EAChB,EAAE,iBAAkB;EAExB,IAAM,IAAS,GAAkB,EAC3B,IAAe,EAAO,QAAQ,KAAgB,GAAG,EACjD,IAAY,EAChB,EAAE,KACF,GACA,EAAO,QACP,OACD;AACD,MAAI,MAAc,KAAA,EAAW;AAE7B,IAAE,gBAAgB;EAClB,IAAM,IAAY,EAAO;AACrB,QAAc,KAAA,MAClB,EAAgB,EAAU,EAC1B,EAAa,EAAU,EACvB,EAAQ,QAAQ,IAAI,EAAU,EAAE,OAAO;IAEzC;EAAC;EAAc;EAAkB;EAAc;EAAM,CACtD;AAsBD,QACE,kBAAC,GAAD;EAAmB,OArBwB,EAAM,eAC1C;GACL;GACA,OAAO;GACP,UAAU;GACV,cAAc,KAAgB,KAAgB,KAAA;GAC9C;GACA,UAAU;GACV;GACD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACD,CACF;YAIG,kBAAC,OAAD;GACO;GACL,MAAK;GACL,oBAAkB;GAClB,gBAAc,EAAM;GACpB,oBAAkB,EAAM;GACxB,WAAW,EACT,QACA,MAAgB,aAAa,aAAa,YAC1C,mBACA,EACD;GACD,GAAI;GACJ,WAAW;GAEV;GACG,CAAA;EACY,CAAA;;AAIxB,EAAW,cAAc"}
1
+ {"version":3,"file":"RadioGroup.js","names":[],"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { getRovingIndex } from \"@nuka/utils/roving-index\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { RadioGroupContext } from \"@nuka/components/RadioGroup/RadioGroup.context\";\nimport type { RadioGroupContextValue } from \"@nuka/components/RadioGroup/RadioGroup.context\";\n\nexport interface RadioGroupProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\"\n> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n name: string;\n value?: string;\n defaultValue?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n orientation?: \"vertical\" | \"horizontal\";\n children: React.ReactNode;\n}\n\nfunction RadioGroup({\n ref,\n className,\n name,\n value: controlledValue,\n defaultValue,\n disabled,\n onChange,\n orientation = \"vertical\",\n children,\n ...props\n}: RadioGroupProps) {\n const field = useFormFieldProps({\n disabled,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n });\n\n const resolvedDisabled = field.resolvedDisabled ?? false;\n\n const [currentValue, setCurrentValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n\n const refsMap = React.useRef(new Map<string, HTMLInputElement>());\n\n const [focusedValue, setFocusedValue] = React.useState(currentValue);\n\n // Incremented each time a Radio mounts and registers its ref. Used as a\n // dependency for the first-focus effect below: refsMap is a ref (not state)\n // so mutating it does not trigger a re-render. Without this counter the\n // effect would run on mount before any radios have registered, read an\n // empty map, and never set focusedValue, leaving all radios at tabIndex=-1.\n const [registrationCount, setRegistrationCount] = React.useState(0);\n\n const registerRef = React.useCallback(\n (radioValue: string, node: HTMLInputElement | null) => {\n if (node) {\n refsMap.current.set(radioValue, node);\n setRegistrationCount((c) => c + 1);\n } else {\n refsMap.current.delete(radioValue);\n }\n },\n [],\n );\n\n // When the group has no selection, ensure the first non-disabled radio\n // has tabIndex=0 so the group is reachable by Tab. Depends on\n // registrationCount so it re-runs after radios mount and populate refsMap.\n React.useEffect(() => {\n if (focusedValue === undefined) {\n const firstKey = Array.from(refsMap.current.keys())[0];\n if (firstKey !== undefined) {\n setFocusedValue(firstKey);\n }\n }\n }, [focusedValue, currentValue, registrationCount]);\n\n const handleChange = React.useCallback(\n (radioValue: string) => {\n setCurrentValue(radioValue);\n setFocusedValue(radioValue);\n },\n [setCurrentValue],\n );\n\n const getOrderedValues = React.useCallback((): string[] => {\n const values: string[] = [];\n refsMap.current.forEach((node, radioValue) => {\n if (!node.disabled) {\n values.push(radioValue);\n }\n });\n return values;\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const values = getOrderedValues();\n const currentIndex = values.indexOf(focusedValue ?? \"\");\n const nextIndex = getRovingIndex(\n e.key,\n currentIndex,\n values.length,\n \"both\",\n );\n if (nextIndex === undefined) return;\n\n e.preventDefault();\n const nextValue = values[nextIndex];\n if (nextValue === undefined) return;\n setFocusedValue(nextValue);\n handleChange(nextValue);\n refsMap.current.get(nextValue)?.focus();\n },\n [focusedValue, getOrderedValues, handleChange, props],\n );\n\n const contextValue: RadioGroupContextValue = React.useMemo(\n () => ({\n name,\n value: currentValue,\n disabled: resolvedDisabled,\n focusedValue: focusedValue ?? currentValue ?? undefined,\n setFocusedValue,\n onChange: handleChange,\n registerRef,\n }),\n [\n name,\n currentValue,\n resolvedDisabled,\n focusedValue,\n handleChange,\n registerRef,\n ],\n );\n\n return (\n <RadioGroupContext value={contextValue}>\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-orientation={orientation}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n className={cn(\n \"flex\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n \"gap-(--space-2)\",\n className,\n )}\n data-slot=\"root\"\n {...props}\n onKeyDown={handleKeyDown}\n >\n {children}\n </div>\n </RadioGroupContext>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport { RadioGroup };\n"],"mappings":";;;;;;;;;AAuBA,SAAS,EAAW,EAClB,QACA,cACA,SACA,OAAO,GACP,iBACA,aACA,aACA,iBAAc,YACd,aACA,GAAG,KACe;CAClB,IAAM,IAAQ,EAAkB;EAC9B;EACA,gBAAgB,EAAM;EACtB,oBAAoB,EAAM;EAC3B,CAAC,EAEI,IAAmB,EAAM,oBAAoB,IAE7C,CAAC,GAAc,KAAmB,EACtC,GACA,GACA,EACD,EAEK,IAAU,EAAM,uBAAO,IAAI,KAA+B,CAAC,EAE3D,CAAC,GAAc,KAAmB,EAAM,SAAS,EAAa,EAO9D,CAAC,GAAmB,KAAwB,EAAM,SAAS,EAAE,EAE7D,IAAc,EAAM,aACvB,GAAoB,MAAkC;AACrD,EAAI,KACF,EAAQ,QAAQ,IAAI,GAAY,EAAK,EACrC,GAAsB,MAAM,IAAI,EAAE,IAElC,EAAQ,QAAQ,OAAO,EAAW;IAGtC,EAAE,CACH;AAKD,GAAM,gBAAgB;AACpB,MAAI,MAAiB,KAAA,GAAW;GAC9B,IAAM,IAAW,MAAM,KAAK,EAAQ,QAAQ,MAAM,CAAC,CAAC;AACpD,GAAI,MAAa,KAAA,KACf,EAAgB,EAAS;;IAG5B;EAAC;EAAc;EAAc;EAAkB,CAAC;CAEnD,IAAM,IAAe,EAAM,aACxB,MAAuB;AAEtB,EADA,EAAgB,EAAW,EAC3B,EAAgB,EAAW;IAE7B,CAAC,EAAgB,CAClB,EAEK,IAAmB,EAAM,kBAA4B;EACzD,IAAM,IAAmB,EAAE;AAM3B,SALA,EAAQ,QAAQ,SAAS,GAAM,MAAe;AAC5C,GAAK,EAAK,YACR,EAAO,KAAK,EAAW;IAEzB,EACK;IACN,EAAE,CAAC,EAEA,IAAgB,EAAM,aACzB,MAA2C;AAE1C,MADA,EAAM,YAAY,EAAE,EAChB,EAAE,iBAAkB;EAExB,IAAM,IAAS,GAAkB,EAC3B,IAAe,EAAO,QAAQ,KAAgB,GAAG,EACjD,IAAY,EAChB,EAAE,KACF,GACA,EAAO,QACP,OACD;AACD,MAAI,MAAc,KAAA,EAAW;AAE7B,IAAE,gBAAgB;EAClB,IAAM,IAAY,EAAO;AACrB,QAAc,KAAA,MAClB,EAAgB,EAAU,EAC1B,EAAa,EAAU,EACvB,EAAQ,QAAQ,IAAI,EAAU,EAAE,OAAO;IAEzC;EAAC;EAAc;EAAkB;EAAc;EAAM,CACtD;AAsBD,QACE,kBAAC,GAAD;EAAmB,OArBwB,EAAM,eAC1C;GACL;GACA,OAAO;GACP,UAAU;GACV,cAAc,KAAgB,KAAgB,KAAA;GAC9C;GACA,UAAU;GACV;GACD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACD,CACF;YAIG,kBAAC,OAAD;GACO;GACL,MAAK;GACL,oBAAkB;GAClB,gBAAc,EAAM;GACpB,oBAAkB,EAAM;GACxB,WAAW,EACT,QACA,MAAgB,aAAa,aAAa,YAC1C,mBACA,EACD;GACD,aAAU;GACV,GAAI;GACJ,WAAW;GAEV;GACG,CAAA;EACY,CAAA;;AAIxB,EAAW,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`);let n=require(`react`);n=e.__toESM(n,1);let r=require(`react/jsx-runtime`);var i={vertical:`overflow-x-hidden overflow-y-auto`,horizontal:`overflow-y-hidden overflow-x-auto`,both:`overflow-auto`};function a({ref:e,className:n,orientation:a=`vertical`,maxHeight:o,maxWidth:s,style:c,tabIndex:l,...u}){return(0,r.jsx)(`div`,{ref:e,tabIndex:l??0,className:t.cn(`nuka-scroll-area`,`[scrollbar-width:thin]`,`[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]`,i[a],n),style:{...c,maxHeight:o,maxWidth:s},...u})}a.displayName=`ScrollArea`,exports.ScrollArea=a;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`);let n=require(`react`);n=e.__toESM(n,1);let r=require(`react/jsx-runtime`);var i={vertical:`overflow-x-hidden overflow-y-auto`,horizontal:`overflow-y-hidden overflow-x-auto`,both:`overflow-auto`};function a({ref:e,className:n,orientation:a=`vertical`,maxHeight:o,maxWidth:s,style:c,tabIndex:l,...u}){return(0,r.jsx)(`div`,{ref:e,tabIndex:l??0,className:t.cn(`nuka-scroll-area`,`[scrollbar-width:thin]`,`[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]`,i[a],n),style:{...c,maxHeight:o,maxWidth:s},"data-slot":`root`,...u})}a.displayName=`ScrollArea`,exports.ScrollArea=a;
2
2
  //# sourceMappingURL=ScrollArea.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.cjs","names":[],"sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\";\n\nexport interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n orientation?: ScrollAreaOrientation;\n /** Inline style value. Justified: consumer-provided dimension cannot be\n * expressed as a static class without generating arbitrary Tailwind values. */\n maxHeight?: string;\n /** Inline style value. Same justification as maxHeight. */\n maxWidth?: string;\n}\n\nconst orientationClasses: Record<ScrollAreaOrientation, string> = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-y-hidden overflow-x-auto\",\n both: \"overflow-auto\",\n};\n\nfunction ScrollArea({\n ref,\n className,\n orientation = \"vertical\",\n maxHeight,\n maxWidth,\n style,\n tabIndex,\n ...props\n}: ScrollAreaProps) {\n return (\n <div\n ref={ref}\n tabIndex={tabIndex ?? 0}\n className={cn(\n \"nuka-scroll-area\",\n \"[scrollbar-width:thin]\",\n \"[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]\",\n orientationClasses[orientation],\n className,\n )}\n style={{ ...style, maxHeight, maxWidth }}\n {...props}\n />\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n\nexport { ScrollArea };\n"],"mappings":"gLAiBA,IAAM,EAA4D,CAChE,SAAU,oCACV,WAAY,oCACZ,KAAM,gBACP,CAED,SAAS,EAAW,CAClB,MACA,YACA,cAAc,WACd,YACA,WACA,QACA,WACA,GAAG,GACe,CAClB,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,SAAU,GAAY,EACtB,UAAW,EAAA,GACT,mBACA,yBACA,sEACA,EAAmB,GACnB,EACD,CACD,MAAO,CAAE,GAAG,EAAO,YAAW,WAAU,CACxC,GAAI,EACJ,CAAA,CAIN,EAAW,YAAc"}
1
+ {"version":3,"file":"ScrollArea.cjs","names":[],"sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\";\n\nexport interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n orientation?: ScrollAreaOrientation;\n /** Inline style value. Justified: consumer-provided dimension cannot be\n * expressed as a static class without generating arbitrary Tailwind values. */\n maxHeight?: string;\n /** Inline style value. Same justification as maxHeight. */\n maxWidth?: string;\n}\n\nconst orientationClasses: Record<ScrollAreaOrientation, string> = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-y-hidden overflow-x-auto\",\n both: \"overflow-auto\",\n};\n\nfunction ScrollArea({\n ref,\n className,\n orientation = \"vertical\",\n maxHeight,\n maxWidth,\n style,\n tabIndex,\n ...props\n}: ScrollAreaProps) {\n return (\n <div\n ref={ref}\n tabIndex={tabIndex ?? 0}\n className={cn(\n \"nuka-scroll-area\",\n \"[scrollbar-width:thin]\",\n \"[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]\",\n orientationClasses[orientation],\n className,\n )}\n style={{ ...style, maxHeight, maxWidth }}\n data-slot=\"root\"\n {...props}\n />\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n\nexport { ScrollArea };\n"],"mappings":"gLAiBA,IAAM,EAA4D,CAChE,SAAU,oCACV,WAAY,oCACZ,KAAM,gBACP,CAED,SAAS,EAAW,CAClB,MACA,YACA,cAAc,WACd,YACA,WACA,QACA,WACA,GAAG,GACe,CAClB,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,SAAU,GAAY,EACtB,UAAW,EAAA,GACT,mBACA,yBACA,sEACA,EAAmB,GACnB,EACD,CACD,MAAO,CAAE,GAAG,EAAO,YAAW,WAAU,CACxC,YAAU,OACV,GAAI,EACJ,CAAA,CAIN,EAAW,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;oFACgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,SAAS,EACT,WAAwB,EACxB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAgBjB;kBAzBQ,UAAU;;;AA6BnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;oFACgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,SAAS,EACT,WAAwB,EACxB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAiBjB;kBA1BQ,UAAU;;;AA8BnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -18,6 +18,7 @@ function r({ ref: r, className: i, orientation: a = "vertical", maxHeight: o, ma
18
18
  maxHeight: o,
19
19
  maxWidth: s
20
20
  },
21
+ "data-slot": "root",
21
22
  ...u
22
23
  });
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.js","names":[],"sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\";\n\nexport interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n orientation?: ScrollAreaOrientation;\n /** Inline style value. Justified: consumer-provided dimension cannot be\n * expressed as a static class without generating arbitrary Tailwind values. */\n maxHeight?: string;\n /** Inline style value. Same justification as maxHeight. */\n maxWidth?: string;\n}\n\nconst orientationClasses: Record<ScrollAreaOrientation, string> = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-y-hidden overflow-x-auto\",\n both: \"overflow-auto\",\n};\n\nfunction ScrollArea({\n ref,\n className,\n orientation = \"vertical\",\n maxHeight,\n maxWidth,\n style,\n tabIndex,\n ...props\n}: ScrollAreaProps) {\n return (\n <div\n ref={ref}\n tabIndex={tabIndex ?? 0}\n className={cn(\n \"nuka-scroll-area\",\n \"[scrollbar-width:thin]\",\n \"[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]\",\n orientationClasses[orientation],\n className,\n )}\n style={{ ...style, maxHeight, maxWidth }}\n {...props}\n />\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n\nexport { ScrollArea };\n"],"mappings":";;;;;AAiBA,IAAM,IAA4D;CAChE,UAAU;CACV,YAAY;CACZ,MAAM;CACP;AAED,SAAS,EAAW,EAClB,QACA,cACA,iBAAc,YACd,cACA,aACA,UACA,aACA,GAAG,KACe;AAClB,QACE,kBAAC,OAAD;EACO;EACL,UAAU,KAAY;EACtB,WAAW,EACT,oBACA,0BACA,uEACA,EAAmB,IACnB,EACD;EACD,OAAO;GAAE,GAAG;GAAO;GAAW;GAAU;EACxC,GAAI;EACJ,CAAA;;AAIN,EAAW,cAAc"}
1
+ {"version":3,"file":"ScrollArea.js","names":[],"sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\";\n\nexport interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n orientation?: ScrollAreaOrientation;\n /** Inline style value. Justified: consumer-provided dimension cannot be\n * expressed as a static class without generating arbitrary Tailwind values. */\n maxHeight?: string;\n /** Inline style value. Same justification as maxHeight. */\n maxWidth?: string;\n}\n\nconst orientationClasses: Record<ScrollAreaOrientation, string> = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-y-hidden overflow-x-auto\",\n both: \"overflow-auto\",\n};\n\nfunction ScrollArea({\n ref,\n className,\n orientation = \"vertical\",\n maxHeight,\n maxWidth,\n style,\n tabIndex,\n ...props\n}: ScrollAreaProps) {\n return (\n <div\n ref={ref}\n tabIndex={tabIndex ?? 0}\n className={cn(\n \"nuka-scroll-area\",\n \"[scrollbar-width:thin]\",\n \"[scrollbar-color:var(--nuka-scroll-thumb)_var(--nuka-scroll-track)]\",\n orientationClasses[orientation],\n className,\n )}\n style={{ ...style, maxHeight, maxWidth }}\n data-slot=\"root\"\n {...props}\n />\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n\nexport { ScrollArea };\n"],"mappings":";;;;;AAiBA,IAAM,IAA4D;CAChE,UAAU;CACV,YAAY;CACZ,MAAM;CACP;AAED,SAAS,EAAW,EAClB,QACA,cACA,iBAAc,YACd,cACA,aACA,UACA,aACA,GAAG,KACe;AAClB,QACE,kBAAC,OAAD;EACO;EACL,UAAU,KAAY;EACtB,WAAW,EACT,oBACA,0BACA,uEACA,EAAmB,IACnB,EACD;EACD,OAAO;GAAE,GAAG;GAAO;GAAW;GAAU;EACxC,aAAU;EACV,GAAI;EACJ,CAAA;;AAIN,EAAW,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/slot.cjs`),r=require(`./Section.variants.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o({ref:e,as:i=`section`,className:o,spacing:s,background:c,divider:l,asChild:u=!1,...d}){return(0,a.jsx)(u?n.Slot:i,{ref:e,className:t.cn(r.sectionVariants({spacing:s,background:c,divider:l}),o),...d})}o.displayName=`Section`,exports.Section=o;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/slot.cjs`),r=require(`./Section.variants.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o({ref:e,as:i=`section`,className:o,spacing:s,background:c,divider:l,asChild:u=!1,...d}){return(0,a.jsx)(u?n.Slot:i,{ref:e,"data-surface":c===`emphasis`?`inverse`:void 0,className:t.cn(r.sectionVariants({spacing:s,background:c,divider:l}),o),...d})}o.displayName=`Section`,exports.Section=o;
2
2
  //# sourceMappingURL=Section.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Section.cjs","names":[],"sources":["../../../src/components/Section/Section.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@nuka/utils/slot\";\nimport { cn } from \"@nuka/utils/cn\";\nimport {\n sectionVariants,\n type SectionVariantProps,\n} from \"@nuka/components/Section/Section.variants\";\n\ntype SectionElement =\n | \"section\"\n | \"div\"\n | \"article\"\n | \"aside\"\n | \"main\"\n | \"header\"\n | \"footer\";\n\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>, SectionVariantProps {\n ref?: React.Ref<HTMLElement> | undefined;\n as?: SectionElement;\n asChild?: boolean;\n}\n\nfunction Section({\n ref,\n as: Comp = \"section\",\n className,\n spacing,\n background,\n divider,\n asChild = false,\n ...props\n}: SectionProps) {\n const Tag = asChild ? Slot : Comp;\n\n return (\n <Tag\n ref={ref as React.RefObject<never>}\n className={cn(\n sectionVariants({ spacing, background, divider }),\n className,\n )}\n {...props}\n />\n );\n}\n\nSection.displayName = \"Section\";\n\nexport { Section, sectionVariants };\n"],"mappings":"sPA0BA,SAAS,EAAQ,CACf,MACA,GAAI,EAAO,UACX,YACA,UACA,aACA,UACA,UAAU,GACV,GAAG,GACY,CAGf,OACE,EAAA,EAAA,KAHU,EAAU,EAAA,KAAO,EAG3B,CACO,MACL,UAAW,EAAA,GACT,EAAA,gBAAgB,CAAE,UAAS,aAAY,UAAS,CAAC,CACjD,EACD,CACD,GAAI,EACJ,CAAA,CAIN,EAAQ,YAAc"}
1
+ {"version":3,"file":"Section.cjs","names":[],"sources":["../../../src/components/Section/Section.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@nuka/utils/slot\";\nimport { cn } from \"@nuka/utils/cn\";\nimport {\n sectionVariants,\n type SectionVariantProps,\n} from \"@nuka/components/Section/Section.variants\";\n\ntype SectionElement =\n | \"section\"\n | \"div\"\n | \"article\"\n | \"aside\"\n | \"main\"\n | \"header\"\n | \"footer\";\n\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>, SectionVariantProps {\n ref?: React.Ref<HTMLElement> | undefined;\n as?: SectionElement;\n asChild?: boolean;\n}\n\nfunction Section({\n ref,\n as: Comp = \"section\",\n className,\n spacing,\n background,\n divider,\n asChild = false,\n ...props\n}: SectionProps) {\n const Tag = asChild ? Slot : Comp;\n\n return (\n <Tag\n ref={ref as React.RefObject<never>}\n data-surface={background === \"emphasis\" ? \"inverse\" : undefined}\n className={cn(\n sectionVariants({ spacing, background, divider }),\n className,\n )}\n {...props}\n />\n );\n}\n\nSection.displayName = \"Section\";\n\nexport { Section, sectionVariants };\n"],"mappings":"sPA0BA,SAAS,EAAQ,CACf,MACA,GAAI,EAAO,UACX,YACA,UACA,aACA,UACA,UAAU,GACV,GAAG,GACY,CAGf,OACE,EAAA,EAAA,KAHU,EAAU,EAAA,KAAO,EAG3B,CACO,MACL,eAAc,IAAe,WAAa,UAAY,IAAA,GACtD,UAAW,EAAA,GACT,EAAA,gBAAgB,CAAE,UAAS,aAAY,UAAS,CAAC,CACjD,EACD,CACD,GAAI,EACJ,CAAA,CAIN,EAAQ,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/Section/Section.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,cAAc,GACf,SAAS,GACT,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,mBAAmB;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACzC,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,iBAAS,OAAO,CAAC,EACf,GAAG,EACH,EAAE,EAAE,IAAgB,EACpB,SAAS,EACT,OAAO,EACP,UAAU,EACV,OAAO,EACP,OAAe,EACf,GAAG,KAAK,EACT,EAAE,YAAY,2CAad;kBAtBQ,OAAO;;;AA0BhB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/Section/Section.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,cAAc,GACf,SAAS,GACT,KAAK,GACL,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,mBAAmB;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACzC,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,iBAAS,OAAO,CAAC,EACf,GAAG,EACH,EAAE,EAAE,IAAgB,EACpB,SAAS,EACT,OAAO,EACP,UAAU,EACV,OAAO,EACP,OAAe,EACf,GAAG,KAAK,EACT,EAAE,YAAY,2CAcd;kBAvBQ,OAAO;;;AA2BhB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -8,6 +8,7 @@ import { jsx as r } from "react/jsx-runtime";
8
8
  function i({ ref: i, as: a = "section", className: o, spacing: s, background: c, divider: l, asChild: u = !1, ...d }) {
9
9
  return /* @__PURE__ */ r(u ? t : a, {
10
10
  ref: i,
11
+ "data-surface": c === "emphasis" ? "inverse" : void 0,
11
12
  className: e(n({
12
13
  spacing: s,
13
14
  background: c,
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":[],"sources":["../../../src/components/Section/Section.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@nuka/utils/slot\";\nimport { cn } from \"@nuka/utils/cn\";\nimport {\n sectionVariants,\n type SectionVariantProps,\n} from \"@nuka/components/Section/Section.variants\";\n\ntype SectionElement =\n | \"section\"\n | \"div\"\n | \"article\"\n | \"aside\"\n | \"main\"\n | \"header\"\n | \"footer\";\n\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>, SectionVariantProps {\n ref?: React.Ref<HTMLElement> | undefined;\n as?: SectionElement;\n asChild?: boolean;\n}\n\nfunction Section({\n ref,\n as: Comp = \"section\",\n className,\n spacing,\n background,\n divider,\n asChild = false,\n ...props\n}: SectionProps) {\n const Tag = asChild ? Slot : Comp;\n\n return (\n <Tag\n ref={ref as React.RefObject<never>}\n className={cn(\n sectionVariants({ spacing, background, divider }),\n className,\n )}\n {...props}\n />\n );\n}\n\nSection.displayName = \"Section\";\n\nexport { Section, sectionVariants };\n"],"mappings":";;;;;;;AA0BA,SAAS,EAAQ,EACf,QACA,IAAI,IAAO,WACX,cACA,YACA,eACA,YACA,aAAU,IACV,GAAG,KACY;AAGf,QACE,kBAHU,IAAU,IAAO,GAG3B;EACO;EACL,WAAW,EACT,EAAgB;GAAE;GAAS;GAAY;GAAS,CAAC,EACjD,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,EAAQ,cAAc"}
1
+ {"version":3,"file":"Section.js","names":[],"sources":["../../../src/components/Section/Section.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@nuka/utils/slot\";\nimport { cn } from \"@nuka/utils/cn\";\nimport {\n sectionVariants,\n type SectionVariantProps,\n} from \"@nuka/components/Section/Section.variants\";\n\ntype SectionElement =\n | \"section\"\n | \"div\"\n | \"article\"\n | \"aside\"\n | \"main\"\n | \"header\"\n | \"footer\";\n\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>, SectionVariantProps {\n ref?: React.Ref<HTMLElement> | undefined;\n as?: SectionElement;\n asChild?: boolean;\n}\n\nfunction Section({\n ref,\n as: Comp = \"section\",\n className,\n spacing,\n background,\n divider,\n asChild = false,\n ...props\n}: SectionProps) {\n const Tag = asChild ? Slot : Comp;\n\n return (\n <Tag\n ref={ref as React.RefObject<never>}\n data-surface={background === \"emphasis\" ? \"inverse\" : undefined}\n className={cn(\n sectionVariants({ spacing, background, divider }),\n className,\n )}\n {...props}\n />\n );\n}\n\nSection.displayName = \"Section\";\n\nexport { Section, sectionVariants };\n"],"mappings":";;;;;;;AA0BA,SAAS,EAAQ,EACf,QACA,IAAI,IAAO,WACX,cACA,YACA,eACA,YACA,aAAU,IACV,GAAG,KACY;AAGf,QACE,kBAHU,IAAU,IAAO,GAG3B;EACO;EACL,gBAAc,MAAe,aAAa,YAAY,KAAA;EACtD,WAAW,EACT,EAAgB;GAAE;GAAS;GAAY;GAAS,CAAC,EACjD,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,EAAQ,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/slot.cjs`),n=require(`../../hooks/use-controllable-state.cjs`),r=require(`../../hooks/use-option-registry.cjs`),i=require(`./Select.context.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s({ref:e,children:s,value:c,defaultValue:l,onValueChange:u,open:d,defaultOpen:f=!1,onOpenChange:p,disabled:m=!1,name:h}){let[g,_]=n.useControllableState(c,l,u),[v,y]=n.useControllableState(d,f,p),[b,x]=a.useState(void 0),S=r.useOptionRegistry(),C=a.useRef(null),w=`${a.useId()}-listbox`,T=a.useCallback(e=>{y(e),e||x(void 0)},[y]);return a.useEffect(()=>{if(!v)return;let e=e=>{C.current&&!C.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[v,T]),(0,o.jsx)(i.SelectContext,{value:a.useMemo(()=>(S.registryVersion,{open:v,value:g,highlightedValue:b,disabled:m,listboxId:w,onOpenChange:T,onValueChange:_,onHighlightChange:x,registerOption:S.registerOption,unregisterOption:S.unregisterOption,getOptions:S.getOptions,getOptionLabel:S.getOptionLabel,getOptionRef:S.getOptionRef,isOptionDisabled:S.isOptionDisabled,registerDisabledOption:S.registerDisabledOption}),[v,g,b,m,w,T,_,S]),children:(0,o.jsxs)(`div`,{ref:t.composeRefs(e,C),className:`relative inline-block w-full`,children:[s,h!==void 0&&(0,o.jsx)(`input`,{type:`hidden`,name:h,value:g??``})]})})}s.displayName=`Select`,exports.Select=s;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/slot.cjs`),n=require(`../../hooks/use-controllable-state.cjs`),r=require(`../../hooks/use-option-registry.cjs`),i=require(`./Select.context.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);function s({ref:e,children:s,value:c,defaultValue:l,onValueChange:u,open:d,defaultOpen:f=!1,onOpenChange:p,disabled:m=!1,name:h}){let[g,_]=n.useControllableState(c,l,u),[v,y]=n.useControllableState(d,f,p),[b,x]=a.useState(void 0),S=r.useOptionRegistry(),C=a.useRef(null),w=`${a.useId()}-listbox`,T=a.useCallback(e=>{y(e),e||x(void 0)},[y]);return a.useEffect(()=>{if(!v)return;let e=e=>{C.current&&!C.current.contains(e.target)&&T(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[v,T]),(0,o.jsx)(i.SelectContext,{value:a.useMemo(()=>(S.registryVersion,{open:v,value:g,highlightedValue:b,disabled:m,listboxId:w,onOpenChange:T,onValueChange:_,onHighlightChange:x,registerOption:S.registerOption,unregisterOption:S.unregisterOption,getOptions:S.getOptions,getOptionLabel:S.getOptionLabel,getOptionRef:S.getOptionRef,isOptionDisabled:S.isOptionDisabled,registerDisabledOption:S.registerDisabledOption}),[v,g,b,m,w,T,_,S]),children:(0,o.jsxs)(`div`,{ref:t.composeRefs(e,C),"data-slot":`root`,className:`relative inline-block w-full`,children:[s,h!==void 0&&(0,o.jsx)(`input`,{type:`hidden`,name:h,value:g??``})]})})}s.displayName=`Select`,exports.Select=s;
2
2
  //# sourceMappingURL=Select.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs","names":[],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { useOptionRegistry } from \"@nuka/hooks/use-option-registry\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { SelectContext } from \"@nuka/components/Select/Select.context\";\nimport type { SelectContextValue } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n children: React.ReactNode;\n value?: string | undefined;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nfunction Select({\n ref,\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n disabled = false,\n name,\n}: SelectProps) {\n const [currentValue, handleValueChange] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n const [currentOpen, setOpen] = useControllableState(\n controlledOpen,\n defaultOpen,\n onOpenChange,\n );\n const [highlightedValue, setHighlightedValue] = React.useState<\n string | undefined\n >(undefined);\n\n const registry = useOptionRegistry();\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const generatedId = React.useId();\n const listboxId = `${generatedId}-listbox`;\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen) {\n setHighlightedValue(undefined);\n }\n },\n [setOpen],\n );\n\n // TODO: extract to useOutsideClick or migrate to Floating UI useDismiss\n // when SelectContent moves to Portal rendering (deferred from audit batch 2).\n // Close on outside click. Manual listener because Select uses absolute\n // positioning (ADR-013), not Floating UI. A Portal + useFloating refactor\n // would unify this with useDismiss but requires rearchitecting SelectContent.\n React.useEffect(() => {\n if (!currentOpen) return;\n\n const handleMouseDown = (e: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(e.target as Node)) {\n handleOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [currentOpen, handleOpenChange]);\n\n const contextValue: SelectContextValue = React.useMemo(() => {\n void registry.registryVersion;\n return {\n open: currentOpen,\n value: currentValue,\n highlightedValue,\n disabled,\n listboxId,\n onOpenChange: handleOpenChange,\n onValueChange: handleValueChange,\n onHighlightChange: setHighlightedValue,\n registerOption: registry.registerOption,\n unregisterOption: registry.unregisterOption,\n getOptions: registry.getOptions,\n getOptionLabel: registry.getOptionLabel,\n getOptionRef: registry.getOptionRef,\n isOptionDisabled: registry.isOptionDisabled,\n registerDisabledOption: registry.registerDisabledOption,\n };\n }, [\n currentOpen,\n currentValue,\n highlightedValue,\n disabled,\n listboxId,\n handleOpenChange,\n handleValueChange,\n registry,\n ]);\n\n return (\n <SelectContext value={contextValue}>\n <div\n ref={composeRefs(ref, rootRef)}\n className=\"relative inline-block w-full\"\n >\n {children}\n {name !== undefined && (\n <input type=\"hidden\" name={name} value={currentValue ?? \"\"} />\n )}\n </div>\n </SelectContext>\n );\n}\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"mappings":"yTAqBA,SAAS,EAAO,CACd,MACA,WACA,MAAO,EACP,eACA,gBACA,KAAM,EACN,cAAc,GACd,eACA,WAAW,GACX,QACc,CACd,GAAM,CAAC,EAAc,GAAqB,EAAA,qBACxC,EACA,EACA,EACD,CACK,CAAC,EAAa,GAAW,EAAA,qBAC7B,EACA,EACA,EACD,CACK,CAAC,EAAkB,GAAuB,EAAM,SAEpD,IAAA,GAAU,CAEN,EAAW,EAAA,mBAAmB,CAC9B,EAAU,EAAM,OAAuB,KAAK,CAG5C,EAAY,GADE,EAAM,OAAO,CACA,UAE3B,EAAmB,EAAM,YAC5B,GAAsB,CACrB,EAAQ,EAAS,CACZ,GACH,EAAoB,IAAA,GAAU,EAGlC,CAAC,EAAQ,CACV,CAoDD,OA7CA,EAAM,cAAgB,CACpB,GAAI,CAAC,EAAa,OAElB,IAAM,EAAmB,GAAkB,CACrC,EAAQ,SAAW,CAAC,EAAQ,QAAQ,SAAS,EAAE,OAAe,EAChE,EAAiB,GAAM,EAK3B,OADA,SAAS,iBAAiB,YAAa,EAAgB,KAC1C,CACX,SAAS,oBAAoB,YAAa,EAAgB,GAE3D,CAAC,EAAa,EAAiB,CAAC,EAiCjC,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,MA/BwB,EAAM,aACxC,EAAS,gBACP,CACL,KAAM,EACN,MAAO,EACP,mBACA,WACA,YACA,aAAc,EACd,cAAe,EACf,kBAAmB,EACnB,eAAgB,EAAS,eACzB,iBAAkB,EAAS,iBAC3B,WAAY,EAAS,WACrB,eAAgB,EAAS,eACzB,aAAc,EAAS,aACvB,iBAAkB,EAAS,iBAC3B,uBAAwB,EAAS,uBAClC,EACA,CACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CAAC,WAIE,EAAA,EAAA,MAAC,MAAD,CACE,IAAK,EAAA,YAAY,EAAK,EAAQ,CAC9B,UAAU,wCAFZ,CAIG,EACA,IAAS,IAAA,KACR,EAAA,EAAA,KAAC,QAAD,CAAO,KAAK,SAAe,OAAM,MAAO,GAAgB,GAAM,CAAA,CAE5D,GACQ,CAAA,CAIpB,EAAO,YAAc"}
1
+ {"version":3,"file":"Select.cjs","names":[],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { useOptionRegistry } from \"@nuka/hooks/use-option-registry\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { SelectContext } from \"@nuka/components/Select/Select.context\";\nimport type { SelectContextValue } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n children: React.ReactNode;\n value?: string | undefined;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nfunction Select({\n ref,\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n disabled = false,\n name,\n}: SelectProps) {\n const [currentValue, handleValueChange] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n const [currentOpen, setOpen] = useControllableState(\n controlledOpen,\n defaultOpen,\n onOpenChange,\n );\n const [highlightedValue, setHighlightedValue] = React.useState<\n string | undefined\n >(undefined);\n\n const registry = useOptionRegistry();\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const generatedId = React.useId();\n const listboxId = `${generatedId}-listbox`;\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen) {\n setHighlightedValue(undefined);\n }\n },\n [setOpen],\n );\n\n // TODO: extract to useOutsideClick or migrate to Floating UI useDismiss\n // when SelectContent moves to Portal rendering (deferred from audit batch 2).\n // Close on outside click. Manual listener because Select uses absolute\n // positioning (ADR-013), not Floating UI. A Portal + useFloating refactor\n // would unify this with useDismiss but requires rearchitecting SelectContent.\n React.useEffect(() => {\n if (!currentOpen) return;\n\n const handleMouseDown = (e: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(e.target as Node)) {\n handleOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [currentOpen, handleOpenChange]);\n\n const contextValue: SelectContextValue = React.useMemo(() => {\n void registry.registryVersion;\n return {\n open: currentOpen,\n value: currentValue,\n highlightedValue,\n disabled,\n listboxId,\n onOpenChange: handleOpenChange,\n onValueChange: handleValueChange,\n onHighlightChange: setHighlightedValue,\n registerOption: registry.registerOption,\n unregisterOption: registry.unregisterOption,\n getOptions: registry.getOptions,\n getOptionLabel: registry.getOptionLabel,\n getOptionRef: registry.getOptionRef,\n isOptionDisabled: registry.isOptionDisabled,\n registerDisabledOption: registry.registerDisabledOption,\n };\n }, [\n currentOpen,\n currentValue,\n highlightedValue,\n disabled,\n listboxId,\n handleOpenChange,\n handleValueChange,\n registry,\n ]);\n\n return (\n <SelectContext value={contextValue}>\n <div\n ref={composeRefs(ref, rootRef)}\n data-slot=\"root\"\n className=\"relative inline-block w-full\"\n >\n {children}\n {name !== undefined && (\n <input type=\"hidden\" name={name} value={currentValue ?? \"\"} />\n )}\n </div>\n </SelectContext>\n );\n}\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"mappings":"yTAqBA,SAAS,EAAO,CACd,MACA,WACA,MAAO,EACP,eACA,gBACA,KAAM,EACN,cAAc,GACd,eACA,WAAW,GACX,QACc,CACd,GAAM,CAAC,EAAc,GAAqB,EAAA,qBACxC,EACA,EACA,EACD,CACK,CAAC,EAAa,GAAW,EAAA,qBAC7B,EACA,EACA,EACD,CACK,CAAC,EAAkB,GAAuB,EAAM,SAEpD,IAAA,GAAU,CAEN,EAAW,EAAA,mBAAmB,CAC9B,EAAU,EAAM,OAAuB,KAAK,CAG5C,EAAY,GADE,EAAM,OAAO,CACA,UAE3B,EAAmB,EAAM,YAC5B,GAAsB,CACrB,EAAQ,EAAS,CACZ,GACH,EAAoB,IAAA,GAAU,EAGlC,CAAC,EAAQ,CACV,CAoDD,OA7CA,EAAM,cAAgB,CACpB,GAAI,CAAC,EAAa,OAElB,IAAM,EAAmB,GAAkB,CACrC,EAAQ,SAAW,CAAC,EAAQ,QAAQ,SAAS,EAAE,OAAe,EAChE,EAAiB,GAAM,EAK3B,OADA,SAAS,iBAAiB,YAAa,EAAgB,KAC1C,CACX,SAAS,oBAAoB,YAAa,EAAgB,GAE3D,CAAC,EAAa,EAAiB,CAAC,EAiCjC,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,MA/BwB,EAAM,aACxC,EAAS,gBACP,CACL,KAAM,EACN,MAAO,EACP,mBACA,WACA,YACA,aAAc,EACd,cAAe,EACf,kBAAmB,EACnB,eAAgB,EAAS,eACzB,iBAAkB,EAAS,iBAC3B,WAAY,EAAS,WACrB,eAAgB,EAAS,eACzB,aAAc,EAAS,aACvB,iBAAkB,EAAS,iBAC3B,uBAAwB,EAAS,uBAClC,EACA,CACD,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CAAC,WAIE,EAAA,EAAA,MAAC,MAAD,CACE,IAAK,EAAA,YAAY,EAAK,EAAQ,CAC9B,YAAU,OACV,UAAU,wCAHZ,CAKG,EACA,IAAS,IAAA,KACR,EAAA,EAAA,KAAC,QAAD,CAAO,KAAK,SAAe,OAAM,MAAO,GAAgB,GAAM,CAAA,CAE5D,GACQ,CAAA,CAIpB,EAAO,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,MAAM,CAAC,EACd,GAAG,EACH,QAAQ,EACR,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,IAAI,EAAE,cAAc,EACpB,WAAmB,EACnB,YAAY,EACZ,QAAgB,EAChB,IAAI,GACL,EAAE,WAAW,2CA8Fb;kBAzGQ,MAAM;;;AA6Gf,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,MAAM,CAAC,EACd,GAAG,EACH,QAAQ,EACR,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,IAAI,EAAE,cAAc,EACpB,WAAmB,EACnB,YAAY,EACZ,QAAgB,EAChB,IAAI,GACL,EAAE,WAAW,2CA+Fb;kBA1GQ,MAAM;;;AA8Gf,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -47,6 +47,7 @@ function s({ ref: s, children: c, value: l, defaultValue: u, onValueChange: d, o
47
47
  ]),
48
48
  children: /* @__PURE__ */ o("div", {
49
49
  ref: e(s, w),
50
+ "data-slot": "root",
50
51
  className: "relative inline-block w-full",
51
52
  children: [c, g !== void 0 && /* @__PURE__ */ a("input", {
52
53
  type: "hidden",
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":[],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { useOptionRegistry } from \"@nuka/hooks/use-option-registry\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { SelectContext } from \"@nuka/components/Select/Select.context\";\nimport type { SelectContextValue } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n children: React.ReactNode;\n value?: string | undefined;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nfunction Select({\n ref,\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n disabled = false,\n name,\n}: SelectProps) {\n const [currentValue, handleValueChange] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n const [currentOpen, setOpen] = useControllableState(\n controlledOpen,\n defaultOpen,\n onOpenChange,\n );\n const [highlightedValue, setHighlightedValue] = React.useState<\n string | undefined\n >(undefined);\n\n const registry = useOptionRegistry();\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const generatedId = React.useId();\n const listboxId = `${generatedId}-listbox`;\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen) {\n setHighlightedValue(undefined);\n }\n },\n [setOpen],\n );\n\n // TODO: extract to useOutsideClick or migrate to Floating UI useDismiss\n // when SelectContent moves to Portal rendering (deferred from audit batch 2).\n // Close on outside click. Manual listener because Select uses absolute\n // positioning (ADR-013), not Floating UI. A Portal + useFloating refactor\n // would unify this with useDismiss but requires rearchitecting SelectContent.\n React.useEffect(() => {\n if (!currentOpen) return;\n\n const handleMouseDown = (e: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(e.target as Node)) {\n handleOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [currentOpen, handleOpenChange]);\n\n const contextValue: SelectContextValue = React.useMemo(() => {\n void registry.registryVersion;\n return {\n open: currentOpen,\n value: currentValue,\n highlightedValue,\n disabled,\n listboxId,\n onOpenChange: handleOpenChange,\n onValueChange: handleValueChange,\n onHighlightChange: setHighlightedValue,\n registerOption: registry.registerOption,\n unregisterOption: registry.unregisterOption,\n getOptions: registry.getOptions,\n getOptionLabel: registry.getOptionLabel,\n getOptionRef: registry.getOptionRef,\n isOptionDisabled: registry.isOptionDisabled,\n registerDisabledOption: registry.registerDisabledOption,\n };\n }, [\n currentOpen,\n currentValue,\n highlightedValue,\n disabled,\n listboxId,\n handleOpenChange,\n handleValueChange,\n registry,\n ]);\n\n return (\n <SelectContext value={contextValue}>\n <div\n ref={composeRefs(ref, rootRef)}\n className=\"relative inline-block w-full\"\n >\n {children}\n {name !== undefined && (\n <input type=\"hidden\" name={name} value={currentValue ?? \"\"} />\n )}\n </div>\n </SelectContext>\n );\n}\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"mappings":";;;;;;;;AAqBA,SAAS,EAAO,EACd,QACA,aACA,OAAO,GACP,iBACA,kBACA,MAAM,GACN,iBAAc,IACd,iBACA,cAAW,IACX,WACc;CACd,IAAM,CAAC,GAAc,KAAqB,EACxC,GACA,GACA,EACD,EACK,CAAC,GAAa,KAAW,EAC7B,GACA,GACA,EACD,EACK,CAAC,GAAkB,KAAuB,EAAM,SAEpD,KAAA,EAAU,EAEN,IAAW,GAAmB,EAC9B,IAAU,EAAM,OAAuB,KAAK,EAG5C,IAAY,GADE,EAAM,OAAO,CACA,WAE3B,IAAmB,EAAM,aAC5B,MAAsB;AAErB,EADA,EAAQ,EAAS,EACZ,KACH,EAAoB,KAAA,EAAU;IAGlC,CAAC,EAAQ,CACV;AAoDD,QA7CA,EAAM,gBAAgB;AACpB,MAAI,CAAC,EAAa;EAElB,IAAM,KAAmB,MAAkB;AACzC,GAAI,EAAQ,WAAW,CAAC,EAAQ,QAAQ,SAAS,EAAE,OAAe,IAChE,EAAiB,GAAM;;AAK3B,SADA,SAAS,iBAAiB,aAAa,EAAgB,QAC1C;AACX,YAAS,oBAAoB,aAAa,EAAgB;;IAE3D,CAAC,GAAa,EAAiB,CAAC,EAiCjC,kBAAC,GAAD;EAAe,OA/BwB,EAAM,eACxC,EAAS,iBACP;GACL,MAAM;GACN,OAAO;GACP;GACA;GACA;GACA,cAAc;GACd,eAAe;GACf,mBAAmB;GACnB,gBAAgB,EAAS;GACzB,kBAAkB,EAAS;GAC3B,YAAY,EAAS;GACrB,gBAAgB,EAAS;GACzB,cAAc,EAAS;GACvB,kBAAkB,EAAS;GAC3B,wBAAwB,EAAS;GAClC,GACA;GACD;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;YAIE,kBAAC,OAAD;GACE,KAAK,EAAY,GAAK,EAAQ;GAC9B,WAAU;aAFZ,CAIG,GACA,MAAS,KAAA,KACR,kBAAC,SAAD;IAAO,MAAK;IAAe;IAAM,OAAO,KAAgB;IAAM,CAAA,CAE5D;;EACQ,CAAA;;AAIpB,EAAO,cAAc"}
1
+ {"version":3,"file":"Select.js","names":[],"sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { useOptionRegistry } from \"@nuka/hooks/use-option-registry\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { SelectContext } from \"@nuka/components/Select/Select.context\";\nimport type { SelectContextValue } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n children: React.ReactNode;\n value?: string | undefined;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nfunction Select({\n ref,\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n disabled = false,\n name,\n}: SelectProps) {\n const [currentValue, handleValueChange] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n const [currentOpen, setOpen] = useControllableState(\n controlledOpen,\n defaultOpen,\n onOpenChange,\n );\n const [highlightedValue, setHighlightedValue] = React.useState<\n string | undefined\n >(undefined);\n\n const registry = useOptionRegistry();\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const generatedId = React.useId();\n const listboxId = `${generatedId}-listbox`;\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen) {\n setHighlightedValue(undefined);\n }\n },\n [setOpen],\n );\n\n // TODO: extract to useOutsideClick or migrate to Floating UI useDismiss\n // when SelectContent moves to Portal rendering (deferred from audit batch 2).\n // Close on outside click. Manual listener because Select uses absolute\n // positioning (ADR-013), not Floating UI. A Portal + useFloating refactor\n // would unify this with useDismiss but requires rearchitecting SelectContent.\n React.useEffect(() => {\n if (!currentOpen) return;\n\n const handleMouseDown = (e: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(e.target as Node)) {\n handleOpenChange(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n document.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [currentOpen, handleOpenChange]);\n\n const contextValue: SelectContextValue = React.useMemo(() => {\n void registry.registryVersion;\n return {\n open: currentOpen,\n value: currentValue,\n highlightedValue,\n disabled,\n listboxId,\n onOpenChange: handleOpenChange,\n onValueChange: handleValueChange,\n onHighlightChange: setHighlightedValue,\n registerOption: registry.registerOption,\n unregisterOption: registry.unregisterOption,\n getOptions: registry.getOptions,\n getOptionLabel: registry.getOptionLabel,\n getOptionRef: registry.getOptionRef,\n isOptionDisabled: registry.isOptionDisabled,\n registerDisabledOption: registry.registerDisabledOption,\n };\n }, [\n currentOpen,\n currentValue,\n highlightedValue,\n disabled,\n listboxId,\n handleOpenChange,\n handleValueChange,\n registry,\n ]);\n\n return (\n <SelectContext value={contextValue}>\n <div\n ref={composeRefs(ref, rootRef)}\n data-slot=\"root\"\n className=\"relative inline-block w-full\"\n >\n {children}\n {name !== undefined && (\n <input type=\"hidden\" name={name} value={currentValue ?? \"\"} />\n )}\n </div>\n </SelectContext>\n );\n}\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"mappings":";;;;;;;;AAqBA,SAAS,EAAO,EACd,QACA,aACA,OAAO,GACP,iBACA,kBACA,MAAM,GACN,iBAAc,IACd,iBACA,cAAW,IACX,WACc;CACd,IAAM,CAAC,GAAc,KAAqB,EACxC,GACA,GACA,EACD,EACK,CAAC,GAAa,KAAW,EAC7B,GACA,GACA,EACD,EACK,CAAC,GAAkB,KAAuB,EAAM,SAEpD,KAAA,EAAU,EAEN,IAAW,GAAmB,EAC9B,IAAU,EAAM,OAAuB,KAAK,EAG5C,IAAY,GADE,EAAM,OAAO,CACA,WAE3B,IAAmB,EAAM,aAC5B,MAAsB;AAErB,EADA,EAAQ,EAAS,EACZ,KACH,EAAoB,KAAA,EAAU;IAGlC,CAAC,EAAQ,CACV;AAoDD,QA7CA,EAAM,gBAAgB;AACpB,MAAI,CAAC,EAAa;EAElB,IAAM,KAAmB,MAAkB;AACzC,GAAI,EAAQ,WAAW,CAAC,EAAQ,QAAQ,SAAS,EAAE,OAAe,IAChE,EAAiB,GAAM;;AAK3B,SADA,SAAS,iBAAiB,aAAa,EAAgB,QAC1C;AACX,YAAS,oBAAoB,aAAa,EAAgB;;IAE3D,CAAC,GAAa,EAAiB,CAAC,EAiCjC,kBAAC,GAAD;EAAe,OA/BwB,EAAM,eACxC,EAAS,iBACP;GACL,MAAM;GACN,OAAO;GACP;GACA;GACA;GACA,cAAc;GACd,eAAe;GACf,mBAAmB;GACnB,gBAAgB,EAAS;GACzB,kBAAkB,EAAS;GAC3B,YAAY,EAAS;GACrB,gBAAgB,EAAS;GACzB,cAAc,EAAS;GACvB,kBAAkB,EAAS;GAC3B,wBAAwB,EAAS;GAClC,GACA;GACD;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;YAIE,kBAAC,OAAD;GACE,KAAK,EAAY,GAAK,EAAQ;GAC9B,aAAU;GACV,WAAU;aAHZ,CAKG,GACA,MAAS,KAAA,KACR,kBAAC,SAAD;IAAO,MAAK;IAAe;IAAM,OAAO,KAAgB;IAAM,CAAA,CAE5D;;EACQ,CAAA;;AAIpB,EAAO,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`./Select.context.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({ref:e,className:r,children:a}){let o=n.useSelect();return(0,i.jsx)(`div`,{ref:e,id:o.listboxId,role:`listbox`,hidden:!o.open,className:t.cn(`absolute left-0 w-full`,`z-(--nuka-z-dropdown)`,`bg-(--nuka-bg-base)`,`border border-(--nuka-border-base)`,`rounded-(--radius-md)`,`shadow-md`,`py-(--space-1)`,`mt-(--space-1)`,`max-h-60 overflow-y-auto`,r),children:a})}a.displayName=`SelectContent`,exports.SelectContent=a;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`./Select.context.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);function a({ref:e,className:r,children:a}){let o=n.useSelect();return(0,i.jsx)(`div`,{ref:e,id:o.listboxId,"data-slot":`content`,role:`listbox`,hidden:!o.open,className:t.cn(`absolute left-0 w-full`,`z-(--nuka-z-dropdown)`,`bg-(--nuka-bg-base)`,`border border-(--nuka-border-base)`,`rounded-(--radius-md)`,`shadow-md`,`py-(--space-1)`,`mt-(--space-1)`,`max-h-60 overflow-y-auto`,r),children:a})}a.displayName=`SelectContent`,exports.SelectContent=a;
2
2
  //# sourceMappingURL=SelectContent.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.cjs","names":[],"sources":["../../../src/components/Select/SelectContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectContentProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n className?: string;\n children: React.ReactNode;\n}\n\n// TODO: migrate to Portal + Floating UI positioning to avoid overflow/stacking\n// context clipping (deferred from audit batch 2).\nfunction SelectContent({ ref, className, children }: SelectContentProps) {\n const ctx = useSelect();\n\n return (\n <div\n ref={ref}\n id={ctx.listboxId}\n role=\"listbox\"\n hidden={!ctx.open}\n className={cn(\n \"absolute left-0 w-full\",\n \"z-(--nuka-z-dropdown)\",\n \"bg-(--nuka-bg-base)\",\n \"border border-(--nuka-border-base)\",\n \"rounded-(--radius-md)\",\n \"shadow-md\",\n \"py-(--space-1)\",\n \"mt-(--space-1)\",\n \"max-h-60 overflow-y-auto\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nSelectContent.displayName = \"SelectContent\";\n\nexport { SelectContent };\n"],"mappings":"kNAaA,SAAS,EAAc,CAAE,MAAK,YAAW,YAAgC,CACvE,IAAM,EAAM,EAAA,WAAW,CAEvB,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,GAAI,EAAI,UACR,KAAK,UACL,OAAQ,CAAC,EAAI,KACb,UAAW,EAAA,GACT,yBACA,wBACA,sBACA,qCACA,wBACA,YACA,iBACA,iBACA,2BACA,EACD,CAEA,WACG,CAAA,CAIV,EAAc,YAAc"}
1
+ {"version":3,"file":"SelectContent.cjs","names":[],"sources":["../../../src/components/Select/SelectContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectContentProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n className?: string;\n children: React.ReactNode;\n}\n\n// TODO: migrate to Portal + Floating UI positioning to avoid overflow/stacking\n// context clipping (deferred from audit batch 2).\nfunction SelectContent({ ref, className, children }: SelectContentProps) {\n const ctx = useSelect();\n\n return (\n <div\n ref={ref}\n id={ctx.listboxId}\n data-slot=\"content\"\n role=\"listbox\"\n hidden={!ctx.open}\n className={cn(\n \"absolute left-0 w-full\",\n \"z-(--nuka-z-dropdown)\",\n \"bg-(--nuka-bg-base)\",\n \"border border-(--nuka-border-base)\",\n \"rounded-(--radius-md)\",\n \"shadow-md\",\n \"py-(--space-1)\",\n \"mt-(--space-1)\",\n \"max-h-60 overflow-y-auto\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nSelectContent.displayName = \"SelectContent\";\n\nexport { SelectContent };\n"],"mappings":"kNAaA,SAAS,EAAc,CAAE,MAAK,YAAW,YAAgC,CACvE,IAAM,EAAM,EAAA,WAAW,CAEvB,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,GAAI,EAAI,UACR,YAAU,UACV,KAAK,UACL,OAAQ,CAAC,EAAI,KACb,UAAW,EAAA,GACT,yBACA,wBACA,sBACA,qCACA,wBACA,YACA,iBACA,iBACA,2BACA,EACD,CAEA,WACG,CAAA,CAIV,EAAc,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAID,iBAAS,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAyBtE;kBAzBQ,aAAa;;;AA6BtB,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAID,iBAAS,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CA0BtE;kBA1BQ,aAAa;;;AA8BtB,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -9,6 +9,7 @@ function r({ ref: r, className: i, children: a }) {
9
9
  return /* @__PURE__ */ n("div", {
10
10
  ref: r,
11
11
  id: o.listboxId,
12
+ "data-slot": "content",
12
13
  role: "listbox",
13
14
  hidden: !o.open,
14
15
  className: e("absolute left-0 w-full", "z-(--nuka-z-dropdown)", "bg-(--nuka-bg-base)", "border border-(--nuka-border-base)", "rounded-(--radius-md)", "shadow-md", "py-(--space-1)", "mt-(--space-1)", "max-h-60 overflow-y-auto", i),
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.js","names":[],"sources":["../../../src/components/Select/SelectContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectContentProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n className?: string;\n children: React.ReactNode;\n}\n\n// TODO: migrate to Portal + Floating UI positioning to avoid overflow/stacking\n// context clipping (deferred from audit batch 2).\nfunction SelectContent({ ref, className, children }: SelectContentProps) {\n const ctx = useSelect();\n\n return (\n <div\n ref={ref}\n id={ctx.listboxId}\n role=\"listbox\"\n hidden={!ctx.open}\n className={cn(\n \"absolute left-0 w-full\",\n \"z-(--nuka-z-dropdown)\",\n \"bg-(--nuka-bg-base)\",\n \"border border-(--nuka-border-base)\",\n \"rounded-(--radius-md)\",\n \"shadow-md\",\n \"py-(--space-1)\",\n \"mt-(--space-1)\",\n \"max-h-60 overflow-y-auto\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nSelectContent.displayName = \"SelectContent\";\n\nexport { SelectContent };\n"],"mappings":";;;;;;AAaA,SAAS,EAAc,EAAE,QAAK,cAAW,eAAgC;CACvE,IAAM,IAAM,GAAW;AAEvB,QACE,kBAAC,OAAD;EACO;EACL,IAAI,EAAI;EACR,MAAK;EACL,QAAQ,CAAC,EAAI;EACb,WAAW,EACT,0BACA,yBACA,uBACA,sCACA,yBACA,aACA,kBACA,kBACA,4BACA,EACD;EAEA;EACG,CAAA;;AAIV,EAAc,cAAc"}
1
+ {"version":3,"file":"SelectContent.js","names":[],"sources":["../../../src/components/Select/SelectContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectContentProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n className?: string;\n children: React.ReactNode;\n}\n\n// TODO: migrate to Portal + Floating UI positioning to avoid overflow/stacking\n// context clipping (deferred from audit batch 2).\nfunction SelectContent({ ref, className, children }: SelectContentProps) {\n const ctx = useSelect();\n\n return (\n <div\n ref={ref}\n id={ctx.listboxId}\n data-slot=\"content\"\n role=\"listbox\"\n hidden={!ctx.open}\n className={cn(\n \"absolute left-0 w-full\",\n \"z-(--nuka-z-dropdown)\",\n \"bg-(--nuka-bg-base)\",\n \"border border-(--nuka-border-base)\",\n \"rounded-(--radius-md)\",\n \"shadow-md\",\n \"py-(--space-1)\",\n \"mt-(--space-1)\",\n \"max-h-60 overflow-y-auto\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nSelectContent.displayName = \"SelectContent\";\n\nexport { SelectContent };\n"],"mappings":";;;;;;AAaA,SAAS,EAAc,EAAE,QAAK,cAAW,eAAgC;CACvE,IAAM,IAAM,GAAW;AAEvB,QACE,kBAAC,OAAD;EACO;EACL,IAAI,EAAI;EACR,aAAU;EACV,MAAK;EACL,QAAQ,CAAC,EAAI;EACb,WAAW,EACT,0BACA,yBACA,uBACA,sCACA,yBACA,aACA,kBACA,kBACA,4BACA,EACD;EAEA;EACG,CAAA;;AAIV,EAAc,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/slot.cjs`),r=require(`./Select.context.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){return typeof e==`string`?e:typeof e==`number`?String(e):``}function s({ref:e,value:s,disabled:c=!1,className:l,children:u}){let d=r.useSelect(),f=i.useRef(null),p=n.composeRefs(e,f),m=d.value===s,h=d.highlightedValue===s,g=`${d.listboxId}-option-${s}`,_=o(u);return i.useLayoutEffect(()=>(d.registerOption(s,_,f.current),()=>{d.unregisterOption(s)}),[]),i.useEffect(()=>{d.registerDisabledOption(s,c)},[d,s,c]),(0,a.jsx)(`div`,{ref:p,id:g,role:`option`,"aria-selected":m,"aria-disabled":c||void 0,className:t.cn(`px-(--space-3) py-(--space-2)`,`text-sm`,`cursor-pointer`,`select-none`,`text-(--nuka-text-base)`,c&&`opacity-50 cursor-not-allowed pointer-events-none`,m&&!h&&`bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)`,h&&`bg-(--nuka-bg-muted) outline-none`,!m&&!h&&!c&&`hover:bg-(--nuka-bg-muted)`,l),onClick:()=>{c||(d.onValueChange(s),d.onOpenChange(!1))},children:u})}s.displayName=`SelectItem`,exports.SelectItem=s;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/slot.cjs`),r=require(`./Select.context.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);function o(e){return typeof e==`string`?e:typeof e==`number`?String(e):``}function s({ref:e,value:s,disabled:c=!1,className:l,children:u}){let d=r.useSelect(),f=i.useRef(null),p=n.composeRefs(e,f),m=d.value===s,h=d.highlightedValue===s,g=`${d.listboxId}-option-${s}`,_=o(u);return i.useLayoutEffect(()=>(d.registerOption(s,_,f.current),()=>{d.unregisterOption(s)}),[]),i.useEffect(()=>{d.registerDisabledOption(s,c)},[d,s,c]),(0,a.jsx)(`div`,{ref:p,id:g,"data-slot":`item`,role:`option`,"aria-selected":m,"aria-disabled":c||void 0,className:t.cn(`px-(--space-3) py-(--space-2)`,`text-sm`,`cursor-pointer`,`select-none`,`text-(--nuka-text-base)`,c&&`opacity-50 cursor-not-allowed pointer-events-none`,m&&!h&&`bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)`,h&&`bg-(--nuka-bg-muted) outline-none`,!m&&!h&&!c&&`hover:bg-(--nuka-bg-muted)`,l),onClick:()=>{c||(d.onValueChange(s),d.onOpenChange(!1))},children:u})}s.displayName=`SelectItem`,exports.SelectItem=s;
2
2
  //# sourceMappingURL=SelectItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.cjs","names":[],"sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectItemProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n value: string;\n disabled?: boolean;\n className?: string;\n children: React.ReactNode;\n}\n\nfunction getLabel(children: React.ReactNode): string {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n return \"\";\n}\n\nfunction SelectItem({\n ref,\n value,\n disabled = false,\n className,\n children,\n}: SelectItemProps) {\n const ctx = useSelect();\n const internalRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, internalRef);\n\n const isSelected = ctx.value === value;\n const isHighlighted = ctx.highlightedValue === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isHighlighted &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isHighlighted && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected &&\n !isHighlighted &&\n !disabled &&\n \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n}\n\nSelectItem.displayName = \"SelectItem\";\n\nexport { SelectItem };\n"],"mappings":"oPAcA,SAAS,EAAS,EAAmC,CAGnD,OAFI,OAAO,GAAa,SAAiB,EACrC,OAAO,GAAa,SAAiB,OAAO,EAAS,CAClD,GAGT,SAAS,EAAW,CAClB,MACA,QACA,WAAW,GACX,YACA,YACkB,CAClB,IAAM,EAAM,EAAA,WAAW,CACjB,EAAc,EAAM,OAAuB,KAAK,CAChD,EAAc,EAAA,YAAY,EAAK,EAAY,CAE3C,EAAa,EAAI,QAAU,EAC3B,EAAgB,EAAI,mBAAqB,EACzC,EAAW,GAAG,EAAI,UAAU,UAAU,IACtC,EAAQ,EAAS,EAAS,CAoBhC,OAlBA,EAAM,qBACJ,EAAI,eAAe,EAAO,EAAO,EAAY,QAAQ,KACxC,CACX,EAAI,iBAAiB,EAAM,GAG5B,EAAE,CAAC,CAEN,EAAM,cAAgB,CACpB,EAAI,uBAAuB,EAAO,EAAS,EAC1C,CAAC,EAAK,EAAO,EAAS,CAAC,EASxB,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,GAAI,EACJ,KAAK,SACL,gBAAe,EACf,gBAAe,GAAY,IAAA,GAC3B,UAAW,EAAA,GACT,gCACA,UACA,iBACA,cACA,0BACA,GAAY,oDACZ,GACE,CAAC,GACD,yDACF,GAAiB,oCACjB,CAAC,GACC,CAAC,GACD,CAAC,GACD,6BACF,EACD,CACD,YA9BsB,CACpB,IACJ,EAAI,cAAc,EAAM,CACxB,EAAI,aAAa,GAAM,GA6BpB,WACG,CAAA,CAIV,EAAW,YAAc"}
1
+ {"version":3,"file":"SelectItem.cjs","names":[],"sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectItemProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n value: string;\n disabled?: boolean;\n className?: string;\n children: React.ReactNode;\n}\n\nfunction getLabel(children: React.ReactNode): string {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n return \"\";\n}\n\nfunction SelectItem({\n ref,\n value,\n disabled = false,\n className,\n children,\n}: SelectItemProps) {\n const ctx = useSelect();\n const internalRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, internalRef);\n\n const isSelected = ctx.value === value;\n const isHighlighted = ctx.highlightedValue === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n data-slot=\"item\"\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isHighlighted &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isHighlighted && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected &&\n !isHighlighted &&\n !disabled &&\n \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n}\n\nSelectItem.displayName = \"SelectItem\";\n\nexport { SelectItem };\n"],"mappings":"oPAcA,SAAS,EAAS,EAAmC,CAGnD,OAFI,OAAO,GAAa,SAAiB,EACrC,OAAO,GAAa,SAAiB,OAAO,EAAS,CAClD,GAGT,SAAS,EAAW,CAClB,MACA,QACA,WAAW,GACX,YACA,YACkB,CAClB,IAAM,EAAM,EAAA,WAAW,CACjB,EAAc,EAAM,OAAuB,KAAK,CAChD,EAAc,EAAA,YAAY,EAAK,EAAY,CAE3C,EAAa,EAAI,QAAU,EAC3B,EAAgB,EAAI,mBAAqB,EACzC,EAAW,GAAG,EAAI,UAAU,UAAU,IACtC,EAAQ,EAAS,EAAS,CAoBhC,OAlBA,EAAM,qBACJ,EAAI,eAAe,EAAO,EAAO,EAAY,QAAQ,KACxC,CACX,EAAI,iBAAiB,EAAM,GAG5B,EAAE,CAAC,CAEN,EAAM,cAAgB,CACpB,EAAI,uBAAuB,EAAO,EAAS,EAC1C,CAAC,EAAK,EAAO,EAAS,CAAC,EASxB,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,GAAI,EACJ,YAAU,OACV,KAAK,SACL,gBAAe,EACf,gBAAe,GAAY,IAAA,GAC3B,UAAW,EAAA,GACT,gCACA,UACA,iBACA,cACA,0BACA,GAAY,oDACZ,GACE,CAAC,GACD,yDACF,GAAiB,oCACjB,CAAC,GACC,CAAC,GACD,CAAC,GACD,6BACF,EACD,CACD,YA/BsB,CACpB,IACJ,EAAI,cAAc,EAAM,CACxB,EAAI,aAAa,GAAM,GA8BpB,WACG,CAAA,CAIV,EAAW,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAQD,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,2CAyDjB;kBA/DQ,UAAU;;;AAmEnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"SelectItem.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAQD,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,2CA0DjB;kBAhEQ,UAAU;;;AAoEnB,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -21,6 +21,7 @@ function o({ ref: o, value: s, disabled: c = !1, className: l, children: u }) {
21
21
  ]), /* @__PURE__ */ i("div", {
22
22
  ref: p,
23
23
  id: g,
24
+ "data-slot": "item",
24
25
  role: "option",
25
26
  "aria-selected": m,
26
27
  "aria-disabled": c || void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.js","names":[],"sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectItemProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n value: string;\n disabled?: boolean;\n className?: string;\n children: React.ReactNode;\n}\n\nfunction getLabel(children: React.ReactNode): string {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n return \"\";\n}\n\nfunction SelectItem({\n ref,\n value,\n disabled = false,\n className,\n children,\n}: SelectItemProps) {\n const ctx = useSelect();\n const internalRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, internalRef);\n\n const isSelected = ctx.value === value;\n const isHighlighted = ctx.highlightedValue === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isHighlighted &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isHighlighted && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected &&\n !isHighlighted &&\n !disabled &&\n \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n}\n\nSelectItem.displayName = \"SelectItem\";\n\nexport { SelectItem };\n"],"mappings":";;;;;;;AAcA,SAAS,EAAS,GAAmC;AAGnD,QAFI,OAAO,KAAa,WAAiB,IACrC,OAAO,KAAa,WAAiB,OAAO,EAAS,GAClD;;AAGT,SAAS,EAAW,EAClB,QACA,UACA,cAAW,IACX,cACA,eACkB;CAClB,IAAM,IAAM,GAAW,EACjB,IAAc,EAAM,OAAuB,KAAK,EAChD,IAAc,EAAY,GAAK,EAAY,EAE3C,IAAa,EAAI,UAAU,GAC3B,IAAgB,EAAI,qBAAqB,GACzC,IAAW,GAAG,EAAI,UAAU,UAAU,KACtC,IAAQ,EAAS,EAAS;AAoBhC,QAlBA,EAAM,uBACJ,EAAI,eAAe,GAAO,GAAO,EAAY,QAAQ,QACxC;AACX,IAAI,iBAAiB,EAAM;KAG5B,EAAE,CAAC,EAEN,EAAM,gBAAgB;AACpB,IAAI,uBAAuB,GAAO,EAAS;IAC1C;EAAC;EAAK;EAAO;EAAS,CAAC,EASxB,kBAAC,OAAD;EACE,KAAK;EACL,IAAI;EACJ,MAAK;EACL,iBAAe;EACf,iBAAe,KAAY,KAAA;EAC3B,WAAW,EACT,iCACA,WACA,kBACA,eACA,2BACA,KAAY,qDACZ,KACE,CAAC,KACD,0DACF,KAAiB,qCACjB,CAAC,KACC,CAAC,KACD,CAAC,KACD,8BACF,EACD;EACD,eA9BsB;AACpB,SACJ,EAAI,cAAc,EAAM,EACxB,EAAI,aAAa,GAAM;;EA6BpB;EACG,CAAA;;AAIV,EAAW,cAAc"}
1
+ {"version":3,"file":"SelectItem.js","names":[],"sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useSelect } from \"@nuka/components/Select/Select.context\";\n\nexport interface SelectItemProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n value: string;\n disabled?: boolean;\n className?: string;\n children: React.ReactNode;\n}\n\nfunction getLabel(children: React.ReactNode): string {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n return \"\";\n}\n\nfunction SelectItem({\n ref,\n value,\n disabled = false,\n className,\n children,\n}: SelectItemProps) {\n const ctx = useSelect();\n const internalRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, internalRef);\n\n const isSelected = ctx.value === value;\n const isHighlighted = ctx.highlightedValue === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n data-slot=\"item\"\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isHighlighted &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isHighlighted && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected &&\n !isHighlighted &&\n !disabled &&\n \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n}\n\nSelectItem.displayName = \"SelectItem\";\n\nexport { SelectItem };\n"],"mappings":";;;;;;;AAcA,SAAS,EAAS,GAAmC;AAGnD,QAFI,OAAO,KAAa,WAAiB,IACrC,OAAO,KAAa,WAAiB,OAAO,EAAS,GAClD;;AAGT,SAAS,EAAW,EAClB,QACA,UACA,cAAW,IACX,cACA,eACkB;CAClB,IAAM,IAAM,GAAW,EACjB,IAAc,EAAM,OAAuB,KAAK,EAChD,IAAc,EAAY,GAAK,EAAY,EAE3C,IAAa,EAAI,UAAU,GAC3B,IAAgB,EAAI,qBAAqB,GACzC,IAAW,GAAG,EAAI,UAAU,UAAU,KACtC,IAAQ,EAAS,EAAS;AAoBhC,QAlBA,EAAM,uBACJ,EAAI,eAAe,GAAO,GAAO,EAAY,QAAQ,QACxC;AACX,IAAI,iBAAiB,EAAM;KAG5B,EAAE,CAAC,EAEN,EAAM,gBAAgB;AACpB,IAAI,uBAAuB,GAAO,EAAS;IAC1C;EAAC;EAAK;EAAO;EAAS,CAAC,EASxB,kBAAC,OAAD;EACE,KAAK;EACL,IAAI;EACJ,aAAU;EACV,MAAK;EACL,iBAAe;EACf,iBAAe,KAAY,KAAA;EAC3B,WAAW,EACT,iCACA,WACA,kBACA,eACA,2BACA,KAAY,qDACZ,KACE,CAAC,KACD,0DACF,KAAiB,qCACjB,CAAC,KACC,CAAC,KACD,CAAC,KACD,8BACF,EACD;EACD,eA/BsB;AACpB,SACJ,EAAI,cAAc,EAAM,EACxB,EAAI,aAAa,GAAM;;EA8BpB;EACG,CAAA;;AAIV,EAAW,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`);let n=require(`react`);n=e.__toESM(n,1);let r=require(`react/jsx-runtime`);function i({ref:e,className:n,...i}){return(0,r.jsx)(`div`,{ref:e,role:`separator`,"aria-orientation":`horizontal`,className:t.cn(`my-(--space-1) h-px bg-(--nuka-border-base)`,n),...i})}i.displayName=`SelectSeparator`,exports.SelectSeparator=i;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`);let n=require(`react`);n=e.__toESM(n,1);let r=require(`react/jsx-runtime`);function i({ref:e,className:n,...i}){return(0,r.jsx)(`div`,{ref:e,role:`separator`,"aria-orientation":`horizontal`,className:t.cn(`my-(--space-1) h-px bg-(--nuka-border-base)`,n),"data-slot":`separator`,...i})}i.displayName=`SelectSeparator`,exports.SelectSeparator=i;
2
2
  //# sourceMappingURL=SelectSeparator.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectSeparator.cjs","names":[],"sources":["../../../src/components/Select/SelectSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport interface SelectSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction SelectSeparator({ ref, className, ...props }: SelectSeparatorProps) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"my-(--space-1) h-px bg-(--nuka-border-base)\", className)}\n {...props}\n />\n );\n}\n\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport { SelectSeparator };\n"],"mappings":"gLAQA,SAAS,EAAgB,CAAE,MAAK,YAAW,GAAG,GAA+B,CAC3E,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,KAAK,YACL,mBAAiB,aACjB,UAAW,EAAA,GAAG,8CAA+C,EAAU,CACvE,GAAI,EACJ,CAAA,CAIN,EAAgB,YAAc"}
1
+ {"version":3,"file":"SelectSeparator.cjs","names":[],"sources":["../../../src/components/Select/SelectSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport interface SelectSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction SelectSeparator({ ref, className, ...props }: SelectSeparatorProps) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"my-(--space-1) h-px bg-(--nuka-border-base)\", className)}\n data-slot=\"separator\"\n {...props}\n />\n );\n}\n\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport { SelectSeparator };\n"],"mappings":"gLAQA,SAAS,EAAgB,CAAE,MAAK,YAAW,GAAG,GAA+B,CAC3E,OACE,EAAA,EAAA,KAAC,MAAD,CACO,MACL,KAAK,YACL,mBAAiB,aACjB,UAAW,EAAA,GAAG,8CAA+C,EAAU,CACvE,YAAU,YACV,GAAI,EACJ,CAAA,CAIN,EAAgB,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectSeparator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChF,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,iBAAS,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAU1E;kBAVQ,eAAe;;;AAcxB,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"SelectSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectSeparator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChF,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,iBAAS,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAW1E;kBAXQ,eAAe;;;AAexB,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -9,6 +9,7 @@ function n({ ref: n, className: r, ...i }) {
9
9
  role: "separator",
10
10
  "aria-orientation": "horizontal",
11
11
  className: e("my-(--space-1) h-px bg-(--nuka-border-base)", r),
12
+ "data-slot": "separator",
12
13
  ...i
13
14
  });
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectSeparator.js","names":[],"sources":["../../../src/components/Select/SelectSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport interface SelectSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction SelectSeparator({ ref, className, ...props }: SelectSeparatorProps) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"my-(--space-1) h-px bg-(--nuka-border-base)\", className)}\n {...props}\n />\n );\n}\n\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport { SelectSeparator };\n"],"mappings":";;;;;AAQA,SAAS,EAAgB,EAAE,QAAK,cAAW,GAAG,KAA+B;AAC3E,QACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,oBAAiB;EACjB,WAAW,EAAG,+CAA+C,EAAU;EACvE,GAAI;EACJ,CAAA;;AAIN,EAAgB,cAAc"}
1
+ {"version":3,"file":"SelectSeparator.js","names":[],"sources":["../../../src/components/Select/SelectSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\n\nexport interface SelectSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction SelectSeparator({ ref, className, ...props }: SelectSeparatorProps) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"my-(--space-1) h-px bg-(--nuka-border-base)\", className)}\n data-slot=\"separator\"\n {...props}\n />\n );\n}\n\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport { SelectSeparator };\n"],"mappings":";;;;;AAQA,SAAS,EAAgB,EAAE,QAAK,cAAW,GAAG,KAA+B;AAC3E,QACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,oBAAiB;EACjB,WAAW,EAAG,+CAA+C,EAAU;EACvE,aAAU;EACV,GAAI;EACJ,CAAA;;AAIN,EAAgB,cAAc"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/roving-index.cjs`),r=require(`../FormField/FormField.context.cjs`),i=require(`../../hooks/use-form-field-props.cjs`),a=require(`../../utils/scroll-into-view-safe.cjs`),o=require(`./Select.context.cjs`),s=require(`./SelectTrigger.utils.cjs`),c=require(`./SelectTrigger.variants.cjs`);let l=require(`react`);l=e.__toESM(l,1);let u=require(`react/jsx-runtime`);function d({ref:e,className:d,placeholder:f,intent:p,size:m,disabled:h,...g}){let _=o.useSelect(),v=r.useFormField(),y=i.useFormFieldProps({id:g.id,"aria-invalid":g[`aria-invalid`],"aria-describedby":g[`aria-describedby`],"aria-required":g[`aria-required`]}),b=l.useRef(``),x=l.useRef(void 0),S=h??_.disabled,C=g[`aria-labelledby`]??(v.labelId||void 0),w=_.value===void 0?void 0:_.getOptionLabel(_.value),T=g[`aria-label`]??(C===void 0?w??f??`Select`:void 0),E=l.useCallback(()=>_.getOptions().filter(e=>!_.isOptionDisabled(e)),[_]),D=l.useCallback(e=>{_.onHighlightChange(e),e!==void 0&&a.scrollIntoViewSafe(_.getOptionRef(e))},[_]),O=l.useCallback(()=>{_.highlightedValue!==void 0&&(_.onValueChange(_.highlightedValue),_.onOpenChange(!1))},[_]),k=l.useCallback(e=>{let t=E();if(t.length===0)return;let r=_.highlightedValue===void 0?-1:t.indexOf(_.highlightedValue),i=n.getRovingIndex({next:`ArrowDown`,prev:`ArrowUp`,first:`Home`,last:`End`}[e],r,t.length,`vertical`);if(i===void 0)return;let a=t[i];a!==void 0&&D(a)},[_.highlightedValue,E,D]),A=l.useCallback(e=>{_.onOpenChange(!0);let t=E();if(t.length!==0){if(e===`current`&&_.value!==void 0){let e=t.indexOf(_.value);if(e!==-1){D(t[e]);return}}D(e===`last`?t[t.length-1]:t[0])}},[_,E,D]),j=l.useCallback(e=>{x.current!==void 0&&clearTimeout(x.current),b.current+=e.toLowerCase(),x.current=setTimeout(()=>{b.current=``},300);let t=E().find(e=>_.getOptionLabel(e)?.toLowerCase().startsWith(b.current));t!==void 0&&(_.open||_.onOpenChange(!0),D(t))},[_,E,D]),M=e=>{if(g.onKeyDown?.(e),!e.defaultPrevented)switch(e.key){case`ArrowDown`:e.preventDefault(),_.open?k(`next`):A(`first`);break;case`ArrowUp`:e.preventDefault(),_.open?k(`prev`):A(`last`);break;case`Home`:_.open&&(e.preventDefault(),k(`first`));break;case`End`:_.open&&(e.preventDefault(),k(`last`));break;case`Enter`:e.preventDefault(),_.open?O():A(`current`);break;case` `:e.preventDefault(),_.open?O():A(`current`);break;case`Escape`:_.open&&(e.preventDefault(),_.onOpenChange(!1));break;case`Tab`:_.open&&_.onOpenChange(!1);break;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&j(e.key);break}},N=e=>{if(g.onClick?.(e),!e.defaultPrevented&&(_.onOpenChange(!_.open),!_.open)){let e=E();_.value!==void 0&&e.includes(_.value)&&D(_.value)}},P=_.open&&_.highlightedValue!==void 0?`${_.listboxId}-option-${_.highlightedValue}`:void 0;return(0,u.jsxs)(`button`,{...g,ref:e,type:`button`,id:y.resolvedId,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":_.open,"aria-controls":_.listboxId,"aria-activedescendant":P,"aria-label":T,"aria-labelledby":C,"aria-invalid":y.ariaInvalid,"aria-describedby":y.ariaDescribedBy,"aria-required":y.ariaRequired,disabled:S,className:t.cn(c.selectTriggerVariants({intent:p,size:m}),d),onClick:N,onKeyDown:M,children:[(0,u.jsx)(`span`,{className:t.cn(`truncate`,w===void 0&&`text-(--nuka-text-muted)`),children:w??f}),(0,u.jsx)(s.ChevronIcon,{open:_.open})]})}d.displayName=`SelectTrigger`,exports.SelectTrigger=d;
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../utils/roving-index.cjs`),r=require(`../FormField/FormField.context.cjs`),i=require(`../../hooks/use-form-field-props.cjs`),a=require(`../../utils/scroll-into-view-safe.cjs`),o=require(`./Select.context.cjs`),s=require(`./SelectTrigger.utils.cjs`),c=require(`./SelectTrigger.variants.cjs`);let l=require(`react`);l=e.__toESM(l,1);let u=require(`react/jsx-runtime`);function d({ref:e,className:d,placeholder:f,intent:p,size:m,disabled:h,...g}){let _=o.useSelect(),v=r.useFormField(),y=i.useFormFieldProps({id:g.id,"aria-invalid":g[`aria-invalid`],"aria-describedby":g[`aria-describedby`],"aria-required":g[`aria-required`]}),b=l.useRef(``),x=l.useRef(void 0),S=h??_.disabled,C=g[`aria-labelledby`]??(v.labelId||void 0),w=_.value===void 0?void 0:_.getOptionLabel(_.value),T=g[`aria-label`]??(C===void 0?w??f??`Select`:void 0),E=l.useCallback(()=>_.getOptions().filter(e=>!_.isOptionDisabled(e)),[_]),D=l.useCallback(e=>{_.onHighlightChange(e),e!==void 0&&a.scrollIntoViewSafe(_.getOptionRef(e))},[_]),O=l.useCallback(()=>{_.highlightedValue!==void 0&&(_.onValueChange(_.highlightedValue),_.onOpenChange(!1))},[_]),k=l.useCallback(e=>{let t=E();if(t.length===0)return;let r=_.highlightedValue===void 0?-1:t.indexOf(_.highlightedValue),i=n.getRovingIndex({next:`ArrowDown`,prev:`ArrowUp`,first:`Home`,last:`End`}[e],r,t.length,`vertical`);if(i===void 0)return;let a=t[i];a!==void 0&&D(a)},[_.highlightedValue,E,D]),A=l.useCallback(e=>{_.onOpenChange(!0);let t=E();if(t.length!==0){if(e===`current`&&_.value!==void 0){let e=t.indexOf(_.value);if(e!==-1){D(t[e]);return}}D(e===`last`?t[t.length-1]:t[0])}},[_,E,D]),j=l.useCallback(e=>{x.current!==void 0&&clearTimeout(x.current),b.current+=e.toLowerCase(),x.current=setTimeout(()=>{b.current=``},300);let t=E().find(e=>_.getOptionLabel(e)?.toLowerCase().startsWith(b.current));t!==void 0&&(_.open||_.onOpenChange(!0),D(t))},[_,E,D]),M=e=>{if(g.onKeyDown?.(e),!e.defaultPrevented)switch(e.key){case`ArrowDown`:e.preventDefault(),_.open?k(`next`):A(`first`);break;case`ArrowUp`:e.preventDefault(),_.open?k(`prev`):A(`last`);break;case`Home`:_.open&&(e.preventDefault(),k(`first`));break;case`End`:_.open&&(e.preventDefault(),k(`last`));break;case`Enter`:e.preventDefault(),_.open?O():A(`current`);break;case` `:e.preventDefault(),_.open?O():A(`current`);break;case`Escape`:_.open&&(e.preventDefault(),_.onOpenChange(!1));break;case`Tab`:_.open&&_.onOpenChange(!1);break;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&j(e.key);break}},N=e=>{if(g.onClick?.(e),!e.defaultPrevented&&(_.onOpenChange(!_.open),!_.open)){let e=E();_.value!==void 0&&e.includes(_.value)&&D(_.value)}},P=_.open&&_.highlightedValue!==void 0?`${_.listboxId}-option-${_.highlightedValue}`:void 0;return(0,u.jsxs)(`button`,{...g,ref:e,type:`button`,id:y.resolvedId,"data-slot":`trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":_.open,"aria-controls":_.listboxId,"aria-activedescendant":P,"aria-label":T,"aria-labelledby":C,"aria-invalid":y.ariaInvalid,"aria-describedby":y.ariaDescribedBy,"aria-required":y.ariaRequired,disabled:S,className:t.cn(c.selectTriggerVariants({intent:p,size:m}),d),onClick:N,onKeyDown:M,children:[(0,u.jsx)(`span`,{className:t.cn(`truncate`,w===void 0&&`text-(--nuka-text-muted)`),children:w??f}),(0,u.jsx)(s.ChevronIcon,{open:_.open})]})}d.displayName=`SelectTrigger`,exports.SelectTrigger=d;
2
2
  //# sourceMappingURL=SelectTrigger.cjs.map