@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
@@ -0,0 +1,214 @@
1
+ <script lang="ts">
2
+ import { HtmlAtom } from '../atom';
3
+ import { PopoverBond } from '../popover';
4
+ import { Icon } from '../icon';
5
+ import { DatePickerBond } from './bond.svelte';
6
+ import { getYear, setYear } from 'date-fns';
7
+ import { cn } from '../../utils';
8
+ import { animate } from 'motion';
9
+
10
+ const popover = PopoverBond.get();
11
+ const datePicker = DatePickerBond.get();
12
+ const calendar = datePicker.calendar;
13
+
14
+ const pivote = $derived(datePicker?.state.props.pivote ?? new Date());
15
+
16
+ let yearPivote = $state(pivote.getFullYear());
17
+
18
+ const currentYear = $derived(getYear(pivote));
19
+
20
+ // Generate array of years to display (12 years: current ±5)
21
+ const yearsGrid = $derived.by(() => {
22
+ const years = [];
23
+ const startYear = yearPivote - 5;
24
+ for (let i = 0; i < 12; i++) {
25
+ years.push(startYear + i);
26
+ }
27
+ return years;
28
+ });
29
+
30
+ let { class: klass = '', preset = 'datepicker.years', children, ...restProps } = $props();
31
+
32
+ let scrollTimeout: NodeJS.Timeout | undefined = undefined;
33
+
34
+ function enter(node: HTMLElement) {
35
+ animate(
36
+ node,
37
+ {
38
+ scale: [0.8, 1]
39
+ },
40
+ { duration: 100 / 1000, ease: 'circOut' }
41
+ );
42
+ return {
43
+ duration: 100
44
+ };
45
+ }
46
+
47
+ function exit(node: HTMLElement) {
48
+ animate(
49
+ node,
50
+ {
51
+ scale: 0.8
52
+ },
53
+ { duration: 100 / 1000, ease: 'circOut' }
54
+ );
55
+ return {
56
+ duration: 100
57
+ };
58
+ }
59
+
60
+ function handlePreviousYear() {
61
+ yearPivote = yearPivote - 1;
62
+ }
63
+
64
+ function handleNextYear() {
65
+ yearPivote = yearPivote + 1;
66
+ }
67
+
68
+ function handleYearSelect(year: number) {
69
+ if (!datePicker?.state.props.pivote) return;
70
+ const current = datePicker.state.props.pivote;
71
+ datePicker.state.props.pivote = setYear(current, year);
72
+
73
+ datePicker.state.closeYearsPicker();
74
+ }
75
+
76
+ function handleWheel(event: WheelEvent) {
77
+ event.preventDefault();
78
+
79
+ // Clear any existing timeout
80
+ if (scrollTimeout) {
81
+ clearTimeout(scrollTimeout);
82
+ }
83
+
84
+ // Debounce the scroll event to avoid rapid year changes
85
+ scrollTimeout = setTimeout(() => {
86
+ const direction = event.deltaY > 0 ? 1 : -1; // Positive = scroll down = next year
87
+ yearPivote = yearPivote + direction;
88
+ }, 50);
89
+ }
90
+ </script>
91
+
92
+ {#if datePicker.state.isYearsPickerOpen}
93
+ <HtmlAtom
94
+ class={['absolute inset-0 z-2 flex flex-col gap-2 bg-inherit opacity-0', '$preset', klass]}
95
+ enter={(node) => {
96
+ animate(
97
+ node,
98
+ {
99
+ opacity: [0, 1]
100
+ },
101
+ { duration: 100 / 1000, ease: 'anticipate' }
102
+ );
103
+ return {
104
+ duration: 100
105
+ };
106
+ }}
107
+ exit={(node) => {
108
+ animate(
109
+ node,
110
+ {
111
+ opacity: 0
112
+ },
113
+ { duration: 100 / 1000, ease: 'anticipate' }
114
+ );
115
+ return {
116
+ duration: 100
117
+ };
118
+ }}
119
+ onwheel={handleWheel}
120
+ {preset}
121
+ {...restProps}
122
+ >
123
+ {#if children}
124
+ {@render children?.({
125
+ calendar,
126
+ popover,
127
+ currentYear,
128
+ yearsGrid,
129
+ onPrevious: handlePreviousYear,
130
+ onNext: handleNextYear,
131
+ onYearSelect: handleYearSelect
132
+ })}
133
+ {:else}
134
+ <HtmlAtom class="flex flex-1 flex-col" {enter} {exit}>
135
+ <!-- Navigation Bar -->
136
+ <nav
137
+ class="border-border text-foreground flex h-12 items-center justify-between gap-2 border-b px-2 py-2"
138
+ >
139
+ <!-- Previous Year Button -->
140
+ <button
141
+ type="button"
142
+ class="hover:bg-foreground/10 active:bg-foreground/20 flex size-8 cursor-pointer items-center justify-center rounded-md transition-colors"
143
+ onclick={handlePreviousYear}
144
+ aria-label="Previous year"
145
+ >
146
+ <Icon class="size-5">
147
+ <svg
148
+ xmlns="http://www.w3.org/2000/svg"
149
+ class="size-full"
150
+ viewBox="0 0 24 24"
151
+ fill="none"
152
+ stroke="currentColor"
153
+ stroke-width="2"
154
+ stroke-linecap="round"
155
+ stroke-linejoin="round"
156
+ >
157
+ <path d="M15 18l-6-6 6-6" />
158
+ </svg>
159
+ </Icon>
160
+ </button>
161
+
162
+ <!-- Year Display -->
163
+ <div class="text-foreground flex-1 text-center text-sm font-semibold">
164
+ {currentYear}
165
+ </div>
166
+
167
+ <!-- Next Year Button -->
168
+ <button
169
+ type="button"
170
+ class="hover:bg-foreground/10 active:bg-foreground/20 flex size-8 cursor-pointer items-center justify-center rounded-md transition-colors"
171
+ onclick={handleNextYear}
172
+ aria-label="Next year"
173
+ >
174
+ <Icon class="size-5">
175
+ <svg
176
+ xmlns="http://www.w3.org/2000/svg"
177
+ class="size-full"
178
+ viewBox="0 0 24 24"
179
+ fill="none"
180
+ stroke="currentColor"
181
+ stroke-width="2"
182
+ stroke-linecap="round"
183
+ stroke-linejoin="round"
184
+ >
185
+ <path d="M9 18l6-6-6-6" />
186
+ </svg>
187
+ </Icon>
188
+ </button>
189
+ </nav>
190
+
191
+ <!-- Years Grid -->
192
+ <div class="grid flex-1 grid-cols-4 gap-1 px-2 py-2">
193
+ {#each yearsGrid as year}
194
+ {@const isSelected = year === pivote.getFullYear()}
195
+ {@const isCurrent = year === currentYear}
196
+ <button
197
+ type="button"
198
+ class={cn(
199
+ 'hover:bg-foreground/10 active:bg-foreground/20 rounded-md px-3 py-2 text-sm transition-colors',
200
+ isSelected && 'bg-primary text-primary-foreground hover:bg-primary/90',
201
+ isCurrent && !isSelected && 'ring-foreground/20 ring-1'
202
+ )}
203
+ onclick={() => handleYearSelect(year)}
204
+ aria-label="Select year {year}"
205
+ aria-current={isSelected ? 'date' : undefined}
206
+ >
207
+ {year}
208
+ </button>
209
+ {/each}
210
+ </div>
211
+ </HtmlAtom>
212
+ {/if}
213
+ </HtmlAtom>
214
+ {/if}
@@ -0,0 +1,7 @@
1
+ declare const DatePickerYears: import("svelte").Component<{
2
+ class?: string;
3
+ preset?: string;
4
+ children: any;
5
+ } & Record<string, any>, {}, "">;
6
+ type DatePickerYears = ReturnType<typeof DatePickerYears>;
7
+ export default DatePickerYears;
@@ -0,0 +1,51 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+
4
+ const { Story } = defineMeta({
5
+ title: 'Atoms/Date Picker'
6
+ });
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { Root } from '../root';
11
+ import { DatePicker as ADatePicker } from '.';
12
+ import { Button } from '../button';
13
+ import { addDays, set, subDays } from 'date-fns';
14
+ import { date } from 'zod';
15
+
16
+ let value: Date | undefined = $state(undefined);
17
+ </script>
18
+
19
+ <Story name="Date Picker">
20
+ {#snippet children({ args })}
21
+ <Root>
22
+ {#snippet children({})}
23
+ <div class="flex h-fit items-center justify-center">
24
+ <ADatePicker.Root bind:value min={subDays(new Date(), 5)} max={addDays(new Date(), 15)}>
25
+ <ADatePicker.Trigger base={Button} class="w-sm gap-4">
26
+ {#if value}
27
+ <div>{value.toDateString()}</div>
28
+ {:else}
29
+ <div>Open Date Picker</div>
30
+ {/if}
31
+
32
+ <ADatePicker.Indicator class="ml-auto" />
33
+ </ADatePicker.Trigger>
34
+ <ADatePicker.Calendar>
35
+ <ADatePicker.Header class="col-span-full"></ADatePicker.Header>
36
+ <ADatePicker.WeekDays></ADatePicker.WeekDays>
37
+ <ADatePicker.Body>
38
+ {#snippet children({ day })}
39
+ <ADatePicker.Day {day} class=""></ADatePicker.Day>
40
+ {/snippet}
41
+ </ADatePicker.Body>
42
+
43
+ <ADatePicker.Years></ADatePicker.Years>
44
+ <ADatePicker.Months></ADatePicker.Months>
45
+ </ADatePicker.Calendar>
46
+ </ADatePicker.Root>
47
+ </div>
48
+ {/snippet}
49
+ </Root>
50
+ {/snippet}
51
+ </Story>
@@ -0,0 +1,3 @@
1
+ declare const DatePicker: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type DatePicker = ReturnType<typeof DatePicker>;
3
+ export default DatePicker;
@@ -0,0 +1,3 @@
1
+ export * as DatePicker from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './types';
@@ -0,0 +1,3 @@
1
+ export * as DatePicker from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './types';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,13 +1,7 @@
1
- <script module lang="ts">
2
- export type DialogBodyProps<
3
- E extends keyof HTMLElementTagNameMap,
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B>;
6
- </script>
7
-
8
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import type { DialogBodyProps } from './types';
9
3
  import { DialogBond } from './bond.svelte';
10
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
4
+ import { HtmlAtom, type Base } from '../atom';
11
5
 
12
6
  let {
13
7
  class: klass,
@@ -1,5 +1,5 @@
1
- export type DialogBodyProps<E extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<E, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import type { DialogBodyProps } from './types';
2
+ import { type Base } from '../atom';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
4
  props: DialogBodyProps<E, B>;
5
5
  exports: {};
@@ -1,15 +1,12 @@
1
- <script module lang="ts">
2
- export type DialogCloseButtonProps<
3
- E extends keyof HTMLElementTagNameMap,
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B>;
6
- </script>
7
-
8
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
9
- import { DialogBond } from './bond.svelte';
1
+ <script
2
+ lang="ts"
3
+ generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
4
+ >
10
5
  import { Icon } from '../icon';
11
6
  import Close from '../../icons/icon-close.svelte';
12
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
7
+ import { HtmlAtom, type Base } from '../atom';
8
+ import { DialogBond } from './bond.svelte';
9
+ import type { DialogCloseButtonProps } from './types';
13
10
 
14
11
  const bond = DialogBond.get();
15
12
 
@@ -1,13 +1,13 @@
1
- export type DialogCloseButtonProps<E extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<E, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
3
- declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
1
+ import { type Base } from '../atom';
2
+ import type { DialogCloseButtonProps } from './types';
3
+ declare function $$render<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base>(): {
4
4
  props: DialogCloseButtonProps<E, B>;
5
5
  exports: {};
6
6
  bindings: "";
7
7
  slots: {};
8
8
  events: {};
9
9
  };
10
- declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
10
+ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> {
11
11
  props(): ReturnType<typeof $$render<E, B>>['props'];
12
12
  events(): ReturnType<typeof $$render<E, B>>['events'];
13
13
  slots(): ReturnType<typeof $$render<E, B>>['slots'];
@@ -15,12 +15,12 @@ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B
15
15
  exports(): {};
16
16
  }
17
17
  interface $$IsomorphicComponent {
18
- new <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {
18
+ new <E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {
19
19
  $$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
20
20
  } & ReturnType<__sveltets_Render<E, B>['exports']>;
21
- <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
21
+ <E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
22
22
  z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
23
23
  }
24
24
  declare const DialogCloseButton: $$IsomorphicComponent;
25
- type DialogCloseButton<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof DialogCloseButton<E, B>>;
25
+ type DialogCloseButton<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> = InstanceType<typeof DialogCloseButton<E, B>>;
26
26
  export default DialogCloseButton;
@@ -1,15 +1,9 @@
1
- <script module lang="ts">
2
- export type DialogContentProps<
3
- E extends keyof HTMLElementTagNameMap,
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B>;
6
- </script>
7
-
8
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
9
2
  import { animate as motion } from 'motion';
10
3
  import { DURATION } from '../../shared';
11
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
4
+ import { HtmlAtom, type Base } from '../atom';
12
5
  import { DialogBond } from './bond.svelte';
6
+ import type { DialogContentProps } from './types';
13
7
 
14
8
  const bond = DialogBond.get();
15
9
 
@@ -1,5 +1,5 @@
1
- export type DialogContentProps<E extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<E, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { DialogContentProps } from './types';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
4
  props: DialogContentProps<E, B>;
5
5
  exports: {};
@@ -1,13 +1,7 @@
1
- <script module lang="ts">
2
- export type DialogDescriptionProps<
3
- T extends keyof HTMLElementTagNameMap,
4
- B extends Base = Base
5
- > = HtmlAtomProps<T, B>;
6
- </script>
7
-
8
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import type { DialogDescriptionProps } from './types';
9
4
  import { DialogBond } from './bond.svelte';
10
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
11
5
 
12
6
  let {
13
7
  class: klass = '',
@@ -1,5 +1,5 @@
1
- export type DialogDescriptionProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<T, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { DialogDescriptionProps } from './types';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base>(): {
4
4
  props: DialogDescriptionProps<E, B>;
5
5
  exports: {};
@@ -1,13 +1,7 @@
1
- <script module lang="ts">
2
- export type DialogFooterProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B>;
6
- </script>
7
-
8
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
9
3
  import { DialogBond } from './bond.svelte';
10
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
4
+ import type { DialogFooterProps } from './types';
11
5
 
12
6
  let {
13
7
  class: klass = '',
@@ -1,5 +1,5 @@
1
- export type DialogFooterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { DialogFooterProps } from './types';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
4
  props: DialogFooterProps<E, B>;
5
5
  exports: {};
@@ -1,13 +1,7 @@
1
- <script module lang="ts">
2
- export type DialogHeaderProps<
3
- E extends keyof HTMLElementTagNameMap = 'div',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B>;
6
- </script>
7
-
8
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import type { DialogHeaderProps } from './types';
9
4
  import { DialogBond } from './bond.svelte';
10
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
11
5
 
12
6
  let {
13
7
  class: klass = '',
@@ -1,5 +1,5 @@
1
- export type DialogHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B>;
2
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { DialogHeaderProps } from './types';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
4
  props: DialogHeaderProps<E, B>;
5
5
  exports: {};