@svelte-atoms/core 1.0.0-alpha.26 → 1.0.0-alpha.28

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 (362) hide show
  1. package/README.md +856 -645
  2. package/dist/components/accordion/accordion-root.svelte +2 -20
  3. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -15
  4. package/dist/components/accordion/index.d.ts +2 -1
  5. package/dist/components/accordion/index.js +2 -1
  6. package/dist/components/accordion/item/accordion-item-body.svelte +2 -12
  7. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
  8. package/dist/components/accordion/item/accordion-item-header.svelte +3 -13
  9. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
  10. package/dist/components/accordion/item/accordion-item-indicator.svelte +3 -12
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
  12. package/dist/components/accordion/item/accordion-item-root.svelte +3 -17
  13. package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +2 -12
  14. package/dist/components/accordion/item/index.d.ts +1 -0
  15. package/dist/components/accordion/item/types.d.ts +52 -0
  16. package/dist/components/accordion/item/types.js +1 -0
  17. package/dist/components/accordion/types.d.ts +21 -0
  18. package/dist/components/accordion/types.js +1 -0
  19. package/dist/components/alert/alert-actions.svelte +43 -52
  20. package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
  21. package/dist/components/alert/alert-close-button.svelte +70 -79
  22. package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
  23. package/dist/components/alert/alert-content.svelte +43 -52
  24. package/dist/components/alert/alert-content.svelte.d.ts +3 -30
  25. package/dist/components/alert/alert-description.svelte +42 -51
  26. package/dist/components/alert/alert-description.svelte.d.ts +7 -10
  27. package/dist/components/alert/alert-icon.svelte +47 -56
  28. package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
  29. package/dist/components/alert/alert-root.svelte +103 -118
  30. package/dist/components/alert/alert-root.svelte.d.ts +2 -13
  31. package/dist/components/alert/alert-title.svelte +42 -51
  32. package/dist/components/alert/alert-title.svelte.d.ts +2 -8
  33. package/dist/components/alert/alert.stories.svelte +401 -40
  34. package/dist/components/alert/alert.stories.svelte.d.ts +2 -5
  35. package/dist/components/alert/index.d.ts +1 -0
  36. package/dist/components/alert/index.js +1 -0
  37. package/dist/components/alert/types.d.ts +85 -0
  38. package/dist/components/alert/types.js +1 -0
  39. package/dist/components/atom/html-atom.svelte +205 -201
  40. package/dist/components/atom/html-atom.svelte.d.ts +2 -22
  41. package/dist/components/atom/snippet-renderer.svelte +5 -0
  42. package/dist/components/atom/snippet-renderer.svelte.d.ts +5 -0
  43. package/dist/components/atom/types.d.ts +7 -2
  44. package/dist/components/avatar/avatar.stories.svelte.d.ts +1 -1
  45. package/dist/components/avatar/types.d.ts +7 -2
  46. package/dist/components/badge/badge.stories.svelte.d.ts +1 -1
  47. package/dist/components/badge/types.d.ts +7 -2
  48. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +1 -1
  49. package/dist/components/button/button.stories.svelte +60 -57
  50. package/dist/components/button/index.d.ts +1 -0
  51. package/dist/components/button/index.js +1 -0
  52. package/dist/components/button/types.d.ts +7 -2
  53. package/dist/components/calendar/atoms.d.ts +5 -0
  54. package/dist/components/calendar/atoms.js +5 -0
  55. package/dist/components/calendar/bond.svelte.d.ts +72 -0
  56. package/dist/components/calendar/bond.svelte.js +132 -0
  57. package/dist/components/calendar/calendar-body.svelte +107 -0
  58. package/dist/components/calendar/calendar-body.svelte.d.ts +8 -0
  59. package/dist/components/calendar/calendar-day.svelte +97 -0
  60. package/dist/components/calendar/calendar-day.svelte.d.ts +4 -0
  61. package/dist/components/calendar/calendar-header.svelte +33 -0
  62. package/dist/components/calendar/calendar-header.svelte.d.ts +7 -0
  63. package/dist/components/calendar/calendar-root.svelte +208 -0
  64. package/dist/components/calendar/calendar-root.svelte.d.ts +8 -0
  65. package/dist/components/calendar/calendar-week-day.svelte +34 -0
  66. package/dist/components/calendar/calendar-week-day.svelte.d.ts +9 -0
  67. package/dist/components/calendar/calendar.css +26 -0
  68. package/dist/components/calendar/calendar.stories.svelte +36 -0
  69. package/dist/components/calendar/calendar.stories.svelte.d.ts +6 -0
  70. package/dist/components/calendar/index.d.ts +4 -0
  71. package/dist/components/calendar/index.js +4 -0
  72. package/dist/components/calendar/runes.svelte.d.ts +3 -0
  73. package/dist/components/calendar/runes.svelte.js +25 -0
  74. package/dist/components/calendar/types.d.ts +62 -0
  75. package/dist/components/calendar/types.js +1 -0
  76. package/dist/components/card/card-body.svelte +2 -8
  77. package/dist/components/card/card-body.svelte.d.ts +7 -4
  78. package/dist/components/card/card-description.svelte +3 -10
  79. package/dist/components/card/card-description.svelte.d.ts +7 -7
  80. package/dist/components/card/card-footer.svelte +2 -9
  81. package/dist/components/card/card-footer.svelte.d.ts +7 -4
  82. package/dist/components/card/card-header.svelte +2 -9
  83. package/dist/components/card/card-header.svelte.d.ts +7 -4
  84. package/dist/components/card/card-media.svelte +2 -9
  85. package/dist/components/card/card-media.svelte.d.ts +7 -4
  86. package/dist/components/card/card-root.svelte +2 -2
  87. package/dist/components/card/card-root.svelte.d.ts +1 -1
  88. package/dist/components/card/card-subtitle.svelte +3 -10
  89. package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
  90. package/dist/components/card/card-title.svelte +3 -10
  91. package/dist/components/card/card-title.svelte.d.ts +12 -9
  92. package/dist/components/card/index.d.ts +1 -0
  93. package/dist/components/card/index.js +1 -0
  94. package/dist/components/card/types.d.ts +57 -2
  95. package/dist/components/checkbox/types.d.ts +7 -2
  96. package/dist/components/collapsible/collapsible-body.svelte +2 -15
  97. package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
  98. package/dist/components/collapsible/collapsible-header.svelte +2 -15
  99. package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
  100. package/dist/components/collapsible/collapsible-indicator.svelte +4 -19
  101. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
  102. package/dist/components/collapsible/collapsible-root.svelte +2 -21
  103. package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
  104. package/dist/components/collapsible/index.d.ts +1 -0
  105. package/dist/components/collapsible/index.js +1 -0
  106. package/dist/components/collapsible/types.d.ts +54 -0
  107. package/dist/components/collapsible/types.js +1 -0
  108. package/dist/components/combobox/combobox-root.svelte +2 -5
  109. package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
  110. package/dist/components/combobox/index.d.ts +1 -0
  111. package/dist/components/combobox/index.js +1 -0
  112. package/dist/components/combobox/types.d.ts +25 -0
  113. package/dist/components/combobox/types.js +1 -0
  114. package/dist/components/container/container.stories.svelte.d.ts +1 -1
  115. package/dist/components/container/types.d.ts +7 -2
  116. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +1 -1
  117. package/dist/components/contextmenu/types.d.ts +8 -0
  118. package/dist/components/contextmenu/types.js +1 -0
  119. package/dist/components/datagrid/bond.svelte.d.ts +2 -2
  120. package/dist/components/datagrid/datagrid-body.svelte +6 -13
  121. package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
  122. package/dist/components/datagrid/datagrid-checkbox.svelte +3 -10
  123. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
  124. package/dist/components/datagrid/datagrid-footer.svelte +1 -1
  125. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
  126. package/dist/components/datagrid/datagrid-header.svelte +2 -2
  127. package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
  128. package/dist/components/datagrid/datagrid-root.svelte +2 -2
  129. package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
  130. package/dist/components/datagrid/td/datagrid-td.svelte +3 -17
  131. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
  132. package/dist/components/datagrid/th/datagrid-th.svelte +3 -24
  133. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
  134. package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
  135. package/dist/components/datagrid/tr/bond.svelte.js +4 -2
  136. package/dist/components/datagrid/tr/datagrid-tr.svelte +7 -22
  137. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
  138. package/dist/components/datagrid/types.d.ts +85 -37
  139. package/dist/components/date-picker/atoms.d.ts +7 -0
  140. package/dist/components/date-picker/atoms.js +7 -0
  141. package/dist/components/date-picker/bond.svelte.d.ts +67 -0
  142. package/dist/components/date-picker/bond.svelte.js +174 -0
  143. package/dist/components/date-picker/date-picker-calendar.svelte +42 -0
  144. package/dist/components/date-picker/date-picker-calendar.svelte.d.ts +7 -0
  145. package/dist/components/date-picker/date-picker-header.svelte +105 -0
  146. package/dist/components/date-picker/date-picker-header.svelte.d.ts +7 -0
  147. package/dist/components/date-picker/date-picker-months.svelte +150 -0
  148. package/dist/components/date-picker/date-picker-months.svelte.d.ts +7 -0
  149. package/dist/components/date-picker/date-picker-root.svelte +94 -0
  150. package/dist/components/date-picker/date-picker-root.svelte.d.ts +17 -0
  151. package/dist/components/date-picker/date-picker-years.svelte +214 -0
  152. package/dist/components/date-picker/date-picker-years.svelte.d.ts +7 -0
  153. package/dist/components/date-picker/date-picker.stories.svelte +51 -0
  154. package/dist/components/date-picker/date-picker.stories.svelte.d.ts +3 -0
  155. package/dist/components/date-picker/index.d.ts +3 -0
  156. package/dist/components/date-picker/index.js +3 -0
  157. package/dist/components/date-picker/types.d.ts +1 -0
  158. package/dist/components/date-picker/types.js +1 -0
  159. package/dist/components/dialog/dialog-body.svelte +2 -8
  160. package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
  161. package/dist/components/dialog/dialog-close-button.svelte +7 -10
  162. package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
  163. package/dist/components/dialog/dialog-content.svelte +2 -8
  164. package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
  165. package/dist/components/dialog/dialog-description.svelte +2 -8
  166. package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
  167. package/dist/components/dialog/dialog-footer.svelte +2 -8
  168. package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
  169. package/dist/components/dialog/dialog-header.svelte +2 -8
  170. package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
  171. package/dist/components/dialog/dialog-root.svelte +110 -123
  172. package/dist/components/dialog/dialog-root.svelte.d.ts +2 -12
  173. package/dist/components/dialog/dialog-title.svelte +3 -9
  174. package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
  175. package/dist/components/dialog/index.d.ts +1 -0
  176. package/dist/components/dialog/index.js +1 -0
  177. package/dist/components/dialog/types.d.ts +67 -0
  178. package/dist/components/dialog/types.js +1 -0
  179. package/dist/components/divider/types.d.ts +10 -0
  180. package/dist/components/divider/types.js +1 -0
  181. package/dist/components/drawer/drawer-backdrop.svelte +2 -11
  182. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
  183. package/dist/components/drawer/drawer-body.svelte +2 -16
  184. package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
  185. package/dist/components/drawer/drawer-content.svelte +2 -15
  186. package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
  187. package/dist/components/drawer/drawer-description.svelte +2 -15
  188. package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
  189. package/dist/components/drawer/drawer-footer.svelte +2 -15
  190. package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
  191. package/dist/components/drawer/drawer-header.svelte +3 -16
  192. package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
  193. package/dist/components/drawer/drawer-root.svelte +93 -118
  194. package/dist/components/drawer/drawer-root.svelte.d.ts +3 -34
  195. package/dist/components/drawer/drawer-title.svelte +2 -15
  196. package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
  197. package/dist/components/drawer/index.d.ts +1 -0
  198. package/dist/components/drawer/index.js +1 -0
  199. package/dist/components/drawer/types.d.ts +86 -0
  200. package/dist/components/drawer/types.js +1 -0
  201. package/dist/components/dropdown/dropdown-query.svelte +2 -1
  202. package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
  203. package/dist/components/dropdown/dropdown-root.svelte +1 -1
  204. package/dist/components/dropdown/dropdown-trigger.svelte +2 -13
  205. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
  206. package/dist/components/dropdown/dropdown-value.svelte +1 -1
  207. package/dist/components/dropdown/index.d.ts +1 -0
  208. package/dist/components/dropdown/index.js +1 -0
  209. package/dist/components/dropdown/types.d.ts +37 -0
  210. package/dist/components/dropdown/types.js +1 -0
  211. package/dist/components/element/html-element.svelte +85 -85
  212. package/dist/components/element/html-element.svelte.d.ts +2 -14
  213. package/dist/components/element/svg-element.svelte.d.ts +2 -14
  214. package/dist/components/element/types.d.ts +14 -7
  215. package/dist/components/form/bond.svelte.d.ts +1 -1
  216. package/dist/components/form/field/field-control.svelte +3 -20
  217. package/dist/components/form/field/field-control.svelte.d.ts +5 -19
  218. package/dist/components/form/field/field-label.svelte +1 -8
  219. package/dist/components/form/field/field-label.svelte.d.ts +1 -2
  220. package/dist/components/form/field/field-root.svelte +5 -34
  221. package/dist/components/form/field/field-root.svelte.d.ts +5 -20
  222. package/dist/components/form/index.d.ts +1 -0
  223. package/dist/components/form/index.js +1 -0
  224. package/dist/components/form/types.d.ts +76 -0
  225. package/dist/components/form/types.js +1 -0
  226. package/dist/components/icon/icon.svelte +3 -14
  227. package/dist/components/icon/icon.svelte.d.ts +4 -29
  228. package/dist/components/icon/types.d.ts +11 -7
  229. package/dist/components/image/image.stories.svelte.d.ts +1 -1
  230. package/dist/components/index.d.ts +3 -0
  231. package/dist/components/index.js +3 -0
  232. package/dist/components/input/index.d.ts +1 -0
  233. package/dist/components/input/index.js +1 -0
  234. package/dist/components/input/input-control.svelte +0 -4
  235. package/dist/components/input/input-control.svelte.d.ts +2 -3
  236. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  237. package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
  238. package/dist/components/input/types.d.ts +18 -7
  239. package/dist/components/label/index.d.ts +1 -0
  240. package/dist/components/label/index.js +1 -0
  241. package/dist/components/label/label.svelte +2 -18
  242. package/dist/components/label/label.svelte.d.ts +3 -27
  243. package/dist/components/label/types.d.ts +11 -0
  244. package/dist/components/label/types.js +1 -0
  245. package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
  246. package/dist/components/layer/layer-root.svelte.d.ts +2 -19
  247. package/dist/components/layer/types.d.ts +11 -0
  248. package/dist/components/layer/types.js +1 -0
  249. package/dist/components/link/types.d.ts +8 -0
  250. package/dist/components/link/types.js +1 -0
  251. package/dist/components/list/types.d.ts +8 -0
  252. package/dist/components/list/types.js +1 -0
  253. package/dist/components/menu/index.d.ts +1 -0
  254. package/dist/components/menu/index.js +1 -0
  255. package/dist/components/menu/types.d.ts +15 -0
  256. package/dist/components/menu/types.js +1 -0
  257. package/dist/components/popover/index.d.ts +1 -0
  258. package/dist/components/popover/index.js +1 -0
  259. package/dist/components/popover/popover-arrow.svelte +111 -111
  260. package/dist/components/popover/popover-arrow.svelte.d.ts +2 -18
  261. package/dist/components/popover/popover-content.svelte +47 -8
  262. package/dist/components/popover/popover-root.svelte +16 -17
  263. package/dist/components/popover/popover-trigger.svelte +47 -47
  264. package/dist/components/popover/popover.stories.svelte +52 -67
  265. package/dist/components/popover/types.d.ts +32 -10
  266. package/dist/components/portal/active-portal.svelte +22 -22
  267. package/dist/components/portal/index.d.ts +1 -0
  268. package/dist/components/portal/index.js +1 -0
  269. package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
  270. package/dist/components/portal/portal-root.svelte +2 -7
  271. package/dist/components/portal/portal-root.svelte.d.ts +2 -22
  272. package/dist/components/portal/teleport.svelte +50 -55
  273. package/dist/components/portal/teleport.svelte.d.ts +3 -22
  274. package/dist/components/portal/types.d.ts +39 -0
  275. package/dist/components/portal/types.js +1 -0
  276. package/dist/components/qr-code/index.d.ts +1 -0
  277. package/dist/components/qr-code/index.js +1 -0
  278. package/dist/components/qr-code/qr-code.stories.svelte +24 -0
  279. package/dist/components/qr-code/qr-code.stories.svelte.d.ts +26 -0
  280. package/dist/components/qr-code/qr-code.svelte +25 -0
  281. package/dist/components/qr-code/qr-code.svelte.d.ts +6 -0
  282. package/dist/components/radio/radio.svelte +1 -1
  283. package/dist/components/radio/radio.svelte.d.ts +14 -36
  284. package/dist/components/radio/types.svelte.d.ts +1 -1
  285. package/dist/components/root/root.svelte +121 -121
  286. package/dist/components/root/types.d.ts +8 -0
  287. package/dist/components/root/types.js +1 -0
  288. package/dist/components/scrollable/index.d.ts +1 -0
  289. package/dist/components/scrollable/index.js +1 -0
  290. package/dist/components/scrollable/scrollable-container.svelte +3 -10
  291. package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
  292. package/dist/components/scrollable/scrollable-content.svelte +2 -12
  293. package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
  294. package/dist/components/scrollable/scrollable-root.svelte +3 -23
  295. package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
  296. package/dist/components/scrollable/scrollable-thumb.svelte +2 -13
  297. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
  298. package/dist/components/scrollable/scrollable-track.svelte +2 -13
  299. package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
  300. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +1 -1
  301. package/dist/components/scrollable/types.d.ts +62 -0
  302. package/dist/components/scrollable/types.js +1 -0
  303. package/dist/components/sidebar/index.d.ts +1 -0
  304. package/dist/components/sidebar/index.js +1 -0
  305. package/dist/components/sidebar/types.d.ts +16 -5
  306. package/dist/components/stack/stack-root.svelte.d.ts +2 -19
  307. package/dist/components/stack/types.d.ts +12 -0
  308. package/dist/components/stack/types.js +1 -0
  309. package/dist/components/tabs/index.d.ts +1 -0
  310. package/dist/components/tabs/index.js +1 -0
  311. package/dist/components/tabs/tab/tab-body.svelte +2 -11
  312. package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
  313. package/dist/components/tabs/tab/tab-description.svelte +2 -11
  314. package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
  315. package/dist/components/tabs/tab/tab-header.svelte +2 -12
  316. package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
  317. package/dist/components/tabs/tab/tab-root.svelte +1 -1
  318. package/dist/components/tabs/types.d.ts +55 -0
  319. package/dist/components/tabs/types.js +1 -0
  320. package/dist/components/textarea/index.d.ts +1 -0
  321. package/dist/components/textarea/index.js +1 -0
  322. package/dist/components/textarea/types.d.ts +28 -0
  323. package/dist/components/textarea/types.js +1 -0
  324. package/dist/components/toast/index.d.ts +1 -0
  325. package/dist/components/toast/index.js +1 -0
  326. package/dist/components/toast/toast-description.svelte +3 -9
  327. package/dist/components/toast/toast-description.svelte.d.ts +8 -34
  328. package/dist/components/toast/toast-root.svelte +3 -16
  329. package/dist/components/toast/toast-root.svelte.d.ts +4 -43
  330. package/dist/components/toast/toast-title.svelte +2 -10
  331. package/dist/components/toast/toast-title.svelte.d.ts +2 -34
  332. package/dist/components/toast/types.d.ts +40 -0
  333. package/dist/components/toast/types.js +1 -0
  334. package/dist/components/tooltip/types.d.ts +13 -0
  335. package/dist/components/tooltip/types.js +1 -0
  336. package/dist/components/tree/index.d.ts +1 -0
  337. package/dist/components/tree/index.js +1 -0
  338. package/dist/components/tree/tree-body.svelte +2 -13
  339. package/dist/components/tree/tree-body.svelte.d.ts +2 -10
  340. package/dist/components/tree/tree-header.svelte +2 -14
  341. package/dist/components/tree/tree-header.svelte.d.ts +3 -29
  342. package/dist/components/tree/tree-indicator.svelte +4 -14
  343. package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
  344. package/dist/components/tree/tree-root.svelte +3 -18
  345. package/dist/components/tree/tree-root.svelte.d.ts +2 -12
  346. package/dist/components/tree/types.d.ts +59 -0
  347. package/dist/components/tree/types.js +1 -0
  348. package/dist/components/virtual/types.d.ts +23 -0
  349. package/dist/components/virtual/types.js +1 -0
  350. package/dist/components/virtual/virtual-root.svelte +2 -21
  351. package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
  352. package/dist/context/preset.svelte.d.ts +1 -1
  353. package/dist/icons/icon-arrow-down.svelte.d.ts +1 -1
  354. package/dist/icons/icon-checkmark.svelte.d.ts +1 -1
  355. package/dist/icons/icon-close.svelte.d.ts +1 -1
  356. package/dist/icons/icon-more-vert.svelte.d.ts +1 -1
  357. package/dist/runes/container.svelte.d.ts +2 -2
  358. package/dist/shared/bond.svelte.d.ts +1 -1
  359. package/dist/utils/state.d.ts +1 -1
  360. package/dist/utils/state.js +2 -1
  361. package/llm/variants.md +1261 -712
  362. package/package.json +464 -437
@@ -1,201 +1,205 @@
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, ComponentBase, HtmlAtomProps, SnippetBase } from './types';
4
- import { RootBond } from '../root';
5
- import { HtmlElement } from '../element';
6
- import {
7
- cn,
8
- toClassValue,
9
- type ClassValue,
10
- type VariantDefinition
11
- } from '../../utils';
12
- import { getPreset } from '../../context';
13
- import type { PresetModuleName } from '../../context/preset.svelte';
14
- import type { Bond } from '../../shared';
15
-
16
- type Element = HTMLElementTagNameMap[E];
17
-
18
- const rootBond = RootBond.get();
19
-
20
- let {
21
- class: klass = '',
22
- as = 'div',
23
- base = undefined,
24
- preset: presetKey = undefined,
25
- bond = undefined,
26
- variants = undefined,
27
- children = undefined,
28
- ...restProps
29
- }: HtmlAtomProps<E, B> & HTMLAttributes<Element> = $props();
30
-
31
- const preset = $derived(
32
- presetKey ? getPreset(presetKey as PresetModuleName)?.apply?.(bond, [bond]) : undefined
33
- );
34
-
35
- const presetProps = $derived(preset?.variants);
36
-
37
- // Resolve local variants - either VariantDefinition or function
38
- const localVariants = $derived.by(() => {
39
- if (!variants) return undefined;
40
-
41
- // If it's a function, call it directly
42
- if (typeof variants === 'function') {
43
- return variants(bond as Bond, restProps);
44
- }
45
-
46
- // Otherwise it's a VariantDefinition, resolve it
47
- return resolveVariants(variants, bond as Bond, restProps);
48
- });
49
-
50
- // Merge preset variants with local variants
51
- const mergedVariants = $derived.by(() => {
52
- // No variants at all
53
- if (!presetProps && !localVariants) return undefined;
54
-
55
- // Only preset variants (raw object from preset)
56
- if (presetProps && !localVariants) {
57
- // Convert preset variants to VariantDefinition-like structure
58
- const variantDef = {
59
- class: preset?.class,
60
- variants: presetProps,
61
- compounds: preset?.compounds ?? [],
62
- defaults: preset?.defaults ?? {}
63
- };
64
- return resolveVariants(variantDef, bond as Bond, restProps);
65
- }
66
-
67
- // Only local variants
68
- if (!presetProps && localVariants) {
69
- return localVariants;
70
- }
71
-
72
- // Both exist - merge them
73
- // When both preset and local variants exist, we need to merge the resolved props
74
- const presetVariantDef = {
75
- class: preset?.class,
76
- variants: presetProps,
77
- compounds: preset?.compounds ?? [],
78
- defaults: preset?.defaults ?? {}
79
- };
80
-
81
- const presetResolved = resolveVariants(presetVariantDef, bond as Bond, restProps);
82
-
83
- // Merge the resolved variant props
84
- // Local variant classes and attributes override preset
85
- const presetClasses = Array.isArray(presetResolved.class)
86
- ? presetResolved.class
87
- : [presetResolved.class];
88
- const localClasses = Array.isArray(localVariants?.class)
89
- ? localVariants.class
90
- : [localVariants?.class];
91
-
92
- return {
93
- class: [...presetClasses, ...localClasses].filter(Boolean),
94
- ...presetResolved,
95
- ...localVariants
96
- };
97
- });
98
-
99
- const _klass = $derived(
100
- cn(klass, mergedVariants?.class ?? '').replaceAll('$preset', cn(preset?.class))
101
- );
102
-
103
- const _base = $derived(base ?? preset?.base);
104
- const _as = $derived(as ?? preset?.as);
105
- const _restProps = $derived.by(() => {
106
- const {
107
- class: klassPreset,
108
- base,
109
- as,
110
- variants: presetProps,
111
- ...restPresetProps
112
- } = preset ?? {};
113
- const { class: variantClass, ...variantsRestProps } = mergedVariants ?? {};
114
-
115
- return { ...restPresetProps, ...variantsRestProps, ...restProps };
116
- });
117
-
118
- const isSnippet = $derived(typeof _base === 'function' && _base.length === 1 && !_base.prototype);
119
-
120
- const snippet = $derived(_base as SnippetBase);
121
-
122
- const atom = rootBond?.state?.props?.renderers?.html ?? HtmlElement;
123
-
124
- const Component = $derived(base ?? atom) as ComponentBase;
125
-
126
- /**
127
- * Resolve variant definition to props
128
- */
129
- function resolveVariants(
130
- def: VariantDefinition<any>,
131
- bond: Bond | null | undefined,
132
- props: Record<string, any>
133
- ): Record<string, any> {
134
- const { variants: variantMap, compounds, defaults, class: baseClass } = def;
135
-
136
- // Merge props with defaults
137
- const finalProps = { ...defaults, ...props };
138
-
139
- const classes: ClassValue[] = [];
140
- const attributes: Record<string, any> = {};
141
-
142
- // Add base class
143
- if (baseClass) classes.push(baseClass);
144
-
145
- // Add variant classes
146
- if (variantMap) {
147
- for (const [key, value] of Object.entries(finalProps)) {
148
- const variantValue = variantMap[key]?.[value as string];
149
- if (variantValue !== undefined) {
150
- const resolved = typeof variantValue === 'function' ? variantValue(bond) : variantValue;
151
-
152
- if (typeof resolved === 'string') {
153
- classes.push(resolved);
154
- } else if (typeof resolved === 'object' && resolved !== null) {
155
- if ('class' in resolved) {
156
- classes.push(resolved.class);
157
- }
158
- // Add other attributes
159
- Object.entries(resolved).forEach(([k, v]) => {
160
- if (k !== 'class') {
161
- attributes[k] = v;
162
- }
163
- });
164
- }
165
- }
166
- }
167
- }
168
-
169
- // Add compound variants
170
- if (compounds) {
171
- for (const compound of compounds) {
172
- const { class: compoundClass, ...compoundProps } = compound;
173
- const matches = Object.entries(compoundProps).every(
174
- ([key, value]) => finalProps[key] === value
175
- );
176
- if (matches) {
177
- if (compoundClass) classes.push(compoundClass);
178
- // Add compound attributes
179
- Object.entries(compound).forEach(([k, v]) => {
180
- if (k !== 'class' && !Object.keys(compoundProps).includes(k)) {
181
- attributes[k] = v;
182
- }
183
- });
184
- }
185
- }
186
- }
187
-
188
- return {
189
- class: classes,
190
- ...attributes
191
- };
192
- }
193
- </script>
194
-
195
- {#if isSnippet}
196
- {@render snippet({ class: _klass, as: _as, base: _base, children, ..._restProps })}
197
- {:else}
198
- <Component class={_klass} as={_as} {..._restProps}>
199
- {@render children?.()}
200
- </Component>
201
- {/if}
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 { cn, type ClassValue, type VariantDefinition } from '../../utils';
7
+ import { getPreset } from '../../context';
8
+ import type { PresetModuleName } from '../../context/preset.svelte';
9
+ import type { Bond } from '../../shared';
10
+ import SnippetRenderer from './snippet-renderer.svelte';
11
+ import type { Component } from 'svelte';
12
+
13
+ type Element = HTMLElementTagNameMap[E];
14
+
15
+ const rootBond = RootBond.get();
16
+
17
+ let {
18
+ class: klass = '',
19
+ as = 'div',
20
+ base = undefined,
21
+ preset: presetKey = undefined,
22
+ bond = undefined,
23
+ variants = undefined,
24
+ children = undefined,
25
+ ...restProps
26
+ }: HtmlAtomProps<E, B> & HTMLAttributes<Element> = $props();
27
+
28
+ const preset = $derived(
29
+ presetKey ? getPreset(presetKey as PresetModuleName)?.apply?.(bond, [bond]) : undefined
30
+ );
31
+
32
+ const presetProps = $derived(preset?.variants);
33
+
34
+ // Resolve local variants - either VariantDefinition or function
35
+ const localVariants = $derived.by(() => {
36
+ if (!variants) return undefined;
37
+
38
+ // If it's a function, call it directly
39
+ if (typeof variants === 'function') {
40
+ return variants(bond as Bond, restProps);
41
+ }
42
+
43
+ // Otherwise it's a VariantDefinition, resolve it
44
+ return resolveVariants(variants, bond as Bond, restProps);
45
+ });
46
+
47
+ // Merge preset variants with local variants
48
+ const mergedVariants = $derived.by(() => {
49
+ // No variants at all
50
+ if (!presetProps && !localVariants) return undefined;
51
+
52
+ // Only preset variants (raw object from preset)
53
+ if (presetProps && !localVariants) {
54
+ // Convert preset variants to VariantDefinition-like structure
55
+ const variantDef = {
56
+ class: preset?.class,
57
+ variants: presetProps,
58
+ compounds: preset?.compounds ?? [],
59
+ defaults: preset?.defaults ?? {}
60
+ };
61
+ return resolveVariants(variantDef, bond as Bond, restProps);
62
+ }
63
+
64
+ // Only local variants
65
+ if (!presetProps && localVariants) {
66
+ return localVariants;
67
+ }
68
+
69
+ // Both exist - merge them
70
+ // When both preset and local variants exist, we need to merge the resolved props
71
+ const presetVariantDef = {
72
+ class: preset?.class,
73
+ variants: presetProps,
74
+ compounds: preset?.compounds ?? [],
75
+ defaults: preset?.defaults ?? {}
76
+ };
77
+
78
+ const presetResolved = resolveVariants(presetVariantDef, bond as Bond, restProps);
79
+
80
+ // Merge the resolved variant props
81
+ // Local variant classes and attributes override preset
82
+ const presetClasses = Array.isArray(presetResolved.class)
83
+ ? presetResolved.class
84
+ : [presetResolved.class];
85
+ const localClasses = Array.isArray(localVariants?.class)
86
+ ? localVariants.class
87
+ : [localVariants?.class];
88
+
89
+ return {
90
+ class: [...presetClasses, ...localClasses].filter(Boolean),
91
+ ...presetResolved,
92
+ ...localVariants
93
+ };
94
+ });
95
+
96
+ const _klass = $derived(
97
+ cn(klass, mergedVariants?.class ?? '').replaceAll('$preset', cn(preset?.class))
98
+ );
99
+
100
+ const _base = $derived(base ?? preset?.base);
101
+ const _as = $derived(as ?? preset?.as);
102
+ const _restProps = $derived.by(() => {
103
+ const {
104
+ class: klassPreset,
105
+ base,
106
+ as,
107
+ variants: presetProps,
108
+ ...restPresetProps
109
+ } = preset ?? {};
110
+ const { class: variantClass, ...variantsRestProps } = mergedVariants ?? {};
111
+
112
+ return { ...restPresetProps, ...variantsRestProps, ...restProps };
113
+ });
114
+
115
+ const isSnippet = $derived(typeof _base === 'function' && _base.length === 1 && !_base.prototype);
116
+
117
+ const snippet = $derived(_base as SnippetBase);
118
+
119
+ const atom = rootBond?.state?.props?.renderers?.html ?? HtmlElement;
120
+
121
+ const renderer = $derived.by(() => {
122
+ if (isSnippet)
123
+ return {
124
+ component: SnippetRenderer,
125
+ props: { snippet: snippet, class: _klass, as: _as, children, ..._restProps }
126
+ };
127
+
128
+ return {
129
+ component: base ?? atom,
130
+ props: { class: _klass, as: _as, ..._restProps }
131
+ };
132
+ }) as { component: Component; props: Record<string, any> };
133
+
134
+ /**
135
+ * Resolve variant definition to props
136
+ */
137
+ function resolveVariants(
138
+ def: VariantDefinition<any>,
139
+ bond: Bond | null | undefined,
140
+ props: Record<string, any>
141
+ ): Record<string, any> {
142
+ const { variants: variantMap, compounds, defaults, class: baseClass } = def;
143
+
144
+ // Merge props with defaults
145
+ const finalProps = { ...defaults, ...props };
146
+
147
+ const classes: ClassValue[] = [];
148
+ const attributes: Record<string, any> = {};
149
+
150
+ // Add base class
151
+ if (baseClass) classes.push(baseClass);
152
+
153
+ // Add variant classes
154
+ if (variantMap) {
155
+ for (const [key, value] of Object.entries(finalProps)) {
156
+ const variantValue = variantMap[key]?.[value as string];
157
+ if (variantValue !== undefined) {
158
+ const resolved = typeof variantValue === 'function' ? variantValue(bond) : variantValue;
159
+
160
+ if (typeof resolved === 'string') {
161
+ classes.push(resolved);
162
+ } else if (typeof resolved === 'object' && resolved !== null) {
163
+ if ('class' in resolved) {
164
+ classes.push(resolved.class);
165
+ }
166
+ // Add other attributes
167
+ Object.entries(resolved).forEach(([k, v]) => {
168
+ if (k !== 'class') {
169
+ attributes[k] = v;
170
+ }
171
+ });
172
+ }
173
+ }
174
+ }
175
+ }
176
+
177
+ // Add compound variants
178
+ if (compounds) {
179
+ for (const compound of compounds) {
180
+ const { class: compoundClass, ...compoundProps } = compound;
181
+ const matches = Object.entries(compoundProps).every(
182
+ ([key, value]) => finalProps[key] === value
183
+ );
184
+ if (matches) {
185
+ if (compoundClass) classes.push(compoundClass);
186
+ // Add compound attributes
187
+ Object.entries(compound).forEach(([k, v]) => {
188
+ if (k !== 'class' && !Object.keys(compoundProps).includes(k)) {
189
+ attributes[k] = v;
190
+ }
191
+ });
192
+ }
193
+ }
194
+ }
195
+
196
+ return {
197
+ class: classes,
198
+ ...attributes
199
+ };
200
+ }
201
+ </script>
202
+
203
+ <renderer.component {...renderer.props}>
204
+ {@render children?.()}
205
+ </renderer.component>
@@ -1,27 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
- import type { Base } from './types';
3
- import { type ClassValue, type VariantDefinition } from '../../utils';
4
- import type { PresetModuleName } from '../../context/preset.svelte';
5
- import type { Bond } from '../../shared';
2
+ import type { Base, HtmlAtomProps } from './types';
6
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
7
- props: Record<string, unknown> & {
8
- [key: string]: unknown;
9
- class?: ClassValue | ClassValue[];
10
- as?: (string & {}) | E | undefined;
11
- global?: boolean;
12
- initial?: import("..").NodeFunction<E> | undefined;
13
- enter?: import("..").TransitionFunction<E> | undefined;
14
- exit?: import("..").TransitionFunction<E> | undefined;
15
- animate?: import("..").NodeFunction<E> | undefined;
16
- onmount?: import("..").NodeFunction<E> | undefined;
17
- ondestroy?: import("..").NodeFunction<E> | undefined;
18
- children?: import("svelte").Snippet;
19
- } & {
20
- bond?: Bond;
21
- base?: B | undefined;
22
- preset?: PresetModuleName | (string & {});
23
- variants?: VariantDefinition<any> | ((bond: Bond, variantProps: Record<string, any>) => Record<string, any>);
24
- } & HTMLAttributes<HTMLElementTagNameMap[E]>;
4
+ props: HtmlAtomProps<E, B> & HTMLAttributes<HTMLElementTagNameMap[E]>;
25
5
  exports: {};
26
6
  bindings: "";
27
7
  slots: {};
@@ -0,0 +1,5 @@
1
+ <script lang="ts">
2
+ let { snippet, ...restProps } = $props();
3
+ </script>
4
+
5
+ {@render snippet?.({ ...restProps })}
@@ -0,0 +1,5 @@
1
+ declare const SnippetRenderer: import("svelte").Component<{
2
+ snippet: any;
3
+ } & Record<string, any>, {}, "">;
4
+ type SnippetRenderer = ReturnType<typeof SnippetRenderer>;
5
+ export default SnippetRenderer;
@@ -7,7 +7,12 @@ import type { VariantDefinition } from '../../utils';
7
7
  export type ComponentBase = Component;
8
8
  export type SnippetBase = Snippet;
9
9
  export type Base<Args = any> = Args extends Record<string, any> ? ComponentBase : Args extends unknown[] ? SnippetBase : never;
10
- export type HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B extends Base<any> = Base> = HtmlElementProps<E> & {
10
+ /**
11
+ * Extend this interface to add custom HTML atom properties in your application.
12
+ */
13
+ export interface HtmlAtomExtendProps {
14
+ }
15
+ export interface HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B extends Base<any> = Base> extends HtmlElementProps<E>, HtmlAtomExtendProps {
11
16
  bond?: Bond;
12
17
  base?: B;
13
18
  preset?: PresetModuleName | (string & {});
@@ -17,5 +22,5 @@ export type HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B e
17
22
  * - Function: Dynamic function that receives bond and props, returns props (legacy)
18
23
  */
19
24
  variants?: VariantDefinition<any> | ((bond: Bond, variantProps: Record<string, any>) => Record<string, any>);
20
- };
25
+ }
21
26
  export type { ElementType };
@@ -4,7 +4,7 @@ type Avatar = SvelteComponent<{
4
4
  }, {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  }, {}> & {
7
- $$bindings?: string | undefined;
7
+ $$bindings?: string;
8
8
  };
9
9
  declare const Avatar: $$__sveltets_2_IsomorphicComponent<{
10
10
  [x: string]: never;
@@ -1,7 +1,12 @@
1
1
  import type { Component } from 'svelte';
2
- export type AvatarProps = {
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 {
3
8
  class?: string;
4
9
  src?: string | Component;
5
10
  alt?: string;
6
11
  readonly element?: HTMLElement;
7
- };
12
+ }
@@ -4,7 +4,7 @@ type Badge = SvelteComponent<{
4
4
  }, {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  }, {}> & {
7
- $$bindings?: string | undefined;
7
+ $$bindings?: string;
8
8
  };
9
9
  declare const Badge: $$__sveltets_2_IsomorphicComponent<{
10
10
  [x: string]: never;
@@ -1,5 +1,10 @@
1
1
  import type { HtmlAtomProps } from '../atom';
2
2
  import type { Snippet } from 'svelte';
3
- export type BadgeProps = HtmlAtomProps<'span'> & {
3
+ /**
4
+ * Extend this interface to add custom badge properties in your application.
5
+ */
6
+ export interface BadgeExtendProps {
7
+ }
8
+ export interface BadgeProps extends HtmlAtomProps<'span'>, BadgeExtendProps {
4
9
  children?: Snippet<[]>;
5
- };
10
+ }
@@ -4,7 +4,7 @@ type Breadcrumb = SvelteComponent<{
4
4
  }, {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  }, {}> & {
7
- $$bindings?: string | undefined;
7
+ $$bindings?: string;
8
8
  };
9
9
  declare const Breadcrumb: $$__sveltets_2_IsomorphicComponent<{
10
10
  [x: string]: never;