@accelint/design-toolkit 9.2.0 → 9.4.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 (733) hide show
  1. package/README.md +15 -22
  2. package/catalog-info.yaml +4 -4
  3. package/dist/components/accordion/context.d.ts +6 -0
  4. package/dist/components/accordion/context.js +6 -0
  5. package/dist/components/accordion/context.js.map +1 -1
  6. package/dist/components/accordion/group.d.ts +37 -2
  7. package/dist/components/accordion/group.js +34 -0
  8. package/dist/components/accordion/group.js.map +1 -1
  9. package/dist/components/accordion/header.d.ts +27 -2
  10. package/dist/components/accordion/header.js +25 -1
  11. package/dist/components/accordion/header.js.map +1 -1
  12. package/dist/components/accordion/index.d.ts +18 -4
  13. package/dist/components/accordion/index.js +16 -2
  14. package/dist/components/accordion/index.js.map +1 -1
  15. package/dist/components/accordion/panel.d.ts +29 -2
  16. package/dist/components/accordion/panel.js +26 -0
  17. package/dist/components/accordion/panel.js.map +1 -1
  18. package/dist/components/accordion/trigger.d.ts +25 -2
  19. package/dist/components/accordion/trigger.js +23 -1
  20. package/dist/components/accordion/trigger.js.map +1 -1
  21. package/dist/components/accordion/types.d.ts +33 -0
  22. package/dist/components/action-bar/index.d.ts +35 -6
  23. package/dist/components/action-bar/index.js +33 -5
  24. package/dist/components/action-bar/index.js.map +1 -1
  25. package/dist/components/action-bar/styles.module.css +9 -1
  26. package/dist/components/action-bar/types.d.ts +8 -0
  27. package/dist/components/avatar/context.d.ts +22 -4
  28. package/dist/components/avatar/context.js +18 -0
  29. package/dist/components/avatar/context.js.map +1 -1
  30. package/dist/components/avatar/index.d.ts +22 -15
  31. package/dist/components/avatar/index.js +21 -14
  32. package/dist/components/avatar/index.js.map +1 -1
  33. package/dist/components/avatar/types.d.ts +13 -0
  34. package/dist/components/badge/context.d.ts +22 -4
  35. package/dist/components/badge/context.js +18 -0
  36. package/dist/components/badge/context.js.map +1 -1
  37. package/dist/components/badge/index.d.ts +30 -16
  38. package/dist/components/badge/index.js +28 -14
  39. package/dist/components/badge/index.js.map +1 -1
  40. package/dist/components/badge/types.d.ts +9 -0
  41. package/dist/components/breadcrumbs/index.d.ts +10 -2
  42. package/dist/components/breadcrumbs/index.js +7 -0
  43. package/dist/components/breadcrumbs/index.js.map +1 -1
  44. package/dist/components/breadcrumbs/item.d.ts +25 -2
  45. package/dist/components/breadcrumbs/item.js +23 -1
  46. package/dist/components/breadcrumbs/item.js.map +1 -1
  47. package/dist/components/breadcrumbs/types.d.ts +17 -0
  48. package/dist/components/button/context.d.ts +62 -8
  49. package/dist/components/button/context.js +54 -0
  50. package/dist/components/button/context.js.map +1 -1
  51. package/dist/components/button/index.d.ts +21 -2
  52. package/dist/components/button/index.js +19 -0
  53. package/dist/components/button/index.js.map +1 -1
  54. package/dist/components/button/link.d.ts +22 -2
  55. package/dist/components/button/link.js +20 -0
  56. package/dist/components/button/link.js.map +1 -1
  57. package/dist/components/button/toggle.d.ts +23 -2
  58. package/dist/components/button/toggle.js +22 -1
  59. package/dist/components/button/toggle.js.map +1 -1
  60. package/dist/components/button/types.d.ts +26 -0
  61. package/dist/components/checkbox/context.d.ts +9 -3
  62. package/dist/components/checkbox/context.js +6 -0
  63. package/dist/components/checkbox/context.js.map +1 -1
  64. package/dist/components/checkbox/group.d.ts +31 -2
  65. package/dist/components/checkbox/group.js +28 -0
  66. package/dist/components/checkbox/group.js.map +1 -1
  67. package/dist/components/checkbox/index.d.ts +19 -2
  68. package/dist/components/checkbox/index.js +19 -1
  69. package/dist/components/checkbox/index.js.map +1 -1
  70. package/dist/components/checkbox/types.d.ts +19 -0
  71. package/dist/components/chip/context.d.ts +22 -4
  72. package/dist/components/chip/context.js +18 -0
  73. package/dist/components/chip/context.js.map +1 -1
  74. package/dist/components/chip/deletable.d.ts +38 -2
  75. package/dist/components/chip/deletable.js +36 -1
  76. package/dist/components/chip/deletable.js.map +1 -1
  77. package/dist/components/chip/index.d.ts +24 -2
  78. package/dist/components/chip/index.js +22 -0
  79. package/dist/components/chip/index.js.map +1 -1
  80. package/dist/components/chip/list.d.ts +49 -4
  81. package/dist/components/chip/list.js +45 -0
  82. package/dist/components/chip/list.js.map +1 -1
  83. package/dist/components/chip/selectable.d.ts +34 -2
  84. package/dist/components/chip/selectable.js +31 -0
  85. package/dist/components/chip/selectable.js.map +1 -1
  86. package/dist/components/chip/types.d.ts +27 -0
  87. package/dist/components/classification-badge/context.d.ts +20 -4
  88. package/dist/components/classification-badge/context.js +16 -0
  89. package/dist/components/classification-badge/context.js.map +1 -1
  90. package/dist/components/classification-badge/index.d.ts +28 -10
  91. package/dist/components/classification-badge/index.js +25 -8
  92. package/dist/components/classification-badge/index.js.map +1 -1
  93. package/dist/components/classification-badge/types.d.ts +4 -0
  94. package/dist/components/classification-banner/context.d.ts +20 -4
  95. package/dist/components/classification-banner/context.js +16 -0
  96. package/dist/components/classification-banner/context.js.map +1 -1
  97. package/dist/components/classification-banner/index.d.ts +12 -2
  98. package/dist/components/classification-banner/index.js +9 -0
  99. package/dist/components/classification-banner/index.js.map +1 -1
  100. package/dist/components/classification-banner/types.d.ts +4 -0
  101. package/dist/components/clock/index.d.ts +12 -2
  102. package/dist/components/clock/index.js +10 -0
  103. package/dist/components/clock/index.js.map +1 -1
  104. package/dist/components/clock/types.d.ts +4 -0
  105. package/dist/components/color-picker/index.d.ts +12 -10
  106. package/dist/components/color-picker/index.js +10 -8
  107. package/dist/components/color-picker/index.js.map +1 -1
  108. package/dist/components/color-picker/types.d.ts +8 -0
  109. package/dist/components/combobox-field/context.d.ts +20 -4
  110. package/dist/components/combobox-field/context.js +16 -0
  111. package/dist/components/combobox-field/context.js.map +1 -1
  112. package/dist/components/combobox-field/index.d.ts +15 -2
  113. package/dist/components/combobox-field/index.js +57 -38
  114. package/dist/components/combobox-field/index.js.map +1 -1
  115. package/dist/components/combobox-field/styles.module.css +5 -1
  116. package/dist/components/combobox-field/types.d.ts +19 -0
  117. package/dist/components/coordinate-field/context.d.ts +15 -6
  118. package/dist/components/coordinate-field/context.js +9 -0
  119. package/dist/components/coordinate-field/context.js.map +1 -1
  120. package/dist/components/coordinate-field/coordinate-utils.d.ts +8 -0
  121. package/dist/components/coordinate-field/coordinate-utils.js +8 -0
  122. package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
  123. package/dist/components/coordinate-field/index.d.ts +29 -2
  124. package/dist/components/coordinate-field/index.js +32 -4
  125. package/dist/components/coordinate-field/index.js.map +1 -1
  126. package/dist/components/coordinate-field/segment.d.ts +28 -2
  127. package/dist/components/coordinate-field/segment.js +28 -1
  128. package/dist/components/coordinate-field/segment.js.map +1 -1
  129. package/dist/components/coordinate-field/styles.module.css +19 -1
  130. package/dist/components/coordinate-field/types.d.ts +2 -0
  131. package/dist/components/coordinate-field/types.js.map +1 -1
  132. package/dist/components/date-field/index.d.ts +28 -2
  133. package/dist/components/date-field/index.js +29 -2
  134. package/dist/components/date-field/index.js.map +1 -1
  135. package/dist/components/date-field/styles.module.css +4 -0
  136. package/dist/components/date-field/types.d.ts +19 -3
  137. package/dist/components/deferred-collection/index.d.ts +51 -0
  138. package/dist/components/deferred-collection/index.js +52 -0
  139. package/dist/components/deferred-collection/index.js.map +1 -0
  140. package/dist/components/deferred-collection/types.d.ts +29 -0
  141. package/dist/components/deferred-collection/types.js +12 -0
  142. package/dist/components/details-list/context.d.ts +25 -4
  143. package/dist/components/details-list/context.js +21 -0
  144. package/dist/components/details-list/context.js.map +1 -1
  145. package/dist/components/details-list/index.d.ts +9 -2
  146. package/dist/components/details-list/index.js +7 -0
  147. package/dist/components/details-list/index.js.map +1 -1
  148. package/dist/components/details-list/label.d.ts +18 -2
  149. package/dist/components/details-list/label.js +16 -0
  150. package/dist/components/details-list/label.js.map +1 -1
  151. package/dist/components/details-list/types.d.ts +14 -0
  152. package/dist/components/details-list/value.d.ts +20 -2
  153. package/dist/components/details-list/value.js +17 -0
  154. package/dist/components/details-list/value.js.map +1 -1
  155. package/dist/components/dialog/content.d.ts +23 -2
  156. package/dist/components/dialog/content.js +20 -0
  157. package/dist/components/dialog/content.js.map +1 -1
  158. package/dist/components/dialog/context.d.ts +5 -2
  159. package/dist/components/dialog/context.js +3 -0
  160. package/dist/components/dialog/context.js.map +1 -1
  161. package/dist/components/dialog/footer.d.ts +26 -2
  162. package/dist/components/dialog/footer.js +23 -0
  163. package/dist/components/dialog/footer.js.map +1 -1
  164. package/dist/components/dialog/index.d.ts +12 -2
  165. package/dist/components/dialog/index.js +10 -0
  166. package/dist/components/dialog/index.js.map +1 -1
  167. package/dist/components/dialog/title.d.ts +21 -2
  168. package/dist/components/dialog/title.js +18 -0
  169. package/dist/components/dialog/title.js.map +1 -1
  170. package/dist/components/dialog/trigger.d.ts +18 -0
  171. package/dist/components/dialog/trigger.js +17 -0
  172. package/dist/components/dialog/trigger.js.map +1 -1
  173. package/dist/components/dialog/types.d.ts +12 -0
  174. package/dist/components/divider/context.d.ts +24 -4
  175. package/dist/components/divider/context.js +20 -0
  176. package/dist/components/divider/context.js.map +1 -1
  177. package/dist/components/divider/index.d.ts +13 -2
  178. package/dist/components/divider/index.js +10 -0
  179. package/dist/components/divider/index.js.map +1 -1
  180. package/dist/components/divider/types.d.ts +4 -4
  181. package/dist/components/drawer/back.d.ts +21 -2
  182. package/dist/components/drawer/back.js +19 -1
  183. package/dist/components/drawer/back.js.map +1 -1
  184. package/dist/components/drawer/close.d.ts +25 -2
  185. package/dist/components/drawer/close.js +28 -3
  186. package/dist/components/drawer/close.js.map +1 -1
  187. package/dist/components/drawer/content.d.ts +22 -2
  188. package/dist/components/drawer/content.js +19 -0
  189. package/dist/components/drawer/content.js.map +1 -1
  190. package/dist/components/drawer/context.d.ts +46 -4
  191. package/dist/components/drawer/context.js +45 -2
  192. package/dist/components/drawer/context.js.map +1 -1
  193. package/dist/components/drawer/events.d.ts +2 -0
  194. package/dist/components/drawer/events.js +2 -0
  195. package/dist/components/drawer/events.js.map +1 -1
  196. package/dist/components/drawer/footer.d.ts +24 -2
  197. package/dist/components/drawer/footer.js +21 -0
  198. package/dist/components/drawer/footer.js.map +1 -1
  199. package/dist/components/drawer/header-title.d.ts +22 -4
  200. package/dist/components/drawer/header-title.js +19 -2
  201. package/dist/components/drawer/header-title.js.map +1 -1
  202. package/dist/components/drawer/header.d.ts +34 -2
  203. package/dist/components/drawer/header.js +42 -2
  204. package/dist/components/drawer/header.js.map +1 -1
  205. package/dist/components/drawer/index.d.ts +14 -2
  206. package/dist/components/drawer/index.js +16 -0
  207. package/dist/components/drawer/index.js.map +1 -1
  208. package/dist/components/drawer/layout-main.d.ts +23 -2
  209. package/dist/components/drawer/layout-main.js +20 -0
  210. package/dist/components/drawer/layout-main.js.map +1 -1
  211. package/dist/components/drawer/layout.d.ts +25 -2
  212. package/dist/components/drawer/layout.js +22 -0
  213. package/dist/components/drawer/layout.js.map +1 -1
  214. package/dist/components/drawer/menu-item.d.ts +25 -2
  215. package/dist/components/drawer/menu-item.js +22 -0
  216. package/dist/components/drawer/menu-item.js.map +1 -1
  217. package/dist/components/drawer/menu.d.ts +22 -2
  218. package/dist/components/drawer/menu.js +19 -0
  219. package/dist/components/drawer/menu.js.map +1 -1
  220. package/dist/components/drawer/panel.d.ts +21 -2
  221. package/dist/components/drawer/panel.js +18 -0
  222. package/dist/components/drawer/panel.js.map +1 -1
  223. package/dist/components/drawer/styles.module.css +2 -2
  224. package/dist/components/drawer/trigger.d.ts +31 -2
  225. package/dist/components/drawer/trigger.js +29 -1
  226. package/dist/components/drawer/trigger.js.map +1 -1
  227. package/dist/components/drawer/types.d.ts +149 -2
  228. package/dist/components/drawer/view.d.ts +25 -2
  229. package/dist/components/drawer/view.js +22 -0
  230. package/dist/components/drawer/view.js.map +1 -1
  231. package/dist/components/flashcard/index.d.ts +129 -27
  232. package/dist/components/flashcard/index.js +120 -18
  233. package/dist/components/flashcard/index.js.map +1 -1
  234. package/dist/components/flashcard/styles.module.css +1 -1
  235. package/dist/components/flashcard/types.d.ts +12 -0
  236. package/dist/components/hero/context.d.ts +5 -2
  237. package/dist/components/hero/context.js +3 -0
  238. package/dist/components/hero/context.js.map +1 -1
  239. package/dist/components/hero/index.d.ts +9 -2
  240. package/dist/components/hero/index.js +7 -0
  241. package/dist/components/hero/index.js.map +1 -1
  242. package/dist/components/hero/subtitle.d.ts +17 -2
  243. package/dist/components/hero/subtitle.js +15 -0
  244. package/dist/components/hero/subtitle.js.map +1 -1
  245. package/dist/components/hero/title.d.ts +15 -2
  246. package/dist/components/hero/title.js +13 -0
  247. package/dist/components/hero/title.js.map +1 -1
  248. package/dist/components/hero/types.d.ts +9 -0
  249. package/dist/components/hotkey/context.d.ts +24 -4
  250. package/dist/components/hotkey/context.js +20 -0
  251. package/dist/components/hotkey/context.js.map +1 -1
  252. package/dist/components/hotkey/index.d.ts +17 -2
  253. package/dist/components/hotkey/index.js +15 -0
  254. package/dist/components/hotkey/index.js.map +1 -1
  255. package/dist/components/hotkey/set.d.ts +21 -2
  256. package/dist/components/hotkey/set.js +18 -0
  257. package/dist/components/hotkey/set.js.map +1 -1
  258. package/dist/components/hotkey/types.d.ts +4 -0
  259. package/dist/components/icon/context.d.ts +24 -4
  260. package/dist/components/icon/context.js +20 -0
  261. package/dist/components/icon/context.js.map +1 -1
  262. package/dist/components/icon/index.d.ts +15 -2
  263. package/dist/components/icon/index.js +13 -0
  264. package/dist/components/icon/index.js.map +1 -1
  265. package/dist/components/icon/types.d.ts +4 -0
  266. package/dist/components/input/context.d.ts +6 -2
  267. package/dist/components/input/context.js +4 -0
  268. package/dist/components/input/context.js.map +1 -1
  269. package/dist/components/input/index.d.ts +17 -2
  270. package/dist/components/input/index.js +19 -3
  271. package/dist/components/input/index.js.map +1 -1
  272. package/dist/components/input/styles.module.css +5 -1
  273. package/dist/components/input/types.d.ts +16 -0
  274. package/dist/components/kanban/card-body.d.ts +10 -2
  275. package/dist/components/kanban/card-body.js +8 -0
  276. package/dist/components/kanban/card-body.js.map +1 -1
  277. package/dist/components/kanban/card-header-actions.d.ts +10 -2
  278. package/dist/components/kanban/card-header-actions.js +8 -0
  279. package/dist/components/kanban/card-header-actions.js.map +1 -1
  280. package/dist/components/kanban/card-header-title.d.ts +10 -2
  281. package/dist/components/kanban/card-header-title.js +8 -0
  282. package/dist/components/kanban/card-header-title.js.map +1 -1
  283. package/dist/components/kanban/card-header.d.ts +12 -2
  284. package/dist/components/kanban/card-header.js +10 -0
  285. package/dist/components/kanban/card-header.js.map +1 -1
  286. package/dist/components/kanban/card.d.ts +26 -2
  287. package/dist/components/kanban/card.js +23 -0
  288. package/dist/components/kanban/card.js.map +1 -1
  289. package/dist/components/kanban/column-actions.d.ts +10 -2
  290. package/dist/components/kanban/column-actions.js +9 -1
  291. package/dist/components/kanban/column-actions.js.map +1 -1
  292. package/dist/components/kanban/column-container.d.ts +10 -2
  293. package/dist/components/kanban/column-container.js +8 -0
  294. package/dist/components/kanban/column-container.js.map +1 -1
  295. package/dist/components/kanban/column-content.d.ts +13 -2
  296. package/dist/components/kanban/column-content.js +11 -0
  297. package/dist/components/kanban/column-content.js.map +1 -1
  298. package/dist/components/kanban/column-header-actions.d.ts +13 -2
  299. package/dist/components/kanban/column-header-actions.js +11 -0
  300. package/dist/components/kanban/column-header-actions.js.map +1 -1
  301. package/dist/components/kanban/column-header-drag-handle.d.ts +7 -2
  302. package/dist/components/kanban/column-header-drag-handle.js +6 -1
  303. package/dist/components/kanban/column-header-drag-handle.js.map +1 -1
  304. package/dist/components/kanban/column-header-title.d.ts +10 -2
  305. package/dist/components/kanban/column-header-title.js +8 -0
  306. package/dist/components/kanban/column-header-title.js.map +1 -1
  307. package/dist/components/kanban/column-header.d.ts +12 -2
  308. package/dist/components/kanban/column-header.js +10 -0
  309. package/dist/components/kanban/column-header.js.map +1 -1
  310. package/dist/components/kanban/column.d.ts +22 -2
  311. package/dist/components/kanban/column.js +19 -0
  312. package/dist/components/kanban/column.js.map +1 -1
  313. package/dist/components/kanban/context.d.ts +49 -2
  314. package/dist/components/kanban/context.js +30 -0
  315. package/dist/components/kanban/context.js.map +1 -1
  316. package/dist/components/kanban/header-actions.d.ts +10 -2
  317. package/dist/components/kanban/header-actions.js +8 -0
  318. package/dist/components/kanban/header-actions.js.map +1 -1
  319. package/dist/components/kanban/header-search.d.ts +9 -2
  320. package/dist/components/kanban/header-search.js +7 -0
  321. package/dist/components/kanban/header-search.js.map +1 -1
  322. package/dist/components/kanban/header-title.d.ts +10 -2
  323. package/dist/components/kanban/header-title.js +8 -0
  324. package/dist/components/kanban/header-title.js.map +1 -1
  325. package/dist/components/kanban/header.d.ts +12 -2
  326. package/dist/components/kanban/header.js +10 -0
  327. package/dist/components/kanban/header.js.map +1 -1
  328. package/dist/components/kanban/kanban.d.ts +33 -4
  329. package/dist/components/kanban/kanban.js +29 -0
  330. package/dist/components/kanban/kanban.js.map +1 -1
  331. package/dist/components/kanban/types.d.ts +51 -0
  332. package/dist/components/label/context.d.ts +25 -4
  333. package/dist/components/label/context.js +21 -0
  334. package/dist/components/label/context.js.map +1 -1
  335. package/dist/components/label/index.d.ts +16 -2
  336. package/dist/components/label/index.js +14 -0
  337. package/dist/components/label/index.js.map +1 -1
  338. package/dist/components/label/types.d.ts +5 -0
  339. package/dist/components/lines/index.d.ts +12 -2
  340. package/dist/components/lines/index.js +9 -0
  341. package/dist/components/lines/index.js.map +1 -1
  342. package/dist/components/lines/types.d.ts +6 -0
  343. package/dist/components/link/context.d.ts +21 -2
  344. package/dist/components/link/context.js +18 -0
  345. package/dist/components/link/context.js.map +1 -1
  346. package/dist/components/link/index.d.ts +12 -2
  347. package/dist/components/link/index.js +9 -0
  348. package/dist/components/link/index.js.map +1 -1
  349. package/dist/components/link/types.d.ts +5 -0
  350. package/dist/components/list/context.d.ts +11 -2
  351. package/dist/components/list/context.js +9 -0
  352. package/dist/components/list/context.js.map +1 -1
  353. package/dist/components/list/index.d.ts +11 -2
  354. package/dist/components/list/index.js +9 -0
  355. package/dist/components/list/index.js.map +1 -1
  356. package/dist/components/list/item-content.d.ts +9 -2
  357. package/dist/components/list/item-content.js +6 -0
  358. package/dist/components/list/item-content.js.map +1 -1
  359. package/dist/components/list/item-description.d.ts +9 -2
  360. package/dist/components/list/item-description.js +7 -0
  361. package/dist/components/list/item-description.js.map +1 -1
  362. package/dist/components/list/item-title.d.ts +9 -2
  363. package/dist/components/list/item-title.js +7 -0
  364. package/dist/components/list/item-title.js.map +1 -1
  365. package/dist/components/list/item.d.ts +10 -2
  366. package/dist/components/list/item.js +8 -0
  367. package/dist/components/list/item.js.map +1 -1
  368. package/dist/components/list/types.d.ts +22 -0
  369. package/dist/components/menu/context.d.ts +6 -2
  370. package/dist/components/menu/context.js +4 -0
  371. package/dist/components/menu/context.js.map +1 -1
  372. package/dist/components/menu/index.d.ts +24 -3
  373. package/dist/components/menu/index.js +22 -1
  374. package/dist/components/menu/index.js.map +1 -1
  375. package/dist/components/menu/item-description.d.ts +17 -2
  376. package/dist/components/menu/item-description.js +15 -0
  377. package/dist/components/menu/item-description.js.map +1 -1
  378. package/dist/components/menu/item-label.d.ts +17 -2
  379. package/dist/components/menu/item-label.js +15 -0
  380. package/dist/components/menu/item-label.js.map +1 -1
  381. package/dist/components/menu/item.d.ts +23 -2
  382. package/dist/components/menu/item.js +21 -1
  383. package/dist/components/menu/item.js.map +1 -1
  384. package/dist/components/menu/section.d.ts +23 -2
  385. package/dist/components/menu/section.js +20 -0
  386. package/dist/components/menu/section.js.map +1 -1
  387. package/dist/components/menu/separator.d.ts +16 -2
  388. package/dist/components/menu/separator.js +14 -0
  389. package/dist/components/menu/separator.js.map +1 -1
  390. package/dist/components/menu/styles.module.css +62 -46
  391. package/dist/components/menu/submenu.d.ts +18 -2
  392. package/dist/components/menu/submenu.js +16 -0
  393. package/dist/components/menu/submenu.js.map +1 -1
  394. package/dist/components/menu/trigger.d.ts +15 -0
  395. package/dist/components/menu/trigger.js +15 -0
  396. package/dist/components/menu/trigger.js.map +1 -1
  397. package/dist/components/menu/types.d.ts +25 -0
  398. package/dist/components/notice/events.d.ts +9 -0
  399. package/dist/components/notice/events.js +9 -0
  400. package/dist/components/notice/events.js.map +1 -1
  401. package/dist/components/notice/index.d.ts +34 -2
  402. package/dist/components/notice/index.js +32 -1
  403. package/dist/components/notice/index.js.map +1 -1
  404. package/dist/components/notice/list.d.ts +31 -2
  405. package/dist/components/notice/list.js +28 -0
  406. package/dist/components/notice/list.js.map +1 -1
  407. package/dist/components/notice/notice-icon.d.ts +22 -2
  408. package/dist/components/notice/notice-icon.js +23 -1
  409. package/dist/components/notice/notice-icon.js.map +1 -1
  410. package/dist/components/notice/types.d.ts +60 -0
  411. package/dist/components/notice/utils.d.ts +8 -0
  412. package/dist/components/notice/utils.js +8 -0
  413. package/dist/components/notice/utils.js.map +1 -1
  414. package/dist/components/options/context.d.ts +3 -2
  415. package/dist/components/options/context.js +1 -0
  416. package/dist/components/options/context.js.map +1 -1
  417. package/dist/components/options/index.d.ts +15 -2
  418. package/dist/components/options/index.js +13 -0
  419. package/dist/components/options/index.js.map +1 -1
  420. package/dist/components/options/item-content.d.ts +22 -2
  421. package/dist/components/options/item-content.js +19 -0
  422. package/dist/components/options/item-content.js.map +1 -1
  423. package/dist/components/options/item-description.d.ts +14 -2
  424. package/dist/components/options/item-description.js +12 -0
  425. package/dist/components/options/item-description.js.map +1 -1
  426. package/dist/components/options/item-label.d.ts +14 -2
  427. package/dist/components/options/item-label.js +12 -0
  428. package/dist/components/options/item-label.js.map +1 -1
  429. package/dist/components/options/item.d.ts +22 -0
  430. package/dist/components/options/item.js +21 -0
  431. package/dist/components/options/item.js.map +1 -1
  432. package/dist/components/options/section.d.ts +21 -2
  433. package/dist/components/options/section.js +18 -0
  434. package/dist/components/options/section.js.map +1 -1
  435. package/dist/components/options/types.d.ts +24 -0
  436. package/dist/components/pagination/context.d.ts +3 -2
  437. package/dist/components/pagination/context.js +1 -0
  438. package/dist/components/pagination/context.js.map +1 -1
  439. package/dist/components/pagination/index.d.ts +18 -11
  440. package/dist/components/pagination/index.js +15 -9
  441. package/dist/components/pagination/index.js.map +1 -1
  442. package/dist/components/pagination/next.d.ts +17 -2
  443. package/dist/components/pagination/next.js +15 -0
  444. package/dist/components/pagination/next.js.map +1 -1
  445. package/dist/components/pagination/pages.d.ts +21 -2
  446. package/dist/components/pagination/pages.js +18 -0
  447. package/dist/components/pagination/pages.js.map +1 -1
  448. package/dist/components/pagination/prev.d.ts +17 -2
  449. package/dist/components/pagination/prev.js +16 -1
  450. package/dist/components/pagination/prev.js.map +1 -1
  451. package/dist/components/pagination/types.d.ts +32 -0
  452. package/dist/components/pagination/utils.d.ts +35 -0
  453. package/dist/components/pagination/utils.js +35 -0
  454. package/dist/components/pagination/utils.js.map +1 -1
  455. package/dist/components/popover/content.d.ts +20 -2
  456. package/dist/components/popover/content.js +17 -0
  457. package/dist/components/popover/content.js.map +1 -1
  458. package/dist/components/popover/footer.d.ts +22 -2
  459. package/dist/components/popover/footer.js +19 -0
  460. package/dist/components/popover/footer.js.map +1 -1
  461. package/dist/components/popover/index.d.ts +9 -2
  462. package/dist/components/popover/index.js +8 -1
  463. package/dist/components/popover/index.js.map +1 -1
  464. package/dist/components/popover/styles.module.css +6 -0
  465. package/dist/components/popover/title.d.ts +17 -2
  466. package/dist/components/popover/title.js +15 -0
  467. package/dist/components/popover/title.js.map +1 -1
  468. package/dist/components/popover/trigger.d.ts +24 -2
  469. package/dist/components/popover/trigger.js +21 -0
  470. package/dist/components/popover/trigger.js.map +1 -1
  471. package/dist/components/popover/types.d.ts +10 -0
  472. package/dist/components/query-builder/action-element.d.ts +20 -2
  473. package/dist/components/query-builder/action-element.js +17 -0
  474. package/dist/components/query-builder/action-element.js.map +1 -1
  475. package/dist/components/query-builder/actions.d.ts +37 -4
  476. package/dist/components/query-builder/actions.js +36 -1
  477. package/dist/components/query-builder/actions.js.map +1 -1
  478. package/dist/components/query-builder/combinator-selector.d.ts +10 -2
  479. package/dist/components/query-builder/combinator-selector.js +8 -0
  480. package/dist/components/query-builder/combinator-selector.js.map +1 -1
  481. package/dist/components/query-builder/constants.d.ts +1 -0
  482. package/dist/components/query-builder/constants.js +1 -0
  483. package/dist/components/query-builder/constants.js.map +1 -1
  484. package/dist/components/query-builder/index.d.ts +11 -2
  485. package/dist/components/query-builder/index.js +9 -0
  486. package/dist/components/query-builder/index.js.map +1 -1
  487. package/dist/components/query-builder/rule-group.d.ts +52 -4
  488. package/dist/components/query-builder/rule-group.js +47 -0
  489. package/dist/components/query-builder/rule-group.js.map +1 -1
  490. package/dist/components/query-builder/rule.d.ts +20 -2
  491. package/dist/components/query-builder/rule.js +18 -0
  492. package/dist/components/query-builder/rule.js.map +1 -1
  493. package/dist/components/query-builder/types.d.ts +9 -0
  494. package/dist/components/query-builder/utils.d.ts +15 -0
  495. package/dist/components/query-builder/utils.js +15 -0
  496. package/dist/components/query-builder/utils.js.map +1 -1
  497. package/dist/components/query-builder/value-editor.d.ts +23 -2
  498. package/dist/components/query-builder/value-editor.js +20 -0
  499. package/dist/components/query-builder/value-editor.js.map +1 -1
  500. package/dist/components/query-builder/value-selector.d.ts +23 -2
  501. package/dist/components/query-builder/value-selector.js +20 -0
  502. package/dist/components/query-builder/value-selector.js.map +1 -1
  503. package/dist/components/radio/context.d.ts +2 -2
  504. package/dist/components/radio/group.d.ts +19 -2
  505. package/dist/components/radio/group.js +16 -0
  506. package/dist/components/radio/group.js.map +1 -1
  507. package/dist/components/radio/index.d.ts +13 -26
  508. package/dist/components/radio/index.js +11 -24
  509. package/dist/components/radio/index.js.map +1 -1
  510. package/dist/components/radio/types.d.ts +16 -0
  511. package/dist/components/search-field/context.d.ts +7 -4
  512. package/dist/components/search-field/context.js +3 -0
  513. package/dist/components/search-field/context.js.map +1 -1
  514. package/dist/components/search-field/index.d.ts +15 -24
  515. package/dist/components/search-field/index.js +16 -23
  516. package/dist/components/search-field/index.js.map +1 -1
  517. package/dist/components/search-field/types.d.ts +13 -0
  518. package/dist/components/select-field/context.d.ts +11 -4
  519. package/dist/components/select-field/context.js +7 -0
  520. package/dist/components/select-field/context.js.map +1 -1
  521. package/dist/components/select-field/index.d.ts +19 -39
  522. package/dist/components/select-field/index.js +28 -42
  523. package/dist/components/select-field/index.js.map +1 -1
  524. package/dist/components/select-field/styles.module.css +12 -0
  525. package/dist/components/select-field/types.d.ts +19 -0
  526. package/dist/components/sidenav/avatar.d.ts +19 -2
  527. package/dist/components/sidenav/avatar.js +16 -0
  528. package/dist/components/sidenav/avatar.js.map +1 -1
  529. package/dist/components/sidenav/content.d.ts +23 -2
  530. package/dist/components/sidenav/content.js +20 -0
  531. package/dist/components/sidenav/content.js.map +1 -1
  532. package/dist/components/sidenav/context.d.ts +3 -2
  533. package/dist/components/sidenav/context.js +1 -0
  534. package/dist/components/sidenav/context.js.map +1 -1
  535. package/dist/components/sidenav/events.d.ts +2 -0
  536. package/dist/components/sidenav/events.js +2 -0
  537. package/dist/components/sidenav/events.js.map +1 -1
  538. package/dist/components/sidenav/footer.d.ts +16 -2
  539. package/dist/components/sidenav/footer.js +13 -0
  540. package/dist/components/sidenav/footer.js.map +1 -1
  541. package/dist/components/sidenav/header.d.ts +20 -2
  542. package/dist/components/sidenav/header.js +18 -1
  543. package/dist/components/sidenav/header.js.map +1 -1
  544. package/dist/components/sidenav/index.d.ts +11 -2
  545. package/dist/components/sidenav/index.js +9 -0
  546. package/dist/components/sidenav/index.js.map +1 -1
  547. package/dist/components/sidenav/item.d.ts +17 -2
  548. package/dist/components/sidenav/item.js +14 -0
  549. package/dist/components/sidenav/item.js.map +1 -1
  550. package/dist/components/sidenav/link.d.ts +17 -2
  551. package/dist/components/sidenav/link.js +15 -1
  552. package/dist/components/sidenav/link.js.map +1 -1
  553. package/dist/components/sidenav/menu-item.d.ts +16 -2
  554. package/dist/components/sidenav/menu-item.js +13 -0
  555. package/dist/components/sidenav/menu-item.js.map +1 -1
  556. package/dist/components/sidenav/menu.d.ts +19 -2
  557. package/dist/components/sidenav/menu.js +17 -1
  558. package/dist/components/sidenav/menu.js.map +1 -1
  559. package/dist/components/sidenav/trigger.d.ts +17 -2
  560. package/dist/components/sidenav/trigger.js +14 -0
  561. package/dist/components/sidenav/trigger.js.map +1 -1
  562. package/dist/components/sidenav/types.d.ts +53 -0
  563. package/dist/components/skeleton/index.d.ts +12 -27
  564. package/dist/components/skeleton/index.js +10 -24
  565. package/dist/components/skeleton/index.js.map +1 -1
  566. package/dist/components/skeleton/types.d.ts +4 -0
  567. package/dist/components/slider/index.d.ts +30 -29
  568. package/dist/components/slider/index.js +28 -27
  569. package/dist/components/slider/index.js.map +1 -1
  570. package/dist/components/slider/types.d.ts +18 -0
  571. package/dist/components/switch/context.d.ts +16 -10
  572. package/dist/components/switch/context.js +13 -7
  573. package/dist/components/switch/context.js.map +1 -1
  574. package/dist/components/switch/index.d.ts +14 -31
  575. package/dist/components/switch/index.js +12 -29
  576. package/dist/components/switch/index.js.map +1 -1
  577. package/dist/components/switch/types.d.ts +5 -0
  578. package/dist/components/table/body.d.ts +21 -2
  579. package/dist/components/table/body.js +18 -0
  580. package/dist/components/table/body.js.map +1 -1
  581. package/dist/components/table/cell.d.ts +22 -2
  582. package/dist/components/table/cell.js +19 -0
  583. package/dist/components/table/cell.js.map +1 -1
  584. package/dist/components/table/constants/table.d.ts +6 -0
  585. package/dist/components/table/constants/table.js +4 -0
  586. package/dist/components/table/constants/table.js.map +1 -1
  587. package/dist/components/table/context.d.ts +1 -0
  588. package/dist/components/table/context.js +1 -0
  589. package/dist/components/table/context.js.map +1 -1
  590. package/dist/components/table/header-cell.d.ts +24 -2
  591. package/dist/components/table/header-cell.js +24 -1
  592. package/dist/components/table/header-cell.js.map +1 -1
  593. package/dist/components/table/header.d.ts +22 -2
  594. package/dist/components/table/header.js +19 -0
  595. package/dist/components/table/header.js.map +1 -1
  596. package/dist/components/table/index.d.ts +28 -6
  597. package/dist/components/table/index.js +27 -5
  598. package/dist/components/table/index.js.map +1 -1
  599. package/dist/components/table/row.d.ts +26 -2
  600. package/dist/components/table/row.js +23 -0
  601. package/dist/components/table/row.js.map +1 -1
  602. package/dist/components/table/types.d.ts +3 -0
  603. package/dist/components/tabs/context.d.ts +20 -10
  604. package/dist/components/tabs/context.js +17 -7
  605. package/dist/components/tabs/context.js.map +1 -1
  606. package/dist/components/tabs/index.d.ts +17 -40
  607. package/dist/components/tabs/index.js +15 -38
  608. package/dist/components/tabs/index.js.map +1 -1
  609. package/dist/components/tabs/list.d.ts +20 -4
  610. package/dist/components/tabs/list.js +17 -2
  611. package/dist/components/tabs/list.js.map +1 -1
  612. package/dist/components/tabs/panel.d.ts +21 -4
  613. package/dist/components/tabs/panel.js +18 -2
  614. package/dist/components/tabs/panel.js.map +1 -1
  615. package/dist/components/tabs/tab.d.ts +17 -4
  616. package/dist/components/tabs/tab.js +14 -2
  617. package/dist/components/tabs/tab.js.map +1 -1
  618. package/dist/components/tabs/types.d.ts +3 -0
  619. package/dist/components/text-area-field/context.d.ts +20 -10
  620. package/dist/components/text-area-field/context.js +17 -7
  621. package/dist/components/text-area-field/context.js.map +1 -1
  622. package/dist/components/text-area-field/index.d.ts +20 -15
  623. package/dist/components/text-area-field/index.js +18 -13
  624. package/dist/components/text-area-field/index.js.map +1 -1
  625. package/dist/components/text-area-field/styles.module.css +5 -1
  626. package/dist/components/text-area-field/types.d.ts +9 -0
  627. package/dist/components/text-field/context.d.ts +24 -4
  628. package/dist/components/text-field/context.js +20 -0
  629. package/dist/components/text-field/context.js.map +1 -1
  630. package/dist/components/text-field/index.d.ts +17 -82
  631. package/dist/components/text-field/index.js +15 -80
  632. package/dist/components/text-field/index.js.map +1 -1
  633. package/dist/components/text-field/types.d.ts +9 -0
  634. package/dist/components/time-field/index.d.ts +24 -5
  635. package/dist/components/time-field/index.js +25 -6
  636. package/dist/components/time-field/index.js.map +1 -1
  637. package/dist/components/time-field/styles.module.css +5 -2
  638. package/dist/components/time-field/types.d.ts +9 -0
  639. package/dist/components/tooltip/context.d.ts +3 -2
  640. package/dist/components/tooltip/context.js +1 -0
  641. package/dist/components/tooltip/context.js.map +1 -1
  642. package/dist/components/tooltip/index.d.ts +15 -30
  643. package/dist/components/tooltip/index.js +13 -28
  644. package/dist/components/tooltip/index.js.map +1 -1
  645. package/dist/components/tooltip/trigger.d.ts +22 -2
  646. package/dist/components/tooltip/trigger.js +19 -0
  647. package/dist/components/tooltip/trigger.js.map +1 -1
  648. package/dist/components/tooltip/types.d.ts +7 -0
  649. package/dist/components/tree/context.d.ts +5 -9
  650. package/dist/components/tree/context.js +2 -6
  651. package/dist/components/tree/context.js.map +1 -1
  652. package/dist/components/tree/index.d.ts +30 -8
  653. package/dist/components/tree/index.js +28 -6
  654. package/dist/components/tree/index.js.map +1 -1
  655. package/dist/components/tree/item-actions.d.ts +19 -4
  656. package/dist/components/tree/item-actions.js +16 -2
  657. package/dist/components/tree/item-actions.js.map +1 -1
  658. package/dist/components/tree/item-content.d.ts +18 -4
  659. package/dist/components/tree/item-content.js +20 -3
  660. package/dist/components/tree/item-content.js.map +1 -1
  661. package/dist/components/tree/item-description.d.ts +15 -4
  662. package/dist/components/tree/item-description.js +13 -2
  663. package/dist/components/tree/item-description.js.map +1 -1
  664. package/dist/components/tree/item-label.d.ts +15 -4
  665. package/dist/components/tree/item-label.js +13 -2
  666. package/dist/components/tree/item-label.js.map +1 -1
  667. package/dist/components/tree/item-prefix-icon.d.ts +15 -4
  668. package/dist/components/tree/item-prefix-icon.js +13 -2
  669. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  670. package/dist/components/tree/item.d.ts +24 -4
  671. package/dist/components/tree/item.js +21 -2
  672. package/dist/components/tree/item.js.map +1 -1
  673. package/dist/components/tree/lines.d.ts +10 -2
  674. package/dist/components/tree/lines.js +8 -0
  675. package/dist/components/tree/lines.js.map +1 -1
  676. package/dist/components/tree/types.d.ts +26 -0
  677. package/dist/components/view-stack/context.d.ts +20 -9
  678. package/dist/components/view-stack/context.js +18 -7
  679. package/dist/components/view-stack/context.js.map +1 -1
  680. package/dist/components/view-stack/events.d.ts +2 -0
  681. package/dist/components/view-stack/events.js +2 -0
  682. package/dist/components/view-stack/events.js.map +1 -1
  683. package/dist/components/view-stack/index.d.ts +16 -24
  684. package/dist/components/view-stack/index.js +14 -22
  685. package/dist/components/view-stack/index.js.map +1 -1
  686. package/dist/components/view-stack/trigger.d.ts +26 -4
  687. package/dist/components/view-stack/trigger.js +23 -2
  688. package/dist/components/view-stack/trigger.js.map +1 -1
  689. package/dist/components/view-stack/types.d.ts +29 -0
  690. package/dist/components/view-stack/view.d.ts +22 -2
  691. package/dist/components/view-stack/view.js +19 -0
  692. package/dist/components/view-stack/view.js.map +1 -1
  693. package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +44 -0
  694. package/dist/hooks/coordinate-field/use-coordinate-copy.js +35 -0
  695. package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -1
  696. package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +69 -0
  697. package/dist/hooks/coordinate-field/use-coordinate-field-state.js +50 -0
  698. package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
  699. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +61 -0
  700. package/dist/hooks/coordinate-field/use-coordinate-field.js +47 -0
  701. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
  702. package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +51 -0
  703. package/dist/hooks/coordinate-field/use-coordinate-focus.js +39 -0
  704. package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -1
  705. package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +63 -0
  706. package/dist/hooks/coordinate-field/use-coordinate-paste.js +51 -0
  707. package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
  708. package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +32 -0
  709. package/dist/hooks/coordinate-field/use-timeout-cleanup.js +30 -0
  710. package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -1
  711. package/dist/hooks/use-frame-delay/index.d.ts +43 -0
  712. package/dist/hooks/use-frame-delay/index.js +66 -0
  713. package/dist/hooks/use-frame-delay/index.js.map +1 -0
  714. package/dist/hooks/use-tree/actions/index.d.ts +4 -2
  715. package/dist/hooks/use-tree/actions/index.js +4 -2
  716. package/dist/hooks/use-tree/actions/index.js.map +1 -1
  717. package/dist/hooks/use-tree/state/index.d.ts +7 -0
  718. package/dist/hooks/use-tree/state/index.js +7 -0
  719. package/dist/hooks/use-tree/state/index.js.map +1 -1
  720. package/dist/hooks/use-tree/types.d.ts +22 -0
  721. package/dist/index.d.ts +7 -4
  722. package/dist/index.js +4 -2
  723. package/dist/lib/types.d.ts +17 -0
  724. package/dist/lib/utils.d.ts +15 -0
  725. package/dist/lib/utils.js +15 -0
  726. package/dist/lib/utils.js.map +1 -1
  727. package/dist/providers/portal.d.ts +11 -2
  728. package/dist/providers/portal.js +9 -0
  729. package/dist/providers/portal.js.map +1 -1
  730. package/dist/providers/theme-provider.d.ts +18 -2
  731. package/dist/providers/theme-provider.js +15 -0
  732. package/dist/providers/theme-provider.js.map +1 -1
  733. package/package.json +15 -12
@@ -28,11 +28,13 @@ import styles from "./styles.module.css";
28
28
  * to select that color. The component supports keyboard navigation, accessibility
29
29
  * features, and fine-grained styling control through the classNames prop.
30
30
  *
31
- * @param items - Array of color values to display as selectable swatches
32
- * @param classNames - Object containing CSS class names for fine-grained styling control
33
- * @param classNames.picker - CSS class name for the main picker container
34
- * @param classNames.item - CSS class name for individual swatch items
35
- * @param classNames.swatch - CSS class name for the color swatch elements
31
+ * @param props - The color picker props.
32
+ * @param props.items - Array of color values to display as selectable swatches.
33
+ * @param props.classNames - Custom class names for sub-elements.
34
+ * @param props.classNames.picker - Class name for the picker container.
35
+ * @param props.classNames.item - Class name for individual swatch items.
36
+ * @param props.classNames.swatch - Class name for the color swatch elements.
37
+ * @returns The color picker component.
36
38
  *
37
39
  * @example
38
40
  * ```tsx
@@ -43,13 +45,13 @@ import styles from "./styles.module.css";
43
45
  * ];
44
46
  *
45
47
  * <ColorPicker
46
- * options={colors}
47
- * value={'#ff0000'}
48
+ * items={colors}
49
+ * value="#ff0000"
48
50
  * onChange={(color) => console.log('Selected:', color)}
49
51
  * classNames={{
50
52
  * picker: 'gap-4',
51
53
  * item: 'rounded-lg',
52
- * swatch: 'w-8 h-8'
54
+ * swatch: 'w-8 h-8',
53
55
  * }}
54
56
  * />
55
57
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/color-picker/index.tsx"],"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'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n ColorSwatch,\n ColorSwatchPicker,\n ColorSwatchPickerItem,\n composeRenderProps,\n} from 'react-aria-components';\nimport styles from './styles.module.css';\nimport type { ColorPickerProps } from './types';\n\n/**\n * A color picker component that renders a grid of color swatches for selection.\n *\n * This component provides a simple interface for users to select from a predefined\n * set of colors. It renders each color as an interactive swatch that can be clicked\n * to select that color. The component supports keyboard navigation, accessibility\n * features, and fine-grained styling control through the classNames prop.\n *\n * @param items - Array of color values to display as selectable swatches\n * @param classNames - Object containing CSS class names for fine-grained styling control\n * @param classNames.picker - CSS class name for the main picker container\n * @param classNames.item - CSS class name for individual swatch items\n * @param classNames.swatch - CSS class name for the color swatch elements\n *\n * @example\n * ```tsx\n * const colors = [\n * '#ff0000',\n * '#00ff00',\n * '#0000ff',\n * ];\n *\n * <ColorPicker\n * options={colors}\n * value={'#ff0000'}\n * onChange={(color) => console.log('Selected:', color)}\n * classNames={{\n * picker: 'gap-4',\n * item: 'rounded-lg',\n * swatch: 'w-8 h-8'\n * }}\n * />\n * ```\n *\n * @remarks\n * - Colors can be provided as Color objects or color strings\n * - The component automatically handles color parsing and validation\n * - Supports all accessibility features from react-aria-components\n * - Uses a grid layout by default but can be customized via the layout prop\n */\nexport function ColorPicker({ classNames, items, ...rest }: ColorPickerProps) {\n return (\n <ColorSwatchPicker\n {...rest}\n className={composeRenderProps(classNames?.picker, (className) =>\n clsx(styles.picker, className),\n )}\n >\n {items.map((color) => (\n <ColorSwatchPickerItem\n key={color.toString('hexa')}\n className={composeRenderProps(classNames?.item, (className) =>\n clsx(styles.item, className),\n )}\n color={color}\n >\n <ColorSwatch\n className={composeRenderProps(classNames?.swatch, (className) =>\n clsx(styles.swatch, className),\n )}\n />\n </ColorSwatchPickerItem>\n ))}\n </ColorSwatchPicker>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,SAAgB,YAAY,EAAE,YAAY,OAAO,GAAG,QAA0B;AAC5E,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,OAAO,QAAQ,UAAU,CAC/B;YAEA,MAAM,KAAK,UACV,oBAAC;GAEC,WAAW,mBAAmB,YAAY,OAAO,cAC/C,KAAK,OAAO,MAAM,UAAU,CAC7B;GACM;aAEP,oBAAC,eACC,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,OAAO,QAAQ,UAAU,CAC/B,GACD;KAVG,MAAM,SAAS,OAAO,CAWL,CACxB;GACgB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/color-picker/index.tsx"],"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'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n ColorSwatch,\n ColorSwatchPicker,\n ColorSwatchPickerItem,\n composeRenderProps,\n} from 'react-aria-components';\nimport styles from './styles.module.css';\nimport type { ColorPickerProps } from './types';\n\n/**\n * A color picker component that renders a grid of color swatches for selection.\n *\n * This component provides a simple interface for users to select from a predefined\n * set of colors. It renders each color as an interactive swatch that can be clicked\n * to select that color. The component supports keyboard navigation, accessibility\n * features, and fine-grained styling control through the classNames prop.\n *\n * @param props - The color picker props.\n * @param props.items - Array of color values to display as selectable swatches.\n * @param props.classNames - Custom class names for sub-elements.\n * @param props.classNames.picker - Class name for the picker container.\n * @param props.classNames.item - Class name for individual swatch items.\n * @param props.classNames.swatch - Class name for the color swatch elements.\n * @returns The color picker component.\n *\n * @example\n * ```tsx\n * const colors = [\n * '#ff0000',\n * '#00ff00',\n * '#0000ff',\n * ];\n *\n * <ColorPicker\n * items={colors}\n * value=\"#ff0000\"\n * onChange={(color) => console.log('Selected:', color)}\n * classNames={{\n * picker: 'gap-4',\n * item: 'rounded-lg',\n * swatch: 'w-8 h-8',\n * }}\n * />\n * ```\n *\n * @remarks\n * - Colors can be provided as Color objects or color strings\n * - The component automatically handles color parsing and validation\n * - Supports all accessibility features from react-aria-components\n * - Uses a grid layout by default but can be customized via the layout prop\n */\nexport function ColorPicker({ classNames, items, ...rest }: ColorPickerProps) {\n return (\n <ColorSwatchPicker\n {...rest}\n className={composeRenderProps(classNames?.picker, (className) =>\n clsx(styles.picker, className),\n )}\n >\n {items.map((color) => (\n <ColorSwatchPickerItem\n key={color.toString('hexa')}\n className={composeRenderProps(classNames?.item, (className) =>\n clsx(styles.item, className),\n )}\n color={color}\n >\n <ColorSwatch\n className={composeRenderProps(classNames?.swatch, (className) =>\n clsx(styles.swatch, className),\n )}\n />\n </ColorSwatchPickerItem>\n ))}\n </ColorSwatchPicker>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,SAAgB,YAAY,EAAE,YAAY,OAAO,GAAG,QAA0B;AAC5E,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,OAAO,QAAQ,UAAU,CAC/B;YAEA,MAAM,KAAK,UACV,oBAAC;GAEC,WAAW,mBAAmB,YAAY,OAAO,cAC/C,KAAK,OAAO,MAAM,UAAU,CAC7B;GACM;aAEP,oBAAC,eACC,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,OAAO,QAAQ,UAAU,CAC/B,GACD;KAVG,MAAM,SAAS,OAAO,CAWL,CACxB;GACgB"}
@@ -14,12 +14,20 @@ import { RefAttributes } from "react";
14
14
  import { ColorSwatchPickerItemProps, ColorSwatchPickerProps, ColorSwatchProps } from "react-aria-components";
15
15
 
16
16
  //#region src/components/color-picker/types.d.ts
17
+ /**
18
+ * Props for the ColorPicker component.
19
+ */
17
20
  type ColorPickerProps = Omit<ColorSwatchPickerProps, 'children' | 'layout'> & RefAttributes<HTMLDivElement> & {
21
+ /** Custom class names for sub-elements. */
18
22
  classNames?: {
23
+ /** Class name for the picker container. */
19
24
  picker?: ColorSwatchPickerProps['className'];
25
+ /** Class name for individual swatch items. */
20
26
  item?: ColorSwatchPickerItemProps['className'];
27
+ /** Class name for the color swatch elements. */
21
28
  swatch?: ColorSwatchProps['className'];
22
29
  };
30
+ /** Array of color values to display as selectable swatches. */
23
31
  items: ColorSwatchPickerItemProps['color'][];
24
32
  };
25
33
  //#endregion
@@ -14,16 +14,32 @@ import { ProviderProps } from "../../lib/types.js";
14
14
  import { OptionsDataItem } from "../options/types.js";
15
15
  import { ComboBoxFieldProps } from "./types.js";
16
16
  import "client-only";
17
- import * as react40 from "react";
17
+ import * as react13 from "react";
18
18
  import { ContextValue } from "react-aria-components";
19
- import * as react_jsx_runtime154 from "react/jsx-runtime";
19
+ import * as react_jsx_runtime31 from "react/jsx-runtime";
20
20
 
21
21
  //#region src/components/combobox-field/context.d.ts
22
- declare const ComboBoxFieldContext: react40.Context<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>;
22
+ /** React context for sharing ComboBoxField configuration across components. */
23
+ declare const ComboBoxFieldContext: react13.Context<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>;
24
+ /**
25
+ * Context provider for setting default props across multiple ComboBoxField components.
26
+ *
27
+ * @param props - The provider props.
28
+ * @param props.children - Child components that will receive the combobox field context.
29
+ * @returns The combobox field context provider wrapping children.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <ComboBoxFieldProvider size="small">
34
+ * <ComboBoxField defaultItems={items1}>{...}</ComboBoxField>
35
+ * <ComboBoxField defaultItems={items2}>{...}</ComboBoxField>
36
+ * </ComboBoxFieldProvider>
37
+ * ```
38
+ */
23
39
  declare function ComboBoxFieldProvider<T extends OptionsDataItem>({
24
40
  children,
25
41
  ...props
26
- }: ProviderProps<ComboBoxFieldProps<T>>): react_jsx_runtime154.JSX.Element;
42
+ }: ProviderProps<ComboBoxFieldProps<T>>): react_jsx_runtime31.JSX.Element;
27
43
  //#endregion
28
44
  export { ComboBoxFieldContext, ComboBoxFieldProvider };
29
45
  //# sourceMappingURL=context.d.ts.map
@@ -18,7 +18,23 @@ import { createContext } from "react";
18
18
  import { jsx } from "react/jsx-runtime";
19
19
 
20
20
  //#region src/components/combobox-field/context.tsx
21
+ /** React context for sharing ComboBoxField configuration across components. */
21
22
  const ComboBoxFieldContext = createContext(null);
23
+ /**
24
+ * Context provider for setting default props across multiple ComboBoxField components.
25
+ *
26
+ * @param props - The provider props.
27
+ * @param props.children - Child components that will receive the combobox field context.
28
+ * @returns The combobox field context provider wrapping children.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <ComboBoxFieldProvider size="small">
33
+ * <ComboBoxField defaultItems={items1}>{...}</ComboBoxField>
34
+ * <ComboBoxField defaultItems={items2}>{...}</ComboBoxField>
35
+ * </ComboBoxFieldProvider>
36
+ * ```
37
+ */
22
38
  function ComboBoxFieldProvider({ children, ...props }) {
23
39
  return /* @__PURE__ */ jsx(ComboBoxFieldContext.Provider, {
24
40
  value: props,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/combobox-field/context.tsx"],"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'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\nexport const ComboBoxFieldContext =\n // biome-ignore lint/suspicious/noExplicitAny: Setting a type would restrict it beyond what the component allows to extend to\n createContext<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>(null);\n\nexport function ComboBoxFieldProvider<T extends OptionsDataItem>({\n children,\n ...props\n}: ProviderProps<ComboBoxFieldProps<T>>) {\n return (\n <ComboBoxFieldContext.Provider value={props}>\n {children}\n </ComboBoxFieldContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,MAAa,uBAEX,cAAqE,KAAK;AAE5E,SAAgB,sBAAiD,EAC/D,UACA,GAAG,SACoC;AACvC,QACE,oBAAC,qBAAqB;EAAS,OAAO;EACnC;GAC6B"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/combobox-field/context.tsx"],"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'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\n/** React context for sharing ComboBoxField configuration across components. */\nexport const ComboBoxFieldContext =\n // biome-ignore lint/suspicious/noExplicitAny: Setting a type would restrict it beyond what the component allows to extend to\n createContext<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>(null);\n\n/**\n * Context provider for setting default props across multiple ComboBoxField components.\n *\n * @param props - The provider props.\n * @param props.children - Child components that will receive the combobox field context.\n * @returns The combobox field context provider wrapping children.\n *\n * @example\n * ```tsx\n * <ComboBoxFieldProvider size=\"small\">\n * <ComboBoxField defaultItems={items1}>{...}</ComboBoxField>\n * <ComboBoxField defaultItems={items2}>{...}</ComboBoxField>\n * </ComboBoxFieldProvider>\n * ```\n */\nexport function ComboBoxFieldProvider<T extends OptionsDataItem>({\n children,\n ...props\n}: ProviderProps<ComboBoxFieldProps<T>>) {\n return (\n <ComboBoxFieldContext.Provider value={props}>\n {children}\n </ComboBoxFieldContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,uBAEX,cAAqE,KAAK;;;;;;;;;;;;;;;;AAiB5E,SAAgB,sBAAiD,EAC/D,UACA,GAAG,SACoC;AACvC,QACE,oBAAC,qBAAqB;EAAS,OAAO;EACnC;GAC6B"}
@@ -13,24 +13,37 @@
13
13
  import { OptionsDataItem } from "../options/types.js";
14
14
  import { ComboBoxFieldProps } from "./types.js";
15
15
  import "client-only";
16
- import * as react_jsx_runtime155 from "react/jsx-runtime";
16
+ import * as react_jsx_runtime32 from "react/jsx-runtime";
17
17
 
18
18
  //#region src/components/combobox-field/index.d.ts
19
+
19
20
  /**
20
21
  * ComboBoxField - Accessible searchable combobox with dropdown options
21
22
  *
22
23
  * A combobox field that provides a searchable input with virtualized dropdown
23
24
  * options and support for sections, icons, and rich content.
24
25
  *
26
+ * @param props - The combobox field props.
27
+ * @param props.ref - Reference to the field element.
28
+ * @param props.children - Render function for options.
29
+ * @param props.classNames - Custom class names for sub-elements.
30
+ * @param props.label - Label text displayed above the field.
31
+ * @param props.description - Helper text displayed below the field.
32
+ * @param props.errorMessage - Error message displayed when invalid.
33
+ * @param props.size - Size variant of the field.
34
+ * @returns The combobox field component.
35
+ *
25
36
  * @example
37
+ * ```tsx
26
38
  * <ComboBoxField defaultItems={items}>
27
39
  * {(item) => <OptionsItem key={item.id} textValue={item.name}>{item.name}</OptionsItem>}
28
40
  * </ComboBoxField>
41
+ * ```
29
42
  */
30
43
  declare function ComboBoxField<T extends OptionsDataItem>({
31
44
  ref,
32
45
  ...props
33
- }: ComboBoxFieldProps<T>): react_jsx_runtime155.JSX.Element;
46
+ }: ComboBoxFieldProps<T>): react_jsx_runtime32.JSX.Element;
34
47
  //#endregion
35
48
  export { ComboBoxField };
36
49
  //# sourceMappingURL=index.d.ts.map
@@ -21,7 +21,7 @@ import "client-only";
21
21
  import { clsx } from "@accelint/design-foundation/lib/utils";
22
22
  import { Button, ComboBox, FieldError, Input, ListLayout, Popover, Text, Virtualizer, composeRenderProps, useContextProps } from "react-aria-components";
23
23
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
- import { ChevronDown } from "@accelint/icons";
24
+ import ChevronDown from "@accelint/icons/chevron-down";
25
25
  import styles from "./styles.module.css";
26
26
 
27
27
  //#region src/components/combobox-field/index.tsx
@@ -31,14 +31,26 @@ import styles from "./styles.module.css";
31
31
  * A combobox field that provides a searchable input with virtualized dropdown
32
32
  * options and support for sections, icons, and rich content.
33
33
  *
34
+ * @param props - The combobox field props.
35
+ * @param props.ref - Reference to the field element.
36
+ * @param props.children - Render function for options.
37
+ * @param props.classNames - Custom class names for sub-elements.
38
+ * @param props.label - Label text displayed above the field.
39
+ * @param props.description - Helper text displayed below the field.
40
+ * @param props.errorMessage - Error message displayed when invalid.
41
+ * @param props.size - Size variant of the field.
42
+ * @returns The combobox field component.
43
+ *
34
44
  * @example
45
+ * ```tsx
35
46
  * <ComboBoxField defaultItems={items}>
36
47
  * {(item) => <OptionsItem key={item.id} textValue={item.name}>{item.name}</OptionsItem>}
37
48
  * </ComboBoxField>
49
+ * ```
38
50
  */
39
51
  function ComboBoxField({ ref, ...props }) {
40
52
  [props, ref] = useContextProps(props, ref ?? null, ComboBoxFieldContext);
41
- const { children, classNames, description: descriptionProp, errorMessage: errorMessageProp, inputProps, label: labelProp, layoutOptions, menuTrigger = "focus", size = "medium", isInvalid: isInvalidProp, ...rest } = props;
53
+ const { children, classNames, description: descriptionProp, errorMessage: errorMessageProp, inputProps, label: labelProp, layoutOptions, menuTrigger = "focus", size = "medium", isInvalid: isInvalidProp, isReadOnly = false, ...rest } = props;
42
54
  const errorMessage = errorMessageProp || null;
43
55
  const isSmall = size === "small";
44
56
  return /* @__PURE__ */ jsx(ComboBox, {
@@ -47,45 +59,52 @@ function ComboBoxField({ ref, ...props }) {
47
59
  className: composeRenderProps(classNames?.field, (className) => clsx("group/combobox-field", styles.field, className)),
48
60
  menuTrigger,
49
61
  isInvalid: isInvalidProp || (errorMessage ? true : void 0),
62
+ isReadOnly,
50
63
  "data-size": size,
51
- children: ({ isDisabled, isInvalid, isRequired }) => /* @__PURE__ */ jsxs(Fragment, { children: [
52
- !!labelProp && !isSmall && /* @__PURE__ */ jsx(Label$1, {
53
- className: clsx(styles.label, classNames?.label),
54
- isDisabled,
55
- isRequired,
56
- children: labelProp
57
- }),
58
- /* @__PURE__ */ jsxs("div", {
59
- className: clsx(styles.control, classNames?.control),
60
- children: [/* @__PURE__ */ jsx(Input, {
61
- ...inputProps,
62
- className: composeRenderProps(classNames?.input, (className) => clsx(styles.input, className))
63
- }), /* @__PURE__ */ jsx(Button, {
64
- className: composeRenderProps(classNames?.trigger, (className) => clsx(styles.trigger, className)),
65
- children: /* @__PURE__ */ jsx(Icon, {
66
- size: "small",
67
- children: /* @__PURE__ */ jsx(ChevronDown, {})
64
+ children: ({ isDisabled, isInvalid, isRequired }) => {
65
+ const shouldShowDescription = !isReadOnly && !!descriptionProp && !(isSmall || isInvalid);
66
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
67
+ !!labelProp && !isSmall && /* @__PURE__ */ jsx(Label$1, {
68
+ className: clsx(styles.label, classNames?.label),
69
+ isDisabled,
70
+ isRequired,
71
+ children: labelProp
72
+ }),
73
+ /* @__PURE__ */ jsxs("div", {
74
+ className: clsx(styles.control, classNames?.control),
75
+ "data-readonly": isReadOnly || null,
76
+ children: [/* @__PURE__ */ jsx(Input, {
77
+ ...inputProps,
78
+ tabIndex: isReadOnly ? -1 : 0,
79
+ className: composeRenderProps(classNames?.input, (className) => clsx(styles.input, className)),
80
+ title: inputProps?.value ? String(inputProps?.value) : ""
81
+ }), !isReadOnly && /* @__PURE__ */ jsx(Button, {
82
+ className: composeRenderProps(classNames?.trigger, (className) => clsx(styles.trigger, className)),
83
+ children: /* @__PURE__ */ jsx(Icon, {
84
+ size: "small",
85
+ children: /* @__PURE__ */ jsx(ChevronDown, {})
86
+ })
87
+ })]
88
+ }),
89
+ shouldShowDescription && /* @__PURE__ */ jsx(Text, {
90
+ className: clsx(styles.description, classNames?.description),
91
+ slot: "description",
92
+ children: descriptionProp
93
+ }),
94
+ /* @__PURE__ */ jsx(FieldError, {
95
+ className: composeRenderProps(classNames?.error, (className) => clsx(styles.error, className)),
96
+ children: errorMessage
97
+ }),
98
+ /* @__PURE__ */ jsx(Popover, {
99
+ className: composeRenderProps(classNames?.popover, (className) => clsx(styles.popover, className)),
100
+ children: /* @__PURE__ */ jsx(Virtualizer, {
101
+ layout: ListLayout,
102
+ layoutOptions,
103
+ children: /* @__PURE__ */ jsx(Options, { children })
68
104
  })
69
- })]
70
- }),
71
- !!descriptionProp && !(isSmall || isInvalid) && /* @__PURE__ */ jsx(Text, {
72
- className: clsx(styles.description, classNames?.description),
73
- slot: "description",
74
- children: descriptionProp
75
- }),
76
- /* @__PURE__ */ jsx(FieldError, {
77
- className: composeRenderProps(classNames?.error, (className) => clsx(styles.error, className)),
78
- children: errorMessage
79
- }),
80
- /* @__PURE__ */ jsx(Popover, {
81
- className: composeRenderProps(classNames?.popover, (className) => clsx(styles.popover, className)),
82
- children: /* @__PURE__ */ jsx(Virtualizer, {
83
- layout: ListLayout,
84
- layoutOptions,
85
- children: /* @__PURE__ */ jsx(Options, { children })
86
105
  })
87
- })
88
- ] })
106
+ ] });
107
+ }
89
108
  });
90
109
  }
91
110
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Label"],"sources":["../../../src/components/combobox-field/index.tsx"],"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'use client';\n\nimport { ChevronDown } from '@accelint/icons';\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n Button,\n ComboBox,\n composeRenderProps,\n FieldError,\n Input,\n ListLayout,\n Popover,\n Text,\n useContextProps,\n Virtualizer,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Options } from '../options';\nimport { ComboBoxFieldContext } from './context';\nimport styles from './styles.module.css';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\n/**\n * ComboBoxField - Accessible searchable combobox with dropdown options\n *\n * A combobox field that provides a searchable input with virtualized dropdown\n * options and support for sections, icons, and rich content.\n *\n * @example\n * <ComboBoxField defaultItems={items}>\n * {(item) => <OptionsItem key={item.id} textValue={item.name}>{item.name}</OptionsItem>}\n * </ComboBoxField>\n */\nexport function ComboBoxField<T extends OptionsDataItem>({\n ref,\n ...props\n}: ComboBoxFieldProps<T>) {\n [props, ref] = useContextProps(props, ref ?? null, ComboBoxFieldContext);\n\n const {\n children,\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n layoutOptions,\n menuTrigger = 'focus',\n size = 'medium',\n isInvalid: isInvalidProp,\n ...rest\n } = props;\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <ComboBox<T>\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/combobox-field', styles.field, className),\n )}\n menuTrigger={menuTrigger}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n data-size={size}\n >\n {(\n { isDisabled, isInvalid, isRequired }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!!labelProp && !isSmall && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div className={clsx(styles.control, classNames?.control)}>\n <Input\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n />\n <Button\n className={composeRenderProps(classNames?.trigger, (className) =>\n clsx(styles.trigger, className),\n )}\n >\n <Icon size='small'>\n <ChevronDown />\n </Icon>\n </Button>\n </div>\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </Text>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n <Popover\n className={composeRenderProps(classNames?.popover, (className) =>\n clsx(styles.popover, className),\n )}\n >\n <Virtualizer layout={ListLayout} layoutOptions={layoutOptions}>\n <Options>{children}</Options>\n </Virtualizer>\n </Popover>\n </>\n )}\n </ComboBox>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,SAAgB,cAAyC,EACvD,KACA,GAAG,SACqB;AACxB,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,qBAAqB;CAExE,MAAM,EACJ,UACA,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,eACA,cAAc,SACd,OAAO,UACP,WAAW,eACX,GAAG,SACD;CACJ,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAAC;EACC,GAAI;EACC;EACL,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,wBAAwB,OAAO,OAAO,UAAU,CACtD;EACY;EACb,WAAW,kBAAkB,eAAe,OAAO;EACnD,aAAW;aAGT,EAAE,YAAY,WAAW,iBAEzB;GACG,CAAC,CAAC,aAAa,CAAC,WACf,oBAACA;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IACpC;IACA;cAEX;KACK;GAEV,qBAAC;IAAI,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;eACvD,oBAAC;KACC,GAAI;KACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;MACD,EACF,oBAAC;KACC,WAAW,mBAAmB,YAAY,UAAU,cAClD,KAAK,OAAO,SAAS,UAAU,CAChC;eAED,oBAAC;MAAK,MAAK;gBACT,oBAAC,gBAAc;OACV;MACA;KACL;GACL,CAAC,CAAC,mBAAmB,EAAE,WAAW,cACjC,oBAAC;IACC,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;IAC5D,MAAK;cAEJ;KACI;GAET,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;GACb,oBAAC;IACC,WAAW,mBAAmB,YAAY,UAAU,cAClD,KAAK,OAAO,SAAS,UAAU,CAChC;cAED,oBAAC;KAAY,QAAQ;KAA2B;eAC9C,oBAAC,WAAS,WAAmB;MACjB;KACN;MACT;GAEI"}
1
+ {"version":3,"file":"index.js","names":["Label"],"sources":["../../../src/components/combobox-field/index.tsx"],"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'use client';\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport ChevronDown from '@accelint/icons/chevron-down';\nimport {\n Button,\n ComboBox,\n composeRenderProps,\n FieldError,\n Input,\n ListLayout,\n Popover,\n Text,\n useContextProps,\n Virtualizer,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Options } from '../options';\nimport { ComboBoxFieldContext } from './context';\nimport styles from './styles.module.css';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\n/**\n * ComboBoxField - Accessible searchable combobox with dropdown options\n *\n * A combobox field that provides a searchable input with virtualized dropdown\n * options and support for sections, icons, and rich content.\n *\n * @param props - The combobox field props.\n * @param props.ref - Reference to the field element.\n * @param props.children - Render function for options.\n * @param props.classNames - Custom class names for sub-elements.\n * @param props.label - Label text displayed above the field.\n * @param props.description - Helper text displayed below the field.\n * @param props.errorMessage - Error message displayed when invalid.\n * @param props.size - Size variant of the field.\n * @returns The combobox field component.\n *\n * @example\n * ```tsx\n * <ComboBoxField defaultItems={items}>\n * {(item) => <OptionsItem key={item.id} textValue={item.name}>{item.name}</OptionsItem>}\n * </ComboBoxField>\n * ```\n */\nexport function ComboBoxField<T extends OptionsDataItem>({\n ref,\n ...props\n}: ComboBoxFieldProps<T>) {\n [props, ref] = useContextProps(props, ref ?? null, ComboBoxFieldContext);\n\n const {\n children,\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n layoutOptions,\n menuTrigger = 'focus',\n size = 'medium',\n isInvalid: isInvalidProp,\n isReadOnly = false,\n ...rest\n } = props;\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <ComboBox<T>\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/combobox-field', styles.field, className),\n )}\n menuTrigger={menuTrigger}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isReadOnly={isReadOnly}\n data-size={size}\n >\n {(\n { isDisabled, isInvalid, isRequired }, // Rely on internal state, not props, since state could differ from props\n ) => {\n const shouldShowDescription =\n !isReadOnly && !!descriptionProp && !(isSmall || isInvalid);\n\n return (\n <>\n {!!labelProp && !isSmall && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div\n className={clsx(styles.control, classNames?.control)}\n data-readonly={isReadOnly || null}\n >\n <Input\n {...inputProps}\n tabIndex={isReadOnly ? -1 : 0}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n title={inputProps?.value ? String(inputProps?.value) : ''}\n />\n {!isReadOnly && (\n <Button\n className={composeRenderProps(\n classNames?.trigger,\n (className) => clsx(styles.trigger, className),\n )}\n >\n <Icon size='small'>\n <ChevronDown />\n </Icon>\n </Button>\n )}\n </div>\n {shouldShowDescription && (\n <Text\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </Text>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n <Popover\n className={composeRenderProps(classNames?.popover, (className) =>\n clsx(styles.popover, className),\n )}\n >\n <Virtualizer layout={ListLayout} layoutOptions={layoutOptions}>\n <Options>{children}</Options>\n </Virtualizer>\n </Popover>\n </>\n );\n }}\n </ComboBox>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,SAAgB,cAAyC,EACvD,KACA,GAAG,SACqB;AACxB,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,qBAAqB;CAExE,MAAM,EACJ,UACA,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,eACA,cAAc,SACd,OAAO,UACP,WAAW,eACX,aAAa,OACb,GAAG,SACD;CACJ,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAAC;EACC,GAAI;EACC;EACL,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,wBAAwB,OAAO,OAAO,UAAU,CACtD;EACY;EACb,WAAW,kBAAkB,eAAe,OAAO;EACvC;EACZ,aAAW;aAGT,EAAE,YAAY,WAAW,iBACtB;GACH,MAAM,wBACJ,CAAC,cAAc,CAAC,CAAC,mBAAmB,EAAE,WAAW;AAEnD,UACE;IACG,CAAC,CAAC,aAAa,CAAC,WACf,oBAACA;KACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;KACpC;KACA;eAEX;MACK;IAEV,qBAAC;KACC,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;KACpD,iBAAe,cAAc;gBAE7B,oBAAC;MACC,GAAI;MACJ,UAAU,aAAa,KAAK;MAC5B,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;MACD,OAAO,YAAY,QAAQ,OAAO,YAAY,MAAM,GAAG;OACvD,EACD,CAAC,cACA,oBAAC;MACC,WAAW,mBACT,YAAY,UACX,cAAc,KAAK,OAAO,SAAS,UAAU,CAC/C;gBAED,oBAAC;OAAK,MAAK;iBACT,oBAAC,gBAAc;QACV;OACA;MAEP;IACL,yBACC,oBAAC;KACC,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;KAC5D,MAAK;eAEJ;MACI;IAET,oBAAC;KACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;eAEA;MACU;IACb,oBAAC;KACC,WAAW,mBAAmB,YAAY,UAAU,cAClD,KAAK,OAAO,SAAS,UAAU,CAChC;eAED,oBAAC;MAAY,QAAQ;MAA2B;gBAC9C,oBAAC,WAAS,WAAmB;OACjB;MACN;OACT;;GAGE"}
@@ -55,10 +55,14 @@
55
55
  @variant group-disabled/combobox-field {
56
56
  @apply fg-disabled outline-interactive-disabled;
57
57
  }
58
+
59
+ @variant read-only {
60
+ @apply px-0 outline-none;
61
+ }
58
62
  }
59
63
 
60
64
  .input {
61
- @apply font-display grow outline-none;
65
+ @apply font-display grow overflow-hidden text-ellipsis whitespace-nowrap outline-none;
62
66
 
63
67
  @variant group-size-medium/combobox-field {
64
68
  @apply text-body-s;
@@ -16,21 +16,40 @@ import { RefAttributes } from "react";
16
16
  import { ComboBoxProps, FieldErrorProps, InputProps, LabelProps, ListLayoutOptions, PopoverProps, VirtualizerProps } from "react-aria-components";
17
17
 
18
18
  //#region src/components/combobox-field/types.d.ts
19
+ /**
20
+ * Props for the ComboBoxField component.
21
+ *
22
+ * Extends ComboBox props with virtualization, styling, and field configuration.
23
+ */
19
24
  type ComboBoxFieldProps<T extends OptionsDataItem> = Omit<ComboBoxProps<T>, 'children' | 'className'> & Pick<VirtualizerProps<ListLayoutOptions>, 'layoutOptions'> & Pick<OptionsProps<T>, 'children'> & RefAttributes<HTMLDivElement> & {
25
+ /** Custom class names for sub-elements. */
20
26
  classNames?: {
27
+ /** Class name for the field container. */
21
28
  field?: ComboBoxProps<T>['className'];
29
+ /** Class name for the label. */
22
30
  label?: LabelProps['className'];
31
+ /** Class name for the control wrapper. */
23
32
  control?: string;
33
+ /** Class name for the input element. */
24
34
  input?: InputProps['className'];
35
+ /** Class name for the trigger button. */
25
36
  trigger?: ButtonProps$1['className'];
37
+ /** Class name for the description text. */
26
38
  description?: string;
39
+ /** Class name for the error message. */
27
40
  error?: FieldErrorProps['className'];
41
+ /** Class name for the popover dropdown. */
28
42
  popover?: PopoverProps['className'];
29
43
  };
44
+ /** Label text displayed above the field. */
30
45
  label?: string;
46
+ /** Additional props passed to the input element. */
31
47
  inputProps?: Omit<InputProps, 'className'>;
48
+ /** Helper text displayed below the field. */
32
49
  description?: string;
50
+ /** Error message displayed when invalid. */
33
51
  errorMessage?: string;
52
+ /** Size variant of the field. */
34
53
  size?: 'small' | 'medium';
35
54
  };
36
55
  //#endregion
@@ -12,9 +12,9 @@
12
12
 
13
13
  import { ProviderProps } from "../../lib/types.js";
14
14
  import { CoordinateFieldProps, CoordinateFieldState } from "./types.js";
15
- import * as react41 from "react";
15
+ import * as react14 from "react";
16
16
  import { ContextValue } from "react-aria-components";
17
- import * as react_jsx_runtime158 from "react/jsx-runtime";
17
+ import * as react_jsx_runtime34 from "react/jsx-runtime";
18
18
 
19
19
  //#region src/components/coordinate-field/context.d.ts
20
20
 
@@ -48,7 +48,7 @@ import * as react_jsx_runtime158 from "react/jsx-runtime";
48
48
  *
49
49
  * @see CoordinateFieldStateContext for internal runtime state
50
50
  */
51
- declare const CoordinateFieldContext: react41.Context<ContextValue<CoordinateFieldProps, HTMLDivElement>>;
51
+ declare const CoordinateFieldContext: react14.Context<ContextValue<CoordinateFieldProps, HTMLDivElement>>;
52
52
  /**
53
53
  * State Context for CoordinateField component.
54
54
  *
@@ -66,18 +66,27 @@ declare const CoordinateFieldContext: react41.Context<ContextValue<CoordinateFie
66
66
  * const state = useCoordinateFieldStateContext();
67
67
  * const { segmentValues, isDisabled, registerTimeout } = state;
68
68
  */
69
- declare const CoordinateFieldStateContext: react41.Context<CoordinateFieldState | null>;
69
+ declare const CoordinateFieldStateContext: react14.Context<CoordinateFieldState | null>;
70
70
  /**
71
71
  * Provider component for CoordinateField context
72
72
  * Wraps children with CoordinateFieldContext
73
+ *
74
+ * @param props - The provider props.
75
+ * @param props.children - Child components that will receive the coordinate field context.
76
+ * @returns The coordinate field context provider wrapping children.
73
77
  */
74
78
  declare function CoordinateFieldProvider({
75
79
  children,
76
80
  ...props
77
- }: ProviderProps<CoordinateFieldProps>): react_jsx_runtime158.JSX.Element;
81
+ }: ProviderProps<CoordinateFieldProps>): react_jsx_runtime34.JSX.Element;
78
82
  /**
79
83
  * Provider component for CoordinateField state context
80
84
  * Wraps children with CoordinateFieldStateContext
85
+ *
86
+ * @param props - The provider props.
87
+ * @param props.children - Child components that will receive the state context.
88
+ * @param props.value - The coordinate field state to provide.
89
+ * @returns The coordinate field state context provider wrapping children.
81
90
  */
82
91
  declare function CoordinateFieldStateProvider({
83
92
  children,
@@ -85,7 +94,7 @@ declare function CoordinateFieldStateProvider({
85
94
  }: {
86
95
  children: React.ReactNode;
87
96
  value: CoordinateFieldState;
88
- }): react_jsx_runtime158.JSX.Element;
97
+ }): react_jsx_runtime34.JSX.Element;
89
98
  /**
90
99
  * Hook to access CoordinateField state context
91
100
  * Must be used within a CoordinateField component
@@ -69,6 +69,10 @@ const CoordinateFieldStateContext = createContext(null);
69
69
  /**
70
70
  * Provider component for CoordinateField context
71
71
  * Wraps children with CoordinateFieldContext
72
+ *
73
+ * @param props - The provider props.
74
+ * @param props.children - Child components that will receive the coordinate field context.
75
+ * @returns The coordinate field context provider wrapping children.
72
76
  */
73
77
  function CoordinateFieldProvider({ children, ...props }) {
74
78
  return /* @__PURE__ */ jsx(CoordinateFieldContext.Provider, {
@@ -79,6 +83,11 @@ function CoordinateFieldProvider({ children, ...props }) {
79
83
  /**
80
84
  * Provider component for CoordinateField state context
81
85
  * Wraps children with CoordinateFieldStateContext
86
+ *
87
+ * @param props - The provider props.
88
+ * @param props.children - Child components that will receive the state context.
89
+ * @param props.value - The coordinate field state to provide.
90
+ * @returns The coordinate field state context provider wrapping children.
82
91
  */
83
92
  function CoordinateFieldStateProvider({ children, value }) {
84
93
  return /* @__PURE__ */ jsx(CoordinateFieldStateContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/coordinate-field/context.tsx"],"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\n'use client';\n\nimport { createContext, useContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { CoordinateFieldProps, CoordinateFieldState } from './types';\n\n/**\n * CoordinateField Context Architecture\n *\n * This file defines two separate contexts following the React Aria component pattern:\n *\n * 1. CoordinateFieldContext (Props Context):\n * - Contains user-provided props for the component\n * - Used for React Aria's context-based prop merging\n * - Part of the public composition API\n *\n * 2. CoordinateFieldStateContext (State Context):\n * - Contains derived/computed runtime state\n * - Used to share state with child components (e.g., CoordinateSegment)\n * - Primarily for internal use\n\n * Separation keeps the public API (props) distinct from internal\n * implementation details (state), improving maintainability and composition.\n */\n\n/**\n * Props Context for CoordinateField component.\n *\n * Contains user-provided props (label, format, size, value, onChange, etc.)\n * and is used by React Aria's useContextProps hook for context-based prop merging.\n * This enables parent components to provide default props to nested CoordinateField\n * components, supporting composition patterns.\n *\n * Part of the public API - external consumers can use this for component composition.\n *\n * @see CoordinateFieldStateContext for internal runtime state\n */\nexport const CoordinateFieldContext =\n createContext<ContextValue<CoordinateFieldProps, HTMLDivElement>>(null);\n\n/**\n * State Context for CoordinateField component.\n *\n * Contains derived/computed runtime state (segmentValues, currentValue,\n * validationErrors, registerTimeout, etc.) that is shared with child components\n * like CoordinateSegment. This avoids prop drilling for deeply nested children.\n *\n * This follows the React Aria pattern of separating props context (public API)\n * from state context (internal implementation). While exported for composition\n * scenarios and testing, this is primarily for internal use.\n *\n * @see CoordinateFieldContext for user-provided props\n * @example\n * // Used internally by child components\n * const state = useCoordinateFieldStateContext();\n * const { segmentValues, isDisabled, registerTimeout } = state;\n */\nexport const CoordinateFieldStateContext =\n createContext<CoordinateFieldState | null>(null);\n\n/**\n * Provider component for CoordinateField context\n * Wraps children with CoordinateFieldContext\n */\nexport function CoordinateFieldProvider({\n children,\n ...props\n}: ProviderProps<CoordinateFieldProps>) {\n return (\n <CoordinateFieldContext.Provider value={props}>\n {children}\n </CoordinateFieldContext.Provider>\n );\n}\n\n/**\n * Provider component for CoordinateField state context\n * Wraps children with CoordinateFieldStateContext\n */\nexport function CoordinateFieldStateProvider({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: CoordinateFieldState;\n}) {\n return (\n <CoordinateFieldStateContext.Provider value={value}>\n {children}\n </CoordinateFieldStateContext.Provider>\n );\n}\n\n/**\n * Hook to access CoordinateField state context\n * Must be used within a CoordinateField component\n * @throws {Error} If used outside of CoordinateField\n * @returns {CoordinateFieldState} The coordinate field state\n */\nexport const useCoordinateFieldStateContext = () => {\n const context = useContext(CoordinateFieldStateContext);\n if (!context) {\n throw new Error(\n 'useCoordinateFieldStateContext must be used within CoordinateField',\n );\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,MAAa,yBACX,cAAkE,KAAK;;;;;;;;;;;;;;;;;;AAmBzE,MAAa,8BACX,cAA2C,KAAK;;;;;AAMlD,SAAgB,wBAAwB,EACtC,UACA,GAAG,SACmC;AACtC,QACE,oBAAC,uBAAuB;EAAS,OAAO;EACrC;GAC+B;;;;;;AAQtC,SAAgB,6BAA6B,EAC3C,UACA,SAIC;AACD,QACE,oBAAC,4BAA4B;EAAgB;EAC1C;GACoC;;;;;;;;AAU3C,MAAa,uCAAuC;CAClD,MAAM,UAAU,WAAW,4BAA4B;AACvD,KAAI,CAAC,QACH,OAAM,IAAI,MACR,qEACD;AAEH,QAAO"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/coordinate-field/context.tsx"],"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\n'use client';\n\nimport { createContext, useContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { CoordinateFieldProps, CoordinateFieldState } from './types';\n\n/**\n * CoordinateField Context Architecture\n *\n * This file defines two separate contexts following the React Aria component pattern:\n *\n * 1. CoordinateFieldContext (Props Context):\n * - Contains user-provided props for the component\n * - Used for React Aria's context-based prop merging\n * - Part of the public composition API\n *\n * 2. CoordinateFieldStateContext (State Context):\n * - Contains derived/computed runtime state\n * - Used to share state with child components (e.g., CoordinateSegment)\n * - Primarily for internal use\n\n * Separation keeps the public API (props) distinct from internal\n * implementation details (state), improving maintainability and composition.\n */\n\n/**\n * Props Context for CoordinateField component.\n *\n * Contains user-provided props (label, format, size, value, onChange, etc.)\n * and is used by React Aria's useContextProps hook for context-based prop merging.\n * This enables parent components to provide default props to nested CoordinateField\n * components, supporting composition patterns.\n *\n * Part of the public API - external consumers can use this for component composition.\n *\n * @see CoordinateFieldStateContext for internal runtime state\n */\nexport const CoordinateFieldContext =\n createContext<ContextValue<CoordinateFieldProps, HTMLDivElement>>(null);\n\n/**\n * State Context for CoordinateField component.\n *\n * Contains derived/computed runtime state (segmentValues, currentValue,\n * validationErrors, registerTimeout, etc.) that is shared with child components\n * like CoordinateSegment. This avoids prop drilling for deeply nested children.\n *\n * This follows the React Aria pattern of separating props context (public API)\n * from state context (internal implementation). While exported for composition\n * scenarios and testing, this is primarily for internal use.\n *\n * @see CoordinateFieldContext for user-provided props\n * @example\n * // Used internally by child components\n * const state = useCoordinateFieldStateContext();\n * const { segmentValues, isDisabled, registerTimeout } = state;\n */\nexport const CoordinateFieldStateContext =\n createContext<CoordinateFieldState | null>(null);\n\n/**\n * Provider component for CoordinateField context\n * Wraps children with CoordinateFieldContext\n *\n * @param props - The provider props.\n * @param props.children - Child components that will receive the coordinate field context.\n * @returns The coordinate field context provider wrapping children.\n */\nexport function CoordinateFieldProvider({\n children,\n ...props\n}: ProviderProps<CoordinateFieldProps>) {\n return (\n <CoordinateFieldContext.Provider value={props}>\n {children}\n </CoordinateFieldContext.Provider>\n );\n}\n\n/**\n * Provider component for CoordinateField state context\n * Wraps children with CoordinateFieldStateContext\n *\n * @param props - The provider props.\n * @param props.children - Child components that will receive the state context.\n * @param props.value - The coordinate field state to provide.\n * @returns The coordinate field state context provider wrapping children.\n */\nexport function CoordinateFieldStateProvider({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: CoordinateFieldState;\n}) {\n return (\n <CoordinateFieldStateContext.Provider value={value}>\n {children}\n </CoordinateFieldStateContext.Provider>\n );\n}\n\n/**\n * Hook to access CoordinateField state context\n * Must be used within a CoordinateField component\n * @throws {Error} If used outside of CoordinateField\n * @returns {CoordinateFieldState} The coordinate field state\n */\nexport const useCoordinateFieldStateContext = () => {\n const context = useContext(CoordinateFieldStateContext);\n if (!context) {\n throw new Error(\n 'useCoordinateFieldStateContext must be used within CoordinateField',\n );\n }\n return context;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,MAAa,yBACX,cAAkE,KAAK;;;;;;;;;;;;;;;;;;AAmBzE,MAAa,8BACX,cAA2C,KAAK;;;;;;;;;AAUlD,SAAgB,wBAAwB,EACtC,UACA,GAAG,SACmC;AACtC,QACE,oBAAC,uBAAuB;EAAS,OAAO;EACrC;GAC+B;;;;;;;;;;;AAatC,SAAgB,6BAA6B,EAC3C,UACA,SAIC;AACD,QACE,oBAAC,4BAA4B;EAAgB;EAC1C;GACoC;;;;;;;;AAU3C,MAAa,uCAAuC;CAClD,MAAM,UAAU,WAAW,4BAA4B;AACvD,KAAI,CAAC,QACH,OAAM,IAAI,MACR,qEACD;AAEH,QAAO"}
@@ -277,6 +277,11 @@ declare function isCompleteCoordinate(text: string): boolean;
277
277
  declare function parseCoordinatePaste(pastedText: string): ParsedCoordinateMatch[];
278
278
  /**
279
279
  * Check if two coordinates are equal within epsilon tolerance
280
+ *
281
+ * @param coord1 - First coordinate to compare.
282
+ * @param coord2 - Second coordinate to compare.
283
+ * @param epsilon - Tolerance for comparison (defaults to COORDINATE_EPSILON).
284
+ * @returns True if coordinates are equal within tolerance.
280
285
  */
281
286
  declare function areCoordinatesEqual(coord1: {
282
287
  lat: number;
@@ -287,6 +292,9 @@ declare function areCoordinatesEqual(coord1: {
287
292
  }, epsilon?: number): boolean;
288
293
  /**
289
294
  * Deduplicate coordinate matches by location, keeping first match for each unique location
295
+ *
296
+ * @param matches - Array of parsed coordinate matches to deduplicate.
297
+ * @returns Array of unique matches based on coordinate location.
290
298
  */
291
299
  declare function deduplicateMatchesByLocation(matches: ParsedCoordinateMatch[]): ParsedCoordinateMatch[];
292
300
  //#endregion
@@ -797,12 +797,20 @@ function parseCoordinatePaste(pastedText) {
797
797
  }
798
798
  /**
799
799
  * Check if two coordinates are equal within epsilon tolerance
800
+ *
801
+ * @param coord1 - First coordinate to compare.
802
+ * @param coord2 - Second coordinate to compare.
803
+ * @param epsilon - Tolerance for comparison (defaults to COORDINATE_EPSILON).
804
+ * @returns True if coordinates are equal within tolerance.
800
805
  */
801
806
  function areCoordinatesEqual(coord1, coord2, epsilon = COORDINATE_EPSILON) {
802
807
  return Math.abs(coord1.lat - coord2.lat) < epsilon && Math.abs(coord1.lon - coord2.lon) < epsilon;
803
808
  }
804
809
  /**
805
810
  * Deduplicate coordinate matches by location, keeping first match for each unique location
811
+ *
812
+ * @param matches - Array of parsed coordinate matches to deduplicate.
813
+ * @returns Array of unique matches based on coordinate location.
806
814
  */
807
815
  function deduplicateMatchesByLocation(matches) {
808
816
  const uniqueMatches = [];