@accelint/design-toolkit 9.9.2 → 9.11.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 (719) hide show
  1. package/catalog-info.yaml +3 -3
  2. package/dist/components/accordion/context.d.ts +3 -3
  3. package/dist/components/accordion/context.js.map +1 -1
  4. package/dist/components/accordion/group.d.ts +2 -2
  5. package/dist/components/accordion/group.js +2 -1
  6. package/dist/components/accordion/group.js.map +1 -1
  7. package/dist/components/accordion/header.d.ts +2 -2
  8. package/dist/components/accordion/header.js +2 -1
  9. package/dist/components/accordion/header.js.map +1 -1
  10. package/dist/components/accordion/index.d.ts +2 -2
  11. package/dist/components/accordion/index.js +3 -1
  12. package/dist/components/accordion/index.js.map +1 -1
  13. package/dist/components/accordion/panel.d.ts +2 -2
  14. package/dist/components/accordion/panel.js +2 -1
  15. package/dist/components/accordion/panel.js.map +1 -1
  16. package/dist/components/accordion/styles.module.css +19 -3
  17. package/dist/components/accordion/trigger.d.ts +2 -2
  18. package/dist/components/accordion/trigger.js +4 -3
  19. package/dist/components/accordion/trigger.js.map +1 -1
  20. package/dist/components/accordion/types.d.ts +3 -1
  21. package/dist/components/action-bar/index.d.ts +2 -2
  22. package/dist/components/action-bar/index.js +1 -1
  23. package/dist/components/action-bar/index.js.map +1 -1
  24. package/dist/components/audio/index.d.ts +2 -2
  25. package/dist/components/avatar/context.d.ts +5 -5
  26. package/dist/components/avatar/context.js.map +1 -1
  27. package/dist/components/avatar/index.d.ts +2 -2
  28. package/dist/components/avatar/index.js +1 -1
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/badge/context.d.ts +5 -5
  31. package/dist/components/badge/context.js.map +1 -1
  32. package/dist/components/badge/index.d.ts +2 -2
  33. package/dist/components/badge/index.js +1 -1
  34. package/dist/components/badge/index.js.map +1 -1
  35. package/dist/components/breadcrumbs/index.d.ts +3 -3
  36. package/dist/components/breadcrumbs/index.js +1 -1
  37. package/dist/components/breadcrumbs/index.js.map +1 -1
  38. package/dist/components/breadcrumbs/item.d.ts +2 -2
  39. package/dist/components/breadcrumbs/item.js +3 -1
  40. package/dist/components/breadcrumbs/item.js.map +1 -1
  41. package/dist/components/breadcrumbs/types.d.ts +2 -1
  42. package/dist/components/button/__internal__/clear.js +2 -1
  43. package/dist/components/button/__internal__/clear.js.map +1 -1
  44. package/dist/components/button/context.d.ts +10 -10
  45. package/dist/components/button/context.js.map +1 -1
  46. package/dist/components/button/index.d.ts +2 -2
  47. package/dist/components/button/index.js +3 -1
  48. package/dist/components/button/index.js.map +1 -1
  49. package/dist/components/button/link.d.ts +2 -2
  50. package/dist/components/button/link.js +3 -1
  51. package/dist/components/button/link.js.map +1 -1
  52. package/dist/components/button/styles.module.css +16 -0
  53. package/dist/components/button/toggle.d.ts +2 -2
  54. package/dist/components/button/toggle.js +3 -1
  55. package/dist/components/button/toggle.js.map +1 -1
  56. package/dist/components/button/types.d.ts +3 -1
  57. package/dist/components/carousel/context.d.ts +40 -0
  58. package/dist/components/carousel/context.js +55 -0
  59. package/dist/components/carousel/context.js.map +1 -0
  60. package/dist/components/carousel/gallery.d.ts +38 -0
  61. package/dist/components/carousel/gallery.js +84 -0
  62. package/dist/components/carousel/gallery.js.map +1 -0
  63. package/dist/components/carousel/index.d.ts +56 -0
  64. package/dist/components/carousel/index.js +66 -0
  65. package/dist/components/carousel/index.js.map +1 -0
  66. package/dist/components/carousel/navigation.d.ts +51 -0
  67. package/dist/components/carousel/navigation.js +82 -0
  68. package/dist/components/carousel/navigation.js.map +1 -0
  69. package/dist/components/carousel/position.d.ts +33 -0
  70. package/dist/components/carousel/position.js +48 -0
  71. package/dist/components/carousel/position.js.map +1 -0
  72. package/dist/components/carousel/select.d.ts +38 -0
  73. package/dist/components/carousel/select.js +69 -0
  74. package/dist/components/carousel/select.js.map +1 -0
  75. package/dist/components/carousel/style.module.css +62 -0
  76. package/dist/components/carousel/types.d.ts +87 -0
  77. package/dist/components/carousel/types.js +12 -0
  78. package/dist/components/carousel/viewer.d.ts +40 -0
  79. package/dist/components/carousel/viewer.js +75 -0
  80. package/dist/components/carousel/viewer.js.map +1 -0
  81. package/dist/components/checkbox/context.d.ts +5 -5
  82. package/dist/components/checkbox/context.js.map +1 -1
  83. package/dist/components/checkbox/group.d.ts +2 -2
  84. package/dist/components/checkbox/group.js +5 -3
  85. package/dist/components/checkbox/group.js.map +1 -1
  86. package/dist/components/checkbox/index.d.ts +2 -2
  87. package/dist/components/checkbox/index.js +3 -1
  88. package/dist/components/checkbox/index.js.map +1 -1
  89. package/dist/components/checkbox/types.d.ts +4 -3
  90. package/dist/components/chip/context.d.ts +3 -3
  91. package/dist/components/chip/context.js.map +1 -1
  92. package/dist/components/chip/deletable.d.ts +2 -2
  93. package/dist/components/chip/deletable.js +5 -3
  94. package/dist/components/chip/deletable.js.map +1 -1
  95. package/dist/components/chip/index.d.ts +2 -2
  96. package/dist/components/chip/index.js +2 -1
  97. package/dist/components/chip/index.js.map +1 -1
  98. package/dist/components/chip/list.d.ts +4 -4
  99. package/dist/components/chip/list.js +3 -1
  100. package/dist/components/chip/list.js.map +1 -1
  101. package/dist/components/chip/selectable.d.ts +2 -2
  102. package/dist/components/chip/selectable.js +3 -1
  103. package/dist/components/chip/selectable.js.map +1 -1
  104. package/dist/components/chip/types.d.ts +3 -2
  105. package/dist/components/classification-badge/context.d.ts +5 -5
  106. package/dist/components/classification-badge/context.js.map +1 -1
  107. package/dist/components/classification-badge/index.d.ts +2 -2
  108. package/dist/components/classification-badge/index.js +1 -1
  109. package/dist/components/classification-badge/index.js.map +1 -1
  110. package/dist/components/classification-banner/context.d.ts +5 -5
  111. package/dist/components/classification-banner/context.js.map +1 -1
  112. package/dist/components/classification-banner/index.d.ts +2 -2
  113. package/dist/components/classification-banner/index.js +1 -1
  114. package/dist/components/classification-banner/index.js.map +1 -1
  115. package/dist/components/clock/index.d.ts +2 -2
  116. package/dist/components/color-picker/index.d.ts +2 -2
  117. package/dist/components/color-picker/index.js +4 -3
  118. package/dist/components/color-picker/index.js.map +1 -1
  119. package/dist/components/color-picker/types.d.ts +2 -1
  120. package/dist/components/combobox-field/context.d.ts +5 -5
  121. package/dist/components/combobox-field/context.js.map +1 -1
  122. package/dist/components/combobox-field/index.d.ts +2 -2
  123. package/dist/components/combobox-field/index.js +12 -12
  124. package/dist/components/combobox-field/index.js.map +1 -1
  125. package/dist/components/combobox-field/styles.module.css +12 -0
  126. package/dist/components/combobox-field/types.d.ts +8 -4
  127. package/dist/components/coordinate-field/context.d.ts +7 -7
  128. package/dist/components/coordinate-field/context.js.map +1 -1
  129. package/dist/components/coordinate-field/index.d.ts +2 -2
  130. package/dist/components/coordinate-field/index.js +28 -23
  131. package/dist/components/coordinate-field/index.js.map +1 -1
  132. package/dist/components/coordinate-field/segment.d.ts +2 -2
  133. package/dist/components/coordinate-field/types.d.ts +3 -1
  134. package/dist/components/coordinate-field/types.js.map +1 -1
  135. package/dist/components/date-field/index.d.ts +2 -2
  136. package/dist/components/date-field/index.js +4 -3
  137. package/dist/components/date-field/index.js.map +1 -1
  138. package/dist/components/date-field/types.d.ts +1 -1
  139. package/dist/components/deferred-collection/index.d.ts +2 -2
  140. package/dist/components/details-list/context.d.ts +5 -5
  141. package/dist/components/details-list/context.js.map +1 -1
  142. package/dist/components/details-list/index.d.ts +2 -2
  143. package/dist/components/details-list/index.js +2 -1
  144. package/dist/components/details-list/index.js.map +1 -1
  145. package/dist/components/details-list/label.d.ts +2 -2
  146. package/dist/components/details-list/label.js +1 -1
  147. package/dist/components/details-list/label.js.map +1 -1
  148. package/dist/components/details-list/types.d.ts +1 -1
  149. package/dist/components/details-list/value.d.ts +2 -2
  150. package/dist/components/details-list/value.js +1 -1
  151. package/dist/components/details-list/value.js.map +1 -1
  152. package/dist/components/dialog/content.d.ts +2 -2
  153. package/dist/components/dialog/context.d.ts +4 -4
  154. package/dist/components/dialog/context.js.map +1 -1
  155. package/dist/components/dialog/footer.d.ts +2 -2
  156. package/dist/components/dialog/footer.js +1 -1
  157. package/dist/components/dialog/footer.js.map +1 -1
  158. package/dist/components/dialog/index.d.ts +2 -2
  159. package/dist/components/dialog/index.js +3 -1
  160. package/dist/components/dialog/index.js.map +1 -1
  161. package/dist/components/dialog/styles.module.css +23 -0
  162. package/dist/components/dialog/title.d.ts +3 -3
  163. package/dist/components/dialog/title.js +1 -1
  164. package/dist/components/dialog/title.js.map +1 -1
  165. package/dist/components/dialog/trigger.d.ts +1 -1
  166. package/dist/components/dialog/trigger.js +1 -1
  167. package/dist/components/dialog/trigger.js.map +1 -1
  168. package/dist/components/dialog/types.d.ts +1 -1
  169. package/dist/components/divider/context.d.ts +5 -5
  170. package/dist/components/divider/context.js.map +1 -1
  171. package/dist/components/divider/index.d.ts +2 -2
  172. package/dist/components/divider/index.js +1 -1
  173. package/dist/components/divider/index.js.map +1 -1
  174. package/dist/components/drawer/back.d.ts +2 -2
  175. package/dist/components/drawer/close.d.ts +2 -2
  176. package/dist/components/drawer/content.d.ts +2 -2
  177. package/dist/components/drawer/context.d.ts +2 -2
  178. package/dist/components/drawer/footer.d.ts +2 -2
  179. package/dist/components/drawer/header-title.d.ts +2 -2
  180. package/dist/components/drawer/header-title.js +1 -1
  181. package/dist/components/drawer/header-title.js.map +1 -1
  182. package/dist/components/drawer/header.d.ts +2 -2
  183. package/dist/components/drawer/header.js +3 -3
  184. package/dist/components/drawer/header.js.map +1 -1
  185. package/dist/components/drawer/index.d.ts +2 -2
  186. package/dist/components/drawer/layout-main.d.ts +2 -2
  187. package/dist/components/drawer/layout.d.ts +2 -2
  188. package/dist/components/drawer/menu-item.d.ts +2 -2
  189. package/dist/components/drawer/menu-item.js +7 -7
  190. package/dist/components/drawer/menu-item.js.map +1 -1
  191. package/dist/components/drawer/menu.d.ts +2 -2
  192. package/dist/components/drawer/panel.d.ts +2 -2
  193. package/dist/components/drawer/styles.module.css +54 -2
  194. package/dist/components/drawer/trigger.d.ts +2 -2
  195. package/dist/components/drawer/trigger.js +1 -1
  196. package/dist/components/drawer/trigger.js.map +1 -1
  197. package/dist/components/drawer/types.d.ts +3 -3
  198. package/dist/components/drawer/view.d.ts +2 -2
  199. package/dist/components/flashcard/index.d.ts +9 -9
  200. package/dist/components/flashcard/index.js +2 -1
  201. package/dist/components/flashcard/index.js.map +1 -1
  202. package/dist/components/floating-card/context.d.ts +22 -15
  203. package/dist/components/floating-card/context.js +18 -3
  204. package/dist/components/floating-card/context.js.map +1 -1
  205. package/dist/components/floating-card/index.d.ts +32 -27
  206. package/dist/components/floating-card/index.js +41 -11
  207. package/dist/components/floating-card/index.js.map +1 -1
  208. package/dist/components/floating-card/provider.d.ts +30 -32
  209. package/dist/components/floating-card/provider.js +110 -49
  210. package/dist/components/floating-card/provider.js.map +1 -1
  211. package/dist/components/floating-card/styles.module.css +20 -2
  212. package/dist/components/floating-card/types.d.ts +161 -0
  213. package/dist/components/floating-card/types.js +12 -0
  214. package/dist/components/floating-card/utils.d.ts +104 -0
  215. package/dist/components/floating-card/utils.js +60 -0
  216. package/dist/components/floating-card/utils.js.map +1 -0
  217. package/dist/components/gantt/components/base-elements/point.d.ts +28 -0
  218. package/dist/components/gantt/components/base-elements/point.js +44 -0
  219. package/dist/components/gantt/components/base-elements/point.js.map +1 -0
  220. package/dist/components/gantt/components/base-elements/range.d.ts +30 -0
  221. package/dist/components/gantt/components/base-elements/range.js +51 -0
  222. package/dist/components/gantt/components/base-elements/range.js.map +1 -0
  223. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.d.ts +12 -0
  224. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js +42 -0
  225. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js.map +1 -0
  226. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.d.ts +23 -0
  227. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js +50 -0
  228. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js.map +1 -0
  229. package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +23 -0
  230. package/dist/components/gantt/components/containers/external/gantt-content-container/index.js +40 -0
  231. package/dist/components/gantt/components/containers/external/gantt-content-container/index.js.map +1 -0
  232. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +23 -0
  233. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js +33 -0
  234. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js.map +1 -0
  235. package/dist/components/gantt/components/containers/external/styles.module.css +32 -0
  236. package/dist/components/gantt/components/containers/internal/index.d.ts +22 -0
  237. package/dist/components/gantt/components/containers/internal/index.js +35 -0
  238. package/dist/components/gantt/components/containers/internal/index.js.map +1 -0
  239. package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +22 -0
  240. package/dist/components/gantt/components/containers/internal/layout-container/index.js +27 -0
  241. package/dist/components/gantt/components/containers/internal/layout-container/index.js.map +1 -0
  242. package/dist/components/gantt/components/containers/internal/styles.module.css +35 -0
  243. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.d.ts +22 -0
  244. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js +38 -0
  245. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js.map +1 -0
  246. package/dist/components/gantt/components/content-row/block.d.ts +27 -0
  247. package/dist/components/gantt/components/content-row/block.js +39 -0
  248. package/dist/components/gantt/components/content-row/block.js.map +1 -0
  249. package/dist/components/gantt/components/content-row/bracket.d.ts +23 -0
  250. package/dist/components/gantt/components/content-row/bracket.js +48 -0
  251. package/dist/components/gantt/components/content-row/bracket.js.map +1 -0
  252. package/dist/components/gantt/components/content-row/icon-marker.d.ts +27 -0
  253. package/dist/components/gantt/components/content-row/icon-marker.js +41 -0
  254. package/dist/components/gantt/components/content-row/icon-marker.js.map +1 -0
  255. package/dist/components/gantt/components/content-row/index.d.ts +24 -0
  256. package/dist/components/gantt/components/content-row/index.js +32 -0
  257. package/dist/components/gantt/components/content-row/index.js.map +1 -0
  258. package/dist/components/gantt/components/content-row/marker.d.ts +21 -0
  259. package/dist/components/gantt/components/content-row/marker.js +35 -0
  260. package/dist/components/gantt/components/content-row/marker.js.map +1 -0
  261. package/dist/components/gantt/components/content-row/spacer.d.ts +23 -0
  262. package/dist/components/gantt/components/content-row/spacer.js +35 -0
  263. package/dist/components/gantt/components/content-row/spacer.js.map +1 -0
  264. package/dist/components/gantt/components/content-row/styles.module.css +198 -0
  265. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.d.ts +19 -0
  266. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js +27 -0
  267. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js.map +1 -0
  268. package/dist/components/gantt/components/content-row/use-is-elapsed/index.d.ts +10 -0
  269. package/dist/components/gantt/components/content-row/use-is-elapsed/index.js +24 -0
  270. package/dist/components/gantt/components/content-row/use-is-elapsed/index.js.map +1 -0
  271. package/dist/components/gantt/components/current-time/index.d.ts +28 -0
  272. package/dist/components/gantt/components/current-time/index.js +63 -0
  273. package/dist/components/gantt/components/current-time/index.js.map +1 -0
  274. package/dist/components/gantt/components/current-time/styles.module.css +42 -0
  275. package/dist/components/gantt/components/current-time/use-current-time-layout/index.d.ts +31 -0
  276. package/dist/components/gantt/components/current-time/use-current-time-layout/index.js +58 -0
  277. package/dist/components/gantt/components/current-time/use-current-time-layout/index.js.map +1 -0
  278. package/dist/components/gantt/components/header/index.d.ts +25 -0
  279. package/dist/components/gantt/components/header/index.js +41 -0
  280. package/dist/components/gantt/components/header/index.js.map +1 -0
  281. package/dist/components/gantt/components/header/styles.module.css +23 -0
  282. package/dist/components/gantt/components/panel-row/index.d.ts +24 -0
  283. package/dist/components/gantt/components/panel-row/index.js +33 -0
  284. package/dist/components/gantt/components/panel-row/index.js.map +1 -0
  285. package/dist/components/gantt/components/panel-row/styles.module.css +24 -0
  286. package/dist/components/gantt/components/rows-virtualizer/index.d.ts +25 -0
  287. package/dist/components/gantt/components/rows-virtualizer/index.js +67 -0
  288. package/dist/components/gantt/components/rows-virtualizer/index.js.map +1 -0
  289. package/dist/components/gantt/components/rows-virtualizer/styles.module.css +30 -0
  290. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.d.ts +29 -0
  291. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js +57 -0
  292. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js.map +1 -0
  293. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.d.ts +10 -0
  294. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js +58 -0
  295. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js.map +1 -0
  296. package/dist/components/gantt/components/styles.module.css +46 -0
  297. package/dist/components/gantt/components/timeline/index.d.ts +19 -0
  298. package/dist/components/gantt/components/timeline/index.js +45 -0
  299. package/dist/components/gantt/components/timeline/index.js.map +1 -0
  300. package/dist/components/gantt/components/timeline/use-timeline-transform/index.d.ts +29 -0
  301. package/dist/components/gantt/components/timeline/use-timeline-transform/index.js +33 -0
  302. package/dist/components/gantt/components/timeline/use-timeline-transform/index.js.map +1 -0
  303. package/dist/components/gantt/components/timeline-chunk/index.d.ts +25 -0
  304. package/dist/components/gantt/components/timeline-chunk/index.js +43 -0
  305. package/dist/components/gantt/components/timeline-chunk/index.js.map +1 -0
  306. package/dist/components/gantt/constants.d.ts +31 -0
  307. package/dist/components/gantt/constants.js +57 -0
  308. package/dist/components/gantt/constants.js.map +1 -0
  309. package/dist/components/gantt/context/index.d.ts +60 -0
  310. package/dist/components/gantt/context/index.js +78 -0
  311. package/dist/components/gantt/context/index.js.map +1 -0
  312. package/dist/components/gantt/context/store/index.d.ts +45 -0
  313. package/dist/components/gantt/context/store/index.js +42 -0
  314. package/dist/components/gantt/context/store/index.js.map +1 -0
  315. package/dist/components/gantt/context/temporal-data/index.d.ts +48 -0
  316. package/dist/components/gantt/context/temporal-data/index.js +80 -0
  317. package/dist/components/gantt/context/temporal-data/index.js.map +1 -0
  318. package/dist/components/gantt/gantt.d.ts +50 -0
  319. package/dist/components/gantt/gantt.js +51 -0
  320. package/dist/components/gantt/gantt.js.map +1 -0
  321. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.d.ts +22 -0
  322. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js +36 -0
  323. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js.map +1 -0
  324. package/dist/components/gantt/hooks/use-layout-subscription/index.d.ts +26 -0
  325. package/dist/components/gantt/hooks/use-layout-subscription/index.js +45 -0
  326. package/dist/components/gantt/hooks/use-layout-subscription/index.js.map +1 -0
  327. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.d.ts +26 -0
  328. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js +50 -0
  329. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js.map +1 -0
  330. package/dist/components/gantt/hooks/use-root-element-height/index.d.ts +5 -0
  331. package/dist/components/gantt/hooks/use-root-element-height/index.js +24 -0
  332. package/dist/components/gantt/hooks/use-root-element-height/index.js.map +1 -0
  333. package/dist/components/gantt/hooks/use-scrollbar-height/index.d.ts +5 -0
  334. package/dist/components/gantt/hooks/use-scrollbar-height/index.js +40 -0
  335. package/dist/components/gantt/hooks/use-scrollbar-height/index.js.map +1 -0
  336. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.d.ts +19 -0
  337. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js +87 -0
  338. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js.map +1 -0
  339. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.d.ts +22 -0
  340. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js +38 -0
  341. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js.map +1 -0
  342. package/dist/components/gantt/public-types.d.ts +31 -0
  343. package/dist/components/gantt/public-types.js +12 -0
  344. package/dist/components/gantt/store.d.ts +51 -0
  345. package/dist/components/gantt/store.js +46 -0
  346. package/dist/components/gantt/store.js.map +1 -0
  347. package/dist/components/gantt/styles.module.css +30 -0
  348. package/dist/components/gantt/types.d.ts +67 -0
  349. package/dist/components/gantt/types.js +12 -0
  350. package/dist/components/gantt/utils/conversions.d.ts +23 -0
  351. package/dist/components/gantt/utils/conversions.js +34 -0
  352. package/dist/components/gantt/utils/conversions.js.map +1 -0
  353. package/dist/components/gantt/utils/dates.d.ts +11 -0
  354. package/dist/components/gantt/utils/dates.js +41 -0
  355. package/dist/components/gantt/utils/dates.js.map +1 -0
  356. package/dist/components/gantt/utils/formatting.d.ts +5 -0
  357. package/dist/components/gantt/utils/formatting.js +54 -0
  358. package/dist/components/gantt/utils/formatting.js.map +1 -0
  359. package/dist/components/gantt/utils/generation.d.ts +19 -0
  360. package/dist/components/gantt/utils/generation.js +37 -0
  361. package/dist/components/gantt/utils/generation.js.map +1 -0
  362. package/dist/components/gantt/utils/helpers.d.ts +26 -0
  363. package/dist/components/gantt/utils/helpers.js +55 -0
  364. package/dist/components/gantt/utils/helpers.js.map +1 -0
  365. package/dist/components/gantt/utils/layout.d.ts +32 -0
  366. package/dist/components/gantt/utils/layout.js +55 -0
  367. package/dist/components/gantt/utils/layout.js.map +1 -0
  368. package/dist/components/gantt/utils/thresholds.d.ts +52 -0
  369. package/dist/components/gantt/utils/thresholds.js +116 -0
  370. package/dist/components/gantt/utils/thresholds.js.map +1 -0
  371. package/dist/components/hero/context.d.ts +3 -3
  372. package/dist/components/hero/context.js.map +1 -1
  373. package/dist/components/hero/index.d.ts +2 -2
  374. package/dist/components/hero/index.js +4 -1
  375. package/dist/components/hero/index.js.map +1 -1
  376. package/dist/components/hero/subtitle.d.ts +3 -3
  377. package/dist/components/hero/subtitle.js +1 -1
  378. package/dist/components/hero/subtitle.js.map +1 -1
  379. package/dist/components/hero/title.d.ts +3 -3
  380. package/dist/components/hero/title.js +1 -1
  381. package/dist/components/hero/title.js.map +1 -1
  382. package/dist/components/hotkey/context.d.ts +5 -5
  383. package/dist/components/hotkey/context.js.map +1 -1
  384. package/dist/components/hotkey/index.d.ts +2 -2
  385. package/dist/components/hotkey/index.js +2 -1
  386. package/dist/components/hotkey/index.js.map +1 -1
  387. package/dist/components/hotkey/set.d.ts +2 -2
  388. package/dist/components/icon/context.d.ts +5 -5
  389. package/dist/components/icon/context.js.map +1 -1
  390. package/dist/components/icon/index.d.ts +2 -2
  391. package/dist/components/icon/index.js +1 -1
  392. package/dist/components/icon/index.js.map +1 -1
  393. package/dist/components/input/context.d.ts +4 -4
  394. package/dist/components/input/context.js.map +1 -1
  395. package/dist/components/input/index.d.ts +2 -2
  396. package/dist/components/input/index.js +4 -2
  397. package/dist/components/input/index.js.map +1 -1
  398. package/dist/components/input/types.d.ts +3 -3
  399. package/dist/components/kanban/card-body.d.ts +2 -2
  400. package/dist/components/kanban/card-header-actions.d.ts +2 -2
  401. package/dist/components/kanban/card-header-title.d.ts +2 -2
  402. package/dist/components/kanban/card-header.d.ts +2 -2
  403. package/dist/components/kanban/card.d.ts +2 -2
  404. package/dist/components/kanban/column-actions.d.ts +2 -2
  405. package/dist/components/kanban/column-container.d.ts +2 -2
  406. package/dist/components/kanban/column-content.d.ts +2 -2
  407. package/dist/components/kanban/column-header-actions.d.ts +2 -2
  408. package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
  409. package/dist/components/kanban/column-header-title.d.ts +2 -2
  410. package/dist/components/kanban/column-header.d.ts +2 -2
  411. package/dist/components/kanban/column.d.ts +2 -2
  412. package/dist/components/kanban/context.d.ts +2 -2
  413. package/dist/components/kanban/header-actions.d.ts +2 -2
  414. package/dist/components/kanban/header-search.d.ts +2 -2
  415. package/dist/components/kanban/header-title.d.ts +2 -2
  416. package/dist/components/kanban/header-title.js +1 -1
  417. package/dist/components/kanban/header-title.js.map +1 -1
  418. package/dist/components/kanban/header.d.ts +2 -2
  419. package/dist/components/kanban/kanban.d.ts +4 -4
  420. package/dist/components/label/context.d.ts +6 -6
  421. package/dist/components/label/context.js.map +1 -1
  422. package/dist/components/label/index.d.ts +2 -2
  423. package/dist/components/label/index.js +2 -1
  424. package/dist/components/label/index.js.map +1 -1
  425. package/dist/components/label/types.d.ts +1 -1
  426. package/dist/components/lines/index.d.ts +2 -2
  427. package/dist/components/link/context.d.ts +2 -2
  428. package/dist/components/link/context.js +1 -1
  429. package/dist/components/link/context.js.map +1 -1
  430. package/dist/components/link/index.d.ts +2 -2
  431. package/dist/components/link/index.js +3 -1
  432. package/dist/components/link/index.js.map +1 -1
  433. package/dist/components/link/types.d.ts +1 -1
  434. package/dist/components/list/context.d.ts +3 -3
  435. package/dist/components/list/context.js.map +1 -1
  436. package/dist/components/list/index.d.ts +2 -2
  437. package/dist/components/list/index.js +3 -1
  438. package/dist/components/list/index.js.map +1 -1
  439. package/dist/components/list/item-content.d.ts +2 -2
  440. package/dist/components/list/item-description.d.ts +2 -2
  441. package/dist/components/list/item-title.d.ts +2 -2
  442. package/dist/components/list/item.d.ts +2 -2
  443. package/dist/components/list/item.js +2 -1
  444. package/dist/components/list/item.js.map +1 -1
  445. package/dist/components/list/types.d.ts +1 -1
  446. package/dist/components/media-controls/context.d.ts +4 -4
  447. package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
  448. package/dist/components/media-controls/index.d.ts +2 -2
  449. package/dist/components/media-controls/mute-button.d.ts +2 -2
  450. package/dist/components/media-controls/play-button.d.ts +2 -2
  451. package/dist/components/media-controls/playback-rate.d.ts +2 -2
  452. package/dist/components/media-controls/seek-button.d.ts +2 -2
  453. package/dist/components/media-controls/time-display.d.ts +2 -2
  454. package/dist/components/media-controls/time-range.d.ts +2 -2
  455. package/dist/components/media-controls/volume-slider.d.ts +2 -2
  456. package/dist/components/menu/context.d.ts +4 -4
  457. package/dist/components/menu/context.js.map +1 -1
  458. package/dist/components/menu/index.d.ts +2 -2
  459. package/dist/components/menu/index.js +4 -1
  460. package/dist/components/menu/index.js.map +1 -1
  461. package/dist/components/menu/item-description.d.ts +3 -3
  462. package/dist/components/menu/item-description.js +1 -1
  463. package/dist/components/menu/item-description.js.map +1 -1
  464. package/dist/components/menu/item-label.d.ts +3 -3
  465. package/dist/components/menu/item-label.js +1 -1
  466. package/dist/components/menu/item-label.js.map +1 -1
  467. package/dist/components/menu/item.d.ts +2 -2
  468. package/dist/components/menu/item.js +5 -1
  469. package/dist/components/menu/item.js.map +1 -1
  470. package/dist/components/menu/section.d.ts +2 -2
  471. package/dist/components/menu/section.js +1 -1
  472. package/dist/components/menu/section.js.map +1 -1
  473. package/dist/components/menu/separator.d.ts +3 -3
  474. package/dist/components/menu/separator.js +1 -1
  475. package/dist/components/menu/separator.js.map +1 -1
  476. package/dist/components/menu/styles.module.css +12 -0
  477. package/dist/components/menu/submenu.d.ts +3 -3
  478. package/dist/components/menu/submenu.js +1 -1
  479. package/dist/components/menu/submenu.js.map +1 -1
  480. package/dist/components/menu/trigger.d.ts +1 -1
  481. package/dist/components/menu/trigger.js +1 -1
  482. package/dist/components/menu/trigger.js.map +1 -1
  483. package/dist/components/menu/types.d.ts +1 -1
  484. package/dist/components/notice/index.d.ts +2 -2
  485. package/dist/components/notice/index.js +6 -5
  486. package/dist/components/notice/index.js.map +1 -1
  487. package/dist/components/notice/list.d.ts +2 -2
  488. package/dist/components/notice/list.js +16 -6
  489. package/dist/components/notice/list.js.map +1 -1
  490. package/dist/components/notice/notice-icon.d.ts +2 -2
  491. package/dist/components/notice/styles.module.css +27 -0
  492. package/dist/components/notice/types.d.ts +4 -4
  493. package/dist/components/options/context.d.ts +3 -3
  494. package/dist/components/options/context.js.map +1 -1
  495. package/dist/components/options/index.d.ts +2 -2
  496. package/dist/components/options/index.js +3 -1
  497. package/dist/components/options/index.js.map +1 -1
  498. package/dist/components/options/item-content.d.ts +3 -3
  499. package/dist/components/options/item-content.js.map +1 -1
  500. package/dist/components/options/item-description.d.ts +3 -3
  501. package/dist/components/options/item-description.js +1 -1
  502. package/dist/components/options/item-description.js.map +1 -1
  503. package/dist/components/options/item-label.d.ts +3 -3
  504. package/dist/components/options/item-label.js +2 -1
  505. package/dist/components/options/item-label.js.map +1 -1
  506. package/dist/components/options/item.d.ts +2 -2
  507. package/dist/components/options/item.js +2 -1
  508. package/dist/components/options/item.js.map +1 -1
  509. package/dist/components/options/section.d.ts +2 -2
  510. package/dist/components/options/section.js +1 -1
  511. package/dist/components/options/section.js.map +1 -1
  512. package/dist/components/options/types.d.ts +2 -2
  513. package/dist/components/pagination/context.d.ts +2 -2
  514. package/dist/components/pagination/index.d.ts +2 -2
  515. package/dist/components/pagination/index.js +1 -1
  516. package/dist/components/pagination/index.js.map +1 -1
  517. package/dist/components/pagination/next.d.ts +2 -2
  518. package/dist/components/pagination/next.js +3 -3
  519. package/dist/components/pagination/next.js.map +1 -1
  520. package/dist/components/pagination/pages.d.ts +2 -2
  521. package/dist/components/pagination/pages.js +3 -3
  522. package/dist/components/pagination/pages.js.map +1 -1
  523. package/dist/components/pagination/prev.d.ts +2 -2
  524. package/dist/components/pagination/prev.js +3 -3
  525. package/dist/components/pagination/prev.js.map +1 -1
  526. package/dist/components/popover/content.d.ts +2 -2
  527. package/dist/components/popover/footer.d.ts +2 -2
  528. package/dist/components/popover/index.d.ts +2 -2
  529. package/dist/components/popover/index.js +1 -1
  530. package/dist/components/popover/index.js.map +1 -1
  531. package/dist/components/popover/styles.module.css +34 -0
  532. package/dist/components/popover/title.d.ts +3 -3
  533. package/dist/components/popover/title.js +1 -1
  534. package/dist/components/popover/title.js.map +1 -1
  535. package/dist/components/popover/trigger.d.ts +2 -2
  536. package/dist/components/popover/trigger.js +3 -3
  537. package/dist/components/popover/trigger.js.map +1 -1
  538. package/dist/components/popover/types.d.ts +1 -1
  539. package/dist/components/query-builder/action-element.d.ts +2 -2
  540. package/dist/components/query-builder/actions.d.ts +4 -4
  541. package/dist/components/query-builder/combinator-selector.d.ts +2 -2
  542. package/dist/components/query-builder/index.d.ts +2 -2
  543. package/dist/components/query-builder/rule-group.d.ts +4 -4
  544. package/dist/components/query-builder/rule.d.ts +2 -2
  545. package/dist/components/query-builder/value-editor.d.ts +2 -2
  546. package/dist/components/query-builder/value-selector.d.ts +2 -2
  547. package/dist/components/query-builder/value-selector.js +1 -1
  548. package/dist/components/radio/context.d.ts +5 -5
  549. package/dist/components/radio/context.js.map +1 -1
  550. package/dist/components/radio/group.d.ts +2 -2
  551. package/dist/components/radio/group.js +5 -3
  552. package/dist/components/radio/group.js.map +1 -1
  553. package/dist/components/radio/index.d.ts +2 -2
  554. package/dist/components/radio/index.js +3 -1
  555. package/dist/components/radio/index.js.map +1 -1
  556. package/dist/components/radio/types.d.ts +3 -3
  557. package/dist/components/search-field/context.d.ts +6 -6
  558. package/dist/components/search-field/context.js.map +1 -1
  559. package/dist/components/search-field/index.d.ts +2 -2
  560. package/dist/components/search-field/index.js +3 -1
  561. package/dist/components/search-field/index.js.map +1 -1
  562. package/dist/components/search-field/types.d.ts +3 -3
  563. package/dist/components/select-field/context.d.ts +5 -5
  564. package/dist/components/select-field/context.js.map +1 -1
  565. package/dist/components/select-field/index.d.ts +2 -2
  566. package/dist/components/select-field/index.js +6 -3
  567. package/dist/components/select-field/index.js.map +1 -1
  568. package/dist/components/select-field/types.d.ts +8 -5
  569. package/dist/components/sidenav/avatar.d.ts +2 -2
  570. package/dist/components/sidenav/avatar.js +3 -1
  571. package/dist/components/sidenav/avatar.js.map +1 -1
  572. package/dist/components/sidenav/content.d.ts +2 -2
  573. package/dist/components/sidenav/content.js +1 -1
  574. package/dist/components/sidenav/content.js.map +1 -1
  575. package/dist/components/sidenav/context.d.ts +2 -2
  576. package/dist/components/sidenav/footer.d.ts +2 -2
  577. package/dist/components/sidenav/header.d.ts +2 -2
  578. package/dist/components/sidenav/header.js +3 -1
  579. package/dist/components/sidenav/header.js.map +1 -1
  580. package/dist/components/sidenav/index.d.ts +2 -2
  581. package/dist/components/sidenav/index.js +2 -1
  582. package/dist/components/sidenav/index.js.map +1 -1
  583. package/dist/components/sidenav/item.d.ts +2 -2
  584. package/dist/components/sidenav/item.js +8 -5
  585. package/dist/components/sidenav/item.js.map +1 -1
  586. package/dist/components/sidenav/link.d.ts +2 -2
  587. package/dist/components/sidenav/link.js +8 -5
  588. package/dist/components/sidenav/link.js.map +1 -1
  589. package/dist/components/sidenav/menu-item.d.ts +2 -2
  590. package/dist/components/sidenav/menu-item.js +2 -1
  591. package/dist/components/sidenav/menu-item.js.map +1 -1
  592. package/dist/components/sidenav/menu.d.ts +2 -2
  593. package/dist/components/sidenav/menu.js +10 -5
  594. package/dist/components/sidenav/menu.js.map +1 -1
  595. package/dist/components/sidenav/styles.module.css +10 -2
  596. package/dist/components/sidenav/trigger.d.ts +2 -2
  597. package/dist/components/sidenav/trigger.js +1 -1
  598. package/dist/components/sidenav/trigger.js.map +1 -1
  599. package/dist/components/sidenav/types.d.ts +6 -1
  600. package/dist/components/skeleton/index.d.ts +2 -2
  601. package/dist/components/slider/index.d.ts +2 -2
  602. package/dist/components/slider/index.js +9 -6
  603. package/dist/components/slider/index.js.map +1 -1
  604. package/dist/components/slider/types.d.ts +1 -1
  605. package/dist/components/status-indicator/index.d.ts +2 -2
  606. package/dist/components/switch/context.d.ts +6 -6
  607. package/dist/components/switch/context.js.map +1 -1
  608. package/dist/components/switch/index.d.ts +2 -2
  609. package/dist/components/switch/index.js +3 -1
  610. package/dist/components/switch/index.js.map +1 -1
  611. package/dist/components/switch/styles.module.css +8 -0
  612. package/dist/components/switch/types.d.ts +1 -1
  613. package/dist/components/table/body.d.ts +2 -2
  614. package/dist/components/table/cell.d.ts +2 -2
  615. package/dist/components/table/context.d.ts +2 -2
  616. package/dist/components/table/header-cell.d.ts +2 -2
  617. package/dist/components/table/header.d.ts +2 -2
  618. package/dist/components/table/index.d.ts +2 -2
  619. package/dist/components/table/index.js +4 -4
  620. package/dist/components/table/index.js.map +1 -1
  621. package/dist/components/table/row.d.ts +2 -2
  622. package/dist/components/tabs/context.d.ts +8 -8
  623. package/dist/components/tabs/context.js.map +1 -1
  624. package/dist/components/tabs/index.d.ts +2 -2
  625. package/dist/components/tabs/index.js +3 -1
  626. package/dist/components/tabs/index.js.map +1 -1
  627. package/dist/components/tabs/list.d.ts +3 -3
  628. package/dist/components/tabs/list.js +2 -1
  629. package/dist/components/tabs/list.js.map +1 -1
  630. package/dist/components/tabs/panel.d.ts +3 -3
  631. package/dist/components/tabs/panel.js +2 -1
  632. package/dist/components/tabs/panel.js.map +1 -1
  633. package/dist/components/tabs/tab.d.ts +2 -2
  634. package/dist/components/tabs/tab.js +3 -1
  635. package/dist/components/tabs/tab.js.map +1 -1
  636. package/dist/components/tabs/types.d.ts +1 -1
  637. package/dist/components/text-area-field/context.d.ts +5 -5
  638. package/dist/components/text-area-field/context.js.map +1 -1
  639. package/dist/components/text-area-field/index.d.ts +2 -2
  640. package/dist/components/text-area-field/index.js +8 -3
  641. package/dist/components/text-area-field/index.js.map +1 -1
  642. package/dist/components/text-area-field/types.d.ts +3 -1
  643. package/dist/components/text-field/context.d.ts +6 -6
  644. package/dist/components/text-field/context.js.map +1 -1
  645. package/dist/components/text-field/index.d.ts +2 -2
  646. package/dist/components/text-field/index.js +9 -5
  647. package/dist/components/text-field/index.js.map +1 -1
  648. package/dist/components/text-field/types.d.ts +7 -6
  649. package/dist/components/time-field/index.d.ts +3 -3
  650. package/dist/components/time-field/index.js +4 -3
  651. package/dist/components/time-field/index.js.map +1 -1
  652. package/dist/components/time-field/types.d.ts +1 -1
  653. package/dist/components/tooltip/context.d.ts +3 -3
  654. package/dist/components/tooltip/context.js.map +1 -1
  655. package/dist/components/tooltip/index.d.ts +2 -2
  656. package/dist/components/tooltip/index.js +3 -2
  657. package/dist/components/tooltip/index.js.map +1 -1
  658. package/dist/components/tooltip/styles.module.css +35 -0
  659. package/dist/components/tooltip/trigger.d.ts +2 -2
  660. package/dist/components/tooltip/trigger.js +6 -3
  661. package/dist/components/tooltip/trigger.js.map +1 -1
  662. package/dist/components/tooltip/types.d.ts +8 -3
  663. package/dist/components/tree/context.d.ts +3 -3
  664. package/dist/components/tree/index.d.ts +4 -2
  665. package/dist/components/tree/index.js +31 -16
  666. package/dist/components/tree/index.js.map +1 -1
  667. package/dist/components/tree/item-actions.d.ts +2 -2
  668. package/dist/components/tree/item-content.d.ts +2 -2
  669. package/dist/components/tree/item-content.js +10 -9
  670. package/dist/components/tree/item-content.js.map +1 -1
  671. package/dist/components/tree/item-description.d.ts +3 -3
  672. package/dist/components/tree/item-description.js +1 -1
  673. package/dist/components/tree/item-description.js.map +1 -1
  674. package/dist/components/tree/item-label.d.ts +3 -3
  675. package/dist/components/tree/item-label.js +1 -1
  676. package/dist/components/tree/item-label.js.map +1 -1
  677. package/dist/components/tree/item-prefix-icon.d.ts +2 -2
  678. package/dist/components/tree/item.d.ts +2 -2
  679. package/dist/components/tree/item.js +14 -7
  680. package/dist/components/tree/item.js.map +1 -1
  681. package/dist/components/tree/lines.d.ts +2 -2
  682. package/dist/components/tree/types.d.ts +30 -15
  683. package/dist/components/video/index.d.ts +2 -2
  684. package/dist/components/view-stack/context.d.ts +2 -2
  685. package/dist/components/view-stack/index.d.ts +2 -2
  686. package/dist/components/view-stack/trigger.d.ts +2 -2
  687. package/dist/components/view-stack/trigger.js +1 -1
  688. package/dist/components/view-stack/trigger.js.map +1 -1
  689. package/dist/components/view-stack/types.d.ts +1 -1
  690. package/dist/components/view-stack/view.d.ts +2 -2
  691. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +1 -1
  692. package/dist/hooks/coordinate-field/use-coordinate-field.js +1 -1
  693. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
  694. package/dist/hooks/use-tree/actions/cache.d.ts +406 -17
  695. package/dist/hooks/use-tree/actions/cache.js +488 -16
  696. package/dist/hooks/use-tree/actions/cache.js.map +1 -1
  697. package/dist/hooks/use-tree/actions/index.d.ts +36 -22
  698. package/dist/hooks/use-tree/actions/index.js +103 -36
  699. package/dist/hooks/use-tree/actions/index.js.map +1 -1
  700. package/dist/hooks/use-tree/state/index.d.ts +25 -2
  701. package/dist/hooks/use-tree/state/index.js +27 -3
  702. package/dist/hooks/use-tree/state/index.js.map +1 -1
  703. package/dist/hooks/use-tree/state/utils.d.ts +28 -0
  704. package/dist/hooks/use-tree/state/utils.js +29 -1
  705. package/dist/hooks/use-tree/state/utils.js.map +1 -1
  706. package/dist/hooks/use-tree/types.d.ts +66 -24
  707. package/dist/index.d.ts +27 -7
  708. package/dist/index.js +27 -10
  709. package/dist/lib/utils.d.ts +1 -1
  710. package/dist/lib/utils.js.map +1 -1
  711. package/dist/providers/portal.d.ts +2 -2
  712. package/dist/providers/portal.js +2 -2
  713. package/dist/providers/portal.js.map +1 -1
  714. package/dist/providers/theme-provider.d.ts +4 -4
  715. package/dist/providers/theme-provider.js +6 -7
  716. package/dist/providers/theme-provider.js.map +1 -1
  717. package/package.json +77 -36
  718. package/dist/node_modules/.pnpm/@react-aria_collections@3.0.0-rc.7_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/collections/dist/BaseCollection.js +0 -134
  719. package/dist/node_modules/.pnpm/@react-aria_collections@3.0.0-rc.7_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/collections/dist/BaseCollection.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaTextField","Label","Input"],"sources":["../../../src/components/text-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 TextField as AriaTextField,\n composeRenderProps,\n FieldError,\n Text,\n useContextProps,\n} from 'react-aria-components';\nimport { Input } from '../input';\nimport { Label } from '../label';\nimport { TextFieldContext } from './context';\nimport styles from './styles.module.css';\nimport type { TextFieldProps } from './types';\n\n/**\n * TextField - Single-line text input with label and validation\n *\n * Provides integrated label, description, and error message with automatic accessibility.\n *\n * @param props - {@link TextFieldProps}\n * @param props.ref - Ref to the field container element.\n * @param props.classNames - Custom CSS class names for field elements.\n * @param props.description - Helper text displayed below the input.\n * @param props.errorMessage - Error message displayed when validation fails.\n * @param props.inputProps - Props passed to the underlying Input element.\n * @param props.label - Label text for the field.\n * @param props.size - Size variant of the field.\n * @param props.isInvalid - Whether the field is in an invalid state.\n * @returns The rendered TextField component.\n *\n * @example\n * ```tsx\n * <TextField label=\"Email\" type=\"email\" onChange={setEmail} />\n * ```\n */\nexport function TextField({ ref, ...props }: TextFieldProps) {\n [props, ref] = useContextProps(props, ref ?? null, TextFieldContext);\n\n const {\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\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 <AriaTextField\n {...rest}\n aria-label={labelProp}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/text-field', styles.field, className),\n )}\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 <Input\n {...inputProps}\n classNames={{\n ...classNames?.input,\n sizer: clsx(styles.input, classNames?.input?.sizer),\n }}\n disabled={isDisabled}\n required={isRequired}\n size={size}\n isInvalid={isInvalid}\n />\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n slot='description'\n className={clsx(styles.description, classNames?.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 </>\n )}\n </AriaTextField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,SAAgB,UAAU,EAAE,KAAK,GAAG,SAAyB;AAC3D,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,iBAAiB;CAEpE,MAAM,EACJ,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,OAAO,UACP,WAAW,eACX,GAAG,SACD;CACJ,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,cAAY;EACP;EACL,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACD,WAAW,kBAAkB,eAAe,OAAO;EACnD,aAAW;aAGT,EAAE,YAAY,WAAW,iBAEzB;GACG,CAAC,CAAC,aAAa,CAAC,WACf,oBAACC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IACpC;IACA;cAEX;KACK;GAEV,oBAACC;IACC,GAAI;IACJ,YAAY;KACV,GAAG,YAAY;KACf,OAAO,KAAK,OAAO,OAAO,YAAY,OAAO,MAAM;KACpD;IACD,UAAU;IACV,UAAU;IACJ;IACK;KACX;GACD,CAAC,CAAC,mBAAmB,EAAE,WAAW,cACjC,oBAAC;IACC,MAAK;IACL,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;cAE3D;KACI;GAET,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
1
+ {"version":3,"file":"index.js","names":["AriaTextField"],"sources":["../../../src/components/text-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { composeRenderProps } from 'react-aria-components/composeRenderProps';\nimport { FieldError } from 'react-aria-components/FieldError';\nimport { useContextProps } from 'react-aria-components/slots';\nimport { Text } from 'react-aria-components/Text';\nimport { TextField as AriaTextField } from 'react-aria-components/TextField';\nimport { Input } from '../input';\nimport { Label } from '../label';\nimport { TextFieldContext } from './context';\nimport styles from './styles.module.css';\nimport type { TextFieldProps } from './types';\n\n/**\n * TextField - Single-line text input with label and validation\n *\n * Provides integrated label, description, and error message with automatic accessibility.\n *\n * @param props - {@link TextFieldProps}\n * @param props.ref - Ref to the field container element.\n * @param props.classNames - Custom CSS class names for field elements.\n * @param props.description - Helper text displayed below the input.\n * @param props.errorMessage - Error message displayed when validation fails.\n * @param props.inputProps - Props passed to the underlying Input element.\n * @param props.label - Label text for the field.\n * @param props.size - Size variant of the field.\n * @param props.isInvalid - Whether the field is in an invalid state.\n * @returns The rendered TextField component.\n *\n * @example\n * ```tsx\n * <TextField label=\"Email\" type=\"email\" onChange={setEmail} />\n * ```\n */\nexport function TextField({ ref, ...props }: TextFieldProps) {\n [props, ref] = useContextProps(props, ref ?? null, TextFieldContext);\n\n const {\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\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 <AriaTextField\n {...rest}\n aria-label={labelProp}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/text-field', styles.field, className),\n )}\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 <Input\n {...inputProps}\n classNames={{\n ...classNames?.input,\n sizer: clsx(styles.input, classNames?.input?.sizer),\n }}\n disabled={isDisabled}\n required={isRequired}\n size={size}\n isInvalid={isInvalid}\n />\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n slot='description'\n className={clsx(styles.description, classNames?.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 </>\n )}\n </AriaTextField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,SAAgB,UAAU,EAAE,KAAK,GAAG,SAAyB;AAC3D,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,iBAAiB;CAEpE,MAAM,EACJ,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,OAAO,UACP,WAAW,eACX,GAAG,SACD;CACJ,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,cAAY;EACP;EACL,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACD,WAAW,kBAAkB,eAAe,OAAO;EACnD,aAAW;aAGT,EAAE,YAAY,WAAW,iBAEzB;GACG,CAAC,CAAC,aAAa,CAAC,WACf,oBAAC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IACpC;IACA;cAEX;KACK;GAEV,oBAAC;IACC,GAAI;IACJ,YAAY;KACV,GAAG,YAAY;KACf,OAAO,KAAK,OAAO,OAAO,YAAY,OAAO,MAAM;KACpD;IACD,UAAU;IACV,UAAU;IACJ;IACK;KACX;GACD,CAAC,CAAC,mBAAmB,EAAE,WAAW,cACjC,oBAAC;IACC,MAAK;IACL,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;cAE3D;KACI;GAET,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
@@ -10,10 +10,11 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { LabelProps as LabelProps$1 } from "../label/types.js";
14
- import { InputProps as InputProps$1 } from "../input/types.js";
13
+ import { LabelProps } from "../label/types.js";
14
+ import { InputProps } from "../input/types.js";
15
15
  import { RefAttributes } from "react";
16
- import { FieldErrorProps, TextFieldProps as TextFieldProps$1 } from "react-aria-components";
16
+ import { FieldErrorProps } from "react-aria-components/FieldError";
17
+ import { TextFieldProps as TextFieldProps$1 } from "react-aria-components/TextField";
17
18
 
18
19
  //#region src/components/text-field/types.d.ts
19
20
  /**
@@ -23,15 +24,15 @@ type TextFieldProps = Omit<TextFieldProps$1, 'children' | 'className' | 'type' |
23
24
  /** Custom CSS class names for field elements. */
24
25
  classNames?: {
25
26
  field?: TextFieldProps$1['className'];
26
- label?: LabelProps$1['className'];
27
- input?: InputProps$1['classNames'];
27
+ label?: LabelProps['className'];
28
+ input?: InputProps['classNames'];
28
29
  description?: string;
29
30
  error?: FieldErrorProps['className'];
30
31
  };
31
32
  /** Label text for the field. */
32
33
  label?: string;
33
34
  /** Props passed to the underlying Input element. */
34
- inputProps?: InputProps$1;
35
+ inputProps?: InputProps;
35
36
  /** Helper text displayed below the input. */
36
37
  description?: string;
37
38
  /** Error message displayed when validation fails. */
@@ -12,8 +12,8 @@
12
12
 
13
13
  import { TimeFieldProps as TimeFieldProps$1 } from "./types.js";
14
14
  import "client-only";
15
- import { TimeValue } from "react-aria-components";
16
- import * as react_jsx_runtime100 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime201 from "react/jsx-runtime";
16
+ import { TimeValue } from "react-aria-components/TimeField";
17
17
 
18
18
  //#region src/components/time-field/index.d.ts
19
19
 
@@ -58,7 +58,7 @@ declare function TimeField<T extends TimeValue>({
58
58
  isRequired,
59
59
  isReadOnly,
60
60
  ...rest
61
- }: TimeFieldProps$1<T>): react_jsx_runtime100.JSX.Element;
61
+ }: TimeFieldProps$1<T>): react_jsx_runtime201.JSX.Element;
62
62
  //#endregion
63
63
  export { TimeField };
64
64
  //# sourceMappingURL=index.d.ts.map
@@ -14,12 +14,13 @@
14
14
  'use client';
15
15
 
16
16
  import { Icon } from "../icon/index.js";
17
- import { Label as Label$1 } from "../label/index.js";
17
+ import { Label } from "../label/index.js";
18
18
  import "client-only";
19
19
  import { clsx } from "@accelint/design-foundation/lib/utils";
20
- import { DateInput, DateSegment, FieldError, Text, TimeField as TimeField$1, composeRenderProps } from "react-aria-components";
20
+ import { composeRenderProps } from "react-aria-components/composeRenderProps";
21
21
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
22
22
  import Time from "@accelint/icons/time";
23
+ import { DateInput, DateSegment, FieldError, Text, TimeField as TimeField$1 } from "react-aria-components/TimeField";
23
24
  import styles from "./styles.module.css";
24
25
 
25
26
  //#region src/components/time-field/index.tsx
@@ -65,7 +66,7 @@ function TimeField({ classNames, description: descriptionProp, errorMessage: err
65
66
  "aria-label": labelProp,
66
67
  "data-size": size,
67
68
  children: ({ isDisabled: isDisabled$1 }) => /* @__PURE__ */ jsxs(Fragment, { children: [
68
- !isSmall && labelProp && /* @__PURE__ */ jsx(Label$1, {
69
+ !isSmall && labelProp && /* @__PURE__ */ jsx(Label, {
69
70
  className: clsx(styles.label, classNames?.label),
70
71
  isDisabled: isDisabled$1,
71
72
  isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaTimeField","Label","isDisabled","AriaDateInput","AriaText"],"sources":["../../../src/components/time-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 Time from '@accelint/icons/time';\nimport {\n DateInput as AriaDateInput,\n Text as AriaText,\n TimeField as AriaTimeField,\n composeRenderProps,\n DateSegment,\n FieldError,\n type TimeValue,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport styles from './styles.module.css';\nimport type { TimeFieldProps } from './types';\n\n/**\n * TimeField - Form input for time values\n *\n * Provides configurable granularity, 12/24-hour format, and automatic accessibility.\n *\n * @param props - {@link TimeFieldProps}\n * @param props.classNames - Custom CSS class names for field elements.\n * @param props.description - Helper text displayed below the input.\n * @param props.errorMessage - Error message displayed when validation fails.\n * @param props.granularity - The granularity of the time value (hour, minute, second).\n * @param props.hourCycle - Whether to use 12 or 24 hour time format.\n * @param props.inputProps - Props passed to the underlying DateInput element.\n * @param props.label - Label text for the field.\n * @param props.shouldForceLeadingZeros - Whether to force leading zeros in time segments.\n * @param props.size - Size variant of the field.\n * @param props.isDisabled - Whether the field is disabled.\n * @param props.isInvalid - Whether the field is in an invalid state.\n * @param props.isRequired - Whether the field is required.\n * @param props.isReadOnly - Whether the field is read-only.\n * @returns The rendered TimeField component.\n *\n * @example\n * ```tsx\n * <TimeField label=\"Start time\" granularity=\"minute\" onChange={setTime} />\n * ```\n */\nexport function TimeField<T extends TimeValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n granularity = 'second',\n hourCycle = 24,\n inputProps,\n label: labelProp,\n shouldForceLeadingZeros = true,\n size = 'medium',\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n isReadOnly = false,\n ...rest\n}: TimeFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaTimeField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/time-field', styles.field, className),\n )}\n granularity={granularity}\n hourCycle={hourCycle}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\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 {!isReadOnly && size === 'medium' && (\n <Icon>\n <Time />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n >\n {(segmentProp) => (\n <DateSegment\n segment={segmentProp}\n className={composeRenderProps(\n classNames?.segment,\n (className) => clsx(styles.segment, className),\n )}\n />\n )}\n </AriaDateInput>\n <span>Z</span>\n </div>\n {descriptionProp && !(isSmall || isInvalidProp) && !errorMessage && (\n <AriaText\n slot='description'\n className={clsx(styles.description, classNames?.description)}\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaTimeField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,SAAgB,UAA+B,EAC7C,YACA,aAAa,iBACb,cAAc,kBACd,cAAc,UACd,YAAY,IACZ,YACA,OAAO,WACP,0BAA0B,MAC1B,OAAO,UACP,YACA,WAAW,eACX,YACA,aAAa,OACb,GAAG,QACiB;CACpB,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACY;EACF;EACc;EACb;EACZ,WAAW,kBAAkB,eAAe,OAAO;EACvC;EACA;EACZ,cAAY;EACZ,aAAW;aAGT,EAAE,+BAEF;GACG,CAAC,WAAW,aACX,oBAACC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IAChD,YAAYC;IACA;cAEX;KACK;GAEV,qBAAC;IACC,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;IACpD,iBAAe,cAAc;;KAE5B,CAAC,cAAc,SAAS,YACvB,oBAAC,kBACC,oBAAC,SAAO,GACH;KAET,oBAACC;MACC,GAAI;MACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;iBAEC,gBACA,oBAAC;OACC,SAAS;OACT,WAAW,mBACT,YAAY,UACX,cAAc,KAAK,OAAO,SAAS,UAAU,CAC/C;QACD;OAEU;KAChB,oBAAC,oBAAK,MAAQ;;KACV;GACL,mBAAmB,EAAE,WAAW,kBAAkB,CAAC,gBAClD,oBAACC;IACC,MAAK;IACL,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;cAE3D;KACQ;GAEb,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
1
+ {"version":3,"file":"index.js","names":["AriaTimeField","isDisabled","AriaDateInput","AriaText"],"sources":["../../../src/components/time-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 Time from '@accelint/icons/time';\nimport { composeRenderProps } from 'react-aria-components/composeRenderProps';\nimport {\n DateInput as AriaDateInput,\n DateSegment,\n FieldError,\n Text as AriaText,\n TimeField as AriaTimeField,\n type TimeValue,\n} from 'react-aria-components/TimeField';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport styles from './styles.module.css';\nimport type { TimeFieldProps } from './types';\n\n/**\n * TimeField - Form input for time values\n *\n * Provides configurable granularity, 12/24-hour format, and automatic accessibility.\n *\n * @param props - {@link TimeFieldProps}\n * @param props.classNames - Custom CSS class names for field elements.\n * @param props.description - Helper text displayed below the input.\n * @param props.errorMessage - Error message displayed when validation fails.\n * @param props.granularity - The granularity of the time value (hour, minute, second).\n * @param props.hourCycle - Whether to use 12 or 24 hour time format.\n * @param props.inputProps - Props passed to the underlying DateInput element.\n * @param props.label - Label text for the field.\n * @param props.shouldForceLeadingZeros - Whether to force leading zeros in time segments.\n * @param props.size - Size variant of the field.\n * @param props.isDisabled - Whether the field is disabled.\n * @param props.isInvalid - Whether the field is in an invalid state.\n * @param props.isRequired - Whether the field is required.\n * @param props.isReadOnly - Whether the field is read-only.\n * @returns The rendered TimeField component.\n *\n * @example\n * ```tsx\n * <TimeField label=\"Start time\" granularity=\"minute\" onChange={setTime} />\n * ```\n */\nexport function TimeField<T extends TimeValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n granularity = 'second',\n hourCycle = 24,\n inputProps,\n label: labelProp,\n shouldForceLeadingZeros = true,\n size = 'medium',\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n isReadOnly = false,\n ...rest\n}: TimeFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaTimeField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/time-field', styles.field, className),\n )}\n granularity={granularity}\n hourCycle={hourCycle}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\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 {!isReadOnly && size === 'medium' && (\n <Icon>\n <Time />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n >\n {(segmentProp) => (\n <DateSegment\n segment={segmentProp}\n className={composeRenderProps(\n classNames?.segment,\n (className) => clsx(styles.segment, className),\n )}\n />\n )}\n </AriaDateInput>\n <span>Z</span>\n </div>\n {descriptionProp && !(isSmall || isInvalidProp) && !errorMessage && (\n <AriaText\n slot='description'\n className={clsx(styles.description, classNames?.description)}\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaTimeField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,SAAgB,UAA+B,EAC7C,YACA,aAAa,iBACb,cAAc,kBACd,cAAc,UACd,YAAY,IACZ,YACA,OAAO,WACP,0BAA0B,MAC1B,OAAO,UACP,YACA,WAAW,eACX,YACA,aAAa,OACb,GAAG,QACiB;CACpB,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACY;EACF;EACc;EACb;EACZ,WAAW,kBAAkB,eAAe,OAAO;EACvC;EACA;EACZ,cAAY;EACZ,aAAW;aAGT,EAAE,+BAEF;GACG,CAAC,WAAW,aACX,oBAAC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IAChD,YAAYC;IACA;cAEX;KACK;GAEV,qBAAC;IACC,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;IACpD,iBAAe,cAAc;;KAE5B,CAAC,cAAc,SAAS,YACvB,oBAAC,kBACC,oBAAC,SAAO,GACH;KAET,oBAACC;MACC,GAAI;MACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;iBAEC,gBACA,oBAAC;OACC,SAAS;OACT,WAAW,mBACT,YAAY,UACX,cAAc,KAAK,OAAO,SAAS,UAAU,CAC/C;QACD;OAEU;KAChB,oBAAC,oBAAK,MAAQ;;KACV;GACL,mBAAmB,EAAE,WAAW,kBAAkB,CAAC,gBAClD,oBAACC;IACC,MAAK;IACL,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;cAE3D;KACQ;GAEb,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
@@ -10,7 +10,7 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { DateInputProps, DateSegmentProps, FieldErrorProps, LabelProps, TimeFieldProps as TimeFieldProps$1, TimeValue } from "react-aria-components";
13
+ import { DateInputProps, DateSegmentProps, FieldErrorProps, LabelProps, TimeFieldProps as TimeFieldProps$1, TimeValue } from "react-aria-components/TimeField";
14
14
 
15
15
  //#region src/components/time-field/types.d.ts
16
16
  /**
@@ -12,12 +12,12 @@
12
12
 
13
13
  import { TooltipTriggerProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react32 from "react";
16
- import { ContextValue } from "react-aria-components";
15
+ import * as react50 from "react";
16
+ import { ContextValue } from "react-aria-components/slots";
17
17
 
18
18
  //#region src/components/tooltip/context.d.ts
19
19
  /** Context for sharing props across TooltipTrigger components */
20
- declare const TooltipContext: react32.Context<ContextValue<TooltipTriggerProps, HTMLDivElement>>;
20
+ declare const TooltipContext: react50.Context<ContextValue<TooltipTriggerProps, HTMLDivElement>>;
21
21
  //#endregion
22
22
  export { TooltipContext };
23
23
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tooltip/context.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { TooltipTriggerProps } from './types';\n\n/** Context for sharing props across TooltipTrigger components */\nexport const TooltipContext =\n createContext<ContextValue<TooltipTriggerProps, HTMLDivElement>>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,MAAa,iBACX,cAAiE,KAAK"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tooltip/context.tsx"],"sourcesContent":["/*\n * Copyright 2026 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/slots';\nimport type { TooltipTriggerProps } from './types';\n\n/** Context for sharing props across TooltipTrigger components */\nexport const TooltipContext =\n createContext<ContextValue<TooltipTriggerProps, HTMLDivElement>>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,MAAa,iBACX,cAAiE,KAAK"}
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { TooltipProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime120 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime71 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/tooltip/index.d.ts
18
18
 
@@ -44,7 +44,7 @@ declare function Tooltip({
44
44
  offset,
45
45
  placement,
46
46
  ...props
47
- }: TooltipProps): react_jsx_runtime120.JSX.Element;
47
+ }: TooltipProps): react_jsx_runtime71.JSX.Element;
48
48
  //#endregion
49
49
  export { Tooltip };
50
50
  //# sourceMappingURL=index.d.ts.map
@@ -17,9 +17,10 @@ import { PortalProvider } from "../../providers/portal.js";
17
17
  import "client-only";
18
18
  import { useMemo } from "react";
19
19
  import { clsx } from "@accelint/design-foundation/lib/utils";
20
- import { Tooltip as Tooltip$1, composeRenderProps } from "react-aria-components";
20
+ import { composeRenderProps } from "react-aria-components/composeRenderProps";
21
21
  import { jsx } from "react/jsx-runtime";
22
- import { useIsSSR } from "@react-aria/ssr";
22
+ import { useIsSSR } from "react-aria/SSRProvider";
23
+ import { Tooltip as Tooltip$1 } from "react-aria-components/Tooltip";
23
24
  import styles from "./styles.module.css";
24
25
 
25
26
  //#region src/components/tooltip/index.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaTooltip","className"],"sources":["../../../src/components/tooltip/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { useIsSSR } from '@react-aria/ssr';\nimport { useMemo } from 'react';\nimport {\n Tooltip as AriaTooltip,\n composeRenderProps,\n} from 'react-aria-components';\nimport { PortalProvider } from '@/providers/portal';\nimport styles from './styles.module.css';\nimport type { TooltipProps } from './types';\n\n/**\n * Tooltip - Contextual popup for additional information\n *\n * Displays on hover or focus with automatic positioning and accessibility support.\n *\n * @param props - {@link TooltipProps}\n * @param props.children - Tooltip content.\n * @param props.parentRef - Ref to the parent element for portal positioning.\n * @param props.className - CSS class for the tooltip.\n * @param props.offset - Distance from the trigger element.\n * @param props.placement - Position relative to the trigger.\n * @returns The rendered Tooltip component.\n *\n * @example\n * ```tsx\n * <TooltipTrigger>\n * <Button>Hover me</Button>\n * <Tooltip>Additional information</Tooltip>\n * </TooltipTrigger>\n * ```\n */\nexport function Tooltip({\n children,\n parentRef,\n className,\n offset = 5,\n placement = 'bottom',\n ...props\n}: TooltipProps) {\n const isSSR = useIsSSR();\n const overlayContainer = useMemo(() => {\n if (isSSR) {\n return null;\n }\n\n const div = document.createElement('div');\n\n div.setAttribute('class', 'absolute');\n\n return div;\n }, [isSSR]);\n\n return (\n <PortalProvider parentRef={parentRef} inject={overlayContainer}>\n <AriaTooltip\n {...props}\n className={composeRenderProps(className, (className) =>\n clsx(styles.tooltip, className),\n )}\n offset={offset}\n placement={placement}\n >\n {children}\n </AriaTooltip>\n </PortalProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,SAAgB,QAAQ,EACtB,UACA,WACA,WACA,SAAS,GACT,YAAY,UACZ,GAAG,SACY;CACf,MAAM,QAAQ,UAAU;AAaxB,QACE,oBAAC;EAA0B;EAAW,QAbf,cAAc;AACrC,OAAI,MACF,QAAO;GAGT,MAAM,MAAM,SAAS,cAAc,MAAM;AAEzC,OAAI,aAAa,SAAS,WAAW;AAErC,UAAO;KACN,CAAC,MAAM,CAAC;YAIP,oBAACA;GACC,GAAI;GACJ,WAAW,mBAAmB,YAAY,gBACxC,KAAK,OAAO,SAASC,YAAU,CAChC;GACO;GACG;GAEV;IACW;GACC"}
1
+ {"version":3,"file":"index.js","names":["AriaTooltip","className"],"sources":["../../../src/components/tooltip/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { useIsSSR } from 'react-aria/SSRProvider';\nimport { useMemo } from 'react';\nimport { Tooltip as AriaTooltip } from 'react-aria-components/Tooltip';\nimport { PortalProvider } from '@/providers/portal';\nimport styles from './styles.module.css';\nimport type { TooltipProps } from './types';\nimport { composeRenderProps } from 'react-aria-components/composeRenderProps';\n\n/**\n * Tooltip - Contextual popup for additional information\n *\n * Displays on hover or focus with automatic positioning and accessibility support.\n *\n * @param props - {@link TooltipProps}\n * @param props.children - Tooltip content.\n * @param props.parentRef - Ref to the parent element for portal positioning.\n * @param props.className - CSS class for the tooltip.\n * @param props.offset - Distance from the trigger element.\n * @param props.placement - Position relative to the trigger.\n * @returns The rendered Tooltip component.\n *\n * @example\n * ```tsx\n * <TooltipTrigger>\n * <Button>Hover me</Button>\n * <Tooltip>Additional information</Tooltip>\n * </TooltipTrigger>\n * ```\n */\nexport function Tooltip({\n children,\n parentRef,\n className,\n offset = 5,\n placement = 'bottom',\n ...props\n}: TooltipProps) {\n const isSSR = useIsSSR();\n const overlayContainer = useMemo(() => {\n if (isSSR) {\n return null;\n }\n\n const div = document.createElement('div');\n\n div.setAttribute('class', 'absolute');\n\n return div;\n }, [isSSR]);\n\n return (\n <PortalProvider parentRef={parentRef} inject={overlayContainer}>\n <AriaTooltip\n {...props}\n className={composeRenderProps(className, (className) =>\n clsx(styles.tooltip, className),\n )}\n offset={offset}\n placement={placement}\n >\n {children}\n </AriaTooltip>\n </PortalProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,SAAgB,QAAQ,EACtB,UACA,WACA,WACA,SAAS,GACT,YAAY,UACZ,GAAG,SACY;CACf,MAAM,QAAQ,UAAU;AAaxB,QACE,oBAAC;EAA0B;EAAW,QAbf,cAAc;AACrC,OAAI,MACF,QAAO;GAGT,MAAM,MAAM,SAAS,cAAc,MAAM;AAEzC,OAAI,aAAa,SAAS,WAAW;AAErC,UAAO;KACN,CAAC,MAAM,CAAC;YAIP,oBAACA;GACC,GAAI;GACJ,WAAW,mBAAmB,YAAY,gBACxC,KAAK,OAAO,SAASC,YAAU,CAChC;GACO;GACG;GAEV;IACW;GACC"}
@@ -14,7 +14,42 @@
14
14
 
15
15
  @layer components.l1 {
16
16
  .tooltip {
17
+ --offset: var(--spacing-xxs);
18
+ --offset-neg: calc(var(--spacing-xxs) * -1);
19
+
17
20
  @apply fg-primary-bold rounded-small bg-surface-overlay px-s py-xs text-body-xs shadow-elevation-overlay flex items-center justify-center text-center wrap-break-word select-none;
18
21
  max-width: 160px;
22
+
23
+ @variant motion-safe {
24
+ transition:
25
+ transform var(--animation-duration-normal),
26
+ opacity var(--animation-duration-normal);
27
+
28
+ @variant placement-top {
29
+ --origin: translateY(var(--offset));
30
+ }
31
+
32
+ @variant placement-bottom {
33
+ --origin: translateY(var(--offset-neg));
34
+ }
35
+
36
+ @variant placement-left {
37
+ --origin: translateX(var(--offset));
38
+ }
39
+
40
+ @variant placement-right {
41
+ --origin: translateX(var(--offset-neg));
42
+ }
43
+
44
+ @variant entering {
45
+ transform: var(--origin);
46
+ opacity: 0;
47
+ }
48
+
49
+ @variant exiting {
50
+ transform: var(--origin);
51
+ opacity: 0;
52
+ }
53
+ }
19
54
  }
20
55
  }
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { TooltipTriggerProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime169 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime205 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/tooltip/trigger.d.ts
18
18
 
@@ -38,7 +38,7 @@ import * as react_jsx_runtime169 from "react/jsx-runtime";
38
38
  declare function TooltipTrigger({
39
39
  ref,
40
40
  ...props
41
- }: TooltipTriggerProps): react_jsx_runtime169.JSX.Element;
41
+ }: TooltipTriggerProps): react_jsx_runtime205.JSX.Element;
42
42
  //#endregion
43
43
  export { TooltipTrigger };
44
44
  //# sourceMappingURL=trigger.d.ts.map
@@ -16,10 +16,13 @@
16
16
  import { TooltipContext } from "./context.js";
17
17
  import "client-only";
18
18
  import { Children, cloneElement, version } from "react";
19
- import { TooltipTrigger as TooltipTrigger$1, useContextProps } from "react-aria-components";
20
19
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
21
- import { useFocusable } from "@react-aria/interactions";
22
- import { mergeProps, mergeRefs, useObjectRef } from "@react-aria/utils";
20
+ import { useContextProps } from "react-aria-components/slots";
21
+ import { TooltipTrigger as TooltipTrigger$1 } from "react-aria-components/Tooltip";
22
+ import { useFocusable } from "react-aria/useFocusable";
23
+ import { mergeProps } from "react-aria/mergeProps";
24
+ import { useObjectRef } from "react-aria/useObjectRef";
25
+ import { mergeRefs } from "react-aria/mergeRefs";
23
26
 
24
27
  //#region src/components/tooltip/trigger.tsx
25
28
  function TooltipFocusable({ children, ref, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","names":["AriaTooltipTrigger"],"sources":["../../../src/components/tooltip/trigger.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 {\n type FocusableProviderProps,\n useFocusable,\n} from '@react-aria/interactions';\nimport { mergeProps, mergeRefs, useObjectRef } from '@react-aria/utils';\nimport {\n Children,\n cloneElement,\n type DOMAttributes,\n type ReactElement,\n type ReactNode,\n type RefAttributes,\n version,\n} from 'react';\nimport {\n TooltipTrigger as AriaTooltipTrigger,\n useContextProps,\n} from 'react-aria-components';\nimport { TooltipContext } from './context';\nimport type { FocusableElement } from '@react-types/shared';\nimport type { TooltipTriggerProps } from './types';\n\nfunction TooltipFocusable({\n children,\n ref,\n ...props\n}: FocusableProviderProps & RefAttributes<FocusableElement>) {\n ref = useObjectRef(ref);\n\n const { focusableProps } = useFocusable(props, ref);\n const [trigger, tooltip] = Children.toArray(children) as [\n ReactElement<DOMAttributes<FocusableElement>, string>,\n ReactNode,\n ];\n\n const childRef =\n //@ts-expect-error\n Number.parseInt(version, 10) < 19 ? trigger.ref : trigger.props.ref;\n\n return (\n <>\n {cloneElement(trigger, {\n ...mergeProps(focusableProps, trigger.props),\n //@ts-expect-error\n ref: mergeRefs(childRef, ref),\n })}\n {tooltip}\n </>\n );\n}\n\n/**\n * TooltipTrigger - Wrapper that manages tooltip display on hover or focus\n *\n * @example\n * ```tsx\n * <TooltipTrigger delay={500}>\n * <Button>\n * <Icon><Info /></Icon>\n * </Button>\n * <Tooltip>Additional information about this action</Tooltip>\n * </TooltipTrigger>\n * ```\n *\n * @param props - {@link TooltipTriggerProps}\n * @param props.ref - Ref to the focusable trigger element.\n * @param props.children - Trigger element and Tooltip content.\n * @param props.delay - Delay in milliseconds before showing the tooltip.\n * @returns The rendered TooltipTrigger component.\n */\nexport function TooltipTrigger({ ref, ...props }: TooltipTriggerProps) {\n [props, ref] = useContextProps(props, ref ?? null, TooltipContext);\n\n const { children, delay = 250, ...rest } = props;\n\n return (\n <AriaTooltipTrigger {...rest} delay={delay}>\n <TooltipFocusable ref={ref}>{children}</TooltipFocusable>\n </AriaTooltipTrigger>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,SAAS,iBAAiB,EACxB,UACA,KACA,GAAG,SACwD;AAC3D,OAAM,aAAa,IAAI;CAEvB,MAAM,EAAE,mBAAmB,aAAa,OAAO,IAAI;CACnD,MAAM,CAAC,SAAS,WAAW,SAAS,QAAQ,SAAS;CAKrD,MAAM,WAEJ,OAAO,SAAS,SAAS,GAAG,GAAG,KAAK,QAAQ,MAAM,QAAQ,MAAM;AAElE,QACE,8CACG,aAAa,SAAS;EACrB,GAAG,WAAW,gBAAgB,QAAQ,MAAM;EAE5C,KAAK,UAAU,UAAU,IAAI;EAC9B,CAAC,EACD,WACA;;;;;;;;;;;;;;;;;;;;;AAuBP,SAAgB,eAAe,EAAE,KAAK,GAAG,SAA8B;AACrE,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,eAAe;CAElE,MAAM,EAAE,UAAU,QAAQ,KAAK,GAAG,SAAS;AAE3C,QACE,oBAACA;EAAmB,GAAI;EAAa;YACnC,oBAAC;GAAsB;GAAM;IAA4B;GACtC"}
1
+ {"version":3,"file":"trigger.js","names":["AriaTooltipTrigger"],"sources":["../../../src/components/tooltip/trigger.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { useFocusable } from 'react-aria/useFocusable';\nimport { mergeProps } from 'react-aria/mergeProps';\nimport { useObjectRef } from 'react-aria/useObjectRef';\nimport { mergeRefs } from 'react-aria/mergeRefs';\nimport {\n Children,\n cloneElement,\n type DOMAttributes,\n type ReactElement,\n type ReactNode,\n version,\n} from 'react';\nimport { TooltipTrigger as AriaTooltipTrigger } from 'react-aria-components/Tooltip';\nimport { useContextProps } from 'react-aria-components/slots';\nimport { TooltipContext } from './context';\nimport type { FocusableElement } from '@react-types/shared';\nimport type { TooltipFocusableProps, TooltipTriggerProps } from './types';\n\nfunction TooltipFocusable({ children, ref, ...props }: TooltipFocusableProps) {\n ref = useObjectRef(ref);\n\n const { focusableProps } = useFocusable(props, ref);\n const [trigger, tooltip] = Children.toArray(children) as [\n ReactElement<DOMAttributes<FocusableElement>, string>,\n ReactNode,\n ];\n\n const childRef =\n //@ts-expect-error\n Number.parseInt(version, 10) < 19 ? trigger.ref : trigger.props.ref;\n\n return (\n <>\n {cloneElement(trigger, {\n ...mergeProps(focusableProps, trigger.props),\n //@ts-expect-error\n ref: mergeRefs(childRef, ref),\n })}\n {tooltip}\n </>\n );\n}\n\n/**\n * TooltipTrigger - Wrapper that manages tooltip display on hover or focus\n *\n * @example\n * ```tsx\n * <TooltipTrigger delay={500}>\n * <Button>\n * <Icon><Info /></Icon>\n * </Button>\n * <Tooltip>Additional information about this action</Tooltip>\n * </TooltipTrigger>\n * ```\n *\n * @param props - {@link TooltipTriggerProps}\n * @param props.ref - Ref to the focusable trigger element.\n * @param props.children - Trigger element and Tooltip content.\n * @param props.delay - Delay in milliseconds before showing the tooltip.\n * @returns The rendered TooltipTrigger component.\n */\nexport function TooltipTrigger({ ref, ...props }: TooltipTriggerProps) {\n [props, ref] = useContextProps(props, ref ?? null, TooltipContext);\n\n const { children, delay = 250, ...rest } = props;\n\n return (\n <AriaTooltipTrigger {...rest} delay={delay}>\n <TooltipFocusable ref={ref}>{children}</TooltipFocusable>\n </AriaTooltipTrigger>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAS,iBAAiB,EAAE,UAAU,KAAK,GAAG,SAAgC;AAC5E,OAAM,aAAa,IAAI;CAEvB,MAAM,EAAE,mBAAmB,aAAa,OAAO,IAAI;CACnD,MAAM,CAAC,SAAS,WAAW,SAAS,QAAQ,SAAS;CAKrD,MAAM,WAEJ,OAAO,SAAS,SAAS,GAAG,GAAG,KAAK,QAAQ,MAAM,QAAQ,MAAM;AAElE,QACE,8CACG,aAAa,SAAS;EACrB,GAAG,WAAW,gBAAgB,QAAQ,MAAM;EAE5C,KAAK,UAAU,UAAU,IAAI;EAC9B,CAAC,EACD,WACA;;;;;;;;;;;;;;;;;;;;;AAuBP,SAAgB,eAAe,EAAE,KAAK,GAAG,SAA8B;AACrE,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,eAAe;CAElE,MAAM,EAAE,UAAU,QAAQ,KAAK,GAAG,SAAS;AAE3C,QACE,oBAACA;EAAmB,GAAI;EAAa;YACnC,oBAAC;GAAsB;GAAM;IAA4B;GACtC"}
@@ -10,8 +10,10 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { ComponentPropsWithRef } from "react";
14
- import { TooltipProps as TooltipProps$1, TooltipTriggerComponentProps } from "react-aria-components";
13
+ import { ComponentPropsWithRef, ReactNode, RefAttributes } from "react";
14
+ import { TooltipProps as TooltipProps$1, TooltipTriggerComponentProps } from "react-aria-components/Tooltip";
15
+ import { FocusableElement } from "@react-types/shared";
16
+ import { FocusableProps } from "react-aria/Focusable";
15
17
 
16
18
  //#region src/components/tooltip/types.d.ts
17
19
  /**
@@ -25,6 +27,9 @@ type TooltipProps = TooltipProps$1 & {
25
27
  /** Ref to the parent element for portal positioning. */
26
28
  parentRef?: React.RefObject<HTMLElement | null>;
27
29
  };
30
+ type TooltipFocusableProps = Omit<FocusableProps, 'children'> & RefAttributes<FocusableElement> & {
31
+ children?: ReactNode;
32
+ };
28
33
  //#endregion
29
- export { TooltipProps, TooltipTriggerProps };
34
+ export { TooltipFocusableProps, TooltipProps, TooltipTriggerProps };
30
35
  //# sourceMappingURL=types.d.ts.map
@@ -12,13 +12,13 @@
12
12
 
13
13
  import { TreeContextValue, TreeItemContextValue } from "./types.js";
14
14
  import "client-only";
15
- import * as react33 from "react";
15
+ import * as react53 from "react";
16
16
 
17
17
  //#region src/components/tree/context.d.ts
18
18
  /** Context for sharing state across Tree components */
19
- declare const TreeContext: react33.Context<TreeContextValue>;
19
+ declare const TreeContext: react53.Context<TreeContextValue>;
20
20
  /** Context for sharing state within a TreeItem */
21
- declare const TreeItemContext: react33.Context<TreeItemContextValue>;
21
+ declare const TreeItemContext: react53.Context<TreeItemContextValue>;
22
22
  //#endregion
23
23
  export { TreeContext, TreeItemContext };
24
24
  //# sourceMappingURL=context.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { TreeProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime121 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime211 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/tree/index.d.ts
18
18
 
@@ -21,6 +21,8 @@ import * as react_jsx_runtime121 from "react/jsx-runtime";
21
21
  *
22
22
  * Supports static or dynamic collections with keyboard navigation and accessibility.
23
23
  *
24
+ * @template T - The type of custom values stored in tree nodes (accessed via `node.values`).
25
+ *
24
26
  * @param props - {@link TreeProps}
25
27
  * @param props.children - Tree items or render function for dynamic collections.
26
28
  * @param props.className - CSS class for the tree container.
@@ -75,7 +77,7 @@ declare function Tree<T>({
75
77
  onVisibilityChange,
76
78
  onSelectionChange,
77
79
  ...rest
78
- }: TreeProps<T>): react_jsx_runtime121.JSX.Element;
80
+ }: TreeProps<T>): react_jsx_runtime211.JSX.Element;
79
81
  //#endregion
80
82
  export { Tree };
81
83
  //# sourceMappingURL=index.d.ts.map
@@ -16,10 +16,13 @@
16
16
  import { TreeContext } from "./context.js";
17
17
  import { Cache } from "../../hooks/use-tree/actions/cache.js";
18
18
  import "client-only";
19
- import { useMemo } from "react";
19
+ import { useCallback, useMemo } from "react";
20
20
  import { clsx } from "@accelint/design-foundation/lib/utils";
21
- import { DropIndicator, Tree as Tree$1, composeRenderProps, useDragAndDrop } from "react-aria-components";
21
+ import { composeRenderProps } from "react-aria-components/composeRenderProps";
22
22
  import { jsx } from "react/jsx-runtime";
23
+ import { noop } from "@accelint/core";
24
+ import { Tree as Tree$1 } from "react-aria-components/Tree";
25
+ import { DropIndicator, useDragAndDrop } from "react-aria-components/useDragAndDrop";
23
26
  import styles from "./styles.module.css";
24
27
 
25
28
  //#region src/components/tree/index.tsx
@@ -30,10 +33,27 @@ const defaultRenderDropIndicator = (target) => {
30
33
  });
31
34
  };
32
35
  /**
36
+ * Helper to collect node state keys from cache tree nodes.
37
+ * Reduces cognitive complexity by extracting the iteration logic.
38
+ */
39
+ function collectNodeKeys(nodes, acc) {
40
+ for (const node of nodes) {
41
+ if (node.isDisabled) acc.disabledKeys?.add(node.key);
42
+ if (node.isExpanded) acc.expandedKeys?.add(node.key);
43
+ if (node.isSelected) acc.selectedKeys?.add(node.key);
44
+ if (node.isVisible) acc.visibleKeys?.add(node.key);
45
+ if (node.isVisibleComputed) acc.visibilityComputedKeys.add(node.key);
46
+ if (node.isIndeterminate) acc.indeterminateKeys.add(node.key);
47
+ }
48
+ return acc;
49
+ }
50
+ /**
33
51
  * Tree - Hierarchical tree view with selection, visibility, and drag-and-drop
34
52
  *
35
53
  * Supports static or dynamic collections with keyboard navigation and accessibility.
36
54
  *
55
+ * @template T - The type of custom values stored in tree nodes (accessed via `node.values`).
56
+ *
37
57
  * @param props - {@link TreeProps}
38
58
  * @param props.children - Tree items or render function for dynamic collections.
39
59
  * @param props.className - CSS class for the tree container.
@@ -92,23 +112,17 @@ function Tree({ children, className, disabledKeys: disabledKeysProp, dragAndDrop
92
112
  });
93
113
  const cache = useMemo(() => items ? new Cache([...items]) : null, [items]);
94
114
  const nodes = useMemo(() => cache?.getAllNodes(), [cache]);
95
- const { disabledKeys, expandedKeys, selectedKeys, visibleKeys, visibilityComputedKeys } = useMemo(() => {
115
+ const { disabledKeys, expandedKeys, selectedKeys, visibleKeys, visibilityComputedKeys, indeterminateKeys } = useMemo(() => {
96
116
  const acc = {
97
117
  disabledKeys: nodes ? /* @__PURE__ */ new Set() : disabledKeysProp,
98
118
  expandedKeys: nodes ? /* @__PURE__ */ new Set() : expandedKeysProp,
99
119
  selectedKeys: nodes ? /* @__PURE__ */ new Set() : selectedKeysProp,
100
120
  visibleKeys: nodes ? /* @__PURE__ */ new Set() : visibleKeysProp,
101
- visibilityComputedKeys: /* @__PURE__ */ new Set()
121
+ visibilityComputedKeys: /* @__PURE__ */ new Set(),
122
+ indeterminateKeys: /* @__PURE__ */ new Set()
102
123
  };
103
124
  if (!nodes) return acc;
104
- return nodes.reduce((acc$1, { key, isDisabled, isExpanded, isSelected, isVisible, isVisibleComputed }) => {
105
- if (isDisabled) acc$1.disabledKeys?.add(key);
106
- if (isExpanded) acc$1.expandedKeys?.add(key);
107
- if (isSelected) acc$1.selectedKeys?.add(key);
108
- if (isVisible) acc$1.visibleKeys?.add(key);
109
- if (isVisibleComputed) acc$1.visibilityComputedKeys.add(key);
110
- return acc$1;
111
- }, acc);
125
+ return collectNodeKeys(nodes, acc);
112
126
  }, [
113
127
  nodes,
114
128
  disabledKeysProp,
@@ -116,9 +130,9 @@ function Tree({ children, className, disabledKeys: disabledKeysProp, dragAndDrop
116
130
  selectedKeysProp,
117
131
  visibleKeysProp
118
132
  ]);
119
- const handleSelectionChange = selectedKeys ? (selection) => {
133
+ const handleSelectionChange = useCallback((selection) => {
120
134
  if (selection !== "all") onSelectionChange?.(selection);
121
- } : void 0;
135
+ }, [onSelectionChange]);
122
136
  return /* @__PURE__ */ jsx(TreeContext.Provider, {
123
137
  value: {
124
138
  disabledKeys,
@@ -129,8 +143,9 @@ function Tree({ children, className, disabledKeys: disabledKeysProp, dragAndDrop
129
143
  variant,
130
144
  visibleKeys,
131
145
  visibilityComputedKeys,
146
+ indeterminateKeys,
132
147
  isStatic: typeof children !== "function",
133
- onVisibilityChange: onVisibilityChange ?? (() => void 0)
148
+ onVisibilityChange: onVisibilityChange ?? noop
134
149
  },
135
150
  children: /* @__PURE__ */ jsx(Tree$1, {
136
151
  ...rest,
@@ -140,7 +155,7 @@ function Tree({ children, className, disabledKeys: disabledKeysProp, dragAndDrop
140
155
  expandedKeys,
141
156
  items,
142
157
  selectedKeys,
143
- onSelectionChange: handleSelectionChange,
158
+ onSelectionChange: selectedKeys ? handleSelectionChange : void 0,
144
159
  selectionMode,
145
160
  children
146
161
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["acc","AriaTree","className"],"sources":["../../../src/components/tree/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { Cache } from '@/hooks/use-tree/actions/cache';\nimport type { Key, Selection } from '@react-types/shared';\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useMemo } from 'react';\nimport {\n Tree as AriaTree,\n composeRenderProps,\n DropIndicator,\n type DropTarget,\n useDragAndDrop,\n} from 'react-aria-components';\nimport { TreeContext } from './context';\nimport styles from './styles.module.css';\nimport type { TreeProps } from './types';\n\nconst defaultRenderDropIndicator = (target: DropTarget) => {\n const isBetweenItems =\n target.type === 'item' &&\n (target.dropPosition === 'before' || target.dropPosition === 'after');\n return (\n <DropIndicator\n target={target}\n className={\n isBetweenItems ? styles.dropIndicatorBetween : styles.dropIndicator\n }\n />\n );\n};\n\n/**\n * Tree - Hierarchical tree view with selection, visibility, and drag-and-drop\n *\n * Supports static or dynamic collections with keyboard navigation and accessibility.\n *\n * @param props - {@link TreeProps}\n * @param props.children - Tree items or render function for dynamic collections.\n * @param props.className - CSS class for the tree container.\n * @param props.disabledKeys - Set of disabled item keys.\n * @param props.dragAndDropConfig - Configuration for drag and drop behavior.\n * @param props.expandedKeys - Set of expanded item keys.\n * @param props.items - Data source for dynamic collections.\n * @param props.selectedKeys - Set of selected item keys.\n * @param props.showRuleLines - Whether to show connecting lines between items.\n * @param props.showVisibility - Whether to show visibility toggle buttons.\n * @param props.selectionMode - Selection mode for the tree.\n * @param props.variant - Visual density variant.\n * @param props.visibleKeys - Set of visible item keys.\n * @param props.onVisibilityChange - Callback when item visibility changes.\n * @param props.onSelectionChange - Callback when selection changes.\n * @returns The rendered Tree component.\n *\n * @example\n * // Dynamic collection\n * ```tsx\n * <Tree items={items} expandedKeys={expandedKeys}>\n * {(node) => <TreeItem key={node.key}>{node.label}</TreeItem>}\n * </Tree>\n * ```\n *\n * @example\n * ```tsx\n * // Static collection\n * <Tree>\n * <TreeItem id=\"one\" textValue=\"one\">\n * <TreeItemContent>One</TreeItemContent>\n * <TreeItem id=\"two\" textValue=\"two\">\n * <TreeItemContent>Two</TreeItemContent>\n * </TreeItem>\n * </TreeItem>\n * </Tree>\n * ```\n */\nexport function Tree<T>({\n children,\n className,\n disabledKeys: disabledKeysProp,\n dragAndDropConfig,\n expandedKeys: expandedKeysProp,\n items,\n selectedKeys: selectedKeysProp,\n showRuleLines = true,\n showVisibility = true,\n selectionMode = 'multiple',\n variant = 'cozy',\n visibleKeys: visibleKeysProp,\n onVisibilityChange,\n onSelectionChange,\n ...rest\n}: TreeProps<T>) {\n /**\n * A static collection is hard-coded. Dynamic is data-driven from an external source.\n * https://react-spectrum.adobe.com/react-aria/Tree.html#content\n *\n * Controlled state should only be used on a static tree.\n */\n if (\n items &&\n (disabledKeysProp ||\n expandedKeysProp ||\n selectedKeysProp ||\n visibleKeysProp)\n ) {\n throw new Error(\n 'Tree should only be controlled with state from either `items` or keys props, not both',\n );\n }\n\n /**\n * A static tree won't support the node iterator pattern.\n */\n if (!!items !== (typeof children === 'function')) {\n throw new Error(\n 'Tree `items` and node iterator `children` must be used together',\n );\n }\n\n const { dragAndDropHooks } = useDragAndDrop({\n renderDropIndicator: defaultRenderDropIndicator,\n getAllowedDropOperations: () => ['move'],\n getDropOperation: () => 'move',\n ...dragAndDropConfig,\n });\n const cache = useMemo(() => (items ? new Cache([...items]) : null), [items]);\n const nodes = useMemo(() => cache?.getAllNodes(), [cache]);\n const {\n disabledKeys,\n expandedKeys,\n selectedKeys,\n visibleKeys,\n visibilityComputedKeys,\n } = useMemo(() => {\n const acc = {\n disabledKeys: nodes ? new Set<Key>() : disabledKeysProp,\n expandedKeys: nodes ? new Set<Key>() : expandedKeysProp,\n selectedKeys: nodes ? new Set<Key>() : selectedKeysProp,\n visibleKeys: nodes ? new Set<Key>() : visibleKeysProp,\n visibilityComputedKeys: new Set<Key>(),\n };\n\n if (!nodes) {\n return acc;\n }\n\n return nodes.reduce(\n (\n acc,\n {\n key,\n isDisabled,\n isExpanded,\n isSelected,\n isVisible,\n isVisibleComputed,\n },\n ) => {\n if (isDisabled) {\n acc.disabledKeys?.add(key);\n }\n if (isExpanded) {\n acc.expandedKeys?.add(key);\n }\n if (isSelected) {\n acc.selectedKeys?.add(key);\n }\n if (isVisible) {\n acc.visibleKeys?.add(key);\n }\n if (isVisibleComputed) {\n acc.visibilityComputedKeys.add(key);\n }\n return acc;\n },\n acc,\n );\n }, [\n nodes,\n disabledKeysProp,\n expandedKeysProp,\n selectedKeysProp,\n visibleKeysProp,\n ]);\n\n const handleSelectionChange = selectedKeys\n ? (selection: Selection) => {\n if (selection !== 'all') {\n onSelectionChange?.(selection);\n }\n }\n : undefined;\n\n return (\n <TreeContext.Provider\n value={{\n disabledKeys,\n expandedKeys,\n selectedKeys,\n showRuleLines,\n showVisibility,\n variant,\n visibleKeys,\n visibilityComputedKeys,\n isStatic: typeof children !== 'function',\n onVisibilityChange: onVisibilityChange ?? (() => undefined), // TODO: improve\n }}\n >\n <AriaTree\n {...rest}\n className={composeRenderProps(className, (className) =>\n clsx(styles.tree, className),\n )}\n disabledKeys={disabledKeys}\n dragAndDropHooks={dragAndDropHooks}\n expandedKeys={expandedKeys}\n items={items}\n selectedKeys={selectedKeys}\n onSelectionChange={handleSelectionChange}\n selectionMode={selectionMode}\n >\n {children}\n </AriaTree>\n </TreeContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,8BAA8B,WAAuB;AAIzD,QACE,oBAAC;EACS;EACR,WALF,OAAO,SAAS,WACf,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,WAKxC,OAAO,uBAAuB,OAAO;GAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CN,SAAgB,KAAQ,EACtB,UACA,WACA,cAAc,kBACd,mBACA,cAAc,kBACd,OACA,cAAc,kBACd,gBAAgB,MAChB,iBAAiB,MACjB,gBAAgB,YAChB,UAAU,QACV,aAAa,iBACb,oBACA,mBACA,GAAG,QACY;;;;;;;AAOf,KACE,UACC,oBACC,oBACA,oBACA,iBAEF,OAAM,IAAI,MACR,wFACD;;;;AAMH,KAAI,CAAC,CAAC,WAAW,OAAO,aAAa,YACnC,OAAM,IAAI,MACR,kEACD;CAGH,MAAM,EAAE,qBAAqB,eAAe;EAC1C,qBAAqB;EACrB,gCAAgC,CAAC,OAAO;EACxC,wBAAwB;EACxB,GAAG;EACJ,CAAC;CACF,MAAM,QAAQ,cAAe,QAAQ,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAO,CAAC,MAAM,CAAC;CAC5E,MAAM,QAAQ,cAAc,OAAO,aAAa,EAAE,CAAC,MAAM,CAAC;CAC1D,MAAM,EACJ,cACA,cACA,cACA,aACA,2BACE,cAAc;EAChB,MAAM,MAAM;GACV,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,aAAa,wBAAQ,IAAI,KAAU,GAAG;GACtC,wCAAwB,IAAI,KAAU;GACvC;AAED,MAAI,CAAC,MACH,QAAO;AAGT,SAAO,MAAM,QAET,OACA,EACE,KACA,YACA,YACA,YACA,WACA,wBAEC;AACH,OAAI,WACF,OAAI,cAAc,IAAI,IAAI;AAE5B,OAAI,WACF,OAAI,cAAc,IAAI,IAAI;AAE5B,OAAI,WACF,OAAI,cAAc,IAAI,IAAI;AAE5B,OAAI,UACF,OAAI,aAAa,IAAI,IAAI;AAE3B,OAAI,kBACF,OAAI,uBAAuB,IAAI,IAAI;AAErC,UAAOA;KAET,IACD;IACA;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,wBAAwB,gBACzB,cAAyB;AACxB,MAAI,cAAc,MAChB,qBAAoB,UAAU;KAGlC;AAEJ,QACE,oBAAC,YAAY;EACX,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,UAAU,OAAO,aAAa;GAC9B,oBAAoB,6BAA6B;GAClD;YAED,oBAACC;GACC,GAAI;GACJ,WAAW,mBAAmB,YAAY,gBACxC,KAAK,OAAO,MAAMC,YAAU,CAC7B;GACa;GACI;GACJ;GACP;GACO;GACd,mBAAmB;GACJ;GAEd;IACQ;GACU"}
1
+ {"version":3,"file":"index.js","names":["AriaTree","className"],"sources":["../../../src/components/tree/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { Cache, type CacheTreeNode } from '@/hooks/use-tree/actions/cache';\nimport type { Key, Selection } from '@react-types/shared';\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useCallback, useMemo } from 'react';\nimport { composeRenderProps } from 'react-aria-components/composeRenderProps';\nimport { Tree as AriaTree, type DropTarget } from 'react-aria-components/Tree';\nimport {\n DropIndicator,\n useDragAndDrop,\n} from 'react-aria-components/useDragAndDrop';\nimport { TreeContext } from './context';\nimport styles from './styles.module.css';\nimport type { TreeProps } from './types';\nimport { noop } from '@accelint/core';\n\nconst defaultRenderDropIndicator = (target: DropTarget) => {\n const isBetweenItems =\n target.type === 'item' &&\n (target.dropPosition === 'before' || target.dropPosition === 'after');\n return (\n <DropIndicator\n target={target}\n className={\n isBetweenItems ? styles.dropIndicatorBetween : styles.dropIndicator\n }\n />\n );\n};\n\n/**\n * Helper to collect node state keys from cache tree nodes.\n * Reduces cognitive complexity by extracting the iteration logic.\n */\nfunction collectNodeKeys<T>(\n nodes: MapIterator<CacheTreeNode<T>>,\n acc: {\n disabledKeys?: Set<Key>;\n expandedKeys?: Set<Key>;\n selectedKeys?: Set<Key>;\n visibleKeys?: Set<Key>;\n visibilityComputedKeys: Set<Key>;\n indeterminateKeys: Set<Key>;\n },\n) {\n for (const node of nodes) {\n if (node.isDisabled) {\n acc.disabledKeys?.add(node.key);\n }\n if (node.isExpanded) {\n acc.expandedKeys?.add(node.key);\n }\n if (node.isSelected) {\n acc.selectedKeys?.add(node.key);\n }\n if (node.isVisible) {\n acc.visibleKeys?.add(node.key);\n }\n if (node.isVisibleComputed) {\n acc.visibilityComputedKeys.add(node.key);\n }\n if (node.isIndeterminate) {\n acc.indeterminateKeys.add(node.key);\n }\n }\n return acc;\n}\n\n/**\n * Tree - Hierarchical tree view with selection, visibility, and drag-and-drop\n *\n * Supports static or dynamic collections with keyboard navigation and accessibility.\n *\n * @template T - The type of custom values stored in tree nodes (accessed via `node.values`).\n *\n * @param props - {@link TreeProps}\n * @param props.children - Tree items or render function for dynamic collections.\n * @param props.className - CSS class for the tree container.\n * @param props.disabledKeys - Set of disabled item keys.\n * @param props.dragAndDropConfig - Configuration for drag and drop behavior.\n * @param props.expandedKeys - Set of expanded item keys.\n * @param props.items - Data source for dynamic collections.\n * @param props.selectedKeys - Set of selected item keys.\n * @param props.showRuleLines - Whether to show connecting lines between items.\n * @param props.showVisibility - Whether to show visibility toggle buttons.\n * @param props.selectionMode - Selection mode for the tree.\n * @param props.variant - Visual density variant.\n * @param props.visibleKeys - Set of visible item keys.\n * @param props.onVisibilityChange - Callback when item visibility changes.\n * @param props.onSelectionChange - Callback when selection changes.\n * @returns The rendered Tree component.\n *\n * @example\n * // Dynamic collection\n * ```tsx\n * <Tree items={items} expandedKeys={expandedKeys}>\n * {(node) => <TreeItem key={node.key}>{node.label}</TreeItem>}\n * </Tree>\n * ```\n *\n * @example\n * ```tsx\n * // Static collection\n * <Tree>\n * <TreeItem id=\"one\" textValue=\"one\">\n * <TreeItemContent>One</TreeItemContent>\n * <TreeItem id=\"two\" textValue=\"two\">\n * <TreeItemContent>Two</TreeItemContent>\n * </TreeItem>\n * </TreeItem>\n * </Tree>\n * ```\n */\nexport function Tree<T>({\n children,\n className,\n disabledKeys: disabledKeysProp,\n dragAndDropConfig,\n expandedKeys: expandedKeysProp,\n items,\n selectedKeys: selectedKeysProp,\n showRuleLines = true,\n showVisibility = true,\n selectionMode = 'multiple',\n variant = 'cozy',\n visibleKeys: visibleKeysProp,\n onVisibilityChange,\n onSelectionChange,\n ...rest\n}: TreeProps<T>) {\n /**\n * A static collection is hard-coded. Dynamic is data-driven from an external source.\n * https://react-spectrum.adobe.com/react-aria/Tree.html#content\n *\n * Controlled state should only be used on a static tree.\n */\n if (\n items &&\n (disabledKeysProp ||\n expandedKeysProp ||\n selectedKeysProp ||\n visibleKeysProp)\n ) {\n throw new Error(\n 'Tree should only be controlled with state from either `items` or keys props, not both',\n );\n }\n\n /**\n * A static tree won't support the node iterator pattern.\n */\n if (!!items !== (typeof children === 'function')) {\n throw new Error(\n 'Tree `items` and node iterator `children` must be used together',\n );\n }\n\n const { dragAndDropHooks } = useDragAndDrop({\n renderDropIndicator: defaultRenderDropIndicator,\n getAllowedDropOperations: () => ['move'],\n getDropOperation: () => 'move',\n ...dragAndDropConfig,\n });\n const cache = useMemo(() => (items ? new Cache([...items]) : null), [items]);\n const nodes = useMemo(() => cache?.getAllNodes(), [cache]);\n const {\n disabledKeys,\n expandedKeys,\n selectedKeys,\n visibleKeys,\n visibilityComputedKeys,\n indeterminateKeys,\n } = useMemo(() => {\n const acc = {\n disabledKeys: nodes ? new Set<Key>() : disabledKeysProp,\n expandedKeys: nodes ? new Set<Key>() : expandedKeysProp,\n selectedKeys: nodes ? new Set<Key>() : selectedKeysProp,\n visibleKeys: nodes ? new Set<Key>() : visibleKeysProp,\n visibilityComputedKeys: new Set<Key>(),\n indeterminateKeys: new Set<Key>(),\n };\n\n if (!nodes) {\n return acc;\n }\n\n return collectNodeKeys<T>(nodes, acc);\n }, [\n nodes,\n disabledKeysProp,\n expandedKeysProp,\n selectedKeysProp,\n visibleKeysProp,\n ]);\n\n const handleSelectionChange = useCallback(\n (selection: Selection) => {\n if (selection !== 'all') {\n onSelectionChange?.(selection);\n }\n },\n [onSelectionChange],\n );\n\n return (\n <TreeContext.Provider\n value={{\n disabledKeys,\n expandedKeys,\n selectedKeys,\n showRuleLines,\n showVisibility,\n variant,\n visibleKeys,\n visibilityComputedKeys,\n indeterminateKeys,\n isStatic: typeof children !== 'function',\n onVisibilityChange: onVisibilityChange ?? noop,\n }}\n >\n <AriaTree\n {...rest}\n className={composeRenderProps(className, (className) =>\n clsx(styles.tree, className),\n )}\n disabledKeys={disabledKeys}\n dragAndDropHooks={dragAndDropHooks}\n expandedKeys={expandedKeys}\n items={items}\n selectedKeys={selectedKeys}\n onSelectionChange={selectedKeys ? handleSelectionChange : undefined}\n selectionMode={selectionMode}\n >\n {children}\n </AriaTree>\n </TreeContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,8BAA8B,WAAuB;AAIzD,QACE,oBAAC;EACS;EACR,WALF,OAAO,SAAS,WACf,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,WAKxC,OAAO,uBAAuB,OAAO;GAExD;;;;;;AAQN,SAAS,gBACP,OACA,KAQA;AACA,MAAK,MAAM,QAAQ,OAAO;AACxB,MAAI,KAAK,WACP,KAAI,cAAc,IAAI,KAAK,IAAI;AAEjC,MAAI,KAAK,WACP,KAAI,cAAc,IAAI,KAAK,IAAI;AAEjC,MAAI,KAAK,WACP,KAAI,cAAc,IAAI,KAAK,IAAI;AAEjC,MAAI,KAAK,UACP,KAAI,aAAa,IAAI,KAAK,IAAI;AAEhC,MAAI,KAAK,kBACP,KAAI,uBAAuB,IAAI,KAAK,IAAI;AAE1C,MAAI,KAAK,gBACP,KAAI,kBAAkB,IAAI,KAAK,IAAI;;AAGvC,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDT,SAAgB,KAAQ,EACtB,UACA,WACA,cAAc,kBACd,mBACA,cAAc,kBACd,OACA,cAAc,kBACd,gBAAgB,MAChB,iBAAiB,MACjB,gBAAgB,YAChB,UAAU,QACV,aAAa,iBACb,oBACA,mBACA,GAAG,QACY;;;;;;;AAOf,KACE,UACC,oBACC,oBACA,oBACA,iBAEF,OAAM,IAAI,MACR,wFACD;;;;AAMH,KAAI,CAAC,CAAC,WAAW,OAAO,aAAa,YACnC,OAAM,IAAI,MACR,kEACD;CAGH,MAAM,EAAE,qBAAqB,eAAe;EAC1C,qBAAqB;EACrB,gCAAgC,CAAC,OAAO;EACxC,wBAAwB;EACxB,GAAG;EACJ,CAAC;CACF,MAAM,QAAQ,cAAe,QAAQ,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAO,CAAC,MAAM,CAAC;CAC5E,MAAM,QAAQ,cAAc,OAAO,aAAa,EAAE,CAAC,MAAM,CAAC;CAC1D,MAAM,EACJ,cACA,cACA,cACA,aACA,wBACA,sBACE,cAAc;EAChB,MAAM,MAAM;GACV,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,cAAc,wBAAQ,IAAI,KAAU,GAAG;GACvC,aAAa,wBAAQ,IAAI,KAAU,GAAG;GACtC,wCAAwB,IAAI,KAAU;GACtC,mCAAmB,IAAI,KAAU;GAClC;AAED,MAAI,CAAC,MACH,QAAO;AAGT,SAAO,gBAAmB,OAAO,IAAI;IACpC;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,wBAAwB,aAC3B,cAAyB;AACxB,MAAI,cAAc,MAChB,qBAAoB,UAAU;IAGlC,CAAC,kBAAkB,CACpB;AAED,QACE,oBAAC,YAAY;EACX,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,UAAU,OAAO,aAAa;GAC9B,oBAAoB,sBAAsB;GAC3C;YAED,oBAACA;GACC,GAAI;GACJ,WAAW,mBAAmB,YAAY,gBACxC,KAAK,OAAO,MAAMC,YAAU,CAC7B;GACa;GACI;GACJ;GACP;GACO;GACd,mBAAmB,eAAe,wBAAwB;GAC3C;GAEd;IACQ;GACU"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  import { PropsWithChildren } from "react";
14
- import * as react_jsx_runtime134 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime213 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/tree/item-actions.d.ts
17
17
 
@@ -39,7 +39,7 @@ declare function TreeItemActions({
39
39
  className
40
40
  }: PropsWithChildren & {
41
41
  className?: string;
42
- }): react_jsx_runtime134.JSX.Element;
42
+ }): react_jsx_runtime213.JSX.Element;
43
43
  //#endregion
44
44
  export { TreeItemActions };
45
45
  //# sourceMappingURL=item-actions.d.ts.map
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  import { TreeItemContentProps } from "./types.js";
14
- import * as react_jsx_runtime101 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime200 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/tree/item-content.d.ts
17
17
 
@@ -35,7 +35,7 @@ import * as react_jsx_runtime101 from "react/jsx-runtime";
35
35
  */
36
36
  declare function TreeItemContent({
37
37
  children
38
- }: TreeItemContentProps): react_jsx_runtime101.JSX.Element;
38
+ }: TreeItemContentProps): react_jsx_runtime200.JSX.Element;
39
39
  //#endregion
40
40
  export { TreeItemContent };
41
41
  //# sourceMappingURL=item-content.d.ts.map