@ariakit/react-components 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1155) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/button/button.d.ts +2 -0
  3. package/dist/button/button.js +53 -0
  4. package/dist/button/button.js.map +1 -0
  5. package/dist/button-Cp853csH.d.ts +34 -0
  6. package/dist/button-Cp853csH.d.ts.map +1 -0
  7. package/dist/checkbox/checkbox-check.d.ts +56 -0
  8. package/dist/checkbox/checkbox-check.d.ts.map +1 -0
  9. package/dist/checkbox/checkbox-check.js +77 -0
  10. package/dist/checkbox/checkbox-check.js.map +1 -0
  11. package/dist/checkbox/checkbox-checked-context.d.ts +5 -0
  12. package/dist/checkbox/checkbox-checked-context.d.ts.map +1 -0
  13. package/dist/checkbox/checkbox-checked-context.js +8 -0
  14. package/dist/checkbox/checkbox-checked-context.js.map +1 -0
  15. package/dist/checkbox/checkbox-context.d.ts +24 -0
  16. package/dist/checkbox/checkbox-context.d.ts.map +1 -0
  17. package/dist/checkbox/checkbox-context.js +26 -0
  18. package/dist/checkbox/checkbox-context.js.map +1 -0
  19. package/dist/checkbox/checkbox-provider.d.ts +35 -0
  20. package/dist/checkbox/checkbox-provider.d.ts.map +1 -0
  21. package/dist/checkbox/checkbox-provider.js +15 -0
  22. package/dist/checkbox/checkbox-provider.js.map +1 -0
  23. package/dist/checkbox/checkbox-store.d.ts +2 -0
  24. package/dist/checkbox/checkbox-store.js +18 -0
  25. package/dist/checkbox/checkbox-store.js.map +1 -0
  26. package/dist/checkbox/checkbox.d.ts +91 -0
  27. package/dist/checkbox/checkbox.d.ts.map +1 -0
  28. package/dist/checkbox/checkbox.js +148 -0
  29. package/dist/checkbox/checkbox.js.map +1 -0
  30. package/dist/checkbox-store-CYZPR4N4.d.ts +38 -0
  31. package/dist/checkbox-store-CYZPR4N4.d.ts.map +1 -0
  32. package/dist/collection/collection-context.d.ts +24 -0
  33. package/dist/collection/collection-context.d.ts.map +1 -0
  34. package/dist/collection/collection-context.js +26 -0
  35. package/dist/collection/collection-context.js.map +1 -0
  36. package/dist/collection/collection-item-offscreen.d.ts +2 -0
  37. package/dist/collection/collection-item-offscreen.js +88 -0
  38. package/dist/collection/collection-item-offscreen.js.map +1 -0
  39. package/dist/collection/collection-item.d.ts +2 -0
  40. package/dist/collection/collection-item.js +69 -0
  41. package/dist/collection/collection-item.js.map +1 -0
  42. package/dist/collection/collection-provider.d.ts +26 -0
  43. package/dist/collection/collection-provider.d.ts.map +1 -0
  44. package/dist/collection/collection-provider.js +15 -0
  45. package/dist/collection/collection-provider.js.map +1 -0
  46. package/dist/collection/collection-renderer.d.ts +2 -0
  47. package/dist/collection/collection-renderer.js +580 -0
  48. package/dist/collection/collection-renderer.js.map +1 -0
  49. package/dist/collection/collection-store.d.ts +2 -0
  50. package/dist/collection/collection-store.js +18 -0
  51. package/dist/collection/collection-store.js.map +1 -0
  52. package/dist/collection/collection.d.ts +55 -0
  53. package/dist/collection/collection.d.ts.map +1 -0
  54. package/dist/collection/collection.js +55 -0
  55. package/dist/collection/collection.js.map +1 -0
  56. package/dist/collection-item-C-g2BwVF.d.ts +84 -0
  57. package/dist/collection-item-C-g2BwVF.d.ts.map +1 -0
  58. package/dist/collection-item-offscreen-DyXa-sqj.d.ts +30 -0
  59. package/dist/collection-item-offscreen-DyXa-sqj.d.ts.map +1 -0
  60. package/dist/collection-renderer-DsPD9ksD.d.ts +469 -0
  61. package/dist/collection-renderer-DsPD9ksD.d.ts.map +1 -0
  62. package/dist/collection-store-CbwzYsWf.d.ts +42 -0
  63. package/dist/collection-store-CbwzYsWf.d.ts.map +1 -0
  64. package/dist/combobox/combobox-cancel.d.ts +62 -0
  65. package/dist/combobox/combobox-cancel.d.ts.map +1 -0
  66. package/dist/combobox/combobox-cancel.js +98 -0
  67. package/dist/combobox/combobox-cancel.js.map +1 -0
  68. package/dist/combobox/combobox-context.d.ts +27 -0
  69. package/dist/combobox/combobox-context.d.ts.map +1 -0
  70. package/dist/combobox/combobox-context.js +32 -0
  71. package/dist/combobox/combobox-context.js.map +1 -0
  72. package/dist/combobox/combobox-disclosure.d.ts +63 -0
  73. package/dist/combobox/combobox-disclosure.d.ts.map +1 -0
  74. package/dist/combobox/combobox-disclosure.js +108 -0
  75. package/dist/combobox/combobox-disclosure.js.map +1 -0
  76. package/dist/combobox/combobox-group-label.d.ts +56 -0
  77. package/dist/combobox/combobox-group-label.d.ts.map +1 -0
  78. package/dist/combobox/combobox-group-label.js +47 -0
  79. package/dist/combobox/combobox-group-label.js.map +1 -0
  80. package/dist/combobox/combobox-group.d.ts +63 -0
  81. package/dist/combobox/combobox-group.d.ts.map +1 -0
  82. package/dist/combobox/combobox-group.js +67 -0
  83. package/dist/combobox/combobox-group.js.map +1 -0
  84. package/dist/combobox/combobox-item-check.d.ts +61 -0
  85. package/dist/combobox/combobox-item-check.d.ts.map +1 -0
  86. package/dist/combobox/combobox-item-check.js +62 -0
  87. package/dist/combobox/combobox-item-check.js.map +1 -0
  88. package/dist/combobox/combobox-item-offscreen.d.ts +34 -0
  89. package/dist/combobox/combobox-item-offscreen.d.ts.map +1 -0
  90. package/dist/combobox/combobox-item-offscreen.js +53 -0
  91. package/dist/combobox/combobox-item-offscreen.js.map +1 -0
  92. package/dist/combobox/combobox-item-value.d.ts +103 -0
  93. package/dist/combobox/combobox-item-value.d.ts.map +1 -0
  94. package/dist/combobox/combobox-item-value.js +143 -0
  95. package/dist/combobox/combobox-item-value.js.map +1 -0
  96. package/dist/combobox/combobox-item.d.ts +146 -0
  97. package/dist/combobox/combobox-item.d.ts.map +1 -0
  98. package/dist/combobox/combobox-item.js +157 -0
  99. package/dist/combobox/combobox-item.js.map +1 -0
  100. package/dist/combobox/combobox-label.d.ts +50 -0
  101. package/dist/combobox/combobox-label.d.ts.map +1 -0
  102. package/dist/combobox/combobox-label.js +51 -0
  103. package/dist/combobox/combobox-label.js.map +1 -0
  104. package/dist/combobox/combobox-list.d.ts +55 -0
  105. package/dist/combobox/combobox-list.d.ts.map +1 -0
  106. package/dist/combobox/combobox-list.js +106 -0
  107. package/dist/combobox/combobox-list.js.map +1 -0
  108. package/dist/combobox/combobox-popover.d.ts +46 -0
  109. package/dist/combobox/combobox-popover.d.ts.map +1 -0
  110. package/dist/combobox/combobox-popover.js +115 -0
  111. package/dist/combobox/combobox-popover.js.map +1 -0
  112. package/dist/combobox/combobox-provider.d.ts +30 -0
  113. package/dist/combobox/combobox-provider.d.ts.map +1 -0
  114. package/dist/combobox/combobox-provider.js +15 -0
  115. package/dist/combobox/combobox-provider.js.map +1 -0
  116. package/dist/combobox/combobox-row.d.ts +66 -0
  117. package/dist/combobox/combobox-row.d.ts.map +1 -0
  118. package/dist/combobox/combobox-row.js +70 -0
  119. package/dist/combobox/combobox-row.js.map +1 -0
  120. package/dist/combobox/combobox-separator.d.ts +61 -0
  121. package/dist/combobox/combobox-separator.d.ts.map +1 -0
  122. package/dist/combobox/combobox-separator.js +60 -0
  123. package/dist/combobox/combobox-separator.js.map +1 -0
  124. package/dist/combobox/combobox-store.d.ts +2 -0
  125. package/dist/combobox/combobox-store.js +33 -0
  126. package/dist/combobox/combobox-store.js.map +1 -0
  127. package/dist/combobox/combobox-value.d.ts +49 -0
  128. package/dist/combobox/combobox-value.d.ts.map +1 -0
  129. package/dist/combobox/combobox-value.js +40 -0
  130. package/dist/combobox/combobox-value.js.map +1 -0
  131. package/dist/combobox/combobox.d.ts +268 -0
  132. package/dist/combobox/combobox.d.ts.map +1 -0
  133. package/dist/combobox/combobox.js +399 -0
  134. package/dist/combobox/combobox.js.map +1 -0
  135. package/dist/combobox-store-DEVQ45mZ.d.ts +80 -0
  136. package/dist/combobox-store-DEVQ45mZ.d.ts.map +1 -0
  137. package/dist/command/command.d.ts +2 -0
  138. package/dist/command/command.js +130 -0
  139. package/dist/command/command.js.map +1 -0
  140. package/dist/command-DckndCUK.d.ts +59 -0
  141. package/dist/command-DckndCUK.d.ts.map +1 -0
  142. package/dist/composite/composite-container.d.ts +59 -0
  143. package/dist/composite/composite-container.d.ts.map +1 -0
  144. package/dist/composite/composite-container.js +164 -0
  145. package/dist/composite/composite-container.js.map +1 -0
  146. package/dist/composite/composite-context.d.ts +34 -0
  147. package/dist/composite/composite-context.d.ts.map +1 -0
  148. package/dist/composite/composite-context.js +30 -0
  149. package/dist/composite/composite-context.js.map +1 -0
  150. package/dist/composite/composite-group-label.d.ts +55 -0
  151. package/dist/composite/composite-group-label.d.ts.map +1 -0
  152. package/dist/composite/composite-group-label.js +46 -0
  153. package/dist/composite/composite-group-label.js.map +1 -0
  154. package/dist/composite/composite-group.d.ts +60 -0
  155. package/dist/composite/composite-group.d.ts.map +1 -0
  156. package/dist/composite/composite-group.js +51 -0
  157. package/dist/composite/composite-group.js.map +1 -0
  158. package/dist/composite/composite-hover.d.ts +2 -0
  159. package/dist/composite/composite-hover.js +114 -0
  160. package/dist/composite/composite-hover.js.map +1 -0
  161. package/dist/composite/composite-input.d.ts +55 -0
  162. package/dist/composite/composite-input.d.ts.map +1 -0
  163. package/dist/composite/composite-input.js +91 -0
  164. package/dist/composite/composite-input.js.map +1 -0
  165. package/dist/composite/composite-item-offscreen.d.ts +39 -0
  166. package/dist/composite/composite-item-offscreen.d.ts.map +1 -0
  167. package/dist/composite/composite-item-offscreen.js +72 -0
  168. package/dist/composite/composite-item-offscreen.js.map +1 -0
  169. package/dist/composite/composite-item.d.ts +2 -0
  170. package/dist/composite/composite-item.js +290 -0
  171. package/dist/composite/composite-item.js.map +1 -0
  172. package/dist/composite/composite-overflow-disclosure.d.ts +53 -0
  173. package/dist/composite/composite-overflow-disclosure.d.ts.map +1 -0
  174. package/dist/composite/composite-overflow-disclosure.js +84 -0
  175. package/dist/composite/composite-overflow-disclosure.js.map +1 -0
  176. package/dist/composite/composite-overflow-store.d.ts +38 -0
  177. package/dist/composite/composite-overflow-store.d.ts.map +1 -0
  178. package/dist/composite/composite-overflow-store.js +36 -0
  179. package/dist/composite/composite-overflow-store.js.map +1 -0
  180. package/dist/composite/composite-overflow.d.ts +54 -0
  181. package/dist/composite/composite-overflow.d.ts.map +1 -0
  182. package/dist/composite/composite-overflow.js +82 -0
  183. package/dist/composite/composite-overflow.js.map +1 -0
  184. package/dist/composite/composite-provider.d.ts +28 -0
  185. package/dist/composite/composite-provider.d.ts.map +1 -0
  186. package/dist/composite/composite-provider.js +15 -0
  187. package/dist/composite/composite-provider.js.map +1 -0
  188. package/dist/composite/composite-renderer.d.ts +329 -0
  189. package/dist/composite/composite-renderer.d.ts.map +1 -0
  190. package/dist/composite/composite-renderer.js +121 -0
  191. package/dist/composite/composite-renderer.js.map +1 -0
  192. package/dist/composite/composite-row.d.ts +67 -0
  193. package/dist/composite/composite-row.d.ts.map +1 -0
  194. package/dist/composite/composite-row.js +86 -0
  195. package/dist/composite/composite-row.js.map +1 -0
  196. package/dist/composite/composite-separator.d.ts +61 -0
  197. package/dist/composite/composite-separator.d.ts.map +1 -0
  198. package/dist/composite/composite-separator.js +55 -0
  199. package/dist/composite/composite-separator.js.map +1 -0
  200. package/dist/composite/composite-store.d.ts +2 -0
  201. package/dist/composite/composite-store.js +33 -0
  202. package/dist/composite/composite-store.js.map +1 -0
  203. package/dist/composite/composite-typeahead.d.ts +2 -0
  204. package/dist/composite/composite-typeahead.js +126 -0
  205. package/dist/composite/composite-typeahead.js.map +1 -0
  206. package/dist/composite/composite.d.ts +2 -0
  207. package/dist/composite/composite.js +273 -0
  208. package/dist/composite/composite.js.map +1 -0
  209. package/dist/composite/utils.d.ts +52 -0
  210. package/dist/composite/utils.d.ts.map +1 -0
  211. package/dist/composite/utils.js +93 -0
  212. package/dist/composite/utils.js.map +1 -0
  213. package/dist/composite-DLvyFHMq.d.ts +124 -0
  214. package/dist/composite-DLvyFHMq.d.ts.map +1 -0
  215. package/dist/composite-hover-C7ul163w.d.ts +103 -0
  216. package/dist/composite-hover-C7ul163w.d.ts.map +1 -0
  217. package/dist/composite-item-B4WTelVz.d.ts +141 -0
  218. package/dist/composite-item-B4WTelVz.d.ts.map +1 -0
  219. package/dist/composite-store-DyJc-XRA.d.ts +43 -0
  220. package/dist/composite-store-DyJc-XRA.d.ts.map +1 -0
  221. package/dist/composite-typeahead-DDhpyKqm.d.ts +63 -0
  222. package/dist/composite-typeahead-DDhpyKqm.d.ts.map +1 -0
  223. package/dist/dialog/dialog-backdrop.d.ts +16 -0
  224. package/dist/dialog/dialog-backdrop.d.ts.map +1 -0
  225. package/dist/dialog/dialog-backdrop.js +58 -0
  226. package/dist/dialog/dialog-backdrop.js.map +1 -0
  227. package/dist/dialog/dialog-context.d.ts +27 -0
  228. package/dist/dialog/dialog-context.d.ts.map +1 -0
  229. package/dist/dialog/dialog-context.js +30 -0
  230. package/dist/dialog/dialog-context.js.map +1 -0
  231. package/dist/dialog/dialog-description.d.ts +2 -0
  232. package/dist/dialog/dialog-description.js +53 -0
  233. package/dist/dialog/dialog-description.js.map +1 -0
  234. package/dist/dialog/dialog-disclosure.d.ts +2 -0
  235. package/dist/dialog/dialog-disclosure.js +52 -0
  236. package/dist/dialog/dialog-disclosure.js.map +1 -0
  237. package/dist/dialog/dialog-dismiss.d.ts +2 -0
  238. package/dist/dialog/dialog-dismiss.js +80 -0
  239. package/dist/dialog/dialog-dismiss.js.map +1 -0
  240. package/dist/dialog/dialog-heading.d.ts +2 -0
  241. package/dist/dialog/dialog-heading.js +54 -0
  242. package/dist/dialog/dialog-heading.js.map +1 -0
  243. package/dist/dialog/dialog-provider.d.ts +22 -0
  244. package/dist/dialog/dialog-provider.d.ts.map +1 -0
  245. package/dist/dialog/dialog-provider.js +26 -0
  246. package/dist/dialog/dialog-provider.js.map +1 -0
  247. package/dist/dialog/dialog-store.d.ts +2 -0
  248. package/dist/dialog/dialog-store.js +28 -0
  249. package/dist/dialog/dialog-store.js.map +1 -0
  250. package/dist/dialog/dialog.d.ts +2 -0
  251. package/dist/dialog/dialog.js +429 -0
  252. package/dist/dialog/dialog.js.map +1 -0
  253. package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts +7 -0
  254. package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts.map +1 -0
  255. package/dist/dialog/utils/disable-accessibility-tree-outside.js +24 -0
  256. package/dist/dialog/utils/disable-accessibility-tree-outside.js.map +1 -0
  257. package/dist/dialog/utils/disable-tree.d.ts +9 -0
  258. package/dist/dialog/utils/disable-tree.d.ts.map +1 -0
  259. package/dist/dialog/utils/disable-tree.js +48 -0
  260. package/dist/dialog/utils/disable-tree.js.map +1 -0
  261. package/dist/dialog/utils/is-backdrop.d.ts +5 -0
  262. package/dist/dialog/utils/is-backdrop.d.ts.map +1 -0
  263. package/dist/dialog/utils/is-backdrop.js +15 -0
  264. package/dist/dialog/utils/is-backdrop.js.map +1 -0
  265. package/dist/dialog/utils/is-focus-trap.d.ts +5 -0
  266. package/dist/dialog/utils/is-focus-trap.d.ts.map +1 -0
  267. package/dist/dialog/utils/is-focus-trap.js +14 -0
  268. package/dist/dialog/utils/is-focus-trap.js.map +1 -0
  269. package/dist/dialog/utils/mark-tree-outside.d.ts +9 -0
  270. package/dist/dialog/utils/mark-tree-outside.d.ts.map +1 -0
  271. package/dist/dialog/utils/mark-tree-outside.js +44 -0
  272. package/dist/dialog/utils/mark-tree-outside.js.map +1 -0
  273. package/dist/dialog/utils/orchestrate.d.ts +9 -0
  274. package/dist/dialog/utils/orchestrate.d.ts.map +1 -0
  275. package/dist/dialog/utils/orchestrate.js +77 -0
  276. package/dist/dialog/utils/orchestrate.js.map +1 -0
  277. package/dist/dialog/utils/prepend-hidden-dismiss.d.ts +5 -0
  278. package/dist/dialog/utils/prepend-hidden-dismiss.d.ts.map +1 -0
  279. package/dist/dialog/utils/prepend-hidden-dismiss.js +31 -0
  280. package/dist/dialog/utils/prepend-hidden-dismiss.js.map +1 -0
  281. package/dist/dialog/utils/supports-inert.d.ts +5 -0
  282. package/dist/dialog/utils/supports-inert.d.ts.map +1 -0
  283. package/dist/dialog/utils/supports-inert.js +9 -0
  284. package/dist/dialog/utils/supports-inert.js.map +1 -0
  285. package/dist/dialog/utils/use-hide-on-interact-outside.d.ts +9 -0
  286. package/dist/dialog/utils/use-hide-on-interact-outside.d.ts.map +1 -0
  287. package/dist/dialog/utils/use-hide-on-interact-outside.js +123 -0
  288. package/dist/dialog/utils/use-hide-on-interact-outside.js.map +1 -0
  289. package/dist/dialog/utils/use-nested-dialogs.d.ts +11 -0
  290. package/dist/dialog/utils/use-nested-dialogs.d.ts.map +1 -0
  291. package/dist/dialog/utils/use-nested-dialogs.js +40 -0
  292. package/dist/dialog/utils/use-nested-dialogs.js.map +1 -0
  293. package/dist/dialog/utils/use-prevent-body-scroll.d.ts +5 -0
  294. package/dist/dialog/utils/use-prevent-body-scroll.d.ts.map +1 -0
  295. package/dist/dialog/utils/use-prevent-body-scroll.js +60 -0
  296. package/dist/dialog/utils/use-prevent-body-scroll.js.map +1 -0
  297. package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts +5 -0
  298. package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts.map +1 -0
  299. package/dist/dialog/utils/use-previous-mouse-down-ref.js +22 -0
  300. package/dist/dialog/utils/use-previous-mouse-down-ref.js.map +1 -0
  301. package/dist/dialog/utils/use-root-dialog.d.ts +16 -0
  302. package/dist/dialog/utils/use-root-dialog.d.ts.map +1 -0
  303. package/dist/dialog/utils/use-root-dialog.js +47 -0
  304. package/dist/dialog/utils/use-root-dialog.js.map +1 -0
  305. package/dist/dialog/utils/walk-tree-outside.d.ts +8 -0
  306. package/dist/dialog/utils/walk-tree-outside.d.ts.map +1 -0
  307. package/dist/dialog/utils/walk-tree-outside.js +58 -0
  308. package/dist/dialog/utils/walk-tree-outside.js.map +1 -0
  309. package/dist/dialog-C__C-zX2.d.ts +267 -0
  310. package/dist/dialog-C__C-zX2.d.ts.map +1 -0
  311. package/dist/dialog-description-BCZJ1Kyd.d.ts +48 -0
  312. package/dist/dialog-description-BCZJ1Kyd.d.ts.map +1 -0
  313. package/dist/dialog-disclosure-DLD10zlb.d.ts +47 -0
  314. package/dist/dialog-disclosure-DLD10zlb.d.ts.map +1 -0
  315. package/dist/dialog-dismiss-CnwEbzc6.d.ts +48 -0
  316. package/dist/dialog-dismiss-CnwEbzc6.d.ts.map +1 -0
  317. package/dist/dialog-heading-DQvnOfZH.d.ts +49 -0
  318. package/dist/dialog-heading-DQvnOfZH.d.ts.map +1 -0
  319. package/dist/dialog-store-Cjt12T_Y.d.ts +29 -0
  320. package/dist/dialog-store-Cjt12T_Y.d.ts.map +1 -0
  321. package/dist/disclosure/disclosure-content.d.ts +2 -0
  322. package/dist/disclosure/disclosure-content.js +171 -0
  323. package/dist/disclosure/disclosure-content.js.map +1 -0
  324. package/dist/disclosure/disclosure-context.d.ts +24 -0
  325. package/dist/disclosure/disclosure-context.d.ts.map +1 -0
  326. package/dist/disclosure/disclosure-context.js +26 -0
  327. package/dist/disclosure/disclosure-context.js.map +1 -0
  328. package/dist/disclosure/disclosure-provider.d.ts +23 -0
  329. package/dist/disclosure/disclosure-provider.d.ts.map +1 -0
  330. package/dist/disclosure/disclosure-provider.js +27 -0
  331. package/dist/disclosure/disclosure-provider.js.map +1 -0
  332. package/dist/disclosure/disclosure-store.d.ts +2 -0
  333. package/dist/disclosure/disclosure-store.js +32 -0
  334. package/dist/disclosure/disclosure-store.js.map +1 -0
  335. package/dist/disclosure/disclosure.d.ts +2 -0
  336. package/dist/disclosure/disclosure.js +83 -0
  337. package/dist/disclosure/disclosure.js.map +1 -0
  338. package/dist/disclosure-CQ37hPVP.d.ts +60 -0
  339. package/dist/disclosure-CQ37hPVP.d.ts.map +1 -0
  340. package/dist/disclosure-content-BbPkZgAc.d.ts +88 -0
  341. package/dist/disclosure-content-BbPkZgAc.d.ts.map +1 -0
  342. package/dist/disclosure-store-BsaBaRKv.d.ts +58 -0
  343. package/dist/disclosure-store-BsaBaRKv.d.ts.map +1 -0
  344. package/dist/focus-trap/focus-trap-region.d.ts +42 -0
  345. package/dist/focus-trap/focus-trap-region.d.ts.map +1 -0
  346. package/dist/focus-trap/focus-trap-region.js +69 -0
  347. package/dist/focus-trap/focus-trap-region.js.map +1 -0
  348. package/dist/focus-trap/focus-trap.d.ts +31 -0
  349. package/dist/focus-trap/focus-trap.d.ts.map +1 -0
  350. package/dist/focus-trap/focus-trap.js +45 -0
  351. package/dist/focus-trap/focus-trap.js.map +1 -0
  352. package/dist/focusable/focusable-container.d.ts +43 -0
  353. package/dist/focusable/focusable-container.d.ts.map +1 -0
  354. package/dist/focusable/focusable-container.js +41 -0
  355. package/dist/focusable/focusable-container.js.map +1 -0
  356. package/dist/focusable/focusable-context.d.ts +5 -0
  357. package/dist/focusable/focusable-context.d.ts.map +1 -0
  358. package/dist/focusable/focusable-context.js +8 -0
  359. package/dist/focusable/focusable-context.js.map +1 -0
  360. package/dist/focusable/focusable.d.ts +2 -0
  361. package/dist/focusable/focusable.js +273 -0
  362. package/dist/focusable/focusable.js.map +1 -0
  363. package/dist/focusable-B00tOxtB.d.ts +142 -0
  364. package/dist/focusable-B00tOxtB.d.ts.map +1 -0
  365. package/dist/form/form-checkbox.d.ts +50 -0
  366. package/dist/form/form-checkbox.d.ts.map +1 -0
  367. package/dist/form/form-checkbox.js +73 -0
  368. package/dist/form/form-checkbox.js.map +1 -0
  369. package/dist/form/form-context.d.ts +24 -0
  370. package/dist/form/form-context.d.ts.map +1 -0
  371. package/dist/form/form-context.js +27 -0
  372. package/dist/form/form-context.js.map +1 -0
  373. package/dist/form/form-control.d.ts +100 -0
  374. package/dist/form/form-control.d.ts.map +1 -0
  375. package/dist/form/form-control.js +139 -0
  376. package/dist/form/form-control.js.map +1 -0
  377. package/dist/form/form-description.d.ts +73 -0
  378. package/dist/form/form-description.d.ts.map +1 -0
  379. package/dist/form/form-description.js +83 -0
  380. package/dist/form/form-description.js.map +1 -0
  381. package/dist/form/form-error.d.ts +82 -0
  382. package/dist/form/form-error.d.ts.map +1 -0
  383. package/dist/form/form-error.js +102 -0
  384. package/dist/form/form-error.js.map +1 -0
  385. package/dist/form/form-field.d.ts +73 -0
  386. package/dist/form/form-field.d.ts.map +1 -0
  387. package/dist/form/form-field.js +74 -0
  388. package/dist/form/form-field.js.map +1 -0
  389. package/dist/form/form-group-label.d.ts +62 -0
  390. package/dist/form/form-group-label.d.ts.map +1 -0
  391. package/dist/form/form-group-label.js +54 -0
  392. package/dist/form/form-group-label.js.map +1 -0
  393. package/dist/form/form-group.d.ts +64 -0
  394. package/dist/form/form-group.d.ts.map +1 -0
  395. package/dist/form/form-group.js +56 -0
  396. package/dist/form/form-group.js.map +1 -0
  397. package/dist/form/form-input.d.ts +50 -0
  398. package/dist/form/form-input.d.ts.map +1 -0
  399. package/dist/form/form-input.js +74 -0
  400. package/dist/form/form-input.js.map +1 -0
  401. package/dist/form/form-label.d.ts +77 -0
  402. package/dist/form/form-label.d.ts.map +1 -0
  403. package/dist/form/form-label.js +120 -0
  404. package/dist/form/form-label.js.map +1 -0
  405. package/dist/form/form-provider.d.ts +28 -0
  406. package/dist/form/form-provider.d.ts.map +1 -0
  407. package/dist/form/form-provider.js +15 -0
  408. package/dist/form/form-provider.js.map +1 -0
  409. package/dist/form/form-push.d.ts +102 -0
  410. package/dist/form/form-push.d.ts.map +1 -0
  411. package/dist/form/form-push.js +134 -0
  412. package/dist/form/form-push.js.map +1 -0
  413. package/dist/form/form-radio-group.d.ts +56 -0
  414. package/dist/form/form-radio-group.d.ts.map +1 -0
  415. package/dist/form/form-radio-group.js +68 -0
  416. package/dist/form/form-radio-group.js.map +1 -0
  417. package/dist/form/form-radio.d.ts +58 -0
  418. package/dist/form/form-radio.d.ts.map +1 -0
  419. package/dist/form/form-radio.js +90 -0
  420. package/dist/form/form-radio.js.map +1 -0
  421. package/dist/form/form-remove.d.ts +102 -0
  422. package/dist/form/form-remove.d.ts.map +1 -0
  423. package/dist/form/form-remove.js +116 -0
  424. package/dist/form/form-remove.js.map +1 -0
  425. package/dist/form/form-reset.d.ts +51 -0
  426. package/dist/form/form-reset.d.ts.map +1 -0
  427. package/dist/form/form-reset.js +54 -0
  428. package/dist/form/form-reset.js.map +1 -0
  429. package/dist/form/form-store.d.ts +2 -0
  430. package/dist/form/form-store.js +41 -0
  431. package/dist/form/form-store.js.map +1 -0
  432. package/dist/form/form-submit.d.ts +57 -0
  433. package/dist/form/form-submit.d.ts.map +1 -0
  434. package/dist/form/form-submit.js +59 -0
  435. package/dist/form/form-submit.js.map +1 -0
  436. package/dist/form/form.d.ts +101 -0
  437. package/dist/form/form.d.ts.map +1 -0
  438. package/dist/form/form.js +146 -0
  439. package/dist/form/form.js.map +1 -0
  440. package/dist/form-store-C4Kf5QHm.d.ts +120 -0
  441. package/dist/form-store-C4Kf5QHm.d.ts.map +1 -0
  442. package/dist/group/group-label-context.d.ts +7 -0
  443. package/dist/group/group-label-context.d.ts.map +1 -0
  444. package/dist/group/group-label-context.js +8 -0
  445. package/dist/group/group-label-context.js.map +1 -0
  446. package/dist/group/group-label.d.ts +2 -0
  447. package/dist/group/group-label.js +52 -0
  448. package/dist/group/group-label.js.map +1 -0
  449. package/dist/group/group.d.ts +2 -0
  450. package/dist/group/group.js +47 -0
  451. package/dist/group/group.js.map +1 -0
  452. package/dist/group-CamegDJA.d.ts +32 -0
  453. package/dist/group-CamegDJA.d.ts.map +1 -0
  454. package/dist/group-label-C16IDs1b.d.ts +37 -0
  455. package/dist/group-label-C16IDs1b.d.ts.map +1 -0
  456. package/dist/heading/heading-context.d.ts +7 -0
  457. package/dist/heading/heading-context.d.ts.map +1 -0
  458. package/dist/heading/heading-context.js +8 -0
  459. package/dist/heading/heading-context.js.map +1 -0
  460. package/dist/heading/heading-level.d.ts +35 -0
  461. package/dist/heading/heading-level.d.ts.map +1 -0
  462. package/dist/heading/heading-level.js +33 -0
  463. package/dist/heading/heading-level.js.map +1 -0
  464. package/dist/heading/heading.d.ts +2 -0
  465. package/dist/heading/heading.js +56 -0
  466. package/dist/heading/heading.js.map +1 -0
  467. package/dist/heading/utils.d.ts +2 -0
  468. package/dist/heading/utils.js +1 -0
  469. package/dist/heading-zY9g_9K-.d.ts +42 -0
  470. package/dist/heading-zY9g_9K-.d.ts.map +1 -0
  471. package/dist/hovercard/hovercard-anchor.d.ts +59 -0
  472. package/dist/hovercard/hovercard-anchor.d.ts.map +1 -0
  473. package/dist/hovercard/hovercard-anchor.js +106 -0
  474. package/dist/hovercard/hovercard-anchor.js.map +1 -0
  475. package/dist/hovercard/hovercard-arrow.d.ts +54 -0
  476. package/dist/hovercard/hovercard-arrow.d.ts.map +1 -0
  477. package/dist/hovercard/hovercard-arrow.js +51 -0
  478. package/dist/hovercard/hovercard-arrow.js.map +1 -0
  479. package/dist/hovercard/hovercard-context.d.ts +24 -0
  480. package/dist/hovercard/hovercard-context.d.ts.map +1 -0
  481. package/dist/hovercard/hovercard-context.js +27 -0
  482. package/dist/hovercard/hovercard-context.js.map +1 -0
  483. package/dist/hovercard/hovercard-description.d.ts +51 -0
  484. package/dist/hovercard/hovercard-description.d.ts.map +1 -0
  485. package/dist/hovercard/hovercard-description.js +42 -0
  486. package/dist/hovercard/hovercard-description.js.map +1 -0
  487. package/dist/hovercard/hovercard-disclosure.d.ts +51 -0
  488. package/dist/hovercard/hovercard-disclosure.d.ts.map +1 -0
  489. package/dist/hovercard/hovercard-disclosure.js +122 -0
  490. package/dist/hovercard/hovercard-disclosure.js.map +1 -0
  491. package/dist/hovercard/hovercard-dismiss.d.ts +50 -0
  492. package/dist/hovercard/hovercard-dismiss.d.ts.map +1 -0
  493. package/dist/hovercard/hovercard-dismiss.js +47 -0
  494. package/dist/hovercard/hovercard-dismiss.js.map +1 -0
  495. package/dist/hovercard/hovercard-heading.d.ts +51 -0
  496. package/dist/hovercard/hovercard-heading.d.ts.map +1 -0
  497. package/dist/hovercard/hovercard-heading.js +42 -0
  498. package/dist/hovercard/hovercard-heading.js.map +1 -0
  499. package/dist/hovercard/hovercard-provider.d.ts +23 -0
  500. package/dist/hovercard/hovercard-provider.d.ts.map +1 -0
  501. package/dist/hovercard/hovercard-provider.js +27 -0
  502. package/dist/hovercard/hovercard-provider.js.map +1 -0
  503. package/dist/hovercard/hovercard-store.d.ts +2 -0
  504. package/dist/hovercard/hovercard-store.js +31 -0
  505. package/dist/hovercard/hovercard-store.js.map +1 -0
  506. package/dist/hovercard/hovercard.d.ts +80 -0
  507. package/dist/hovercard/hovercard.d.ts.map +1 -0
  508. package/dist/hovercard/hovercard.js +240 -0
  509. package/dist/hovercard/hovercard.js.map +1 -0
  510. package/dist/hovercard/utils/debug-polygon.d.ts +7 -0
  511. package/dist/hovercard/utils/debug-polygon.d.ts.map +1 -0
  512. package/dist/hovercard/utils/debug-polygon.js +33 -0
  513. package/dist/hovercard/utils/debug-polygon.js.map +1 -0
  514. package/dist/hovercard/utils/polygon.d.ts +9 -0
  515. package/dist/hovercard/utils/polygon.d.ts.map +1 -0
  516. package/dist/hovercard/utils/polygon.js +70 -0
  517. package/dist/hovercard/utils/polygon.js.map +1 -0
  518. package/dist/hovercard-store-gIeoQEn_.d.ts +30 -0
  519. package/dist/hovercard-store-gIeoQEn_.d.ts.map +1 -0
  520. package/dist/index.d.ts +5 -0
  521. package/dist/index.d.ts.map +1 -0
  522. package/dist/index.js +7 -0
  523. package/dist/index.js.map +1 -0
  524. package/dist/menu/menu-arrow.d.ts +52 -0
  525. package/dist/menu/menu-arrow.d.ts.map +1 -0
  526. package/dist/menu/menu-arrow.js +49 -0
  527. package/dist/menu/menu-arrow.js.map +1 -0
  528. package/dist/menu/menu-bar-provider.d.ts +35 -0
  529. package/dist/menu/menu-bar-provider.d.ts.map +1 -0
  530. package/dist/menu/menu-bar-provider.js +42 -0
  531. package/dist/menu/menu-bar-provider.js.map +1 -0
  532. package/dist/menu/menu-bar-store.d.ts +25 -0
  533. package/dist/menu/menu-bar-store.d.ts.map +1 -0
  534. package/dist/menu/menu-bar-store.js +28 -0
  535. package/dist/menu/menu-bar-store.js.map +1 -0
  536. package/dist/menu/menu-bar.d.ts +61 -0
  537. package/dist/menu/menu-bar.d.ts.map +1 -0
  538. package/dist/menu/menu-bar.js +66 -0
  539. package/dist/menu/menu-bar.js.map +1 -0
  540. package/dist/menu/menu-button-arrow.d.ts +65 -0
  541. package/dist/menu/menu-button-arrow.d.ts.map +1 -0
  542. package/dist/menu/menu-button-arrow.js +62 -0
  543. package/dist/menu/menu-button-arrow.js.map +1 -0
  544. package/dist/menu/menu-button.d.ts +67 -0
  545. package/dist/menu/menu-button.d.ts.map +1 -0
  546. package/dist/menu/menu-button.js +183 -0
  547. package/dist/menu/menu-button.js.map +1 -0
  548. package/dist/menu/menu-context.d.ts +47 -0
  549. package/dist/menu/menu-context.d.ts.map +1 -0
  550. package/dist/menu/menu-context.js +52 -0
  551. package/dist/menu/menu-context.js.map +1 -0
  552. package/dist/menu/menu-description.d.ts +50 -0
  553. package/dist/menu/menu-description.d.ts.map +1 -0
  554. package/dist/menu/menu-description.js +42 -0
  555. package/dist/menu/menu-description.js.map +1 -0
  556. package/dist/menu/menu-dismiss.d.ts +49 -0
  557. package/dist/menu/menu-dismiss.d.ts.map +1 -0
  558. package/dist/menu/menu-dismiss.js +47 -0
  559. package/dist/menu/menu-dismiss.js.map +1 -0
  560. package/dist/menu/menu-group-label.d.ts +55 -0
  561. package/dist/menu/menu-group-label.d.ts.map +1 -0
  562. package/dist/menu/menu-group-label.js +47 -0
  563. package/dist/menu/menu-group-label.js.map +1 -0
  564. package/dist/menu/menu-group.d.ts +61 -0
  565. package/dist/menu/menu-group.d.ts.map +1 -0
  566. package/dist/menu/menu-group.js +53 -0
  567. package/dist/menu/menu-group.js.map +1 -0
  568. package/dist/menu/menu-heading.d.ts +50 -0
  569. package/dist/menu/menu-heading.d.ts.map +1 -0
  570. package/dist/menu/menu-heading.js +42 -0
  571. package/dist/menu/menu-heading.js.map +1 -0
  572. package/dist/menu/menu-item-check.d.ts +58 -0
  573. package/dist/menu/menu-item-check.d.ts.map +1 -0
  574. package/dist/menu/menu-item-check.js +60 -0
  575. package/dist/menu/menu-item-check.js.map +1 -0
  576. package/dist/menu/menu-item-checkbox.d.ts +104 -0
  577. package/dist/menu/menu-item-checkbox.d.ts.map +1 -0
  578. package/dist/menu/menu-item-checkbox.js +151 -0
  579. package/dist/menu/menu-item-checkbox.js.map +1 -0
  580. package/dist/menu/menu-item-radio.d.ts +91 -0
  581. package/dist/menu/menu-item-radio.d.ts.map +1 -0
  582. package/dist/menu/menu-item-radio.js +121 -0
  583. package/dist/menu/menu-item-radio.js.map +1 -0
  584. package/dist/menu/menu-item.d.ts +75 -0
  585. package/dist/menu/menu-item.d.ts.map +1 -0
  586. package/dist/menu/menu-item.js +122 -0
  587. package/dist/menu/menu-item.js.map +1 -0
  588. package/dist/menu/menu-list.d.ts +59 -0
  589. package/dist/menu/menu-list.d.ts.map +1 -0
  590. package/dist/menu/menu-list.js +168 -0
  591. package/dist/menu/menu-list.js.map +1 -0
  592. package/dist/menu/menu-provider.d.ts +29 -0
  593. package/dist/menu/menu-provider.d.ts.map +1 -0
  594. package/dist/menu/menu-provider.js +15 -0
  595. package/dist/menu/menu-provider.js.map +1 -0
  596. package/dist/menu/menu-separator.d.ts +59 -0
  597. package/dist/menu/menu-separator.d.ts.map +1 -0
  598. package/dist/menu/menu-separator.js +57 -0
  599. package/dist/menu/menu-separator.js.map +1 -0
  600. package/dist/menu/menu-store.d.ts +2 -0
  601. package/dist/menu/menu-store.js +40 -0
  602. package/dist/menu/menu-store.js.map +1 -0
  603. package/dist/menu/menu.d.ts +49 -0
  604. package/dist/menu/menu.d.ts.map +1 -0
  605. package/dist/menu/menu.js +169 -0
  606. package/dist/menu/menu.js.map +1 -0
  607. package/dist/menu-store-0CKKmNek.d.ts +83 -0
  608. package/dist/menu-store-0CKKmNek.d.ts.map +1 -0
  609. package/dist/menubar/menubar-context.d.ts +25 -0
  610. package/dist/menubar/menubar-context.d.ts.map +1 -0
  611. package/dist/menubar/menubar-context.js +29 -0
  612. package/dist/menubar/menubar-context.js.map +1 -0
  613. package/dist/menubar/menubar-provider.d.ts +37 -0
  614. package/dist/menubar/menubar-provider.d.ts.map +1 -0
  615. package/dist/menubar/menubar-provider.js +41 -0
  616. package/dist/menubar/menubar-provider.js.map +1 -0
  617. package/dist/menubar/menubar-store.d.ts +2 -0
  618. package/dist/menubar/menubar-store.js +27 -0
  619. package/dist/menubar/menubar-store.js.map +1 -0
  620. package/dist/menubar/menubar.d.ts +71 -0
  621. package/dist/menubar/menubar.d.ts.map +1 -0
  622. package/dist/menubar/menubar.js +88 -0
  623. package/dist/menubar/menubar.js.map +1 -0
  624. package/dist/menubar-store-3h0eNIbS.d.ts +26 -0
  625. package/dist/menubar-store-3h0eNIbS.d.ts.map +1 -0
  626. package/dist/popover/popover-anchor.d.ts +2 -0
  627. package/dist/popover/popover-anchor.js +45 -0
  628. package/dist/popover/popover-anchor.js.map +1 -0
  629. package/dist/popover/popover-arrow-path.d.ts +5 -0
  630. package/dist/popover/popover-arrow-path.d.ts.map +1 -0
  631. package/dist/popover/popover-arrow-path.js +7 -0
  632. package/dist/popover/popover-arrow-path.js.map +1 -0
  633. package/dist/popover/popover-arrow.d.ts +65 -0
  634. package/dist/popover/popover-arrow.d.ts.map +1 -0
  635. package/dist/popover/popover-arrow.js +160 -0
  636. package/dist/popover/popover-arrow.js.map +1 -0
  637. package/dist/popover/popover-context.d.ts +24 -0
  638. package/dist/popover/popover-context.d.ts.map +1 -0
  639. package/dist/popover/popover-context.js +27 -0
  640. package/dist/popover/popover-context.js.map +1 -0
  641. package/dist/popover/popover-description.d.ts +2 -0
  642. package/dist/popover/popover-description.js +42 -0
  643. package/dist/popover/popover-description.js.map +1 -0
  644. package/dist/popover/popover-disclosure-arrow.d.ts +62 -0
  645. package/dist/popover/popover-disclosure-arrow.d.ts.map +1 -0
  646. package/dist/popover/popover-disclosure-arrow.js +81 -0
  647. package/dist/popover/popover-disclosure-arrow.js.map +1 -0
  648. package/dist/popover/popover-disclosure.d.ts +38 -0
  649. package/dist/popover/popover-disclosure.d.ts.map +1 -0
  650. package/dist/popover/popover-disclosure.js +66 -0
  651. package/dist/popover/popover-disclosure.js.map +1 -0
  652. package/dist/popover/popover-dismiss.d.ts +2 -0
  653. package/dist/popover/popover-dismiss.js +47 -0
  654. package/dist/popover/popover-dismiss.js.map +1 -0
  655. package/dist/popover/popover-heading.d.ts +2 -0
  656. package/dist/popover/popover-heading.js +42 -0
  657. package/dist/popover/popover-heading.js.map +1 -0
  658. package/dist/popover/popover-provider.d.ts +23 -0
  659. package/dist/popover/popover-provider.d.ts.map +1 -0
  660. package/dist/popover/popover-provider.js +27 -0
  661. package/dist/popover/popover-provider.js.map +1 -0
  662. package/dist/popover/popover-store.d.ts +2 -0
  663. package/dist/popover/popover-store.js +30 -0
  664. package/dist/popover/popover-store.js.map +1 -0
  665. package/dist/popover/popover.d.ts +2 -0
  666. package/dist/popover/popover.js +312 -0
  667. package/dist/popover/popover.js.map +1 -0
  668. package/dist/popover-CCqiRKqg.d.ts +181 -0
  669. package/dist/popover-CCqiRKqg.d.ts.map +1 -0
  670. package/dist/popover-anchor-PgfeXyzs.d.ts +47 -0
  671. package/dist/popover-anchor-PgfeXyzs.d.ts.map +1 -0
  672. package/dist/popover-description-DU753dah.d.ts +51 -0
  673. package/dist/popover-description-DU753dah.d.ts.map +1 -0
  674. package/dist/popover-dismiss-DPeI6Zse.d.ts +50 -0
  675. package/dist/popover-dismiss-DPeI6Zse.d.ts.map +1 -0
  676. package/dist/popover-heading-DGsr6D5W.d.ts +51 -0
  677. package/dist/popover-heading-DGsr6D5W.d.ts.map +1 -0
  678. package/dist/popover-store-Bc-l5VVO.d.ts +29 -0
  679. package/dist/popover-store-Bc-l5VVO.d.ts.map +1 -0
  680. package/dist/portal/portal-context.d.ts +21 -0
  681. package/dist/portal/portal-context.d.ts.map +1 -0
  682. package/dist/portal/portal-context.js +24 -0
  683. package/dist/portal/portal-context.js.map +1 -0
  684. package/dist/portal/portal.d.ts +2 -0
  685. package/dist/portal/portal.js +242 -0
  686. package/dist/portal/portal.js.map +1 -0
  687. package/dist/portal-CMBWiayp.d.ts +149 -0
  688. package/dist/portal-CMBWiayp.d.ts.map +1 -0
  689. package/dist/radio/radio-context.d.ts +24 -0
  690. package/dist/radio/radio-context.d.ts.map +1 -0
  691. package/dist/radio/radio-context.js +27 -0
  692. package/dist/radio/radio-context.js.map +1 -0
  693. package/dist/radio/radio-group.d.ts +51 -0
  694. package/dist/radio/radio-group.d.ts.map +1 -0
  695. package/dist/radio/radio-group.js +60 -0
  696. package/dist/radio/radio-group.js.map +1 -0
  697. package/dist/radio/radio-provider.d.ts +25 -0
  698. package/dist/radio/radio-provider.d.ts.map +1 -0
  699. package/dist/radio/radio-provider.js +29 -0
  700. package/dist/radio/radio-provider.js.map +1 -0
  701. package/dist/radio/radio-store.d.ts +2 -0
  702. package/dist/radio/radio-store.js +33 -0
  703. package/dist/radio/radio-store.js.map +1 -0
  704. package/dist/radio/radio.d.ts +76 -0
  705. package/dist/radio/radio.d.ts.map +1 -0
  706. package/dist/radio/radio.js +143 -0
  707. package/dist/radio/radio.js.map +1 -0
  708. package/dist/radio-store-DOZ_1RSk.d.ts +36 -0
  709. package/dist/radio-store-DOZ_1RSk.d.ts.map +1 -0
  710. package/dist/role/role.d.ts +34 -0
  711. package/dist/role/role.d.ts.map +1 -0
  712. package/dist/role/role.js +68 -0
  713. package/dist/role/role.js.map +1 -0
  714. package/dist/select/select-arrow.d.ts +60 -0
  715. package/dist/select/select-arrow.d.ts.map +1 -0
  716. package/dist/select/select-arrow.js +58 -0
  717. package/dist/select/select-arrow.js.map +1 -0
  718. package/dist/select/select-context.d.ts +27 -0
  719. package/dist/select/select-context.d.ts.map +1 -0
  720. package/dist/select/select-context.js +31 -0
  721. package/dist/select/select-context.js.map +1 -0
  722. package/dist/select/select-dismiss.d.ts +59 -0
  723. package/dist/select/select-dismiss.d.ts.map +1 -0
  724. package/dist/select/select-dismiss.js +56 -0
  725. package/dist/select/select-dismiss.js.map +1 -0
  726. package/dist/select/select-group-label.d.ts +61 -0
  727. package/dist/select/select-group-label.d.ts.map +1 -0
  728. package/dist/select/select-group-label.js +52 -0
  729. package/dist/select/select-group-label.js.map +1 -0
  730. package/dist/select/select-group.d.ts +62 -0
  731. package/dist/select/select-group.d.ts.map +1 -0
  732. package/dist/select/select-group.js +53 -0
  733. package/dist/select/select-group.js.map +1 -0
  734. package/dist/select/select-heading.d.ts +59 -0
  735. package/dist/select/select-heading.d.ts.map +1 -0
  736. package/dist/select/select-heading.js +62 -0
  737. package/dist/select/select-heading.js.map +1 -0
  738. package/dist/select/select-item-check.d.ts +59 -0
  739. package/dist/select/select-item-check.d.ts.map +1 -0
  740. package/dist/select/select-item-check.js +61 -0
  741. package/dist/select/select-item-check.js.map +1 -0
  742. package/dist/select/select-item-offscreen.d.ts +37 -0
  743. package/dist/select/select-item-offscreen.d.ts.map +1 -0
  744. package/dist/select/select-item-offscreen.js +38 -0
  745. package/dist/select/select-item-offscreen.js.map +1 -0
  746. package/dist/select/select-item.d.ts +108 -0
  747. package/dist/select/select-item.d.ts.map +1 -0
  748. package/dist/select/select-item.js +143 -0
  749. package/dist/select/select-item.js.map +1 -0
  750. package/dist/select/select-label.d.ts +55 -0
  751. package/dist/select/select-label.d.ts.map +1 -0
  752. package/dist/select/select-label.js +70 -0
  753. package/dist/select/select-label.js.map +1 -0
  754. package/dist/select/select-list.d.ts +80 -0
  755. package/dist/select/select-list.d.ts.map +1 -0
  756. package/dist/select/select-list.js +143 -0
  757. package/dist/select/select-list.js.map +1 -0
  758. package/dist/select/select-popover.d.ts +44 -0
  759. package/dist/select/select-popover.d.ts.map +1 -0
  760. package/dist/select/select-popover.js +59 -0
  761. package/dist/select/select-popover.js.map +1 -0
  762. package/dist/select/select-provider.d.ts +30 -0
  763. package/dist/select/select-provider.d.ts.map +1 -0
  764. package/dist/select/select-provider.js +15 -0
  765. package/dist/select/select-provider.js.map +1 -0
  766. package/dist/select/select-renderer.d.ts +44 -0
  767. package/dist/select/select-renderer.d.ts.map +1 -0
  768. package/dist/select/select-renderer.js +61 -0
  769. package/dist/select/select-renderer.js.map +1 -0
  770. package/dist/select/select-row.d.ts +63 -0
  771. package/dist/select/select-row.d.ts.map +1 -0
  772. package/dist/select/select-row.js +67 -0
  773. package/dist/select/select-row.js.map +1 -0
  774. package/dist/select/select-separator.d.ts +60 -0
  775. package/dist/select/select-separator.d.ts.map +1 -0
  776. package/dist/select/select-separator.js +57 -0
  777. package/dist/select/select-separator.js.map +1 -0
  778. package/dist/select/select-store.d.ts +2 -0
  779. package/dist/select/select-store.js +31 -0
  780. package/dist/select/select-store.js.map +1 -0
  781. package/dist/select/select-value.d.ts +84 -0
  782. package/dist/select/select-value.d.ts.map +1 -0
  783. package/dist/select/select-value.js +18 -0
  784. package/dist/select/select-value.js.map +1 -0
  785. package/dist/select/select.d.ts +89 -0
  786. package/dist/select/select.d.ts.map +1 -0
  787. package/dist/select/select.js +211 -0
  788. package/dist/select/select.js.map +1 -0
  789. package/dist/select-store-BsLTAyKh.d.ts +68 -0
  790. package/dist/select-store-BsLTAyKh.d.ts.map +1 -0
  791. package/dist/separator/separator.d.ts +2 -0
  792. package/dist/separator/separator.js +36 -0
  793. package/dist/separator/separator.js.map +1 -0
  794. package/dist/separator--ozQfMcK.d.ts +36 -0
  795. package/dist/separator--ozQfMcK.d.ts.map +1 -0
  796. package/dist/store.d.ts +1 -0
  797. package/dist/store.js +2 -0
  798. package/dist/tab/tab-context.d.ts +24 -0
  799. package/dist/tab/tab-context.d.ts.map +1 -0
  800. package/dist/tab/tab-context.js +27 -0
  801. package/dist/tab/tab-context.js.map +1 -0
  802. package/dist/tab/tab-list.d.ts +55 -0
  803. package/dist/tab/tab-list.d.ts.map +1 -0
  804. package/dist/tab/tab-list.js +71 -0
  805. package/dist/tab/tab-list.js.map +1 -0
  806. package/dist/tab/tab-panel.d.ts +122 -0
  807. package/dist/tab/tab-panel.d.ts.map +1 -0
  808. package/dist/tab/tab-panel.js +169 -0
  809. package/dist/tab/tab-panel.js.map +1 -0
  810. package/dist/tab/tab-provider.d.ts +26 -0
  811. package/dist/tab/tab-provider.d.ts.map +1 -0
  812. package/dist/tab/tab-provider.js +30 -0
  813. package/dist/tab/tab-provider.js.map +1 -0
  814. package/dist/tab/tab-store.d.ts +77 -0
  815. package/dist/tab/tab-store.d.ts.map +1 -0
  816. package/dist/tab/tab-store.js +55 -0
  817. package/dist/tab/tab-store.js.map +1 -0
  818. package/dist/tab/tab.d.ts +56 -0
  819. package/dist/tab/tab.d.ts.map +1 -0
  820. package/dist/tab/tab.js +115 -0
  821. package/dist/tab/tab.js.map +1 -0
  822. package/dist/tag/tag-context.d.ts +26 -0
  823. package/dist/tag/tag-context.d.ts.map +1 -0
  824. package/dist/tag/tag-context.js +30 -0
  825. package/dist/tag/tag-context.js.map +1 -0
  826. package/dist/tag/tag-input.d.ts +126 -0
  827. package/dist/tag/tag-input.d.ts.map +1 -0
  828. package/dist/tag/tag-input.js +162 -0
  829. package/dist/tag/tag-input.js.map +1 -0
  830. package/dist/tag/tag-list-label.d.ts +59 -0
  831. package/dist/tag/tag-list-label.d.ts.map +1 -0
  832. package/dist/tag/tag-list-label.js +62 -0
  833. package/dist/tag/tag-list-label.js.map +1 -0
  834. package/dist/tag/tag-list.d.ts +62 -0
  835. package/dist/tag/tag-list.d.ts.map +1 -0
  836. package/dist/tag/tag-list.js +127 -0
  837. package/dist/tag/tag-list.js.map +1 -0
  838. package/dist/tag/tag-provider.d.ts +34 -0
  839. package/dist/tag/tag-provider.d.ts.map +1 -0
  840. package/dist/tag/tag-provider.js +38 -0
  841. package/dist/tag/tag-provider.js.map +1 -0
  842. package/dist/tag/tag-remove.d.ts +71 -0
  843. package/dist/tag/tag-remove.d.ts.map +1 -0
  844. package/dist/tag/tag-remove.js +102 -0
  845. package/dist/tag/tag-remove.js.map +1 -0
  846. package/dist/tag/tag-store.d.ts +2 -0
  847. package/dist/tag/tag-store.js +38 -0
  848. package/dist/tag/tag-store.js.map +1 -0
  849. package/dist/tag/tag-value.d.ts +49 -0
  850. package/dist/tag/tag-value.d.ts.map +1 -0
  851. package/dist/tag/tag-value.js +40 -0
  852. package/dist/tag/tag-value.js.map +1 -0
  853. package/dist/tag/tag-values.d.ts +60 -0
  854. package/dist/tag/tag-values.d.ts.map +1 -0
  855. package/dist/tag/tag-values.js +50 -0
  856. package/dist/tag/tag-values.js.map +1 -0
  857. package/dist/tag/tag.d.ts +78 -0
  858. package/dist/tag/tag.d.ts.map +1 -0
  859. package/dist/tag/tag.js +114 -0
  860. package/dist/tag/tag.js.map +1 -0
  861. package/dist/tag/utils.d.ts +5 -0
  862. package/dist/tag/utils.d.ts.map +1 -0
  863. package/dist/tag/utils.js +15 -0
  864. package/dist/tag/utils.js.map +1 -0
  865. package/dist/tag-store-xANOvuGo.d.ts +49 -0
  866. package/dist/tag-store-xANOvuGo.d.ts.map +1 -0
  867. package/dist/toolbar/toolbar-container.d.ts +41 -0
  868. package/dist/toolbar/toolbar-container.d.ts.map +1 -0
  869. package/dist/toolbar/toolbar-container.js +53 -0
  870. package/dist/toolbar/toolbar-container.js.map +1 -0
  871. package/dist/toolbar/toolbar-context.d.ts +24 -0
  872. package/dist/toolbar/toolbar-context.d.ts.map +1 -0
  873. package/dist/toolbar/toolbar-context.js +27 -0
  874. package/dist/toolbar/toolbar-context.js.map +1 -0
  875. package/dist/toolbar/toolbar-input.d.ts +39 -0
  876. package/dist/toolbar/toolbar-input.d.ts.map +1 -0
  877. package/dist/toolbar/toolbar-input.js +47 -0
  878. package/dist/toolbar/toolbar-input.js.map +1 -0
  879. package/dist/toolbar/toolbar-item.d.ts +47 -0
  880. package/dist/toolbar/toolbar-item.d.ts.map +1 -0
  881. package/dist/toolbar/toolbar-item.js +45 -0
  882. package/dist/toolbar/toolbar-item.js.map +1 -0
  883. package/dist/toolbar/toolbar-provider.d.ts +26 -0
  884. package/dist/toolbar/toolbar-provider.d.ts.map +1 -0
  885. package/dist/toolbar/toolbar-provider.js +30 -0
  886. package/dist/toolbar/toolbar-provider.js.map +1 -0
  887. package/dist/toolbar/toolbar-separator.d.ts +51 -0
  888. package/dist/toolbar/toolbar-separator.d.ts.map +1 -0
  889. package/dist/toolbar/toolbar-separator.js +49 -0
  890. package/dist/toolbar/toolbar-separator.js.map +1 -0
  891. package/dist/toolbar/toolbar-store.d.ts +2 -0
  892. package/dist/toolbar/toolbar-store.js +31 -0
  893. package/dist/toolbar/toolbar-store.js.map +1 -0
  894. package/dist/toolbar/toolbar.d.ts +50 -0
  895. package/dist/toolbar/toolbar.d.ts.map +1 -0
  896. package/dist/toolbar/toolbar.js +66 -0
  897. package/dist/toolbar/toolbar.js.map +1 -0
  898. package/dist/toolbar-store-Cs-9cGHx.d.ts +30 -0
  899. package/dist/toolbar-store-Cs-9cGHx.d.ts.map +1 -0
  900. package/dist/tooltip/tooltip-anchor.d.ts +53 -0
  901. package/dist/tooltip/tooltip-anchor.d.ts.map +1 -0
  902. package/dist/tooltip/tooltip-anchor.js +121 -0
  903. package/dist/tooltip/tooltip-anchor.js.map +1 -0
  904. package/dist/tooltip/tooltip-arrow.d.ts +54 -0
  905. package/dist/tooltip/tooltip-arrow.d.ts.map +1 -0
  906. package/dist/tooltip/tooltip-arrow.js +54 -0
  907. package/dist/tooltip/tooltip-arrow.js.map +1 -0
  908. package/dist/tooltip/tooltip-context.d.ts +24 -0
  909. package/dist/tooltip/tooltip-context.d.ts.map +1 -0
  910. package/dist/tooltip/tooltip-context.js +27 -0
  911. package/dist/tooltip/tooltip-context.js.map +1 -0
  912. package/dist/tooltip/tooltip-provider.d.ts +23 -0
  913. package/dist/tooltip/tooltip-provider.d.ts.map +1 -0
  914. package/dist/tooltip/tooltip-provider.js +27 -0
  915. package/dist/tooltip/tooltip-provider.js.map +1 -0
  916. package/dist/tooltip/tooltip-store.d.ts +30 -0
  917. package/dist/tooltip/tooltip-store.d.ts.map +1 -0
  918. package/dist/tooltip/tooltip-store.js +30 -0
  919. package/dist/tooltip/tooltip-store.js.map +1 -0
  920. package/dist/tooltip/tooltip.d.ts +61 -0
  921. package/dist/tooltip/tooltip.d.ts.map +1 -0
  922. package/dist/tooltip/tooltip.js +81 -0
  923. package/dist/tooltip/tooltip.js.map +1 -0
  924. package/dist/utils-DUF1aMov.d.ts +5 -0
  925. package/dist/utils-DUF1aMov.d.ts.map +1 -0
  926. package/dist/visually-hidden/visually-hidden.d.ts +37 -0
  927. package/dist/visually-hidden/visually-hidden.d.ts.map +1 -0
  928. package/dist/visually-hidden/visually-hidden.js +53 -0
  929. package/dist/visually-hidden/visually-hidden.js.map +1 -0
  930. package/license +21 -0
  931. package/package.json +936 -0
  932. package/readme.md +19 -0
  933. package/src/button/button.tsx +76 -0
  934. package/src/checkbox/checkbox-check.tsx +116 -0
  935. package/src/checkbox/checkbox-checked-context.tsx +3 -0
  936. package/src/checkbox/checkbox-context.tsx +27 -0
  937. package/src/checkbox/checkbox-provider.tsx +53 -0
  938. package/src/checkbox/checkbox-store.ts +76 -0
  939. package/src/checkbox/checkbox.tsx +271 -0
  940. package/src/collection/collection-context.tsx +27 -0
  941. package/src/collection/collection-item-offscreen.tsx +157 -0
  942. package/src/collection/collection-item.tsx +136 -0
  943. package/src/collection/collection-provider.tsx +47 -0
  944. package/src/collection/collection-renderer.tsx +994 -0
  945. package/src/collection/collection-store.ts +84 -0
  946. package/src/collection/collection.tsx +93 -0
  947. package/src/combobox/combobox-cancel.tsx +153 -0
  948. package/src/combobox/combobox-context.tsx +49 -0
  949. package/src/combobox/combobox-disclosure.tsx +162 -0
  950. package/src/combobox/combobox-group-label.tsx +74 -0
  951. package/src/combobox/combobox-group.tsx +100 -0
  952. package/src/combobox/combobox-item-check.tsx +83 -0
  953. package/src/combobox/combobox-item-offscreen.tsx +87 -0
  954. package/src/combobox/combobox-item-value.tsx +231 -0
  955. package/src/combobox/combobox-item.tsx +363 -0
  956. package/src/combobox/combobox-label.tsx +89 -0
  957. package/src/combobox/combobox-list.tsx +176 -0
  958. package/src/combobox/combobox-popover.tsx +179 -0
  959. package/src/combobox/combobox-provider.tsx +50 -0
  960. package/src/combobox/combobox-row.tsx +102 -0
  961. package/src/combobox/combobox-separator.tsx +90 -0
  962. package/src/combobox/combobox-store.ts +168 -0
  963. package/src/combobox/combobox-value.tsx +63 -0
  964. package/src/combobox/combobox.tsx +900 -0
  965. package/src/command/command.tsx +215 -0
  966. package/src/composite/composite-container.tsx +278 -0
  967. package/src/composite/composite-context.tsx +53 -0
  968. package/src/composite/composite-group-label.tsx +73 -0
  969. package/src/composite/composite-group.tsx +77 -0
  970. package/src/composite/composite-hover.tsx +230 -0
  971. package/src/composite/composite-input.tsx +147 -0
  972. package/src/composite/composite-item-offscreen.tsx +112 -0
  973. package/src/composite/composite-item.tsx +567 -0
  974. package/src/composite/composite-overflow-disclosure.ts +117 -0
  975. package/src/composite/composite-overflow-store.ts +61 -0
  976. package/src/composite/composite-overflow.tsx +123 -0
  977. package/src/composite/composite-provider.tsx +47 -0
  978. package/src/composite/composite-renderer.tsx +231 -0
  979. package/src/composite/composite-row.tsx +133 -0
  980. package/src/composite/composite-separator.tsx +96 -0
  981. package/src/composite/composite-store.ts +101 -0
  982. package/src/composite/composite-typeahead.tsx +246 -0
  983. package/src/composite/composite.tsx +592 -0
  984. package/src/composite/utils.ts +121 -0
  985. package/src/dialog/dialog-backdrop.tsx +71 -0
  986. package/src/dialog/dialog-context.tsx +43 -0
  987. package/src/dialog/dialog-description.tsx +86 -0
  988. package/src/dialog/dialog-disclosure.tsx +84 -0
  989. package/src/dialog/dialog-dismiss.tsx +113 -0
  990. package/src/dialog/dialog-heading.tsx +88 -0
  991. package/src/dialog/dialog-provider.tsx +28 -0
  992. package/src/dialog/dialog-store.ts +51 -0
  993. package/src/dialog/dialog.tsx +866 -0
  994. package/src/dialog/utils/disable-accessibility-tree-outside.ts +30 -0
  995. package/src/dialog/utils/disable-tree.ts +81 -0
  996. package/src/dialog/utils/is-backdrop.ts +12 -0
  997. package/src/dialog/utils/is-focus-trap.ts +11 -0
  998. package/src/dialog/utils/mark-tree-outside.ts +67 -0
  999. package/src/dialog/utils/orchestrate.ts +123 -0
  1000. package/src/dialog/utils/prepend-hidden-dismiss.ts +35 -0
  1001. package/src/dialog/utils/supports-inert.ts +5 -0
  1002. package/src/dialog/utils/use-hide-on-interact-outside.ts +181 -0
  1003. package/src/dialog/utils/use-nested-dialogs.tsx +55 -0
  1004. package/src/dialog/utils/use-prevent-body-scroll.ts +86 -0
  1005. package/src/dialog/utils/use-previous-mouse-down-ref.ts +19 -0
  1006. package/src/dialog/utils/use-root-dialog.ts +49 -0
  1007. package/src/dialog/utils/walk-tree-outside.ts +85 -0
  1008. package/src/disclosure/disclosure-content.tsx +344 -0
  1009. package/src/disclosure/disclosure-context.tsx +27 -0
  1010. package/src/disclosure/disclosure-provider.tsx +29 -0
  1011. package/src/disclosure/disclosure-store.ts +85 -0
  1012. package/src/disclosure/disclosure.tsx +144 -0
  1013. package/src/focus-trap/focus-trap-region.tsx +112 -0
  1014. package/src/focus-trap/focus-trap.tsx +60 -0
  1015. package/src/focusable/focusable-container.tsx +75 -0
  1016. package/src/focusable/focusable-context.tsx +3 -0
  1017. package/src/focusable/focusable.tsx +559 -0
  1018. package/src/form/form-checkbox.tsx +106 -0
  1019. package/src/form/form-context.tsx +34 -0
  1020. package/src/form/form-control.tsx +227 -0
  1021. package/src/form/form-description.tsx +142 -0
  1022. package/src/form/form-error.tsx +156 -0
  1023. package/src/form/form-field.tsx +94 -0
  1024. package/src/form/form-group-label.tsx +79 -0
  1025. package/src/form/form-group.tsx +79 -0
  1026. package/src/form/form-input.tsx +104 -0
  1027. package/src/form/form-label.tsx +192 -0
  1028. package/src/form/form-provider.tsx +49 -0
  1029. package/src/form/form-push.tsx +200 -0
  1030. package/src/form/form-radio-group.tsx +93 -0
  1031. package/src/form/form-radio.tsx +122 -0
  1032. package/src/form/form-remove.tsx +198 -0
  1033. package/src/form/form-reset.tsx +85 -0
  1034. package/src/form/form-store.ts +195 -0
  1035. package/src/form/form-submit.tsx +93 -0
  1036. package/src/form/form.tsx +249 -0
  1037. package/src/group/group-label-context.tsx +6 -0
  1038. package/src/group/group-label.tsx +75 -0
  1039. package/src/group/group.tsx +69 -0
  1040. package/src/heading/heading-context.tsx +4 -0
  1041. package/src/heading/heading-level.tsx +42 -0
  1042. package/src/heading/heading.tsx +81 -0
  1043. package/src/heading/utils.ts +1 -0
  1044. package/src/hovercard/hovercard-anchor.tsx +195 -0
  1045. package/src/hovercard/hovercard-arrow.tsx +74 -0
  1046. package/src/hovercard/hovercard-context.tsx +34 -0
  1047. package/src/hovercard/hovercard-description.tsx +69 -0
  1048. package/src/hovercard/hovercard-disclosure.tsx +196 -0
  1049. package/src/hovercard/hovercard-dismiss.tsx +70 -0
  1050. package/src/hovercard/hovercard-heading.tsx +68 -0
  1051. package/src/hovercard/hovercard-provider.tsx +29 -0
  1052. package/src/hovercard/hovercard-store.ts +58 -0
  1053. package/src/hovercard/hovercard.tsx +445 -0
  1054. package/src/hovercard/utils/__tests__/polygon-test.ts +66 -0
  1055. package/src/hovercard/utils/debug-polygon.ts +37 -0
  1056. package/src/hovercard/utils/polygon.ts +96 -0
  1057. package/src/index.ts +1 -0
  1058. package/src/menu/menu-arrow.tsx +69 -0
  1059. package/src/menu/menu-bar-provider.tsx +44 -0
  1060. package/src/menu/menu-bar-store.ts +54 -0
  1061. package/src/menu/menu-bar.tsx +84 -0
  1062. package/src/menu/menu-button-arrow.tsx +85 -0
  1063. package/src/menu/menu-button.tsx +338 -0
  1064. package/src/menu/menu-context.tsx +76 -0
  1065. package/src/menu/menu-description.tsx +67 -0
  1066. package/src/menu/menu-dismiss.tsx +69 -0
  1067. package/src/menu/menu-group-label.tsx +72 -0
  1068. package/src/menu/menu-group.tsx +76 -0
  1069. package/src/menu/menu-heading.tsx +67 -0
  1070. package/src/menu/menu-item-check.tsx +79 -0
  1071. package/src/menu/menu-item-checkbox.tsx +227 -0
  1072. package/src/menu/menu-item-radio.tsx +198 -0
  1073. package/src/menu/menu-item.tsx +223 -0
  1074. package/src/menu/menu-list.tsx +230 -0
  1075. package/src/menu/menu-provider.tsx +42 -0
  1076. package/src/menu/menu-separator.tsx +79 -0
  1077. package/src/menu/menu-store.ts +155 -0
  1078. package/src/menu/menu.tsx +274 -0
  1079. package/src/menubar/menubar-context.tsx +39 -0
  1080. package/src/menubar/menubar-provider.tsx +43 -0
  1081. package/src/menubar/menubar-store.ts +48 -0
  1082. package/src/menubar/menubar.tsx +145 -0
  1083. package/src/popover/popover-anchor.tsx +74 -0
  1084. package/src/popover/popover-arrow-path.ts +21 -0
  1085. package/src/popover/popover-arrow.tsx +228 -0
  1086. package/src/popover/popover-context.tsx +34 -0
  1087. package/src/popover/popover-description.tsx +69 -0
  1088. package/src/popover/popover-disclosure-arrow.tsx +135 -0
  1089. package/src/popover/popover-disclosure.tsx +101 -0
  1090. package/src/popover/popover-dismiss.tsx +70 -0
  1091. package/src/popover/popover-heading.tsx +68 -0
  1092. package/src/popover/popover-provider.tsx +29 -0
  1093. package/src/popover/popover-store.ts +53 -0
  1094. package/src/popover/popover.tsx +649 -0
  1095. package/src/portal/portal-context.tsx +19 -0
  1096. package/src/portal/portal.tsx +493 -0
  1097. package/src/radio/radio-context.tsx +34 -0
  1098. package/src/radio/radio-group.tsx +103 -0
  1099. package/src/radio/radio-provider.tsx +29 -0
  1100. package/src/radio/radio-store.ts +64 -0
  1101. package/src/radio/radio.tsx +242 -0
  1102. package/src/role/role.tsx +88 -0
  1103. package/src/select/select-arrow.tsx +80 -0
  1104. package/src/select/select-context.tsx +46 -0
  1105. package/src/select/select-dismiss.tsx +79 -0
  1106. package/src/select/select-group-label.tsx +78 -0
  1107. package/src/select/select-group.tsx +79 -0
  1108. package/src/select/select-heading.tsx +98 -0
  1109. package/src/select/select-item-check.tsx +80 -0
  1110. package/src/select/select-item-offscreen.tsx +59 -0
  1111. package/src/select/select-item.tsx +294 -0
  1112. package/src/select/select-label.tsx +117 -0
  1113. package/src/select/select-list.tsx +251 -0
  1114. package/src/select/select-popover.tsx +67 -0
  1115. package/src/select/select-provider.tsx +45 -0
  1116. package/src/select/select-renderer.tsx +160 -0
  1117. package/src/select/select-row.tsx +97 -0
  1118. package/src/select/select-separator.tsx +80 -0
  1119. package/src/select/select-store.ts +139 -0
  1120. package/src/select/select-value.tsx +108 -0
  1121. package/src/select/select.tsx +371 -0
  1122. package/src/separator/separator.tsx +54 -0
  1123. package/src/store.ts +1 -0
  1124. package/src/tab/tab-context.tsx +34 -0
  1125. package/src/tab/tab-list.tsx +120 -0
  1126. package/src/tab/tab-panel.tsx +314 -0
  1127. package/src/tab/tab-provider.tsx +30 -0
  1128. package/src/tab/tab-store.ts +124 -0
  1129. package/src/tab/tab.tsx +208 -0
  1130. package/src/tag/tag-context.tsx +40 -0
  1131. package/src/tag/tag-input.tsx +321 -0
  1132. package/src/tag/tag-list-label.tsx +102 -0
  1133. package/src/tag/tag-list.tsx +210 -0
  1134. package/src/tag/tag-provider.tsx +38 -0
  1135. package/src/tag/tag-remove.tsx +174 -0
  1136. package/src/tag/tag-store.ts +72 -0
  1137. package/src/tag/tag-value.tsx +63 -0
  1138. package/src/tag/tag-values.tsx +74 -0
  1139. package/src/tag/tag.tsx +199 -0
  1140. package/src/tag/utils.ts +12 -0
  1141. package/src/toolbar/toolbar-container.tsx +67 -0
  1142. package/src/toolbar/toolbar-context.tsx +34 -0
  1143. package/src/toolbar/toolbar-input.tsx +64 -0
  1144. package/src/toolbar/toolbar-item.tsx +72 -0
  1145. package/src/toolbar/toolbar-provider.tsx +32 -0
  1146. package/src/toolbar/toolbar-separator.tsx +71 -0
  1147. package/src/toolbar/toolbar-store.ts +52 -0
  1148. package/src/toolbar/toolbar.tsx +119 -0
  1149. package/src/tooltip/tooltip-anchor.tsx +210 -0
  1150. package/src/tooltip/tooltip-arrow.tsx +84 -0
  1151. package/src/tooltip/tooltip-context.tsx +34 -0
  1152. package/src/tooltip/tooltip-provider.tsx +29 -0
  1153. package/src/tooltip/tooltip-store.ts +53 -0
  1154. package/src/tooltip/tooltip.tsx +153 -0
  1155. package/src/visually-hidden/visually-hidden.tsx +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-renderer.js","names":[],"sources":["../../src/composite/composite-renderer.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport { useId, createElement, forwardRef } from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport type { ElementType, ReactNode } from \"react\";\nimport { useMemo } from \"react\";\nimport type {\n CollectionRendererBaseItemProps,\n CollectionRendererItem,\n CollectionRendererItemObject,\n CollectionRendererItemProps,\n CollectionRendererOptions,\n} from \"../collection/collection-renderer.tsx\";\nimport {\n getCollectionRendererItem,\n getCollectionRendererItemId,\n useCollectionRenderer,\n} from \"../collection/collection-renderer.tsx\";\nimport type { CollectionStoreItem } from \"../collection/collection-store.ts\";\nimport { useCompositeContext } from \"./composite-context.tsx\";\nimport type { CompositeStore, CompositeStoreItem } from \"./composite-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\n\ninterface ItemObject extends CollectionRendererItemObject {\n disabled?: boolean;\n}\n\ntype Item = ItemObject | CollectionRendererItem;\n\ninterface BaseItemProps extends CollectionRendererBaseItemProps {\n \"aria-setsize\": number;\n \"aria-posinset\": number;\n}\n\ntype ItemProps<\n T extends Item,\n P extends BaseItemProps = BaseItemProps,\n> = CollectionRendererItemProps<T, P>;\n\nfunction getItemObject(item: Item): ItemObject {\n if (!item || typeof item !== \"object\") {\n return { value: item };\n }\n return item;\n}\n\nfunction countItems(items?: number | readonly Item[]): number[] {\n if (!items) return [0];\n if (typeof items === \"number\") {\n return Array.from({ length: items }, (_, index) => index + 1);\n }\n return items.reduce<number[]>((count, item, index) => {\n const object = getItemObject(item);\n if (!object.items) {\n count[index] = index + 1;\n return count;\n }\n const prevCount = count[index - 1] ?? 0;\n const itemsCount = countItems(object.items)[object.items.length - 1] ?? 0;\n count[index] = prevCount + itemsCount;\n return count;\n }, []);\n}\n\nfunction findFirst(items: readonly Item[], offset = 1): number {\n for (\n let index = offset > 0 ? 0 : items.length - 1;\n index >= 0 && index < items.length;\n index += offset\n ) {\n const item = items[index];\n const object = getItemObject(item);\n if (object.items && findFirst(object.items, offset) !== -1) return index;\n if (!object.disabled) return index;\n }\n return -1;\n}\n\nfunction findLast(items: readonly Item[]) {\n return findFirst(items, -1);\n}\n\nfunction findById(items: readonly Item[], id: string, baseId: string): number {\n return items.findIndex((item, index) => {\n const itemId = getCollectionRendererItemId(item, index, baseId);\n if (itemId === id) return true;\n const object = getItemObject(item);\n if (object.items?.length) return findById(object.items, id, itemId) !== -1;\n const ids = id.split(\"/\");\n if (ids.length === 1) return false;\n return ids.some((id) => itemId === id);\n });\n}\n\nexport function useCompositeRenderer<T extends Item = any>({\n store,\n orientation: orientationProp,\n persistentIndices: persistentIndicesProp,\n children: renderItem,\n \"aria-setsize\": ariaSetSize,\n \"aria-posinset\": ariaPosInSet = 1,\n ...props\n}: CompositeRendererProps<T>) {\n const context = useCompositeContext();\n store = store || (context as typeof store);\n\n const orientation = useStoreState(store, (state) =>\n (orientationProp ?? state?.orientation === \"both\")\n ? \"vertical\"\n : state?.orientation,\n );\n\n const items = useStoreState(store, (state) => {\n if (!state) return props.items;\n if (\"mounted\" in state && !state.mounted) return 0;\n return props.items ?? (state.items as T[]);\n });\n\n const id = useId(props.id);\n\n const itemsCount = useMemo(() => countItems(items), [items]);\n\n const setSize = useMemo(\n () => ariaSetSize ?? itemsCount[itemsCount.length - 1] ?? 0,\n [ariaSetSize, itemsCount],\n );\n\n const firstIndex = useMemo(() => {\n if (!items) return -1;\n if (typeof items === \"number\") return 0;\n if (!items.length) return -1;\n return findFirst(items);\n }, [items]);\n\n const lastIndex = useMemo(() => {\n if (!items) return -1;\n if (typeof items === \"number\") return items - 1;\n if (!items.length) return -1;\n return findLast(items);\n }, [items]);\n\n const activeId = useStoreState(store, \"activeId\");\n\n const activeIndex = useMemo(() => {\n if (!id) return -1;\n if (!items) return -1;\n if (activeId == null) return -1;\n if (typeof items === \"number\") return -1;\n if (!items.length) return -1;\n return findById(items, activeId, id);\n }, [id, items, activeId]);\n\n const persistentIndices = useMemo(() => {\n const indices = [firstIndex, activeIndex, lastIndex].filter(\n (index) => index >= 0,\n );\n if (persistentIndicesProp) {\n return [...persistentIndicesProp, ...indices];\n }\n return indices;\n }, [firstIndex, activeIndex, lastIndex, persistentIndicesProp]);\n\n return useCollectionRenderer({\n id,\n store,\n orientation,\n persistentIndices,\n ...props,\n children: (item) => {\n const nextItem = Object.assign({}, item, {\n \"aria-setsize\": setSize,\n \"aria-posinset\": ariaPosInSet + (itemsCount[item.index - 1] ?? 0),\n });\n return renderItem?.(nextItem as ItemProps<T>);\n },\n });\n}\n\nexport {\n getCollectionRendererItem as getCompositeRendererItem,\n getCollectionRendererItemId as getCompositeRendererItemId,\n};\n\nexport type CompositeRendererItemObject = ItemObject;\nexport type CompositeRendererItem = Item;\nexport type CompositeRendererBaseItemProps = BaseItemProps;\nexport type CompositeRendererItemProps<\n T extends Item,\n P extends BaseItemProps = BaseItemProps,\n> = ItemProps<T, P>;\n\nexport const CompositeRenderer = forwardRef(function CompositeRenderer<\n T extends Item = any,\n>(props: CompositeRendererProps<T>) {\n const htmlProps = useCompositeRenderer(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface CompositeRendererOptions<T extends Item = any> extends Omit<\n CollectionRendererOptions<T>,\n \"store\" | \"children\"\n> {\n /**\n * Object returned by the\n * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)\n * hook. If not provided, the closest\n * [Composite](https://ariakit.com/components/composite) component's context\n * will be used.\n *\n * The store\n * [`items`](https://ariakit.com/reference/use-composite-store#items) state\n * will be used to render the items if the\n * [`items`](https://ariakit.com/reference/composite-items#items) prop is not\n * provided.\n */\n store?: CompositeStore<\n T extends CollectionStoreItem ? T : CompositeStoreItem\n >;\n /**\n * The `children` should be a function that receives item props and returns a\n * React element. The item props should be spread onto the element that\n * renders the item.\n */\n children?: (item: ItemProps<T>) => ReactNode;\n}\n\nexport interface CompositeRendererProps<T extends Item = any> extends Props<\n TagName,\n CompositeRendererOptions<T>\n> {}\n"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { t as CompositeStore } from "../composite-store-DyJc-XRA.js";
2
+ import { Options, Props } from "@ariakit/react-utils";
3
+ import { ElementType } from "react";
4
+
5
+ //#region src/composite/composite-row.d.ts
6
+ declare const TagName = "div";
7
+ type TagName = typeof TagName;
8
+ /**
9
+ * Returns props to create a `CompositeRow` component. Wrapping `CompositeItem`
10
+ * elements within rows will create a two-dimensional composite widget, such as
11
+ * a grid.
12
+ * @see https://ariakit.com/components/composite
13
+ * @example
14
+ * ```jsx
15
+ * const store = useCompositeStore();
16
+ * const props = useCompositeRow({ store });
17
+ * <Composite store={store}>
18
+ * <Role {...props}>
19
+ * <CompositeItem>Item 1</CompositeItem>
20
+ * <CompositeItem>Item 2</CompositeItem>
21
+ * <CompositeItem>Item 3</CompositeItem>
22
+ * </Role>
23
+ * </Composite>
24
+ * ```
25
+ */
26
+ declare const useCompositeRow: import("@ariakit/react-utils").Hook<"div", CompositeRowOptions<"div">>;
27
+ /**
28
+ * Renders a row element for composite items that allows two-dimensional arrow
29
+ * key navigation.
30
+ * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements
31
+ * wrapped within this component will automatically receive a
32
+ * [`rowId`](https://ariakit.com/reference/composite-item#rowid) prop.
33
+ * @see https://ariakit.com/components/composite
34
+ * @example
35
+ * ```jsx {3-12}
36
+ * <CompositeProvider>
37
+ * <Composite>
38
+ * <CompositeRow>
39
+ * <CompositeItem>Item 1.1</CompositeItem>
40
+ * <CompositeItem>Item 1.2</CompositeItem>
41
+ * <CompositeItem>Item 1.3</CompositeItem>
42
+ * </CompositeRow>
43
+ * <CompositeRow>
44
+ * <CompositeItem>Item 2.1</CompositeItem>
45
+ * <CompositeItem>Item 2.2</CompositeItem>
46
+ * <CompositeItem>Item 2.3</CompositeItem>
47
+ * </CompositeRow>
48
+ * </Composite>
49
+ * </CompositeProvider>
50
+ * ```
51
+ */
52
+ declare const CompositeRow: (props: CompositeRowProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
53
+ interface CompositeRowOptions<_T extends ElementType = TagName> extends Options {
54
+ /**
55
+ * Object returned by the
56
+ * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)
57
+ * hook. If not provided, the closest
58
+ * [`Composite`](https://ariakit.com/reference/composite) or
59
+ * [`CompositeProvider`](https://ariakit.com/reference/composite-provider)
60
+ * components' context will be used.
61
+ */
62
+ store?: CompositeStore;
63
+ }
64
+ type CompositeRowProps<T extends ElementType = TagName> = Props<T, CompositeRowOptions<T>>;
65
+ //#endregion
66
+ export { CompositeRow, CompositeRowOptions, CompositeRowProps, useCompositeRow };
67
+ //# sourceMappingURL=composite-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-row.d.ts","names":["Options","Props","ElementType","CompositeStore","TagName","useCompositeRow","CompositeRowOptions","Hook","CompositeRow","CompositeRowProps","props","ReactElement","JSXElementConstructor","_T","store","T"],"sources":["../../src/composite/composite-row.d.ts"],"mappings":";;;;;cAGcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF8B;;;;AACtC;AAAA;;;;AACQ;AAmB7B;;;;AAAoG;AA0BpG;;;AA/C2D,cAqBtCC,eAAAA,iCAAgDE,IAAAA,QAAYD,mBAAmB;;;;;;AA0B6C;AACjJ;;;;;;;;;;;;;;;;AAS0B;AAE1B;;cAZqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC3GN,mBAAAA,YAA+BJ,WAAAA,GAAcE,OAAAA,UAAiBJ,OAAAA;EAWzBI;;;;;;;;EAFlDU,KAAAA,GAAQX,cAAAA;AAAAA;AAAAA,KAEAM,iBAAAA,WAA4BP,WAAAA,GAAcE,OAAAA,IAAWH,KAAAA,CAAMc,CAAAA,EAAGT,mBAAAA,CAAoBS,CAAAA"}
@@ -0,0 +1,86 @@
1
+ "use client";
2
+ import { CompositeRowContext, useCompositeContext } from "./composite-context.js";
3
+ import { createElement, createHook, forwardRef, useId, useWrapElement } from "@ariakit/react-utils";
4
+ import { invariant, removeUndefinedValues } from "@ariakit/utils";
5
+ import { useMemo } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { useStoreState } from "@ariakit/react-store";
8
+ //#region src/composite/composite-row.tsx
9
+ const TagName = "div";
10
+ /**
11
+ * Returns props to create a `CompositeRow` component. Wrapping `CompositeItem`
12
+ * elements within rows will create a two-dimensional composite widget, such as
13
+ * a grid.
14
+ * @see https://ariakit.com/components/composite
15
+ * @example
16
+ * ```jsx
17
+ * const store = useCompositeStore();
18
+ * const props = useCompositeRow({ store });
19
+ * <Composite store={store}>
20
+ * <Role {...props}>
21
+ * <CompositeItem>Item 1</CompositeItem>
22
+ * <CompositeItem>Item 2</CompositeItem>
23
+ * <CompositeItem>Item 3</CompositeItem>
24
+ * </Role>
25
+ * </Composite>
26
+ * ```
27
+ */
28
+ const useCompositeRow = createHook(function useCompositeRow({ store, "aria-setsize": ariaSetSize, "aria-posinset": ariaPosInSet, ...props }) {
29
+ const context = useCompositeContext();
30
+ store = store || context;
31
+ invariant(store, "CompositeRow must be wrapped in a Composite component.");
32
+ const id = useId(props.id);
33
+ const baseElement = useStoreState(store, (state) => state.baseElement || void 0);
34
+ const providerValue = useMemo(() => ({
35
+ id,
36
+ baseElement,
37
+ ariaSetSize,
38
+ ariaPosInSet
39
+ }), [
40
+ id,
41
+ baseElement,
42
+ ariaSetSize,
43
+ ariaPosInSet
44
+ ]);
45
+ props = useWrapElement(props, (element) => /* @__PURE__ */ jsx(CompositeRowContext.Provider, {
46
+ value: providerValue,
47
+ children: element
48
+ }), [providerValue]);
49
+ props = {
50
+ ...props,
51
+ id
52
+ };
53
+ return removeUndefinedValues(props);
54
+ });
55
+ /**
56
+ * Renders a row element for composite items that allows two-dimensional arrow
57
+ * key navigation.
58
+ * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements
59
+ * wrapped within this component will automatically receive a
60
+ * [`rowId`](https://ariakit.com/reference/composite-item#rowid) prop.
61
+ * @see https://ariakit.com/components/composite
62
+ * @example
63
+ * ```jsx {3-12}
64
+ * <CompositeProvider>
65
+ * <Composite>
66
+ * <CompositeRow>
67
+ * <CompositeItem>Item 1.1</CompositeItem>
68
+ * <CompositeItem>Item 1.2</CompositeItem>
69
+ * <CompositeItem>Item 1.3</CompositeItem>
70
+ * </CompositeRow>
71
+ * <CompositeRow>
72
+ * <CompositeItem>Item 2.1</CompositeItem>
73
+ * <CompositeItem>Item 2.2</CompositeItem>
74
+ * <CompositeItem>Item 2.3</CompositeItem>
75
+ * </CompositeRow>
76
+ * </Composite>
77
+ * </CompositeProvider>
78
+ * ```
79
+ */
80
+ const CompositeRow = forwardRef(function CompositeRow(props) {
81
+ return createElement(TagName, useCompositeRow(props));
82
+ });
83
+ //#endregion
84
+ export { CompositeRow, useCompositeRow };
85
+
86
+ //# sourceMappingURL=composite-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-row.js","names":[],"sources":["../../src/composite/composite-row.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useId,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport { useMemo } from \"react\";\nimport {\n CompositeRowContext,\n useCompositeContext,\n} from \"./composite-context.tsx\";\nimport type { CompositeStore } from \"./composite-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `CompositeRow` component. Wrapping `CompositeItem`\n * elements within rows will create a two-dimensional composite widget, such as\n * a grid.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx\n * const store = useCompositeStore();\n * const props = useCompositeRow({ store });\n * <Composite store={store}>\n * <Role {...props}>\n * <CompositeItem>Item 1</CompositeItem>\n * <CompositeItem>Item 2</CompositeItem>\n * <CompositeItem>Item 3</CompositeItem>\n * </Role>\n * </Composite>\n * ```\n */\nexport const useCompositeRow = createHook<TagName, CompositeRowOptions>(\n function useCompositeRow({\n store,\n \"aria-setsize\": ariaSetSize,\n \"aria-posinset\": ariaPosInSet,\n ...props\n }) {\n const context = useCompositeContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"CompositeRow must be wrapped in a Composite component.\",\n );\n\n const id = useId(props.id);\n\n const baseElement = useStoreState(\n store,\n (state) => state.baseElement || undefined,\n );\n\n const providerValue = useMemo(\n () => ({ id, baseElement, ariaSetSize, ariaPosInSet }),\n [id, baseElement, ariaSetSize, ariaPosInSet],\n );\n\n props = useWrapElement(\n props,\n (element) => (\n <CompositeRowContext.Provider value={providerValue}>\n {element}\n </CompositeRowContext.Provider>\n ),\n [providerValue],\n );\n\n props = { ...props, id };\n\n return removeUndefinedValues(props);\n },\n);\n\n/**\n * Renders a row element for composite items that allows two-dimensional arrow\n * key navigation.\n * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements\n * wrapped within this component will automatically receive a\n * [`rowId`](https://ariakit.com/reference/composite-item#rowid) prop.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx {3-12}\n * <CompositeProvider>\n * <Composite>\n * <CompositeRow>\n * <CompositeItem>Item 1.1</CompositeItem>\n * <CompositeItem>Item 1.2</CompositeItem>\n * <CompositeItem>Item 1.3</CompositeItem>\n * </CompositeRow>\n * <CompositeRow>\n * <CompositeItem>Item 2.1</CompositeItem>\n * <CompositeItem>Item 2.2</CompositeItem>\n * <CompositeItem>Item 2.3</CompositeItem>\n * </CompositeRow>\n * </Composite>\n * </CompositeProvider>\n * ```\n */\nexport const CompositeRow = forwardRef(function CompositeRow(\n props: CompositeRowProps,\n) {\n const htmlProps = useCompositeRow(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface CompositeRowOptions<\n _T extends ElementType = TagName,\n> extends Options {\n /**\n * Object returned by the\n * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)\n * hook. If not provided, the closest\n * [`Composite`](https://ariakit.com/reference/composite) or\n * [`CompositeProvider`](https://ariakit.com/reference/composite-provider)\n * components' context will be used.\n */\n store?: CompositeStore;\n}\n\nexport type CompositeRowProps<T extends ElementType = TagName> = Props<\n T,\n CompositeRowOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;MA8CI,kBAAgB,WAAA,SAAoB,gBAAA,EAAA,OAAA,gBAAA,aAAA,iBAAA,cAAA,GAAA,SAAA;CACpC,MAAA,UAAQ,oBAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAW,wDAAQ;CAEzB,MAAM,KAAA,MAAA,MAAc,EAAA;CAKpB,MAAM,cAAA,cAAgB,QACb,UAAA,MAAA,eAAA,KAAA,CAAA;OAAE,gBAAA,eAAA;EAAI;EAAa;EAAa;EAAa;KACnD;EAAI;EAAa;EAAa;EACjC;CAEA,CAAA;SAGyC,eAAA,QAAA,YAAA,oBAAA,oBAAA,UAAA;;EAEP,UAE/B;CAGH,CAAA,GAAA,CAAA,aAAQ,CAAA;SAAK;EAAO,GAAA;EAAG;CAEvB;CAEJ,OAAA,sBAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BE,eAAO,WADW,SAAA,aACqB,OAAA;CACxC,OAAA,cAAA,SAAA,gBAAA,KAAA,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { t as CompositeStore } from "../composite-store-DyJc-XRA.js";
2
+ import { n as SeparatorOptions } from "../separator--ozQfMcK.js";
3
+ import { Props } from "@ariakit/react-utils";
4
+ import { ElementType } from "react";
5
+
6
+ //#region src/composite/composite-separator.d.ts
7
+ declare const TagName = "hr";
8
+ type TagName = typeof TagName;
9
+ /**
10
+ * Returns props to create a `CompositeSeparator` component.
11
+ * @see https://ariakit.com/components/composite
12
+ * @example
13
+ * ```jsx
14
+ * const store = useCompositeStore();
15
+ * const props = useCompositeSeparator({ store });
16
+ * <Composite store={store}>
17
+ * <CompositeItem>Item 1</CompositeItem>
18
+ * <Role {...props} />
19
+ * <CompositeItem>Item 2</CompositeItem>
20
+ * </Composite>
21
+ * ```
22
+ */
23
+ declare const useCompositeSeparator: import("@ariakit/react-utils").Hook<"hr", CompositeSeparatorOptions<"hr">>;
24
+ /**
25
+ * Renders a divider between
26
+ * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements.
27
+ * @see https://ariakit.com/components/composite
28
+ * @example
29
+ * ```jsx {4}
30
+ * <CompositeProvider>
31
+ * <Composite>
32
+ * <CompositeItem>Item 1</CompositeItem>
33
+ * <CompositeSeparator />
34
+ * <CompositeItem>Item 2</CompositeItem>
35
+ * </Composite>
36
+ * </CompositeProvider>
37
+ * ```
38
+ */
39
+ declare const CompositeSeparator: (props: CompositeSeparatorProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
40
+ interface CompositeSeparatorOptions<T extends ElementType = TagName> extends SeparatorOptions<T> {
41
+ /**
42
+ * Object returned by the
43
+ * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)
44
+ * hook. If not provided, the closest
45
+ * [`Composite`](https://ariakit.com/reference/composite) or
46
+ * [`CompositeProvider`](https://ariakit.com/reference/composite-provider)
47
+ * components' context will be used.
48
+ */
49
+ store?: CompositeStore;
50
+ /**
51
+ * The orientation of the separator. By default, this is the opposite of the
52
+ * [`orientation`](https://ariakit.com/reference/composite-provider#orientation)
53
+ * state of the composite widget. Which means it doesn't need to be explicitly
54
+ * set in most cases.
55
+ */
56
+ orientation?: SeparatorOptions<T>["orientation"];
57
+ }
58
+ type CompositeSeparatorProps<T extends ElementType = TagName> = Props<T, CompositeSeparatorOptions<T>>;
59
+ //#endregion
60
+ export { CompositeSeparator, CompositeSeparatorOptions, CompositeSeparatorProps, useCompositeSeparator };
61
+ //# sourceMappingURL=composite-separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-separator.d.ts","names":["Props","ElementType","SeparatorOptions","CompositeStore","TagName","useCompositeSeparator","CompositeSeparatorOptions","Hook","CompositeSeparator","CompositeSeparatorProps","props","ReactElement","JSXElementConstructor","T","store","orientation"],"sources":["../../src/composite/composite-separator.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF8B;;;;AACtC;AAAA;;;;AACQ;AAe7B;;;;AAjB2D,cAiBtCC,qBAAAA,iCAAsDE,IAAAA,OAAWD,yBAAyB;AAgB/G;;;;;;;;;AAA6J;AAC7J;;;;;AADA,cAAqBE,kBAAAA,GAAqBE,KAAAA,EAAOD,uBAAuB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UACvHN,yBAAAA,WAAoCL,WAAAA,GAAcG,OAAAA,UAAiBF,gBAAAA,CAAiBW,CAAAA;EAgBlEA;;;;;;;;EAP/BC,KAAAA,GAAQX,cAAAA;EATyFU;;;;;;EAgBjGE,WAAAA,GAAcb,gBAAAA,CAAiBW,CAAAA;AAAAA;AAAAA,KAEvBJ,uBAAAA,WAAkCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,yBAAAA,CAA0BO,CAAAA"}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { useCompositeContext } from "./composite-context.js";
3
+ import { useSeparator } from "../separator/separator.js";
4
+ import { createElement, createHook, forwardRef } from "@ariakit/react-utils";
5
+ import { invariant } from "@ariakit/utils";
6
+ import { useStoreState } from "@ariakit/react-store";
7
+ //#region src/composite/composite-separator.tsx
8
+ const TagName = "hr";
9
+ /**
10
+ * Returns props to create a `CompositeSeparator` component.
11
+ * @see https://ariakit.com/components/composite
12
+ * @example
13
+ * ```jsx
14
+ * const store = useCompositeStore();
15
+ * const props = useCompositeSeparator({ store });
16
+ * <Composite store={store}>
17
+ * <CompositeItem>Item 1</CompositeItem>
18
+ * <Role {...props} />
19
+ * <CompositeItem>Item 2</CompositeItem>
20
+ * </Composite>
21
+ * ```
22
+ */
23
+ const useCompositeSeparator = createHook(function useCompositeSeparator({ store, ...props }) {
24
+ const context = useCompositeContext();
25
+ store = store || context;
26
+ invariant(store, "CompositeSeparator must be wrapped in a Composite component.");
27
+ const orientation = useStoreState(store, (state) => state.orientation === "horizontal" ? "vertical" : "horizontal");
28
+ props = useSeparator({
29
+ ...props,
30
+ orientation
31
+ });
32
+ return props;
33
+ });
34
+ /**
35
+ * Renders a divider between
36
+ * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements.
37
+ * @see https://ariakit.com/components/composite
38
+ * @example
39
+ * ```jsx {4}
40
+ * <CompositeProvider>
41
+ * <Composite>
42
+ * <CompositeItem>Item 1</CompositeItem>
43
+ * <CompositeSeparator />
44
+ * <CompositeItem>Item 2</CompositeItem>
45
+ * </Composite>
46
+ * </CompositeProvider>
47
+ * ```
48
+ */
49
+ const CompositeSeparator = forwardRef(function CompositeSeparator(props) {
50
+ return createElement(TagName, useCompositeSeparator(props));
51
+ });
52
+ //#endregion
53
+ export { CompositeSeparator, useCompositeSeparator };
54
+
55
+ //# sourceMappingURL=composite-separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-separator.js","names":[],"sources":["../../src/composite/composite-separator.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport { createElement, createHook, forwardRef } from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport type { SeparatorOptions } from \"../separator/separator.tsx\";\nimport { useSeparator } from \"../separator/separator.tsx\";\nimport { useCompositeContext } from \"./composite-context.tsx\";\nimport type { CompositeStore } from \"./composite-store.ts\";\n\nconst TagName = \"hr\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `CompositeSeparator` component.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx\n * const store = useCompositeStore();\n * const props = useCompositeSeparator({ store });\n * <Composite store={store}>\n * <CompositeItem>Item 1</CompositeItem>\n * <Role {...props} />\n * <CompositeItem>Item 2</CompositeItem>\n * </Composite>\n * ```\n */\nexport const useCompositeSeparator = createHook<\n TagName,\n CompositeSeparatorOptions\n>(function useCompositeSeparator({ store, ...props }) {\n const context = useCompositeContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"CompositeSeparator must be wrapped in a Composite component.\",\n );\n\n const orientation = useStoreState(store, (state) =>\n state.orientation === \"horizontal\" ? \"vertical\" : \"horizontal\",\n );\n\n props = useSeparator({ ...props, orientation });\n\n return props;\n});\n\n/**\n * Renders a divider between\n * [`CompositeItem`](https://ariakit.com/reference/composite-item) elements.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx {4}\n * <CompositeProvider>\n * <Composite>\n * <CompositeItem>Item 1</CompositeItem>\n * <CompositeSeparator />\n * <CompositeItem>Item 2</CompositeItem>\n * </Composite>\n * </CompositeProvider>\n * ```\n */\nexport const CompositeSeparator = forwardRef(function CompositeSeparator(\n props: CompositeSeparatorProps,\n) {\n const htmlProps = useCompositeSeparator(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface CompositeSeparatorOptions<\n T extends ElementType = TagName,\n> extends SeparatorOptions<T> {\n /**\n * Object returned by the\n * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)\n * hook. If not provided, the closest\n * [`Composite`](https://ariakit.com/reference/composite) or\n * [`CompositeProvider`](https://ariakit.com/reference/composite-provider)\n * components' context will be used.\n */\n store?: CompositeStore;\n /**\n * The orientation of the separator. By default, this is the opposite of the\n * [`orientation`](https://ariakit.com/reference/composite-provider#orientation)\n * state of the composite widget. Which means it doesn't need to be explicitly\n * set in most cases.\n */\n orientation?: SeparatorOptions<T>[\"orientation\"];\n}\n\nexport type CompositeSeparatorProps<T extends ElementType = TagName> = Props<\n T,\n CompositeSeparatorOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MA+BE,wBAAgB,WAAoB,SAAA,sBAAA,EAAA,OAAA,GAAA,SAAA;CACpC,MAAA,UAAQ,oBAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAA,8DACkB;CAGxB,MAAA,cAAQ,cAAa,QAAA,UAAA,MAAA,gBAAA,eAAA,aAAA,YAAA;SAAK,aAAA;EAAO,GAAA;EAAa;CAE9C,CAAA;CACD,OAAA;;;;;;;;;;;;;;;;;MAqBC,qBAAqB,WADH,SAAA,mBACqB,OAAA;CACxC,OAAA,cAAA,SAAA,sBAAA,KAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { a as CompositeStoreProps, c as useCompositeStoreOptions, i as CompositeStoreOptions, l as useCompositeStoreProps, n as CompositeStoreFunctions, o as CompositeStoreState, r as CompositeStoreItem, s as useCompositeStore, t as CompositeStore } from "../composite-store-DyJc-XRA.js";
2
+ export { CompositeStore, CompositeStoreFunctions, CompositeStoreItem, CompositeStoreOptions, CompositeStoreProps, CompositeStoreState, useCompositeStore, useCompositeStoreOptions, useCompositeStoreProps };
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { useCollectionStoreProps } from "../collection/collection-store.js";
3
+ import { useId } from "@ariakit/react-utils";
4
+ import { useStore, useStoreProps } from "@ariakit/react-store";
5
+ import * as Core from "@ariakit/components/composite/composite-store";
6
+ //#region src/composite/composite-store.ts
7
+ function useCompositeStoreOptions(props) {
8
+ return {
9
+ id: useId(props.id),
10
+ ...props
11
+ };
12
+ }
13
+ function useCompositeStoreProps(store, update, props) {
14
+ store = useCollectionStoreProps(store, update, props);
15
+ useStoreProps(store, props, "activeId", "setActiveId");
16
+ useStoreProps(store, props, "includesBaseElement");
17
+ useStoreProps(store, props, "virtualFocus");
18
+ useStoreProps(store, props, "orientation");
19
+ useStoreProps(store, props, "rtl");
20
+ useStoreProps(store, props, "focusLoop");
21
+ useStoreProps(store, props, "focusWrap");
22
+ useStoreProps(store, props, "focusShift");
23
+ return store;
24
+ }
25
+ function useCompositeStore(props = {}) {
26
+ props = useCompositeStoreOptions(props);
27
+ const [store, update] = useStore(Core.createCompositeStore, props);
28
+ return useCompositeStoreProps(store, update, props);
29
+ }
30
+ //#endregion
31
+ export { useCompositeStore, useCompositeStoreOptions, useCompositeStoreProps };
32
+
33
+ //# sourceMappingURL=composite-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-store.js","names":[],"sources":["../../src/composite/composite-store.ts"],"sourcesContent":["import * as Core from \"@ariakit/components/composite/composite-store\";\nimport { useStore, useStoreProps } from \"@ariakit/react-store\";\nimport type { Store } from \"@ariakit/react-store\";\nimport { useId } from \"@ariakit/react-utils\";\nimport type { PickRequired } from \"@ariakit/utils\";\nimport type {\n CollectionStoreFunctions,\n CollectionStoreOptions,\n CollectionStoreState,\n} from \"../collection/collection-store.ts\";\nimport { useCollectionStoreProps } from \"../collection/collection-store.ts\";\n\nexport function useCompositeStoreOptions<T extends Core.CompositeStoreOptions>(\n props: T,\n) {\n const id = useId(props.id);\n return { id, ...props };\n}\n\nexport function useCompositeStoreProps<T extends Core.CompositeStore>(\n store: T,\n update: () => void,\n props: CompositeStoreProps,\n) {\n store = useCollectionStoreProps(store, update, props);\n useStoreProps(store, props, \"activeId\", \"setActiveId\");\n useStoreProps(store, props, \"includesBaseElement\");\n useStoreProps(store, props, \"virtualFocus\");\n useStoreProps(store, props, \"orientation\");\n useStoreProps(store, props, \"rtl\");\n useStoreProps(store, props, \"focusLoop\");\n useStoreProps(store, props, \"focusWrap\");\n useStoreProps(store, props, \"focusShift\");\n return store;\n}\n\n/**\n * Creates a composite store to control the state of\n * [Composite](https://ariakit.com/components/composite) components.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx\n * const composite = useCompositeStore();\n *\n * <Composite store={composite}>\n * <CompositeItem>Item</CompositeItem>\n * <CompositeItem>Item</CompositeItem>\n * <CompositeItem>Item</CompositeItem>\n * </Composite>\n * ```\n */\n\nexport function useCompositeStore<\n T extends CompositeStoreItem = CompositeStoreItem,\n>(\n props: PickRequired<CompositeStoreProps<T>, \"items\" | \"defaultItems\">,\n): CompositeStore<T>;\n\nexport function useCompositeStore(props?: CompositeStoreProps): CompositeStore;\n\nexport function useCompositeStore(\n props: CompositeStoreProps = {},\n): CompositeStore {\n props = useCompositeStoreOptions(props);\n const [store, update] = useStore(Core.createCompositeStore, props);\n return useCompositeStoreProps(store, update, props);\n}\n\nexport interface CompositeStoreItem extends Core.CompositeStoreItem {}\n\nexport interface CompositeStoreState<\n T extends CompositeStoreItem = CompositeStoreItem,\n>\n extends Core.CompositeStoreState<T>, CollectionStoreState<T> {}\n\nexport interface CompositeStoreFunctions<\n T extends CompositeStoreItem = CompositeStoreItem,\n>\n extends Core.CompositeStoreFunctions<T>, CollectionStoreFunctions<T> {}\n\nexport interface CompositeStoreOptions<\n T extends CompositeStoreItem = CompositeStoreItem,\n>\n extends Core.CompositeStoreOptions<T>, CollectionStoreOptions<T> {\n /**\n * A callback that gets called when the\n * [`activeId`](https://ariakit.com/reference/composite-provider#activeid)\n * state changes.\n */\n setActiveId?: (activeId: CompositeStoreState<T>[\"activeId\"]) => void;\n}\n\nexport interface CompositeStoreProps<\n T extends CompositeStoreItem = CompositeStoreItem,\n>\n extends CompositeStoreOptions<T>, Core.CompositeStoreProps<T> {}\n\nexport interface CompositeStore<\n T extends CompositeStoreItem = CompositeStoreItem,\n>\n extends CompositeStoreFunctions<T>, Store<Core.CompositeStore<T>> {}\n"],"mappings":";;;;;;SAgBS,yBAAA,OAAA;QADI;EACE,IAAG,MAAA,MAAA,EAAA;EAAM,GAAA;CACxB;AAEA;SAKU,uBAAA,OAAwB,QAAO,OAAa;CACpD,QAAA,wBAA4B,OAAA,QAAY,KAAA;CACxC,cAAc,OAAO,OAAO,YAAA,aAAqB;CACjD,cAAc,OAAO,OAAO,qBAAc;CAC1C,cAAc,OAAO,OAAO,cAAa;CACzC,cAAc,OAAO,OAAO,aAAK;CACjC,cAAc,OAAO,OAAO,KAAA;CAC5B,cAAc,OAAO,OAAO,WAAW;CACvC,cAAc,OAAO,OAAO,WAAA;CAC5B,cAAO,OAAA,OAAA,YAAA;CACT,OAAA;AA0BA;SAGU,kBAAA,QAAyB,CAAA,GAAK;CACtC,QAAO,yBAA0B,KAAK;CACtC,MAAA,CAAO,OAAA,UAAA,SAAuB,KAAO,sBAAa,KAAA;CACpD,OAAA,uBAAA,OAAA,QAAA,KAAA"}
@@ -0,0 +1,2 @@
1
+ import { i as useCompositeTypeahead, n as CompositeTypeaheadOptions, r as CompositeTypeaheadProps, t as CompositeTypeahead } from "../composite-typeahead-DDhpyKqm.js";
2
+ export { CompositeTypeahead, CompositeTypeaheadOptions, CompositeTypeaheadProps, useCompositeTypeahead };
@@ -0,0 +1,126 @@
1
+ "use client";
2
+ import { useCompositeContext } from "./composite-context.js";
3
+ import { flipItems } from "./utils.js";
4
+ import { createElement, createHook, forwardRef, useEvent } from "@ariakit/react-utils";
5
+ import { getDocument, invariant, isSelfTarget, isTextField, normalizeString, removeUndefinedValues, sortBasedOnDOMPosition } from "@ariakit/utils";
6
+ import { useRef } from "react";
7
+ //#region src/composite/composite-typeahead.tsx
8
+ const TagName = "div";
9
+ let chars = "";
10
+ function clearChars() {
11
+ chars = "";
12
+ }
13
+ function isValidTypeaheadEvent(event) {
14
+ const target = event.target;
15
+ if (target && isTextField(target)) return false;
16
+ if (event.key === " " && chars.length) return true;
17
+ return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\p{Letter}\p{Number}]$/u.test(event.key);
18
+ }
19
+ function isSelfTargetOrItem(event, items) {
20
+ if (isSelfTarget(event)) return true;
21
+ const target = event.target;
22
+ if (!target) return false;
23
+ return items.some((item) => item.element === target);
24
+ }
25
+ function getEnabledItems(items) {
26
+ return items.filter((item) => !item.disabled);
27
+ }
28
+ function itemTextStartsWith(item, text) {
29
+ const itemText = item.element?.textContent || item.children || "value" in item && item.value;
30
+ if (!itemText) return false;
31
+ return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());
32
+ }
33
+ function getSameInitialItems(items, char, activeId) {
34
+ if (!activeId) return items;
35
+ const activeItem = items.find((item) => item.id === activeId);
36
+ if (!activeItem) return items;
37
+ if (!itemTextStartsWith(activeItem, char)) return items;
38
+ if (chars !== char && itemTextStartsWith(activeItem, chars)) return items;
39
+ chars = char;
40
+ return flipItems(items.filter((item) => itemTextStartsWith(item, chars)), activeId).filter((item) => item.id !== activeId);
41
+ }
42
+ /**
43
+ * Returns props to create a `CompositeTypeahead` component.
44
+ * @see https://ariakit.com/components/composite
45
+ * @example
46
+ * ```jsx
47
+ * const store = useCompositeStore();
48
+ * const props = useCompositeTypeahead({ store });
49
+ * <Composite store={store} {...props}>
50
+ * <CompositeItem>Item 1</CompositeItem>
51
+ * <CompositeItem>Item 2</CompositeItem>
52
+ * </Composite>
53
+ * ```
54
+ */
55
+ const useCompositeTypeahead = createHook(function useCompositeTypeahead({ store, typeahead = true, ...props }) {
56
+ const context = useCompositeContext();
57
+ store = store || context;
58
+ invariant(store, "CompositeTypeahead must be a Composite component");
59
+ const onKeyDownCaptureProp = props.onKeyDownCapture;
60
+ const cleanupTimeoutRef = useRef(0);
61
+ const onKeyDownCapture = useEvent((event) => {
62
+ onKeyDownCaptureProp?.(event);
63
+ if (event.defaultPrevented) return;
64
+ if (!typeahead) return;
65
+ if (!store) return;
66
+ if (!isValidTypeaheadEvent(event)) return clearChars();
67
+ const { renderedItems, items, activeId, id } = store.getState();
68
+ let enabledItems = getEnabledItems(items.length > renderedItems.length ? items : renderedItems);
69
+ const document = getDocument(event.currentTarget);
70
+ const selector = `[data-offscreen-id="${id}"]`;
71
+ const offscreenItems = document.querySelectorAll(selector);
72
+ for (const element of offscreenItems) {
73
+ const disabled = element.ariaDisabled === "true" || "disabled" in element && !!element.disabled;
74
+ enabledItems.push({
75
+ id: element.id,
76
+ element,
77
+ disabled
78
+ });
79
+ }
80
+ if (offscreenItems.length) enabledItems = sortBasedOnDOMPosition(enabledItems, (i) => i.element);
81
+ if (!isSelfTargetOrItem(event, enabledItems)) return clearChars();
82
+ event.preventDefault();
83
+ window.clearTimeout(cleanupTimeoutRef.current);
84
+ cleanupTimeoutRef.current = window.setTimeout(() => {
85
+ chars = "";
86
+ }, 500);
87
+ const char = event.key.toLowerCase();
88
+ chars += char;
89
+ enabledItems = getSameInitialItems(enabledItems, char, activeId);
90
+ const item = enabledItems.find((item) => itemTextStartsWith(item, chars));
91
+ if (item) store.move(item.id);
92
+ else clearChars();
93
+ });
94
+ props = {
95
+ ...props,
96
+ onKeyDownCapture
97
+ };
98
+ return removeUndefinedValues(props);
99
+ });
100
+ /**
101
+ * Renders a component that adds typeahead functionality to composite
102
+ * components.
103
+ *
104
+ * When the
105
+ * [`typeahead`](https://ariakit.com/reference/composite-typeahead#typeahead)
106
+ * prop is enabled, which it is by default, hitting printable character keys
107
+ * will move focus to the next composite item that begins with the input
108
+ * characters.
109
+ * @see https://ariakit.com/components/composite
110
+ * @example
111
+ * ```jsx
112
+ * <CompositeProvider>
113
+ * <Composite render={<CompositeTypeahead />}>
114
+ * <CompositeItem>Item 1</CompositeItem>
115
+ * <CompositeItem>Item 2</CompositeItem>
116
+ * </Composite>
117
+ * </CompositeProvider>
118
+ * ```
119
+ */
120
+ const CompositeTypeahead = forwardRef(function CompositeTypeahead(props) {
121
+ return createElement(TagName, useCompositeTypeahead(props));
122
+ });
123
+ //#endregion
124
+ export { CompositeTypeahead, useCompositeTypeahead };
125
+
126
+ //# sourceMappingURL=composite-typeahead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-typeahead.js","names":[],"sources":["../../src/composite/composite-typeahead.tsx"],"sourcesContent":["import {\n useEvent,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport {\n getDocument,\n isTextField,\n sortBasedOnDOMPosition,\n isSelfTarget,\n invariant,\n normalizeString,\n removeUndefinedValues,\n} from \"@ariakit/utils\";\nimport type { ElementType, KeyboardEvent } from \"react\";\nimport { useRef } from \"react\";\nimport { useCompositeContext } from \"./composite-context.tsx\";\nimport type { CompositeStore, CompositeStoreItem } from \"./composite-store.ts\";\nimport { flipItems } from \"./utils.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nlet chars = \"\";\n\nfunction clearChars() {\n chars = \"\";\n}\n\nfunction isValidTypeaheadEvent(event: KeyboardEvent) {\n const target = event.target as HTMLElement | null;\n if (target && isTextField(target)) return false;\n // If the spacebar is pressed, we'll only consider it a valid typeahead event\n // if there were already other characters typed.\n if (event.key === \" \" && chars.length) return true;\n return (\n event.key.length === 1 &&\n !event.ctrlKey &&\n !event.altKey &&\n !event.metaKey &&\n /^[\\p{Letter}\\p{Number}]$/u.test(event.key)\n );\n}\n\nfunction isSelfTargetOrItem(event: KeyboardEvent, items: CompositeStoreItem[]) {\n if (isSelfTarget(event)) return true;\n const target = event.target as HTMLElement | null;\n if (!target) return false;\n const isItem = items.some((item) => item.element === target);\n return isItem;\n}\n\nfunction getEnabledItems(items: CompositeStoreItem[]) {\n return items.filter((item) => !item.disabled);\n}\n\nfunction itemTextStartsWith(item: CompositeStoreItem, text: string) {\n const itemText =\n item.element?.textContent ||\n item.children ||\n // The composite item object itself doesn't include a value property, but\n // other components like Select do. Since CompositeTypeahead is a generic\n // component that can be used with those as well, we also consider the value\n // property as a fallback for the typeahead text content.\n (\"value\" in item && (item.value as string | undefined));\n if (!itemText) return false;\n return normalizeString(itemText)\n .trim()\n .toLowerCase()\n .startsWith(text.toLowerCase());\n}\n\nfunction getSameInitialItems(\n items: CompositeStoreItem[],\n char: string,\n activeId?: string | null,\n) {\n if (!activeId) return items;\n const activeItem = items.find((item) => item.id === activeId);\n if (!activeItem) return items;\n if (!itemTextStartsWith(activeItem, char)) return items;\n // Typing \"oo\" will match \"oof\" instead of moving to the next item.\n if (chars !== char && itemTextStartsWith(activeItem, chars)) return items;\n // If we're looping through the items, we'll want to reset the chars so \"oo\"\n // becomes just \"o\".\n chars = char;\n // flipItems will put the previous items at the end of the list so we can loop\n // through them.\n return flipItems(\n items.filter((item) => itemTextStartsWith(item, chars)),\n activeId,\n ).filter((item) => item.id !== activeId);\n}\n\n/**\n * Returns props to create a `CompositeTypeahead` component.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx\n * const store = useCompositeStore();\n * const props = useCompositeTypeahead({ store });\n * <Composite store={store} {...props}>\n * <CompositeItem>Item 1</CompositeItem>\n * <CompositeItem>Item 2</CompositeItem>\n * </Composite>\n * ```\n */\nexport const useCompositeTypeahead = createHook<\n TagName,\n CompositeTypeaheadOptions\n>(function useCompositeTypeahead({ store, typeahead = true, ...props }) {\n const context = useCompositeContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"CompositeTypeahead must be a Composite component\",\n );\n\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const cleanupTimeoutRef = useRef(0);\n\n // We have to listen to the event in the capture phase because the event\n // might be handled by a child component. For example, the space key may\n // trigger a click event on a child component. We need to prevent this\n // behavior if the character is a valid typeahead key.\n const onKeyDownCapture = useEvent((event: KeyboardEvent<HTMLType>) => {\n onKeyDownCaptureProp?.(event);\n if (event.defaultPrevented) return;\n if (!typeahead) return;\n if (!store) return;\n if (!isValidTypeaheadEvent(event)) {\n return clearChars();\n }\n const { renderedItems, items, activeId, id } = store.getState();\n // We typically want to use the rendered items, as they're already sorted.\n // However, the composite list might be unmounted or virtualized, in which\n // case we'll use the original items.\n let enabledItems = getEnabledItems(\n items.length > renderedItems.length ? items : renderedItems,\n );\n // When the composite widget contains items with the `offscreenMode`\n // prop, we need to consider them as well.\n const document = getDocument(event.currentTarget);\n const selector = `[data-offscreen-id=\"${id}\"]`;\n const offscreenItems = document.querySelectorAll<HTMLElement>(selector);\n // Push the offscreen items to the enabled items list.\n for (const element of offscreenItems) {\n const disabled =\n element.ariaDisabled === \"true\" ||\n (\"disabled\" in element && !!element.disabled);\n enabledItems.push({ id: element.id, element, disabled });\n }\n // If there are offscreen items, we need to sort the enabled items based on\n // their DOM position so offscreen elements above the viewport are correctly\n // considered.\n if (offscreenItems.length) {\n enabledItems = sortBasedOnDOMPosition(enabledItems, (i) => i.element);\n }\n if (!isSelfTargetOrItem(event, enabledItems)) return clearChars();\n event.preventDefault();\n // We need to clear the previous cleanup timeout so we can append the\n // pressed char to the existing one.\n window.clearTimeout(cleanupTimeoutRef.current);\n // Schedule a new cleanup timeout. After a short delay we'll reset the\n // characters so the next one counts as a new start character.\n cleanupTimeoutRef.current = window.setTimeout(() => {\n chars = \"\";\n }, 500);\n // Always consider the lowercase version of the key.\n const char = event.key.toLowerCase();\n chars += char;\n enabledItems = getSameInitialItems(enabledItems, char, activeId);\n const item = enabledItems.find((item) => itemTextStartsWith(item, chars));\n if (item) {\n store.move(item.id);\n } else {\n // Immediately clear the characters so the next keypress starts a new\n // search.\n clearChars();\n }\n });\n\n props = {\n ...props,\n onKeyDownCapture,\n };\n\n return removeUndefinedValues(props);\n});\n\n/**\n * Renders a component that adds typeahead functionality to composite\n * components.\n *\n * When the\n * [`typeahead`](https://ariakit.com/reference/composite-typeahead#typeahead)\n * prop is enabled, which it is by default, hitting printable character keys\n * will move focus to the next composite item that begins with the input\n * characters.\n * @see https://ariakit.com/components/composite\n * @example\n * ```jsx\n * <CompositeProvider>\n * <Composite render={<CompositeTypeahead />}>\n * <CompositeItem>Item 1</CompositeItem>\n * <CompositeItem>Item 2</CompositeItem>\n * </Composite>\n * </CompositeProvider>\n * ```\n */\nexport const CompositeTypeahead = forwardRef(function CompositeTypeahead(\n props: CompositeTypeaheadProps,\n) {\n const htmlProps = useCompositeTypeahead(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface CompositeTypeaheadOptions<\n _T extends ElementType = TagName,\n> extends Options {\n /**\n * Object returned by the\n * [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)\n * hook. If not provided, the closest\n * [`Composite`](https://ariakit.com/reference/composite) or\n * [`CompositeProvider`](https://ariakit.com/reference/composite-provider)\n * components' context will be used.\n */\n store?: CompositeStore;\n /**\n * When enabled, pressing printable character keys will move focus to the next\n * composite item that starts with the entered characters.\n * @default true\n */\n typeahead?: boolean;\n}\n\nexport type CompositeTypeaheadProps<T extends ElementType = TagName> = Props<\n T,\n CompositeTypeaheadOptions<T>\n>;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { i as useComposite, n as CompositeOptions, r as CompositeProps, t as Composite } from "../composite-DLvyFHMq.js";
2
+ export { Composite, CompositeOptions, CompositeProps, useComposite };