@accelint/design-toolkit 7.0.0 → 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 (686) 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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 +3 -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 -1
  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 -1
  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 +3 -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 -1
  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/context.js +2 -0
  186. package/dist/components/hero/index.js +1 -1
  187. package/dist/components/hero/index.js.map +1 -1
  188. package/dist/components/hero/styles.module.css +51 -0
  189. package/dist/components/hero/title.js +2 -0
  190. package/dist/components/hotkey/context.d.ts +0 -2
  191. package/dist/components/hotkey/index.d.ts +0 -2
  192. package/dist/components/hotkey/index.js +1 -1
  193. package/dist/components/hotkey/index.js.map +1 -1
  194. package/dist/components/hotkey/set.d.ts +6 -0
  195. package/dist/components/hotkey/set.js +4 -0
  196. package/dist/components/hotkey/set.js.map +1 -0
  197. package/dist/components/hotkey/styles.module.css +36 -0
  198. package/dist/components/hotkey/types.d.ts +5 -6
  199. package/dist/components/icon/index.js +3 -1
  200. package/dist/components/icon/index.js.map +1 -1
  201. package/dist/components/icon/styles.module.css +38 -0
  202. package/dist/components/input/context.d.ts +0 -4
  203. package/dist/components/input/index.d.ts +0 -4
  204. package/dist/components/input/index.js +1 -1
  205. package/dist/components/input/index.js.map +1 -1
  206. package/dist/components/input/styles.module.css +175 -0
  207. package/dist/components/input/types.d.ts +7 -6
  208. package/dist/components/kanban/card-body.d.ts +12 -0
  209. package/dist/components/kanban/card-body.js +4 -0
  210. package/dist/components/kanban/card-body.js.map +1 -0
  211. package/dist/components/kanban/card-header-actions.d.ts +12 -0
  212. package/dist/components/kanban/card-header-actions.js +4 -0
  213. package/dist/components/kanban/card-header-actions.js.map +1 -0
  214. package/dist/components/kanban/card-header-title.d.ts +12 -0
  215. package/dist/components/kanban/card-header-title.js +4 -0
  216. package/dist/components/kanban/card-header-title.js.map +1 -0
  217. package/dist/components/kanban/card-header.d.ts +12 -0
  218. package/dist/components/kanban/card-header.js +4 -0
  219. package/dist/components/kanban/card-header.js.map +1 -0
  220. package/dist/components/kanban/card.d.ts +12 -0
  221. package/dist/components/kanban/card.js +4 -0
  222. package/dist/components/kanban/card.js.map +1 -0
  223. package/dist/components/kanban/column-actions.d.ts +12 -0
  224. package/dist/components/kanban/column-actions.js +4 -0
  225. package/dist/components/kanban/column-actions.js.map +1 -0
  226. package/dist/components/kanban/column-container.d.ts +12 -0
  227. package/dist/components/kanban/column-container.js +4 -0
  228. package/dist/components/kanban/column-container.js.map +1 -0
  229. package/dist/components/kanban/column-content.d.ts +12 -0
  230. package/dist/components/kanban/column-content.js +4 -0
  231. package/dist/components/kanban/column-content.js.map +1 -0
  232. package/dist/components/kanban/column-header-actions.d.ts +12 -0
  233. package/dist/components/kanban/column-header-actions.js +4 -0
  234. package/dist/components/kanban/column-header-actions.js.map +1 -0
  235. package/dist/components/kanban/column-header-drag-handle.d.ts +5 -0
  236. package/dist/components/kanban/column-header-drag-handle.js +4 -0
  237. package/dist/components/kanban/column-header-drag-handle.js.map +1 -0
  238. package/dist/components/kanban/column-header-title.d.ts +12 -0
  239. package/dist/components/kanban/column-header-title.js +4 -0
  240. package/dist/components/kanban/column-header-title.js.map +1 -0
  241. package/dist/components/kanban/column-header.d.ts +12 -0
  242. package/dist/components/kanban/column-header.js +4 -0
  243. package/dist/components/kanban/column-header.js.map +1 -0
  244. package/dist/components/kanban/column.d.ts +12 -0
  245. package/dist/components/kanban/column.js +4 -0
  246. package/dist/components/kanban/column.js.map +1 -0
  247. package/dist/components/kanban/context.d.ts +101 -0
  248. package/dist/components/kanban/context.js +2 -0
  249. package/dist/components/kanban/context.js.map +1 -0
  250. package/dist/components/kanban/header-actions.d.ts +12 -0
  251. package/dist/components/kanban/header-actions.js +4 -0
  252. package/dist/components/kanban/header-actions.js.map +1 -0
  253. package/dist/components/kanban/header-search.d.ts +12 -0
  254. package/dist/components/kanban/header-search.js +4 -0
  255. package/dist/components/kanban/header-search.js.map +1 -0
  256. package/dist/components/kanban/header-title.d.ts +12 -0
  257. package/dist/components/kanban/header-title.js +4 -0
  258. package/dist/components/kanban/header-title.js.map +1 -0
  259. package/dist/components/kanban/header.d.ts +12 -0
  260. package/dist/components/kanban/header.js +4 -0
  261. package/dist/components/kanban/header.js.map +1 -0
  262. package/dist/components/kanban/index.d.ts +9 -0
  263. package/dist/components/kanban/index.js +2 -0
  264. package/dist/components/kanban/index.js.map +1 -0
  265. package/dist/components/kanban/kanban.d.ts +18 -0
  266. package/dist/components/kanban/kanban.js +4 -0
  267. package/dist/components/kanban/kanban.js.map +1 -0
  268. package/dist/components/kanban/mock-data.d.ts +14 -0
  269. package/dist/components/kanban/mock-data.js +2 -0
  270. package/dist/components/kanban/mock-data.js.map +1 -0
  271. package/dist/components/kanban/styles.module.css +117 -0
  272. package/dist/components/kanban/types.d.ts +50 -0
  273. package/dist/components/label/index.js +3 -1
  274. package/dist/components/label/index.js.map +1 -1
  275. package/dist/components/label/styles.module.css +23 -0
  276. package/dist/components/lines/index.d.ts +0 -2
  277. package/dist/components/lines/index.js +1 -1
  278. package/dist/components/lines/index.js.map +1 -1
  279. package/dist/components/lines/styles.module.css +95 -0
  280. package/dist/components/lines/types.d.ts +4 -5
  281. package/dist/components/link/index.js +3 -1
  282. package/dist/components/link/index.js.map +1 -1
  283. package/dist/components/link/styles.module.css +37 -0
  284. package/dist/components/menu/context.d.ts +0 -2
  285. package/dist/components/menu/index.d.ts +0 -2
  286. package/dist/components/menu/index.js +1 -1
  287. package/dist/components/menu/index.js.map +1 -1
  288. package/dist/components/menu/item-description.js +3 -1
  289. package/dist/components/menu/item-description.js.map +1 -1
  290. package/dist/components/menu/item-label.js +1 -1
  291. package/dist/components/menu/item-label.js.map +1 -1
  292. package/dist/components/menu/item.d.ts +0 -2
  293. package/dist/components/menu/item.js +1 -1
  294. package/dist/components/menu/item.js.map +1 -1
  295. package/dist/components/menu/section.d.ts +0 -2
  296. package/dist/components/menu/section.js +3 -1
  297. package/dist/components/menu/section.js.map +1 -1
  298. package/dist/components/menu/separator.js +1 -1
  299. package/dist/components/menu/separator.js.map +1 -1
  300. package/dist/components/menu/styles.module.css +415 -0
  301. package/dist/components/menu/trigger.d.ts +5 -1
  302. package/dist/components/menu/trigger.js +3 -1
  303. package/dist/components/menu/trigger.js.map +1 -1
  304. package/dist/components/menu/types.d.ts +2 -3
  305. package/dist/components/notice/index.d.ts +0 -3
  306. package/dist/components/notice/index.js +1 -1
  307. package/dist/components/notice/index.js.map +1 -1
  308. package/dist/components/notice/list.d.ts +0 -3
  309. package/dist/components/notice/list.js +1 -1
  310. package/dist/components/notice/list.js.map +1 -1
  311. package/dist/components/notice/notice-icon.d.ts +0 -3
  312. package/dist/components/notice/notice-icon.js +2 -0
  313. package/dist/components/notice/styles.module.css +133 -0
  314. package/dist/components/notice/types.d.ts +3 -6
  315. package/dist/components/options/context.js +2 -0
  316. package/dist/components/options/index.js +1 -1
  317. package/dist/components/options/index.js.map +1 -1
  318. package/dist/components/options/item-content.d.ts +2 -5
  319. package/dist/components/options/item-content.js +1 -1
  320. package/dist/components/options/item-content.js.map +1 -1
  321. package/dist/components/options/item-description.d.ts +2 -5
  322. package/dist/components/options/item-description.js +1 -3
  323. package/dist/components/options/item-description.js.map +1 -1
  324. package/dist/components/options/item-label.d.ts +2 -5
  325. package/dist/components/options/item-label.js +1 -1
  326. package/dist/components/options/item-label.js.map +1 -1
  327. package/dist/components/options/item.js +1 -1
  328. package/dist/components/options/item.js.map +1 -1
  329. package/dist/components/options/section.js +1 -1
  330. package/dist/components/options/section.js.map +1 -1
  331. package/dist/components/options/styles.module.css +397 -0
  332. package/dist/components/options/types.d.ts +2 -3
  333. package/dist/components/pagination/context.d.ts +9 -0
  334. package/dist/components/pagination/context.js +4 -0
  335. package/dist/components/pagination/context.js.map +1 -0
  336. package/dist/components/pagination/index.d.ts +25 -0
  337. package/dist/components/pagination/index.js +4 -0
  338. package/dist/components/pagination/index.js.map +1 -0
  339. package/dist/components/pagination/next.d.ts +10 -0
  340. package/dist/components/pagination/next.js +4 -0
  341. package/dist/components/pagination/next.js.map +1 -0
  342. package/dist/components/pagination/pages.d.ts +10 -0
  343. package/dist/components/pagination/pages.js +4 -0
  344. package/dist/components/pagination/pages.js.map +1 -0
  345. package/dist/components/pagination/prev.d.ts +10 -0
  346. package/dist/components/pagination/prev.js +4 -0
  347. package/dist/components/pagination/prev.js.map +1 -0
  348. package/dist/components/pagination/styles.module.css +25 -0
  349. package/dist/components/pagination/types.d.ts +35 -0
  350. package/dist/components/pagination/types.js +2 -0
  351. package/dist/components/pagination/types.js.map +1 -0
  352. package/dist/components/pagination/utils.d.ts +16 -0
  353. package/dist/components/pagination/utils.js +2 -0
  354. package/dist/components/pagination/utils.js.map +1 -0
  355. package/dist/components/popover/content.d.ts +2 -4
  356. package/dist/components/popover/content.js +3 -1
  357. package/dist/components/popover/content.js.map +1 -1
  358. package/dist/components/popover/footer.d.ts +2 -5
  359. package/dist/components/popover/footer.js +1 -1
  360. package/dist/components/popover/footer.js.map +1 -1
  361. package/dist/components/popover/index.d.ts +15 -19
  362. package/dist/components/popover/index.js +3 -1
  363. package/dist/components/popover/index.js.map +1 -1
  364. package/dist/components/popover/styles.module.css +32 -0
  365. package/dist/components/popover/title.d.ts +2 -4
  366. package/dist/components/popover/title.js +1 -1
  367. package/dist/components/popover/title.js.map +1 -1
  368. package/dist/components/popover/trigger.d.ts +1 -1
  369. package/dist/components/popover/trigger.js +3 -1
  370. package/dist/components/popover/trigger.js.map +1 -1
  371. package/dist/components/popover/types.d.ts +11 -22
  372. package/dist/components/query-builder/actions.js +2 -0
  373. package/dist/components/query-builder/index.js +1 -1
  374. package/dist/components/query-builder/index.js.map +1 -1
  375. package/dist/components/query-builder/rule-group.js +1 -1
  376. package/dist/components/query-builder/rule-group.js.map +1 -1
  377. package/dist/components/query-builder/rule.js +3 -1
  378. package/dist/components/query-builder/rule.js.map +1 -1
  379. package/dist/components/query-builder/styles.module.css +87 -0
  380. package/dist/components/query-builder/value-editor.js +1 -1
  381. package/dist/components/query-builder/value-editor.js.map +1 -1
  382. package/dist/components/query-builder/value-selector.js +2 -0
  383. package/dist/components/radio/group.js +1 -1
  384. package/dist/components/radio/group.js.map +1 -1
  385. package/dist/components/radio/index.js +3 -1
  386. package/dist/components/radio/index.js.map +1 -1
  387. package/dist/components/radio/styles.module.css +118 -0
  388. package/dist/components/search-field/context.d.ts +0 -4
  389. package/dist/components/search-field/index.d.ts +0 -4
  390. package/dist/components/search-field/index.js +1 -1
  391. package/dist/components/search-field/index.js.map +1 -1
  392. package/dist/components/search-field/styles.module.css +104 -0
  393. package/dist/components/search-field/types.d.ts +2 -7
  394. package/dist/components/select-field/context.d.ts +0 -3
  395. package/dist/components/select-field/index.d.ts +0 -3
  396. package/dist/components/select-field/index.js +1 -1
  397. package/dist/components/select-field/index.js.map +1 -1
  398. package/dist/components/select-field/styles.module.css +78 -0
  399. package/dist/components/select-field/types.d.ts +0 -3
  400. package/dist/components/sidenav/avatar.js +1 -1
  401. package/dist/components/sidenav/avatar.js.map +1 -1
  402. package/dist/components/sidenav/content.js +3 -1
  403. package/dist/components/sidenav/content.js.map +1 -1
  404. package/dist/components/sidenav/footer.js +1 -3
  405. package/dist/components/sidenav/footer.js.map +1 -1
  406. package/dist/components/sidenav/header.js +1 -1
  407. package/dist/components/sidenav/header.js.map +1 -1
  408. package/dist/components/sidenav/index.js +3 -1
  409. package/dist/components/sidenav/index.js.map +1 -1
  410. package/dist/components/sidenav/item.js +1 -1
  411. package/dist/components/sidenav/item.js.map +1 -1
  412. package/dist/components/sidenav/link.js +1 -1
  413. package/dist/components/sidenav/link.js.map +1 -1
  414. package/dist/components/sidenav/menu-item.js +1 -1
  415. package/dist/components/sidenav/menu-item.js.map +1 -1
  416. package/dist/components/sidenav/menu.js +1 -1
  417. package/dist/components/sidenav/menu.js.map +1 -1
  418. package/dist/components/sidenav/styles.module.css +311 -0
  419. package/dist/components/sidenav/types.d.ts +1 -2
  420. package/dist/components/skeleton/index.d.ts +2 -4
  421. package/dist/components/skeleton/index.js +1 -1
  422. package/dist/components/skeleton/index.js.map +1 -1
  423. package/dist/components/skeleton/styles.module.css +33 -0
  424. package/dist/components/skeleton/types.d.ts +4 -5
  425. package/dist/components/slider/index.js +1 -1
  426. package/dist/components/slider/index.js.map +1 -1
  427. package/dist/components/slider/styles.module.css +220 -0
  428. package/dist/components/switch/index.js +1 -1
  429. package/dist/components/switch/index.js.map +1 -1
  430. package/dist/components/switch/styles.module.css +116 -0
  431. package/dist/components/table/body.d.ts +0 -3
  432. package/dist/components/table/body.js +1 -1
  433. package/dist/components/table/body.js.map +1 -1
  434. package/dist/components/table/cell.d.ts +0 -3
  435. package/dist/components/table/cell.js +1 -1
  436. package/dist/components/table/cell.js.map +1 -1
  437. package/dist/components/table/context.d.ts +0 -3
  438. package/dist/components/table/header-cell.d.ts +0 -3
  439. package/dist/components/table/header-cell.js +1 -1
  440. package/dist/components/table/header-cell.js.map +1 -1
  441. package/dist/components/table/header.d.ts +0 -3
  442. package/dist/components/table/header.js +1 -1
  443. package/dist/components/table/header.js.map +1 -1
  444. package/dist/components/table/index.d.ts +0 -3
  445. package/dist/components/table/index.js +1 -1
  446. package/dist/components/table/index.js.map +1 -1
  447. package/dist/components/table/row.d.ts +0 -3
  448. package/dist/components/table/row.js +1 -1
  449. package/dist/components/table/row.js.map +1 -1
  450. package/dist/components/table/styles.module.css +95 -0
  451. package/dist/components/table/types.d.ts +5 -15
  452. package/dist/components/tabs/index.js +3 -1
  453. package/dist/components/tabs/index.js.map +1 -1
  454. package/dist/components/tabs/list.js +1 -1
  455. package/dist/components/tabs/list.js.map +1 -1
  456. package/dist/components/tabs/panel.js +3 -1
  457. package/dist/components/tabs/panel.js.map +1 -1
  458. package/dist/components/tabs/styles.module.css +140 -0
  459. package/dist/components/tabs/tab.js +1 -1
  460. package/dist/components/tabs/tab.js.map +1 -1
  461. package/dist/components/text-area-field/index.js +1 -1
  462. package/dist/components/text-area-field/index.js.map +1 -1
  463. package/dist/components/text-area-field/styles.module.css +67 -0
  464. package/dist/components/text-field/context.d.ts +0 -4
  465. package/dist/components/text-field/index.d.ts +24 -4
  466. package/dist/components/text-field/index.js +1 -1
  467. package/dist/components/text-field/index.js.map +1 -1
  468. package/dist/components/text-field/styles.module.css +37 -0
  469. package/dist/components/text-field/types.d.ts +0 -4
  470. package/dist/components/time-field/index.d.ts +0 -3
  471. package/dist/components/time-field/index.js +1 -1
  472. package/dist/components/time-field/index.js.map +1 -1
  473. package/dist/components/time-field/styles.module.css +75 -0
  474. package/dist/components/time-field/types.d.ts +2 -5
  475. package/dist/components/tooltip/index.js +1 -1
  476. package/dist/components/tooltip/index.js.map +1 -1
  477. package/dist/components/tooltip/styles.module.css +20 -0
  478. package/dist/components/tree/context.d.ts +0 -2
  479. package/dist/components/tree/context.js +1 -1
  480. package/dist/components/tree/context.js.map +1 -1
  481. package/dist/components/tree/index.d.ts +0 -2
  482. package/dist/components/tree/index.js +1 -1
  483. package/dist/components/tree/index.js.map +1 -1
  484. package/dist/components/tree/item-actions.js +1 -1
  485. package/dist/components/tree/item-actions.js.map +1 -1
  486. package/dist/components/tree/item-content.d.ts +0 -2
  487. package/dist/components/tree/item-content.js +1 -1
  488. package/dist/components/tree/item-content.js.map +1 -1
  489. package/dist/components/tree/item-description.js +1 -1
  490. package/dist/components/tree/item-description.js.map +1 -1
  491. package/dist/components/tree/item-label.js +1 -1
  492. package/dist/components/tree/item-label.js.map +1 -1
  493. package/dist/components/tree/item-prefix-icon.js +1 -1
  494. package/dist/components/tree/item-prefix-icon.js.map +1 -1
  495. package/dist/components/tree/item.d.ts +0 -2
  496. package/dist/components/tree/item.js +1 -1
  497. package/dist/components/tree/item.js.map +1 -1
  498. package/dist/components/tree/lines.js +1 -1
  499. package/dist/components/tree/lines.js.map +1 -1
  500. package/dist/components/tree/styles.module.css +183 -0
  501. package/dist/components/tree/types.d.ts +6 -5
  502. package/dist/components/view-stack/trigger.js +2 -0
  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/hooks/use-tree/state/index.js +2 -0
  528. package/dist/index.d.ts +58 -61
  529. package/dist/index.js +1 -1
  530. package/dist/index.module.css +19 -0
  531. package/dist/lib/utils.d.ts +1 -17
  532. package/dist/lib/utils.js +1 -1
  533. package/dist/lib/utils.js.map +1 -1
  534. package/dist/metafile-esm.json +1 -1
  535. package/dist/providers/theme-provider.d.ts +1 -1
  536. package/dist/providers/theme-provider.js +1 -1
  537. package/dist/providers/theme-provider.js.map +1 -1
  538. package/package.json +33 -46
  539. package/dist/components/accordion/styles.d.ts +0 -56
  540. package/dist/components/accordion/styles.js +0 -2
  541. package/dist/components/accordion/styles.js.map +0 -1
  542. package/dist/components/action-bar/styles.d.ts +0 -5
  543. package/dist/components/action-bar/styles.js +0 -2
  544. package/dist/components/action-bar/styles.js.map +0 -1
  545. package/dist/components/avatar/styles.d.ts +0 -48
  546. package/dist/components/avatar/styles.js +0 -2
  547. package/dist/components/avatar/styles.js.map +0 -1
  548. package/dist/components/badge/styles.d.ts +0 -32
  549. package/dist/components/badge/styles.js +0 -2
  550. package/dist/components/badge/styles.js.map +0 -1
  551. package/dist/components/breadcrumbs/styles.d.ts +0 -48
  552. package/dist/components/breadcrumbs/styles.js +0 -2
  553. package/dist/components/breadcrumbs/styles.js.map +0 -1
  554. package/dist/components/button/styles.d.ts +0 -129
  555. package/dist/components/button/styles.js +0 -2
  556. package/dist/components/button/styles.js.map +0 -1
  557. package/dist/components/checkbox/styles.d.ts +0 -54
  558. package/dist/components/checkbox/styles.js +0 -2
  559. package/dist/components/checkbox/styles.js.map +0 -1
  560. package/dist/components/chip/styles.d.ts +0 -247
  561. package/dist/components/chip/styles.js +0 -2
  562. package/dist/components/chip/styles.js.map +0 -1
  563. package/dist/components/classification-badge/styles.d.ts +0 -38
  564. package/dist/components/classification-badge/styles.js +0 -2
  565. package/dist/components/classification-badge/styles.js.map +0 -1
  566. package/dist/components/classification-banner/styles.d.ts +0 -38
  567. package/dist/components/classification-banner/styles.js +0 -2
  568. package/dist/components/classification-banner/styles.js.map +0 -1
  569. package/dist/components/color-picker/styles.d.ts +0 -42
  570. package/dist/components/color-picker/styles.js +0 -2
  571. package/dist/components/color-picker/styles.js.map +0 -1
  572. package/dist/components/combobox-field/styles.d.ts +0 -72
  573. package/dist/components/combobox-field/styles.js +0 -2
  574. package/dist/components/combobox-field/styles.js.map +0 -1
  575. package/dist/components/date-field/styles.d.ts +0 -59
  576. package/dist/components/date-field/styles.js +0 -2
  577. package/dist/components/date-field/styles.js.map +0 -1
  578. package/dist/components/details-list/styles.d.ts +0 -65
  579. package/dist/components/details-list/styles.js +0 -2
  580. package/dist/components/details-list/styles.js.map +0 -1
  581. package/dist/components/dialog/styles.d.ts +0 -60
  582. package/dist/components/dialog/styles.js +0 -2
  583. package/dist/components/dialog/styles.js.map +0 -1
  584. package/dist/components/divider/styles.d.ts +0 -5
  585. package/dist/components/divider/styles.js +0 -2
  586. package/dist/components/divider/styles.js.map +0 -1
  587. package/dist/components/drawer/styles.d.ts +0 -152
  588. package/dist/components/drawer/styles.js +0 -2
  589. package/dist/components/drawer/styles.js.map +0 -1
  590. package/dist/components/hero/styles.d.ts +0 -48
  591. package/dist/components/hero/styles.js +0 -2
  592. package/dist/components/hero/styles.js.map +0 -1
  593. package/dist/components/hotkey/hotkey-set.d.ts +0 -9
  594. package/dist/components/hotkey/hotkey-set.js +0 -2
  595. package/dist/components/hotkey/hotkey-set.js.map +0 -1
  596. package/dist/components/hotkey/styles.d.ts +0 -53
  597. package/dist/components/hotkey/styles.js +0 -2
  598. package/dist/components/hotkey/styles.js.map +0 -1
  599. package/dist/components/icon/styles.d.ts +0 -5
  600. package/dist/components/icon/styles.js +0 -2
  601. package/dist/components/icon/styles.js.map +0 -1
  602. package/dist/components/input/styles.d.ts +0 -142
  603. package/dist/components/input/styles.js +0 -2
  604. package/dist/components/input/styles.js.map +0 -1
  605. package/dist/components/label/styles.d.ts +0 -5
  606. package/dist/components/label/styles.js +0 -2
  607. package/dist/components/label/styles.js.map +0 -1
  608. package/dist/components/lines/styles.d.ts +0 -32
  609. package/dist/components/lines/styles.js +0 -2
  610. package/dist/components/lines/styles.js.map +0 -1
  611. package/dist/components/link/styles.d.ts +0 -5
  612. package/dist/components/link/styles.js +0 -2
  613. package/dist/components/link/styles.js.map +0 -1
  614. package/dist/components/menu/styles.d.ts +0 -71
  615. package/dist/components/menu/styles.js +0 -2
  616. package/dist/components/menu/styles.js.map +0 -1
  617. package/dist/components/notice/styles.d.ts +0 -60
  618. package/dist/components/notice/styles.js +0 -2
  619. package/dist/components/notice/styles.js.map +0 -1
  620. package/dist/components/options/styles.d.ts +0 -72
  621. package/dist/components/options/styles.js +0 -2
  622. package/dist/components/options/styles.js.map +0 -1
  623. package/dist/components/popover/body.d.ts +0 -8
  624. package/dist/components/popover/body.js +0 -4
  625. package/dist/components/popover/body.js.map +0 -1
  626. package/dist/components/popover/styles.d.ts +0 -48
  627. package/dist/components/popover/styles.js +0 -2
  628. package/dist/components/popover/styles.js.map +0 -1
  629. package/dist/components/query-builder/styles.d.ts +0 -152
  630. package/dist/components/query-builder/styles.js +0 -2
  631. package/dist/components/query-builder/styles.js.map +0 -1
  632. package/dist/components/radio/styles.d.ts +0 -54
  633. package/dist/components/radio/styles.js +0 -2
  634. package/dist/components/radio/styles.js.map +0 -1
  635. package/dist/components/search-field/styles.d.ts +0 -53
  636. package/dist/components/search-field/styles.js +0 -2
  637. package/dist/components/search-field/styles.js.map +0 -1
  638. package/dist/components/select-field/styles.d.ts +0 -66
  639. package/dist/components/select-field/styles.js +0 -2
  640. package/dist/components/select-field/styles.js.map +0 -1
  641. package/dist/components/sidenav/styles.d.ts +0 -156
  642. package/dist/components/sidenav/styles.js +0 -2
  643. package/dist/components/sidenav/styles.js.map +0 -1
  644. package/dist/components/skeleton/styles.d.ts +0 -23
  645. package/dist/components/skeleton/styles.js +0 -2
  646. package/dist/components/skeleton/styles.js.map +0 -1
  647. package/dist/components/slider/styles.d.ts +0 -84
  648. package/dist/components/slider/styles.js +0 -2
  649. package/dist/components/slider/styles.js.map +0 -1
  650. package/dist/components/switch/styles.d.ts +0 -44
  651. package/dist/components/switch/styles.js +0 -2
  652. package/dist/components/switch/styles.js.map +0 -1
  653. package/dist/components/table/styles.d.ts +0 -134
  654. package/dist/components/table/styles.js +0 -2
  655. package/dist/components/table/styles.js.map +0 -1
  656. package/dist/components/tabs/styles.d.ts +0 -48
  657. package/dist/components/tabs/styles.js +0 -2
  658. package/dist/components/tabs/styles.js.map +0 -1
  659. package/dist/components/text-area-field/styles.d.ts +0 -54
  660. package/dist/components/text-area-field/styles.js +0 -2
  661. package/dist/components/text-area-field/styles.js.map +0 -1
  662. package/dist/components/text-field/styles.d.ts +0 -54
  663. package/dist/components/text-field/styles.js +0 -2
  664. package/dist/components/text-field/styles.js.map +0 -1
  665. package/dist/components/time-field/styles.d.ts +0 -69
  666. package/dist/components/time-field/styles.js +0 -2
  667. package/dist/components/time-field/styles.js.map +0 -1
  668. package/dist/components/tooltip/styles.d.ts +0 -5
  669. package/dist/components/tooltip/styles.js +0 -2
  670. package/dist/components/tooltip/styles.js.map +0 -1
  671. package/dist/components/tree/styles.d.ts +0 -128
  672. package/dist/components/tree/styles.js +0 -2
  673. package/dist/components/tree/styles.js.map +0 -1
  674. package/dist/index.css +0 -196
  675. package/dist/styles.css +0 -9484
  676. package/dist/tokens/themes.css +0 -882
  677. package/dist/tokens/themes.d.ts +0 -1
  678. package/dist/tokens/tokens.css +0 -202
  679. package/dist/tokens/tokens.d.ts +0 -468
  680. package/dist/tokens/tokens.js +0 -2
  681. package/dist/tokens/tokens.js.map +0 -1
  682. package/dist/tokens/types.d.ts +0 -308
  683. package/dist/variants/variants.css +0 -86
  684. package/dist/variants/variants.d.ts +0 -2
  685. /package/dist/{tokens → components/kanban}/types.js +0 -0
  686. /package/dist/{tokens → components/kanban}/types.js.map +0 -0
@@ -0,0 +1,194 @@
1
+ import { RefAttributes, Dispatch, SetStateAction, KeyboardEvent } from 'react';
2
+ import { TextFieldProps, LabelProps, FieldErrorProps } from 'react-aria-components';
3
+
4
+ /**
5
+ * Supported coordinate systems for display and input
6
+ */
7
+ type CoordinateSystem = 'dd' | 'ddm' | 'dms' | 'mgrs' | 'utm';
8
+ /**
9
+ * Short labels for coordinate formats (used in popover)
10
+ */
11
+ declare const COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string>;
12
+ /**
13
+ * Full names for coordinate formats (used in popover titles/descriptions)
14
+ */
15
+ declare const COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string>;
16
+ /**
17
+ * All supported coordinate systems
18
+ * Use this constant instead of hardcoding the array in multiple places
19
+ */
20
+ declare const COORDINATE_SYSTEMS: readonly CoordinateSystem[];
21
+ /**
22
+ * Coordinate value in Decimal Degrees format (internal representation)
23
+ * All coordinate values are normalized to this format internally
24
+ */
25
+ type CoordinateValue = {
26
+ lat: number;
27
+ lon: number;
28
+ };
29
+ /**
30
+ * Types of segments in a coordinate input
31
+ */
32
+ type SegmentType = 'numeric' | 'directional' | 'literal' | 'alphanumeric';
33
+ /**
34
+ * Configuration for a single coordinate segment
35
+ */
36
+ type SegmentConfig = {
37
+ type: SegmentType;
38
+ /** Placeholder text shown when segment is empty */
39
+ placeholder?: string;
40
+ /** Maximum character length for the segment */
41
+ maxLength?: number;
42
+ /** Regex pattern for allowed characters */
43
+ allowedChars?: string;
44
+ /** Fixed value for literal segments (e.g., ", " or "º") */
45
+ value?: string;
46
+ /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */
47
+ pad?: number;
48
+ };
49
+ /**
50
+ * Result of parsing a pasted coordinate string
51
+ */
52
+ type ParsedCoordinateMatch = {
53
+ /** The coordinate system format that matched */
54
+ format: CoordinateSystem;
55
+ /** The coordinate value in DD format */
56
+ value: CoordinateValue;
57
+ /** Display string in the matched format */
58
+ displayString: string;
59
+ };
60
+ /**
61
+ * State shared with child components through context
62
+ */
63
+ type CoordinateFieldState = {
64
+ segmentValues: string[];
65
+ format: CoordinateFieldProps['format'];
66
+ /**
67
+ * Current coordinate value in DD format
68
+ * - undefined: uncontrolled mode with no default value
69
+ * - null: controlled mode with empty/invalid value
70
+ * - CoordinateValue: valid coordinate
71
+ */
72
+ currentValue?: CoordinateValue | null;
73
+ /** Validation errors from @accelint/geo */
74
+ validationErrors: string[];
75
+ isDisabled: boolean;
76
+ isInvalid: boolean;
77
+ isRequired: boolean;
78
+ /** Size variant of the field */
79
+ size: CoordinateFieldProps['size'];
80
+ /** Function to register timeouts for cleanup on unmount */
81
+ registerTimeout: (timeoutId: NodeJS.Timeout) => void;
82
+ };
83
+ /**
84
+ * Props for the CoordinateSegment component
85
+ */
86
+ type CoordinateSegmentProps = {
87
+ /** Current value of the segment */
88
+ value: string;
89
+ /** Callback when the segment value changes */
90
+ onChange: (value: string) => void;
91
+ /** Callback when the segment receives focus */
92
+ onFocus?: () => void;
93
+ /** Callback when the segment loses focus */
94
+ onBlur?: () => void;
95
+ /** Callback for keyboard events (used for navigation between segments) */
96
+ onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
97
+ /** Placeholder text to display when segment is empty */
98
+ placeholder?: string;
99
+ /** Maximum character length for the segment */
100
+ maxLength?: number;
101
+ /** Custom className for styling */
102
+ className?: string;
103
+ /** Whether the segment is disabled */
104
+ isDisabled?: boolean;
105
+ /** Regex pattern for allowed characters (e.g., "[0-9\\-\\.]" for numeric, "[NSEW]" for directional) */
106
+ allowedChars?: string;
107
+ /** Ref to the input element for programmatic focus management */
108
+ segmentRef?: React.RefObject<HTMLInputElement>;
109
+ /** Index of this segment in the parent field (for accessibility) */
110
+ segmentIndex?: number;
111
+ /** Total number of segments (for accessibility) */
112
+ totalSegments?: number;
113
+ /** Callback to trigger auto-advance to next segment */
114
+ onAutoAdvance?: () => void;
115
+ /** Callback to trigger auto-retreat to previous segment */
116
+ onAutoRetreat?: () => void;
117
+ /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */
118
+ pad?: number;
119
+ /** Semantic accessibility label for the segment (e.g., "Latitude degrees") */
120
+ ariaLabel?: string;
121
+ };
122
+ /**
123
+ * Props for the CoordinateField component
124
+ *
125
+ * Extends AriaTextFieldProps to inherit standard form field props (id, isDisabled, isRequired, etc.)
126
+ */
127
+ type CoordinateFieldProps = Omit<TextFieldProps, 'children' | 'className' | 'placeholder' | 'type' | 'pattern' | 'value' | 'defaultValue' | 'onChange' | 'name'> & RefAttributes<HTMLDivElement> & {
128
+ /**
129
+ * Custom class names for component slots
130
+ */
131
+ classNames?: {
132
+ field?: string;
133
+ label?: LabelProps['className'];
134
+ control?: string;
135
+ input?: string;
136
+ segment?: string;
137
+ description?: string;
138
+ error?: FieldErrorProps['className'];
139
+ formatButton?: string;
140
+ };
141
+ /**
142
+ * Label text displayed above the input (medium size only)
143
+ */
144
+ label?: string;
145
+ /**
146
+ * Helper text displayed below the input
147
+ */
148
+ description?: string;
149
+ /**
150
+ * Error message to display when the field is invalid
151
+ */
152
+ errorMessage?: string;
153
+ /**
154
+ * Display format for coordinate input
155
+ * @default 'dd' (Decimal Degrees)
156
+ */
157
+ format?: CoordinateSystem;
158
+ /**
159
+ * Size variant of the field
160
+ * @default 'medium'
161
+ */
162
+ size?: 'small' | 'medium';
163
+ /**
164
+ * Whether to show the format button for copying coordinates in different formats
165
+ * @default true
166
+ */
167
+ showFormatButton?: boolean;
168
+ /**
169
+ * Controlled value in Decimal Degrees format
170
+ * - undefined: uncontrolled mode
171
+ * - null: controlled mode with no/invalid value
172
+ * - CoordinateValue: controlled mode with valid value
173
+ */
174
+ value?: CoordinateValue | null;
175
+ /**
176
+ * Default uncontrolled value in Decimal Degrees format
177
+ */
178
+ defaultValue?: CoordinateValue;
179
+ /**
180
+ * Callback fired when the coordinate value changes
181
+ * @param value - The new coordinate value in DD format, or null if invalid
182
+ */
183
+ onChange?: Dispatch<SetStateAction<CoordinateValue | null>> | ((value: CoordinateValue | null) => void);
184
+ /**
185
+ * Callback fired when validation or paste errors occur
186
+ * @param message - Error message ("Invalid coordinate value" for validation errors, "Invalid coordinate format" for paste errors)
187
+ * @param context - Additional context about the error:
188
+ * - Validation errors: `{ errors: string[], format: string, segments: string[] }`
189
+ * - Paste errors: `{ pastedText: string }`
190
+ */
191
+ onError?: (message: string, context?: Record<string, unknown>) => void;
192
+ };
193
+
194
+ export { COORDINATE_FORMAT_LABELS, COORDINATE_FORMAT_NAMES, COORDINATE_SYSTEMS, type CoordinateFieldProps, type CoordinateFieldState, type CoordinateSegmentProps, type CoordinateSystem, type CoordinateValue, type ParsedCoordinateMatch, type SegmentConfig, type SegmentType };
@@ -0,0 +1,2 @@
1
+ const e={dd:"DD",ddm:"DDM",dms:"DMS",mgrs:"MGRS",utm:"UTM"},t={dd:"Decimal Degrees",ddm:"Degrees Decimal Minutes",dms:"Degrees Minutes Seconds",mgrs:"Military Grid Reference System",utm:"Universal Transverse Mercator"},r=["dd","dms","ddm","mgrs","utm"];export{e as COORDINATE_FORMAT_LABELS,t as COORDINATE_FORMAT_NAMES,r as COORDINATE_SYSTEMS};//# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/coordinate-field/types.ts"],"names":["COORDINATE_FORMAT_LABELS","COORDINATE_FORMAT_NAMES","COORDINATE_SYSTEMS"],"mappings":"AAgCO,MAAMA,CAAAA,CAA6D,CACxE,EAAA,CAAI,IAAA,CACJ,IAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,IAAA,CAAM,MAAA,CACN,GAAA,CAAK,KACP,CAAA,CAKaC,EAA4D,CACvE,EAAA,CAAI,iBAAA,CACJ,GAAA,CAAK,yBAAA,CACL,GAAA,CAAK,yBAAA,CACL,IAAA,CAAM,iCACN,GAAA,CAAK,+BACP,CAAA,CAMaC,CAAAA,CAAkD,CAC7D,IAAA,CACA,KAAA,CACA,KAAA,CACA,OACA,KACF","file":"types.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 type {\n Dispatch,\n KeyboardEvent,\n RefAttributes,\n SetStateAction,\n} from 'react';\nimport type {\n TextFieldProps as AriaTextFieldProps,\n FieldErrorProps,\n LabelProps,\n} from 'react-aria-components';\n\n/**\n * Supported coordinate systems for display and input\n */\nexport type CoordinateSystem = 'dd' | 'ddm' | 'dms' | 'mgrs' | 'utm';\n\n/**\n * Short labels for coordinate formats (used in popover)\n */\nexport const COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string> = {\n dd: 'DD',\n ddm: 'DDM',\n dms: 'DMS',\n mgrs: 'MGRS',\n utm: 'UTM',\n};\n\n/**\n * Full names for coordinate formats (used in popover titles/descriptions)\n */\nexport const COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string> = {\n dd: 'Decimal Degrees',\n ddm: 'Degrees Decimal Minutes',\n dms: 'Degrees Minutes Seconds',\n mgrs: 'Military Grid Reference System',\n utm: 'Universal Transverse Mercator',\n};\n\n/**\n * All supported coordinate systems\n * Use this constant instead of hardcoding the array in multiple places\n */\nexport const COORDINATE_SYSTEMS: readonly CoordinateSystem[] = [\n 'dd',\n 'dms',\n 'ddm',\n 'mgrs',\n 'utm',\n] as const;\n\n/**\n * Coordinate value in Decimal Degrees format (internal representation)\n * All coordinate values are normalized to this format internally\n */\nexport type CoordinateValue = {\n lat: number; // Latitude in decimal degrees (-90 to 90)\n lon: number; // Longitude in decimal degrees (-180 to 180)\n};\n\n/**\n * Types of segments in a coordinate input\n */\nexport type SegmentType =\n | 'numeric'\n | 'directional'\n | 'literal'\n | 'alphanumeric';\n\n/**\n * Configuration for a single coordinate segment\n */\nexport type SegmentConfig = {\n type: SegmentType;\n /** Placeholder text shown when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Regex pattern for allowed characters */\n allowedChars?: string;\n /** Fixed value for literal segments (e.g., \", \" or \"º\") */\n value?: string;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n};\n\n/**\n * Result of parsing a pasted coordinate string\n */\nexport type ParsedCoordinateMatch = {\n /** The coordinate system format that matched */\n format: CoordinateSystem;\n /** The coordinate value in DD format */\n value: CoordinateValue;\n /** Display string in the matched format */\n displayString: string;\n};\n\n/**\n * State shared with child components through context\n */\nexport type CoordinateFieldState = {\n segmentValues: string[];\n format: CoordinateFieldProps['format'];\n /**\n * Current coordinate value in DD format\n * - undefined: uncontrolled mode with no default value\n * - null: controlled mode with empty/invalid value\n * - CoordinateValue: valid coordinate\n */\n currentValue?: CoordinateValue | null;\n /** Validation errors from @accelint/geo */\n validationErrors: string[];\n isDisabled: boolean;\n isInvalid: boolean;\n isRequired: boolean;\n /** Size variant of the field */\n size: CoordinateFieldProps['size'];\n /** Function to register timeouts for cleanup on unmount */\n registerTimeout: (timeoutId: NodeJS.Timeout) => void;\n};\n\n/**\n * Props for the CoordinateSegment component\n */\nexport type CoordinateSegmentProps = {\n /** Current value of the segment */\n value: string;\n /** Callback when the segment value changes */\n onChange: (value: string) => void;\n /** Callback when the segment receives focus */\n onFocus?: () => void;\n /** Callback when the segment loses focus */\n onBlur?: () => void;\n /** Callback for keyboard events (used for navigation between segments) */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Placeholder text to display when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Custom className for styling */\n className?: string;\n /** Whether the segment is disabled */\n isDisabled?: boolean;\n /** Regex pattern for allowed characters (e.g., \"[0-9\\\\-\\\\.]\" for numeric, \"[NSEW]\" for directional) */\n allowedChars?: string;\n /** Ref to the input element for programmatic focus management */\n segmentRef?: React.RefObject<HTMLInputElement>;\n /** Index of this segment in the parent field (for accessibility) */\n segmentIndex?: number;\n /** Total number of segments (for accessibility) */\n totalSegments?: number;\n /** Callback to trigger auto-advance to next segment */\n onAutoAdvance?: () => void;\n /** Callback to trigger auto-retreat to previous segment */\n onAutoRetreat?: () => void;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n /** Semantic accessibility label for the segment (e.g., \"Latitude degrees\") */\n ariaLabel?: string;\n};\n\n/**\n * Props for the CoordinateField component\n *\n * Extends AriaTextFieldProps to inherit standard form field props (id, isDisabled, isRequired, etc.)\n */\nexport type CoordinateFieldProps = Omit<\n AriaTextFieldProps,\n | 'children'\n | 'className'\n | 'placeholder'\n | 'type'\n | 'pattern'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'name' // Not applicable to multi-segment fields\n> &\n RefAttributes<HTMLDivElement> & {\n /**\n * Custom class names for component slots\n */\n classNames?: {\n field?: string;\n label?: LabelProps['className'];\n control?: string;\n input?: string;\n segment?: string;\n description?: string;\n error?: FieldErrorProps['className'];\n formatButton?: string;\n };\n\n /**\n * Label text displayed above the input (medium size only)\n */\n label?: string;\n\n /**\n * Helper text displayed below the input\n */\n description?: string;\n\n /**\n * Error message to display when the field is invalid\n */\n errorMessage?: string;\n\n /**\n * Display format for coordinate input\n * @default 'dd' (Decimal Degrees)\n */\n format?: CoordinateSystem;\n\n /**\n * Size variant of the field\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * Whether to show the format button for copying coordinates in different formats\n * @default true\n */\n showFormatButton?: boolean;\n\n /**\n * Controlled value in Decimal Degrees format\n * - undefined: uncontrolled mode\n * - null: controlled mode with no/invalid value\n * - CoordinateValue: controlled mode with valid value\n */\n value?: CoordinateValue | null;\n\n /**\n * Default uncontrolled value in Decimal Degrees format\n */\n defaultValue?: CoordinateValue;\n\n /**\n * Callback fired when the coordinate value changes\n * @param value - The new coordinate value in DD format, or null if invalid\n */\n onChange?:\n | Dispatch<SetStateAction<CoordinateValue | null>>\n | ((value: CoordinateValue | null) => void);\n\n /**\n * Callback fired when validation or paste errors occur\n * @param message - Error message (\"Invalid coordinate value\" for validation errors, \"Invalid coordinate format\" for paste errors)\n * @param context - Additional context about the error:\n * - Validation errors: `{ errors: string[], format: string, segments: string[] }`\n * - Paste errors: `{ pastedText: string }`\n */\n onError?: (message: string, context?: Record<string, unknown>) => void;\n };\n"]}
@@ -0,0 +1,29 @@
1
+ import { SegmentConfig } from './types.js';
2
+ import 'react';
3
+ import 'react-aria-components';
4
+
5
+ /**
6
+ * Layout spacing constants for coordinate field width calculations.
7
+ * All values are in character widths (ch units) to ensure consistent sizing
8
+ * with monospace coordinate values.
9
+ */
10
+ /** Gap spacing between segments (0.5rem = ~0.5ch per gap) */
11
+ declare const SEGMENT_GAP_WIDTH = 0.5;
12
+ /** Container padding (px-s = 0.5rem on each side = ~1ch total) */
13
+ declare const CONTAINER_PADDING_WIDTH = 2;
14
+ /** Format button width (icon button is roughly 2.5-3ch) */
15
+ declare const FORMAT_BUTTON_WIDTH = 3.5;
16
+ /** Gap between input and button (gap-m = 1rem = ~1ch) */
17
+ declare const INPUT_BUTTON_GAP = 1.5;
18
+ /**
19
+ * Calculates the maximum width needed for the coordinate field control container.
20
+ * This keeps the outlined container at a fixed width while segments animate.
21
+ *
22
+ * @param editableSegmentConfigs - Array of editable segment configurations
23
+ * @param segmentConfigs - Array of all segment configurations (including literals)
24
+ * @param showFormatButton - Whether the format button is displayed
25
+ * @returns The calculated width as a CSS string (e.g., "25ch")
26
+ */
27
+ declare function calculateMaxControlWidth(editableSegmentConfigs: SegmentConfig[], segmentConfigs: SegmentConfig[], showFormatButton: boolean): string;
28
+
29
+ export { CONTAINER_PADDING_WIDTH, FORMAT_BUTTON_WIDTH, INPUT_BUTTON_GAP, SEGMENT_GAP_WIDTH, calculateMaxControlWidth };
@@ -0,0 +1,2 @@
1
+ const s=.5,l=2,I=3.5,W=1.5;function u(T,e,o){const c=T.reduce((t,n)=>{const N=n.maxLength||0,d=n.pad??.5;return t+N+d},0),a=e.filter(t=>t.type==="literal").reduce((t,n)=>t+(n.value?.length||0),0),p=Math.max(0,e.length-1)*.5,r=2,i=o?3.5:0,_=o?1.5:0;return `${c+a+p+r+i+_}ch`}export{l as CONTAINER_PADDING_WIDTH,I as FORMAT_BUTTON_WIDTH,W as INPUT_BUTTON_GAP,s as SEGMENT_GAP_WIDTH,u as calculateMaxControlWidth};//# sourceMappingURL=width-utils.js.map
2
+ //# sourceMappingURL=width-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/coordinate-field/width-utils.ts"],"names":["SEGMENT_GAP_WIDTH","CONTAINER_PADDING_WIDTH","FORMAT_BUTTON_WIDTH","INPUT_BUTTON_GAP","calculateMaxControlWidth","editableSegmentConfigs","segmentConfigs","showFormatButton","segmentWidth","sum","config","maxLen","padding","literalWidth","c","gapWidth","paddingWidth","buttonWidth","inputButtonGap"],"mappings":"AAqBO,MAAMA,EAAoB,EAAA,CAGpBC,CAAAA,CAA0B,EAG1BC,CAAAA,CAAsB,GAAA,CAGtBC,EAAmB,IAWzB,SAASC,CAAAA,CACdC,CAAAA,CACAC,EACAC,CAAAA,CACQ,CAER,MAAMC,CAAAA,CAAeH,CAAAA,CAAuB,OAAO,CAACI,CAAAA,CAAKC,CAAAA,GAAW,CAClE,MAAMC,CAAAA,CAASD,CAAAA,CAAO,WAAa,CAAA,CAC7BE,CAAAA,CAAUF,EAAO,GAAA,EAAO,EAAA,CAC9B,OAAOD,CAAAA,CAAME,EAASC,CACxB,CAAA,CAAG,CAAC,CAAA,CAGEC,CAAAA,CAAeP,EAClB,MAAA,CAAQQ,CAAAA,EAAMA,CAAAA,CAAE,IAAA,GAAS,SAAS,CAAA,CAClC,MAAA,CAAO,CAACL,CAAAA,CAAKK,CAAAA,GAAML,GAAOK,CAAAA,CAAE,KAAA,EAAO,MAAA,EAAU,CAAA,CAAA,CAAI,CAAC,CAAA,CAK/CC,CAAAA,CADW,KAAK,GAAA,CAAI,CAAA,CAAGT,EAAe,MAAA,CAAS,CAAC,CAAA,CAC1B,EAAA,CAGtBU,EAAe,CAAA,CAGfC,CAAAA,CAAcV,EAAmB,GAAA,CAAsB,CAAA,CAGvDW,EAAiBX,CAAAA,CAAmB,GAAA,CAAmB,CAAA,CAE7D,OAAO,GAAGC,CAAAA,CAAeK,CAAAA,CAAeE,EAAWC,CAAAA,CAAeC,CAAAA,CAAcC,CAAc,CAAA,EAAA,CAChG","file":"width-utils.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 type { SegmentConfig } from './types';\n\n/**\n * Layout spacing constants for coordinate field width calculations.\n * All values are in character widths (ch units) to ensure consistent sizing\n * with monospace coordinate values.\n */\n\n/** Gap spacing between segments (0.5rem = ~0.5ch per gap) */\nexport const SEGMENT_GAP_WIDTH = 0.5;\n\n/** Container padding (px-s = 0.5rem on each side = ~1ch total) */\nexport const CONTAINER_PADDING_WIDTH = 2;\n\n/** Format button width (icon button is roughly 2.5-3ch) */\nexport const FORMAT_BUTTON_WIDTH = 3.5;\n\n/** Gap between input and button (gap-m = 1rem = ~1ch) */\nexport const INPUT_BUTTON_GAP = 1.5;\n\n/**\n * Calculates the maximum width needed for the coordinate field control container.\n * This keeps the outlined container at a fixed width while segments animate.\n *\n * @param editableSegmentConfigs - Array of editable segment configurations\n * @param segmentConfigs - Array of all segment configurations (including literals)\n * @param showFormatButton - Whether the format button is displayed\n * @returns The calculated width as a CSS string (e.g., \"25ch\")\n */\nexport function calculateMaxControlWidth(\n editableSegmentConfigs: SegmentConfig[],\n segmentConfigs: SegmentConfig[],\n showFormatButton: boolean,\n): string {\n // Sum all editable segment max widths with their padding\n const segmentWidth = editableSegmentConfigs.reduce((sum, config) => {\n const maxLen = config.maxLength || 0;\n const padding = config.pad ?? 0.5;\n return sum + maxLen + padding;\n }, 0);\n\n // Calculate width of literal characters (colons, spaces, etc.)\n const literalWidth = segmentConfigs\n .filter((c) => c.type === 'literal')\n .reduce((sum, c) => sum + (c.value?.length || 0), 0);\n\n // Add gap spacing between segments\n // Number of gaps = number of segments - 1 (minimum 0)\n const gapCount = Math.max(0, segmentConfigs.length - 1);\n const gapWidth = gapCount * SEGMENT_GAP_WIDTH;\n\n // Add container padding\n const paddingWidth = CONTAINER_PADDING_WIDTH;\n\n // Add format button width if shown\n const buttonWidth = showFormatButton ? FORMAT_BUTTON_WIDTH : 0;\n\n // Add gap between input and button if button is shown\n const inputButtonGap = showFormatButton ? INPUT_BUTTON_GAP : 0;\n\n return `${segmentWidth + literalWidth + gapWidth + paddingWidth + buttonWidth + inputButtonGap}ch`;\n}\n"]}
@@ -2,8 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DateValue } from '@internationalized/date';
3
3
  import { DateFieldProps } from './types.js';
4
4
  import 'react-aria-components';
5
- import 'tailwind-variants';
6
- import './styles.js';
7
5
 
8
6
  /**
9
7
  * DateField - A comprehensive date input component with segmented editing
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
 
3
- import {jsx,jsxs,Fragment}from'react/jsx-runtime';import v from'@accelint/icons/calendar';import'client-only';import {DateField,composeRenderProps,DateInput,DateSegment,Text,FieldError}from'react-aria-components';import {Icon}from'../icon/index.js';import {Label}from'../label/index.js';import {DateFieldStyles,DateFieldStylesDefaults}from'./styles.js';const{field:k,label:q,control:B,input:G,segment:Y,description:Z,error:w}=DateFieldStyles(),z=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];function $({classNames:i,description:s,errorMessage:F,inputProps:A,label:n,size:o="medium",shortMonth:t=DateFieldStylesDefaults.shortMonth,shouldForceLeadingZeros:b=true,isDisabled:y,isInvalid:m,isRequired:u,...N}){const c=F||null,p=o==="small";return jsx(DateField,{...N,className:composeRenderProps(i?.field,r=>k({className:r,shortMonth:t})),shouldForceLeadingZeros:b,isDisabled:y,isInvalid:m||(c?true:void 0),isRequired:u,"aria-label":n,"data-size":o,children:({isDisabled:r})=>jsxs(Fragment,{children:[!p&&n&&jsx(Label,{className:q({className:i?.label,shortMonth:t}),isDisabled:r,isRequired:u,children:n}),jsxs("div",{className:B({className:i?.control,shortMonth:t}),children:[o==="medium"&&jsx(Icon,{children:jsx(v,{})}),jsx(DateInput,{...A,className:composeRenderProps(i?.input,a=>G({className:a,shortMonth:t})),children:a=>a.type==="literal"?jsx(Fragment,{children:a.text===":"?":":null}):jsx(DateSegment,{className:composeRenderProps(i?.segment,d=>Y({className:d,shortMonth:t})),segment:a,children:({placeholder:d,text:T,value:I,isFocused:S,isPlaceholder:g})=>g?d:a.type==="month"&&t&&!S?z[(I??0)-1]:T})})]}),s&&(!(p||m)||r)&&jsx(Text,{className:Z({className:i?.description,shortMonth:t}),slot:"description",children:s}),jsx(FieldError,{className:composeRenderProps(i?.error,a=>w({className:a,shortMonth:t})),children:c})]})})}export{$ as DateField};//# sourceMappingURL=index.js.map
3
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import h from'@accelint/icons/calendar';import {DateField,composeRenderProps,DateInput,DateSegment,Text,FieldError}from'react-aria-components';import {Icon}from'../icon/index.js';import {Label}from'../label/index.js';import r from'./styles.module.css';const V=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];function w({classNames:i,description:m,errorMessage:b,inputProps:y,label:n,size:d="medium",shortMonth:u=true,shouldForceLeadingZeros:T=true,isDisabled:x,isInvalid:p,isRequired:c,...I}){const f=b||null,D=d==="small";return jsx(DateField,{...I,className:composeRenderProps(i?.field,o=>clsx("group/date-field",r.field,o)),shouldForceLeadingZeros:T,isDisabled:x,isInvalid:p||(f?true:void 0),isRequired:c,"aria-label":n,"data-size":d,children:({isDisabled:o})=>jsxs(Fragment,{children:[!D&&n&&jsx(Label,{className:clsx(r.label,i?.label),isDisabled:o,isRequired:c,children:n}),jsxs("div",{className:clsx(r.control,i?.control),children:[d==="medium"&&jsx(Icon,{children:jsx(h,{})}),jsx(DateInput,{...y,className:composeRenderProps(i?.input,e=>clsx(r.input,e)),children:e=>e.type==="literal"?jsx(Fragment,{children:e.text===":"?":":null}):jsx(DateSegment,{className:composeRenderProps(i?.segment,s=>clsx(r.segment,e.type==="month"&&u&&r.shortMonth,s)),segment:e,children:({placeholder:s,text:g,value:v,isFocused:E,isPlaceholder:L})=>L?s:e.type==="month"&&u&&!E?V[(v??0)-1]:g})})]}),m&&(!(D||p)||o)&&jsx(Text,{className:clsx(r.description,i?.description),slot:"description",children:m}),jsx(FieldError,{className:composeRenderProps(i?.error,e=>clsx(r.error,e)),children:f})]})})}export{w as DateField};//# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date-field/index.tsx"],"names":["control","input","description","DateFieldStyles","V","classNames","shortMonth","DateFieldStylesDefaults","O","shouldForceLeadingZeros","isInvalidProp","isRequired","isSmall","size","AriaDateField","rest","x","className","field","l","isDisabled","labelProp","Label","D","label","e","U","f","jsx","AriaDateInput","composeRenderProps","E","Fragment","segmentProp","DateSegment","R","placeholder","isFocused","months","descriptionProp","AriaText","error"],"mappings":"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","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\n'use client';\n\nimport Calendar from '@accelint/icons/calendar';\nimport type { DateValue } from '@internationalized/date';\nimport 'client-only';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n Text as AriaText,\n composeRenderProps,\n DateSegment,\n FieldError,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { DateFieldStyles, DateFieldStylesDefaults } from './styles';\nimport type { DateFieldProps } from './types';\n\nconst { field, label, control, input, segment, description, error } =\n DateFieldStyles();\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\n/**\n * DateField - A comprehensive date input component with segmented editing\n *\n * Provides accessible date input functionality with separate segments for day,\n * month, and year. Includes calendar icon, validation states, and international\n * date format support with keyboard navigation between segments.\n *\n * @example\n * // Basic date field\n * <DateField label=\"Birth Date\" />\n *\n * @example\n * // Date field with validation\n * <DateField\n * label=\"Event Date\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please select a valid date\"\n * />\n *\n * @example\n * // Date field with custom formatting\n * <DateField\n * label=\"Meeting Date\"\n * shortMonth={false}\n * placeholder=\"Select meeting date\"\n * />\n *\n * @example\n * // Compact date field\n * <DateField\n * label=\"Due Date\"\n * size=\"small\"\n * description=\"When is this task due?\"\n * />\n *\n * @example\n * // Controlled date field\n * <DateField\n * label=\"Selected Date\"\n * value={selectedDate}\n * onChange={setSelectedDate}\n * />\n */\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n size = 'medium',\n shortMonth = DateFieldStylesDefaults.shortMonth,\n shouldForceLeadingZeros = true,\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n ...rest\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className, shortMonth }),\n )}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\n <Label\n className={label({ className: classNames?.label, shortMonth })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div\n className={control({ className: classNames?.control, shortMonth })}\n >\n {size === 'medium' && (\n <Icon>\n <Calendar />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n input({\n className,\n shortMonth,\n }),\n )}\n >\n {(segmentProp) => {\n // Remove extra space and punctuation from input display\n if (segmentProp.type === 'literal') {\n return <>{segmentProp.text === ':' ? ':' : null}</>;\n }\n\n return (\n <DateSegment\n className={composeRenderProps(\n classNames?.segment,\n (className) => segment({ className, shortMonth }),\n )}\n segment={segmentProp}\n >\n {({\n placeholder,\n text,\n value,\n isFocused,\n isPlaceholder,\n }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n return segmentProp.type === 'month' &&\n shortMonth &&\n !isFocused\n ? months[(value ?? 0) - 1]\n : text;\n }}\n </DateSegment>\n );\n }}\n </AriaDateInput>\n </div>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText\n className={description({\n className: classNames?.description,\n shortMonth,\n })}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n error({ className, shortMonth }),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/date-field/index.tsx"],"names":["labelProp","shortMonth","isSmall","size","jsx","AriaDateField","classNames","className","styles","isRequired","Fragment","Label","clsx","a","isDisabled","t","J","AriaDateInput","composeRenderProps","l","segmentProp","A","DateSegment","S","text","isFocused","isPlaceholder","placeholder","value","descriptionProp","isInvalidProp","AriaText","R","C","errorMessage"],"mappings":"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","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\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport Calendar from '@accelint/icons/calendar';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n Text as AriaText,\n composeRenderProps,\n DateSegment,\n FieldError,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport styles from './styles.module.css';\nimport type { DateValue } from '@internationalized/date';\nimport type { DateFieldProps } from './types';\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\n/**\n * DateField - A comprehensive date input component with segmented editing\n *\n * Provides accessible date input functionality with separate segments for day,\n * month, and year. Includes calendar icon, validation states, and international\n * date format support with keyboard navigation between segments.\n *\n * @example\n * // Basic date field\n * <DateField label=\"Birth Date\" />\n *\n * @example\n * // Date field with validation\n * <DateField\n * label=\"Event Date\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please select a valid date\"\n * />\n *\n * @example\n * // Date field with custom formatting\n * <DateField\n * label=\"Meeting Date\"\n * shortMonth={false}\n * placeholder=\"Select meeting date\"\n * />\n *\n * @example\n * // Compact date field\n * <DateField\n * label=\"Due Date\"\n * size=\"small\"\n * description=\"When is this task due?\"\n * />\n *\n * @example\n * // Controlled date field\n * <DateField\n * label=\"Selected Date\"\n * value={selectedDate}\n * onChange={setSelectedDate}\n * />\n */\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n size = 'medium',\n shortMonth = true,\n shouldForceLeadingZeros = true,\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n ...rest\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/date-field', styles.field, className),\n )}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div className={clsx(styles.control, classNames?.control)}>\n {size === 'medium' && (\n <Icon>\n <Calendar />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n >\n {(segmentProp) => {\n // Remove extra space and punctuation from input display\n if (segmentProp.type === 'literal') {\n return <>{segmentProp.text === ':' ? ':' : null}</>;\n }\n\n return (\n <DateSegment\n className={composeRenderProps(\n classNames?.segment,\n (className) =>\n clsx(\n styles.segment,\n segmentProp.type === 'month' &&\n shortMonth &&\n styles.shortMonth,\n className,\n ),\n )}\n segment={segmentProp}\n >\n {({\n placeholder,\n text,\n value,\n isFocused,\n isPlaceholder,\n }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n return segmentProp.type === 'month' &&\n shortMonth &&\n !isFocused\n ? months[(value ?? 0) - 1]\n : text;\n }}\n </DateSegment>\n );\n }}\n </AriaDateInput>\n </div>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"]}
@@ -0,0 +1,103 @@
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
+ .field {
17
+ @apply gap-xs flex w-fit flex-col;
18
+ }
19
+
20
+ .control {
21
+ @apply gap-xs rounded-medium px-s py-xs outline-interactive fg-primary-bold flex w-full items-center outline;
22
+
23
+ @variant placeholder {
24
+ @apply fg-primary-muted;
25
+ }
26
+
27
+ @variant hover {
28
+ @apply outline-interactive-hover;
29
+ }
30
+
31
+ @variant focus-visible-within {
32
+ @apply outline-accent-primary-bold;
33
+ }
34
+
35
+ @variant pressed {
36
+ @apply outline-interactive-pressed;
37
+ }
38
+
39
+ @variant group-invalid/date-field {
40
+ @apply outline-serious-bold;
41
+ }
42
+
43
+ @variant group-disabled/date-field {
44
+ @apply fg-disabled outline-interactive-disabled;
45
+ }
46
+ }
47
+
48
+ .input {
49
+ @apply gap-xs font-display flex;
50
+
51
+ @variant group-size-medium/date-field {
52
+ @apply text-body-s;
53
+ }
54
+
55
+ @variant group-size-small/date-field {
56
+ @apply text-body-xs;
57
+ }
58
+ }
59
+
60
+ .segment {
61
+ @apply text-right;
62
+
63
+ @variant placeholder-shown {
64
+ @apply fg-primary-muted;
65
+ }
66
+
67
+ @variant focus-visible {
68
+ @apply fg-a11y-on-accent bg-accent-primary-bold outline-none;
69
+ }
70
+
71
+ @variant type-month {
72
+ @variant group-size-medium/date-field {
73
+ width: calc(2ch + (2 * var(--typography-body-s-spacing)));
74
+ }
75
+
76
+ @variant group-size-small/date-field {
77
+ width: calc(2ch + (2 * var(--typography-body-xs-spacing)));
78
+ }
79
+
80
+ &.shortMonth {
81
+ @variant group-size-medium/date-field {
82
+ width: calc(3ch + (3 * var(--typography-body-s-spacing)));
83
+ }
84
+
85
+ @variant group-size-small/date-field {
86
+ width: calc(3ch + (3 * var(--typography-body-xs-spacing)));
87
+ }
88
+ }
89
+ }
90
+ }
91
+
92
+ .description {
93
+ @apply fg-primary-muted text-body-xs;
94
+
95
+ @variant group-disabled/date-field {
96
+ @apply fg-disabled;
97
+ }
98
+ }
99
+
100
+ .error {
101
+ @apply fg-serious-bold text-body-xs;
102
+ }
103
+ }
@@ -1,8 +1,6 @@
1
1
  import { DateValue, DateFieldProps as DateFieldProps$1, LabelProps, DateInputProps, DateSegmentProps, FieldErrorProps } from 'react-aria-components';
2
- import { VariantProps } from 'tailwind-variants';
3
- import { DateFieldStyles } from './styles.js';
4
2
 
5
- type DateFieldProps<T extends DateValue> = Omit<DateFieldProps$1<T>, 'children' | 'className' | 'placeholder'> & VariantProps<typeof DateFieldStyles> & {
3
+ type DateFieldProps<T extends DateValue> = Omit<DateFieldProps$1<T>, 'children' | 'className' | 'placeholder'> & {
6
4
  classNames?: {
7
5
  field?: DateFieldProps$1<T>['className'];
8
6
  label?: LabelProps['className'];
@@ -3,8 +3,6 @@ import * as react from 'react';
3
3
  import { ContextValue } from 'react-aria-components';
4
4
  import { ProviderProps } from '../../lib/types.js';
5
5
  import { DetailsListProps } from './types.js';
6
- import 'tailwind-variants';
7
- import './styles.js';
8
6
 
9
7
  declare const DetailsListContext: react.Context<ContextValue<DetailsListProps, HTMLDListElement>>;
10
8
  declare function DetailsListProvider({ children, ...props }: ProviderProps<DetailsListProps>): react_jsx_runtime.JSX.Element;
@@ -2,8 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DetailsListProps } from './types.js';
3
3
  import 'react';
4
4
  import 'react-aria-components';
5
- import 'tailwind-variants';
6
- import './styles.js';
7
5
 
8
6
  /**
9
7
  * A semantic details list component for displaying metadata in key-value pairs.
@@ -1,2 +1,4 @@
1
- import {jsx}from'react/jsx-runtime';import'client-only';import {useContextProps,TextContext,DEFAULT_SLOT}from'react-aria-components';import {DetailsListContext}from'./context.js';import {DetailsListStyles,DetailsListStylesDefaults}from'./styles.js';const{list:L,label:p,value:N}=DetailsListStyles();function C({ref:e,...s}){[s,e]=useContextProps(s,e??null,DetailsListContext);const{children:i,classNames:t,align:l=DetailsListStylesDefaults.align,...o}=s;return jsx(TextContext,{value:{slots:{[DEFAULT_SLOT]:{},label:{className:p({className:t?.label,align:l})},value:{className:N({className:t?.value,align:l})}}},children:jsx("dl",{...o,className:L({className:t?.list,align:l}),children:i})})}export{C as DetailsList};//# sourceMappingURL=index.js.map
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {clsx}from'@accelint/design-foundation/lib/utils';import {useContextProps,TextContext,DEFAULT_SLOT}from'react-aria-components';import {DetailsListContext}from'./context.js';import t from'./styles.module.css';function y({ref:i,...l}){[l,i]=useContextProps(l,i??null,DetailsListContext);const{children:m,classNames:s,align:o="justify",...r}=l;return jsx(TextContext,{value:{slots:{[DEFAULT_SLOT]:{},label:{className:clsx(t.label,t[o],s?.label)},value:{className:clsx(t.value,t[o],s?.value)}}},children:jsx("dl",{...r,className:clsx(t.list,s?.list),children:m})})}export{y as DetailsList};//# sourceMappingURL=index.js.map
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/details-list/index.tsx"],"names":["label","value","u","ref","props","useContextProps","r","DetailsListContext","c","align","DetailsListStylesDefaults","D","jsx","a","n","DEFAULT_SLOT","m"],"mappings":"yPAuBQ,KAAM,CAAA,IAAA,CAAAA,CAAAA,CAAO,KAAA,CAAAC,CAAM,CAAA,KA+BpB,CAAA,CAAA,CAAA,CAAAC,iBAAA,EAAA,CAAA,SAAuBC,CAAK,CAAA,CAAA,GAAS,CAAqB,CAC/D,CAACC,GAAU,CAAA,CAAIC,CAAAA,CAAgBD,CAAAA,CAAOD,CAAAA,CAAAA,CAAO,CAAAG,eAAA,CAAA,CAAA,CAAMC,CAAkB,EAErE,IAAA,CAAMC,kBACJ,CAAA,CAAA,KAAA,CAAA,QACA,CAAA,CAAA,CAAA,UACA,CAAAC,CAAAA,CAAQC,KAA0B,CAAA,CAAA,CAClCC,yBAAA,CAAA,KACEP,CAEJ,GAAA,CAAA,CAAA,CAAA,CACEQ,CAAAA,OACEC,GAAA,CAAAC,WAAO,CACL,CAAA,KAAO,CACL,CAACC,KAAgB,CACjB,CAAA,CAAAC,YAAA,EAAA,EAAS,CAAA,KAAA,CAAA,CAAA,SAAmB,CAAA,CAAA,CAAA,CAAA,SAAuB,CAAA,CAAO,EAAA,KAAM,CAAC,KACjE,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,KAAA,CAAA,CAAA,SAAmB,CAAA,CAAA,CAAA,CAAA,SAAuB,CAAA,CAAO,EAAA,KAAM,CAAC,KAIrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAC,CAAIH,GAAA,CAAA,IAAS,CAAA,CAAA,GAAA,CAAA,CAAA,SAAkB,CAAA,CAAA,CAAA,CAAA,SAAuB,CAAM,CAAA,EAAA,IAAM,CAAC,KACjE,CAAA,CAAA,CAAA,CAAA,CAAA,QAIT,CAAA,CAAA,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'use client';\n\nimport 'client-only';\nimport {\n DEFAULT_SLOT,\n TextContext,\n useContextProps,\n} from 'react-aria-components';\nimport { DetailsListContext } from './context';\nimport { DetailsListStyles, DetailsListStylesDefaults } from './styles';\nimport type { DetailsListProps } from './types';\n\nconst { list, label, value } = DetailsListStyles();\n\n/**\n * A semantic details list component for displaying metadata in key-value pairs.\n * Uses CSS Grid layout with labels in the first column and values in the second column.\n * Perfect for map object details, user profiles, or any structured information.\n *\n * @example\n * ```tsx\n * <DetailsList align=\"left\">\n * <DetailsListLabel>Key</DetailsListLabel>\n * <DetailsListValue>Value</DetailsListValue>\n *\n * <DetailsListLabel>Ships</DetailsListLabel>\n * <DetailsListValue>Millennium Falcon</DetailsListValue>\n * <DetailsListValue>USS Enterprise NCC-1701</DetailsListValue>\n * <DetailsListValue>Serenity</DetailsListValue>\n *\n * <DetailsListLabel>Coordinates</DetailsListLabel>\n * <DetailsListValue>\n * <div>Great Pyramid of Giza: 29°58'44\" N 31°08'02\" E</div>\n * <div>Machu Picchu: 13°09'47\" S 72°32'41\" W</div>\n * <div>Colosseum: 41°53'24\" N 12°29'32\" E</div>\n * <div>Taj Mahal: 27°10'30\" N 78°02'31\" E</div>\n * </DetailsListValue>\n * </DetailsList>\n * ```\n * ## Child Component Behavior\n * - **DetailsListLabel**: Minimum of 1\n * - **DetailsListValue**: Minimum of 1\n */\nexport function DetailsList({ ref, ...props }: DetailsListProps) {\n [props, ref] = useContextProps(props, ref ?? null, DetailsListContext);\n\n const {\n children,\n classNames,\n align = DetailsListStylesDefaults.align,\n ...rest\n } = props;\n\n return (\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n label: { className: label({ className: classNames?.label, align }) },\n value: { className: value({ className: classNames?.value, align }) },\n },\n }}\n >\n <dl {...rest} className={list({ className: classNames?.list, align })}>\n {children}\n </dl>\n </TextContext>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/details-list/index.tsx"],"names":["ref","props","useContextProps","DetailsListContext","p","a","u","n","e","classNames","rest"],"mappings":"+QAqDO,WAAuBA,CAAAA,GAAK,CAAGC,CAAM,CAAA,GACzCA,EAAOD,CAAG,CAAA,CAAIE,CAAAA,CAAgBD,CAAAA,CAAOD,CAAAA,eAAAA,CAAO,CAAA,CAAA,CAAA,EAAMG,IAEnD,CAAAC,kBAAA,CAAA,CAAM,KAAE,CAAA,QAAU,CAAA,CAAA,CAAA,UAAY,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,SAAmB,CAAA,GAEzD,YAEIC,GAAA,CAAAC,WAAA,CAAA,CAAA,KACE,CAAA,CAAA,KACe,CAAG,CAAC,CAAAC,YACjB,EAAA,EAAA,CAAA,KACE,CAAA,CAAA,SAAuB,CAAAC,IAAA,CAAA,CAAA,CAAA,KAAmB,CAAGC,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,EAAK,KAEhE,CAAA,CAAA,CAAA,KACE,CAAA,CAAA,SAAuB,CAAAD,IAAA,CAAA,CAAA,CAAA,KAAmB,CAAGC,CAAAA,CAAAA,CAAY,KAAK,KAKpE,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAQC,CAAAA,CAAM,GAAA,CAAA,CAAA,SAAuB,CAAAF,IAAA,CAAA,CAAA,CAAMC,IAAY,CAAA,CAAA,EAAI,IACxD,CAAA,CAAA,QAEL,CAEJ,CAAA,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'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport {\n DEFAULT_SLOT,\n TextContext,\n useContextProps,\n} from 'react-aria-components';\nimport { DetailsListContext } from './context';\nimport styles from './styles.module.css';\nimport type { DetailsListProps } from './types';\n\n/**\n * A semantic details list component for displaying metadata in key-value pairs.\n * Uses CSS Grid layout with labels in the first column and values in the second column.\n * Perfect for map object details, user profiles, or any structured information.\n *\n * @example\n * ```tsx\n * <DetailsList align=\"left\">\n * <DetailsListLabel>Key</DetailsListLabel>\n * <DetailsListValue>Value</DetailsListValue>\n *\n * <DetailsListLabel>Ships</DetailsListLabel>\n * <DetailsListValue>Millennium Falcon</DetailsListValue>\n * <DetailsListValue>USS Enterprise NCC-1701</DetailsListValue>\n * <DetailsListValue>Serenity</DetailsListValue>\n *\n * <DetailsListLabel>Coordinates</DetailsListLabel>\n * <DetailsListValue>\n * <div>Great Pyramid of Giza: 29°58'44\" N 31°08'02\" E</div>\n * <div>Machu Picchu: 13°09'47\" S 72°32'41\" W</div>\n * <div>Colosseum: 41°53'24\" N 12°29'32\" E</div>\n * <div>Taj Mahal: 27°10'30\" N 78°02'31\" E</div>\n * </DetailsListValue>\n * </DetailsList>\n * ```\n * ## Child Component Behavior\n * - **DetailsListLabel**: Minimum of 1\n * - **DetailsListValue**: Minimum of 1\n */\nexport function DetailsList({ ref, ...props }: DetailsListProps) {\n [props, ref] = useContextProps(props, ref ?? null, DetailsListContext);\n\n const { children, classNames, align = 'justify', ...rest } = props;\n\n return (\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n label: {\n className: clsx(styles.label, styles[align], classNames?.label),\n },\n value: {\n className: clsx(styles.value, styles[align], classNames?.value),\n },\n },\n }}\n >\n <dl {...rest} className={clsx(styles.list, classNames?.list)}>\n {children}\n </dl>\n </TextContext>\n );\n}\n"]}
@@ -2,8 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DetailsListLabelProps } from './types.js';
3
3
  import 'react';
4
4
  import 'react-aria-components';
5
- import 'tailwind-variants';
6
- import './styles.js';
7
5
 
8
6
  declare function DetailsListLabel(props: DetailsListLabelProps): react_jsx_runtime.JSX.Element;
9
7
 
@@ -0,0 +1,52 @@
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
+ .list {
17
+ @apply gap-x-m font-display text-body-m grid;
18
+ grid-template-columns: auto 1fr;
19
+ }
20
+
21
+ .label {
22
+ @apply fg-primary-muted col-start-1;
23
+
24
+ &.left {
25
+ @apply text-left;
26
+ }
27
+
28
+ &.center {
29
+ @apply text-right;
30
+ }
31
+
32
+ &.justify {
33
+ @apply text-left;
34
+ }
35
+ }
36
+
37
+ .value {
38
+ @apply fg-primary-bold col-start-2;
39
+
40
+ &.left {
41
+ @apply text-left;
42
+ }
43
+
44
+ &.center {
45
+ @apply text-left;
46
+ }
47
+
48
+ &.justify {
49
+ @apply text-right;
50
+ }
51
+ }
52
+ }
@@ -1,14 +1,13 @@
1
1
  import { ComponentPropsWithRef, RefAttributes } from 'react';
2
2
  import { TextProps } from 'react-aria-components';
3
- import { VariantProps } from 'tailwind-variants';
4
- import { DetailsListStyles } from './styles.js';
5
3
 
6
- type DetailsListProps = Omit<ComponentPropsWithRef<'dl'>, 'className'> & VariantProps<typeof DetailsListStyles> & {
4
+ type DetailsListProps = Omit<ComponentPropsWithRef<'dl'>, 'className'> & {
7
5
  classNames?: {
8
6
  list?: string;
9
7
  label?: string;
10
8
  value?: string;
11
9
  };
10
+ align?: 'center' | 'justify' | 'left';
12
11
  };
13
12
  type DetailsListLabelProps = Omit<TextProps, 'elementType'> & RefAttributes<HTMLElement>;
14
13
  type DetailsListValueProps = Omit<TextProps, 'elementType'> & RefAttributes<HTMLElement>;
@@ -2,8 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { DetailsListValueProps } from './types.js';
3
3
  import 'react';
4
4
  import 'react-aria-components';
5
- import 'tailwind-variants';
6
- import './styles.js';
7
5
 
8
6
  declare function DetailsListValue(props: DetailsListValueProps): react_jsx_runtime.JSX.Element;
9
7
 
@@ -1,2 +1,4 @@
1
- import {jsx}from'react/jsx-runtime';import'client-only';import {DialogStyles}from'./styles.js';const{content:e}=DialogStyles();function m({children:o,className:t}){return jsx("div",{className:e({className:t}),children:o})}export{m as DialogContent};//# sourceMappingURL=content.js.map
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 s({children:o,className:t}){return jsx("div",{className:clsx(r.content,t),children:o})}export{s as DialogContent};//# sourceMappingURL=content.js.map
2
4
  //# sourceMappingURL=content.js.map