@accelint/design-toolkit 9.3.0 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/catalog-info.yaml +1 -1
  2. package/dist/components/accordion/context.d.ts +6 -0
  3. package/dist/components/accordion/context.js +6 -0
  4. package/dist/components/accordion/context.js.map +1 -1
  5. package/dist/components/accordion/group.d.ts +37 -2
  6. package/dist/components/accordion/group.js +34 -0
  7. package/dist/components/accordion/group.js.map +1 -1
  8. package/dist/components/accordion/header.d.ts +27 -2
  9. package/dist/components/accordion/header.js +25 -1
  10. package/dist/components/accordion/header.js.map +1 -1
  11. package/dist/components/accordion/index.d.ts +18 -4
  12. package/dist/components/accordion/index.js +16 -2
  13. package/dist/components/accordion/index.js.map +1 -1
  14. package/dist/components/accordion/panel.d.ts +29 -2
  15. package/dist/components/accordion/panel.js +26 -0
  16. package/dist/components/accordion/panel.js.map +1 -1
  17. package/dist/components/accordion/trigger.d.ts +25 -2
  18. package/dist/components/accordion/trigger.js +23 -1
  19. package/dist/components/accordion/trigger.js.map +1 -1
  20. package/dist/components/accordion/types.d.ts +33 -0
  21. package/dist/components/action-bar/index.d.ts +29 -8
  22. package/dist/components/action-bar/index.js +27 -6
  23. package/dist/components/action-bar/index.js.map +1 -1
  24. package/dist/components/action-bar/types.d.ts +7 -0
  25. package/dist/components/avatar/context.d.ts +22 -4
  26. package/dist/components/avatar/context.js +18 -0
  27. package/dist/components/avatar/context.js.map +1 -1
  28. package/dist/components/avatar/index.d.ts +22 -15
  29. package/dist/components/avatar/index.js +21 -14
  30. package/dist/components/avatar/index.js.map +1 -1
  31. package/dist/components/avatar/types.d.ts +13 -0
  32. package/dist/components/badge/context.d.ts +20 -2
  33. package/dist/components/badge/context.js +18 -0
  34. package/dist/components/badge/context.js.map +1 -1
  35. package/dist/components/badge/index.d.ts +28 -14
  36. package/dist/components/badge/index.js +28 -14
  37. package/dist/components/badge/index.js.map +1 -1
  38. package/dist/components/badge/types.d.ts +9 -0
  39. package/dist/components/breadcrumbs/index.d.ts +8 -0
  40. package/dist/components/breadcrumbs/index.js +7 -0
  41. package/dist/components/breadcrumbs/index.js.map +1 -1
  42. package/dist/components/breadcrumbs/item.d.ts +23 -0
  43. package/dist/components/breadcrumbs/item.js +23 -1
  44. package/dist/components/breadcrumbs/item.js.map +1 -1
  45. package/dist/components/breadcrumbs/types.d.ts +17 -0
  46. package/dist/components/button/context.d.ts +62 -8
  47. package/dist/components/button/context.js +54 -0
  48. package/dist/components/button/context.js.map +1 -1
  49. package/dist/components/button/index.d.ts +21 -2
  50. package/dist/components/button/index.js +19 -0
  51. package/dist/components/button/index.js.map +1 -1
  52. package/dist/components/button/link.d.ts +20 -0
  53. package/dist/components/button/link.js +20 -0
  54. package/dist/components/button/link.js.map +1 -1
  55. package/dist/components/button/toggle.d.ts +23 -2
  56. package/dist/components/button/toggle.js +22 -1
  57. package/dist/components/button/toggle.js.map +1 -1
  58. package/dist/components/button/types.d.ts +26 -0
  59. package/dist/components/checkbox/context.d.ts +9 -3
  60. package/dist/components/checkbox/context.js +6 -0
  61. package/dist/components/checkbox/context.js.map +1 -1
  62. package/dist/components/checkbox/group.d.ts +31 -2
  63. package/dist/components/checkbox/group.js +28 -0
  64. package/dist/components/checkbox/group.js.map +1 -1
  65. package/dist/components/checkbox/index.d.ts +19 -2
  66. package/dist/components/checkbox/index.js +19 -1
  67. package/dist/components/checkbox/index.js.map +1 -1
  68. package/dist/components/checkbox/types.d.ts +19 -0
  69. package/dist/components/chip/context.d.ts +22 -4
  70. package/dist/components/chip/context.js +18 -0
  71. package/dist/components/chip/context.js.map +1 -1
  72. package/dist/components/chip/deletable.d.ts +38 -2
  73. package/dist/components/chip/deletable.js +36 -1
  74. package/dist/components/chip/deletable.js.map +1 -1
  75. package/dist/components/chip/index.d.ts +24 -2
  76. package/dist/components/chip/index.js +22 -0
  77. package/dist/components/chip/index.js.map +1 -1
  78. package/dist/components/chip/list.d.ts +47 -2
  79. package/dist/components/chip/list.js +45 -0
  80. package/dist/components/chip/list.js.map +1 -1
  81. package/dist/components/chip/selectable.d.ts +32 -0
  82. package/dist/components/chip/selectable.js +31 -0
  83. package/dist/components/chip/selectable.js.map +1 -1
  84. package/dist/components/chip/types.d.ts +27 -0
  85. package/dist/components/classification-badge/context.d.ts +18 -2
  86. package/dist/components/classification-badge/context.js +16 -0
  87. package/dist/components/classification-badge/context.js.map +1 -1
  88. package/dist/components/classification-badge/index.d.ts +26 -8
  89. package/dist/components/classification-badge/index.js +25 -8
  90. package/dist/components/classification-badge/index.js.map +1 -1
  91. package/dist/components/classification-badge/types.d.ts +4 -0
  92. package/dist/components/classification-banner/context.d.ts +20 -4
  93. package/dist/components/classification-banner/context.js +16 -0
  94. package/dist/components/classification-banner/context.js.map +1 -1
  95. package/dist/components/classification-banner/index.d.ts +12 -2
  96. package/dist/components/classification-banner/index.js +9 -0
  97. package/dist/components/classification-banner/index.js.map +1 -1
  98. package/dist/components/classification-banner/types.d.ts +4 -0
  99. package/dist/components/clock/index.d.ts +12 -2
  100. package/dist/components/clock/index.js +10 -0
  101. package/dist/components/clock/index.js.map +1 -1
  102. package/dist/components/clock/types.d.ts +4 -0
  103. package/dist/components/color-picker/index.d.ts +12 -10
  104. package/dist/components/color-picker/index.js +10 -8
  105. package/dist/components/color-picker/index.js.map +1 -1
  106. package/dist/components/color-picker/types.d.ts +8 -0
  107. package/dist/components/combobox-field/context.d.ts +20 -4
  108. package/dist/components/combobox-field/context.js +16 -0
  109. package/dist/components/combobox-field/context.js.map +1 -1
  110. package/dist/components/combobox-field/index.d.ts +15 -2
  111. package/dist/components/combobox-field/index.js +13 -1
  112. package/dist/components/combobox-field/index.js.map +1 -1
  113. package/dist/components/combobox-field/types.d.ts +19 -0
  114. package/dist/components/coordinate-field/context.d.ts +15 -6
  115. package/dist/components/coordinate-field/context.js +9 -0
  116. package/dist/components/coordinate-field/context.js.map +1 -1
  117. package/dist/components/coordinate-field/coordinate-utils.d.ts +8 -0
  118. package/dist/components/coordinate-field/coordinate-utils.js +8 -0
  119. package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
  120. package/dist/components/coordinate-field/index.d.ts +29 -2
  121. package/dist/components/coordinate-field/index.js +29 -3
  122. package/dist/components/coordinate-field/index.js.map +1 -1
  123. package/dist/components/coordinate-field/segment.d.ts +27 -2
  124. package/dist/components/coordinate-field/segment.js +25 -0
  125. package/dist/components/coordinate-field/segment.js.map +1 -1
  126. package/dist/components/coordinate-field/styles.module.css +5 -1
  127. package/dist/components/date-field/index.d.ts +27 -2
  128. package/dist/components/date-field/index.js +25 -0
  129. package/dist/components/date-field/index.js.map +1 -1
  130. package/dist/components/date-field/types.d.ts +19 -3
  131. package/dist/components/deferred-collection/index.d.ts +10 -2
  132. package/dist/components/deferred-collection/index.js +8 -0
  133. package/dist/components/deferred-collection/index.js.map +1 -1
  134. package/dist/components/deferred-collection/types.d.ts +6 -3
  135. package/dist/components/details-list/context.d.ts +25 -4
  136. package/dist/components/details-list/context.js +21 -0
  137. package/dist/components/details-list/context.js.map +1 -1
  138. package/dist/components/details-list/index.d.ts +9 -2
  139. package/dist/components/details-list/index.js +7 -0
  140. package/dist/components/details-list/index.js.map +1 -1
  141. package/dist/components/details-list/label.d.ts +18 -2
  142. package/dist/components/details-list/label.js +16 -0
  143. package/dist/components/details-list/label.js.map +1 -1
  144. package/dist/components/details-list/types.d.ts +14 -0
  145. package/dist/components/details-list/value.d.ts +20 -2
  146. package/dist/components/details-list/value.js +17 -0
  147. package/dist/components/details-list/value.js.map +1 -1
  148. package/dist/components/dialog/content.d.ts +23 -2
  149. package/dist/components/dialog/content.js +20 -0
  150. package/dist/components/dialog/content.js.map +1 -1
  151. package/dist/components/dialog/context.d.ts +5 -2
  152. package/dist/components/dialog/context.js +3 -0
  153. package/dist/components/dialog/context.js.map +1 -1
  154. package/dist/components/dialog/footer.d.ts +26 -2
  155. package/dist/components/dialog/footer.js +23 -0
  156. package/dist/components/dialog/footer.js.map +1 -1
  157. package/dist/components/dialog/index.d.ts +12 -2
  158. package/dist/components/dialog/index.js +10 -0
  159. package/dist/components/dialog/index.js.map +1 -1
  160. package/dist/components/dialog/title.d.ts +21 -2
  161. package/dist/components/dialog/title.js +18 -0
  162. package/dist/components/dialog/title.js.map +1 -1
  163. package/dist/components/dialog/trigger.d.ts +18 -0
  164. package/dist/components/dialog/trigger.js +17 -0
  165. package/dist/components/dialog/trigger.js.map +1 -1
  166. package/dist/components/dialog/types.d.ts +12 -0
  167. package/dist/components/divider/context.d.ts +24 -4
  168. package/dist/components/divider/context.js +20 -0
  169. package/dist/components/divider/context.js.map +1 -1
  170. package/dist/components/divider/index.d.ts +13 -2
  171. package/dist/components/divider/index.js +10 -0
  172. package/dist/components/divider/index.js.map +1 -1
  173. package/dist/components/divider/types.d.ts +4 -4
  174. package/dist/components/drawer/back.d.ts +21 -2
  175. package/dist/components/drawer/back.js +19 -1
  176. package/dist/components/drawer/back.js.map +1 -1
  177. package/dist/components/drawer/close.d.ts +25 -2
  178. package/dist/components/drawer/close.js +28 -3
  179. package/dist/components/drawer/close.js.map +1 -1
  180. package/dist/components/drawer/content.d.ts +22 -2
  181. package/dist/components/drawer/content.js +19 -0
  182. package/dist/components/drawer/content.js.map +1 -1
  183. package/dist/components/drawer/context.d.ts +46 -4
  184. package/dist/components/drawer/context.js +45 -2
  185. package/dist/components/drawer/context.js.map +1 -1
  186. package/dist/components/drawer/events.d.ts +2 -0
  187. package/dist/components/drawer/events.js +2 -0
  188. package/dist/components/drawer/events.js.map +1 -1
  189. package/dist/components/drawer/footer.d.ts +24 -2
  190. package/dist/components/drawer/footer.js +21 -0
  191. package/dist/components/drawer/footer.js.map +1 -1
  192. package/dist/components/drawer/header-title.d.ts +22 -4
  193. package/dist/components/drawer/header-title.js +19 -2
  194. package/dist/components/drawer/header-title.js.map +1 -1
  195. package/dist/components/drawer/header.d.ts +34 -2
  196. package/dist/components/drawer/header.js +42 -2
  197. package/dist/components/drawer/header.js.map +1 -1
  198. package/dist/components/drawer/index.d.ts +14 -2
  199. package/dist/components/drawer/index.js +16 -0
  200. package/dist/components/drawer/index.js.map +1 -1
  201. package/dist/components/drawer/layout-main.d.ts +23 -2
  202. package/dist/components/drawer/layout-main.js +20 -0
  203. package/dist/components/drawer/layout-main.js.map +1 -1
  204. package/dist/components/drawer/layout.d.ts +25 -2
  205. package/dist/components/drawer/layout.js +22 -0
  206. package/dist/components/drawer/layout.js.map +1 -1
  207. package/dist/components/drawer/menu-item.d.ts +25 -2
  208. package/dist/components/drawer/menu-item.js +22 -0
  209. package/dist/components/drawer/menu-item.js.map +1 -1
  210. package/dist/components/drawer/menu.d.ts +22 -2
  211. package/dist/components/drawer/menu.js +19 -0
  212. package/dist/components/drawer/menu.js.map +1 -1
  213. package/dist/components/drawer/panel.d.ts +21 -2
  214. package/dist/components/drawer/panel.js +18 -0
  215. package/dist/components/drawer/panel.js.map +1 -1
  216. package/dist/components/drawer/trigger.d.ts +31 -2
  217. package/dist/components/drawer/trigger.js +29 -1
  218. package/dist/components/drawer/trigger.js.map +1 -1
  219. package/dist/components/drawer/types.d.ts +149 -2
  220. package/dist/components/drawer/view.d.ts +25 -2
  221. package/dist/components/drawer/view.js +22 -0
  222. package/dist/components/drawer/view.js.map +1 -1
  223. package/dist/components/flashcard/index.d.ts +129 -27
  224. package/dist/components/flashcard/index.js +120 -18
  225. package/dist/components/flashcard/index.js.map +1 -1
  226. package/dist/components/flashcard/styles.module.css +1 -1
  227. package/dist/components/flashcard/types.d.ts +12 -0
  228. package/dist/components/hero/context.d.ts +5 -2
  229. package/dist/components/hero/context.js +3 -0
  230. package/dist/components/hero/context.js.map +1 -1
  231. package/dist/components/hero/index.d.ts +9 -2
  232. package/dist/components/hero/index.js +7 -0
  233. package/dist/components/hero/index.js.map +1 -1
  234. package/dist/components/hero/subtitle.d.ts +17 -2
  235. package/dist/components/hero/subtitle.js +15 -0
  236. package/dist/components/hero/subtitle.js.map +1 -1
  237. package/dist/components/hero/title.d.ts +15 -2
  238. package/dist/components/hero/title.js +13 -0
  239. package/dist/components/hero/title.js.map +1 -1
  240. package/dist/components/hero/types.d.ts +9 -0
  241. package/dist/components/hotkey/context.d.ts +24 -4
  242. package/dist/components/hotkey/context.js +20 -0
  243. package/dist/components/hotkey/context.js.map +1 -1
  244. package/dist/components/hotkey/index.d.ts +17 -2
  245. package/dist/components/hotkey/index.js +15 -0
  246. package/dist/components/hotkey/index.js.map +1 -1
  247. package/dist/components/hotkey/set.d.ts +21 -2
  248. package/dist/components/hotkey/set.js +18 -0
  249. package/dist/components/hotkey/set.js.map +1 -1
  250. package/dist/components/hotkey/types.d.ts +4 -0
  251. package/dist/components/icon/context.d.ts +24 -4
  252. package/dist/components/icon/context.js +20 -0
  253. package/dist/components/icon/context.js.map +1 -1
  254. package/dist/components/icon/index.d.ts +15 -2
  255. package/dist/components/icon/index.js +13 -0
  256. package/dist/components/icon/index.js.map +1 -1
  257. package/dist/components/icon/types.d.ts +4 -0
  258. package/dist/components/input/context.d.ts +4 -0
  259. package/dist/components/input/context.js +4 -0
  260. package/dist/components/input/context.js.map +1 -1
  261. package/dist/components/input/index.d.ts +17 -2
  262. package/dist/components/input/index.js +16 -1
  263. package/dist/components/input/index.js.map +1 -1
  264. package/dist/components/input/types.d.ts +16 -0
  265. package/dist/components/kanban/card-body.d.ts +10 -2
  266. package/dist/components/kanban/card-body.js +8 -0
  267. package/dist/components/kanban/card-body.js.map +1 -1
  268. package/dist/components/kanban/card-header-actions.d.ts +10 -2
  269. package/dist/components/kanban/card-header-actions.js +8 -0
  270. package/dist/components/kanban/card-header-actions.js.map +1 -1
  271. package/dist/components/kanban/card-header-title.d.ts +10 -2
  272. package/dist/components/kanban/card-header-title.js +8 -0
  273. package/dist/components/kanban/card-header-title.js.map +1 -1
  274. package/dist/components/kanban/card-header.d.ts +12 -2
  275. package/dist/components/kanban/card-header.js +10 -0
  276. package/dist/components/kanban/card-header.js.map +1 -1
  277. package/dist/components/kanban/card.d.ts +26 -2
  278. package/dist/components/kanban/card.js +23 -0
  279. package/dist/components/kanban/card.js.map +1 -1
  280. package/dist/components/kanban/column-actions.d.ts +10 -2
  281. package/dist/components/kanban/column-actions.js +9 -1
  282. package/dist/components/kanban/column-actions.js.map +1 -1
  283. package/dist/components/kanban/column-container.d.ts +10 -2
  284. package/dist/components/kanban/column-container.js +8 -0
  285. package/dist/components/kanban/column-container.js.map +1 -1
  286. package/dist/components/kanban/column-content.d.ts +13 -2
  287. package/dist/components/kanban/column-content.js +11 -0
  288. package/dist/components/kanban/column-content.js.map +1 -1
  289. package/dist/components/kanban/column-header-actions.d.ts +13 -2
  290. package/dist/components/kanban/column-header-actions.js +11 -0
  291. package/dist/components/kanban/column-header-actions.js.map +1 -1
  292. package/dist/components/kanban/column-header-drag-handle.d.ts +7 -2
  293. package/dist/components/kanban/column-header-drag-handle.js +6 -1
  294. package/dist/components/kanban/column-header-drag-handle.js.map +1 -1
  295. package/dist/components/kanban/column-header-title.d.ts +10 -2
  296. package/dist/components/kanban/column-header-title.js +8 -0
  297. package/dist/components/kanban/column-header-title.js.map +1 -1
  298. package/dist/components/kanban/column-header.d.ts +12 -2
  299. package/dist/components/kanban/column-header.js +10 -0
  300. package/dist/components/kanban/column-header.js.map +1 -1
  301. package/dist/components/kanban/column.d.ts +22 -2
  302. package/dist/components/kanban/column.js +19 -0
  303. package/dist/components/kanban/column.js.map +1 -1
  304. package/dist/components/kanban/context.d.ts +49 -2
  305. package/dist/components/kanban/context.js +30 -0
  306. package/dist/components/kanban/context.js.map +1 -1
  307. package/dist/components/kanban/header-actions.d.ts +10 -2
  308. package/dist/components/kanban/header-actions.js +8 -0
  309. package/dist/components/kanban/header-actions.js.map +1 -1
  310. package/dist/components/kanban/header-search.d.ts +9 -2
  311. package/dist/components/kanban/header-search.js +7 -0
  312. package/dist/components/kanban/header-search.js.map +1 -1
  313. package/dist/components/kanban/header-title.d.ts +10 -2
  314. package/dist/components/kanban/header-title.js +8 -0
  315. package/dist/components/kanban/header-title.js.map +1 -1
  316. package/dist/components/kanban/header.d.ts +12 -2
  317. package/dist/components/kanban/header.js +10 -0
  318. package/dist/components/kanban/header.js.map +1 -1
  319. package/dist/components/kanban/kanban.d.ts +33 -4
  320. package/dist/components/kanban/kanban.js +29 -0
  321. package/dist/components/kanban/kanban.js.map +1 -1
  322. package/dist/components/kanban/types.d.ts +51 -0
  323. package/dist/components/label/context.d.ts +25 -4
  324. package/dist/components/label/context.js +21 -0
  325. package/dist/components/label/context.js.map +1 -1
  326. package/dist/components/label/index.d.ts +16 -2
  327. package/dist/components/label/index.js +14 -0
  328. package/dist/components/label/index.js.map +1 -1
  329. package/dist/components/label/types.d.ts +5 -0
  330. package/dist/components/lines/index.d.ts +10 -0
  331. package/dist/components/lines/index.js +9 -0
  332. package/dist/components/lines/index.js.map +1 -1
  333. package/dist/components/lines/types.d.ts +6 -0
  334. package/dist/components/link/context.d.ts +21 -2
  335. package/dist/components/link/context.js +18 -0
  336. package/dist/components/link/context.js.map +1 -1
  337. package/dist/components/link/index.d.ts +12 -2
  338. package/dist/components/link/index.js +9 -0
  339. package/dist/components/link/index.js.map +1 -1
  340. package/dist/components/link/types.d.ts +5 -0
  341. package/dist/components/list/context.d.ts +11 -2
  342. package/dist/components/list/context.js +9 -0
  343. package/dist/components/list/context.js.map +1 -1
  344. package/dist/components/list/index.d.ts +11 -2
  345. package/dist/components/list/index.js +9 -0
  346. package/dist/components/list/index.js.map +1 -1
  347. package/dist/components/list/item-content.d.ts +9 -2
  348. package/dist/components/list/item-content.js +6 -0
  349. package/dist/components/list/item-content.js.map +1 -1
  350. package/dist/components/list/item-description.d.ts +9 -2
  351. package/dist/components/list/item-description.js +7 -0
  352. package/dist/components/list/item-description.js.map +1 -1
  353. package/dist/components/list/item-title.d.ts +9 -2
  354. package/dist/components/list/item-title.js +7 -0
  355. package/dist/components/list/item-title.js.map +1 -1
  356. package/dist/components/list/item.d.ts +10 -2
  357. package/dist/components/list/item.js +8 -0
  358. package/dist/components/list/item.js.map +1 -1
  359. package/dist/components/list/types.d.ts +22 -0
  360. package/dist/components/menu/context.d.ts +6 -2
  361. package/dist/components/menu/context.js +4 -0
  362. package/dist/components/menu/context.js.map +1 -1
  363. package/dist/components/menu/index.d.ts +24 -3
  364. package/dist/components/menu/index.js +22 -1
  365. package/dist/components/menu/index.js.map +1 -1
  366. package/dist/components/menu/item-description.d.ts +17 -2
  367. package/dist/components/menu/item-description.js +15 -0
  368. package/dist/components/menu/item-description.js.map +1 -1
  369. package/dist/components/menu/item-label.d.ts +17 -2
  370. package/dist/components/menu/item-label.js +15 -0
  371. package/dist/components/menu/item-label.js.map +1 -1
  372. package/dist/components/menu/item.d.ts +23 -2
  373. package/dist/components/menu/item.js +21 -1
  374. package/dist/components/menu/item.js.map +1 -1
  375. package/dist/components/menu/section.d.ts +23 -2
  376. package/dist/components/menu/section.js +20 -0
  377. package/dist/components/menu/section.js.map +1 -1
  378. package/dist/components/menu/separator.d.ts +16 -2
  379. package/dist/components/menu/separator.js +14 -0
  380. package/dist/components/menu/separator.js.map +1 -1
  381. package/dist/components/menu/submenu.d.ts +18 -2
  382. package/dist/components/menu/submenu.js +16 -0
  383. package/dist/components/menu/submenu.js.map +1 -1
  384. package/dist/components/menu/trigger.d.ts +15 -0
  385. package/dist/components/menu/trigger.js +15 -0
  386. package/dist/components/menu/trigger.js.map +1 -1
  387. package/dist/components/menu/types.d.ts +25 -0
  388. package/dist/components/notice/events.d.ts +9 -0
  389. package/dist/components/notice/events.js +9 -0
  390. package/dist/components/notice/events.js.map +1 -1
  391. package/dist/components/notice/index.d.ts +34 -2
  392. package/dist/components/notice/index.js +32 -1
  393. package/dist/components/notice/index.js.map +1 -1
  394. package/dist/components/notice/list.d.ts +31 -2
  395. package/dist/components/notice/list.js +28 -0
  396. package/dist/components/notice/list.js.map +1 -1
  397. package/dist/components/notice/notice-icon.d.ts +22 -2
  398. package/dist/components/notice/notice-icon.js +23 -1
  399. package/dist/components/notice/notice-icon.js.map +1 -1
  400. package/dist/components/notice/types.d.ts +60 -0
  401. package/dist/components/notice/utils.d.ts +8 -0
  402. package/dist/components/notice/utils.js +8 -0
  403. package/dist/components/notice/utils.js.map +1 -1
  404. package/dist/components/options/context.d.ts +1 -0
  405. package/dist/components/options/context.js +1 -0
  406. package/dist/components/options/context.js.map +1 -1
  407. package/dist/components/options/index.d.ts +15 -2
  408. package/dist/components/options/index.js +13 -0
  409. package/dist/components/options/index.js.map +1 -1
  410. package/dist/components/options/item-content.d.ts +22 -2
  411. package/dist/components/options/item-content.js +19 -0
  412. package/dist/components/options/item-content.js.map +1 -1
  413. package/dist/components/options/item-description.d.ts +14 -2
  414. package/dist/components/options/item-description.js +12 -0
  415. package/dist/components/options/item-description.js.map +1 -1
  416. package/dist/components/options/item-label.d.ts +14 -2
  417. package/dist/components/options/item-label.js +12 -0
  418. package/dist/components/options/item-label.js.map +1 -1
  419. package/dist/components/options/item.d.ts +24 -2
  420. package/dist/components/options/item.js +21 -0
  421. package/dist/components/options/item.js.map +1 -1
  422. package/dist/components/options/section.d.ts +21 -2
  423. package/dist/components/options/section.js +18 -0
  424. package/dist/components/options/section.js.map +1 -1
  425. package/dist/components/options/types.d.ts +24 -0
  426. package/dist/components/pagination/context.d.ts +3 -2
  427. package/dist/components/pagination/context.js +1 -0
  428. package/dist/components/pagination/context.js.map +1 -1
  429. package/dist/components/pagination/index.d.ts +18 -11
  430. package/dist/components/pagination/index.js +15 -9
  431. package/dist/components/pagination/index.js.map +1 -1
  432. package/dist/components/pagination/next.d.ts +17 -2
  433. package/dist/components/pagination/next.js +15 -0
  434. package/dist/components/pagination/next.js.map +1 -1
  435. package/dist/components/pagination/pages.d.ts +21 -2
  436. package/dist/components/pagination/pages.js +18 -0
  437. package/dist/components/pagination/pages.js.map +1 -1
  438. package/dist/components/pagination/prev.d.ts +17 -2
  439. package/dist/components/pagination/prev.js +16 -1
  440. package/dist/components/pagination/prev.js.map +1 -1
  441. package/dist/components/pagination/types.d.ts +32 -0
  442. package/dist/components/pagination/utils.d.ts +35 -0
  443. package/dist/components/pagination/utils.js +35 -0
  444. package/dist/components/pagination/utils.js.map +1 -1
  445. package/dist/components/popover/content.d.ts +20 -2
  446. package/dist/components/popover/content.js +17 -0
  447. package/dist/components/popover/content.js.map +1 -1
  448. package/dist/components/popover/footer.d.ts +22 -2
  449. package/dist/components/popover/footer.js +19 -0
  450. package/dist/components/popover/footer.js.map +1 -1
  451. package/dist/components/popover/index.d.ts +9 -2
  452. package/dist/components/popover/index.js +8 -1
  453. package/dist/components/popover/index.js.map +1 -1
  454. package/dist/components/popover/styles.module.css +6 -0
  455. package/dist/components/popover/title.d.ts +17 -2
  456. package/dist/components/popover/title.js +15 -0
  457. package/dist/components/popover/title.js.map +1 -1
  458. package/dist/components/popover/trigger.d.ts +24 -2
  459. package/dist/components/popover/trigger.js +21 -0
  460. package/dist/components/popover/trigger.js.map +1 -1
  461. package/dist/components/popover/types.d.ts +10 -0
  462. package/dist/components/query-builder/action-element.d.ts +20 -2
  463. package/dist/components/query-builder/action-element.js +17 -0
  464. package/dist/components/query-builder/action-element.js.map +1 -1
  465. package/dist/components/query-builder/actions.d.ts +37 -4
  466. package/dist/components/query-builder/actions.js +36 -1
  467. package/dist/components/query-builder/actions.js.map +1 -1
  468. package/dist/components/query-builder/combinator-selector.d.ts +10 -2
  469. package/dist/components/query-builder/combinator-selector.js +8 -0
  470. package/dist/components/query-builder/combinator-selector.js.map +1 -1
  471. package/dist/components/query-builder/constants.d.ts +1 -0
  472. package/dist/components/query-builder/constants.js +1 -0
  473. package/dist/components/query-builder/constants.js.map +1 -1
  474. package/dist/components/query-builder/index.d.ts +11 -2
  475. package/dist/components/query-builder/index.js +9 -0
  476. package/dist/components/query-builder/index.js.map +1 -1
  477. package/dist/components/query-builder/rule-group.d.ts +52 -4
  478. package/dist/components/query-builder/rule-group.js +47 -0
  479. package/dist/components/query-builder/rule-group.js.map +1 -1
  480. package/dist/components/query-builder/rule.d.ts +20 -2
  481. package/dist/components/query-builder/rule.js +18 -0
  482. package/dist/components/query-builder/rule.js.map +1 -1
  483. package/dist/components/query-builder/types.d.ts +9 -0
  484. package/dist/components/query-builder/utils.d.ts +15 -0
  485. package/dist/components/query-builder/utils.js +15 -0
  486. package/dist/components/query-builder/utils.js.map +1 -1
  487. package/dist/components/query-builder/value-editor.d.ts +23 -2
  488. package/dist/components/query-builder/value-editor.js +20 -0
  489. package/dist/components/query-builder/value-editor.js.map +1 -1
  490. package/dist/components/query-builder/value-selector.d.ts +23 -2
  491. package/dist/components/query-builder/value-selector.js +20 -0
  492. package/dist/components/query-builder/value-selector.js.map +1 -1
  493. package/dist/components/radio/context.d.ts +2 -2
  494. package/dist/components/radio/group.d.ts +19 -2
  495. package/dist/components/radio/group.js +16 -0
  496. package/dist/components/radio/group.js.map +1 -1
  497. package/dist/components/radio/index.d.ts +13 -26
  498. package/dist/components/radio/index.js +11 -24
  499. package/dist/components/radio/index.js.map +1 -1
  500. package/dist/components/radio/types.d.ts +16 -0
  501. package/dist/components/search-field/context.d.ts +7 -4
  502. package/dist/components/search-field/context.js +3 -0
  503. package/dist/components/search-field/context.js.map +1 -1
  504. package/dist/components/search-field/index.d.ts +15 -24
  505. package/dist/components/search-field/index.js +16 -23
  506. package/dist/components/search-field/index.js.map +1 -1
  507. package/dist/components/search-field/types.d.ts +13 -0
  508. package/dist/components/select-field/context.d.ts +11 -4
  509. package/dist/components/select-field/context.js +7 -0
  510. package/dist/components/select-field/context.js.map +1 -1
  511. package/dist/components/select-field/index.d.ts +19 -39
  512. package/dist/components/select-field/index.js +18 -38
  513. package/dist/components/select-field/index.js.map +1 -1
  514. package/dist/components/select-field/styles.module.css +8 -0
  515. package/dist/components/select-field/types.d.ts +18 -0
  516. package/dist/components/sidenav/avatar.d.ts +19 -2
  517. package/dist/components/sidenav/avatar.js +16 -0
  518. package/dist/components/sidenav/avatar.js.map +1 -1
  519. package/dist/components/sidenav/content.d.ts +23 -2
  520. package/dist/components/sidenav/content.js +20 -0
  521. package/dist/components/sidenav/content.js.map +1 -1
  522. package/dist/components/sidenav/context.d.ts +3 -2
  523. package/dist/components/sidenav/context.js +1 -0
  524. package/dist/components/sidenav/context.js.map +1 -1
  525. package/dist/components/sidenav/events.d.ts +2 -0
  526. package/dist/components/sidenav/events.js +2 -0
  527. package/dist/components/sidenav/events.js.map +1 -1
  528. package/dist/components/sidenav/footer.d.ts +16 -2
  529. package/dist/components/sidenav/footer.js +13 -0
  530. package/dist/components/sidenav/footer.js.map +1 -1
  531. package/dist/components/sidenav/header.d.ts +20 -2
  532. package/dist/components/sidenav/header.js +18 -1
  533. package/dist/components/sidenav/header.js.map +1 -1
  534. package/dist/components/sidenav/index.d.ts +11 -2
  535. package/dist/components/sidenav/index.js +9 -0
  536. package/dist/components/sidenav/index.js.map +1 -1
  537. package/dist/components/sidenav/item.d.ts +17 -2
  538. package/dist/components/sidenav/item.js +14 -0
  539. package/dist/components/sidenav/item.js.map +1 -1
  540. package/dist/components/sidenav/link.d.ts +17 -2
  541. package/dist/components/sidenav/link.js +15 -1
  542. package/dist/components/sidenav/link.js.map +1 -1
  543. package/dist/components/sidenav/menu-item.d.ts +16 -2
  544. package/dist/components/sidenav/menu-item.js +13 -0
  545. package/dist/components/sidenav/menu-item.js.map +1 -1
  546. package/dist/components/sidenav/menu.d.ts +19 -2
  547. package/dist/components/sidenav/menu.js +17 -1
  548. package/dist/components/sidenav/menu.js.map +1 -1
  549. package/dist/components/sidenav/trigger.d.ts +17 -2
  550. package/dist/components/sidenav/trigger.js +14 -0
  551. package/dist/components/sidenav/trigger.js.map +1 -1
  552. package/dist/components/sidenav/types.d.ts +53 -0
  553. package/dist/components/skeleton/index.d.ts +12 -27
  554. package/dist/components/skeleton/index.js +10 -24
  555. package/dist/components/skeleton/index.js.map +1 -1
  556. package/dist/components/skeleton/types.d.ts +4 -0
  557. package/dist/components/slider/index.d.ts +30 -29
  558. package/dist/components/slider/index.js +28 -27
  559. package/dist/components/slider/index.js.map +1 -1
  560. package/dist/components/slider/types.d.ts +18 -0
  561. package/dist/components/switch/context.d.ts +16 -10
  562. package/dist/components/switch/context.js +13 -7
  563. package/dist/components/switch/context.js.map +1 -1
  564. package/dist/components/switch/index.d.ts +14 -31
  565. package/dist/components/switch/index.js +12 -29
  566. package/dist/components/switch/index.js.map +1 -1
  567. package/dist/components/switch/types.d.ts +5 -0
  568. package/dist/components/table/body.d.ts +21 -2
  569. package/dist/components/table/body.js +18 -0
  570. package/dist/components/table/body.js.map +1 -1
  571. package/dist/components/table/cell.d.ts +22 -2
  572. package/dist/components/table/cell.js +19 -0
  573. package/dist/components/table/cell.js.map +1 -1
  574. package/dist/components/table/constants/table.d.ts +6 -0
  575. package/dist/components/table/constants/table.js +4 -0
  576. package/dist/components/table/constants/table.js.map +1 -1
  577. package/dist/components/table/context.d.ts +3 -2
  578. package/dist/components/table/context.js +1 -0
  579. package/dist/components/table/context.js.map +1 -1
  580. package/dist/components/table/header-cell.d.ts +24 -2
  581. package/dist/components/table/header-cell.js +24 -1
  582. package/dist/components/table/header-cell.js.map +1 -1
  583. package/dist/components/table/header.d.ts +20 -0
  584. package/dist/components/table/header.js +19 -0
  585. package/dist/components/table/header.js.map +1 -1
  586. package/dist/components/table/index.d.ts +28 -6
  587. package/dist/components/table/index.js +27 -5
  588. package/dist/components/table/index.js.map +1 -1
  589. package/dist/components/table/row.d.ts +26 -2
  590. package/dist/components/table/row.js +23 -0
  591. package/dist/components/table/row.js.map +1 -1
  592. package/dist/components/table/types.d.ts +3 -0
  593. package/dist/components/tabs/context.d.ts +20 -10
  594. package/dist/components/tabs/context.js +17 -7
  595. package/dist/components/tabs/context.js.map +1 -1
  596. package/dist/components/tabs/index.d.ts +17 -40
  597. package/dist/components/tabs/index.js +15 -38
  598. package/dist/components/tabs/index.js.map +1 -1
  599. package/dist/components/tabs/list.d.ts +20 -4
  600. package/dist/components/tabs/list.js +17 -2
  601. package/dist/components/tabs/list.js.map +1 -1
  602. package/dist/components/tabs/panel.d.ts +21 -4
  603. package/dist/components/tabs/panel.js +18 -2
  604. package/dist/components/tabs/panel.js.map +1 -1
  605. package/dist/components/tabs/tab.d.ts +17 -4
  606. package/dist/components/tabs/tab.js +14 -2
  607. package/dist/components/tabs/tab.js.map +1 -1
  608. package/dist/components/tabs/types.d.ts +3 -0
  609. package/dist/components/text-area-field/context.d.ts +20 -10
  610. package/dist/components/text-area-field/context.js +17 -7
  611. package/dist/components/text-area-field/context.js.map +1 -1
  612. package/dist/components/text-area-field/index.d.ts +20 -15
  613. package/dist/components/text-area-field/index.js +18 -13
  614. package/dist/components/text-area-field/index.js.map +1 -1
  615. package/dist/components/text-area-field/styles.module.css +1 -1
  616. package/dist/components/text-area-field/types.d.ts +9 -0
  617. package/dist/components/text-field/context.d.ts +24 -4
  618. package/dist/components/text-field/context.js +20 -0
  619. package/dist/components/text-field/context.js.map +1 -1
  620. package/dist/components/text-field/index.d.ts +17 -82
  621. package/dist/components/text-field/index.js +15 -80
  622. package/dist/components/text-field/index.js.map +1 -1
  623. package/dist/components/text-field/types.d.ts +9 -0
  624. package/dist/components/time-field/index.d.ts +23 -5
  625. package/dist/components/time-field/index.js +21 -4
  626. package/dist/components/time-field/index.js.map +1 -1
  627. package/dist/components/time-field/types.d.ts +9 -0
  628. package/dist/components/tooltip/context.d.ts +3 -2
  629. package/dist/components/tooltip/context.js +1 -0
  630. package/dist/components/tooltip/context.js.map +1 -1
  631. package/dist/components/tooltip/index.d.ts +15 -30
  632. package/dist/components/tooltip/index.js +13 -28
  633. package/dist/components/tooltip/index.js.map +1 -1
  634. package/dist/components/tooltip/trigger.d.ts +22 -2
  635. package/dist/components/tooltip/trigger.js +19 -0
  636. package/dist/components/tooltip/trigger.js.map +1 -1
  637. package/dist/components/tooltip/types.d.ts +7 -0
  638. package/dist/components/tree/context.d.ts +5 -9
  639. package/dist/components/tree/context.js +2 -6
  640. package/dist/components/tree/context.js.map +1 -1
  641. package/dist/components/tree/index.d.ts +30 -8
  642. package/dist/components/tree/index.js +28 -6
  643. package/dist/components/tree/index.js.map +1 -1
  644. package/dist/components/tree/item-actions.d.ts +19 -4
  645. package/dist/components/tree/item-actions.js +16 -2
  646. package/dist/components/tree/item-actions.js.map +1 -1
  647. package/dist/components/tree/item-content.d.ts +18 -4
  648. package/dist/components/tree/item-content.js +20 -3
  649. package/dist/components/tree/item-content.js.map +1 -1
  650. package/dist/components/tree/item-description.d.ts +15 -4
  651. package/dist/components/tree/item-description.js +13 -2
  652. package/dist/components/tree/item-description.js.map +1 -1
  653. package/dist/components/tree/item-label.d.ts +15 -4
  654. package/dist/components/tree/item-label.js +13 -2
  655. package/dist/components/tree/item-label.js.map +1 -1
  656. package/dist/components/tree/item-prefix-icon.d.ts +15 -4
  657. package/dist/components/tree/item-prefix-icon.js +13 -2
  658. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  659. package/dist/components/tree/item.d.ts +24 -4
  660. package/dist/components/tree/item.js +21 -2
  661. package/dist/components/tree/item.js.map +1 -1
  662. package/dist/components/tree/lines.d.ts +10 -2
  663. package/dist/components/tree/lines.js +8 -0
  664. package/dist/components/tree/lines.js.map +1 -1
  665. package/dist/components/tree/types.d.ts +26 -0
  666. package/dist/components/view-stack/context.d.ts +20 -9
  667. package/dist/components/view-stack/context.js +18 -7
  668. package/dist/components/view-stack/context.js.map +1 -1
  669. package/dist/components/view-stack/events.d.ts +2 -0
  670. package/dist/components/view-stack/events.js +2 -0
  671. package/dist/components/view-stack/events.js.map +1 -1
  672. package/dist/components/view-stack/index.d.ts +16 -24
  673. package/dist/components/view-stack/index.js +14 -22
  674. package/dist/components/view-stack/index.js.map +1 -1
  675. package/dist/components/view-stack/trigger.d.ts +26 -4
  676. package/dist/components/view-stack/trigger.js +23 -2
  677. package/dist/components/view-stack/trigger.js.map +1 -1
  678. package/dist/components/view-stack/types.d.ts +29 -0
  679. package/dist/components/view-stack/view.d.ts +22 -2
  680. package/dist/components/view-stack/view.js +19 -0
  681. package/dist/components/view-stack/view.js.map +1 -1
  682. package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +44 -0
  683. package/dist/hooks/coordinate-field/use-coordinate-copy.js +35 -0
  684. package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -1
  685. package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +69 -0
  686. package/dist/hooks/coordinate-field/use-coordinate-field-state.js +50 -0
  687. package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
  688. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +61 -0
  689. package/dist/hooks/coordinate-field/use-coordinate-field.js +47 -0
  690. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
  691. package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +51 -0
  692. package/dist/hooks/coordinate-field/use-coordinate-focus.js +39 -0
  693. package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -1
  694. package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +63 -0
  695. package/dist/hooks/coordinate-field/use-coordinate-paste.js +51 -0
  696. package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
  697. package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +32 -0
  698. package/dist/hooks/coordinate-field/use-timeout-cleanup.js +30 -0
  699. package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -1
  700. package/dist/hooks/use-frame-delay/index.d.ts +5 -0
  701. package/dist/hooks/use-frame-delay/index.js +5 -0
  702. package/dist/hooks/use-frame-delay/index.js.map +1 -1
  703. package/dist/hooks/use-tree/actions/index.d.ts +4 -2
  704. package/dist/hooks/use-tree/actions/index.js +4 -2
  705. package/dist/hooks/use-tree/actions/index.js.map +1 -1
  706. package/dist/hooks/use-tree/state/index.d.ts +7 -0
  707. package/dist/hooks/use-tree/state/index.js +7 -0
  708. package/dist/hooks/use-tree/state/index.js.map +1 -1
  709. package/dist/hooks/use-tree/types.d.ts +22 -0
  710. package/dist/index.d.ts +4 -4
  711. package/dist/index.js +1 -1
  712. package/dist/lib/types.d.ts +17 -0
  713. package/dist/lib/utils.d.ts +15 -0
  714. package/dist/lib/utils.js +15 -0
  715. package/dist/lib/utils.js.map +1 -1
  716. package/dist/providers/portal.d.ts +11 -2
  717. package/dist/providers/portal.js +9 -0
  718. package/dist/providers/portal.js.map +1 -1
  719. package/dist/providers/theme-provider.d.ts +18 -2
  720. package/dist/providers/theme-provider.js +15 -0
  721. package/dist/providers/theme-provider.js.map +1 -1
  722. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaSlider","AriaSliderTrack","TooltipTrigger","Tooltip"],"sources":["../../../src/components/slider/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n type CSSProperties,\n Fragment,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n Slider as AriaSlider,\n SliderTrack as AriaSliderTrack,\n composeRenderProps,\n Input,\n Label,\n SliderThumb,\n Text,\n} from 'react-aria-components';\nimport { Tooltip } from '../tooltip';\nimport { TooltipTrigger } from '../tooltip/trigger';\nimport styles from './styles.module.css';\nimport type { SliderMarker, SliderMarkersConfig, SliderProps } from './types';\n\nconst DEBOUNCE_MS = 500;\n\n/**\n * SliderInput - Internal component for debounced numeric input\n */\nfunction SliderInput({\n className,\n value,\n min,\n max,\n disabled,\n onChange,\n}: {\n className?: string;\n value: number;\n min: number;\n max: number;\n disabled?: boolean;\n onChange: (value: number) => void;\n}) {\n const [localValue, setLocalValue] = useState(String(value));\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n // Sync local value when external value changes (e.g., from slider drag)\n useEffect(() => {\n setLocalValue(String(value));\n }, [value]);\n\n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n const commitValue = (inputValue: string) => {\n const parsed = Number.parseFloat(inputValue);\n if (Number.isNaN(parsed)) {\n // Reset to min if invalid\n setLocalValue(String(min));\n onChange(min);\n } else {\n // Clamp to valid range\n const clamped = Math.min(Math.max(parsed, min), max);\n setLocalValue(String(clamped));\n onChange(clamped);\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n setLocalValue(newValue);\n\n // Clear existing timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n // Debounce the commit\n timeoutRef.current = setTimeout(() => {\n commitValue(newValue);\n }, DEBOUNCE_MS);\n };\n\n const handleBlur = () => {\n // Clear pending timeout and commit immediately\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n commitValue(localValue);\n };\n\n return (\n <Input\n className={className}\n value={localValue}\n disabled={disabled}\n data-disabled={disabled || undefined}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n );\n}\n\n/**\n * Normalizes the markers configuration into a consistent sorted array format\n */\nfunction normalizeMarkers(\n markersConfig: SliderMarkersConfig | undefined,\n min: number,\n max: number,\n): SliderMarker[] {\n if (markersConfig === undefined) {\n return [];\n }\n\n // Number of evenly spaced markers\n if (typeof markersConfig === 'number') {\n if (markersConfig < 2) {\n return [];\n }\n const step = (max - min) / (markersConfig - 1);\n return Array.from({ length: markersConfig }, (_, i) => ({\n value: min + step * i,\n }));\n }\n\n // Array of numbers or marker objects - sort by value\n return markersConfig\n .map((item) => (typeof item === 'number' ? { value: item } : item))\n .sort((a, b) => a.value - b.value);\n}\n\n/**\n * Snaps a value to the nearest marker (curried for use with map)\n * Assumes markers are sorted by value for early exit optimization\n */\nfunction snapToNearestMarker(markers: SliderMarker[]) {\n return (value: number): number => {\n const firstMarker = markers[0];\n if (!firstMarker) {\n return value;\n }\n\n let nearestValue = firstMarker.value;\n let minDistance = Number.POSITIVE_INFINITY;\n\n for (const marker of markers) {\n const distance = Math.abs(value - marker.value);\n if (distance < minDistance) {\n minDistance = distance;\n nearestValue = marker.value;\n } else {\n // Since markers are sorted, if distance increases we've passed the nearest\n break;\n }\n }\n\n return nearestValue;\n };\n}\n\n/**\n * Checks if a marker with a label exists at the given value\n */\nfunction hasLabeledMarkerAtValue(\n markers: SliderMarker[],\n value: number,\n): boolean {\n return markers.some(\n (marker) =>\n marker.value === value &&\n marker.label !== undefined &&\n marker.label !== '',\n );\n}\n\n/**\n * Normalizes value to array format\n */\nfunction normalizeValue(\n value: number | number[] | undefined,\n): number[] | undefined {\n if (value === undefined) {\n return undefined;\n }\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * Slider - An interactive range input component for numeric value selection\n *\n * Provides accessible slider functionality with optional input field integration,\n * flexible layouts, and comprehensive keyboard and mouse interaction support.\n * Perfect for settings, filters, or any numeric input requiring visual feedback.\n *\n * @example\n * // Basic slider\n * <Slider label=\"Volume\" defaultValue={50} />\n *\n * @example\n * // Slider with input field\n * <Slider label=\"Opacity\" defaultValue={50} showInput />\n *\n * @example\n * // Slider with labeled markers\n * <Slider\n * label=\"Quality\"\n * markers={[\n * { value: 0, label: 'Low' },\n * { value: 50, label: 'Medium' },\n * { value: 100, label: 'High' },\n * ]}\n * showMarkerLabels\n * />\n *\n * @example\n * // Slider that snaps to marker values only\n * <Slider\n * label=\"Rating\"\n * markers={[0, 25, 50, 75, 100]}\n * snapToMarkers\n * />\n */\nexport function Slider({\n classNames,\n defaultValue,\n label: labelProp,\n layout = 'grid',\n markers: markersProp,\n maxValue: maxValueProp = 100,\n minValue: minValueProp = 0,\n onChange,\n onChangeEnd,\n orientation = 'horizontal',\n showInput,\n showLabel = true,\n showMarkerLabels = false,\n showValueLabels = true,\n snapToMarkers = false,\n step: stepProp,\n value: valueProp,\n ...rest\n}: SliderProps) {\n const normalizedMarkers = useMemo(\n () => normalizeMarkers(markersProp, minValueProp, maxValueProp),\n [markersProp, minValueProp, maxValueProp],\n );\n\n const shouldSnap = snapToMarkers && normalizedMarkers.length > 0;\n\n // Normalize default value, applying snap if needed\n const normalizedDefaultValue = useMemo(() => {\n const normalized = normalizeValue(defaultValue);\n if (shouldSnap && normalized) {\n return normalized.map(snapToNearestMarker(normalizedMarkers));\n }\n return normalized ?? [minValueProp];\n }, [defaultValue, shouldSnap, normalizedMarkers, minValueProp]);\n\n // Use controlled state for value management\n const [value, setValue] = useControlledState(\n normalizeValue(valueProp),\n normalizedDefaultValue,\n onChange,\n );\n\n // Memoize marker percent calculations\n const markerPercents = useMemo(() => {\n const percents = new Map<number, number>();\n const range = maxValueProp - minValueProp;\n for (const marker of normalizedMarkers) {\n percents.set(marker.value, ((marker.value - minValueProp) / range) * 100);\n }\n return percents;\n }, [normalizedMarkers, minValueProp, maxValueProp]);\n\n // Determine if min/max labels should be hidden\n const hideMinValue =\n !showValueLabels ||\n (showMarkerLabels &&\n hasLabeledMarkerAtValue(normalizedMarkers, minValueProp));\n const hideMaxValue =\n !showValueLabels ||\n (showMarkerLabels &&\n hasLabeledMarkerAtValue(normalizedMarkers, maxValueProp));\n\n // Handle onChange - snap values when snapToMarkers is enabled\n const handleChange = (values: number[]) => {\n if (shouldSnap) {\n setValue(values.map(snapToNearestMarker(normalizedMarkers)));\n } else {\n setValue(values);\n }\n };\n\n // Handle onChangeEnd\n const handleChangeEnd = (values: number[]) => {\n if (shouldSnap) {\n onChangeEnd?.(values.map(snapToNearestMarker(normalizedMarkers)));\n } else {\n onChangeEnd?.(values);\n }\n };\n\n return (\n <AriaSlider\n {...rest}\n className={composeRenderProps(classNames?.slider, (className) =>\n clsx('group/slider', styles.slider, className),\n )}\n maxValue={maxValueProp}\n minValue={minValueProp}\n onChange={handleChange}\n onChangeEnd={handleChangeEnd}\n orientation={orientation}\n step={stepProp}\n value={value}\n aria-label={showLabel ? undefined : labelProp}\n data-layout={layout}\n >\n {({ state }) => (\n <>\n {showLabel && (\n <Label className={clsx(styles.label, classNames?.label)}>\n {labelProp}\n </Label>\n )}\n {showInput && (\n <div className={clsx(styles.inputs, classNames?.inputs)}>\n {state.values.map((val, index) => (\n <SliderInput\n key={`number-field-${index === 0 ? 'min' : 'max'}`}\n className={clsx(styles.input, classNames?.input)}\n value={val}\n min={minValueProp}\n max={maxValueProp}\n disabled={state.isDisabled}\n onChange={(newValue) => state.setThumbValue(index, newValue)}\n />\n ))}\n </div>\n )}\n <AriaSliderTrack\n className={composeRenderProps(classNames?.track, (className) =>\n clsx(styles.track, className),\n )}\n >\n <div\n className={clsx(\n styles.trackBackground,\n classNames?.trackBackground,\n )}\n />\n {/* Markers */}\n {normalizedMarkers.length > 0 && (\n <div className={clsx(styles.markers, classNames?.markers)}>\n {normalizedMarkers.map((marker) => (\n <div\n key={`marker-${marker.value}`}\n className={clsx(styles.marker, classNames?.marker)}\n data-percent={markerPercents.get(marker.value)}\n aria-hidden='true'\n >\n <div\n className={clsx(styles.markerDot, classNames?.markerDot)}\n />\n {showMarkerLabels && marker.label && (\n <span\n className={clsx(\n styles.markerLabel,\n classNames?.markerLabel,\n )}\n >\n {marker.label}\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n {state.values.map((_, index) => (\n <Fragment key={`slider-${index === 0 ? 'min' : 'max'}`}>\n <div\n className={clsx(styles.trackValue, classNames?.trackValue)}\n style={\n {\n '--track-value-start':\n state.values.length === 1\n ? 0\n : state.getThumbPercent(0),\n '--track-value-end': state.getThumbPercent(\n state.values.length === 1 ? 0 : 1,\n ),\n } as CSSProperties\n }\n />\n <TooltipTrigger\n isDisabled={showInput || state.isThumbDragging(index)}\n >\n <SliderThumb\n index={index}\n className={composeRenderProps(\n classNames?.thumb,\n (className) => clsx(styles.thumb, className),\n )}\n />\n <Tooltip placement='top'>\n {state.getThumbValue(index)}\n </Tooltip>\n </TooltipTrigger>\n </Fragment>\n ))}\n </AriaSliderTrack>\n <Text\n slot='min'\n className={clsx(styles.minValue, classNames?.minValue)}\n hidden={hideMinValue}\n >\n {minValueProp}\n </Text>\n <Text\n slot='max'\n className={clsx(styles.maxValue, classNames?.maxValue)}\n hidden={hideMaxValue}\n >\n {maxValueProp}\n </Text>\n </>\n )}\n </AriaSlider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["AriaSlider","AriaSliderTrack","TooltipTrigger","Tooltip"],"sources":["../../../src/components/slider/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n type CSSProperties,\n Fragment,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n Slider as AriaSlider,\n SliderTrack as AriaSliderTrack,\n composeRenderProps,\n Input,\n Label,\n SliderThumb,\n Text,\n} from 'react-aria-components';\nimport { Tooltip } from '../tooltip';\nimport { TooltipTrigger } from '../tooltip/trigger';\nimport styles from './styles.module.css';\nimport type { SliderMarker, SliderMarkersConfig, SliderProps } from './types';\n\nconst DEBOUNCE_MS = 500;\n\n/**\n * SliderInput - Internal component for debounced numeric input\n */\nfunction SliderInput({\n className,\n value,\n min,\n max,\n disabled,\n onChange,\n}: {\n className?: string;\n value: number;\n min: number;\n max: number;\n disabled?: boolean;\n onChange: (value: number) => void;\n}) {\n const [localValue, setLocalValue] = useState(String(value));\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n // Sync local value when external value changes (e.g., from slider drag)\n useEffect(() => {\n setLocalValue(String(value));\n }, [value]);\n\n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n const commitValue = (inputValue: string) => {\n const parsed = Number.parseFloat(inputValue);\n if (Number.isNaN(parsed)) {\n // Reset to min if invalid\n setLocalValue(String(min));\n onChange(min);\n } else {\n // Clamp to valid range\n const clamped = Math.min(Math.max(parsed, min), max);\n setLocalValue(String(clamped));\n onChange(clamped);\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n setLocalValue(newValue);\n\n // Clear existing timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n // Debounce the commit\n timeoutRef.current = setTimeout(() => {\n commitValue(newValue);\n }, DEBOUNCE_MS);\n };\n\n const handleBlur = () => {\n // Clear pending timeout and commit immediately\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n commitValue(localValue);\n };\n\n return (\n <Input\n className={className}\n value={localValue}\n disabled={disabled}\n data-disabled={disabled || undefined}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n );\n}\n\n/**\n * Normalizes the markers configuration into a consistent sorted array format\n */\nfunction normalizeMarkers(\n markersConfig: SliderMarkersConfig | undefined,\n min: number,\n max: number,\n): SliderMarker[] {\n if (markersConfig === undefined) {\n return [];\n }\n\n // Number of evenly spaced markers\n if (typeof markersConfig === 'number') {\n if (markersConfig < 2) {\n return [];\n }\n const step = (max - min) / (markersConfig - 1);\n return Array.from({ length: markersConfig }, (_, i) => ({\n value: min + step * i,\n }));\n }\n\n // Array of numbers or marker objects - sort by value\n return markersConfig\n .map((item) => (typeof item === 'number' ? { value: item } : item))\n .sort((a, b) => a.value - b.value);\n}\n\n/**\n * Snaps a value to the nearest marker (curried for use with map)\n * Assumes markers are sorted by value for early exit optimization\n */\nfunction snapToNearestMarker(markers: SliderMarker[]) {\n return (value: number): number => {\n const firstMarker = markers[0];\n if (!firstMarker) {\n return value;\n }\n\n let nearestValue = firstMarker.value;\n let minDistance = Number.POSITIVE_INFINITY;\n\n for (const marker of markers) {\n const distance = Math.abs(value - marker.value);\n if (distance < minDistance) {\n minDistance = distance;\n nearestValue = marker.value;\n } else {\n // Since markers are sorted, if distance increases we've passed the nearest\n break;\n }\n }\n\n return nearestValue;\n };\n}\n\n/**\n * Checks if a marker with a label exists at the given value\n */\nfunction hasLabeledMarkerAtValue(\n markers: SliderMarker[],\n value: number,\n): boolean {\n return markers.some(\n (marker) =>\n marker.value === value &&\n marker.label !== undefined &&\n marker.label !== '',\n );\n}\n\n/**\n * Normalizes value to array format\n */\nfunction normalizeValue(\n value: number | number[] | undefined,\n): number[] | undefined {\n if (value === undefined) {\n return undefined;\n }\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * Slider - Range input for numeric value selection\n *\n * Supports single values or ranges, optional input fields, markers, and snap-to-markers behavior.\n *\n * @param props - {@link SliderProps}\n * @param props.classNames - Custom CSS class names for slider elements.\n * @param props.defaultValue - Default value(s) for uncontrolled mode.\n * @param props.label - Label text for the slider.\n * @param props.layout - Layout variant for the slider.\n * @param props.markers - Marker configuration for discrete points.\n * @param props.maxValue - Maximum value of the slider range.\n * @param props.minValue - Minimum value of the slider range.\n * @param props.onChange - Callback when value changes.\n * @param props.onChangeEnd - Callback when user finishes dragging.\n * @param props.orientation - Slider orientation.\n * @param props.showInput - Whether to show numeric input fields.\n * @param props.showLabel - Whether to display the label.\n * @param props.showMarkerLabels - Whether to show labels on markers.\n * @param props.showValueLabels - Whether to show min/max value labels.\n * @param props.snapToMarkers - Whether to snap to marker values only.\n * @param props.step - Step increment for value changes.\n * @param props.value - Controlled value(s).\n * @returns The rendered Slider component.\n *\n * @example\n * ```tsx\n * <Slider\n * label=\"Volume\"\n * defaultValue={50}\n * minValue={0}\n * maxValue={100}\n * onChange={setVolume}\n * />\n * ```\n */\nexport function Slider({\n classNames,\n defaultValue,\n label: labelProp,\n layout = 'grid',\n markers: markersProp,\n maxValue: maxValueProp = 100,\n minValue: minValueProp = 0,\n onChange,\n onChangeEnd,\n orientation = 'horizontal',\n showInput,\n showLabel = true,\n showMarkerLabels = false,\n showValueLabels = true,\n snapToMarkers = false,\n step: stepProp,\n value: valueProp,\n ...rest\n}: SliderProps) {\n const normalizedMarkers = useMemo(\n () => normalizeMarkers(markersProp, minValueProp, maxValueProp),\n [markersProp, minValueProp, maxValueProp],\n );\n\n const shouldSnap = snapToMarkers && normalizedMarkers.length > 0;\n\n // Normalize default value, applying snap if needed\n const normalizedDefaultValue = useMemo(() => {\n const normalized = normalizeValue(defaultValue);\n if (shouldSnap && normalized) {\n return normalized.map(snapToNearestMarker(normalizedMarkers));\n }\n return normalized ?? [minValueProp];\n }, [defaultValue, shouldSnap, normalizedMarkers, minValueProp]);\n\n // Use controlled state for value management\n const [value, setValue] = useControlledState(\n normalizeValue(valueProp),\n normalizedDefaultValue,\n onChange,\n );\n\n // Memoize marker percent calculations\n const markerPercents = useMemo(() => {\n const percents = new Map<number, number>();\n const range = maxValueProp - minValueProp;\n for (const marker of normalizedMarkers) {\n percents.set(marker.value, ((marker.value - minValueProp) / range) * 100);\n }\n return percents;\n }, [normalizedMarkers, minValueProp, maxValueProp]);\n\n // Determine if min/max labels should be hidden\n const hideMinValue =\n !showValueLabels ||\n (showMarkerLabels &&\n hasLabeledMarkerAtValue(normalizedMarkers, minValueProp));\n const hideMaxValue =\n !showValueLabels ||\n (showMarkerLabels &&\n hasLabeledMarkerAtValue(normalizedMarkers, maxValueProp));\n\n // Handle onChange - snap values when snapToMarkers is enabled\n const handleChange = (values: number[]) => {\n if (shouldSnap) {\n setValue(values.map(snapToNearestMarker(normalizedMarkers)));\n } else {\n setValue(values);\n }\n };\n\n // Handle onChangeEnd\n const handleChangeEnd = (values: number[]) => {\n if (shouldSnap) {\n onChangeEnd?.(values.map(snapToNearestMarker(normalizedMarkers)));\n } else {\n onChangeEnd?.(values);\n }\n };\n\n return (\n <AriaSlider\n {...rest}\n className={composeRenderProps(classNames?.slider, (className) =>\n clsx('group/slider', styles.slider, className),\n )}\n maxValue={maxValueProp}\n minValue={minValueProp}\n onChange={handleChange}\n onChangeEnd={handleChangeEnd}\n orientation={orientation}\n step={stepProp}\n value={value}\n aria-label={showLabel ? undefined : labelProp}\n data-layout={layout}\n >\n {({ state }) => (\n <>\n {showLabel && (\n <Label className={clsx(styles.label, classNames?.label)}>\n {labelProp}\n </Label>\n )}\n {showInput && (\n <div className={clsx(styles.inputs, classNames?.inputs)}>\n {state.values.map((val, index) => (\n <SliderInput\n key={`number-field-${index === 0 ? 'min' : 'max'}`}\n className={clsx(styles.input, classNames?.input)}\n value={val}\n min={minValueProp}\n max={maxValueProp}\n disabled={state.isDisabled}\n onChange={(newValue) => state.setThumbValue(index, newValue)}\n />\n ))}\n </div>\n )}\n <AriaSliderTrack\n className={composeRenderProps(classNames?.track, (className) =>\n clsx(styles.track, className),\n )}\n >\n <div\n className={clsx(\n styles.trackBackground,\n classNames?.trackBackground,\n )}\n />\n {/* Markers */}\n {normalizedMarkers.length > 0 && (\n <div className={clsx(styles.markers, classNames?.markers)}>\n {normalizedMarkers.map((marker) => (\n <div\n key={`marker-${marker.value}`}\n className={clsx(styles.marker, classNames?.marker)}\n data-percent={markerPercents.get(marker.value)}\n aria-hidden='true'\n >\n <div\n className={clsx(styles.markerDot, classNames?.markerDot)}\n />\n {showMarkerLabels && marker.label && (\n <span\n className={clsx(\n styles.markerLabel,\n classNames?.markerLabel,\n )}\n >\n {marker.label}\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n {state.values.map((_, index) => (\n <Fragment key={`slider-${index === 0 ? 'min' : 'max'}`}>\n <div\n className={clsx(styles.trackValue, classNames?.trackValue)}\n style={\n {\n '--track-value-start':\n state.values.length === 1\n ? 0\n : state.getThumbPercent(0),\n '--track-value-end': state.getThumbPercent(\n state.values.length === 1 ? 0 : 1,\n ),\n } as CSSProperties\n }\n />\n <TooltipTrigger\n isDisabled={showInput || state.isThumbDragging(index)}\n >\n <SliderThumb\n index={index}\n className={composeRenderProps(\n classNames?.thumb,\n (className) => clsx(styles.thumb, className),\n )}\n />\n <Tooltip placement='top'>\n {state.getThumbValue(index)}\n </Tooltip>\n </TooltipTrigger>\n </Fragment>\n ))}\n </AriaSliderTrack>\n <Text\n slot='min'\n className={clsx(styles.minValue, classNames?.minValue)}\n hidden={hideMinValue}\n >\n {minValueProp}\n </Text>\n <Text\n slot='max'\n className={clsx(styles.maxValue, classNames?.maxValue)}\n hidden={hideMaxValue}\n >\n {maxValueProp}\n </Text>\n </>\n )}\n </AriaSlider>\n );\n}\n"],"mappings":"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"}
@@ -13,12 +13,27 @@
13
13
  import { LabelProps, SliderProps as SliderProps$1, SliderThumbProps, SliderTrackProps } from "react-aria-components";
14
14
 
15
15
  //#region src/components/slider/types.d.ts
16
+ /**
17
+ * Marker configuration for a single slider marker.
18
+ */
16
19
  type SliderMarker = {
20
+ /** Numeric value where the marker is placed. */
17
21
  value: number;
22
+ /** Optional label displayed at the marker position. */
18
23
  label?: string;
19
24
  };
25
+ /**
26
+ * Configuration for slider markers.
27
+ *
28
+ * Can be a number (evenly spaced markers including min/max),
29
+ * an array of SliderMarker objects, or an array of numeric values.
30
+ */
20
31
  type SliderMarkersConfig = number | SliderMarker[] | number[];
32
+ /**
33
+ * Props for the Slider component.
34
+ */
21
35
  type SliderProps = Omit<SliderProps$1, 'children' | 'className'> & {
36
+ /** Custom CSS class names for slider elements. */
22
37
  classNames?: {
23
38
  slider?: SliderProps$1['className'];
24
39
  label?: LabelProps['className'];
@@ -35,7 +50,9 @@ type SliderProps = Omit<SliderProps$1, 'children' | 'className'> & {
35
50
  markerDot?: string;
36
51
  markerLabel?: string;
37
52
  };
53
+ /** Label text for the slider. */
38
54
  label: string;
55
+ /** Layout variant for the slider. */
39
56
  layout?: 'grid' | 'stack';
40
57
  /**
41
58
  * Configure discrete marker points on the slider track.
@@ -48,6 +65,7 @@ type SliderProps = Omit<SliderProps$1, 'children' | 'className'> & {
48
65
  * Whether to display numeric input fields for direct value entry
49
66
  */
50
67
  showInput?: boolean;
68
+ /** Whether to display the label. */
51
69
  showLabel?: boolean;
52
70
  /**
53
71
  * Whether to show labels on markers (only applies when markers have labels)
@@ -13,26 +13,32 @@
13
13
  import { ProviderProps } from "../../lib/types.js";
14
14
  import { SwitchProps as SwitchProps$1 } from "./types.js";
15
15
  import "client-only";
16
- import * as react41 from "react";
16
+ import * as react35 from "react";
17
17
  import { ContextValue } from "react-aria-components";
18
- import * as react_jsx_runtime160 from "react/jsx-runtime";
18
+ import * as react_jsx_runtime156 from "react/jsx-runtime";
19
19
 
20
20
  //#region src/components/switch/context.d.ts
21
+ /** Context for sharing props across Switch components */
22
+ declare const SwitchContext: react35.Context<ContextValue<SwitchProps$1, HTMLLabelElement>>;
21
23
  /**
22
- * Context for Switch component
24
+ * Sets default props for all Switch components within.
23
25
  *
24
- * Provides context for Switch component to share props
25
- */
26
- declare const SwitchContext: react41.Context<ContextValue<SwitchProps$1, HTMLLabelElement>>;
27
- /**
28
- * Provider for Switch component
26
+ * @example
27
+ * ```tsx
28
+ * <SwitchProvider isDisabled={true}>
29
+ * <Switch>Option 1</Switch>
30
+ * <Switch>Option 2</Switch>
31
+ * </SwitchProvider>
32
+ * ```
29
33
  *
30
- * Allows setting default props for all Switch components within
34
+ * @param props - ProviderProps with SwitchProps.
35
+ * @param props.children - Child components that receive the context.
36
+ * @returns The SwitchContext provider wrapping children.
31
37
  */
32
38
  declare function SwitchProvider({
33
39
  children,
34
40
  ...props
35
- }: ProviderProps<SwitchProps$1>): react_jsx_runtime160.JSX.Element;
41
+ }: ProviderProps<SwitchProps$1>): react_jsx_runtime156.JSX.Element;
36
42
  //#endregion
37
43
  export { SwitchContext, SwitchProvider };
38
44
  //# sourceMappingURL=context.d.ts.map
@@ -18,16 +18,22 @@ import { createContext } from "react";
18
18
  import { jsx } from "react/jsx-runtime";
19
19
 
20
20
  //#region src/components/switch/context.tsx
21
- /**
22
- * Context for Switch component
23
- *
24
- * Provides context for Switch component to share props
25
- */
21
+ /** Context for sharing props across Switch components */
26
22
  const SwitchContext = createContext(null);
27
23
  /**
28
- * Provider for Switch component
24
+ * Sets default props for all Switch components within.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <SwitchProvider isDisabled={true}>
29
+ * <Switch>Option 1</Switch>
30
+ * <Switch>Option 2</Switch>
31
+ * </SwitchProvider>
32
+ * ```
29
33
  *
30
- * Allows setting default props for all Switch components within
34
+ * @param props - ProviderProps with SwitchProps.
35
+ * @param props.children - Child components that receive the context.
36
+ * @returns The SwitchContext provider wrapping children.
31
37
  */
32
38
  function SwitchProvider({ children, ...props }) {
33
39
  return /* @__PURE__ */ jsx(SwitchContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/switch/context.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { SwitchProps } from './types';\n\n/**\n * Context for Switch component\n *\n * Provides context for Switch component to share props\n */\nexport const SwitchContext =\n createContext<ContextValue<SwitchProps, HTMLLabelElement>>(null);\n\n/**\n * Provider for Switch component\n *\n * Allows setting default props for all Switch components within\n */\nexport function SwitchProvider({\n children,\n ...props\n}: ProviderProps<SwitchProps>) {\n return (\n <SwitchContext.Provider value={props}>{children}</SwitchContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,gBACX,cAA2D,KAAK;;;;;;AAOlE,SAAgB,eAAe,EAC7B,UACA,GAAG,SAC0B;AAC7B,QACE,oBAAC,cAAc;EAAS,OAAO;EAAQ;GAAkC"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/switch/context.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { createContext } from 'react';\nimport type { ContextValue } from 'react-aria-components';\nimport type { ProviderProps } from '@/lib/types';\nimport type { SwitchProps } from './types';\n\n/** Context for sharing props across Switch components */\nexport const SwitchContext =\n createContext<ContextValue<SwitchProps, HTMLLabelElement>>(null);\n\n/**\n * Sets default props for all Switch components within.\n *\n * @example\n * ```tsx\n * <SwitchProvider isDisabled={true}>\n * <Switch>Option 1</Switch>\n * <Switch>Option 2</Switch>\n * </SwitchProvider>\n * ```\n *\n * @param props - ProviderProps with SwitchProps.\n * @param props.children - Child components that receive the context.\n * @returns The SwitchContext provider wrapping children.\n */\nexport function SwitchProvider({\n children,\n ...props\n}: ProviderProps<SwitchProps>) {\n return (\n <SwitchContext.Provider value={props}>{children}</SwitchContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoBA,MAAa,gBACX,cAA2D,KAAK;;;;;;;;;;;;;;;;AAiBlE,SAAgB,eAAe,EAC7B,UACA,GAAG,SAC0B;AAC7B,QACE,oBAAC,cAAc;EAAS,OAAO;EAAQ;GAAkC"}
@@ -12,50 +12,33 @@
12
12
 
13
13
  import { SwitchProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime162 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime158 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/switch/index.d.ts
18
18
 
19
19
  /**
20
- * Switch - A toggle control for binary state changes
20
+ * Switch - Toggle control for binary on/off states
21
21
  *
22
- * Provides an accessible toggle switch component for enabling/disabling features
23
- * or settings. Offers clear visual feedback for on/off states with smooth transitions
24
- * and proper keyboard and screen reader support.
22
+ * Provides visual feedback with smooth transitions and accessible keyboard/screen reader support.
25
23
  *
26
- * @example
27
- * // Basic switch
28
- * <Switch>Enable notifications</Switch>
24
+ * @param props - {@link SwitchProps}
25
+ * @param props.ref - Ref to the switch label element.
26
+ * @param props.children - Label content for the switch.
27
+ * @param props.classNames - Custom CSS class names for switch elements.
28
+ * @param props.labelPosition - Position of the label relative to the switch control.
29
+ * @returns The rendered Switch component.
29
30
  *
30
31
  * @example
31
- * // Controlled switch
32
- * <Switch
33
- * isSelected={isEnabled}
34
- * onChange={setIsEnabled}
35
- * >
36
- * Dark mode
32
+ * ```tsx
33
+ * <Switch isSelected={enabled} onChange={setEnabled}>
34
+ * Enable notifications
37
35
  * </Switch>
38
- *
39
- * @example
40
- * // Switch with default state
41
- * <Switch defaultSelected>
42
- * Auto-save documents
43
- * </Switch>
44
- *
45
- * @example
46
- * // Disabled switch
47
- * <Switch isDisabled>
48
- * Premium feature (upgrade required)
49
- * </Switch>
50
- *
51
- * @example
52
- * // Switch without label (icon-only)
53
- * <Switch aria-label="Toggle sidebar" />
36
+ * ```
54
37
  */
55
38
  declare function Switch({
56
39
  ref,
57
40
  ...props
58
- }: SwitchProps): react_jsx_runtime162.JSX.Element;
41
+ }: SwitchProps): react_jsx_runtime158.JSX.Element;
59
42
  //#endregion
60
43
  export { Switch };
61
44
  //# sourceMappingURL=index.d.ts.map
@@ -22,40 +22,23 @@ import styles from "./styles.module.css";
22
22
 
23
23
  //#region src/components/switch/index.tsx
24
24
  /**
25
- * Switch - A toggle control for binary state changes
25
+ * Switch - Toggle control for binary on/off states
26
26
  *
27
- * Provides an accessible toggle switch component for enabling/disabling features
28
- * or settings. Offers clear visual feedback for on/off states with smooth transitions
29
- * and proper keyboard and screen reader support.
27
+ * Provides visual feedback with smooth transitions and accessible keyboard/screen reader support.
30
28
  *
31
- * @example
32
- * // Basic switch
33
- * <Switch>Enable notifications</Switch>
29
+ * @param props - {@link SwitchProps}
30
+ * @param props.ref - Ref to the switch label element.
31
+ * @param props.children - Label content for the switch.
32
+ * @param props.classNames - Custom CSS class names for switch elements.
33
+ * @param props.labelPosition - Position of the label relative to the switch control.
34
+ * @returns The rendered Switch component.
34
35
  *
35
36
  * @example
36
- * // Controlled switch
37
- * <Switch
38
- * isSelected={isEnabled}
39
- * onChange={setIsEnabled}
40
- * >
41
- * Dark mode
37
+ * ```tsx
38
+ * <Switch isSelected={enabled} onChange={setEnabled}>
39
+ * Enable notifications
42
40
  * </Switch>
43
- *
44
- * @example
45
- * // Switch with default state
46
- * <Switch defaultSelected>
47
- * Auto-save documents
48
- * </Switch>
49
- *
50
- * @example
51
- * // Disabled switch
52
- * <Switch isDisabled>
53
- * Premium feature (upgrade required)
54
- * </Switch>
55
- *
56
- * @example
57
- * // Switch without label (icon-only)
58
- * <Switch aria-label="Toggle sidebar" />
41
+ * ```
59
42
  */
60
43
  function Switch({ ref, ...props }) {
61
44
  [props, ref] = useContextProps(props, ref ?? null, SwitchContext);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaSwitch","children"],"sources":["../../../src/components/switch/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n Switch as AriaSwitch,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { SwitchContext } from './context';\nimport styles from './styles.module.css';\nimport type { SwitchProps } from './types';\n\n/**\n * Switch - A toggle control for binary state changes\n *\n * Provides an accessible toggle switch component for enabling/disabling features\n * or settings. Offers clear visual feedback for on/off states with smooth transitions\n * and proper keyboard and screen reader support.\n *\n * @example\n * // Basic switch\n * <Switch>Enable notifications</Switch>\n *\n * @example\n * // Controlled switch\n * <Switch\n * isSelected={isEnabled}\n * onChange={setIsEnabled}\n * >\n * Dark mode\n * </Switch>\n *\n * @example\n * // Switch with default state\n * <Switch defaultSelected>\n * Auto-save documents\n * </Switch>\n *\n * @example\n * // Disabled switch\n * <Switch isDisabled>\n * Premium feature (upgrade required)\n * </Switch>\n *\n * @example\n * // Switch without label (icon-only)\n * <Switch aria-label=\"Toggle sidebar\" />\n */\nexport function Switch({ ref, ...props }: SwitchProps) {\n [props, ref] = useContextProps(props, ref ?? null, SwitchContext);\n\n const { children, classNames, labelPosition = 'end', ...rest } = props;\n\n return (\n <AriaSwitch\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.switch, (className) =>\n clsx('group/switch', styles.switch, styles[labelPosition], className),\n )}\n >\n {composeRenderProps(children, (children) => (\n <>\n <span className={clsx(styles.control, classNames?.control)} />\n {children != null && (\n <span className={clsx(styles.label, classNames?.label)}>\n {children}\n </span>\n )}\n </>\n ))}\n </AriaSwitch>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,SAAgB,OAAO,EAAE,KAAK,GAAG,SAAsB;AACrD,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,cAAc;CAEjE,MAAM,EAAE,UAAU,YAAY,gBAAgB,OAAO,GAAG,SAAS;AAEjE,QACE,oBAACA;EACC,GAAI;EACC;EACL,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,gBAAgB,OAAO,QAAQ,OAAO,gBAAgB,UAAU,CACtE;YAEA,mBAAmB,WAAW,eAC7B,4CACE,oBAAC,UAAK,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ,GAAI,EAC7DC,cAAY,QACX,oBAAC;GAAK,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;aACnDA;IACI,IAER,CACH;GACS"}
1
+ {"version":3,"file":"index.js","names":["AriaSwitch","children"],"sources":["../../../src/components/switch/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n Switch as AriaSwitch,\n composeRenderProps,\n useContextProps,\n} from 'react-aria-components';\nimport { SwitchContext } from './context';\nimport styles from './styles.module.css';\nimport type { SwitchProps } from './types';\n\n/**\n * Switch - Toggle control for binary on/off states\n *\n * Provides visual feedback with smooth transitions and accessible keyboard/screen reader support.\n *\n * @param props - {@link SwitchProps}\n * @param props.ref - Ref to the switch label element.\n * @param props.children - Label content for the switch.\n * @param props.classNames - Custom CSS class names for switch elements.\n * @param props.labelPosition - Position of the label relative to the switch control.\n * @returns The rendered Switch component.\n *\n * @example\n * ```tsx\n * <Switch isSelected={enabled} onChange={setEnabled}>\n * Enable notifications\n * </Switch>\n * ```\n */\nexport function Switch({ ref, ...props }: SwitchProps) {\n [props, ref] = useContextProps(props, ref ?? null, SwitchContext);\n\n const { children, classNames, labelPosition = 'end', ...rest } = props;\n\n return (\n <AriaSwitch\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.switch, (className) =>\n clsx('group/switch', styles.switch, styles[labelPosition], className),\n )}\n >\n {composeRenderProps(children, (children) => (\n <>\n <span className={clsx(styles.control, classNames?.control)} />\n {children != null && (\n <span className={clsx(styles.label, classNames?.label)}>\n {children}\n </span>\n )}\n </>\n ))}\n </AriaSwitch>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,SAAgB,OAAO,EAAE,KAAK,GAAG,SAAsB;AACrD,EAAC,OAAO,OAAO,gBAAgB,OAAO,OAAO,MAAM,cAAc;CAEjE,MAAM,EAAE,UAAU,YAAY,gBAAgB,OAAO,GAAG,SAAS;AAEjE,QACE,oBAACA;EACC,GAAI;EACC;EACL,WAAW,mBAAmB,YAAY,SAAS,cACjD,KAAK,gBAAgB,OAAO,QAAQ,OAAO,gBAAgB,UAAU,CACtE;YAEA,mBAAmB,WAAW,eAC7B,4CACE,oBAAC,UAAK,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ,GAAI,EAC7DC,cAAY,QACX,oBAAC;GAAK,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;aACnDA;IACI,IAER,CACH;GACS"}
@@ -14,12 +14,17 @@ import { RefAttributes } from "react";
14
14
  import { SwitchProps as SwitchProps$1 } from "react-aria-components";
15
15
 
16
16
  //#region src/components/switch/types.d.ts
17
+ /**
18
+ * Props for the Switch component.
19
+ */
17
20
  type SwitchProps = Omit<SwitchProps$1, 'className'> & RefAttributes<HTMLLabelElement> & {
21
+ /** Custom CSS class names for switch elements. */
18
22
  classNames?: {
19
23
  switch?: SwitchProps$1['className'];
20
24
  control?: string;
21
25
  label?: string;
22
26
  };
27
+ /** Position of the label relative to the switch control. */
23
28
  labelPosition?: 'start' | 'end';
24
29
  };
25
30
  //#endregion
@@ -11,16 +11,35 @@
11
11
  */
12
12
 
13
13
  import { TableBodyProps } from "./types.js";
14
- import * as react_jsx_runtime163 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime145 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/table/body.d.ts
17
+
18
+ /**
19
+ * TableBody - Renders the table body section (`<tbody>`).
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <Table>
24
+ * <TableHeader headerGroups={table.getHeaderGroups()} />
25
+ * <TableBody rows={table.getRowModel().rows} />
26
+ * </Table>
27
+ * ```
28
+ *
29
+ * @param props - {@link TableBodyProps}
30
+ * @param props.children - Custom children content.
31
+ * @param props.className - CSS class for the tbody element.
32
+ * @param props.ref - Ref to the tbody element.
33
+ * @param props.rows - Array of TanStack table rows to render.
34
+ * @returns The rendered TableBody component.
35
+ */
17
36
  declare function TableBody<T>({
18
37
  children,
19
38
  className,
20
39
  ref,
21
40
  rows,
22
41
  ...rest
23
- }: TableBodyProps<T>): react_jsx_runtime163.JSX.Element;
42
+ }: TableBodyProps<T>): react_jsx_runtime145.JSX.Element;
24
43
  //#endregion
25
44
  export { TableBody };
26
45
  //# sourceMappingURL=body.d.ts.map
@@ -16,6 +16,24 @@ import { clsx } from "@accelint/design-foundation/lib/utils";
16
16
  import { jsx } from "react/jsx-runtime";
17
17
 
18
18
  //#region src/components/table/body.tsx
19
+ /**
20
+ * TableBody - Renders the table body section (`<tbody>`).
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Table>
25
+ * <TableHeader headerGroups={table.getHeaderGroups()} />
26
+ * <TableBody rows={table.getRowModel().rows} />
27
+ * </Table>
28
+ * ```
29
+ *
30
+ * @param props - {@link TableBodyProps}
31
+ * @param props.children - Custom children content.
32
+ * @param props.className - CSS class for the tbody element.
33
+ * @param props.ref - Ref to the tbody element.
34
+ * @param props.rows - Array of TanStack table rows to render.
35
+ * @returns The rendered TableBody component.
36
+ */
19
37
  function TableBody({ children, className, ref, rows, ...rest }) {
20
38
  return /* @__PURE__ */ jsx("tbody", {
21
39
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","names":[],"sources":["../../../src/components/table/body.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { TableRow } from './row';\nimport type { TableBodyProps } from './types';\n\nexport function TableBody<T>({\n children,\n className,\n ref,\n rows,\n ...rest\n}: TableBodyProps<T>) {\n return (\n <tbody {...rest} ref={ref} className={clsx('group/tbody', className)}>\n {children || rows?.map((row) => <TableRow key={row.id} row={row} />)}\n </tbody>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,SAAgB,UAAa,EAC3B,UACA,WACA,KACA,MACA,GAAG,QACiB;AACpB,QACE,oBAAC;EAAM,GAAI;EAAW;EAAK,WAAW,KAAK,eAAe,UAAU;YACjE,YAAY,MAAM,KAAK,QAAQ,oBAAC,YAA2B,OAAb,IAAI,GAAgB,CAAC;GAC9D"}
1
+ {"version":3,"file":"body.js","names":[],"sources":["../../../src/components/table/body.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { TableRow } from './row';\nimport type { TableBodyProps } from './types';\n\n/**\n * TableBody - Renders the table body section (`<tbody>`).\n *\n * @example\n * ```tsx\n * <Table>\n * <TableHeader headerGroups={table.getHeaderGroups()} />\n * <TableBody rows={table.getRowModel().rows} />\n * </Table>\n * ```\n *\n * @param props - {@link TableBodyProps}\n * @param props.children - Custom children content.\n * @param props.className - CSS class for the tbody element.\n * @param props.ref - Ref to the tbody element.\n * @param props.rows - Array of TanStack table rows to render.\n * @returns The rendered TableBody component.\n */\nexport function TableBody<T>({\n children,\n className,\n ref,\n rows,\n ...rest\n}: TableBodyProps<T>) {\n return (\n <tbody {...rest} ref={ref} className={clsx('group/tbody', className)}>\n {children || rows?.map((row) => <TableRow key={row.id} row={row} />)}\n </tbody>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,SAAgB,UAAa,EAC3B,UACA,WACA,KACA,MACA,GAAG,QACiB;AACpB,QACE,oBAAC;EAAM,GAAI;EAAW;EAAK,WAAW,KAAK,eAAe,UAAU;YACjE,YAAY,MAAM,KAAK,QAAQ,oBAAC,YAA2B,OAAb,IAAI,GAAgB,CAAC;GAC9D"}
@@ -11,16 +11,36 @@
11
11
  */
12
12
 
13
13
  import { TableCellProps } from "./types.js";
14
- import * as react_jsx_runtime164 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime147 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/table/cell.d.ts
17
+
18
+ /**
19
+ * TableCell - Data cell (`<td>`) within a table row.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <TableRow row={row}>
24
+ * {row.getAllCells().map(cell => (
25
+ * <TableCell key={cell.id} cell={cell} />
26
+ * ))}
27
+ * </TableRow>
28
+ * ```
29
+ *
30
+ * @param props - {@link TableCellProps}
31
+ * @param props.children - Custom children content.
32
+ * @param props.ref - Ref to the td element.
33
+ * @param props.className - CSS class for the td element.
34
+ * @param props.cell - TanStack table cell object.
35
+ * @returns The rendered TableCell component.
36
+ */
17
37
  declare function TableCell<T>({
18
38
  children,
19
39
  ref,
20
40
  className,
21
41
  cell,
22
42
  ...rest
23
- }: TableCellProps<T>): react_jsx_runtime164.JSX.Element;
43
+ }: TableCellProps<T>): react_jsx_runtime147.JSX.Element;
24
44
  //#endregion
25
45
  export { TableCell };
26
46
  //# sourceMappingURL=cell.d.ts.map
@@ -20,6 +20,25 @@ import { flexRender } from "@tanstack/react-table";
20
20
  import styles from "./styles.module.css";
21
21
 
22
22
  //#region src/components/table/cell.tsx
23
+ /**
24
+ * TableCell - Data cell (`<td>`) within a table row.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <TableRow row={row}>
29
+ * {row.getAllCells().map(cell => (
30
+ * <TableCell key={cell.id} cell={cell} />
31
+ * ))}
32
+ * </TableRow>
33
+ * ```
34
+ *
35
+ * @param props - {@link TableCellProps}
36
+ * @param props.children - Custom children content.
37
+ * @param props.ref - Ref to the td element.
38
+ * @param props.className - CSS class for the td element.
39
+ * @param props.cell - TanStack table cell object.
40
+ * @returns The rendered TableCell component.
41
+ */
23
42
  function TableCell({ children, ref, className, cell, ...rest }) {
24
43
  const { columnSelection, persistNumerals } = useContext(TableContext);
25
44
  const isNumeral = cell?.column.id === HeaderColumnAction.NUMERAL;
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","names":[],"sources":["../../../src/components/table/cell.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { flexRender } from '@tanstack/react-table';\nimport { useContext } from 'react';\nimport { HeaderColumnAction } from './constants/table';\nimport { TableContext } from './context';\nimport styles from './styles.module.css';\nimport type { TableCellProps } from './types';\n\nexport function TableCell<T>({\n children,\n ref,\n className,\n cell,\n ...rest\n}: TableCellProps<T>) {\n const { columnSelection, persistNumerals } = useContext(TableContext);\n const isNumeral = cell?.column.id === HeaderColumnAction.NUMERAL;\n const isSelected = cell?.column.id === columnSelection;\n const notPersistNums = isNumeral && !persistNumerals;\n\n return (\n <td\n {...rest}\n ref={ref}\n className={clsx(\n styles.cell,\n notPersistNums && styles.hideInRow,\n className,\n )}\n data-selected={isSelected || null}\n style={{ width: cell?.column.getSize() }}\n >\n {children ||\n (cell && flexRender(cell.column.columnDef.cell, cell.getContext()))}\n </td>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,SAAgB,UAAa,EAC3B,UACA,KACA,WACA,MACA,GAAG,QACiB;CACpB,MAAM,EAAE,iBAAiB,oBAAoB,WAAW,aAAa;CACrE,MAAM,YAAY,MAAM,OAAO,OAAO,mBAAmB;CACzD,MAAM,aAAa,MAAM,OAAO,OAAO;CACvC,MAAM,iBAAiB,aAAa,CAAC;AAErC,QACE,oBAAC;EACC,GAAI;EACC;EACL,WAAW,KACT,OAAO,MACP,kBAAkB,OAAO,WACzB,UACD;EACD,iBAAe,cAAc;EAC7B,OAAO,EAAE,OAAO,MAAM,OAAO,SAAS,EAAE;YAEvC,YACE,QAAQ,WAAW,KAAK,OAAO,UAAU,MAAM,KAAK,YAAY,CAAC;GACjE"}
1
+ {"version":3,"file":"cell.js","names":[],"sources":["../../../src/components/table/cell.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { flexRender } from '@tanstack/react-table';\nimport { useContext } from 'react';\nimport { HeaderColumnAction } from './constants/table';\nimport { TableContext } from './context';\nimport styles from './styles.module.css';\nimport type { TableCellProps } from './types';\n\n/**\n * TableCell - Data cell (`<td>`) within a table row.\n *\n * @example\n * ```tsx\n * <TableRow row={row}>\n * {row.getAllCells().map(cell => (\n * <TableCell key={cell.id} cell={cell} />\n * ))}\n * </TableRow>\n * ```\n *\n * @param props - {@link TableCellProps}\n * @param props.children - Custom children content.\n * @param props.ref - Ref to the td element.\n * @param props.className - CSS class for the td element.\n * @param props.cell - TanStack table cell object.\n * @returns The rendered TableCell component.\n */\nexport function TableCell<T>({\n children,\n ref,\n className,\n cell,\n ...rest\n}: TableCellProps<T>) {\n const { columnSelection, persistNumerals } = useContext(TableContext);\n const isNumeral = cell?.column.id === HeaderColumnAction.NUMERAL;\n const isSelected = cell?.column.id === columnSelection;\n const notPersistNums = isNumeral && !persistNumerals;\n\n return (\n <td\n {...rest}\n ref={ref}\n className={clsx(\n styles.cell,\n notPersistNums && styles.hideInRow,\n className,\n )}\n data-selected={isSelected || null}\n style={{ width: cell?.column.getSize() }}\n >\n {children ||\n (cell && flexRender(cell.column.columnDef.cell, cell.getContext()))}\n </td>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,SAAgB,UAAa,EAC3B,UACA,KACA,WACA,MACA,GAAG,QACiB;CACpB,MAAM,EAAE,iBAAiB,oBAAoB,WAAW,aAAa;CACrE,MAAM,YAAY,MAAM,OAAO,OAAO,mBAAmB;CACzD,MAAM,aAAa,MAAM,OAAO,OAAO;CACvC,MAAM,iBAAiB,aAAa,CAAC;AAErC,QACE,oBAAC;EACC,GAAI;EACC;EACL,WAAW,KACT,OAAO,MACP,kBAAkB,OAAO,WACzB,UACD;EACD,iBAAe,cAAc;EAC7B,OAAO,EAAE,OAAO,MAAM,OAAO,SAAS,EAAE;YAEvC,YACE,QAAQ,WAAW,KAAK,OAAO,UAAU,MAAM,KAAK,YAAY,CAAC;GACjE"}
@@ -13,18 +13,24 @@
13
13
  import { SafeEnum } from "@accelint/core";
14
14
 
15
15
  //#region src/components/table/constants/table.d.ts
16
+ /** Sort direction options for table columns. */
16
17
  declare const SortDirection: Readonly<{
17
18
  readonly ASC: "asc";
18
19
  readonly DESC: "desc";
19
20
  }>;
21
+ /** Special header column action types. */
20
22
  declare const HeaderColumnAction: Readonly<{
21
23
  readonly NUMERAL: "numeral";
22
24
  readonly KEBAB: "kebab";
23
25
  readonly SELECTION: "selection";
24
26
  }>;
27
+ /** Type representing a valid sort direction value. */
25
28
  type SortDirectionState = SafeEnum<typeof SortDirection>;
29
+ /** Array of valid sort direction values. */
26
30
  declare const sortDirectionValues: readonly ["desc" | "asc", ...("desc" | "asc")[]];
31
+ /** Type representing a valid header column action key. */
27
32
  type HeaderColumnActionKey = SafeEnum<typeof HeaderColumnAction>;
33
+ /** Array of valid header column action values. */
28
34
  declare const headerColumnActionValues: readonly ["numeral" | "kebab" | "selection", ...("numeral" | "kebab" | "selection")[]];
29
35
  //#endregion
30
36
  export { HeaderColumnAction, HeaderColumnActionKey, SortDirection, SortDirectionState, headerColumnActionValues, sortDirectionValues };
@@ -14,16 +14,20 @@
14
14
  import { getSafeEnumValues } from "@accelint/core";
15
15
 
16
16
  //#region src/components/table/constants/table.ts
17
+ /** Sort direction options for table columns. */
17
18
  const SortDirection = Object.freeze({
18
19
  ASC: "asc",
19
20
  DESC: "desc"
20
21
  });
22
+ /** Special header column action types. */
21
23
  const HeaderColumnAction = Object.freeze({
22
24
  NUMERAL: "numeral",
23
25
  KEBAB: "kebab",
24
26
  SELECTION: "selection"
25
27
  });
28
+ /** Array of valid sort direction values. */
26
29
  const sortDirectionValues = getSafeEnumValues(SortDirection);
30
+ /** Array of valid header column action values. */
27
31
  const headerColumnActionValues = getSafeEnumValues(HeaderColumnAction);
28
32
 
29
33
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","names":[],"sources":["../../../../src/components/table/constants/table.ts"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { getSafeEnumValues, type SafeEnum } from '@accelint/core';\n\nexport const SortDirection = Object.freeze({\n ASC: 'asc',\n DESC: 'desc',\n} as const);\n\nexport const HeaderColumnAction = Object.freeze({\n NUMERAL: 'numeral',\n KEBAB: 'kebab',\n SELECTION: 'selection',\n} as const);\n\nexport type SortDirectionState = SafeEnum<typeof SortDirection>;\nexport const sortDirectionValues = getSafeEnumValues(SortDirection);\n\nexport type HeaderColumnActionKey = SafeEnum<typeof HeaderColumnAction>;\nexport const headerColumnActionValues = getSafeEnumValues(HeaderColumnAction);\n"],"mappings":";;;;;;;;;;;;;;;;AAcA,MAAa,gBAAgB,OAAO,OAAO;CACzC,KAAK;CACL,MAAM;CACP,CAAU;AAEX,MAAa,qBAAqB,OAAO,OAAO;CAC9C,SAAS;CACT,OAAO;CACP,WAAW;CACZ,CAAU;AAGX,MAAa,sBAAsB,kBAAkB,cAAc;AAGnE,MAAa,2BAA2B,kBAAkB,mBAAmB"}
1
+ {"version":3,"file":"table.js","names":[],"sources":["../../../../src/components/table/constants/table.ts"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { getSafeEnumValues, type SafeEnum } from '@accelint/core';\n\n/** Sort direction options for table columns. */\nexport const SortDirection = Object.freeze({\n ASC: 'asc',\n DESC: 'desc',\n} as const);\n\n/** Special header column action types. */\nexport const HeaderColumnAction = Object.freeze({\n NUMERAL: 'numeral',\n KEBAB: 'kebab',\n SELECTION: 'selection',\n} as const);\n\n/** Type representing a valid sort direction value. */\nexport type SortDirectionState = SafeEnum<typeof SortDirection>;\n\n/** Array of valid sort direction values. */\nexport const sortDirectionValues = getSafeEnumValues(SortDirection);\n\n/** Type representing a valid header column action key. */\nexport type HeaderColumnActionKey = SafeEnum<typeof HeaderColumnAction>;\n\n/** Array of valid header column action values. */\nexport const headerColumnActionValues = getSafeEnumValues(HeaderColumnAction);\n"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAa,gBAAgB,OAAO,OAAO;CACzC,KAAK;CACL,MAAM;CACP,CAAU;;AAGX,MAAa,qBAAqB,OAAO,OAAO;CAC9C,SAAS;CACT,OAAO;CACP,WAAW;CACZ,CAAU;;AAMX,MAAa,sBAAsB,kBAAkB,cAAc;;AAMnE,MAAa,2BAA2B,kBAAkB,mBAAmB"}
@@ -11,10 +11,11 @@
11
11
  */
12
12
 
13
13
  import { TableContextValue } from "./types.js";
14
- import * as react42 from "react";
14
+ import * as react34 from "react";
15
15
 
16
16
  //#region src/components/table/context.d.ts
17
- declare const TableContext: react42.Context<TableContextValue>;
17
+ /** Context for sharing table configuration across subcomponents */
18
+ declare const TableContext: react34.Context<TableContextValue>;
18
19
  //#endregion
19
20
  export { TableContext };
20
21
  //# sourceMappingURL=context.d.ts.map
@@ -14,6 +14,7 @@
14
14
  import { createContext } from "react";
15
15
 
16
16
  //#region src/components/table/context.tsx
17
+ /** Context for sharing table configuration across subcomponents */
17
18
  const TableContext = createContext({
18
19
  moveColumnLeft: () => void 0,
19
20
  moveColumnRight: () => void 0,