@svelte-atoms/core 1.0.0-alpha.25 → 1.0.0-alpha.27

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 (354) hide show
  1. package/README.md +645 -645
  2. package/dist/components/accordion/accordion-root.svelte +61 -79
  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 +42 -52
  7. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
  8. package/dist/components/accordion/item/accordion-item-header.svelte +50 -56
  9. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
  10. package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
  12. package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
  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 +42 -52
  20. package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
  21. package/dist/components/alert/alert-close-button.svelte +72 -79
  22. package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
  23. package/dist/components/alert/alert-content.svelte +42 -52
  24. package/dist/components/alert/alert-content.svelte.d.ts +3 -30
  25. package/dist/components/alert/alert-description.svelte +41 -51
  26. package/dist/components/alert/alert-description.svelte.d.ts +7 -10
  27. package/dist/components/alert/alert-icon.svelte +46 -56
  28. package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
  29. package/dist/components/alert/alert-root.svelte +102 -118
  30. package/dist/components/alert/alert-root.svelte.d.ts +2 -13
  31. package/dist/components/alert/alert-title.svelte +41 -51
  32. package/dist/components/alert/alert-title.svelte.d.ts +2 -8
  33. package/dist/components/alert/index.d.ts +1 -0
  34. package/dist/components/alert/index.js +1 -0
  35. package/dist/components/alert/types.d.ts +85 -0
  36. package/dist/components/alert/types.js +1 -0
  37. package/dist/components/atom/html-atom.svelte +201 -217
  38. package/dist/components/atom/html-atom.svelte.d.ts +2 -22
  39. package/dist/components/atom/types.d.ts +7 -2
  40. package/dist/components/avatar/types.d.ts +7 -2
  41. package/dist/components/badge/badge.svelte +1 -1
  42. package/dist/components/badge/types.d.ts +7 -2
  43. package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
  44. package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
  45. package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
  46. package/dist/components/button/button.stories.svelte +57 -57
  47. package/dist/components/button/button.svelte +1 -1
  48. package/dist/components/button/button.svelte.d.ts +4 -1
  49. package/dist/components/button/index.d.ts +1 -0
  50. package/dist/components/button/index.js +1 -0
  51. package/dist/components/button/types.d.ts +8 -3
  52. package/dist/components/card/card-body.svelte +39 -45
  53. package/dist/components/card/card-body.svelte.d.ts +7 -4
  54. package/dist/components/card/card-description.svelte +41 -48
  55. package/dist/components/card/card-description.svelte.d.ts +7 -7
  56. package/dist/components/card/card-footer.svelte +41 -48
  57. package/dist/components/card/card-footer.svelte.d.ts +7 -4
  58. package/dist/components/card/card-header.svelte +41 -48
  59. package/dist/components/card/card-header.svelte.d.ts +7 -4
  60. package/dist/components/card/card-media.svelte +41 -48
  61. package/dist/components/card/card-media.svelte.d.ts +7 -4
  62. package/dist/components/card/card-root.svelte +91 -91
  63. package/dist/components/card/card-root.svelte.d.ts +1 -1
  64. package/dist/components/card/card-subtitle.svelte +41 -48
  65. package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
  66. package/dist/components/card/card-title.svelte +45 -48
  67. package/dist/components/card/card-title.svelte.d.ts +12 -9
  68. package/dist/components/card/index.d.ts +1 -0
  69. package/dist/components/card/index.js +1 -0
  70. package/dist/components/card/types.d.ts +57 -2
  71. package/dist/components/checkbox/checkbox.svelte +39 -28
  72. package/dist/components/checkbox/types.d.ts +7 -2
  73. package/dist/components/collapsible/collapsible-body.svelte +39 -52
  74. package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
  75. package/dist/components/collapsible/collapsible-header.svelte +39 -52
  76. package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
  77. package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
  78. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
  79. package/dist/components/collapsible/collapsible-root.svelte +66 -85
  80. package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
  81. package/dist/components/collapsible/index.d.ts +1 -0
  82. package/dist/components/collapsible/index.js +1 -0
  83. package/dist/components/collapsible/types.d.ts +54 -0
  84. package/dist/components/collapsible/types.js +1 -0
  85. package/dist/components/combobox/atoms.d.ts +5 -1
  86. package/dist/components/combobox/atoms.js +5 -1
  87. package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
  88. package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
  89. package/dist/components/combobox/combobox-root.svelte +65 -68
  90. package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
  91. package/dist/components/combobox/combobox-trigger.svelte +1 -1
  92. package/dist/components/combobox/compobox-item.svelte +1 -1
  93. package/dist/components/combobox/index.d.ts +1 -0
  94. package/dist/components/combobox/index.js +1 -0
  95. package/dist/components/combobox/types.d.ts +25 -0
  96. package/dist/components/combobox/types.js +1 -0
  97. package/dist/components/container/container.svelte +1 -1
  98. package/dist/components/container/types.d.ts +7 -2
  99. package/dist/components/contextmenu/types.d.ts +8 -0
  100. package/dist/components/contextmenu/types.js +1 -0
  101. package/dist/components/datagrid/datagrid-body.svelte +37 -44
  102. package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
  103. package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
  104. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
  105. package/dist/components/datagrid/datagrid-footer.svelte +34 -34
  106. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
  107. package/dist/components/datagrid/datagrid-header.svelte +49 -49
  108. package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
  109. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  110. package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
  111. package/dist/components/datagrid/datagrid.stories.svelte +75 -75
  112. package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
  113. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
  114. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
  115. package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
  116. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
  117. package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
  118. package/dist/components/datagrid/tr/bond.svelte.js +4 -2
  119. package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
  120. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
  121. package/dist/components/datagrid/types.d.ts +85 -37
  122. package/dist/components/dialog/dialog-body.svelte +39 -45
  123. package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
  124. package/dist/components/dialog/dialog-close-button.svelte +58 -61
  125. package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
  126. package/dist/components/dialog/dialog-content.svelte +62 -71
  127. package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
  128. package/dist/components/dialog/dialog-description.svelte +40 -46
  129. package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
  130. package/dist/components/dialog/dialog-footer.svelte +39 -45
  131. package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
  132. package/dist/components/dialog/dialog-header.svelte +39 -45
  133. package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
  134. package/dist/components/dialog/dialog-root.svelte +110 -120
  135. package/dist/components/dialog/dialog-root.svelte.d.ts +2 -10
  136. package/dist/components/dialog/dialog-title.svelte +41 -47
  137. package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
  138. package/dist/components/dialog/index.d.ts +1 -0
  139. package/dist/components/dialog/index.js +1 -0
  140. package/dist/components/dialog/types.d.ts +67 -0
  141. package/dist/components/dialog/types.js +1 -0
  142. package/dist/components/divider/types.d.ts +10 -0
  143. package/dist/components/divider/types.js +1 -0
  144. package/dist/components/drawer/drawer-backdrop.svelte +38 -47
  145. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
  146. package/dist/components/drawer/drawer-body.svelte +42 -56
  147. package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
  148. package/dist/components/drawer/drawer-content.svelte +42 -55
  149. package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
  150. package/dist/components/drawer/drawer-description.svelte +44 -57
  151. package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
  152. package/dist/components/drawer/drawer-footer.svelte +41 -54
  153. package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
  154. package/dist/components/drawer/drawer-header.svelte +43 -56
  155. package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
  156. package/dist/components/drawer/drawer-root.svelte +93 -113
  157. package/dist/components/drawer/drawer-root.svelte.d.ts +3 -31
  158. package/dist/components/drawer/drawer-title.svelte +44 -57
  159. package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
  160. package/dist/components/drawer/index.d.ts +1 -0
  161. package/dist/components/drawer/index.js +1 -0
  162. package/dist/components/drawer/types.d.ts +86 -0
  163. package/dist/components/drawer/types.js +1 -0
  164. package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
  165. package/dist/components/dropdown/dropdown-query.svelte +54 -53
  166. package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
  167. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  168. package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
  169. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
  170. package/dist/components/dropdown/dropdown-value.svelte +60 -62
  171. package/dist/components/dropdown/index.d.ts +1 -0
  172. package/dist/components/dropdown/index.js +1 -0
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +9 -0
  175. package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
  176. package/dist/components/dropdown/types.d.ts +37 -0
  177. package/dist/components/dropdown/types.js +1 -0
  178. package/dist/components/element/html-element.svelte.d.ts +2 -14
  179. package/dist/components/element/svg-element.svelte.d.ts +2 -14
  180. package/dist/components/element/types.d.ts +14 -7
  181. package/dist/components/form/field/bond.svelte.d.ts +8 -0
  182. package/dist/components/form/field/bond.svelte.js +13 -1
  183. package/dist/components/form/field/field-control.svelte +48 -58
  184. package/dist/components/form/field/field-control.svelte.d.ts +5 -19
  185. package/dist/components/form/field/field-label.svelte +24 -31
  186. package/dist/components/form/field/field-label.svelte.d.ts +1 -2
  187. package/dist/components/form/field/field-root.svelte +59 -88
  188. package/dist/components/form/field/field-root.svelte.d.ts +5 -20
  189. package/dist/components/form/form.stories.svelte +3 -3
  190. package/dist/components/form/index.d.ts +1 -0
  191. package/dist/components/form/index.js +1 -0
  192. package/dist/components/form/types.d.ts +76 -0
  193. package/dist/components/form/types.js +1 -0
  194. package/dist/components/icon/icon.svelte +44 -55
  195. package/dist/components/icon/icon.svelte.d.ts +4 -29
  196. package/dist/components/icon/types.d.ts +11 -7
  197. package/dist/components/input/atoms.d.ts +5 -1
  198. package/dist/components/input/atoms.js +5 -1
  199. package/dist/components/input/index.d.ts +1 -0
  200. package/dist/components/input/index.js +1 -0
  201. package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -24
  202. package/dist/components/input/input-control.svelte.d.ts +26 -0
  203. package/dist/components/input/input-icon.svelte +1 -1
  204. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  205. package/dist/components/input/input-placeholder.svelte +54 -56
  206. package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
  207. package/dist/components/input/input-root.svelte +5 -12
  208. package/dist/components/input/input-root.svelte.d.ts +3 -20
  209. package/dist/components/input/input.stories.svelte +2 -2
  210. package/dist/components/input/types.d.ts +33 -0
  211. package/dist/components/input/types.js +1 -0
  212. package/dist/components/label/index.d.ts +1 -0
  213. package/dist/components/label/index.js +1 -0
  214. package/dist/components/label/label.svelte +25 -41
  215. package/dist/components/label/label.svelte.d.ts +3 -27
  216. package/dist/components/label/types.d.ts +11 -0
  217. package/dist/components/label/types.js +1 -0
  218. package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
  219. package/dist/components/layer/layer-root.svelte.d.ts +2 -19
  220. package/dist/components/layer/types.d.ts +11 -0
  221. package/dist/components/layer/types.js +1 -0
  222. package/dist/components/link/types.d.ts +8 -0
  223. package/dist/components/link/types.js +1 -0
  224. package/dist/components/list/list-group.svelte +1 -1
  225. package/dist/components/list/list-item.svelte +1 -1
  226. package/dist/components/list/list-root.svelte +6 -1
  227. package/dist/components/list/list-title.svelte +1 -1
  228. package/dist/components/list/types.d.ts +8 -0
  229. package/dist/components/list/types.js +1 -0
  230. package/dist/components/menu/index.d.ts +1 -0
  231. package/dist/components/menu/index.js +1 -0
  232. package/dist/components/menu/menu-list.svelte +1 -1
  233. package/dist/components/menu/types.d.ts +15 -0
  234. package/dist/components/menu/types.js +1 -0
  235. package/dist/components/popover/bond.svelte.d.ts +2 -0
  236. package/dist/components/popover/bond.svelte.js +1 -1
  237. package/dist/components/popover/index.d.ts +1 -0
  238. package/dist/components/popover/index.js +1 -0
  239. package/dist/components/popover/popover-arrow.svelte +111 -117
  240. package/dist/components/popover/popover-arrow.svelte.d.ts +3 -20
  241. package/dist/components/popover/popover-content.svelte +139 -147
  242. package/dist/components/popover/popover-content.svelte.d.ts +3 -17
  243. package/dist/components/popover/popover-indicator.svelte +1 -1
  244. package/dist/components/popover/popover-root.svelte +4 -18
  245. package/dist/components/popover/popover-root.svelte.d.ts +1 -15
  246. package/dist/components/popover/popover-trigger.svelte +3 -12
  247. package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
  248. package/dist/components/popover/types.d.ts +61 -0
  249. package/dist/components/popover/types.js +1 -0
  250. package/dist/components/portal/active-portal.svelte +8 -2
  251. package/dist/components/portal/active-portal.svelte.d.ts +2 -2
  252. package/dist/components/portal/index.d.ts +1 -0
  253. package/dist/components/portal/index.js +1 -0
  254. package/dist/components/portal/portal-inner.svelte +1 -1
  255. package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
  256. package/dist/components/portal/portal-root.svelte +83 -88
  257. package/dist/components/portal/portal-root.svelte.d.ts +2 -22
  258. package/dist/components/portal/teleport.svelte +50 -49
  259. package/dist/components/portal/teleport.svelte.d.ts +5 -23
  260. package/dist/components/portal/types.d.ts +39 -0
  261. package/dist/components/portal/types.js +1 -0
  262. package/dist/components/radio/radio-group.stories.svelte +4 -4
  263. package/dist/components/radio/radio.svelte +109 -109
  264. package/dist/components/radio/radio.svelte.d.ts +14 -36
  265. package/dist/components/root/root.css +24 -66
  266. package/dist/components/root/root.svelte +121 -121
  267. package/dist/components/root/types.d.ts +8 -0
  268. package/dist/components/root/types.js +1 -0
  269. package/dist/components/scrollable/index.d.ts +1 -0
  270. package/dist/components/scrollable/index.js +1 -0
  271. package/dist/components/scrollable/scrollable-container.svelte +82 -89
  272. package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
  273. package/dist/components/scrollable/scrollable-content.svelte +41 -51
  274. package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
  275. package/dist/components/scrollable/scrollable-root.svelte +100 -120
  276. package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
  277. package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
  278. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
  279. package/dist/components/scrollable/scrollable-track.svelte +59 -70
  280. package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
  281. package/dist/components/scrollable/types.d.ts +62 -0
  282. package/dist/components/scrollable/types.js +1 -0
  283. package/dist/components/sidebar/index.d.ts +1 -0
  284. package/dist/components/sidebar/index.js +1 -0
  285. package/dist/components/sidebar/sidebar-content.svelte +2 -16
  286. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
  287. package/dist/components/sidebar/sidebar-root.svelte +4 -23
  288. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
  289. package/dist/components/sidebar/types.d.ts +30 -0
  290. package/dist/components/sidebar/types.js +1 -0
  291. package/dist/components/stack/stack-item.svelte +5 -1
  292. package/dist/components/stack/stack-root.svelte +5 -1
  293. package/dist/components/stack/stack-root.svelte.d.ts +2 -19
  294. package/dist/components/stack/types.d.ts +12 -0
  295. package/dist/components/stack/types.js +1 -0
  296. package/dist/components/tabs/index.d.ts +1 -0
  297. package/dist/components/tabs/index.js +1 -0
  298. package/dist/components/tabs/tab/tab-body.svelte +52 -61
  299. package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
  300. package/dist/components/tabs/tab/tab-description.svelte +41 -50
  301. package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
  302. package/dist/components/tabs/tab/tab-header.svelte +71 -81
  303. package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
  304. package/dist/components/tabs/tab/tab-root.svelte +86 -81
  305. package/dist/components/tabs/tabs-body.svelte +1 -1
  306. package/dist/components/tabs/tabs-header.svelte +1 -1
  307. package/dist/components/tabs/tabs-root.svelte +1 -1
  308. package/dist/components/tabs/types.d.ts +55 -0
  309. package/dist/components/tabs/types.js +1 -0
  310. package/dist/components/textarea/index.d.ts +1 -0
  311. package/dist/components/textarea/index.js +1 -0
  312. package/dist/components/textarea/textarea-input.svelte +2 -1
  313. package/dist/components/textarea/types.d.ts +28 -0
  314. package/dist/components/textarea/types.js +1 -0
  315. package/dist/components/toast/index.d.ts +1 -0
  316. package/dist/components/toast/index.js +1 -0
  317. package/dist/components/toast/toast-description.svelte +38 -44
  318. package/dist/components/toast/toast-description.svelte.d.ts +8 -34
  319. package/dist/components/toast/toast-root.svelte +61 -74
  320. package/dist/components/toast/toast-root.svelte.d.ts +4 -43
  321. package/dist/components/toast/toast-title.svelte +35 -43
  322. package/dist/components/toast/toast-title.svelte.d.ts +2 -34
  323. package/dist/components/toast/types.d.ts +40 -0
  324. package/dist/components/toast/types.js +1 -0
  325. package/dist/components/tooltip/types.d.ts +13 -0
  326. package/dist/components/tooltip/types.js +1 -0
  327. package/dist/components/tree/index.d.ts +1 -0
  328. package/dist/components/tree/index.js +1 -0
  329. package/dist/components/tree/tree-body.svelte +39 -50
  330. package/dist/components/tree/tree-body.svelte.d.ts +2 -10
  331. package/dist/components/tree/tree-header.svelte +54 -66
  332. package/dist/components/tree/tree-header.svelte.d.ts +3 -29
  333. package/dist/components/tree/tree-indicator.svelte +40 -50
  334. package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
  335. package/dist/components/tree/tree-root.svelte +65 -80
  336. package/dist/components/tree/tree-root.svelte.d.ts +2 -12
  337. package/dist/components/tree/types.d.ts +59 -0
  338. package/dist/components/tree/types.js +1 -0
  339. package/dist/components/virtual/types.d.ts +23 -0
  340. package/dist/components/virtual/types.js +1 -0
  341. package/dist/components/virtual/virtual-root.svelte +239 -258
  342. package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
  343. package/dist/context/preset.svelte.d.ts +1 -1
  344. package/llm/composition.md +395 -395
  345. package/llm/crafting.md +838 -838
  346. package/llm/motion.md +970 -970
  347. package/llm/philosophy.md +23 -23
  348. package/llm/preset-variant-integration.md +516 -516
  349. package/llm/preset.md +383 -383
  350. package/llm/styling.md +216 -216
  351. package/llm/usage.md +46 -46
  352. package/llm/variants.md +712 -712
  353. package/package.json +437 -437
  354. package/dist/components/input/input-value.svelte.d.ts +0 -19
@@ -1,51 +1,41 @@
1
- <script module lang="ts">
2
- export type AlertTitleProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ alert: AlertBond }]>;
7
- };
8
- </script>
9
-
10
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
12
- import { AlertBond } from './bond.svelte';
13
-
14
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
15
-
16
- const bond = AlertBond.get();
17
-
18
- let {
19
- as = 'h4' as E,
20
- class: klass = '',
21
- children = undefined,
22
- onmount = undefined,
23
- ondestroy = undefined,
24
- animate = undefined,
25
- enter = undefined,
26
- exit = undefined,
27
- initial = undefined,
28
- ...restProps
29
- }: AlertTitleProps<E, B> = $props();
30
-
31
- const titleProps = $derived({
32
- ...bond?.title(),
33
- ...restProps
34
- });
35
- </script>
36
-
37
- <HtmlAtom
38
- {as}
39
- {bond}
40
- preset="alert.title"
41
- class={['alert-title text-sm leading-tight font-medium', '$preset', klass]}
42
- onmount={onmount?.bind(bond.state)}
43
- ondestroy={ondestroy?.bind(bond.state)}
44
- animate={animate?.bind(bond.state)}
45
- enter={enter?.bind(bond.state)}
46
- exit={exit?.bind(bond.state)}
47
- initial={initial?.bind(bond.state)}
48
- {...titleProps}
49
- >
50
- {@render children?.({ alert: bond! })}
51
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { AlertBond } from './bond.svelte';
4
+ import type { AlertTitleProps } from './types';
5
+
6
+ const bond = AlertBond.get();
7
+
8
+ let {
9
+ as = 'h4' as E,
10
+ class: klass = '',
11
+ children = undefined,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: AlertTitleProps<E, B> = $props();
20
+
21
+ const titleProps = $derived({
22
+ ...bond?.title(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {as}
29
+ {bond}
30
+ preset="alert.title"
31
+ class={['alert-title border-border text-sm leading-tight font-medium', '$preset', klass]}
32
+ onmount={onmount?.bind(bond.state)}
33
+ ondestroy={ondestroy?.bind(bond.state)}
34
+ animate={animate?.bind(bond.state)}
35
+ enter={enter?.bind(bond.state)}
36
+ exit={exit?.bind(bond.state)}
37
+ initial={initial?.bind(bond.state)}
38
+ {...titleProps}
39
+ >
40
+ {@render children?.({ alert: bond! })}
41
+ </HtmlAtom>
@@ -1,11 +1,5 @@
1
- export type AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- alert: AlertBond;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { AlertBond } from './bond.svelte';
8
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { AlertTitleProps } from './types';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
10
4
  props: AlertTitleProps<E, B>;
11
5
  exports: {};
@@ -1,2 +1,3 @@
1
1
  export * as Alert from './atoms';
2
2
  export type { AlertBondProps, AlertBondElements, AlertBond, AlertBondState } from './bond.svelte';
3
+ export * from './types';
@@ -1 +1,2 @@
1
1
  export * as Alert from './atoms';
2
+ export * from './types';
@@ -0,0 +1,85 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ import type { Factory, Override } from '../../types';
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 Omit<HtmlAtomProps<E, B>, 'children'>, AlertRootExtendProps {
41
+ dismissible?: boolean;
42
+ dismissed?: boolean;
43
+ disabled?: boolean;
44
+ extend?: Record<string, unknown>;
45
+ factory?: Factory<AlertBond>;
46
+ children?: Snippet<[{
47
+ alert: AlertBond;
48
+ }]>;
49
+ }
50
+ export interface AlertContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
51
+ children?: Snippet<[{
52
+ alert: AlertBond;
53
+ }]>;
54
+ }>, AlertContentExtendProps {
55
+ }
56
+ export interface AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
57
+ children?: Snippet<[{
58
+ alert: AlertBond;
59
+ }]>;
60
+ }>, AlertTitleExtendProps {
61
+ }
62
+ export interface AlertDescriptionProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
63
+ children?: Snippet<[{
64
+ alert: AlertBond;
65
+ }]>;
66
+ }>, AlertDescriptionExtendProps {
67
+ }
68
+ export interface AlertIconProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
69
+ children?: Snippet<[{
70
+ alert: AlertBond;
71
+ }]>;
72
+ }>, AlertIconExtendProps {
73
+ }
74
+ export interface AlertActionsProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
75
+ children?: Snippet<[{
76
+ alert: AlertBond;
77
+ }]>;
78
+ }>, AlertActionsExtendProps {
79
+ }
80
+ export interface AlertCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
81
+ children?: Snippet<[{
82
+ alert: AlertBond;
83
+ }]>;
84
+ }>, AlertCloseButtonExtendProps {
85
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,217 +1,201 @@
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([compilePresetPlaceholder(klass), mergedVariants?.class ?? '']);
100
-
101
- const _base = $derived(base ?? preset?.base);
102
- const _as = $derived(as ?? preset?.as);
103
- const _restProps = $derived.by(() => {
104
- const {
105
- class: klassPreset,
106
- base,
107
- as,
108
- variants: presetProps,
109
- ...restPresetProps
110
- } = preset ?? {};
111
- const { class: variantClass, ...variantsRestProps } = mergedVariants ?? {};
112
-
113
- return { ...restPresetProps, ...variantsRestProps, ...restProps };
114
- });
115
-
116
- const isSnippet = $derived(typeof _base === 'function' && _base.length === 1 && !_base.prototype);
117
-
118
- const snippet = $derived(_base as SnippetBase);
119
-
120
- const atom = rootBond?.state?.props?.renderers?.html ?? HtmlElement;
121
-
122
- const Component = $derived(base ?? atom) as ComponentBase;
123
-
124
- function compilePresetPlaceholder(klass: ClassValue): ReturnType<typeof toClassValue> {
125
- if (Array.isArray(klass)) {
126
- return klass.map((k) => compilePresetPlaceholder(k));
127
- }
128
-
129
- const compiled = toClassValue.apply(bond, [klass, bond]);
130
-
131
- if (Array.isArray(compiled)) {
132
- return compiled.map((c) => compilePresetPlaceholder(c));
133
- }
134
-
135
- if (typeof compiled === 'string') {
136
- return compiled.replace('$preset', cn(preset?.class));
137
- }
138
-
139
- return compiled;
140
- }
141
-
142
- /**
143
- * Resolve variant definition to props
144
- */
145
- function resolveVariants(
146
- def: VariantDefinition<any>,
147
- bond: Bond | null | undefined,
148
- props: Record<string, any>
149
- ): Record<string, any> {
150
- const { variants: variantMap, compounds, defaults, class: baseClass } = def;
151
-
152
- // Merge props with defaults
153
- const finalProps = { ...defaults, ...props };
154
-
155
- const classes: ClassValue[] = [];
156
- const attributes: Record<string, any> = {};
157
-
158
- // Add base class
159
- if (baseClass) classes.push(baseClass);
160
-
161
- // Add variant classes
162
- if (variantMap) {
163
- for (const [key, value] of Object.entries(finalProps)) {
164
- const variantValue = variantMap[key]?.[value as string];
165
- if (variantValue !== undefined) {
166
- const resolved = typeof variantValue === 'function' ? variantValue(bond) : variantValue;
167
-
168
- if (typeof resolved === 'string') {
169
- classes.push(resolved);
170
- } else if (typeof resolved === 'object' && resolved !== null) {
171
- if ('class' in resolved) {
172
- classes.push(resolved.class);
173
- }
174
- // Add other attributes
175
- Object.entries(resolved).forEach(([k, v]) => {
176
- if (k !== 'class') {
177
- attributes[k] = v;
178
- }
179
- });
180
- }
181
- }
182
- }
183
- }
184
-
185
- // Add compound variants
186
- if (compounds) {
187
- for (const compound of compounds) {
188
- const { class: compoundClass, ...compoundProps } = compound;
189
- const matches = Object.entries(compoundProps).every(
190
- ([key, value]) => finalProps[key] === value
191
- );
192
- if (matches) {
193
- if (compoundClass) classes.push(compoundClass);
194
- // Add compound attributes
195
- Object.entries(compound).forEach(([k, v]) => {
196
- if (k !== 'class' && !Object.keys(compoundProps).includes(k)) {
197
- attributes[k] = v;
198
- }
199
- });
200
- }
201
- }
202
- }
203
-
204
- return {
205
- class: classes,
206
- ...attributes
207
- };
208
- }
209
- </script>
210
-
211
- {#if isSnippet}
212
- {@render snippet({ class: _klass, as: _as, base: _base, children, ..._restProps })}
213
- {:else}
214
- <Component class={_klass} as={_as} {..._restProps}>
215
- {@render children?.()}
216
- </Component>
217
- {/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, 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,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: {};