@accelint/design-system 0.3.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/README.md +12 -12
  2. package/dist/chunk-PZ5AY32C.js +9 -0
  3. package/dist/chunk-PZ5AY32C.js.map +1 -0
  4. package/dist/components/aria/aria.d.ts +32 -0
  5. package/dist/components/aria/aria.js +39 -0
  6. package/dist/components/aria/aria.js.map +1 -0
  7. package/dist/components/aria/index.d.ts +3 -0
  8. package/dist/components/aria/index.js +4 -0
  9. package/dist/components/aria/index.js.map +1 -0
  10. package/dist/components/button/button.css.d.ts +41 -0
  11. package/dist/components/button/button.css.js +12 -0
  12. package/dist/components/button/button.css.js.map +1 -0
  13. package/dist/components/button/button.d.ts +47 -0
  14. package/dist/components/button/button.js +104 -0
  15. package/dist/components/button/button.js.map +1 -0
  16. package/dist/components/button/index.d.ts +8 -0
  17. package/dist/components/button/index.js +6 -0
  18. package/dist/components/button/index.js.map +1 -0
  19. package/dist/components/button/types.d.ts +32 -0
  20. package/dist/components/button/types.js +3 -0
  21. package/dist/components/button/types.js.map +1 -0
  22. package/dist/components/checkbox/checkbox.css.d.ts +44 -0
  23. package/dist/components/checkbox/checkbox.css.js +14 -0
  24. package/dist/components/checkbox/checkbox.css.js.map +1 -0
  25. package/dist/components/checkbox/checkbox.d.ts +30 -0
  26. package/dist/components/checkbox/checkbox.js +123 -0
  27. package/dist/components/checkbox/checkbox.js.map +1 -0
  28. package/dist/components/checkbox/index.d.ts +9 -0
  29. package/dist/components/checkbox/index.js +6 -0
  30. package/dist/components/checkbox/index.js.map +1 -0
  31. package/dist/components/checkbox/types.d.ts +41 -0
  32. package/dist/components/checkbox/types.js +3 -0
  33. package/dist/components/checkbox/types.js.map +1 -0
  34. package/dist/components/chip/chip.css.d.ts +41 -0
  35. package/dist/components/chip/chip.css.js +12 -0
  36. package/dist/components/chip/chip.css.js.map +1 -0
  37. package/dist/components/chip/chip.d.ts +41 -0
  38. package/dist/components/chip/chip.js +171 -0
  39. package/dist/components/chip/chip.js.map +1 -0
  40. package/dist/components/chip/index.d.ts +11 -0
  41. package/dist/components/chip/index.js +6 -0
  42. package/dist/components/chip/index.js.map +1 -0
  43. package/dist/components/chip/types.d.ts +37 -0
  44. package/dist/components/chip/types.js +3 -0
  45. package/dist/components/chip/types.js.map +1 -0
  46. package/dist/components/collection/collection.d.ts +17 -0
  47. package/dist/components/collection/collection.js +22 -0
  48. package/dist/components/collection/collection.js.map +1 -0
  49. package/dist/components/collection/index.d.ts +6 -0
  50. package/dist/components/collection/index.js +4 -0
  51. package/dist/components/collection/index.js.map +1 -0
  52. package/dist/components/combo-box/combo-box.css.d.ts +35 -0
  53. package/dist/components/combo-box/combo-box.css.js +12 -0
  54. package/dist/components/combo-box/combo-box.css.js.map +1 -0
  55. package/dist/components/combo-box/combo-box.d.ts +21 -0
  56. package/dist/components/combo-box/combo-box.js +116 -0
  57. package/dist/components/combo-box/combo-box.js.map +1 -0
  58. package/dist/components/combo-box/index.d.ts +13 -0
  59. package/dist/components/combo-box/index.js +6 -0
  60. package/dist/components/combo-box/index.js.map +1 -0
  61. package/dist/components/combo-box/types.d.ts +38 -0
  62. package/dist/components/combo-box/types.js +3 -0
  63. package/dist/components/combo-box/types.js.map +1 -0
  64. package/dist/components/dialog/dialog.css.d.ts +45 -0
  65. package/dist/components/dialog/dialog.css.js +12 -0
  66. package/dist/components/dialog/dialog.css.js.map +1 -0
  67. package/dist/components/dialog/dialog.d.ts +29 -0
  68. package/dist/components/dialog/dialog.js +186 -0
  69. package/dist/components/dialog/dialog.js.map +1 -0
  70. package/dist/components/dialog/index.d.ts +11 -0
  71. package/dist/components/dialog/index.js +6 -0
  72. package/dist/components/dialog/index.js.map +1 -0
  73. package/dist/components/dialog/types.d.ts +53 -0
  74. package/dist/components/dialog/types.js +3 -0
  75. package/dist/components/dialog/types.js.map +1 -0
  76. package/dist/components/drawer/drawer.css.d.ts +48 -0
  77. package/dist/components/drawer/drawer.css.js +14 -0
  78. package/dist/components/drawer/drawer.css.js.map +1 -0
  79. package/dist/components/drawer/drawer.d.ts +28 -0
  80. package/dist/components/drawer/drawer.js +305 -0
  81. package/dist/components/drawer/drawer.js.map +1 -0
  82. package/dist/components/drawer/index.d.ts +16 -0
  83. package/dist/components/drawer/index.js +6 -0
  84. package/dist/components/drawer/index.js.map +1 -0
  85. package/dist/components/drawer/types.d.ts +77 -0
  86. package/dist/components/drawer/types.js +3 -0
  87. package/dist/components/drawer/types.js.map +1 -0
  88. package/dist/components/element/element.d.ts +16 -0
  89. package/dist/components/element/element.js +24 -0
  90. package/dist/components/element/element.js.map +1 -0
  91. package/dist/components/element/index.d.ts +5 -0
  92. package/dist/components/element/index.js +5 -0
  93. package/dist/components/element/index.js.map +1 -0
  94. package/dist/components/element/types.d.ts +24 -0
  95. package/dist/components/element/types.js +3 -0
  96. package/dist/components/element/types.js.map +1 -0
  97. package/dist/components/group/group.css.d.ts +20 -0
  98. package/dist/components/group/group.css.js +11 -0
  99. package/dist/components/group/group.css.js.map +1 -0
  100. package/dist/components/group/group.d.ts +16 -0
  101. package/dist/components/group/group.js +61 -0
  102. package/dist/components/group/group.js.map +1 -0
  103. package/dist/components/group/index.d.ts +6 -0
  104. package/dist/components/group/index.js +6 -0
  105. package/dist/components/group/index.js.map +1 -0
  106. package/dist/components/group/types.d.ts +38 -0
  107. package/dist/components/group/types.js +3 -0
  108. package/dist/components/group/types.js.map +1 -0
  109. package/dist/components/icon/icon.css.d.ts +23 -0
  110. package/dist/components/icon/icon.css.js +12 -0
  111. package/dist/components/icon/icon.css.js.map +1 -0
  112. package/dist/components/icon/icon.d.ts +17 -0
  113. package/dist/components/icon/icon.js +39 -0
  114. package/dist/components/icon/icon.js.map +1 -0
  115. package/dist/components/icon/index.d.ts +5 -0
  116. package/dist/components/icon/index.js +6 -0
  117. package/dist/components/icon/index.js.map +1 -0
  118. package/dist/components/icon/types.d.ts +16 -0
  119. package/dist/components/icon/types.js +3 -0
  120. package/dist/components/icon/types.js.map +1 -0
  121. package/dist/components/index.d.ts +93 -0
  122. package/dist/components/index.js +31 -0
  123. package/dist/components/index.js.map +1 -0
  124. package/dist/components/input/index.d.ts +6 -0
  125. package/dist/components/input/index.js +6 -0
  126. package/dist/components/input/index.js.map +1 -0
  127. package/dist/components/input/input.css.d.ts +34 -0
  128. package/dist/components/input/input.css.js +12 -0
  129. package/dist/components/input/input.css.js.map +1 -0
  130. package/dist/components/input/input.d.ts +13 -0
  131. package/dist/components/input/input.js +141 -0
  132. package/dist/components/input/input.js.map +1 -0
  133. package/dist/components/input/types.d.ts +47 -0
  134. package/dist/components/input/types.js +3 -0
  135. package/dist/components/input/types.js.map +1 -0
  136. package/dist/components/menu/index.d.ts +8 -0
  137. package/dist/components/menu/index.js +6 -0
  138. package/dist/components/menu/index.js.map +1 -0
  139. package/dist/components/menu/menu.css.d.ts +83 -0
  140. package/dist/components/menu/menu.css.js +13 -0
  141. package/dist/components/menu/menu.css.js.map +1 -0
  142. package/dist/components/menu/menu.d.ts +32 -0
  143. package/dist/components/menu/menu.js +252 -0
  144. package/dist/components/menu/menu.js.map +1 -0
  145. package/dist/components/menu/types.d.ts +51 -0
  146. package/dist/components/menu/types.js +3 -0
  147. package/dist/components/menu/types.js.map +1 -0
  148. package/dist/components/merge-provider/index.d.ts +5 -0
  149. package/dist/components/merge-provider/index.js +5 -0
  150. package/dist/components/merge-provider/index.js.map +1 -0
  151. package/dist/components/merge-provider/merge-provider.d.ts +20 -0
  152. package/dist/components/merge-provider/merge-provider.js +46 -0
  153. package/dist/components/merge-provider/merge-provider.js.map +1 -0
  154. package/dist/components/merge-provider/types.d.ts +8 -0
  155. package/dist/components/merge-provider/types.js +3 -0
  156. package/dist/components/merge-provider/types.js.map +1 -0
  157. package/dist/components/number-field/index.d.ts +12 -0
  158. package/dist/components/number-field/index.js +5 -0
  159. package/dist/components/number-field/index.js.map +1 -0
  160. package/dist/components/number-field/number-field.css.d.ts +40 -0
  161. package/dist/components/number-field/number-field.css.js +12 -0
  162. package/dist/components/number-field/number-field.css.js.map +1 -0
  163. package/dist/components/number-field/number-field.d.ts +20 -0
  164. package/dist/components/number-field/number-field.js +125 -0
  165. package/dist/components/number-field/number-field.js.map +1 -0
  166. package/dist/components/number-field/types.d.ts +38 -0
  167. package/dist/components/number-field/types.js +3 -0
  168. package/dist/components/number-field/types.js.map +1 -0
  169. package/dist/components/options/index.d.ts +8 -0
  170. package/dist/components/options/index.js +6 -0
  171. package/dist/components/options/index.js.map +1 -0
  172. package/dist/components/options/options.css.d.ts +87 -0
  173. package/dist/components/options/options.css.js +14 -0
  174. package/dist/components/options/options.css.js.map +1 -0
  175. package/dist/components/options/options.d.ts +28 -0
  176. package/dist/components/options/options.js +253 -0
  177. package/dist/components/options/options.js.map +1 -0
  178. package/dist/components/options/types.d.ts +52 -0
  179. package/dist/components/options/types.js +3 -0
  180. package/dist/components/options/types.js.map +1 -0
  181. package/dist/components/picker/index.d.ts +6 -0
  182. package/dist/components/picker/index.js +6 -0
  183. package/dist/components/picker/index.js.map +1 -0
  184. package/dist/components/picker/picker.css.d.ts +37 -0
  185. package/dist/components/picker/picker.css.js +13 -0
  186. package/dist/components/picker/picker.css.js.map +1 -0
  187. package/dist/components/picker/picker.d.ts +24 -0
  188. package/dist/components/picker/picker.js +113 -0
  189. package/dist/components/picker/picker.js.map +1 -0
  190. package/dist/components/picker/picker.stories.css.d.ts +5 -0
  191. package/dist/components/picker/picker.stories.css.js +10 -0
  192. package/dist/components/picker/picker.stories.css.js.map +1 -0
  193. package/dist/components/picker/types.d.ts +30 -0
  194. package/dist/components/picker/types.js +3 -0
  195. package/dist/components/picker/types.js.map +1 -0
  196. package/dist/components/popover/index.d.ts +14 -0
  197. package/dist/components/popover/index.js +6 -0
  198. package/dist/components/popover/index.js.map +1 -0
  199. package/dist/components/popover/popover.css.d.ts +45 -0
  200. package/dist/components/popover/popover.css.js +12 -0
  201. package/dist/components/popover/popover.css.js.map +1 -0
  202. package/dist/components/popover/popover.d.ts +22 -0
  203. package/dist/components/popover/popover.js +139 -0
  204. package/dist/components/popover/popover.js.map +1 -0
  205. package/dist/components/popover/types.d.ts +39 -0
  206. package/dist/components/popover/types.js +3 -0
  207. package/dist/components/popover/types.js.map +1 -0
  208. package/dist/components/query-builder/action-element.d.ts +23 -0
  209. package/dist/components/query-builder/action-element.js +26 -0
  210. package/dist/components/query-builder/action-element.js.map +1 -0
  211. package/dist/components/query-builder/constants.d.ts +25 -0
  212. package/dist/components/query-builder/constants.js +25 -0
  213. package/dist/components/query-builder/constants.js.map +1 -0
  214. package/dist/components/query-builder/dataset-sample.d.ts +95 -0
  215. package/dist/components/query-builder/dataset-sample.js +272 -0
  216. package/dist/components/query-builder/dataset-sample.js.map +1 -0
  217. package/dist/components/query-builder/group.d.ts +9 -0
  218. package/dist/components/query-builder/group.js +396 -0
  219. package/dist/components/query-builder/group.js.map +1 -0
  220. package/dist/components/query-builder/index.d.ts +23 -0
  221. package/dist/components/query-builder/index.js +8 -0
  222. package/dist/components/query-builder/index.js.map +1 -0
  223. package/dist/components/query-builder/query-builder.css.d.ts +116 -0
  224. package/dist/components/query-builder/query-builder.css.js +14 -0
  225. package/dist/components/query-builder/query-builder.css.js.map +1 -0
  226. package/dist/components/query-builder/query-builder.d.ts +23 -0
  227. package/dist/components/query-builder/query-builder.js +196 -0
  228. package/dist/components/query-builder/query-builder.js.map +1 -0
  229. package/dist/components/query-builder/rule.d.ts +7 -0
  230. package/dist/components/query-builder/rule.js +401 -0
  231. package/dist/components/query-builder/rule.js.map +1 -0
  232. package/dist/components/query-builder/types.d.ts +146 -0
  233. package/dist/components/query-builder/types.js +3 -0
  234. package/dist/components/query-builder/types.js.map +1 -0
  235. package/dist/components/query-builder/utils.d.ts +32 -0
  236. package/dist/components/query-builder/utils.js +25 -0
  237. package/dist/components/query-builder/utils.js.map +1 -0
  238. package/dist/components/query-builder/value-editor.d.ts +24 -0
  239. package/dist/components/query-builder/value-editor.js +207 -0
  240. package/dist/components/query-builder/value-editor.js.map +1 -0
  241. package/dist/components/query-builder/value-selector.d.ts +6 -0
  242. package/dist/components/query-builder/value-selector.js +77 -0
  243. package/dist/components/query-builder/value-selector.js.map +1 -0
  244. package/dist/components/radio/index.d.ts +7 -0
  245. package/dist/components/radio/index.js +6 -0
  246. package/dist/components/radio/index.js.map +1 -0
  247. package/dist/components/radio/radio.css.d.ts +41 -0
  248. package/dist/components/radio/radio.css.js +14 -0
  249. package/dist/components/radio/radio.css.js.map +1 -0
  250. package/dist/components/radio/radio.d.ts +23 -0
  251. package/dist/components/radio/radio.js +114 -0
  252. package/dist/components/radio/radio.js.map +1 -0
  253. package/dist/components/radio/types.d.ts +32 -0
  254. package/dist/components/radio/types.js +3 -0
  255. package/dist/components/radio/types.js.map +1 -0
  256. package/dist/components/search-field/index.d.ts +12 -0
  257. package/dist/components/search-field/index.js +6 -0
  258. package/dist/components/search-field/index.js.map +1 -0
  259. package/dist/components/search-field/search-field.css.d.ts +28 -0
  260. package/dist/components/search-field/search-field.css.js +11 -0
  261. package/dist/components/search-field/search-field.css.js.map +1 -0
  262. package/dist/components/search-field/search-field.d.ts +21 -0
  263. package/dist/components/search-field/search-field.js +92 -0
  264. package/dist/components/search-field/search-field.js.map +1 -0
  265. package/dist/components/search-field/types.d.ts +34 -0
  266. package/dist/components/search-field/types.js +3 -0
  267. package/dist/components/search-field/types.js.map +1 -0
  268. package/dist/components/select/index.d.ts +12 -0
  269. package/dist/components/select/index.js +6 -0
  270. package/dist/components/select/index.js.map +1 -0
  271. package/dist/components/select/select.css.d.ts +37 -0
  272. package/dist/components/select/select.css.js +12 -0
  273. package/dist/components/select/select.css.js.map +1 -0
  274. package/dist/components/select/select.d.ts +20 -0
  275. package/dist/components/select/select.js +109 -0
  276. package/dist/components/select/select.js.map +1 -0
  277. package/dist/components/select/types.d.ts +36 -0
  278. package/dist/components/select/types.js +3 -0
  279. package/dist/components/select/types.js.map +1 -0
  280. package/dist/components/switch/index.d.ts +6 -0
  281. package/dist/components/switch/index.js +6 -0
  282. package/dist/components/switch/index.js.map +1 -0
  283. package/dist/components/switch/switch.css.d.ts +31 -0
  284. package/dist/components/switch/switch.css.js +12 -0
  285. package/dist/components/switch/switch.css.js.map +1 -0
  286. package/dist/components/switch/switch.d.ts +10 -0
  287. package/dist/components/switch/switch.js +60 -0
  288. package/dist/components/switch/switch.js.map +1 -0
  289. package/dist/components/switch/types.d.ts +21 -0
  290. package/dist/components/switch/types.js +3 -0
  291. package/dist/components/switch/types.js.map +1 -0
  292. package/dist/components/tabs/index.d.ts +8 -0
  293. package/dist/components/tabs/index.js +6 -0
  294. package/dist/components/tabs/index.js.map +1 -0
  295. package/dist/components/tabs/tabs.css.d.ts +57 -0
  296. package/dist/components/tabs/tabs.css.js +15 -0
  297. package/dist/components/tabs/tabs.css.js.map +1 -0
  298. package/dist/components/tabs/tabs.d.ts +75 -0
  299. package/dist/components/tabs/tabs.js +258 -0
  300. package/dist/components/tabs/tabs.js.map +1 -0
  301. package/dist/components/tabs/types.d.ts +84 -0
  302. package/dist/components/tabs/types.js +3 -0
  303. package/dist/components/tabs/types.js.map +1 -0
  304. package/dist/components/text-field/index.d.ts +9 -0
  305. package/dist/components/text-field/index.js +5 -0
  306. package/dist/components/text-field/index.js.map +1 -0
  307. package/dist/components/text-field/text-field.css.d.ts +28 -0
  308. package/dist/components/text-field/text-field.css.js +12 -0
  309. package/dist/components/text-field/text-field.css.js.map +1 -0
  310. package/dist/components/text-field/text-field.d.ts +63 -0
  311. package/dist/components/text-field/text-field.js +91 -0
  312. package/dist/components/text-field/text-field.js.map +1 -0
  313. package/dist/components/text-field/types.d.ts +28 -0
  314. package/dist/components/text-field/types.js +3 -0
  315. package/dist/components/text-field/types.js.map +1 -0
  316. package/dist/components/textarea/index.d.ts +6 -0
  317. package/dist/components/textarea/index.js +6 -0
  318. package/dist/components/textarea/index.js.map +1 -0
  319. package/dist/components/textarea/textarea.css.d.ts +37 -0
  320. package/dist/components/textarea/textarea.css.js +12 -0
  321. package/dist/components/textarea/textarea.css.js.map +1 -0
  322. package/dist/components/textarea/textarea.d.ts +19 -0
  323. package/dist/components/textarea/textarea.js +134 -0
  324. package/dist/components/textarea/textarea.js.map +1 -0
  325. package/dist/components/textarea/types.d.ts +42 -0
  326. package/dist/components/textarea/types.js +3 -0
  327. package/dist/components/textarea/types.js.map +1 -0
  328. package/dist/components/tooltip/index.d.ts +7 -0
  329. package/dist/components/tooltip/index.js +6 -0
  330. package/dist/components/tooltip/index.js.map +1 -0
  331. package/dist/components/tooltip/tooltip.css.d.ts +30 -0
  332. package/dist/components/tooltip/tooltip.css.js +12 -0
  333. package/dist/components/tooltip/tooltip.css.js.map +1 -0
  334. package/dist/components/tooltip/tooltip.d.ts +30 -0
  335. package/dist/components/tooltip/tooltip.js +112 -0
  336. package/dist/components/tooltip/tooltip.js.map +1 -0
  337. package/dist/components/tooltip/types.d.ts +41 -0
  338. package/dist/components/tooltip/types.js +3 -0
  339. package/dist/components/tooltip/types.js.map +1 -0
  340. package/dist/components/tree/index.d.ts +17 -0
  341. package/dist/components/tree/index.js +6 -0
  342. package/dist/components/tree/index.js.map +1 -0
  343. package/dist/components/tree/tree.css.d.ts +90 -0
  344. package/dist/components/tree/tree.css.js +15 -0
  345. package/dist/components/tree/tree.css.js.map +1 -0
  346. package/dist/components/tree/tree.d.ts +29 -0
  347. package/dist/components/tree/tree.js +491 -0
  348. package/dist/components/tree/tree.js.map +1 -0
  349. package/dist/components/tree/types.d.ts +121 -0
  350. package/dist/components/tree/types.js +3 -0
  351. package/dist/components/tree/types.js.map +1 -0
  352. package/dist/components/tree/utils.d.ts +12 -0
  353. package/dist/components/tree/utils.js +89 -0
  354. package/dist/components/tree/utils.js.map +1 -0
  355. package/dist/hooks/index.d.ts +52 -0
  356. package/dist/hooks/index.js +11 -0
  357. package/dist/hooks/index.js.map +1 -0
  358. package/dist/hooks/use-collection-render/index.d.ts +3 -0
  359. package/dist/hooks/use-collection-render/index.js +4 -0
  360. package/dist/hooks/use-collection-render/index.js.map +1 -0
  361. package/dist/hooks/use-collection-render/use-collection-render.d.ts +11 -0
  362. package/dist/hooks/use-collection-render/use-collection-render.js +28 -0
  363. package/dist/hooks/use-collection-render/use-collection-render.js.map +1 -0
  364. package/dist/hooks/use-context-props/index.d.ts +3 -0
  365. package/dist/hooks/use-context-props/index.js +4 -0
  366. package/dist/hooks/use-context-props/index.js.map +1 -0
  367. package/dist/hooks/use-context-props/use-context-props.d.ts +10 -0
  368. package/dist/hooks/use-context-props/use-context-props.js +18 -0
  369. package/dist/hooks/use-context-props/use-context-props.js.map +1 -0
  370. package/dist/hooks/use-defaults/index.d.ts +37 -0
  371. package/dist/hooks/use-defaults/index.js +5 -0
  372. package/dist/hooks/use-defaults/index.js.map +1 -0
  373. package/dist/hooks/use-defaults/types.d.ts +83 -0
  374. package/dist/hooks/use-defaults/types.js +3 -0
  375. package/dist/hooks/use-defaults/types.js.map +1 -0
  376. package/dist/hooks/use-defaults/use-defaults.d.ts +96 -0
  377. package/dist/hooks/use-defaults/use-defaults.js +36 -0
  378. package/dist/hooks/use-defaults/use-defaults.js.map +1 -0
  379. package/dist/hooks/use-propagating-press/index.d.ts +2 -0
  380. package/dist/hooks/use-propagating-press/index.js +4 -0
  381. package/dist/hooks/use-propagating-press/index.js.map +1 -0
  382. package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +13 -0
  383. package/dist/hooks/use-propagating-press/use-propagating-press.js +21 -0
  384. package/dist/hooks/use-propagating-press/use-propagating-press.js.map +1 -0
  385. package/dist/hooks/use-slot/index.d.ts +2 -0
  386. package/dist/hooks/use-slot/index.js +4 -0
  387. package/dist/hooks/use-slot/index.js.map +1 -0
  388. package/dist/hooks/use-slot/use-slot.d.ts +16 -0
  389. package/dist/hooks/use-slot/use-slot.js +21 -0
  390. package/dist/hooks/use-slot/use-slot.js.map +1 -0
  391. package/dist/hooks/use-theme/index.d.ts +43 -0
  392. package/dist/hooks/use-theme/index.js +5 -0
  393. package/dist/hooks/use-theme/index.js.map +1 -0
  394. package/dist/hooks/use-theme/types.d.ts +104 -0
  395. package/dist/hooks/use-theme/types.js +3 -0
  396. package/dist/hooks/use-theme/types.js.map +1 -0
  397. package/dist/hooks/use-theme/use-theme.css.d.ts +3 -0
  398. package/dist/hooks/use-theme/use-theme.css.js +8 -0
  399. package/dist/hooks/use-theme/use-theme.css.js.map +1 -0
  400. package/dist/hooks/use-theme/use-theme.d.ts +72 -0
  401. package/dist/hooks/use-theme/use-theme.js +108 -0
  402. package/dist/hooks/use-theme/use-theme.js.map +1 -0
  403. package/dist/hooks/use-tree/index.d.ts +4 -0
  404. package/dist/hooks/use-tree/index.js +4 -0
  405. package/dist/hooks/use-tree/index.js.map +1 -0
  406. package/dist/hooks/use-tree/use-tree.d.ts +7 -0
  407. package/dist/hooks/use-tree/use-tree.js +262 -0
  408. package/dist/hooks/use-tree/use-tree.js.map +1 -0
  409. package/dist/hooks/use-tree/utils.d.ts +10 -0
  410. package/dist/hooks/use-tree/utils.js +83 -0
  411. package/dist/hooks/use-tree/utils.js.map +1 -0
  412. package/dist/hooks/use-update-effect/index.d.ts +1 -0
  413. package/dist/hooks/use-update-effect/index.js +4 -0
  414. package/dist/hooks/use-update-effect/index.js.map +1 -0
  415. package/dist/hooks/use-update-effect/use-update-effect.d.ts +3 -0
  416. package/dist/hooks/use-update-effect/use-update-effect.js +23 -0
  417. package/dist/hooks/use-update-effect/use-update-effect.js.map +1 -0
  418. package/dist/index.css +124 -84
  419. package/dist/index.d.ts +111 -764
  420. package/dist/index.js +5 -5295
  421. package/dist/index.js.map +1 -1
  422. package/dist/ladle/actions.d.ts +3 -0
  423. package/dist/ladle/actions.js +26 -0
  424. package/dist/ladle/actions.js.map +1 -0
  425. package/dist/ladle/index.d.ts +1 -0
  426. package/dist/ladle/index.js +4 -0
  427. package/dist/ladle/index.js.map +1 -0
  428. package/dist/styles/index.d.ts +6 -0
  429. package/dist/styles/index.js +9 -0
  430. package/dist/styles/index.js.map +1 -0
  431. package/dist/styles/layers.css.d.ts +18 -0
  432. package/dist/styles/layers.css.js +8 -0
  433. package/dist/styles/layers.css.js.map +1 -0
  434. package/dist/styles/reset.css.d.ts +2 -0
  435. package/dist/styles/reset.css.js +3 -0
  436. package/dist/styles/reset.css.js.map +1 -0
  437. package/dist/styles/space.css.d.ts +2 -0
  438. package/dist/styles/space.css.js +3 -0
  439. package/dist/styles/space.css.js.map +1 -0
  440. package/dist/styles/surfaces.css.d.ts +6 -0
  441. package/dist/styles/surfaces.css.js +8 -0
  442. package/dist/styles/surfaces.css.js.map +1 -0
  443. package/dist/styles/theme.css.d.ts +337 -0
  444. package/dist/styles/theme.css.js +35 -0
  445. package/dist/styles/theme.css.js.map +1 -0
  446. package/dist/styles/typography.css.d.ts +21 -0
  447. package/dist/styles/typography.css.js +12 -0
  448. package/dist/styles/typography.css.js.map +1 -0
  449. package/dist/test/setup.d.ts +2 -0
  450. package/dist/test/setup.js +6895 -0
  451. package/dist/test/setup.js.map +1 -0
  452. package/dist/types/deckgl.d.ts +3 -0
  453. package/dist/types/deckgl.js +3 -0
  454. package/dist/types/deckgl.js.map +1 -0
  455. package/dist/types/generic.d.ts +5 -0
  456. package/dist/types/generic.js +3 -0
  457. package/dist/types/generic.js.map +1 -0
  458. package/dist/types/index.d.ts +10 -0
  459. package/dist/types/index.js +3 -0
  460. package/dist/types/index.js.map +1 -0
  461. package/dist/types/props.d.ts +6 -0
  462. package/dist/types/props.js +3 -0
  463. package/dist/types/props.js.map +1 -0
  464. package/dist/types/react-aria.d.ts +94 -0
  465. package/dist/types/react-aria.js +3 -0
  466. package/dist/types/react-aria.js.map +1 -0
  467. package/dist/types/react.d.d.ts +22 -0
  468. package/dist/types/react.d.js +3 -0
  469. package/dist/types/react.d.js.map +1 -0
  470. package/dist/types/use-tree.d.ts +56 -0
  471. package/dist/types/use-tree.js +3 -0
  472. package/dist/types/use-tree.js.map +1 -0
  473. package/dist/types/vanilla-extract.d.ts +18 -0
  474. package/dist/types/vanilla-extract.js +3 -0
  475. package/dist/types/vanilla-extract.js.map +1 -0
  476. package/dist/utils/css.d.ts +142 -0
  477. package/dist/utils/css.js +165 -0
  478. package/dist/utils/css.js.map +1 -0
  479. package/dist/utils/events.d.ts +11 -0
  480. package/dist/utils/events.js +10 -0
  481. package/dist/utils/events.js.map +1 -0
  482. package/dist/utils/index.d.ts +10 -0
  483. package/dist/utils/index.js +7 -0
  484. package/dist/utils/index.js.map +1 -0
  485. package/dist/utils/props.d.ts +32 -0
  486. package/dist/utils/props.js +144 -0
  487. package/dist/utils/props.js.map +1 -0
  488. package/dist/utils/validators.d.ts +52 -0
  489. package/dist/utils/validators.js +42 -0
  490. package/dist/utils/validators.js.map +1 -0
  491. package/dist/vanilla.d.ts +63 -3
  492. package/dist/vanilla.js +27 -1
  493. package/dist/vanilla.js.map +1 -1
  494. package/package.json +59 -54
  495. package/dist/chunk-4ZUGQMUD.js +0 -419
  496. package/dist/chunk-4ZUGQMUD.js.map +0 -1
  497. package/dist/index.css.map +0 -1
  498. package/dist/vanilla-oo0eN2ya.d.ts +0 -2628
@@ -0,0 +1,125 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { LabelContext, Provider, NumberField as NumberField$1 } from 'react-aria-components';
4
+ import { AriaTextContext, AriaFieldErrorContext, AriaGroupContext, ButtonContext, InputContext } from '../../components/index.js';
5
+ import { useContextProps, useDefaultProps, useTheme } from '../../hooks/index.js';
6
+ import { bodies } from '../../styles/index.js';
7
+ import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
8
+ import { numberFieldClassNames, numberFieldStateVars } from './number-field.css.js';
9
+ import { jsx } from 'react/jsx-runtime';
10
+
11
+ var defaultMapping = {
12
+ description: {
13
+ sm: bodies.xs,
14
+ lg: bodies.xs
15
+ },
16
+ error: {
17
+ sm: bodies.xs,
18
+ lg: bodies.xs
19
+ },
20
+ increment: {
21
+ sm: { size: "xs", variant: "bare" },
22
+ lg: { size: "sm", variant: "bare" }
23
+ },
24
+ decrement: {
25
+ sm: { size: "xs", variant: "bare" },
26
+ lg: { size: "sm", variant: "bare" }
27
+ }
28
+ };
29
+ var NumberFieldContext = createContext(null);
30
+ var NumberField = forwardRef(function NumberField2(props, ref) {
31
+ [props, ref] = useContextProps(props, ref, NumberFieldContext);
32
+ props = useDefaultProps(props, "NumberField");
33
+ const {
34
+ children: childrenProp,
35
+ classNames: classNamesProp,
36
+ mapping: mappingProp,
37
+ size = "lg",
38
+ ...rest
39
+ } = props;
40
+ const theme = useTheme();
41
+ const mapping = useMemo(
42
+ () => ({
43
+ ...defaultMapping,
44
+ ...mappingProp
45
+ }),
46
+ [mappingProp]
47
+ );
48
+ const classNames = useMemo(
49
+ () => mergeClassNames(
50
+ numberFieldClassNames,
51
+ theme.NumberField,
52
+ classNamesProp,
53
+ {
54
+ description: mapping.description[size],
55
+ error: mapping.error[size]
56
+ }
57
+ ),
58
+ [theme.NumberField, classNamesProp, mapping, size]
59
+ );
60
+ const style = useCallback(
61
+ (renderProps) => inlineVars(numberFieldStateVars, {
62
+ ...renderProps,
63
+ size
64
+ }),
65
+ [size]
66
+ );
67
+ const values = useMemo(
68
+ () => [
69
+ [LabelContext, { className: classNames?.label }],
70
+ [
71
+ AriaTextContext,
72
+ {
73
+ slots: {
74
+ description: { className: classNames?.description }
75
+ }
76
+ }
77
+ ],
78
+ [AriaFieldErrorContext, { className: classNames?.error }],
79
+ [
80
+ AriaGroupContext,
81
+ {
82
+ className: classNames?.group
83
+ }
84
+ ],
85
+ [
86
+ ButtonContext,
87
+ {
88
+ slots: {
89
+ increment: {
90
+ ...mapping.increment[size],
91
+ classNames: classNames?.increment
92
+ },
93
+ decrement: {
94
+ ...mapping.decrement[size],
95
+ classNames: classNames?.decrement
96
+ }
97
+ }
98
+ }
99
+ ],
100
+ [InputContext, { classNames: classNames?.input, size }]
101
+ ],
102
+ [classNames, mapping, size]
103
+ );
104
+ const children = useCallback(
105
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.numberField, children: callRenderProps(childrenProp, {
106
+ ...renderProps,
107
+ defaultChildren: null
108
+ }) }) }),
109
+ [childrenProp, classNames?.numberField, values]
110
+ );
111
+ return /* @__PURE__ */ jsx(
112
+ NumberField$1,
113
+ {
114
+ ...rest,
115
+ ref,
116
+ className: classNames?.container,
117
+ style,
118
+ children
119
+ }
120
+ );
121
+ });
122
+
123
+ export { NumberField, NumberFieldContext };
124
+ //# sourceMappingURL=number-field.js.map
125
+ //# sourceMappingURL=number-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/number-field/number-field.tsx"],"names":["NumberField","RACNumberField"],"mappings":"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","file":"number-field.js","sourcesContent":["import {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n LabelContext,\n type LabelProps,\n type NumberFieldRenderProps,\n Provider,\n type GroupProps as RACGroupProps,\n NumberField as RACNumberField,\n type TextProps,\n} from 'react-aria-components';\nimport {\n AriaFieldErrorContext,\n AriaGroupContext,\n type AriaLabelContext,\n AriaTextContext,\n ButtonContext,\n type ButtonProps,\n InputContext,\n type InputProps,\n} from '../../components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n numberFieldClassNames,\n numberFieldStateVars,\n} from './number-field.css';\nimport type { NumberFieldMapping, NumberFieldProps } from './types';\n\nconst defaultMapping: NumberFieldMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n increment: {\n sm: { size: 'xs', variant: 'bare' },\n lg: { size: 'sm', variant: 'bare' },\n },\n decrement: {\n sm: { size: 'xs', variant: 'bare' },\n lg: { size: 'sm', variant: 'bare' },\n },\n};\n\nexport const NumberFieldContext =\n createContext<ContextValue<NumberFieldProps, HTMLDivElement>>(null);\n\nexport const NumberField = forwardRef(function NumberField(\n props: NumberFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, NumberFieldContext);\n\n props = useDefaultProps(props, 'NumberField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(\n numberFieldClassNames,\n theme.NumberField,\n classNamesProp,\n {\n description: mapping.description[size],\n error: mapping.error[size],\n },\n ),\n [theme.NumberField, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: NumberFieldRenderProps) =>\n inlineVars(numberFieldStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n ]\n >(\n () => [\n [LabelContext, { className: classNames?.label }],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [\n AriaGroupContext,\n {\n className: classNames?.group,\n },\n ],\n [\n ButtonContext,\n {\n slots: {\n increment: {\n ...mapping.increment[size],\n classNames: classNames?.increment,\n },\n decrement: {\n ...mapping.decrement[size],\n classNames: classNames?.decrement,\n },\n },\n },\n ],\n [InputContext, { classNames: classNames?.input, size }],\n ],\n [classNames, mapping, size],\n );\n\n const children = useCallback(\n (renderProps: NumberFieldRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.numberField}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.numberField, values],\n );\n return (\n <RACNumberField\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACNumberField>\n );\n});\n"]}
@@ -0,0 +1,38 @@
1
+ import { NumberFieldProps as NumberFieldProps$1, NumberFieldRenderProps as NumberFieldRenderProps$1 } from 'react-aria-components';
2
+ import { PartialDeep } from 'type-fest';
3
+ import { ButtonClassNames, ButtonProps } from '../button/types.js';
4
+ import { OmitProtectedProps } from '../../types/props.js';
5
+ import { InputClassNames } from '../input/types.js';
6
+ import '../../types/react-aria.js';
7
+ import 'react';
8
+ import '../icon/types.js';
9
+ import '../../types/generic.js';
10
+
11
+ type NumberFieldClassNames = PartialDeep<{
12
+ container: string;
13
+ decrement: ButtonClassNames;
14
+ description: string;
15
+ error: string;
16
+ group: string;
17
+ increment: ButtonClassNames;
18
+ input: InputClassNames;
19
+ label: string;
20
+ numberField: string;
21
+ }>;
22
+ type NumberFieldSizes = 'sm' | 'lg';
23
+ type NumberFieldMapping = {
24
+ description: Partial<Record<NumberFieldSizes, string>>;
25
+ error: Partial<Record<NumberFieldSizes, string>>;
26
+ increment: Partial<Record<NumberFieldSizes, OmitProtectedProps<ButtonProps>>>;
27
+ decrement: Partial<Record<NumberFieldSizes, OmitProtectedProps<ButtonProps>>>;
28
+ };
29
+ type BaseNumberFieldProps = {
30
+ classNames?: NumberFieldClassNames;
31
+ mapping?: Partial<NumberFieldMapping>;
32
+ size?: NumberFieldSizes;
33
+ };
34
+ type NumberFieldRenderProps = Omit<NumberFieldRenderProps$1, 'state'>;
35
+ type NumberFieldProps = Omit<NumberFieldProps$1, 'className' | 'style'> & BaseNumberFieldProps;
36
+ type NumberFieldState = NumberFieldRenderProps & Required<Pick<BaseNumberFieldProps, 'size'>>;
37
+
38
+ export type { NumberFieldClassNames, NumberFieldMapping, NumberFieldProps, NumberFieldRenderProps, NumberFieldSizes, NumberFieldState };
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -0,0 +1,8 @@
1
+ export { Options, OptionsContext, OptionsItem, OptionsItemContext, OptionsList, OptionsListContext } from './options.js';
2
+ export { optionsClassNames, optionsColorVars, optionsContainers, optionsItemStateVars, optionsListStateVars, optionsSpaceVars, optionsStateVars } from './options.css.js';
3
+ export { OptionsClassNames, OptionsItemProps, OptionsItemState, OptionsListProps, OptionsListState, OptionsMapping, OptionsProps, OptionsSizes, OptionsState } from './types.js';
4
+ import 'react-aria-components';
5
+ import 'react';
6
+ import 'type-fest';
7
+ import '../../types/generic.js';
8
+ import '../icon/types.js';
@@ -0,0 +1,6 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+ export { Options, OptionsContext, OptionsItem, OptionsItemContext, OptionsList, OptionsListContext } from './options.js';
3
+ export { optionsClassNames, optionsColorVars, optionsContainers, optionsItemStateVars, optionsListStateVars, optionsSpaceVars, optionsStateVars } from './options.css.js';
4
+ import './types.js';
5
+ //# sourceMappingURL=index.js.map
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,87 @@
1
+ import { OptionsClassNames } from './types.js';
2
+ import 'react-aria-components';
3
+ import 'type-fest';
4
+ import '../../types/generic.js';
5
+ import '../icon/types.js';
6
+ import 'react';
7
+
8
+ declare const optionsContainers: {
9
+ options: string;
10
+ list: string;
11
+ item: string;
12
+ };
13
+ declare const optionsStateVars: {
14
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ isEntering: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
+ isExiting: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ placement: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
+ };
19
+ declare const optionsListStateVars: {
20
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
+ isEmpty: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ };
25
+ declare const optionsItemStateVars: {
26
+ selectionBehavior: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ selectionMode: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ hasDescription: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
+ isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
+ };
37
+ declare const optionsColorVars: {
38
+ list: {
39
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
41
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
42
+ };
43
+ header: {
44
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
45
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
46
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
47
+ };
48
+ separator: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
49
+ item: {
50
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
51
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
52
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
53
+ };
54
+ label: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
55
+ description: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
56
+ };
57
+ declare const optionsSpaceVars: {
58
+ options: {
59
+ minWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
60
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
61
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
62
+ };
63
+ list: {
64
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
65
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
66
+ };
67
+ section: {
68
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
69
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
70
+ };
71
+ header: {
72
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
73
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
74
+ };
75
+ separator: {
76
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
77
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
78
+ };
79
+ item: {
80
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
81
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
82
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
83
+ };
84
+ };
85
+ declare const optionsClassNames: OptionsClassNames;
86
+
87
+ export { optionsClassNames, optionsColorVars, optionsContainers, optionsItemStateVars, optionsListStateVars, optionsSpaceVars, optionsStateVars };
@@ -0,0 +1,14 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+
3
+ // src/components/options/options.css.ts
4
+ var optionsClassNames = { options: { container: "options_optionsClassNames_options_container__140gzb51b", options: "options_optionsClassNames_options_options__140gzb51c surfaces_proud__15mw6jf5 surfaces_flush__15mw6jf4" }, list: { container: "options_optionsClassNames_list_container__140gzb51d", list: "options_optionsClassNames_list_list__140gzb51e", section: "options_optionsClassNames_list_section__140gzb51f", header: "options_optionsClassNames_list_header__140gzb51g", separator: "options_optionsClassNames_list_separator__140gzb51h" }, item: { container: "options_optionsClassNames_item_container__140gzb51i", item: "options_optionsClassNames_item_item__140gzb51j", icon: { icon: "options_optionsClassNames_item_icon_icon__140gzb51k" }, label: "options_optionsClassNames_item_label__140gzb51l", description: "options_optionsClassNames_item_description__140gzb51m", shortcut: "options_optionsClassNames_item_shortcut__140gzb51n" } };
5
+ var optionsColorVars = { list: { background: "var(--list-background__140gzb5l)", border: "var(--list-border__140gzb5m)", color: "var(--list-color__140gzb5n)" }, header: { background: "var(--header-background__140gzb5o)", border: "var(--header-border__140gzb5p)", color: "var(--header-color__140gzb5q)" }, separator: "var(--separator__140gzb5r)", item: { background: "var(--item-background__140gzb5s)", border: "var(--item-border__140gzb5t)", color: "var(--item-color__140gzb5u)" }, label: "var(--label__140gzb5v)", description: "var(--description__140gzb5w)" };
6
+ var optionsContainers = { options: "options_optionsContainers_options__140gzb50", list: "options_optionsContainers_list__140gzb51", item: "options_optionsContainers_item__140gzb52" };
7
+ var optionsItemStateVars = { selectionBehavior: "var(--selectionBehavior__140gzb5b)", selectionMode: "var(--selectionMode__140gzb5c)", size: "var(--size__140gzb5d)", hasDescription: "var(--hasDescription__140gzb5e)", isDisabled: "var(--isDisabled__140gzb5f)", isHovered: "var(--isHovered__140gzb5g)", isPressed: "var(--isPressed__140gzb5h)", isSelected: "var(--isSelected__140gzb5i)", isFocused: "var(--isFocused__140gzb5j)", isFocusVisible: "var(--isFocusVisible__140gzb5k)" };
8
+ var optionsListStateVars = { size: "var(--size__140gzb57)", isEmpty: "var(--isEmpty__140gzb58)", isFocused: "var(--isFocused__140gzb59)", isFocusVisible: "var(--isFocusVisible__140gzb5a)" };
9
+ var optionsSpaceVars = { options: { minWidth: "var(--options-minWidth__140gzb5x)", x: "var(--options-x__140gzb5y)", y: "var(--options-y__140gzb5z)" }, list: { x: "var(--list-x__140gzb510)", y: "var(--list-y__140gzb511)" }, section: { x: "var(--section-x__140gzb512)", y: "var(--section-y__140gzb513)" }, header: { x: "var(--header-x__140gzb514)", y: "var(--header-y__140gzb515)" }, separator: { x: "var(--separator-x__140gzb516)", y: "var(--separator-y__140gzb517)" }, item: { x: "var(--item-x__140gzb518)", y: "var(--item-y__140gzb519)", gap: "var(--item-gap__140gzb51a)" } };
10
+ var optionsStateVars = { size: "var(--size__140gzb53)", isEntering: "var(--isEntering__140gzb54)", isExiting: "var(--isExiting__140gzb55)", placement: "var(--placement__140gzb56)" };
11
+
12
+ export { optionsClassNames, optionsColorVars, optionsContainers, optionsItemStateVars, optionsListStateVars, optionsSpaceVars, optionsStateVars };
13
+ //# sourceMappingURL=options.css.js.map
14
+ //# sourceMappingURL=options.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/options/options.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,oBAAoB,EAAC,OAAA,EAAQ,EAAC,SAAA,EAAU,0DAAyD,OAAQ,EAAA,wGAAA,EAA0G,EAAA,IAAA,EAAK,EAAC,SAAU,EAAA,qDAAA,EAAsD,MAAK,gDAAiD,EAAA,OAAA,EAAQ,qDAAoD,MAAO,EAAA,kDAAA,EAAmD,SAAU,EAAA,qDAAA,IAAuD,IAAK,EAAA,EAAC,WAAU,qDAAsD,EAAA,IAAA,EAAK,kDAAiD,IAAK,EAAA,EAAC,IAAK,EAAA,qDAAA,IAAuD,KAAM,EAAA,iDAAA,EAAkD,aAAY,uDAAwD,EAAA,QAAA,EAAS,sDAAqD;AACl4B,IAAI,gBAAmB,GAAA,EAAC,IAAK,EAAA,EAAC,YAAW,kCAAmC,EAAA,MAAA,EAAO,8BAA+B,EAAA,KAAA,EAAM,+BAA+B,EAAA,MAAA,EAAO,EAAC,UAAA,EAAW,sCAAqC,MAAO,EAAA,gCAAA,EAAiC,KAAM,EAAA,+BAAA,EAAiC,EAAA,SAAA,EAAU,4BAA6B,EAAA,IAAA,EAAK,EAAC,UAAW,EAAA,kCAAA,EAAmC,MAAO,EAAA,8BAAA,EAA+B,OAAM,6BAA6B,EAAA,EAAE,KAAM,EAAA,wBAAA,EAAyB,aAAY,8BAA8B;AAC7gB,IAAI,oBAAoB,EAAC,OAAA,EAAQ,+CAA8C,IAAK,EAAA,0CAAA,EAA2C,MAAK,0CAA0C;AAC1K,IAAA,oBAAA,GAAuB,EAAC,iBAAkB,EAAA,oCAAA,EAAqC,eAAc,gCAAiC,EAAA,IAAA,EAAK,yBAAwB,cAAe,EAAA,iCAAA,EAAkC,YAAW,6BAA8B,EAAA,SAAA,EAAU,8BAA6B,SAAU,EAAA,4BAAA,EAA6B,YAAW,6BAA8B,EAAA,SAAA,EAAU,4BAA6B,EAAA,cAAA,EAAe,iCAAiC;AACnc,IAAA,oBAAA,GAAuB,EAAC,IAAK,EAAA,uBAAA,EAAwB,SAAQ,0BAA2B,EAAA,SAAA,EAAU,4BAA6B,EAAA,cAAA,EAAe,iCAAiC;AAC/K,IAAA,gBAAA,GAAmB,EAAC,OAAQ,EAAA,EAAC,UAAS,mCAAoC,EAAA,CAAA,EAAE,8BAA6B,CAAE,EAAA,4BAAA,IAA8B,IAAK,EAAA,EAAC,GAAE,0BAA2B,EAAA,CAAA,EAAE,4BAA4B,EAAA,OAAA,EAAQ,EAAC,CAAA,EAAE,6BAA8B,EAAA,CAAA,EAAE,+BAA+B,EAAA,MAAA,EAAO,EAAC,CAAE,EAAA,4BAAA,EAA6B,GAAE,4BAA4B,EAAA,EAAE,SAAU,EAAA,EAAC,CAAE,EAAA,+BAAA,EAAgC,GAAE,+BAA+B,EAAA,EAAE,MAAK,EAAC,CAAA,EAAE,4BAA2B,CAAE,EAAA,0BAAA,EAA2B,GAAI,EAAA,4BAAA,EAA6B;AAC5gB,IAAA,gBAAA,GAAmB,EAAC,IAAK,EAAA,uBAAA,EAAwB,YAAW,6BAA8B,EAAA,SAAA,EAAU,4BAA6B,EAAA,SAAA,EAAU,4BAA4B","file":"options.css.js","sourcesContent":["export var optionsClassNames = {options:{container:'options_optionsClassNames_options_container__140gzb51b',options:'options_optionsClassNames_options_options__140gzb51c surfaces_proud__15mw6jf5 surfaces_flush__15mw6jf4'},list:{container:'options_optionsClassNames_list_container__140gzb51d',list:'options_optionsClassNames_list_list__140gzb51e',section:'options_optionsClassNames_list_section__140gzb51f',header:'options_optionsClassNames_list_header__140gzb51g',separator:'options_optionsClassNames_list_separator__140gzb51h'},item:{container:'options_optionsClassNames_item_container__140gzb51i',item:'options_optionsClassNames_item_item__140gzb51j',icon:{icon:'options_optionsClassNames_item_icon_icon__140gzb51k'},label:'options_optionsClassNames_item_label__140gzb51l',description:'options_optionsClassNames_item_description__140gzb51m',shortcut:'options_optionsClassNames_item_shortcut__140gzb51n'}};\nexport var optionsColorVars = {list:{background:'var(--list-background__140gzb5l)',border:'var(--list-border__140gzb5m)',color:'var(--list-color__140gzb5n)'},header:{background:'var(--header-background__140gzb5o)',border:'var(--header-border__140gzb5p)',color:'var(--header-color__140gzb5q)'},separator:'var(--separator__140gzb5r)',item:{background:'var(--item-background__140gzb5s)',border:'var(--item-border__140gzb5t)',color:'var(--item-color__140gzb5u)'},label:'var(--label__140gzb5v)',description:'var(--description__140gzb5w)'};\nexport var optionsContainers = {options:'options_optionsContainers_options__140gzb50',list:'options_optionsContainers_list__140gzb51',item:'options_optionsContainers_item__140gzb52'};\nexport var optionsItemStateVars = {selectionBehavior:'var(--selectionBehavior__140gzb5b)',selectionMode:'var(--selectionMode__140gzb5c)',size:'var(--size__140gzb5d)',hasDescription:'var(--hasDescription__140gzb5e)',isDisabled:'var(--isDisabled__140gzb5f)',isHovered:'var(--isHovered__140gzb5g)',isPressed:'var(--isPressed__140gzb5h)',isSelected:'var(--isSelected__140gzb5i)',isFocused:'var(--isFocused__140gzb5j)',isFocusVisible:'var(--isFocusVisible__140gzb5k)'};\nexport var optionsListStateVars = {size:'var(--size__140gzb57)',isEmpty:'var(--isEmpty__140gzb58)',isFocused:'var(--isFocused__140gzb59)',isFocusVisible:'var(--isFocusVisible__140gzb5a)'};\nexport var optionsSpaceVars = {options:{minWidth:'var(--options-minWidth__140gzb5x)',x:'var(--options-x__140gzb5y)',y:'var(--options-y__140gzb5z)'},list:{x:'var(--list-x__140gzb510)',y:'var(--list-y__140gzb511)'},section:{x:'var(--section-x__140gzb512)',y:'var(--section-y__140gzb513)'},header:{x:'var(--header-x__140gzb514)',y:'var(--header-y__140gzb515)'},separator:{x:'var(--separator-x__140gzb516)',y:'var(--separator-y__140gzb517)'},item:{x:'var(--item-x__140gzb518)',y:'var(--item-y__140gzb519)',gap:'var(--item-gap__140gzb51a)'}};\nexport var optionsStateVars = {size:'var(--size__140gzb53)',isEntering:'var(--isEntering__140gzb54)',isExiting:'var(--isExiting__140gzb55)',placement:'var(--placement__140gzb56)'};"]}
@@ -0,0 +1,28 @@
1
+ import { OptionsClassNames, OptionsMapping, OptionsSizes, OptionsProps, OptionsItemProps, OptionsListProps } from './types.js';
2
+ import * as react_aria_components from 'react-aria-components';
3
+ import { ContextValue } from 'react-aria-components';
4
+ import * as react from 'react';
5
+ import 'type-fest';
6
+ import '../../types/generic.js';
7
+ import '../icon/types.js';
8
+
9
+ declare const OptionsContext: react.Context<ContextValue<OptionsProps, HTMLElement>>;
10
+ declare const Options: (props: Omit<react_aria_components.PopoverProps, "className" | "style"> & {
11
+ classNames?: OptionsClassNames;
12
+ mapping?: Partial<OptionsMapping>;
13
+ size?: OptionsSizes;
14
+ } & react.RefAttributes<HTMLElement>) => react.ReactElement | null;
15
+ declare const OptionsListContext: react.Context<ContextValue<OptionsListProps<object>, HTMLDivElement>>;
16
+ declare const OptionsList: <T extends object>(props: Omit<react_aria_components.ListBoxProps<T>, "className" | "style" | "orientation" | "dragAndDropHooks"> & {
17
+ classNames?: OptionsClassNames;
18
+ mapping?: Partial<OptionsMapping>;
19
+ size?: OptionsSizes;
20
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
21
+ declare const OptionsItemContext: react.Context<ContextValue<OptionsItemProps<object>, HTMLDivElement>>;
22
+ declare const OptionsItem: <T extends object>(props: Omit<react_aria_components.ListBoxItemProps<T>, "className" | "style"> & {
23
+ classNames?: OptionsClassNames;
24
+ mapping?: Partial<OptionsMapping>;
25
+ size?: OptionsSizes;
26
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
27
+
28
+ export { Options, OptionsContext, OptionsItem, OptionsItemContext, OptionsList, OptionsListContext };
@@ -0,0 +1,253 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+ import { createContext, forwardRef, useMemo, useCallback } from 'react';
3
+ import { Provider, Popover, Collection, ListStateContext, UNSTABLE_CollectionRendererContext, ListBox, ListBoxItem } from 'react-aria-components';
4
+ import { useContextProps, useDefaultProps, useTheme, useSlot } from '../../hooks/index.js';
5
+ import { bodies, headings } from '../../styles/index.js';
6
+ import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
7
+ import { AriaSectionContext, AriaHeaderContext, AriaSeparatorContext, AriaSection, AriaTextContext, AriaKeyboardContext, AriaText } from '../aria/index.js';
8
+ import { createCollectionRenderer } from '../collection/index.js';
9
+ import { IconContext } from '../icon/index.js';
10
+ import { optionsClassNames, optionsStateVars, optionsItemStateVars } from './options.css.js';
11
+ import { jsx } from 'react/jsx-runtime';
12
+
13
+ var defaultMapping = {
14
+ description: {
15
+ sm: bodies.xs,
16
+ lg: bodies.xs
17
+ },
18
+ header: {
19
+ sm: headings.v4,
20
+ lg: headings.v5
21
+ },
22
+ label: {
23
+ sm: bodies.sm,
24
+ lg: bodies.sm
25
+ },
26
+ shortcut: {
27
+ sm: bodies.xs,
28
+ lg: bodies.xs
29
+ }
30
+ };
31
+ var defaultSize = "lg";
32
+ var OptionsContext = createContext(null);
33
+ var Options = forwardRef(function Options2(props, ref) {
34
+ [props, ref] = useContextProps(props, ref, OptionsContext);
35
+ props = useDefaultProps(props, "Options");
36
+ const {
37
+ children: childrenProp,
38
+ classNames: classNamesProp,
39
+ mapping: mappingProp,
40
+ size = defaultSize,
41
+ ...rest
42
+ } = props;
43
+ const theme = useTheme();
44
+ const classNames = useMemo(
45
+ () => mergeClassNames(optionsClassNames, theme.Options, classNamesProp, {
46
+ options: {
47
+ container: theme.className
48
+ // required to consume global theme within Popover
49
+ }
50
+ }),
51
+ [theme.className, theme.Options, classNamesProp]
52
+ );
53
+ const mapping = useMemo(
54
+ () => ({
55
+ ...defaultMapping,
56
+ ...mappingProp
57
+ }),
58
+ [mappingProp]
59
+ );
60
+ const style = useCallback(
61
+ ({ ...renderProps }) => ({
62
+ ...theme.style,
63
+ // required to consume global styles within Popover
64
+ ...inlineVars(optionsStateVars, {
65
+ ...renderProps,
66
+ size
67
+ })
68
+ }),
69
+ [theme.style, size]
70
+ );
71
+ const values = useMemo(
72
+ () => [[OptionsListContext, { classNames, mapping, size }]],
73
+ [classNames, mapping, size]
74
+ );
75
+ const children = useCallback(
76
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.options?.options, children: callRenderProps(childrenProp, {
77
+ ...renderProps,
78
+ size,
79
+ defaultChildren: null
80
+ }) }) }),
81
+ [childrenProp, classNames?.options?.options, size, values]
82
+ );
83
+ return /* @__PURE__ */ jsx(
84
+ Popover,
85
+ {
86
+ ...rest,
87
+ ref,
88
+ className: classNames?.options?.container,
89
+ style,
90
+ children
91
+ }
92
+ );
93
+ });
94
+ var OptionsListContext = createContext(null);
95
+ var OptionsList = forwardRef(function OptionList(props, ref) {
96
+ [props, ref] = useContextProps(props, ref, OptionsListContext);
97
+ props = useDefaultProps(props, "OptionsList");
98
+ const {
99
+ children: childrenProp,
100
+ classNames: classNamesProp,
101
+ items,
102
+ mapping: mappingProp,
103
+ selectionMode = "single",
104
+ size = defaultSize,
105
+ "aria-label": ariaLabel,
106
+ "aria-labelledby": ariaLabelledBy,
107
+ ...rest
108
+ } = props;
109
+ const theme = useTheme();
110
+ const mapping = useMemo(
111
+ () => ({
112
+ ...defaultMapping,
113
+ ...mappingProp
114
+ }),
115
+ [mappingProp]
116
+ );
117
+ const classNames = useMemo(
118
+ () => mergeClassNames(optionsClassNames, theme.Options, classNamesProp, {
119
+ list: { header: mapping.header[size] }
120
+ }),
121
+ [theme.Options, classNamesProp, mapping, size]
122
+ );
123
+ const values = useMemo(
124
+ () => [
125
+ [OptionsItemContext, { classNames, size, mapping }],
126
+ [AriaSectionContext, { className: classNames?.list?.section }],
127
+ [AriaHeaderContext, { className: classNames?.list?.header }],
128
+ [AriaSeparatorContext, { className: classNames?.list?.separator }]
129
+ ],
130
+ [classNames, size, mapping]
131
+ );
132
+ const style = useCallback(
133
+ (renderProps) => inlineVars(optionsItemStateVars, { ...renderProps, size }),
134
+ [size]
135
+ );
136
+ const children = useMemo(() => {
137
+ if (!(childrenProp || items)) {
138
+ return null;
139
+ }
140
+ return /* @__PURE__ */ jsx(AriaSection, { className: classNames?.list?.list, children: typeof childrenProp === "function" ? /* @__PURE__ */ jsx(Collection, { items, children: childrenProp }) : childrenProp });
141
+ }, [classNames?.list?.list, childrenProp, items]);
142
+ const renderer = useMemo(
143
+ () => createCollectionRenderer(ListStateContext, values),
144
+ [values]
145
+ );
146
+ return /* @__PURE__ */ jsx(UNSTABLE_CollectionRendererContext.Provider, { value: renderer, children: /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx(
147
+ ListBox,
148
+ {
149
+ ...rest,
150
+ ref,
151
+ className: classNames?.list?.container,
152
+ items,
153
+ selectionMode,
154
+ style,
155
+ "aria-label": ariaLabel,
156
+ "aria-labelledby": ariaLabelledBy,
157
+ children
158
+ }
159
+ ) }) });
160
+ });
161
+ var OptionsItemContext = createContext(null);
162
+ var OptionsItem = forwardRef(function OptionItem(props, ref) {
163
+ [props, ref] = useContextProps(props, ref, OptionsItemContext);
164
+ props = useDefaultProps(props, "OptionsItem");
165
+ const {
166
+ id,
167
+ children: childrenProp,
168
+ classNames: classNamesProp,
169
+ mapping: mappingProp,
170
+ size = defaultSize,
171
+ textValue = typeof childrenProp === "string" ? childrenProp : void 0,
172
+ ...rest
173
+ } = props;
174
+ const theme = useTheme();
175
+ const mapping = useMemo(
176
+ () => ({
177
+ ...defaultMapping,
178
+ ...mappingProp
179
+ }),
180
+ [mappingProp]
181
+ );
182
+ const classNames = useMemo(
183
+ () => mergeClassNames(optionsClassNames, classNamesProp, theme.Options, {
184
+ item: {
185
+ description: mapping.description[size],
186
+ label: mapping.label[size],
187
+ shortcut: mapping.shortcut[size]
188
+ }
189
+ }),
190
+ [theme.Options, classNamesProp, mapping, size]
191
+ );
192
+ const [descriptionRef, hasDescription] = useSlot();
193
+ const style = useCallback(
194
+ (renderProps) => inlineVars(optionsItemStateVars, {
195
+ ...renderProps,
196
+ size,
197
+ hasDescription
198
+ }),
199
+ [hasDescription, size]
200
+ );
201
+ const values = useMemo(
202
+ () => [
203
+ [
204
+ AriaTextContext,
205
+ {
206
+ slots: {
207
+ label: { className: classNames?.item?.label },
208
+ description: {
209
+ ref: descriptionRef,
210
+ className: classNames?.item?.description
211
+ }
212
+ }
213
+ }
214
+ ],
215
+ [IconContext, { classNames: classNames?.item?.icon }],
216
+ [AriaKeyboardContext, { className: classNames?.item?.shortcut }]
217
+ ],
218
+ [
219
+ classNames?.item?.label,
220
+ descriptionRef,
221
+ classNames?.item?.description,
222
+ classNames?.item?.icon,
223
+ classNames?.item?.shortcut
224
+ ]
225
+ );
226
+ const children = useCallback(
227
+ (renderProps) => {
228
+ const content = callRenderProps(childrenProp, {
229
+ ...renderProps,
230
+ size,
231
+ defaultChildren: null
232
+ });
233
+ return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.item?.item, children: typeof content === "string" ? /* @__PURE__ */ jsx(AriaText, { slot: "label", children: content }) : content }) });
234
+ },
235
+ [childrenProp, classNames?.item?.item, size, values]
236
+ );
237
+ return /* @__PURE__ */ jsx(
238
+ ListBoxItem,
239
+ {
240
+ ...rest,
241
+ id: id ?? textValue,
242
+ ref,
243
+ className: classNames?.item?.container,
244
+ style,
245
+ textValue,
246
+ children
247
+ }
248
+ );
249
+ });
250
+
251
+ export { Options, OptionsContext, OptionsItem, OptionsItemContext, OptionsList, OptionsListContext };
252
+ //# sourceMappingURL=options.js.map
253
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/options/options.tsx"],"names":["Options"],"mappings":"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","file":"options.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n type ForwardedRef,\n type HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n Collection,\n type CollectionRenderer,\n type ContextValue,\n ListBox,\n ListBoxItem,\n type ListBoxItemRenderProps,\n type ListBoxRenderProps,\n ListStateContext,\n Popover,\n type PopoverRenderProps,\n Provider,\n type SectionProps,\n type SeparatorProps,\n type TextProps,\n UNSTABLE_CollectionRendererContext,\n} from 'react-aria-components';\nimport {\n useContextProps,\n useDefaultProps,\n useSlot,\n useTheme,\n} from '../../hooks';\nimport { bodies, headings } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n AriaHeaderContext,\n AriaKeyboardContext,\n AriaSection,\n AriaSectionContext,\n AriaSeparatorContext,\n AriaText,\n AriaTextContext,\n} from '../aria';\nimport { createCollectionRenderer } from '../collection';\nimport { IconContext, type IconProps } from '../icon';\nimport {\n optionsClassNames,\n optionsItemStateVars,\n optionsStateVars,\n} from './options.css';\nimport type {\n OptionsItemProps,\n OptionsListProps,\n OptionsMapping,\n OptionsProps,\n} from './types';\n\nconst defaultMapping: OptionsMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n header: {\n sm: headings.v4,\n lg: headings.v5,\n },\n label: {\n sm: bodies.sm,\n lg: bodies.sm,\n },\n shortcut: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const OptionsContext =\n createContext<ContextValue<OptionsProps, HTMLElement>>(null);\n\nexport const Options = forwardRef(function Options(\n props: OptionsProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n [props, ref] = useContextProps(props, ref, OptionsContext);\n props = useDefaultProps(props, 'Options');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () =>\n mergeClassNames(optionsClassNames, theme.Options, classNamesProp, {\n options: {\n container: theme.className, // required to consume global theme within Popover\n },\n }),\n [theme.className, theme.Options, classNamesProp],\n );\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const style = useCallback(\n ({ ...renderProps }: PopoverRenderProps) => ({\n ...theme.style, // required to consume global styles within Popover\n ...inlineVars(optionsStateVars, {\n ...renderProps,\n size,\n }),\n }),\n [theme.style, size],\n );\n\n const values = useMemo<\n [\n [\n typeof OptionsListContext,\n ContextValue<OptionsListProps<object>, HTMLDivElement>,\n ],\n ]\n >(\n () => [[OptionsListContext, { classNames, mapping, size }]],\n [classNames, mapping, size],\n );\n\n const children = useCallback(\n (renderProps: PopoverRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.options?.options}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n size,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.options?.options, size, values],\n );\n\n return (\n <Popover\n {...rest}\n ref={ref}\n className={classNames?.options?.container}\n style={style}\n >\n {children}\n </Popover>\n );\n});\n\nexport const OptionsListContext =\n createContext<ContextValue<OptionsListProps<object>, HTMLDivElement>>(null);\n\ntype OptionsListContexts = [\n [\n typeof OptionsItemContext,\n ContextValue<OptionsItemProps<object>, HTMLDivElement>,\n ],\n [typeof AriaSectionContext, ContextValue<SectionProps<object>, HTMLElement>],\n [\n typeof AriaHeaderContext,\n ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>,\n ],\n [typeof AriaSeparatorContext, ContextValue<SeparatorProps, HTMLElement>],\n];\n\nexport const OptionsList = forwardRef(function OptionList<T extends object>(\n props: OptionsListProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, OptionsListContext);\n props = useDefaultProps(props, 'OptionsList');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n items,\n mapping: mappingProp,\n selectionMode = 'single',\n size = defaultSize,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(optionsClassNames, theme.Options, classNamesProp, {\n list: { header: mapping.header[size] },\n }),\n [theme.Options, classNamesProp, mapping, size],\n );\n\n const values = useMemo<OptionsListContexts>(\n () => [\n [OptionsItemContext, { classNames, size, mapping }],\n [AriaSectionContext, { className: classNames?.list?.section }],\n [AriaHeaderContext, { className: classNames?.list?.header }],\n [AriaSeparatorContext, { className: classNames?.list?.separator }],\n ],\n [classNames, size, mapping],\n );\n\n const style = useCallback(\n (renderProps: ListBoxRenderProps) =>\n inlineVars(optionsItemStateVars, { ...renderProps, size }),\n [size],\n );\n\n const children = useMemo(() => {\n if (!(childrenProp || items)) {\n return null;\n }\n\n return (\n <AriaSection className={classNames?.list?.list}>\n {typeof childrenProp === 'function' ? (\n <Collection items={items}>{childrenProp}</Collection>\n ) : (\n childrenProp\n )}\n </AriaSection>\n );\n }, [classNames?.list?.list, childrenProp, items]);\n\n const renderer = useMemo<CollectionRenderer>(\n () => createCollectionRenderer(ListStateContext, values),\n [values],\n );\n\n return (\n <UNSTABLE_CollectionRendererContext.Provider value={renderer}>\n <Provider values={values}>\n <ListBox<T>\n {...rest}\n ref={ref}\n className={classNames?.list?.container}\n items={items}\n selectionMode={selectionMode}\n style={style}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {children}\n </ListBox>\n </Provider>\n </UNSTABLE_CollectionRendererContext.Provider>\n );\n});\n\nexport const OptionsItemContext =\n createContext<ContextValue<OptionsItemProps<object>, HTMLDivElement>>(null);\n\nexport const OptionsItem = forwardRef(function OptionItem<T extends object>(\n props: OptionsItemProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, OptionsItemContext);\n props = useDefaultProps(props, 'OptionsItem');\n\n const {\n id,\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n textValue = typeof childrenProp === 'string' ? childrenProp : undefined,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(optionsClassNames, classNamesProp, theme.Options, {\n item: {\n description: mapping.description[size],\n label: mapping.label[size],\n shortcut: mapping.shortcut[size],\n },\n }),\n [theme.Options, classNamesProp, mapping, size],\n );\n\n const [descriptionRef, hasDescription] = useSlot();\n\n const style = useCallback(\n (renderProps: ListBoxItemRenderProps) =>\n inlineVars(optionsItemStateVars, {\n ...renderProps,\n size,\n hasDescription,\n }),\n [hasDescription, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [typeof IconContext, ContextValue<IconProps, HTMLDivElement>],\n [\n typeof AriaKeyboardContext,\n ContextValue<HTMLAttributes<HTMLElement>, HTMLElement>,\n ],\n ]\n >(\n () => [\n [\n AriaTextContext,\n {\n slots: {\n label: { className: classNames?.item?.label },\n description: {\n ref: descriptionRef,\n className: classNames?.item?.description,\n },\n },\n },\n ],\n [IconContext, { classNames: classNames?.item?.icon }],\n [AriaKeyboardContext, { className: classNames?.item?.shortcut }],\n ],\n [\n classNames?.item?.label,\n descriptionRef,\n classNames?.item?.description,\n classNames?.item?.icon,\n classNames?.item?.shortcut,\n ],\n );\n\n const children = useCallback(\n (renderProps: ListBoxItemRenderProps) => {\n const content = callRenderProps(childrenProp, {\n ...renderProps,\n size,\n defaultChildren: null,\n });\n\n return (\n <Provider values={values}>\n <div className={classNames?.item?.item}>\n {typeof content === 'string' ? (\n <AriaText slot='label'>{content}</AriaText>\n ) : (\n content\n )}\n </div>\n </Provider>\n );\n },\n [childrenProp, classNames?.item?.item, size, values],\n );\n\n return (\n <ListBoxItem<T>\n {...rest}\n id={id ?? textValue}\n ref={ref as ForwardedRef<T>}\n className={classNames?.item?.container}\n style={style}\n textValue={textValue}\n >\n {children}\n </ListBoxItem>\n );\n});\n"]}