@neurocle/synapse-react 0.0.0-stage → 0.3.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 (824) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +162 -2
  3. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  4. package/dist/components/accordion/accordion.d.mts +38 -0
  5. package/dist/components/accordion/accordion.d.mts.map +1 -0
  6. package/dist/components/accordion/accordion.mjs +29 -0
  7. package/dist/components/accordion/accordion.mjs.map +1 -0
  8. package/dist/components/accordion/accordion.recipe.mjs +191 -0
  9. package/dist/components/accordion/accordion.recipe.mjs.map +1 -0
  10. package/dist/components/accordion/index.d.mts +2 -0
  11. package/dist/components/accordion/index.mjs +2 -0
  12. package/dist/components/alert/alert.anatomy.mjs +8 -0
  13. package/dist/components/alert/alert.anatomy.mjs.map +1 -0
  14. package/dist/components/alert/alert.connect.d.mts +4 -0
  15. package/dist/components/alert/alert.connect.d.mts.map +1 -0
  16. package/dist/components/alert/alert.connect.mjs +39 -0
  17. package/dist/components/alert/alert.connect.mjs.map +1 -0
  18. package/dist/components/alert/alert.d.mts +14 -0
  19. package/dist/components/alert/alert.d.mts.map +1 -0
  20. package/dist/components/alert/alert.mjs +37 -0
  21. package/dist/components/alert/alert.mjs.map +1 -0
  22. package/dist/components/alert/alert.recipe.mjs +141 -0
  23. package/dist/components/alert/alert.recipe.mjs.map +1 -0
  24. package/dist/components/alert/index.d.mts +3 -0
  25. package/dist/components/alert/index.mjs +2 -0
  26. package/dist/components/angle-slider/angle-slider.d.mts +35 -0
  27. package/dist/components/angle-slider/angle-slider.d.mts.map +1 -0
  28. package/dist/components/angle-slider/angle-slider.mjs +41 -0
  29. package/dist/components/angle-slider/angle-slider.mjs.map +1 -0
  30. package/dist/components/angle-slider/angle-slider.recipe.mjs +201 -0
  31. package/dist/components/angle-slider/angle-slider.recipe.mjs.map +1 -0
  32. package/dist/components/angle-slider/index.d.mts +2 -0
  33. package/dist/components/angle-slider/index.mjs +2 -0
  34. package/dist/components/avatar/avatar.d.mts +18 -0
  35. package/dist/components/avatar/avatar.d.mts.map +1 -0
  36. package/dist/components/avatar/avatar.mjs +35 -0
  37. package/dist/components/avatar/avatar.mjs.map +1 -0
  38. package/dist/components/avatar/avatar.recipe.mjs +113 -0
  39. package/dist/components/avatar/avatar.recipe.mjs.map +1 -0
  40. package/dist/components/avatar/index.d.mts +2 -0
  41. package/dist/components/avatar/index.mjs +2 -0
  42. package/dist/components/badge/badge.anatomy.mjs +8 -0
  43. package/dist/components/badge/badge.anatomy.mjs.map +1 -0
  44. package/dist/components/badge/badge.connect.d.mts +4 -0
  45. package/dist/components/badge/badge.connect.d.mts.map +1 -0
  46. package/dist/components/badge/badge.connect.mjs +32 -0
  47. package/dist/components/badge/badge.connect.mjs.map +1 -0
  48. package/dist/components/badge/badge.d.mts +14 -0
  49. package/dist/components/badge/badge.d.mts.map +1 -0
  50. package/dist/components/badge/badge.mjs +18 -0
  51. package/dist/components/badge/badge.mjs.map +1 -0
  52. package/dist/components/badge/badge.recipe.mjs +84 -0
  53. package/dist/components/badge/badge.recipe.mjs.map +1 -0
  54. package/dist/components/badge/index.d.mts +3 -0
  55. package/dist/components/badge/index.mjs +2 -0
  56. package/dist/components/breadcrumb/breadcrumb.anatomy.mjs +8 -0
  57. package/dist/components/breadcrumb/breadcrumb.anatomy.mjs.map +1 -0
  58. package/dist/components/breadcrumb/breadcrumb.connect.mjs +30 -0
  59. package/dist/components/breadcrumb/breadcrumb.connect.mjs.map +1 -0
  60. package/dist/components/breadcrumb/breadcrumb.d.mts +10 -0
  61. package/dist/components/breadcrumb/breadcrumb.d.mts.map +1 -0
  62. package/dist/components/breadcrumb/breadcrumb.mjs +31 -0
  63. package/dist/components/breadcrumb/breadcrumb.mjs.map +1 -0
  64. package/dist/components/breadcrumb/breadcrumb.recipe.mjs +121 -0
  65. package/dist/components/breadcrumb/breadcrumb.recipe.mjs.map +1 -0
  66. package/dist/components/breadcrumb/index.d.mts +2 -0
  67. package/dist/components/breadcrumb/index.mjs +2 -0
  68. package/dist/components/button/button.anatomy.mjs +8 -0
  69. package/dist/components/button/button.anatomy.mjs.map +1 -0
  70. package/dist/components/button/button.connect.mjs +35 -0
  71. package/dist/components/button/button.connect.mjs.map +1 -0
  72. package/dist/components/button/button.d.mts +19 -0
  73. package/dist/components/button/button.d.mts.map +1 -0
  74. package/dist/components/button/button.mjs +25 -0
  75. package/dist/components/button/button.mjs.map +1 -0
  76. package/dist/components/button/button.recipe.mjs +377 -0
  77. package/dist/components/button/button.recipe.mjs.map +1 -0
  78. package/dist/components/button/index.d.mts +2 -0
  79. package/dist/components/button/index.mjs +2 -0
  80. package/dist/components/card/card.anatomy.mjs +8 -0
  81. package/dist/components/card/card.anatomy.mjs.map +1 -0
  82. package/dist/components/card/card.connect.mjs +24 -0
  83. package/dist/components/card/card.connect.mjs.map +1 -0
  84. package/dist/components/card/card.d.mts +9 -0
  85. package/dist/components/card/card.d.mts.map +1 -0
  86. package/dist/components/card/card.mjs +23 -0
  87. package/dist/components/card/card.mjs.map +1 -0
  88. package/dist/components/card/card.recipe.mjs +58 -0
  89. package/dist/components/card/card.recipe.mjs.map +1 -0
  90. package/dist/components/card/index.d.mts +2 -0
  91. package/dist/components/card/index.mjs +2 -0
  92. package/dist/components/carousel/carousel.d.mts +67 -0
  93. package/dist/components/carousel/carousel.d.mts.map +1 -0
  94. package/dist/components/carousel/carousel.mjs +123 -0
  95. package/dist/components/carousel/carousel.mjs.map +1 -0
  96. package/dist/components/carousel/carousel.recipe.mjs +131 -0
  97. package/dist/components/carousel/carousel.recipe.mjs.map +1 -0
  98. package/dist/components/carousel/index.d.mts +2 -0
  99. package/dist/components/carousel/index.mjs +2 -0
  100. package/dist/components/cascade-select/cascade-select.d.mts +102 -0
  101. package/dist/components/cascade-select/cascade-select.d.mts.map +1 -0
  102. package/dist/components/cascade-select/cascade-select.mjs +169 -0
  103. package/dist/components/cascade-select/cascade-select.mjs.map +1 -0
  104. package/dist/components/cascade-select/cascade-select.recipe.mjs +309 -0
  105. package/dist/components/cascade-select/cascade-select.recipe.mjs.map +1 -0
  106. package/dist/components/cascade-select/index.d.mts +2 -0
  107. package/dist/components/cascade-select/index.mjs +2 -0
  108. package/dist/components/checkbox/checkbox.d.mts +37 -0
  109. package/dist/components/checkbox/checkbox.d.mts.map +1 -0
  110. package/dist/components/checkbox/checkbox.mjs +55 -0
  111. package/dist/components/checkbox/checkbox.mjs.map +1 -0
  112. package/dist/components/checkbox/checkbox.recipe.mjs +170 -0
  113. package/dist/components/checkbox/checkbox.recipe.mjs.map +1 -0
  114. package/dist/components/checkbox/index.d.mts +2 -0
  115. package/dist/components/checkbox/index.mjs +2 -0
  116. package/dist/components/clipboard/clipboard.d.mts +26 -0
  117. package/dist/components/clipboard/clipboard.d.mts.map +1 -0
  118. package/dist/components/clipboard/clipboard.mjs +76 -0
  119. package/dist/components/clipboard/clipboard.mjs.map +1 -0
  120. package/dist/components/clipboard/clipboard.recipe.mjs +119 -0
  121. package/dist/components/clipboard/clipboard.recipe.mjs.map +1 -0
  122. package/dist/components/clipboard/index.d.mts +2 -0
  123. package/dist/components/clipboard/index.mjs +2 -0
  124. package/dist/components/collapsible/collapsible.d.mts +21 -0
  125. package/dist/components/collapsible/collapsible.d.mts.map +1 -0
  126. package/dist/components/collapsible/collapsible.mjs +23 -0
  127. package/dist/components/collapsible/collapsible.mjs.map +1 -0
  128. package/dist/components/collapsible/collapsible.recipe.mjs +159 -0
  129. package/dist/components/collapsible/collapsible.recipe.mjs.map +1 -0
  130. package/dist/components/collapsible/index.d.mts +2 -0
  131. package/dist/components/collapsible/index.mjs +2 -0
  132. package/dist/components/collection-window.mjs +299 -0
  133. package/dist/components/collection-window.mjs.map +1 -0
  134. package/dist/components/color-picker/color-picker.d.mts +67 -0
  135. package/dist/components/color-picker/color-picker.d.mts.map +1 -0
  136. package/dist/components/color-picker/color-picker.mjs +230 -0
  137. package/dist/components/color-picker/color-picker.mjs.map +1 -0
  138. package/dist/components/color-picker/color-picker.recipe.mjs +345 -0
  139. package/dist/components/color-picker/color-picker.recipe.mjs.map +1 -0
  140. package/dist/components/color-picker/index.d.mts +2 -0
  141. package/dist/components/color-picker/index.mjs +2 -0
  142. package/dist/components/combobox/combobox.d.mts +129 -0
  143. package/dist/components/combobox/combobox.d.mts.map +1 -0
  144. package/dist/components/combobox/combobox.mjs +92 -0
  145. package/dist/components/combobox/combobox.mjs.map +1 -0
  146. package/dist/components/combobox/combobox.recipe.mjs +336 -0
  147. package/dist/components/combobox/combobox.recipe.mjs.map +1 -0
  148. package/dist/components/combobox/index.d.mts +2 -0
  149. package/dist/components/combobox/index.mjs +2 -0
  150. package/dist/components/date-input/date-input.d.mts +69 -0
  151. package/dist/components/date-input/date-input.d.mts.map +1 -0
  152. package/dist/components/date-input/date-input.mjs +106 -0
  153. package/dist/components/date-input/date-input.mjs.map +1 -0
  154. package/dist/components/date-input/date-input.recipe.mjs +142 -0
  155. package/dist/components/date-input/date-input.recipe.mjs.map +1 -0
  156. package/dist/components/date-input/index.d.mts +2 -0
  157. package/dist/components/date-input/index.mjs +2 -0
  158. package/dist/components/date-picker/date-picker.d.mts +114 -0
  159. package/dist/components/date-picker/date-picker.d.mts.map +1 -0
  160. package/dist/components/date-picker/date-picker.mjs +269 -0
  161. package/dist/components/date-picker/date-picker.mjs.map +1 -0
  162. package/dist/components/date-picker/date-picker.recipe.mjs +495 -0
  163. package/dist/components/date-picker/date-picker.recipe.mjs.map +1 -0
  164. package/dist/components/date-picker/index.d.mts +2 -0
  165. package/dist/components/date-picker/index.mjs +2 -0
  166. package/dist/components/details.d.mts +9 -0
  167. package/dist/components/details.d.mts.map +1 -0
  168. package/dist/components/dialog/dialog.d.mts +45 -0
  169. package/dist/components/dialog/dialog.d.mts.map +1 -0
  170. package/dist/components/dialog/dialog.mjs +49 -0
  171. package/dist/components/dialog/dialog.mjs.map +1 -0
  172. package/dist/components/dialog/dialog.recipe.mjs +138 -0
  173. package/dist/components/dialog/dialog.recipe.mjs.map +1 -0
  174. package/dist/components/dialog/index.d.mts +2 -0
  175. package/dist/components/dialog/index.mjs +2 -0
  176. package/dist/components/drawer/drawer.d.mts +62 -0
  177. package/dist/components/drawer/drawer.d.mts.map +1 -0
  178. package/dist/components/drawer/drawer.mjs +65 -0
  179. package/dist/components/drawer/drawer.mjs.map +1 -0
  180. package/dist/components/drawer/drawer.recipe.mjs +201 -0
  181. package/dist/components/drawer/drawer.recipe.mjs.map +1 -0
  182. package/dist/components/drawer/index.d.mts +2 -0
  183. package/dist/components/drawer/index.mjs +2 -0
  184. package/dist/components/editable/editable.d.mts +62 -0
  185. package/dist/components/editable/editable.d.mts.map +1 -0
  186. package/dist/components/editable/editable.mjs +78 -0
  187. package/dist/components/editable/editable.mjs.map +1 -0
  188. package/dist/components/editable/editable.recipe.mjs +152 -0
  189. package/dist/components/editable/editable.recipe.mjs.map +1 -0
  190. package/dist/components/editable/index.d.mts +2 -0
  191. package/dist/components/editable/index.mjs +2 -0
  192. package/dist/components/empty-state/empty-state.anatomy.mjs +8 -0
  193. package/dist/components/empty-state/empty-state.anatomy.mjs.map +1 -0
  194. package/dist/components/empty-state/empty-state.connect.mjs +26 -0
  195. package/dist/components/empty-state/empty-state.connect.mjs.map +1 -0
  196. package/dist/components/empty-state/empty-state.d.mts +10 -0
  197. package/dist/components/empty-state/empty-state.d.mts.map +1 -0
  198. package/dist/components/empty-state/empty-state.mjs +24 -0
  199. package/dist/components/empty-state/empty-state.mjs.map +1 -0
  200. package/dist/components/empty-state/empty-state.recipe.mjs +134 -0
  201. package/dist/components/empty-state/empty-state.recipe.mjs.map +1 -0
  202. package/dist/components/empty-state/index.d.mts +2 -0
  203. package/dist/components/empty-state/index.mjs +2 -0
  204. package/dist/components/field/field.anatomy.mjs +8 -0
  205. package/dist/components/field/field.anatomy.mjs.map +1 -0
  206. package/dist/components/field/field.connect.mjs +117 -0
  207. package/dist/components/field/field.connect.mjs.map +1 -0
  208. package/dist/components/field/field.d.mts +19 -0
  209. package/dist/components/field/field.d.mts.map +1 -0
  210. package/dist/components/field/field.mjs +77 -0
  211. package/dist/components/field/field.mjs.map +1 -0
  212. package/dist/components/field/field.recipe.mjs +60 -0
  213. package/dist/components/field/field.recipe.mjs.map +1 -0
  214. package/dist/components/field/index.d.mts +2 -0
  215. package/dist/components/field/index.mjs +2 -0
  216. package/dist/components/fieldset/fieldset.anatomy.mjs +8 -0
  217. package/dist/components/fieldset/fieldset.anatomy.mjs.map +1 -0
  218. package/dist/components/fieldset/fieldset.connect.mjs +60 -0
  219. package/dist/components/fieldset/fieldset.connect.mjs.map +1 -0
  220. package/dist/components/fieldset/fieldset.d.mts +13 -0
  221. package/dist/components/fieldset/fieldset.d.mts.map +1 -0
  222. package/dist/components/fieldset/fieldset.mjs +26 -0
  223. package/dist/components/fieldset/fieldset.mjs.map +1 -0
  224. package/dist/components/fieldset/fieldset.recipe.mjs +42 -0
  225. package/dist/components/fieldset/fieldset.recipe.mjs.map +1 -0
  226. package/dist/components/fieldset/index.d.mts +2 -0
  227. package/dist/components/fieldset/index.mjs +2 -0
  228. package/dist/components/file-upload/file-upload.d.mts +105 -0
  229. package/dist/components/file-upload/file-upload.d.mts.map +1 -0
  230. package/dist/components/file-upload/file-upload.mjs +127 -0
  231. package/dist/components/file-upload/file-upload.mjs.map +1 -0
  232. package/dist/components/file-upload/file-upload.recipe.mjs +236 -0
  233. package/dist/components/file-upload/file-upload.recipe.mjs.map +1 -0
  234. package/dist/components/file-upload/index.d.mts +2 -0
  235. package/dist/components/file-upload/index.mjs +2 -0
  236. package/dist/components/floating-panel/floating-panel.d.mts +87 -0
  237. package/dist/components/floating-panel/floating-panel.d.mts.map +1 -0
  238. package/dist/components/floating-panel/floating-panel.mjs +89 -0
  239. package/dist/components/floating-panel/floating-panel.mjs.map +1 -0
  240. package/dist/components/floating-panel/floating-panel.recipe.mjs +156 -0
  241. package/dist/components/floating-panel/floating-panel.recipe.mjs.map +1 -0
  242. package/dist/components/floating-panel/index.d.mts +2 -0
  243. package/dist/components/floating-panel/index.mjs +2 -0
  244. package/dist/components/hover-card/hover-card.d.mts +48 -0
  245. package/dist/components/hover-card/hover-card.d.mts.map +1 -0
  246. package/dist/components/hover-card/hover-card.mjs +31 -0
  247. package/dist/components/hover-card/hover-card.mjs.map +1 -0
  248. package/dist/components/hover-card/hover-card.recipe.mjs +133 -0
  249. package/dist/components/hover-card/hover-card.recipe.mjs.map +1 -0
  250. package/dist/components/hover-card/index.d.mts +2 -0
  251. package/dist/components/hover-card/index.mjs +2 -0
  252. package/dist/components/image-cropper/image-cropper.d.mts +111 -0
  253. package/dist/components/image-cropper/image-cropper.d.mts.map +1 -0
  254. package/dist/components/image-cropper/image-cropper.mjs +71 -0
  255. package/dist/components/image-cropper/image-cropper.mjs.map +1 -0
  256. package/dist/components/image-cropper/image-cropper.recipe.mjs +126 -0
  257. package/dist/components/image-cropper/image-cropper.recipe.mjs.map +1 -0
  258. package/dist/components/image-cropper/index.d.mts +2 -0
  259. package/dist/components/image-cropper/index.mjs +2 -0
  260. package/dist/components/input/index.d.mts +2 -0
  261. package/dist/components/input/index.mjs +2 -0
  262. package/dist/components/input/input.anatomy.mjs +8 -0
  263. package/dist/components/input/input.anatomy.mjs.map +1 -0
  264. package/dist/components/input/input.connect.mjs +82 -0
  265. package/dist/components/input/input.connect.mjs.map +1 -0
  266. package/dist/components/input/input.d.mts +31 -0
  267. package/dist/components/input/input.d.mts.map +1 -0
  268. package/dist/components/input/input.mjs +37 -0
  269. package/dist/components/input/input.mjs.map +1 -0
  270. package/dist/components/input/input.recipe.mjs +111 -0
  271. package/dist/components/input/input.recipe.mjs.map +1 -0
  272. package/dist/components/kbd/index.d.mts +2 -0
  273. package/dist/components/kbd/index.mjs +2 -0
  274. package/dist/components/kbd/kbd.anatomy.mjs +8 -0
  275. package/dist/components/kbd/kbd.anatomy.mjs.map +1 -0
  276. package/dist/components/kbd/kbd.connect.mjs +17 -0
  277. package/dist/components/kbd/kbd.connect.mjs.map +1 -0
  278. package/dist/components/kbd/kbd.d.mts +10 -0
  279. package/dist/components/kbd/kbd.d.mts.map +1 -0
  280. package/dist/components/kbd/kbd.mjs +18 -0
  281. package/dist/components/kbd/kbd.mjs.map +1 -0
  282. package/dist/components/kbd/kbd.recipe.mjs +55 -0
  283. package/dist/components/kbd/kbd.recipe.mjs.map +1 -0
  284. package/dist/components/listbox/index.d.mts +2 -0
  285. package/dist/components/listbox/index.mjs +2 -0
  286. package/dist/components/listbox/listbox.d.mts +70 -0
  287. package/dist/components/listbox/listbox.d.mts.map +1 -0
  288. package/dist/components/listbox/listbox.mjs +79 -0
  289. package/dist/components/listbox/listbox.mjs.map +1 -0
  290. package/dist/components/listbox/listbox.recipe.mjs +169 -0
  291. package/dist/components/listbox/listbox.recipe.mjs.map +1 -0
  292. package/dist/components/machine-translations.mjs +8 -0
  293. package/dist/components/machine-translations.mjs.map +1 -0
  294. package/dist/components/marquee/index.d.mts +2 -0
  295. package/dist/components/marquee/index.mjs +2 -0
  296. package/dist/components/marquee/marquee.d.mts +53 -0
  297. package/dist/components/marquee/marquee.d.mts.map +1 -0
  298. package/dist/components/marquee/marquee.mjs +30 -0
  299. package/dist/components/marquee/marquee.mjs.map +1 -0
  300. package/dist/components/marquee/marquee.recipe.mjs +123 -0
  301. package/dist/components/marquee/marquee.recipe.mjs.map +1 -0
  302. package/dist/components/menu/index.d.mts +2 -0
  303. package/dist/components/menu/index.mjs +2 -0
  304. package/dist/components/menu/menu.d.mts +66 -0
  305. package/dist/components/menu/menu.d.mts.map +1 -0
  306. package/dist/components/menu/menu.mjs +68 -0
  307. package/dist/components/menu/menu.mjs.map +1 -0
  308. package/dist/components/menu/menu.recipe.mjs +285 -0
  309. package/dist/components/menu/menu.recipe.mjs.map +1 -0
  310. package/dist/components/navigation-menu/index.d.mts +2 -0
  311. package/dist/components/navigation-menu/index.mjs +2 -0
  312. package/dist/components/navigation-menu/navigation-menu.d.mts +42 -0
  313. package/dist/components/navigation-menu/navigation-menu.d.mts.map +1 -0
  314. package/dist/components/navigation-menu/navigation-menu.mjs +47 -0
  315. package/dist/components/navigation-menu/navigation-menu.mjs.map +1 -0
  316. package/dist/components/navigation-menu/navigation-menu.recipe.mjs +271 -0
  317. package/dist/components/navigation-menu/navigation-menu.recipe.mjs.map +1 -0
  318. package/dist/components/number-input/index.d.mts +2 -0
  319. package/dist/components/number-input/index.mjs +2 -0
  320. package/dist/components/number-input/number-input.d.mts +88 -0
  321. package/dist/components/number-input/number-input.d.mts.map +1 -0
  322. package/dist/components/number-input/number-input.mjs +70 -0
  323. package/dist/components/number-input/number-input.mjs.map +1 -0
  324. package/dist/components/number-input/number-input.recipe.mjs +231 -0
  325. package/dist/components/number-input/number-input.recipe.mjs.map +1 -0
  326. package/dist/components/pagination/index.d.mts +2 -0
  327. package/dist/components/pagination/index.mjs +2 -0
  328. package/dist/components/pagination/pagination.d.mts +51 -0
  329. package/dist/components/pagination/pagination.d.mts.map +1 -0
  330. package/dist/components/pagination/pagination.mjs +74 -0
  331. package/dist/components/pagination/pagination.mjs.map +1 -0
  332. package/dist/components/pagination/pagination.recipe.mjs +144 -0
  333. package/dist/components/pagination/pagination.recipe.mjs.map +1 -0
  334. package/dist/components/password-input/index.d.mts +2 -0
  335. package/dist/components/password-input/index.mjs +2 -0
  336. package/dist/components/password-input/password-input.d.mts +37 -0
  337. package/dist/components/password-input/password-input.d.mts.map +1 -0
  338. package/dist/components/password-input/password-input.mjs +58 -0
  339. package/dist/components/password-input/password-input.mjs.map +1 -0
  340. package/dist/components/password-input/password-input.recipe.mjs +180 -0
  341. package/dist/components/password-input/password-input.recipe.mjs.map +1 -0
  342. package/dist/components/pin-input/index.d.mts +2 -0
  343. package/dist/components/pin-input/index.mjs +2 -0
  344. package/dist/components/pin-input/pin-input.d.mts +68 -0
  345. package/dist/components/pin-input/pin-input.d.mts.map +1 -0
  346. package/dist/components/pin-input/pin-input.mjs +51 -0
  347. package/dist/components/pin-input/pin-input.mjs.map +1 -0
  348. package/dist/components/pin-input/pin-input.recipe.mjs +81 -0
  349. package/dist/components/pin-input/pin-input.recipe.mjs.map +1 -0
  350. package/dist/components/popover/index.d.mts +2 -0
  351. package/dist/components/popover/index.mjs +2 -0
  352. package/dist/components/popover/popover.d.mts +42 -0
  353. package/dist/components/popover/popover.d.mts.map +1 -0
  354. package/dist/components/popover/popover.mjs +50 -0
  355. package/dist/components/popover/popover.mjs.map +1 -0
  356. package/dist/components/popover/popover.recipe.mjs +162 -0
  357. package/dist/components/popover/popover.recipe.mjs.map +1 -0
  358. package/dist/components/progress/index.d.mts +2 -0
  359. package/dist/components/progress/index.mjs +2 -0
  360. package/dist/components/progress/progress.d.mts +31 -0
  361. package/dist/components/progress/progress.d.mts.map +1 -0
  362. package/dist/components/progress/progress.mjs +42 -0
  363. package/dist/components/progress/progress.mjs.map +1 -0
  364. package/dist/components/progress/progress.recipe.mjs +189 -0
  365. package/dist/components/progress/progress.recipe.mjs.map +1 -0
  366. package/dist/components/qr-code/index.d.mts +2 -0
  367. package/dist/components/qr-code/index.mjs +2 -0
  368. package/dist/components/qr-code/qr-code.d.mts +36 -0
  369. package/dist/components/qr-code/qr-code.d.mts.map +1 -0
  370. package/dist/components/qr-code/qr-code.mjs +41 -0
  371. package/dist/components/qr-code/qr-code.mjs.map +1 -0
  372. package/dist/components/qr-code/qr-code.recipe.mjs +70 -0
  373. package/dist/components/qr-code/qr-code.recipe.mjs.map +1 -0
  374. package/dist/components/radio-group/index.d.mts +2 -0
  375. package/dist/components/radio-group/index.mjs +2 -0
  376. package/dist/components/radio-group/radio-group.d.mts +33 -0
  377. package/dist/components/radio-group/radio-group.d.mts.map +1 -0
  378. package/dist/components/radio-group/radio-group.mjs +47 -0
  379. package/dist/components/radio-group/radio-group.mjs.map +1 -0
  380. package/dist/components/radio-group/radio-group.recipe.mjs +189 -0
  381. package/dist/components/radio-group/radio-group.recipe.mjs.map +1 -0
  382. package/dist/components/rating-group/index.d.mts +2 -0
  383. package/dist/components/rating-group/index.mjs +2 -0
  384. package/dist/components/rating-group/rating-group.d.mts +43 -0
  385. package/dist/components/rating-group/rating-group.d.mts.map +1 -0
  386. package/dist/components/rating-group/rating-group.mjs +39 -0
  387. package/dist/components/rating-group/rating-group.mjs.map +1 -0
  388. package/dist/components/rating-group/rating-group.recipe.mjs +133 -0
  389. package/dist/components/rating-group/rating-group.recipe.mjs.map +1 -0
  390. package/dist/components/scroll-area/index.d.mts +2 -0
  391. package/dist/components/scroll-area/index.mjs +2 -0
  392. package/dist/components/scroll-area/scroll-area.d.mts +12 -0
  393. package/dist/components/scroll-area/scroll-area.d.mts.map +1 -0
  394. package/dist/components/scroll-area/scroll-area.mjs +31 -0
  395. package/dist/components/scroll-area/scroll-area.mjs.map +1 -0
  396. package/dist/components/scroll-area/scroll-area.recipe.mjs +76 -0
  397. package/dist/components/scroll-area/scroll-area.recipe.mjs.map +1 -0
  398. package/dist/components/select/index.d.mts +2 -0
  399. package/dist/components/select/index.mjs +2 -0
  400. package/dist/components/select/select.d.mts +90 -0
  401. package/dist/components/select/select.d.mts.map +1 -0
  402. package/dist/components/select/select.mjs +83 -0
  403. package/dist/components/select/select.mjs.map +1 -0
  404. package/dist/components/select/select.recipe.mjs +298 -0
  405. package/dist/components/select/select.recipe.mjs.map +1 -0
  406. package/dist/components/separator/index.d.mts +2 -0
  407. package/dist/components/separator/index.mjs +2 -0
  408. package/dist/components/separator/separator.anatomy.mjs +8 -0
  409. package/dist/components/separator/separator.anatomy.mjs.map +1 -0
  410. package/dist/components/separator/separator.connect.mjs +28 -0
  411. package/dist/components/separator/separator.connect.mjs.map +1 -0
  412. package/dist/components/separator/separator.d.mts +11 -0
  413. package/dist/components/separator/separator.d.mts.map +1 -0
  414. package/dist/components/separator/separator.mjs +15 -0
  415. package/dist/components/separator/separator.mjs.map +1 -0
  416. package/dist/components/separator/separator.recipe.mjs +22 -0
  417. package/dist/components/separator/separator.recipe.mjs.map +1 -0
  418. package/dist/components/signature-pad/index.d.mts +2 -0
  419. package/dist/components/signature-pad/index.mjs +2 -0
  420. package/dist/components/signature-pad/signature-pad.d.mts +44 -0
  421. package/dist/components/signature-pad/signature-pad.d.mts.map +1 -0
  422. package/dist/components/signature-pad/signature-pad.mjs +90 -0
  423. package/dist/components/signature-pad/signature-pad.mjs.map +1 -0
  424. package/dist/components/signature-pad/signature-pad.recipe.mjs +111 -0
  425. package/dist/components/signature-pad/signature-pad.recipe.mjs.map +1 -0
  426. package/dist/components/skeleton/index.d.mts +2 -0
  427. package/dist/components/skeleton/index.mjs +2 -0
  428. package/dist/components/skeleton/skeleton.anatomy.mjs +8 -0
  429. package/dist/components/skeleton/skeleton.anatomy.mjs.map +1 -0
  430. package/dist/components/skeleton/skeleton.connect.mjs +26 -0
  431. package/dist/components/skeleton/skeleton.connect.mjs.map +1 -0
  432. package/dist/components/skeleton/skeleton.d.mts +9 -0
  433. package/dist/components/skeleton/skeleton.d.mts.map +1 -0
  434. package/dist/components/skeleton/skeleton.mjs +16 -0
  435. package/dist/components/skeleton/skeleton.mjs.map +1 -0
  436. package/dist/components/skeleton/skeleton.recipe.mjs +46 -0
  437. package/dist/components/skeleton/skeleton.recipe.mjs.map +1 -0
  438. package/dist/components/slider/index.d.mts +2 -0
  439. package/dist/components/slider/index.mjs +2 -0
  440. package/dist/components/slider/slider.d.mts +72 -0
  441. package/dist/components/slider/slider.d.mts.map +1 -0
  442. package/dist/components/slider/slider.mjs +34 -0
  443. package/dist/components/slider/slider.mjs.map +1 -0
  444. package/dist/components/slider/slider.recipe.mjs +219 -0
  445. package/dist/components/slider/slider.recipe.mjs.map +1 -0
  446. package/dist/components/snackbar/index.d.mts +2 -0
  447. package/dist/components/snackbar/index.mjs +2 -0
  448. package/dist/components/snackbar/snackbar.d.mts +57 -0
  449. package/dist/components/snackbar/snackbar.d.mts.map +1 -0
  450. package/dist/components/snackbar/snackbar.mjs +226 -0
  451. package/dist/components/snackbar/snackbar.mjs.map +1 -0
  452. package/dist/components/snackbar/snackbar.recipe.mjs +217 -0
  453. package/dist/components/snackbar/snackbar.recipe.mjs.map +1 -0
  454. package/dist/components/spinner/index.d.mts +2 -0
  455. package/dist/components/spinner/index.mjs +2 -0
  456. package/dist/components/spinner/spinner.anatomy.mjs +8 -0
  457. package/dist/components/spinner/spinner.anatomy.mjs.map +1 -0
  458. package/dist/components/spinner/spinner.connect.mjs +27 -0
  459. package/dist/components/spinner/spinner.connect.mjs.map +1 -0
  460. package/dist/components/spinner/spinner.d.mts +10 -0
  461. package/dist/components/spinner/spinner.d.mts.map +1 -0
  462. package/dist/components/spinner/spinner.mjs +25 -0
  463. package/dist/components/spinner/spinner.mjs.map +1 -0
  464. package/dist/components/spinner/spinner.recipe.mjs +70 -0
  465. package/dist/components/spinner/spinner.recipe.mjs.map +1 -0
  466. package/dist/components/splitter/index.d.mts +2 -0
  467. package/dist/components/splitter/index.mjs +2 -0
  468. package/dist/components/splitter/splitter.d.mts +57 -0
  469. package/dist/components/splitter/splitter.d.mts.map +1 -0
  470. package/dist/components/splitter/splitter.mjs +40 -0
  471. package/dist/components/splitter/splitter.mjs.map +1 -0
  472. package/dist/components/splitter/splitter.recipe.mjs +129 -0
  473. package/dist/components/splitter/splitter.recipe.mjs.map +1 -0
  474. package/dist/components/steps/index.d.mts +2 -0
  475. package/dist/components/steps/index.mjs +2 -0
  476. package/dist/components/steps/steps.d.mts +42 -0
  477. package/dist/components/steps/steps.d.mts.map +1 -0
  478. package/dist/components/steps/steps.mjs +72 -0
  479. package/dist/components/steps/steps.mjs.map +1 -0
  480. package/dist/components/steps/steps.recipe.mjs +291 -0
  481. package/dist/components/steps/steps.recipe.mjs.map +1 -0
  482. package/dist/components/switch/index.d.mts +2 -0
  483. package/dist/components/switch/index.mjs +2 -0
  484. package/dist/components/switch/switch.d.mts +36 -0
  485. package/dist/components/switch/switch.d.mts.map +1 -0
  486. package/dist/components/switch/switch.mjs +50 -0
  487. package/dist/components/switch/switch.mjs.map +1 -0
  488. package/dist/components/switch/switch.recipe.mjs +171 -0
  489. package/dist/components/switch/switch.recipe.mjs.map +1 -0
  490. package/dist/components/table/index.d.mts +2 -0
  491. package/dist/components/table/index.mjs +2 -0
  492. package/dist/components/table/table.anatomy.mjs +8 -0
  493. package/dist/components/table/table.anatomy.mjs.map +1 -0
  494. package/dist/components/table/table.connect.mjs +50 -0
  495. package/dist/components/table/table.connect.mjs.map +1 -0
  496. package/dist/components/table/table.d.mts +10 -0
  497. package/dist/components/table/table.d.mts.map +1 -0
  498. package/dist/components/table/table.mjs +90 -0
  499. package/dist/components/table/table.mjs.map +1 -0
  500. package/dist/components/table/table.recipe.mjs +186 -0
  501. package/dist/components/table/table.recipe.mjs.map +1 -0
  502. package/dist/components/tabs/index.d.mts +2 -0
  503. package/dist/components/tabs/index.mjs +2 -0
  504. package/dist/components/tabs/tabs.d.mts +40 -0
  505. package/dist/components/tabs/tabs.d.mts.map +1 -0
  506. package/dist/components/tabs/tabs.mjs +23 -0
  507. package/dist/components/tabs/tabs.mjs.map +1 -0
  508. package/dist/components/tabs/tabs.recipe.mjs +182 -0
  509. package/dist/components/tabs/tabs.recipe.mjs.map +1 -0
  510. package/dist/components/tags-input/index.d.mts +2 -0
  511. package/dist/components/tags-input/index.mjs +2 -0
  512. package/dist/components/tags-input/tags-input.d.mts +77 -0
  513. package/dist/components/tags-input/tags-input.d.mts.map +1 -0
  514. package/dist/components/tags-input/tags-input.mjs +103 -0
  515. package/dist/components/tags-input/tags-input.mjs.map +1 -0
  516. package/dist/components/tags-input/tags-input.recipe.mjs +320 -0
  517. package/dist/components/tags-input/tags-input.recipe.mjs.map +1 -0
  518. package/dist/components/textarea/index.d.mts +2 -0
  519. package/dist/components/textarea/index.mjs +2 -0
  520. package/dist/components/textarea/textarea.anatomy.mjs +8 -0
  521. package/dist/components/textarea/textarea.anatomy.mjs.map +1 -0
  522. package/dist/components/textarea/textarea.connect.mjs +82 -0
  523. package/dist/components/textarea/textarea.connect.mjs.map +1 -0
  524. package/dist/components/textarea/textarea.d.mts +32 -0
  525. package/dist/components/textarea/textarea.d.mts.map +1 -0
  526. package/dist/components/textarea/textarea.mjs +41 -0
  527. package/dist/components/textarea/textarea.mjs.map +1 -0
  528. package/dist/components/textarea/textarea.recipe.mjs +58 -0
  529. package/dist/components/textarea/textarea.recipe.mjs.map +1 -0
  530. package/dist/components/timer/index.d.mts +2 -0
  531. package/dist/components/timer/index.mjs +2 -0
  532. package/dist/components/timer/timer.d.mts +31 -0
  533. package/dist/components/timer/timer.d.mts.map +1 -0
  534. package/dist/components/timer/timer.mjs +98 -0
  535. package/dist/components/timer/timer.mjs.map +1 -0
  536. package/dist/components/timer/timer.recipe.mjs +99 -0
  537. package/dist/components/timer/timer.recipe.mjs.map +1 -0
  538. package/dist/components/toast/index.d.mts +2 -0
  539. package/dist/components/toast/index.mjs +2 -0
  540. package/dist/components/toast/toast.d.mts +55 -0
  541. package/dist/components/toast/toast.d.mts.map +1 -0
  542. package/dist/components/toast/toast.mjs +194 -0
  543. package/dist/components/toast/toast.mjs.map +1 -0
  544. package/dist/components/toast/toast.recipe.mjs +172 -0
  545. package/dist/components/toast/toast.recipe.mjs.map +1 -0
  546. package/dist/components/toc/index.d.mts +2 -0
  547. package/dist/components/toc/index.mjs +2 -0
  548. package/dist/components/toc/toc.d.mts +47 -0
  549. package/dist/components/toc/toc.d.mts.map +1 -0
  550. package/dist/components/toc/toc.mjs +239 -0
  551. package/dist/components/toc/toc.mjs.map +1 -0
  552. package/dist/components/toc/toc.recipe.mjs +147 -0
  553. package/dist/components/toc/toc.recipe.mjs.map +1 -0
  554. package/dist/components/toggle/index.d.mts +2 -0
  555. package/dist/components/toggle/index.mjs +2 -0
  556. package/dist/components/toggle/toggle.d.mts +21 -0
  557. package/dist/components/toggle/toggle.d.mts.map +1 -0
  558. package/dist/components/toggle/toggle.mjs +34 -0
  559. package/dist/components/toggle/toggle.mjs.map +1 -0
  560. package/dist/components/toggle/toggle.recipe.mjs +175 -0
  561. package/dist/components/toggle/toggle.recipe.mjs.map +1 -0
  562. package/dist/components/toggle-group/index.d.mts +2 -0
  563. package/dist/components/toggle-group/index.mjs +2 -0
  564. package/dist/components/toggle-group/toggle-group.d.mts +29 -0
  565. package/dist/components/toggle-group/toggle-group.d.mts.map +1 -0
  566. package/dist/components/toggle-group/toggle-group.mjs +18 -0
  567. package/dist/components/toggle-group/toggle-group.mjs.map +1 -0
  568. package/dist/components/toggle-group/toggle-group.recipe.mjs +190 -0
  569. package/dist/components/toggle-group/toggle-group.recipe.mjs.map +1 -0
  570. package/dist/components/tooltip/index.d.mts +2 -0
  571. package/dist/components/tooltip/index.mjs +2 -0
  572. package/dist/components/tooltip/tooltip.d.mts +66 -0
  573. package/dist/components/tooltip/tooltip.d.mts.map +1 -0
  574. package/dist/components/tooltip/tooltip.mjs +64 -0
  575. package/dist/components/tooltip/tooltip.mjs.map +1 -0
  576. package/dist/components/tooltip/tooltip.recipe.mjs +149 -0
  577. package/dist/components/tooltip/tooltip.recipe.mjs.map +1 -0
  578. package/dist/components/tour/index.d.mts +2 -0
  579. package/dist/components/tour/index.mjs +2 -0
  580. package/dist/components/tour/tour.d.mts +92 -0
  581. package/dist/components/tour/tour.d.mts.map +1 -0
  582. package/dist/components/tour/tour.mjs +89 -0
  583. package/dist/components/tour/tour.mjs.map +1 -0
  584. package/dist/components/tour/tour.recipe.mjs +164 -0
  585. package/dist/components/tour/tour.recipe.mjs.map +1 -0
  586. package/dist/components/tree-view/index.d.mts +2 -0
  587. package/dist/components/tree-view/index.mjs +2 -0
  588. package/dist/components/tree-view/tree-view.d.mts +108 -0
  589. package/dist/components/tree-view/tree-view.d.mts.map +1 -0
  590. package/dist/components/tree-view/tree-view.mjs +145 -0
  591. package/dist/components/tree-view/tree-view.mjs.map +1 -0
  592. package/dist/components/tree-view/tree-view.recipe.mjs +458 -0
  593. package/dist/components/tree-view/tree-view.recipe.mjs.map +1 -0
  594. package/dist/icons/src/calendar.mjs +13 -0
  595. package/dist/icons/src/calendar.mjs.map +1 -0
  596. package/dist/icons/src/checkmark.mjs +13 -0
  597. package/dist/icons/src/checkmark.mjs.map +1 -0
  598. package/dist/icons/src/chevron-down.mjs +13 -0
  599. package/dist/icons/src/chevron-down.mjs.map +1 -0
  600. package/dist/icons/src/chevron-left.mjs +13 -0
  601. package/dist/icons/src/chevron-left.mjs.map +1 -0
  602. package/dist/icons/src/chevron-right.mjs +13 -0
  603. package/dist/icons/src/chevron-right.mjs.map +1 -0
  604. package/dist/icons/src/chevron-up.mjs +13 -0
  605. package/dist/icons/src/chevron-up.mjs.map +1 -0
  606. package/dist/icons/src/chevrons-left.mjs +13 -0
  607. package/dist/icons/src/chevrons-left.mjs.map +1 -0
  608. package/dist/icons/src/chevrons-right.mjs +13 -0
  609. package/dist/icons/src/chevrons-right.mjs.map +1 -0
  610. package/dist/icons/src/chevrons-up-down.mjs +13 -0
  611. package/dist/icons/src/chevrons-up-down.mjs.map +1 -0
  612. package/dist/icons/src/close.mjs +13 -0
  613. package/dist/icons/src/close.mjs.map +1 -0
  614. package/dist/icons/src/copy.mjs +13 -0
  615. package/dist/icons/src/copy.mjs.map +1 -0
  616. package/dist/icons/src/edit.mjs +13 -0
  617. package/dist/icons/src/edit.mjs.map +1 -0
  618. package/dist/icons/src/error.mjs +13 -0
  619. package/dist/icons/src/error.mjs.map +1 -0
  620. package/dist/icons/src/eyedropper.mjs +13 -0
  621. package/dist/icons/src/eyedropper.mjs.map +1 -0
  622. package/dist/icons/src/file.mjs +13 -0
  623. package/dist/icons/src/file.mjs.map +1 -0
  624. package/dist/icons/src/hide.mjs +13 -0
  625. package/dist/icons/src/hide.mjs.map +1 -0
  626. package/dist/icons/src/index.mjs +58 -0
  627. package/dist/icons/src/index.mjs.map +1 -0
  628. package/dist/icons/src/info.mjs +13 -0
  629. package/dist/icons/src/info.mjs.map +1 -0
  630. package/dist/icons/src/maximize.mjs +13 -0
  631. package/dist/icons/src/maximize.mjs.map +1 -0
  632. package/dist/icons/src/minus.mjs +13 -0
  633. package/dist/icons/src/minus.mjs.map +1 -0
  634. package/dist/icons/src/pause.mjs +13 -0
  635. package/dist/icons/src/pause.mjs.map +1 -0
  636. package/dist/icons/src/play.mjs +13 -0
  637. package/dist/icons/src/play.mjs.map +1 -0
  638. package/dist/icons/src/reset.mjs +13 -0
  639. package/dist/icons/src/reset.mjs.map +1 -0
  640. package/dist/icons/src/restore.mjs +13 -0
  641. package/dist/icons/src/restore.mjs.map +1 -0
  642. package/dist/icons/src/show.mjs +13 -0
  643. package/dist/icons/src/show.mjs.map +1 -0
  644. package/dist/icons/src/star.mjs +13 -0
  645. package/dist/icons/src/star.mjs.map +1 -0
  646. package/dist/icons/src/success.mjs +2 -0
  647. package/dist/icons/src/trash.mjs +13 -0
  648. package/dist/icons/src/trash.mjs.map +1 -0
  649. package/dist/icons/src/user.mjs +13 -0
  650. package/dist/icons/src/user.mjs.map +1 -0
  651. package/dist/icons/src/warning.mjs +13 -0
  652. package/dist/icons/src/warning.mjs.map +1 -0
  653. package/dist/index.d.mts +139 -0
  654. package/dist/index.mjs +71 -0
  655. package/dist/preset.d.mts +2 -0
  656. package/dist/preset.mjs +2 -0
  657. package/dist/provider/locale-context.mjs +36 -0
  658. package/dist/provider/locale-context.mjs.map +1 -0
  659. package/dist/provider/synapse-provider.d.mts +17 -0
  660. package/dist/provider/synapse-provider.d.mts.map +1 -0
  661. package/dist/provider/synapse-provider.mjs +59 -0
  662. package/dist/provider/synapse-provider.mjs.map +1 -0
  663. package/dist/provider/translations.d.mts +179 -0
  664. package/dist/provider/translations.d.mts.map +1 -0
  665. package/dist/provider/translations.mjs +201 -0
  666. package/dist/provider/translations.mjs.map +1 -0
  667. package/dist/provider/use-theme.d.mts +7 -0
  668. package/dist/provider/use-theme.d.mts.map +1 -0
  669. package/dist/provider/use-theme.mjs +37 -0
  670. package/dist/provider/use-theme.mjs.map +1 -0
  671. package/dist/react/styled-system/css/conditions.mjs +29 -0
  672. package/dist/react/styled-system/css/conditions.mjs.map +1 -0
  673. package/dist/react/styled-system/css/css.mjs +39 -0
  674. package/dist/react/styled-system/css/css.mjs.map +1 -0
  675. package/dist/react/styled-system/css/cva.mjs +66 -0
  676. package/dist/react/styled-system/css/cva.mjs.map +1 -0
  677. package/dist/react/styled-system/css/cx.mjs +13 -0
  678. package/dist/react/styled-system/css/cx.mjs.map +1 -0
  679. package/dist/react/styled-system/css/sva.mjs +44 -0
  680. package/dist/react/styled-system/css/sva.mjs.map +1 -0
  681. package/dist/react/styled-system/helpers.mjs +231 -0
  682. package/dist/react/styled-system/helpers.mjs.map +1 -0
  683. package/dist/shared/button-style.mjs +10 -0
  684. package/dist/shared/button-style.mjs.map +1 -0
  685. package/dist/shared/character-count.mjs +29 -0
  686. package/dist/shared/character-count.mjs.map +1 -0
  687. package/dist/shared/collection-internal.mjs +24 -0
  688. package/dist/shared/collection-internal.mjs.map +1 -0
  689. package/dist/shared/collection.d.mts +120 -0
  690. package/dist/shared/collection.d.mts.map +1 -0
  691. package/dist/shared/collection.mjs +395 -0
  692. package/dist/shared/collection.mjs.map +1 -0
  693. package/dist/shared/controller.d.mts +4 -0
  694. package/dist/shared/controller.d.mts.map +1 -0
  695. package/dist/shared/controller.mjs +53 -0
  696. package/dist/shared/controller.mjs.map +1 -0
  697. package/dist/shared/field-context.mjs +47 -0
  698. package/dist/shared/field-context.mjs.map +1 -0
  699. package/dist/shared/field-description.mjs +13 -0
  700. package/dist/shared/field-description.mjs.map +1 -0
  701. package/dist/shared/icon.mjs +23 -0
  702. package/dist/shared/icon.mjs.map +1 -0
  703. package/dist/shared/input-modality.mjs +47 -0
  704. package/dist/shared/input-modality.mjs.map +1 -0
  705. package/dist/shared/input-style.mjs +10 -0
  706. package/dist/shared/input-style.mjs.map +1 -0
  707. package/dist/shared/layering.d.mts +17 -0
  708. package/dist/shared/layering.d.mts.map +1 -0
  709. package/dist/shared/layering.mjs +37 -0
  710. package/dist/shared/layering.mjs.map +1 -0
  711. package/dist/shared/notification.d.mts +10 -0
  712. package/dist/shared/notification.d.mts.map +1 -0
  713. package/dist/shared/notification.mjs +105 -0
  714. package/dist/shared/notification.mjs.map +1 -0
  715. package/dist/shared/reduced-motion.mjs +19 -0
  716. package/dist/shared/reduced-motion.mjs.map +1 -0
  717. package/dist/shared/select-indicator.mjs +40 -0
  718. package/dist/shared/select-indicator.mjs.map +1 -0
  719. package/dist/shared/size-scale.d.mts +6 -0
  720. package/dist/shared/size-scale.d.mts.map +1 -0
  721. package/dist/shared/size-scale.mjs +28 -0
  722. package/dist/shared/size-scale.mjs.map +1 -0
  723. package/dist/shared/state-parts.mjs +123 -0
  724. package/dist/shared/state-parts.mjs.map +1 -0
  725. package/dist/shared/text-entry.mjs +54 -0
  726. package/dist/shared/text-entry.mjs.map +1 -0
  727. package/dist/styles.css +6238 -0
  728. package/dist/system/as-child.mjs +42 -0
  729. package/dist/system/as-child.mjs.map +1 -0
  730. package/dist/system/context.mjs +54 -0
  731. package/dist/system/context.mjs.map +1 -0
  732. package/dist/system/controlled.mjs +45 -0
  733. package/dist/system/controlled.mjs.map +1 -0
  734. package/dist/system/create-component.mjs +285 -0
  735. package/dist/system/create-component.mjs.map +1 -0
  736. package/dist/system/create-part.mjs +123 -0
  737. package/dist/system/create-part.mjs.map +1 -0
  738. package/dist/system/dev-warn.mjs +13 -0
  739. package/dist/system/dev-warn.mjs.map +1 -0
  740. package/dist/system/getters.mjs +24 -0
  741. package/dist/system/getters.mjs.map +1 -0
  742. package/dist/system/merge-props.d.mts +5 -0
  743. package/dist/system/merge-props.d.mts.map +1 -0
  744. package/dist/system/merge-props.mjs +95 -0
  745. package/dist/system/merge-props.mjs.map +1 -0
  746. package/dist/system/react-node.mjs +17 -0
  747. package/dist/system/react-node.mjs.map +1 -0
  748. package/dist/system/refs.mjs +21 -0
  749. package/dist/system/refs.mjs.map +1 -0
  750. package/dist/system/styled-component.mjs +15 -0
  751. package/dist/system/styled-component.mjs.map +1 -0
  752. package/dist/system/types.d.mts +47 -0
  753. package/dist/system/types.d.mts.map +1 -0
  754. package/dist/tokens/dist/preset.d.mts +6 -0
  755. package/dist/tokens/dist/preset.d.mts.map +1 -0
  756. package/dist/tokens/dist/preset.mjs +997 -0
  757. package/dist/tokens/dist/preset.mjs.map +1 -0
  758. package/package.json +409 -4
  759. package/skills/components/accordion/SKILL.md +138 -0
  760. package/skills/components/alert/SKILL.md +126 -0
  761. package/skills/components/angle-slider/SKILL.md +155 -0
  762. package/skills/components/avatar/SKILL.md +123 -0
  763. package/skills/components/badge/SKILL.md +117 -0
  764. package/skills/components/breadcrumb/SKILL.md +128 -0
  765. package/skills/components/button/SKILL.md +122 -0
  766. package/skills/components/card/SKILL.md +126 -0
  767. package/skills/components/carousel/SKILL.md +176 -0
  768. package/skills/components/cascade-select/SKILL.md +206 -0
  769. package/skills/components/checkbox/SKILL.md +149 -0
  770. package/skills/components/clipboard/SKILL.md +139 -0
  771. package/skills/components/collapsible/SKILL.md +130 -0
  772. package/skills/components/color-picker/SKILL.md +216 -0
  773. package/skills/components/combobox/SKILL.md +218 -0
  774. package/skills/components/date-input/SKILL.md +157 -0
  775. package/skills/components/date-picker/SKILL.md +235 -0
  776. package/skills/components/dialog/SKILL.md +159 -0
  777. package/skills/components/drawer/SKILL.md +192 -0
  778. package/skills/components/editable/SKILL.md +162 -0
  779. package/skills/components/empty-state/SKILL.md +125 -0
  780. package/skills/components/field/SKILL.md +133 -0
  781. package/skills/components/fieldset/SKILL.md +123 -0
  782. package/skills/components/file-upload/SKILL.md +184 -0
  783. package/skills/components/floating-panel/SKILL.md +206 -0
  784. package/skills/components/hover-card/SKILL.md +173 -0
  785. package/skills/components/image-cropper/SKILL.md +158 -0
  786. package/skills/components/input/SKILL.md +131 -0
  787. package/skills/components/kbd/SKILL.md +116 -0
  788. package/skills/components/listbox/SKILL.md +172 -0
  789. package/skills/components/marquee/SKILL.md +151 -0
  790. package/skills/components/menu/SKILL.md +202 -0
  791. package/skills/components/navigation-menu/SKILL.md +172 -0
  792. package/skills/components/number-input/SKILL.md +177 -0
  793. package/skills/components/pagination/SKILL.md +159 -0
  794. package/skills/components/password-input/SKILL.md +156 -0
  795. package/skills/components/pin-input/SKILL.md +157 -0
  796. package/skills/components/popover/SKILL.md +166 -0
  797. package/skills/components/progress/SKILL.md +144 -0
  798. package/skills/components/qr-code/SKILL.md +132 -0
  799. package/skills/components/radio-group/SKILL.md +153 -0
  800. package/skills/components/rating-group/SKILL.md +151 -0
  801. package/skills/components/scroll-area/SKILL.md +149 -0
  802. package/skills/components/select/SKILL.md +202 -0
  803. package/skills/components/separator/SKILL.md +114 -0
  804. package/skills/components/signature-pad/SKILL.md +161 -0
  805. package/skills/components/skeleton/SKILL.md +114 -0
  806. package/skills/components/slider/SKILL.md +178 -0
  807. package/skills/components/snackbar/SKILL.md +154 -0
  808. package/skills/components/spinner/SKILL.md +122 -0
  809. package/skills/components/splitter/SKILL.md +136 -0
  810. package/skills/components/steps/SKILL.md +150 -0
  811. package/skills/components/switch/SKILL.md +144 -0
  812. package/skills/components/table/SKILL.md +144 -0
  813. package/skills/components/tabs/SKILL.md +138 -0
  814. package/skills/components/tags-input/SKILL.md +194 -0
  815. package/skills/components/textarea/SKILL.md +131 -0
  816. package/skills/components/timer/SKILL.md +142 -0
  817. package/skills/components/toast/SKILL.md +129 -0
  818. package/skills/components/toc/SKILL.md +141 -0
  819. package/skills/components/toggle/SKILL.md +125 -0
  820. package/skills/components/toggle-group/SKILL.md +129 -0
  821. package/skills/components/tooltip/SKILL.md +188 -0
  822. package/skills/components/tour/SKILL.md +158 -0
  823. package/skills/components/tree-view/SKILL.md +180 -0
  824. package/skills/synapse/SKILL.md +301 -0
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ import { devWarn } from "../system/dev-warn.mjs";
3
+ import { rootContextOf } from "../system/context.mjs";
4
+ //#region src/shared/controller.ts
5
+ const isObjectLike = (value) => typeof value === "object" && value !== null || typeof value === "function";
6
+ function isController(value, commands) {
7
+ return commands.every((name) => typeof value[name] === "function");
8
+ }
9
+ const RENDERING_MEMBER = /^(get[A-Z][A-Za-z]*Props|render|children|element|ref)$/;
10
+ function defineController(definition) {
11
+ const { component, root, hook, commands } = definition;
12
+ const rendering = commands.filter((name) => RENDERING_MEMBER.test(name));
13
+ if (rendering.length > 0) throw new Error(`[synapse] ${component}: a controller may not expose ${rendering.join(", ")}. A controller commands; it does not render. Render through the component's parts instead.`);
14
+ const duplicates = commands.filter((name, index) => commands.indexOf(name) !== index);
15
+ if (duplicates.length > 0) throw new Error(`[synapse] ${component}: duplicate controller command ${duplicates[0]}.`);
16
+ const cache = /* @__PURE__ */ new WeakMap();
17
+ const from = (api) => {
18
+ if (api === null || api === void 0) throw new Error(`[synapse] ${hook}() was called outside <${root}>. Render <${root}> above the component that calls ${hook}().`);
19
+ const cacheable = isObjectLike(api);
20
+ if (cacheable) {
21
+ const cached = cache.get(api);
22
+ if (cached) return cached;
23
+ }
24
+ const projected = {};
25
+ for (const name of commands) {
26
+ const member = cacheable ? Reflect.get(api, name) : void 0;
27
+ if (typeof member !== "function") throw new Error(`[synapse] ${component}: controller command "${name}" is not a function on the machine api. A controller exposes only commands the machine already provides.`);
28
+ projected[name] = (...args) => Reflect.apply(member, api, args);
29
+ }
30
+ devWarn(commands.length === 0, `${component}: controller exposes no commands, so ${hook}() can do nothing.`);
31
+ const controller = Object.freeze(projected);
32
+ if (!isController(controller, commands)) throw new Error(`[synapse] ${component}: the controller lost a command while it was built.`);
33
+ if (cacheable) cache.set(api, controller);
34
+ return controller;
35
+ };
36
+ return {
37
+ component,
38
+ commands,
39
+ from
40
+ };
41
+ }
42
+ function createControllerHook(component, convention) {
43
+ const context = rootContextOf(component);
44
+ if (context === null) throw new Error(`[synapse] ${convention.component}: createControllerHook was given something this factory did not build, so there is no context to read the machine from.`);
45
+ return function useController() {
46
+ const value = context.useRootValue();
47
+ return convention.from(value === null ? null : value.api);
48
+ };
49
+ }
50
+ //#endregion
51
+ export { createControllerHook, defineController };
52
+
53
+ //# sourceMappingURL=controller.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.mjs","names":[],"sources":["../../src/shared/controller.ts"],"sourcesContent":["'use client'\n\nimport { rootContextOf } from '#/system/context.ts'\nimport { devWarn } from '#/system/dev-warn.ts'\n\ntype AnyCommand = (...args: never[]) => unknown\n\nexport type CommandKeys<TApi> = {\n [K in keyof TApi]-?: TApi[K] extends AnyCommand ? K : never\n}[keyof TApi] &\n string\n\nexport type Controller<TApi, TCommand extends keyof TApi> = {\n readonly [K in TCommand]: TApi[K]\n}\n\nexport interface ControllerDefinition<TCommand extends string> {\n readonly component: string\n readonly root: string\n readonly hook: string\n readonly commands: readonly TCommand[]\n}\n\nexport interface ControllerConvention<TApi, TCommand extends keyof TApi & string> {\n readonly component: string\n readonly commands: readonly TCommand[]\n from: (api: unknown) => Controller<TApi, TCommand>\n}\n\nconst isObjectLike = (value: unknown): value is object =>\n (typeof value === 'object' && value !== null) || typeof value === 'function'\n\nfunction isController<TApi, TCommand extends keyof TApi & string>(\n value: Readonly<Record<string, unknown>>,\n commands: readonly TCommand[],\n): value is Readonly<Record<string, unknown>> & Controller<TApi, TCommand> {\n return commands.every((name) => typeof value[name] === 'function')\n}\n\nconst RENDERING_MEMBER = /^(get[A-Z][A-Za-z]*Props|render|children|element|ref)$/\n\nexport function defineController<TApi, const TCommand extends CommandKeys<TApi>>(\n definition: ControllerDefinition<TCommand>,\n): ControllerConvention<TApi, TCommand> {\n const { component, root, hook, commands } = definition\n\n const rendering = commands.filter((name) => RENDERING_MEMBER.test(name))\n if (rendering.length > 0) {\n throw new Error(\n `[synapse] ${component}: a controller may not expose ${rendering.join(', ')}. ` +\n 'A controller commands; it does not render. Render through the ' +\n \"component's parts instead.\",\n )\n }\n\n const duplicates = commands.filter((name, index) => commands.indexOf(name) !== index)\n if (duplicates.length > 0) {\n throw new Error(`[synapse] ${component}: duplicate controller command ${duplicates[0]}.`)\n }\n\n const cache = new WeakMap<object, Controller<TApi, TCommand>>()\n\n const from = (api: unknown): Controller<TApi, TCommand> => {\n if (api === null || api === undefined) {\n throw new Error(\n `[synapse] ${hook}() was called outside <${root}>. ` +\n `Render <${root}> above the component that calls ${hook}().`,\n )\n }\n\n const cacheable = isObjectLike(api)\n if (cacheable) {\n const cached = cache.get(api)\n if (cached) return cached\n }\n\n const projected: Record<string, AnyCommand> = {}\n for (const name of commands) {\n const member: unknown = cacheable ? Reflect.get(api, name) : undefined\n if (typeof member !== 'function') {\n throw new Error(\n `[synapse] ${component}: controller command \"${name}\" is not a function on the ` +\n 'machine api. A controller exposes only commands the machine already provides.',\n )\n }\n projected[name] = (...args: never[]): unknown => Reflect.apply(member, api, args)\n }\n\n devWarn(\n commands.length === 0,\n `${component}: controller exposes no commands, so ${hook}() can do nothing.`,\n )\n\n const controller = Object.freeze(projected)\n if (!isController<TApi, TCommand>(controller, commands)) {\n throw new Error(`[synapse] ${component}: the controller lost a command while it was built.`)\n }\n if (cacheable) cache.set(api, controller)\n return controller\n }\n\n return { component, commands, from }\n}\n\nexport function createControllerHook<TApi, TCommand extends keyof TApi & string>(\n component: object,\n convention: ControllerConvention<TApi, TCommand>,\n): () => Controller<TApi, TCommand> {\n const context = rootContextOf(component)\n if (context === null) {\n throw new Error(\n `[synapse] ${convention.component}: createControllerHook was given something this ` +\n 'factory did not build, so there is no context to read the machine from.',\n )\n }\n\n return function useController(): Controller<TApi, TCommand> {\n const value = context.useRootValue()\n return convention.from(value === null ? null : value.api)\n }\n}\n"],"mappings":";;;;AA6BA,MAAM,gBAAgB,UACnB,OAAO,UAAU,YAAY,UAAU,QAAS,OAAO,UAAU;AAEpE,SAAS,aACP,OACA,UACyE;CACzE,OAAO,SAAS,OAAO,SAAS,OAAO,MAAM,UAAU,UAAU;AACnE;AAEA,MAAM,mBAAmB;AAEzB,SAAgB,iBACd,YACsC;CACtC,MAAM,EAAE,WAAW,MAAM,MAAM,aAAa;CAE5C,MAAM,YAAY,SAAS,QAAQ,SAAS,iBAAiB,KAAK,IAAI,CAAC;CACvE,IAAI,UAAU,SAAS,GACrB,MAAM,IAAI,MACR,aAAa,UAAU,gCAAgC,UAAU,KAAK,IAAI,EAAE,2FAG9E;CAGF,MAAM,aAAa,SAAS,QAAQ,MAAM,UAAU,SAAS,QAAQ,IAAI,MAAM,KAAK;CACpF,IAAI,WAAW,SAAS,GACtB,MAAM,IAAI,MAAM,aAAa,UAAU,iCAAiC,WAAW,GAAG,EAAE;CAG1F,MAAM,wBAAQ,IAAI,QAA4C;CAE9D,MAAM,QAAQ,QAA6C;EACzD,IAAI,QAAQ,QAAQ,QAAQ,KAAA,GAC1B,MAAM,IAAI,MACR,aAAa,KAAK,yBAAyB,KAAK,aACnC,KAAK,mCAAmC,KAAK,IAC5D;EAGF,MAAM,YAAY,aAAa,GAAG;EAClC,IAAI,WAAW;GACb,MAAM,SAAS,MAAM,IAAI,GAAG;GAC5B,IAAI,QAAQ,OAAO;EACrB;EAEA,MAAM,YAAwC,CAAC;EAC/C,KAAK,MAAM,QAAQ,UAAU;GAC3B,MAAM,SAAkB,YAAY,QAAQ,IAAI,KAAK,IAAI,IAAI,KAAA;GAC7D,IAAI,OAAO,WAAW,YACpB,MAAM,IAAI,MACR,aAAa,UAAU,wBAAwB,KAAK,yGAEtD;GAEF,UAAU,SAAS,GAAG,SAA2B,QAAQ,MAAM,QAAQ,KAAK,IAAI;EAClF;EAEA,QACE,SAAS,WAAW,GACpB,GAAG,UAAU,uCAAuC,KAAK,mBAC3D;EAEA,MAAM,aAAa,OAAO,OAAO,SAAS;EAC1C,IAAI,CAAC,aAA6B,YAAY,QAAQ,GACpD,MAAM,IAAI,MAAM,aAAa,UAAU,oDAAoD;EAE7F,IAAI,WAAW,MAAM,IAAI,KAAK,UAAU;EACxC,OAAO;CACT;CAEA,OAAO;EAAE;EAAW;EAAU;CAAK;AACrC;AAEA,SAAgB,qBACd,WACA,YACkC;CAClC,MAAM,UAAU,cAAc,SAAS;CACvC,IAAI,YAAY,MACd,MAAM,IAAI,MACR,aAAa,WAAW,UAAU,wHAEpC;CAGF,OAAO,SAAS,gBAA4C;EAC1D,MAAM,QAAQ,QAAQ,aAAa;EACnC,OAAO,WAAW,KAAK,UAAU,OAAO,OAAO,MAAM,GAAG;CAC1D;AACF"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { createContext, useCallback, useContext, useLayoutEffect, useMemo, useState } from "react";
3
+ //#region src/shared/field-context.ts
4
+ const FIELD_STATES = [
5
+ "invalid",
6
+ "required",
7
+ "disabled",
8
+ "readOnly"
9
+ ];
10
+ const FieldContext = createContext(null);
11
+ FieldContext.displayName = "FieldContext";
12
+ function useFieldContext() {
13
+ return useContext(FieldContext);
14
+ }
15
+ const DescriptionContext = createContext(null);
16
+ DescriptionContext.displayName = "DescriptionContext";
17
+ function useDescriptionRegistry() {
18
+ const [ids, setIds] = useState([]);
19
+ const register = useCallback((id) => {
20
+ setIds((current) => current.includes(id) ? current : [...current, id]);
21
+ return () => {
22
+ setIds((current) => current.filter((existing) => existing !== id));
23
+ };
24
+ }, []);
25
+ return useMemo(() => ({
26
+ describedBy: ids.length === 0 ? void 0 : ids.join(" "),
27
+ register
28
+ }), [ids, register]);
29
+ }
30
+ function useRegisteredDescription(id) {
31
+ const register = useContext(DescriptionContext)?.register;
32
+ useLayoutEffect(() => {
33
+ if (register === void 0 || typeof id !== "string") return void 0;
34
+ return register(id);
35
+ }, [register, id]);
36
+ }
37
+ function useLabelability(field, labelable) {
38
+ const markUnlabelable = field?.markUnlabelable;
39
+ useLayoutEffect(() => {
40
+ if (markUnlabelable === void 0 || labelable) return void 0;
41
+ return markUnlabelable();
42
+ }, [markUnlabelable, labelable]);
43
+ }
44
+ //#endregion
45
+ export { DescriptionContext, FIELD_STATES, FieldContext, useDescriptionRegistry, useFieldContext, useLabelability, useRegisteredDescription };
46
+
47
+ //# sourceMappingURL=field-context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-context.mjs","names":[],"sources":["../../src/shared/field-context.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useCallback, useContext, useLayoutEffect, useMemo, useState } from 'react'\n\nexport type FieldState = 'invalid' | 'required' | 'disabled' | 'readOnly'\n\nexport const FIELD_STATES: readonly FieldState[] = ['invalid', 'required', 'disabled', 'readOnly']\n\nexport interface FieldIds {\n readonly label: string\n readonly control: string\n}\n\nexport interface FieldContextValue {\n readonly ids: FieldIds\n readonly invalid: boolean\n readonly required: boolean\n readonly disabled: boolean\n readonly readOnly: boolean\n readonly describedBy: string | undefined\n readonly markUnlabelable: () => () => void\n}\n\nexport const FieldContext = createContext<FieldContextValue | null>(null)\nFieldContext.displayName = 'FieldContext'\n\nexport function useFieldContext(): FieldContextValue | null {\n return useContext(FieldContext)\n}\n\nexport interface DescriptionRegistry {\n readonly describedBy: string | undefined\n readonly register: (id: string) => () => void\n}\n\nexport const DescriptionContext = createContext<DescriptionRegistry | null>(null)\nDescriptionContext.displayName = 'DescriptionContext'\n\nexport function useDescriptionRegistry(): DescriptionRegistry {\n const [ids, setIds] = useState<readonly string[]>([])\n\n const register = useCallback((id: string) => {\n setIds((current) => (current.includes(id) ? current : [...current, id]))\n return () => {\n setIds((current) => current.filter((existing) => existing !== id))\n }\n }, [])\n\n return useMemo(\n () => ({ describedBy: ids.length === 0 ? undefined : ids.join(' '), register }),\n [ids, register],\n )\n}\n\nexport function useRegisteredDescription(id: unknown): void {\n const register = useContext(DescriptionContext)?.register\n useLayoutEffect(() => {\n if (register === undefined || typeof id !== 'string') return undefined\n return register(id)\n }, [register, id])\n}\n\nexport function useLabelability(field: FieldContextValue | null, labelable: boolean): void {\n const markUnlabelable = field?.markUnlabelable\n useLayoutEffect(() => {\n if (markUnlabelable === undefined || labelable) return undefined\n return markUnlabelable()\n }, [markUnlabelable, labelable])\n}\n"],"mappings":";;;AAMA,MAAa,eAAsC;CAAC;CAAW;CAAY;CAAY;AAAU;AAiBjG,MAAa,eAAe,cAAwC,IAAI;AACxE,aAAa,cAAc;AAE3B,SAAgB,kBAA4C;CAC1D,OAAO,WAAW,YAAY;AAChC;AAOA,MAAa,qBAAqB,cAA0C,IAAI;AAChF,mBAAmB,cAAc;AAEjC,SAAgB,yBAA8C;CAC5D,MAAM,CAAC,KAAK,UAAU,SAA4B,CAAC,CAAC;CAEpD,MAAM,WAAW,aAAa,OAAe;EAC3C,QAAQ,YAAa,QAAQ,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,SAAS,EAAE,CAAE;EACvE,aAAa;GACX,QAAQ,YAAY,QAAQ,QAAQ,aAAa,aAAa,EAAE,CAAC;EACnE;CACF,GAAG,CAAC,CAAC;CAEL,OAAO,eACE;EAAE,aAAa,IAAI,WAAW,IAAI,KAAA,IAAY,IAAI,KAAK,GAAG;EAAG;CAAS,IAC7E,CAAC,KAAK,QAAQ,CAChB;AACF;AAEA,SAAgB,yBAAyB,IAAmB;CAC1D,MAAM,WAAW,WAAW,kBAAkB,CAAC,EAAE;CACjD,sBAAsB;EACpB,IAAI,aAAa,KAAA,KAAa,OAAO,OAAO,UAAU,OAAO,KAAA;EAC7D,OAAO,SAAS,EAAE;CACpB,GAAG,CAAC,UAAU,EAAE,CAAC;AACnB;AAEA,SAAgB,gBAAgB,OAAiC,WAA0B;CACzF,MAAM,kBAAkB,OAAO;CAC/B,sBAAsB;EACpB,IAAI,oBAAoB,KAAA,KAAa,WAAW,OAAO,KAAA;EACvD,OAAO,gBAAgB;CACzB,GAAG,CAAC,iBAAiB,SAAS,CAAC;AACjC"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { useRegisteredDescription } from "./field-context.mjs";
3
+ import { createElement } from "react";
4
+ //#region src/shared/field-description.tsx
5
+ function FieldDescription(props) {
6
+ useRegisteredDescription(props.hidden === true ? void 0 : props.id);
7
+ if (props.hidden === true) return null;
8
+ return createElement("div", props);
9
+ }
10
+ //#endregion
11
+ export { FieldDescription };
12
+
13
+ //# sourceMappingURL=field-description.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-description.mjs","names":[],"sources":["../../src/shared/field-description.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, type ComponentProps, type ReactNode } from 'react'\n\nimport { useRegisteredDescription } from '#/shared/field-context.ts'\n\nexport function FieldDescription(props: ComponentProps<'div'>): ReactNode {\n useRegisteredDescription(props.hidden === true ? undefined : props.id)\n if (props.hidden === true) return null\n return createElement('div', props)\n}\n"],"mappings":";;;;AAMA,SAAgB,iBAAiB,OAAyC;CACxE,yBAAyB,MAAM,WAAW,OAAO,KAAA,IAAY,MAAM,EAAE;CACrE,IAAI,MAAM,WAAW,MAAM,OAAO;CAClC,OAAO,cAAc,OAAO,KAAK;AACnC"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { iconAttributes } from "../icons/src/index.mjs";
3
+ import { css } from "../react/styled-system/css/css.mjs";
4
+ import { cx } from "../react/styled-system/css/cx.mjs";
5
+ import { createElement } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/shared/icon.tsx
8
+ const mirrored = css({ _rtl: { transform: "scaleX(-1)" } });
9
+ function Icon({ icon, className }) {
10
+ const classes = icon.directional ? cx(mirrored, className) : className;
11
+ return /* @__PURE__ */ jsx("svg", {
12
+ ...iconAttributes(icon),
13
+ ...classes === void 0 ? {} : { className: classes },
14
+ children: icon.nodes.map(([tag, attributes]) => createElement(tag, {
15
+ key: `${tag}:${JSON.stringify(attributes)}`,
16
+ ...attributes
17
+ }))
18
+ });
19
+ }
20
+ //#endregion
21
+ export { Icon };
22
+
23
+ //# sourceMappingURL=icon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.mjs","names":[],"sources":["../../src/shared/icon.tsx"],"sourcesContent":["'use client'\n\nimport { type IconGeometry, iconAttributes } from '@neurocle/synapse-icons'\nimport { createElement, type ReactNode } from 'react'\n\nimport { css, cx } from '#styled-system/css/index.js'\n\nexport interface IconProps {\n icon: IconGeometry\n className?: string\n}\n\nconst mirrored = css({ _rtl: { transform: 'scaleX(-1)' } })\n\nexport function Icon({ icon, className }: IconProps): ReactNode {\n const classes = icon.directional ? cx(mirrored, className) : className\n return (\n <svg {...iconAttributes(icon)} {...(classes === undefined ? {} : { className: classes })}>\n {icon.nodes.map(([tag, attributes]) =>\n createElement(tag, { key: `${tag}:${JSON.stringify(attributes)}`, ...attributes }),\n )}\n </svg>\n )\n}\n"],"mappings":";;;;;;;AAYA,MAAM,WAAW,IAAI,EAAE,MAAM,EAAE,WAAW,aAAa,EAAE,CAAC;AAE1D,SAAgB,KAAK,EAAE,MAAM,aAAmC;CAC9D,MAAM,UAAU,KAAK,cAAc,GAAG,UAAU,SAAS,IAAI;CAC7D,OACE,oBAAC,OAAD;EAAK,GAAI,eAAe,IAAI;EAAG,GAAK,YAAY,KAAA,IAAY,CAAC,IAAI,EAAE,WAAW,QAAQ;EACnF,UAAA,KAAK,MAAM,KAAK,CAAC,KAAK,gBACrB,cAAc,KAAK;GAAE,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,UAAU;GAAK,GAAG;EAAW,CAAC,CACnF;CACG,CAAA;AAET"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ //#region src/shared/input-modality.ts
4
+ const INPUT_MODALITY_ATTRIBUTE = "data-synapse-input";
5
+ let subscribers = 0;
6
+ let stopTracking = null;
7
+ function track(doc) {
8
+ const root = doc.documentElement;
9
+ const onPointerDown = () => {
10
+ root.setAttribute(INPUT_MODALITY_ATTRIBUTE, "pointer");
11
+ };
12
+ const onPointerMove = (event) => {
13
+ if (event.movementX === 0 && event.movementY === 0) return;
14
+ if (root.getAttribute("data-synapse-input") === "pointer") return;
15
+ root.setAttribute(INPUT_MODALITY_ATTRIBUTE, "pointer");
16
+ };
17
+ const onKeyDown = (event) => {
18
+ if (event.metaKey || event.ctrlKey || event.altKey) return;
19
+ root.setAttribute(INPUT_MODALITY_ATTRIBUTE, "keyboard");
20
+ };
21
+ doc.addEventListener("pointerdown", onPointerDown, true);
22
+ doc.addEventListener("pointermove", onPointerMove, true);
23
+ doc.addEventListener("keydown", onKeyDown, true);
24
+ return () => {
25
+ doc.removeEventListener("pointerdown", onPointerDown, true);
26
+ doc.removeEventListener("pointermove", onPointerMove, true);
27
+ doc.removeEventListener("keydown", onKeyDown, true);
28
+ root.removeAttribute(INPUT_MODALITY_ATTRIBUTE);
29
+ };
30
+ }
31
+ function useInputModality() {
32
+ useEffect(() => {
33
+ subscribers += 1;
34
+ if (subscribers === 1) stopTracking = track(document);
35
+ return () => {
36
+ subscribers -= 1;
37
+ if (subscribers === 0) {
38
+ stopTracking?.();
39
+ stopTracking = null;
40
+ }
41
+ };
42
+ }, []);
43
+ }
44
+ //#endregion
45
+ export { INPUT_MODALITY_ATTRIBUTE, useInputModality };
46
+
47
+ //# sourceMappingURL=input-modality.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-modality.mjs","names":[],"sources":["../../src/shared/input-modality.ts"],"sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\n\nexport const INPUT_MODALITY_ATTRIBUTE = 'data-synapse-input'\n\nlet subscribers = 0\nlet stopTracking: (() => void) | null = null\n\nfunction track(doc: Document): () => void {\n const root = doc.documentElement\n const onPointerDown = (): void => {\n root.setAttribute(INPUT_MODALITY_ATTRIBUTE, 'pointer')\n }\n const onPointerMove = (event: PointerEvent): void => {\n if (event.movementX === 0 && event.movementY === 0) return\n if (root.getAttribute(INPUT_MODALITY_ATTRIBUTE) === 'pointer') return\n root.setAttribute(INPUT_MODALITY_ATTRIBUTE, 'pointer')\n }\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.metaKey || event.ctrlKey || event.altKey) return\n root.setAttribute(INPUT_MODALITY_ATTRIBUTE, 'keyboard')\n }\n doc.addEventListener('pointerdown', onPointerDown, true)\n doc.addEventListener('pointermove', onPointerMove, true)\n doc.addEventListener('keydown', onKeyDown, true)\n return () => {\n doc.removeEventListener('pointerdown', onPointerDown, true)\n doc.removeEventListener('pointermove', onPointerMove, true)\n doc.removeEventListener('keydown', onKeyDown, true)\n root.removeAttribute(INPUT_MODALITY_ATTRIBUTE)\n }\n}\n\nexport function useInputModality(): void {\n useEffect(() => {\n subscribers += 1\n if (subscribers === 1) stopTracking = track(document)\n return () => {\n subscribers -= 1\n if (subscribers === 0) {\n stopTracking?.()\n stopTracking = null\n }\n }\n }, [])\n}\n"],"mappings":";;;AAIA,MAAa,2BAA2B;AAExC,IAAI,cAAc;AAClB,IAAI,eAAoC;AAExC,SAAS,MAAM,KAA2B;CACxC,MAAM,OAAO,IAAI;CACjB,MAAM,sBAA4B;EAChC,KAAK,aAAa,0BAA0B,SAAS;CACvD;CACA,MAAM,iBAAiB,UAA8B;EACnD,IAAI,MAAM,cAAc,KAAK,MAAM,cAAc,GAAG;EACpD,IAAI,KAAK,aAAA,oBAAqC,MAAM,WAAW;EAC/D,KAAK,aAAa,0BAA0B,SAAS;CACvD;CACA,MAAM,aAAa,UAA+B;EAChD,IAAI,MAAM,WAAW,MAAM,WAAW,MAAM,QAAQ;EACpD,KAAK,aAAa,0BAA0B,UAAU;CACxD;CACA,IAAI,iBAAiB,eAAe,eAAe,IAAI;CACvD,IAAI,iBAAiB,eAAe,eAAe,IAAI;CACvD,IAAI,iBAAiB,WAAW,WAAW,IAAI;CAC/C,aAAa;EACX,IAAI,oBAAoB,eAAe,eAAe,IAAI;EAC1D,IAAI,oBAAoB,eAAe,eAAe,IAAI;EAC1D,IAAI,oBAAoB,WAAW,WAAW,IAAI;EAClD,KAAK,gBAAgB,wBAAwB;CAC/C;AACF;AAEA,SAAgB,mBAAyB;CACvC,gBAAgB;EACd,eAAe;EACf,IAAI,gBAAgB,GAAG,eAAe,MAAM,QAAQ;EACpD,aAAa;GACX,eAAe;GACf,IAAI,gBAAgB,GAAG;IACrB,eAAe;IACf,eAAe;GACjB;EACF;CACF,GAAG,CAAC,CAAC;AACP"}
@@ -0,0 +1,10 @@
1
+ import { css } from "../react/styled-system/css/css.mjs";
2
+ import { inputRecipe } from "../components/input/input.recipe.mjs";
3
+ //#region src/shared/input-style.ts
4
+ function inputPartClass(size, own) {
5
+ return css(inputRecipe.raw({ size }).root, own);
6
+ }
7
+ //#endregion
8
+ export { inputPartClass };
9
+
10
+ //# sourceMappingURL=input-style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-style.mjs","names":[],"sources":["../../src/shared/input-style.ts"],"sourcesContent":["import { inputRecipe } from '#/components/input/input.recipe.ts'\nimport type { Size } from '#/shared/size-scale.ts'\nimport { css } from '#styled-system/css/index.js'\nimport type { SystemStyleObject } from '#styled-system/types/index.js'\n\nexport function inputPartClass(size: Size, own?: SystemStyleObject): string {\n return css(inputRecipe.raw({ size }).root, own)\n}\n"],"mappings":";;;AAKA,SAAgB,eAAe,MAAY,KAAiC;CAC1E,OAAO,IAAI,YAAY,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG;AAChD"}
@@ -0,0 +1,17 @@
1
+ import { CSSProperties, ReactNode } from "react";
2
+ //#region src/shared/layering.d.ts
3
+ export declare const LAYER_BASE_VAR = "--synapse-layer-base";
4
+ export declare const DEFAULT_LAYER_BASE = 1000;
5
+ export interface LayerContainerProviderProps {
6
+ getContainer: () => Element | null;
7
+ children?: ReactNode;
8
+ }
9
+ export declare function LayerContainerProvider(props: LayerContainerProviderProps): ReactNode;
10
+ export interface PortalProps {
11
+ children?: ReactNode;
12
+ container?: Element | null;
13
+ disabled?: boolean;
14
+ }
15
+ export declare function Portal(props: PortalProps): ReactNode;
16
+ //#endregion
17
+ //# sourceMappingURL=layering.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layering.d.mts","names":[],"sources":["../../src/shared/layering.ts"],"mappings":";;qBAea;qBAEA;iBAWI;EACf,oBAAoB;EACpB,WAAW;;wBAGG,uBAAuB,OAAO,8BAA8B;iBAY3D;EACf,WAAW;EACX,YAAY;EACZ;;wBAGc,OAAO,OAAO,cAAc"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { useLocale } from "../provider/locale-context.mjs";
3
+ import { getThemeScopeProps, getThemeScopeStyle, useTheme } from "../provider/use-theme.mjs";
4
+ import { createContext, createElement, useContext, useSyncExternalStore } from "react";
5
+ import { createPortal } from "react-dom";
6
+ //#region src/shared/layering.ts
7
+ const LAYER_BASE_VAR = "--synapse-layer-base";
8
+ const DEFAULT_LAYER_BASE = 1e3;
9
+ const LayerContainerContext = createContext(null);
10
+ function LayerContainerProvider(props) {
11
+ return createElement(LayerContainerContext.Provider, { value: props.getContainer }, props.children);
12
+ }
13
+ const subscribeToNothing = () => () => void 0;
14
+ const clientSnapshot = () => true;
15
+ const serverSnapshot = () => false;
16
+ function Portal(props) {
17
+ const { children, container, disabled } = props;
18
+ const getContainer = useContext(LayerContainerContext);
19
+ const { theme } = useTheme();
20
+ const { locale, direction } = useLocale();
21
+ const resolved = !useSyncExternalStore(subscribeToNothing, clientSnapshot, serverSnapshot) ? null : container ?? getContainer?.() ?? globalThis.document?.body ?? null;
22
+ const scope = createElement("div", {
23
+ ...getThemeScopeProps(theme),
24
+ dir: direction,
25
+ lang: locale,
26
+ "data-synapse-scope": "",
27
+ "data-synapse-layer": "",
28
+ style: getThemeScopeStyle(theme)
29
+ }, children);
30
+ if (disabled === true) return scope;
31
+ if (resolved === null) return null;
32
+ return createPortal(scope, resolved);
33
+ }
34
+ //#endregion
35
+ export { DEFAULT_LAYER_BASE, LAYER_BASE_VAR, LayerContainerProvider, Portal };
36
+
37
+ //# sourceMappingURL=layering.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layering.mjs","names":[],"sources":["../../src/shared/layering.ts"],"sourcesContent":["'use client'\n\nimport {\n createContext,\n createElement,\n useContext,\n useSyncExternalStore,\n type CSSProperties,\n type ReactNode,\n} from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useLocale } from '#/provider/locale-context.ts'\nimport { getThemeScopeProps, getThemeScopeStyle, useTheme } from '#/provider/use-theme.ts'\n\nexport const LAYER_BASE_VAR = '--synapse-layer-base'\n\nexport const DEFAULT_LAYER_BASE = 1000\n\nexport function layerStyle(): CSSProperties {\n const style: CSSProperties = {\n zIndex: `calc(var(${LAYER_BASE_VAR}, ${DEFAULT_LAYER_BASE}) + var(--layer-index, 0))`,\n }\n return style\n}\n\nconst LayerContainerContext = createContext<(() => Element | null) | null>(null)\n\nexport interface LayerContainerProviderProps {\n getContainer: () => Element | null\n children?: ReactNode\n}\n\nexport function LayerContainerProvider(props: LayerContainerProviderProps): ReactNode {\n return createElement(\n LayerContainerContext.Provider,\n { value: props.getContainer },\n props.children,\n )\n}\n\nconst subscribeToNothing = (): (() => void) => () => undefined\nconst clientSnapshot = (): boolean => true\nconst serverSnapshot = (): boolean => false\n\nexport interface PortalProps {\n children?: ReactNode\n container?: Element | null\n disabled?: boolean\n}\n\nexport function Portal(props: PortalProps): ReactNode {\n const { children, container, disabled } = props\n const getContainer = useContext(LayerContainerContext)\n const { theme } = useTheme()\n const { locale, direction } = useLocale()\n\n const mounted = useSyncExternalStore(subscribeToNothing, clientSnapshot, serverSnapshot)\n const resolved: Element | null = !mounted\n ? null\n : (container ?? getContainer?.() ?? globalThis.document?.body ?? null)\n\n const scope = createElement(\n 'div',\n {\n ...getThemeScopeProps(theme),\n dir: direction,\n lang: locale,\n 'data-synapse-scope': '',\n 'data-synapse-layer': '',\n style: getThemeScopeStyle(theme),\n },\n children,\n )\n\n if (disabled === true) return scope\n if (resolved === null) return null\n return createPortal(scope, resolved)\n}\n"],"mappings":";;;;;;AAeA,MAAa,iBAAiB;AAE9B,MAAa,qBAAqB;AASlC,MAAM,wBAAwB,cAA6C,IAAI;AAO/E,SAAgB,uBAAuB,OAA+C;CACpF,OAAO,cACL,sBAAsB,UACtB,EAAE,OAAO,MAAM,aAAa,GAC5B,MAAM,QACR;AACF;AAEA,MAAM,iCAA+C,KAAA;AACrD,MAAM,uBAAgC;AACtC,MAAM,uBAAgC;AAQtC,SAAgB,OAAO,OAA+B;CACpD,MAAM,EAAE,UAAU,WAAW,aAAa;CAC1C,MAAM,eAAe,WAAW,qBAAqB;CACrD,MAAM,EAAE,UAAU,SAAS;CAC3B,MAAM,EAAE,QAAQ,cAAc,UAAU;CAGxC,MAAM,WAA2B,CADjB,qBAAqB,oBAAoB,gBAAgB,cACjC,IACpC,OACC,aAAa,eAAe,KAAK,WAAW,UAAU,QAAQ;CAEnE,MAAM,QAAQ,cACZ,OACA;EACE,GAAG,mBAAmB,KAAK;EAC3B,KAAK;EACL,MAAM;EACN,sBAAsB;EACtB,sBAAsB;EACtB,OAAO,mBAAmB,KAAK;CACjC,GACA,QACF;CAEA,IAAI,aAAa,MAAM,OAAO;CAC9B,IAAI,aAAa,MAAM,OAAO;CAC9B,OAAO,aAAa,OAAO,QAAQ;AACrC"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/shared/notification.d.ts
3
+ export type NotificationPlacement = 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end';
4
+ export type NotificationType = 'info' | 'success' | 'error' | 'warning' | 'loading';
5
+ export interface NotificationAction {
6
+ label: string;
7
+ onClick: () => void;
8
+ }
9
+ //#endregion
10
+ //# sourceMappingURL=notification.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.mts","names":[],"sources":["../../src/shared/notification.tsx"],"mappings":";;YASY;YAQA;iBAEK;EACf;EACA"}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ import { Icon } from "./icon.mjs";
3
+ import { isReactNode } from "../system/react-node.mjs";
4
+ import { createElement, useMemo } from "react";
5
+ import { visuallyHiddenStyle } from "@zag-js/dom-query";
6
+ //#region src/shared/notification.tsx
7
+ const NOTIFICATION_GROUP_MACHINE_PROPS = [
8
+ "store",
9
+ "dir",
10
+ "id",
11
+ "getRootNode"
12
+ ];
13
+ const NOTIFICATION_MACHINE_PROPS = [
14
+ "id",
15
+ "title",
16
+ "description",
17
+ "type",
18
+ "duration",
19
+ "removeDelay",
20
+ "priority",
21
+ "onStatusChange",
22
+ "action",
23
+ "closable",
24
+ "meta",
25
+ "parent",
26
+ "index",
27
+ "gap",
28
+ "translations",
29
+ "dir",
30
+ "getRootNode"
31
+ ];
32
+ const toMachineOptions = (message) => ({
33
+ ...message.title === void 0 ? {} : { title: message.title },
34
+ ...message.type === void 0 ? {} : { type: message.type },
35
+ ...message.duration === void 0 ? message.action === void 0 ? {} : { duration: Number.POSITIVE_INFINITY } : { duration: message.duration },
36
+ ...message.id === void 0 ? {} : { id: message.id },
37
+ closable: message.closable,
38
+ ...message.onStatusChange === void 0 ? {} : { onStatusChange: message.onStatusChange },
39
+ ...message.action === void 0 ? {} : { action: {
40
+ label: message.action.label,
41
+ onClick: message.action.onClick
42
+ } }
43
+ });
44
+ const isRecord = (value) => typeof value === "object" && value !== null;
45
+ const hiddenStyle = visuallyHiddenStyle;
46
+ const isIconGeometry = (value) => isRecord(value) && typeof value["name"] === "string" && typeof value["viewBox"] === "string" && Array.isArray(value["nodes"]);
47
+ const titleWithStatus = (notification, translate, icons, labels) => {
48
+ const type = isRecord(notification) ? notification["type"] : void 0;
49
+ const rawTitle = isRecord(notification) ? notification["title"] : void 0;
50
+ const title = isReactNode(rawTitle) ? rawTitle : null;
51
+ const candidate = typeof type === "string" ? icons[type] : void 0;
52
+ const icon = isIconGeometry(candidate) ? candidate : void 0;
53
+ const label = typeof type === "string" ? labels[type] : void 0;
54
+ if (icon === void 0 || label === void 0) return title;
55
+ return [
56
+ createElement(Icon, {
57
+ key: "status",
58
+ icon
59
+ }),
60
+ createElement("span", {
61
+ key: "status-label",
62
+ style: hiddenStyle
63
+ }, `${translate(label)} `),
64
+ title
65
+ ];
66
+ };
67
+ const isGroupService = (value) => {
68
+ if (!isRecord(value)) return false;
69
+ const context = value["context"];
70
+ return isRecord(context) && typeof context["get"] === "function" && typeof context["set"] === "function";
71
+ };
72
+ const isHeight = (value) => isRecord(value) && typeof value["id"] === "string" && typeof value["height"] === "number";
73
+ const isHeightList = (value) => Array.isArray(value) && value.every(isHeight);
74
+ const isQueuedNotification = (value) => isRecord(value) && (value["id"] === void 0 || typeof value["id"] === "string");
75
+ const queuedOf = (value) => Array.isArray(value) ? value.filter(isQueuedNotification) : [];
76
+ const inQueueOrder = (heights, toasts) => {
77
+ const rank = new Map(toasts.map((queued, index) => [queued.id, index]));
78
+ return heights.toSorted((a, b) => (rank.get(a.id) ?? toasts.length) - (rank.get(b.id) ?? toasts.length));
79
+ };
80
+ function useQueueOrderedParent(service) {
81
+ return useMemo(() => {
82
+ if (!isGroupService(service)) return service;
83
+ const group = service;
84
+ return {
85
+ ...group,
86
+ context: {
87
+ ...group.context,
88
+ set: (key, value) => {
89
+ if (key !== "heights") {
90
+ group.context.set(key, value);
91
+ return;
92
+ }
93
+ group.context.set(key, (prev) => {
94
+ const next = typeof value === "function" ? Reflect.apply(value, void 0, [prev]) : value;
95
+ return isHeightList(next) ? inQueueOrder(next, queuedOf(group.context.get("toasts"))) : next;
96
+ });
97
+ }
98
+ }
99
+ };
100
+ }, [service]);
101
+ }
102
+ //#endregion
103
+ export { NOTIFICATION_GROUP_MACHINE_PROPS, NOTIFICATION_MACHINE_PROPS, titleWithStatus, toMachineOptions, useQueueOrderedParent };
104
+
105
+ //# sourceMappingURL=notification.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.mjs","names":[],"sources":["../../src/shared/notification.tsx"],"sourcesContent":["'use client'\n\nimport { visuallyHiddenStyle } from '@zag-js/dom-query'\nimport { createElement, useMemo, type CSSProperties, type ReactNode } from 'react'\n\nimport type { TranslationKey, Translator } from '#/provider/translations.ts'\nimport { Icon, type IconProps } from '#/shared/icon.tsx'\nimport { isReactNode } from '#/system/react-node.ts'\n\nexport type NotificationPlacement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'bottom-start'\n | 'bottom'\n | 'bottom-end'\n\nexport type NotificationType = 'info' | 'success' | 'error' | 'warning' | 'loading'\n\nexport interface NotificationAction {\n label: string\n onClick: () => void\n}\n\nexport interface NotificationMessage {\n title?: ReactNode\n type?: NotificationType\n duration?: number\n id?: string\n onStatusChange?: (details: { status: string }) => void\n closable: boolean\n action?: NotificationAction\n}\n\nexport interface NotificationStoreCommands {\n create: (options: Record<string, unknown>) => string\n update: (id: string, options: Record<string, unknown>) => string\n dismiss: (id?: string) => void\n remove: (id?: string) => void\n}\n\nexport interface QueuedNotification {\n id?: string | undefined\n title?: unknown\n closable?: boolean | undefined\n type?: string | undefined\n action?: { label?: unknown } | undefined\n}\n\nexport interface NotificationQueue {\n getToasts: () => readonly QueuedNotification[]\n}\n\nexport const DEFAULT_REMOVE_DELAY = 120\n\nexport const DEFAULT_GAP = 8\n\nexport const NOTIFICATION_GROUP_MACHINE_PROPS: readonly string[] = [\n 'store',\n 'dir',\n 'id',\n 'getRootNode',\n]\n\nexport const NOTIFICATION_MACHINE_PROPS: readonly string[] = [\n 'id',\n 'title',\n 'description',\n 'type',\n 'duration',\n 'removeDelay',\n 'priority',\n 'onStatusChange',\n 'action',\n 'closable',\n 'meta',\n 'parent',\n 'index',\n 'gap',\n 'translations',\n 'dir',\n 'getRootNode',\n]\n\nexport const toMachineOptions = (message: NotificationMessage): Record<string, unknown> => ({\n ...(message.title === undefined ? {} : { title: message.title }),\n ...(message.type === undefined ? {} : { type: message.type }),\n ...(message.duration === undefined\n ? message.action === undefined\n ? {}\n : { duration: Number.POSITIVE_INFINITY }\n : { duration: message.duration }),\n ...(message.id === undefined ? {} : { id: message.id }),\n closable: message.closable,\n ...(message.onStatusChange === undefined ? {} : { onStatusChange: message.onStatusChange }),\n ...(message.action === undefined\n ? {}\n : { action: { label: message.action.label, onClick: message.action.onClick } }),\n})\n\nconst isRecord = (value: unknown): value is Readonly<Record<string, unknown>> =>\n typeof value === 'object' && value !== null\n\nconst hiddenStyle: CSSProperties = visuallyHiddenStyle\n\nconst isIconGeometry = (value: unknown): value is IconProps['icon'] =>\n isRecord(value) &&\n typeof value['name'] === 'string' &&\n typeof value['viewBox'] === 'string' &&\n Array.isArray(value['nodes'])\n\nexport const titleWithStatus = (\n notification: unknown,\n translate: Translator,\n icons: Readonly<Record<string, object>>,\n labels: Readonly<Record<string, TranslationKey>>,\n): ReactNode => {\n const type = isRecord(notification) ? notification['type'] : undefined\n const rawTitle = isRecord(notification) ? notification['title'] : undefined\n const title = isReactNode(rawTitle) ? rawTitle : null\n const candidate = typeof type === 'string' ? icons[type] : undefined\n const icon = isIconGeometry(candidate) ? candidate : undefined\n const label = typeof type === 'string' ? labels[type] : undefined\n if (icon === undefined || label === undefined) return title\n return [\n createElement(Icon, { key: 'status', icon }),\n createElement('span', { key: 'status-label', style: hiddenStyle }, `${translate(label)} `),\n title,\n ]\n}\n\ninterface NotificationHeight {\n id: string\n height: number\n}\n\ninterface NotificationGroupService {\n context: {\n get: (key: string) => unknown\n set: (key: string, value: unknown) => void\n }\n}\n\nconst isGroupService = (value: unknown): value is NotificationGroupService => {\n if (!isRecord(value)) return false\n const context = value['context']\n return (\n isRecord(context) &&\n typeof context['get'] === 'function' &&\n typeof context['set'] === 'function'\n )\n}\n\nconst isHeight = (value: unknown): value is NotificationHeight =>\n isRecord(value) && typeof value['id'] === 'string' && typeof value['height'] === 'number'\n\nconst isHeightList = (value: unknown): value is NotificationHeight[] =>\n Array.isArray(value) && value.every(isHeight)\n\nconst isQueuedNotification = (value: unknown): value is QueuedNotification =>\n isRecord(value) && (value['id'] === undefined || typeof value['id'] === 'string')\n\nconst queuedOf = (value: unknown): readonly QueuedNotification[] =>\n Array.isArray(value) ? value.filter(isQueuedNotification) : []\n\nconst inQueueOrder = (\n heights: readonly NotificationHeight[],\n toasts: readonly QueuedNotification[],\n): NotificationHeight[] => {\n const rank = new Map(toasts.map((queued, index) => [queued.id, index]))\n return heights.toSorted(\n (a, b) => (rank.get(a.id) ?? toasts.length) - (rank.get(b.id) ?? toasts.length),\n )\n}\n\nexport function useQueueOrderedParent(service: unknown): unknown {\n return useMemo(() => {\n if (!isGroupService(service)) return service\n const group = service\n return {\n ...group,\n context: {\n ...group.context,\n set: (key: string, value: unknown) => {\n if (key !== 'heights') {\n group.context.set(key, value)\n return\n }\n group.context.set(key, (prev: unknown) => {\n const next: unknown =\n typeof value === 'function' ? Reflect.apply(value, undefined, [prev]) : value\n return isHeightList(next)\n ? inQueueOrder(next, queuedOf(group.context.get('toasts')))\n : next\n })\n },\n },\n }\n }, [service])\n}\n"],"mappings":";;;;;;AAyDA,MAAa,mCAAsD;CACjE;CACA;CACA;CACA;AACF;AAEA,MAAa,6BAAgD;CAC3D;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,oBAAoB,aAA2D;CAC1F,GAAI,QAAQ,UAAU,KAAA,IAAY,CAAC,IAAI,EAAE,OAAO,QAAQ,MAAM;CAC9D,GAAI,QAAQ,SAAS,KAAA,IAAY,CAAC,IAAI,EAAE,MAAM,QAAQ,KAAK;CAC3D,GAAI,QAAQ,aAAa,KAAA,IACrB,QAAQ,WAAW,KAAA,IACjB,CAAC,IACD,EAAE,UAAU,OAAO,kBAAkB,IACvC,EAAE,UAAU,QAAQ,SAAS;CACjC,GAAI,QAAQ,OAAO,KAAA,IAAY,CAAC,IAAI,EAAE,IAAI,QAAQ,GAAG;CACrD,UAAU,QAAQ;CAClB,GAAI,QAAQ,mBAAmB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,QAAQ,eAAe;CACzF,GAAI,QAAQ,WAAW,KAAA,IACnB,CAAC,IACD,EAAE,QAAQ;EAAE,OAAO,QAAQ,OAAO;EAAO,SAAS,QAAQ,OAAO;CAAQ,EAAE;AACjF;AAEA,MAAM,YAAY,UAChB,OAAO,UAAU,YAAY,UAAU;AAEzC,MAAM,cAA6B;AAEnC,MAAM,kBAAkB,UACtB,SAAS,KAAK,KACd,OAAO,MAAM,YAAY,YACzB,OAAO,MAAM,eAAe,YAC5B,MAAM,QAAQ,MAAM,QAAQ;AAE9B,MAAa,mBACX,cACA,WACA,OACA,WACc;CACd,MAAM,OAAO,SAAS,YAAY,IAAI,aAAa,UAAU,KAAA;CAC7D,MAAM,WAAW,SAAS,YAAY,IAAI,aAAa,WAAW,KAAA;CAClE,MAAM,QAAQ,YAAY,QAAQ,IAAI,WAAW;CACjD,MAAM,YAAY,OAAO,SAAS,WAAW,MAAM,QAAQ,KAAA;CAC3D,MAAM,OAAO,eAAe,SAAS,IAAI,YAAY,KAAA;CACrD,MAAM,QAAQ,OAAO,SAAS,WAAW,OAAO,QAAQ,KAAA;CACxD,IAAI,SAAS,KAAA,KAAa,UAAU,KAAA,GAAW,OAAO;CACtD,OAAO;EACL,cAAc,MAAM;GAAE,KAAK;GAAU;EAAK,CAAC;EAC3C,cAAc,QAAQ;GAAE,KAAK;GAAgB,OAAO;EAAY,GAAG,GAAG,UAAU,KAAK,EAAE,EAAE;EACzF;CACF;AACF;AAcA,MAAM,kBAAkB,UAAsD;CAC5E,IAAI,CAAC,SAAS,KAAK,GAAG,OAAO;CAC7B,MAAM,UAAU,MAAM;CACtB,OACE,SAAS,OAAO,KAChB,OAAO,QAAQ,WAAW,cAC1B,OAAO,QAAQ,WAAW;AAE9B;AAEA,MAAM,YAAY,UAChB,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,YAAY,OAAO,MAAM,cAAc;AAEnF,MAAM,gBAAgB,UACpB,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,QAAQ;AAE9C,MAAM,wBAAwB,UAC5B,SAAS,KAAK,MAAM,MAAM,UAAU,KAAA,KAAa,OAAO,MAAM,UAAU;AAE1E,MAAM,YAAY,UAChB,MAAM,QAAQ,KAAK,IAAI,MAAM,OAAO,oBAAoB,IAAI,CAAC;AAE/D,MAAM,gBACJ,SACA,WACyB;CACzB,MAAM,OAAO,IAAI,IAAI,OAAO,KAAK,QAAQ,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;CACtE,OAAO,QAAQ,UACZ,GAAG,OAAO,KAAK,IAAI,EAAE,EAAE,KAAK,OAAO,WAAW,KAAK,IAAI,EAAE,EAAE,KAAK,OAAO,OAC1E;AACF;AAEA,SAAgB,sBAAsB,SAA2B;CAC/D,OAAO,cAAc;EACnB,IAAI,CAAC,eAAe,OAAO,GAAG,OAAO;EACrC,MAAM,QAAQ;EACd,OAAO;GACL,GAAG;GACH,SAAS;IACP,GAAG,MAAM;IACT,MAAM,KAAa,UAAmB;KACpC,IAAI,QAAQ,WAAW;MACrB,MAAM,QAAQ,IAAI,KAAK,KAAK;MAC5B;KACF;KACA,MAAM,QAAQ,IAAI,MAAM,SAAkB;MACxC,MAAM,OACJ,OAAO,UAAU,aAAa,QAAQ,MAAM,OAAO,KAAA,GAAW,CAAC,IAAI,CAAC,IAAI;MAC1E,OAAO,aAAa,IAAI,IACpB,aAAa,MAAM,SAAS,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC,IACxD;KACN,CAAC;IACH;GACF;EACF;CACF,GAAG,CAAC,OAAO,CAAC;AACd"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { useSyncExternalStore } from "react";
3
+ //#region src/shared/reduced-motion.ts
4
+ const REDUCED_MOTION = "(prefers-reduced-motion: reduce)";
5
+ const reducedMotionQuery = () => typeof window === "undefined" || typeof window.matchMedia !== "function" ? null : window.matchMedia(REDUCED_MOTION);
6
+ const subscribeReducedMotion = (onChange) => {
7
+ const query = reducedMotionQuery();
8
+ query?.addEventListener("change", onChange);
9
+ return () => query?.removeEventListener("change", onChange);
10
+ };
11
+ const prefersReducedMotion = () => reducedMotionQuery()?.matches ?? false;
12
+ const serverSnapshot = () => false;
13
+ function useReducedMotion() {
14
+ return useSyncExternalStore(subscribeReducedMotion, prefersReducedMotion, serverSnapshot);
15
+ }
16
+ //#endregion
17
+ export { prefersReducedMotion, useReducedMotion };
18
+
19
+ //# sourceMappingURL=reduced-motion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduced-motion.mjs","names":[],"sources":["../../src/shared/reduced-motion.ts"],"sourcesContent":["'use client'\n\nimport { useSyncExternalStore } from 'react'\n\nconst REDUCED_MOTION = '(prefers-reduced-motion: reduce)'\n\nconst reducedMotionQuery = (): MediaQueryList | null =>\n typeof window === 'undefined' || typeof window.matchMedia !== 'function'\n ? null\n : window.matchMedia(REDUCED_MOTION)\n\nconst subscribeReducedMotion = (onChange: () => void): (() => void) => {\n const query = reducedMotionQuery()\n query?.addEventListener('change', onChange)\n return () => query?.removeEventListener('change', onChange)\n}\n\nexport const prefersReducedMotion = (): boolean => reducedMotionQuery()?.matches ?? false\n\nconst serverSnapshot = (): boolean => false\n\nexport function useReducedMotion(): boolean {\n return useSyncExternalStore(subscribeReducedMotion, prefersReducedMotion, serverSnapshot)\n}\n"],"mappings":";;;AAIA,MAAM,iBAAiB;AAEvB,MAAM,2BACJ,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,aAC1D,OACA,OAAO,WAAW,cAAc;AAEtC,MAAM,0BAA0B,aAAuC;CACrE,MAAM,QAAQ,mBAAmB;CACjC,OAAO,iBAAiB,UAAU,QAAQ;CAC1C,aAAa,OAAO,oBAAoB,UAAU,QAAQ;AAC5D;AAEA,MAAa,6BAAsC,mBAAmB,CAAC,EAAE,WAAW;AAEpF,MAAM,uBAAgC;AAEtC,SAAgB,mBAA4B;CAC1C,OAAO,qBAAqB,wBAAwB,sBAAsB,cAAc;AAC1F"}
@@ -0,0 +1,40 @@
1
+ import { chevronsUpDown } from "../icons/src/chevrons-up-down.mjs";
2
+ import "../icons/src/index.mjs";
3
+ import { css } from "../react/styled-system/css/css.mjs";
4
+ import { Icon } from "./icon.mjs";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/shared/select-indicator.tsx
7
+ const frame = css({
8
+ display: "inline-grid",
9
+ gridTemplateAreas: "\"stack\"",
10
+ alignItems: "center",
11
+ verticalAlign: "middle",
12
+ "& > *": { gridArea: "stack" },
13
+ "& > select": { appearance: "none" },
14
+ "& > svg": {
15
+ justifySelf: "end",
16
+ width: "icon.sm",
17
+ height: "icon.sm",
18
+ marginInlineEnd: "inset.compact",
19
+ color: "foreground.muted",
20
+ pointerEvents: "none"
21
+ },
22
+ "&:has(> select:disabled) > svg": {
23
+ color: "foreground.disabled",
24
+ _highContrast: { color: "system.grayText" }
25
+ }
26
+ });
27
+ function withSelectIndicator(Part) {
28
+ function Framed(props) {
29
+ return /* @__PURE__ */ jsxs("span", {
30
+ className: frame,
31
+ children: [/* @__PURE__ */ jsx(Part, { ...props }), /* @__PURE__ */ jsx(Icon, { icon: chevronsUpDown })]
32
+ });
33
+ }
34
+ Framed.displayName = Part.displayName;
35
+ return Framed;
36
+ }
37
+ //#endregion
38
+ export { withSelectIndicator };
39
+
40
+ //# sourceMappingURL=select-indicator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-indicator.mjs","names":[],"sources":["../../src/shared/select-indicator.tsx"],"sourcesContent":["import { chevronsUpDown } from '@neurocle/synapse-icons'\nimport type { ReactNode } from 'react'\n\nimport { Icon } from '#/shared/icon.tsx'\nimport { css } from '#styled-system/css/index.js'\n\nconst frame = css({\n display: 'inline-grid',\n gridTemplateAreas: '\"stack\"',\n alignItems: 'center',\n verticalAlign: 'middle',\n '& > *': { gridArea: 'stack' },\n '& > select': { appearance: 'none' },\n '& > svg': {\n justifySelf: 'end',\n width: 'icon.sm',\n height: 'icon.sm',\n marginInlineEnd: 'inset.compact',\n color: 'foreground.muted',\n pointerEvents: 'none',\n },\n '&:has(> select:disabled) > svg': {\n color: 'foreground.disabled',\n _highContrast: { color: 'system.grayText' },\n },\n})\n\nexport function withSelectIndicator<TProps extends object>(\n Part: ((props: TProps) => ReactNode) & { readonly displayName: string },\n): ((props: TProps) => ReactNode) & { readonly displayName: string } {\n function Framed(props: TProps): ReactNode {\n return (\n <span className={frame}>\n <Part {...props} />\n <Icon icon={chevronsUpDown} />\n </span>\n )\n }\n Framed.displayName = Part.displayName\n return Framed\n}\n"],"mappings":";;;;;;AAMA,MAAM,QAAQ,IAAI;CAChB,SAAS;CACT,mBAAmB;CACnB,YAAY;CACZ,eAAe;CACf,SAAS,EAAE,UAAU,QAAQ;CAC7B,cAAc,EAAE,YAAY,OAAO;CACnC,WAAW;EACT,aAAa;EACb,OAAO;EACP,QAAQ;EACR,iBAAiB;EACjB,OAAO;EACP,eAAe;CACjB;CACA,kCAAkC;EAChC,OAAO;EACP,eAAe,EAAE,OAAO,kBAAkB;CAC5C;AACF,CAAC;AAED,SAAgB,oBACd,MACmE;CACnE,SAAS,OAAO,OAA0B;EACxC,OACE,qBAAC,QAAD;GAAM,WAAW;GAAjB,UAAA,CACE,oBAAC,MAAD,EAAM,GAAI,MAAQ,CAAA,GAClB,oBAAC,MAAD,EAAM,MAAM,eAAiB,CAAA,CACzB;;CAEV;CACA,OAAO,cAAc,KAAK;CAC1B,OAAO;AACT"}
@@ -0,0 +1,6 @@
1
+ //#region src/shared/size-scale.d.ts
2
+ export declare const SIZE_SCALE: readonly ['xs', 'sm', 'md', 'lg', 'xl'];
3
+ export type Size = (typeof SIZE_SCALE)[number];
4
+ export declare const DEFAULT_SIZE: Size;
5
+ //#endregion
6
+ //# sourceMappingURL=size-scale.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-scale.d.mts","names":[],"sources":["../../src/shared/size-scale.ts"],"mappings":";qBAEa;YAED,eAAe;qBAEd,cAAc"}
@@ -0,0 +1,28 @@
1
+ import { devWarn } from "../system/dev-warn.mjs";
2
+ //#region src/shared/size-scale.ts
3
+ const SIZE_SCALE = [
4
+ "xs",
5
+ "sm",
6
+ "md",
7
+ "lg",
8
+ "xl"
9
+ ];
10
+ const DEFAULT_SIZE = "md";
11
+ function isSize(value) {
12
+ return SIZE_SCALE.some((size) => size === value);
13
+ }
14
+ function sizeIndex(size) {
15
+ return SIZE_SCALE.indexOf(size);
16
+ }
17
+ function sizeBelow(size) {
18
+ return SIZE_SCALE[sizeIndex(size) - 1] ?? size;
19
+ }
20
+ function resolveSize(size, component = "component") {
21
+ if (size === void 0) return "md";
22
+ devWarn(!isSize(size), `${component}: size "${String(size)}" is not on the shared scale (${SIZE_SCALE.join(", ")}). Rendering at "md".`);
23
+ return isSize(size) ? size : "md";
24
+ }
25
+ //#endregion
26
+ export { DEFAULT_SIZE, SIZE_SCALE, isSize, resolveSize, sizeBelow, sizeIndex };
27
+
28
+ //# sourceMappingURL=size-scale.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-scale.mjs","names":[],"sources":["../../src/shared/size-scale.ts"],"sourcesContent":["import { devWarn } from '#/system/dev-warn.ts'\n\nexport const SIZE_SCALE: readonly ['xs', 'sm', 'md', 'lg', 'xl'] = ['xs', 'sm', 'md', 'lg', 'xl']\n\nexport type Size = (typeof SIZE_SCALE)[number]\n\nexport const DEFAULT_SIZE: Size = 'md'\n\nexport const FORBIDDEN_VARIANT_AXES: readonly [\n 'emphasis',\n 'prominence',\n 'importance',\n 'variant',\n 'appearance',\n 'kind',\n 'tone',\n] = ['emphasis', 'prominence', 'importance', 'variant', 'appearance', 'kind', 'tone']\n\nexport type ForbiddenVariantAxis = (typeof FORBIDDEN_VARIANT_AXES)[number]\n\nexport interface EmphasisAxisException {\n readonly axes: readonly ForbiddenVariantAxis[]\n readonly reason: string\n}\n\nexport const EMPHASIS_AXIS_EXCEPTIONS: Readonly<Record<string, EmphasisAxisException>> = {\n Button: {\n axes: ['variant', 'tone'],\n reason:\n '다른 컴포넌트는 역할이 곧 강조를 정하지만, Button은 같은 역할의 동작 여럿이 한 화면에 나란히 놓이며 ' +\n '그중 무엇이 주된 동작이고 무엇이 되돌릴 수 없는 동작인지는 페이지만 압니다. 위치만으로는 이를 구별할 ' +\n '수 없으므로 모양(`variant`)과 성격(`tone`)을 사용처가 고르게 합니다.',\n },\n}\n\nexport function permittedEmphasisAxes(component: string): readonly ForbiddenVariantAxis[] {\n return EMPHASIS_AXIS_EXCEPTIONS[component]?.axes ?? []\n}\n\nexport type SizeSupport =\n | { readonly sizes: readonly string[]; readonly defaultSize: string }\n | { readonly sizes: 'not-applicable'; readonly reason: string }\n\nexport function isSize(value: unknown): value is Size {\n return SIZE_SCALE.some((size) => size === value)\n}\n\nexport function sizeIndex(size: Size): number {\n return SIZE_SCALE.indexOf(size)\n}\n\nexport function sizeBelow(size: Size): Size {\n return SIZE_SCALE[sizeIndex(size) - 1] ?? size\n}\n\nexport function resolveSize(size: Size | undefined, component = 'component'): Size {\n if (size === undefined) return DEFAULT_SIZE\n devWarn(\n !isSize(size),\n `${component}: size \"${String(size)}\" is not on the shared scale ` +\n `(${SIZE_SCALE.join(', ')}). Rendering at \"${DEFAULT_SIZE}\".`,\n )\n return isSize(size) ? size : DEFAULT_SIZE\n}\n\nexport interface SizeSupportProblem {\n readonly code: 'unknown-size' | 'non-contiguous' | 'default-not-offered' | 'empty' | 'no-reason'\n readonly message: string\n}\n\nexport function checkSizeSupport(component: string, support: SizeSupport): SizeSupportProblem[] {\n const problems: SizeSupportProblem[] = []\n const at = (message: string) => `${component}: ${message}`\n\n if (support.sizes === 'not-applicable') {\n if (support.reason.trim() === '') {\n problems.push({\n code: 'no-reason',\n message: at('declares size not-applicable without saying why'),\n })\n }\n return problems\n }\n\n if (support.sizes.length === 0) {\n problems.push({\n code: 'empty',\n message: at(\"offers no sizes; declare sizes: 'not-applicable' with a reason instead\"),\n })\n return problems\n }\n\n const unknown = support.sizes.filter((size) => !isSize(size))\n if (unknown.length > 0) {\n problems.push({\n code: 'unknown-size',\n message: at(`offers ${unknown.join(', ')}, which is not on the shared scale`),\n })\n }\n\n const indices = support.sizes\n .map((size) => SIZE_SCALE.findIndex((entry) => entry === size))\n .filter((index) => index !== -1)\n .toSorted((a, b) => a - b)\n const contiguous = indices.every((index, position) => index === (indices[0] ?? 0) + position)\n if (!contiguous) {\n problems.push({\n code: 'non-contiguous',\n message: at(`offers a scale with a hole in it: ${support.sizes.join(', ')}`),\n })\n }\n\n if (!support.sizes.includes(support.defaultSize)) {\n problems.push({\n code: 'default-not-offered',\n message: at(`defaults to ${support.defaultSize}, which it does not offer`),\n })\n }\n\n return problems\n}\n"],"mappings":";;AAEA,MAAa,aAAsD;CAAC;CAAM;CAAM;CAAM;CAAM;AAAI;AAIhG,MAAa,eAAqB;AAqClC,SAAgB,OAAO,OAA+B;CACpD,OAAO,WAAW,MAAM,SAAS,SAAS,KAAK;AACjD;AAEA,SAAgB,UAAU,MAAoB;CAC5C,OAAO,WAAW,QAAQ,IAAI;AAChC;AAEA,SAAgB,UAAU,MAAkB;CAC1C,OAAO,WAAW,UAAU,IAAI,IAAI,MAAM;AAC5C;AAEA,SAAgB,YAAY,MAAwB,YAAY,aAAmB;CACjF,IAAI,SAAS,KAAA,GAAW,OAAA;CACxB,QACE,CAAC,OAAO,IAAI,GACZ,GAAG,UAAU,UAAU,OAAO,IAAI,EAAE,gCAC9B,WAAW,KAAK,IAAI,EAAE,sBAC9B;CACA,OAAO,OAAO,IAAI,IAAI,OAAA;AACxB"}