@vjdesigns/vjdesigns-ui 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +45 -1
  3. package/dist/ai/llms-full.txt +199 -107
  4. package/dist/ai/registry.json +217 -77
  5. package/dist/components/data-display/Accordion/Accordion.cjs.js +1 -1
  6. package/dist/components/data-display/Accordion/Accordion.mjs +22 -22
  7. package/dist/components/data-display/Accordion/Accordion.module.css.mjs +1 -2
  8. package/dist/components/data-display/Avatar/Avatar.cjs.js +1 -1
  9. package/dist/components/data-display/Avatar/Avatar.mjs +92 -92
  10. package/dist/components/data-display/Avatar/Avatar.module.css.mjs +1 -2
  11. package/dist/components/data-display/Badge/Badge.cjs.js +1 -1
  12. package/dist/components/data-display/Badge/Badge.d.ts +7 -2
  13. package/dist/components/data-display/Badge/Badge.mjs +4 -3
  14. package/dist/components/data-display/Badge/Badge.module.css.cjs.js +1 -1
  15. package/dist/components/data-display/Badge/Badge.module.css.mjs +34 -34
  16. package/dist/components/data-display/Card/Card.cjs.js +1 -1
  17. package/dist/components/data-display/Card/Card.mjs +2 -2
  18. package/dist/components/data-display/Card/Card.module.css.mjs +1 -2
  19. package/dist/components/data-display/Carousel/Carousel.cjs.js +1 -1
  20. package/dist/components/data-display/Carousel/Carousel.mjs +42 -42
  21. package/dist/components/data-display/Carousel/Carousel.module.css.mjs +1 -2
  22. package/dist/components/data-display/Chat/Chat.cjs.js +1 -1
  23. package/dist/components/data-display/Chat/Chat.mjs +114 -118
  24. package/dist/components/data-display/Chat/Chat.module.css.mjs +1 -2
  25. package/dist/components/data-display/Chat/streams.mjs +1 -2
  26. package/dist/components/data-display/Chip/Chip.cjs.js +1 -1
  27. package/dist/components/data-display/Chip/Chip.mjs +50 -54
  28. package/dist/components/data-display/Chip/Chip.module.css.mjs +1 -2
  29. package/dist/components/data-display/CodeBlock/CodeBlock.cjs.js +4 -4
  30. package/dist/components/data-display/CodeBlock/CodeBlock.mjs +113 -113
  31. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.mjs +1 -2
  32. package/dist/components/data-display/CodeBlock/tokenize.mjs +1 -2
  33. package/dist/components/data-display/DataGrid/DataGrid.cjs.js +1 -1
  34. package/dist/components/data-display/DataGrid/DataGrid.d.ts +14 -3
  35. package/dist/components/data-display/DataGrid/DataGrid.mjs +352 -267
  36. package/dist/components/data-display/DataGrid/DataGrid.module.css.cjs.js +1 -1
  37. package/dist/components/data-display/DataGrid/DataGrid.module.css.mjs +6 -5
  38. package/dist/components/data-display/DataGrid/dataGridUtils.cjs.js +1 -1
  39. package/dist/components/data-display/DataGrid/dataGridUtils.d.ts +18 -0
  40. package/dist/components/data-display/DataGrid/dataGridUtils.mjs +100 -32
  41. package/dist/components/data-display/EmptyState/EmptyState.cjs.js +1 -1
  42. package/dist/components/data-display/EmptyState/EmptyState.mjs +53 -53
  43. package/dist/components/data-display/EmptyState/EmptyState.module.css.mjs +1 -2
  44. package/dist/components/data-display/Image/Image.cjs.js +1 -1
  45. package/dist/components/data-display/Image/Image.mjs +6 -6
  46. package/dist/components/data-display/Image/Image.module.css.mjs +1 -2
  47. package/dist/components/data-display/List/List.cjs.js +1 -1
  48. package/dist/components/data-display/List/List.mjs +68 -68
  49. package/dist/components/data-display/List/List.module.css.mjs +1 -2
  50. package/dist/components/data-display/Stat/Stat.cjs.js +1 -1
  51. package/dist/components/data-display/Stat/Stat.mjs +112 -112
  52. package/dist/components/data-display/Stat/Stat.module.css.mjs +1 -2
  53. package/dist/components/data-display/Table/Table.cjs.js +1 -1
  54. package/dist/components/data-display/Table/Table.mjs +187 -183
  55. package/dist/components/data-display/Table/Table.module.css.mjs +1 -2
  56. package/dist/components/data-display/Table/useTable.cjs.js +1 -1
  57. package/dist/components/data-display/Table/useTable.mjs +2 -2
  58. package/dist/components/data-display/Timeline/Timeline.cjs.js +1 -1
  59. package/dist/components/data-display/Timeline/Timeline.mjs +64 -64
  60. package/dist/components/data-display/Timeline/Timeline.module.css.mjs +1 -2
  61. package/dist/components/data-display/TreeView/TreeView.cjs.js +1 -1
  62. package/dist/components/data-display/TreeView/TreeView.mjs +107 -119
  63. package/dist/components/data-display/TreeView/TreeView.module.css.mjs +1 -2
  64. package/dist/components/data-display/TreeView/treeUtils.mjs +1 -2
  65. package/dist/components/data-display/VirtualList/VirtualList.cjs.js +1 -1
  66. package/dist/components/data-display/VirtualList/VirtualList.mjs +2 -2
  67. package/dist/components/data-display/VirtualList/VirtualList.module.css.mjs +1 -2
  68. package/dist/components/feedback/Alert/Alert.cjs.js +1 -1
  69. package/dist/components/feedback/Alert/Alert.mjs +56 -56
  70. package/dist/components/feedback/Alert/Alert.module.css.mjs +1 -2
  71. package/dist/components/feedback/Banner/Banner.cjs.js +1 -1
  72. package/dist/components/feedback/Banner/Banner.mjs +48 -48
  73. package/dist/components/feedback/Banner/Banner.module.css.mjs +1 -2
  74. package/dist/components/feedback/ErrorSummary/ErrorSummary.cjs.js +1 -1
  75. package/dist/components/feedback/ErrorSummary/ErrorSummary.mjs +10 -10
  76. package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.mjs +1 -2
  77. package/dist/components/feedback/Progress/Progress.cjs.js +1 -1
  78. package/dist/components/feedback/Progress/Progress.mjs +2 -2
  79. package/dist/components/feedback/Progress/Progress.module.css.mjs +1 -2
  80. package/dist/components/feedback/Skeleton/Skeleton.cjs.js +1 -1
  81. package/dist/components/feedback/Skeleton/Skeleton.mjs +73 -73
  82. package/dist/components/feedback/Skeleton/Skeleton.module.css.mjs +1 -2
  83. package/dist/components/feedback/Spinner/Spinner.cjs.js +1 -1
  84. package/dist/components/feedback/Spinner/Spinner.mjs +29 -29
  85. package/dist/components/feedback/Spinner/Spinner.module.css.mjs +1 -2
  86. package/dist/components/feedback/Toast/Toast.cjs.js +1 -1
  87. package/dist/components/feedback/Toast/Toast.mjs +42 -42
  88. package/dist/components/feedback/Toast/Toast.module.css.mjs +1 -2
  89. package/dist/components/feedback/Toast/ToastItem.cjs.js +1 -1
  90. package/dist/components/feedback/Toast/ToastItem.mjs +10 -10
  91. package/dist/components/feedback/Toast/ToastProvider.cjs.js +1 -1
  92. package/dist/components/feedback/Toast/ToastProvider.mjs +11 -11
  93. package/dist/components/feedback/Toast/ToastViewport.cjs.js +1 -1
  94. package/dist/components/feedback/Toast/ToastViewport.mjs +30 -30
  95. package/dist/components/feedback/Toast/toastStore.mjs +1 -2
  96. package/dist/components/feedback/Toast/toastTiming.cjs.js +1 -1
  97. package/dist/components/feedback/Toast/toastTiming.mjs +2 -2
  98. package/dist/components/feedback/Toast/useToast.cjs.js +1 -1
  99. package/dist/components/feedback/Toast/useToast.mjs +2 -2
  100. package/dist/components/feedback/Toast/useToastAnnouncer.cjs.js +1 -1
  101. package/dist/components/feedback/Toast/useToastAnnouncer.mjs +2 -2
  102. package/dist/components/forms/CheckBox/CheckBox.cjs.js +1 -1
  103. package/dist/components/forms/CheckBox/CheckBox.mjs +2 -2
  104. package/dist/components/forms/CheckBox/CheckBox.module.css.mjs +1 -2
  105. package/dist/components/forms/ColorPicker/ColorInput.cjs.js +1 -1
  106. package/dist/components/forms/ColorPicker/ColorInput.mjs +43 -43
  107. package/dist/components/forms/ColorPicker/ColorPicker.cjs.js +1 -1
  108. package/dist/components/forms/ColorPicker/ColorPicker.mjs +153 -153
  109. package/dist/components/forms/ColorPicker/ColorPicker.module.css.mjs +1 -2
  110. package/dist/components/forms/ColorPicker/colorUtils.mjs +1 -2
  111. package/dist/components/forms/Combobox/Combobox.cjs.js +1 -1
  112. package/dist/components/forms/Combobox/Combobox.mjs +200 -213
  113. package/dist/components/forms/Combobox/Combobox.module.css.mjs +1 -2
  114. package/dist/components/forms/Combobox/ComboboxPopup.cjs.js +1 -1
  115. package/dist/components/forms/Combobox/ComboboxPopup.mjs +164 -121
  116. package/dist/components/forms/Combobox/comboboxUtils.cjs.js +1 -1
  117. package/dist/components/forms/Combobox/comboboxUtils.d.ts +4 -1
  118. package/dist/components/forms/Combobox/comboboxUtils.mjs +21 -20
  119. package/dist/components/forms/DatePicker/Calendar.cjs.js +1 -1
  120. package/dist/components/forms/DatePicker/Calendar.mjs +60 -66
  121. package/dist/components/forms/DatePicker/Calendar.module.css.mjs +1 -2
  122. package/dist/components/forms/DatePicker/DatePicker.cjs.js +1 -1
  123. package/dist/components/forms/DatePicker/DatePicker.mjs +72 -74
  124. package/dist/components/forms/DatePicker/DatePicker.module.css.mjs +1 -2
  125. package/dist/components/forms/DatePicker/DateRangePicker.cjs.js +1 -1
  126. package/dist/components/forms/DatePicker/DateRangePicker.mjs +117 -117
  127. package/dist/components/forms/DatePicker/DateRangePicker.module.css.mjs +1 -2
  128. package/dist/components/forms/DatePicker/dateUtils.mjs +1 -2
  129. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -1
  130. package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +19 -19
  131. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +1 -2
  132. package/dist/components/forms/Field/Field.cjs.js +1 -1
  133. package/dist/components/forms/Field/Field.mjs +14 -14
  134. package/dist/components/forms/Field/Field.module.css.mjs +1 -2
  135. package/dist/components/forms/Field/FieldContext.cjs.js +1 -1
  136. package/dist/components/forms/Field/FieldContext.mjs +2 -2
  137. package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -1
  138. package/dist/components/forms/FileUpload/FileUpload.mjs +250 -255
  139. package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +1 -2
  140. package/dist/components/forms/Input/Input.cjs.js +1 -1
  141. package/dist/components/forms/Input/Input.mjs +35 -35
  142. package/dist/components/forms/Input/Input.module.css.mjs +1 -2
  143. package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -1
  144. package/dist/components/forms/NumberInput/NumberInput.mjs +137 -142
  145. package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +1 -2
  146. package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -1
  147. package/dist/components/forms/PasswordInput/PasswordInput.mjs +142 -142
  148. package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +1 -2
  149. package/dist/components/forms/PinInput/PinInput.cjs.js +1 -1
  150. package/dist/components/forms/PinInput/PinInput.mjs +12 -12
  151. package/dist/components/forms/PinInput/PinInput.module.css.mjs +1 -2
  152. package/dist/components/forms/Radio/Radio.cjs.js +1 -1
  153. package/dist/components/forms/Radio/Radio.mjs +2 -2
  154. package/dist/components/forms/Radio/Radio.module.css.mjs +1 -2
  155. package/dist/components/forms/Rating/Rating.cjs.js +1 -1
  156. package/dist/components/forms/Rating/Rating.mjs +110 -109
  157. package/dist/components/forms/Rating/Rating.module.css.mjs +1 -2
  158. package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -1
  159. package/dist/components/forms/SearchInput/SearchInput.mjs +118 -126
  160. package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +1 -2
  161. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -1
  162. package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +46 -43
  163. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +1 -2
  164. package/dist/components/forms/Select/Select.cjs.js +1 -1
  165. package/dist/components/forms/Select/Select.mjs +2 -2
  166. package/dist/components/forms/Select/Select.module.css.mjs +1 -2
  167. package/dist/components/forms/Slider/Slider.cjs.js +1 -1
  168. package/dist/components/forms/Slider/Slider.mjs +2 -2
  169. package/dist/components/forms/Slider/Slider.module.css.mjs +1 -2
  170. package/dist/components/forms/Switch/Switch.cjs.js +1 -1
  171. package/dist/components/forms/Switch/Switch.mjs +39 -39
  172. package/dist/components/forms/Switch/Switch.module.css.mjs +1 -2
  173. package/dist/components/forms/TagInput/TagInput.cjs.js +1 -1
  174. package/dist/components/forms/TagInput/TagInput.mjs +197 -203
  175. package/dist/components/forms/TagInput/TagInput.module.css.mjs +1 -2
  176. package/dist/components/forms/Textarea/Textarea.cjs.js +1 -1
  177. package/dist/components/forms/Textarea/Textarea.mjs +59 -59
  178. package/dist/components/forms/Textarea/Textarea.module.css.mjs +1 -2
  179. package/dist/components/forms/TimePicker/TimePicker.cjs.js +1 -1
  180. package/dist/components/forms/TimePicker/TimePicker.mjs +14 -16
  181. package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +1 -2
  182. package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -1
  183. package/dist/components/forms/TimePicker/timeUtils.d.ts +4 -1
  184. package/dist/components/forms/TimePicker/timeUtils.mjs +43 -38
  185. package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -1
  186. package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +10 -10
  187. package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +1 -2
  188. package/dist/components/layout/Box/Box.mjs +1 -2
  189. package/dist/components/layout/Box/Box.module.css.mjs +1 -2
  190. package/dist/components/layout/Container/Container.mjs +1 -2
  191. package/dist/components/layout/Container/Container.module.css.mjs +1 -2
  192. package/dist/components/layout/Divider/Divider.mjs +1 -2
  193. package/dist/components/layout/Divider/Divider.module.css.mjs +1 -2
  194. package/dist/components/layout/Flex/Flex.cjs.js +1 -1
  195. package/dist/components/layout/Flex/Flex.mjs +12 -13
  196. package/dist/components/layout/Flex/Flex.module.css.mjs +1 -2
  197. package/dist/components/layout/Grid/Grid.cjs.js +1 -1
  198. package/dist/components/layout/Grid/Grid.mjs +20 -21
  199. package/dist/components/layout/Grid/Grid.module.css.mjs +1 -2
  200. package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -1
  201. package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +17 -17
  202. package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +1 -2
  203. package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -1
  204. package/dist/components/layout/ScrollArea/ScrollArea.mjs +2 -2
  205. package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +1 -2
  206. package/dist/components/layout/Stack/Stack.cjs.js +1 -1
  207. package/dist/components/layout/Stack/Stack.mjs +8 -9
  208. package/dist/components/layout/Stack/Stack.module.css.mjs +1 -2
  209. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -1
  210. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +41 -41
  211. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +1 -2
  212. package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -1
  213. package/dist/components/navigation/ContextMenu/ContextMenu.mjs +48 -48
  214. package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +1 -2
  215. package/dist/components/navigation/Link/Link.cjs.js +1 -1
  216. package/dist/components/navigation/Link/Link.mjs +6 -7
  217. package/dist/components/navigation/Link/Link.module.css.mjs +1 -2
  218. package/dist/components/navigation/Menu/Menu.cjs.js +1 -1
  219. package/dist/components/navigation/Menu/Menu.mjs +11 -11
  220. package/dist/components/navigation/Menu/Menu.module.css.mjs +1 -2
  221. package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -1
  222. package/dist/components/navigation/Menu/MenuContent.mjs +46 -46
  223. package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -1
  224. package/dist/components/navigation/Menu/MenuContext.mjs +2 -2
  225. package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -1
  226. package/dist/components/navigation/Menu/MenuItem.mjs +35 -39
  227. package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -1
  228. package/dist/components/navigation/Menu/MenuSub.mjs +16 -20
  229. package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -1
  230. package/dist/components/navigation/Menu/useMenuRoot.mjs +2 -2
  231. package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -1
  232. package/dist/components/navigation/Navbar/Navbar.d.ts +65 -2
  233. package/dist/components/navigation/Navbar/Navbar.mjs +315 -175
  234. package/dist/components/navigation/Navbar/Navbar.module.css.cjs.js +1 -1
  235. package/dist/components/navigation/Navbar/Navbar.module.css.mjs +21 -13
  236. package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -1
  237. package/dist/components/navigation/Pagination/Pagination.mjs +31 -35
  238. package/dist/components/navigation/Pagination/Pagination.module.css.mjs +1 -2
  239. package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -1
  240. package/dist/components/navigation/Sidebar/Sidebar.mjs +52 -52
  241. package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +1 -2
  242. package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -1
  243. package/dist/components/navigation/Sidebar/SidebarContext.mjs +2 -2
  244. package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -1
  245. package/dist/components/navigation/Sidebar/SidebarParts.mjs +76 -80
  246. package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -1
  247. package/dist/components/navigation/SkipLink/SkipLink.mjs +12 -12
  248. package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +1 -2
  249. package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -1
  250. package/dist/components/navigation/Stepper/Stepper.mjs +46 -46
  251. package/dist/components/navigation/Stepper/Stepper.module.css.mjs +1 -2
  252. package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -1
  253. package/dist/components/navigation/Tabs/Tabs.mjs +2 -2
  254. package/dist/components/navigation/Tabs/Tabs.module.css.mjs +1 -2
  255. package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -1
  256. package/dist/components/overlays/CommandPalette/CommandPalette.mjs +206 -206
  257. package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +1 -2
  258. package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -1
  259. package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +2 -2
  260. package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -1
  261. package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +104 -104
  262. package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -1
  263. package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +62 -60
  264. package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -1
  265. package/dist/components/overlays/Drawer/Drawer.mjs +31 -31
  266. package/dist/components/overlays/Drawer/Drawer.module.css.mjs +1 -2
  267. package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -1
  268. package/dist/components/overlays/Drawer/DrawerContent.mjs +99 -99
  269. package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -1
  270. package/dist/components/overlays/Drawer/DrawerContext.mjs +2 -2
  271. package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -1
  272. package/dist/components/overlays/Drawer/DrawerParts.mjs +18 -18
  273. package/dist/components/overlays/Drawer/internal.mjs +1 -2
  274. package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -1
  275. package/dist/components/overlays/Drawer/useDragToClose.mjs +2 -2
  276. package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -1
  277. package/dist/components/overlays/HoverCard/HoverCard.mjs +31 -31
  278. package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +1 -2
  279. package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -1
  280. package/dist/components/overlays/Modal/ConfirmModal.mjs +21 -23
  281. package/dist/components/overlays/Modal/Modal.cjs.js +1 -1
  282. package/dist/components/overlays/Modal/Modal.mjs +47 -47
  283. package/dist/components/overlays/Modal/Modal.module.css.mjs +1 -2
  284. package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -1
  285. package/dist/components/overlays/Modal/ModalContent.mjs +24 -24
  286. package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -1
  287. package/dist/components/overlays/Modal/ModalContext.mjs +2 -2
  288. package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -1
  289. package/dist/components/overlays/Modal/useScrollRegion.mjs +2 -2
  290. package/dist/components/overlays/Popover/Popover.cjs.js +1 -1
  291. package/dist/components/overlays/Popover/Popover.mjs +40 -40
  292. package/dist/components/overlays/Popover/Popover.module.css.mjs +1 -2
  293. package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -1
  294. package/dist/components/overlays/Popover/PopoverContent.mjs +39 -39
  295. package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -1
  296. package/dist/components/overlays/Popover/PopoverContext.mjs +2 -2
  297. package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -1
  298. package/dist/components/overlays/Tooltip/Tooltip.mjs +100 -95
  299. package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +1 -2
  300. package/dist/components/primitives/Button/Button.cjs.js +1 -1
  301. package/dist/components/primitives/Button/Button.mjs +59 -63
  302. package/dist/components/primitives/Button/Button.module.css.mjs +1 -2
  303. package/dist/components/primitives/Icon/Icon.cjs.js +1 -1
  304. package/dist/components/primitives/Icon/Icon.mjs +5 -6
  305. package/dist/components/primitives/Icon/Icon.module.css.mjs +1 -2
  306. package/dist/components/primitives/Icon/IconSvg.mjs +1 -2
  307. package/dist/components/primitives/Icon/icons.mjs +1 -2
  308. package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -1
  309. package/dist/components/primitives/Kbd/Kbd.mjs +30 -30
  310. package/dist/components/primitives/Kbd/Kbd.module.css.mjs +1 -2
  311. package/dist/components/primitives/Typography/Typography.mjs +1 -2
  312. package/dist/components/primitives/Typography/Typography.module.css.mjs +1 -2
  313. package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -1
  314. package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +11 -11
  315. package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +1 -2
  316. package/dist/components/utilities/Portal/Portal.cjs.js +1 -1
  317. package/dist/components/utilities/Portal/Portal.mjs +2 -2
  318. package/dist/components/utilities/Theme/Theme.cjs.js +1 -1
  319. package/dist/components/utilities/Theme/Theme.mjs +13 -13
  320. package/dist/components/utilities/Theme/Theme.module.css.mjs +1 -2
  321. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +1 -2
  322. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +1 -2
  323. package/dist/hooks/elementSource.cjs.js +1 -1
  324. package/dist/hooks/elementSource.mjs +4 -3
  325. package/dist/hooks/useClipboard.cjs.js +1 -1
  326. package/dist/hooks/useClipboard.mjs +2 -2
  327. package/dist/hooks/useControllableState.cjs.js +1 -1
  328. package/dist/hooks/useControllableState.mjs +2 -2
  329. package/dist/hooks/useDisclosure.cjs.js +1 -1
  330. package/dist/hooks/useDisclosure.mjs +2 -2
  331. package/dist/hooks/useDismiss.cjs.js +1 -1
  332. package/dist/hooks/useDismiss.mjs +2 -2
  333. package/dist/hooks/useElementObservers.cjs.js +1 -1
  334. package/dist/hooks/useElementObservers.mjs +2 -2
  335. package/dist/hooks/useEnvironment.cjs.js +1 -1
  336. package/dist/hooks/useEnvironment.mjs +2 -2
  337. package/dist/hooks/useFloatingPosition.cjs.js +1 -1
  338. package/dist/hooks/useFloatingPosition.mjs +2 -2
  339. package/dist/hooks/useFocusTrap.cjs.js +1 -1
  340. package/dist/hooks/useFocusTrap.mjs +4 -15
  341. package/dist/hooks/useFormReset.cjs.js +1 -1
  342. package/dist/hooks/useFormReset.mjs +2 -2
  343. package/dist/hooks/useFormValidation.cjs.js +1 -1
  344. package/dist/hooks/useFormValidation.mjs +2 -2
  345. package/dist/hooks/useHotkeys.cjs.js +1 -1
  346. package/dist/hooks/useHotkeys.mjs +2 -2
  347. package/dist/hooks/useInertOutside.cjs.js +1 -1
  348. package/dist/hooks/useInertOutside.mjs +5 -9
  349. package/dist/hooks/useMediaQuery.cjs.js +1 -1
  350. package/dist/hooks/useMediaQuery.mjs +2 -2
  351. package/dist/hooks/useMergedRef.cjs.js +1 -1
  352. package/dist/hooks/useMergedRef.mjs +2 -2
  353. package/dist/hooks/useOverlayLayer.cjs.js +1 -1
  354. package/dist/hooks/useOverlayLayer.mjs +3 -3
  355. package/dist/hooks/useResponsiveValue.cjs.js +1 -1
  356. package/dist/hooks/useResponsiveValue.mjs +2 -2
  357. package/dist/hooks/useScrollLock.cjs.js +1 -1
  358. package/dist/hooks/useScrollLock.mjs +2 -2
  359. package/dist/hooks/useStorage.cjs.js +1 -1
  360. package/dist/hooks/useStorage.mjs +2 -2
  361. package/dist/hooks/useTiming.cjs.js +1 -1
  362. package/dist/hooks/useTiming.mjs +10 -15
  363. package/dist/hooks/useVirtualizer.cjs.js +1 -1
  364. package/dist/hooks/useVirtualizer.d.ts +13 -0
  365. package/dist/hooks/useVirtualizer.mjs +93 -54
  366. package/dist/i18n/en.cjs.js +1 -1
  367. package/dist/i18n/en.mjs +2 -2
  368. package/dist/i18n/merge.mjs +1 -2
  369. package/dist/i18n/plural.mjs +1 -2
  370. package/dist/i18n/types.d.ts +5 -0
  371. package/dist/index.cjs.js +1 -1
  372. package/dist/index.mjs +114 -114
  373. package/dist/locales/ar.cjs.js +1 -1
  374. package/dist/locales/ar.mjs +2 -2
  375. package/dist/locales/bn.cjs.js +1 -1
  376. package/dist/locales/bn.mjs +2 -2
  377. package/dist/locales/cs.cjs.js +1 -1
  378. package/dist/locales/cs.mjs +2 -2
  379. package/dist/locales/da.cjs.js +1 -1
  380. package/dist/locales/da.mjs +2 -2
  381. package/dist/locales/de.cjs.js +1 -1
  382. package/dist/locales/de.mjs +2 -2
  383. package/dist/locales/el.cjs.js +1 -1
  384. package/dist/locales/el.mjs +2 -2
  385. package/dist/locales/es.cjs.js +1 -1
  386. package/dist/locales/es.mjs +2 -2
  387. package/dist/locales/fa.cjs.js +1 -1
  388. package/dist/locales/fa.mjs +2 -2
  389. package/dist/locales/fi.cjs.js +1 -1
  390. package/dist/locales/fi.mjs +2 -2
  391. package/dist/locales/fr.cjs.js +1 -1
  392. package/dist/locales/fr.mjs +2 -2
  393. package/dist/locales/he.cjs.js +1 -1
  394. package/dist/locales/he.mjs +2 -2
  395. package/dist/locales/hi.cjs.js +1 -1
  396. package/dist/locales/hi.mjs +2 -2
  397. package/dist/locales/hu.cjs.js +1 -1
  398. package/dist/locales/hu.mjs +2 -2
  399. package/dist/locales/id.cjs.js +1 -1
  400. package/dist/locales/id.mjs +2 -2
  401. package/dist/locales/it.cjs.js +1 -1
  402. package/dist/locales/it.mjs +2 -2
  403. package/dist/locales/ja.cjs.js +1 -1
  404. package/dist/locales/ja.mjs +2 -2
  405. package/dist/locales/ko.cjs.js +1 -1
  406. package/dist/locales/ko.mjs +2 -2
  407. package/dist/locales/nb.cjs.js +1 -1
  408. package/dist/locales/nb.mjs +2 -2
  409. package/dist/locales/nl.cjs.js +1 -1
  410. package/dist/locales/nl.mjs +2 -2
  411. package/dist/locales/pl.cjs.js +1 -1
  412. package/dist/locales/pl.mjs +2 -2
  413. package/dist/locales/pt-BR.cjs.js +1 -1
  414. package/dist/locales/pt-BR.mjs +2 -2
  415. package/dist/locales/ro.cjs.js +1 -1
  416. package/dist/locales/ro.mjs +2 -2
  417. package/dist/locales/ru.cjs.js +1 -1
  418. package/dist/locales/ru.mjs +2 -2
  419. package/dist/locales/sv.cjs.js +1 -1
  420. package/dist/locales/sv.mjs +2 -2
  421. package/dist/locales/th.cjs.js +1 -1
  422. package/dist/locales/th.mjs +2 -2
  423. package/dist/locales/tr.cjs.js +1 -1
  424. package/dist/locales/tr.mjs +2 -2
  425. package/dist/locales/uk.cjs.js +1 -1
  426. package/dist/locales/uk.mjs +2 -2
  427. package/dist/locales/ur.cjs.js +1 -1
  428. package/dist/locales/ur.mjs +2 -2
  429. package/dist/locales/vi.cjs.js +1 -1
  430. package/dist/locales/vi.mjs +2 -2
  431. package/dist/locales/zh-Hans.cjs.js +1 -1
  432. package/dist/locales/zh-Hans.mjs +2 -2
  433. package/dist/locales/zh-Hant.cjs.js +1 -1
  434. package/dist/locales/zh-Hant.mjs +2 -2
  435. package/dist/types/common.mjs +1 -2
  436. package/dist/utils/announce.cjs.js +1 -1
  437. package/dist/utils/announce.mjs +3 -4
  438. package/dist/utils/brandPalette.mjs +1 -2
  439. package/dist/utils/clipboard.mjs +1 -2
  440. package/dist/utils/cx.mjs +1 -2
  441. package/dist/utils/fillSlot.cjs.js +1 -1
  442. package/dist/utils/fillSlot.mjs +2 -2
  443. package/dist/utils/flattenChildren.mjs +1 -2
  444. package/dist/utils/hotkeys.mjs +1 -2
  445. package/dist/utils/intl.cjs.js +1 -0
  446. package/dist/utils/intl.d.ts +10 -0
  447. package/dist/utils/intl.mjs +15 -0
  448. package/dist/utils/refs.mjs +1 -2
  449. package/dist/utils/responsive.mjs +1 -2
  450. package/dist/utils/slot.mjs +1 -2
  451. package/dist/utils/validators.mjs +1 -2
  452. package/dist/vjdesigns-ui.css +1 -1
  453. package/dist/vjdesigns-ui.css.d.ts +2 -0
  454. package/package.json +24 -14
@@ -1,5 +1,5 @@
1
- //#region src/components/data-display/Badge/Badge.module.css
2
- var e = "_root_fn6ui_21", t = "_content_fn6ui_93", n = "_label_fn6ui_105", r = "_icon_fn6ui_113", i = "_dot_fn6ui_139", a = "_solid_fn6ui_161", o = "_soft_fn6ui_171", s = "_outline_fn6ui_181", c = "_neutral_fn6ui_197", l = "_primary_fn6ui_213", u = "_accent_fn6ui_229", d = "_success_fn6ui_245", f = "_warning_fn6ui_261", p = "_danger_fn6ui_277", m = "_info_fn6ui_293", h = "_sm_fn6ui_313", g = "_md_fn6ui_331", _ = "_lg_fn6ui_349", v = "_radiusNone_fn6ui_371", y = "_radiusXs_fn6ui_377", b = "_radiusSm_fn6ui_383", x = "_radiusMd_fn6ui_389", S = "_radiusLg_fn6ui_395", C = "_radiusXl_fn6ui_401", w = "_radius2xl_fn6ui_407", T = "_radiusPill_fn6ui_413", E = "_count_fn6ui_427", D = "_caps_fn6ui_441", O = "_anchor_fn6ui_461", k = "_anchored_fn6ui_475", A = "_anchoredDot_fn6ui_557", j = "_overlapRectangle_fn6ui_623", M = "_overlapCircle_fn6ui_629", N = "_topEnd_fn6ui_637", P = "_topStart_fn6ui_649", F = "_bottomEnd_fn6ui_661", I = "_bottomStart_fn6ui_673", L = "_invisible_fn6ui_709", R = {
1
+ // src/components/data-display/Badge/Badge.module.css
2
+ var e = "_root_54g55_23", t = "_content_54g55_95", n = "_label_54g55_107", r = "_icon_54g55_115", i = "_dot_54g55_141", a = "_solid_54g55_163", o = "_soft_54g55_173", s = "_outline_54g55_183", c = "_inverse_54g55_199", l = "_neutral_54g55_213", u = "_primary_54g55_229", d = "_accent_54g55_245", f = "_success_54g55_261", p = "_warning_54g55_277", m = "_danger_54g55_293", h = "_info_54g55_309", g = "_sm_54g55_329", _ = "_md_54g55_347", v = "_lg_54g55_365", y = "_radiusNone_54g55_387", b = "_radiusXs_54g55_393", x = "_radiusSm_54g55_399", S = "_radiusMd_54g55_405", C = "_radiusLg_54g55_411", w = "_radiusXl_54g55_417", T = "_radius2xl_54g55_423", E = "_radiusPill_54g55_429", D = "_count_54g55_443", O = "_caps_54g55_457", k = "_anchor_54g55_477", A = "_anchored_54g55_491", j = "_anchoredDot_54g55_573", M = "_overlapRectangle_54g55_647", N = "_overlapCircle_54g55_653", P = "_topEnd_54g55_661", F = "_topStart_54g55_673", I = "_bottomEnd_54g55_685", L = "_bottomStart_54g55_697", R = "_invisible_54g55_733", z = {
3
3
  root: e,
4
4
  content: t,
5
5
  label: n,
@@ -8,36 +8,36 @@ var e = "_root_fn6ui_21", t = "_content_fn6ui_93", n = "_label_fn6ui_105", r = "
8
8
  solid: a,
9
9
  soft: o,
10
10
  outline: s,
11
- neutral: c,
12
- primary: l,
13
- accent: u,
14
- success: d,
15
- warning: f,
16
- danger: p,
17
- info: m,
18
- sm: h,
19
- md: g,
20
- lg: _,
21
- radiusNone: v,
22
- radiusXs: y,
23
- radiusSm: b,
24
- radiusMd: x,
25
- radiusLg: S,
26
- radiusXl: C,
27
- radius2xl: w,
28
- radiusPill: T,
29
- count: E,
30
- caps: D,
31
- anchor: O,
32
- anchored: k,
33
- anchoredDot: A,
34
- overlapRectangle: j,
35
- overlapCircle: M,
36
- topEnd: N,
37
- topStart: P,
38
- bottomEnd: F,
39
- bottomStart: I,
40
- invisible: L
11
+ inverse: c,
12
+ neutral: l,
13
+ primary: u,
14
+ accent: d,
15
+ success: f,
16
+ warning: p,
17
+ danger: m,
18
+ info: h,
19
+ sm: g,
20
+ md: _,
21
+ lg: v,
22
+ radiusNone: y,
23
+ radiusXs: b,
24
+ radiusSm: x,
25
+ radiusMd: S,
26
+ radiusLg: C,
27
+ radiusXl: w,
28
+ radius2xl: T,
29
+ radiusPill: E,
30
+ count: D,
31
+ caps: O,
32
+ anchor: k,
33
+ anchored: A,
34
+ anchoredDot: j,
35
+ overlapRectangle: M,
36
+ overlapCircle: N,
37
+ topEnd: P,
38
+ topStart: F,
39
+ bottomEnd: I,
40
+ bottomStart: L,
41
+ invisible: R
41
42
  };
42
- //#endregion
43
- export { u as accent, O as anchor, k as anchored, A as anchoredDot, F as bottomEnd, I as bottomStart, D as caps, t as content, E as count, p as danger, R as default, i as dot, r as icon, m as info, L as invisible, n as label, _ as lg, g as md, c as neutral, s as outline, M as overlapCircle, j as overlapRectangle, l as primary, w as radius2xl, S as radiusLg, x as radiusMd, v as radiusNone, T as radiusPill, b as radiusSm, C as radiusXl, y as radiusXs, e as root, h as sm, o as soft, a as solid, d as success, N as topEnd, P as topStart, f as warning };
43
+ export { d as accent, k as anchor, A as anchored, j as anchoredDot, I as bottomEnd, L as bottomStart, O as caps, t as content, D as count, m as danger, z as default, i as dot, r as icon, h as info, c as inverse, R as invisible, n as label, v as lg, _ as md, l as neutral, s as outline, N as overlapCircle, M as overlapRectangle, u as primary, T as radius2xl, C as radiusLg, S as radiusMd, y as radiusNone, E as radiusPill, x as radiusSm, w as radiusXl, b as radiusXs, e as root, g as sm, o as soft, a as solid, f as success, P as topEnd, F as topStart, p as warning };
@@ -1 +1 @@
1
- const e=require("../../../utils/cx.cjs.js"),t=require("../../../utils/fillSlot.cjs.js"),n=require("../../primitives/Icon/Icon.cjs.js"),r=require("../../primitives/Typography/Typography.cjs.js"),i=require("./Card.module.css.cjs.js");let a=require("react"),o=require("react/jsx-runtime");var s={elevated:i.default.elevated,outline:i.default.outline,filled:i.default.filled,soft:i.default.soft},c={neutral:i.default.toneNeutral,primary:i.default.tonePrimary,accent:i.default.toneAccent,success:i.default.toneSuccess,warning:i.default.toneWarning,danger:i.default.toneDanger,info:i.default.toneInfo},l={none:i.default.radiusNone,xs:i.default.radiusXs,sm:i.default.radiusSm,md:i.default.radiusMd,lg:i.default.radiusLg,xl:i.default.radiusXl,"2xl":i.default.radius2xl,pill:i.default.radiusPill},u={none:i.default.paddingNone,sm:i.default.paddingSm,md:i.default.paddingMd,lg:i.default.paddingLg},d={vertical:i.default.vertical,horizontal:i.default.horizontal},f={"16/9":i.default.aspect16x9,"4/3":i.default.aspect4x3,"3/2":i.default.aspect3x2,"1/1":i.default.aspect1x1,"21/9":i.default.aspect21x9,auto:i.default.aspectAuto},p={top:i.default.mediaTop,bottom:i.default.mediaBottom,start:i.default.mediaStart},m={start:i.default.justifyStart,center:i.default.justifyCenter,end:i.default.justifyEnd,between:i.default.justifyBetween,stretch:i.default.justifyStretch},h=(0,a.createContext)(null);function g(t){let{as:r,variant:f=`elevated`,tone:p,radius:m=`xl`,padding:g=`md`,orientation:_=`vertical`,interactive:v=!1,selected:y=!1,className:b,children:x,...S}=t,w=r??`article`,T=p??(f===`soft`?`primary`:void 0),[E,D]=(0,a.useState)([]),O=(0,a.useCallback)(e=>(D(t=>t.includes(e)?t:[...t,e]),()=>D(t=>t.filter(t=>t!==e))),[]),k=E[0]??null,A={orientation:_,registerTitle:O},j=x;if(_===`horizontal`){let e=[],t=[];a.Children.forEach(x,n=>{(0,a.isValidElement)(n)&&n.type===C?e.push(n):n!=null&&typeof n!=`boolean`&&t.push(n)}),j=(0,o.jsxs)(`div`,{className:i.default.layout,children:[e,(0,o.jsx)(`div`,{className:i.default.content,children:t})]})}let M=(r??`article`)===`article`&&k!==null&&S[`aria-label`]===void 0&&S[`aria-labelledby`]===void 0;return(0,o.jsx)(h.Provider,{value:A,children:(0,o.jsxs)(w,{"aria-labelledby":M?k:void 0,...S,"data-selected":y||void 0,className:e.cx(i.default.root,s[f],T&&c[T],l[m],u[g],d[_],v&&i.default.interactive,y&&i.default.selected,b),children:[j,y&&(0,o.jsx)(`span`,{className:i.default.selectedBadge,"aria-hidden":`true`,children:(0,o.jsx)(n.Icon,{name:`check`,size:`sm`,strokeWidth:3})})]})})}var _=e=>typeof e==`string`||typeof e==`number`;function v({title:t,description:n,action:r,className:a,children:s,...c}){let l=t!=null||n!=null||s!=null&&s!==!1;return(0,o.jsxs)(`div`,{...c,className:e.cx(i.default.header,a),children:[l&&(0,o.jsxs)(`div`,{className:i.default.headerText,children:[_(t)?(0,o.jsx)(y,{children:t}):t,_(n)?(0,o.jsx)(b,{children:n}):n,s]}),r!=null&&(0,o.jsx)(`div`,{className:i.default.action,children:r})]})}function y({level:t=3,size:n=`xl`,href:s,id:c,className:l,children:u,...d}){let f=(0,a.useContext)(h),p=(0,a.useId)(),m=c??`${p}-title`,g=f?.registerTitle;return(0,a.useEffect)(()=>{if(g)return g(m)},[g,m]),(0,o.jsx)(r.Heading,{...d,id:m,level:t,size:n,tone:`inherit`,className:e.cx(i.default.title,l),children:s===void 0?u:(0,o.jsx)(w,{href:s,children:u})})}function b({className:t,...n}){return(0,o.jsx)(r.Text,{...n,size:`sm`,tone:`inherit`,className:e.cx(i.default.description,t)})}function x({className:t,...n}){return(0,o.jsx)(`div`,{...n,className:e.cx(i.default.body,t)})}function S({justify:t=`end`,className:n,...r}){return(0,o.jsx)(`div`,{...r,className:e.cx(i.default.footer,m[t],n)})}function C({aspectRatio:n=`16/9`,position:r,className:s,...c}){let l=(0,a.useContext)(h),u=r??(l?.orientation===`horizontal`?`start`:`top`);return(0,o.jsx)(t.FillSlotContext.Provider,{value:!0,children:(0,o.jsx)(`div`,{...c,className:e.cx(i.default.media,f[n],p[u],s)})})}function w(t){let{as:n,className:r,...a}=t;return(0,o.jsx)(n??`a`,{type:n===`button`?`button`:void 0,...a,className:e.cx(i.default.overlay,r)})}var T=Object.assign(g,{Header:v,Title:y,Description:b,Body:x,Footer:S,Media:C,LinkOverlay:w});exports.Card=T,exports.CardBody=x,exports.CardDescription=b,exports.CardFooter=S,exports.CardHeader=v,exports.CardLinkOverlay=w,exports.CardMedia=C,exports.CardTitle=y;
1
+ "use client";const e=require("../../../utils/cx.cjs.js"),t=require("../../../utils/fillSlot.cjs.js"),n=require("../../primitives/Icon/Icon.cjs.js"),r=require("../../primitives/Typography/Typography.cjs.js"),i=require("./Card.module.css.cjs.js");let a=require("react"),o=require("react/jsx-runtime");var s={elevated:i.default.elevated,outline:i.default.outline,filled:i.default.filled,soft:i.default.soft},c={neutral:i.default.toneNeutral,primary:i.default.tonePrimary,accent:i.default.toneAccent,success:i.default.toneSuccess,warning:i.default.toneWarning,danger:i.default.toneDanger,info:i.default.toneInfo},l={none:i.default.radiusNone,xs:i.default.radiusXs,sm:i.default.radiusSm,md:i.default.radiusMd,lg:i.default.radiusLg,xl:i.default.radiusXl,"2xl":i.default.radius2xl,pill:i.default.radiusPill},u={none:i.default.paddingNone,sm:i.default.paddingSm,md:i.default.paddingMd,lg:i.default.paddingLg},d={vertical:i.default.vertical,horizontal:i.default.horizontal},f={"16/9":i.default.aspect16x9,"4/3":i.default.aspect4x3,"3/2":i.default.aspect3x2,"1/1":i.default.aspect1x1,"21/9":i.default.aspect21x9,auto:i.default.aspectAuto},p={top:i.default.mediaTop,bottom:i.default.mediaBottom,start:i.default.mediaStart},m={start:i.default.justifyStart,center:i.default.justifyCenter,end:i.default.justifyEnd,between:i.default.justifyBetween,stretch:i.default.justifyStretch},h=(0,a.createContext)(null);function g(t){let{as:r,variant:f=`elevated`,tone:p,radius:m=`xl`,padding:g=`md`,orientation:_=`vertical`,interactive:v=!1,selected:y=!1,className:b,children:x,...S}=t,w=r??`article`,T=p??(f===`soft`?`primary`:void 0),[E,D]=(0,a.useState)([]),O=(0,a.useCallback)(e=>(D(t=>t.includes(e)?t:[...t,e]),()=>D(t=>t.filter(t=>t!==e))),[]),k=E[0]??null,A={orientation:_,registerTitle:O},j=x;if(_===`horizontal`){let e=[],t=[];a.Children.forEach(x,n=>{(0,a.isValidElement)(n)&&n.type===C?e.push(n):n!=null&&typeof n!=`boolean`&&t.push(n)}),j=(0,o.jsxs)(`div`,{className:i.default.layout,children:[e,(0,o.jsx)(`div`,{className:i.default.content,children:t})]})}let M=(r??`article`)===`article`&&k!==null&&S[`aria-label`]===void 0&&S[`aria-labelledby`]===void 0;return(0,o.jsx)(h.Provider,{value:A,children:(0,o.jsxs)(w,{"aria-labelledby":M?k:void 0,...S,"data-selected":y||void 0,className:e.cx(i.default.root,s[f],T&&c[T],l[m],u[g],d[_],v&&i.default.interactive,y&&i.default.selected,b),children:[j,y&&(0,o.jsx)(`span`,{className:i.default.selectedBadge,"aria-hidden":`true`,children:(0,o.jsx)(n.Icon,{name:`check`,size:`sm`,strokeWidth:3})})]})})}var _=e=>typeof e==`string`||typeof e==`number`;function v({title:t,description:n,action:r,className:a,children:s,...c}){let l=t!=null||n!=null||s!=null&&s!==!1;return(0,o.jsxs)(`div`,{...c,className:e.cx(i.default.header,a),children:[l&&(0,o.jsxs)(`div`,{className:i.default.headerText,children:[_(t)?(0,o.jsx)(y,{children:t}):t,_(n)?(0,o.jsx)(b,{children:n}):n,s]}),r!=null&&(0,o.jsx)(`div`,{className:i.default.action,children:r})]})}function y({level:t=3,size:n=`xl`,href:s,id:c,className:l,children:u,...d}){let f=(0,a.useContext)(h),p=(0,a.useId)(),m=c??`${p}-title`,g=f?.registerTitle;return(0,a.useEffect)(()=>{if(g)return g(m)},[g,m]),(0,o.jsx)(r.Heading,{...d,id:m,level:t,size:n,tone:`inherit`,className:e.cx(i.default.title,l),children:s===void 0?u:(0,o.jsx)(w,{href:s,children:u})})}function b({className:t,...n}){return(0,o.jsx)(r.Text,{...n,size:`sm`,tone:`inherit`,className:e.cx(i.default.description,t)})}function x({className:t,...n}){return(0,o.jsx)(`div`,{...n,className:e.cx(i.default.body,t)})}function S({justify:t=`end`,className:n,...r}){return(0,o.jsx)(`div`,{...r,className:e.cx(i.default.footer,m[t],n)})}function C({aspectRatio:n=`16/9`,position:r,className:s,...c}){let l=(0,a.useContext)(h),u=r??(l?.orientation===`horizontal`?`start`:`top`);return(0,o.jsx)(t.FillSlotContext.Provider,{value:!0,children:(0,o.jsx)(`div`,{...c,className:e.cx(i.default.media,f[n],p[u],s)})})}function w(t){let{as:n,className:r,...a}=t;return(0,o.jsx)(n??`a`,{type:n===`button`?`button`:void 0,...a,className:e.cx(i.default.overlay,r)})}var T=Object.assign(g,{Header:v,Title:y,Description:b,Body:x,Footer:S,Media:C,LinkOverlay:w});exports.Card=T,exports.CardBody=x,exports.CardDescription=b,exports.CardFooter=S,exports.CardHeader=v,exports.CardLinkOverlay=w,exports.CardMedia=C,exports.CardTitle=y;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { cx as e } from "../../../utils/cx.mjs";
2
3
  import { FillSlotContext as t } from "../../../utils/fillSlot.mjs";
3
4
  import { Icon as n } from "../../primitives/Icon/Icon.mjs";
@@ -5,7 +6,7 @@ import { Heading as r, Text as i } from "../../primitives/Typography/Typography.
5
6
  import a from "./Card.module.css.mjs";
6
7
  import { Children as o, createContext as s, isValidElement as c, useCallback as l, useContext as u, useEffect as d, useId as f, useState as p } from "react";
7
8
  import { jsx as m, jsxs as h } from "react/jsx-runtime";
8
- //#region src/components/data-display/Card/Card.tsx
9
+ // src/components/data-display/Card/Card.tsx
9
10
  var g = {
10
11
  elevated: a.elevated,
11
12
  outline: a.outline,
@@ -174,5 +175,4 @@ var P = Object.assign(T, {
174
175
  Media: M,
175
176
  LinkOverlay: N
176
177
  });
177
- //#endregion
178
178
  export { P as Card, A as CardBody, k as CardDescription, j as CardFooter, D as CardHeader, N as CardLinkOverlay, M as CardMedia, O as CardTitle };
@@ -1,4 +1,4 @@
1
- //#region src/components/data-display/Card/Card.module.css
1
+ // src/components/data-display/Card/Card.module.css
2
2
  var e = "_root_txzt6_33", t = "_elevated_txzt6_113", n = "_outline_txzt6_123", r = "_toneNeutral_txzt6_137", i = "_tonePrimary_txzt6_137", a = "_toneAccent_txzt6_137", o = "_toneSuccess_txzt6_137", s = "_toneWarning_txzt6_137", c = "_toneDanger_txzt6_137", l = "_toneInfo_txzt6_137", u = "_filled_txzt6_145", d = "_soft_txzt6_159", f = "_radiusNone_txzt6_249", p = "_radiusXs_txzt6_255", m = "_radiusSm_txzt6_261", h = "_radiusMd_txzt6_267", g = "_radiusLg_txzt6_273", _ = "_radiusXl_txzt6_279", v = "_radius2xl_txzt6_285", y = "_radiusPill_txzt6_293", b = "_paddingNone_txzt6_303", x = "_paddingSm_txzt6_311", S = "_paddingMd_txzt6_319", C = "_paddingLg_txzt6_327", w = "_vertical_txzt6_341", T = "_horizontal_txzt6_353", E = "_layout_txzt6_365", D = "_content_txzt6_379", O = "_mediaStart_txzt6_409", k = "_header_txzt6_449", A = "_headerText_txzt6_465", j = "_action_txzt6_481", M = "_title_txzt6_497", N = "_description_txzt6_507", P = "_body_txzt6_521", F = "_footer_txzt6_547", I = "_justifyStart_txzt6_565", L = "_justifyCenter_txzt6_571", R = "_justifyEnd_txzt6_577", z = "_justifyBetween_txzt6_583", B = "_justifyStretch_txzt6_589", V = "_media_txzt6_409", H = "_aspect16x9_txzt6_651", U = "_aspect4x3_txzt6_657", W = "_aspect3x2_txzt6_663", G = "_aspect1x1_txzt6_669", K = "_aspect21x9_txzt6_675", q = "_aspectAuto_txzt6_681", J = "_mediaTop_txzt6_699", Y = "_mediaBottom_txzt6_715", X = "_overlay_txzt6_729", Z = "_interactive_txzt6_831", Q = "_selected_txzt6_883", $ = "_selectedBadge_txzt6_895", ee = {
3
3
  root: e,
4
4
  elevated: t,
@@ -55,5 +55,4 @@ var e = "_root_txzt6_33", t = "_elevated_txzt6_113", n = "_outline_txzt6_123", r
55
55
  selected: Q,
56
56
  selectedBadge: $
57
57
  };
58
- //#endregion
59
58
  export { j as action, H as aspect16x9, G as aspect1x1, K as aspect21x9, W as aspect3x2, U as aspect4x3, q as aspectAuto, P as body, D as content, ee as default, N as description, t as elevated, u as filled, F as footer, k as header, A as headerText, T as horizontal, Z as interactive, z as justifyBetween, L as justifyCenter, R as justifyEnd, I as justifyStart, B as justifyStretch, E as layout, V as media, Y as mediaBottom, O as mediaStart, J as mediaTop, n as outline, X as overlay, C as paddingLg, S as paddingMd, b as paddingNone, x as paddingSm, v as radius2xl, g as radiusLg, h as radiusMd, f as radiusNone, y as radiusPill, m as radiusSm, _ as radiusXl, p as radiusXs, e as root, Q as selected, $ as selectedBadge, d as soft, M as title, a as toneAccent, c as toneDanger, l as toneInfo, r as toneNeutral, i as tonePrimary, o as toneSuccess, s as toneWarning, w as vertical };
@@ -1 +1 @@
1
- const e=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../../utils/flattenChildren.cjs.js"),r=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),i=require("../../primitives/Button/Button.cjs.js"),a=require("../../primitives/Icon/icons.cjs.js"),o=require("../../primitives/Icon/Icon.cjs.js"),s=require("./Carousel.module.css.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u={none:s.default.radiusNone,xs:s.default.radiusXs,sm:s.default.radiusSm,md:s.default.radiusMd,lg:s.default.radiusLg,xl:s.default.radiusXl,"2xl":s.default.radius2xl,pill:s.default.radiusPill},d={overlay:s.default.overlay,bottom:s.default.bottom},f=[`base`,`sm`,`md`,`lg`,`xl`,`2xl`];function p(e,t,n,r){if(n===void 0)return;if(typeof n!=`object`||!n){e[`--_${t}-base`]=r(n);return}let i=n,a;for(let n of f){let o=i[n];if(o===void 0)continue;let s=r(o);s!==a&&(e[`--_${t}-${n}`]=s),a=s}}var m=e=>e===0?`0%`:`var(--space-${e})`,h=(0,c.createContext)(null),ee=(0,c.createContext)(null),g=(e,t,n)=>Math.min(Math.max(e,t),n),_=`(prefers-reduced-motion: reduce)`;function v(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(_).matches}function te(){let[e,t]=(0,c.useState)(v);return(0,c.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let e=window.matchMedia(_),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var ne=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function y(e){let t=Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.hasAttribute(`data-carousel-slide`));if(t.length===0)return null;let n=getComputedStyle(e),r=n.direction===`rtl`,i=parseFloat(n.paddingInlineStart)||0,a=e.getBoundingClientRect(),o=r?a.right-i:a.left+i,s=r?a.left+i:a.right-i,c=Math.abs(e.scrollLeft),l=Math.max(0,e.scrollWidth-e.clientWidth),u=[],d=[],f=[];for(let e of t){let t=e.getBoundingClientRect(),n=r?o-t.right:t.left-o;u.push(g(Math.round(c+n),0,l));let i=Math.max(t.left,r?s:o),a=Math.min(t.right,r?o:s)-i;d.push(a>1),f.push(a>=t.width-1)}let p=u.findIndex(e=>e>=l-1);p===-1&&(p=t.length-1);let m=0,h=1/0;return u.forEach((e,t)=>{let n=Math.abs(e-c);n<h-.5&&(h=n,m=t)}),{sign:r?-1:1,targets:u,lastStart:p,current:m,visible:d,fully:f}}function b({children:f,index:_,defaultIndex:b=0,onIndexChange:x,slidesPerView:S=1,gap:re=4,loop:C=!1,indicators:ie=!1,autoplay:w=!1,interval:T=5e3,controlsPlacement:E=`overlay`,radius:ae=`lg`,labels:oe,className:se,style:ce,onFocus:le,onPointerEnter:ue,onPointerLeave:de,...fe}){let D=e.useMessages().carousel,O=(0,c.useMemo)(()=>({...D,...oe}),[D,oe]),pe=n.flattenChildren(f),k=pe.length,[me,he]=(0,c.useState)(b),A=_!==void 0,j=A?_:me,M=(0,c.useRef)(j);M.current=j;let N=(0,c.useRef)(x);N.current=x;let P=(0,c.useId)(),F=(0,c.useRef)(null),I=(0,c.useRef)(null),L=(0,c.useRef)(null),R=(0,c.useRef)(null),z=(0,c.useRef)(j),B=(0,c.useRef)(null),[ge,_e]=(0,c.useState)([]),[ve,ye]=(0,c.useState)(Math.max(0,k-1)),[V,be]=(0,c.useState)([0,0]),xe=te(),[H,U]=(0,c.useState)(()=>w&&!v()),[Se,W]=(0,c.useState)(!1);(0,c.useEffect)(()=>{U(w&&!xe)},[w,xe]);let G=Math.max(0,Math.min(ve,k-1)),K=g(j,0,G),q=(0,c.useCallback)(e=>{e!==M.current&&(A||he(e),N.current?.(e))},[A]),J=(0,c.useCallback)(e=>{let t=F.current;if(!t)return null;let n=y(t);if(!n)return null;let r=document.activeElement;if(r&&r!==t&&t.contains(r)){let e=Array.from(t.children).filter(e=>e.hasAttribute(`data-carousel-slide`)).findIndex(e=>e.contains(r));e!==-1&&!n.visible[e]&&t.focus({preventScroll:!0})}if(_e(e=>ne(e,n.visible)?e:n.visible),ye(n.lastStart),e){let e=n.fully.indexOf(!0),t=n.fully.lastIndexOf(!0),r=e===-1?[n.current,n.current]:[e,Math.max(e,t)];be(e=>e[0]===r[0]&&e[1]===r[1]?e:r)}return n},[]),Y=(0,c.useCallback)((e,t=!1)=>{let n=F.current;if(!n)return;let r=y(n);if(!r)return;let i=g(e,0,r.targets.length-1);z.current=i,n.scrollTo({left:r.sign*r.targets[i],behavior:t||v()?`instant`:`smooth`})},[]),X=(0,c.useCallback)(e=>{let t=g(e,0,G);A||Y(t),q(t)},[q,A,G,Y]),Z=(0,c.useCallback)((e,t)=>{let n=K+e;return n<0?t?G:null:n>G?t?0:null:n},[K,G]);(0,c.useLayoutEffect)(()=>{J(!0)&&M.current>0&&Y(M.current,!0)},[]),(0,c.useLayoutEffect)(()=>{J(!0)},[k,J]),(0,c.useEffect)(()=>{let e=F.current;if(!e||typeof ResizeObserver>`u`)return;let t=e.clientWidth,n=new ResizeObserver(()=>{let n=J(!0);if(!n||e.clientWidth===t)return;t=e.clientWidth;let r=g(M.current,0,Math.max(0,n.lastStart));Y(r,!0),q(r)});return n.observe(e),()=>n.disconnect()},[q,J,Y]),(0,c.useEffect)(()=>{A&&j!==K&&N.current?.(K)},[A,j,K]),(0,c.useEffect)(()=>{K!==z.current&&Y(K)},[K,Y]),(0,c.useEffect)(()=>{let e=F.current;if(!e)return;let t=0,n,r=`onscrollend`in window,i=()=>{let e=J(!0);e&&(z.current=e.current,q(e.current))},a=()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>J(!1)),r||(clearTimeout(n),n=setTimeout(i,150))};return e.addEventListener(`scroll`,a,{passive:!0}),r&&e.addEventListener(`scrollend`,i),()=>{cancelAnimationFrame(t),clearTimeout(n),e.removeEventListener(`scroll`,a),e.removeEventListener(`scrollend`,i)}},[q,J]);let Ce=!C&&K<=0,we=!C&&K>=G;(0,c.useLayoutEffect)(()=>{let e=document.activeElement,t=!e||e===document.body,n=(n,r,i)=>!r?.disabled||!(e===r||t&&B.current===n)?!1:(B.current=null,i&&!i.disabled?i.focus():F.current?.focus(),!0);n(`prev`,I.current,L.current)||n(`next`,L.current,I.current)},[Ce,we,k]);let Te=e=>({onFocus:()=>{B.current=e},onBlur:e=>{e.relatedTarget&&(B.current=null)}}),Ee=e=>{let t=Z(e,C);t!==null&&X(t)},De=w&&H&&!Se&&k>1;(0,c.useEffect)(()=>{if(!De)return;let e=setTimeout(()=>{let e=Z(1,!0);e!==null&&X(e)},T);return()=>clearTimeout(e)},[De,T,K,Z,X]);let Oe=e=>{if(le?.(e),!w||!H)return;let t=e.target,n=!0;try{n=t.matches(`:focus-visible`)}catch{}if(!n)return;let r=e.currentTarget,i=e.relatedTarget instanceof Node&&r.contains(e.relatedTarget);t===R.current&&i||U(!1)},ke=e=>{ue?.(e),e.pointerType===`mouse`&&W(!0)},Ae=e=>{de?.(e),W(!1)},je=e=>{if(e.target!==e.currentTarget)return;let t=getComputedStyle(e.currentTarget).direction===`rtl`,n=null;switch(e.key){case`ArrowRight`:n=Z(t?-1:1,C);break;case`ArrowLeft`:n=Z(t?1:-1,C);break;case`Home`:n=0;break;case`End`:n=G;break;default:return}e.preventDefault(),n!==null&&X(n)},Me=e=>{let t=e.currentTarget;if(e.target===t)return;let n=e.target.closest(`[data-carousel-slide]`);if(!n||n.parentElement!==t)return;let r=y(t),i=Number(n.dataset.index);r&&!r.fully[i]&&n.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:v()?`instant`:`smooth`})},Q={};p(Q,`spv`,S,e=>String(e)),p(Q,`gap`,re,m);let Ne=(0,c.useMemo)(()=>({count:k,visible:ge,labels:O}),[k,ge,O]),Pe=g(Math.max(K,V[0]),0,Math.max(0,k-1)),Fe=g(Math.max(Pe,K+(V[1]-V[0])),0,Math.max(0,k-1)),Ie=k>0?O.status(Pe+1,Fe+1,k):``,$=E===`overlay`?`soft`:`outline`;return(0,l.jsxs)(`section`,{"aria-roledescription":`carousel`,...fe,className:t.cx(s.default.root,d[E],u[ae],se),style:{...Q,...ce},"data-placement":E,onFocus:Oe,onPointerEnter:ke,onPointerLeave:Ae,children:[w&&(0,l.jsx)(i.IconButton,{ref:R,className:t.cx(s.default.control,s.default.rotation),variant:$,tone:`neutral`,"aria-label":H?O.stop:O.start,onClick:()=>U(e=>!e),children:H?(0,l.jsx)(a.PauseIcon,{}):(0,l.jsx)(a.PlayIcon,{})}),(0,l.jsx)(i.IconButton,{ref:I,className:t.cx(s.default.control,s.default.prev),variant:$,tone:`neutral`,"aria-label":O.previous,"aria-controls":P,disabled:Ce||k<2,...Te(`prev`),onClick:()=>Ee(-1),children:(0,l.jsx)(o.Icon,{name:`chevron-left`,className:s.default.directional})}),(0,l.jsx)(i.IconButton,{ref:L,className:t.cx(s.default.control,s.default.next),variant:$,tone:`neutral`,"aria-label":O.next,"aria-controls":P,disabled:we||k<2,...Te(`next`),onClick:()=>Ee(1),children:(0,l.jsx)(o.Icon,{name:`chevron-right`,className:s.default.directional})}),(0,l.jsxs)(`div`,{className:s.default.slides,children:[(0,l.jsx)(r.VisuallyHidden,{"aria-live":w&&H?`off`:`polite`,"aria-atomic":`true`,"data-carousel-status":``,children:Ie}),(0,l.jsx)(`div`,{ref:F,id:P,className:s.default.viewport,role:`group`,"aria-label":O.slides,tabIndex:0,onKeyDown:je,onFocus:Me,children:(0,l.jsx)(h.Provider,{value:Ne,children:pe.map((e,t)=>(0,l.jsx)(ee.Provider,{value:t,children:e},e.key??t))})})]}),ie&&k>1&&(0,l.jsx)(`div`,{className:s.default.indicators,role:`group`,"aria-label":O.indicators,children:Array.from({length:G+1},(e,t)=>(0,l.jsx)(`button`,{type:`button`,className:s.default.dot,"aria-label":O.goTo(t+1,k),"aria-current":t===K?`true`:void 0,"aria-controls":P,onClick:()=>X(t)},t))})]})}function x({label:e,className:n,children:r,"aria-label":i,"aria-labelledby":a,...o}){let u=(0,c.useContext)(h),d=(0,c.useContext)(ee)??0,f=u?.count??1,p=u?.visible[d]===!1,m=a?void 0:i??e??(u?u.labels.slide(d+1,f):void 0);return(0,l.jsx)(`div`,{role:`group`,"aria-roledescription":`slide`,"aria-label":m,"aria-labelledby":a,...o,className:t.cx(s.default.slide,n),"data-carousel-slide":``,"data-index":d,"data-hidden":p?``:void 0,inert:p,children:r})}var S=Object.assign(b,{Slide:x});exports.Carousel=S,exports.CarouselSlide=x;
1
+ "use client";const e=require("../../../utils/cx.cjs.js"),t=require("../../../utils/flattenChildren.cjs.js"),n=require("../../primitives/Button/Button.cjs.js"),r=require("../../primitives/Icon/Icon.cjs.js"),i=require("../../primitives/Icon/icons.cjs.js"),a=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),o=require("./Carousel.module.css.cjs.js"),s=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u={none:o.default.radiusNone,xs:o.default.radiusXs,sm:o.default.radiusSm,md:o.default.radiusMd,lg:o.default.radiusLg,xl:o.default.radiusXl,"2xl":o.default.radius2xl,pill:o.default.radiusPill},d={overlay:o.default.overlay,bottom:o.default.bottom},f=[`base`,`sm`,`md`,`lg`,`xl`,`2xl`];function p(e,t,n,r){if(n===void 0)return;if(typeof n!=`object`||!n){e[`--_${t}-base`]=r(n);return}let i=n,a;for(let n of f){let o=i[n];if(o===void 0)continue;let s=r(o);s!==a&&(e[`--_${t}-${n}`]=s),a=s}}var m=e=>e===0?`0%`:`var(--space-${e})`,h=(0,c.createContext)(null),ee=(0,c.createContext)(null),g=(e,t,n)=>Math.min(Math.max(e,t),n),_=`(prefers-reduced-motion: reduce)`;function v(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(_).matches}function te(){let[e,t]=(0,c.useState)(v);return(0,c.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let e=window.matchMedia(_),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var ne=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function y(e){let t=Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.hasAttribute(`data-carousel-slide`));if(t.length===0)return null;let n=getComputedStyle(e),r=n.direction===`rtl`,i=parseFloat(n.paddingInlineStart)||0,a=e.getBoundingClientRect(),o=r?a.right-i:a.left+i,s=r?a.left+i:a.right-i,c=Math.abs(e.scrollLeft),l=Math.max(0,e.scrollWidth-e.clientWidth),u=[],d=[],f=[];for(let e of t){let t=e.getBoundingClientRect(),n=r?o-t.right:t.left-o;u.push(g(Math.round(c+n),0,l));let i=Math.max(t.left,r?s:o),a=Math.min(t.right,r?o:s)-i;d.push(a>1),f.push(a>=t.width-1)}let p=u.findIndex(e=>e>=l-1);p===-1&&(p=t.length-1);let m=0,h=1/0;return u.forEach((e,t)=>{let n=Math.abs(e-c);n<h-.5&&(h=n,m=t)}),{sign:r?-1:1,targets:u,lastStart:p,current:m,visible:d,fully:f}}function b({children:f,index:_,defaultIndex:b=0,onIndexChange:x,slidesPerView:S=1,gap:re=4,loop:C=!1,indicators:ie=!1,autoplay:w=!1,interval:T=5e3,controlsPlacement:E=`overlay`,radius:ae=`lg`,labels:oe,className:se,style:ce,onFocus:le,onPointerEnter:ue,onPointerLeave:de,...fe}){let D=s.useMessages().carousel,O=(0,c.useMemo)(()=>({...D,...oe}),[D,oe]),pe=t.flattenChildren(f),k=pe.length,[me,he]=(0,c.useState)(b),A=_!==void 0,j=A?_:me,M=(0,c.useRef)(j);M.current=j;let N=(0,c.useRef)(x);N.current=x;let P=(0,c.useId)(),F=(0,c.useRef)(null),I=(0,c.useRef)(null),L=(0,c.useRef)(null),R=(0,c.useRef)(null),z=(0,c.useRef)(j),B=(0,c.useRef)(null),[ge,_e]=(0,c.useState)([]),[ve,ye]=(0,c.useState)(Math.max(0,k-1)),[V,be]=(0,c.useState)([0,0]),xe=te(),[H,U]=(0,c.useState)(()=>w&&!v()),[Se,W]=(0,c.useState)(!1);(0,c.useEffect)(()=>{U(w&&!xe)},[w,xe]);let G=Math.max(0,Math.min(ve,k-1)),K=g(j,0,G),q=(0,c.useCallback)(e=>{e!==M.current&&(A||he(e),N.current?.(e))},[A]),J=(0,c.useCallback)(e=>{let t=F.current;if(!t)return null;let n=y(t);if(!n)return null;let r=document.activeElement;if(r&&r!==t&&t.contains(r)){let e=Array.from(t.children).filter(e=>e.hasAttribute(`data-carousel-slide`)).findIndex(e=>e.contains(r));e!==-1&&!n.visible[e]&&t.focus({preventScroll:!0})}if(_e(e=>ne(e,n.visible)?e:n.visible),ye(n.lastStart),e){let e=n.fully.indexOf(!0),t=n.fully.lastIndexOf(!0),r=e===-1?[n.current,n.current]:[e,Math.max(e,t)];be(e=>e[0]===r[0]&&e[1]===r[1]?e:r)}return n},[]),Y=(0,c.useCallback)((e,t=!1)=>{let n=F.current;if(!n)return;let r=y(n);if(!r)return;let i=g(e,0,r.targets.length-1);z.current=i,n.scrollTo({left:r.sign*r.targets[i],behavior:t||v()?`instant`:`smooth`})},[]),X=(0,c.useCallback)(e=>{let t=g(e,0,G);A||Y(t),q(t)},[q,A,G,Y]),Z=(0,c.useCallback)((e,t)=>{let n=K+e;return n<0?t?G:null:n>G?t?0:null:n},[K,G]);(0,c.useLayoutEffect)(()=>{J(!0)&&M.current>0&&Y(M.current,!0)},[]),(0,c.useLayoutEffect)(()=>{J(!0)},[k,J]),(0,c.useEffect)(()=>{let e=F.current;if(!e||typeof ResizeObserver>`u`)return;let t=e.clientWidth,n=new ResizeObserver(()=>{let n=J(!0);if(!n||e.clientWidth===t)return;t=e.clientWidth;let r=g(M.current,0,Math.max(0,n.lastStart));Y(r,!0),q(r)});return n.observe(e),()=>n.disconnect()},[q,J,Y]),(0,c.useEffect)(()=>{A&&j!==K&&N.current?.(K)},[A,j,K]),(0,c.useEffect)(()=>{K!==z.current&&Y(K)},[K,Y]),(0,c.useEffect)(()=>{let e=F.current;if(!e)return;let t=0,n,r=`onscrollend`in window,i=()=>{let e=J(!0);e&&(z.current=e.current,q(e.current))},a=()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>J(!1)),r||(clearTimeout(n),n=setTimeout(i,150))};return e.addEventListener(`scroll`,a,{passive:!0}),r&&e.addEventListener(`scrollend`,i),()=>{cancelAnimationFrame(t),clearTimeout(n),e.removeEventListener(`scroll`,a),e.removeEventListener(`scrollend`,i)}},[q,J]);let Ce=!C&&K<=0,we=!C&&K>=G;(0,c.useLayoutEffect)(()=>{let e=document.activeElement,t=!e||e===document.body,n=(n,r,i)=>!r?.disabled||!(e===r||t&&B.current===n)?!1:(B.current=null,i&&!i.disabled?i.focus():F.current?.focus(),!0);n(`prev`,I.current,L.current)||n(`next`,L.current,I.current)},[Ce,we,k]);let Te=e=>({onFocus:()=>{B.current=e},onBlur:e=>{e.relatedTarget&&(B.current=null)}}),Ee=e=>{let t=Z(e,C);t!==null&&X(t)},De=w&&H&&!Se&&k>1;(0,c.useEffect)(()=>{if(!De)return;let e=setTimeout(()=>{let e=Z(1,!0);e!==null&&X(e)},T);return()=>clearTimeout(e)},[De,T,K,Z,X]);let Oe=e=>{if(le?.(e),!w||!H)return;let t=e.target,n=!0;try{n=t.matches(`:focus-visible`)}catch{}if(!n)return;let r=e.currentTarget,i=e.relatedTarget instanceof Node&&r.contains(e.relatedTarget);t===R.current&&i||U(!1)},ke=e=>{ue?.(e),e.pointerType===`mouse`&&W(!0)},Ae=e=>{de?.(e),W(!1)},je=e=>{if(e.target!==e.currentTarget)return;let t=getComputedStyle(e.currentTarget).direction===`rtl`,n=null;switch(e.key){case`ArrowRight`:n=Z(t?-1:1,C);break;case`ArrowLeft`:n=Z(t?1:-1,C);break;case`Home`:n=0;break;case`End`:n=G;break;default:return}e.preventDefault(),n!==null&&X(n)},Me=e=>{let t=e.currentTarget;if(e.target===t)return;let n=e.target.closest(`[data-carousel-slide]`);if(!n||n.parentElement!==t)return;let r=y(t),i=Number(n.dataset.index);r&&!r.fully[i]&&n.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:v()?`instant`:`smooth`})},Q={};p(Q,`spv`,S,e=>String(e)),p(Q,`gap`,re,m);let Ne=(0,c.useMemo)(()=>({count:k,visible:ge,labels:O}),[k,ge,O]),Pe=g(Math.max(K,V[0]),0,Math.max(0,k-1)),Fe=g(Math.max(Pe,K+(V[1]-V[0])),0,Math.max(0,k-1)),Ie=k>0?O.status(Pe+1,Fe+1,k):``,$=E===`overlay`?`soft`:`outline`;return(0,l.jsxs)(`section`,{"aria-roledescription":`carousel`,...fe,className:e.cx(o.default.root,d[E],u[ae],se),style:{...Q,...ce},"data-placement":E,onFocus:Oe,onPointerEnter:ke,onPointerLeave:Ae,children:[w&&(0,l.jsx)(n.IconButton,{ref:R,className:e.cx(o.default.control,o.default.rotation),variant:$,tone:`neutral`,"aria-label":H?O.stop:O.start,onClick:()=>U(e=>!e),children:H?(0,l.jsx)(i.PauseIcon,{}):(0,l.jsx)(i.PlayIcon,{})}),(0,l.jsx)(n.IconButton,{ref:I,className:e.cx(o.default.control,o.default.prev),variant:$,tone:`neutral`,"aria-label":O.previous,"aria-controls":P,disabled:Ce||k<2,...Te(`prev`),onClick:()=>Ee(-1),children:(0,l.jsx)(r.Icon,{name:`chevron-left`,className:o.default.directional})}),(0,l.jsx)(n.IconButton,{ref:L,className:e.cx(o.default.control,o.default.next),variant:$,tone:`neutral`,"aria-label":O.next,"aria-controls":P,disabled:we||k<2,...Te(`next`),onClick:()=>Ee(1),children:(0,l.jsx)(r.Icon,{name:`chevron-right`,className:o.default.directional})}),(0,l.jsxs)(`div`,{className:o.default.slides,children:[(0,l.jsx)(a.VisuallyHidden,{"aria-live":w&&H?`off`:`polite`,"aria-atomic":`true`,"data-carousel-status":``,children:Ie}),(0,l.jsx)(`div`,{ref:F,id:P,className:o.default.viewport,role:`group`,"aria-label":O.slides,tabIndex:0,onKeyDown:je,onFocus:Me,children:(0,l.jsx)(h.Provider,{value:Ne,children:pe.map((e,t)=>(0,l.jsx)(ee.Provider,{value:t,children:e},e.key??t))})})]}),ie&&k>1&&(0,l.jsx)(`div`,{className:o.default.indicators,role:`group`,"aria-label":O.indicators,children:Array.from({length:G+1},(e,t)=>(0,l.jsx)(`button`,{type:`button`,className:o.default.dot,"aria-label":O.goTo(t+1,k),"aria-current":t===K?`true`:void 0,"aria-controls":P,onClick:()=>X(t)},t))})]})}function x({label:t,className:n,children:r,"aria-label":i,"aria-labelledby":a,...s}){let u=(0,c.useContext)(h),d=(0,c.useContext)(ee)??0,f=u?.count??1,p=u?.visible[d]===!1,m=a?void 0:i??t??(u?u.labels.slide(d+1,f):void 0);return(0,l.jsx)(`div`,{role:`group`,"aria-roledescription":`slide`,"aria-label":m,"aria-labelledby":a,...s,className:e.cx(o.default.slide,n),"data-carousel-slide":``,"data-index":d,"data-hidden":p?``:void 0,inert:p,children:r})}var S=Object.assign(b,{Slide:x});exports.Carousel=S,exports.CarouselSlide=x;
@@ -1,26 +1,27 @@
1
- import { useMessages as e } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
2
- import { cx as t } from "../../../utils/cx.mjs";
3
- import { flattenChildren as n } from "../../../utils/flattenChildren.mjs";
4
- import { VisuallyHidden as r } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
5
- import { IconButton as i } from "../../primitives/Button/Button.mjs";
6
- import { PauseIcon as a, PlayIcon as o } from "../../primitives/Icon/icons.mjs";
7
- import { Icon as s } from "../../primitives/Icon/Icon.mjs";
8
- import c from "./Carousel.module.css.mjs";
1
+ "use client";
2
+ import { cx as e } from "../../../utils/cx.mjs";
3
+ import { flattenChildren as t } from "../../../utils/flattenChildren.mjs";
4
+ import { IconButton as n } from "../../primitives/Button/Button.mjs";
5
+ import { Icon as r } from "../../primitives/Icon/Icon.mjs";
6
+ import { PauseIcon as i, PlayIcon as a } from "../../primitives/Icon/icons.mjs";
7
+ import { VisuallyHidden as o } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
8
+ import s from "./Carousel.module.css.mjs";
9
+ import { useMessages as c } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
9
10
  import { createContext as l, useCallback as u, useContext as d, useEffect as f, useId as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
10
11
  import { jsx as v, jsxs as ee } from "react/jsx-runtime";
11
- //#region src/components/data-display/Carousel/Carousel.tsx
12
+ // src/components/data-display/Carousel/Carousel.tsx
12
13
  var te = {
13
- none: c.radiusNone,
14
- xs: c.radiusXs,
15
- sm: c.radiusSm,
16
- md: c.radiusMd,
17
- lg: c.radiusLg,
18
- xl: c.radiusXl,
19
- "2xl": c.radius2xl,
20
- pill: c.radiusPill
14
+ none: s.radiusNone,
15
+ xs: s.radiusXs,
16
+ sm: s.radiusSm,
17
+ md: s.radiusMd,
18
+ lg: s.radiusLg,
19
+ xl: s.radiusXl,
20
+ "2xl": s.radius2xl,
21
+ pill: s.radiusPill
21
22
  }, ne = {
22
- overlay: c.overlay,
23
- bottom: c.bottom
23
+ overlay: s.overlay,
24
+ bottom: s.bottom
24
25
  }, y = [
25
26
  "base",
26
27
  "sm",
@@ -82,10 +83,10 @@ function C(e) {
82
83
  };
83
84
  }
84
85
  function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slidesPerView: le = 1, gap: w = 4, loop: T = !1, indicators: ue = !1, autoplay: E = !1, interval: de = 5e3, controlsPlacement: D = "overlay", radius: fe = "lg", labels: pe, className: me, style: he, onFocus: ge, onPointerEnter: _e, onPointerLeave: ve, ...ye }) {
85
- let O = e().carousel, k = h(() => ({
86
+ let O = c().carousel, k = h(() => ({
86
87
  ...O,
87
88
  ...pe
88
- }), [O, pe]), be = n(l), A = be.length, [xe, Se] = _(y), j = d !== void 0, M = j ? d : xe, N = g(M);
89
+ }), [O, pe]), be = t(l), A = be.length, [xe, Se] = _(y), j = d !== void 0, M = j ? d : xe, N = g(M);
89
90
  N.current = M;
90
91
  let P = g(x);
91
92
  P.current = x;
@@ -263,7 +264,7 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
263
264
  return /* @__PURE__ */ ee("section", {
264
265
  "aria-roledescription": "carousel",
265
266
  ...ye,
266
- className: t(c.root, ne[D], te[fe], me),
267
+ className: e(s.root, ne[D], te[fe], me),
267
268
  style: {
268
269
  ...Z,
269
270
  ...he
@@ -273,18 +274,18 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
273
274
  onPointerEnter: Re,
274
275
  onPointerLeave: ze,
275
276
  children: [
276
- E && /* @__PURE__ */ v(i, {
277
+ E && /* @__PURE__ */ v(n, {
277
278
  ref: Ce,
278
- className: t(c.control, c.rotation),
279
+ className: e(s.control, s.rotation),
279
280
  variant: $,
280
281
  tone: "neutral",
281
282
  "aria-label": H ? k.stop : k.start,
282
283
  onClick: () => U((e) => !e),
283
- children: v(H ? a : o, {})
284
+ children: v(H ? i : a, {})
284
285
  }),
285
- /* @__PURE__ */ v(i, {
286
+ /* @__PURE__ */ v(n, {
286
287
  ref: L,
287
- className: t(c.control, c.prev),
288
+ className: e(s.control, s.prev),
288
289
  variant: $,
289
290
  tone: "neutral",
290
291
  "aria-label": k.previous,
@@ -292,14 +293,14 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
292
293
  disabled: Me || A < 2,
293
294
  ...Pe("prev"),
294
295
  onClick: () => Fe(-1),
295
- children: /* @__PURE__ */ v(s, {
296
+ children: /* @__PURE__ */ v(r, {
296
297
  name: "chevron-left",
297
- className: c.directional
298
+ className: s.directional
298
299
  })
299
300
  }),
300
- /* @__PURE__ */ v(i, {
301
+ /* @__PURE__ */ v(n, {
301
302
  ref: R,
302
- className: t(c.control, c.next),
303
+ className: e(s.control, s.next),
303
304
  variant: $,
304
305
  tone: "neutral",
305
306
  "aria-label": k.next,
@@ -307,14 +308,14 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
307
308
  disabled: Ne || A < 2,
308
309
  ...Pe("next"),
309
310
  onClick: () => Fe(1),
310
- children: /* @__PURE__ */ v(s, {
311
+ children: /* @__PURE__ */ v(r, {
311
312
  name: "chevron-right",
312
- className: c.directional
313
+ className: s.directional
313
314
  })
314
315
  }),
315
316
  /* @__PURE__ */ ee("div", {
316
- className: c.slides,
317
- children: [/* @__PURE__ */ v(r, {
317
+ className: s.slides,
318
+ children: [/* @__PURE__ */ v(o, {
318
319
  "aria-live": E && H ? "off" : "polite",
319
320
  "aria-atomic": "true",
320
321
  "data-carousel-status": "",
@@ -322,7 +323,7 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
322
323
  }), /* @__PURE__ */ v("div", {
323
324
  ref: I,
324
325
  id: F,
325
- className: c.viewport,
326
+ className: s.viewport,
326
327
  role: "group",
327
328
  "aria-label": k.slides,
328
329
  tabIndex: 0,
@@ -338,12 +339,12 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
338
339
  })]
339
340
  }),
340
341
  ue && A > 1 && /* @__PURE__ */ v("div", {
341
- className: c.indicators,
342
+ className: s.indicators,
342
343
  role: "group",
343
344
  "aria-label": k.indicators,
344
345
  children: Array.from({ length: W + 1 }, (e, t) => /* @__PURE__ */ v("button", {
345
346
  type: "button",
346
- className: c.dot,
347
+ className: s.dot,
347
348
  "aria-label": k.goTo(t + 1, A),
348
349
  "aria-current": t === G ? "true" : void 0,
349
350
  "aria-controls": F,
@@ -353,15 +354,15 @@ function le({ children: l, index: d, defaultIndex: y = 0, onIndexChange: x, slid
353
354
  ]
354
355
  });
355
356
  }
356
- function w({ label: e, className: n, children: r, "aria-label": i, "aria-labelledby": a, ...o }) {
357
- let s = d(ae), l = d(oe) ?? 0, u = s?.count ?? 1, f = s?.visible[l] === !1, p = a ? void 0 : i ?? e ?? (s ? s.labels.slide(l + 1, u) : void 0);
357
+ function w({ label: t, className: n, children: r, "aria-label": i, "aria-labelledby": a, ...o }) {
358
+ let c = d(ae), l = d(oe) ?? 0, u = c?.count ?? 1, f = c?.visible[l] === !1, p = a ? void 0 : i ?? t ?? (c ? c.labels.slide(l + 1, u) : void 0);
358
359
  return /* @__PURE__ */ v("div", {
359
360
  role: "group",
360
361
  "aria-roledescription": "slide",
361
362
  "aria-label": p,
362
363
  "aria-labelledby": a,
363
364
  ...o,
364
- className: t(c.slide, n),
365
+ className: e(s.slide, n),
365
366
  "data-carousel-slide": "",
366
367
  "data-index": l,
367
368
  "data-hidden": f ? "" : void 0,
@@ -370,5 +371,4 @@ function w({ label: e, className: n, children: r, "aria-label": i, "aria-labelle
370
371
  });
371
372
  }
372
373
  var T = Object.assign(le, { Slide: w });
373
- //#endregion
374
374
  export { T as Carousel, w as CarouselSlide };
@@ -1,4 +1,4 @@
1
- //#region src/components/data-display/Carousel/Carousel.module.css
1
+ // src/components/data-display/Carousel/Carousel.module.css
2
2
  var e = "_root_53pdn_31", t = "_radiusNone_53pdn_155", n = "_radiusXs_53pdn_157", r = "_radiusSm_53pdn_159", i = "_radiusMd_53pdn_161", a = "_radiusLg_53pdn_163", o = "_radiusXl_53pdn_165", s = "_radius2xl_53pdn_167", c = "_radiusPill_53pdn_169", l = "_overlay_53pdn_175", u = "_control_53pdn_191", d = "_prev_53pdn_205", f = "_next_53pdn_215", p = "_rotation_53pdn_225", m = "_indicators_53pdn_237", h = "_bottom_53pdn_247", g = "_slides_53pdn_285", _ = "_viewport_53pdn_297", v = "_slide_53pdn_285", y = "_directional_53pdn_405", b = "_dot_53pdn_435", x = {
3
3
  root: e,
4
4
  radiusNone: t,
@@ -22,5 +22,4 @@ var e = "_root_53pdn_31", t = "_radiusNone_53pdn_155", n = "_radiusXs_53pdn_157"
22
22
  directional: y,
23
23
  dot: b
24
24
  };
25
- //#endregion
26
25
  export { h as bottom, u as control, x as default, y as directional, b as dot, m as indicators, f as next, l as overlay, d as prev, s as radius2xl, a as radiusLg, i as radiusMd, t as radiusNone, c as radiusPill, r as radiusSm, o as radiusXl, n as radiusXs, e as root, p as rotation, v as slide, g as slides, _ as viewport };
@@ -1 +1 @@
1
- const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),n=require("../../../hooks/useClipboard.cjs.js"),r=require("../../../hooks/useEnvironment.cjs.js"),i=require("../../../utils/cx.cjs.js"),a=require("../../../utils/announce.cjs.js"),o=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),s=require("../../primitives/Button/Button.cjs.js"),c=require("../../primitives/Icon/Icon.cjs.js"),l=require("../../layout/ScrollArea/ScrollArea.cjs.js"),ee=require("../../forms/Textarea/Textarea.cjs.js"),u=require("./Chat.module.css.cjs.js");let d=require("react"),f=require("react/jsx-runtime");var te=48,ne=typeof window<`u`?d.useLayoutEffect:d.useEffect;function re(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}var ie=()=>(0,f.jsx)(c.Icon,{children:(0,f.jsx)(`rect`,{x:`7`,y:`7`,width:`10`,height:`10`,rx:`2`,fill:`currentColor`,stroke:`none`})}),p=({messages:p,defaultMessages:ae,onMessagesChange:oe,onSend:m,onStop:se,onError:h,draft:ce,defaultDraft:le,onDraftChange:ue,suggestions:g,emptyState:de,renderContent:_,assistantName:fe,assistantAvatar:pe,userAvatar:v,copyable:y=!0,disclaimer:b,placeholder:me,maxLength:x,disabled:S=!1,labels:he,className:ge,"aria-label":_e,...C})=>{let w={...t.useMessages().chat,...he},T=fe??w.assistant,ve=r.useReducedMotion(),E=(0,d.useId)(),D=`${E}-hint`,[O,k]=e.useControllableState({value:p,defaultValue:ae??[],onChange:oe}),A=(0,d.useRef)(O),j=(0,d.useRef)(O);O!==j.current&&(j.current=O,A.current=O);let M=(0,d.useCallback)(e=>{let t=e(A.current);A.current=t,k(t)},[k]),N=(0,d.useCallback)((e,t)=>M(n=>n.map(n=>n.id===e?{...n,...t}:n)),[M]),P=(0,d.useRef)(0),F=()=>`${E}-${++P.current}`,[I,L]=e.useControllableState({value:ce,defaultValue:le??``,onChange:ue}),[R,z]=(0,d.useState)(!1),B=(0,d.useRef)(null),V=(0,d.useRef)(null),H=(0,d.useRef)(m);H.current=m;let U=(0,d.useRef)(h);U.current=h,(0,d.useEffect)(()=>()=>B.current?.abort(),[]);let W=(0,d.useRef)(null),G=(0,d.useRef)(!0),[ye,K]=(0,d.useState)(!0),be=()=>{let e=W.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=te;G.current=t,K(t)};ne(()=>{let e=W.current;e&&G.current&&(e.scrollTop=e.scrollHeight)},[O]);let xe=()=>{let e=W.current;e&&(G.current=!0,K(!0),e.scrollTo({top:e.scrollHeight,behavior:ve?`auto`:`smooth`}),V.current?.focus())},q=async(e,t)=>{let n=F();M(()=>[...e,{id:n,role:`assistant`,content:``,status:`streaming`}]),G.current=!0,K(!0),z(!0),a.announce(w.typing(T));let r=new AbortController;B.current=r;let i=``;try{let o=await H.current?.(t,{messages:e,signal:r.signal});if(typeof o==`string`)i=o;else if(re(o))for await(let e of o){if(r.signal.aborted)break;i+=e,N(n,{content:i})}else if(!r.signal.aborted){M(e=>e.filter(e=>e.id!==n));return}if(r.signal.aborted)throw r.signal.reason;N(n,{content:i,status:`done`}),a.announce(`${w.assistantSaid(T)} ${i}`)}catch(e){r.signal.aborted?(N(n,{content:i,status:`stopped`}),a.announce(w.stopped)):(U.current?.(e),N(n,{content:i,status:`error`}),a.announce(w.error))}finally{B.current===r&&(B.current=null),z(!1)}},J=e=>{let t=e.trim();!t||R||S||(L(``),q([...A.current,{id:F(),role:`user`,content:t,status:`done`}],t))},Y=()=>{B.current&&(B.current.abort(),se?.(),V.current?.focus())},Se=e=>{let t=A.current,n=t.findIndex(t=>t.id===e)-1;for(;n>=0&&t[n].role!==`user`;)n--;n<0||R||(q(t.slice(0,n+1),t[n].content),V.current?.focus())},X=e=>{e.preventDefault(),R?Y():J(I)},Ce=e=>{if(e.key===`Escape`&&R){e.preventDefault(),Y();return}e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),J(e.currentTarget.value))},{copy:we}=n.useClipboard(),[Z,Q]=(0,d.useState)(null);(0,d.useEffect)(()=>{if(Z===null)return;let e=window.setTimeout(()=>Q(null),2e3);return()=>window.clearTimeout(e)},[Z]);let Te=async e=>{await we(e.content)&&(Q(e.id),a.announce(w.copied))},$=O.filter(e=>e.role!==`system`).length===0,Ee=O[O.length-1],De=e=>{if(e.role===`system`)return(0,f.jsx)(`p`,{className:u.default.system,children:e.content},e.id);let t=e.role===`user`,n=e.status??`done`,r=n===`streaming`&&e.content===``,a=t?v:pe,l=!t&&!R&&e===Ee&&(n===`error`||n===`stopped`);return(0,f.jsxs)(`article`,{className:i.cx(u.default.message,t?u.default.user:u.default.assistant),"data-role":e.role,"data-status":n,"aria-busy":n===`streaming`||void 0,children:[a!=null&&(0,f.jsx)(`div`,{className:u.default.avatar,"aria-hidden":`true`,children:a}),(0,f.jsxs)(`div`,{className:u.default.body,children:[r?(0,f.jsxs)(`div`,{className:u.default.bubble,children:[(0,f.jsxs)(`span`,{className:u.default.dots,"aria-hidden":`true`,children:[(0,f.jsx)(`span`,{}),(0,f.jsx)(`span`,{}),(0,f.jsx)(`span`,{})]}),(0,f.jsx)(o.VisuallyHidden,{children:w.typing(T)})]}):e.content!==``&&(0,f.jsxs)(`div`,{className:u.default.bubble,children:[(0,f.jsxs)(o.VisuallyHidden,{children:[t?w.youSaid:w.assistantSaid(T),` `]}),_?_(e):(0,f.jsx)(`p`,{className:u.default.text,children:e.content})]}),n===`error`&&(0,f.jsxs)(`p`,{className:u.default.error,children:[(0,f.jsx)(c.Icon,{name:`error`,size:`sm`}),(0,f.jsx)(`span`,{children:e.error??w.error})]}),n===`stopped`&&(0,f.jsx)(`p`,{className:u.default.note,children:w.stopped}),!t&&(l||y&&n===`done`&&e.content!==``)&&(0,f.jsxs)(`div`,{className:u.default.actions,children:[y&&n===`done`&&e.content!==``&&(0,f.jsx)(s.IconButton,{variant:`ghost`,tone:`neutral`,size:`sm`,"aria-label":Z===e.id?w.copied:w.copy,onClick:()=>void Te(e),children:(0,f.jsx)(c.Icon,{name:Z===e.id?`check`:`copy`})}),l&&(0,f.jsx)(s.Button,{variant:`ghost`,tone:`neutral`,size:`sm`,startIcon:(0,f.jsx)(c.Icon,{name:`refresh`}),onClick:()=>Se(e.id),children:w.retry})]})]})]},e.id)};return(0,f.jsxs)(`section`,{...C,"aria-label":_e??(C[`aria-labelledby`]?void 0:w.region),className:i.cx(u.default.root,ge),children:[(0,f.jsxs)(`div`,{className:u.default.logWrap,children:[(0,f.jsx)(l.ScrollArea,{className:u.default.log,viewportRef:W,onViewportScroll:be,"aria-label":w.log,"aria-busy":R||void 0,tabIndex:0,children:(0,f.jsxs)(`div`,{className:u.default.messages,children:[$&&(0,f.jsxs)(`div`,{className:u.default.empty,children:[de??(0,f.jsx)(`p`,{className:u.default.emptyTitle,children:w.emptyTitle}),g&&g.length>0&&(0,f.jsx)(`div`,{role:`group`,"aria-label":w.suggestions,className:u.default.suggestions,children:g.map(e=>(0,f.jsx)(s.Button,{variant:`outline`,tone:`neutral`,size:`sm`,disabled:S,className:u.default.suggestion,onClick:()=>J(e),children:e},e))})]}),O.map(De)]})}),!ye&&!$&&(0,f.jsx)(s.IconButton,{variant:`soft`,tone:`neutral`,size:`sm`,className:u.default.jump,"aria-label":w.scrollToLatest,onClick:xe,children:(0,f.jsx)(c.Icon,{name:`arrow-down`})})]}),(0,f.jsxs)(`form`,{className:u.default.composer,onSubmit:X,children:[(0,f.jsxs)(`div`,{className:u.default.inputRow,children:[(0,f.jsx)(ee.Textarea,{ref:V,className:u.default.input,"aria-label":w.input,"aria-describedby":D,placeholder:me??w.placeholder,value:I,onValueChange:L,onKeyDown:Ce,autoResize:!0,rows:1,maxRows:6,maxLength:x,showCount:x!==void 0,disabled:S,enterKeyHint:`send`}),R?(0,f.jsx)(s.IconButton,{type:`submit`,variant:`soft`,tone:`neutral`,"aria-label":w.stop,children:(0,f.jsx)(ie,{})}):(0,f.jsx)(s.IconButton,{type:`submit`,"aria-label":w.send,disabled:S||I.trim()===``,children:(0,f.jsx)(c.Icon,{name:`arrow-up`})})]}),(0,f.jsx)(o.VisuallyHidden,{id:D,children:w.hint}),b!=null&&(0,f.jsx)(`p`,{className:u.default.disclaimer,children:b})]})]})};exports.Chat=p;
1
+ "use client";const e=require("../../../hooks/useClipboard.cjs.js"),t=require("../../../hooks/useControllableState.cjs.js"),n=require("../../../hooks/useEnvironment.cjs.js"),r=require("../../../utils/announce.cjs.js"),i=require("../../../utils/cx.cjs.js"),a=require("../../layout/ScrollArea/ScrollArea.cjs.js"),o=require("../../primitives/Button/Button.cjs.js"),s=require("../../primitives/Icon/Icon.cjs.js"),c=require("../../forms/Textarea/Textarea.cjs.js"),ee=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),l=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),u=require("./Chat.module.css.cjs.js");let d=require("react"),f=require("react/jsx-runtime");var te=48,ne=typeof window<`u`?d.useLayoutEffect:d.useEffect;function re(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}var ie=()=>(0,f.jsx)(s.Icon,{children:(0,f.jsx)(`rect`,{x:`7`,y:`7`,width:`10`,height:`10`,rx:`2`,fill:`currentColor`,stroke:`none`})}),p=({messages:p,defaultMessages:ae,onMessagesChange:oe,onSend:m,onStop:se,onError:h,draft:ce,defaultDraft:le,onDraftChange:ue,suggestions:g,emptyState:de,renderContent:_,assistantName:fe,assistantAvatar:pe,userAvatar:v,copyable:y=!0,disclaimer:b,placeholder:me,maxLength:x,disabled:S=!1,labels:he,className:ge,"aria-label":_e,...C})=>{let w={...ee.useMessages().chat,...he},T=fe??w.assistant,ve=n.useReducedMotion(),E=(0,d.useId)(),D=`${E}-hint`,[O,k]=t.useControllableState({value:p,defaultValue:ae??[],onChange:oe}),A=(0,d.useRef)(O),j=(0,d.useRef)(O);O!==j.current&&(j.current=O,A.current=O);let M=(0,d.useCallback)(e=>{let t=e(A.current);A.current=t,k(t)},[k]),N=(0,d.useCallback)((e,t)=>M(n=>n.map(n=>n.id===e?{...n,...t}:n)),[M]),P=(0,d.useRef)(0),F=()=>`${E}-${++P.current}`,[I,L]=t.useControllableState({value:ce,defaultValue:le??``,onChange:ue}),[R,z]=(0,d.useState)(!1),B=(0,d.useRef)(null),V=(0,d.useRef)(null),H=(0,d.useRef)(m);H.current=m;let U=(0,d.useRef)(h);U.current=h,(0,d.useEffect)(()=>()=>B.current?.abort(),[]);let W=(0,d.useRef)(null),G=(0,d.useRef)(!0),[ye,K]=(0,d.useState)(!0),be=()=>{let e=W.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=te;G.current=t,K(t)};ne(()=>{let e=W.current;e&&G.current&&(e.scrollTop=e.scrollHeight)},[O]);let xe=()=>{let e=W.current;e&&(G.current=!0,K(!0),e.scrollTo({top:e.scrollHeight,behavior:ve?`auto`:`smooth`}),V.current?.focus())},q=async(e,t)=>{let n=F();M(()=>[...e,{id:n,role:`assistant`,content:``,status:`streaming`}]),G.current=!0,K(!0),z(!0),r.announce(w.typing(T));let i=new AbortController;B.current=i;let a=``;try{let o=await H.current?.(t,{messages:e,signal:i.signal});if(typeof o==`string`)a=o;else if(re(o))for await(let e of o){if(i.signal.aborted)break;a+=e,N(n,{content:a})}else if(!i.signal.aborted){M(e=>e.filter(e=>e.id!==n));return}if(i.signal.aborted)throw i.signal.reason;N(n,{content:a,status:`done`}),r.announce(`${w.assistantSaid(T)} ${a}`)}catch(e){i.signal.aborted?(N(n,{content:a,status:`stopped`}),r.announce(w.stopped)):(U.current?.(e),N(n,{content:a,status:`error`}),r.announce(w.error))}finally{B.current===i&&(B.current=null),z(!1)}},J=e=>{let t=e.trim();!t||R||S||(L(``),q([...A.current,{id:F(),role:`user`,content:t,status:`done`}],t))},Y=()=>{B.current&&(B.current.abort(),se?.(),V.current?.focus())},Se=e=>{let t=A.current,n=t.findIndex(t=>t.id===e)-1;for(;n>=0&&t[n].role!==`user`;)n--;n<0||R||(q(t.slice(0,n+1),t[n].content),V.current?.focus())},X=e=>{e.preventDefault(),R?Y():J(I)},Ce=e=>{e.key===`Escape`&&R?(e.preventDefault(),Y()):e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),J(e.currentTarget.value))},{copy:we}=e.useClipboard(),[Z,Q]=(0,d.useState)(null);(0,d.useEffect)(()=>{if(Z===null)return;let e=window.setTimeout(()=>Q(null),2e3);return()=>window.clearTimeout(e)},[Z]);let Te=async e=>{await we(e.content)&&(Q(e.id),r.announce(w.copied))},$=O.filter(e=>e.role!==`system`).length===0,Ee=O[O.length-1],De=e=>{if(e.role===`system`)return(0,f.jsx)(`p`,{className:u.default.system,children:e.content},e.id);let t=e.role===`user`,n=e.status??`done`,r=n===`streaming`&&e.content===``,a=t?v:pe,c=!t&&!R&&e===Ee&&(n===`error`||n===`stopped`);return(0,f.jsxs)(`article`,{className:i.cx(u.default.message,t?u.default.user:u.default.assistant),"data-role":e.role,"data-status":n,"aria-busy":n===`streaming`||void 0,children:[a!=null&&(0,f.jsx)(`div`,{className:u.default.avatar,"aria-hidden":`true`,children:a}),(0,f.jsxs)(`div`,{className:u.default.body,children:[r?(0,f.jsxs)(`div`,{className:u.default.bubble,children:[(0,f.jsxs)(`span`,{className:u.default.dots,"aria-hidden":`true`,children:[(0,f.jsx)(`span`,{}),(0,f.jsx)(`span`,{}),(0,f.jsx)(`span`,{})]}),(0,f.jsx)(l.VisuallyHidden,{children:w.typing(T)})]}):e.content!==``&&(0,f.jsxs)(`div`,{className:u.default.bubble,children:[(0,f.jsxs)(l.VisuallyHidden,{children:[t?w.youSaid:w.assistantSaid(T),` `]}),_?_(e):(0,f.jsx)(`p`,{className:u.default.text,children:e.content})]}),n===`error`&&(0,f.jsxs)(`p`,{className:u.default.error,children:[(0,f.jsx)(s.Icon,{name:`error`,size:`sm`}),(0,f.jsx)(`span`,{children:e.error??w.error})]}),n===`stopped`&&(0,f.jsx)(`p`,{className:u.default.note,children:w.stopped}),!t&&(c||y&&n===`done`&&e.content!==``)&&(0,f.jsxs)(`div`,{className:u.default.actions,children:[y&&n===`done`&&e.content!==``&&(0,f.jsx)(o.IconButton,{variant:`ghost`,tone:`neutral`,size:`sm`,"aria-label":Z===e.id?w.copied:w.copy,onClick:()=>void Te(e),children:(0,f.jsx)(s.Icon,{name:Z===e.id?`check`:`copy`})}),c&&(0,f.jsx)(o.Button,{variant:`ghost`,tone:`neutral`,size:`sm`,startIcon:(0,f.jsx)(s.Icon,{name:`refresh`}),onClick:()=>Se(e.id),children:w.retry})]})]})]},e.id)};return(0,f.jsxs)(`section`,{...C,"aria-label":_e??(C[`aria-labelledby`]?void 0:w.region),className:i.cx(u.default.root,ge),children:[(0,f.jsxs)(`div`,{className:u.default.logWrap,children:[(0,f.jsx)(a.ScrollArea,{className:u.default.log,viewportRef:W,onViewportScroll:be,"aria-label":w.log,"aria-busy":R||void 0,tabIndex:0,children:(0,f.jsxs)(`div`,{className:u.default.messages,children:[$&&(0,f.jsxs)(`div`,{className:u.default.empty,children:[de??(0,f.jsx)(`p`,{className:u.default.emptyTitle,children:w.emptyTitle}),g&&g.length>0&&(0,f.jsx)(`div`,{role:`group`,"aria-label":w.suggestions,className:u.default.suggestions,children:g.map(e=>(0,f.jsx)(o.Button,{variant:`outline`,tone:`neutral`,size:`sm`,disabled:S,className:u.default.suggestion,onClick:()=>J(e),children:e},e))})]}),O.map(De)]})}),!ye&&!$&&(0,f.jsx)(o.IconButton,{variant:`soft`,tone:`neutral`,size:`sm`,className:u.default.jump,"aria-label":w.scrollToLatest,onClick:xe,children:(0,f.jsx)(s.Icon,{name:`arrow-down`})})]}),(0,f.jsxs)(`form`,{className:u.default.composer,onSubmit:X,children:[(0,f.jsxs)(`div`,{className:u.default.inputRow,children:[(0,f.jsx)(c.Textarea,{ref:V,className:u.default.input,"aria-label":w.input,"aria-describedby":D,placeholder:me??w.placeholder,value:I,onValueChange:L,onKeyDown:Ce,autoResize:!0,rows:1,maxRows:6,maxLength:x,showCount:x!==void 0,disabled:S,enterKeyHint:`send`}),R?(0,f.jsx)(o.IconButton,{type:`submit`,variant:`soft`,tone:`neutral`,"aria-label":w.stop,children:(0,f.jsx)(ie,{})}):(0,f.jsx)(o.IconButton,{type:`submit`,"aria-label":w.send,disabled:S||I.trim()===``,children:(0,f.jsx)(s.Icon,{name:`arrow-up`})})]}),(0,f.jsx)(l.VisuallyHidden,{id:D,children:w.hint}),b!=null&&(0,f.jsx)(`p`,{className:u.default.disclaimer,children:b})]})]})};exports.Chat=p;