@mortenbrudvik/waveui 0.4.0 → 0.7.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 (574) hide show
  1. package/README.md +1221 -173
  2. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  3. package/dist/components/button/Button.cjs +2 -0
  4. package/dist/components/button/Button.cjs.map +1 -0
  5. package/dist/components/button/Button.mjs +50 -0
  6. package/dist/components/button/Button.mjs.map +1 -0
  7. package/dist/components/button/Button.semantics.cjs +2 -0
  8. package/dist/components/button/Button.semantics.cjs.map +1 -0
  9. package/dist/components/button/Button.semantics.mjs +61 -0
  10. package/dist/components/button/Button.semantics.mjs.map +1 -0
  11. package/dist/components/button/Button.slots.cjs +2 -0
  12. package/dist/components/button/Button.slots.cjs.map +1 -0
  13. package/dist/components/button/Button.slots.mjs +47 -0
  14. package/dist/components/button/Button.slots.mjs.map +1 -0
  15. package/dist/components/button/CompoundButton.cjs +2 -0
  16. package/dist/components/button/CompoundButton.cjs.map +1 -0
  17. package/dist/components/button/CompoundButton.mjs +53 -0
  18. package/dist/components/button/CompoundButton.mjs.map +1 -0
  19. package/dist/components/button/Link.cjs +2 -0
  20. package/dist/components/button/Link.cjs.map +1 -0
  21. package/dist/components/button/Link.mjs +37 -0
  22. package/dist/components/button/Link.mjs.map +1 -0
  23. package/dist/components/button/MenuButton.cjs +2 -0
  24. package/dist/components/button/MenuButton.cjs.map +1 -0
  25. package/dist/components/button/MenuButton.mjs +45 -0
  26. package/dist/components/button/MenuButton.mjs.map +1 -0
  27. package/dist/components/button/SplitButton.cjs +2 -0
  28. package/dist/components/button/SplitButton.cjs.map +1 -0
  29. package/dist/components/button/SplitButton.mjs +66 -0
  30. package/dist/components/button/SplitButton.mjs.map +1 -0
  31. package/dist/components/button/ToggleButton.cjs +2 -0
  32. package/dist/components/button/ToggleButton.cjs.map +1 -0
  33. package/dist/components/button/ToggleButton.mjs +65 -0
  34. package/dist/components/button/ToggleButton.mjs.map +1 -0
  35. package/dist/components/button/Toolbar.cjs +2 -0
  36. package/dist/components/button/Toolbar.cjs.map +1 -0
  37. package/dist/components/button/Toolbar.context.cjs +2 -0
  38. package/dist/components/button/Toolbar.context.cjs.map +1 -0
  39. package/dist/components/button/Toolbar.context.mjs +31 -0
  40. package/dist/components/button/Toolbar.context.mjs.map +1 -0
  41. package/dist/components/button/Toolbar.mjs +63 -0
  42. package/dist/components/button/Toolbar.mjs.map +1 -0
  43. package/dist/components/button/Toolbar.parts.cjs +2 -0
  44. package/dist/components/button/Toolbar.parts.cjs.map +1 -0
  45. package/dist/components/button/Toolbar.parts.mjs +131 -0
  46. package/dist/components/button/Toolbar.parts.mjs.map +1 -0
  47. package/dist/components/button/buttonStyles.cjs +2 -0
  48. package/dist/components/button/buttonStyles.cjs.map +1 -0
  49. package/dist/components/button/buttonStyles.mjs +39 -0
  50. package/dist/components/button/buttonStyles.mjs.map +1 -0
  51. package/dist/components/data-display/Avatar.cjs +2 -0
  52. package/dist/components/data-display/Avatar.cjs.map +1 -0
  53. package/dist/components/data-display/Avatar.mjs +157 -0
  54. package/dist/components/data-display/Avatar.mjs.map +1 -0
  55. package/dist/components/data-display/AvatarGroup.cjs +2 -0
  56. package/dist/components/data-display/AvatarGroup.cjs.map +1 -0
  57. package/dist/components/data-display/AvatarGroup.mjs +134 -0
  58. package/dist/components/data-display/AvatarGroup.mjs.map +1 -0
  59. package/dist/components/data-display/Badge.cjs +2 -0
  60. package/dist/components/data-display/Badge.cjs.map +1 -0
  61. package/dist/components/data-display/Badge.colors.cjs +2 -0
  62. package/dist/components/data-display/Badge.colors.cjs.map +1 -0
  63. package/dist/components/data-display/Badge.colors.mjs +58 -0
  64. package/dist/components/data-display/Badge.colors.mjs.map +1 -0
  65. package/dist/components/data-display/Badge.mjs +32 -0
  66. package/dist/components/data-display/Badge.mjs.map +1 -0
  67. package/dist/components/data-display/CounterBadge.cjs +2 -0
  68. package/dist/components/data-display/CounterBadge.cjs.map +1 -0
  69. package/dist/components/data-display/CounterBadge.mjs +28 -0
  70. package/dist/components/data-display/CounterBadge.mjs.map +1 -0
  71. package/dist/components/data-display/Divider.cjs +2 -0
  72. package/dist/components/data-display/Divider.cjs.map +1 -0
  73. package/dist/components/data-display/Divider.mjs +52 -0
  74. package/dist/components/data-display/Divider.mjs.map +1 -0
  75. package/dist/components/data-display/Image.cjs +2 -0
  76. package/dist/components/data-display/Image.cjs.map +1 -0
  77. package/dist/components/data-display/Image.mjs +32 -0
  78. package/dist/components/data-display/Image.mjs.map +1 -0
  79. package/dist/components/data-display/InfoLabel.cjs +2 -0
  80. package/dist/components/data-display/InfoLabel.cjs.map +1 -0
  81. package/dist/components/data-display/InfoLabel.mjs +104 -0
  82. package/dist/components/data-display/InfoLabel.mjs.map +1 -0
  83. package/dist/components/data-display/List.cjs +2 -0
  84. package/dist/components/data-display/List.cjs.map +1 -0
  85. package/dist/components/data-display/List.mjs +381 -0
  86. package/dist/components/data-display/List.mjs.map +1 -0
  87. package/dist/components/data-display/List.registry.cjs +2 -0
  88. package/dist/components/data-display/List.registry.cjs.map +1 -0
  89. package/dist/components/data-display/List.registry.mjs +101 -0
  90. package/dist/components/data-display/List.registry.mjs.map +1 -0
  91. package/dist/components/data-display/Persona.cjs +2 -0
  92. package/dist/components/data-display/Persona.cjs.map +1 -0
  93. package/dist/components/data-display/Persona.mjs +48 -0
  94. package/dist/components/data-display/Persona.mjs.map +1 -0
  95. package/dist/components/data-display/PresenceBadge.cjs +2 -0
  96. package/dist/components/data-display/PresenceBadge.cjs.map +1 -0
  97. package/dist/components/data-display/PresenceBadge.mjs +71 -0
  98. package/dist/components/data-display/PresenceBadge.mjs.map +1 -0
  99. package/dist/components/data-display/Tag.cjs +2 -0
  100. package/dist/components/data-display/Tag.cjs.map +1 -0
  101. package/dist/components/data-display/Tag.mjs +147 -0
  102. package/dist/components/data-display/Tag.mjs.map +1 -0
  103. package/dist/components/feedback/MessageBar.cjs +2 -0
  104. package/dist/components/feedback/MessageBar.cjs.map +1 -0
  105. package/dist/components/feedback/MessageBar.mjs +144 -0
  106. package/dist/components/feedback/MessageBar.mjs.map +1 -0
  107. package/dist/components/feedback/MessageBar.status.cjs +2 -0
  108. package/dist/components/feedback/MessageBar.status.cjs.map +1 -0
  109. package/dist/components/feedback/MessageBar.status.mjs +45 -0
  110. package/dist/components/feedback/MessageBar.status.mjs.map +1 -0
  111. package/dist/components/feedback/ProgressBar.cjs +2 -0
  112. package/dist/components/feedback/ProgressBar.cjs.map +1 -0
  113. package/dist/components/feedback/ProgressBar.mjs +72 -0
  114. package/dist/components/feedback/ProgressBar.mjs.map +1 -0
  115. package/dist/components/feedback/Skeleton.cjs +2 -0
  116. package/dist/components/feedback/Skeleton.cjs.map +1 -0
  117. package/dist/components/feedback/Skeleton.mjs +47 -0
  118. package/dist/components/feedback/Skeleton.mjs.map +1 -0
  119. package/dist/components/feedback/Spinner.cjs +2 -0
  120. package/dist/components/feedback/Spinner.cjs.map +1 -0
  121. package/dist/components/feedback/Spinner.mjs +60 -0
  122. package/dist/components/feedback/Spinner.mjs.map +1 -0
  123. package/dist/components/feedback/Toast.cjs +2 -0
  124. package/dist/components/feedback/Toast.cjs.map +1 -0
  125. package/dist/components/feedback/Toast.mjs +347 -0
  126. package/dist/components/feedback/Toast.mjs.map +1 -0
  127. package/dist/components/input/Checkbox.cjs +2 -0
  128. package/dist/components/input/Checkbox.cjs.map +1 -0
  129. package/dist/components/input/Checkbox.mjs +96 -0
  130. package/dist/components/input/Checkbox.mjs.map +1 -0
  131. package/dist/components/input/ColorPicker.cjs +6 -0
  132. package/dist/components/input/ColorPicker.cjs.map +1 -0
  133. package/dist/components/input/ColorPicker.mjs +236 -0
  134. package/dist/components/input/ColorPicker.mjs.map +1 -0
  135. package/dist/components/input/Combobox.cjs +2 -0
  136. package/dist/components/input/Combobox.cjs.map +1 -0
  137. package/dist/components/input/Combobox.expand.cjs +2 -0
  138. package/dist/components/input/Combobox.expand.cjs.map +1 -0
  139. package/dist/components/input/Combobox.expand.mjs +38 -0
  140. package/dist/components/input/Combobox.expand.mjs.map +1 -0
  141. package/dist/components/input/Combobox.mjs +187 -0
  142. package/dist/components/input/Combobox.mjs.map +1 -0
  143. package/dist/components/input/DatePicker.cjs +2 -0
  144. package/dist/components/input/DatePicker.cjs.map +1 -0
  145. package/dist/components/input/DatePicker.mjs +340 -0
  146. package/dist/components/input/DatePicker.mjs.map +1 -0
  147. package/dist/components/input/Dropdown.cjs +2 -0
  148. package/dist/components/input/Dropdown.cjs.map +1 -0
  149. package/dist/components/input/Dropdown.mjs +128 -0
  150. package/dist/components/input/Dropdown.mjs.map +1 -0
  151. package/dist/components/input/Field.cjs +2 -0
  152. package/dist/components/input/Field.cjs.map +1 -0
  153. package/dist/components/input/Field.mjs +200 -0
  154. package/dist/components/input/Field.mjs.map +1 -0
  155. package/dist/components/input/Input.cjs +2 -0
  156. package/dist/components/input/Input.cjs.map +1 -0
  157. package/dist/components/input/Input.mjs +81 -0
  158. package/dist/components/input/Input.mjs.map +1 -0
  159. package/dist/components/input/Label.cjs +2 -0
  160. package/dist/components/input/Label.cjs.map +1 -0
  161. package/dist/components/input/Label.mjs +28 -0
  162. package/dist/components/input/Label.mjs.map +1 -0
  163. package/dist/components/input/Option.cjs +2 -0
  164. package/dist/components/input/Option.cjs.map +1 -0
  165. package/dist/components/input/Option.mjs +169 -0
  166. package/dist/components/input/Option.mjs.map +1 -0
  167. package/dist/components/input/RadioGroup.cjs +2 -0
  168. package/dist/components/input/RadioGroup.cjs.map +1 -0
  169. package/dist/components/input/RadioGroup.mjs +139 -0
  170. package/dist/components/input/RadioGroup.mjs.map +1 -0
  171. package/dist/components/input/Rating.cjs +2 -0
  172. package/dist/components/input/Rating.cjs.map +1 -0
  173. package/dist/components/input/Rating.mjs +196 -0
  174. package/dist/components/input/Rating.mjs.map +1 -0
  175. package/dist/components/input/SearchBox.cjs +2 -0
  176. package/dist/components/input/SearchBox.cjs.map +1 -0
  177. package/dist/components/input/SearchBox.mjs +205 -0
  178. package/dist/components/input/SearchBox.mjs.map +1 -0
  179. package/dist/components/input/Select.cjs +2 -0
  180. package/dist/components/input/Select.cjs.map +1 -0
  181. package/dist/components/input/Select.mjs +33 -0
  182. package/dist/components/input/Select.mjs.map +1 -0
  183. package/dist/components/input/Slider.cjs +2 -0
  184. package/dist/components/input/Slider.cjs.map +1 -0
  185. package/dist/components/input/Slider.mjs +79 -0
  186. package/dist/components/input/Slider.mjs.map +1 -0
  187. package/dist/components/input/SpinButton.cjs +2 -0
  188. package/dist/components/input/SpinButton.cjs.map +1 -0
  189. package/dist/components/input/SpinButton.mjs +157 -0
  190. package/dist/components/input/SpinButton.mjs.map +1 -0
  191. package/dist/components/input/SwatchPicker.cjs +2 -0
  192. package/dist/components/input/SwatchPicker.cjs.map +1 -0
  193. package/dist/components/input/SwatchPicker.mjs +113 -0
  194. package/dist/components/input/SwatchPicker.mjs.map +1 -0
  195. package/dist/components/input/Switch.cjs +2 -0
  196. package/dist/components/input/Switch.cjs.map +1 -0
  197. package/dist/components/input/Switch.mjs +92 -0
  198. package/dist/components/input/Switch.mjs.map +1 -0
  199. package/dist/components/input/TagPicker.cjs +2 -0
  200. package/dist/components/input/TagPicker.cjs.map +1 -0
  201. package/dist/components/input/TagPicker.mjs +249 -0
  202. package/dist/components/input/TagPicker.mjs.map +1 -0
  203. package/dist/components/input/Textarea.cjs +2 -0
  204. package/dist/components/input/Textarea.cjs.map +1 -0
  205. package/dist/components/input/Textarea.mjs +32 -0
  206. package/dist/components/input/Textarea.mjs.map +1 -0
  207. package/dist/components/input/TimePicker.cjs +2 -0
  208. package/dist/components/input/TimePicker.cjs.map +1 -0
  209. package/dist/components/input/TimePicker.mjs +292 -0
  210. package/dist/components/input/TimePicker.mjs.map +1 -0
  211. package/dist/components/input/colorUtils.cjs +2 -0
  212. package/dist/components/input/colorUtils.cjs.map +1 -0
  213. package/dist/components/input/colorUtils.mjs +96 -0
  214. package/dist/components/input/colorUtils.mjs.map +1 -0
  215. package/dist/components/input/dateUtils.cjs +2 -0
  216. package/dist/components/input/dateUtils.cjs.map +1 -0
  217. package/dist/components/input/dateUtils.mjs +250 -0
  218. package/dist/components/input/dateUtils.mjs.map +1 -0
  219. package/dist/components/input/pickerStyles.cjs +2 -0
  220. package/dist/components/input/pickerStyles.cjs.map +1 -0
  221. package/dist/components/input/pickerStyles.mjs +10 -0
  222. package/dist/components/input/pickerStyles.mjs.map +1 -0
  223. package/dist/components/internal/HiddenInput.cjs +2 -0
  224. package/dist/components/internal/HiddenInput.cjs.map +1 -0
  225. package/dist/components/internal/HiddenInput.mjs +88 -0
  226. package/dist/components/internal/HiddenInput.mjs.map +1 -0
  227. package/dist/components/layout/Accordion.cjs +2 -0
  228. package/dist/components/layout/Accordion.cjs.map +1 -0
  229. package/dist/components/layout/Accordion.mjs +236 -0
  230. package/dist/components/layout/Accordion.mjs.map +1 -0
  231. package/dist/components/layout/Card.cjs +2 -0
  232. package/dist/components/layout/Card.cjs.map +1 -0
  233. package/dist/components/layout/Card.mjs +121 -0
  234. package/dist/components/layout/Card.mjs.map +1 -0
  235. package/dist/components/layout/Carousel.cjs +2 -0
  236. package/dist/components/layout/Carousel.cjs.map +1 -0
  237. package/dist/components/layout/Carousel.mjs +205 -0
  238. package/dist/components/layout/Carousel.mjs.map +1 -0
  239. package/dist/components/layout/Flex.cjs +2 -0
  240. package/dist/components/layout/Flex.cjs.map +1 -0
  241. package/dist/components/layout/Flex.mjs +54 -0
  242. package/dist/components/layout/Flex.mjs.map +1 -0
  243. package/dist/components/layout/Grid.cjs +2 -0
  244. package/dist/components/layout/Grid.cjs.map +1 -0
  245. package/dist/components/layout/Grid.mjs +62 -0
  246. package/dist/components/layout/Grid.mjs.map +1 -0
  247. package/dist/components/layout/Overflow.cjs +2 -0
  248. package/dist/components/layout/Overflow.cjs.map +1 -0
  249. package/dist/components/layout/Overflow.mjs +269 -0
  250. package/dist/components/layout/Overflow.mjs.map +1 -0
  251. package/dist/components/layout/Stack.cjs +2 -0
  252. package/dist/components/layout/Stack.cjs.map +1 -0
  253. package/dist/components/layout/Stack.mjs +39 -0
  254. package/dist/components/layout/Stack.mjs.map +1 -0
  255. package/dist/components/layout/TabList.cjs +2 -0
  256. package/dist/components/layout/TabList.cjs.map +1 -0
  257. package/dist/components/layout/TabList.mjs +238 -0
  258. package/dist/components/layout/TabList.mjs.map +1 -0
  259. package/dist/components/layout/Tree.cjs +2 -0
  260. package/dist/components/layout/Tree.cjs.map +1 -0
  261. package/dist/components/layout/Tree.mjs +220 -0
  262. package/dist/components/layout/Tree.mjs.map +1 -0
  263. package/dist/components/layout/disclosureIds.cjs +2 -0
  264. package/dist/components/layout/disclosureIds.cjs.map +1 -0
  265. package/dist/components/layout/disclosureIds.mjs +12 -0
  266. package/dist/components/layout/disclosureIds.mjs.map +1 -0
  267. package/dist/components/motion/Presence.cjs +2 -0
  268. package/dist/components/motion/Presence.cjs.map +1 -0
  269. package/dist/components/motion/Presence.mjs +35 -0
  270. package/dist/components/motion/Presence.mjs.map +1 -0
  271. package/dist/components/navigation/Breadcrumb.cjs +2 -0
  272. package/dist/components/navigation/Breadcrumb.cjs.map +1 -0
  273. package/dist/components/navigation/Breadcrumb.mjs +144 -0
  274. package/dist/components/navigation/Breadcrumb.mjs.map +1 -0
  275. package/dist/components/navigation/Menu.cjs +2 -0
  276. package/dist/components/navigation/Menu.cjs.map +1 -0
  277. package/dist/components/navigation/Menu.context.cjs +2 -0
  278. package/dist/components/navigation/Menu.context.cjs.map +1 -0
  279. package/dist/components/navigation/Menu.context.mjs +82 -0
  280. package/dist/components/navigation/Menu.context.mjs.map +1 -0
  281. package/dist/components/navigation/Menu.group.cjs +2 -0
  282. package/dist/components/navigation/Menu.group.cjs.map +1 -0
  283. package/dist/components/navigation/Menu.group.mjs +58 -0
  284. package/dist/components/navigation/Menu.group.mjs.map +1 -0
  285. package/dist/components/navigation/Menu.items.cjs +2 -0
  286. package/dist/components/navigation/Menu.items.cjs.map +1 -0
  287. package/dist/components/navigation/Menu.items.mjs +127 -0
  288. package/dist/components/navigation/Menu.items.mjs.map +1 -0
  289. package/dist/components/navigation/Menu.link.cjs +2 -0
  290. package/dist/components/navigation/Menu.link.cjs.map +1 -0
  291. package/dist/components/navigation/Menu.link.mjs +41 -0
  292. package/dist/components/navigation/Menu.link.mjs.map +1 -0
  293. package/dist/components/navigation/Menu.mjs +27 -0
  294. package/dist/components/navigation/Menu.mjs.map +1 -0
  295. package/dist/components/navigation/Menu.popover.cjs +2 -0
  296. package/dist/components/navigation/Menu.popover.cjs.map +1 -0
  297. package/dist/components/navigation/Menu.popover.mjs +231 -0
  298. package/dist/components/navigation/Menu.popover.mjs.map +1 -0
  299. package/dist/components/navigation/Menu.root.cjs +2 -0
  300. package/dist/components/navigation/Menu.root.cjs.map +1 -0
  301. package/dist/components/navigation/Menu.root.mjs +308 -0
  302. package/dist/components/navigation/Menu.root.mjs.map +1 -0
  303. package/dist/components/navigation/Menu.selectable.cjs +2 -0
  304. package/dist/components/navigation/Menu.selectable.cjs.map +1 -0
  305. package/dist/components/navigation/Menu.selectable.mjs +89 -0
  306. package/dist/components/navigation/Menu.selectable.mjs.map +1 -0
  307. package/dist/components/navigation/Menu.shared.cjs +2 -0
  308. package/dist/components/navigation/Menu.shared.cjs.map +1 -0
  309. package/dist/components/navigation/Menu.shared.mjs +23 -0
  310. package/dist/components/navigation/Menu.shared.mjs.map +1 -0
  311. package/dist/components/navigation/Menu.splitGroup.cjs +2 -0
  312. package/dist/components/navigation/Menu.splitGroup.cjs.map +1 -0
  313. package/dist/components/navigation/Menu.splitGroup.mjs +51 -0
  314. package/dist/components/navigation/Menu.splitGroup.mjs.map +1 -0
  315. package/dist/components/navigation/Menu.trigger.cjs +2 -0
  316. package/dist/components/navigation/Menu.trigger.cjs.map +1 -0
  317. package/dist/components/navigation/Menu.trigger.mjs +79 -0
  318. package/dist/components/navigation/Menu.trigger.mjs.map +1 -0
  319. package/dist/components/navigation/Nav.cjs +2 -0
  320. package/dist/components/navigation/Nav.cjs.map +1 -0
  321. package/dist/components/navigation/Nav.mjs +276 -0
  322. package/dist/components/navigation/Nav.mjs.map +1 -0
  323. package/dist/components/navigation/Pagination.cjs +2 -0
  324. package/dist/components/navigation/Pagination.cjs.map +1 -0
  325. package/dist/components/navigation/Pagination.mjs +110 -0
  326. package/dist/components/navigation/Pagination.mjs.map +1 -0
  327. package/dist/components/navigation/Stepper.cjs +2 -0
  328. package/dist/components/navigation/Stepper.cjs.map +1 -0
  329. package/dist/components/navigation/Stepper.mjs +204 -0
  330. package/dist/components/navigation/Stepper.mjs.map +1 -0
  331. package/dist/components/overlays/Dialog.cjs +2 -0
  332. package/dist/components/overlays/Dialog.cjs.map +1 -0
  333. package/dist/components/overlays/Dialog.mjs +180 -0
  334. package/dist/components/overlays/Dialog.mjs.map +1 -0
  335. package/dist/components/overlays/Dialog.shared.cjs +2 -0
  336. package/dist/components/overlays/Dialog.shared.cjs.map +1 -0
  337. package/dist/components/overlays/Dialog.shared.mjs +227 -0
  338. package/dist/components/overlays/Dialog.shared.mjs.map +1 -0
  339. package/dist/components/overlays/Drawer.cjs +2 -0
  340. package/dist/components/overlays/Drawer.cjs.map +1 -0
  341. package/dist/components/overlays/Drawer.mjs +192 -0
  342. package/dist/components/overlays/Drawer.mjs.map +1 -0
  343. package/dist/components/overlays/Popover.cjs +2 -0
  344. package/dist/components/overlays/Popover.cjs.map +1 -0
  345. package/dist/components/overlays/Popover.mjs +365 -0
  346. package/dist/components/overlays/Popover.mjs.map +1 -0
  347. package/dist/components/overlays/Popover.shared.cjs +2 -0
  348. package/dist/components/overlays/Popover.shared.cjs.map +1 -0
  349. package/dist/components/overlays/Popover.shared.mjs +182 -0
  350. package/dist/components/overlays/Popover.shared.mjs.map +1 -0
  351. package/dist/components/overlays/TeachingPopover.cjs +2 -0
  352. package/dist/components/overlays/TeachingPopover.cjs.map +1 -0
  353. package/dist/components/overlays/TeachingPopover.mjs +181 -0
  354. package/dist/components/overlays/TeachingPopover.mjs.map +1 -0
  355. package/dist/components/overlays/Tooltip.cjs +2 -0
  356. package/dist/components/overlays/Tooltip.cjs.map +1 -0
  357. package/dist/components/overlays/Tooltip.mjs +160 -0
  358. package/dist/components/overlays/Tooltip.mjs.map +1 -0
  359. package/dist/components/portal/Portal.cjs +2 -0
  360. package/dist/components/portal/Portal.cjs.map +1 -0
  361. package/dist/components/portal/Portal.mjs +45 -0
  362. package/dist/components/portal/Portal.mjs.map +1 -0
  363. package/dist/components/provider/WaveProvider.cjs +2 -0
  364. package/dist/components/provider/WaveProvider.cjs.map +1 -0
  365. package/dist/components/provider/WaveProvider.mjs +51 -0
  366. package/dist/components/provider/WaveProvider.mjs.map +1 -0
  367. package/dist/components/table/DataGrid.cjs +2 -0
  368. package/dist/components/table/DataGrid.cjs.map +1 -0
  369. package/dist/components/table/DataGrid.mjs +489 -0
  370. package/dist/components/table/DataGrid.mjs.map +1 -0
  371. package/dist/components/table/Table.cjs +2 -0
  372. package/dist/components/table/Table.cjs.map +1 -0
  373. package/dist/components/table/Table.mjs +99 -0
  374. package/dist/components/table/Table.mjs.map +1 -0
  375. package/dist/components/table/useGridNavigation.cjs +2 -0
  376. package/dist/components/table/useGridNavigation.cjs.map +1 -0
  377. package/dist/components/table/useGridNavigation.mjs +336 -0
  378. package/dist/components/table/useGridNavigation.mjs.map +1 -0
  379. package/dist/components/typography/Text.cjs +2 -0
  380. package/dist/components/typography/Text.cjs.map +1 -0
  381. package/dist/components/typography/Text.mjs +38 -0
  382. package/dist/components/typography/Text.mjs.map +1 -0
  383. package/dist/hooks/useAnnounce.cjs +2 -0
  384. package/dist/hooks/useAnnounce.cjs.map +1 -0
  385. package/dist/hooks/useAnnounce.mjs +88 -0
  386. package/dist/hooks/useAnnounce.mjs.map +1 -0
  387. package/dist/hooks/useCheckedValues.cjs +2 -0
  388. package/dist/hooks/useCheckedValues.cjs.map +1 -0
  389. package/dist/hooks/useCheckedValues.mjs +102 -0
  390. package/dist/hooks/useCheckedValues.mjs.map +1 -0
  391. package/dist/hooks/useContextMenuAnchor.cjs +2 -0
  392. package/dist/hooks/useContextMenuAnchor.cjs.map +1 -0
  393. package/dist/hooks/useContextMenuAnchor.mjs +132 -0
  394. package/dist/hooks/useContextMenuAnchor.mjs.map +1 -0
  395. package/dist/hooks/useControllable.cjs +2 -0
  396. package/dist/hooks/useControllable.cjs.map +1 -0
  397. package/dist/hooks/useControllable.mjs +37 -0
  398. package/dist/hooks/useControllable.mjs.map +1 -0
  399. package/dist/hooks/useDirection.cjs +2 -0
  400. package/dist/hooks/useDirection.cjs.map +1 -0
  401. package/dist/hooks/useDirection.mjs +57 -0
  402. package/dist/hooks/useDirection.mjs.map +1 -0
  403. package/dist/hooks/useDismiss.cjs +2 -0
  404. package/dist/hooks/useDismiss.cjs.map +1 -0
  405. package/dist/hooks/useDismiss.mjs +57 -0
  406. package/dist/hooks/useDismiss.mjs.map +1 -0
  407. package/dist/hooks/useEventCallback.cjs +2 -0
  408. package/dist/hooks/useEventCallback.cjs.map +1 -0
  409. package/dist/hooks/useEventCallback.mjs +16 -0
  410. package/dist/hooks/useEventCallback.mjs.map +1 -0
  411. package/dist/hooks/useFieldControl.cjs +2 -0
  412. package/dist/hooks/useFieldControl.cjs.map +1 -0
  413. package/dist/hooks/useFieldControl.mjs +62 -0
  414. package/dist/hooks/useFieldControl.mjs.map +1 -0
  415. package/dist/hooks/useFocusTrap.cjs +2 -0
  416. package/dist/hooks/useFocusTrap.cjs.map +1 -0
  417. package/dist/hooks/useFocusTrap.mjs +266 -0
  418. package/dist/hooks/useFocusTrap.mjs.map +1 -0
  419. package/dist/hooks/useFormReset.cjs +2 -0
  420. package/dist/hooks/useFormReset.cjs.map +1 -0
  421. package/dist/hooks/useFormReset.mjs +33 -0
  422. package/dist/hooks/useFormReset.mjs.map +1 -0
  423. package/dist/hooks/useHoverIntent.cjs +2 -0
  424. package/dist/hooks/useHoverIntent.cjs.map +1 -0
  425. package/dist/hooks/useHoverIntent.mjs +201 -0
  426. package/dist/hooks/useHoverIntent.mjs.map +1 -0
  427. package/dist/hooks/useId.cjs +2 -0
  428. package/dist/hooks/useId.cjs.map +1 -0
  429. package/dist/hooks/useId.mjs +11 -0
  430. package/dist/hooks/useId.mjs.map +1 -0
  431. package/dist/hooks/useIsClient.cjs +2 -0
  432. package/dist/hooks/useIsClient.cjs.map +1 -0
  433. package/dist/hooks/useIsClient.mjs +19 -0
  434. package/dist/hooks/useIsClient.mjs.map +1 -0
  435. package/dist/hooks/useListbox.cjs +2 -0
  436. package/dist/hooks/useListbox.cjs.map +1 -0
  437. package/dist/hooks/useListbox.mjs +492 -0
  438. package/dist/hooks/useListbox.mjs.map +1 -0
  439. package/dist/hooks/useMergedRefs.cjs +2 -0
  440. package/dist/hooks/useMergedRefs.cjs.map +1 -0
  441. package/dist/hooks/useMergedRefs.mjs +57 -0
  442. package/dist/hooks/useMergedRefs.mjs.map +1 -0
  443. package/dist/hooks/useModalIsolation.cjs +2 -0
  444. package/dist/hooks/useModalIsolation.cjs.map +1 -0
  445. package/dist/hooks/useModalIsolation.mjs +87 -0
  446. package/dist/hooks/useModalIsolation.mjs.map +1 -0
  447. package/dist/hooks/useModalLayer.cjs +2 -0
  448. package/dist/hooks/useModalLayer.cjs.map +1 -0
  449. package/dist/hooks/useModalLayer.mjs +30 -0
  450. package/dist/hooks/useModalLayer.mjs.map +1 -0
  451. package/dist/hooks/usePopupPosition.cjs +2 -0
  452. package/dist/hooks/usePopupPosition.cjs.map +1 -0
  453. package/dist/hooks/usePopupPosition.mjs +117 -0
  454. package/dist/hooks/usePopupPosition.mjs.map +1 -0
  455. package/dist/hooks/usePrefersReducedMotion.cjs +2 -0
  456. package/dist/hooks/usePrefersReducedMotion.cjs.map +1 -0
  457. package/dist/hooks/usePrefersReducedMotion.mjs +24 -0
  458. package/dist/hooks/usePrefersReducedMotion.mjs.map +1 -0
  459. package/dist/hooks/usePresence.cjs +2 -0
  460. package/dist/hooks/usePresence.cjs.map +1 -0
  461. package/dist/hooks/usePresence.mjs +136 -0
  462. package/dist/hooks/usePresence.mjs.map +1 -0
  463. package/dist/hooks/usePreserveFocus.cjs +2 -0
  464. package/dist/hooks/usePreserveFocus.cjs.map +1 -0
  465. package/dist/hooks/usePreserveFocus.mjs +50 -0
  466. package/dist/hooks/usePreserveFocus.mjs.map +1 -0
  467. package/dist/hooks/useRestoreFocus.cjs +2 -0
  468. package/dist/hooks/useRestoreFocus.cjs.map +1 -0
  469. package/dist/hooks/useRestoreFocus.mjs +271 -0
  470. package/dist/hooks/useRestoreFocus.mjs.map +1 -0
  471. package/dist/hooks/useRovingTabIndex.cjs +2 -0
  472. package/dist/hooks/useRovingTabIndex.cjs.map +1 -0
  473. package/dist/hooks/useRovingTabIndex.mjs +389 -0
  474. package/dist/hooks/useRovingTabIndex.mjs.map +1 -0
  475. package/dist/hooks/useScrollLock.cjs +2 -0
  476. package/dist/hooks/useScrollLock.cjs.map +1 -0
  477. package/dist/hooks/useScrollLock.mjs +71 -0
  478. package/dist/hooks/useScrollLock.mjs.map +1 -0
  479. package/dist/hooks/useTriggerElement.cjs +2 -0
  480. package/dist/hooks/useTriggerElement.cjs.map +1 -0
  481. package/dist/hooks/useTriggerElement.mjs +126 -0
  482. package/dist/hooks/useTriggerElement.mjs.map +1 -0
  483. package/dist/hooks/useTypeahead.cjs +2 -0
  484. package/dist/hooks/useTypeahead.cjs.map +1 -0
  485. package/dist/hooks/useTypeahead.mjs +38 -0
  486. package/dist/hooks/useTypeahead.mjs.map +1 -0
  487. package/dist/index.cjs +1 -1
  488. package/dist/index.d.cts +9099 -0
  489. package/dist/index.d.ts +7688 -1027
  490. package/dist/index.mjs +91 -5695
  491. package/dist/lib/aria.cjs +2 -0
  492. package/dist/lib/aria.cjs.map +1 -0
  493. package/dist/lib/aria.mjs +29 -0
  494. package/dist/lib/aria.mjs.map +1 -0
  495. package/dist/lib/children.cjs +2 -0
  496. package/dist/lib/children.cjs.map +1 -0
  497. package/dist/lib/children.mjs +37 -0
  498. package/dist/lib/children.mjs.map +1 -0
  499. package/dist/lib/cn.cjs +2 -0
  500. package/dist/lib/cn.cjs.map +1 -0
  501. package/dist/lib/cn.mjs +64 -0
  502. package/dist/lib/cn.mjs.map +1 -0
  503. package/dist/lib/composeEventHandlers.cjs +2 -0
  504. package/dist/lib/composeEventHandlers.cjs.map +1 -0
  505. package/dist/lib/composeEventHandlers.mjs +11 -0
  506. package/dist/lib/composeEventHandlers.mjs.map +1 -0
  507. package/dist/lib/dev.cjs +2 -0
  508. package/dist/lib/dev.cjs.map +1 -0
  509. package/dist/lib/dev.mjs +42 -0
  510. package/dist/lib/dev.mjs.map +1 -0
  511. package/dist/lib/direction.cjs +2 -0
  512. package/dist/lib/direction.cjs.map +1 -0
  513. package/dist/lib/direction.mjs +35 -0
  514. package/dist/lib/direction.mjs.map +1 -0
  515. package/dist/lib/events.cjs +2 -0
  516. package/dist/lib/events.cjs.map +1 -0
  517. package/dist/lib/events.mjs +31 -0
  518. package/dist/lib/events.mjs.map +1 -0
  519. package/dist/lib/focus.cjs +2 -0
  520. package/dist/lib/focus.cjs.map +1 -0
  521. package/dist/lib/focus.mjs +119 -0
  522. package/dist/lib/focus.mjs.map +1 -0
  523. package/dist/lib/globalRegistry.cjs +2 -0
  524. package/dist/lib/globalRegistry.cjs.map +1 -0
  525. package/dist/lib/globalRegistry.mjs +13 -0
  526. package/dist/lib/globalRegistry.mjs.map +1 -0
  527. package/dist/lib/icons.cjs +2 -0
  528. package/dist/lib/icons.cjs.map +1 -0
  529. package/dist/lib/icons.mjs +254 -0
  530. package/dist/lib/icons.mjs.map +1 -0
  531. package/dist/lib/labelInName.cjs +2 -0
  532. package/dist/lib/labelInName.cjs.map +1 -0
  533. package/dist/lib/labelInName.mjs +54 -0
  534. package/dist/lib/labelInName.mjs.map +1 -0
  535. package/dist/lib/layers.cjs +2 -0
  536. package/dist/lib/layers.cjs.map +1 -0
  537. package/dist/lib/layers.mjs +224 -0
  538. package/dist/lib/layers.mjs.map +1 -0
  539. package/dist/lib/mergeProps.cjs +2 -0
  540. package/dist/lib/mergeProps.cjs.map +1 -0
  541. package/dist/lib/mergeProps.mjs +21 -0
  542. package/dist/lib/mergeProps.mjs.map +1 -0
  543. package/dist/lib/mergeRefs.cjs +2 -0
  544. package/dist/lib/mergeRefs.cjs.map +1 -0
  545. package/dist/lib/mergeRefs.mjs +29 -0
  546. package/dist/lib/mergeRefs.mjs.map +1 -0
  547. package/dist/lib/renderTrigger.cjs +2 -0
  548. package/dist/lib/renderTrigger.cjs.map +1 -0
  549. package/dist/lib/renderTrigger.mjs +29 -0
  550. package/dist/lib/renderTrigger.mjs.map +1 -0
  551. package/dist/lib/slot.cjs +2 -0
  552. package/dist/lib/slot.cjs.map +1 -0
  553. package/dist/lib/slot.mjs +122 -0
  554. package/dist/lib/slot.mjs.map +1 -0
  555. package/dist/lib/styles.cjs +2 -0
  556. package/dist/lib/styles.cjs.map +1 -0
  557. package/dist/lib/styles.mjs +16 -0
  558. package/dist/lib/styles.mjs.map +1 -0
  559. package/dist/lib/theme.cjs +2 -0
  560. package/dist/lib/theme.cjs.map +1 -0
  561. package/dist/lib/theme.mjs +16 -0
  562. package/dist/lib/theme.mjs.map +1 -0
  563. package/dist/preflight.css +2 -0
  564. package/dist/styles.css +2 -0
  565. package/package.json +149 -100
  566. package/src/styles/animations.css +7 -39
  567. package/src/styles/base.css +103 -0
  568. package/src/styles/globals.css +10 -22
  569. package/src/styles/legacy-tokens.css +184 -0
  570. package/src/styles/preflight.css +7 -0
  571. package/src/styles/styles.css +32 -0
  572. package/src/styles/tailwind.css +17 -0
  573. package/src/styles/tokens.css +561 -221
  574. package/src/styles/variants.css +29 -0
@@ -0,0 +1,489 @@
1
+ "use client";
2
+ import { cn as e } from "../../lib/cn.mjs";
3
+ import { flattenChildren as t, isElementOfType as n } from "../../lib/children.mjs";
4
+ import { isDev as r, reportMissingContext as i, resolveDeprecatedProp as a, warnDeprecated as o, warnOnce as s } from "../../lib/dev.mjs";
5
+ import { composeEventHandlers as c } from "../../lib/composeEventHandlers.mjs";
6
+ import { useControllable as l } from "../../hooks/useControllable.mjs";
7
+ import { useId as u } from "../../hooks/useId.mjs";
8
+ import { useMergedRefs as d } from "../../hooks/useMergedRefs.mjs";
9
+ import { focusRingInset as f, forcedColors as p } from "../../lib/styles.mjs";
10
+ import { useGridNavigation as m } from "./useGridNavigation.mjs";
11
+ import * as h from "react";
12
+ import { Fragment as g, jsx as _, jsxs as ee } from "react/jsx-runtime";
13
+ //#region src/components/table/DataGrid.tsx
14
+ var v = "Select all rows", y = "Selection";
15
+ function b(e, t = !1) {
16
+ let n = new Set(e), r = /* @__PURE__ */ new Map(), i = 0, a = "none", o = t, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), u = (e) => {
17
+ for (let t of Array.from(e)) t();
18
+ }, d = () => {
19
+ if (s !== void 0) return s;
20
+ let e = null;
21
+ for (let t of n) {
22
+ if (r.has(t)) {
23
+ e = t;
24
+ break;
25
+ }
26
+ e ??= t;
27
+ }
28
+ return s = e, e;
29
+ }, f = (e) => {
30
+ if (n.size < 2 || !n.has(e)) return;
31
+ let t = s;
32
+ s = void 0, o && d() !== t && u(c);
33
+ }, p = () => {
34
+ let e = i === 0 ? "none" : i === r.size ? "all" : "some";
35
+ e !== a && (a = e, u(l));
36
+ }, m = (e) => (t) => (e.add(t), () => {
37
+ e.delete(t);
38
+ });
39
+ return {
40
+ subscribe: m(c),
41
+ subscribeSelectAll: m(l),
42
+ register(e) {
43
+ let t = r.get(e) ?? 0;
44
+ r.set(e, t + 1), t === 0 && n.has(e) && (i += 1), p(), t === 0 && f(e);
45
+ let a = !1;
46
+ return () => {
47
+ if (a) return;
48
+ a = !0;
49
+ let t = (r.get(e) ?? 0) - 1;
50
+ if (t > 0) {
51
+ r.set(e, t);
52
+ return;
53
+ }
54
+ r.delete(e), n.has(e) && --i, p(), f(e);
55
+ };
56
+ },
57
+ setSelected(e) {
58
+ let t = new Set(e);
59
+ if (!(t.size === n.size && e.every((e) => n.has(e)))) {
60
+ n = t, s = void 0, i = 0;
61
+ for (let e of t) r.has(e) && (i += 1);
62
+ u(c), p();
63
+ }
64
+ },
65
+ setSingleMode(e) {
66
+ o = e;
67
+ },
68
+ isSelected(e, t = !1) {
69
+ return t ? d() === e : n.has(e);
70
+ },
71
+ countRegistrations(e) {
72
+ return r.get(e) ?? 0;
73
+ },
74
+ getSelectAllState() {
75
+ return a;
76
+ },
77
+ getRegistered() {
78
+ return Array.from(r.keys());
79
+ },
80
+ prune(e) {
81
+ return e.filter((e) => r.has(e));
82
+ }
83
+ };
84
+ }
85
+ function x() {
86
+ let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), n = null, r = () => {
87
+ let r = null, i = null;
88
+ for (let [t, a] of e) {
89
+ let o = a();
90
+ if (!o) {
91
+ if (n !== null && e.has(n)) return;
92
+ continue;
93
+ }
94
+ (!i || o.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_FOLLOWING) && (r = t, i = o);
95
+ }
96
+ if (r === null && (r = e.keys().next().value ?? null), r !== n) {
97
+ n = r;
98
+ for (let e of Array.from(t)) e();
99
+ }
100
+ };
101
+ return {
102
+ subscribe(e) {
103
+ return t.add(e), () => {
104
+ t.delete(e);
105
+ };
106
+ },
107
+ register(t, n) {
108
+ return e.set(t, n), r(), () => {
109
+ e.delete(t), r();
110
+ };
111
+ },
112
+ getFirst: () => n,
113
+ refresh: r
114
+ };
115
+ }
116
+ var te = h.createContext(null), S = h.createContext(null), C = h.createContext("body"), w = h.createContext(null), T = h.createContext(!0), E = {
117
+ selectionMode: "none",
118
+ store: b([]),
119
+ toggleRow: () => {},
120
+ toggleAll: () => {},
121
+ radioName: "",
122
+ selectAllLabel: v,
123
+ selectionHeaderLabel: y
124
+ }, D = {
125
+ sort: null,
126
+ requestSort: () => {}
127
+ };
128
+ function O(e) {
129
+ return h.useContext(te) || (i(e, "DataGrid"), E);
130
+ }
131
+ function k(e) {
132
+ return h.useContext(S) || (i(e, "DataGrid"), D);
133
+ }
134
+ var A = [];
135
+ function j(e) {
136
+ return e === void 0 ? void 0 : Array.from(e);
137
+ }
138
+ function M(e, t) {
139
+ return e.length === t.length && e.every((e, n) => e === t[n]);
140
+ }
141
+ function N({ key: e, node: t }) {
142
+ return /* @__PURE__ */ _(h.Fragment, { children: t }, e);
143
+ }
144
+ function ne(e) {
145
+ s(`DataGrid:duplicate-rowId:${e}`, `DataGrid: several rows share the rowId "${e}". Row ids must be unique within a DataGrid; rows with the same rowId are selected and deselected together.`);
146
+ }
147
+ var P = "px-4 py-3 border-b border-border", F = "w-10 px-3 py-3 border-b border-border", I = "accent-primary cursor-pointer", L = (r) => {
148
+ let { sort: i, defaultSort: f, sortColumn: p, defaultSortColumn: x, sortDirection: C, defaultSortDirection: w, onSortChange: T, selectionMode: E = "none", selectedItems: D, defaultSelectedItems: O, onSelectedItemsChange: k, selectedKeys: ne, defaultSelectedKeys: P, onSelectionChange: F, labels: I, columns: L, containerProps: R, children: z, className: B, onKeyDown: V, onFocus: U, onBlur: G, ref: K, ...q } = r, J = i !== void 0 || f !== void 0, [re, ie] = h.useState(J);
149
+ J && !re && ie(!0);
150
+ let ae = re || J, oe = p !== void 0 || C !== void 0;
151
+ p !== void 0 && o("DataGrid", "sortColumn", "sort"), C !== void 0 && o("DataGrid", "sortDirection", "sort"), x !== void 0 && o("DataGrid", "defaultSortColumn", "defaultSort"), w !== void 0 && o("DataGrid", "defaultSortDirection", "defaultSort");
152
+ let se = J && (oe || x !== void 0 || w !== void 0);
153
+ h.useEffect(() => {
154
+ se && s("DataGrid:mixed-sort", "DataGrid: do not mix `sort`/`defaultSort` with the deprecated `sortColumn`/`sortDirection`/`defaultSortColumn`/`defaultSortDirection`. `sort`/`defaultSort` win.");
155
+ }, [se]), h.useEffect(() => {
156
+ J || (p !== void 0 && C === void 0 ? s("DataGrid:sortColumn-without-sortDirection", "DataGrid: `sortColumn` is controlled but `sortDirection` is not (mixed control). The direction is kept internally and toggles on repeated clicks, as in 0.4. Pass `sort` (`{ columnId, direction }`) to control both.") : C !== void 0 && p === void 0 && s("DataGrid:sortDirection-without-sortColumn", "DataGrid: `sortDirection` is controlled but `sortColumn` is not (mixed control). The column is kept internally and follows the clicked header, as in 0.4. Pass `sort` (`{ columnId, direction }`) to control both."));
157
+ }, [
158
+ J,
159
+ p,
160
+ C
161
+ ]);
162
+ let [Y, ce] = h.useState(() => ({
163
+ column: x ?? "",
164
+ direction: w ?? "ascending"
165
+ })), le = h.useMemo(() => {
166
+ if (p === void 0 && C === void 0) return;
167
+ let e = p ?? Y.column;
168
+ return e === "" ? null : {
169
+ columnId: e,
170
+ direction: C ?? Y.direction
171
+ };
172
+ }, [
173
+ p,
174
+ C,
175
+ Y
176
+ ]), ue = h.useMemo(() => x ? {
177
+ columnId: x,
178
+ direction: w ?? "ascending"
179
+ } : null, [x, w]), [de, fe] = l(J ? i : le, f === void 0 ? ue : f, (e) => {
180
+ e && (J || ce((t) => t.column === e.columnId && t.direction === e.direction ? t : {
181
+ column: e.columnId,
182
+ direction: e.direction
183
+ }), T && (ae ? T(e) : T(e.columnId, e.direction)));
184
+ }), pe = h.useCallback((e) => {
185
+ fe((t) => ({
186
+ columnId: e,
187
+ direction: t?.columnId === e && t.direction === "ascending" ? "descending" : "ascending"
188
+ }));
189
+ }, [fe]), me = h.useMemo(() => ({
190
+ sort: de,
191
+ requestSort: pe
192
+ }), [de, pe]);
193
+ F !== void 0 && o("DataGrid", "onSelectionChange", "onSelectedItemsChange");
194
+ let he = h.useMemo(() => j(ne), [ne]), ge = h.useMemo(() => j(P), [P]), _e = a("DataGrid", D, he, "selectedKeys", "selectedItems"), ve = a("DataGrid", O, ge, "defaultSelectedKeys", "defaultSelectedItems") ?? A, [X, Z] = l(_e, ve, (e) => {
195
+ k?.([...e]), F?.(new Set(e));
196
+ }), Q = E === "single", [$] = h.useState(() => b(X, Q));
197
+ h.useLayoutEffect(() => {
198
+ $.setSelected(X);
199
+ }, [$, X]), h.useLayoutEffect(() => {
200
+ $.setSingleMode(Q);
201
+ }, [$, Q]);
202
+ let ye = h.useCallback((e) => {
203
+ Z((t) => {
204
+ let n = $.prune(t), r;
205
+ return r = Q ? n[0] === e ? [] : [e] : n.includes(e) ? n.filter((t) => t !== e) : [...n, e], M(r, t) ? t : r;
206
+ });
207
+ }, [
208
+ Q,
209
+ Z,
210
+ $
211
+ ]), be = X.length;
212
+ h.useEffect(() => {
213
+ Q && be > 1 && s("DataGrid:single-several-selected", `DataGrid: a single-selection grid (selectionMode "single") has ${be} selected row ids; only the first one that is rendered is selected. Pass at most one id in \`selectedItems\`/\`defaultSelectedItems\`, or use selectionMode="multiple".`);
214
+ }, [Q, be]);
215
+ let xe = h.useCallback(() => {
216
+ Z((e) => {
217
+ let t = $.prune(e), n = $.getRegistered(), r = n.length > 0 && n.every((e) => t.includes(e)) ? [] : n;
218
+ return M(r, e) ? e : r;
219
+ });
220
+ }, [Z, $]), Se = u("wave-datagrid-selection"), Ce = I?.selectAll ?? v, we = I?.selectionHeader ?? y, Te = h.useMemo(() => ({
221
+ selectionMode: E,
222
+ store: $,
223
+ toggleRow: ye,
224
+ toggleAll: xe,
225
+ radioName: Se,
226
+ selectAllLabel: Ce,
227
+ selectionHeaderLabel: we
228
+ }), [
229
+ E,
230
+ $,
231
+ ye,
232
+ xe,
233
+ Se,
234
+ Ce,
235
+ we
236
+ ]), { gridRef: Ee, gridProps: De } = m(), Oe = d(K, Ee), ke = z, Ae = L ? t(z) : [];
237
+ if (L && !Ae.some(({ node: e }) => n(e, H))) {
238
+ let e = ({ node: e }) => n(e, "caption");
239
+ ke = /* @__PURE__ */ ee(g, { children: [
240
+ Ae.filter(e).map(N),
241
+ /* @__PURE__ */ _(H, { children: /* @__PURE__ */ _("tr", { children: L.map((e) => /* @__PURE__ */ _(W, {
242
+ columnId: e.id,
243
+ sortable: e.sortable,
244
+ children: e.label
245
+ }, e.id)) }) }),
246
+ Ae.filter((t) => !e(t)).map(N)
247
+ ] });
248
+ }
249
+ let { className: je, "aria-label": Me, "aria-labelledby": Ne, ...Pe } = R ?? {}, Fe = Pe.role !== void 0, Ie = !Fe && (Me !== void 0 || Ne !== void 0);
250
+ return h.useEffect(() => {
251
+ Ie && s("DataGrid:container-name-without-role", "DataGrid: `containerProps[\"aria-label\"]`/`[\"aria-labelledby\"]` is ignored because the wrapper has no role. Name the grid itself (`aria-label` on DataGrid), or pass a `role` (e.g. \"region\") in `containerProps` too.");
252
+ }, [Ie]), /* @__PURE__ */ _(te.Provider, {
253
+ value: Te,
254
+ children: /* @__PURE__ */ _(S.Provider, {
255
+ value: me,
256
+ children: /* @__PURE__ */ _("div", {
257
+ ...Pe,
258
+ "aria-label": Fe ? Me : void 0,
259
+ "aria-labelledby": Fe ? Ne : void 0,
260
+ className: e("overflow-x-auto rounded-md border border-border", je),
261
+ children: /* @__PURE__ */ _("table", {
262
+ ref: Oe,
263
+ role: "grid",
264
+ "aria-multiselectable": E === "multiple" || void 0,
265
+ className: e("w-full border-separate border-spacing-0", B),
266
+ ...q,
267
+ onKeyDown: c(V, De.onKeyDown),
268
+ onFocus: c(U, De.onFocus, { checkDefaultPrevented: !1 }),
269
+ onBlur: c(G, De.onBlur, { checkDefaultPrevented: !1 }),
270
+ children: ke
271
+ })
272
+ })
273
+ })
274
+ });
275
+ };
276
+ L.displayName = "DataGrid";
277
+ function R({ selectionMode: t, ref: n }) {
278
+ let { store: r, toggleAll: i, selectAllLabel: a, selectionHeaderLabel: o } = O("DataGrid.Header"), s = h.useSyncExternalStore(r.subscribeSelectAll, r.getSelectAllState, r.getSelectAllState), c = h.useRef(null), [l, u] = h.useState(0);
279
+ return h.useLayoutEffect(() => {
280
+ c.current && (c.current.indeterminate = s === "some");
281
+ }, [s, l]), /* @__PURE__ */ _("th", {
282
+ ref: n,
283
+ scope: "col",
284
+ "data-selection-cell": "",
285
+ className: e(F, "text-start", f),
286
+ children: t === "multiple" ? /* @__PURE__ */ _("input", {
287
+ ref: c,
288
+ type: "checkbox",
289
+ "aria-label": a,
290
+ checked: s === "all",
291
+ onChange: () => {
292
+ u((e) => e + 1), i();
293
+ },
294
+ className: e(I, f)
295
+ }) : /* @__PURE__ */ _("span", {
296
+ className: "sr-only",
297
+ children: o
298
+ })
299
+ });
300
+ }
301
+ var z = {
302
+ subscribe: () => () => {},
303
+ register: () => () => {},
304
+ getFirst: () => null,
305
+ refresh: () => {}
306
+ };
307
+ function B({ selectionMode: t, initialFirst: n }) {
308
+ let r = h.useContext(w) ?? z, [i] = h.useState(() => ({})), a = h.useRef(null), o = h.useCallback(() => {
309
+ let e = r.getFirst();
310
+ return e === null ? n : e === i;
311
+ }, [
312
+ r,
313
+ i,
314
+ n
315
+ ]), s = h.useCallback(() => n, [n]), c = h.useSyncExternalStore(r.subscribe, o, s);
316
+ return h.useLayoutEffect(() => r.register(i, () => a.current), [r, i]), c ? /* @__PURE__ */ _(R, {
317
+ ref: a,
318
+ selectionMode: t
319
+ }) : /* @__PURE__ */ _("td", {
320
+ ref: a,
321
+ "data-selection-cell": "",
322
+ className: e(F, f)
323
+ });
324
+ }
325
+ function V(e, t) {
326
+ let r = !0, i = (e) => h.Children.map(e, (e) => {
327
+ if (n(e, h.Fragment)) return h.cloneElement(e, void 0, i(e.props.children));
328
+ if (!h.isValidElement(e)) return e;
329
+ let a = r;
330
+ if (r = !1, n(e, "tr")) {
331
+ let n = t === "none" ? null : /* @__PURE__ */ _(B, {
332
+ selectionMode: t,
333
+ initialFirst: a
334
+ });
335
+ return h.cloneElement(e, void 0, n, e.props.children);
336
+ }
337
+ return /* @__PURE__ */ _(T.Provider, {
338
+ value: a,
339
+ children: e
340
+ });
341
+ });
342
+ return i(e);
343
+ }
344
+ var H = ({ children: t, className: n, ref: i, ...a }) => {
345
+ let { selectionMode: o } = O("DataGrid.Header"), [c, l] = h.useState(null), u = d(i, l), [f] = h.useState(x), p = V(t, o);
346
+ return h.useLayoutEffect(() => {
347
+ f.refresh();
348
+ }), h.useEffect(() => {
349
+ r && c && o !== "none" && Array.from(c.rows).some((e) => e.cells.length > 0 && !e.cells[0].hasAttribute("data-selection-cell")) && s("DataGrid.Header:missing-selection-cell", "DataGrid.Header: a header row has no selection column header cell, so the header has one column fewer than the selectable rows. Render header rows as `<tr>` children of DataGrid.Header (a Fragment is fine), or use `DataGrid.Row` for a header row that another component renders.");
350
+ }), /* @__PURE__ */ _(C.Provider, {
351
+ value: "header",
352
+ children: /* @__PURE__ */ _(w.Provider, {
353
+ value: f,
354
+ children: /* @__PURE__ */ _("thead", {
355
+ ref: u,
356
+ className: e("bg-card", n),
357
+ ...a,
358
+ children: p
359
+ })
360
+ })
361
+ });
362
+ };
363
+ H.displayName = "DataGridHeader";
364
+ var U = (e) => /* @__PURE__ */ _("svg", {
365
+ className: "h-3 w-3 shrink-0",
366
+ viewBox: "0 0 12 12",
367
+ fill: "currentColor",
368
+ "aria-hidden": "true",
369
+ focusable: "false",
370
+ children: e === "ascending" ? /* @__PURE__ */ _("path", { d: "M6 2L10 8H2L6 2Z" }) : /* @__PURE__ */ _("path", { d: "M6 10L2 4H10L6 10Z" })
371
+ }), W = ({ columnId: t, sortable: n = !1, children: r, className: i, onClick: a, ref: o, ...l }) => {
372
+ let { sort: u, requestSort: d } = k("DataGrid.HeaderCell"), p = n && t ? t : void 0, m = p !== void 0 && u?.columnId === p ? u.direction : null, g = (e) => {
373
+ let t = e.currentTarget.firstElementChild;
374
+ p !== void 0 && t?.localName === "button" && t.contains(e.target) && d(p);
375
+ };
376
+ return h.useEffect(() => {
377
+ n && !t && s("DataGrid.HeaderCell:sortable-without-columnId", "DataGrid.HeaderCell: `sortable` needs a `columnId`; the header is rendered as not sortable.");
378
+ }, [n, t]), /* @__PURE__ */ _("th", {
379
+ ref: o,
380
+ scope: "col",
381
+ "aria-sort": p === void 0 ? void 0 : m ?? "none",
382
+ className: e(P, "text-start align-middle font-semibold text-caption-1 uppercase tracking-wider", f, p !== void 0 && "p-0 hover:bg-subtle-hover", i),
383
+ ...l,
384
+ onClick: p === void 0 ? a : c(a, g),
385
+ children: p === void 0 ? /* @__PURE__ */ _("span", {
386
+ className: "inline-flex items-center gap-1",
387
+ children: r
388
+ }) : /* @__PURE__ */ ee("button", {
389
+ type: "button",
390
+ className: e("inline-flex w-full cursor-pointer select-none items-center gap-1 border-0 bg-transparent px-4 py-3 text-start text-inherit [font:inherit] uppercase tracking-wider", f),
391
+ children: [r, m && U(m)]
392
+ })
393
+ });
394
+ };
395
+ W.displayName = "DataGridHeaderCell";
396
+ var G = ({ children: e, className: t, ref: n, ...r }) => /* @__PURE__ */ _(C.Provider, {
397
+ value: "body",
398
+ children: /* @__PURE__ */ _("tbody", {
399
+ ref: n,
400
+ className: t,
401
+ ...r,
402
+ children: e
403
+ })
404
+ });
405
+ G.displayName = "DataGridBody";
406
+ var K = ({ rowId: i, selectionLabel: a, children: o, className: l, onKeyDown: d, ref: m, ...g }) => {
407
+ let { selectionMode: v, store: y, toggleRow: b, radioName: x } = O("DataGrid.Row"), te = h.useContext(C), S = h.useContext(T), w = te === "header", E = v !== "none" && !w, D = u("wave-datagrid-row-label"), k = v === "single", A = h.useCallback(() => i !== void 0 && y.isSelected(i, k), [
408
+ i,
409
+ y,
410
+ k
411
+ ]), j = h.useSyncExternalStore(y.subscribe, A, A);
412
+ h.useLayoutEffect(() => {
413
+ if (i === void 0 || w) return;
414
+ let e = y.register(i);
415
+ return r && y.countRegistrations(i) > 1 && ne(i), e;
416
+ }, [
417
+ y,
418
+ i,
419
+ w
420
+ ]), h.useEffect(() => {
421
+ E && i === void 0 && s("DataGrid.Row:missing-rowId", "DataGrid.Row: a selectable grid needs a `rowId` on every row; this row has no selection control.");
422
+ }, [E, i]);
423
+ let M = E && i !== void 0 && a === void 0, P = (e) => {
424
+ if (!E || i === void 0 || e.key !== " ") return;
425
+ let t = e.target;
426
+ (t === e.currentTarget || t.parentElement === e.currentTarget) && (e.preventDefault(), b(i));
427
+ }, L = t(o), R, z = -1;
428
+ if (M) {
429
+ let e = L.findIndex(({ node: e }) => n(e, q, "td", "th"));
430
+ if (e >= 0) {
431
+ let t = L[e].node;
432
+ R = t.props.id ?? D, t.props.id === void 0 && (z = e);
433
+ }
434
+ }
435
+ let V = L.map(({ key: e, node: t }, n) => N({
436
+ key: e,
437
+ node: n === z ? h.cloneElement(t, { id: D }) : t
438
+ })), H = M && R === void 0;
439
+ h.useEffect(() => {
440
+ H && s("DataGrid.Row:selection-label", "DataGrid.Row: no child is a `DataGrid.Cell`, `<td>` or `<th>` element, so the row selection control is named \"Select row\". Pass `selectionLabel` (a cell rendered by another component is not seen).");
441
+ }, [H]);
442
+ let U = null;
443
+ return w && v !== "none" ? U = /* @__PURE__ */ _(B, {
444
+ selectionMode: v,
445
+ initialFirst: S
446
+ }) : E && (U = /* @__PURE__ */ _("td", {
447
+ role: "gridcell",
448
+ "data-selection-cell": "",
449
+ className: e(F, f),
450
+ children: i !== void 0 && /* @__PURE__ */ _("input", {
451
+ type: v === "multiple" ? "checkbox" : "radio",
452
+ name: v === "single" ? x : void 0,
453
+ form: v === "single" ? "" : void 0,
454
+ checked: j,
455
+ onChange: () => b(i),
456
+ "aria-label": a ?? (R ? void 0 : "Select row"),
457
+ "aria-labelledby": a === void 0 ? R : void 0,
458
+ className: e(I, "focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring")
459
+ })
460
+ })), /* @__PURE__ */ ee("tr", {
461
+ ref: m,
462
+ className: e(!w && "hover:bg-subtle-hover data-[selected]:bg-selected transition-colors motion-reduce:transition-none", E && j && p.selectedContainer, l),
463
+ "aria-selected": E ? j : void 0,
464
+ "data-selected": E && j ? "" : void 0,
465
+ ...g,
466
+ onKeyDown: c(d, P),
467
+ children: [U, V]
468
+ });
469
+ };
470
+ K.displayName = "DataGridRow";
471
+ var q = ({ children: t, className: n, ref: r, ...i }) => /* @__PURE__ */ _("td", {
472
+ ref: r,
473
+ role: "gridcell",
474
+ className: e(P, "text-body-1", f, n),
475
+ ...i,
476
+ children: t
477
+ });
478
+ q.displayName = "DataGridCell";
479
+ var J = /* @__PURE__ */ Object.assign(L, {
480
+ Header: H,
481
+ HeaderCell: W,
482
+ Body: G,
483
+ Row: K,
484
+ Cell: q
485
+ });
486
+ //#endregion
487
+ export { J as DataGrid, G as DataGridBody, q as DataGridCell, H as DataGridHeader, W as DataGridHeaderCell, K as DataGridRow, b as createSelectionStore };
488
+
489
+ //# sourceMappingURL=DataGrid.mjs.map