@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,26 +1,8 @@
1
- <script module>
2
- import type { Factory } from '../../types';
3
-
4
- export type AccordionRootProps<
5
- E extends keyof HTMLElementTagNameMap = 'div',
6
- B extends Base = Base
7
- > = HtmlAtomProps<E, B> & {
8
- value?: string;
9
- values?: string[];
10
- data?: unknown;
11
- multiple?: boolean;
12
- collapsible?: boolean;
13
- disabled?: boolean;
14
- factory?: Factory<AccordionBond>;
15
- children?: Snippet<[{ accordion: AccordionBond }]>;
16
- };
17
- </script>
18
-
19
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
20
- import type { Snippet } from 'svelte';
21
2
  import { AccordionBond, AccordionState, type AccordionStateProps } from './bond.svelte';
22
3
  import { defineProperty, defineState } from '../../utils';
23
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
4
+ import { HtmlAtom, type Base } from '../atom';
5
+ import type { AccordionRootProps } from './types';
24
6
 
25
7
  let {
26
8
  value = $bindable(undefined),
@@ -1,19 +1,6 @@
1
- import type { Factory } from '../../types';
2
- export type AccordionRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
3
- value?: string;
4
- values?: string[];
5
- data?: unknown;
6
- multiple?: boolean;
7
- collapsible?: boolean;
8
- disabled?: boolean;
9
- factory?: Factory<AccordionBond>;
10
- children?: Snippet<[{
11
- accordion: AccordionBond;
12
- }]>;
13
- };
14
- import type { Snippet } from 'svelte';
15
1
  import { AccordionBond } from './bond.svelte';
16
- import { type HtmlAtomProps, type Base } from '../atom';
2
+ import { type Base } from '../atom';
3
+ import type { AccordionRootProps } from './types';
17
4
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
18
5
  props: AccordionRootProps<E, B>;
19
6
  exports: {
@@ -1,2 +1,3 @@
1
1
  export { Root as Accordion } from './atoms';
2
- export { AccordionItem } from './item';
2
+ export * from './item';
3
+ export * from './types';
@@ -1,2 +1,3 @@
1
1
  export { Root as Accordion } from './atoms';
2
- export { AccordionItem } from './item';
2
+ export * from './item';
3
+ export * from './types';
@@ -1,17 +1,7 @@
1
- <script lang="ts" module>
2
- export type AccordionItemBodyProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ accordionItem: AccordionItemBond }]>;
7
- };
8
- </script>
9
-
10
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
2
+ import { HtmlAtom, type Base } from '../../atom';
12
3
  import { AccordionItemBond } from './bond.svelte';
13
-
14
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
4
+ import type { AccordionItemBodyProps } from './types';
15
5
 
16
6
  const bond = AccordionItemBond.get();
17
7
  const isOpen = $derived(bond?.state.isOpen ?? false);
@@ -1,11 +1,5 @@
1
- export type AccordionItemBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- accordionItem: AccordionItemBond;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { AccordionItemBond } from './bond.svelte';
8
- import { type HtmlAtomProps, type Base } from '../../atom';
1
+ import { type Base } from '../../atom';
2
+ import type { AccordionItemBodyProps } from './types';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
10
4
  props: AccordionItemBodyProps<E, B>;
11
5
  exports: {};
@@ -1,17 +1,7 @@
1
- <script lang="ts" module>
2
- export type AccordionItemHeaderProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ accordionItem: AccordionItemBond }]>;
7
- };
8
- </script>
9
-
10
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
2
+ import { HtmlAtom, type Base } from '../../atom';
12
3
  import { AccordionItemBond } from './bond.svelte';
13
-
14
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
4
+ import type { AccordionItemHeaderProps } from './types';
15
5
 
16
6
  let {
17
7
  class: klass = '',
@@ -25,7 +15,7 @@
25
15
  exit = undefined,
26
16
  initial = undefined,
27
17
  ...restProps
28
- } = $props();
18
+ }: AccordionItemHeaderProps = $props();
29
19
 
30
20
  const bond = AccordionItemBond.get();
31
21
 
@@ -1,24 +1,7 @@
1
- export type AccordionItemHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- accordionItem: AccordionItemBond;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { AccordionItemBond } from './bond.svelte';
8
- import { type HtmlAtomProps, type Base } from '../../atom';
1
+ import { type Base } from '../../atom';
2
+ import type { AccordionItemHeaderProps } from './types';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
10
- props: {
11
- class?: string;
12
- as?: string;
13
- children?: any;
14
- onpointerdown?: any;
15
- onmount?: any;
16
- ondestroy?: any;
17
- animate?: any;
18
- enter?: any;
19
- exit?: any;
20
- initial?: any;
21
- } & Record<string, any>;
4
+ props: AccordionItemHeaderProps;
22
5
  exports: {};
23
6
  bindings: "";
24
7
  slots: {};
@@ -1,19 +1,10 @@
1
- <script lang="ts" module>
2
- export type AccordionItemIndicatorProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ accordionItem: AccordionItemBond }]>;
7
- };
8
- </script>
9
-
10
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
12
2
  import { animate as motion } from 'motion';
13
- import { AccordionItemBond } from './bond.svelte';
14
3
  import { Icon } from '../../icon';
15
4
  import IconArrowDown from '../../../icons/icon-arrow-down.svelte';
16
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
5
+ import { HtmlAtom, type Base } from '../../atom';
6
+ import { AccordionItemBond } from './bond.svelte';
7
+ import type { AccordionItemIndicatorProps } from './types';
17
8
 
18
9
  const bond = AccordionItemBond.get();
19
10
  const isOpen = $derived(bond?.state?.isOpen ?? false);
@@ -1,11 +1,5 @@
1
- export type AccordionItemIndicatorProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- accordionItem: AccordionItemBond;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { AccordionItemBond } from './bond.svelte';
8
- import { type HtmlAtomProps, type Base } from '../../atom';
1
+ import { type Base } from '../../atom';
2
+ import type { AccordionItemIndicatorProps } from './types';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
10
4
  props: AccordionItemIndicatorProps<E, B>;
11
5
  exports: {};
@@ -1,27 +1,13 @@
1
- <script module>
2
- export type AccordionItemRootProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ accordionItem: AccordionItemBond }]>;
7
- value?: string;
8
- data?: any;
9
- disabled?: boolean;
10
- factory?: Factory<AccordionItemBond>;
11
- };
12
- </script>
13
-
14
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
15
- import type { Snippet } from 'svelte';
16
2
  import { nanoid } from 'nanoid';
3
+ import { defineProperty, defineState } from '../../../utils';
4
+ import { HtmlAtom, type Base } from '../../atom';
17
5
  import {
18
6
  AccordionItemBond,
19
7
  AccordionItemBondState,
20
8
  type AccordionItemBondProps
21
9
  } from './bond.svelte';
22
- import { defineProperty, defineState } from '../../../utils';
23
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
24
- import type { Factory } from '../../../types';
10
+ import type { AccordionItemRootProps } from './types';
25
11
 
26
12
  let {
27
13
  class: klass = '',
@@ -1,16 +1,6 @@
1
- export type AccordionItemRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- accordionItem: AccordionItemBond;
4
- }]>;
5
- value?: string;
6
- data?: any;
7
- disabled?: boolean;
8
- factory?: Factory<AccordionItemBond>;
9
- };
10
- import type { Snippet } from 'svelte';
1
+ import { type Base } from '../../atom';
11
2
  import { AccordionItemBond } from './bond.svelte';
12
- import { type HtmlAtomProps, type Base } from '../../atom';
13
- import type { Factory } from '../../../types';
3
+ import type { AccordionItemRootProps } from './types';
14
4
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
15
5
  props: AccordionItemRootProps<E, B>;
16
6
  exports: {
@@ -1 +1,2 @@
1
1
  export * as AccordionItem from './atoms';
2
+ export type * from './types';
@@ -0,0 +1,52 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../../atom';
3
+ import type { Factory, Override } from '../../../types';
4
+ import type { AccordionItemBond } from './bond.svelte';
5
+ /**
6
+ * Extend this interface to add custom accordion item root properties in your application.
7
+ */
8
+ export interface AccordionItemRootExtendProps {
9
+ }
10
+ /**
11
+ * Extend this interface to add custom accordion item header properties in your application.
12
+ */
13
+ export interface AccordionItemHeaderExtendProps {
14
+ }
15
+ /**
16
+ * Extend this interface to add custom accordion item body properties in your application.
17
+ */
18
+ export interface AccordionItemBodyExtendProps {
19
+ }
20
+ /**
21
+ * Extend this interface to add custom accordion item indicator properties in your application.
22
+ */
23
+ export interface AccordionItemIndicatorExtendProps {
24
+ }
25
+ export interface AccordionItemRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
26
+ children?: Snippet<[{
27
+ accordionItem: AccordionItemBond;
28
+ }]>;
29
+ }>, AccordionItemRootExtendProps {
30
+ value?: string;
31
+ data?: any;
32
+ disabled?: boolean;
33
+ factory?: Factory<AccordionItemBond>;
34
+ }
35
+ export interface AccordionItemHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
36
+ children?: Snippet<[{
37
+ accordionItem: AccordionItemBond;
38
+ }]>;
39
+ }>, AccordionItemHeaderExtendProps {
40
+ }
41
+ export interface AccordionItemBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
42
+ children?: Snippet<[{
43
+ accordionItem: AccordionItemBond;
44
+ }]>;
45
+ }>, AccordionItemBodyExtendProps {
46
+ }
47
+ export interface AccordionItemIndicatorProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
48
+ children?: Snippet<[{
49
+ accordionItem: AccordionItemBond;
50
+ }]>;
51
+ }>, AccordionItemIndicatorExtendProps {
52
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ import type { Factory } from '../../types';
4
+ import type { AccordionBond } from './bond.svelte';
5
+ /**
6
+ * Extend this interface to add custom accordion properties in your application.
7
+ */
8
+ export interface AccordionExtendProps {
9
+ }
10
+ export interface AccordionRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Omit<HtmlAtomProps<E, B>, 'children'>, AccordionExtendProps {
11
+ value?: string;
12
+ values?: string[];
13
+ data?: unknown;
14
+ multiple?: boolean;
15
+ collapsible?: boolean;
16
+ disabled?: boolean;
17
+ factory?: Factory<AccordionBond>;
18
+ children?: Snippet<[{
19
+ accordion: AccordionBond;
20
+ }]>;
21
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,52 +1,43 @@
1
- <script module lang="ts">
2
- export type AlertActionsProps<
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 type { HTMLAttributes } from 'svelte/elements';
13
- import { AlertBond } from './bond.svelte';
14
-
15
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
16
-
17
- type Element = HTMLElementTagNameMap[E];
18
-
19
- const bond = AlertBond.get();
20
-
21
- let {
22
- class: klass = '',
23
- children = undefined,
24
- onmount = undefined,
25
- ondestroy = undefined,
26
- animate = undefined,
27
- enter = undefined,
28
- exit = undefined,
29
- initial = undefined,
30
- ...restProps
31
- }: AlertActionsProps<E, B> & HTMLAttributes<Element> = $props();
32
-
33
- const actionsProps = $derived({
34
- ...bond?.actions(),
35
- ...restProps
36
- });
37
- </script>
38
-
39
- <HtmlAtom
40
- {bond}
41
- preset="alert.actions"
42
- class={['alert-actions border-border mt-3 flex items-center gap-2', '$preset', klass]}
43
- onmount={onmount?.bind(bond.state)}
44
- ondestroy={ondestroy?.bind(bond.state)}
45
- animate={animate?.bind(bond.state)}
46
- enter={enter?.bind(bond.state)}
47
- exit={exit?.bind(bond.state)}
48
- initial={initial?.bind(bond.state)}
49
- {...actionsProps}
50
- >
51
- {@render children?.({ alert: bond! })}
52
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import { HtmlAtom, type Base } from '../atom';
4
+ import { AlertBond } from './bond.svelte';
5
+ import type { AlertActionsProps } from './types';
6
+
7
+ type Element = HTMLElementTagNameMap[E];
8
+
9
+ const bond = AlertBond.get();
10
+
11
+ let {
12
+ class: klass = '',
13
+ preset = 'alert.actions',
14
+ children = undefined,
15
+ onmount = undefined,
16
+ ondestroy = undefined,
17
+ animate = undefined,
18
+ enter = undefined,
19
+ exit = undefined,
20
+ initial = undefined,
21
+ ...restProps
22
+ }: AlertActionsProps<E, B> & HTMLAttributes<Element> = $props();
23
+
24
+ const actionsProps = $derived({
25
+ ...bond?.actions(),
26
+ ...restProps
27
+ });
28
+ </script>
29
+
30
+ <HtmlAtom
31
+ {bond}
32
+ {preset}
33
+ class={['alert-actions border-border mt-3 flex items-center gap-2', '$preset', klass]}
34
+ onmount={onmount?.bind(bond.state)}
35
+ ondestroy={ondestroy?.bind(bond.state)}
36
+ animate={animate?.bind(bond.state)}
37
+ enter={enter?.bind(bond.state)}
38
+ exit={exit?.bind(bond.state)}
39
+ initial={initial?.bind(bond.state)}
40
+ {...actionsProps}
41
+ >
42
+ {@render children?.({ alert: bond! })}
43
+ </HtmlAtom>
@@ -1,35 +1,8 @@
1
- export type AlertActionsProps<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
1
  import type { HTMLAttributes } from 'svelte/elements';
8
- import { AlertBond } from './bond.svelte';
9
- import { type HtmlAtomProps, type Base } from '../atom';
2
+ import { type Base } from '../atom';
3
+ import type { AlertActionsProps } from './types';
10
4
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
11
- props: Record<string, unknown> & {
12
- [key: string]: unknown;
13
- class?: import("../..").ClassValue | import("../..").ClassValue[];
14
- as?: (string & {}) | E | undefined;
15
- global?: boolean;
16
- initial?: import("..").NodeFunction<E> | undefined;
17
- enter?: import("..").TransitionFunction<E> | undefined;
18
- exit?: import("..").TransitionFunction<E> | undefined;
19
- animate?: import("..").NodeFunction<E> | undefined;
20
- onmount?: import("..").NodeFunction<E> | undefined;
21
- ondestroy?: import("..").NodeFunction<E> | undefined;
22
- children?: Snippet;
23
- } & {
24
- bond?: import("../..").Bond;
25
- base?: B | undefined;
26
- preset?: import("../..").ModuleName | (string & {});
27
- variants?: import("../..").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
28
- } & {
29
- children?: Snippet<[{
30
- alert: AlertBond;
31
- }]>;
32
- } & HTMLAttributes<HTMLElementTagNameMap[E]>;
5
+ props: AlertActionsProps<E, B> & HTMLAttributes<HTMLElementTagNameMap[E]>;
33
6
  exports: {};
34
7
  bindings: "";
35
8
  slots: {};
@@ -1,79 +1,70 @@
1
- <script module lang="ts">
2
- export type AlertCloseButtonProps<
3
- E extends keyof HTMLElementTagNameMap,
4
- B extends 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 type { HTMLAttributes } from 'svelte/elements';
13
- import { AlertBond } from './bond.svelte';
14
-
15
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
16
-
17
- type Element = HTMLElementTagNameMap[E];
18
-
19
- const bond = AlertBond.get();
20
-
21
- let {
22
- class: klass = '',
23
- as = 'button' as E,
24
- children = undefined,
25
- onmount = undefined,
26
- ondestroy = undefined,
27
- animate = undefined,
28
- enter = undefined,
29
- exit = undefined,
30
- initial = undefined,
31
- ...restProps
32
- }: AlertCloseButtonProps<E, B> & HTMLAttributes<Element> = $props();
33
-
34
- const isDismissible = $derived(bond?.state.isDismissible ?? false);
35
-
36
- const closeButtonProps = $derived({
37
- ...bond?.closeButton(),
38
- ...restProps
39
- });
40
- </script>
41
-
42
- {#if isDismissible}
43
- <HtmlAtom
44
- {as}
45
- {bond}
46
- preset="alert.close-button"
47
- class={[
48
- 'alert-close-button border-border absolute top-2 right-2 rounded p-1 transition-colors hover:bg-black/10 dark:hover:bg-white/10',
49
- 'focus:ring-2 focus:ring-offset-1 focus:outline-none',
50
- {
51
- 'focus:ring-blue-500': bond?.state.variant === 'info',
52
- 'focus:ring-green-500': bond?.state.variant === 'success',
53
- 'focus:ring-yellow-500': bond?.state.variant === 'warning',
54
- 'focus:ring-red-500': bond?.state.variant === 'error'
55
- },
56
- '$preset',
57
- klass
58
- ]}
59
- onmount={onmount?.bind(bond.state)}
60
- ondestroy={ondestroy?.bind(bond.state)}
61
- animate={animate?.bind(bond.state)}
62
- enter={enter?.bind(bond.state)}
63
- exit={exit?.bind(bond.state)}
64
- initial={initial?.bind(bond.state)}
65
- {...closeButtonProps}
66
- >
67
- {@render children?.({ alert: bond! })}
68
- {#if !children}
69
- <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
70
- <path
71
- stroke-linecap="round"
72
- stroke-linejoin="round"
73
- stroke-width="2"
74
- d="M6 18L18 6M6 6l12 12"
75
- />
76
- </svg>
77
- {/if}
78
- </HtmlAtom>
79
- {/if}
1
+ <script
2
+ lang="ts"
3
+ generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
4
+ >
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+ import { HtmlAtom, type Base } from '../atom';
7
+ import { AlertBond } from './bond.svelte';
8
+ import type { AlertCloseButtonProps } from './types';
9
+ import { Icon } from '../icon';
10
+
11
+ type Element = HTMLElementTagNameMap[E];
12
+
13
+ const bond = AlertBond.get();
14
+
15
+ let {
16
+ class: klass = '',
17
+ as = 'button' as E,
18
+ preset = 'alert.close-button',
19
+ children = undefined,
20
+ onmount = undefined,
21
+ ondestroy = undefined,
22
+ animate = undefined,
23
+ enter = undefined,
24
+ exit = undefined,
25
+ initial = undefined,
26
+ ...restProps
27
+ }: AlertCloseButtonProps<E, B> & HTMLAttributes<Element> = $props();
28
+
29
+ const isDismissible = $derived(bond?.state.isDismissible ?? false);
30
+
31
+ const closeButtonProps = $derived({
32
+ ...bond?.closeButton(),
33
+ ...restProps
34
+ });
35
+ </script>
36
+
37
+ {#if isDismissible}
38
+ <HtmlAtom
39
+ {as}
40
+ {bond}
41
+ {preset}
42
+ class={[
43
+ 'alert-close-button border-border flex size-6 items-center justify-center rounded p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/10',
44
+ '$preset',
45
+ klass
46
+ ]}
47
+ onmount={onmount?.bind(bond.state)}
48
+ ondestroy={ondestroy?.bind(bond.state)}
49
+ animate={animate?.bind(bond.state)}
50
+ enter={enter?.bind(bond.state)}
51
+ exit={exit?.bind(bond.state)}
52
+ initial={initial?.bind(bond.state)}
53
+ {...closeButtonProps}
54
+ >
55
+ {#if children}
56
+ {@render children({ alert: bond! })}
57
+ {:else}
58
+ <Icon class="h-full">
59
+ <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
60
+ <path
61
+ stroke-linecap="round"
62
+ stroke-linejoin="round"
63
+ stroke-width="2"
64
+ d="M6 18L18 6M6 6l12 12"
65
+ />
66
+ </svg>
67
+ </Icon>
68
+ {/if}
69
+ </HtmlAtom>
70
+ {/if}