@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,57 +1,60 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Root from '../root/root.svelte';
4
- import ButtonCmp from './button.svelte';
5
- import { defineVariants } from '../../utils/variant';
6
-
7
- const { Story } = defineMeta({
8
- title: 'ATOMS/Button'
9
- });
10
- </script>
11
-
12
- <script lang="ts">
13
- const variants = defineVariants((bond) => ({
14
- variants: {
15
- variant: {
16
- primary: {
17
- class: 'bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary/90'
18
- },
19
- secondary: {
20
- class:
21
- 'bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/90'
22
- },
23
- destructive: {
24
- class:
25
- 'bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive/90'
26
- },
27
- outline: {
28
- class:
29
- 'bg-transparent hover:bg-foreground/5 active:bg-foreground/10 border border-border text-foreground'
30
- },
31
- ghost: {
32
- class: 'hover:bg-accent hover:text-accent-foreground'
33
- }
34
- }
35
- },
36
- compounds: [],
37
- defaults: {
38
- variant: 'destructive'
39
- }
40
- }));
41
- </script>
42
-
43
- <Story name="Button">
44
- <Root class="p-4">
45
- {#snippet children({ args })}
46
- <ButtonCmp variant="primary">Clicke me</ButtonCmp>
47
- {/snippet}
48
- </Root>
49
- </Story>
50
-
51
- <Story name="Button - Local Variants">
52
- <Root class="p-4">
53
- {#snippet children({ args })}
54
- <ButtonCmp {variants} {...args}>Clicke me</ButtonCmp>
55
- {/snippet}
56
- </Root>
57
- </Story>
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Root from '../root/root.svelte';
4
+ import ButtonCmp from './button.svelte';
5
+ import { defineVariants } from '../../utils/variant';
6
+
7
+ const { Story } = defineMeta({
8
+ title: 'ATOMS/Button',
9
+ argTypes: {
10
+ variant: {
11
+ control: 'select',
12
+ options: ['primary', 'secondary', 'destructive', 'outline', 'ghost'],
13
+ description: 'Button variant style',
14
+ table: {
15
+ defaultValue: { summary: 'primary' }
16
+ }
17
+ }
18
+ }
19
+ });
20
+ </script>
21
+
22
+ <script lang="ts">
23
+ const variants = defineVariants((bond) => ({
24
+ variants: {
25
+ variant: {
26
+ primary: {
27
+ class: 'bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary/90'
28
+ },
29
+ secondary: {
30
+ class:
31
+ 'bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/90'
32
+ },
33
+ destructive: {
34
+ class:
35
+ 'bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive/90'
36
+ },
37
+ outline: {
38
+ class:
39
+ 'bg-transparent hover:bg-foreground/5 active:bg-foreground/10 border border-border text-foreground'
40
+ },
41
+ ghost: {
42
+ class:
43
+ 'bg-transparent text-foreground hover:bg-foreground/5 active:bg-foreground/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2'
44
+ }
45
+ }
46
+ },
47
+ compounds: [],
48
+ defaults: {
49
+ variant: 'destructive'
50
+ }
51
+ }));
52
+ </script>
53
+
54
+ <Story name="Button">
55
+ {#snippet template(args)}
56
+ <Root class="p-4">
57
+ <ButtonCmp {variants} {...args}>Clicke me</ButtonCmp>
58
+ </Root>
59
+ {/snippet}
60
+ </Story>
@@ -1 +1,2 @@
1
1
  export { default as Button } from './button.svelte';
2
+ export * from './types';
@@ -1 +1,2 @@
1
1
  export { default as Button } from './button.svelte';
2
+ export * from './types';
@@ -1,6 +1,11 @@
1
1
  import type { HtmlAtomProps } from '../atom/types';
2
2
  import type { Snippet } from 'svelte';
3
- export type ButtonProps = HtmlAtomProps<'button'> & {
3
+ /**
4
+ * Extend this interface to add custom button properties in your application.
5
+ */
6
+ export interface ButtonExtendProps {
7
+ }
8
+ export interface ButtonProps extends HtmlAtomProps<'button'>, ButtonExtendProps {
4
9
  type?: 'button' | 'submit' | 'reset';
5
10
  children?: Snippet<[]>;
6
- };
11
+ }
@@ -0,0 +1,5 @@
1
+ export { default as Root } from './calendar-root.svelte';
2
+ export { default as Body } from './calendar-body.svelte';
3
+ export { default as Day } from './calendar-day.svelte';
4
+ export { default as Header } from './calendar-header.svelte';
5
+ export { default as WeekDay } from './calendar-week-day.svelte';
@@ -0,0 +1,5 @@
1
+ export { default as Root } from './calendar-root.svelte';
2
+ export { default as Body } from './calendar-body.svelte';
3
+ export { default as Day } from './calendar-day.svelte';
4
+ export { default as Header } from './calendar-header.svelte';
5
+ export { default as WeekDay } from './calendar-week-day.svelte';
@@ -0,0 +1,72 @@
1
+ import { Bond, BondState, type BondStateProps } from '../../shared/bond.svelte';
2
+ import type { CalendarRange, Day, Month } from './types';
3
+ export type CalendarBondProps = BondStateProps & {
4
+ value?: Date;
5
+ range: CalendarRange;
6
+ start?: Date;
7
+ end?: Date;
8
+ min?: Date;
9
+ max?: Date;
10
+ pivote?: Date;
11
+ disabled?: boolean;
12
+ type?: 'range' | 'single';
13
+ currentMonth?: Month;
14
+ previousMonth?: Month;
15
+ nextMonth?: Month;
16
+ extend?: Record<string, unknown>;
17
+ };
18
+ export type CalendarBondElements = {
19
+ root: HTMLElement;
20
+ body: HTMLElement;
21
+ day: HTMLElement;
22
+ weekDay: HTMLElement;
23
+ header: HTMLElement;
24
+ };
25
+ export declare class CalendarBond<Props extends CalendarBondProps = CalendarBondProps, State extends CalendarBondState<Props> = CalendarBondState<Props>> extends Bond<Props, State, CalendarBondElements> {
26
+ static CONTEXT_KEY: string;
27
+ constructor(s: State);
28
+ share(): this;
29
+ root(): {
30
+ [x: symbol]: (node: HTMLElement) => void;
31
+ id: string;
32
+ 'aria-label': string;
33
+ 'aria-disabled': boolean;
34
+ role: string;
35
+ };
36
+ body(): {
37
+ [x: symbol]: (node: HTMLElement) => void;
38
+ id: string;
39
+ role: string;
40
+ 'aria-labelledby': string;
41
+ };
42
+ day(day: Day): {
43
+ id: string;
44
+ role: string;
45
+ 'aria-selected': boolean;
46
+ 'aria-disabled': boolean;
47
+ tabindex: number;
48
+ };
49
+ weekDay(): {
50
+ id: string;
51
+ role: string;
52
+ };
53
+ header(): {
54
+ [x: symbol]: (node: HTMLElement) => void;
55
+ id: string;
56
+ role: string;
57
+ };
58
+ static get(): CalendarBond | undefined;
59
+ static set(bond: CalendarBond): CalendarBond;
60
+ }
61
+ export declare class CalendarBondState<Props extends CalendarBondProps> extends BondState<Props> {
62
+ constructor(props: () => Props);
63
+ selectDate(date: Date): void;
64
+ selectStart(date: Date): void;
65
+ selectEnd(date: Date): void;
66
+ unselect(): void;
67
+ unselectStart(): void;
68
+ unselectEnd(): void;
69
+ nextMonth(): void;
70
+ previousMonth(): void;
71
+ isDaySelected(day: Day): boolean;
72
+ }
@@ -0,0 +1,132 @@
1
+ import { Bond, BondState } from '../../shared/bond.svelte';
2
+ import { getContext, setContext } from 'svelte';
3
+ import { createAttachmentKey } from 'svelte/attachments';
4
+ export class CalendarBond extends Bond {
5
+ static CONTEXT_KEY = '@atoms/context/calendar';
6
+ constructor(s) {
7
+ super(s);
8
+ }
9
+ share() {
10
+ return CalendarBond.set(this);
11
+ }
12
+ root() {
13
+ return {
14
+ id: `calendar-root-${this.id}`,
15
+ 'aria-label': 'Calendar',
16
+ 'aria-disabled': this.state.props.disabled ?? false,
17
+ role: 'application',
18
+ [createAttachmentKey()]: (node) => {
19
+ this.elements.root = node;
20
+ }
21
+ };
22
+ }
23
+ body() {
24
+ return {
25
+ id: `calendar-month-${this.id}`,
26
+ role: 'grid',
27
+ 'aria-labelledby': `calendar-month-label-${this.id}`,
28
+ [createAttachmentKey()]: (node) => {
29
+ this.elements.body = node;
30
+ }
31
+ };
32
+ }
33
+ day(day) {
34
+ return {
35
+ id: `calendar-day-${this.id}-${day.id}`,
36
+ role: 'gridcell',
37
+ 'aria-selected': this.state.isDaySelected(day),
38
+ 'aria-disabled': day.disabled,
39
+ tabindex: day.disabled ? -1 : 0
40
+ };
41
+ }
42
+ weekDay() {
43
+ return {
44
+ id: `calendar-weekday-${this.id}`,
45
+ role: 'columnheader'
46
+ };
47
+ }
48
+ header() {
49
+ return {
50
+ id: `calendar-weekdays-${this.id}`,
51
+ role: 'row',
52
+ [createAttachmentKey()]: (node) => {
53
+ this.elements.header = node;
54
+ }
55
+ };
56
+ }
57
+ static get() {
58
+ return getContext(this.CONTEXT_KEY);
59
+ }
60
+ static set(bond) {
61
+ return setContext(this.CONTEXT_KEY, bond);
62
+ }
63
+ }
64
+ export class CalendarBondState extends BondState {
65
+ constructor(props) {
66
+ super(props);
67
+ }
68
+ selectDate(date) {
69
+ // if (this.props.range) {
70
+ // } else {
71
+ // this.props.value = date;
72
+ // }
73
+ if (!this.props.start) {
74
+ this.props.range[0] = date;
75
+ }
76
+ else if (!this.props.end) {
77
+ this.props.range[1] = date;
78
+ }
79
+ else {
80
+ this.props.range[0] = date;
81
+ this.props.range[1] = undefined;
82
+ }
83
+ this.props.range = [...this.props.range];
84
+ }
85
+ selectStart(date) {
86
+ this.props.range[0] = date;
87
+ this.props.range = [...this.props.range];
88
+ }
89
+ selectEnd(date) {
90
+ this.props.range[1] = date;
91
+ this.props.range = [...this.props.range];
92
+ }
93
+ unselect() {
94
+ this.props.range = [undefined, undefined];
95
+ this.props.range = [...this.props.range];
96
+ }
97
+ unselectStart() {
98
+ this.props.range[0] = undefined;
99
+ this.props.range = [...this.props.range];
100
+ }
101
+ unselectEnd() {
102
+ this.props.range[1] = undefined;
103
+ this.props.range = [...this.props.range];
104
+ }
105
+ nextMonth() {
106
+ if (this.props.pivote) {
107
+ const current = this.props.pivote;
108
+ this.props.pivote = new Date(current.getFullYear(), current.getMonth() + 1, 1);
109
+ }
110
+ }
111
+ previousMonth() {
112
+ if (this.props.pivote) {
113
+ const current = this.props.pivote;
114
+ this.props.pivote = new Date(current.getFullYear(), current.getMonth() - 1, 1);
115
+ }
116
+ }
117
+ isDaySelected(day) {
118
+ if (this.props.range) {
119
+ const start = this.props.range[0];
120
+ const end = this.props.range[1];
121
+ if (!start)
122
+ return false;
123
+ const dayTime = day.date.getTime();
124
+ const startTime = start.getTime();
125
+ if (!end)
126
+ return dayTime === startTime;
127
+ const endTime = end.getTime();
128
+ return dayTime >= startTime && dayTime <= endTime;
129
+ }
130
+ return this.props.value?.getTime() === day.date.getTime();
131
+ }
132
+ }
@@ -0,0 +1,107 @@
1
+ <script lang="ts">
2
+ import { backInOut } from 'svelte/easing';
3
+ import CalendarDay from './calendar-day.svelte';
4
+ import { CalendarBond } from './bond.svelte';
5
+ import { cn } from '../../utils';
6
+ import { HtmlAtom } from '../atom';
7
+
8
+ const calendarBond = CalendarBond.get();
9
+
10
+ const currentMonth = $derived(calendarBond?.state.props.currentMonth);
11
+
12
+ let {
13
+ class: klass = '',
14
+ weekday,
15
+ preset = 'calendar.body',
16
+ children = undefined,
17
+ ...restProps
18
+ } = $props();
19
+
20
+ const bodyProps = $derived({
21
+ ...calendarBond?.body(),
22
+ ...restProps
23
+ });
24
+
25
+ // const generator = function (pivot: Date, start: Date, end?: Date) {
26
+ // const firstDay = new Date(pivot.getFullYear(), pivot.getMonth(), 1).getDay();
27
+ // const lastMonthDaysCount = monthDays(pivot.getMonth() - 1, pivot.getFullYear());
28
+ // const sample = new Date(
29
+ // pivot.getFullYear(),
30
+ // pivot.getMonth() - 1,
31
+ // lastMonthDaysCount - firstDay
32
+ // );
33
+
34
+ // const array = [];
35
+ // let next = false,
36
+ // prec = false;
37
+
38
+ // for (let index = 0; index < 42; index++) {
39
+ // sample.setDate(sample.getDate() + 1);
40
+
41
+ // prec = pivot.getMonth() > sample.getMonth() || pivot.getFullYear() > sample.getFullYear();
42
+ // next =
43
+ // (pivot.getMonth() < sample.getMonth() && pivot.getFullYear() === sample.getFullYear()) ||
44
+ // (pivot.getMonth() > sample.getMonth() && pivot.getFullYear() < sample.getFullYear());
45
+
46
+ // array.push({
47
+ // id: sample.getTime(),
48
+ // date: sample.getDate(),
49
+ // offmonth: next || prec,
50
+ // next,
51
+ // prec,
52
+ // today: isToday(sample),
53
+ // week: Math.floor(index / 7),
54
+ // month: sample.getMonth(),
55
+ // disabled: false,
56
+ // weekend: sample.getDay() == 0,
57
+ // name: format(sample, 'iiiii'),
58
+ // selected: start?.getTime() === sample.getTime()
59
+ // });
60
+ // }
61
+
62
+ // return array;
63
+ // };
64
+
65
+ // const days = $derived(
66
+ // generator(
67
+ // context_calendar.derived.data.pivote,
68
+ // context_calendar.derived.data.start ?? new Date(),
69
+ // context_calendar.derived.data.end
70
+ // )
71
+ // );
72
+
73
+ function monthDays(month: number, year = 2020) {
74
+ return new Date(year, month + 1, 0).getDate();
75
+ }
76
+
77
+ function scle(node: HTMLElement, { delay = 0, duration = 400, easing = backInOut }) {
78
+ return {
79
+ delay,
80
+ duration,
81
+ easing,
82
+ css: (_, u) => {
83
+ return `transform: scale(${u})`;
84
+ }
85
+ };
86
+ }
87
+ </script>
88
+
89
+ <HtmlAtom
90
+ class={cn('col-span-full grid h-full w-full grid-cols-subgrid', klass)}
91
+ {preset}
92
+ {...bodyProps}
93
+ >
94
+ {#each currentMonth?.days ?? [] as day (day.id)}
95
+ {#if children}
96
+ {@render children?.({ day })}
97
+ {:else}
98
+ <CalendarDay
99
+ {day}
100
+ onclick={() => {
101
+ console.log('day clicked', day.date);
102
+ calendarBond?.state.selectStart(new Date(day.date));
103
+ }}
104
+ />
105
+ {/if}
106
+ {/each}
107
+ </HtmlAtom>
@@ -0,0 +1,8 @@
1
+ declare const CalendarBody: import("svelte").Component<{
2
+ class?: string;
3
+ weekday: any;
4
+ preset?: string;
5
+ children?: any;
6
+ } & Record<string, any>, {}, "">;
7
+ type CalendarBody = ReturnType<typeof CalendarBody>;
8
+ export default CalendarBody;
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ import { isBefore, isSameDay, isWithinInterval } from 'date-fns';
3
+ import { cn } from '../../utils';
4
+ import { CalendarBond } from './bond.svelte';
5
+ import type { CalendarDayProps } from './types';
6
+ import { HtmlAtom } from '../atom';
7
+
8
+ const calendarBond = CalendarBond.get();
9
+
10
+ const selectedDateStart = $derived(calendarBond?.state.props.start);
11
+ const selectedDateEnd = $derived(calendarBond?.state.props.end);
12
+ const isRange = $derived(Array.isArray(calendarBond?.state.props.type === 'range'));
13
+
14
+ let {
15
+ class: klass = '',
16
+ preset = 'calendar.day',
17
+ day,
18
+ as = 'button',
19
+ children = undefined,
20
+ onclick = handleClick,
21
+ ...restProps
22
+ }: CalendarDayProps = $props();
23
+
24
+ const dayProps = $derived({
25
+ ...calendarBond?.day(day),
26
+ ...restProps
27
+ });
28
+
29
+ const isSelected = $derived.by(() => {
30
+ if (selectedDateEnd && selectedDateStart) {
31
+ return isWithinInterval(day.date, { end: selectedDateEnd, start: selectedDateStart });
32
+ }
33
+
34
+ return selectedDateStart && isSameDay(day.date, selectedDateStart);
35
+ });
36
+
37
+ function handleClick() {
38
+ if (isRange) {
39
+ const start = calendarBond?.state.props.start;
40
+ if (!start) {
41
+ calendarBond?.state.selectStart(new Date(day.date));
42
+ return;
43
+ }
44
+
45
+ if (isBefore(new Date(day.date), new Date(start))) {
46
+ calendarBond?.state.selectStart(new Date(day.date));
47
+ return;
48
+ }
49
+
50
+ calendarBond?.state.selectEnd(new Date(day.date));
51
+ } else {
52
+ calendarBond?.state.selectStart(new Date(day.date));
53
+ }
54
+ }
55
+ </script>
56
+
57
+ <HtmlAtom
58
+ {as}
59
+ {preset}
60
+ class={[
61
+ 'calendar-day text-foreground border-border hover:bg-accent hover:text-accent-foreground h-12 cursor-pointer border-b border-l p-1 transition-colors',
62
+ day.offmonth && 'text-muted-foreground bg-muted/30',
63
+ day.weekend && 'bg-muted/50',
64
+ isSelected &&
65
+ 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground',
66
+ isSelected && day.offmonth && 'bg-primary/70',
67
+ day.today && !isSelected && 'border-primary border-2 font-semibold',
68
+ day.disabled && 'pointer-events-none opacity-50',
69
+ klass
70
+ ]}
71
+ data-disabled={day.disabled}
72
+ data-prec={day.fromPreviousMonth}
73
+ data-next={day.fromNextMonth}
74
+ data-offmonth={day.offmonth}
75
+ data-weekend={day.weekend}
76
+ data-today={day.today}
77
+ data-selected={isSelected}
78
+ {onclick}
79
+ {...dayProps}
80
+ >
81
+ {#if children}
82
+ {@render children({
83
+ calendar: calendarBond!
84
+ })}
85
+ {:else}
86
+ <span class="value">{day.dayOfMonth}</span>
87
+ {/if}
88
+ </HtmlAtom>
89
+
90
+ <style>
91
+ :global(.calendar-day):nth-child(7n + 1) {
92
+ border-left: none;
93
+ }
94
+ :global(.calendar-day):nth-last-child(-n + 7) {
95
+ border-bottom: none;
96
+ }
97
+ </style>
@@ -0,0 +1,4 @@
1
+ import type { CalendarDayProps } from './types';
2
+ declare const CalendarDay: import("svelte").Component<CalendarDayProps, {}, "">;
3
+ type CalendarDay = ReturnType<typeof CalendarDay>;
4
+ export default CalendarDay;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils';
3
+ import { HtmlAtom } from '../atom';
4
+ import { CalendarBond } from './bond.svelte';
5
+ import CalendarWeekDay from './calendar-week-day.svelte';
6
+
7
+ const calendarBond = CalendarBond.get();
8
+ const currentMonth = $derived(calendarBond?.state.props.currentMonth);
9
+
10
+ let { class: klass = '', preset = 'calendar.header', children, ...restProps } = $props();
11
+
12
+ const headerProps = $derived({
13
+ ...calendarBond?.header(),
14
+ ...restProps
15
+ });
16
+ </script>
17
+
18
+ <HtmlAtom
19
+ {preset}
20
+ class={cn(
21
+ 'calendar-header border-border col-span-full grid h-fit grid-cols-subgrid border-b',
22
+ klass
23
+ )}
24
+ {...headerProps}
25
+ >
26
+ {#each (currentMonth?.days ?? []).filter((d) => d.week == 1) as day}
27
+ {#if children}
28
+ {@render children?.(day)}
29
+ {:else}
30
+ <CalendarWeekDay isWeekend={day.weekend}>{day.name}</CalendarWeekDay>
31
+ {/if}
32
+ {/each}
33
+ </HtmlAtom>
@@ -0,0 +1,7 @@
1
+ declare const CalendarHeader: import("svelte").Component<{
2
+ class?: string;
3
+ preset?: string;
4
+ children: any;
5
+ } & Record<string, any>, {}, "">;
6
+ type CalendarHeader = ReturnType<typeof CalendarHeader>;
7
+ export default CalendarHeader;