@accelint/design-toolkit 7.0.1 → 8.0.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 (678) 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/hero/index.js +1 -1
  186. package/dist/components/hero/index.js.map +1 -1
  187. package/dist/components/hero/styles.module.css +51 -0
  188. package/dist/components/hotkey/context.d.ts +0 -2
  189. package/dist/components/hotkey/index.d.ts +0 -2
  190. package/dist/components/hotkey/index.js +1 -1
  191. package/dist/components/hotkey/index.js.map +1 -1
  192. package/dist/components/hotkey/set.d.ts +6 -0
  193. package/dist/components/hotkey/set.js +4 -0
  194. package/dist/components/hotkey/set.js.map +1 -0
  195. package/dist/components/hotkey/styles.module.css +36 -0
  196. package/dist/components/hotkey/types.d.ts +5 -6
  197. package/dist/components/icon/index.js +1 -1
  198. package/dist/components/icon/index.js.map +1 -1
  199. package/dist/components/icon/styles.module.css +38 -0
  200. package/dist/components/input/context.d.ts +0 -4
  201. package/dist/components/input/index.d.ts +0 -4
  202. package/dist/components/input/index.js +1 -1
  203. package/dist/components/input/index.js.map +1 -1
  204. package/dist/components/input/styles.module.css +175 -0
  205. package/dist/components/input/types.d.ts +7 -6
  206. package/dist/components/kanban/card-body.d.ts +12 -0
  207. package/dist/components/kanban/card-body.js +4 -0
  208. package/dist/components/kanban/card-body.js.map +1 -0
  209. package/dist/components/kanban/card-header-actions.d.ts +12 -0
  210. package/dist/components/kanban/card-header-actions.js +4 -0
  211. package/dist/components/kanban/card-header-actions.js.map +1 -0
  212. package/dist/components/kanban/card-header-title.d.ts +12 -0
  213. package/dist/components/kanban/card-header-title.js +4 -0
  214. package/dist/components/kanban/card-header-title.js.map +1 -0
  215. package/dist/components/kanban/card-header.d.ts +12 -0
  216. package/dist/components/kanban/card-header.js +4 -0
  217. package/dist/components/kanban/card-header.js.map +1 -0
  218. package/dist/components/kanban/card.d.ts +12 -0
  219. package/dist/components/kanban/card.js +4 -0
  220. package/dist/components/kanban/card.js.map +1 -0
  221. package/dist/components/kanban/column-actions.d.ts +12 -0
  222. package/dist/components/kanban/column-actions.js +4 -0
  223. package/dist/components/kanban/column-actions.js.map +1 -0
  224. package/dist/components/kanban/column-container.d.ts +12 -0
  225. package/dist/components/kanban/column-container.js +4 -0
  226. package/dist/components/kanban/column-container.js.map +1 -0
  227. package/dist/components/kanban/column-content.d.ts +12 -0
  228. package/dist/components/kanban/column-content.js +4 -0
  229. package/dist/components/kanban/column-content.js.map +1 -0
  230. package/dist/components/kanban/column-header-actions.d.ts +12 -0
  231. package/dist/components/kanban/column-header-actions.js +4 -0
  232. package/dist/components/kanban/column-header-actions.js.map +1 -0
  233. package/dist/components/kanban/column-header-drag-handle.d.ts +5 -0
  234. package/dist/components/kanban/column-header-drag-handle.js +4 -0
  235. package/dist/components/kanban/column-header-drag-handle.js.map +1 -0
  236. package/dist/components/kanban/column-header-title.d.ts +12 -0
  237. package/dist/components/kanban/column-header-title.js +4 -0
  238. package/dist/components/kanban/column-header-title.js.map +1 -0
  239. package/dist/components/kanban/column-header.d.ts +12 -0
  240. package/dist/components/kanban/column-header.js +4 -0
  241. package/dist/components/kanban/column-header.js.map +1 -0
  242. package/dist/components/kanban/column.d.ts +12 -0
  243. package/dist/components/kanban/column.js +4 -0
  244. package/dist/components/kanban/column.js.map +1 -0
  245. package/dist/components/kanban/context.d.ts +101 -0
  246. package/dist/components/kanban/context.js +2 -0
  247. package/dist/components/kanban/context.js.map +1 -0
  248. package/dist/components/kanban/header-actions.d.ts +12 -0
  249. package/dist/components/kanban/header-actions.js +4 -0
  250. package/dist/components/kanban/header-actions.js.map +1 -0
  251. package/dist/components/kanban/header-search.d.ts +12 -0
  252. package/dist/components/kanban/header-search.js +4 -0
  253. package/dist/components/kanban/header-search.js.map +1 -0
  254. package/dist/components/kanban/header-title.d.ts +12 -0
  255. package/dist/components/kanban/header-title.js +4 -0
  256. package/dist/components/kanban/header-title.js.map +1 -0
  257. package/dist/components/kanban/header.d.ts +12 -0
  258. package/dist/components/kanban/header.js +4 -0
  259. package/dist/components/kanban/header.js.map +1 -0
  260. package/dist/components/kanban/index.d.ts +9 -0
  261. package/dist/components/kanban/index.js +2 -0
  262. package/dist/components/kanban/index.js.map +1 -0
  263. package/dist/components/kanban/kanban.d.ts +18 -0
  264. package/dist/components/kanban/kanban.js +4 -0
  265. package/dist/components/kanban/kanban.js.map +1 -0
  266. package/dist/components/kanban/mock-data.d.ts +14 -0
  267. package/dist/components/kanban/mock-data.js +2 -0
  268. package/dist/components/kanban/mock-data.js.map +1 -0
  269. package/dist/components/kanban/styles.module.css +117 -0
  270. package/dist/components/kanban/types.d.ts +50 -0
  271. package/dist/components/label/index.js +1 -1
  272. package/dist/components/label/index.js.map +1 -1
  273. package/dist/components/label/styles.module.css +23 -0
  274. package/dist/components/lines/index.d.ts +0 -2
  275. package/dist/components/lines/index.js +1 -1
  276. package/dist/components/lines/index.js.map +1 -1
  277. package/dist/components/lines/styles.module.css +95 -0
  278. package/dist/components/lines/types.d.ts +4 -5
  279. package/dist/components/link/index.js +1 -1
  280. package/dist/components/link/index.js.map +1 -1
  281. package/dist/components/link/styles.module.css +37 -0
  282. package/dist/components/menu/context.d.ts +0 -2
  283. package/dist/components/menu/index.d.ts +0 -2
  284. package/dist/components/menu/index.js +1 -1
  285. package/dist/components/menu/index.js.map +1 -1
  286. package/dist/components/menu/item-description.js +1 -1
  287. package/dist/components/menu/item-description.js.map +1 -1
  288. package/dist/components/menu/item-label.js +1 -1
  289. package/dist/components/menu/item-label.js.map +1 -1
  290. package/dist/components/menu/item.d.ts +0 -2
  291. package/dist/components/menu/item.js +1 -1
  292. package/dist/components/menu/item.js.map +1 -1
  293. package/dist/components/menu/section.d.ts +0 -2
  294. package/dist/components/menu/section.js +1 -1
  295. package/dist/components/menu/section.js.map +1 -1
  296. package/dist/components/menu/separator.js +1 -1
  297. package/dist/components/menu/separator.js.map +1 -1
  298. package/dist/components/menu/styles.module.css +415 -0
  299. package/dist/components/menu/trigger.d.ts +5 -1
  300. package/dist/components/menu/trigger.js +1 -1
  301. package/dist/components/menu/trigger.js.map +1 -1
  302. package/dist/components/menu/types.d.ts +2 -3
  303. package/dist/components/notice/index.d.ts +0 -3
  304. package/dist/components/notice/index.js +1 -1
  305. package/dist/components/notice/index.js.map +1 -1
  306. package/dist/components/notice/list.d.ts +0 -3
  307. package/dist/components/notice/list.js +1 -1
  308. package/dist/components/notice/list.js.map +1 -1
  309. package/dist/components/notice/notice-icon.d.ts +0 -3
  310. package/dist/components/notice/styles.module.css +133 -0
  311. package/dist/components/notice/types.d.ts +3 -6
  312. package/dist/components/options/index.js +1 -1
  313. package/dist/components/options/index.js.map +1 -1
  314. package/dist/components/options/item-content.d.ts +2 -5
  315. package/dist/components/options/item-content.js +1 -3
  316. package/dist/components/options/item-content.js.map +1 -1
  317. package/dist/components/options/item-description.d.ts +2 -5
  318. package/dist/components/options/item-description.js +1 -3
  319. package/dist/components/options/item-description.js.map +1 -1
  320. package/dist/components/options/item-label.d.ts +2 -5
  321. package/dist/components/options/item-label.js +1 -3
  322. package/dist/components/options/item-label.js.map +1 -1
  323. package/dist/components/options/item.js +1 -1
  324. package/dist/components/options/item.js.map +1 -1
  325. package/dist/components/options/section.js +1 -3
  326. package/dist/components/options/section.js.map +1 -1
  327. package/dist/components/options/styles.module.css +397 -0
  328. package/dist/components/options/types.d.ts +2 -3
  329. package/dist/components/pagination/context.d.ts +9 -0
  330. package/dist/components/pagination/context.js +4 -0
  331. package/dist/components/pagination/context.js.map +1 -0
  332. package/dist/components/pagination/index.d.ts +25 -0
  333. package/dist/components/pagination/index.js +4 -0
  334. package/dist/components/pagination/index.js.map +1 -0
  335. package/dist/components/pagination/next.d.ts +10 -0
  336. package/dist/components/pagination/next.js +4 -0
  337. package/dist/components/pagination/next.js.map +1 -0
  338. package/dist/components/pagination/pages.d.ts +10 -0
  339. package/dist/components/pagination/pages.js +4 -0
  340. package/dist/components/pagination/pages.js.map +1 -0
  341. package/dist/components/pagination/prev.d.ts +10 -0
  342. package/dist/components/pagination/prev.js +4 -0
  343. package/dist/components/pagination/prev.js.map +1 -0
  344. package/dist/components/pagination/styles.module.css +25 -0
  345. package/dist/components/pagination/types.d.ts +35 -0
  346. package/dist/components/pagination/types.js +2 -0
  347. package/dist/components/pagination/types.js.map +1 -0
  348. package/dist/components/pagination/utils.d.ts +16 -0
  349. package/dist/components/pagination/utils.js +2 -0
  350. package/dist/components/pagination/utils.js.map +1 -0
  351. package/dist/components/popover/content.d.ts +2 -4
  352. package/dist/components/popover/content.js +1 -1
  353. package/dist/components/popover/content.js.map +1 -1
  354. package/dist/components/popover/footer.d.ts +2 -5
  355. package/dist/components/popover/footer.js +1 -1
  356. package/dist/components/popover/footer.js.map +1 -1
  357. package/dist/components/popover/index.d.ts +15 -19
  358. package/dist/components/popover/index.js +1 -1
  359. package/dist/components/popover/index.js.map +1 -1
  360. package/dist/components/popover/styles.module.css +32 -0
  361. package/dist/components/popover/title.d.ts +2 -4
  362. package/dist/components/popover/title.js +1 -1
  363. package/dist/components/popover/title.js.map +1 -1
  364. package/dist/components/popover/trigger.d.ts +1 -1
  365. package/dist/components/popover/trigger.js +1 -1
  366. package/dist/components/popover/trigger.js.map +1 -1
  367. package/dist/components/popover/types.d.ts +11 -22
  368. package/dist/components/query-builder/index.js +1 -1
  369. package/dist/components/query-builder/index.js.map +1 -1
  370. package/dist/components/query-builder/rule-group.js +1 -1
  371. package/dist/components/query-builder/rule-group.js.map +1 -1
  372. package/dist/components/query-builder/rule.js +1 -1
  373. package/dist/components/query-builder/rule.js.map +1 -1
  374. package/dist/components/query-builder/styles.module.css +87 -0
  375. package/dist/components/query-builder/value-editor.js +1 -1
  376. package/dist/components/query-builder/value-editor.js.map +1 -1
  377. package/dist/components/radio/group.js +1 -1
  378. package/dist/components/radio/group.js.map +1 -1
  379. package/dist/components/radio/index.js +1 -1
  380. package/dist/components/radio/index.js.map +1 -1
  381. package/dist/components/radio/styles.module.css +118 -0
  382. package/dist/components/search-field/context.d.ts +0 -4
  383. package/dist/components/search-field/index.d.ts +0 -4
  384. package/dist/components/search-field/index.js +1 -1
  385. package/dist/components/search-field/index.js.map +1 -1
  386. package/dist/components/search-field/styles.module.css +104 -0
  387. package/dist/components/search-field/types.d.ts +2 -7
  388. package/dist/components/select-field/context.d.ts +0 -3
  389. package/dist/components/select-field/index.d.ts +0 -3
  390. package/dist/components/select-field/index.js +1 -1
  391. package/dist/components/select-field/index.js.map +1 -1
  392. package/dist/components/select-field/styles.module.css +78 -0
  393. package/dist/components/select-field/types.d.ts +0 -3
  394. package/dist/components/sidenav/avatar.js +1 -1
  395. package/dist/components/sidenav/avatar.js.map +1 -1
  396. package/dist/components/sidenav/content.js +1 -1
  397. package/dist/components/sidenav/content.js.map +1 -1
  398. package/dist/components/sidenav/footer.js +1 -3
  399. package/dist/components/sidenav/footer.js.map +1 -1
  400. package/dist/components/sidenav/header.js +1 -1
  401. package/dist/components/sidenav/header.js.map +1 -1
  402. package/dist/components/sidenav/index.js +1 -1
  403. package/dist/components/sidenav/index.js.map +1 -1
  404. package/dist/components/sidenav/item.js +1 -1
  405. package/dist/components/sidenav/item.js.map +1 -1
  406. package/dist/components/sidenav/link.js +1 -1
  407. package/dist/components/sidenav/link.js.map +1 -1
  408. package/dist/components/sidenav/menu-item.js +1 -3
  409. package/dist/components/sidenav/menu-item.js.map +1 -1
  410. package/dist/components/sidenav/menu.js +1 -1
  411. package/dist/components/sidenav/menu.js.map +1 -1
  412. package/dist/components/sidenav/styles.module.css +311 -0
  413. package/dist/components/sidenav/types.d.ts +1 -2
  414. package/dist/components/skeleton/index.d.ts +2 -4
  415. package/dist/components/skeleton/index.js +1 -1
  416. package/dist/components/skeleton/index.js.map +1 -1
  417. package/dist/components/skeleton/styles.module.css +33 -0
  418. package/dist/components/skeleton/types.d.ts +4 -5
  419. package/dist/components/slider/index.js +1 -1
  420. package/dist/components/slider/index.js.map +1 -1
  421. package/dist/components/slider/styles.module.css +220 -0
  422. package/dist/components/switch/index.js +1 -1
  423. package/dist/components/switch/index.js.map +1 -1
  424. package/dist/components/switch/styles.module.css +116 -0
  425. package/dist/components/table/body.d.ts +0 -3
  426. package/dist/components/table/body.js +1 -1
  427. package/dist/components/table/body.js.map +1 -1
  428. package/dist/components/table/cell.d.ts +0 -3
  429. package/dist/components/table/cell.js +1 -1
  430. package/dist/components/table/cell.js.map +1 -1
  431. package/dist/components/table/context.d.ts +0 -3
  432. package/dist/components/table/header-cell.d.ts +0 -3
  433. package/dist/components/table/header-cell.js +1 -1
  434. package/dist/components/table/header-cell.js.map +1 -1
  435. package/dist/components/table/header.d.ts +0 -3
  436. package/dist/components/table/header.js +1 -1
  437. package/dist/components/table/header.js.map +1 -1
  438. package/dist/components/table/index.d.ts +0 -3
  439. package/dist/components/table/index.js +1 -1
  440. package/dist/components/table/index.js.map +1 -1
  441. package/dist/components/table/row.d.ts +0 -3
  442. package/dist/components/table/row.js +1 -1
  443. package/dist/components/table/row.js.map +1 -1
  444. package/dist/components/table/styles.module.css +95 -0
  445. package/dist/components/table/types.d.ts +5 -15
  446. package/dist/components/tabs/index.js +1 -1
  447. package/dist/components/tabs/index.js.map +1 -1
  448. package/dist/components/tabs/list.js +1 -1
  449. package/dist/components/tabs/list.js.map +1 -1
  450. package/dist/components/tabs/panel.js +1 -1
  451. package/dist/components/tabs/panel.js.map +1 -1
  452. package/dist/components/tabs/styles.module.css +140 -0
  453. package/dist/components/tabs/tab.js +1 -1
  454. package/dist/components/tabs/tab.js.map +1 -1
  455. package/dist/components/text-area-field/index.js +1 -1
  456. package/dist/components/text-area-field/index.js.map +1 -1
  457. package/dist/components/text-area-field/styles.module.css +67 -0
  458. package/dist/components/text-field/context.d.ts +0 -4
  459. package/dist/components/text-field/index.d.ts +24 -4
  460. package/dist/components/text-field/index.js +1 -1
  461. package/dist/components/text-field/index.js.map +1 -1
  462. package/dist/components/text-field/styles.module.css +37 -0
  463. package/dist/components/text-field/types.d.ts +0 -4
  464. package/dist/components/time-field/index.d.ts +0 -3
  465. package/dist/components/time-field/index.js +1 -1
  466. package/dist/components/time-field/index.js.map +1 -1
  467. package/dist/components/time-field/styles.module.css +75 -0
  468. package/dist/components/time-field/types.d.ts +2 -5
  469. package/dist/components/tooltip/index.js +1 -1
  470. package/dist/components/tooltip/index.js.map +1 -1
  471. package/dist/components/tooltip/styles.module.css +20 -0
  472. package/dist/components/tree/context.d.ts +0 -2
  473. package/dist/components/tree/context.js +1 -1
  474. package/dist/components/tree/context.js.map +1 -1
  475. package/dist/components/tree/index.d.ts +0 -2
  476. package/dist/components/tree/index.js +1 -1
  477. package/dist/components/tree/index.js.map +1 -1
  478. package/dist/components/tree/item-actions.js +1 -1
  479. package/dist/components/tree/item-actions.js.map +1 -1
  480. package/dist/components/tree/item-content.d.ts +0 -2
  481. package/dist/components/tree/item-content.js +1 -1
  482. package/dist/components/tree/item-content.js.map +1 -1
  483. package/dist/components/tree/item-description.js +1 -1
  484. package/dist/components/tree/item-description.js.map +1 -1
  485. package/dist/components/tree/item-label.js +1 -1
  486. package/dist/components/tree/item-label.js.map +1 -1
  487. package/dist/components/tree/item-prefix-icon.js +1 -1
  488. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  489. package/dist/components/tree/item.d.ts +0 -2
  490. package/dist/components/tree/item.js +1 -1
  491. package/dist/components/tree/item.js.map +1 -1
  492. package/dist/components/tree/lines.js +1 -1
  493. package/dist/components/tree/lines.js.map +1 -1
  494. package/dist/components/tree/styles.module.css +183 -0
  495. package/dist/components/tree/types.d.ts +6 -5
  496. package/dist/hooks/coordinate-field/index.d.ts +9 -0
  497. package/dist/hooks/coordinate-field/index.js +2 -0
  498. package/dist/hooks/coordinate-field/index.js.map +1 -0
  499. package/dist/hooks/coordinate-field/use-coordinate-copy.d.ts +19 -0
  500. package/dist/hooks/coordinate-field/use-coordinate-copy.js +2 -0
  501. package/dist/hooks/coordinate-field/use-coordinate-copy.js.map +1 -0
  502. package/dist/hooks/coordinate-field/use-coordinate-field-state.d.ts +28 -0
  503. package/dist/hooks/coordinate-field/use-coordinate-field-state.js +2 -0
  504. package/dist/hooks/coordinate-field/use-coordinate-field-state.js.map +1 -0
  505. package/dist/hooks/coordinate-field/use-coordinate-field.d.ts +49 -0
  506. package/dist/hooks/coordinate-field/use-coordinate-field.js +2 -0
  507. package/dist/hooks/coordinate-field/use-coordinate-field.js.map +1 -0
  508. package/dist/hooks/coordinate-field/use-coordinate-focus.d.ts +21 -0
  509. package/dist/hooks/coordinate-field/use-coordinate-focus.js +2 -0
  510. package/dist/hooks/coordinate-field/use-coordinate-focus.js.map +1 -0
  511. package/dist/hooks/coordinate-field/use-coordinate-paste.d.ts +21 -0
  512. package/dist/hooks/coordinate-field/use-coordinate-paste.js +2 -0
  513. package/dist/hooks/coordinate-field/use-coordinate-paste.js.map +1 -0
  514. package/dist/hooks/coordinate-field/use-timeout-cleanup.d.ts +6 -0
  515. package/dist/hooks/coordinate-field/use-timeout-cleanup.js +2 -0
  516. package/dist/hooks/coordinate-field/use-timeout-cleanup.js.map +1 -0
  517. package/dist/hooks/kanban/index.d.ts +93 -0
  518. package/dist/hooks/kanban/index.js +2 -0
  519. package/dist/hooks/kanban/index.js.map +1 -0
  520. package/dist/index.d.ts +58 -61
  521. package/dist/index.js +1 -1
  522. package/dist/index.module.css +19 -0
  523. package/dist/lib/utils.d.ts +1 -17
  524. package/dist/lib/utils.js +1 -1
  525. package/dist/lib/utils.js.map +1 -1
  526. package/dist/metafile-esm.json +1 -1
  527. package/dist/providers/theme-provider.d.ts +1 -1
  528. package/dist/providers/theme-provider.js +1 -1
  529. package/dist/providers/theme-provider.js.map +1 -1
  530. package/package.json +36 -49
  531. package/dist/components/accordion/styles.d.ts +0 -56
  532. package/dist/components/accordion/styles.js +0 -2
  533. package/dist/components/accordion/styles.js.map +0 -1
  534. package/dist/components/action-bar/styles.d.ts +0 -5
  535. package/dist/components/action-bar/styles.js +0 -2
  536. package/dist/components/action-bar/styles.js.map +0 -1
  537. package/dist/components/avatar/styles.d.ts +0 -48
  538. package/dist/components/avatar/styles.js +0 -2
  539. package/dist/components/avatar/styles.js.map +0 -1
  540. package/dist/components/badge/styles.d.ts +0 -32
  541. package/dist/components/badge/styles.js +0 -2
  542. package/dist/components/badge/styles.js.map +0 -1
  543. package/dist/components/breadcrumbs/styles.d.ts +0 -48
  544. package/dist/components/breadcrumbs/styles.js +0 -2
  545. package/dist/components/breadcrumbs/styles.js.map +0 -1
  546. package/dist/components/button/styles.d.ts +0 -129
  547. package/dist/components/button/styles.js +0 -2
  548. package/dist/components/button/styles.js.map +0 -1
  549. package/dist/components/checkbox/styles.d.ts +0 -54
  550. package/dist/components/checkbox/styles.js +0 -2
  551. package/dist/components/checkbox/styles.js.map +0 -1
  552. package/dist/components/chip/styles.d.ts +0 -247
  553. package/dist/components/chip/styles.js +0 -2
  554. package/dist/components/chip/styles.js.map +0 -1
  555. package/dist/components/classification-badge/styles.d.ts +0 -38
  556. package/dist/components/classification-badge/styles.js +0 -2
  557. package/dist/components/classification-badge/styles.js.map +0 -1
  558. package/dist/components/classification-banner/styles.d.ts +0 -38
  559. package/dist/components/classification-banner/styles.js +0 -2
  560. package/dist/components/classification-banner/styles.js.map +0 -1
  561. package/dist/components/color-picker/styles.d.ts +0 -42
  562. package/dist/components/color-picker/styles.js +0 -2
  563. package/dist/components/color-picker/styles.js.map +0 -1
  564. package/dist/components/combobox-field/styles.d.ts +0 -72
  565. package/dist/components/combobox-field/styles.js +0 -2
  566. package/dist/components/combobox-field/styles.js.map +0 -1
  567. package/dist/components/date-field/styles.d.ts +0 -59
  568. package/dist/components/date-field/styles.js +0 -2
  569. package/dist/components/date-field/styles.js.map +0 -1
  570. package/dist/components/details-list/styles.d.ts +0 -65
  571. package/dist/components/details-list/styles.js +0 -2
  572. package/dist/components/details-list/styles.js.map +0 -1
  573. package/dist/components/dialog/styles.d.ts +0 -60
  574. package/dist/components/dialog/styles.js +0 -2
  575. package/dist/components/dialog/styles.js.map +0 -1
  576. package/dist/components/divider/styles.d.ts +0 -5
  577. package/dist/components/divider/styles.js +0 -2
  578. package/dist/components/divider/styles.js.map +0 -1
  579. package/dist/components/drawer/styles.d.ts +0 -152
  580. package/dist/components/drawer/styles.js +0 -2
  581. package/dist/components/drawer/styles.js.map +0 -1
  582. package/dist/components/hero/styles.d.ts +0 -48
  583. package/dist/components/hero/styles.js +0 -2
  584. package/dist/components/hero/styles.js.map +0 -1
  585. package/dist/components/hotkey/hotkey-set.d.ts +0 -9
  586. package/dist/components/hotkey/hotkey-set.js +0 -4
  587. package/dist/components/hotkey/hotkey-set.js.map +0 -1
  588. package/dist/components/hotkey/styles.d.ts +0 -53
  589. package/dist/components/hotkey/styles.js +0 -2
  590. package/dist/components/hotkey/styles.js.map +0 -1
  591. package/dist/components/icon/styles.d.ts +0 -5
  592. package/dist/components/icon/styles.js +0 -2
  593. package/dist/components/icon/styles.js.map +0 -1
  594. package/dist/components/input/styles.d.ts +0 -142
  595. package/dist/components/input/styles.js +0 -2
  596. package/dist/components/input/styles.js.map +0 -1
  597. package/dist/components/label/styles.d.ts +0 -5
  598. package/dist/components/label/styles.js +0 -2
  599. package/dist/components/label/styles.js.map +0 -1
  600. package/dist/components/lines/styles.d.ts +0 -32
  601. package/dist/components/lines/styles.js +0 -2
  602. package/dist/components/lines/styles.js.map +0 -1
  603. package/dist/components/link/styles.d.ts +0 -5
  604. package/dist/components/link/styles.js +0 -2
  605. package/dist/components/link/styles.js.map +0 -1
  606. package/dist/components/menu/styles.d.ts +0 -71
  607. package/dist/components/menu/styles.js +0 -2
  608. package/dist/components/menu/styles.js.map +0 -1
  609. package/dist/components/notice/styles.d.ts +0 -60
  610. package/dist/components/notice/styles.js +0 -2
  611. package/dist/components/notice/styles.js.map +0 -1
  612. package/dist/components/options/styles.d.ts +0 -72
  613. package/dist/components/options/styles.js +0 -2
  614. package/dist/components/options/styles.js.map +0 -1
  615. package/dist/components/popover/body.d.ts +0 -8
  616. package/dist/components/popover/body.js +0 -4
  617. package/dist/components/popover/body.js.map +0 -1
  618. package/dist/components/popover/styles.d.ts +0 -48
  619. package/dist/components/popover/styles.js +0 -2
  620. package/dist/components/popover/styles.js.map +0 -1
  621. package/dist/components/query-builder/styles.d.ts +0 -152
  622. package/dist/components/query-builder/styles.js +0 -2
  623. package/dist/components/query-builder/styles.js.map +0 -1
  624. package/dist/components/radio/styles.d.ts +0 -54
  625. package/dist/components/radio/styles.js +0 -2
  626. package/dist/components/radio/styles.js.map +0 -1
  627. package/dist/components/search-field/styles.d.ts +0 -53
  628. package/dist/components/search-field/styles.js +0 -2
  629. package/dist/components/search-field/styles.js.map +0 -1
  630. package/dist/components/select-field/styles.d.ts +0 -66
  631. package/dist/components/select-field/styles.js +0 -2
  632. package/dist/components/select-field/styles.js.map +0 -1
  633. package/dist/components/sidenav/styles.d.ts +0 -156
  634. package/dist/components/sidenav/styles.js +0 -2
  635. package/dist/components/sidenav/styles.js.map +0 -1
  636. package/dist/components/skeleton/styles.d.ts +0 -23
  637. package/dist/components/skeleton/styles.js +0 -2
  638. package/dist/components/skeleton/styles.js.map +0 -1
  639. package/dist/components/slider/styles.d.ts +0 -84
  640. package/dist/components/slider/styles.js +0 -2
  641. package/dist/components/slider/styles.js.map +0 -1
  642. package/dist/components/switch/styles.d.ts +0 -44
  643. package/dist/components/switch/styles.js +0 -2
  644. package/dist/components/switch/styles.js.map +0 -1
  645. package/dist/components/table/styles.d.ts +0 -134
  646. package/dist/components/table/styles.js +0 -2
  647. package/dist/components/table/styles.js.map +0 -1
  648. package/dist/components/tabs/styles.d.ts +0 -48
  649. package/dist/components/tabs/styles.js +0 -2
  650. package/dist/components/tabs/styles.js.map +0 -1
  651. package/dist/components/text-area-field/styles.d.ts +0 -54
  652. package/dist/components/text-area-field/styles.js +0 -2
  653. package/dist/components/text-area-field/styles.js.map +0 -1
  654. package/dist/components/text-field/styles.d.ts +0 -54
  655. package/dist/components/text-field/styles.js +0 -2
  656. package/dist/components/text-field/styles.js.map +0 -1
  657. package/dist/components/time-field/styles.d.ts +0 -69
  658. package/dist/components/time-field/styles.js +0 -2
  659. package/dist/components/time-field/styles.js.map +0 -1
  660. package/dist/components/tooltip/styles.d.ts +0 -5
  661. package/dist/components/tooltip/styles.js +0 -2
  662. package/dist/components/tooltip/styles.js.map +0 -1
  663. package/dist/components/tree/styles.d.ts +0 -128
  664. package/dist/components/tree/styles.js +0 -2
  665. package/dist/components/tree/styles.js.map +0 -1
  666. package/dist/index.css +0 -196
  667. package/dist/styles.css +0 -9484
  668. package/dist/tokens/themes.css +0 -882
  669. package/dist/tokens/themes.d.ts +0 -1
  670. package/dist/tokens/tokens.css +0 -202
  671. package/dist/tokens/tokens.d.ts +0 -468
  672. package/dist/tokens/tokens.js +0 -2
  673. package/dist/tokens/tokens.js.map +0 -1
  674. package/dist/tokens/types.d.ts +0 -308
  675. package/dist/variants/variants.css +0 -86
  676. package/dist/variants/variants.d.ts +0 -2
  677. /package/dist/{tokens → components/kanban}/types.js +0 -0
  678. /package/dist/{tokens → components/kanban}/types.js.map +0 -0
@@ -0,0 +1,49 @@
1
+ import { useCoordinateCopy } from './use-coordinate-copy.js';
2
+ import { useCoordinateFieldState } from './use-coordinate-field-state.js';
3
+ import { useCoordinateFocus } from './use-coordinate-focus.js';
4
+ import { useCoordinatePaste } from './use-coordinate-paste.js';
5
+ import { ValidationResult } from 'react-aria-components';
6
+ import { CoordinateFieldProps } from '../../components/coordinate-field/types.js';
7
+ import './use-timeout-cleanup.js';
8
+ import 'react';
9
+
10
+ interface UseCoordinateFieldResult {
11
+ state: ReturnType<typeof useCoordinateFieldState>;
12
+ focus: ReturnType<typeof useCoordinateFocus>;
13
+ paste: ReturnType<typeof useCoordinatePaste>;
14
+ copy: ReturnType<typeof useCoordinateCopy>;
15
+ registerTimeout: (timeoutId: NodeJS.Timeout) => void;
16
+ fieldProps: {
17
+ id: string;
18
+ role: 'group';
19
+ 'aria-labelledby': string | undefined;
20
+ 'aria-describedby': string | undefined;
21
+ 'aria-label': string | undefined;
22
+ 'aria-details': string | undefined;
23
+ 'aria-invalid': boolean | undefined;
24
+ 'aria-required': boolean | undefined;
25
+ 'aria-disabled': boolean | undefined;
26
+ };
27
+ labelProps: {
28
+ id: string;
29
+ htmlFor: string;
30
+ };
31
+ descriptionProps: {
32
+ id: string;
33
+ };
34
+ errorProps: {
35
+ id: string;
36
+ };
37
+ validation: ValidationResult;
38
+ ids: {
39
+ fieldId: string;
40
+ labelId: string;
41
+ descriptionId: string;
42
+ errorId: string;
43
+ };
44
+ effectiveErrorMessage: string | null;
45
+ isInvalid: boolean;
46
+ }
47
+ declare function useCoordinateField(props: CoordinateFieldProps, customAriaLabel?: string, customAriaDescribedby?: string, customAriaDetails?: string): UseCoordinateFieldResult;
48
+
49
+ export { type UseCoordinateFieldResult, useCoordinateField };
@@ -0,0 +1,2 @@
1
+ import {useId}from'@react-aria/utils';import {useMemo}from'react';import {useCoordinateCopy}from'./use-coordinate-copy.js';import {useCoordinateFieldState}from'./use-coordinate-field-state.js';import {useCoordinateFocus}from'./use-coordinate-focus.js';import {useCoordinatePaste}from'./use-coordinate-paste.js';import {useTimeoutCleanup}from'./use-timeout-cleanup.js';const O=0;function X(y,l,b,C){const{description:v,errorMessage:u,format:P="dd",value:I,defaultValue:F,onChange:V,onError:p,isDisabled:f=false,isInvalid:S=false,isRequired:R=false,id:E}=y,n=useId(E),a=useId(),d=useId(),s=useId(),{registerTimeout:o}=useTimeoutCleanup(),e=useCoordinateFieldState({value:I,defaultValue:F,format:P,onChange:V,onError:p,registerTimeout:o}),c=useCoordinateFocus({editableSegmentConfigs:e.editableSegmentConfigs}),T=useCoordinatePaste({onValueApplied:x=>{e.applyPastedCoordinate(x),o(setTimeout(()=>{c.focusFirstSegment();},O));},onError:p}),M=useCoordinateCopy({currentValue:e.currentValue,validationErrors:e.validationErrors,isDisabled:f,registerTimeout:o}),i=useMemo(()=>u||e.effectiveErrorMessage,[u,e.effectiveErrorMessage]),r=S||i!==null,g=[v&&d,i&&s,b].filter(Boolean),h=g.length>0?g.join(" "):void 0,B={id:a,htmlFor:n},q={id:n,role:"group","aria-labelledby":l?void 0:a,"aria-describedby":h,"aria-label":l||void 0,"aria-details":C||void 0,"aria-invalid":r||void 0,"aria-required":R||void 0,"aria-disabled":f||void 0},A={id:d},D={id:s},U=useMemo(()=>({isInvalid:r,validationErrors:i?[i]:[],validationDetails:{}}),[r,i]);return {state:e,focus:c,paste:T,copy:M,registerTimeout:o,fieldProps:q,labelProps:B,descriptionProps:A,errorProps:D,validation:U,ids:{fieldId:n,labelId:a,descriptionId:d,errorId:s},effectiveErrorMessage:i,isInvalid:r}}export{X as useCoordinateField};//# sourceMappingURL=use-coordinate-field.js.map
2
+ //# sourceMappingURL=use-coordinate-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/coordinate-field/use-coordinate-field.ts"],"names":["useCoordinateField","customAriaDescribedby","customAriaDetails","description","value","onError","idProp","labelId","useId","descriptionId","errorId","t","registerTimeout","useTimeoutCleanup","N","_","onChange","focus","pastedValue","state","copy","useCoordinateCopy","L","effectiveErrorMessage","m","describedBy","describedByIds","labelProps","fieldProps","fieldId","customAriaLabel","errorProps","validation","useMemo","isInvalid","descriptionProps"],"mappings":"gXAkEgBA,MAGdC,CACAC,CAAAA,CAC0B,CAC1B,SACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,CAAAA,CACA,iBACA,CAAA,CAAA,CAAA,YACA,CAAA,CAAA,CAAAC,MACA,CAAA,CAAA,CAAA,IAAA,CAAA,oBAEA,CAAA,CAAAC,CAAAA,QACA,CAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,WACA,CAAA,CAAA,KAAA,CAAA,SAAa,CAAA,CACb,CAAA,KAAIC,CACN,UAE4B,CACtBC,CAAAA,CAAUC,KAAM,CAAA,EAChBC,CAAgBD,CAAAA,CAAM,CAAA,CACtBE,CAAAA,CAAUF,MAAM,CAAA,CAEhB,CAAE,CAAA,CAAA,CAAAG,KAAA,EAAA,CAAA,CAAA,CAAAA,KAAA,EAAA,CAAA,CAAA,CAAAA,KAAAC,EAAgB,CAAIC,CAAAA,eAG1BT,CACA,CAAA,CAAA,CAAAU,iBAAA,EAAA,CAAA,CAAA,CAAAC,uBAAA,CAAA,CAAA,KACA,CAAA,CAAA,CAAA,YACA,CAAAC,EACA,MAAA,CAAA,CAAAX,CAAAA,QACA,CAAA,CAAA,CAAA,OACF,CAAC,CAAA,CAEKY,gEAC0B,CAAA,CAAA,CAAA,sBAiB9B,CAAA,CAAA,CAd+BC,oBAAiC,CAChEC,CAAAA,cAAM,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,qBAMO,CAAM,CACfF,CAAAA,CAAM,CAAA,CAAA,UAAA,CAAA,IAAA,CAAkB,CAC1B,CAAA,iBAOH,GAEKG,CAAOC,EAAkB,CAC7B,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAcF,CAAAA,CAAM,CAAA,CAAAG,iBAAA,CAAA,CAAA,2BACI,CAAA,gBACxB,CAAA,CAAA,CAAA,gBACA,CAAA,UACF,CAAC,CAAA,CAEKC,eAC4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,OAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,gDAOhCrB,GAAeM,CAAAA,CACfc,CAAAA,EAAyBb,CAAAA,OAEzB,CAAA,CAAA,CAAA,CAAO,CAAA,EAAA,CAAA,CAAA,CAAA,EAAO,CACVe,CAAAA,CACJC,EAAe,MAAA,CAAS,OAAmB,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,MAAI,CAAA,CAEnDC,CAAAA,CAAa,CACjB,IAAIpB,CACJ,GAAA,CAAA,CAAA,MAOIqB,CAAAA,CAAa,CACjB,CAAA,EAAIC,EACJ,CAAA,OAAM,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,IAAA,CAAA,OALqBC,CAAkB,iBAMvC,CAAA,CAAA,CAAA,MAAA,CAAA,CAAoBL,CAAAA,kBACa,CAAA,CAAA,CAAA,YACjC,CAAA,CAAA,EAAA,qBACA,CAAA,CAAA,EAAA,MAA6B,CAAA,cAC7B,CAAA,CAAA,EAAA,MAA+B,CAAA,eAC/B,CAAA,CAAA,EAAA,MAA+B,CAAA,eAKjC,CAEMM,CAAAA,EACJ,MAGIC,CAAAA,CAA+BC,CAAAA,CACnC,KAAO,CACL,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAAC,CAAAA,CACAV,OAAA,CAAA,KAAA,CAAA,SAAkBD,CAAAA,CAAwB,CAACA,gBAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAoB,CACtB,iBAKA,CAAA,EAAA,CAAA,CAAA,CAAAJ,CAAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,OACA,CAAA,aAEA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,IAAAP,CACA,CAAA,CAAA,eACA,CAAA,CAAA,CAAA,UACA,CAAA,CAAA,CAAA,UAAAuB,EACA,CAAA,gBACA,CAAA,CAAA,CAAA,UACK,CACH,CAAA,CAAA,gBACA5B,CAAAA,CACA,OAAA,CAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,aAEF,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,qBAGJ,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA","file":"use-coordinate-field.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 { useId } from '@react-aria/utils';\nimport { useMemo } from 'react';\nimport { useCoordinateCopy } from './use-coordinate-copy';\nimport { useCoordinateFieldState } from './use-coordinate-field-state';\nimport { useCoordinateFocus } from './use-coordinate-focus';\nimport { useCoordinatePaste } from './use-coordinate-paste';\nimport { useTimeoutCleanup } from './use-timeout-cleanup';\nimport type { ValidationResult } from 'react-aria-components';\nimport type {\n CoordinateFieldProps,\n CoordinateSystem,\n CoordinateValue,\n} from '../../components/coordinate-field/types';\n\nconst FOCUS_DELAY_MS = 0;\n\nexport interface UseCoordinateFieldResult {\n state: ReturnType<typeof useCoordinateFieldState>;\n focus: ReturnType<typeof useCoordinateFocus>;\n paste: ReturnType<typeof useCoordinatePaste>;\n copy: ReturnType<typeof useCoordinateCopy>;\n registerTimeout: (timeoutId: NodeJS.Timeout) => void;\n fieldProps: {\n id: string;\n role: 'group';\n 'aria-labelledby': string | undefined;\n 'aria-describedby': string | undefined;\n 'aria-label': string | undefined;\n 'aria-details': string | undefined;\n 'aria-invalid': boolean | undefined;\n 'aria-required': boolean | undefined;\n 'aria-disabled': boolean | undefined;\n };\n labelProps: {\n id: string;\n htmlFor: string;\n };\n descriptionProps: {\n id: string;\n };\n errorProps: {\n id: string;\n };\n validation: ValidationResult;\n ids: {\n fieldId: string;\n labelId: string;\n descriptionId: string;\n errorId: string;\n };\n effectiveErrorMessage: string | null;\n isInvalid: boolean;\n}\n\nexport function useCoordinateField(\n props: CoordinateFieldProps,\n customAriaLabel?: string,\n customAriaDescribedby?: string,\n customAriaDetails?: string,\n): UseCoordinateFieldResult {\n const {\n description,\n errorMessage: errorMessageProp,\n format = 'dd' as CoordinateSystem,\n value,\n defaultValue,\n onChange,\n onError,\n isDisabled = false,\n isInvalid: isInvalidProp = false,\n isRequired = false,\n id: idProp,\n } = props;\n\n const fieldId = useId(idProp);\n const labelId = useId();\n const descriptionId = useId();\n const errorId = useId();\n\n const { registerTimeout } = useTimeoutCleanup();\n\n const state = useCoordinateFieldState({\n value,\n defaultValue,\n format,\n onChange,\n onError,\n registerTimeout,\n });\n\n const focus = useCoordinateFocus({\n editableSegmentConfigs: state.editableSegmentConfigs,\n });\n\n const handlePasteValueApplied = (pastedValue: CoordinateValue) => {\n state.applyPastedCoordinate(pastedValue);\n\n // Defer focus until after React commits state updates to the DOM.\n // applyPastedCoordinate triggers setSegmentValues which updates the input\n // elements, and we need those updates to complete before focusing.\n registerTimeout(\n setTimeout(() => {\n focus.focusFirstSegment();\n }, FOCUS_DELAY_MS),\n );\n };\n\n const paste = useCoordinatePaste({\n onValueApplied: handlePasteValueApplied,\n onError,\n });\n\n const copy = useCoordinateCopy({\n currentValue: state.currentValue,\n validationErrors: state.validationErrors,\n isDisabled,\n registerTimeout,\n });\n\n const effectiveErrorMessage = useMemo(\n () => errorMessageProp || state.effectiveErrorMessage,\n [errorMessageProp, state.effectiveErrorMessage],\n );\n\n const isInvalid = isInvalidProp || effectiveErrorMessage !== null;\n\n const describedByIds = [\n description && descriptionId,\n effectiveErrorMessage && errorId,\n customAriaDescribedby,\n ].filter(Boolean);\n const describedBy =\n describedByIds.length > 0 ? describedByIds.join(' ') : undefined;\n\n const labelProps = {\n id: labelId,\n htmlFor: fieldId,\n };\n\n // Only use aria-labelledby when we have a visible label (not using aria-label)\n // When aria-label is provided (e.g., in small size), it takes precedence\n const ariaLabelledBy = customAriaLabel ? undefined : labelId;\n\n const fieldProps = {\n id: fieldId,\n role: 'group' as const,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': describedBy,\n 'aria-label': customAriaLabel || undefined,\n 'aria-details': customAriaDetails || undefined,\n 'aria-invalid': isInvalid || undefined,\n 'aria-required': isRequired || undefined,\n 'aria-disabled': isDisabled || undefined,\n };\n\n const descriptionProps = {\n id: descriptionId,\n };\n\n const errorProps = {\n id: errorId,\n };\n\n const validation: ValidationResult = useMemo(\n () => ({\n isInvalid,\n validationErrors: effectiveErrorMessage ? [effectiveErrorMessage] : [],\n validationDetails: {} as ValidityState,\n }),\n [isInvalid, effectiveErrorMessage],\n );\n\n return {\n state,\n focus,\n paste,\n copy,\n registerTimeout,\n fieldProps,\n labelProps,\n descriptionProps,\n errorProps,\n validation,\n ids: {\n fieldId,\n labelId,\n descriptionId,\n errorId,\n },\n effectiveErrorMessage,\n isInvalid,\n };\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { KeyboardEvent } from 'react';
2
+ import { SegmentConfig } from '../../components/coordinate-field/types.js';
3
+ import 'react-aria-components';
4
+
5
+ interface UseCoordinateFocusOptions {
6
+ editableSegmentConfigs: SegmentConfig[];
7
+ }
8
+ interface UseCoordinateFocusResult {
9
+ segmentRefs: React.RefObject<HTMLInputElement>[];
10
+ focusedSegmentIndex: number;
11
+ focusSegment: (index: number) => void;
12
+ focusNextSegment: (currentIndex: number) => void;
13
+ focusPreviousSegment: (currentIndex: number) => void;
14
+ focusFirstSegment: () => void;
15
+ focusLastSegment: () => void;
16
+ handleSegmentKeyDown: (index: number, e: KeyboardEvent<HTMLInputElement>) => void;
17
+ setFocusedSegmentIndex: (index: number) => void;
18
+ }
19
+ declare function useCoordinateFocus({ editableSegmentConfigs, }: UseCoordinateFocusOptions): UseCoordinateFocusResult;
20
+
21
+ export { type UseCoordinateFocusOptions, type UseCoordinateFocusResult, useCoordinateFocus };
@@ -0,0 +1,2 @@
1
+ import {useRef,useState,useEffect,createRef}from'react';function v({editableSegmentConfigs:r}){const t=useRef([]),[m,f]=useState(-1);useEffect(()=>{t.current=r.map((e,n)=>{const c=t.current[n];return c||createRef()});},[r]);const o=e=>{e>=0&&e<t.current.length&&t.current[e]?.current?.focus();},i=e=>{o(e+1);},d=e=>{o(e-1);},s=()=>{o(0);},u=()=>{o(t.current.length-1);},g=(e,n)=>{n.key==="Home"?(n.preventDefault(),s()):n.key==="End"&&(n.preventDefault(),u());};return {segmentRefs:t.current,focusedSegmentIndex:m,focusSegment:o,focusNextSegment:i,focusPreviousSegment:d,focusFirstSegment:s,focusLastSegment:u,handleSegmentKeyDown:g,setFocusedSegmentIndex:f}}export{v as useCoordinateFocus};//# sourceMappingURL=use-coordinate-focus.js.map
2
+ //# sourceMappingURL=use-coordinate-focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/coordinate-field/use-coordinate-focus.ts"],"names":["useCoordinateFocus","editableSegmentConfigs","segmentRefsInternal","useRef","focusedSegmentIndex","setFocusedSegmentIndex","useState","useEffect","_","i","existingRef","createRef","focusSegment","index","focusNextSegment","currentIndex","focusPreviousSegment","focusFirstSegment","focusLastSegment","handleSegmentKeyDown","_index","e"],"mappings":"wDAwCO,SAASA,CAAAA,CAAmB,CACjC,sBAAA,CAAAC,CACF,EAAwD,CACtD,MAAMC,CAAAA,CAAsBC,MAAAA,CAA4C,EAAE,CAAA,CACpE,CAACC,EAAqBC,CAAsB,CAAA,CAAIC,QAAAA,CAAiB,EAAE,EAEzEC,SAAAA,CAAU,IAAM,CACdL,CAAAA,CAAoB,QAAUD,CAAAA,CAAuB,GAAA,CAAI,CAACO,CAAAA,CAAGC,CAAAA,GAAM,CACjE,MAAMC,CAAAA,CAAcR,EAAoB,OAAA,CAAQO,CAAC,CAAA,CACjD,OAAIC,GAGGC,SAAAA,EACT,CAAC,EACH,EAAG,CAACV,CAAsB,CAAC,CAAA,CAE3B,MAAMW,CAAAA,CAAgBC,CAAAA,EAAkB,CAClCA,CAAAA,EAAS,GAAKA,CAAAA,CAAQX,CAAAA,CAAoB,OAAA,CAAQ,MAAA,EACpDA,EAAoB,OAAA,CAAQW,CAAK,CAAA,EAAG,OAAA,EAAS,QAEjD,CAAA,CAEMC,CAAAA,CAAoBC,CAAAA,EAAyB,CACjDH,CAAAA,CAAaG,CAAAA,CAAe,CAAC,EAC/B,CAAA,CAEMC,CAAAA,CAAwBD,CAAAA,EAAyB,CACrDH,EAAaG,CAAAA,CAAe,CAAC,EAC/B,CAAA,CAEME,EAAoB,IAAM,CAC9BL,CAAAA,CAAa,CAAC,EAChB,CAAA,CAEMM,CAAAA,CAAmB,IAAM,CAC7BN,EAAaV,CAAAA,CAAoB,OAAA,CAAQ,MAAA,CAAS,CAAC,EACrD,CAAA,CAEMiB,CAAAA,CAAuB,CAC3BC,CAAAA,CACAC,IACG,CACCA,CAAAA,CAAE,GAAA,GAAQ,MAAA,EACZA,CAAAA,CAAE,cAAA,EAAe,CACjBJ,CAAAA,IACSI,CAAAA,CAAE,GAAA,GAAQ,KAAA,GACnBA,CAAAA,CAAE,gBAAe,CACjBH,CAAAA,EAAiB,EAErB,CAAA,CAEA,OAAO,CACL,WAAA,CAAahB,CAAAA,CAAoB,OAAA,CACjC,oBAAAE,CAAAA,CACA,YAAA,CAAAQ,CAAAA,CACA,gBAAA,CAAAE,EACA,oBAAA,CAAAE,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,iBAAAC,CAAAA,CACA,oBAAA,CAAAC,CAAAA,CACA,sBAAA,CAAAd,CACF,CACF","file":"use-coordinate-focus.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 createRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport type { SegmentConfig } from '../../components/coordinate-field/types';\n\nexport interface UseCoordinateFocusOptions {\n editableSegmentConfigs: SegmentConfig[];\n}\n\nexport interface UseCoordinateFocusResult {\n segmentRefs: React.RefObject<HTMLInputElement>[];\n focusedSegmentIndex: number;\n focusSegment: (index: number) => void;\n focusNextSegment: (currentIndex: number) => void;\n focusPreviousSegment: (currentIndex: number) => void;\n focusFirstSegment: () => void;\n focusLastSegment: () => void;\n handleSegmentKeyDown: (\n index: number,\n e: KeyboardEvent<HTMLInputElement>,\n ) => void;\n setFocusedSegmentIndex: (index: number) => void;\n}\n\nexport function useCoordinateFocus({\n editableSegmentConfigs,\n}: UseCoordinateFocusOptions): UseCoordinateFocusResult {\n const segmentRefsInternal = useRef<React.RefObject<HTMLInputElement>[]>([]);\n const [focusedSegmentIndex, setFocusedSegmentIndex] = useState<number>(-1);\n\n useEffect(() => {\n segmentRefsInternal.current = editableSegmentConfigs.map((_, i) => {\n const existingRef = segmentRefsInternal.current[i];\n if (existingRef) {\n return existingRef;\n }\n return createRef<HTMLInputElement>() as React.RefObject<HTMLInputElement>;\n });\n }, [editableSegmentConfigs]);\n\n const focusSegment = (index: number) => {\n if (index >= 0 && index < segmentRefsInternal.current.length) {\n segmentRefsInternal.current[index]?.current?.focus();\n }\n };\n\n const focusNextSegment = (currentIndex: number) => {\n focusSegment(currentIndex + 1);\n };\n\n const focusPreviousSegment = (currentIndex: number) => {\n focusSegment(currentIndex - 1);\n };\n\n const focusFirstSegment = () => {\n focusSegment(0);\n };\n\n const focusLastSegment = () => {\n focusSegment(segmentRefsInternal.current.length - 1);\n };\n\n const handleSegmentKeyDown = (\n _index: number,\n e: KeyboardEvent<HTMLInputElement>,\n ) => {\n if (e.key === 'Home') {\n e.preventDefault();\n focusFirstSegment();\n } else if (e.key === 'End') {\n e.preventDefault();\n focusLastSegment();\n }\n };\n\n return {\n segmentRefs: segmentRefsInternal.current,\n focusedSegmentIndex,\n focusSegment,\n focusNextSegment,\n focusPreviousSegment,\n focusFirstSegment,\n focusLastSegment,\n handleSegmentKeyDown,\n setFocusedSegmentIndex,\n };\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { CoordinateValue, ParsedCoordinateMatch, CoordinateSystem } from '../../components/coordinate-field/types.js';
2
+ import 'react';
3
+ import 'react-aria-components';
4
+
5
+ interface UseCoordinatePasteOptions {
6
+ onValueApplied: (value: CoordinateValue) => void;
7
+ onError?: (message: string, context?: Record<string, unknown>) => void;
8
+ }
9
+ interface UseCoordinatePasteResult {
10
+ disambiguationMatches: ParsedCoordinateMatch[];
11
+ showDisambiguationModal: boolean;
12
+ selectedDisambiguationFormat: CoordinateSystem | null;
13
+ handleInputPaste: (e: React.ClipboardEvent<HTMLDivElement>) => void;
14
+ handleDisambiguationSelect: () => void;
15
+ setShowDisambiguationModal: (show: boolean) => void;
16
+ setSelectedDisambiguationFormat: (format: CoordinateSystem | null) => void;
17
+ cleanupDisambiguationModal: () => void;
18
+ }
19
+ declare function useCoordinatePaste({ onValueApplied, onError, }: UseCoordinatePasteOptions): UseCoordinatePasteResult;
20
+
21
+ export { type UseCoordinatePasteOptions, type UseCoordinatePasteResult, useCoordinatePaste };
@@ -0,0 +1,2 @@
1
+ import {useState}from'react';import {isCompleteCoordinate,parseCoordinatePaste,deduplicateMatchesByLocation}from'../../components/coordinate-field/coordinate-utils.js';function y({onValueApplied:r,onError:u}){const[d,l]=useState([]),[m,a]=useState(false),[o,i]=useState(null),h=t=>{u?.("Invalid coordinate format",{pastedText:t});},g=t=>{t&&r(t.value);},M=t=>{l(t);const e=t[0];e&&i(e.format),a(true);},f=t=>{const e=parseCoordinatePaste(t);if(e.length===0){h(t);return}const n=deduplicateMatchesByLocation(e);n.length===1?g(n[0]):M(n);},p=t=>{const e=t.clipboardData?.getData("text/plain");e&&isCompleteCoordinate(e)&&(t.preventDefault(),f(e));},c=()=>{a(false),l([]),i(null);};return {disambiguationMatches:d,showDisambiguationModal:m,selectedDisambiguationFormat:o,handleInputPaste:p,handleDisambiguationSelect:()=>{if(o){const t=d.find(e=>e.format===o);t&&r(t.value);}c();},setShowDisambiguationModal:a,setSelectedDisambiguationFormat:i,cleanupDisambiguationModal:c}}export{y as useCoordinatePaste};//# sourceMappingURL=use-coordinate-paste.js.map
2
+ //# sourceMappingURL=use-coordinate-paste.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/coordinate-field/use-coordinate-paste.ts"],"names":["useState","s","showDisambiguationModal","setShowDisambiguationModal","setSelectedDisambiguationFormat","pastedText","onError","handlePasteSingleMatch","match","onValueApplied","handlePasteMultipleMatches","matches","setDisambiguationMatches","firstMatch","D","allMatches","handleInputPaste","e","isCompleteCoordinate","b","cleanupDisambiguationModal","selectedDisambiguationFormat","m"],"mappings":"wKAwCO,SACL,CAAA,CAAA,CAAA,wBAEsD,CACtD,CAAA,CAAA,CAAA,CAAA,KAAsD,CAAA,CAAIA,EAExD,CAAC,CAACC,SACE,EAACC,CAAyBC,CAA0B,CAAA,CAAIH,CAAAA,CAAS,EAAKC,QAAA,CACtE,MAA+BG,CAA+B,CAAA,CAClEJ,EAAkC,CAAA,CAAAC,QAAA,CAAI,IAMVI,CAAAA,CAAAA,CAAuB,CAEnDC,CAAAA,EAAAA,CADiB,+BACK,CAAA,CAAA,UACxB,EAEMC,CAAAA,EAA0BC,CAAAA,CAAAA,CAA6C,CACvEA,CAAAA,EACFC,CAAAA,CAAeD,EAAM,CAAA,CAAA,CAAA,CAAA,KAInBE,EAA8BC,CAAAA,CAAAA,CAAqC,CACvEC,CAAAA,EAAgC,EAChC,CAAA,CAAA,CAAA,CAAA,MAA2B,CAAC,CAAA,CACxBC,GACFT,CAAAA,CAAgCS,EAAW,UAElB,EAAI,CACjC,CAAA,MAE+BR,CAAAA,CAAAA,CAAuB,CACpD,UAAwCA,CAAU,CAAAS,oBAElD,CAAA,CAAA,CAAIC,CAAAA,GAAW,CAAA,CAAA,MAAW,IACHV,CAAU,CAAA,CAC/B,UAIF,CAAA,MAA6CU,CAAU,6BAEnDJ,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,SACaA,CAAAA,CAAQ,CAAC,CAAC,CAAA,CAEjCD,EAA2BC,CAAO,CAEtC,EAEMK,CAAAA,EAAoBC,CAAAA,CAAAA,CAA4C,CACpE,CAAA,EAAA,CAAA,MAAqB,CAAA,CAAA,CAAA,CAAA,aAAe,EAAA,oBAChCZ,CAAca,EAAqBb,EAAUc,oBAAA,CAAA,CAC/CF,IAAE,CAAA,CAAA,gBAC8B,CAAA,CAEpC,EAEMG,CAAAA,EAA6B,CAAA,CAAA,CAAA,CAAM,IACZ,CAAK,CAAA,CAChCR,KAAyB,CAAC,CAAC,EAC3BR,EAAgC,CAAA,CAAA,CAAA,CAAI,IAetC,EAAA,CAAA,CAAA,OACE,CAAA,+CAEA,CAAA,CAAA,CAAA,4BACA,CAAA,CAAA,CAAA,6CAhBiC,CAAM,IACnCiB,CAAAA,GACF,CAAA,CAAA,CAAA,MAAoC,CAAA,CAAA,CAAA,CAAA,IAC3BC,CAAAA,CAAE,EAAA,CAAA,CAAA,MACX,GACId,CAAAA,CACFC,EAAeD,EAAM,CAAA,CAAA,CAAA,CAAA,KAGE,EAC7B,CAAA,CAQE,GAAA,CAAA,CAAA,0BACA,CAAA,CAAA,CAAA,+BACA,CAAA,CAAA,CAAA,0BAEJ,CAAA,CAAA,CAAA","file":"use-coordinate-paste.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 { useState } from 'react';\nimport {\n deduplicateMatchesByLocation,\n isCompleteCoordinate,\n parseCoordinatePaste,\n} from '../../components/coordinate-field/coordinate-utils';\nimport type {\n CoordinateSystem,\n CoordinateValue,\n ParsedCoordinateMatch,\n} from '../../components/coordinate-field/types';\n\nexport interface UseCoordinatePasteOptions {\n onValueApplied: (value: CoordinateValue) => void;\n onError?: (message: string, context?: Record<string, unknown>) => void;\n}\n\nexport interface UseCoordinatePasteResult {\n disambiguationMatches: ParsedCoordinateMatch[];\n showDisambiguationModal: boolean;\n selectedDisambiguationFormat: CoordinateSystem | null;\n handleInputPaste: (e: React.ClipboardEvent<HTMLDivElement>) => void;\n handleDisambiguationSelect: () => void;\n setShowDisambiguationModal: (show: boolean) => void;\n setSelectedDisambiguationFormat: (format: CoordinateSystem | null) => void;\n cleanupDisambiguationModal: () => void;\n}\n\nexport function useCoordinatePaste({\n onValueApplied,\n onError,\n}: UseCoordinatePasteOptions): UseCoordinatePasteResult {\n const [disambiguationMatches, setDisambiguationMatches] = useState<\n ParsedCoordinateMatch[]\n >([]);\n const [showDisambiguationModal, setShowDisambiguationModal] = useState(false);\n const [selectedDisambiguationFormat, setSelectedDisambiguationFormat] =\n useState<CoordinateSystem | null>(null);\n\n /**\n * Handles paste failure when no coordinate formats match\n * Calls onError with \"Invalid coordinate format\" message\n */\n const handlePasteNoMatches = (pastedText: string) => {\n const errorMsg = 'Invalid coordinate format';\n onError?.(errorMsg, { pastedText });\n };\n\n const handlePasteSingleMatch = (match: ParsedCoordinateMatch | undefined) => {\n if (match) {\n onValueApplied(match.value);\n }\n };\n\n const handlePasteMultipleMatches = (matches: ParsedCoordinateMatch[]) => {\n setDisambiguationMatches(matches);\n const firstMatch = matches[0];\n if (firstMatch) {\n setSelectedDisambiguationFormat(firstMatch.format);\n }\n setShowDisambiguationModal(true);\n };\n\n const handleCoordinatePaste = (pastedText: string) => {\n const allMatches = parseCoordinatePaste(pastedText);\n\n if (allMatches.length === 0) {\n handlePasteNoMatches(pastedText);\n return;\n }\n\n // Deduplicate matches by location - only show modal for different locations\n const matches = deduplicateMatchesByLocation(allMatches);\n\n if (matches.length === 1) {\n handlePasteSingleMatch(matches[0]);\n } else {\n handlePasteMultipleMatches(matches);\n }\n };\n\n const handleInputPaste = (e: React.ClipboardEvent<HTMLDivElement>) => {\n const pastedText = e.clipboardData?.getData('text/plain');\n if (pastedText && isCompleteCoordinate(pastedText)) {\n e.preventDefault();\n handleCoordinatePaste(pastedText);\n }\n };\n\n const cleanupDisambiguationModal = () => {\n setShowDisambiguationModal(false);\n setDisambiguationMatches([]);\n setSelectedDisambiguationFormat(null);\n };\n\n const handleDisambiguationSelect = () => {\n if (selectedDisambiguationFormat) {\n const match = disambiguationMatches.find(\n (m) => m.format === selectedDisambiguationFormat,\n );\n if (match) {\n onValueApplied(match.value);\n }\n }\n cleanupDisambiguationModal();\n };\n\n return {\n disambiguationMatches,\n showDisambiguationModal,\n selectedDisambiguationFormat,\n handleInputPaste,\n handleDisambiguationSelect,\n setShowDisambiguationModal,\n setSelectedDisambiguationFormat,\n cleanupDisambiguationModal,\n };\n}\n"]}
@@ -0,0 +1,6 @@
1
+ interface UseTimeoutCleanupResult {
2
+ registerTimeout: (timeoutId: NodeJS.Timeout) => void;
3
+ }
4
+ declare function useTimeoutCleanup(): UseTimeoutCleanupResult;
5
+
6
+ export { type UseTimeoutCleanupResult, useTimeoutCleanup };
@@ -0,0 +1,2 @@
1
+ import {useRef,useEffect}from'react';function n(){const e=useRef(new Set),t=u=>{e.current.add(u);};return useEffect(()=>()=>{e.current.forEach(clearTimeout),e.current.clear();},[]),{registerTimeout:t}}export{n as useTimeoutCleanup};//# sourceMappingURL=use-timeout-cleanup.js.map
2
+ //# sourceMappingURL=use-timeout-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/coordinate-field/use-timeout-cleanup.ts"],"names":["useTimeoutCleanup","timeoutIdsRef","useRef","registerTimeout","timeoutId","useEffect"],"mappings":"qCAkBO,SAASA,CAAAA,EAA6C,CAC3D,MAAMC,CAAAA,CAAgBC,OAA4B,IAAI,GAAK,EAErDC,CAAAA,CAAmBC,CAAAA,EAA8B,CACrDH,CAAAA,CAAc,OAAA,CAAQ,IAAIG,CAAS,EACrC,EAEA,OAAAC,SAAAA,CAAU,IACD,IAAM,CACXJ,EAAc,OAAA,CAAQ,OAAA,CAAQ,YAAY,CAAA,CAC1CA,CAAAA,CAAc,QAAQ,KAAA,GACxB,EACC,EAAE,EAEE,CAAE,eAAA,CAAAE,CAAgB,CAC3B","file":"use-timeout-cleanup.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 { useEffect, useRef } from 'react';\n\nexport interface UseTimeoutCleanupResult {\n registerTimeout: (timeoutId: NodeJS.Timeout) => void;\n}\n\nexport function useTimeoutCleanup(): UseTimeoutCleanupResult {\n const timeoutIdsRef = useRef<Set<NodeJS.Timeout>>(new Set());\n\n const registerTimeout = (timeoutId: NodeJS.Timeout) => {\n timeoutIdsRef.current.add(timeoutId);\n };\n\n useEffect(() => {\n return () => {\n timeoutIdsRef.current.forEach(clearTimeout);\n timeoutIdsRef.current.clear();\n };\n }, []);\n\n return { registerTimeout };\n}\n"]}
@@ -0,0 +1,93 @@
1
+ import * as _dnd_kit_core_dist_hooks_utilities from '@dnd-kit/core/dist/hooks/utilities';
2
+ import * as _dnd_kit_core from '@dnd-kit/core';
3
+ import { KanbanCardData, KanbanColumnData } from '../../components/kanban/types.js';
4
+ import 'react';
5
+ import '../../components/search-field/types.js';
6
+ import 'react-aria-components';
7
+ import '../../components/button/types.js';
8
+ import '../../lib/types.js';
9
+ import '../../components/icon/types.js';
10
+
11
+ /**
12
+ * Hook that provides drag-and-drop interactions for a kanban column.
13
+ *
14
+ * This hook integrates with `@dnd-kit/core` to enable dropping cards into columns.
15
+ * It tracks hover states, validates drop targets based on the column's `canDrop` property,
16
+ * and provides visual feedback states for both the column itself and cards within it.
17
+ *
18
+ * @param column - The kanban column data object containing the column's id, canDrop status, and other properties
19
+ *
20
+ * @returns An object containing:
21
+ * - `ref` - Ref callback to attach to the droppable column DOM element
22
+ * - `isHighlighted` - Boolean indicating if the column should be visually highlighted (when a card from another column is being dragged)
23
+ * - `isActive` - Boolean indicating if the column is actively being hovered over and can accept the drop
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * function KanbanColumn({ column }: { column: KanbanColumnData }) {
28
+ * const { ref, isHighlighted, isActive } = useColumnInteractions(column);
29
+ *
30
+ * return (
31
+ * <div
32
+ * ref={ref}
33
+ * className={cn({
34
+ * 'ring-2 ring-blue-300': isHighlighted && !isActive, // Potential drop target
35
+ * 'ring-2 ring-blue-500 bg-blue-50': isActive, // Active drop target
36
+ * })}
37
+ * >
38
+ * <h2>{column.title}</h2>
39
+ * {column.cards.map(card => <Card key={card.id} card={card} />)}
40
+ * </div>
41
+ * );
42
+ * }
43
+ * ```
44
+ */
45
+ declare function useColumnInteractions(column: KanbanColumnData): {
46
+ ref: (element: HTMLElement | null) => void;
47
+ isHighlighted: boolean;
48
+ isActive: boolean;
49
+ };
50
+ /**
51
+ * Hook that provides drag-and-drop interactions for a kanban card.
52
+ *
53
+ * This hook integrates with `@dnd-kit/sortable` to enable dragging, dropping, and reordering
54
+ * of cards within and between columns. It handles transform animations, drag state tracking,
55
+ * and edge detection for insertion positioning.
56
+ *
57
+ * @param card - The kanban card data object containing the card's id and other properties
58
+ *
59
+ * @returns An object containing:
60
+ * - `ref` - Ref callback to attach to the draggable card DOM element
61
+ * - `isDragging` - Boolean indicating if this card is currently being dragged
62
+ * - `closestEdge` - The closest edge ('top' or 'bottom') when another card is hovering over this card, or null if not hovering
63
+ * - `style` - CSS style object with transform and transition properties for drag animations
64
+ * - `attributes` - Accessibility and drag attributes to spread on the card element
65
+ * - `listeners` - Event listeners to spread on the drag handle element
66
+ *
67
+ * @example
68
+ * ```tsx
69
+ * function KanbanCard({ card }: { card: KanbanCardData }) {
70
+ * const { ref, isDragging, closestEdge, style, attributes, listeners } = useCardInteractions(card);
71
+ *
72
+ * return (
73
+ * <div ref={ref} style={style} {...attributes} {...listeners}>
74
+ * {card.title}
75
+ * {closestEdge && <DropIndicator edge={closestEdge} />}
76
+ * </div>
77
+ * );
78
+ * }
79
+ * ```
80
+ */
81
+ declare function useCardInteractions(card: KanbanCardData): {
82
+ ref: (node: HTMLElement | null) => void;
83
+ isDragging: boolean;
84
+ closestEdge: "top" | "bottom" | undefined;
85
+ style: {
86
+ transform: string | undefined;
87
+ transition: string | undefined;
88
+ };
89
+ attributes: _dnd_kit_core.DraggableAttributes;
90
+ listeners: _dnd_kit_core_dist_hooks_utilities.SyntheticListenerMap | undefined;
91
+ };
92
+
93
+ export { useCardInteractions, useColumnInteractions };
@@ -0,0 +1,2 @@
1
+ import {useDroppable,useDndContext}from'@dnd-kit/core';import {useSortable}from'@dnd-kit/sortable';import {CSS}from'@dnd-kit/utilities';import {calculateClosestEdge}from'./../../components/kanban/context.js';function I(t){const{setNodeRef:a,isOver:r,active:n}=useDroppable({id:t.id,data:t}),{over:s}=useDndContext(),o=r||s?.data?.current?.columnId===t.id,i=!!(o||n&&n.data.current?.columnId!==t.id&&t.canDrop!==false),e=o&&t.canDrop!==false;return {ref:a,isHighlighted:i,isActive:e}}function K(t){const{attributes:a,listeners:r,setNodeRef:n,transform:s,transition:o,isDragging:i,over:e,active:d}=useSortable({id:t.id,data:t}),c={transform:CSS.Transform.toString(s),transition:o};let f;return e&&e.id===t.id&&d&&(f=calculateClosestEdge(e,d)),{ref:n,isDragging:i,closestEdge:f,style:c,attributes:a,listeners:r}}export{K as useCardInteractions,I as useColumnInteractions};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/kanban/index.ts"],"names":["useColumnInteractions","isOver","active","useDroppable","column","p","over","useDndContext","isOverColumn","isActive","useCardInteractions","listeners","transform","useSortable","card","u","style","CSS","l","closestEdge","calculateClosestEdge","C","setNodeRef"],"mappings":"gNAuDgBA,SACR,CAAE,oBAAYC,CAAAA,CAAQ,CAAA,MAAAC,CAAO,CAAA,CAAIC,MACjCC,EAAO,CAAA,CAAAC,YACX,CAAA,CAAA,EAAA,CAAMD,CACR,CAAC,EAGK,CAAE,IAAA,CAAAE,CAAK,EAAIC,CAAAA,CAAc,IAGVN,CAAAA,CAAAA,CAAUK,gBAAM,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,EAAA,IAAA,EAAS,OAAA,EAAA,QAE9B,GACpBE,CAAAA,CAAAA,EACGN,CAAAA,CACCA,EAAO,EAAA,CAAA,EAAK,CAAA,EAAA,CAAA,CAAA,IAAS,CAAA,OAAA,EAAA,QACrBE,GAAO,CAAA,CAAA,EAAA,EAAA,CAAA,CAAY,UAGQA,KAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAY,OAEpD,GACE,KAAA,CAAA,OACA,CAAA,GAAA,CAAA,CAAA,CAAA,aACA,CAAA,CAAAK,CACF,WAkCcC,CAAAA,SACR,CACJ,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,UACA,CAAA,CAAA,CAAAC,sBAEA,CAAA,CAAA,CAAAC,SACA,CAAA,CAAA,CAAA,UACA,CAAA,CAAA,CAAA,UAEA,OAAAV,CACF,CAAA,CAAIW,MACEC,CAAAA,CAAK,CAAA,CAAAC,WACT,CAAA,CAAA,EAAA,CAAMD,CACR,CAAC,EAEKE,CAAAA,IACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWC,SAAI,CAAAC,GAAA,CAAU,SAASN,CAAS,QAC3C,CAAA,CAAA,CAAA,CAAA,UAMF,CAAA,CAAA,CAAA,CAAA,IAAIN,CAAAA,CAAQA,OAAYQ,GAAK,CAAA,CAAA,EAAMZ,GACjCiB,CAAAA,CAAcC,EAAqBd,EAAMJ,CAAM,GAG1C,CACL,CAAAmB,oBAAA,CAAA,CAAKC,EACL,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,UACA,CAAA,CAAA,CAAA,WACAN,CACA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,UACA,CAAA,CAAA,CAAAL,SAEJ,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 { useDndContext, useDroppable } from '@dnd-kit/core';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { calculateClosestEdge } from '@/components/kanban/context';\nimport type {\n KanbanCardData,\n KanbanColumnData,\n} from '@/components/kanban/types';\n\n/**\n * Hook that provides drag-and-drop interactions for a kanban column.\n *\n * This hook integrates with `@dnd-kit/core` to enable dropping cards into columns.\n * It tracks hover states, validates drop targets based on the column's `canDrop` property,\n * and provides visual feedback states for both the column itself and cards within it.\n *\n * @param column - The kanban column data object containing the column's id, canDrop status, and other properties\n *\n * @returns An object containing:\n * - `ref` - Ref callback to attach to the droppable column DOM element\n * - `isHighlighted` - Boolean indicating if the column should be visually highlighted (when a card from another column is being dragged)\n * - `isActive` - Boolean indicating if the column is actively being hovered over and can accept the drop\n *\n * @example\n * ```tsx\n * function KanbanColumn({ column }: { column: KanbanColumnData }) {\n * const { ref, isHighlighted, isActive } = useColumnInteractions(column);\n *\n * return (\n * <div\n * ref={ref}\n * className={cn({\n * 'ring-2 ring-blue-300': isHighlighted && !isActive, // Potential drop target\n * 'ring-2 ring-blue-500 bg-blue-50': isActive, // Active drop target\n * })}\n * >\n * <h2>{column.title}</h2>\n * {column.cards.map(card => <Card key={card.id} card={card} />)}\n * </div>\n * );\n * }\n * ```\n */\nexport function useColumnInteractions(column: KanbanColumnData) {\n const { setNodeRef, isOver, active } = useDroppable({\n id: column.id,\n data: column,\n });\n\n // Get the global over state to detect when hovering over cards in this column\n const { over } = useDndContext();\n\n // Check if we're over the column itself OR over a card that belongs to this column\n const isOverColumn = isOver || over?.data?.current?.columnId === column.id;\n\n const isHighlighted = Boolean(\n isOverColumn ||\n (active &&\n active.data.current?.columnId !== column.id &&\n column.canDrop !== false),\n );\n\n const isActive = isOverColumn && column.canDrop !== false;\n\n return {\n ref: setNodeRef,\n isHighlighted,\n isActive,\n };\n}\n\n/**\n * Hook that provides drag-and-drop interactions for a kanban card.\n *\n * This hook integrates with `@dnd-kit/sortable` to enable dragging, dropping, and reordering\n * of cards within and between columns. It handles transform animations, drag state tracking,\n * and edge detection for insertion positioning.\n *\n * @param card - The kanban card data object containing the card's id and other properties\n *\n * @returns An object containing:\n * - `ref` - Ref callback to attach to the draggable card DOM element\n * - `isDragging` - Boolean indicating if this card is currently being dragged\n * - `closestEdge` - The closest edge ('top' or 'bottom') when another card is hovering over this card, or null if not hovering\n * - `style` - CSS style object with transform and transition properties for drag animations\n * - `attributes` - Accessibility and drag attributes to spread on the card element\n * - `listeners` - Event listeners to spread on the drag handle element\n *\n * @example\n * ```tsx\n * function KanbanCard({ card }: { card: KanbanCardData }) {\n * const { ref, isDragging, closestEdge, style, attributes, listeners } = useCardInteractions(card);\n *\n * return (\n * <div ref={ref} style={style} {...attributes} {...listeners}>\n * {card.title}\n * {closestEdge && <DropIndicator edge={closestEdge} />}\n * </div>\n * );\n * }\n * ```\n */\nexport function useCardInteractions(card: KanbanCardData) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n over,\n active,\n } = useSortable({\n id: card.id,\n data: card,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n // Determine closest edge based on over position\n let closestEdge: 'top' | 'bottom' | undefined;\n\n if (over && over.id === card.id && active) {\n closestEdge = calculateClosestEdge(over, active);\n }\n\n return {\n ref: setNodeRef,\n isDragging,\n closestEdge,\n style,\n attributes,\n listeners,\n };\n}\n"]}