@accelint/design-toolkit 7.0.1 → 8.1.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 (685) hide show
  1. package/README.md +1 -1
  2. package/catalog-info.yaml +12 -6
  3. package/dist/components/accordion/context.d.ts +0 -2
  4. package/dist/components/accordion/group.d.ts +0 -2
  5. package/dist/components/accordion/group.js +1 -1
  6. package/dist/components/accordion/group.js.map +1 -1
  7. package/dist/components/accordion/header.d.ts +0 -2
  8. package/dist/components/accordion/header.js +1 -1
  9. package/dist/components/accordion/header.js.map +1 -1
  10. package/dist/components/accordion/index.d.ts +0 -2
  11. package/dist/components/accordion/index.js +1 -1
  12. package/dist/components/accordion/index.js.map +1 -1
  13. package/dist/components/accordion/panel.d.ts +0 -2
  14. package/dist/components/accordion/panel.js +1 -1
  15. package/dist/components/accordion/panel.js.map +1 -1
  16. package/dist/components/accordion/styles.module.css +65 -0
  17. package/dist/components/accordion/trigger.d.ts +0 -2
  18. package/dist/components/accordion/trigger.js +1 -1
  19. package/dist/components/accordion/trigger.js.map +1 -1
  20. package/dist/components/accordion/types.d.ts +5 -5
  21. package/dist/components/action-bar/index.d.ts +1 -1
  22. package/dist/components/action-bar/index.js +1 -1
  23. package/dist/components/action-bar/index.js.map +1 -1
  24. package/dist/components/action-bar/styles.module.css +27 -0
  25. package/dist/components/action-bar/types.d.ts +3 -1
  26. package/dist/components/avatar/context.d.ts +0 -3
  27. package/dist/components/avatar/index.d.ts +0 -3
  28. package/dist/components/avatar/index.js +1 -1
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/avatar/styles.module.css +45 -0
  31. package/dist/components/avatar/types.d.ts +1 -4
  32. package/dist/components/badge/context.d.ts +0 -2
  33. package/dist/components/badge/index.d.ts +0 -2
  34. package/dist/components/badge/index.js +1 -1
  35. package/dist/components/badge/index.js.map +1 -1
  36. package/dist/components/badge/styles.module.css +67 -0
  37. package/dist/components/badge/types.d.ts +3 -4
  38. package/dist/components/breadcrumbs/index.js +1 -1
  39. package/dist/components/breadcrumbs/index.js.map +1 -1
  40. package/dist/components/breadcrumbs/item.js +1 -1
  41. package/dist/components/breadcrumbs/item.js.map +1 -1
  42. package/dist/components/breadcrumbs/styles.module.css +41 -0
  43. package/dist/components/button/context.d.ts +0 -3
  44. package/dist/components/button/index.d.ts +0 -3
  45. package/dist/components/button/index.js +1 -1
  46. package/dist/components/button/index.js.map +1 -1
  47. package/dist/components/button/link.d.ts +0 -3
  48. package/dist/components/button/link.js +1 -1
  49. package/dist/components/button/link.js.map +1 -1
  50. package/dist/components/button/styles.module.css +917 -0
  51. package/dist/components/button/toggle.d.ts +0 -3
  52. package/dist/components/button/toggle.js +1 -1
  53. package/dist/components/button/toggle.js.map +1 -1
  54. package/dist/components/button/types.d.ts +6 -6
  55. package/dist/components/checkbox/group.js +1 -1
  56. package/dist/components/checkbox/group.js.map +1 -1
  57. package/dist/components/checkbox/index.js +1 -1
  58. package/dist/components/checkbox/index.js.map +1 -1
  59. package/dist/components/checkbox/styles.module.css +111 -0
  60. package/dist/components/chip/context.d.ts +3 -6
  61. package/dist/components/chip/context.js +1 -1
  62. package/dist/components/chip/context.js.map +1 -1
  63. package/dist/components/chip/deletable.d.ts +0 -3
  64. package/dist/components/chip/deletable.js +1 -1
  65. package/dist/components/chip/deletable.js.map +1 -1
  66. package/dist/components/chip/index.d.ts +0 -3
  67. package/dist/components/chip/index.js +1 -1
  68. package/dist/components/chip/index.js.map +1 -1
  69. package/dist/components/chip/list.d.ts +0 -3
  70. package/dist/components/chip/list.js +1 -1
  71. package/dist/components/chip/list.js.map +1 -1
  72. package/dist/components/chip/selectable.d.ts +0 -3
  73. package/dist/components/chip/selectable.js +1 -1
  74. package/dist/components/chip/selectable.js.map +1 -1
  75. package/dist/components/chip/styles.module.css +129 -0
  76. package/dist/components/chip/types.d.ts +7 -8
  77. package/dist/components/classification-badge/context.d.ts +1 -2
  78. package/dist/components/classification-badge/index.d.ts +1 -2
  79. package/dist/components/classification-badge/index.js +1 -1
  80. package/dist/components/classification-badge/index.js.map +1 -1
  81. package/dist/components/classification-badge/styles.module.css +63 -0
  82. package/dist/components/classification-badge/types.d.ts +3 -5
  83. package/dist/components/classification-banner/context.d.ts +0 -2
  84. package/dist/components/classification-banner/index.d.ts +0 -2
  85. package/dist/components/classification-banner/index.js +1 -1
  86. package/dist/components/classification-banner/index.js.map +1 -1
  87. package/dist/components/classification-banner/styles.module.css +55 -0
  88. package/dist/components/classification-banner/types.d.ts +4 -5
  89. package/dist/components/color-picker/index.js +1 -1
  90. package/dist/components/color-picker/index.js.map +1 -1
  91. package/dist/components/color-picker/styles.module.css +43 -0
  92. package/dist/components/combobox-field/context.d.ts +0 -3
  93. package/dist/components/combobox-field/index.d.ts +0 -3
  94. package/dist/components/combobox-field/index.js +1 -1
  95. package/dist/components/combobox-field/index.js.map +1 -1
  96. package/dist/components/combobox-field/styles.module.css +101 -0
  97. package/dist/components/combobox-field/types.d.ts +0 -3
  98. package/dist/components/coordinate-field/context.d.ts +77 -0
  99. package/dist/components/coordinate-field/context.js +2 -0
  100. package/dist/components/coordinate-field/context.js.map +1 -0
  101. package/dist/components/coordinate-field/coordinate-utils.d.ts +282 -0
  102. package/dist/components/coordinate-field/coordinate-utils.js +2 -0
  103. package/dist/components/coordinate-field/coordinate-utils.js.map +1 -0
  104. package/dist/components/coordinate-field/index.d.ts +66 -0
  105. package/dist/components/coordinate-field/index.js +4 -0
  106. package/dist/components/coordinate-field/index.js.map +1 -0
  107. package/dist/components/coordinate-field/segment-configs.d.ts +163 -0
  108. package/dist/components/coordinate-field/segment-configs.js +2 -0
  109. package/dist/components/coordinate-field/segment-configs.js.map +1 -0
  110. package/dist/components/coordinate-field/segment.d.ts +39 -0
  111. package/dist/components/coordinate-field/segment.js +4 -0
  112. package/dist/components/coordinate-field/segment.js.map +1 -0
  113. package/dist/components/coordinate-field/styles.module.css +129 -0
  114. package/dist/components/coordinate-field/types.d.ts +194 -0
  115. package/dist/components/coordinate-field/types.js +2 -0
  116. package/dist/components/coordinate-field/types.js.map +1 -0
  117. package/dist/components/coordinate-field/width-utils.d.ts +29 -0
  118. package/dist/components/coordinate-field/width-utils.js +2 -0
  119. package/dist/components/coordinate-field/width-utils.js.map +1 -0
  120. package/dist/components/date-field/index.d.ts +0 -2
  121. package/dist/components/date-field/index.js +1 -1
  122. package/dist/components/date-field/index.js.map +1 -1
  123. package/dist/components/date-field/styles.module.css +103 -0
  124. package/dist/components/date-field/types.d.ts +1 -3
  125. package/dist/components/details-list/context.d.ts +0 -2
  126. package/dist/components/details-list/index.d.ts +0 -2
  127. package/dist/components/details-list/index.js +1 -1
  128. package/dist/components/details-list/index.js.map +1 -1
  129. package/dist/components/details-list/label.d.ts +0 -2
  130. package/dist/components/details-list/styles.module.css +52 -0
  131. package/dist/components/details-list/types.d.ts +2 -3
  132. package/dist/components/details-list/value.d.ts +0 -2
  133. package/dist/components/dialog/content.js +1 -1
  134. package/dist/components/dialog/content.js.map +1 -1
  135. package/dist/components/dialog/footer.js +1 -1
  136. package/dist/components/dialog/footer.js.map +1 -1
  137. package/dist/components/dialog/index.js +1 -1
  138. package/dist/components/dialog/index.js.map +1 -1
  139. package/dist/components/dialog/styles.module.css +86 -0
  140. package/dist/components/dialog/title.js +1 -1
  141. package/dist/components/dialog/title.js.map +1 -1
  142. package/dist/components/dialog/trigger.d.ts +5 -1
  143. package/dist/components/dialog/trigger.js +1 -1
  144. package/dist/components/dialog/trigger.js.map +1 -1
  145. package/dist/components/divider/index.js +1 -1
  146. package/dist/components/divider/index.js.map +1 -1
  147. package/dist/components/divider/styles.module.css +44 -0
  148. package/dist/components/drawer/back.js +1 -1
  149. package/dist/components/drawer/back.js.map +1 -1
  150. package/dist/components/drawer/close.js +1 -1
  151. package/dist/components/drawer/close.js.map +1 -1
  152. package/dist/components/drawer/content.js +1 -3
  153. package/dist/components/drawer/content.js.map +1 -1
  154. package/dist/components/drawer/context.d.ts +0 -4
  155. package/dist/components/drawer/footer.js +1 -3
  156. package/dist/components/drawer/footer.js.map +1 -1
  157. package/dist/components/drawer/header-title.d.ts +0 -4
  158. package/dist/components/drawer/header-title.js +1 -3
  159. package/dist/components/drawer/header-title.js.map +1 -1
  160. package/dist/components/drawer/header.js +1 -1
  161. package/dist/components/drawer/header.js.map +1 -1
  162. package/dist/components/drawer/index.d.ts +0 -4
  163. package/dist/components/drawer/index.js +1 -1
  164. package/dist/components/drawer/index.js.map +1 -1
  165. package/dist/components/drawer/layout-main.js +1 -3
  166. package/dist/components/drawer/layout-main.js.map +1 -1
  167. package/dist/components/drawer/layout.d.ts +0 -4
  168. package/dist/components/drawer/layout.js +1 -3
  169. package/dist/components/drawer/layout.js.map +1 -1
  170. package/dist/components/drawer/menu-item.d.ts +0 -4
  171. package/dist/components/drawer/menu-item.js +1 -1
  172. package/dist/components/drawer/menu-item.js.map +1 -1
  173. package/dist/components/drawer/menu.d.ts +0 -4
  174. package/dist/components/drawer/menu.js +1 -3
  175. package/dist/components/drawer/menu.js.map +1 -1
  176. package/dist/components/drawer/panel.js +1 -3
  177. package/dist/components/drawer/panel.js.map +1 -1
  178. package/dist/components/drawer/styles.module.css +304 -0
  179. package/dist/components/drawer/trigger.d.ts +0 -4
  180. package/dist/components/drawer/trigger.js +1 -1
  181. package/dist/components/drawer/trigger.js.map +1 -1
  182. package/dist/components/drawer/types.d.ts +3 -5
  183. package/dist/components/drawer/view.js +1 -1
  184. package/dist/components/drawer/view.js.map +1 -1
  185. package/dist/components/flashcard/index.d.ts +57 -0
  186. package/dist/components/flashcard/index.js +4 -0
  187. package/dist/components/flashcard/index.js.map +1 -0
  188. package/dist/components/flashcard/styles.module.css +60 -0
  189. package/dist/components/flashcard/types.d.ts +13 -0
  190. package/dist/components/hero/index.js +1 -1
  191. package/dist/components/hero/index.js.map +1 -1
  192. package/dist/components/hero/styles.module.css +51 -0
  193. package/dist/components/hotkey/context.d.ts +0 -2
  194. package/dist/components/hotkey/index.d.ts +0 -2
  195. package/dist/components/hotkey/index.js +1 -1
  196. package/dist/components/hotkey/index.js.map +1 -1
  197. package/dist/components/hotkey/set.d.ts +6 -0
  198. package/dist/components/hotkey/set.js +4 -0
  199. package/dist/components/hotkey/set.js.map +1 -0
  200. package/dist/components/hotkey/styles.module.css +36 -0
  201. package/dist/components/hotkey/types.d.ts +5 -6
  202. package/dist/components/icon/index.js +1 -1
  203. package/dist/components/icon/index.js.map +1 -1
  204. package/dist/components/icon/styles.module.css +38 -0
  205. package/dist/components/input/context.d.ts +0 -4
  206. package/dist/components/input/index.d.ts +0 -4
  207. package/dist/components/input/index.js +1 -1
  208. package/dist/components/input/index.js.map +1 -1
  209. package/dist/components/input/styles.module.css +175 -0
  210. package/dist/components/input/types.d.ts +7 -6
  211. package/dist/components/kanban/card-body.d.ts +12 -0
  212. package/dist/components/kanban/card-body.js +4 -0
  213. package/dist/components/kanban/card-body.js.map +1 -0
  214. package/dist/components/kanban/card-header-actions.d.ts +12 -0
  215. package/dist/components/kanban/card-header-actions.js +4 -0
  216. package/dist/components/kanban/card-header-actions.js.map +1 -0
  217. package/dist/components/kanban/card-header-title.d.ts +12 -0
  218. package/dist/components/kanban/card-header-title.js +4 -0
  219. package/dist/components/kanban/card-header-title.js.map +1 -0
  220. package/dist/components/kanban/card-header.d.ts +12 -0
  221. package/dist/components/kanban/card-header.js +4 -0
  222. package/dist/components/kanban/card-header.js.map +1 -0
  223. package/dist/components/kanban/card.d.ts +12 -0
  224. package/dist/components/kanban/card.js +4 -0
  225. package/dist/components/kanban/card.js.map +1 -0
  226. package/dist/components/kanban/column-actions.d.ts +12 -0
  227. package/dist/components/kanban/column-actions.js +4 -0
  228. package/dist/components/kanban/column-actions.js.map +1 -0
  229. package/dist/components/kanban/column-container.d.ts +12 -0
  230. package/dist/components/kanban/column-container.js +4 -0
  231. package/dist/components/kanban/column-container.js.map +1 -0
  232. package/dist/components/kanban/column-content.d.ts +12 -0
  233. package/dist/components/kanban/column-content.js +4 -0
  234. package/dist/components/kanban/column-content.js.map +1 -0
  235. package/dist/components/kanban/column-header-actions.d.ts +12 -0
  236. package/dist/components/kanban/column-header-actions.js +4 -0
  237. package/dist/components/kanban/column-header-actions.js.map +1 -0
  238. package/dist/components/kanban/column-header-drag-handle.d.ts +5 -0
  239. package/dist/components/kanban/column-header-drag-handle.js +4 -0
  240. package/dist/components/kanban/column-header-drag-handle.js.map +1 -0
  241. package/dist/components/kanban/column-header-title.d.ts +12 -0
  242. package/dist/components/kanban/column-header-title.js +4 -0
  243. package/dist/components/kanban/column-header-title.js.map +1 -0
  244. package/dist/components/kanban/column-header.d.ts +12 -0
  245. package/dist/components/kanban/column-header.js +4 -0
  246. package/dist/components/kanban/column-header.js.map +1 -0
  247. package/dist/components/kanban/column.d.ts +12 -0
  248. package/dist/components/kanban/column.js +4 -0
  249. package/dist/components/kanban/column.js.map +1 -0
  250. package/dist/components/kanban/context.d.ts +101 -0
  251. package/dist/components/kanban/context.js +2 -0
  252. package/dist/components/kanban/context.js.map +1 -0
  253. package/dist/components/kanban/header-actions.d.ts +12 -0
  254. package/dist/components/kanban/header-actions.js +4 -0
  255. package/dist/components/kanban/header-actions.js.map +1 -0
  256. package/dist/components/kanban/header-search.d.ts +12 -0
  257. package/dist/components/kanban/header-search.js +4 -0
  258. package/dist/components/kanban/header-search.js.map +1 -0
  259. package/dist/components/kanban/header-title.d.ts +12 -0
  260. package/dist/components/kanban/header-title.js +4 -0
  261. package/dist/components/kanban/header-title.js.map +1 -0
  262. package/dist/components/kanban/header.d.ts +12 -0
  263. package/dist/components/kanban/header.js +4 -0
  264. package/dist/components/kanban/header.js.map +1 -0
  265. package/dist/components/kanban/index.d.ts +9 -0
  266. package/dist/components/kanban/index.js +2 -0
  267. package/dist/components/kanban/index.js.map +1 -0
  268. package/dist/components/kanban/kanban.d.ts +18 -0
  269. package/dist/components/kanban/kanban.js +4 -0
  270. package/dist/components/kanban/kanban.js.map +1 -0
  271. package/dist/components/kanban/mock-data.d.ts +14 -0
  272. package/dist/components/kanban/mock-data.js +2 -0
  273. package/dist/components/kanban/mock-data.js.map +1 -0
  274. package/dist/components/kanban/styles.module.css +117 -0
  275. package/dist/components/kanban/types.d.ts +50 -0
  276. package/dist/components/kanban/types.js +2 -0
  277. package/dist/components/kanban/types.js.map +1 -0
  278. package/dist/components/label/index.js +1 -1
  279. package/dist/components/label/index.js.map +1 -1
  280. package/dist/components/label/styles.module.css +23 -0
  281. package/dist/components/lines/index.d.ts +0 -2
  282. package/dist/components/lines/index.js +1 -1
  283. package/dist/components/lines/index.js.map +1 -1
  284. package/dist/components/lines/styles.module.css +95 -0
  285. package/dist/components/lines/types.d.ts +4 -5
  286. package/dist/components/link/index.js +1 -1
  287. package/dist/components/link/index.js.map +1 -1
  288. package/dist/components/link/styles.module.css +37 -0
  289. package/dist/components/menu/context.d.ts +0 -2
  290. package/dist/components/menu/index.d.ts +0 -2
  291. package/dist/components/menu/index.js +1 -1
  292. package/dist/components/menu/index.js.map +1 -1
  293. package/dist/components/menu/item-description.js +1 -1
  294. package/dist/components/menu/item-description.js.map +1 -1
  295. package/dist/components/menu/item-label.js +1 -1
  296. package/dist/components/menu/item-label.js.map +1 -1
  297. package/dist/components/menu/item.d.ts +0 -2
  298. package/dist/components/menu/item.js +1 -1
  299. package/dist/components/menu/item.js.map +1 -1
  300. package/dist/components/menu/section.d.ts +0 -2
  301. package/dist/components/menu/section.js +1 -1
  302. package/dist/components/menu/section.js.map +1 -1
  303. package/dist/components/menu/separator.js +1 -1
  304. package/dist/components/menu/separator.js.map +1 -1
  305. package/dist/components/menu/styles.module.css +415 -0
  306. package/dist/components/menu/trigger.d.ts +5 -1
  307. package/dist/components/menu/trigger.js +1 -1
  308. package/dist/components/menu/trigger.js.map +1 -1
  309. package/dist/components/menu/types.d.ts +2 -3
  310. package/dist/components/notice/index.d.ts +0 -3
  311. package/dist/components/notice/index.js +1 -1
  312. package/dist/components/notice/index.js.map +1 -1
  313. package/dist/components/notice/list.d.ts +0 -3
  314. package/dist/components/notice/list.js +1 -1
  315. package/dist/components/notice/list.js.map +1 -1
  316. package/dist/components/notice/notice-icon.d.ts +0 -3
  317. package/dist/components/notice/styles.module.css +133 -0
  318. package/dist/components/notice/types.d.ts +3 -6
  319. package/dist/components/options/index.js +1 -1
  320. package/dist/components/options/index.js.map +1 -1
  321. package/dist/components/options/item-content.d.ts +2 -5
  322. package/dist/components/options/item-content.js +1 -3
  323. package/dist/components/options/item-content.js.map +1 -1
  324. package/dist/components/options/item-description.d.ts +2 -5
  325. package/dist/components/options/item-description.js +1 -3
  326. package/dist/components/options/item-description.js.map +1 -1
  327. package/dist/components/options/item-label.d.ts +2 -5
  328. package/dist/components/options/item-label.js +1 -3
  329. package/dist/components/options/item-label.js.map +1 -1
  330. package/dist/components/options/item.js +1 -1
  331. package/dist/components/options/item.js.map +1 -1
  332. package/dist/components/options/section.js +1 -3
  333. package/dist/components/options/section.js.map +1 -1
  334. package/dist/components/options/styles.module.css +397 -0
  335. package/dist/components/options/types.d.ts +2 -3
  336. package/dist/components/pagination/context.d.ts +9 -0
  337. package/dist/components/pagination/context.js +4 -0
  338. package/dist/components/pagination/context.js.map +1 -0
  339. package/dist/components/pagination/index.d.ts +25 -0
  340. package/dist/components/pagination/index.js +4 -0
  341. package/dist/components/pagination/index.js.map +1 -0
  342. package/dist/components/pagination/next.d.ts +10 -0
  343. package/dist/components/pagination/next.js +4 -0
  344. package/dist/components/pagination/next.js.map +1 -0
  345. package/dist/components/pagination/pages.d.ts +10 -0
  346. package/dist/components/pagination/pages.js +4 -0
  347. package/dist/components/pagination/pages.js.map +1 -0
  348. package/dist/components/pagination/prev.d.ts +10 -0
  349. package/dist/components/pagination/prev.js +4 -0
  350. package/dist/components/pagination/prev.js.map +1 -0
  351. package/dist/components/pagination/styles.module.css +25 -0
  352. package/dist/components/pagination/types.d.ts +35 -0
  353. package/dist/components/pagination/types.js +2 -0
  354. package/dist/components/pagination/types.js.map +1 -0
  355. package/dist/components/pagination/utils.d.ts +16 -0
  356. package/dist/components/pagination/utils.js +2 -0
  357. package/dist/components/pagination/utils.js.map +1 -0
  358. package/dist/components/popover/content.d.ts +2 -4
  359. package/dist/components/popover/content.js +1 -1
  360. package/dist/components/popover/content.js.map +1 -1
  361. package/dist/components/popover/footer.d.ts +2 -5
  362. package/dist/components/popover/footer.js +1 -1
  363. package/dist/components/popover/footer.js.map +1 -1
  364. package/dist/components/popover/index.d.ts +15 -19
  365. package/dist/components/popover/index.js +1 -1
  366. package/dist/components/popover/index.js.map +1 -1
  367. package/dist/components/popover/styles.module.css +32 -0
  368. package/dist/components/popover/title.d.ts +2 -4
  369. package/dist/components/popover/title.js +1 -1
  370. package/dist/components/popover/title.js.map +1 -1
  371. package/dist/components/popover/trigger.d.ts +1 -1
  372. package/dist/components/popover/trigger.js +1 -1
  373. package/dist/components/popover/trigger.js.map +1 -1
  374. package/dist/components/popover/types.d.ts +11 -22
  375. package/dist/components/query-builder/index.js +1 -1
  376. package/dist/components/query-builder/index.js.map +1 -1
  377. package/dist/components/query-builder/rule-group.js +1 -1
  378. package/dist/components/query-builder/rule-group.js.map +1 -1
  379. package/dist/components/query-builder/rule.js +1 -1
  380. package/dist/components/query-builder/rule.js.map +1 -1
  381. package/dist/components/query-builder/styles.module.css +87 -0
  382. package/dist/components/query-builder/value-editor.js +1 -1
  383. package/dist/components/query-builder/value-editor.js.map +1 -1
  384. package/dist/components/radio/group.js +1 -1
  385. package/dist/components/radio/group.js.map +1 -1
  386. package/dist/components/radio/index.js +1 -1
  387. package/dist/components/radio/index.js.map +1 -1
  388. package/dist/components/radio/styles.module.css +118 -0
  389. package/dist/components/search-field/context.d.ts +0 -4
  390. package/dist/components/search-field/index.d.ts +0 -4
  391. package/dist/components/search-field/index.js +1 -1
  392. package/dist/components/search-field/index.js.map +1 -1
  393. package/dist/components/search-field/styles.module.css +104 -0
  394. package/dist/components/search-field/types.d.ts +2 -7
  395. package/dist/components/select-field/context.d.ts +0 -3
  396. package/dist/components/select-field/index.d.ts +0 -3
  397. package/dist/components/select-field/index.js +1 -1
  398. package/dist/components/select-field/index.js.map +1 -1
  399. package/dist/components/select-field/styles.module.css +78 -0
  400. package/dist/components/select-field/types.d.ts +0 -3
  401. package/dist/components/sidenav/avatar.js +1 -1
  402. package/dist/components/sidenav/avatar.js.map +1 -1
  403. package/dist/components/sidenav/content.js +1 -1
  404. package/dist/components/sidenav/content.js.map +1 -1
  405. package/dist/components/sidenav/footer.js +1 -3
  406. package/dist/components/sidenav/footer.js.map +1 -1
  407. package/dist/components/sidenav/header.js +1 -1
  408. package/dist/components/sidenav/header.js.map +1 -1
  409. package/dist/components/sidenav/index.js +1 -1
  410. package/dist/components/sidenav/index.js.map +1 -1
  411. package/dist/components/sidenav/item.js +1 -1
  412. package/dist/components/sidenav/item.js.map +1 -1
  413. package/dist/components/sidenav/link.js +1 -1
  414. package/dist/components/sidenav/link.js.map +1 -1
  415. package/dist/components/sidenav/menu-item.js +1 -3
  416. package/dist/components/sidenav/menu-item.js.map +1 -1
  417. package/dist/components/sidenav/menu.js +1 -1
  418. package/dist/components/sidenav/menu.js.map +1 -1
  419. package/dist/components/sidenav/styles.module.css +311 -0
  420. package/dist/components/sidenav/types.d.ts +1 -2
  421. package/dist/components/skeleton/index.d.ts +2 -4
  422. package/dist/components/skeleton/index.js +1 -1
  423. package/dist/components/skeleton/index.js.map +1 -1
  424. package/dist/components/skeleton/styles.module.css +33 -0
  425. package/dist/components/skeleton/types.d.ts +4 -5
  426. package/dist/components/slider/index.js +1 -1
  427. package/dist/components/slider/index.js.map +1 -1
  428. package/dist/components/slider/styles.module.css +220 -0
  429. package/dist/components/switch/index.js +1 -1
  430. package/dist/components/switch/index.js.map +1 -1
  431. package/dist/components/switch/styles.module.css +116 -0
  432. package/dist/components/table/body.d.ts +0 -3
  433. package/dist/components/table/body.js +1 -1
  434. package/dist/components/table/body.js.map +1 -1
  435. package/dist/components/table/cell.d.ts +0 -3
  436. package/dist/components/table/cell.js +1 -1
  437. package/dist/components/table/cell.js.map +1 -1
  438. package/dist/components/table/context.d.ts +0 -3
  439. package/dist/components/table/header-cell.d.ts +0 -3
  440. package/dist/components/table/header-cell.js +1 -1
  441. package/dist/components/table/header-cell.js.map +1 -1
  442. package/dist/components/table/header.d.ts +0 -3
  443. package/dist/components/table/header.js +1 -1
  444. package/dist/components/table/header.js.map +1 -1
  445. package/dist/components/table/index.d.ts +1 -4
  446. package/dist/components/table/index.js +1 -1
  447. package/dist/components/table/index.js.map +1 -1
  448. package/dist/components/table/row.d.ts +0 -3
  449. package/dist/components/table/row.js +1 -1
  450. package/dist/components/table/row.js.map +1 -1
  451. package/dist/components/table/styles.module.css +98 -0
  452. package/dist/components/table/types.d.ts +37 -16
  453. package/dist/components/tabs/index.js +1 -1
  454. package/dist/components/tabs/index.js.map +1 -1
  455. package/dist/components/tabs/list.js +1 -1
  456. package/dist/components/tabs/list.js.map +1 -1
  457. package/dist/components/tabs/panel.js +1 -1
  458. package/dist/components/tabs/panel.js.map +1 -1
  459. package/dist/components/tabs/styles.module.css +140 -0
  460. package/dist/components/tabs/tab.js +1 -1
  461. package/dist/components/tabs/tab.js.map +1 -1
  462. package/dist/components/text-area-field/index.js +1 -1
  463. package/dist/components/text-area-field/index.js.map +1 -1
  464. package/dist/components/text-area-field/styles.module.css +67 -0
  465. package/dist/components/text-field/context.d.ts +0 -4
  466. package/dist/components/text-field/index.d.ts +24 -4
  467. package/dist/components/text-field/index.js +1 -1
  468. package/dist/components/text-field/index.js.map +1 -1
  469. package/dist/components/text-field/styles.module.css +37 -0
  470. package/dist/components/text-field/types.d.ts +0 -4
  471. package/dist/components/time-field/index.d.ts +0 -3
  472. package/dist/components/time-field/index.js +1 -1
  473. package/dist/components/time-field/index.js.map +1 -1
  474. package/dist/components/time-field/styles.module.css +75 -0
  475. package/dist/components/time-field/types.d.ts +2 -5
  476. package/dist/components/tooltip/index.js +1 -1
  477. package/dist/components/tooltip/index.js.map +1 -1
  478. package/dist/components/tooltip/styles.module.css +20 -0
  479. package/dist/components/tree/context.d.ts +0 -2
  480. package/dist/components/tree/context.js +1 -1
  481. package/dist/components/tree/context.js.map +1 -1
  482. package/dist/components/tree/index.d.ts +0 -2
  483. package/dist/components/tree/index.js +1 -1
  484. package/dist/components/tree/index.js.map +1 -1
  485. package/dist/components/tree/item-actions.js +1 -1
  486. package/dist/components/tree/item-actions.js.map +1 -1
  487. package/dist/components/tree/item-content.d.ts +0 -2
  488. package/dist/components/tree/item-content.js +1 -1
  489. package/dist/components/tree/item-content.js.map +1 -1
  490. package/dist/components/tree/item-description.js +1 -1
  491. package/dist/components/tree/item-description.js.map +1 -1
  492. package/dist/components/tree/item-label.js +1 -1
  493. package/dist/components/tree/item-label.js.map +1 -1
  494. package/dist/components/tree/item-prefix-icon.js +1 -1
  495. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  496. package/dist/components/tree/item.d.ts +0 -2
  497. package/dist/components/tree/item.js +1 -1
  498. package/dist/components/tree/item.js.map +1 -1
  499. package/dist/components/tree/lines.js +1 -1
  500. package/dist/components/tree/lines.js.map +1 -1
  501. package/dist/components/tree/styles.module.css +183 -0
  502. package/dist/components/tree/types.d.ts +6 -5
  503. package/dist/hooks/coordinate-field/index.d.ts +9 -0
  504. package/dist/hooks/coordinate-field/index.js +2 -0
  505. package/dist/hooks/coordinate-field/index.js.map +1 -0
  506. package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +19 -0
  507. package/dist/hooks/coordinate-field/use-coordinate-copy.js +2 -0
  508. package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -0
  509. package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +28 -0
  510. package/dist/hooks/coordinate-field/use-coordinate-field-state.js +2 -0
  511. package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -0
  512. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +49 -0
  513. package/dist/hooks/coordinate-field/use-coordinate-field.js +2 -0
  514. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -0
  515. package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +21 -0
  516. package/dist/hooks/coordinate-field/use-coordinate-focus.js +2 -0
  517. package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -0
  518. package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +21 -0
  519. package/dist/hooks/coordinate-field/use-coordinate-paste.js +2 -0
  520. package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -0
  521. package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +6 -0
  522. package/dist/hooks/coordinate-field/use-timeout-cleanup.js +2 -0
  523. package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -0
  524. package/dist/hooks/kanban/index.d.ts +93 -0
  525. package/dist/hooks/kanban/index.js +2 -0
  526. package/dist/hooks/kanban/index.js.map +1 -0
  527. package/dist/index.d.ts +60 -61
  528. package/dist/index.js +1 -1
  529. package/dist/index.module.css +19 -0
  530. package/dist/lib/utils.d.ts +1 -17
  531. package/dist/lib/utils.js +1 -1
  532. package/dist/lib/utils.js.map +1 -1
  533. package/dist/metafile-esm.json +1 -1
  534. package/dist/providers/theme-provider.d.ts +1 -1
  535. package/dist/providers/theme-provider.js +1 -1
  536. package/dist/providers/theme-provider.js.map +1 -1
  537. package/package.json +37 -49
  538. package/dist/components/accordion/styles.d.ts +0 -56
  539. package/dist/components/accordion/styles.js +0 -2
  540. package/dist/components/accordion/styles.js.map +0 -1
  541. package/dist/components/action-bar/styles.d.ts +0 -5
  542. package/dist/components/action-bar/styles.js +0 -2
  543. package/dist/components/action-bar/styles.js.map +0 -1
  544. package/dist/components/avatar/styles.d.ts +0 -48
  545. package/dist/components/avatar/styles.js +0 -2
  546. package/dist/components/avatar/styles.js.map +0 -1
  547. package/dist/components/badge/styles.d.ts +0 -32
  548. package/dist/components/badge/styles.js +0 -2
  549. package/dist/components/badge/styles.js.map +0 -1
  550. package/dist/components/breadcrumbs/styles.d.ts +0 -48
  551. package/dist/components/breadcrumbs/styles.js +0 -2
  552. package/dist/components/breadcrumbs/styles.js.map +0 -1
  553. package/dist/components/button/styles.d.ts +0 -129
  554. package/dist/components/button/styles.js +0 -2
  555. package/dist/components/button/styles.js.map +0 -1
  556. package/dist/components/checkbox/styles.d.ts +0 -54
  557. package/dist/components/checkbox/styles.js +0 -2
  558. package/dist/components/checkbox/styles.js.map +0 -1
  559. package/dist/components/chip/styles.d.ts +0 -247
  560. package/dist/components/chip/styles.js +0 -2
  561. package/dist/components/chip/styles.js.map +0 -1
  562. package/dist/components/classification-badge/styles.d.ts +0 -38
  563. package/dist/components/classification-badge/styles.js +0 -2
  564. package/dist/components/classification-badge/styles.js.map +0 -1
  565. package/dist/components/classification-banner/styles.d.ts +0 -38
  566. package/dist/components/classification-banner/styles.js +0 -2
  567. package/dist/components/classification-banner/styles.js.map +0 -1
  568. package/dist/components/color-picker/styles.d.ts +0 -42
  569. package/dist/components/color-picker/styles.js +0 -2
  570. package/dist/components/color-picker/styles.js.map +0 -1
  571. package/dist/components/combobox-field/styles.d.ts +0 -72
  572. package/dist/components/combobox-field/styles.js +0 -2
  573. package/dist/components/combobox-field/styles.js.map +0 -1
  574. package/dist/components/date-field/styles.d.ts +0 -59
  575. package/dist/components/date-field/styles.js +0 -2
  576. package/dist/components/date-field/styles.js.map +0 -1
  577. package/dist/components/details-list/styles.d.ts +0 -65
  578. package/dist/components/details-list/styles.js +0 -2
  579. package/dist/components/details-list/styles.js.map +0 -1
  580. package/dist/components/dialog/styles.d.ts +0 -60
  581. package/dist/components/dialog/styles.js +0 -2
  582. package/dist/components/dialog/styles.js.map +0 -1
  583. package/dist/components/divider/styles.d.ts +0 -5
  584. package/dist/components/divider/styles.js +0 -2
  585. package/dist/components/divider/styles.js.map +0 -1
  586. package/dist/components/drawer/styles.d.ts +0 -152
  587. package/dist/components/drawer/styles.js +0 -2
  588. package/dist/components/drawer/styles.js.map +0 -1
  589. package/dist/components/hero/styles.d.ts +0 -48
  590. package/dist/components/hero/styles.js +0 -2
  591. package/dist/components/hero/styles.js.map +0 -1
  592. package/dist/components/hotkey/hotkey-set.d.ts +0 -9
  593. package/dist/components/hotkey/hotkey-set.js +0 -4
  594. package/dist/components/hotkey/hotkey-set.js.map +0 -1
  595. package/dist/components/hotkey/styles.d.ts +0 -53
  596. package/dist/components/hotkey/styles.js +0 -2
  597. package/dist/components/hotkey/styles.js.map +0 -1
  598. package/dist/components/icon/styles.d.ts +0 -5
  599. package/dist/components/icon/styles.js +0 -2
  600. package/dist/components/icon/styles.js.map +0 -1
  601. package/dist/components/input/styles.d.ts +0 -142
  602. package/dist/components/input/styles.js +0 -2
  603. package/dist/components/input/styles.js.map +0 -1
  604. package/dist/components/label/styles.d.ts +0 -5
  605. package/dist/components/label/styles.js +0 -2
  606. package/dist/components/label/styles.js.map +0 -1
  607. package/dist/components/lines/styles.d.ts +0 -32
  608. package/dist/components/lines/styles.js +0 -2
  609. package/dist/components/lines/styles.js.map +0 -1
  610. package/dist/components/link/styles.d.ts +0 -5
  611. package/dist/components/link/styles.js +0 -2
  612. package/dist/components/link/styles.js.map +0 -1
  613. package/dist/components/menu/styles.d.ts +0 -71
  614. package/dist/components/menu/styles.js +0 -2
  615. package/dist/components/menu/styles.js.map +0 -1
  616. package/dist/components/notice/styles.d.ts +0 -60
  617. package/dist/components/notice/styles.js +0 -2
  618. package/dist/components/notice/styles.js.map +0 -1
  619. package/dist/components/options/styles.d.ts +0 -72
  620. package/dist/components/options/styles.js +0 -2
  621. package/dist/components/options/styles.js.map +0 -1
  622. package/dist/components/popover/body.d.ts +0 -8
  623. package/dist/components/popover/body.js +0 -4
  624. package/dist/components/popover/body.js.map +0 -1
  625. package/dist/components/popover/styles.d.ts +0 -48
  626. package/dist/components/popover/styles.js +0 -2
  627. package/dist/components/popover/styles.js.map +0 -1
  628. package/dist/components/query-builder/styles.d.ts +0 -152
  629. package/dist/components/query-builder/styles.js +0 -2
  630. package/dist/components/query-builder/styles.js.map +0 -1
  631. package/dist/components/radio/styles.d.ts +0 -54
  632. package/dist/components/radio/styles.js +0 -2
  633. package/dist/components/radio/styles.js.map +0 -1
  634. package/dist/components/search-field/styles.d.ts +0 -53
  635. package/dist/components/search-field/styles.js +0 -2
  636. package/dist/components/search-field/styles.js.map +0 -1
  637. package/dist/components/select-field/styles.d.ts +0 -66
  638. package/dist/components/select-field/styles.js +0 -2
  639. package/dist/components/select-field/styles.js.map +0 -1
  640. package/dist/components/sidenav/styles.d.ts +0 -156
  641. package/dist/components/sidenav/styles.js +0 -2
  642. package/dist/components/sidenav/styles.js.map +0 -1
  643. package/dist/components/skeleton/styles.d.ts +0 -23
  644. package/dist/components/skeleton/styles.js +0 -2
  645. package/dist/components/skeleton/styles.js.map +0 -1
  646. package/dist/components/slider/styles.d.ts +0 -84
  647. package/dist/components/slider/styles.js +0 -2
  648. package/dist/components/slider/styles.js.map +0 -1
  649. package/dist/components/switch/styles.d.ts +0 -44
  650. package/dist/components/switch/styles.js +0 -2
  651. package/dist/components/switch/styles.js.map +0 -1
  652. package/dist/components/table/styles.d.ts +0 -134
  653. package/dist/components/table/styles.js +0 -2
  654. package/dist/components/table/styles.js.map +0 -1
  655. package/dist/components/tabs/styles.d.ts +0 -48
  656. package/dist/components/tabs/styles.js +0 -2
  657. package/dist/components/tabs/styles.js.map +0 -1
  658. package/dist/components/text-area-field/styles.d.ts +0 -54
  659. package/dist/components/text-area-field/styles.js +0 -2
  660. package/dist/components/text-area-field/styles.js.map +0 -1
  661. package/dist/components/text-field/styles.d.ts +0 -54
  662. package/dist/components/text-field/styles.js +0 -2
  663. package/dist/components/text-field/styles.js.map +0 -1
  664. package/dist/components/time-field/styles.d.ts +0 -69
  665. package/dist/components/time-field/styles.js +0 -2
  666. package/dist/components/time-field/styles.js.map +0 -1
  667. package/dist/components/tooltip/styles.d.ts +0 -5
  668. package/dist/components/tooltip/styles.js +0 -2
  669. package/dist/components/tooltip/styles.js.map +0 -1
  670. package/dist/components/tree/styles.d.ts +0 -128
  671. package/dist/components/tree/styles.js +0 -2
  672. package/dist/components/tree/styles.js.map +0 -1
  673. package/dist/index.css +0 -196
  674. package/dist/styles.css +0 -9484
  675. package/dist/tokens/themes.css +0 -882
  676. package/dist/tokens/themes.d.ts +0 -1
  677. package/dist/tokens/tokens.css +0 -202
  678. package/dist/tokens/tokens.d.ts +0 -468
  679. package/dist/tokens/tokens.js +0 -2
  680. package/dist/tokens/tokens.js.map +0 -1
  681. package/dist/tokens/types.d.ts +0 -308
  682. package/dist/variants/variants.css +0 -86
  683. package/dist/variants/variants.d.ts +0 -2
  684. /package/dist/{tokens → components/flashcard}/types.js +0 -0
  685. /package/dist/{tokens → components/flashcard}/types.js.map +0 -0
@@ -0,0 +1,101 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { DragEndEvent } from '@dnd-kit/core';
4
+ import { KanbanColumnData, KanbanCardData } from './types.js';
5
+ import '../search-field/types.js';
6
+ import 'react-aria-components';
7
+ import '../button/types.js';
8
+ import '../../lib/types.js';
9
+ import '../icon/types.js';
10
+
11
+ type MoveCard = (cardId: string, targetColumnId: string, targetPosition: number, closestEdge?: 'top' | 'bottom') => void;
12
+ interface KanbanContextData {
13
+ columns: KanbanColumnData[];
14
+ updateColumnState: (columns: KanbanColumnData[]) => void;
15
+ moveCard: MoveCard;
16
+ getColumnById: (id: string) => KanbanColumnData | undefined;
17
+ cardMap: Map<string, {
18
+ column: KanbanColumnData;
19
+ card: KanbanCardData;
20
+ index: number;
21
+ }>;
22
+ }
23
+ interface KanbanProviderProps {
24
+ columns: KanbanColumnData[];
25
+ updateColumnState: (columns: KanbanColumnData[]) => void;
26
+ children: ReactNode;
27
+ }
28
+ /**
29
+ * Result of parsing a drop target from a drag event
30
+ */
31
+ interface DropTargetInfo {
32
+ /** The ID of the column where the card should be dropped */
33
+ columnId: string;
34
+ /** The position/index within the column */
35
+ position: number;
36
+ /** The edge to drop relative to (undefined when dropping on empty column) */
37
+ edge: 'top' | 'bottom' | undefined;
38
+ }
39
+ /**
40
+ * Parameters for validating a card move operation
41
+ */
42
+ interface MoveCardValidationParams {
43
+ cardId: string;
44
+ targetColumnId: string;
45
+ targetPosition: number;
46
+ columns: KanbanColumnData[];
47
+ cardMap: Map<string, {
48
+ column: KanbanColumnData;
49
+ card: KanbanCardData;
50
+ index: number;
51
+ }>;
52
+ }
53
+ /**
54
+ * Result of validating a card move operation
55
+ * Uses discriminated union to ensure type safety based on success/failure
56
+ */
57
+ type MoveCardValidationResult = {
58
+ /** Validation succeeded */
59
+ success: true;
60
+ /** Adjusted target position (clamped to valid bounds) */
61
+ adjustedPosition: number;
62
+ /** Source card information */
63
+ sourceInfo: {
64
+ column: KanbanColumnData;
65
+ card: KanbanCardData;
66
+ index: number;
67
+ };
68
+ /** Target column */
69
+ targetColumn: KanbanColumnData;
70
+ /** Empty error array for success case */
71
+ errors: [];
72
+ } | {
73
+ /** Validation failed */
74
+ success: false;
75
+ /** List of error messages describing validation failures */
76
+ errors: string[];
77
+ };
78
+ /**
79
+ * Calculates which edge of a drop target is closest to the dragged item
80
+ * @param over - The drop target from dnd-kit
81
+ * @param active - The active dragged item from dnd-kit
82
+ * @returns 'top' if the dragged item's center is above the midpoint, 'bottom' otherwise
83
+ */
84
+ declare function calculateClosestEdge(over: DragEndEvent['over'], active: DragEndEvent['active']): 'top' | 'bottom';
85
+ /**
86
+ * Parses a drag event to determine where a card should be dropped
87
+ * @param event - The drag end event from dnd-kit
88
+ * @returns Normalized drop target information or null if invalid drop
89
+ */
90
+ declare function parseDropTarget(event: DragEndEvent): DropTargetInfo | null;
91
+ declare const getInsertIndex: (targetPosition: number, closestEdge?: "top" | "bottom") => number;
92
+ /**
93
+ * Validates all parameters for a card move operation
94
+ * @param params - Validation parameters
95
+ * @returns Validation result with success flag, adjusted values, and errors
96
+ */
97
+ declare function validateMoveCard({ cardId, targetColumnId, targetPosition, columns, cardMap, }: MoveCardValidationParams): MoveCardValidationResult;
98
+ declare const KanbanProvider: ({ children, columns, updateColumnState, }: KanbanProviderProps) => react_jsx_runtime.JSX.Element;
99
+ declare const useKanban: () => KanbanContextData;
100
+
101
+ export { type DropTargetInfo, type KanbanContextData, KanbanProvider, type KanbanProviderProps, type MoveCard, type MoveCardValidationParams, type MoveCardValidationResult, calculateClosestEdge, getInsertIndex, parseDropTarget, useKanban, validateMoveCard };
@@ -0,0 +1,2 @@
1
+ import {jsx}from'react/jsx-runtime';import {createContext,useMemo,useCallback,useContext}from'react';function w(t,n){if(!t?.rect)return "bottom";const a=n?.rect?.current?.translated;if(!a)return "bottom";const e=t.rect,u=e.top+e.height/2;return a.top+a.height/2<u?"top":"bottom"}function B(t){const{active:n,over:a}=t;if(!a)return null;const e=a.data.current;if(!e)return null;if(Array.isArray(e.cards))return {columnId:e.id,position:e.cards.length,edge:void 0};const u=w(a,n);return {columnId:e.columnId,position:e.position,edge:u}}const K=t=>{t.cards.forEach((n,a)=>{n.position=a;});},$=(t,n)=>n?n==="top"?t:t+1:t;function R({cardId:t,targetColumnId:n,targetPosition:a,columns:e,cardMap:u}){const r=[];let o=a;if((typeof t!="string"||!t.trim())&&r.push("[Kanban] moveCard: cardId must be a non-empty string"),(typeof n!="string"||!n.trim())&&r.push("[Kanban] moveCard: targetColumnId must be a non-empty string"),(typeof a!="number"||!Number.isFinite(a))&&r.push("[Kanban] moveCard: targetPosition must be a finite number"),r.length>0)return {success:false,errors:r};const s=u.get(t);if(!s)return r.push(`[Kanban] moveCard: Card "${t}" not found in any column`),{success:false,errors:r};const i=e.find(l=>l.id===n);if(!i)return r.push(`[Kanban] moveCard: Target column "${n}" not found`),{success:false,errors:r};o<0&&(console.warn(`[Kanban] moveCard: targetPosition (${o}) cannot be negative. Using 0 instead.`),o=0);const d=i.cards.length;return o>d&&(console.warn(`[Kanban] moveCard: targetPosition (${o}) exceeds maximum (${d}). Using ${d} instead.`),o=d),i.canDrop===false?(r.push(`[Kanban] moveCard: Column "${n}" does not accept drops`),{success:false,errors:r}):{success:true,adjustedPosition:o,sourceInfo:s,targetColumn:i,errors:[]}}const x=createContext({columns:[],updateColumnState:()=>null,moveCard:()=>null,getColumnById:()=>{},cardMap:new Map}),N=({children:t,columns:n,updateColumnState:a})=>{const e=useMemo(()=>{const o=new Map;return n.forEach(s=>{s.cards.forEach((i,d)=>{o.set(i.id,{column:s,card:i,index:d});});}),o},[n]),u=useCallback((o,s,i,d)=>{const l=R({cardId:o,targetColumnId:s,targetPosition:i,columns:n,cardMap:e});if(!l.success)return l.errors.forEach(m=>{console.error(m);}),false;const{adjustedPosition:D,sourceInfo:c,targetColumn:p}=l,h=[...n],b=c.column.id===p.id,f={...c.column,cards:c.column.cards.filter((m,M)=>M!==c.index)};let C=$(D,d);b&&c.index<C&&(C-=1);const g=b?f:{...p,cards:[...p.cards]};g.cards.splice(C,0,{...c.card,columnId:s}),K(g),b||K(f);const y=h.map(m=>m.id===c.column.id?f:m.id===p.id?g:m);a(y);},[n,a,e]),r=useCallback(o=>n.find(s=>s.id===o),[n]);return jsx(x.Provider,{value:{columns:n,updateColumnState:a,moveCard:u,getColumnById:r,cardMap:e},children:t})},S=()=>{const t=useContext(x);if(!t)throw new Error("useKanban must be used within KanbanProvider");return t};export{N as KanbanProvider,w as calculateClosestEdge,$ as getInsertIndex,B as parseDropTarget,S as useKanban,R as validateMoveCard};//# sourceMappingURL=context.js.map
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/context.tsx"],"names":["calculateClosestEdge","over","active","translated","overRect","midpoint","parseDropTarget","event","overData","edge","updatePositions","column","c","index","getInsertIndex","targetPosition","closestEdge","validateMoveCard","cardId","targetColumnId","columns","cardMap","errors","adjustedPosition","sourceInfo","targetColumn","col","maxPosition","KanbanContext","createContext","KanbanProvider","children","updateColumnState","useMemo","map","card","moveCard","useCallback","validation","error","source","newColumns","isSameColumn","newSourceColumn","_","i","newTargetColumn","updatedColumns","getColumnById","id","jsx","useKanban","context","useContext"],"mappings":"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","file":"context.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n 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"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { KanbanComponentProps } from './types.js';
3
+ import 'react';
4
+ import '../search-field/types.js';
5
+ import 'react-aria-components';
6
+ import '../button/types.js';
7
+ import '../../lib/types.js';
8
+ import '../icon/types.js';
9
+
10
+ declare function KanbanHeaderActions({ children, className, ...rest }: KanbanComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ export { KanbanHeaderActions };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import r from'./styles.module.css';function m({children:o,className:n,...t}){return jsx("div",{...t,className:clsx(r.headerActions,n),children:o})}export{m as KanbanHeaderActions};//# sourceMappingURL=header-actions.js.map
4
+ //# sourceMappingURL=header-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/header-actions.tsx"],"names":["KanbanHeaderActions","children","className","jsx","rest","clsx","styles"],"mappings":"oJAkBO,SAASA,CAAoB,CAClC,SAAAC,CAAAA,CACA,CAAA,SAAAC,CAAAA,CACA,CAAA,GACF,CAAA,CAAyB,CACvB,CAAA,OACEC,GAAC,OAAK,CAAA,GAAGC,CAAM,CAAA,SAAWC,CAAAA,IAAKC,EAAO,CAAA,aAAeJ,CAAS,CAAA,CAC3D,CAAA,QAAAD,EACH,CAEJ,CAAA","file":"header-actions.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'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 KanbanHeaderActions({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.headerActions, className)}>\n {children}\n </div>\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { KanbanSearchProps } from './types.js';
3
+ import 'react';
4
+ import '../search-field/types.js';
5
+ import 'react-aria-components';
6
+ import '../button/types.js';
7
+ import '../../lib/types.js';
8
+ import '../icon/types.js';
9
+
10
+ declare function KanbanHeaderSearch({ classNames, ...rest }: KanbanSearchProps): react_jsx_runtime.JSX.Element;
11
+
12
+ export { KanbanHeaderSearch };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {SearchField}from'../search-field/index.js';function i({classNames:a,...r}){return jsx(SearchField,{...r,variant:"outline",classNames:a,"aria-label":"Search"})}export{i as KanbanHeaderSearch};//# sourceMappingURL=header-search.js.map
4
+ //# sourceMappingURL=header-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/header-search.tsx"],"names":["KanbanHeaderSearch","jsx","SearchField","n","e"],"mappings":"2GAiBgBA,SAAqB,CAAA,CAAA,CAAA,UACnC,CAAA,CAAA,CAAA,GAAA,CACEC,CAAAA,CAACC,CAAAA,OAECC,GAAA,CAAAC,WAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,OAAA,CACR,SAAA,CAAA,UACA,CAAA,CAAA,CAAA,YACF,CAEJ,QAAA,CAAA,CAAA","file":"header-search.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { SearchField } from '../search-field';\nimport type { KanbanSearchProps } from './types';\n\nexport function KanbanHeaderSearch({ classNames, ...rest }: KanbanSearchProps) {\n return (\n <SearchField\n {...rest}\n variant='outline'\n classNames={classNames}\n aria-label='Search'\n />\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { KanbanComponentProps } from './types.js';
3
+ import 'react';
4
+ import '../search-field/types.js';
5
+ import 'react-aria-components';
6
+ import '../button/types.js';
7
+ import '../../lib/types.js';
8
+ import '../icon/types.js';
9
+
10
+ declare function KanbanHeaderTitle({ children, className, ...rest }: KanbanComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ export { KanbanHeaderTitle };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {Heading}from'react-aria-components';import p from'./styles.module.css';function f({children:o,className:e,...n}){return jsx(Heading,{...n,className:clsx(p.headerTitle,e),children:o})}export{f as KanbanHeaderTitle};//# sourceMappingURL=header-title.js.map
4
+ //# sourceMappingURL=header-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/header-title.tsx"],"names":["KanbanHeaderTitle","children","className","jsx","Heading","rest","clsx","styles"],"mappings":"gMAmBO,SAASA,CAAkB,CAChC,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAAC,CAAAA,CACA,IACF,CAAA,CAAyB,CACvB,CAAA,OACEC,GAACC,QAAA,CAAS,CAAA,GAAGC,CAAM,CAAA,SAAWC,KAAKC,CAAAA,CAAO,CAAA,WAAaL,CAAS,CAAA,CAC7D,CAAA,QAAAD,EACH,CAEJ,CAAA","file":"header-title.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Heading } from 'react-aria-components';\nimport styles from './styles.module.css';\nimport type { KanbanComponentProps } from './types';\n\nexport function KanbanHeaderTitle({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <Heading {...rest} className={clsx(styles.headerTitle, className)}>\n {children}\n </Heading>\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { KanbanComponentProps } from './types.js';
3
+ import 'react';
4
+ import '../search-field/types.js';
5
+ import 'react-aria-components';
6
+ import '../button/types.js';
7
+ import '../../lib/types.js';
8
+ import '../icon/types.js';
9
+
10
+ declare function KanbanHeader({ children, className, ...rest }: KanbanComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ export { KanbanHeader };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import p from'./styles.module.css';function i({children:o,className:n,...e}){return jsx("div",{...e,className:clsx(p.header,n),children:o})}export{i as KanbanHeader};//# sourceMappingURL=header.js.map
4
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/header.tsx"],"names":["KanbanHeader","children","className","jsx","rest","clsx","styles"],"mappings":"oJAkBO,SAASA,CAAa,CAC3B,SAAAC,CAAAA,CACA,CAAA,SAAAC,CAAAA,CACA,CAAA,GACF,CAAA,CAAyB,CACvB,CAAA,OACEC,GAAC,OAAK,CAAA,GAAGC,CAAM,CAAA,SAAWC,CAAAA,IAAKC,EAAO,CAAA,MAAQJ,CAAS,CAAA,CACpD,CAAA,QAAAD,EACH,CAEJ,CAAA","file":"header.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'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 KanbanHeader({\n children,\n className,\n ...rest\n}: KanbanComponentProps) {\n return (\n <div {...rest} className={clsx(styles.header, className)}>\n {children}\n </div>\n );\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export { Kanban } from './kanban.js';
2
+ export { KanbanCardProps, KanbanColContentActionProps, KanbanColContentProps, KanbanColProps, KanbanComponentProps, KanbanMenuProps, KanbanProps, KanbanSearchProps } from './types.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
5
+ import '../search-field/types.js';
6
+ import 'react-aria-components';
7
+ import '../button/types.js';
8
+ import '../../lib/types.js';
9
+ import '../icon/types.js';
@@ -0,0 +1,2 @@
1
+ export{Kanban}from'./kanban.js';//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { KanbanProps } from './types.js';
4
+ import '../search-field/types.js';
5
+ import 'react-aria-components';
6
+ import '../button/types.js';
7
+ import '../../lib/types.js';
8
+ import '../icon/types.js';
9
+
10
+ declare const DragContext: react.Context<{
11
+ activeId: string | null;
12
+ } | null>;
13
+ declare const useDragContext: () => {
14
+ activeId: string | null;
15
+ };
16
+ declare function Kanban({ children, className, ...rest }: KanbanProps): react_jsx_runtime.JSX.Element;
17
+
18
+ export { DragContext, Kanban, useDragContext };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx,jsxs}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {useSensors,useSensor,PointerSensor,DndContext,DragOverlay,pointerWithin,rectIntersection,closestCenter}from'@dnd-kit/core';import {createContext,useContext,useState}from'react';import {useKanban,parseDropTarget}from'./../../components/kanban/context.js';import r from'./styles.module.css';const d=createContext(null),q=()=>{const o=useContext(d);if(!o)throw new Error("useDragContext must be used within Kanban component");return o},k=8;function z({children:o,className:u,...v}){const{moveCard:g,cardMap:D}=useKanban(),[a,i]=useState(null),m=useSensors(useSensor(PointerSensor,{activationConstraint:{distance:k}})),C=t=>{const n=pointerWithin(t);if(n.length>0)return n;const c=rectIntersection(t);return c.length>0?c:closestCenter(t)},x=t=>{i(t.active.id);},f=t=>{i(null);const n=parseDropTarget(t);n&&g(t.active.id,n.columnId,n.position,n.edge);},s=a?D.get(a)?.card:null;return jsx(d.Provider,{value:{activeId:a},children:jsxs(DndContext,{sensors:m,collisionDetection:C,onDragStart:x,onDragEnd:f,children:[jsx("div",{className:clsx(r.kanban,u),...v,children:o}),jsx(DragOverlay,{children:s?jsxs("div",{"data-current":true,className:clsx(r.card),children:[jsx("div",{className:r.cardHeader,children:jsx("span",{className:r.cardTitle,children:s.title})}),jsx("div",{className:r.cardBody,children:s.body})]}):null})]})})}export{d as DragContext,z as Kanban,q as useDragContext};//# sourceMappingURL=kanban.js.map
4
+ //# sourceMappingURL=kanban.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/kanban.tsx"],"names":["useDragContext","K","context","DragContext","P","ACTIVATION_DISTANCE","Kanban","children","className","moveCard","cardMap","useKanban","setActiveId","useState","sensors","useSensors","useSensor","T","N","b","args","pointerCollisions","pointerWithin","I","h","rectCollisions","closestCenter","handleDragStart","event","y","parseDropTarget","dropTarget","activeCard","activeId","e","jsxs","DndContext","p","handleDragEnd","jsx","clsx","S","l","styles"],"mappings":"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","file":"kanban.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\nimport 'client-only';\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n type CollisionDetection,\n closestCenter,\n DndContext,\n type DragEndEvent,\n DragOverlay,\n type DragStartEvent,\n PointerSensor,\n pointerWithin,\n rectIntersection,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { createContext, useContext, useState } from 'react';\nimport { parseDropTarget, useKanban } from '@/components/kanban/context';\nimport styles from './styles.module.css';\nimport type { KanbanProps } from './types';\n\n// Context for sharing active drag state\n\nexport const DragContext = createContext<{ activeId: string | null } | null>(\n null,\n);\n\nexport const useDragContext = () => {\n const context = useContext(DragContext);\n if (!context) {\n throw new Error('useDragContext must be used within Kanban component');\n }\n return context;\n};\n\nconst ACTIVATION_DISTANCE = 8;\n\nexport function Kanban({ children, className, ...rest }: KanbanProps) {\n const { moveCard, cardMap } = useKanban();\n const [activeId, setActiveId] = useState<string | null>(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: ACTIVATION_DISTANCE,\n },\n }),\n );\n\n const collisionDetectionStrategy: CollisionDetection = (args) => {\n // First, try pointer within for direct pointer detection\n const pointerCollisions = pointerWithin(args);\n if (pointerCollisions.length > 0) {\n return pointerCollisions;\n }\n\n // Then try rectangle intersection for better coverage\n const rectCollisions = rectIntersection(args);\n if (rectCollisions.length > 0) {\n return rectCollisions;\n }\n\n // Fall back to closest center\n return closestCenter(args);\n };\n\n const handleDragStart = (event: DragStartEvent) => {\n setActiveId(event.active.id as string);\n };\n\n const handleDragEnd = (event: DragEndEvent) => {\n setActiveId(null);\n\n const dropTarget = parseDropTarget(event);\n if (!dropTarget) {\n return;\n }\n\n moveCard(\n event.active.id as string,\n dropTarget.columnId,\n dropTarget.position,\n dropTarget.edge,\n );\n };\n\n // Find the active card for the drag overlay\n const activeCard = activeId ? cardMap.get(activeId)?.card : null;\n\n return (\n <DragContext.Provider value={{ activeId }}>\n <DndContext\n sensors={sensors}\n collisionDetection={collisionDetectionStrategy}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n >\n <div className={clsx(styles.kanban, className)} {...rest}>\n {children}\n </div>\n <DragOverlay>\n {activeCard ? (\n <div data-current className={clsx(styles.card)}>\n <div className={styles.cardHeader}>\n <span className={styles.cardTitle}>{activeCard.title}</span>\n </div>\n <div className={styles.cardBody}>{activeCard.body}</div>\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n </DragContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,14 @@
1
+ declare const columnData: {
2
+ title: string;
3
+ id: string;
4
+ headerActions: never[];
5
+ cards: {
6
+ title: string;
7
+ body: string;
8
+ id: string;
9
+ columnId: string;
10
+ position: number;
11
+ }[];
12
+ }[];
13
+
14
+ export { columnData };
@@ -0,0 +1,2 @@
1
+ const o=[{title:"To Do",id:"todo",headerActions:[],cards:[{title:"Drag and Drop Columns",body:"Reorganize the columns for drag and drop.",id:"id-1",columnId:"todo",position:0},{title:"Drag and Drop Cards",body:"Arrange cards for drag and drop.",id:"id-2",columnId:"todo",position:1},{title:"Cross post cards to other columns",body:"Extend the functionality of card drag and drop to allow for dragging to other columns.",id:"id-3",columnId:"todo",position:2}]},{title:"In Progress",id:"inProgress",headerActions:[],cards:[{title:"Base Implementation of Drag and Drop",body:"Initial setup for @atlaskit/pragmatic-drag-and-drop",id:"id-4",columnId:"inProgress",position:0},{title:"Refactor styling.",body:"Update kanban board component styling to reflect proposed new standards.",id:"id-5",columnId:"inProgress",position:1}]},{title:"In Review",headerActions:[],cards:[],id:"inReview"},{title:"Done",headerActions:[],id:"done",cards:[{title:"Kanban Board",body:"Base component for the kanban board.",id:"id-6",columnId:"done",position:0},{title:"Kanban Card",body:"Base components for kanban cards.",id:"id-7",columnId:"done",position:1}]}];export{o as columnData};//# sourceMappingURL=mock-data.js.map
2
+ //# sourceMappingURL=mock-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/kanban/mock-data.ts"],"names":["columnData"],"mappings":"AAWO,MAAMA,CAAAA,CAAa,CACxB,CACE,KAAA,CAAO,OAAA,CACP,EAAA,CAAI,MAAA,CACJ,aAAA,CAAe,EAAC,CAChB,KAAA,CAAO,CACL,CACE,KAAA,CAAO,uBAAA,CACP,IAAA,CAAM,2CAAA,CACN,EAAA,CAAI,MAAA,CACJ,QAAA,CAAU,MAAA,CACV,QAAA,CAAU,CACZ,CAAA,CACA,CACE,KAAA,CAAO,qBAAA,CACP,IAAA,CAAM,kCAAA,CACN,GAAI,MAAA,CACJ,QAAA,CAAU,MAAA,CACV,QAAA,CAAU,CACZ,CAAA,CACA,CACE,KAAA,CAAO,mCAAA,CACP,IAAA,CAAM,wFAAA,CACN,EAAA,CAAI,MAAA,CACJ,QAAA,CAAU,MAAA,CACV,QAAA,CAAU,CACZ,CACF,CACF,CAAA,CACA,CACE,KAAA,CAAO,aAAA,CACP,EAAA,CAAI,YAAA,CACJ,aAAA,CAAe,EAAC,CAChB,KAAA,CAAO,CACL,CACE,KAAA,CAAO,sCAAA,CACP,KAAM,qDAAA,CACN,EAAA,CAAI,MAAA,CACJ,QAAA,CAAU,YAAA,CACV,QAAA,CAAU,CACZ,CAAA,CACA,CACE,KAAA,CAAO,mBAAA,CACP,IAAA,CAAM,0EAAA,CACN,EAAA,CAAI,MAAA,CACJ,QAAA,CAAU,aACV,QAAA,CAAU,CACZ,CACF,CACF,CAAA,CACA,CACE,KAAA,CAAO,WAAA,CACP,aAAA,CAAe,EAAC,CAChB,KAAA,CAAO,EAAC,CACR,EAAA,CAAI,UACN,EACA,CACE,KAAA,CAAO,MAAA,CACP,aAAA,CAAe,EAAC,CAChB,EAAA,CAAI,MAAA,CACJ,KAAA,CAAO,CACL,CACE,KAAA,CAAO,cAAA,CACP,IAAA,CAAM,sCAAA,CACN,EAAA,CAAI,OACJ,QAAA,CAAU,MAAA,CACV,QAAA,CAAU,CACZ,CAAA,CACA,CACE,KAAA,CAAO,aAAA,CACP,KAAM,mCAAA,CACN,EAAA,CAAI,MAAA,CACJ,QAAA,CAAU,MAAA,CACV,QAAA,CAAU,CACZ,CACF,CACF,CACF","file":"mock-data.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nexport const columnData = [\n {\n title: 'To Do',\n id: 'todo',\n headerActions: [],\n cards: [\n {\n title: 'Drag and Drop Columns',\n body: 'Reorganize the columns for drag and drop.',\n id: 'id-1',\n columnId: 'todo',\n position: 0,\n },\n {\n title: 'Drag and Drop Cards',\n body: 'Arrange cards for drag and drop.',\n id: 'id-2',\n columnId: 'todo',\n position: 1,\n },\n {\n title: 'Cross post cards to other columns',\n body: 'Extend the functionality of card drag and drop to allow for dragging to other columns.',\n id: 'id-3',\n columnId: 'todo',\n position: 2,\n },\n ],\n },\n {\n title: 'In Progress',\n id: 'inProgress',\n headerActions: [],\n cards: [\n {\n title: 'Base Implementation of Drag and Drop',\n body: 'Initial setup for @atlaskit/pragmatic-drag-and-drop',\n id: 'id-4',\n columnId: 'inProgress',\n position: 0,\n },\n {\n title: 'Refactor styling.',\n body: 'Update kanban board component styling to reflect proposed new standards.',\n id: 'id-5',\n columnId: 'inProgress',\n position: 1,\n },\n ],\n },\n {\n title: 'In Review',\n headerActions: [],\n cards: [],\n id: 'inReview',\n },\n {\n title: 'Done',\n headerActions: [],\n id: 'done',\n cards: [\n {\n title: 'Kanban Board',\n body: 'Base component for the kanban board.',\n id: 'id-6',\n columnId: 'done',\n position: 0,\n },\n {\n title: 'Kanban Card',\n body: 'Base components for kanban cards.',\n id: 'id-7',\n columnId: 'done',\n position: 1,\n },\n ],\n },\n];\n"]}
@@ -0,0 +1,117 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ @reference '../../index.module.css';
14
+
15
+ @layer components.l1 {
16
+ .kanban {
17
+ @apply h-full w-full;
18
+ }
19
+
20
+ .header {
21
+ @apply p-m flex flex-row items-center justify-between;
22
+ }
23
+
24
+ .headerTitle {
25
+ @apply fg-primary-bold text-header-l;
26
+ }
27
+
28
+ .headerActions {
29
+ @apply flex flex-row items-center;
30
+ }
31
+
32
+ .card {
33
+ @apply rounded-large bg-surface-raised p-s pb-m flex w-full flex-col text-wrap outline outline-transparent transition-all;
34
+
35
+ @variant hover {
36
+ @apply outline-interactive-hover;
37
+ }
38
+
39
+ @variant current {
40
+ @apply bg-accent-primary-bold outline-accent-primary-pressed;
41
+ }
42
+
43
+ @variant dragging {
44
+ @apply hidden;
45
+ }
46
+ }
47
+
48
+ .cardContainerOuter {
49
+ @apply flex w-full flex-col;
50
+ }
51
+
52
+ .cardHeader {
53
+ @apply gap-s text-header-m flex flex-row items-center justify-between p-0;
54
+ }
55
+
56
+ .cardBody {
57
+ @apply fg-primary-muted text-body-m;
58
+ }
59
+
60
+ .cardTitle {
61
+ @apply fg-primary-bold font-medium;
62
+ }
63
+
64
+ .cardActions {
65
+ @apply flex flex-row items-center;
66
+ }
67
+
68
+ .column {
69
+ @apply p-xs flex h-full flex-1 flex-col items-center overflow-x-hidden overflow-y-auto outline outline-transparent;
70
+
71
+ min-width: 210px;
72
+
73
+ @variant focus-visible {
74
+ @apply rounded-large outline-interactive-hover outline;
75
+ }
76
+
77
+ @variant drop-target {
78
+ @apply rounded-large outline-accent-primary-bold outline;
79
+ }
80
+ }
81
+
82
+ .columnItems {
83
+ @apply gap-xs p-m flex h-full w-full flex-row overflow-x-auto;
84
+ }
85
+
86
+ .columnHeader {
87
+ @apply fg-primary-bold gap-m bg-surface-default p-s text-header-m flex w-full items-center justify-between;
88
+ }
89
+
90
+ .columnHeaderActions {
91
+ @apply fg-primary-muted gap-s flex flex-row items-center;
92
+ }
93
+
94
+ .columnTitle {
95
+ @apply fg-primary-bold gap-s text-body-s flex flex-row items-center font-medium;
96
+ }
97
+
98
+ .columnContent {
99
+ @apply my-s gap-s relative flex h-full w-full flex-1 flex-grow flex-col flex-nowrap overflow-y-auto px-px;
100
+
101
+ min-height: 200px;
102
+ }
103
+
104
+ .columnContentActions {
105
+ @apply fg-primary-bold shadow-elevation-overlay gap-s bg-surface-default py-xs text-body-s w-full items-center justify-start font-medium;
106
+
107
+ @variant hover {
108
+ @apply cursor-pointer;
109
+ }
110
+ }
111
+ }
112
+
113
+ @layer components.l2 {
114
+ .divider {
115
+ @apply mb-s h-xxs bg-accent-primary-bold;
116
+ }
117
+ }
@@ -0,0 +1,50 @@
1
+ import { PropsWithChildren, ReactNode, FormEvent } from 'react';
2
+ import { SearchFieldProps } from '../search-field/types.js';
3
+ import 'react-aria-components';
4
+ import '../button/types.js';
5
+ import '../../lib/types.js';
6
+ import '../icon/types.js';
7
+
8
+ type KanbanColumnData = {
9
+ title: string;
10
+ id: string;
11
+ cards: KanbanCardData[];
12
+ canDrop?: boolean;
13
+ };
14
+ interface KanbanComponentProps extends PropsWithChildren {
15
+ className?: string;
16
+ }
17
+ interface KanbanColProps extends KanbanComponentProps {
18
+ column: KanbanColumnData;
19
+ }
20
+ interface KanbanProps extends KanbanComponentProps {
21
+ columns?: ReactNode[];
22
+ }
23
+ interface KanbanMenuProps extends KanbanComponentProps {
24
+ cardCount?: number;
25
+ }
26
+ interface KanbanSearchProps extends SearchFieldProps {
27
+ onInput?: (e: FormEvent<HTMLInputElement>) => void;
28
+ }
29
+ interface KanbanColContentActionProps extends KanbanComponentProps {
30
+ onAddCard?: () => void;
31
+ }
32
+ interface KanbanColContentProps {
33
+ children?: ReactNode | ReactNode[];
34
+ className?: string;
35
+ column: KanbanColumnData;
36
+ }
37
+ type KanbanCardData = {
38
+ body: ReactNode | string;
39
+ title: string;
40
+ isActive?: boolean;
41
+ id: string;
42
+ columnId: string;
43
+ position: number;
44
+ };
45
+ interface KanbanCardProps extends KanbanComponentProps {
46
+ isActive?: boolean;
47
+ card: KanbanCardData;
48
+ }
49
+
50
+ export type { KanbanCardData, KanbanCardProps, KanbanColContentActionProps, KanbanColContentProps, KanbanColProps, KanbanColumnData, KanbanComponentProps, KanbanMenuProps, KanbanProps, KanbanSearchProps };
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
 
3
- import {jsxs}from'react/jsx-runtime';import'client-only';import {useContextProps,Label}from'react-aria-components';import {LabelContext}from'./context.js';import {LabelStyles}from'./styles.js';function f({ref:l,...e}){[e,l]=useContextProps(e,l??null,LabelContext);const{children:t,className:o,isDisabled:r,isRequired:a,...i}=e;return jsxs(Label,{...i,className:LabelStyles({className:o}),"data-disabled":r||null,"data-required":a||null,children:[t,!a&&" (optional)"]})}export{f as Label};//# sourceMappingURL=index.js.map
3
+ import {jsxs}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {useContextProps,Label}from'react-aria-components';import {LabelContext}from'./context.js';import p from'./styles.module.css';function y({ref:l,...e}){[e,l]=useContextProps(e,l??null,LabelContext);const{children:o,className:r,isDisabled:t,isRequired:a,...i}=e;return jsxs(Label,{...i,className:clsx("group/label",p.label,r),"data-disabled":t||null,"data-required":a||null,children:[o,!a&&" (optional)"]})}export{y as Label};//# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/label/index.tsx"],"names":["ref","props","useContextProps","LabelContext","b","jsxs","rest","s","m"],"mappings":"iMAsCO,SAAiBA,CAAK,CAAA,CAAA,GAAS,CAAe,CACnD,CAACC,GAAU,CAAA,CAAIC,CAAAA,CAAgBD,CAAAA,CAAOD,CAAAA,CAAAA,CAAO,mBAAMG,CAAY,EAE/D,IAAA,CAAMC,YAAE,gBAAU,CAAA,CAAA,CAAA,SAAW,CAAA,CAAA,CAAA,UAAY,CAAA,CAAA,CAAA,WAAwBH,CAAAA,CAEjE,GAAA,CAAA,CAAA,CAAA,CACEI,CAAAA,OACMC,IAAAA,CACJC,KAAA,CAAA,CAAA,GAAA,CAAA,CAAA,SAAyB,CAAAC,WAAA,CAAA,CAAA,6BACI,CAC7B,CAAA,EAAA,IAAA,CAAA,gBAEC,CAAA,EAAA,IAAA,CAAA,QACe,qBAGtB,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { Label as AriaLabel, useContextProps } from 'react-aria-components';\nimport { LabelContext } from './context';\nimport { LabelStyles } from './styles';\nimport type { LabelProps } from './types';\n\n/**\n * Label - A semantic label component for form elements and content\n *\n * Provides accessible labeling for form controls with automatic handling of\n * required/optional states. Integrates with React Aria form components to\n * ensure proper accessibility and screen reader support.\n *\n * @example\n * // Basic label\n * <Label>Username</Label>\n *\n * @example\n * // Required field label\n * <Label isRequired>Email Address</Label>\n *\n * @example\n * // Disabled label\n * <Label isDisabled>Inactive Field</Label>\n */\nexport function Label({ ref, ...props }: LabelProps) {\n [props, ref] = useContextProps(props, ref ?? null, LabelContext);\n\n const { children, className, isDisabled, isRequired, ...rest } = props;\n\n return (\n <AriaLabel\n {...rest}\n className={LabelStyles({ className })}\n data-disabled={isDisabled || null}\n data-required={isRequired || null}\n >\n {children}\n {!isRequired && ' (optional)'}\n </AriaLabel>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/label/index.tsx"],"names":["ref","props","useContextProps","LabelContext","n","rest","u","m","s","isRequired"],"mappings":"uPAuCO,SAAiB,CAAA,CAAAA,IAAK,CAAGC,CAAM,CAAA,GACnCA,CAAAA,CAAOD,CAAG,EAAIE,CAAAA,CAAgBD,CAAAA,CAAOD,iBAAO,CAAA,CAAA,CAAA,EAAMG,IAEnD,CAAAC,YAAA,CAAA,CAAM,KAAE,CAAA,QAAU,CAAA,CAAA,CAAA,sBAAuB,CAAA,CAAA,CAAA,UAAY,CAAGC,CAAK,CAAA,GAE7D,CAAA,CAAA,CAAA,CAAA,CAAA,OAEKC,IAAA,CAAAC,KAAGF,CAAAA,CACJ,GAAA,CAAA,CAAA,SAAgB,CAAAG,IAAA,CAAA,aAAsB,CAAA,CAAA,CAAA,KACtC,CAAA,CAAA,CAAA,CAAA,eAA6B,CAAA,CAAA,EAC7B,IAAA,CAAA,eAA6B,CAAA,CAAA,EAE5B,IAAA,CAAA,QACCC,CAAAA,CAAAA,CAAc,kBAGtB,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport { Label as AriaLabel, useContextProps } from 'react-aria-components';\nimport { LabelContext } from './context';\nimport styles from './styles.module.css';\nimport type { LabelProps } from './types';\n\n/**\n * Label - A semantic label component for form elements and content\n *\n * Provides accessible labeling for form controls with automatic handling of\n * required/optional states. Integrates with React Aria form components to\n * ensure proper accessibility and screen reader support.\n *\n * @example\n * // Basic label\n * <Label>Username</Label>\n *\n * @example\n * // Required field label\n * <Label isRequired>Email Address</Label>\n *\n * @example\n * // Disabled label\n * <Label isDisabled>Inactive Field</Label>\n */\nexport function Label({ ref, ...props }: LabelProps) {\n [props, ref] = useContextProps(props, ref ?? null, LabelContext);\n\n const { children, className, isDisabled, isRequired, ...rest } = props;\n\n return (\n <AriaLabel\n {...rest}\n className={clsx('group/label', styles.label, className)}\n data-disabled={isDisabled || null}\n data-required={isRequired || null}\n >\n {children}\n {!isRequired && ' (optional)'}\n </AriaLabel>\n );\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ @reference '../../index.module.css';
14
+
15
+ @layer components.l1 {
16
+ .label {
17
+ @apply text-header-s fg-primary-bold;
18
+
19
+ @variant disabled {
20
+ @apply fg-disabled;
21
+ }
22
+ }
23
+ }
@@ -1,8 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { LinesProps } from './types.js';
3
3
  import 'react';
4
- import 'tailwind-variants';
5
- import './styles.js';
6
4
 
7
5
  /**
8
6
  * Lines - Decorative rule/connector lines used by components like Tree
@@ -1,2 +1,2 @@
1
- import {jsx}from'react/jsx-runtime';import {LinesStyles}from'./styles.js';function m({className:e,size:s="medium",variant:i,isVisible:o=true}){return jsx("div",{className:LinesStyles({className:e,variant:i,isVisible:o}),"data-size":s})}export{m as Lines};//# sourceMappingURL=index.js.map
1
+ import {jsx}from'react/jsx-runtime';import {clsx}from'@accelint/design-foundation/lib/utils';import s from'./styles.module.css';function l({className:e,size:i="medium",variant:r="branch",isVisible:o=true}){return jsx("div",{className:clsx(s.lines,s[r],e),"data-size":i,"data-visible":o||null})}export{l as Lines};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/lines/index.tsx"],"names":["t","r"],"mappings":"0EAwBO,SACL,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,QACP,CAAA,OACA,CAAA,CAAA,CAAA,SAAY,CACd,CAAA,CAAe,IACb,CAAA,CAAA,CAAA,OACGA,GAAA,CAAA,KACC,CAAA,CAAA,SAAyB,CAAAC,WAAA,CAAA,CAAA,SAAW,CAAA,CAAA,CAAA,OAAS,CAAA,CAAA,CAAA,SAAW,CACxD,CAAA,CAAA,CAAA,CAAA,WAGN,CAAA,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { LinesStyles } from './styles';\nimport type { LinesProps } from './types';\n\n/**\n * Lines - Decorative rule/connector lines used by components like Tree\n *\n * Renders horizontal or vertical rule lines used for visual grouping and\n * tree branch connectors. Visibility and variant control the appearance.\n *\n * @example\n * <Lines variant=\"branch\" />\n */\nexport function Lines({\n className,\n size = 'medium',\n variant,\n isVisible = true,\n}: LinesProps) {\n return (\n <div\n className={LinesStyles({ className, variant, isVisible })}\n data-size={size}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/lines/index.tsx"],"names":["Lines","className","size","variant","isVisible","clsx","styles"],"mappings":"yIAyBgBA,CAAM,CACpB,UAAAC,CAAAA,CACA,CAAA,IAAAC,EAAO,CAAA,QACP,CAAA,OAAAC,EAAU,CAAA,QACV,CAAA,SAAAC,CAAAA,CAAY,CAAA,KACC,CACb,CAAA,UACG,CAAA,KAAA,CACC,CAAA,SAAWC,KAAKC,CAAAA,CAAO,CAAA,KAAOA,EAAOH,CAAO,CAAA,CAAGF,CAAS,CAAA,CACxD,CAAA,WAAWC,EACX,CAAA,cAAcE,CAAAA,CAAAA,MAChB,CAEJ,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport styles from './styles.module.css';\nimport type { LinesProps } from './types';\n\n/**\n * Lines - Decorative rule/connector lines used by components like Tree\n *\n * Renders horizontal or vertical rule lines used for visual grouping and\n * tree branch connectors. Visibility and variant control the appearance.\n *\n * @example\n * <Lines variant=\"branch\" />\n */\nexport function Lines({\n className,\n size = 'medium',\n variant = 'branch',\n isVisible = true,\n}: LinesProps) {\n return (\n <div\n className={clsx(styles.lines, styles[variant], className)}\n data-size={size}\n data-visible={isVisible || null}\n />\n );\n}\n"]}