@svelte-atoms/core 1.0.0-alpha.41 → 1.0.0-alpha.44

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 (628) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -197
  3. package/dist/attachments/clickout.svelte.d.ts +4 -1
  4. package/dist/attachments/clickout.svelte.js +2 -1
  5. package/dist/components/accordion/accordion-root.svelte +61 -66
  6. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
  7. package/dist/components/accordion/bond.svelte.d.ts +11 -10
  8. package/dist/components/accordion/bond.svelte.js +26 -16
  9. package/dist/components/accordion/item/accordion-item-body.svelte +3 -1
  10. package/dist/components/accordion/item/accordion-item-header.svelte +1 -1
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
  12. package/dist/components/accordion/item/accordion-item-root.svelte +3 -2
  13. package/dist/components/accordion/item/bond.svelte.d.ts +32 -18
  14. package/dist/components/accordion/item/bond.svelte.js +88 -64
  15. package/dist/components/accordion/item/types.d.ts +4 -24
  16. package/dist/components/accordion/types.d.ts +5 -9
  17. package/dist/components/alert/alert-root.svelte +68 -68
  18. package/dist/components/alert/types.d.ts +12 -46
  19. package/dist/components/atom/html-atom.svelte +84 -95
  20. package/dist/components/atom/html-atom.svelte.d.ts +1 -2
  21. package/dist/components/atom/index.d.ts +1 -0
  22. package/dist/components/atom/index.js +1 -0
  23. package/dist/components/atom/types.d.ts +52 -10
  24. package/dist/components/atom/types.js +1 -1
  25. package/dist/components/atom/utils.d.ts +10 -3
  26. package/dist/components/atom/utils.js +112 -45
  27. package/dist/components/avatar/types.d.ts +1 -6
  28. package/dist/components/badge/index.d.ts +1 -0
  29. package/dist/components/badge/types.d.ts +4 -7
  30. package/dist/components/button/button.svelte +31 -31
  31. package/dist/components/button/types.d.ts +9 -6
  32. package/dist/components/calendar/calendar-body.svelte +0 -1
  33. package/dist/components/calendar/calendar-day.svelte +99 -99
  34. package/dist/components/calendar/calendar-header.svelte +1 -1
  35. package/dist/components/calendar/calendar-root.svelte +206 -206
  36. package/dist/components/calendar/calendar-root.svelte.d.ts +1 -1
  37. package/dist/components/calendar/calendar-week-day.svelte +33 -33
  38. package/dist/components/calendar/types.d.ts +7 -10
  39. package/dist/components/card/card-root.svelte +92 -92
  40. package/dist/components/card/types.d.ts +12 -51
  41. package/dist/components/checkbox/checkbox.svelte +65 -55
  42. package/dist/components/checkbox/checkbox.svelte.d.ts +1 -3
  43. package/dist/components/checkbox/index.d.ts +2 -0
  44. package/dist/components/checkbox/index.js +1 -0
  45. package/dist/components/checkbox/motion.d.ts +17 -0
  46. package/dist/components/checkbox/motion.js +34 -0
  47. package/dist/components/checkbox/types.d.ts +14 -7
  48. package/dist/components/chip/chip-close-button.svelte +33 -0
  49. package/dist/components/chip/chip-close-button.svelte.d.ts +4 -0
  50. package/dist/components/chip/chip.svelte +34 -41
  51. package/dist/components/chip/chip.svelte.d.ts +1 -3
  52. package/dist/components/chip/index.d.ts +2 -0
  53. package/dist/components/chip/index.js +2 -0
  54. package/dist/components/chip/types.d.ts +15 -8
  55. package/dist/components/collapsible/bond.svelte.d.ts +34 -24
  56. package/dist/components/collapsible/bond.svelte.js +73 -60
  57. package/dist/components/collapsible/collapsible-body.svelte +1 -1
  58. package/dist/components/collapsible/collapsible-header.svelte +1 -1
  59. package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
  60. package/dist/components/collapsible/collapsible-root.svelte +67 -67
  61. package/dist/components/collapsible/types.d.ts +10 -22
  62. package/dist/components/combobox/bond.svelte.d.ts +13 -8
  63. package/dist/components/combobox/bond.svelte.js +30 -20
  64. package/dist/components/combobox/combobox-control.svelte +66 -66
  65. package/dist/components/combobox/combobox-item.svelte +62 -62
  66. package/dist/components/combobox/combobox-root.svelte +65 -65
  67. package/dist/components/combobox/combobox-root.svelte.d.ts +2 -2
  68. package/dist/components/combobox/combobox-selections.svelte +17 -17
  69. package/dist/components/combobox/combobox-trigger.svelte +34 -34
  70. package/dist/components/combobox/types.d.ts +6 -10
  71. package/dist/components/container/index.d.ts +1 -0
  72. package/dist/components/container/types.d.ts +6 -12
  73. package/dist/components/context-menu/atoms.d.ts +4 -0
  74. package/dist/components/context-menu/atoms.js +4 -0
  75. package/dist/components/context-menu/context-menu-content.svelte +52 -0
  76. package/dist/components/context-menu/context-menu-content.svelte.d.ts +27 -0
  77. package/dist/components/context-menu/context-menu-root.svelte +8 -0
  78. package/dist/components/context-menu/context-menu-root.svelte.d.ts +4 -0
  79. package/dist/components/context-menu/context-menu-trigger.svelte +59 -0
  80. package/dist/components/context-menu/context-menu-trigger.svelte.d.ts +27 -0
  81. package/dist/components/context-menu/index.d.ts +2 -0
  82. package/dist/components/context-menu/index.js +2 -0
  83. package/dist/components/{contextmenu → context-menu}/types.d.ts +1 -6
  84. package/dist/components/datagrid/atoms.d.ts +11 -5
  85. package/dist/components/datagrid/atoms.js +11 -5
  86. package/dist/components/datagrid/bond.svelte.d.ts +29 -14
  87. package/dist/components/datagrid/bond.svelte.js +45 -33
  88. package/dist/components/datagrid/cell/bond.svelte.d.ts +29 -0
  89. package/dist/components/datagrid/cell/bond.svelte.js +42 -0
  90. package/dist/components/datagrid/cell/datagrid-cell.svelte +49 -0
  91. package/dist/components/datagrid/cell/datagrid-cell.svelte.d.ts +26 -0
  92. package/dist/components/datagrid/cell/index.d.ts +4 -0
  93. package/dist/components/datagrid/cell/index.js +4 -0
  94. package/dist/components/datagrid/col/index.d.ts +4 -0
  95. package/dist/components/datagrid/col/index.js +4 -0
  96. package/dist/components/datagrid/column/bond.svelte.d.ts +45 -0
  97. package/dist/components/datagrid/column/bond.svelte.js +76 -0
  98. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte → column/datagrid-column-sort-icon.svelte} +3 -3
  99. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte.d.ts → column/datagrid-column-sort-icon.svelte.d.ts} +3 -3
  100. package/dist/components/datagrid/{th/datagrid-th.svelte → column/datagrid-column.svelte} +27 -36
  101. package/dist/components/datagrid/column/datagrid-column.svelte.d.ts +26 -0
  102. package/dist/components/datagrid/column/index.d.ts +4 -0
  103. package/dist/components/datagrid/column/index.js +4 -0
  104. package/dist/components/datagrid/context.d.ts +2 -29
  105. package/dist/components/datagrid/context.js +4 -18
  106. package/dist/components/datagrid/datagrid-body.svelte +7 -20
  107. package/dist/components/datagrid/datagrid-body.svelte.d.ts +8 -15
  108. package/dist/components/datagrid/datagrid-checkbox.svelte +60 -63
  109. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +1 -3
  110. package/dist/components/datagrid/datagrid-footer.svelte +27 -34
  111. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +12 -12
  112. package/dist/components/datagrid/datagrid-header.svelte +10 -17
  113. package/dist/components/datagrid/datagrid-header.svelte.d.ts +12 -12
  114. package/dist/components/datagrid/datagrid-root.svelte +49 -59
  115. package/dist/components/datagrid/datagrid-root.svelte.d.ts +15 -14
  116. package/dist/components/datagrid/row/bond.svelte.d.ts +42 -0
  117. package/dist/components/datagrid/row/bond.svelte.js +72 -0
  118. package/dist/components/datagrid/{tr/datagrid-tr.css → row/datagrid-row.css} +1 -1
  119. package/dist/components/datagrid/row/datagrid-row.svelte +64 -0
  120. package/dist/components/datagrid/row/datagrid-row.svelte.d.ts +27 -0
  121. package/dist/components/datagrid/row/index.d.ts +4 -0
  122. package/dist/components/datagrid/row/index.js +4 -0
  123. package/dist/components/datagrid/types.d.ts +56 -116
  124. package/dist/components/date-picker/bond.svelte.d.ts +0 -12
  125. package/dist/components/date-picker/date-picker-calendar.svelte +58 -58
  126. package/dist/components/date-picker/date-picker-months.svelte +1 -1
  127. package/dist/components/date-picker/date-picker-root.svelte +96 -96
  128. package/dist/components/date-picker/date-picker-root.svelte.d.ts +1 -1
  129. package/dist/components/date-picker/date-picker-years.svelte +1 -1
  130. package/dist/components/date-picker/types.d.ts +6 -3
  131. package/dist/components/dialog/atoms.d.ts +1 -1
  132. package/dist/components/dialog/atoms.js +1 -1
  133. package/dist/components/dialog/bond.svelte.d.ts +66 -28
  134. package/dist/components/dialog/bond.svelte.js +136 -117
  135. package/dist/components/dialog/dialog-body.svelte +1 -1
  136. package/dist/components/dialog/dialog-close.svelte +58 -0
  137. package/dist/components/dialog/dialog-close.svelte.d.ts +26 -0
  138. package/dist/components/dialog/dialog-content.svelte +2 -2
  139. package/dist/components/dialog/dialog-description.svelte +1 -1
  140. package/dist/components/dialog/dialog-footer.svelte +1 -1
  141. package/dist/components/dialog/dialog-header.svelte +1 -1
  142. package/dist/components/dialog/dialog-root.svelte +102 -82
  143. package/dist/components/dialog/dialog-title.svelte +1 -1
  144. package/dist/components/dialog/motion.svelte.js +68 -26
  145. package/dist/components/dialog/types.d.ts +16 -51
  146. package/dist/components/divider/types.d.ts +1 -6
  147. package/dist/components/drawer/bond.svelte.d.ts +61 -36
  148. package/dist/components/drawer/bond.svelte.js +149 -121
  149. package/dist/components/drawer/drawer-backdrop.svelte +2 -1
  150. package/dist/components/drawer/drawer-body.svelte +1 -1
  151. package/dist/components/drawer/drawer-content.svelte +5 -5
  152. package/dist/components/drawer/drawer-content.svelte.d.ts +4 -1
  153. package/dist/components/drawer/drawer-description.svelte +1 -1
  154. package/dist/components/drawer/drawer-footer.svelte +1 -1
  155. package/dist/components/drawer/drawer-header.svelte +1 -1
  156. package/dist/components/drawer/drawer-root.svelte +96 -87
  157. package/dist/components/drawer/drawer-title.svelte +1 -1
  158. package/dist/components/drawer/motion.d.ts +59 -5
  159. package/dist/components/drawer/motion.js +133 -15
  160. package/dist/components/drawer/types.d.ts +15 -24
  161. package/dist/components/dropdown/atoms.d.ts +4 -8
  162. package/dist/components/dropdown/atoms.js +4 -9
  163. package/dist/components/dropdown/bond.svelte.d.ts +4 -53
  164. package/dist/components/dropdown/bond.svelte.js +4 -89
  165. package/dist/components/dropdown/dropdown-query.svelte +43 -43
  166. package/dist/components/dropdown/dropdown-root.svelte +79 -79
  167. package/dist/components/dropdown/dropdown-root.svelte.d.ts +4 -4
  168. package/dist/components/dropdown/dropdown-selection.svelte +55 -55
  169. package/dist/components/dropdown/dropdown-selections.svelte +70 -70
  170. package/dist/components/dropdown/dropdown-trigger.svelte +30 -30
  171. package/dist/components/dropdown/index.d.ts +43 -7
  172. package/dist/components/dropdown/index.js +34 -6
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +36 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +85 -0
  175. package/dist/components/dropdown/item/controller.svelte.d.ts +1 -1
  176. package/dist/components/dropdown/item/dropdown-item.svelte +81 -107
  177. package/dist/components/dropdown/item/index.d.ts +11 -3
  178. package/dist/components/dropdown/item/index.js +10 -3
  179. package/dist/components/dropdown/types.d.ts +2 -67
  180. package/dist/components/dropdown-menu/atoms.d.ts +9 -0
  181. package/dist/components/dropdown-menu/atoms.js +9 -0
  182. package/dist/components/dropdown-menu/attachments.svelte.d.ts +2 -0
  183. package/dist/components/dropdown-menu/attachments.svelte.js +5 -0
  184. package/dist/components/dropdown-menu/bond.svelte.d.ts +72 -0
  185. package/dist/components/dropdown-menu/bond.svelte.js +173 -0
  186. package/dist/components/dropdown-menu/dropdown-menu-content.svelte +40 -0
  187. package/dist/components/dropdown-menu/dropdown-menu-content.svelte.d.ts +37 -0
  188. package/dist/components/dropdown-menu/dropdown-menu-root.svelte +14 -0
  189. package/dist/components/dropdown-menu/dropdown-menu-root.svelte.d.ts +4 -0
  190. package/dist/components/dropdown-menu/index.d.ts +7 -0
  191. package/dist/components/dropdown-menu/index.js +6 -0
  192. package/dist/components/dropdown-menu/item/bond.svelte.d.ts +26 -0
  193. package/dist/components/dropdown-menu/item/bond.svelte.js +54 -0
  194. package/dist/components/dropdown-menu/item/controller.svelte.d.ts +39 -0
  195. package/dist/components/dropdown-menu/item/controller.svelte.js +73 -0
  196. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte +75 -0
  197. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte.d.ts +32 -0
  198. package/dist/components/dropdown-menu/item/index.d.ts +3 -0
  199. package/dist/components/dropdown-menu/item/index.js +3 -0
  200. package/dist/components/dropdown-menu/item/types.d.ts +57 -0
  201. package/dist/components/dropdown-menu/item/types.js +1 -0
  202. package/dist/components/dropdown-menu/types.d.ts +3 -0
  203. package/dist/components/dropdown-menu/types.js +1 -0
  204. package/dist/components/element/html-element.svelte +114 -85
  205. package/dist/components/element/html-element.svelte.d.ts +1 -1
  206. package/dist/components/element/svg-element.svelte +88 -88
  207. package/dist/components/element/types.d.ts +32 -20
  208. package/dist/components/form/field/atoms.d.ts +1 -1
  209. package/dist/components/form/field/atoms.js +1 -1
  210. package/dist/components/form/field/bond.svelte.js +0 -6
  211. package/dist/components/form/field/field-control.svelte +30 -9
  212. package/dist/components/form/field/field-control.svelte.d.ts +12 -22
  213. package/dist/components/form/field/field-helper-text.svelte +23 -0
  214. package/dist/components/form/field/field-helper-text.svelte.d.ts +26 -0
  215. package/dist/components/form/field/field-label.svelte +5 -7
  216. package/dist/components/form/field/field-label.svelte.d.ts +2 -2
  217. package/dist/components/form/field/field-root.svelte +17 -8
  218. package/dist/components/form/form-root.svelte +66 -66
  219. package/dist/components/form/types.d.ts +34 -58
  220. package/dist/components/icon/icon.svelte +40 -40
  221. package/dist/components/icon/types.d.ts +4 -7
  222. package/dist/components/image/index.d.ts +2 -0
  223. package/dist/components/image/index.js +2 -1
  224. package/dist/components/index.d.ts +11 -0
  225. package/dist/components/index.js +11 -0
  226. package/dist/components/input/atoms.d.ts +19 -1
  227. package/dist/components/input/atoms.js +19 -1
  228. package/dist/components/input/color/color-control.svelte +197 -0
  229. package/dist/components/input/color/color-control.svelte.d.ts +4 -0
  230. package/dist/components/input/color/index.d.ts +5 -0
  231. package/dist/components/input/color/index.js +5 -0
  232. package/dist/components/input/color/segment.svelte +240 -0
  233. package/dist/components/input/color/segment.svelte.d.ts +6 -0
  234. package/dist/components/input/color/shared.d.ts +23 -0
  235. package/dist/components/input/color/shared.js +349 -0
  236. package/dist/components/input/color/swatch.svelte +23 -0
  237. package/dist/components/input/color/swatch.svelte.d.ts +8 -0
  238. package/dist/components/input/color/types.d.ts +56 -0
  239. package/dist/components/input/color/types.js +2 -0
  240. package/dist/components/input/index.d.ts +1 -0
  241. package/dist/components/input/index.js +1 -0
  242. package/dist/components/input/input-control.svelte +3 -1
  243. package/dist/components/input/input-currency-control.svelte +189 -0
  244. package/dist/components/input/input-currency-control.svelte.d.ts +4 -0
  245. package/dist/components/input/input-email-control.svelte +128 -0
  246. package/dist/components/input/input-email-control.svelte.d.ts +4 -0
  247. package/dist/components/input/input-file-control.svelte +127 -0
  248. package/dist/components/input/input-file-control.svelte.d.ts +4 -0
  249. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  250. package/dist/components/input/input-location.svelte +335 -0
  251. package/dist/components/input/input-location.svelte.d.ts +4 -0
  252. package/dist/components/input/input-number-control.svelte +114 -0
  253. package/dist/components/input/input-number-control.svelte.d.ts +6 -0
  254. package/dist/components/input/input-otp-control.svelte +206 -0
  255. package/dist/components/input/input-otp-control.svelte.d.ts +4 -0
  256. package/dist/components/input/input-password-control.svelte +91 -0
  257. package/dist/components/input/input-password-control.svelte.d.ts +3 -0
  258. package/dist/components/input/input-phone-control.svelte +394 -0
  259. package/dist/components/input/input-phone-control.svelte.d.ts +4 -0
  260. package/dist/components/input/input-placeholder.svelte.d.ts +1 -1
  261. package/dist/components/input/input-root.svelte +74 -74
  262. package/dist/components/input/input-text-control.svelte +59 -0
  263. package/dist/components/input/input-text-control.svelte.d.ts +4 -0
  264. package/dist/components/input/input-url-control.svelte +218 -0
  265. package/dist/components/input/input-url-control.svelte.d.ts +4 -0
  266. package/dist/components/input/time/datetime-control.svelte +281 -0
  267. package/dist/components/input/time/datetime-control.svelte.d.ts +5 -0
  268. package/dist/components/input/time/index.d.ts +6 -0
  269. package/dist/components/input/time/index.js +6 -0
  270. package/dist/components/input/time/segment.svelte +143 -0
  271. package/dist/components/input/time/segment.svelte.d.ts +6 -0
  272. package/dist/components/input/time/shared.d.ts +29 -0
  273. package/dist/components/input/time/shared.js +150 -0
  274. package/dist/components/input/time/time-control.svelte +237 -0
  275. package/dist/components/input/time/time-control.svelte.d.ts +3 -0
  276. package/dist/components/input/time/types.d.ts +34 -0
  277. package/dist/components/input/time/types.js +4 -0
  278. package/dist/components/input/types.d.ts +355 -17
  279. package/dist/components/label/types.d.ts +4 -7
  280. package/dist/components/layer/bond.svelte.d.ts +2 -2
  281. package/dist/components/layer/bond.svelte.js +1 -1
  282. package/dist/components/layer/index.d.ts +1 -0
  283. package/dist/components/layer/layer-inner.svelte.d.ts +1 -1
  284. package/dist/components/layer/layer-root.svelte +65 -65
  285. package/dist/components/layer/layer-root.svelte.d.ts +1 -1
  286. package/dist/components/layer/types.d.ts +6 -6
  287. package/dist/components/lazy/index.d.ts +1 -0
  288. package/dist/components/lazy/lazy.svelte +29 -29
  289. package/dist/components/lazy/types.d.ts +4 -4
  290. package/dist/components/link/index.d.ts +1 -0
  291. package/dist/components/link/types.d.ts +5 -6
  292. package/dist/components/list/index.d.ts +1 -0
  293. package/dist/components/list/types.d.ts +5 -6
  294. package/dist/components/menu/atoms.d.ts +2 -7
  295. package/dist/components/menu/atoms.js +2 -7
  296. package/dist/components/menu/bond.svelte.d.ts +9 -23
  297. package/dist/components/menu/bond.svelte.js +6 -0
  298. package/dist/components/menu/index.d.ts +40 -4
  299. package/dist/components/menu/index.js +26 -3
  300. package/dist/components/menu/item/bond.svelte.d.ts +27 -0
  301. package/dist/components/menu/item/bond.svelte.js +54 -0
  302. package/dist/components/menu/item/controller.svelte.d.ts +1 -1
  303. package/dist/components/menu/item/index.d.ts +5 -2
  304. package/dist/components/menu/item/index.js +4 -2
  305. package/dist/components/menu/item/menu-item.svelte +87 -103
  306. package/dist/components/menu/item/menu-item.svelte.d.ts +15 -14
  307. package/dist/components/menu/item/types.d.ts +5 -12
  308. package/dist/components/menu/menu-content.svelte +40 -40
  309. package/dist/components/menu/menu-root.svelte +15 -15
  310. package/dist/components/menu/menu-root.svelte.d.ts +1 -1
  311. package/dist/components/menu/types.d.ts +2 -6
  312. package/dist/components/popover/bond.svelte.d.ts +67 -39
  313. package/dist/components/popover/bond.svelte.js +159 -197
  314. package/dist/components/popover/index.d.ts +3 -1
  315. package/dist/components/popover/index.js +3 -1
  316. package/dist/components/popover/motion.d.ts +29 -1
  317. package/dist/components/popover/motion.js +128 -50
  318. package/dist/components/popover/popover-arrow.svelte +97 -110
  319. package/dist/components/popover/popover-arrow.svelte.d.ts +1 -2
  320. package/dist/components/popover/popover-content.svelte +159 -123
  321. package/dist/components/popover/popover-engine.svelte +118 -0
  322. package/dist/components/popover/popover-engine.svelte.d.ts +3 -0
  323. package/dist/components/popover/popover-indicator.svelte +2 -13
  324. package/dist/components/popover/popover-indicator.svelte.d.ts +0 -6
  325. package/dist/components/popover/popover-root.svelte +87 -49
  326. package/dist/components/popover/popover-root.svelte.d.ts +2 -1
  327. package/dist/components/popover/popover-trigger.svelte +35 -35
  328. package/dist/components/popover/strategies/floating.svelte +109 -0
  329. package/dist/components/popover/strategies/floating.svelte.d.ts +3 -0
  330. package/dist/components/popover/strategies/index.d.ts +1 -0
  331. package/dist/components/popover/strategies/index.js +1 -0
  332. package/dist/components/popover/strategy-types.d.ts +40 -0
  333. package/dist/components/popover/strategy-types.js +1 -0
  334. package/dist/components/popover/types.d.ts +10 -36
  335. package/dist/components/portal/active-portal.svelte +5 -4
  336. package/dist/components/portal/bond.svelte.d.ts +12 -8
  337. package/dist/components/portal/bond.svelte.js +25 -27
  338. package/dist/components/portal/index.d.ts +1 -0
  339. package/dist/components/portal/index.js +1 -0
  340. package/dist/components/portal/portal-inner.svelte +1 -1
  341. package/dist/components/portal/portal-inner.svelte.d.ts +1 -1
  342. package/dist/components/portal/portal-root.svelte +76 -76
  343. package/dist/components/portal/portal-root.svelte.d.ts +1 -1
  344. package/dist/components/portal/portals/bond.svelte.d.ts +2 -2
  345. package/dist/components/portal/portals/bond.svelte.js +2 -2
  346. package/dist/components/portal/teleport.svelte +47 -49
  347. package/dist/components/portal/teleport.svelte.d.ts +1 -2
  348. package/dist/components/portal/types.d.ts +7 -25
  349. package/dist/components/portal/utils.js +3 -3
  350. package/dist/components/portal/zlayer.svelte.d.ts +16 -0
  351. package/dist/components/portal/zlayer.svelte.js +25 -0
  352. package/dist/components/radio/index.d.ts +2 -0
  353. package/dist/components/radio/index.js +1 -0
  354. package/dist/components/radio/motion.d.ts +24 -0
  355. package/dist/components/radio/motion.js +59 -0
  356. package/dist/components/radio/radio.svelte +22 -12
  357. package/dist/components/radio/types.d.ts +5 -14
  358. package/dist/components/root/bond.svelte.d.ts +2 -2
  359. package/dist/components/root/bond.svelte.js +1 -1
  360. package/dist/components/root/root.svelte +82 -92
  361. package/dist/components/root/root.svelte.d.ts +2 -2
  362. package/dist/components/root/types.d.ts +4 -15
  363. package/dist/components/scrollable/atoms.d.ts +1 -0
  364. package/dist/components/scrollable/atoms.js +1 -0
  365. package/dist/components/scrollable/bond.svelte.d.ts +73 -189
  366. package/dist/components/scrollable/bond.svelte.js +195 -371
  367. package/dist/components/scrollable/scrollable-container.css +22 -22
  368. package/dist/components/scrollable/scrollable-container.svelte +66 -61
  369. package/dist/components/scrollable/scrollable-container.svelte.d.ts +12 -12
  370. package/dist/components/scrollable/scrollable-content.svelte +22 -17
  371. package/dist/components/scrollable/scrollable-content.svelte.d.ts +12 -12
  372. package/dist/components/scrollable/scrollable-root.svelte +106 -101
  373. package/dist/components/scrollable/scrollable-root.svelte.d.ts +12 -12
  374. package/dist/components/scrollable/scrollable-thumb.svelte +21 -45
  375. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +12 -12
  376. package/dist/components/scrollable/scrollable-track.svelte +21 -22
  377. package/dist/components/scrollable/scrollable-track.svelte.d.ts +12 -12
  378. package/dist/components/scrollable/types.d.ts +15 -38
  379. package/dist/components/select/atoms.d.ts +8 -0
  380. package/dist/components/select/atoms.js +8 -0
  381. package/dist/components/select/attachments.svelte.d.ts +2 -0
  382. package/dist/components/select/attachments.svelte.js +5 -0
  383. package/dist/components/select/bond.svelte.d.ts +56 -0
  384. package/dist/components/select/bond.svelte.js +112 -0
  385. package/dist/components/select/index.d.ts +11 -0
  386. package/dist/components/select/index.js +10 -0
  387. package/dist/components/select/item/attachments.svelte.d.ts +3 -0
  388. package/dist/components/select/item/attachments.svelte.js +6 -0
  389. package/dist/components/select/item/bond.svelte.d.ts +33 -0
  390. package/dist/components/select/item/bond.svelte.js +77 -0
  391. package/dist/components/select/item/controller.svelte.d.ts +39 -0
  392. package/dist/components/select/item/controller.svelte.js +105 -0
  393. package/dist/components/select/item/index.d.ts +5 -0
  394. package/dist/components/select/item/index.js +5 -0
  395. package/dist/components/select/item/select-item.svelte +81 -0
  396. package/dist/components/select/item/select-item.svelte.d.ts +25 -0
  397. package/dist/components/select/item/types.d.ts +29 -0
  398. package/dist/components/select/item/types.js +1 -0
  399. package/dist/components/select/runes.svelte.d.ts +10 -0
  400. package/dist/components/select/runes.svelte.js +15 -0
  401. package/dist/components/select/select-placeholder.svelte +40 -0
  402. package/dist/components/select/select-placeholder.svelte.d.ts +34 -0
  403. package/dist/components/select/select-root.svelte +80 -0
  404. package/dist/components/select/select-root.svelte.d.ts +30 -0
  405. package/dist/components/select/select-selection.svelte +55 -0
  406. package/dist/components/select/select-selection.svelte.d.ts +26 -0
  407. package/dist/components/select/select-selections.svelte +70 -0
  408. package/dist/components/select/select-selections.svelte.d.ts +5 -0
  409. package/dist/components/select/select-trigger.svelte +30 -0
  410. package/dist/components/select/select-trigger.svelte.d.ts +26 -0
  411. package/dist/components/select/types.d.ts +61 -0
  412. package/dist/components/select/types.js +1 -0
  413. package/dist/components/sidebar/bond.svelte.d.ts +10 -7
  414. package/dist/components/sidebar/bond.svelte.js +20 -15
  415. package/dist/components/sidebar/sidebar-content.svelte +1 -1
  416. package/dist/components/sidebar/sidebar-root.svelte +50 -41
  417. package/dist/components/sidebar/types.d.ts +10 -15
  418. package/dist/components/slider/index.d.ts +2 -0
  419. package/dist/components/slider/index.js +2 -0
  420. package/dist/components/slider/slider.svelte +164 -0
  421. package/dist/components/slider/slider.svelte.d.ts +6 -0
  422. package/dist/components/slider/types.d.ts +78 -0
  423. package/dist/components/slider/types.js +1 -0
  424. package/dist/components/stack/bond.svelte.d.ts +50 -0
  425. package/dist/components/stack/bond.svelte.js +174 -0
  426. package/dist/components/stack/index.d.ts +2 -0
  427. package/dist/components/stack/index.js +2 -0
  428. package/dist/components/stack/stack-item.svelte +40 -4
  429. package/dist/components/stack/stack-item.svelte.d.ts +6 -5
  430. package/dist/components/stack/stack-root.svelte +33 -4
  431. package/dist/components/stack/stack-root.svelte.d.ts +14 -5
  432. package/dist/components/stack/types.d.ts +11 -10
  433. package/dist/components/stepper/bond.svelte.d.ts +8 -7
  434. package/dist/components/stepper/bond.svelte.js +14 -11
  435. package/dist/components/stepper/step/README.md +97 -97
  436. package/dist/components/stepper/step/bond.svelte.d.ts +74 -63
  437. package/dist/components/stepper/step/bond.svelte.js +105 -69
  438. package/dist/components/stepper/step/step-body.svelte +39 -39
  439. package/dist/components/stepper/step/step-description.svelte +33 -33
  440. package/dist/components/stepper/step/step-header.svelte +34 -34
  441. package/dist/components/stepper/step/step-indicator.svelte +62 -62
  442. package/dist/components/stepper/step/step-root.svelte +42 -42
  443. package/dist/components/stepper/step/step-separator.svelte +48 -48
  444. package/dist/components/stepper/step/step-title.svelte +33 -33
  445. package/dist/components/stepper/step/types.d.ts +13 -57
  446. package/dist/components/stepper/stepper-body.svelte +31 -43
  447. package/dist/components/stepper/stepper-content.svelte +45 -45
  448. package/dist/components/stepper/stepper-footer.svelte +31 -31
  449. package/dist/components/stepper/stepper-header.svelte +27 -39
  450. package/dist/components/stepper/stepper-root.svelte +55 -61
  451. package/dist/components/stepper/types.d.ts +10 -36
  452. package/dist/components/swatch/index.d.ts +1 -0
  453. package/dist/components/swatch/index.js +1 -0
  454. package/dist/components/swatch/swatch.svelte +57 -0
  455. package/dist/components/swatch/swatch.svelte.d.ts +9 -0
  456. package/dist/components/switch/index.d.ts +2 -0
  457. package/dist/components/switch/index.js +2 -0
  458. package/dist/components/switch/switch.svelte +76 -0
  459. package/dist/components/switch/switch.svelte.d.ts +6 -0
  460. package/dist/components/switch/types.d.ts +43 -0
  461. package/dist/components/switch/types.js +1 -0
  462. package/dist/components/tabs/bond.svelte.d.ts +38 -19
  463. package/dist/components/tabs/bond.svelte.js +53 -46
  464. package/dist/components/tabs/tab/attachments.svelte.d.ts +5 -2
  465. package/dist/components/tabs/tab/attachments.svelte.js +4 -3
  466. package/dist/components/tabs/tab/bond.svelte.d.ts +35 -23
  467. package/dist/components/tabs/tab/bond.svelte.js +81 -56
  468. package/dist/components/tabs/tab/tab-body.svelte +61 -43
  469. package/dist/components/tabs/tab/tab-description.svelte +33 -33
  470. package/dist/components/tabs/tab/tab-header.svelte +61 -61
  471. package/dist/components/tabs/tab/tab-root.svelte +49 -50
  472. package/dist/components/tabs/tab/tab-root.svelte.d.ts +13 -35
  473. package/dist/components/tabs/tabs-body.svelte +39 -35
  474. package/dist/components/tabs/tabs-body.svelte.d.ts +1 -1
  475. package/dist/components/tabs/tabs-content.svelte +32 -51
  476. package/dist/components/tabs/tabs-header.svelte +32 -32
  477. package/dist/components/tabs/tabs-root.svelte +56 -56
  478. package/dist/components/tabs/types.d.ts +20 -37
  479. package/dist/components/textarea/types.d.ts +6 -12
  480. package/dist/components/toast/atoms.d.ts +1 -0
  481. package/dist/components/toast/atoms.js +1 -0
  482. package/dist/components/toast/index.d.ts +1 -0
  483. package/dist/components/toast/index.js +1 -0
  484. package/dist/components/toast/manager.svelte.d.ts +38 -0
  485. package/dist/components/toast/manager.svelte.js +82 -0
  486. package/dist/components/toast/toast-description.svelte.d.ts +1 -1
  487. package/dist/components/toast/toast-root-managed.svelte +64 -0
  488. package/dist/components/toast/toast-root-managed.svelte.d.ts +7 -0
  489. package/dist/components/toast/toast-root.svelte.d.ts +1 -1
  490. package/dist/components/toast/toast-title.svelte.d.ts +1 -1
  491. package/dist/components/toast/toast-toaster.svelte +42 -0
  492. package/dist/components/toast/toast-toaster.svelte.d.ts +4 -0
  493. package/dist/components/toast/types.d.ts +22 -31
  494. package/dist/components/tooltip/index.d.ts +1 -0
  495. package/dist/components/tooltip/tooltip-trigger.svelte +39 -39
  496. package/dist/components/tooltip/types.d.ts +5 -8
  497. package/dist/components/tree/bond.svelte.d.ts +28 -19
  498. package/dist/components/tree/bond.svelte.js +62 -53
  499. package/dist/components/tree/tree-body.svelte +1 -1
  500. package/dist/components/tree/tree-header.svelte +1 -1
  501. package/dist/components/tree/tree-header.svelte.d.ts +1 -1
  502. package/dist/components/tree/tree-indicator.svelte +1 -1
  503. package/dist/components/tree/tree-root.svelte +66 -66
  504. package/dist/components/tree/types.d.ts +4 -28
  505. package/dist/components/virtual/index.d.ts +2 -0
  506. package/dist/components/virtual/index.js +2 -0
  507. package/dist/components/virtual/types.d.ts +1 -6
  508. package/dist/constants/motion.d.ts +9 -0
  509. package/dist/constants/motion.js +9 -0
  510. package/dist/context/index.d.ts +1 -1
  511. package/dist/context/preset.svelte.d.ts +169 -2
  512. package/dist/runes/color-scheme.svelte.js +17 -5
  513. package/dist/shared/bond.svelte.d.ts +29 -3
  514. package/dist/shared/bond.svelte.js +126 -4
  515. package/dist/shared/index.d.ts +1 -1
  516. package/dist/shared/index.js +1 -1
  517. package/dist/shared/motion.d.ts +1 -0
  518. package/dist/shared/motion.js +2 -8
  519. package/dist/types/index.d.ts +4 -0
  520. package/dist/utils/index.d.ts +1 -1
  521. package/dist/utils/index.js +1 -1
  522. package/dist/utils/promise.svelte.d.ts +5 -0
  523. package/dist/utils/promise.svelte.js +17 -0
  524. package/dist/utils/variant.d.ts +10 -1
  525. package/dist/utils/variant.js +11 -1
  526. package/package.json +171 -48
  527. package/dist/components/accordion/accordion.stories.svelte +0 -70
  528. package/dist/components/accordion/accordion.stories.svelte.d.ts +0 -18
  529. package/dist/components/alert/alert.stories.svelte +0 -400
  530. package/dist/components/alert/alert.stories.svelte.d.ts +0 -3
  531. package/dist/components/avatar/avatar.stories.svelte +0 -22
  532. package/dist/components/avatar/avatar.stories.svelte.d.ts +0 -26
  533. package/dist/components/badge/badge.stories.svelte +0 -12
  534. package/dist/components/badge/badge.stories.svelte.d.ts +0 -26
  535. package/dist/components/breadcrumb/breadcrumb.stories.svelte +0 -16
  536. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +0 -26
  537. package/dist/components/button/button.stories.svelte +0 -27
  538. package/dist/components/button/button.stories.svelte.d.ts +0 -18
  539. package/dist/components/calendar/calendar.stories.svelte +0 -26
  540. package/dist/components/calendar/calendar.stories.svelte.d.ts +0 -26
  541. package/dist/components/card/card.stories.svelte +0 -133
  542. package/dist/components/card/card.stories.svelte.d.ts +0 -19
  543. package/dist/components/checkbox/checkbox.stories.svelte +0 -22
  544. package/dist/components/checkbox/checkbox.stories.svelte.d.ts +0 -6
  545. package/dist/components/collapsible/collapsible.stories.svelte +0 -172
  546. package/dist/components/collapsible/collapsible.stories.svelte.d.ts +0 -18
  547. package/dist/components/combobox/combobox.stories.svelte +0 -63
  548. package/dist/components/combobox/combobox.stories.svelte.d.ts +0 -3
  549. package/dist/components/container/container.stories.svelte +0 -20
  550. package/dist/components/container/container.stories.svelte.d.ts +0 -26
  551. package/dist/components/contextmenu/atoms.d.ts +0 -0
  552. package/dist/components/contextmenu/atoms.js +0 -1
  553. package/dist/components/contextmenu/contextmenu-trigger.svelte +0 -0
  554. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +0 -26
  555. package/dist/components/contextmenu/indext.d.ts +0 -0
  556. package/dist/components/contextmenu/indext.js +0 -1
  557. package/dist/components/datagrid/datagrid.stories.svelte +0 -72
  558. package/dist/components/datagrid/datagrid.stories.svelte.d.ts +0 -6
  559. package/dist/components/datagrid/td/bond.svelte.d.ts +0 -28
  560. package/dist/components/datagrid/td/bond.svelte.js +0 -40
  561. package/dist/components/datagrid/td/datagrid-td.svelte +0 -66
  562. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +0 -30
  563. package/dist/components/datagrid/td/index.d.ts +0 -2
  564. package/dist/components/datagrid/td/index.js +0 -2
  565. package/dist/components/datagrid/th/bond.svelte.d.ts +0 -38
  566. package/dist/components/datagrid/th/bond.svelte.js +0 -66
  567. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +0 -26
  568. package/dist/components/datagrid/th/index.d.ts +0 -2
  569. package/dist/components/datagrid/th/index.js +0 -2
  570. package/dist/components/datagrid/tr/bond.svelte.d.ts +0 -37
  571. package/dist/components/datagrid/tr/bond.svelte.js +0 -72
  572. package/dist/components/datagrid/tr/datagrid-tr.svelte +0 -90
  573. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +0 -28
  574. package/dist/components/datagrid/tr/index.d.ts +0 -2
  575. package/dist/components/datagrid/tr/index.js +0 -2
  576. package/dist/components/date-picker/date-picker.stories.svelte +0 -35
  577. package/dist/components/date-picker/date-picker.stories.svelte.d.ts +0 -3
  578. package/dist/components/dialog/dialog.stories.svelte +0 -64
  579. package/dist/components/dialog/dialog.stories.svelte.d.ts +0 -3
  580. package/dist/components/drawer/drawer.stories.svelte +0 -141
  581. package/dist/components/drawer/drawer.stories.svelte.d.ts +0 -3
  582. package/dist/components/dropdown/dropdown.stories.svelte +0 -127
  583. package/dist/components/dropdown/dropdown.stories.svelte.d.ts +0 -3
  584. package/dist/components/element/element.stories.svelte +0 -37
  585. package/dist/components/element/element.stories.svelte.d.ts +0 -3
  586. package/dist/components/form/field/field-errors.svelte +0 -9
  587. package/dist/components/form/field/field-errors.svelte.d.ts +0 -11
  588. package/dist/components/form/form.stories.svelte +0 -96
  589. package/dist/components/form/form.stories.svelte.d.ts +0 -18
  590. package/dist/components/image/image.stories.svelte +0 -20
  591. package/dist/components/image/image.stories.svelte.d.ts +0 -26
  592. package/dist/components/input/input.stories.svelte +0 -35
  593. package/dist/components/input/input.stories.svelte.d.ts +0 -18
  594. package/dist/components/label/label.stories.svelte +0 -15
  595. package/dist/components/label/label.stories.svelte.d.ts +0 -26
  596. package/dist/components/lazy/lazy.stories.svelte +0 -28
  597. package/dist/components/lazy/lazy.stories.svelte.d.ts +0 -19
  598. package/dist/components/link/link.stories.svelte +0 -15
  599. package/dist/components/link/link.stories.svelte.d.ts +0 -26
  600. package/dist/components/menu/menu.stories.svelte +0 -33
  601. package/dist/components/menu/menu.stories.svelte.d.ts +0 -3
  602. package/dist/components/popover/popover.stories.svelte +0 -37
  603. package/dist/components/popover/popover.stories.svelte.d.ts +0 -3
  604. package/dist/components/qr-code/qr-code.stories.svelte +0 -18
  605. package/dist/components/qr-code/qr-code.stories.svelte.d.ts +0 -26
  606. package/dist/components/radio/radio-group.stories.svelte +0 -41
  607. package/dist/components/radio/radio-group.stories.svelte.d.ts +0 -6
  608. package/dist/components/radio/radio.stories.svelte +0 -17
  609. package/dist/components/radio/radio.stories.svelte.d.ts +0 -6
  610. package/dist/components/root/l0-portal.svelte +0 -8
  611. package/dist/components/root/l0-portal.svelte.d.ts +0 -26
  612. package/dist/components/root/l1-portal.svelte +0 -7
  613. package/dist/components/root/l1-portal.svelte.d.ts +0 -26
  614. package/dist/components/root/toasts-portal.svelte +0 -7
  615. package/dist/components/root/toasts-portal.svelte.d.ts +0 -26
  616. package/dist/components/scrollable/scrollable.stories.svelte +0 -116
  617. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +0 -26
  618. package/dist/components/sidebar/sidebar.stories.svelte +0 -43
  619. package/dist/components/sidebar/sidebar.stories.svelte.d.ts +0 -3
  620. package/dist/components/stepper/stepper.stories.svelte +0 -264
  621. package/dist/components/stepper/stepper.stories.svelte.d.ts +0 -4
  622. package/dist/components/tabs/tabs.stories.svelte +0 -70
  623. package/dist/components/tabs/tabs.stories.svelte.d.ts +0 -3
  624. package/dist/components/tooltip/tooltip.stories.svelte +0 -32
  625. package/dist/components/tooltip/tooltip.stories.svelte.d.ts +0 -3
  626. package/dist/components/tree/tree.stories.svelte +0 -142
  627. package/dist/components/tree/tree.stories.svelte.d.ts +0 -3
  628. /package/dist/components/{contextmenu → context-menu}/types.js +0 -0
@@ -1,61 +1,27 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { HtmlAtomProps, Base } from '../atom';
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
3
3
  import type { Factory } from '../../types';
4
4
  import type { AlertBond } from './bond.svelte';
5
- /**
6
- * Extend this interface to add custom alert root properties in your application.
7
- */
8
- export interface AlertRootExtendProps {
9
- }
10
- /**
11
- * Extend this interface to add custom alert content properties in your application.
12
- */
13
- export interface AlertContentExtendProps {
14
- }
15
- /**
16
- * Extend this interface to add custom alert title properties in your application.
17
- */
18
- export interface AlertTitleExtendProps {
19
- }
20
- /**
21
- * Extend this interface to add custom alert description properties in your application.
22
- */
23
- export interface AlertDescriptionExtendProps {
24
- }
25
- /**
26
- * Extend this interface to add custom alert icon properties in your application.
27
- */
28
- export interface AlertIconExtendProps {
29
- }
30
- /**
31
- * Extend this interface to add custom alert actions properties in your application.
32
- */
33
- export interface AlertActionsExtendProps {
34
- }
35
- /**
36
- * Extend this interface to add custom alert close button properties in your application.
37
- */
38
- export interface AlertCloseButtonExtendProps {
39
- }
40
- export interface AlertRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertRootExtendProps {
5
+ export interface AlertSnippetProps extends SnippetProps {
6
+ alert: AlertBond;
7
+ }
8
+ export type AlertChildren = Snippet<[AlertSnippetProps]>;
9
+ export interface AlertRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
41
10
  dismissible?: boolean;
42
11
  dismissed?: boolean;
43
12
  disabled?: boolean;
44
13
  extend?: Record<string, unknown>;
45
14
  factory?: Factory<AlertBond>;
46
- children?: Snippet<[{
47
- alert: AlertBond;
48
- }]>;
49
15
  }
50
- export interface AlertContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertContentExtendProps {
16
+ export interface AlertContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
51
17
  }
52
- export interface AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertTitleExtendProps {
18
+ export interface AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
53
19
  }
54
- export interface AlertDescriptionProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertDescriptionExtendProps {
20
+ export interface AlertDescriptionProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
55
21
  }
56
- export interface AlertIconProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertIconExtendProps {
22
+ export interface AlertIconProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
57
23
  }
58
- export interface AlertActionsProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertActionsExtendProps {
24
+ export interface AlertActionsProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
59
25
  }
60
- export interface AlertCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertCloseButtonExtendProps {
26
+ export interface AlertCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
61
27
  }
@@ -1,95 +1,84 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- import type { Base, HtmlAtomProps, SnippetBase } from './types';
4
- import { RootBond } from '../root';
5
- import { HtmlElement } from '../element';
6
- import { getPreset } from '../../context';
7
- import type { PresetModuleName } from '../../context/preset.svelte';
8
- import SnippetRenderer from './snippet-renderer.svelte';
9
- import type { Component } from 'svelte';
10
- import type { ClassValue } from '../../utils';
11
- import {
12
- resolvePreset,
13
- resolveLocalVariants,
14
- mergeVariants,
15
- mergeClassesWithPreset,
16
- extractRestProps,
17
- isSnippetBase
18
- } from './utils';
19
-
20
- type Element = HTMLElementTagNameMap[E];
21
-
22
- type Props = Omit<HTMLAttributes<Element>, 'children'> & HtmlAtomProps<E, B>;
23
-
24
- const rootBond = RootBond.get();
25
-
26
- let {
27
- class: klass = '',
28
- as = 'div',
29
- base = undefined,
30
- preset: presetKey = undefined,
31
- bond = undefined,
32
- variants = undefined,
33
- children: childrenProp = undefined,
34
- ...restProps
35
- }: Props = $props();
36
-
37
- // Memoize preset resolution - only recompute when presetKey or bond changes
38
- const preset = $derived.by(() => {
39
- if (!presetKey) return undefined;
40
- const result = getPreset(presetKey as PresetModuleName)?.apply?.(bond, [bond]);
41
- return resolvePreset(result);
42
- });
43
-
44
- const presetVariantsProps = $derived(preset?.variants);
45
-
46
- // Resolve local variants - either VariantDefinition or function
47
- const localVariants = $derived(resolveLocalVariants(variants, bond, restProps));
48
-
49
- // Merge preset variants with local variants
50
- // Memoized to avoid recomputation when inputs haven't changed
51
- const mergedVariants = $derived.by(() => {
52
- return mergeVariants(
53
- presetVariantsProps,
54
- preset?.class,
55
- preset?.compounds,
56
- preset?.defaults,
57
- localVariants,
58
- bond,
59
- restProps
60
- );
61
- });
62
-
63
- const _klass = $derived(
64
- mergeClassesWithPreset(klass, preset?.class, mergedVariants?.class as ClassValue)
65
- );
66
-
67
- const _base = $derived(base ?? preset?.base);
68
- const _as = $derived(as ?? preset?.as);
69
- const _restProps = $derived(extractRestProps(preset, mergedVariants, restProps));
70
-
71
- const isSnippet = $derived(isSnippetBase(_base));
72
-
73
- const snippet = $derived(_base as SnippetBase);
74
-
75
- const atom = rootBond?.state?.props?.renderers?.html ?? HtmlElement;
76
-
77
- const renderer = $derived.by(() => {
78
- if (isSnippet)
79
- return {
80
- component: SnippetRenderer,
81
- props: { snippet: snippet, class: _klass, as: _as, children: childrenProp, ..._restProps }
82
- };
83
-
84
- return {
85
- component: _base ?? atom,
86
- props: { class: _klass, as: _as, ..._restProps }
87
- };
88
- }) as { component: Component; props: Record<string, any> };
89
- </script>
90
-
91
- <renderer.component {...renderer.props}>
92
- {#snippet children(args: any)}
93
- {@render (childrenProp as any)?.(args)}
94
- {/snippet}
95
- </renderer.component>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import type { Base, HtmlAtomProps } from './types';
3
+ import { RootBond } from '../root';
4
+ import { HtmlElement } from '../element';
5
+ import { getPreset } from '../../context';
6
+ import type { PresetModuleName } from '../../context/preset.svelte';
7
+ import SnippetRenderer from './snippet-renderer.svelte';
8
+ import type { Component } from 'svelte';
9
+ import type { ClassValue } from '../../utils';
10
+ import {
11
+ resolvePreset,
12
+ resolveLocalVariants,
13
+ mergeVariants,
14
+ mergeClassesWithPreset,
15
+ extractRestProps,
16
+ isSnippetBase
17
+ } from './utils';
18
+
19
+ const rootBond = RootBond.get();
20
+
21
+ let {
22
+ class: klass = '',
23
+ as = 'div',
24
+ base = undefined,
25
+ preset: presetKey = undefined,
26
+ bond = undefined,
27
+ variants = undefined,
28
+ children: childrenProp = undefined,
29
+ ...restProps
30
+ }: HtmlAtomProps<E, B> = $props();
31
+
32
+ // Memoize preset resolution - only recompute when presetKey or bond changes
33
+ const preset = $derived.by(() => {
34
+ if (!presetKey) return undefined;
35
+ const result = getPreset(presetKey as PresetModuleName)?.(bond);
36
+ return resolvePreset(result);
37
+ });
38
+
39
+ // Resolve local variants - either VariantDefinition or function
40
+ const localVariants = $derived(resolveLocalVariants(variants, bond, restProps));
41
+
42
+ // Merge preset variants with local variants
43
+ // Memoized to avoid recomputation when inputs haven't changed
44
+ const mergedVariants = $derived.by(() => {
45
+ return mergeVariants(
46
+ preset?.variants,
47
+ preset?.class,
48
+ preset?.compounds,
49
+ preset?.defaults,
50
+ localVariants,
51
+ bond,
52
+ restProps
53
+ );
54
+ });
55
+
56
+ const finalKlass = $derived(
57
+ mergeClassesWithPreset(klass, preset?.class, mergedVariants?.class as ClassValue)
58
+ );
59
+
60
+ const finalBase = $derived(base ?? preset?.base);
61
+ const finalAs = $derived(as ?? preset?.as);
62
+ const finalRestProps = $derived(extractRestProps(preset, mergedVariants, restProps));
63
+
64
+ const atom = $derived(rootBond?.state?.props?.renderers?.html ?? HtmlElement);
65
+
66
+ const renderer = $derived.by(() => {
67
+ if (isSnippetBase(finalBase))
68
+ return {
69
+ component: SnippetRenderer,
70
+ props: { snippet: finalBase, class: finalKlass, as: finalAs, children: childrenProp, ...finalRestProps }
71
+ };
72
+
73
+ return {
74
+ component: finalBase ?? atom,
75
+ props: { class: finalKlass, as: finalAs, ...finalRestProps }
76
+ };
77
+ }) as { component: Component; props: Record<string, any> };
78
+ </script>
79
+
80
+ <renderer.component {...renderer.props}>
81
+ {#snippet children(args: any)}
82
+ {@render (childrenProp as any)?.(args)}
83
+ {/snippet}
84
+ </renderer.component>
@@ -1,7 +1,6 @@
1
- import type { HTMLAttributes } from 'svelte/elements';
2
1
  import type { Base, HtmlAtomProps } from './types';
3
2
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
- props: Omit<HTMLAttributes<HTMLElementTagNameMap[E]>, "children"> & HtmlAtomProps<E, B>;
3
+ props: HtmlAtomProps<E, B>;
5
4
  exports: {};
6
5
  bindings: "";
7
6
  slots: {};
@@ -1,3 +1,4 @@
1
1
  export { default as HtmlAtom } from './html-atom.svelte';
2
2
  export * as Atom from './atoms';
3
3
  export * from './types';
4
+ export { resolvePreset } from './utils';
@@ -1,3 +1,4 @@
1
1
  export { default as HtmlAtom } from './html-atom.svelte';
2
2
  export * as Atom from './atoms';
3
3
  export * from './types';
4
+ export { resolvePreset } from './utils';
@@ -1,26 +1,68 @@
1
1
  import type { Component, Snippet } from 'svelte';
2
- import { type HtmlElementTagName } from '../element';
2
+ import type { HtmlElementTagName } from '../element';
3
3
  import type { HtmlElementProps, ElementType } from '../element/types';
4
4
  import type { PresetModuleName } from '../../context/preset.svelte';
5
5
  import type { Bond } from '../../shared';
6
6
  import type { VariantDefinition } from '../../utils';
7
+ /** Base type for component-based implementations */
7
8
  export type ComponentBase = Component;
9
+ /** Base type for snippet-based implementations */
8
10
  export type SnippetBase = Snippet;
9
- export type Base<Args = any> = Args extends Record<string, any> ? ComponentBase : Args extends unknown[] ? SnippetBase : never;
10
11
  /**
11
- * Extend this interface to add custom HTML atom properties in your application.
12
+ * Generic base type that can be either a Component or Snippet
13
+ * - Allows components to work with both rendering patterns
14
+ * - Provides type safety for generic component props
12
15
  */
13
- export interface HtmlAtomExtendProps {
16
+ export type Base<Args extends unknown[] = unknown[]> = Args extends [
17
+ infer First extends Record<string, any>,
18
+ ...unknown[]
19
+ ] ? ComponentBase : Args extends [] ? SnippetBase | ComponentBase : Args extends unknown[] ? SnippetBase : never;
20
+ /**
21
+ * Base interface for snippet context props.
22
+ * Extend this to type the snippet argument in your component.
23
+ */
24
+ export interface SnippetProps {
14
25
  }
15
- type Variants = VariantDefinition<any> | ((bond: Bond, variantProps: Record<string, any>) => Record<string, any>);
16
- export interface HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B extends Base<any> = Base> extends HtmlElementProps<E>, HtmlAtomExtendProps {
17
- bond?: Bond;
26
+ /** Variant configuration - can be static or dynamic */
27
+ export type Variants = VariantDefinition<any> | ((bond: Bond, variantProps: Record<string, any>) => Record<string, any>);
28
+ /**
29
+ * Base props for HTML atom components
30
+ *
31
+ * Extensibility pattern:
32
+ * ```ts
33
+ * // In component type file:
34
+ * interface CustomSnippetProps extends SnippetProps {
35
+ * value: string;
36
+ * onChange: (value: string) => void;
37
+ * }
38
+ *
39
+ * interface CustomAtomProps extends HtmlAtomProps<'input'> {
40
+ * children?: Snippet<[CustomSnippetProps]>;
41
+ * }
42
+ * ```
43
+ */
44
+ export interface HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B extends Base<any> = Base, Children extends Snippet<unknown[]> = Snippet> extends HtmlElementProps<E, Children> {
45
+ /** Optional Bond for state management & context */
46
+ bond?: Bond | undefined;
47
+ /** Base component or snippet to render (can be overridden) */
18
48
  base?: B | undefined;
49
+ /** Preset configuration module */
19
50
  preset?: PresetModuleName | (string & {});
20
51
  /**
21
- * Variant definition or function to resolve variants
22
- * - VariantDefinition: Static variant config with base, variants, compoundVariants, defaultVariants
23
- * - Function: Dynamic function that receives bond and props, returns props (legacy)
52
+ * Variant definition or function to resolve variants dynamically
53
+ *
54
+ * Supports two patterns:
55
+ * 1. Static: `VariantDefinition` - static config with variants, defaultVariants, etc.
56
+ * 2. Dynamic: `Function` - receives bond and props, returns resolved props
57
+ *
58
+ * Example:
59
+ * ```ts
60
+ * variants: cva('button', {
61
+ * variants: {
62
+ * size: { sm: 'px-2 py-1', lg: 'px-4 py-2' }
63
+ * }
64
+ * })
65
+ * ```
24
66
  */
25
67
  variants?: Variants;
26
68
  }
@@ -1 +1 @@
1
- import {} from '../element';
1
+ export {};
@@ -22,8 +22,13 @@ export declare function mergeVariants(presetVariants: Record<string, any> | unde
22
22
  */
23
23
  export declare function mergeClassesWithPreset(userClass: string | ClassValue | undefined, presetClass: ClassValue | undefined, variantClass: ClassValue | undefined): string;
24
24
  /**
25
- * Pure function to resolve local variants
26
- * Handles both function-based and VariantDefinition-based variants
25
+ * Pure function to resolve local variants.
26
+ * Handles both function-based and VariantDefinition-based variants.
27
+ *
28
+ * If the function was created by `defineVariants`, it carries a VARIANT_DEF_TAG
29
+ * symbol with the original config. We detect this and route through the cached
30
+ * resolveVariants engine so defineVariants-based variants benefit from the same
31
+ * two-level WeakMap cache as raw VariantDefinition objects.
27
32
  */
28
33
  export declare function resolveLocalVariants(variants: any, bond: Bond | null | undefined, props: Record<string, unknown>): ResolvedProps | undefined;
29
34
  /**
@@ -31,7 +36,9 @@ export declare function resolveLocalVariants(variants: any, bond: Bond | null |
31
36
  */
32
37
  export declare function extractRestProps(preset: Record<string, any> | undefined, mergedVariants: ResolvedProps | undefined, restProps: Record<string, unknown>): Record<string, unknown>;
33
38
  /**
34
- * Pure function to check if a base is a snippet
39
+ * Pure function to check if a base is a snippet.
40
+ * Svelte 5 snippets compile to arrow functions (no prototype),
41
+ * while components compile to named functions (with prototype).
35
42
  */
36
43
  export declare function isSnippetBase(base: unknown): boolean;
37
44
  export {};
@@ -1,14 +1,32 @@
1
- import { cn } from '../../utils';
1
+ import { cn, VARIANT_DEF_TAG } from '../../utils';
2
2
  import { call } from '../../utils/function';
3
3
  /**
4
- * Cache for resolved variants to avoid recomputation
5
- * Key: JSON stringified combination of variant props
6
- */
7
- const variantCache = new Map();
8
- /**
9
- * Maximum cache size to prevent memory leaks
4
+ * Two-level cache for resolved variants.
5
+ * Outer key: bond instance identity (WeakMap for automatic GC when bond is destroyed).
6
+ * Inner key: JSON stringified variant-relevant props.
7
+ * Bond-less calls share a single flat Map.
10
8
  */
9
+ const variantCacheByBond = new WeakMap();
10
+ const variantCacheNoBond = new Map();
11
11
  const MAX_CACHE_SIZE = 100;
12
+ function getCacheMap(bond) {
13
+ if (!bond)
14
+ return variantCacheNoBond;
15
+ let map = variantCacheByBond.get(bond);
16
+ if (!map) {
17
+ map = new Map();
18
+ variantCacheByBond.set(bond, map);
19
+ }
20
+ return map;
21
+ }
22
+ function hasOwnKeys(obj) {
23
+ for (const k in obj)
24
+ if (Object.hasOwn(obj, k))
25
+ return true;
26
+ return false;
27
+ }
28
+ const PRESET_SKIP = new Set(['class', 'base', 'as', 'variants', 'compounds', 'defaults']);
29
+ const VARIANTS_SKIP = new Set(['class', 'variants', 'compounds', 'defaults']);
12
30
  /**
13
31
  * Resolves preset to its final value, handling both direct values and factory functions
14
32
  */
@@ -27,14 +45,21 @@ export function resolvePreset(preset) {
27
45
  export function resolveVariants(def, bond, props) {
28
46
  const { variants: variantMap, compounds, defaults, class: baseClass } = def;
29
47
  // Merge props with defaults
30
- const finalProps = { ...defaults, ...props };
31
- // Create cache key from final props (only variant-related props)
48
+ const finalProps = defaults && hasOwnKeys(defaults) ? { ...defaults, ...props } : props;
32
49
  const variantKeys = variantMap ? Object.keys(variantMap) : [];
33
- const relevantProps = Object.fromEntries(Object.entries(finalProps).filter(([key]) => variantKeys.includes(key)));
50
+ // Fast path: no variants or compounds — skip cache entirely
51
+ if (variantKeys.length === 0 && !compounds?.length) {
52
+ return { class: baseClass ? [baseClass] : [] };
53
+ }
54
+ // Build cache key only when variants are present
55
+ const relevantProps = {};
56
+ for (const key of variantKeys)
57
+ if (key in finalProps)
58
+ relevantProps[key] = finalProps[key];
34
59
  const cacheKey = JSON.stringify({ relevantProps, baseClass, compounds });
35
- // Check cache
36
- if (variantCache.has(cacheKey)) {
37
- return variantCache.get(cacheKey);
60
+ const cacheMap = getCacheMap(bond);
61
+ if (cacheMap.has(cacheKey)) {
62
+ return cacheMap.get(cacheKey);
38
63
  }
39
64
  const classes = [];
40
65
  const attributes = {};
@@ -43,7 +68,10 @@ export function resolveVariants(def, bond, props) {
43
68
  classes.push(baseClass);
44
69
  // Add variant classes
45
70
  if (variantMap) {
46
- for (const [key, value] of Object.entries(finalProps)) {
71
+ for (const key of variantKeys) {
72
+ const value = finalProps[key];
73
+ if (value === undefined)
74
+ continue;
47
75
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
76
  const variantValue = variantMap[key]?.[value];
49
77
  if (variantValue !== undefined) {
@@ -64,19 +92,25 @@ export function resolveVariants(def, bond, props) {
64
92
  }
65
93
  }
66
94
  // Add compound variants
67
- if (compounds) {
95
+ if (compounds?.length) {
68
96
  for (const compound of compounds) {
69
- const { class: compoundClass, ...compoundProps } = compound;
70
- const matches = Object.entries(compoundProps).every(([key, value]) => finalProps[key] === value);
97
+ const compoundClass = compound.class;
98
+ const compoundPropKeys = new Set(Object.keys(compound).filter((k) => k !== 'class'));
99
+ let matches = true;
100
+ for (const key of compoundPropKeys) {
101
+ if (finalProps[key] !== compound[key]) {
102
+ matches = false;
103
+ break;
104
+ }
105
+ }
71
106
  if (matches) {
72
107
  if (compoundClass)
73
108
  classes.push(compoundClass);
74
- // Add compound attributes
75
- Object.entries(compound).forEach(([k, v]) => {
76
- if (k !== 'class' && !Object.keys(compoundProps).includes(k)) {
109
+ // Add compound attributes (string keys that are not condition keys or 'class')
110
+ for (const [k, v] of Object.entries(compound)) {
111
+ if (k !== 'class' && !compoundPropKeys.has(k))
77
112
  attributes[k] = v;
78
- }
79
- });
113
+ }
80
114
  }
81
115
  }
82
116
  }
@@ -84,14 +118,13 @@ export function resolveVariants(def, bond, props) {
84
118
  class: classes,
85
119
  ...attributes
86
120
  };
87
- // Store in cache (limit cache size to prevent memory leaks)
88
- if (variantCache.size >= MAX_CACHE_SIZE) {
89
- // Clear oldest entry (first in Map)
90
- const firstKey = variantCache.keys().next().value;
121
+ // Store in cache (limit per-bond cache size to prevent memory leaks)
122
+ if (cacheMap.size >= MAX_CACHE_SIZE) {
123
+ const firstKey = cacheMap.keys().next().value;
91
124
  if (firstKey)
92
- variantCache.delete(firstKey);
125
+ cacheMap.delete(firstKey);
93
126
  }
94
- variantCache.set(cacheKey, result);
127
+ cacheMap.set(cacheKey, result);
95
128
  return result;
96
129
  }
97
130
  /**
@@ -141,9 +174,9 @@ presetDefaults, localVariants, bond, props) {
141
174
  ? localVariants.class
142
175
  : [localVariants?.class];
143
176
  return {
144
- class: [...presetClasses, ...localClasses].filter(Boolean),
145
177
  ...presetResolved,
146
- ...localVariants
178
+ ...localVariants,
179
+ class: [...presetClasses, ...localClasses].filter(Boolean)
147
180
  };
148
181
  }
149
182
  /**
@@ -167,42 +200,76 @@ export function mergeClassesWithPreset(userClass, presetClass, variantClass) {
167
200
  return cn(beforeLastPlaceholder, presetClassString, variantClass ?? '', afterLastPlaceholder);
168
201
  }
169
202
  /**
170
- * Pure function to resolve local variants
171
- * Handles both function-based and VariantDefinition-based variants
203
+ * Pure function to resolve local variants.
204
+ * Handles both function-based and VariantDefinition-based variants.
205
+ *
206
+ * If the function was created by `defineVariants`, it carries a VARIANT_DEF_TAG
207
+ * symbol with the original config. We detect this and route through the cached
208
+ * resolveVariants engine so defineVariants-based variants benefit from the same
209
+ * two-level WeakMap cache as raw VariantDefinition objects.
172
210
  */
173
211
  export function resolveLocalVariants(
174
212
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
175
213
  variants, bond, props) {
176
214
  if (!variants)
177
215
  return undefined;
178
- // If it's a function, call it directly
216
+ // Detect functions tagged by defineVariants route through the cache
217
+ if (typeof variants === 'function' && VARIANT_DEF_TAG in variants) {
218
+ const config = variants[VARIANT_DEF_TAG];
219
+ // If config is a function (dynamic/bond-based), resolve it to a VariantDefinition first
220
+ const resolvedConfig = typeof config === 'function' ? config(bond) : config;
221
+ return resolveVariants(resolvedConfig, bond, props);
222
+ }
223
+ // Plain function (legacy / manual variants fn) — call directly, no cache
179
224
  if (typeof variants === 'function') {
180
225
  return variants(bond, props);
181
226
  }
182
- // Otherwise it's a VariantDefinition, resolve it
227
+ // Raw VariantDefinition object resolve through cache
183
228
  return resolveVariants(variants, bond, props);
184
229
  }
230
+ /**
231
+ * Internal keys that are never valid DOM attributes — stripped before spreading onto element
232
+ */
233
+ const INTERNAL_PROPS = new Set(['class', 'base', 'as', 'variants', 'compounds', 'defaults']);
185
234
  /**
186
235
  * Pure function to extract rest props by filtering out preset and variant-specific props
187
236
  */
188
237
  export function extractRestProps(
189
238
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
190
239
  preset, mergedVariants, restProps) {
191
- const presetProps = { ...preset };
192
- const presetKeysToRemove = ['class', 'base', 'as', 'variants', 'compounds', 'defaults'];
193
- for (const key of presetKeysToRemove) {
194
- delete presetProps[key];
240
+ const result = {};
241
+ if (preset) {
242
+ for (const k in preset)
243
+ if (Object.hasOwn(preset, k) && !PRESET_SKIP.has(k))
244
+ result[k] = preset[k];
245
+ // Preserve Symbol-keyed attachment props (e.g. from createAttachmentKey())
246
+ const symPreset = preset;
247
+ for (const s of Object.getOwnPropertySymbols(preset))
248
+ result[s] = symPreset[s];
195
249
  }
196
- const variantsRestProps = { ...mergedVariants };
197
- const variantKeysToRemove = ['class', 'variants', 'compounds', 'defaults'];
198
- for (const key of variantKeysToRemove) {
199
- delete variantsRestProps[key];
250
+ if (mergedVariants) {
251
+ for (const k in mergedVariants)
252
+ if (Object.hasOwn(mergedVariants, k) && !VARIANTS_SKIP.has(k))
253
+ result[k] = mergedVariants[k];
254
+ // Preserve Symbol-keyed attachment props (e.g. from variant definitions)
255
+ const symProps = mergedVariants;
256
+ for (const s of Object.getOwnPropertySymbols(mergedVariants))
257
+ result[s] = symProps[s];
200
258
  }
201
- return { ...presetProps, ...variantsRestProps, ...restProps };
259
+ for (const k in restProps)
260
+ if (Object.hasOwn(restProps, k))
261
+ result[k] = restProps[k];
262
+ // Preserve Symbol-keyed attachment props from restProps (e.g. {@attach} directives)
263
+ const symRestProps = restProps;
264
+ for (const s of Object.getOwnPropertySymbols(restProps))
265
+ result[s] = symRestProps[s];
266
+ return result;
202
267
  }
203
268
  /**
204
- * Pure function to check if a base is a snippet
269
+ * Pure function to check if a base is a snippet.
270
+ * Svelte 5 snippets compile to arrow functions (no prototype),
271
+ * while components compile to named functions (with prototype).
205
272
  */
206
273
  export function isSnippetBase(base) {
207
- return typeof base === 'function' && base.length === 1 && !base.prototype;
274
+ return typeof base === 'function' && !base.prototype;
208
275
  }
@@ -1,10 +1,5 @@
1
1
  import type { Component } from 'svelte';
2
- /**
3
- * Extend this interface to add custom avatar properties in your application.
4
- */
5
- export interface AvatarExtendProps {
6
- }
7
- export interface AvatarProps extends AvatarExtendProps {
2
+ export interface AvatarProps {
8
3
  class?: string;
9
4
  src?: string | Component;
10
5
  alt?: string;
@@ -1,2 +1,3 @@
1
1
  export { default as Badge } from './badge.svelte';
2
2
  export type { BadgeProps } from './badge.svelte';
3
+ export type { BadgeSnippetProps, BadgeChildren } from './types';