@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
@@ -3,8 +3,8 @@
3
3
  import { PortalBond, PortalsBond, Teleport } from '../portal';
4
4
  import { HtmlAtom, type Base } from '../atom';
5
5
  import type { HtmlElementTagName, HtmlElementType } from '../element';
6
- import { PopoverBond } from './bond.svelte';
7
6
  import { DURATION } from '../../shared';
7
+ import { PopoverBond } from './bond.svelte';
8
8
  import type { AnimateParams, PopoverContentProps } from './types';
9
9
 
10
10
  type Element = HtmlElementType<E>;
@@ -59,12 +59,12 @@
59
59
  const xOffset = $derived(dx * offset);
60
60
  const yOffset = $derived(dy * offset);
61
61
 
62
+ const openAsNumber = $derived(+isOpen);
63
+ const deltaArrow = $derived(position?.middlewareData?.arrow ? 1 : 0);
64
+
62
65
  let isInitialized = false;
63
66
 
64
67
  function _containerInitial(this: typeof bond.state, node: Element) {
65
- const openAsNumber = +this.isOpen;
66
-
67
- const deltaArrow = position?.middlewareData?.arrow ? 1 : 0;
68
68
  const arrowClientWidth = bond?.elements.arrow?.clientWidth ?? 0;
69
69
  const arrowClientHeight = bond?.elements.arrow?.clientHeight ?? 0;
70
70
 
@@ -81,8 +81,6 @@
81
81
  return;
82
82
  }
83
83
 
84
- const openAsNumber = +this.isOpen;
85
-
86
84
  const deltaArrow = position?.middlewareData?.arrow ? 1 : 0;
87
85
  const arrowClientWidth = bond?.elements.arrow?.clientWidth ?? 0;
88
86
  const arrowClientHeight = bond?.elements.arrow?.clientHeight ?? 0;
@@ -93,17 +91,58 @@
93
91
  node.style.transform = `translate3d(${_x}px, ${_y}px, 1px)`;
94
92
  }
95
93
 
94
+ let isOpened = false;
95
+
96
96
  function _animate(this: typeof bond.state, node: Element) {
97
97
  const isOpen = this.isOpen;
98
98
 
99
+ const arrowClientWidth = bond?.elements.arrow?.clientWidth ?? 0;
100
+ const arrowClientHeight = bond?.elements.arrow?.clientHeight ?? 0;
101
+
102
+ const _x = openAsNumber * dx;
103
+ const _y = openAsNumber * dy;
104
+
105
+ const getTransformOrigin = () => {
106
+ switch (placement) {
107
+ case 'top':
108
+ case 'top-start':
109
+ case 'top-end':
110
+ return 'bottom';
111
+ case 'bottom':
112
+ case 'bottom-start':
113
+ case 'bottom-end':
114
+ return 'top';
115
+ case 'left':
116
+ case 'left-start':
117
+ case 'left-end':
118
+ return 'right';
119
+ case 'right':
120
+ case 'right-start':
121
+ case 'right-end':
122
+ return 'left';
123
+ default:
124
+ return 'center';
125
+ }
126
+ };
127
+
128
+ const transformOrigin = getTransformOrigin();
129
+
130
+ const from = isOpened ? 1 : 0.95;
131
+
99
132
  motion(
100
133
  node,
101
134
  {
102
- opacity: +isOpen,
103
- y: (isOpen ? 0 : -1) * dy * 8
135
+ opacity: openAsNumber,
136
+ y: _y + dy * (!isOpen ? -1 : 0) * (arrowClientHeight + yOffset),
137
+ x: _x + dx * (!isOpen ? -1 : 0) * (arrowClientWidth + xOffset),
138
+ scaleY: dy ? (isOpen ? [from, 1] : [1, 0.8]) : undefined,
139
+ scaleX: dx ? (isOpen ? [from, 1] : [1, 0.8]) : undefined,
140
+ transformOrigin
104
141
  },
105
142
  { duration: DURATION.fast / 1000 }
106
143
  );
144
+
145
+ isOpened = isOpen;
107
146
  }
108
147
  </script>
109
148
 
@@ -15,23 +15,22 @@
15
15
  children = undefined
16
16
  }: PopoverRootProps = $props();
17
17
 
18
- const bondProps = defineState<PopoverStateProps>(
19
- [
20
- defineProperty(
21
- 'open',
22
- () => open,
23
- (v) => {
24
- open = v;
25
- }
26
- ),
27
- defineProperty('disabled', () => disabled),
28
- defineProperty('placement', () => placement),
29
- defineProperty('offset', () => offset),
30
- defineProperty('placements', () => placements ?? []),
31
- defineProperty('portal', () => portal)
32
- ],
33
- () => ({ extend })
34
- );
18
+ const bondProps = defineState<PopoverStateProps>([
19
+ defineProperty(
20
+ 'open',
21
+ () => open,
22
+ (v) => {
23
+ open = v;
24
+ }
25
+ ),
26
+ defineProperty('disabled', () => disabled),
27
+ defineProperty('placement', () => placement),
28
+ defineProperty('offset', () => offset),
29
+ defineProperty('placements', () => placements ?? []),
30
+ defineProperty('portal', () => portal),
31
+ defineProperty('extend', () => extend)
32
+ ]);
33
+
35
34
  const bond = factory(bondProps).share();
36
35
 
37
36
  function _factory(props: typeof bondProps) {
@@ -1,47 +1,47 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import { PopoverBond } from './bond.svelte';
4
- import type { PopoverTriggerProps } from './types';
5
-
6
- const bond = PopoverBond.get();
7
-
8
- if (!bond) {
9
- throw new Error('');
10
- }
11
-
12
- let {
13
- class: klass = '',
14
- as = 'button' as E,
15
- preset = 'popover.trigger',
16
- children = undefined,
17
- onmount = undefined,
18
- ondestroy = undefined,
19
- animate = undefined,
20
- enter = undefined,
21
- exit = undefined,
22
- initial = undefined,
23
- ...restProps
24
- }: PopoverTriggerProps<E, B> = $props();
25
-
26
- const triggerProps = $derived({
27
- ...bond.trigger(),
28
- ...restProps
29
- });
30
- </script>
31
-
32
- <HtmlAtom
33
- {as}
34
- {bond}
35
- {preset}
36
- class={['border-border flex w-fit cursor-pointer rounded-md p-2', '$preset', klass]}
37
- onmount={onmount?.bind(bond.state)}
38
- ondestroy={ondestroy?.bind(bond.state)}
39
- animate={animate?.bind(bond.state)}
40
- enter={enter?.bind(bond.state)}
41
- exit={exit?.bind(bond.state)}
42
- initial={initial?.bind(bond.state)}
43
- type={as === 'button' ? 'button' : undefined}
44
- {...triggerProps}
45
- >
46
- {@render children?.({ popover: bond })}
47
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { PopoverBond } from './bond.svelte';
4
+ import type { PopoverTriggerProps } from './types';
5
+
6
+ const bond = PopoverBond.get();
7
+
8
+ if (!bond) {
9
+ throw new Error('');
10
+ }
11
+
12
+ let {
13
+ class: klass = '',
14
+ as = 'button' as E,
15
+ preset = 'popover.trigger',
16
+ children = undefined,
17
+ onmount = undefined,
18
+ ondestroy = undefined,
19
+ animate = undefined,
20
+ enter = undefined,
21
+ exit = undefined,
22
+ initial = undefined,
23
+ ...restProps
24
+ }: PopoverTriggerProps<E, B> = $props();
25
+
26
+ const triggerProps = $derived({
27
+ ...bond.trigger(),
28
+ ...restProps
29
+ });
30
+ </script>
31
+
32
+ <HtmlAtom
33
+ {as}
34
+ {bond}
35
+ {preset}
36
+ class={['border-border flex w-fit cursor-pointer rounded-md p-2', '$preset', klass]}
37
+ onmount={onmount?.bind(bond.state)}
38
+ ondestroy={ondestroy?.bind(bond.state)}
39
+ animate={animate?.bind(bond.state)}
40
+ enter={enter?.bind(bond.state)}
41
+ exit={exit?.bind(bond.state)}
42
+ initial={initial?.bind(bond.state)}
43
+ type={as === 'button' ? 'button' : undefined}
44
+ {...triggerProps}
45
+ >
46
+ {@render children?.({ popover: bond })}
47
+ </HtmlAtom>
@@ -1,67 +1,52 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { Popover as Popover_ } from '.';
4
- import Root from '../root/root.svelte';
5
- import { clickoutPopover } from './attachments.svelte';
6
- import { animate } from 'motion';
7
- import { Button } from '../button';
8
-
9
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
10
- const { Story } = defineMeta({
11
- title: 'Atoms/Popover',
12
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
13
-
14
- parameters: {
15
- // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
16
- layout: 'fullscreen'
17
- },
18
- args: {}
19
- });
20
- </script>
21
-
22
- <script lang="ts">
23
- let open = $state(false);
24
- </script>
25
-
26
- <Story name="Popover" args={{}}>
27
- {#snippet children(args)}
28
- <Root class="overflow-clip p-4">
29
- <Popover_.Root bind:open offset={0} {...args}>
30
- {#snippet children({ popover })}
31
- <!-- {#if dev}
32
- <RenderScan duration={400} />
33
- {/if} -->
34
-
35
- <Popover_.Trigger base={Button} class="items-center gap-4">
36
- <div>Open Popover</div>
37
- <Popover_.Indicator />
38
- </Popover_.Trigger>
39
-
40
- <Popover_.Content
41
- {@attach clickoutPopover((ev, atom) => {
42
- atom.state.close();
43
- })}
44
- class="bg-card"
45
- animate={function (this, node) {
46
- const isOpen = this.isOpen;
47
-
48
- const m = animate(
49
- node,
50
- {
51
- y: (isOpen ? 0 : -1) * 8,
52
- opacity: +isOpen
53
- },
54
- {
55
- duration: 0.1
56
- }
57
- );
58
- }}
59
- >
60
- <div>Hello World !</div>
61
- <Popover_.Arrow />
62
- </Popover_.Content>
63
- {/snippet}
64
- </Popover_.Root>
65
- </Root>
66
- {/snippet}
67
- </Story>
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { Popover as Popover_ } from '.';
4
+ import Root from '../root/root.svelte';
5
+ import { clickoutPopover } from './attachments.svelte';
6
+ import { Button } from '../button';
7
+
8
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
9
+ const { Story } = defineMeta({
10
+ title: 'Atoms/Popover',
11
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
12
+
13
+ parameters: {
14
+ // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
15
+ layout: 'fullscreen'
16
+ },
17
+ args: {}
18
+ });
19
+ </script>
20
+
21
+ <script lang="ts">
22
+ let open = $state(false);
23
+ </script>
24
+
25
+ <Story name="Popover" args={{}}>
26
+ {#snippet children(args)}
27
+ <Root class="overflow-clip p-4">
28
+ <Popover_.Root bind:open offset={0} {...args}>
29
+ {#snippet children({ popover })}
30
+ <!-- {#if dev}
31
+ <RenderScan duration={400} />
32
+ {/if} -->
33
+
34
+ <Popover_.Trigger base={Button} class="items-center gap-4">
35
+ <div>Open Popover</div>
36
+ <Popover_.Indicator />
37
+ </Popover_.Trigger>
38
+
39
+ <Popover_.Content
40
+ {@attach clickoutPopover((ev, atom) => {
41
+ atom.state.close();
42
+ })}
43
+ class="bg-card"
44
+ >
45
+ <div>Hello World !</div>
46
+ <Popover_.Arrow />
47
+ </Popover_.Content>
48
+ {/snippet}
49
+ </Popover_.Root>
50
+ </Root>
51
+ {/snippet}
52
+ </Story>
@@ -1,12 +1,32 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { Placement } from '@floating-ui/dom';
3
3
  import type { Factory } from '../../types';
4
- import type { PopoverBond } from './bond.svelte';
5
4
  import type { Override } from '../../types';
5
+ import type { PopoverBond } from './bond.svelte';
6
6
  import type { Base, HtmlAtomProps } from '../atom';
7
7
  import type { HtmlElementTagName } from '../element';
8
8
  import type { PortalBond } from '../portal';
9
- export type PopoverRootProps = {
9
+ /**
10
+ * Extend this interface to add custom popover root properties in your application.
11
+ */
12
+ export interface PopoverRootExtendProps {
13
+ }
14
+ /**
15
+ * Extend this interface to add custom popover content properties in your application.
16
+ */
17
+ export interface PopoverContentExtendProps {
18
+ }
19
+ /**
20
+ * Extend this interface to add custom popover arrow properties in your application.
21
+ */
22
+ export interface PopoverArrowExtendProps {
23
+ }
24
+ /**
25
+ * Extend this interface to add custom popover trigger properties in your application.
26
+ */
27
+ export interface PopoverTriggerExtendProps {
28
+ }
29
+ export interface PopoverRootProps extends PopoverRootExtendProps {
10
30
  open?: boolean;
11
31
  disabled?: boolean;
12
32
  placements?: Placement[];
@@ -18,22 +38,24 @@ export type PopoverRootProps = {
18
38
  children?: Snippet<[{
19
39
  popover: PopoverBond;
20
40
  }]>;
21
- };
22
- export type AnimateParams = {
41
+ }
42
+ export interface AnimateParams {
23
43
  x: number;
24
44
  y: number;
25
45
  xOffset: number;
26
46
  yOffset: number;
27
47
  open: boolean;
28
- };
29
- export type PopoverContentProps<T extends HtmlElementTagName, B extends Base = Base> = Override<HtmlAtomProps<T, B>, {
48
+ }
49
+ export interface PopoverContentProps<T extends HtmlElementTagName, B extends Base = Base> extends Override<HtmlAtomProps<T, B>, {
30
50
  children?: Snippet<[{
31
51
  popover?: PopoverBond;
32
52
  }]>;
33
- }>;
34
- export type PopoverArrowProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B>;
35
- export type PopoverTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<T, B> & {
53
+ }>, PopoverContentExtendProps {
54
+ }
55
+ export interface PopoverArrowProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, PopoverArrowExtendProps {
56
+ }
57
+ export interface PopoverTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> extends Omit<HtmlAtomProps<T, B>, 'children'>, PopoverTriggerExtendProps {
36
58
  children?: Snippet<[{
37
59
  popover?: PopoverBond;
38
60
  }]>;
39
- };
61
+ }
@@ -1,22 +1,22 @@
1
- <script>
2
- import { PortalsBond } from './portals/bond.svelte';
3
-
4
- let { portal, children = undefined } = $props();
5
-
6
- const portalsBond = PortalsBond.get();
7
- const activePortal = (() => {
8
- if (typeof portal === 'string') {
9
- return portalsBond?.state?.get(portal) ?? undefined;
10
- }
11
-
12
- return portal;
13
- })()?.share();
14
-
15
- if (!portalsBond) {
16
- throw new Error('Portals bond is not found');
17
- }
18
- </script>
19
-
20
- {#if activePortal}
21
- {@render children?.()}
22
- {/if}
1
+ <script>
2
+ import { PortalsBond } from './portals/bond.svelte';
3
+
4
+ let { portal, children = undefined } = $props();
5
+
6
+ const portalsBond = PortalsBond.get();
7
+ const activePortal = (() => {
8
+ if (typeof portal === 'string') {
9
+ return portalsBond?.state?.get(portal) ?? undefined;
10
+ }
11
+
12
+ return portal;
13
+ })()?.share();
14
+
15
+ if (!portalsBond) {
16
+ throw new Error('Portals bond is not found');
17
+ }
18
+ </script>
19
+
20
+ {#if activePortal}
21
+ {@render children?.()}
22
+ {/if}
@@ -1,3 +1,4 @@
1
+ export * from './types';
1
2
  export * as Portal from './atoms';
2
3
  export { PortalBond, PortalState, type PortalStateProps } from './bond.svelte';
3
4
  export { portal } from './attachements.svelte';
@@ -1,3 +1,4 @@
1
+ export * from './types';
1
2
  export * as Portal from './atoms';
2
3
  export { PortalBond, PortalState } from './bond.svelte';
3
4
  export { portal } from './attachements.svelte';
@@ -1,24 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
- import { type ElementType, type Base } from '../atom';
2
+ import { type ElementType, type HtmlAtomProps, type Base } from '../atom';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
- props: Record<string, unknown> & {
5
- [key: string]: unknown;
6
- class?: import("../..").ClassValue | import("../..").ClassValue[];
7
- as?: (string & {}) | E | undefined;
8
- global?: boolean;
9
- initial?: import("..").NodeFunction<E> | undefined;
10
- enter?: import("..").TransitionFunction<E> | undefined;
11
- exit?: import("..").TransitionFunction<E> | undefined;
12
- animate?: import("..").NodeFunction<E> | undefined;
13
- onmount?: import("..").NodeFunction<E> | undefined;
14
- ondestroy?: import("..").NodeFunction<E> | undefined;
15
- children?: import("svelte").Snippet;
16
- } & {
17
- bond?: import("../..").Bond;
18
- base?: B | undefined;
19
- preset?: import("../..").ModuleName | (string & {});
20
- variants?: import("../..").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
21
- } & HTMLAttributes<ElementType<E>>;
4
+ props: HtmlAtomProps<E, B> & HTMLAttributes<ElementType<E>>;
22
5
  exports: {};
23
6
  bindings: "";
24
7
  slots: {};
@@ -1,16 +1,11 @@
1
1
  <script module lang="ts">
2
- export type PortalOuterProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- id: RootPortals | (string & {});
7
- children?: Snippet;
8
- };
2
+ export type { PortalOuterProps } from './types';
9
3
  </script>
10
4
 
11
5
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
12
6
  import type { Snippet } from 'svelte';
13
7
  import type { HTMLAttributes } from 'svelte/elements';
8
+ import type { PortalOuterProps } from './types';
14
9
  import { PortalsBond, PortalBond, PortalState, type PortalStateProps } from '.';
15
10
  import { RootBond } from '../root';
16
11
  import type { RootPortals } from '../root/root.svelte';
@@ -1,31 +1,11 @@
1
- export type PortalOuterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- id: RootPortals | (string & {});
3
- children?: Snippet;
4
- };
1
+ export type { PortalOuterProps } from './types';
5
2
  import type { Snippet } from 'svelte';
6
3
  import type { HTMLAttributes } from 'svelte/elements';
7
4
  import { PortalBond } from '.';
8
5
  import type { RootPortals } from '../root/root.svelte';
9
6
  import { type ElementType, type HtmlAtomProps, type Base } from '../atom';
10
7
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
11
- props: Record<string, unknown> & {
12
- [key: string]: unknown;
13
- class?: import("../../utils").ClassValue | import("../../utils").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("../../utils").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
28
- } & {
8
+ props: HtmlAtomProps<E, B> & import("./types").PortalOuterExtendProps & {
29
9
  id: RootPortals | (string & {});
30
10
  children?: Snippet;
31
11
  } & HTMLAttributes<ElementType<E>>;