@kismet-ux/constellation 1.8.0 → 1.11.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 (414) hide show
  1. package/README.md +36 -0
  2. package/dist/brand/Logo/logo.css +4 -1
  3. package/dist/form/Checkbox/checkbox.css +48 -34
  4. package/dist/form/Checkbox/checkbox.d.ts +5 -0
  5. package/dist/form/Checkbox/checkbox.d.ts.map +1 -1
  6. package/dist/form/Checkbox/checkbox.js +6 -55
  7. package/dist/form/Checkbox/checkbox.js.map +1 -1
  8. package/dist/form/Checkbox/checkbox.module.scss.js +1 -1
  9. package/dist/form/Combobox/combobox.css +35 -0
  10. package/dist/form/Combobox/combobox.d.ts +41 -0
  11. package/dist/form/Combobox/combobox.d.ts.map +1 -0
  12. package/dist/form/Combobox/combobox.js +152 -0
  13. package/dist/form/Combobox/combobox.js.map +1 -0
  14. package/dist/form/Combobox/combobox.module.scss.js +6 -0
  15. package/dist/form/Combobox/combobox.module.scss.js.map +1 -0
  16. package/dist/form/Combobox/index.d.ts +2 -0
  17. package/dist/form/Combobox/index.d.ts.map +1 -0
  18. package/dist/form/DatePicker/date-picker.d.ts.map +1 -1
  19. package/dist/form/DatePicker/date-picker.js +5 -53
  20. package/dist/form/DatePicker/date-picker.js.map +1 -1
  21. package/dist/form/Input/input.css +12 -0
  22. package/dist/form/Input/input.d.ts.map +1 -1
  23. package/dist/form/Input/input.js +23 -3
  24. package/dist/form/Input/input.js.map +1 -1
  25. package/dist/form/Select/select.css +54 -1
  26. package/dist/form/Select/select.d.ts +41 -3
  27. package/dist/form/Select/select.d.ts.map +1 -1
  28. package/dist/form/Select/select.js +43 -21
  29. package/dist/form/Select/select.js.map +1 -1
  30. package/dist/form/Select/select.module.scss.js +2 -2
  31. package/dist/form/index.d.ts +1 -0
  32. package/dist/form/index.d.ts.map +1 -1
  33. package/dist/form.d.ts +1 -1
  34. package/dist/form.js +2 -1
  35. package/dist/form.js.map +1 -1
  36. package/dist/hooks/index.d.ts +1 -0
  37. package/dist/hooks/index.d.ts.map +1 -1
  38. package/dist/hooks/layout/index.d.ts +1 -0
  39. package/dist/hooks/layout/index.d.ts.map +1 -1
  40. package/dist/hooks/layout/use-flip.d.ts +37 -0
  41. package/dist/hooks/layout/use-flip.d.ts.map +1 -0
  42. package/dist/hooks/layout/use-flip.js +128 -0
  43. package/dist/hooks/layout/use-flip.js.map +1 -0
  44. package/dist/hooks/use-motion.d.ts +30 -0
  45. package/dist/hooks/use-motion.d.ts.map +1 -0
  46. package/dist/hooks/use-motion.js +93 -0
  47. package/dist/hooks/use-motion.js.map +1 -0
  48. package/dist/index-2nHZOukj.d.ts +200 -0
  49. package/dist/index-3Ui8TAHy.d.ts +200 -0
  50. package/dist/index-59JuNTZm.d.ts +537 -0
  51. package/dist/index-5QXWn0de.d.ts +200 -0
  52. package/dist/index-98ozinMf.d.ts +498 -0
  53. package/dist/index-Ah3YQTri.d.ts +566 -0
  54. package/dist/index-As2iBOIu.d.ts +527 -0
  55. package/dist/index-B1Vw0zoR.d.ts +566 -0
  56. package/dist/index-B25sLBMr.d.ts +498 -0
  57. package/dist/index-B4B8aA9X.d.ts +272 -0
  58. package/dist/index-B97hn7Xp.d.ts +514 -0
  59. package/dist/{index-BSSQnlm_.d.ts → index-B9B7JjTb.d.ts} +3 -1
  60. package/dist/index-BFWt_pYt.d.ts +566 -0
  61. package/dist/index-BFZp_Pu6.d.ts +566 -0
  62. package/dist/index-BGL4DvKQ.d.ts +293 -0
  63. package/dist/index-BGP_J4I2.d.ts +498 -0
  64. package/dist/index-BHhoIUD_.d.ts +354 -0
  65. package/dist/index-BI0iaWmp.d.ts +222 -0
  66. package/dist/index-BMSRpHb6.d.ts +273 -0
  67. package/dist/index-BRQWKmfq.d.ts +566 -0
  68. package/dist/index-BTARYt96.d.ts +537 -0
  69. package/dist/index-BTrpuZdU.d.ts +566 -0
  70. package/dist/index-BWTwKQsp.d.ts +354 -0
  71. package/dist/index-B_05Skyi.d.ts +566 -0
  72. package/dist/index-BcQqBGNu.d.ts +200 -0
  73. package/dist/index-Be23E9xD.d.ts +298 -0
  74. package/dist/index-Bf44Z8ak.d.ts +514 -0
  75. package/dist/index-Bg42sKjg.d.ts +498 -0
  76. package/dist/index-Bg_0OPMx.d.ts +566 -0
  77. package/dist/index-BgjRk9l7.d.ts +537 -0
  78. package/dist/index-BhLEMn3N.d.ts +537 -0
  79. package/dist/index-BiqECuUj.d.ts +204 -0
  80. package/dist/index-BjUQiAs1.d.ts +130 -0
  81. package/dist/index-BlKqvax0.d.ts +204 -0
  82. package/dist/index-Bnb0JFqx.d.ts +514 -0
  83. package/dist/index-BpSD6t7A.d.ts +566 -0
  84. package/dist/index-BpxKwrv_.d.ts +537 -0
  85. package/dist/index-Brh7JZAQ.d.ts +514 -0
  86. package/dist/index-C-n7hM4G.d.ts +354 -0
  87. package/dist/index-C0wKb28S.d.ts +514 -0
  88. package/dist/index-C129uthr.d.ts +566 -0
  89. package/dist/index-C1ef0QtQ.d.ts +204 -0
  90. package/dist/index-C4BACHGE.d.ts +272 -0
  91. package/dist/index-C5JU8WTE.d.ts +514 -0
  92. package/dist/index-C63UYi-T.d.ts +195 -0
  93. package/dist/index-C8LoYkC7.d.ts +250 -0
  94. package/dist/index-C9-ECLyr.d.ts +566 -0
  95. package/dist/index-C9B1F-mr.d.ts +293 -0
  96. package/dist/index-CAVmbwa8.d.ts +514 -0
  97. package/dist/index-CBz-v5eM.d.ts +184 -0
  98. package/dist/index-CCpdo0n4.d.ts +130 -0
  99. package/dist/index-CDC_ZncW.d.ts +566 -0
  100. package/dist/index-CFQj-KtR.d.ts +184 -0
  101. package/dist/index-CFaxW5hv.d.ts +184 -0
  102. package/dist/index-CG9DKbG9.d.ts +498 -0
  103. package/dist/index-CGhG7YeI.d.ts +354 -0
  104. package/dist/index-CHC6kRbR.d.ts +537 -0
  105. package/dist/index-CH_q-5fk.d.ts +537 -0
  106. package/dist/index-CIK_SmBm.d.ts +200 -0
  107. package/dist/index-CJ1KPFOf.d.ts +537 -0
  108. package/dist/index-CJ5FEGRG.d.ts +537 -0
  109. package/dist/index-CKX2VNKk.d.ts +240 -0
  110. package/dist/index-CL7kYZ90.d.ts +231 -0
  111. package/dist/index-CNl03fCW.d.ts +498 -0
  112. package/dist/index-CO8Jq0pz.d.ts +298 -0
  113. package/dist/index-CQ-aS-rp.d.ts +566 -0
  114. package/dist/index-CQjzBv4q.d.ts +537 -0
  115. package/dist/index-CRVO4SlF.d.ts +537 -0
  116. package/dist/{index-ibcvWtdH.d.ts → index-CRrCqjAW.d.ts} +11 -1
  117. package/dist/index-CSQFy2xe.d.ts +195 -0
  118. package/dist/index-CWM2ewRz.d.ts +566 -0
  119. package/dist/index-CY6Xq36O.d.ts +204 -0
  120. package/dist/index-CYGOs6JT.d.ts +273 -0
  121. package/dist/index-CYPFkjfk.d.ts +204 -0
  122. package/dist/index-C_hJJ1fH.d.ts +527 -0
  123. package/dist/index-CcM-XHTL.d.ts +273 -0
  124. package/dist/index-CdGF_eEO.d.ts +514 -0
  125. package/dist/index-CdJTE9Lh.d.ts +566 -0
  126. package/dist/index-CdOt-pqR.d.ts +537 -0
  127. package/dist/index-CgeR_2Gi.d.ts +220 -0
  128. package/dist/index-CjUoZbDi.d.ts +354 -0
  129. package/dist/index-CjV6KsFc.d.ts +263 -0
  130. package/dist/index-Ck8LtgBW.d.ts +557 -0
  131. package/dist/index-Cknm9FUU.d.ts +299 -0
  132. package/dist/index-Clv3CnXv.d.ts +184 -0
  133. package/dist/index-Cm4wnJ29.d.ts +514 -0
  134. package/dist/index-Cmz3q-CI.d.ts +273 -0
  135. package/dist/index-CnMBzCft.d.ts +514 -0
  136. package/dist/index-CnVW0FnZ.d.ts +272 -0
  137. package/dist/index-CpIHT-uo.d.ts +231 -0
  138. package/dist/index-CtBEDM0b.d.ts +514 -0
  139. package/dist/index-CtVSiQeY.d.ts +130 -0
  140. package/dist/index-Cu107rOs.d.ts +293 -0
  141. package/dist/index-CxyTd3Ag.d.ts +354 -0
  142. package/dist/index-CywSNvOU.d.ts +200 -0
  143. package/dist/index-CzJL7Lro.d.ts +566 -0
  144. package/dist/index-CzJnKY3r.d.ts +272 -0
  145. package/dist/index-D-R9eOxe.d.ts +354 -0
  146. package/dist/index-D-hdgIbs.d.ts +273 -0
  147. package/dist/index-D-slQ9w4.d.ts +537 -0
  148. package/dist/index-D0jdNDaH.d.ts +204 -0
  149. package/dist/index-D1ir--Li.d.ts +566 -0
  150. package/dist/index-D29_-MCZ.d.ts +354 -0
  151. package/dist/index-D2glATpo.d.ts +273 -0
  152. package/dist/index-D6ATtbor.d.ts +298 -0
  153. package/dist/index-D6HktSlo.d.ts +514 -0
  154. package/dist/index-DB4UBCvy.d.ts +537 -0
  155. package/dist/index-DBd0PU9y.d.ts +222 -0
  156. package/dist/index-DE2Nm-iT.d.ts +354 -0
  157. package/dist/index-DEeJuuvm.d.ts +231 -0
  158. package/dist/index-DHhzBSfL.d.ts +498 -0
  159. package/dist/index-DKpWNCb6.d.ts +204 -0
  160. package/dist/index-DMewi97i.d.ts +566 -0
  161. package/dist/index-DN0gtpck.d.ts +354 -0
  162. package/dist/index-DO23vZ-R.d.ts +514 -0
  163. package/dist/index-DTb2-z6E.d.ts +130 -0
  164. package/dist/index-DV-CN7c0.d.ts +231 -0
  165. package/dist/index-DWgCs62z.d.ts +566 -0
  166. package/dist/index-D_6Qu6ia.d.ts +200 -0
  167. package/dist/index-D_vn8O-I.d.ts +293 -0
  168. package/dist/index-Daq4m4Rf.d.ts +514 -0
  169. package/dist/index-Db6cXpr6.d.ts +537 -0
  170. package/dist/index-DbZ1s2E-.d.ts +514 -0
  171. package/dist/index-DbevJPuY.d.ts +354 -0
  172. package/dist/index-DepmPwP7.d.ts +537 -0
  173. package/dist/index-DfnTWQCz.d.ts +514 -0
  174. package/dist/index-Dfu8WhiS.d.ts +273 -0
  175. package/dist/index-DggMYd7c.d.ts +298 -0
  176. package/dist/index-DhS2nQjt.d.ts +200 -0
  177. package/dist/index-Dn3bC8Ki.d.ts +222 -0
  178. package/dist/index-Dn9bGZvU.d.ts +195 -0
  179. package/dist/index-DnDt7A4Y.d.ts +354 -0
  180. package/dist/index-DpdYKBP2.d.ts +498 -0
  181. package/dist/index-DunP9qIK.d.ts +537 -0
  182. package/dist/index-DxO6-qt5.d.ts +498 -0
  183. package/dist/index-ESQ8WM_8.d.ts +130 -0
  184. package/dist/index-GVz409cm.d.ts +222 -0
  185. package/dist/index-HAx-aLZ0.d.ts +273 -0
  186. package/dist/{index-CkQ6wNCc.d.ts → index-Iuzs6nt9.d.ts} +3 -3
  187. package/dist/index-LnEpnlTq.d.ts +566 -0
  188. package/dist/index-Mihuyg_o.d.ts +204 -0
  189. package/dist/index-Mm1i2OdU.d.ts +537 -0
  190. package/dist/index-P0oxVi77.d.ts +537 -0
  191. package/dist/index-Q5JuPFoN.d.ts +293 -0
  192. package/dist/index-RJviLtvo.d.ts +566 -0
  193. package/dist/index-SnQCbfte.d.ts +498 -0
  194. package/dist/index-Th9It0ZT.d.ts +354 -0
  195. package/dist/index-UHHmyQM5.d.ts +272 -0
  196. package/dist/index-VyGmJYQZ.d.ts +537 -0
  197. package/dist/index-WYH70le_.d.ts +195 -0
  198. package/dist/index-Wj9RYtTX.d.ts +273 -0
  199. package/dist/index-Y-wMZeUG.d.ts +298 -0
  200. package/dist/index-ZgohDspB.d.ts +498 -0
  201. package/dist/index-Zo2rSdXz.d.ts +273 -0
  202. package/dist/index-ZwpWgV4n.d.ts +272 -0
  203. package/dist/index-_oZ4knIl.d.ts +272 -0
  204. package/dist/index-an222nAK.d.ts +354 -0
  205. package/dist/index-daV0QTe0.d.ts +537 -0
  206. package/dist/index-eGZu2HLC.d.ts +231 -0
  207. package/dist/index-eswPA0Un.d.ts +204 -0
  208. package/dist/index-gf6-wf_1.d.ts +566 -0
  209. package/dist/index-hdVr9Wrv.d.ts +566 -0
  210. package/dist/index-iygiXYw2.d.ts +537 -0
  211. package/dist/index-jR29ZGLD.d.ts +514 -0
  212. package/dist/index-kHgI28TP.d.ts +272 -0
  213. package/dist/index-lY4_UCOs.d.ts +566 -0
  214. package/dist/index-miXK87yJ.d.ts +231 -0
  215. package/dist/index-mwbGtZkk.d.ts +273 -0
  216. package/dist/index-ru2DFXcm.d.ts +195 -0
  217. package/dist/index-uj1ll_u-.d.ts +204 -0
  218. package/dist/index-vfq-aH7U.d.ts +537 -0
  219. package/dist/index-xqUz9XjP.d.ts +537 -0
  220. package/dist/index.css +74 -18
  221. package/dist/index.d.ts +78 -12
  222. package/dist/index.js +34 -28
  223. package/dist/index.js.map +1 -1
  224. package/dist/internal/use-scroll-lock.d.ts +15 -0
  225. package/dist/internal/use-scroll-lock.d.ts.map +1 -1
  226. package/dist/internal/use-scroll-lock.js +26 -8
  227. package/dist/internal/use-scroll-lock.js.map +1 -1
  228. package/dist/layout/AppContent/app-content.css +1 -1
  229. package/dist/layout/AppContentBands/app-content-bands.css +21 -0
  230. package/dist/layout/AppContentBands/app-content-bands.d.ts +26 -0
  231. package/dist/layout/AppContentBands/app-content-bands.d.ts.map +1 -0
  232. package/dist/layout/AppContentBands/app-content-bands.js +65 -0
  233. package/dist/layout/AppContentBands/app-content-bands.js.map +1 -0
  234. package/dist/layout/AppContentBands/app-content-bands.module.scss.js +6 -0
  235. package/dist/layout/AppContentBands/app-content-bands.module.scss.js.map +1 -0
  236. package/dist/layout/AppContentBands/index.d.ts +2 -0
  237. package/dist/layout/AppContentBands/index.d.ts.map +1 -0
  238. package/dist/layout/AppContentFooter/app-content-footer.css +9 -0
  239. package/dist/layout/AppContentFooter/app-content-footer.d.ts +38 -0
  240. package/dist/layout/AppContentFooter/app-content-footer.d.ts.map +1 -0
  241. package/dist/layout/AppContentFooter/app-content-footer.js +42 -0
  242. package/dist/layout/AppContentFooter/app-content-footer.js.map +1 -0
  243. package/dist/layout/AppContentFooter/app-content-footer.module.scss.js +6 -0
  244. package/dist/layout/AppContentFooter/app-content-footer.module.scss.js.map +1 -0
  245. package/dist/layout/AppContentFooter/index.d.ts +2 -0
  246. package/dist/layout/AppContentFooter/index.d.ts.map +1 -0
  247. package/dist/layout/AppContentMain/app-content-main.css +6 -0
  248. package/dist/layout/AppContentMain/app-content-main.d.ts +37 -0
  249. package/dist/layout/AppContentMain/app-content-main.d.ts.map +1 -0
  250. package/dist/layout/AppContentMain/app-content-main.js +41 -0
  251. package/dist/layout/AppContentMain/app-content-main.js.map +1 -0
  252. package/dist/layout/AppContentMain/app-content-main.module.scss.js +6 -0
  253. package/dist/layout/AppContentMain/app-content-main.module.scss.js.map +1 -0
  254. package/dist/layout/AppContentMain/index.d.ts +2 -0
  255. package/dist/layout/AppContentMain/index.d.ts.map +1 -0
  256. package/dist/layout/AppFooter/app-footer.js +1 -1
  257. package/dist/layout/AppSidebar/app-sidebar.js +1 -1
  258. package/dist/layout/AppSidebarHeader/app-sidebar-header.css +2 -3
  259. package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts +10 -2
  260. package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts.map +1 -1
  261. package/dist/layout/AppSidebarHeader/app-sidebar-header.js +12 -32
  262. package/dist/layout/AppSidebarHeader/app-sidebar-header.js.map +1 -1
  263. package/dist/layout/Collapse/collapse.css +4 -1
  264. package/dist/layout/Column/column.css +6 -0
  265. package/dist/layout/Column/column.d.ts.map +1 -1
  266. package/dist/layout/Column/column.js +3 -1
  267. package/dist/layout/Column/column.js.map +1 -1
  268. package/dist/layout/Column/column.module.scss.js +1 -1
  269. package/dist/layout/Container/container.css +43 -1
  270. package/dist/layout/Container/container.d.ts.map +1 -1
  271. package/dist/layout/Container/container.js +38 -7
  272. package/dist/layout/Container/container.js.map +1 -1
  273. package/dist/layout/Container/container.module.scss.js +1 -1
  274. package/dist/layout/Grid/grid.css +28 -0
  275. package/dist/layout/Grid/grid.d.ts.map +1 -1
  276. package/dist/layout/Grid/grid.js +40 -4
  277. package/dist/layout/Grid/grid.js.map +1 -1
  278. package/dist/layout/Grid/grid.module.scss.js +1 -1
  279. package/dist/layout/Row/row.css +42 -0
  280. package/dist/layout/Row/row.d.ts.map +1 -1
  281. package/dist/layout/Row/row.js +5 -3
  282. package/dist/layout/Row/row.js.map +1 -1
  283. package/dist/layout/Row/row.module.scss.js +1 -1
  284. package/dist/layout/Sidebar/sidebar.css +4 -2
  285. package/dist/layout/Sidebar/sidebar.d.ts.map +1 -1
  286. package/dist/layout/Sidebar/sidebar.js +1 -1
  287. package/dist/layout/Sidebar/sidebar.js.map +1 -1
  288. package/dist/layout/index.d.ts +2 -0
  289. package/dist/layout/index.d.ts.map +1 -1
  290. package/dist/layout.d.ts +3 -3
  291. package/dist/layout.js +2 -0
  292. package/dist/layout.js.map +1 -1
  293. package/dist/navigation/DropdownMenu/dropdown-menu.d.ts.map +1 -1
  294. package/dist/navigation/DropdownMenu/dropdown-menu.js +1 -1
  295. package/dist/navigation/DropdownMenu/dropdown-menu.js.map +1 -1
  296. package/dist/navigation/NavUser/nav-user.js +2 -2
  297. package/dist/navigation/Sheet/sheet.css +40 -6
  298. package/dist/navigation/Sheet/sheet.d.ts +22 -0
  299. package/dist/navigation/Sheet/sheet.d.ts.map +1 -1
  300. package/dist/navigation/Sheet/sheet.js +5 -30
  301. package/dist/navigation/Sheet/sheet.js.map +1 -1
  302. package/dist/navigation/Sheet/sheet.module.scss.js +1 -1
  303. package/dist/navigation.d.ts +22 -0
  304. package/dist/row-CuhTBQhK.d.ts +21 -0
  305. package/dist/settings/AppearanceDropdown/appearance-dropdown.js +1 -1
  306. package/dist/settings/AppearanceTabs/appearance-tabs.js +2 -27
  307. package/dist/settings/AppearanceTabs/appearance-tabs.js.map +1 -1
  308. package/dist/tokens.css +59 -17
  309. package/dist/tooltip-1qYeAGE9.d.ts +45 -0
  310. package/dist/tooltip-3IOkYFQ-.d.ts +45 -0
  311. package/dist/tooltip-540OmbEG.d.ts +46 -0
  312. package/dist/tooltip-91Nq_Hl8.d.ts +46 -0
  313. package/dist/tooltip-B56sWYK0.d.ts +46 -0
  314. package/dist/tooltip-BIrIF-4z.d.ts +45 -0
  315. package/dist/tooltip-BOipKW5l.d.ts +46 -0
  316. package/dist/tooltip-BPC0RH8i.d.ts +46 -0
  317. package/dist/tooltip-BST1BOCn.d.ts +45 -0
  318. package/dist/tooltip-BhuxNQwX.d.ts +45 -0
  319. package/dist/tooltip-BpAJwi3K.d.ts +46 -0
  320. package/dist/tooltip-C0LBu2Iu.d.ts +45 -0
  321. package/dist/tooltip-C1ZwALiG.d.ts +45 -0
  322. package/dist/tooltip-C55-HA0w.d.ts +45 -0
  323. package/dist/tooltip-CHn6WuDv.d.ts +46 -0
  324. package/dist/tooltip-CNjH7zKO.d.ts +45 -0
  325. package/dist/tooltip-CSBby1OT.d.ts +45 -0
  326. package/dist/tooltip-CXFRzR0L.d.ts +45 -0
  327. package/dist/tooltip-ChpsbkOU.d.ts +46 -0
  328. package/dist/tooltip-CspTy2ZW.d.ts +46 -0
  329. package/dist/tooltip-CvComAZD.d.ts +46 -0
  330. package/dist/tooltip-D19vhhRn.d.ts +45 -0
  331. package/dist/tooltip-D32S1g-7.d.ts +46 -0
  332. package/dist/tooltip-DAvBN683.d.ts +45 -0
  333. package/dist/tooltip-DQz4_i4m.d.ts +45 -0
  334. package/dist/tooltip-DVYPUAb1.d.ts +46 -0
  335. package/dist/tooltip-DXoSckt9.d.ts +46 -0
  336. package/dist/tooltip-Dtoq3bn_.d.ts +46 -0
  337. package/dist/tooltip-DxO_DWMO.d.ts +46 -0
  338. package/dist/tooltip-DxdGb3dX.d.ts +45 -0
  339. package/dist/tooltip-DzAzC0d7.d.ts +45 -0
  340. package/dist/tooltip-Lk4RpuSh.d.ts +45 -0
  341. package/dist/tooltip-ReFyHDhU.d.ts +45 -0
  342. package/dist/tooltip-_wdlSYAb.d.ts +46 -0
  343. package/dist/{tooltip-XagXjWLB.d.ts → tooltip-cjwkBINy.d.ts} +4 -0
  344. package/dist/tooltip-nKcM19C9.d.ts +45 -0
  345. package/dist/types/layout/container.d.ts +30 -1
  346. package/dist/types/layout/container.d.ts.map +1 -1
  347. package/dist/types/layout/grid.d.ts +42 -0
  348. package/dist/types/layout/grid.d.ts.map +1 -1
  349. package/dist/types/layout/row.d.ts +7 -0
  350. package/dist/types/layout/row.d.ts.map +1 -1
  351. package/dist/typography/Typography/typography-variants.d.ts +3 -0
  352. package/dist/typography/Typography/typography-variants.d.ts.map +1 -1
  353. package/dist/typography/Typography/typography-variants.js +25 -0
  354. package/dist/typography/Typography/typography-variants.js.map +1 -1
  355. package/dist/typography/Typography/typography.css +105 -41
  356. package/dist/typography/Typography/typography.d.ts +20 -0
  357. package/dist/typography/Typography/typography.d.ts.map +1 -1
  358. package/dist/typography/Typography/typography.js +11 -2
  359. package/dist/typography/Typography/typography.js.map +1 -1
  360. package/dist/typography/Typography/typography.module.scss.js +1 -1
  361. package/dist/typography-CTGVc_Gg.d.ts +41 -0
  362. package/dist/typography.d.ts +2 -2
  363. package/dist/ui/Alert/alert-provider.d.ts.map +1 -1
  364. package/dist/ui/Alert/alert-provider.js +1 -1
  365. package/dist/ui/Alert/alert-provider.js.map +1 -1
  366. package/dist/ui/Button/button-variants.d.ts +1 -0
  367. package/dist/ui/Button/button-variants.d.ts.map +1 -1
  368. package/dist/ui/Button/button-variants.js +3 -0
  369. package/dist/ui/Button/button-variants.js.map +1 -1
  370. package/dist/ui/Button/button.css +146 -77
  371. package/dist/ui/Button/button.d.ts +4 -0
  372. package/dist/ui/Button/button.d.ts.map +1 -1
  373. package/dist/ui/Button/button.js +8 -2
  374. package/dist/ui/Button/button.js.map +1 -1
  375. package/dist/ui/Button/button.module.scss.js +1 -1
  376. package/dist/ui/Chip/chip.css +32 -11
  377. package/dist/ui/Chip/chip.d.ts +16 -0
  378. package/dist/ui/Chip/chip.d.ts.map +1 -1
  379. package/dist/ui/Chip/chip.js +4 -2
  380. package/dist/ui/Chip/chip.js.map +1 -1
  381. package/dist/ui/CodeBlock/code-block.css +8 -3
  382. package/dist/ui/Dialog/dialog.css +70 -0
  383. package/dist/ui/Dialog/dialog.d.ts +45 -2
  384. package/dist/ui/Dialog/dialog.d.ts.map +1 -1
  385. package/dist/ui/Dialog/dialog.js +256 -7
  386. package/dist/ui/Dialog/dialog.js.map +1 -1
  387. package/dist/ui/Dialog/dialog.module.scss.js +1 -1
  388. package/dist/ui/Icon/icon.css +14 -7
  389. package/dist/ui/ProgressBar/progress-bar.css +10 -3
  390. package/dist/ui/StatCard/stat-card.css +13 -0
  391. package/dist/ui/StatCard/stat-card.d.ts +9 -0
  392. package/dist/ui/StatCard/stat-card.d.ts.map +1 -1
  393. package/dist/ui/StatCard/stat-card.js +2 -2
  394. package/dist/ui/StatCard/stat-card.js.map +1 -1
  395. package/dist/ui/StatusDot/status-dot.css +4 -1
  396. package/dist/ui/StepProgress/step-progress.css +12 -4
  397. package/dist/ui/Switch/switch.css +6 -2
  398. package/dist/ui/Tooltip/tooltip.d.ts.map +1 -1
  399. package/dist/ui/Tooltip/tooltip.js +1 -1
  400. package/dist/ui/Tooltip/tooltip.js.map +1 -1
  401. package/dist/ui.d.ts +3 -3
  402. package/dist/user/UserInfo/user-info.js +1 -1
  403. package/dist/utils/index.d.ts +1 -0
  404. package/dist/utils/index.d.ts.map +1 -1
  405. package/dist/utils/portal.d.ts +34 -0
  406. package/dist/utils/portal.d.ts.map +1 -0
  407. package/dist/utils/portal.js +40 -0
  408. package/dist/utils/portal.js.map +1 -0
  409. package/dist/utils.d.ts +35 -1
  410. package/dist/utils.js +1 -0
  411. package/dist/utils.js.map +1 -1
  412. package/package.json +3 -2
  413. package/src/styles/_mixins.scss +30 -0
  414. package/vite-plugin.mjs +7 -2
@@ -0,0 +1,128 @@
1
+ import * as React from 'react';
2
+ import { prefersReducedMotion } from '../use-motion.js';
3
+
4
+ /**
5
+ * FLIP-animate the direct children of a container so they never teleport.
6
+ *
7
+ * Layout is instantaneous by default: a card that reflows into a new column
8
+ * when the window narrows, or that is pushed down because a sibling expanded,
9
+ * simply IS somewhere else on the next frame. The eye reads that as a glitch
10
+ * rather than as movement, and in a masonry — where one change can restack a
11
+ * whole column — it is disorienting.
12
+ *
13
+ * FLIP is the standard answer: measure where things were (First), let the
14
+ * browser lay them out (Last), transform them back to where they came from
15
+ * (Invert), then release the transform (Play). Only `transform` is animated,
16
+ * so it runs on the compositor and does not re-lay-out anything per frame.
17
+ *
18
+ * Positions are read in a layout effect after every commit, which is why this
19
+ * catches expansion, insertion, removal and re-ordering without being told
20
+ * about them; a ResizeObserver covers the reflows that no render accompanies,
21
+ * such as the window being dragged wider.
22
+ *
23
+ * Honours the app's motion preference (`useMotion`), which defaults to
24
+ * `prefers-reduced-motion` but can be overridden — someone who has asked for
25
+ * less movement gets the instant layout, and someone whose OS says so but who
26
+ * wants it anyway can have it.
27
+ */
28
+ function useFlip(ref, { duration = 280, easing = 'cubic-bezier(0.2, 0.8, 0.3, 1)', animateEntry = true, enabled = true, } = {}) {
29
+ const previous = React.useRef(new Map());
30
+ const running = React.useRef(new Map());
31
+ /*
32
+ * Positions come from `offsetLeft`/`offsetTop`, not from
33
+ * `getBoundingClientRect()`, and both reasons matter.
34
+ *
35
+ * A client rect is viewport-relative, so a page that has scrolled between
36
+ * two measurements makes every child look like it moved by the scroll delta
37
+ * — FLIP then animates the whole list back through a journey it never took.
38
+ *
39
+ * Worse, a client rect INCLUDES any transform currently applied. Measuring
40
+ * while this hook's own animations are still in flight records the
41
+ * transformed position as the next baseline, so the following commit sees a
42
+ * move that never happened and animates again — a loop that shudders the
43
+ * grid on every render and animates nothing real. Proven by comparing
44
+ * `offsetTop` across an open: identical, while nine sections were animating.
45
+ *
46
+ * Offsets are layout positions. They ignore transforms and they ignore
47
+ * scrolling, which is exactly the question being asked.
48
+ */
49
+ const measure = React.useCallback(() => {
50
+ const map = new Map();
51
+ const el = ref.current;
52
+ if (!el)
53
+ return map;
54
+ for (const child of Array.from(el.children)) {
55
+ map.set(child, { left: child.offsetLeft, top: child.offsetTop });
56
+ }
57
+ return map;
58
+ }, [ref]);
59
+ const play = React.useCallback(() => {
60
+ const el = ref.current;
61
+ if (!el)
62
+ return;
63
+ if (!enabled || prefersReducedMotion()) {
64
+ previous.current = measure();
65
+ return;
66
+ }
67
+ const before = previous.current;
68
+ for (const child of Array.from(el.children)) {
69
+ const last = { left: child.offsetLeft, top: child.offsetTop };
70
+ const first = before.get(child);
71
+ if (!first) {
72
+ if (!animateEntry)
73
+ continue;
74
+ /*
75
+ * Something that has just appeared has no previous place to come
76
+ * from, so it arrives instead of travelling: a short fade and a
77
+ * fractional scale, which reads as "this is new" without the lurch
78
+ * of sliding in from an arbitrary direction.
79
+ */
80
+ running.current.get(child)?.cancel();
81
+ running.current.set(child, child.animate([
82
+ { opacity: 0, transform: 'scale(0.97)' },
83
+ { opacity: 1, transform: 'none' },
84
+ ], { duration: duration * 0.7, easing, fill: 'none' }));
85
+ continue;
86
+ }
87
+ const dx = first.left - last.left;
88
+ const dy = first.top - last.top;
89
+ // Sub-pixel drift is not movement; animating it costs frames and shows
90
+ // nothing.
91
+ if (Math.abs(dx) < 1 && Math.abs(dy) < 1)
92
+ continue;
93
+ // Cancel rather than stack: a child caught mid-travel should re-aim from
94
+ // where it is now, not queue a second journey.
95
+ running.current.get(child)?.cancel();
96
+ running.current.set(child, child.animate([{ transform: `translate(${dx}px, ${dy}px)` }, { transform: 'none' }], {
97
+ duration,
98
+ easing,
99
+ fill: 'none',
100
+ }));
101
+ }
102
+ previous.current = measure();
103
+ }, [ref, measure, duration, easing, animateEntry, enabled]);
104
+ // After every commit: catches expansion, insertion, removal, re-ordering.
105
+ React.useLayoutEffect(() => {
106
+ play();
107
+ });
108
+ // And the reflows no render accompanies — the window being dragged wider.
109
+ React.useEffect(() => {
110
+ const el = ref.current;
111
+ if (!el || typeof ResizeObserver === 'undefined')
112
+ return undefined;
113
+ const observer = new ResizeObserver(() => play());
114
+ observer.observe(el);
115
+ return () => observer.disconnect();
116
+ }, [ref, play]);
117
+ React.useEffect(() => {
118
+ const inFlight = running.current;
119
+ return () => {
120
+ for (const animation of inFlight.values())
121
+ animation.cancel();
122
+ inFlight.clear();
123
+ };
124
+ }, []);
125
+ }
126
+
127
+ export { useFlip };
128
+ //# sourceMappingURL=use-flip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-flip.js","sources":["../../../src/hooks/layout/use-flip.ts"],"sourcesContent":["import * as React from 'react';\nimport { prefersReducedMotion } from '../use-motion';\n\nexport interface UseFlipOptions {\n /** Milliseconds for a child to travel to its new place. */\n duration?: number;\n /** Easing for that travel. Defaults to the theme's standard curve. */\n easing?: string;\n /** Animate children that appear, as well as ones that move. */\n animateEntry?: boolean;\n /** Turn the whole thing off without unmounting the hook. */\n enabled?: boolean;\n}\n\n/**\n * FLIP-animate the direct children of a container so they never teleport.\n *\n * Layout is instantaneous by default: a card that reflows into a new column\n * when the window narrows, or that is pushed down because a sibling expanded,\n * simply IS somewhere else on the next frame. The eye reads that as a glitch\n * rather than as movement, and in a masonry — where one change can restack a\n * whole column — it is disorienting.\n *\n * FLIP is the standard answer: measure where things were (First), let the\n * browser lay them out (Last), transform them back to where they came from\n * (Invert), then release the transform (Play). Only `transform` is animated,\n * so it runs on the compositor and does not re-lay-out anything per frame.\n *\n * Positions are read in a layout effect after every commit, which is why this\n * catches expansion, insertion, removal and re-ordering without being told\n * about them; a ResizeObserver covers the reflows that no render accompanies,\n * such as the window being dragged wider.\n *\n * Honours the app's motion preference (`useMotion`), which defaults to\n * `prefers-reduced-motion` but can be overridden — someone who has asked for\n * less movement gets the instant layout, and someone whose OS says so but who\n * wants it anyway can have it.\n */\nexport function useFlip<T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n {\n duration = 280,\n easing = 'cubic-bezier(0.2, 0.8, 0.3, 1)',\n animateEntry = true,\n enabled = true,\n }: UseFlipOptions = {},\n) {\n const previous = React.useRef(new Map<Element, { left: number; top: number }>());\n const running = React.useRef(new Map<Element, Animation>());\n\n /*\n * Positions come from `offsetLeft`/`offsetTop`, not from\n * `getBoundingClientRect()`, and both reasons matter.\n *\n * A client rect is viewport-relative, so a page that has scrolled between\n * two measurements makes every child look like it moved by the scroll delta\n * — FLIP then animates the whole list back through a journey it never took.\n *\n * Worse, a client rect INCLUDES any transform currently applied. Measuring\n * while this hook's own animations are still in flight records the\n * transformed position as the next baseline, so the following commit sees a\n * move that never happened and animates again — a loop that shudders the\n * grid on every render and animates nothing real. Proven by comparing\n * `offsetTop` across an open: identical, while nine sections were animating.\n *\n * Offsets are layout positions. They ignore transforms and they ignore\n * scrolling, which is exactly the question being asked.\n */\n const measure = React.useCallback(() => {\n const map = new Map<Element, { left: number; top: number }>();\n const el = ref.current;\n if (!el) return map;\n for (const child of Array.from(el.children) as HTMLElement[]) {\n map.set(child, { left: child.offsetLeft, top: child.offsetTop });\n }\n return map;\n }, [ref]);\n\n const play = React.useCallback(() => {\n const el = ref.current;\n if (!el) return;\n if (!enabled || prefersReducedMotion()) {\n previous.current = measure();\n return;\n }\n\n const before = previous.current;\n for (const child of Array.from(el.children) as HTMLElement[]) {\n const last = { left: child.offsetLeft, top: child.offsetTop };\n const first = before.get(child);\n\n if (!first) {\n if (!animateEntry) continue;\n /*\n * Something that has just appeared has no previous place to come\n * from, so it arrives instead of travelling: a short fade and a\n * fractional scale, which reads as \"this is new\" without the lurch\n * of sliding in from an arbitrary direction.\n */\n running.current.get(child)?.cancel();\n running.current.set(\n child,\n child.animate(\n [\n { opacity: 0, transform: 'scale(0.97)' },\n { opacity: 1, transform: 'none' },\n ],\n { duration: duration * 0.7, easing, fill: 'none' },\n ),\n );\n continue;\n }\n\n const dx = first.left - last.left;\n const dy = first.top - last.top;\n // Sub-pixel drift is not movement; animating it costs frames and shows\n // nothing.\n if (Math.abs(dx) < 1 && Math.abs(dy) < 1) continue;\n\n // Cancel rather than stack: a child caught mid-travel should re-aim from\n // where it is now, not queue a second journey.\n running.current.get(child)?.cancel();\n running.current.set(\n child,\n child.animate([{ transform: `translate(${dx}px, ${dy}px)` }, { transform: 'none' }], {\n duration,\n easing,\n fill: 'none',\n }),\n );\n }\n\n previous.current = measure();\n }, [ref, measure, duration, easing, animateEntry, enabled]);\n\n // After every commit: catches expansion, insertion, removal, re-ordering.\n React.useLayoutEffect(() => {\n play();\n });\n\n // And the reflows no render accompanies — the window being dragged wider.\n React.useEffect(() => {\n const el = ref.current;\n if (!el || typeof ResizeObserver === 'undefined') return undefined;\n const observer = new ResizeObserver(() => play());\n observer.observe(el);\n return () => observer.disconnect();\n }, [ref, play]);\n\n React.useEffect(() => {\n const inFlight = running.current;\n return () => {\n for (const animation of inFlight.values()) animation.cancel();\n inFlight.clear();\n };\n }, []);\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * `system` follows `prefers-reduced-motion`; the other two override it.
3
+ *
4
+ * The OS setting is the right DEFAULT and the wrong prison. Someone may have
5
+ * switched Windows animations off years ago for a laptop that no longer
6
+ * exists, or turned them off for one badly-behaved app; either way they are
7
+ * then told, silently, that this app cannot animate. Equally, someone who
8
+ * genuinely needs less movement must be able to keep it off in an app that
9
+ * otherwise ignores them. So it is a real preference, defaulting to the
10
+ * system's answer.
11
+ */
12
+ export type Motion = 'system' | 'full' | 'reduced';
13
+ /** Set once before render so the first frame is already correct. */
14
+ export declare function initializeMotion(): void;
15
+ /**
16
+ * Whether motion should be suppressed, and how to change that.
17
+ *
18
+ * Prefer this over reading `prefers-reduced-motion` directly: a component that
19
+ * asks the media query cannot be overridden by the app's own setting.
20
+ */
21
+ export declare function useMotion(): {
22
+ setMotion: (motion: Motion) => void;
23
+ motion: Motion;
24
+ reduced: boolean;
25
+ };
26
+ /** The question most callers actually have. */
27
+ export declare function useReducedMotion(): boolean;
28
+ /** For the non-React paths — animation helpers that run outside a component. */
29
+ export declare function prefersReducedMotion(): boolean;
30
+ //# sourceMappingURL=use-motion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-motion.d.ts","sourceRoot":"","sources":["../../src/hooks/use-motion.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAwDnD,oEAAoE;AACpE,wBAAgB,gBAAgB,SAE/B;AAED;;;;;GAKG;AACH,wBAAgB,SAAS;wBAgBgB,MAAM;;;EAM9C;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,YAE/B;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,YAMnC"}
@@ -0,0 +1,93 @@
1
+ import { useSyncExternalStore, useCallback } from 'react';
2
+
3
+ const MOTION_STORAGE_KEY = 'motion';
4
+ const DEFAULT_MOTION = 'system';
5
+ const listeners = new Set();
6
+ let initialized = false;
7
+ let current = DEFAULT_MOTION;
8
+ let snapshot = { motion: DEFAULT_MOTION, reduced: false };
9
+ const isMotion = (value) => value === 'system' || value === 'full' || value === 'reduced';
10
+ const systemPrefersReduced = () => typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
11
+ const resolve = (motion) => motion === 'system' ? systemPrefersReduced() : motion === 'reduced';
12
+ /*
13
+ * Mirrored onto <html> so CSS can answer the same question. A media query
14
+ * cannot see a preference held in JavaScript, so any rule that turns motion
15
+ * off needs this attribute as well as the query.
16
+ */
17
+ const apply = (motion) => {
18
+ if (typeof document === 'undefined')
19
+ return;
20
+ document.documentElement.dataset.motion = resolve(motion) ? 'reduced' : 'full';
21
+ };
22
+ const read = () => {
23
+ if (typeof window === 'undefined')
24
+ return DEFAULT_MOTION;
25
+ const stored = localStorage.getItem(MOTION_STORAGE_KEY);
26
+ return isMotion(stored) ? stored : DEFAULT_MOTION;
27
+ };
28
+ const commit = (motion) => {
29
+ current = motion;
30
+ snapshot = { motion, reduced: resolve(motion) };
31
+ apply(motion);
32
+ listeners.forEach(l => l());
33
+ };
34
+ const initialize = () => {
35
+ if (typeof window === 'undefined' || initialized)
36
+ return;
37
+ initialized = true;
38
+ commit(read());
39
+ window.matchMedia('(prefers-reduced-motion: reduce)').addEventListener('change', () => {
40
+ if (current === 'system')
41
+ commit('system');
42
+ });
43
+ window.addEventListener('storage', (e) => {
44
+ if (e.key === null || e.key === MOTION_STORAGE_KEY)
45
+ commit(read());
46
+ });
47
+ };
48
+ /** Set once before render so the first frame is already correct. */
49
+ function initializeMotion() {
50
+ initialize();
51
+ }
52
+ /**
53
+ * Whether motion should be suppressed, and how to change that.
54
+ *
55
+ * Prefer this over reading `prefers-reduced-motion` directly: a component that
56
+ * asks the media query cannot be overridden by the app's own setting.
57
+ */
58
+ function useMotion() {
59
+ const value = useSyncExternalStore(listener => {
60
+ initialize();
61
+ listeners.add(listener);
62
+ return () => {
63
+ listeners.delete(listener);
64
+ };
65
+ }, () => {
66
+ initialize();
67
+ return snapshot;
68
+ }, () => ({ motion: DEFAULT_MOTION, reduced: false }));
69
+ const setMotion = useCallback((motion) => {
70
+ if (typeof window !== 'undefined')
71
+ localStorage.setItem(MOTION_STORAGE_KEY, motion);
72
+ commit(motion);
73
+ }, []);
74
+ return { ...value, setMotion };
75
+ }
76
+ /** The question most callers actually have. */
77
+ function useReducedMotion() {
78
+ return useMotion().reduced;
79
+ }
80
+ /** For the non-React paths — animation helpers that run outside a component. */
81
+ function prefersReducedMotion() {
82
+ if (typeof document === 'undefined')
83
+ return false;
84
+ const flag = document.documentElement.dataset.motion;
85
+ if (flag === 'reduced')
86
+ return true;
87
+ if (flag === 'full')
88
+ return false;
89
+ return systemPrefersReduced();
90
+ }
91
+
92
+ export { initializeMotion, prefersReducedMotion, useMotion, useReducedMotion };
93
+ //# sourceMappingURL=use-motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-motion.js","sources":["../../src/hooks/use-motion.tsx"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\n\n/**\n * `system` follows `prefers-reduced-motion`; the other two override it.\n *\n * The OS setting is the right DEFAULT and the wrong prison. Someone may have\n * switched Windows animations off years ago for a laptop that no longer\n * exists, or turned them off for one badly-behaved app; either way they are\n * then told, silently, that this app cannot animate. Equally, someone who\n * genuinely needs less movement must be able to keep it off in an app that\n * otherwise ignores them. So it is a real preference, defaulting to the\n * system's answer.\n */\nexport type Motion = 'system' | 'full' | 'reduced';\n\nconst MOTION_STORAGE_KEY = 'motion';\nconst DEFAULT_MOTION: Motion = 'system';\n\ntype MotionSnapshot = { motion: Motion; reduced: boolean };\n\nconst listeners = new Set<() => void>();\nlet initialized = false;\nlet current: Motion = DEFAULT_MOTION;\nlet snapshot: MotionSnapshot = { motion: DEFAULT_MOTION, reduced: false };\n\nconst isMotion = (value: string | null): value is Motion =>\n value === 'system' || value === 'full' || value === 'reduced';\n\nconst systemPrefersReduced = () =>\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\nconst resolve = (motion: Motion) =>\n motion === 'system' ? systemPrefersReduced() : motion === 'reduced';\n\n/*\n * Mirrored onto <html> so CSS can answer the same question. A media query\n * cannot see a preference held in JavaScript, so any rule that turns motion\n * off needs this attribute as well as the query.\n */\nconst apply = (motion: Motion) => {\n if (typeof document === 'undefined') return;\n document.documentElement.dataset.motion = resolve(motion) ? 'reduced' : 'full';\n};\n\nconst read = (): Motion => {\n if (typeof window === 'undefined') return DEFAULT_MOTION;\n const stored = localStorage.getItem(MOTION_STORAGE_KEY);\n return isMotion(stored) ? stored : DEFAULT_MOTION;\n};\n\nconst commit = (motion: Motion) => {\n current = motion;\n snapshot = { motion, reduced: resolve(motion) };\n apply(motion);\n listeners.forEach(l => l());\n};\n\nconst initialize = () => {\n if (typeof window === 'undefined' || initialized) return;\n initialized = true;\n commit(read());\n window.matchMedia('(prefers-reduced-motion: reduce)').addEventListener('change', () => {\n if (current === 'system') commit('system');\n });\n window.addEventListener('storage', (e: StorageEvent) => {\n if (e.key === null || e.key === MOTION_STORAGE_KEY) commit(read());\n });\n};\n\n/** Set once before render so the first frame is already correct. */\nexport function initializeMotion() {\n initialize();\n}\n\n/**\n * Whether motion should be suppressed, and how to change that.\n *\n * Prefer this over reading `prefers-reduced-motion` directly: a component that\n * asks the media query cannot be overridden by the app's own setting.\n */\nexport function useMotion() {\n const value = useSyncExternalStore(\n listener => {\n initialize();\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n () => {\n initialize();\n return snapshot;\n },\n () => ({ motion: DEFAULT_MOTION, reduced: false }),\n );\n\n const setMotion = useCallback((motion: Motion) => {\n if (typeof window !== 'undefined') localStorage.setItem(MOTION_STORAGE_KEY, motion);\n commit(motion);\n }, []);\n\n return { ...value, setMotion };\n}\n\n/** The question most callers actually have. */\nexport function useReducedMotion() {\n return useMotion().reduced;\n}\n\n/** For the non-React paths — animation helpers that run outside a component. */\nexport function prefersReducedMotion() {\n if (typeof document === 'undefined') return false;\n const flag = document.documentElement.dataset.motion;\n if (flag === 'reduced') return true;\n if (flag === 'full') return false;\n return systemPrefersReduced();\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import * as React from 'react';
2
+ import React__default from 'react';
3
+ import { a as InputBaseProps } from './input-Cp5LET5i.js';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+
7
+ type DatePickerProps = {
8
+ value?: string;
9
+ defaultValue?: string;
10
+ onChange?: (value: string) => void;
11
+ label?: React__default.ReactNode;
12
+ helperText?: React__default.ReactNode;
13
+ error?: boolean;
14
+ disabled?: boolean;
15
+ sizeVariant?: 'sm' | 'md';
16
+ placeholder?: string;
17
+ min?: string;
18
+ max?: string;
19
+ required?: boolean;
20
+ id?: string;
21
+ className?: string;
22
+ name?: string;
23
+ };
24
+
25
+ type SelectAlign = 'start' | 'center' | 'end';
26
+ type SelectSide = 'top' | 'bottom' | 'left' | 'right';
27
+ type SelectPosition = 'item-aligned' | 'popper';
28
+ type SelectProps = {
29
+ open?: boolean;
30
+ defaultOpen?: boolean;
31
+ onOpenChange?: (open: boolean) => void;
32
+ value?: string;
33
+ defaultValue?: string;
34
+ onValueChange?: (value: string) => void;
35
+ disabled?: boolean;
36
+ required?: boolean;
37
+ name?: string;
38
+ children?: React__default.ReactNode;
39
+ };
40
+ type SelectContentProps = React__default.HTMLAttributes<HTMLDivElement> & {
41
+ position?: SelectPosition;
42
+ align?: SelectAlign;
43
+ side?: SelectSide;
44
+ sideOffset?: number;
45
+ collisionPadding?: number;
46
+ };
47
+ type SelectFieldContentProps = Pick<SelectContentProps, 'align' | 'className' | 'collisionPadding' | 'side' | 'sideOffset'>;
48
+ type SelectFieldBaseProps = Omit<SelectProps, 'value' | 'defaultValue' | 'onValueChange'> & {
49
+ 'aria-required'?: boolean;
50
+ label?: React__default.ReactNode;
51
+ helperText?: React__default.ReactNode;
52
+ error?: boolean;
53
+ placeholder?: string;
54
+ fieldClassName?: string;
55
+ contentProps?: SelectFieldContentProps;
56
+ id?: string;
57
+ children?: React__default.ReactNode;
58
+ sizeVariant?: 'sm' | 'md';
59
+ searchThreshold?: number;
60
+ };
61
+ type SingleSelectFieldProps = SelectFieldBaseProps & {
62
+ multiple?: false;
63
+ value?: string;
64
+ defaultValue?: string;
65
+ onValueChange?: (value: string) => void;
66
+ };
67
+ type MultiSelectFieldProps = SelectFieldBaseProps & {
68
+ multiple: true;
69
+ value?: string[];
70
+ defaultValue?: string[];
71
+ onValueChange?: (value: string[]) => void;
72
+ };
73
+ type SelectFieldProps = SingleSelectFieldProps | MultiSelectFieldProps;
74
+
75
+ type FormTheme = 'inherit' | 'primary' | 'secondary' | 'destructive' | 'warning' | 'success' | 'info' | 'slate';
76
+
77
+ type CheckedState = boolean | 'indeterminate';
78
+ interface CheckboxProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value' | 'defaultValue' | 'defaultChecked'> {
79
+ theme?: FormTheme;
80
+ destructive?: boolean;
81
+ checked?: CheckedState;
82
+ defaultChecked?: CheckedState;
83
+ onCheckedChange?: (checked: CheckedState) => void;
84
+ value?: string;
85
+ name?: string;
86
+ required?: boolean;
87
+ /** Optional inline label rendered to the right of the checkbox and associated via htmlFor. */
88
+ label?: React.ReactNode;
89
+ /** Optional helper / validation text rendered beneath the checkbox + label row. */
90
+ helperText?: React.ReactNode;
91
+ /**
92
+ * Box size. `md` (default) is the form size; `sm` suits a dense list row and
93
+ * `lg` a primary confirm. The tick and the helper-text indent follow it.
94
+ */
95
+ size?: 'sm' | 'md' | 'lg';
96
+ }
97
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
98
+
99
+ interface ComboboxOption {
100
+ /** The value written back on selection. */
101
+ value: string;
102
+ /** What the row shows. Falls back to `value`. */
103
+ label?: string;
104
+ /** Trailing muted text — a category, a count, a unit. */
105
+ hint?: string;
106
+ /** Heading this option files under. Ungrouped options render first. */
107
+ group?: string;
108
+ }
109
+ interface ComboboxProps extends InputBaseProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'list'> {
110
+ options: ComboboxOption[];
111
+ value?: string;
112
+ onValueChange?: (value: string) => void;
113
+ /**
114
+ * Whether a value absent from `options` is allowed. Default true — this
115
+ * replaces a `<datalist>`, whose whole point is that typing a new one is how
116
+ * the vocabulary grows.
117
+ */
118
+ allowCustom?: boolean;
119
+ /** Shown when the filter matches nothing. */
120
+ emptyText?: string;
121
+ /** Cap on rows rendered at once. */
122
+ maxVisible?: number;
123
+ }
124
+ /**
125
+ * Free-text field with a suggestion list.
126
+ *
127
+ * This exists because `<datalist>` does not hold up: Chrome only reliably opens
128
+ * it once the user types or presses ArrowDown — a click on the field does
129
+ * nothing, so it reads as broken — and nothing about the popup can be styled,
130
+ * so it arrives as OS chrome hanging off an otherwise themed field.
131
+ *
132
+ * The panel is Select's `Surface` and Select's stylesheet, deliberately: a
133
+ * lookalike built from its own rules drifts the moment either is touched.
134
+ */
135
+ declare function Combobox({ options, value, onValueChange, allowCustom, emptyText, maxVisible, onKeyDown, onFocus, onBlur, className, ...inputProps }: ComboboxProps): React.JSX.Element;
136
+
137
+ declare function DatePicker({ value: valueProp, defaultValue, onChange, label, helperText, error, disabled, sizeVariant, placeholder, min, max, required, id, className, name, }: DatePickerProps): React.JSX.Element;
138
+
139
+ declare const labelVariants: (props?: ({
140
+ size?: "sm" | "md" | "lg" | null | undefined;
141
+ theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
142
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
143
+
144
+ interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement>, VariantProps<typeof labelVariants> {
145
+ theme?: FormTheme;
146
+ }
147
+ declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
148
+
149
+ type SurfaceProps = {
150
+ align?: SelectAlign;
151
+ children: React.ReactNode;
152
+ className?: string;
153
+ collisionPadding?: number;
154
+ contentRef: React.MutableRefObject<HTMLDivElement | null>;
155
+ displayOpen: boolean;
156
+ isClosing?: boolean;
157
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
158
+ open: boolean;
159
+ position?: SelectPosition;
160
+ side?: SelectSide;
161
+ sideOffset?: number;
162
+ triggerRef: React.MutableRefObject<HTMLElement | null>;
163
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'className' | 'onKeyDown'>;
164
+ declare function Surface({ align, children, className, collisionPadding, contentRef, displayOpen, isClosing, onKeyDown, open, position, side, sideOffset, triggerRef, ...props }: SurfaceProps): React.ReactPortal | null;
165
+ declare function Select({ open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, disabled, children, ...props }: SelectProps): React.JSX.Element;
166
+ /**
167
+ * A titled run of options — the `<optgroup>` of this select.
168
+ *
169
+ * The heading is presentational and never focusable: it names the run, it is
170
+ * not a thing you can pick. Labelling the group with `aria-label` rather than
171
+ * pointing at the heading keeps it out of the option list for a screen reader
172
+ * too.
173
+ */
174
+ declare function SelectGroup({ label, children, className, ...props }: React.HTMLAttributes<HTMLDivElement> & {
175
+ label?: React.ReactNode;
176
+ }): React.JSX.Element;
177
+ declare function SelectValue({ children, placeholder, ...props }: React.HTMLAttributes<HTMLSpanElement> & {
178
+ placeholder?: React.ReactNode;
179
+ }): React.JSX.Element;
180
+ declare function SelectTrigger({ className, children, onClick, onKeyDown, type, asChild, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & {
181
+ /**
182
+ * Render the caller's own element as the trigger, and drop the field styling
183
+ * and the chevron with it.
184
+ *
185
+ * For a control that opens a listbox without looking like a form field — a
186
+ * picker that states itself as an icon and a line of text, say. The caller
187
+ * owns every visual decision; the Select still owns the behaviour, the
188
+ * portaled surface and the ARIA wiring.
189
+ */
190
+ asChild?: boolean;
191
+ }): React.JSX.Element;
192
+ declare function SelectContent({ align, className, children, collisionPadding, onKeyDown, position, side, sideOffset, ...props }: SelectContentProps): React.JSX.Element;
193
+ declare function SelectItem({ className, children, disabled, onClick, onMouseMove, value, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & {
194
+ value: string;
195
+ }): React.JSX.Element;
196
+ declare function SelectSeparator({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
197
+ declare function SelectField(props: SelectFieldProps): React.JSX.Element;
198
+
199
+ export { Checkbox as C, DatePicker as D, Label as L, Select as S, Combobox as b, SelectContent as h, SelectField as j, SelectGroup as l, SelectItem as m, SelectSeparator as p, SelectTrigger as r, SelectValue as s, Surface as t };
200
+ export type { FormTheme as F, CheckboxProps as a, ComboboxOption as c, ComboboxProps as d, DatePickerProps as e, LabelProps as f, SelectAlign as g, SelectContentProps as i, SelectFieldProps as k, SelectPosition as n, SelectProps as o, SelectSide as q };