@accelint/design-toolkit 9.2.0 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/README.md +15 -22
  2. package/catalog-info.yaml +4 -4
  3. package/dist/components/accordion/context.d.ts +6 -0
  4. package/dist/components/accordion/context.js +6 -0
  5. package/dist/components/accordion/context.js.map +1 -1
  6. package/dist/components/accordion/group.d.ts +37 -2
  7. package/dist/components/accordion/group.js +34 -0
  8. package/dist/components/accordion/group.js.map +1 -1
  9. package/dist/components/accordion/header.d.ts +27 -2
  10. package/dist/components/accordion/header.js +25 -1
  11. package/dist/components/accordion/header.js.map +1 -1
  12. package/dist/components/accordion/index.d.ts +18 -4
  13. package/dist/components/accordion/index.js +16 -2
  14. package/dist/components/accordion/index.js.map +1 -1
  15. package/dist/components/accordion/panel.d.ts +29 -2
  16. package/dist/components/accordion/panel.js +26 -0
  17. package/dist/components/accordion/panel.js.map +1 -1
  18. package/dist/components/accordion/trigger.d.ts +25 -2
  19. package/dist/components/accordion/trigger.js +23 -1
  20. package/dist/components/accordion/trigger.js.map +1 -1
  21. package/dist/components/accordion/types.d.ts +33 -0
  22. package/dist/components/action-bar/index.d.ts +35 -6
  23. package/dist/components/action-bar/index.js +33 -5
  24. package/dist/components/action-bar/index.js.map +1 -1
  25. package/dist/components/action-bar/styles.module.css +9 -1
  26. package/dist/components/action-bar/types.d.ts +8 -0
  27. package/dist/components/avatar/context.d.ts +22 -4
  28. package/dist/components/avatar/context.js +18 -0
  29. package/dist/components/avatar/context.js.map +1 -1
  30. package/dist/components/avatar/index.d.ts +22 -15
  31. package/dist/components/avatar/index.js +21 -14
  32. package/dist/components/avatar/index.js.map +1 -1
  33. package/dist/components/avatar/types.d.ts +13 -0
  34. package/dist/components/badge/context.d.ts +22 -4
  35. package/dist/components/badge/context.js +18 -0
  36. package/dist/components/badge/context.js.map +1 -1
  37. package/dist/components/badge/index.d.ts +30 -16
  38. package/dist/components/badge/index.js +28 -14
  39. package/dist/components/badge/index.js.map +1 -1
  40. package/dist/components/badge/types.d.ts +9 -0
  41. package/dist/components/breadcrumbs/index.d.ts +10 -2
  42. package/dist/components/breadcrumbs/index.js +7 -0
  43. package/dist/components/breadcrumbs/index.js.map +1 -1
  44. package/dist/components/breadcrumbs/item.d.ts +25 -2
  45. package/dist/components/breadcrumbs/item.js +23 -1
  46. package/dist/components/breadcrumbs/item.js.map +1 -1
  47. package/dist/components/breadcrumbs/types.d.ts +17 -0
  48. package/dist/components/button/context.d.ts +62 -8
  49. package/dist/components/button/context.js +54 -0
  50. package/dist/components/button/context.js.map +1 -1
  51. package/dist/components/button/index.d.ts +21 -2
  52. package/dist/components/button/index.js +19 -0
  53. package/dist/components/button/index.js.map +1 -1
  54. package/dist/components/button/link.d.ts +22 -2
  55. package/dist/components/button/link.js +20 -0
  56. package/dist/components/button/link.js.map +1 -1
  57. package/dist/components/button/toggle.d.ts +23 -2
  58. package/dist/components/button/toggle.js +22 -1
  59. package/dist/components/button/toggle.js.map +1 -1
  60. package/dist/components/button/types.d.ts +26 -0
  61. package/dist/components/checkbox/context.d.ts +9 -3
  62. package/dist/components/checkbox/context.js +6 -0
  63. package/dist/components/checkbox/context.js.map +1 -1
  64. package/dist/components/checkbox/group.d.ts +31 -2
  65. package/dist/components/checkbox/group.js +28 -0
  66. package/dist/components/checkbox/group.js.map +1 -1
  67. package/dist/components/checkbox/index.d.ts +19 -2
  68. package/dist/components/checkbox/index.js +19 -1
  69. package/dist/components/checkbox/index.js.map +1 -1
  70. package/dist/components/checkbox/types.d.ts +19 -0
  71. package/dist/components/chip/context.d.ts +22 -4
  72. package/dist/components/chip/context.js +18 -0
  73. package/dist/components/chip/context.js.map +1 -1
  74. package/dist/components/chip/deletable.d.ts +38 -2
  75. package/dist/components/chip/deletable.js +36 -1
  76. package/dist/components/chip/deletable.js.map +1 -1
  77. package/dist/components/chip/index.d.ts +24 -2
  78. package/dist/components/chip/index.js +22 -0
  79. package/dist/components/chip/index.js.map +1 -1
  80. package/dist/components/chip/list.d.ts +49 -4
  81. package/dist/components/chip/list.js +45 -0
  82. package/dist/components/chip/list.js.map +1 -1
  83. package/dist/components/chip/selectable.d.ts +34 -2
  84. package/dist/components/chip/selectable.js +31 -0
  85. package/dist/components/chip/selectable.js.map +1 -1
  86. package/dist/components/chip/types.d.ts +27 -0
  87. package/dist/components/classification-badge/context.d.ts +20 -4
  88. package/dist/components/classification-badge/context.js +16 -0
  89. package/dist/components/classification-badge/context.js.map +1 -1
  90. package/dist/components/classification-badge/index.d.ts +28 -10
  91. package/dist/components/classification-badge/index.js +25 -8
  92. package/dist/components/classification-badge/index.js.map +1 -1
  93. package/dist/components/classification-badge/types.d.ts +4 -0
  94. package/dist/components/classification-banner/context.d.ts +20 -4
  95. package/dist/components/classification-banner/context.js +16 -0
  96. package/dist/components/classification-banner/context.js.map +1 -1
  97. package/dist/components/classification-banner/index.d.ts +12 -2
  98. package/dist/components/classification-banner/index.js +9 -0
  99. package/dist/components/classification-banner/index.js.map +1 -1
  100. package/dist/components/classification-banner/types.d.ts +4 -0
  101. package/dist/components/clock/index.d.ts +12 -2
  102. package/dist/components/clock/index.js +10 -0
  103. package/dist/components/clock/index.js.map +1 -1
  104. package/dist/components/clock/types.d.ts +4 -0
  105. package/dist/components/color-picker/index.d.ts +12 -10
  106. package/dist/components/color-picker/index.js +10 -8
  107. package/dist/components/color-picker/index.js.map +1 -1
  108. package/dist/components/color-picker/types.d.ts +8 -0
  109. package/dist/components/combobox-field/context.d.ts +20 -4
  110. package/dist/components/combobox-field/context.js +16 -0
  111. package/dist/components/combobox-field/context.js.map +1 -1
  112. package/dist/components/combobox-field/index.d.ts +15 -2
  113. package/dist/components/combobox-field/index.js +57 -38
  114. package/dist/components/combobox-field/index.js.map +1 -1
  115. package/dist/components/combobox-field/styles.module.css +5 -1
  116. package/dist/components/combobox-field/types.d.ts +19 -0
  117. package/dist/components/coordinate-field/context.d.ts +15 -6
  118. package/dist/components/coordinate-field/context.js +9 -0
  119. package/dist/components/coordinate-field/context.js.map +1 -1
  120. package/dist/components/coordinate-field/coordinate-utils.d.ts +8 -0
  121. package/dist/components/coordinate-field/coordinate-utils.js +8 -0
  122. package/dist/components/coordinate-field/coordinate-utils.js.map +1 -1
  123. package/dist/components/coordinate-field/index.d.ts +29 -2
  124. package/dist/components/coordinate-field/index.js +32 -4
  125. package/dist/components/coordinate-field/index.js.map +1 -1
  126. package/dist/components/coordinate-field/segment.d.ts +28 -2
  127. package/dist/components/coordinate-field/segment.js +28 -1
  128. package/dist/components/coordinate-field/segment.js.map +1 -1
  129. package/dist/components/coordinate-field/styles.module.css +19 -1
  130. package/dist/components/coordinate-field/types.d.ts +2 -0
  131. package/dist/components/coordinate-field/types.js.map +1 -1
  132. package/dist/components/date-field/index.d.ts +28 -2
  133. package/dist/components/date-field/index.js +29 -2
  134. package/dist/components/date-field/index.js.map +1 -1
  135. package/dist/components/date-field/styles.module.css +4 -0
  136. package/dist/components/date-field/types.d.ts +19 -3
  137. package/dist/components/deferred-collection/index.d.ts +51 -0
  138. package/dist/components/deferred-collection/index.js +52 -0
  139. package/dist/components/deferred-collection/index.js.map +1 -0
  140. package/dist/components/deferred-collection/types.d.ts +29 -0
  141. package/dist/components/deferred-collection/types.js +12 -0
  142. package/dist/components/details-list/context.d.ts +25 -4
  143. package/dist/components/details-list/context.js +21 -0
  144. package/dist/components/details-list/context.js.map +1 -1
  145. package/dist/components/details-list/index.d.ts +9 -2
  146. package/dist/components/details-list/index.js +7 -0
  147. package/dist/components/details-list/index.js.map +1 -1
  148. package/dist/components/details-list/label.d.ts +18 -2
  149. package/dist/components/details-list/label.js +16 -0
  150. package/dist/components/details-list/label.js.map +1 -1
  151. package/dist/components/details-list/types.d.ts +14 -0
  152. package/dist/components/details-list/value.d.ts +20 -2
  153. package/dist/components/details-list/value.js +17 -0
  154. package/dist/components/details-list/value.js.map +1 -1
  155. package/dist/components/dialog/content.d.ts +23 -2
  156. package/dist/components/dialog/content.js +20 -0
  157. package/dist/components/dialog/content.js.map +1 -1
  158. package/dist/components/dialog/context.d.ts +5 -2
  159. package/dist/components/dialog/context.js +3 -0
  160. package/dist/components/dialog/context.js.map +1 -1
  161. package/dist/components/dialog/footer.d.ts +26 -2
  162. package/dist/components/dialog/footer.js +23 -0
  163. package/dist/components/dialog/footer.js.map +1 -1
  164. package/dist/components/dialog/index.d.ts +12 -2
  165. package/dist/components/dialog/index.js +10 -0
  166. package/dist/components/dialog/index.js.map +1 -1
  167. package/dist/components/dialog/title.d.ts +21 -2
  168. package/dist/components/dialog/title.js +18 -0
  169. package/dist/components/dialog/title.js.map +1 -1
  170. package/dist/components/dialog/trigger.d.ts +18 -0
  171. package/dist/components/dialog/trigger.js +17 -0
  172. package/dist/components/dialog/trigger.js.map +1 -1
  173. package/dist/components/dialog/types.d.ts +12 -0
  174. package/dist/components/divider/context.d.ts +24 -4
  175. package/dist/components/divider/context.js +20 -0
  176. package/dist/components/divider/context.js.map +1 -1
  177. package/dist/components/divider/index.d.ts +13 -2
  178. package/dist/components/divider/index.js +10 -0
  179. package/dist/components/divider/index.js.map +1 -1
  180. package/dist/components/divider/types.d.ts +4 -4
  181. package/dist/components/drawer/back.d.ts +21 -2
  182. package/dist/components/drawer/back.js +19 -1
  183. package/dist/components/drawer/back.js.map +1 -1
  184. package/dist/components/drawer/close.d.ts +25 -2
  185. package/dist/components/drawer/close.js +28 -3
  186. package/dist/components/drawer/close.js.map +1 -1
  187. package/dist/components/drawer/content.d.ts +22 -2
  188. package/dist/components/drawer/content.js +19 -0
  189. package/dist/components/drawer/content.js.map +1 -1
  190. package/dist/components/drawer/context.d.ts +46 -4
  191. package/dist/components/drawer/context.js +45 -2
  192. package/dist/components/drawer/context.js.map +1 -1
  193. package/dist/components/drawer/events.d.ts +2 -0
  194. package/dist/components/drawer/events.js +2 -0
  195. package/dist/components/drawer/events.js.map +1 -1
  196. package/dist/components/drawer/footer.d.ts +24 -2
  197. package/dist/components/drawer/footer.js +21 -0
  198. package/dist/components/drawer/footer.js.map +1 -1
  199. package/dist/components/drawer/header-title.d.ts +22 -4
  200. package/dist/components/drawer/header-title.js +19 -2
  201. package/dist/components/drawer/header-title.js.map +1 -1
  202. package/dist/components/drawer/header.d.ts +34 -2
  203. package/dist/components/drawer/header.js +42 -2
  204. package/dist/components/drawer/header.js.map +1 -1
  205. package/dist/components/drawer/index.d.ts +14 -2
  206. package/dist/components/drawer/index.js +16 -0
  207. package/dist/components/drawer/index.js.map +1 -1
  208. package/dist/components/drawer/layout-main.d.ts +23 -2
  209. package/dist/components/drawer/layout-main.js +20 -0
  210. package/dist/components/drawer/layout-main.js.map +1 -1
  211. package/dist/components/drawer/layout.d.ts +25 -2
  212. package/dist/components/drawer/layout.js +22 -0
  213. package/dist/components/drawer/layout.js.map +1 -1
  214. package/dist/components/drawer/menu-item.d.ts +25 -2
  215. package/dist/components/drawer/menu-item.js +22 -0
  216. package/dist/components/drawer/menu-item.js.map +1 -1
  217. package/dist/components/drawer/menu.d.ts +22 -2
  218. package/dist/components/drawer/menu.js +19 -0
  219. package/dist/components/drawer/menu.js.map +1 -1
  220. package/dist/components/drawer/panel.d.ts +21 -2
  221. package/dist/components/drawer/panel.js +18 -0
  222. package/dist/components/drawer/panel.js.map +1 -1
  223. package/dist/components/drawer/styles.module.css +2 -2
  224. package/dist/components/drawer/trigger.d.ts +31 -2
  225. package/dist/components/drawer/trigger.js +29 -1
  226. package/dist/components/drawer/trigger.js.map +1 -1
  227. package/dist/components/drawer/types.d.ts +149 -2
  228. package/dist/components/drawer/view.d.ts +25 -2
  229. package/dist/components/drawer/view.js +22 -0
  230. package/dist/components/drawer/view.js.map +1 -1
  231. package/dist/components/flashcard/index.d.ts +129 -27
  232. package/dist/components/flashcard/index.js +120 -18
  233. package/dist/components/flashcard/index.js.map +1 -1
  234. package/dist/components/flashcard/styles.module.css +1 -1
  235. package/dist/components/flashcard/types.d.ts +12 -0
  236. package/dist/components/hero/context.d.ts +5 -2
  237. package/dist/components/hero/context.js +3 -0
  238. package/dist/components/hero/context.js.map +1 -1
  239. package/dist/components/hero/index.d.ts +9 -2
  240. package/dist/components/hero/index.js +7 -0
  241. package/dist/components/hero/index.js.map +1 -1
  242. package/dist/components/hero/subtitle.d.ts +17 -2
  243. package/dist/components/hero/subtitle.js +15 -0
  244. package/dist/components/hero/subtitle.js.map +1 -1
  245. package/dist/components/hero/title.d.ts +15 -2
  246. package/dist/components/hero/title.js +13 -0
  247. package/dist/components/hero/title.js.map +1 -1
  248. package/dist/components/hero/types.d.ts +9 -0
  249. package/dist/components/hotkey/context.d.ts +24 -4
  250. package/dist/components/hotkey/context.js +20 -0
  251. package/dist/components/hotkey/context.js.map +1 -1
  252. package/dist/components/hotkey/index.d.ts +17 -2
  253. package/dist/components/hotkey/index.js +15 -0
  254. package/dist/components/hotkey/index.js.map +1 -1
  255. package/dist/components/hotkey/set.d.ts +21 -2
  256. package/dist/components/hotkey/set.js +18 -0
  257. package/dist/components/hotkey/set.js.map +1 -1
  258. package/dist/components/hotkey/types.d.ts +4 -0
  259. package/dist/components/icon/context.d.ts +24 -4
  260. package/dist/components/icon/context.js +20 -0
  261. package/dist/components/icon/context.js.map +1 -1
  262. package/dist/components/icon/index.d.ts +15 -2
  263. package/dist/components/icon/index.js +13 -0
  264. package/dist/components/icon/index.js.map +1 -1
  265. package/dist/components/icon/types.d.ts +4 -0
  266. package/dist/components/input/context.d.ts +6 -2
  267. package/dist/components/input/context.js +4 -0
  268. package/dist/components/input/context.js.map +1 -1
  269. package/dist/components/input/index.d.ts +17 -2
  270. package/dist/components/input/index.js +19 -3
  271. package/dist/components/input/index.js.map +1 -1
  272. package/dist/components/input/styles.module.css +5 -1
  273. package/dist/components/input/types.d.ts +16 -0
  274. package/dist/components/kanban/card-body.d.ts +10 -2
  275. package/dist/components/kanban/card-body.js +8 -0
  276. package/dist/components/kanban/card-body.js.map +1 -1
  277. package/dist/components/kanban/card-header-actions.d.ts +10 -2
  278. package/dist/components/kanban/card-header-actions.js +8 -0
  279. package/dist/components/kanban/card-header-actions.js.map +1 -1
  280. package/dist/components/kanban/card-header-title.d.ts +10 -2
  281. package/dist/components/kanban/card-header-title.js +8 -0
  282. package/dist/components/kanban/card-header-title.js.map +1 -1
  283. package/dist/components/kanban/card-header.d.ts +12 -2
  284. package/dist/components/kanban/card-header.js +10 -0
  285. package/dist/components/kanban/card-header.js.map +1 -1
  286. package/dist/components/kanban/card.d.ts +26 -2
  287. package/dist/components/kanban/card.js +23 -0
  288. package/dist/components/kanban/card.js.map +1 -1
  289. package/dist/components/kanban/column-actions.d.ts +10 -2
  290. package/dist/components/kanban/column-actions.js +9 -1
  291. package/dist/components/kanban/column-actions.js.map +1 -1
  292. package/dist/components/kanban/column-container.d.ts +10 -2
  293. package/dist/components/kanban/column-container.js +8 -0
  294. package/dist/components/kanban/column-container.js.map +1 -1
  295. package/dist/components/kanban/column-content.d.ts +13 -2
  296. package/dist/components/kanban/column-content.js +11 -0
  297. package/dist/components/kanban/column-content.js.map +1 -1
  298. package/dist/components/kanban/column-header-actions.d.ts +13 -2
  299. package/dist/components/kanban/column-header-actions.js +11 -0
  300. package/dist/components/kanban/column-header-actions.js.map +1 -1
  301. package/dist/components/kanban/column-header-drag-handle.d.ts +7 -2
  302. package/dist/components/kanban/column-header-drag-handle.js +6 -1
  303. package/dist/components/kanban/column-header-drag-handle.js.map +1 -1
  304. package/dist/components/kanban/column-header-title.d.ts +10 -2
  305. package/dist/components/kanban/column-header-title.js +8 -0
  306. package/dist/components/kanban/column-header-title.js.map +1 -1
  307. package/dist/components/kanban/column-header.d.ts +12 -2
  308. package/dist/components/kanban/column-header.js +10 -0
  309. package/dist/components/kanban/column-header.js.map +1 -1
  310. package/dist/components/kanban/column.d.ts +22 -2
  311. package/dist/components/kanban/column.js +19 -0
  312. package/dist/components/kanban/column.js.map +1 -1
  313. package/dist/components/kanban/context.d.ts +49 -2
  314. package/dist/components/kanban/context.js +30 -0
  315. package/dist/components/kanban/context.js.map +1 -1
  316. package/dist/components/kanban/header-actions.d.ts +10 -2
  317. package/dist/components/kanban/header-actions.js +8 -0
  318. package/dist/components/kanban/header-actions.js.map +1 -1
  319. package/dist/components/kanban/header-search.d.ts +9 -2
  320. package/dist/components/kanban/header-search.js +7 -0
  321. package/dist/components/kanban/header-search.js.map +1 -1
  322. package/dist/components/kanban/header-title.d.ts +10 -2
  323. package/dist/components/kanban/header-title.js +8 -0
  324. package/dist/components/kanban/header-title.js.map +1 -1
  325. package/dist/components/kanban/header.d.ts +12 -2
  326. package/dist/components/kanban/header.js +10 -0
  327. package/dist/components/kanban/header.js.map +1 -1
  328. package/dist/components/kanban/kanban.d.ts +33 -4
  329. package/dist/components/kanban/kanban.js +29 -0
  330. package/dist/components/kanban/kanban.js.map +1 -1
  331. package/dist/components/kanban/types.d.ts +51 -0
  332. package/dist/components/label/context.d.ts +25 -4
  333. package/dist/components/label/context.js +21 -0
  334. package/dist/components/label/context.js.map +1 -1
  335. package/dist/components/label/index.d.ts +16 -2
  336. package/dist/components/label/index.js +14 -0
  337. package/dist/components/label/index.js.map +1 -1
  338. package/dist/components/label/types.d.ts +5 -0
  339. package/dist/components/lines/index.d.ts +12 -2
  340. package/dist/components/lines/index.js +9 -0
  341. package/dist/components/lines/index.js.map +1 -1
  342. package/dist/components/lines/types.d.ts +6 -0
  343. package/dist/components/link/context.d.ts +21 -2
  344. package/dist/components/link/context.js +18 -0
  345. package/dist/components/link/context.js.map +1 -1
  346. package/dist/components/link/index.d.ts +12 -2
  347. package/dist/components/link/index.js +9 -0
  348. package/dist/components/link/index.js.map +1 -1
  349. package/dist/components/link/types.d.ts +5 -0
  350. package/dist/components/list/context.d.ts +11 -2
  351. package/dist/components/list/context.js +9 -0
  352. package/dist/components/list/context.js.map +1 -1
  353. package/dist/components/list/index.d.ts +11 -2
  354. package/dist/components/list/index.js +9 -0
  355. package/dist/components/list/index.js.map +1 -1
  356. package/dist/components/list/item-content.d.ts +9 -2
  357. package/dist/components/list/item-content.js +6 -0
  358. package/dist/components/list/item-content.js.map +1 -1
  359. package/dist/components/list/item-description.d.ts +9 -2
  360. package/dist/components/list/item-description.js +7 -0
  361. package/dist/components/list/item-description.js.map +1 -1
  362. package/dist/components/list/item-title.d.ts +9 -2
  363. package/dist/components/list/item-title.js +7 -0
  364. package/dist/components/list/item-title.js.map +1 -1
  365. package/dist/components/list/item.d.ts +10 -2
  366. package/dist/components/list/item.js +8 -0
  367. package/dist/components/list/item.js.map +1 -1
  368. package/dist/components/list/types.d.ts +22 -0
  369. package/dist/components/menu/context.d.ts +6 -2
  370. package/dist/components/menu/context.js +4 -0
  371. package/dist/components/menu/context.js.map +1 -1
  372. package/dist/components/menu/index.d.ts +24 -3
  373. package/dist/components/menu/index.js +22 -1
  374. package/dist/components/menu/index.js.map +1 -1
  375. package/dist/components/menu/item-description.d.ts +17 -2
  376. package/dist/components/menu/item-description.js +15 -0
  377. package/dist/components/menu/item-description.js.map +1 -1
  378. package/dist/components/menu/item-label.d.ts +17 -2
  379. package/dist/components/menu/item-label.js +15 -0
  380. package/dist/components/menu/item-label.js.map +1 -1
  381. package/dist/components/menu/item.d.ts +23 -2
  382. package/dist/components/menu/item.js +21 -1
  383. package/dist/components/menu/item.js.map +1 -1
  384. package/dist/components/menu/section.d.ts +23 -2
  385. package/dist/components/menu/section.js +20 -0
  386. package/dist/components/menu/section.js.map +1 -1
  387. package/dist/components/menu/separator.d.ts +16 -2
  388. package/dist/components/menu/separator.js +14 -0
  389. package/dist/components/menu/separator.js.map +1 -1
  390. package/dist/components/menu/styles.module.css +62 -46
  391. package/dist/components/menu/submenu.d.ts +18 -2
  392. package/dist/components/menu/submenu.js +16 -0
  393. package/dist/components/menu/submenu.js.map +1 -1
  394. package/dist/components/menu/trigger.d.ts +15 -0
  395. package/dist/components/menu/trigger.js +15 -0
  396. package/dist/components/menu/trigger.js.map +1 -1
  397. package/dist/components/menu/types.d.ts +25 -0
  398. package/dist/components/notice/events.d.ts +9 -0
  399. package/dist/components/notice/events.js +9 -0
  400. package/dist/components/notice/events.js.map +1 -1
  401. package/dist/components/notice/index.d.ts +34 -2
  402. package/dist/components/notice/index.js +32 -1
  403. package/dist/components/notice/index.js.map +1 -1
  404. package/dist/components/notice/list.d.ts +31 -2
  405. package/dist/components/notice/list.js +28 -0
  406. package/dist/components/notice/list.js.map +1 -1
  407. package/dist/components/notice/notice-icon.d.ts +22 -2
  408. package/dist/components/notice/notice-icon.js +23 -1
  409. package/dist/components/notice/notice-icon.js.map +1 -1
  410. package/dist/components/notice/types.d.ts +60 -0
  411. package/dist/components/notice/utils.d.ts +8 -0
  412. package/dist/components/notice/utils.js +8 -0
  413. package/dist/components/notice/utils.js.map +1 -1
  414. package/dist/components/options/context.d.ts +3 -2
  415. package/dist/components/options/context.js +1 -0
  416. package/dist/components/options/context.js.map +1 -1
  417. package/dist/components/options/index.d.ts +15 -2
  418. package/dist/components/options/index.js +13 -0
  419. package/dist/components/options/index.js.map +1 -1
  420. package/dist/components/options/item-content.d.ts +22 -2
  421. package/dist/components/options/item-content.js +19 -0
  422. package/dist/components/options/item-content.js.map +1 -1
  423. package/dist/components/options/item-description.d.ts +14 -2
  424. package/dist/components/options/item-description.js +12 -0
  425. package/dist/components/options/item-description.js.map +1 -1
  426. package/dist/components/options/item-label.d.ts +14 -2
  427. package/dist/components/options/item-label.js +12 -0
  428. package/dist/components/options/item-label.js.map +1 -1
  429. package/dist/components/options/item.d.ts +22 -0
  430. package/dist/components/options/item.js +21 -0
  431. package/dist/components/options/item.js.map +1 -1
  432. package/dist/components/options/section.d.ts +21 -2
  433. package/dist/components/options/section.js +18 -0
  434. package/dist/components/options/section.js.map +1 -1
  435. package/dist/components/options/types.d.ts +24 -0
  436. package/dist/components/pagination/context.d.ts +3 -2
  437. package/dist/components/pagination/context.js +1 -0
  438. package/dist/components/pagination/context.js.map +1 -1
  439. package/dist/components/pagination/index.d.ts +18 -11
  440. package/dist/components/pagination/index.js +15 -9
  441. package/dist/components/pagination/index.js.map +1 -1
  442. package/dist/components/pagination/next.d.ts +17 -2
  443. package/dist/components/pagination/next.js +15 -0
  444. package/dist/components/pagination/next.js.map +1 -1
  445. package/dist/components/pagination/pages.d.ts +21 -2
  446. package/dist/components/pagination/pages.js +18 -0
  447. package/dist/components/pagination/pages.js.map +1 -1
  448. package/dist/components/pagination/prev.d.ts +17 -2
  449. package/dist/components/pagination/prev.js +16 -1
  450. package/dist/components/pagination/prev.js.map +1 -1
  451. package/dist/components/pagination/types.d.ts +32 -0
  452. package/dist/components/pagination/utils.d.ts +35 -0
  453. package/dist/components/pagination/utils.js +35 -0
  454. package/dist/components/pagination/utils.js.map +1 -1
  455. package/dist/components/popover/content.d.ts +20 -2
  456. package/dist/components/popover/content.js +17 -0
  457. package/dist/components/popover/content.js.map +1 -1
  458. package/dist/components/popover/footer.d.ts +22 -2
  459. package/dist/components/popover/footer.js +19 -0
  460. package/dist/components/popover/footer.js.map +1 -1
  461. package/dist/components/popover/index.d.ts +9 -2
  462. package/dist/components/popover/index.js +8 -1
  463. package/dist/components/popover/index.js.map +1 -1
  464. package/dist/components/popover/styles.module.css +6 -0
  465. package/dist/components/popover/title.d.ts +17 -2
  466. package/dist/components/popover/title.js +15 -0
  467. package/dist/components/popover/title.js.map +1 -1
  468. package/dist/components/popover/trigger.d.ts +24 -2
  469. package/dist/components/popover/trigger.js +21 -0
  470. package/dist/components/popover/trigger.js.map +1 -1
  471. package/dist/components/popover/types.d.ts +10 -0
  472. package/dist/components/query-builder/action-element.d.ts +20 -2
  473. package/dist/components/query-builder/action-element.js +17 -0
  474. package/dist/components/query-builder/action-element.js.map +1 -1
  475. package/dist/components/query-builder/actions.d.ts +37 -4
  476. package/dist/components/query-builder/actions.js +36 -1
  477. package/dist/components/query-builder/actions.js.map +1 -1
  478. package/dist/components/query-builder/combinator-selector.d.ts +10 -2
  479. package/dist/components/query-builder/combinator-selector.js +8 -0
  480. package/dist/components/query-builder/combinator-selector.js.map +1 -1
  481. package/dist/components/query-builder/constants.d.ts +1 -0
  482. package/dist/components/query-builder/constants.js +1 -0
  483. package/dist/components/query-builder/constants.js.map +1 -1
  484. package/dist/components/query-builder/index.d.ts +11 -2
  485. package/dist/components/query-builder/index.js +9 -0
  486. package/dist/components/query-builder/index.js.map +1 -1
  487. package/dist/components/query-builder/rule-group.d.ts +52 -4
  488. package/dist/components/query-builder/rule-group.js +47 -0
  489. package/dist/components/query-builder/rule-group.js.map +1 -1
  490. package/dist/components/query-builder/rule.d.ts +20 -2
  491. package/dist/components/query-builder/rule.js +18 -0
  492. package/dist/components/query-builder/rule.js.map +1 -1
  493. package/dist/components/query-builder/types.d.ts +9 -0
  494. package/dist/components/query-builder/utils.d.ts +15 -0
  495. package/dist/components/query-builder/utils.js +15 -0
  496. package/dist/components/query-builder/utils.js.map +1 -1
  497. package/dist/components/query-builder/value-editor.d.ts +23 -2
  498. package/dist/components/query-builder/value-editor.js +20 -0
  499. package/dist/components/query-builder/value-editor.js.map +1 -1
  500. package/dist/components/query-builder/value-selector.d.ts +23 -2
  501. package/dist/components/query-builder/value-selector.js +20 -0
  502. package/dist/components/query-builder/value-selector.js.map +1 -1
  503. package/dist/components/radio/context.d.ts +2 -2
  504. package/dist/components/radio/group.d.ts +19 -2
  505. package/dist/components/radio/group.js +16 -0
  506. package/dist/components/radio/group.js.map +1 -1
  507. package/dist/components/radio/index.d.ts +13 -26
  508. package/dist/components/radio/index.js +11 -24
  509. package/dist/components/radio/index.js.map +1 -1
  510. package/dist/components/radio/types.d.ts +16 -0
  511. package/dist/components/search-field/context.d.ts +7 -4
  512. package/dist/components/search-field/context.js +3 -0
  513. package/dist/components/search-field/context.js.map +1 -1
  514. package/dist/components/search-field/index.d.ts +15 -24
  515. package/dist/components/search-field/index.js +16 -23
  516. package/dist/components/search-field/index.js.map +1 -1
  517. package/dist/components/search-field/types.d.ts +13 -0
  518. package/dist/components/select-field/context.d.ts +11 -4
  519. package/dist/components/select-field/context.js +7 -0
  520. package/dist/components/select-field/context.js.map +1 -1
  521. package/dist/components/select-field/index.d.ts +19 -39
  522. package/dist/components/select-field/index.js +28 -42
  523. package/dist/components/select-field/index.js.map +1 -1
  524. package/dist/components/select-field/styles.module.css +12 -0
  525. package/dist/components/select-field/types.d.ts +19 -0
  526. package/dist/components/sidenav/avatar.d.ts +19 -2
  527. package/dist/components/sidenav/avatar.js +16 -0
  528. package/dist/components/sidenav/avatar.js.map +1 -1
  529. package/dist/components/sidenav/content.d.ts +23 -2
  530. package/dist/components/sidenav/content.js +20 -0
  531. package/dist/components/sidenav/content.js.map +1 -1
  532. package/dist/components/sidenav/context.d.ts +3 -2
  533. package/dist/components/sidenav/context.js +1 -0
  534. package/dist/components/sidenav/context.js.map +1 -1
  535. package/dist/components/sidenav/events.d.ts +2 -0
  536. package/dist/components/sidenav/events.js +2 -0
  537. package/dist/components/sidenav/events.js.map +1 -1
  538. package/dist/components/sidenav/footer.d.ts +16 -2
  539. package/dist/components/sidenav/footer.js +13 -0
  540. package/dist/components/sidenav/footer.js.map +1 -1
  541. package/dist/components/sidenav/header.d.ts +20 -2
  542. package/dist/components/sidenav/header.js +18 -1
  543. package/dist/components/sidenav/header.js.map +1 -1
  544. package/dist/components/sidenav/index.d.ts +11 -2
  545. package/dist/components/sidenav/index.js +9 -0
  546. package/dist/components/sidenav/index.js.map +1 -1
  547. package/dist/components/sidenav/item.d.ts +17 -2
  548. package/dist/components/sidenav/item.js +14 -0
  549. package/dist/components/sidenav/item.js.map +1 -1
  550. package/dist/components/sidenav/link.d.ts +17 -2
  551. package/dist/components/sidenav/link.js +15 -1
  552. package/dist/components/sidenav/link.js.map +1 -1
  553. package/dist/components/sidenav/menu-item.d.ts +16 -2
  554. package/dist/components/sidenav/menu-item.js +13 -0
  555. package/dist/components/sidenav/menu-item.js.map +1 -1
  556. package/dist/components/sidenav/menu.d.ts +19 -2
  557. package/dist/components/sidenav/menu.js +17 -1
  558. package/dist/components/sidenav/menu.js.map +1 -1
  559. package/dist/components/sidenav/trigger.d.ts +17 -2
  560. package/dist/components/sidenav/trigger.js +14 -0
  561. package/dist/components/sidenav/trigger.js.map +1 -1
  562. package/dist/components/sidenav/types.d.ts +53 -0
  563. package/dist/components/skeleton/index.d.ts +12 -27
  564. package/dist/components/skeleton/index.js +10 -24
  565. package/dist/components/skeleton/index.js.map +1 -1
  566. package/dist/components/skeleton/types.d.ts +4 -0
  567. package/dist/components/slider/index.d.ts +30 -29
  568. package/dist/components/slider/index.js +28 -27
  569. package/dist/components/slider/index.js.map +1 -1
  570. package/dist/components/slider/types.d.ts +18 -0
  571. package/dist/components/switch/context.d.ts +16 -10
  572. package/dist/components/switch/context.js +13 -7
  573. package/dist/components/switch/context.js.map +1 -1
  574. package/dist/components/switch/index.d.ts +14 -31
  575. package/dist/components/switch/index.js +12 -29
  576. package/dist/components/switch/index.js.map +1 -1
  577. package/dist/components/switch/types.d.ts +5 -0
  578. package/dist/components/table/body.d.ts +21 -2
  579. package/dist/components/table/body.js +18 -0
  580. package/dist/components/table/body.js.map +1 -1
  581. package/dist/components/table/cell.d.ts +22 -2
  582. package/dist/components/table/cell.js +19 -0
  583. package/dist/components/table/cell.js.map +1 -1
  584. package/dist/components/table/constants/table.d.ts +6 -0
  585. package/dist/components/table/constants/table.js +4 -0
  586. package/dist/components/table/constants/table.js.map +1 -1
  587. package/dist/components/table/context.d.ts +1 -0
  588. package/dist/components/table/context.js +1 -0
  589. package/dist/components/table/context.js.map +1 -1
  590. package/dist/components/table/header-cell.d.ts +24 -2
  591. package/dist/components/table/header-cell.js +24 -1
  592. package/dist/components/table/header-cell.js.map +1 -1
  593. package/dist/components/table/header.d.ts +22 -2
  594. package/dist/components/table/header.js +19 -0
  595. package/dist/components/table/header.js.map +1 -1
  596. package/dist/components/table/index.d.ts +28 -6
  597. package/dist/components/table/index.js +27 -5
  598. package/dist/components/table/index.js.map +1 -1
  599. package/dist/components/table/row.d.ts +26 -2
  600. package/dist/components/table/row.js +23 -0
  601. package/dist/components/table/row.js.map +1 -1
  602. package/dist/components/table/types.d.ts +3 -0
  603. package/dist/components/tabs/context.d.ts +20 -10
  604. package/dist/components/tabs/context.js +17 -7
  605. package/dist/components/tabs/context.js.map +1 -1
  606. package/dist/components/tabs/index.d.ts +17 -40
  607. package/dist/components/tabs/index.js +15 -38
  608. package/dist/components/tabs/index.js.map +1 -1
  609. package/dist/components/tabs/list.d.ts +20 -4
  610. package/dist/components/tabs/list.js +17 -2
  611. package/dist/components/tabs/list.js.map +1 -1
  612. package/dist/components/tabs/panel.d.ts +21 -4
  613. package/dist/components/tabs/panel.js +18 -2
  614. package/dist/components/tabs/panel.js.map +1 -1
  615. package/dist/components/tabs/tab.d.ts +17 -4
  616. package/dist/components/tabs/tab.js +14 -2
  617. package/dist/components/tabs/tab.js.map +1 -1
  618. package/dist/components/tabs/types.d.ts +3 -0
  619. package/dist/components/text-area-field/context.d.ts +20 -10
  620. package/dist/components/text-area-field/context.js +17 -7
  621. package/dist/components/text-area-field/context.js.map +1 -1
  622. package/dist/components/text-area-field/index.d.ts +20 -15
  623. package/dist/components/text-area-field/index.js +18 -13
  624. package/dist/components/text-area-field/index.js.map +1 -1
  625. package/dist/components/text-area-field/styles.module.css +5 -1
  626. package/dist/components/text-area-field/types.d.ts +9 -0
  627. package/dist/components/text-field/context.d.ts +24 -4
  628. package/dist/components/text-field/context.js +20 -0
  629. package/dist/components/text-field/context.js.map +1 -1
  630. package/dist/components/text-field/index.d.ts +17 -82
  631. package/dist/components/text-field/index.js +15 -80
  632. package/dist/components/text-field/index.js.map +1 -1
  633. package/dist/components/text-field/types.d.ts +9 -0
  634. package/dist/components/time-field/index.d.ts +24 -5
  635. package/dist/components/time-field/index.js +25 -6
  636. package/dist/components/time-field/index.js.map +1 -1
  637. package/dist/components/time-field/styles.module.css +5 -2
  638. package/dist/components/time-field/types.d.ts +9 -0
  639. package/dist/components/tooltip/context.d.ts +3 -2
  640. package/dist/components/tooltip/context.js +1 -0
  641. package/dist/components/tooltip/context.js.map +1 -1
  642. package/dist/components/tooltip/index.d.ts +15 -30
  643. package/dist/components/tooltip/index.js +13 -28
  644. package/dist/components/tooltip/index.js.map +1 -1
  645. package/dist/components/tooltip/trigger.d.ts +22 -2
  646. package/dist/components/tooltip/trigger.js +19 -0
  647. package/dist/components/tooltip/trigger.js.map +1 -1
  648. package/dist/components/tooltip/types.d.ts +7 -0
  649. package/dist/components/tree/context.d.ts +5 -9
  650. package/dist/components/tree/context.js +2 -6
  651. package/dist/components/tree/context.js.map +1 -1
  652. package/dist/components/tree/index.d.ts +30 -8
  653. package/dist/components/tree/index.js +28 -6
  654. package/dist/components/tree/index.js.map +1 -1
  655. package/dist/components/tree/item-actions.d.ts +19 -4
  656. package/dist/components/tree/item-actions.js +16 -2
  657. package/dist/components/tree/item-actions.js.map +1 -1
  658. package/dist/components/tree/item-content.d.ts +18 -4
  659. package/dist/components/tree/item-content.js +20 -3
  660. package/dist/components/tree/item-content.js.map +1 -1
  661. package/dist/components/tree/item-description.d.ts +15 -4
  662. package/dist/components/tree/item-description.js +13 -2
  663. package/dist/components/tree/item-description.js.map +1 -1
  664. package/dist/components/tree/item-label.d.ts +15 -4
  665. package/dist/components/tree/item-label.js +13 -2
  666. package/dist/components/tree/item-label.js.map +1 -1
  667. package/dist/components/tree/item-prefix-icon.d.ts +15 -4
  668. package/dist/components/tree/item-prefix-icon.js +13 -2
  669. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  670. package/dist/components/tree/item.d.ts +24 -4
  671. package/dist/components/tree/item.js +21 -2
  672. package/dist/components/tree/item.js.map +1 -1
  673. package/dist/components/tree/lines.d.ts +10 -2
  674. package/dist/components/tree/lines.js +8 -0
  675. package/dist/components/tree/lines.js.map +1 -1
  676. package/dist/components/tree/types.d.ts +26 -0
  677. package/dist/components/view-stack/context.d.ts +20 -9
  678. package/dist/components/view-stack/context.js +18 -7
  679. package/dist/components/view-stack/context.js.map +1 -1
  680. package/dist/components/view-stack/events.d.ts +2 -0
  681. package/dist/components/view-stack/events.js +2 -0
  682. package/dist/components/view-stack/events.js.map +1 -1
  683. package/dist/components/view-stack/index.d.ts +16 -24
  684. package/dist/components/view-stack/index.js +14 -22
  685. package/dist/components/view-stack/index.js.map +1 -1
  686. package/dist/components/view-stack/trigger.d.ts +26 -4
  687. package/dist/components/view-stack/trigger.js +23 -2
  688. package/dist/components/view-stack/trigger.js.map +1 -1
  689. package/dist/components/view-stack/types.d.ts +29 -0
  690. package/dist/components/view-stack/view.d.ts +22 -2
  691. package/dist/components/view-stack/view.js +19 -0
  692. package/dist/components/view-stack/view.js.map +1 -1
  693. package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +44 -0
  694. package/dist/hooks/coordinate-field/use-coordinate-copy.js +35 -0
  695. package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -1
  696. package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +69 -0
  697. package/dist/hooks/coordinate-field/use-coordinate-field-state.js +50 -0
  698. package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -1
  699. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +61 -0
  700. package/dist/hooks/coordinate-field/use-coordinate-field.js +47 -0
  701. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -1
  702. package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +51 -0
  703. package/dist/hooks/coordinate-field/use-coordinate-focus.js +39 -0
  704. package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -1
  705. package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +63 -0
  706. package/dist/hooks/coordinate-field/use-coordinate-paste.js +51 -0
  707. package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -1
  708. package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +32 -0
  709. package/dist/hooks/coordinate-field/use-timeout-cleanup.js +30 -0
  710. package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -1
  711. package/dist/hooks/use-frame-delay/index.d.ts +43 -0
  712. package/dist/hooks/use-frame-delay/index.js +66 -0
  713. package/dist/hooks/use-frame-delay/index.js.map +1 -0
  714. package/dist/hooks/use-tree/actions/index.d.ts +4 -2
  715. package/dist/hooks/use-tree/actions/index.js +4 -2
  716. package/dist/hooks/use-tree/actions/index.js.map +1 -1
  717. package/dist/hooks/use-tree/state/index.d.ts +7 -0
  718. package/dist/hooks/use-tree/state/index.js +7 -0
  719. package/dist/hooks/use-tree/state/index.js.map +1 -1
  720. package/dist/hooks/use-tree/types.d.ts +22 -0
  721. package/dist/index.d.ts +7 -4
  722. package/dist/index.js +4 -2
  723. package/dist/lib/types.d.ts +17 -0
  724. package/dist/lib/utils.d.ts +15 -0
  725. package/dist/lib/utils.js +15 -0
  726. package/dist/lib/utils.js.map +1 -1
  727. package/dist/providers/portal.d.ts +11 -2
  728. package/dist/providers/portal.js +9 -0
  729. package/dist/providers/portal.js.map +1 -1
  730. package/dist/providers/theme-provider.d.ts +18 -2
  731. package/dist/providers/theme-provider.js +15 -0
  732. package/dist/providers/theme-provider.js.map +1 -1
  733. package/package.json +15 -12
@@ -12,14 +12,22 @@
12
12
 
13
13
  import { KanbanComponentProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime78 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime64 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column-container.d.ts
18
+ /**
19
+ * KanbanColumnContainer - Container that holds all columns
20
+ *
21
+ * @param props - {@link KanbanComponentProps}
22
+ * @param props.children - Column elements.
23
+ * @param props.className - Optional CSS class name.
24
+ * @returns The rendered KanbanColumnContainer component.
25
+ */
18
26
  declare function KanbanColumnContainer({
19
27
  children,
20
28
  className,
21
29
  ...rest
22
- }: KanbanComponentProps): react_jsx_runtime78.JSX.Element;
30
+ }: KanbanComponentProps): react_jsx_runtime64.JSX.Element;
23
31
  //#endregion
24
32
  export { KanbanColumnContainer };
25
33
  //# sourceMappingURL=column-container.d.ts.map
@@ -19,6 +19,14 @@ import { jsx } from "react/jsx-runtime";
19
19
  import styles from "./styles.module.css";
20
20
 
21
21
  //#region src/components/kanban/column-container.tsx
22
+ /**
23
+ * KanbanColumnContainer - Container that holds all columns
24
+ *
25
+ * @param props - {@link KanbanComponentProps}
26
+ * @param props.children - Column elements.
27
+ * @param props.className - Optional CSS class name.
28
+ * @returns The rendered KanbanColumnContainer component.
29
+ */
22
30
  function KanbanColumnContainer({ children, className, ...rest }) {
23
31
  return /* @__PURE__ */ jsx("div", {
24
32
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"column-container.js","names":[],"sources":["../../../src/components/kanban/column-container.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnContainer({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnItems, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,sBAAsB,EACpC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC1D;GACG"}
1
+ {"version":3,"file":"column-container.js","names":[],"sources":["../../../src/components/kanban/column-container.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnContainer - Container that holds all columns\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Column elements.\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnContainer component.\n */\nexport function KanbanColumnContainer({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnItems, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAgB,sBAAsB,EACpC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC1D;GACG"}
@@ -12,15 +12,26 @@
12
12
 
13
13
  import { KanbanColContentProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime79 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime65 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column-content.d.ts
18
+ /**
19
+ * KanbanColumnContent - Container for cards within a column
20
+ *
21
+ * Provides sortable context for card drag-and-drop.
22
+ *
23
+ * @param props - {@link KanbanColContentProps}
24
+ * @param props.children - Card elements.
25
+ * @param props.className - Optional CSS class name.
26
+ * @param props.column - Column data for sortable context.
27
+ * @returns The rendered KanbanColumnContent component.
28
+ */
18
29
  declare function KanbanColumnContent({
19
30
  children,
20
31
  className,
21
32
  column,
22
33
  ...rest
23
- }: KanbanColContentProps): react_jsx_runtime79.JSX.Element;
34
+ }: KanbanColContentProps): react_jsx_runtime65.JSX.Element;
24
35
  //#endregion
25
36
  export { KanbanColumnContent };
26
37
  //# sourceMappingURL=column-content.d.ts.map
@@ -20,6 +20,17 @@ import styles from "./styles.module.css";
20
20
  import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable";
21
21
 
22
22
  //#region src/components/kanban/column-content.tsx
23
+ /**
24
+ * KanbanColumnContent - Container for cards within a column
25
+ *
26
+ * Provides sortable context for card drag-and-drop.
27
+ *
28
+ * @param props - {@link KanbanColContentProps}
29
+ * @param props.children - Card elements.
30
+ * @param props.className - Optional CSS class name.
31
+ * @param props.column - Column data for sortable context.
32
+ * @returns The rendered KanbanColumnContent component.
33
+ */
23
34
  function KanbanColumnContent({ children, className, column, ...rest }) {
24
35
  return /* @__PURE__ */ jsx(SortableContext, {
25
36
  items: column.cards.map((card) => card.id),
@@ -1 +1 @@
1
- {"version":3,"file":"column-content.js","names":[],"sources":["../../../src/components/kanban/column-content.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport styles from './styles.module.css';\nimport type { KanbanColContentProps } from './types';\n\nexport function KanbanColumnContent({\n children,\n className,\n column,\n ...rest\n}: KanbanColContentProps) {\n const cardIds = column.cards.map((card) => card.id);\n\n return (\n <SortableContext items={cardIds} strategy={verticalListSortingStrategy}>\n <div {...rest} className={clsx(styles.columnContent, className)}>\n {children}\n </div>\n </SortableContext>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,oBAAoB,EAClC,UACA,WACA,QACA,GAAG,QACqB;AAGxB,QACE,oBAAC;EAAgB,OAHH,OAAO,MAAM,KAAK,SAAS,KAAK,GAAG;EAGhB,UAAU;YACzC,oBAAC;GAAI,GAAI;GAAM,WAAW,KAAK,OAAO,eAAe,UAAU;GAC5D;IACG;GACU"}
1
+ {"version":3,"file":"column-content.js","names":[],"sources":["../../../src/components/kanban/column-content.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport styles from './styles.module.css';\nimport type { KanbanColContentProps } from './types';\n\n/**\n * KanbanColumnContent - Container for cards within a column\n *\n * Provides sortable context for card drag-and-drop.\n *\n * @param props - {@link KanbanColContentProps}\n * @param props.children - Card elements.\n * @param props.className - Optional CSS class name.\n * @param props.column - Column data for sortable context.\n * @returns The rendered KanbanColumnContent component.\n */\nexport function KanbanColumnContent({\n children,\n className,\n column,\n ...rest\n}: KanbanColContentProps) {\n const cardIds = column.cards.map((card) => card.id);\n\n return (\n <SortableContext items={cardIds} strategy={verticalListSortingStrategy}>\n <div {...rest} className={clsx(styles.columnContent, className)}>\n {children}\n </div>\n </SortableContext>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,oBAAoB,EAClC,UACA,WACA,QACA,GAAG,QACqB;AAGxB,QACE,oBAAC;EAAgB,OAHH,OAAO,MAAM,KAAK,SAAS,KAAK,GAAG;EAGhB,UAAU;YACzC,oBAAC;GAAI,GAAI;GAAM,WAAW,KAAK,OAAO,eAAe,UAAU;GAC5D;IACG;GACU"}
@@ -12,15 +12,26 @@
12
12
 
13
13
  import { KanbanMenuProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime80 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime68 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column-header-actions.d.ts
18
+ /**
19
+ * KanbanColumnHeaderActions - Container for column actions
20
+ *
21
+ * Displays card count badge and optional action buttons.
22
+ *
23
+ * @param props - {@link KanbanMenuProps}
24
+ * @param props.className - Optional CSS class name.
25
+ * @param props.cardCount - Number of cards to display in badge.
26
+ * @param props.children - Additional action elements.
27
+ * @returns The rendered KanbanColumnHeaderActions component.
28
+ */
18
29
  declare function KanbanColumnHeaderActions({
19
30
  className,
20
31
  cardCount,
21
32
  children,
22
33
  ...rest
23
- }: KanbanMenuProps): react_jsx_runtime80.JSX.Element;
34
+ }: KanbanMenuProps): react_jsx_runtime68.JSX.Element;
24
35
  //#endregion
25
36
  export { KanbanColumnHeaderActions };
26
37
  //# sourceMappingURL=column-header-actions.d.ts.map
@@ -20,6 +20,17 @@ import { jsx, jsxs } from "react/jsx-runtime";
20
20
  import styles from "./styles.module.css";
21
21
 
22
22
  //#region src/components/kanban/column-header-actions.tsx
23
+ /**
24
+ * KanbanColumnHeaderActions - Container for column actions
25
+ *
26
+ * Displays card count badge and optional action buttons.
27
+ *
28
+ * @param props - {@link KanbanMenuProps}
29
+ * @param props.className - Optional CSS class name.
30
+ * @param props.cardCount - Number of cards to display in badge.
31
+ * @param props.children - Additional action elements.
32
+ * @returns The rendered KanbanColumnHeaderActions component.
33
+ */
23
34
  function KanbanColumnHeaderActions({ className, cardCount, children, ...rest }) {
24
35
  return /* @__PURE__ */ jsxs("div", {
25
36
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"column-header-actions.js","names":[],"sources":["../../../src/components/kanban/column-header-actions.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Badge } from '../badge';\nimport styles from './styles.module.css';\nimport type { KanbanMenuProps } from './types';\n\nexport function KanbanColumnHeaderActions({\n className,\n cardCount,\n children,\n ...rest\n}: KanbanMenuProps) {\n return (\n <div {...rest} className={clsx(styles.colHeaderActions, className)}>\n <Badge>{cardCount ?? 0}</Badge>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,0BAA0B,EACxC,WACA,WACA,UACA,GAAG,QACe;AAClB,QACE,qBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,kBAAkB,UAAU;aAChE,oBAAC,mBAAO,aAAa,IAAU,EAC9B;GACG"}
1
+ {"version":3,"file":"column-header-actions.js","names":[],"sources":["../../../src/components/kanban/column-header-actions.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Badge } from '../badge';\nimport styles from './styles.module.css';\nimport type { KanbanMenuProps } from './types';\n\n/**\n * KanbanColumnHeaderActions - Container for column actions\n *\n * Displays card count badge and optional action buttons.\n *\n * @param props - {@link KanbanMenuProps}\n * @param props.className - Optional CSS class name.\n * @param props.cardCount - Number of cards to display in badge.\n * @param props.children - Additional action elements.\n * @returns The rendered KanbanColumnHeaderActions component.\n */\nexport function KanbanColumnHeaderActions({\n className,\n cardCount,\n children,\n ...rest\n}: KanbanMenuProps) {\n return (\n <div {...rest} className={clsx(styles.colHeaderActions, className)}>\n <Badge>{cardCount ?? 0}</Badge>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,0BAA0B,EACxC,WACA,WACA,UACA,GAAG,QACe;AAClB,QACE,qBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,kBAAkB,UAAU;aAChE,oBAAC,mBAAO,aAAa,IAAU,EAC9B;GACG"}
@@ -11,10 +11,15 @@
11
11
  */
12
12
 
13
13
  import "client-only";
14
- import * as react_jsx_runtime81 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime72 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/kanban/column-header-drag-handle.d.ts
17
- declare function KanbanColumnHeaderDragHandle(): react_jsx_runtime81.JSX.Element;
17
+ /**
18
+ * KanbanColumnHeaderDragHandle - Visual indicator for column dragging
19
+ *
20
+ * @returns The rendered KanbanColumnHeaderDragHandle component.
21
+ */
22
+ declare function KanbanColumnHeaderDragHandle(): react_jsx_runtime72.JSX.Element;
18
23
  //#endregion
19
24
  export { KanbanColumnHeaderDragHandle };
20
25
  //# sourceMappingURL=column-header-drag-handle.d.ts.map
@@ -16,9 +16,14 @@
16
16
  import { Icon } from "../icon/index.js";
17
17
  import "client-only";
18
18
  import { jsx } from "react/jsx-runtime";
19
- import { DragVert } from "@accelint/icons";
19
+ import DragVert from "@accelint/icons/drag-vert";
20
20
 
21
21
  //#region src/components/kanban/column-header-drag-handle.tsx
22
+ /**
23
+ * KanbanColumnHeaderDragHandle - Visual indicator for column dragging
24
+ *
25
+ * @returns The rendered KanbanColumnHeaderDragHandle component.
26
+ */
22
27
  function KanbanColumnHeaderDragHandle() {
23
28
  return /* @__PURE__ */ jsx(Icon, {
24
29
  size: "small",
@@ -1 +1 @@
1
- {"version":3,"file":"column-header-drag-handle.js","names":[],"sources":["../../../src/components/kanban/column-header-drag-handle.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { DragVert } from '@accelint/icons';\nimport { Icon } from '../icon';\n\nexport function KanbanColumnHeaderDragHandle() {\n return (\n <Icon size='small' aria-label='Drag column'>\n <DragVert />\n </Icon>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,SAAgB,+BAA+B;AAC7C,QACE,oBAAC;EAAK,MAAK;EAAQ,cAAW;YAC5B,oBAAC,aAAW;GACP"}
1
+ {"version":3,"file":"column-header-drag-handle.js","names":[],"sources":["../../../src/components/kanban/column-header-drag-handle.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport DragVert from '@accelint/icons/drag-vert';\nimport { Icon } from '../icon';\n\n/**\n * KanbanColumnHeaderDragHandle - Visual indicator for column dragging\n *\n * @returns The rendered KanbanColumnHeaderDragHandle component.\n */\nexport function KanbanColumnHeaderDragHandle() {\n return (\n <Icon size='small' aria-label='Drag column'>\n <DragVert />\n </Icon>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,+BAA+B;AAC7C,QACE,oBAAC;EAAK,MAAK;EAAQ,cAAW;YAC5B,oBAAC,aAAW;GACP"}
@@ -12,14 +12,22 @@
12
12
 
13
13
  import { KanbanComponentProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime82 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime70 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column-header-title.d.ts
18
+ /**
19
+ * KanbanColumnHeaderTitle - Title of the column
20
+ *
21
+ * @param props - {@link KanbanComponentProps}
22
+ * @param props.children - Title text content.
23
+ * @param props.className - Optional CSS class name.
24
+ * @returns The rendered KanbanColumnHeaderTitle component.
25
+ */
18
26
  declare function KanbanColumnHeaderTitle({
19
27
  children,
20
28
  className,
21
29
  ...rest
22
- }: KanbanComponentProps): react_jsx_runtime82.JSX.Element;
30
+ }: KanbanComponentProps): react_jsx_runtime70.JSX.Element;
23
31
  //#endregion
24
32
  export { KanbanColumnHeaderTitle };
25
33
  //# sourceMappingURL=column-header-title.d.ts.map
@@ -19,6 +19,14 @@ import { jsx } from "react/jsx-runtime";
19
19
  import styles from "./styles.module.css";
20
20
 
21
21
  //#region src/components/kanban/column-header-title.tsx
22
+ /**
23
+ * KanbanColumnHeaderTitle - Title of the column
24
+ *
25
+ * @param props - {@link KanbanComponentProps}
26
+ * @param props.children - Title text content.
27
+ * @param props.className - Optional CSS class name.
28
+ * @returns The rendered KanbanColumnHeaderTitle component.
29
+ */
22
30
  function KanbanColumnHeaderTitle({ children, className, ...rest }) {
23
31
  return /* @__PURE__ */ jsx("span", {
24
32
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"column-header-title.js","names":[],"sources":["../../../src/components/kanban/column-header-title.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnHeaderTitle({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <span {...rest} className={clsx(styles.columnTitle, className)}>\n {children}\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,wBAAwB,EACtC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAK,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC3D;GACI"}
1
+ {"version":3,"file":"column-header-title.js","names":[],"sources":["../../../src/components/kanban/column-header-title.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnHeaderTitle - Title of the column\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Title text content.\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnHeaderTitle component.\n */\nexport function KanbanColumnHeaderTitle({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <span {...rest} className={clsx(styles.columnTitle, className)}>\n {children}\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAgB,wBAAwB,EACtC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAK,GAAI;EAAM,WAAW,KAAK,OAAO,aAAa,UAAU;EAC3D;GACI"}
@@ -12,14 +12,24 @@
12
12
 
13
13
  import { KanbanComponentProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime87 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime74 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column-header.d.ts
18
+ /**
19
+ * KanbanColumnHeader - Header section of a column
20
+ *
21
+ * Contains title, drag handle, and actions.
22
+ *
23
+ * @param props - {@link KanbanComponentProps}
24
+ * @param props.children - Header content (title, actions, drag handle).
25
+ * @param props.className - Optional CSS class name.
26
+ * @returns The rendered KanbanColumnHeader component.
27
+ */
18
28
  declare function KanbanColumnHeader({
19
29
  children,
20
30
  className,
21
31
  ...rest
22
- }: KanbanComponentProps): react_jsx_runtime87.JSX.Element;
32
+ }: KanbanComponentProps): react_jsx_runtime74.JSX.Element;
23
33
  //#endregion
24
34
  export { KanbanColumnHeader };
25
35
  //# sourceMappingURL=column-header.d.ts.map
@@ -19,6 +19,16 @@ import { jsx } from "react/jsx-runtime";
19
19
  import styles from "./styles.module.css";
20
20
 
21
21
  //#region src/components/kanban/column-header.tsx
22
+ /**
23
+ * KanbanColumnHeader - Header section of a column
24
+ *
25
+ * Contains title, drag handle, and actions.
26
+ *
27
+ * @param props - {@link KanbanComponentProps}
28
+ * @param props.children - Header content (title, actions, drag handle).
29
+ * @param props.className - Optional CSS class name.
30
+ * @returns The rendered KanbanColumnHeader component.
31
+ */
22
32
  function KanbanColumnHeader({ children, className, ...rest }) {
23
33
  return /* @__PURE__ */ jsx("div", {
24
34
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"column-header.js","names":[],"sources":["../../../src/components/kanban/column-header.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanColumnHeader({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnHeader, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,mBAAmB,EACjC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,cAAc,UAAU;EAC3D;GACG"}
1
+ {"version":3,"file":"column-header.js","names":[],"sources":["../../../src/components/kanban/column-header.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\n/**\n * KanbanColumnHeader - Header section of a column\n *\n * Contains title, drag handle, and actions.\n *\n * @param props - {@link KanbanComponentProps}\n * @param props.children - Header content (title, actions, drag handle).\n * @param props.className - Optional CSS class name.\n * @returns The rendered KanbanColumnHeader component.\n */\nexport function KanbanColumnHeader({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.columnHeader, className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,mBAAmB,EACjC,UACA,WACA,GAAG,QACoB;AACvB,QACE,oBAAC;EAAI,GAAI;EAAM,WAAW,KAAK,OAAO,cAAc,UAAU;EAC3D;GACG"}
@@ -12,15 +12,35 @@
12
12
 
13
13
  import { KanbanColProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime84 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime81 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/kanban/column.d.ts
18
+
19
+ /**
20
+ * KanbanColumn - Individual column that contains cards
21
+ *
22
+ * Handles drop target highlighting and card positioning.
23
+ *
24
+ * @param props - {@link KanbanColProps}
25
+ * @param props.children - Column content (header, cards).
26
+ * @param props.className - Optional CSS class name.
27
+ * @param props.column - Column data.
28
+ * @returns The rendered KanbanColumn component.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <KanbanColumn column={columnData}>
33
+ * <KanbanColumnHeader>...</KanbanColumnHeader>
34
+ * <KanbanColumnContent column={columnData}>...</KanbanColumnContent>
35
+ * </KanbanColumn>
36
+ * ```
37
+ */
18
38
  declare function KanbanColumn({
19
39
  children,
20
40
  className,
21
41
  column,
22
42
  ...rest
23
- }: KanbanColProps): react_jsx_runtime84.JSX.Element;
43
+ }: KanbanColProps): react_jsx_runtime81.JSX.Element;
24
44
  //#endregion
25
45
  export { KanbanColumn };
26
46
  //# sourceMappingURL=column.d.ts.map
@@ -20,6 +20,25 @@ import { jsx } from "react/jsx-runtime";
20
20
  import styles from "./styles.module.css";
21
21
 
22
22
  //#region src/components/kanban/column.tsx
23
+ /**
24
+ * KanbanColumn - Individual column that contains cards
25
+ *
26
+ * Handles drop target highlighting and card positioning.
27
+ *
28
+ * @param props - {@link KanbanColProps}
29
+ * @param props.children - Column content (header, cards).
30
+ * @param props.className - Optional CSS class name.
31
+ * @param props.column - Column data.
32
+ * @returns The rendered KanbanColumn component.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * <KanbanColumn column={columnData}>
37
+ * <KanbanColumnHeader>...</KanbanColumnHeader>
38
+ * <KanbanColumnContent column={columnData}>...</KanbanColumnContent>
39
+ * </KanbanColumn>
40
+ * ```
41
+ */
23
42
  function KanbanColumn({ children, className, column, ...rest }) {
24
43
  const { ref, isActive, isHighlighted } = useColumnInteractions(column);
25
44
  return /* @__PURE__ */ jsx("ol", {
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","names":[],"sources":["../../../src/components/kanban/column.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useColumnInteractions } from '../../hooks/kanban';\nimport styles from './styles.module.css';\nimport type { KanbanColProps } from './types';\n\nexport function KanbanColumn({\n children,\n className,\n column,\n ...rest\n}: KanbanColProps) {\n const { ref, isActive, isHighlighted } = useColumnInteractions(column);\n\n return (\n <ol\n {...rest}\n data-focus-visible={isHighlighted || undefined}\n data-drop-target={isActive || undefined}\n className={clsx(styles.column, className)}\n ref={ref}\n >\n {children}\n </ol>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAgB,aAAa,EAC3B,UACA,WACA,QACA,GAAG,QACc;CACjB,MAAM,EAAE,KAAK,UAAU,kBAAkB,sBAAsB,OAAO;AAEtE,QACE,oBAAC;EACC,GAAI;EACJ,sBAAoB,iBAAiB;EACrC,oBAAkB,YAAY;EAC9B,WAAW,KAAK,OAAO,QAAQ,UAAU;EACpC;EAEJ;GACE"}
1
+ {"version":3,"file":"column.js","names":[],"sources":["../../../src/components/kanban/column.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { useColumnInteractions } from '../../hooks/kanban';\nimport styles from './styles.module.css';\nimport type { KanbanColProps } from './types';\n\n/**\n * KanbanColumn - Individual column that contains cards\n *\n * Handles drop target highlighting and card positioning.\n *\n * @param props - {@link KanbanColProps}\n * @param props.children - Column content (header, cards).\n * @param props.className - Optional CSS class name.\n * @param props.column - Column data.\n * @returns The rendered KanbanColumn component.\n *\n * @example\n * ```tsx\n * <KanbanColumn column={columnData}>\n * <KanbanColumnHeader>...</KanbanColumnHeader>\n * <KanbanColumnContent column={columnData}>...</KanbanColumnContent>\n * </KanbanColumn>\n * ```\n */\nexport function KanbanColumn({\n children,\n className,\n column,\n ...rest\n}: KanbanColProps) {\n const { ref, isActive, isHighlighted } = useColumnInteractions(column);\n\n return (\n <ol\n {...rest}\n data-focus-visible={isHighlighted || undefined}\n data-drop-target={isActive || undefined}\n className={clsx(styles.column, className)}\n ref={ref}\n >\n {children}\n </ol>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,aAAa,EAC3B,UACA,WACA,QACA,GAAG,QACc;CACjB,MAAM,EAAE,KAAK,UAAU,kBAAkB,sBAAsB,OAAO;AAEtE,QACE,oBAAC;EACC,GAAI;EACJ,sBAAoB,iBAAiB;EACrC,oBAAkB,YAAY;EAC9B,WAAW,KAAK,OAAO,QAAQ,UAAU;EACpC;EAEJ;GACE"}
@@ -12,25 +12,42 @@
12
12
 
13
13
  import { KanbanCardData, KanbanColumnData } from "./types.js";
14
14
  import { ReactNode } from "react";
15
- import * as react_jsx_runtime85 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime86 from "react/jsx-runtime";
16
16
  import { DragEndEvent } from "@dnd-kit/core";
17
17
 
18
18
  //#region src/components/kanban/context.d.ts
19
+ /**
20
+ * Function signature for moving a card between columns or positions.
21
+ */
19
22
  type MoveCard = (cardId: string, targetColumnId: string, targetPosition: number, closestEdge?: 'top' | 'bottom') => void;
23
+ /**
24
+ * Context data for Kanban state and operations.
25
+ */
20
26
  interface KanbanContextData {
27
+ /** Array of all columns. */
21
28
  columns: KanbanColumnData[];
29
+ /** Callback to update column state. */
22
30
  updateColumnState: (columns: KanbanColumnData[]) => void;
31
+ /** Function to move a card. */
23
32
  moveCard: MoveCard;
33
+ /** Get a column by its ID. */
24
34
  getColumnById: (id: string) => KanbanColumnData | undefined;
35
+ /** Map of card IDs to their location info. */
25
36
  cardMap: Map<string, {
26
37
  column: KanbanColumnData;
27
38
  card: KanbanCardData;
28
39
  index: number;
29
40
  }>;
30
41
  }
42
+ /**
43
+ * Props for KanbanProvider component.
44
+ */
31
45
  interface KanbanProviderProps {
46
+ /** Array of column data. */
32
47
  columns: KanbanColumnData[];
48
+ /** Callback to update column state. */
33
49
  updateColumnState: (columns: KanbanColumnData[]) => void;
50
+ /** Child components. */
34
51
  children: ReactNode;
35
52
  }
36
53
  /**
@@ -96,6 +113,12 @@ declare function calculateClosestEdge(over: DragEndEvent['over'], active: DragEn
96
113
  * @returns Normalized drop target information or null if invalid drop
97
114
  */
98
115
  declare function parseDropTarget(event: DragEndEvent): DropTargetInfo | null;
116
+ /**
117
+ * Calculates the insert index based on target position and drop edge.
118
+ * @param targetPosition - The target position index.
119
+ * @param closestEdge - The edge to drop relative to.
120
+ * @returns The calculated insert index.
121
+ */
99
122
  declare const getInsertIndex: (targetPosition: number, closestEdge?: "top" | "bottom") => number;
100
123
  /**
101
124
  * Validates all parameters for a card move operation
@@ -109,11 +132,35 @@ declare function validateMoveCard({
109
132
  columns,
110
133
  cardMap
111
134
  }: MoveCardValidationParams): MoveCardValidationResult;
135
+ /**
136
+ * KanbanProvider - Context provider for Kanban state management
137
+ *
138
+ * Manages column and card state, handles drag-and-drop operations,
139
+ * and provides the moveCard function for card movements.
140
+ *
141
+ * @param props - {@link KanbanProviderProps}
142
+ * @param props.children - Child components.
143
+ * @param props.columns - Array of column data.
144
+ * @param props.updateColumnState - Callback to update column state.
145
+ * @returns The rendered KanbanProvider component.
146
+ *
147
+ * @example
148
+ * ```tsx
149
+ * <KanbanProvider columns={columns} updateColumnState={setColumns}>
150
+ * <Kanban>...</Kanban>
151
+ * </KanbanProvider>
152
+ * ```
153
+ */
112
154
  declare const KanbanProvider: ({
113
155
  children,
114
156
  columns,
115
157
  updateColumnState
116
- }: KanbanProviderProps) => react_jsx_runtime85.JSX.Element;
158
+ }: KanbanProviderProps) => react_jsx_runtime86.JSX.Element;
159
+ /**
160
+ * Hook to access Kanban context values.
161
+ * Must be used within a KanbanProvider.
162
+ * @returns The Kanban context data.
163
+ */
117
164
  declare const useKanban: () => KanbanContextData;
118
165
  //#endregion
119
166
  export { DropTargetInfo, KanbanContextData, KanbanProvider, KanbanProviderProps, MoveCard, MoveCardValidationParams, MoveCardValidationResult, calculateClosestEdge, getInsertIndex, parseDropTarget, useKanban, validateMoveCard };
@@ -56,6 +56,12 @@ const updatePositions = (column) => {
56
56
  c.position = index;
57
57
  });
58
58
  };
59
+ /**
60
+ * Calculates the insert index based on target position and drop edge.
61
+ * @param targetPosition - The target position index.
62
+ * @param closestEdge - The edge to drop relative to.
63
+ * @returns The calculated insert index.
64
+ */
59
65
  const getInsertIndex = (targetPosition, closestEdge) => {
60
66
  if (!closestEdge) return targetPosition;
61
67
  return closestEdge === "top" ? targetPosition : targetPosition + 1;
@@ -122,6 +128,25 @@ const KanbanContext = createContext({
122
128
  getColumnById: () => void 0,
123
129
  cardMap: /* @__PURE__ */ new Map()
124
130
  });
131
+ /**
132
+ * KanbanProvider - Context provider for Kanban state management
133
+ *
134
+ * Manages column and card state, handles drag-and-drop operations,
135
+ * and provides the moveCard function for card movements.
136
+ *
137
+ * @param props - {@link KanbanProviderProps}
138
+ * @param props.children - Child components.
139
+ * @param props.columns - Array of column data.
140
+ * @param props.updateColumnState - Callback to update column state.
141
+ * @returns The rendered KanbanProvider component.
142
+ *
143
+ * @example
144
+ * ```tsx
145
+ * <KanbanProvider columns={columns} updateColumnState={setColumns}>
146
+ * <Kanban>...</Kanban>
147
+ * </KanbanProvider>
148
+ * ```
149
+ */
125
150
  const KanbanProvider = ({ children, columns, updateColumnState }) => {
126
151
  const cardMap = useMemo(() => {
127
152
  const map = /* @__PURE__ */ new Map();
@@ -191,6 +216,11 @@ const KanbanProvider = ({ children, columns, updateColumnState }) => {
191
216
  children
192
217
  });
193
218
  };
219
+ /**
220
+ * Hook to access Kanban context values.
221
+ * Must be used within a KanbanProvider.
222
+ * @returns The Kanban context data.
223
+ */
194
224
  const useKanban = () => {
195
225
  const context = useContext(KanbanContext);
196
226
  if (!context) throw new Error("useKanban must be used within KanbanProvider");
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["errors: string[]"],"sources":["../../../src/components/kanban/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\nimport {\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport type { KanbanCardData, KanbanColumnData } from './types';\n\nexport type MoveCard = (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => void;\nexport interface KanbanContextData {\n columns: KanbanColumnData[];\n updateColumnState: (columns: KanbanColumnData[]) => void;\n moveCard: MoveCard;\n getColumnById: (id: string) => KanbanColumnData | undefined;\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\nexport interface KanbanProviderProps {\n columns: KanbanColumnData[];\n updateColumnState: (columns: KanbanColumnData[]) => void;\n children: ReactNode;\n}\n\n/**\n * Result of parsing a drop target from a drag event\n */\nexport interface DropTargetInfo {\n /** The ID of the column where the card should be dropped */\n columnId: string;\n /** The position/index within the column */\n position: number;\n /** The edge to drop relative to (undefined when dropping on empty column) */\n edge: 'top' | 'bottom' | undefined;\n}\n\n/**\n * Parameters for validating a card move operation\n */\nexport interface MoveCardValidationParams {\n cardId: string;\n targetColumnId: string;\n targetPosition: number;\n columns: KanbanColumnData[];\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Result of validating a card move operation\n * Uses discriminated union to ensure type safety based on success/failure\n */\nexport type MoveCardValidationResult =\n | {\n /** Validation succeeded */\n success: true;\n /** Adjusted target position (clamped to valid bounds) */\n adjustedPosition: number;\n /** Source card information */\n sourceInfo: {\n column: KanbanColumnData;\n card: KanbanCardData;\n index: number;\n };\n /** Target column */\n targetColumn: KanbanColumnData;\n /** Empty error array for success case */\n errors: [];\n }\n | {\n /** Validation failed */\n success: false;\n /** List of error messages describing validation failures */\n errors: string[];\n };\n\n/**\n * Calculates which edge of a drop target is closest to the dragged item\n * @param over - The drop target from dnd-kit\n * @param active - The active dragged item from dnd-kit\n * @returns 'top' if the dragged item's center is above the midpoint, 'bottom' otherwise\n */\nexport function calculateClosestEdge(\n over: DragEndEvent['over'],\n active: DragEndEvent['active'],\n): 'top' | 'bottom' {\n if (!over?.rect) {\n return 'bottom';\n }\n\n const translated = active?.rect?.current?.translated;\n if (!translated) {\n return 'bottom';\n }\n\n const overRect = over.rect;\n const midpoint = overRect.top + overRect.height / 2;\n const draggedItemCenter = translated.top + translated.height / 2;\n\n return draggedItemCenter < midpoint ? 'top' : 'bottom';\n}\n\n/**\n * Parses a drag event to determine where a card should be dropped\n * @param event - The drag end event from dnd-kit\n * @returns Normalized drop target information or null if invalid drop\n */\nexport function parseDropTarget(event: DragEndEvent): DropTargetInfo | null {\n const { active, over } = event;\n\n if (!over) {\n return null;\n }\n\n const overData = over.data.current;\n\n if (!overData) {\n return null;\n }\n\n // Dropping on a column (empty space or column container)\n if (Array.isArray(overData.cards)) {\n return {\n columnId: overData.id,\n position: overData.cards.length,\n edge: undefined,\n };\n }\n\n // Dropping on a card position\n const edge = calculateClosestEdge(over, active);\n return {\n columnId: overData.columnId,\n position: overData.position,\n edge,\n };\n}\n\nconst updatePositions = (column: KanbanColumnData) => {\n column.cards.forEach((c, index) => {\n c.position = index;\n });\n};\n\nexport const getInsertIndex = (\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => {\n // If no edge is specified, use the target position as-is\n if (!closestEdge) {\n return targetPosition;\n }\n\n // If dropping on top edge, insert at the target position (before the card)\n // If dropping on bottom edge, insert after the target position (position + 1)\n return closestEdge === 'top' ? targetPosition : targetPosition + 1;\n};\n\n/**\n * Validates all parameters for a card move operation\n * @param params - Validation parameters\n * @returns Validation result with success flag, adjusted values, and errors\n */\nexport function validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n}: MoveCardValidationParams): MoveCardValidationResult {\n const errors: string[] = [];\n let adjustedPosition = targetPosition;\n\n // 1. Type validation\n if (typeof cardId !== 'string' || !cardId.trim()) {\n errors.push('[Kanban] moveCard: cardId must be a non-empty string');\n }\n\n if (typeof targetColumnId !== 'string' || !targetColumnId.trim()) {\n errors.push('[Kanban] moveCard: targetColumnId must be a non-empty string');\n }\n\n if (typeof targetPosition !== 'number' || !Number.isFinite(targetPosition)) {\n errors.push('[Kanban] moveCard: targetPosition must be a finite number');\n }\n\n // Early return if type validation fails\n if (errors.length > 0) {\n return { success: false, errors };\n }\n\n // 2. Card existence validation\n const sourceInfo = cardMap.get(cardId);\n if (!sourceInfo) {\n errors.push(`[Kanban] moveCard: Card \"${cardId}\" not found in any column`);\n return { success: false, errors };\n }\n\n // 3. Target column existence validation\n const targetColumn = columns.find((col) => col.id === targetColumnId);\n if (!targetColumn) {\n errors.push(\n `[Kanban] moveCard: Target column \"${targetColumnId}\" not found`,\n );\n return { success: false, errors };\n }\n\n // 4. Position bounds validation (with adjustment)\n if (adjustedPosition < 0) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) cannot be negative. Using 0 instead.`,\n );\n adjustedPosition = 0;\n }\n\n const maxPosition = targetColumn.cards.length;\n if (adjustedPosition > maxPosition) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) exceeds maximum (${maxPosition}). ` +\n `Using ${maxPosition} instead.`,\n );\n adjustedPosition = maxPosition;\n }\n\n // 5. canDrop validation\n if (targetColumn.canDrop === false) {\n errors.push(\n `[Kanban] moveCard: Column \"${targetColumnId}\" does not accept drops`,\n );\n return { success: false, errors };\n }\n\n // All validations passed\n return {\n success: true,\n adjustedPosition,\n sourceInfo,\n targetColumn,\n errors: [],\n };\n}\n\nconst KanbanContext = createContext<KanbanContextData>({\n columns: [],\n updateColumnState: () => null,\n moveCard: () => null,\n getColumnById: () => undefined,\n cardMap: new Map(),\n});\n\nexport const KanbanProvider = ({\n children,\n columns,\n updateColumnState,\n}: KanbanProviderProps) => {\n // Create a lookup map for O(1) card access\n const cardMap = useMemo(() => {\n const map = new Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >();\n\n columns.forEach((column) => {\n column.cards.forEach((card, index) => {\n map.set(card.id, { column, card, index });\n });\n });\n\n return map;\n }, [columns]);\n\n const moveCard = useCallback(\n (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n ) => {\n // Validate all inputs\n const validation = validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n });\n\n // Handle validation failure\n if (!validation.success) {\n validation.errors.forEach((error) => {\n console.error(error);\n });\n return false;\n }\n\n // Extract validated data - TypeScript knows these are defined after success check\n const { adjustedPosition, sourceInfo: source, targetColumn } = validation;\n\n const newColumns = [...columns];\n const isSameColumn = source.column.id === targetColumn.id;\n\n // Remove card from source column\n const newSourceColumn = {\n ...source.column,\n cards: source.column.cards.filter((_, i) => i !== source.index),\n };\n\n // Calculate insert index using adjusted position\n let index = getInsertIndex(adjustedPosition, closestEdge);\n\n // If moving within the same column and moving down, adjust index\n if (isSameColumn && source.index < index) {\n index -= 1;\n }\n\n // Insert card into target column\n const newTargetColumn = isSameColumn\n ? newSourceColumn\n : { ...targetColumn, cards: [...targetColumn.cards] };\n\n newTargetColumn.cards.splice(index, 0, {\n ...source.card,\n columnId: targetColumnId,\n });\n\n // Update positions\n updatePositions(newTargetColumn);\n if (!isSameColumn) {\n updatePositions(newSourceColumn);\n }\n\n // Update the columns array with the modified columns\n const updatedColumns = newColumns.map((col) => {\n if (col.id === source.column.id) {\n return newSourceColumn;\n }\n if (col.id === targetColumn.id) {\n return newTargetColumn;\n }\n return col;\n });\n\n updateColumnState(updatedColumns);\n },\n [columns, updateColumnState, cardMap],\n );\n\n const getColumnById = useCallback(\n (id: string) => columns.find((c) => c.id === id),\n [columns],\n );\n\n return (\n <KanbanContext.Provider\n value={{ columns, updateColumnState, moveCard, getColumnById, cardMap }}\n >\n {children}\n </KanbanContext.Provider>\n );\n};\n\nexport const useKanban = () => {\n const context = useContext(KanbanContext);\n if (!context) {\n throw new Error('useKanban must be used within KanbanProvider');\n }\n return context;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"context.js","names":["errors: string[]"],"sources":["../../../src/components/kanban/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\nimport {\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport type { DragEndEvent } from '@dnd-kit/core';\nimport type { KanbanCardData, KanbanColumnData } from './types';\n\n/**\n * Function signature for moving a card between columns or positions.\n */\nexport type MoveCard = (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => void;\n\n/**\n * Context data for Kanban state and operations.\n */\nexport interface KanbanContextData {\n /** Array of all columns. */\n columns: KanbanColumnData[];\n /** Callback to update column state. */\n updateColumnState: (columns: KanbanColumnData[]) => void;\n /** Function to move a card. */\n moveCard: MoveCard;\n /** Get a column by its ID. */\n getColumnById: (id: string) => KanbanColumnData | undefined;\n /** Map of card IDs to their location info. */\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Props for KanbanProvider component.\n */\nexport interface KanbanProviderProps {\n /** Array of column data. */\n columns: KanbanColumnData[];\n /** Callback to update column state. */\n updateColumnState: (columns: KanbanColumnData[]) => void;\n /** Child components. */\n children: ReactNode;\n}\n\n/**\n * Result of parsing a drop target from a drag event\n */\nexport interface DropTargetInfo {\n /** The ID of the column where the card should be dropped */\n columnId: string;\n /** The position/index within the column */\n position: number;\n /** The edge to drop relative to (undefined when dropping on empty column) */\n edge: 'top' | 'bottom' | undefined;\n}\n\n/**\n * Parameters for validating a card move operation\n */\nexport interface MoveCardValidationParams {\n cardId: string;\n targetColumnId: string;\n targetPosition: number;\n columns: KanbanColumnData[];\n cardMap: Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >;\n}\n\n/**\n * Result of validating a card move operation\n * Uses discriminated union to ensure type safety based on success/failure\n */\nexport type MoveCardValidationResult =\n | {\n /** Validation succeeded */\n success: true;\n /** Adjusted target position (clamped to valid bounds) */\n adjustedPosition: number;\n /** Source card information */\n sourceInfo: {\n column: KanbanColumnData;\n card: KanbanCardData;\n index: number;\n };\n /** Target column */\n targetColumn: KanbanColumnData;\n /** Empty error array for success case */\n errors: [];\n }\n | {\n /** Validation failed */\n success: false;\n /** List of error messages describing validation failures */\n errors: string[];\n };\n\n/**\n * Calculates which edge of a drop target is closest to the dragged item\n * @param over - The drop target from dnd-kit\n * @param active - The active dragged item from dnd-kit\n * @returns 'top' if the dragged item's center is above the midpoint, 'bottom' otherwise\n */\nexport function calculateClosestEdge(\n over: DragEndEvent['over'],\n active: DragEndEvent['active'],\n): 'top' | 'bottom' {\n if (!over?.rect) {\n return 'bottom';\n }\n\n const translated = active?.rect?.current?.translated;\n if (!translated) {\n return 'bottom';\n }\n\n const overRect = over.rect;\n const midpoint = overRect.top + overRect.height / 2;\n const draggedItemCenter = translated.top + translated.height / 2;\n\n return draggedItemCenter < midpoint ? 'top' : 'bottom';\n}\n\n/**\n * Parses a drag event to determine where a card should be dropped\n * @param event - The drag end event from dnd-kit\n * @returns Normalized drop target information or null if invalid drop\n */\nexport function parseDropTarget(event: DragEndEvent): DropTargetInfo | null {\n const { active, over } = event;\n\n if (!over) {\n return null;\n }\n\n const overData = over.data.current;\n\n if (!overData) {\n return null;\n }\n\n // Dropping on a column (empty space or column container)\n if (Array.isArray(overData.cards)) {\n return {\n columnId: overData.id,\n position: overData.cards.length,\n edge: undefined,\n };\n }\n\n // Dropping on a card position\n const edge = calculateClosestEdge(over, active);\n return {\n columnId: overData.columnId,\n position: overData.position,\n edge,\n };\n}\n\nconst updatePositions = (column: KanbanColumnData) => {\n column.cards.forEach((c, index) => {\n c.position = index;\n });\n};\n\n/**\n * Calculates the insert index based on target position and drop edge.\n * @param targetPosition - The target position index.\n * @param closestEdge - The edge to drop relative to.\n * @returns The calculated insert index.\n */\nexport const getInsertIndex = (\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n) => {\n // If no edge is specified, use the target position as-is\n if (!closestEdge) {\n return targetPosition;\n }\n\n // If dropping on top edge, insert at the target position (before the card)\n // If dropping on bottom edge, insert after the target position (position + 1)\n return closestEdge === 'top' ? targetPosition : targetPosition + 1;\n};\n\n/**\n * Validates all parameters for a card move operation\n * @param params - Validation parameters\n * @returns Validation result with success flag, adjusted values, and errors\n */\nexport function validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n}: MoveCardValidationParams): MoveCardValidationResult {\n const errors: string[] = [];\n let adjustedPosition = targetPosition;\n\n // 1. Type validation\n if (typeof cardId !== 'string' || !cardId.trim()) {\n errors.push('[Kanban] moveCard: cardId must be a non-empty string');\n }\n\n if (typeof targetColumnId !== 'string' || !targetColumnId.trim()) {\n errors.push('[Kanban] moveCard: targetColumnId must be a non-empty string');\n }\n\n if (typeof targetPosition !== 'number' || !Number.isFinite(targetPosition)) {\n errors.push('[Kanban] moveCard: targetPosition must be a finite number');\n }\n\n // Early return if type validation fails\n if (errors.length > 0) {\n return { success: false, errors };\n }\n\n // 2. Card existence validation\n const sourceInfo = cardMap.get(cardId);\n if (!sourceInfo) {\n errors.push(`[Kanban] moveCard: Card \"${cardId}\" not found in any column`);\n return { success: false, errors };\n }\n\n // 3. Target column existence validation\n const targetColumn = columns.find((col) => col.id === targetColumnId);\n if (!targetColumn) {\n errors.push(\n `[Kanban] moveCard: Target column \"${targetColumnId}\" not found`,\n );\n return { success: false, errors };\n }\n\n // 4. Position bounds validation (with adjustment)\n if (adjustedPosition < 0) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) cannot be negative. Using 0 instead.`,\n );\n adjustedPosition = 0;\n }\n\n const maxPosition = targetColumn.cards.length;\n if (adjustedPosition > maxPosition) {\n console.warn(\n `[Kanban] moveCard: targetPosition (${adjustedPosition}) exceeds maximum (${maxPosition}). ` +\n `Using ${maxPosition} instead.`,\n );\n adjustedPosition = maxPosition;\n }\n\n // 5. canDrop validation\n if (targetColumn.canDrop === false) {\n errors.push(\n `[Kanban] moveCard: Column \"${targetColumnId}\" does not accept drops`,\n );\n return { success: false, errors };\n }\n\n // All validations passed\n return {\n success: true,\n adjustedPosition,\n sourceInfo,\n targetColumn,\n errors: [],\n };\n}\n\nconst KanbanContext = createContext<KanbanContextData>({\n columns: [],\n updateColumnState: () => null,\n moveCard: () => null,\n getColumnById: () => undefined,\n cardMap: new Map(),\n});\n\n/**\n * KanbanProvider - Context provider for Kanban state management\n *\n * Manages column and card state, handles drag-and-drop operations,\n * and provides the moveCard function for card movements.\n *\n * @param props - {@link KanbanProviderProps}\n * @param props.children - Child components.\n * @param props.columns - Array of column data.\n * @param props.updateColumnState - Callback to update column state.\n * @returns The rendered KanbanProvider component.\n *\n * @example\n * ```tsx\n * <KanbanProvider columns={columns} updateColumnState={setColumns}>\n * <Kanban>...</Kanban>\n * </KanbanProvider>\n * ```\n */\nexport const KanbanProvider = ({\n children,\n columns,\n updateColumnState,\n}: KanbanProviderProps) => {\n // Create a lookup map for O(1) card access\n const cardMap = useMemo(() => {\n const map = new Map<\n string,\n { column: KanbanColumnData; card: KanbanCardData; index: number }\n >();\n\n columns.forEach((column) => {\n column.cards.forEach((card, index) => {\n map.set(card.id, { column, card, index });\n });\n });\n\n return map;\n }, [columns]);\n\n const moveCard = useCallback(\n (\n cardId: string,\n targetColumnId: string,\n targetPosition: number,\n closestEdge?: 'top' | 'bottom',\n ) => {\n // Validate all inputs\n const validation = validateMoveCard({\n cardId,\n targetColumnId,\n targetPosition,\n columns,\n cardMap,\n });\n\n // Handle validation failure\n if (!validation.success) {\n validation.errors.forEach((error) => {\n console.error(error);\n });\n return false;\n }\n\n // Extract validated data - TypeScript knows these are defined after success check\n const { adjustedPosition, sourceInfo: source, targetColumn } = validation;\n\n const newColumns = [...columns];\n const isSameColumn = source.column.id === targetColumn.id;\n\n // Remove card from source column\n const newSourceColumn = {\n ...source.column,\n cards: source.column.cards.filter((_, i) => i !== source.index),\n };\n\n // Calculate insert index using adjusted position\n let index = getInsertIndex(adjustedPosition, closestEdge);\n\n // If moving within the same column and moving down, adjust index\n if (isSameColumn && source.index < index) {\n index -= 1;\n }\n\n // Insert card into target column\n const newTargetColumn = isSameColumn\n ? newSourceColumn\n : { ...targetColumn, cards: [...targetColumn.cards] };\n\n newTargetColumn.cards.splice(index, 0, {\n ...source.card,\n columnId: targetColumnId,\n });\n\n // Update positions\n updatePositions(newTargetColumn);\n if (!isSameColumn) {\n updatePositions(newSourceColumn);\n }\n\n // Update the columns array with the modified columns\n const updatedColumns = newColumns.map((col) => {\n if (col.id === source.column.id) {\n return newSourceColumn;\n }\n if (col.id === targetColumn.id) {\n return newTargetColumn;\n }\n return col;\n });\n\n updateColumnState(updatedColumns);\n },\n [columns, updateColumnState, cardMap],\n );\n\n const getColumnById = useCallback(\n (id: string) => columns.find((c) => c.id === id),\n [columns],\n );\n\n return (\n <KanbanContext.Provider\n value={{ columns, updateColumnState, moveCard, getColumnById, cardMap }}\n >\n {children}\n </KanbanContext.Provider>\n );\n};\n\n/**\n * Hook to access Kanban context values.\n * Must be used within a KanbanProvider.\n * @returns The Kanban context data.\n */\nexport const useKanban = () => {\n const context = useContext(KanbanContext);\n if (!context) {\n throw new Error('useKanban must be used within KanbanProvider');\n }\n return context;\n};\n"],"mappings":"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"}