@svelte-atoms/core 1.0.0-alpha.41 → 1.0.0-alpha.44

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 (628) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -197
  3. package/dist/attachments/clickout.svelte.d.ts +4 -1
  4. package/dist/attachments/clickout.svelte.js +2 -1
  5. package/dist/components/accordion/accordion-root.svelte +61 -66
  6. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
  7. package/dist/components/accordion/bond.svelte.d.ts +11 -10
  8. package/dist/components/accordion/bond.svelte.js +26 -16
  9. package/dist/components/accordion/item/accordion-item-body.svelte +3 -1
  10. package/dist/components/accordion/item/accordion-item-header.svelte +1 -1
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
  12. package/dist/components/accordion/item/accordion-item-root.svelte +3 -2
  13. package/dist/components/accordion/item/bond.svelte.d.ts +32 -18
  14. package/dist/components/accordion/item/bond.svelte.js +88 -64
  15. package/dist/components/accordion/item/types.d.ts +4 -24
  16. package/dist/components/accordion/types.d.ts +5 -9
  17. package/dist/components/alert/alert-root.svelte +68 -68
  18. package/dist/components/alert/types.d.ts +12 -46
  19. package/dist/components/atom/html-atom.svelte +84 -95
  20. package/dist/components/atom/html-atom.svelte.d.ts +1 -2
  21. package/dist/components/atom/index.d.ts +1 -0
  22. package/dist/components/atom/index.js +1 -0
  23. package/dist/components/atom/types.d.ts +52 -10
  24. package/dist/components/atom/types.js +1 -1
  25. package/dist/components/atom/utils.d.ts +10 -3
  26. package/dist/components/atom/utils.js +112 -45
  27. package/dist/components/avatar/types.d.ts +1 -6
  28. package/dist/components/badge/index.d.ts +1 -0
  29. package/dist/components/badge/types.d.ts +4 -7
  30. package/dist/components/button/button.svelte +31 -31
  31. package/dist/components/button/types.d.ts +9 -6
  32. package/dist/components/calendar/calendar-body.svelte +0 -1
  33. package/dist/components/calendar/calendar-day.svelte +99 -99
  34. package/dist/components/calendar/calendar-header.svelte +1 -1
  35. package/dist/components/calendar/calendar-root.svelte +206 -206
  36. package/dist/components/calendar/calendar-root.svelte.d.ts +1 -1
  37. package/dist/components/calendar/calendar-week-day.svelte +33 -33
  38. package/dist/components/calendar/types.d.ts +7 -10
  39. package/dist/components/card/card-root.svelte +92 -92
  40. package/dist/components/card/types.d.ts +12 -51
  41. package/dist/components/checkbox/checkbox.svelte +65 -55
  42. package/dist/components/checkbox/checkbox.svelte.d.ts +1 -3
  43. package/dist/components/checkbox/index.d.ts +2 -0
  44. package/dist/components/checkbox/index.js +1 -0
  45. package/dist/components/checkbox/motion.d.ts +17 -0
  46. package/dist/components/checkbox/motion.js +34 -0
  47. package/dist/components/checkbox/types.d.ts +14 -7
  48. package/dist/components/chip/chip-close-button.svelte +33 -0
  49. package/dist/components/chip/chip-close-button.svelte.d.ts +4 -0
  50. package/dist/components/chip/chip.svelte +34 -41
  51. package/dist/components/chip/chip.svelte.d.ts +1 -3
  52. package/dist/components/chip/index.d.ts +2 -0
  53. package/dist/components/chip/index.js +2 -0
  54. package/dist/components/chip/types.d.ts +15 -8
  55. package/dist/components/collapsible/bond.svelte.d.ts +34 -24
  56. package/dist/components/collapsible/bond.svelte.js +73 -60
  57. package/dist/components/collapsible/collapsible-body.svelte +1 -1
  58. package/dist/components/collapsible/collapsible-header.svelte +1 -1
  59. package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
  60. package/dist/components/collapsible/collapsible-root.svelte +67 -67
  61. package/dist/components/collapsible/types.d.ts +10 -22
  62. package/dist/components/combobox/bond.svelte.d.ts +13 -8
  63. package/dist/components/combobox/bond.svelte.js +30 -20
  64. package/dist/components/combobox/combobox-control.svelte +66 -66
  65. package/dist/components/combobox/combobox-item.svelte +62 -62
  66. package/dist/components/combobox/combobox-root.svelte +65 -65
  67. package/dist/components/combobox/combobox-root.svelte.d.ts +2 -2
  68. package/dist/components/combobox/combobox-selections.svelte +17 -17
  69. package/dist/components/combobox/combobox-trigger.svelte +34 -34
  70. package/dist/components/combobox/types.d.ts +6 -10
  71. package/dist/components/container/index.d.ts +1 -0
  72. package/dist/components/container/types.d.ts +6 -12
  73. package/dist/components/context-menu/atoms.d.ts +4 -0
  74. package/dist/components/context-menu/atoms.js +4 -0
  75. package/dist/components/context-menu/context-menu-content.svelte +52 -0
  76. package/dist/components/context-menu/context-menu-content.svelte.d.ts +27 -0
  77. package/dist/components/context-menu/context-menu-root.svelte +8 -0
  78. package/dist/components/context-menu/context-menu-root.svelte.d.ts +4 -0
  79. package/dist/components/context-menu/context-menu-trigger.svelte +59 -0
  80. package/dist/components/context-menu/context-menu-trigger.svelte.d.ts +27 -0
  81. package/dist/components/context-menu/index.d.ts +2 -0
  82. package/dist/components/context-menu/index.js +2 -0
  83. package/dist/components/{contextmenu → context-menu}/types.d.ts +1 -6
  84. package/dist/components/datagrid/atoms.d.ts +11 -5
  85. package/dist/components/datagrid/atoms.js +11 -5
  86. package/dist/components/datagrid/bond.svelte.d.ts +29 -14
  87. package/dist/components/datagrid/bond.svelte.js +45 -33
  88. package/dist/components/datagrid/cell/bond.svelte.d.ts +29 -0
  89. package/dist/components/datagrid/cell/bond.svelte.js +42 -0
  90. package/dist/components/datagrid/cell/datagrid-cell.svelte +49 -0
  91. package/dist/components/datagrid/cell/datagrid-cell.svelte.d.ts +26 -0
  92. package/dist/components/datagrid/cell/index.d.ts +4 -0
  93. package/dist/components/datagrid/cell/index.js +4 -0
  94. package/dist/components/datagrid/col/index.d.ts +4 -0
  95. package/dist/components/datagrid/col/index.js +4 -0
  96. package/dist/components/datagrid/column/bond.svelte.d.ts +45 -0
  97. package/dist/components/datagrid/column/bond.svelte.js +76 -0
  98. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte → column/datagrid-column-sort-icon.svelte} +3 -3
  99. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte.d.ts → column/datagrid-column-sort-icon.svelte.d.ts} +3 -3
  100. package/dist/components/datagrid/{th/datagrid-th.svelte → column/datagrid-column.svelte} +27 -36
  101. package/dist/components/datagrid/column/datagrid-column.svelte.d.ts +26 -0
  102. package/dist/components/datagrid/column/index.d.ts +4 -0
  103. package/dist/components/datagrid/column/index.js +4 -0
  104. package/dist/components/datagrid/context.d.ts +2 -29
  105. package/dist/components/datagrid/context.js +4 -18
  106. package/dist/components/datagrid/datagrid-body.svelte +7 -20
  107. package/dist/components/datagrid/datagrid-body.svelte.d.ts +8 -15
  108. package/dist/components/datagrid/datagrid-checkbox.svelte +60 -63
  109. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +1 -3
  110. package/dist/components/datagrid/datagrid-footer.svelte +27 -34
  111. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +12 -12
  112. package/dist/components/datagrid/datagrid-header.svelte +10 -17
  113. package/dist/components/datagrid/datagrid-header.svelte.d.ts +12 -12
  114. package/dist/components/datagrid/datagrid-root.svelte +49 -59
  115. package/dist/components/datagrid/datagrid-root.svelte.d.ts +15 -14
  116. package/dist/components/datagrid/row/bond.svelte.d.ts +42 -0
  117. package/dist/components/datagrid/row/bond.svelte.js +72 -0
  118. package/dist/components/datagrid/{tr/datagrid-tr.css → row/datagrid-row.css} +1 -1
  119. package/dist/components/datagrid/row/datagrid-row.svelte +64 -0
  120. package/dist/components/datagrid/row/datagrid-row.svelte.d.ts +27 -0
  121. package/dist/components/datagrid/row/index.d.ts +4 -0
  122. package/dist/components/datagrid/row/index.js +4 -0
  123. package/dist/components/datagrid/types.d.ts +56 -116
  124. package/dist/components/date-picker/bond.svelte.d.ts +0 -12
  125. package/dist/components/date-picker/date-picker-calendar.svelte +58 -58
  126. package/dist/components/date-picker/date-picker-months.svelte +1 -1
  127. package/dist/components/date-picker/date-picker-root.svelte +96 -96
  128. package/dist/components/date-picker/date-picker-root.svelte.d.ts +1 -1
  129. package/dist/components/date-picker/date-picker-years.svelte +1 -1
  130. package/dist/components/date-picker/types.d.ts +6 -3
  131. package/dist/components/dialog/atoms.d.ts +1 -1
  132. package/dist/components/dialog/atoms.js +1 -1
  133. package/dist/components/dialog/bond.svelte.d.ts +66 -28
  134. package/dist/components/dialog/bond.svelte.js +136 -117
  135. package/dist/components/dialog/dialog-body.svelte +1 -1
  136. package/dist/components/dialog/dialog-close.svelte +58 -0
  137. package/dist/components/dialog/dialog-close.svelte.d.ts +26 -0
  138. package/dist/components/dialog/dialog-content.svelte +2 -2
  139. package/dist/components/dialog/dialog-description.svelte +1 -1
  140. package/dist/components/dialog/dialog-footer.svelte +1 -1
  141. package/dist/components/dialog/dialog-header.svelte +1 -1
  142. package/dist/components/dialog/dialog-root.svelte +102 -82
  143. package/dist/components/dialog/dialog-title.svelte +1 -1
  144. package/dist/components/dialog/motion.svelte.js +68 -26
  145. package/dist/components/dialog/types.d.ts +16 -51
  146. package/dist/components/divider/types.d.ts +1 -6
  147. package/dist/components/drawer/bond.svelte.d.ts +61 -36
  148. package/dist/components/drawer/bond.svelte.js +149 -121
  149. package/dist/components/drawer/drawer-backdrop.svelte +2 -1
  150. package/dist/components/drawer/drawer-body.svelte +1 -1
  151. package/dist/components/drawer/drawer-content.svelte +5 -5
  152. package/dist/components/drawer/drawer-content.svelte.d.ts +4 -1
  153. package/dist/components/drawer/drawer-description.svelte +1 -1
  154. package/dist/components/drawer/drawer-footer.svelte +1 -1
  155. package/dist/components/drawer/drawer-header.svelte +1 -1
  156. package/dist/components/drawer/drawer-root.svelte +96 -87
  157. package/dist/components/drawer/drawer-title.svelte +1 -1
  158. package/dist/components/drawer/motion.d.ts +59 -5
  159. package/dist/components/drawer/motion.js +133 -15
  160. package/dist/components/drawer/types.d.ts +15 -24
  161. package/dist/components/dropdown/atoms.d.ts +4 -8
  162. package/dist/components/dropdown/atoms.js +4 -9
  163. package/dist/components/dropdown/bond.svelte.d.ts +4 -53
  164. package/dist/components/dropdown/bond.svelte.js +4 -89
  165. package/dist/components/dropdown/dropdown-query.svelte +43 -43
  166. package/dist/components/dropdown/dropdown-root.svelte +79 -79
  167. package/dist/components/dropdown/dropdown-root.svelte.d.ts +4 -4
  168. package/dist/components/dropdown/dropdown-selection.svelte +55 -55
  169. package/dist/components/dropdown/dropdown-selections.svelte +70 -70
  170. package/dist/components/dropdown/dropdown-trigger.svelte +30 -30
  171. package/dist/components/dropdown/index.d.ts +43 -7
  172. package/dist/components/dropdown/index.js +34 -6
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +36 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +85 -0
  175. package/dist/components/dropdown/item/controller.svelte.d.ts +1 -1
  176. package/dist/components/dropdown/item/dropdown-item.svelte +81 -107
  177. package/dist/components/dropdown/item/index.d.ts +11 -3
  178. package/dist/components/dropdown/item/index.js +10 -3
  179. package/dist/components/dropdown/types.d.ts +2 -67
  180. package/dist/components/dropdown-menu/atoms.d.ts +9 -0
  181. package/dist/components/dropdown-menu/atoms.js +9 -0
  182. package/dist/components/dropdown-menu/attachments.svelte.d.ts +2 -0
  183. package/dist/components/dropdown-menu/attachments.svelte.js +5 -0
  184. package/dist/components/dropdown-menu/bond.svelte.d.ts +72 -0
  185. package/dist/components/dropdown-menu/bond.svelte.js +173 -0
  186. package/dist/components/dropdown-menu/dropdown-menu-content.svelte +40 -0
  187. package/dist/components/dropdown-menu/dropdown-menu-content.svelte.d.ts +37 -0
  188. package/dist/components/dropdown-menu/dropdown-menu-root.svelte +14 -0
  189. package/dist/components/dropdown-menu/dropdown-menu-root.svelte.d.ts +4 -0
  190. package/dist/components/dropdown-menu/index.d.ts +7 -0
  191. package/dist/components/dropdown-menu/index.js +6 -0
  192. package/dist/components/dropdown-menu/item/bond.svelte.d.ts +26 -0
  193. package/dist/components/dropdown-menu/item/bond.svelte.js +54 -0
  194. package/dist/components/dropdown-menu/item/controller.svelte.d.ts +39 -0
  195. package/dist/components/dropdown-menu/item/controller.svelte.js +73 -0
  196. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte +75 -0
  197. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte.d.ts +32 -0
  198. package/dist/components/dropdown-menu/item/index.d.ts +3 -0
  199. package/dist/components/dropdown-menu/item/index.js +3 -0
  200. package/dist/components/dropdown-menu/item/types.d.ts +57 -0
  201. package/dist/components/dropdown-menu/item/types.js +1 -0
  202. package/dist/components/dropdown-menu/types.d.ts +3 -0
  203. package/dist/components/dropdown-menu/types.js +1 -0
  204. package/dist/components/element/html-element.svelte +114 -85
  205. package/dist/components/element/html-element.svelte.d.ts +1 -1
  206. package/dist/components/element/svg-element.svelte +88 -88
  207. package/dist/components/element/types.d.ts +32 -20
  208. package/dist/components/form/field/atoms.d.ts +1 -1
  209. package/dist/components/form/field/atoms.js +1 -1
  210. package/dist/components/form/field/bond.svelte.js +0 -6
  211. package/dist/components/form/field/field-control.svelte +30 -9
  212. package/dist/components/form/field/field-control.svelte.d.ts +12 -22
  213. package/dist/components/form/field/field-helper-text.svelte +23 -0
  214. package/dist/components/form/field/field-helper-text.svelte.d.ts +26 -0
  215. package/dist/components/form/field/field-label.svelte +5 -7
  216. package/dist/components/form/field/field-label.svelte.d.ts +2 -2
  217. package/dist/components/form/field/field-root.svelte +17 -8
  218. package/dist/components/form/form-root.svelte +66 -66
  219. package/dist/components/form/types.d.ts +34 -58
  220. package/dist/components/icon/icon.svelte +40 -40
  221. package/dist/components/icon/types.d.ts +4 -7
  222. package/dist/components/image/index.d.ts +2 -0
  223. package/dist/components/image/index.js +2 -1
  224. package/dist/components/index.d.ts +11 -0
  225. package/dist/components/index.js +11 -0
  226. package/dist/components/input/atoms.d.ts +19 -1
  227. package/dist/components/input/atoms.js +19 -1
  228. package/dist/components/input/color/color-control.svelte +197 -0
  229. package/dist/components/input/color/color-control.svelte.d.ts +4 -0
  230. package/dist/components/input/color/index.d.ts +5 -0
  231. package/dist/components/input/color/index.js +5 -0
  232. package/dist/components/input/color/segment.svelte +240 -0
  233. package/dist/components/input/color/segment.svelte.d.ts +6 -0
  234. package/dist/components/input/color/shared.d.ts +23 -0
  235. package/dist/components/input/color/shared.js +349 -0
  236. package/dist/components/input/color/swatch.svelte +23 -0
  237. package/dist/components/input/color/swatch.svelte.d.ts +8 -0
  238. package/dist/components/input/color/types.d.ts +56 -0
  239. package/dist/components/input/color/types.js +2 -0
  240. package/dist/components/input/index.d.ts +1 -0
  241. package/dist/components/input/index.js +1 -0
  242. package/dist/components/input/input-control.svelte +3 -1
  243. package/dist/components/input/input-currency-control.svelte +189 -0
  244. package/dist/components/input/input-currency-control.svelte.d.ts +4 -0
  245. package/dist/components/input/input-email-control.svelte +128 -0
  246. package/dist/components/input/input-email-control.svelte.d.ts +4 -0
  247. package/dist/components/input/input-file-control.svelte +127 -0
  248. package/dist/components/input/input-file-control.svelte.d.ts +4 -0
  249. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  250. package/dist/components/input/input-location.svelte +335 -0
  251. package/dist/components/input/input-location.svelte.d.ts +4 -0
  252. package/dist/components/input/input-number-control.svelte +114 -0
  253. package/dist/components/input/input-number-control.svelte.d.ts +6 -0
  254. package/dist/components/input/input-otp-control.svelte +206 -0
  255. package/dist/components/input/input-otp-control.svelte.d.ts +4 -0
  256. package/dist/components/input/input-password-control.svelte +91 -0
  257. package/dist/components/input/input-password-control.svelte.d.ts +3 -0
  258. package/dist/components/input/input-phone-control.svelte +394 -0
  259. package/dist/components/input/input-phone-control.svelte.d.ts +4 -0
  260. package/dist/components/input/input-placeholder.svelte.d.ts +1 -1
  261. package/dist/components/input/input-root.svelte +74 -74
  262. package/dist/components/input/input-text-control.svelte +59 -0
  263. package/dist/components/input/input-text-control.svelte.d.ts +4 -0
  264. package/dist/components/input/input-url-control.svelte +218 -0
  265. package/dist/components/input/input-url-control.svelte.d.ts +4 -0
  266. package/dist/components/input/time/datetime-control.svelte +281 -0
  267. package/dist/components/input/time/datetime-control.svelte.d.ts +5 -0
  268. package/dist/components/input/time/index.d.ts +6 -0
  269. package/dist/components/input/time/index.js +6 -0
  270. package/dist/components/input/time/segment.svelte +143 -0
  271. package/dist/components/input/time/segment.svelte.d.ts +6 -0
  272. package/dist/components/input/time/shared.d.ts +29 -0
  273. package/dist/components/input/time/shared.js +150 -0
  274. package/dist/components/input/time/time-control.svelte +237 -0
  275. package/dist/components/input/time/time-control.svelte.d.ts +3 -0
  276. package/dist/components/input/time/types.d.ts +34 -0
  277. package/dist/components/input/time/types.js +4 -0
  278. package/dist/components/input/types.d.ts +355 -17
  279. package/dist/components/label/types.d.ts +4 -7
  280. package/dist/components/layer/bond.svelte.d.ts +2 -2
  281. package/dist/components/layer/bond.svelte.js +1 -1
  282. package/dist/components/layer/index.d.ts +1 -0
  283. package/dist/components/layer/layer-inner.svelte.d.ts +1 -1
  284. package/dist/components/layer/layer-root.svelte +65 -65
  285. package/dist/components/layer/layer-root.svelte.d.ts +1 -1
  286. package/dist/components/layer/types.d.ts +6 -6
  287. package/dist/components/lazy/index.d.ts +1 -0
  288. package/dist/components/lazy/lazy.svelte +29 -29
  289. package/dist/components/lazy/types.d.ts +4 -4
  290. package/dist/components/link/index.d.ts +1 -0
  291. package/dist/components/link/types.d.ts +5 -6
  292. package/dist/components/list/index.d.ts +1 -0
  293. package/dist/components/list/types.d.ts +5 -6
  294. package/dist/components/menu/atoms.d.ts +2 -7
  295. package/dist/components/menu/atoms.js +2 -7
  296. package/dist/components/menu/bond.svelte.d.ts +9 -23
  297. package/dist/components/menu/bond.svelte.js +6 -0
  298. package/dist/components/menu/index.d.ts +40 -4
  299. package/dist/components/menu/index.js +26 -3
  300. package/dist/components/menu/item/bond.svelte.d.ts +27 -0
  301. package/dist/components/menu/item/bond.svelte.js +54 -0
  302. package/dist/components/menu/item/controller.svelte.d.ts +1 -1
  303. package/dist/components/menu/item/index.d.ts +5 -2
  304. package/dist/components/menu/item/index.js +4 -2
  305. package/dist/components/menu/item/menu-item.svelte +87 -103
  306. package/dist/components/menu/item/menu-item.svelte.d.ts +15 -14
  307. package/dist/components/menu/item/types.d.ts +5 -12
  308. package/dist/components/menu/menu-content.svelte +40 -40
  309. package/dist/components/menu/menu-root.svelte +15 -15
  310. package/dist/components/menu/menu-root.svelte.d.ts +1 -1
  311. package/dist/components/menu/types.d.ts +2 -6
  312. package/dist/components/popover/bond.svelte.d.ts +67 -39
  313. package/dist/components/popover/bond.svelte.js +159 -197
  314. package/dist/components/popover/index.d.ts +3 -1
  315. package/dist/components/popover/index.js +3 -1
  316. package/dist/components/popover/motion.d.ts +29 -1
  317. package/dist/components/popover/motion.js +128 -50
  318. package/dist/components/popover/popover-arrow.svelte +97 -110
  319. package/dist/components/popover/popover-arrow.svelte.d.ts +1 -2
  320. package/dist/components/popover/popover-content.svelte +159 -123
  321. package/dist/components/popover/popover-engine.svelte +118 -0
  322. package/dist/components/popover/popover-engine.svelte.d.ts +3 -0
  323. package/dist/components/popover/popover-indicator.svelte +2 -13
  324. package/dist/components/popover/popover-indicator.svelte.d.ts +0 -6
  325. package/dist/components/popover/popover-root.svelte +87 -49
  326. package/dist/components/popover/popover-root.svelte.d.ts +2 -1
  327. package/dist/components/popover/popover-trigger.svelte +35 -35
  328. package/dist/components/popover/strategies/floating.svelte +109 -0
  329. package/dist/components/popover/strategies/floating.svelte.d.ts +3 -0
  330. package/dist/components/popover/strategies/index.d.ts +1 -0
  331. package/dist/components/popover/strategies/index.js +1 -0
  332. package/dist/components/popover/strategy-types.d.ts +40 -0
  333. package/dist/components/popover/strategy-types.js +1 -0
  334. package/dist/components/popover/types.d.ts +10 -36
  335. package/dist/components/portal/active-portal.svelte +5 -4
  336. package/dist/components/portal/bond.svelte.d.ts +12 -8
  337. package/dist/components/portal/bond.svelte.js +25 -27
  338. package/dist/components/portal/index.d.ts +1 -0
  339. package/dist/components/portal/index.js +1 -0
  340. package/dist/components/portal/portal-inner.svelte +1 -1
  341. package/dist/components/portal/portal-inner.svelte.d.ts +1 -1
  342. package/dist/components/portal/portal-root.svelte +76 -76
  343. package/dist/components/portal/portal-root.svelte.d.ts +1 -1
  344. package/dist/components/portal/portals/bond.svelte.d.ts +2 -2
  345. package/dist/components/portal/portals/bond.svelte.js +2 -2
  346. package/dist/components/portal/teleport.svelte +47 -49
  347. package/dist/components/portal/teleport.svelte.d.ts +1 -2
  348. package/dist/components/portal/types.d.ts +7 -25
  349. package/dist/components/portal/utils.js +3 -3
  350. package/dist/components/portal/zlayer.svelte.d.ts +16 -0
  351. package/dist/components/portal/zlayer.svelte.js +25 -0
  352. package/dist/components/radio/index.d.ts +2 -0
  353. package/dist/components/radio/index.js +1 -0
  354. package/dist/components/radio/motion.d.ts +24 -0
  355. package/dist/components/radio/motion.js +59 -0
  356. package/dist/components/radio/radio.svelte +22 -12
  357. package/dist/components/radio/types.d.ts +5 -14
  358. package/dist/components/root/bond.svelte.d.ts +2 -2
  359. package/dist/components/root/bond.svelte.js +1 -1
  360. package/dist/components/root/root.svelte +82 -92
  361. package/dist/components/root/root.svelte.d.ts +2 -2
  362. package/dist/components/root/types.d.ts +4 -15
  363. package/dist/components/scrollable/atoms.d.ts +1 -0
  364. package/dist/components/scrollable/atoms.js +1 -0
  365. package/dist/components/scrollable/bond.svelte.d.ts +73 -189
  366. package/dist/components/scrollable/bond.svelte.js +195 -371
  367. package/dist/components/scrollable/scrollable-container.css +22 -22
  368. package/dist/components/scrollable/scrollable-container.svelte +66 -61
  369. package/dist/components/scrollable/scrollable-container.svelte.d.ts +12 -12
  370. package/dist/components/scrollable/scrollable-content.svelte +22 -17
  371. package/dist/components/scrollable/scrollable-content.svelte.d.ts +12 -12
  372. package/dist/components/scrollable/scrollable-root.svelte +106 -101
  373. package/dist/components/scrollable/scrollable-root.svelte.d.ts +12 -12
  374. package/dist/components/scrollable/scrollable-thumb.svelte +21 -45
  375. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +12 -12
  376. package/dist/components/scrollable/scrollable-track.svelte +21 -22
  377. package/dist/components/scrollable/scrollable-track.svelte.d.ts +12 -12
  378. package/dist/components/scrollable/types.d.ts +15 -38
  379. package/dist/components/select/atoms.d.ts +8 -0
  380. package/dist/components/select/atoms.js +8 -0
  381. package/dist/components/select/attachments.svelte.d.ts +2 -0
  382. package/dist/components/select/attachments.svelte.js +5 -0
  383. package/dist/components/select/bond.svelte.d.ts +56 -0
  384. package/dist/components/select/bond.svelte.js +112 -0
  385. package/dist/components/select/index.d.ts +11 -0
  386. package/dist/components/select/index.js +10 -0
  387. package/dist/components/select/item/attachments.svelte.d.ts +3 -0
  388. package/dist/components/select/item/attachments.svelte.js +6 -0
  389. package/dist/components/select/item/bond.svelte.d.ts +33 -0
  390. package/dist/components/select/item/bond.svelte.js +77 -0
  391. package/dist/components/select/item/controller.svelte.d.ts +39 -0
  392. package/dist/components/select/item/controller.svelte.js +105 -0
  393. package/dist/components/select/item/index.d.ts +5 -0
  394. package/dist/components/select/item/index.js +5 -0
  395. package/dist/components/select/item/select-item.svelte +81 -0
  396. package/dist/components/select/item/select-item.svelte.d.ts +25 -0
  397. package/dist/components/select/item/types.d.ts +29 -0
  398. package/dist/components/select/item/types.js +1 -0
  399. package/dist/components/select/runes.svelte.d.ts +10 -0
  400. package/dist/components/select/runes.svelte.js +15 -0
  401. package/dist/components/select/select-placeholder.svelte +40 -0
  402. package/dist/components/select/select-placeholder.svelte.d.ts +34 -0
  403. package/dist/components/select/select-root.svelte +80 -0
  404. package/dist/components/select/select-root.svelte.d.ts +30 -0
  405. package/dist/components/select/select-selection.svelte +55 -0
  406. package/dist/components/select/select-selection.svelte.d.ts +26 -0
  407. package/dist/components/select/select-selections.svelte +70 -0
  408. package/dist/components/select/select-selections.svelte.d.ts +5 -0
  409. package/dist/components/select/select-trigger.svelte +30 -0
  410. package/dist/components/select/select-trigger.svelte.d.ts +26 -0
  411. package/dist/components/select/types.d.ts +61 -0
  412. package/dist/components/select/types.js +1 -0
  413. package/dist/components/sidebar/bond.svelte.d.ts +10 -7
  414. package/dist/components/sidebar/bond.svelte.js +20 -15
  415. package/dist/components/sidebar/sidebar-content.svelte +1 -1
  416. package/dist/components/sidebar/sidebar-root.svelte +50 -41
  417. package/dist/components/sidebar/types.d.ts +10 -15
  418. package/dist/components/slider/index.d.ts +2 -0
  419. package/dist/components/slider/index.js +2 -0
  420. package/dist/components/slider/slider.svelte +164 -0
  421. package/dist/components/slider/slider.svelte.d.ts +6 -0
  422. package/dist/components/slider/types.d.ts +78 -0
  423. package/dist/components/slider/types.js +1 -0
  424. package/dist/components/stack/bond.svelte.d.ts +50 -0
  425. package/dist/components/stack/bond.svelte.js +174 -0
  426. package/dist/components/stack/index.d.ts +2 -0
  427. package/dist/components/stack/index.js +2 -0
  428. package/dist/components/stack/stack-item.svelte +40 -4
  429. package/dist/components/stack/stack-item.svelte.d.ts +6 -5
  430. package/dist/components/stack/stack-root.svelte +33 -4
  431. package/dist/components/stack/stack-root.svelte.d.ts +14 -5
  432. package/dist/components/stack/types.d.ts +11 -10
  433. package/dist/components/stepper/bond.svelte.d.ts +8 -7
  434. package/dist/components/stepper/bond.svelte.js +14 -11
  435. package/dist/components/stepper/step/README.md +97 -97
  436. package/dist/components/stepper/step/bond.svelte.d.ts +74 -63
  437. package/dist/components/stepper/step/bond.svelte.js +105 -69
  438. package/dist/components/stepper/step/step-body.svelte +39 -39
  439. package/dist/components/stepper/step/step-description.svelte +33 -33
  440. package/dist/components/stepper/step/step-header.svelte +34 -34
  441. package/dist/components/stepper/step/step-indicator.svelte +62 -62
  442. package/dist/components/stepper/step/step-root.svelte +42 -42
  443. package/dist/components/stepper/step/step-separator.svelte +48 -48
  444. package/dist/components/stepper/step/step-title.svelte +33 -33
  445. package/dist/components/stepper/step/types.d.ts +13 -57
  446. package/dist/components/stepper/stepper-body.svelte +31 -43
  447. package/dist/components/stepper/stepper-content.svelte +45 -45
  448. package/dist/components/stepper/stepper-footer.svelte +31 -31
  449. package/dist/components/stepper/stepper-header.svelte +27 -39
  450. package/dist/components/stepper/stepper-root.svelte +55 -61
  451. package/dist/components/stepper/types.d.ts +10 -36
  452. package/dist/components/swatch/index.d.ts +1 -0
  453. package/dist/components/swatch/index.js +1 -0
  454. package/dist/components/swatch/swatch.svelte +57 -0
  455. package/dist/components/swatch/swatch.svelte.d.ts +9 -0
  456. package/dist/components/switch/index.d.ts +2 -0
  457. package/dist/components/switch/index.js +2 -0
  458. package/dist/components/switch/switch.svelte +76 -0
  459. package/dist/components/switch/switch.svelte.d.ts +6 -0
  460. package/dist/components/switch/types.d.ts +43 -0
  461. package/dist/components/switch/types.js +1 -0
  462. package/dist/components/tabs/bond.svelte.d.ts +38 -19
  463. package/dist/components/tabs/bond.svelte.js +53 -46
  464. package/dist/components/tabs/tab/attachments.svelte.d.ts +5 -2
  465. package/dist/components/tabs/tab/attachments.svelte.js +4 -3
  466. package/dist/components/tabs/tab/bond.svelte.d.ts +35 -23
  467. package/dist/components/tabs/tab/bond.svelte.js +81 -56
  468. package/dist/components/tabs/tab/tab-body.svelte +61 -43
  469. package/dist/components/tabs/tab/tab-description.svelte +33 -33
  470. package/dist/components/tabs/tab/tab-header.svelte +61 -61
  471. package/dist/components/tabs/tab/tab-root.svelte +49 -50
  472. package/dist/components/tabs/tab/tab-root.svelte.d.ts +13 -35
  473. package/dist/components/tabs/tabs-body.svelte +39 -35
  474. package/dist/components/tabs/tabs-body.svelte.d.ts +1 -1
  475. package/dist/components/tabs/tabs-content.svelte +32 -51
  476. package/dist/components/tabs/tabs-header.svelte +32 -32
  477. package/dist/components/tabs/tabs-root.svelte +56 -56
  478. package/dist/components/tabs/types.d.ts +20 -37
  479. package/dist/components/textarea/types.d.ts +6 -12
  480. package/dist/components/toast/atoms.d.ts +1 -0
  481. package/dist/components/toast/atoms.js +1 -0
  482. package/dist/components/toast/index.d.ts +1 -0
  483. package/dist/components/toast/index.js +1 -0
  484. package/dist/components/toast/manager.svelte.d.ts +38 -0
  485. package/dist/components/toast/manager.svelte.js +82 -0
  486. package/dist/components/toast/toast-description.svelte.d.ts +1 -1
  487. package/dist/components/toast/toast-root-managed.svelte +64 -0
  488. package/dist/components/toast/toast-root-managed.svelte.d.ts +7 -0
  489. package/dist/components/toast/toast-root.svelte.d.ts +1 -1
  490. package/dist/components/toast/toast-title.svelte.d.ts +1 -1
  491. package/dist/components/toast/toast-toaster.svelte +42 -0
  492. package/dist/components/toast/toast-toaster.svelte.d.ts +4 -0
  493. package/dist/components/toast/types.d.ts +22 -31
  494. package/dist/components/tooltip/index.d.ts +1 -0
  495. package/dist/components/tooltip/tooltip-trigger.svelte +39 -39
  496. package/dist/components/tooltip/types.d.ts +5 -8
  497. package/dist/components/tree/bond.svelte.d.ts +28 -19
  498. package/dist/components/tree/bond.svelte.js +62 -53
  499. package/dist/components/tree/tree-body.svelte +1 -1
  500. package/dist/components/tree/tree-header.svelte +1 -1
  501. package/dist/components/tree/tree-header.svelte.d.ts +1 -1
  502. package/dist/components/tree/tree-indicator.svelte +1 -1
  503. package/dist/components/tree/tree-root.svelte +66 -66
  504. package/dist/components/tree/types.d.ts +4 -28
  505. package/dist/components/virtual/index.d.ts +2 -0
  506. package/dist/components/virtual/index.js +2 -0
  507. package/dist/components/virtual/types.d.ts +1 -6
  508. package/dist/constants/motion.d.ts +9 -0
  509. package/dist/constants/motion.js +9 -0
  510. package/dist/context/index.d.ts +1 -1
  511. package/dist/context/preset.svelte.d.ts +169 -2
  512. package/dist/runes/color-scheme.svelte.js +17 -5
  513. package/dist/shared/bond.svelte.d.ts +29 -3
  514. package/dist/shared/bond.svelte.js +126 -4
  515. package/dist/shared/index.d.ts +1 -1
  516. package/dist/shared/index.js +1 -1
  517. package/dist/shared/motion.d.ts +1 -0
  518. package/dist/shared/motion.js +2 -8
  519. package/dist/types/index.d.ts +4 -0
  520. package/dist/utils/index.d.ts +1 -1
  521. package/dist/utils/index.js +1 -1
  522. package/dist/utils/promise.svelte.d.ts +5 -0
  523. package/dist/utils/promise.svelte.js +17 -0
  524. package/dist/utils/variant.d.ts +10 -1
  525. package/dist/utils/variant.js +11 -1
  526. package/package.json +171 -48
  527. package/dist/components/accordion/accordion.stories.svelte +0 -70
  528. package/dist/components/accordion/accordion.stories.svelte.d.ts +0 -18
  529. package/dist/components/alert/alert.stories.svelte +0 -400
  530. package/dist/components/alert/alert.stories.svelte.d.ts +0 -3
  531. package/dist/components/avatar/avatar.stories.svelte +0 -22
  532. package/dist/components/avatar/avatar.stories.svelte.d.ts +0 -26
  533. package/dist/components/badge/badge.stories.svelte +0 -12
  534. package/dist/components/badge/badge.stories.svelte.d.ts +0 -26
  535. package/dist/components/breadcrumb/breadcrumb.stories.svelte +0 -16
  536. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +0 -26
  537. package/dist/components/button/button.stories.svelte +0 -27
  538. package/dist/components/button/button.stories.svelte.d.ts +0 -18
  539. package/dist/components/calendar/calendar.stories.svelte +0 -26
  540. package/dist/components/calendar/calendar.stories.svelte.d.ts +0 -26
  541. package/dist/components/card/card.stories.svelte +0 -133
  542. package/dist/components/card/card.stories.svelte.d.ts +0 -19
  543. package/dist/components/checkbox/checkbox.stories.svelte +0 -22
  544. package/dist/components/checkbox/checkbox.stories.svelte.d.ts +0 -6
  545. package/dist/components/collapsible/collapsible.stories.svelte +0 -172
  546. package/dist/components/collapsible/collapsible.stories.svelte.d.ts +0 -18
  547. package/dist/components/combobox/combobox.stories.svelte +0 -63
  548. package/dist/components/combobox/combobox.stories.svelte.d.ts +0 -3
  549. package/dist/components/container/container.stories.svelte +0 -20
  550. package/dist/components/container/container.stories.svelte.d.ts +0 -26
  551. package/dist/components/contextmenu/atoms.d.ts +0 -0
  552. package/dist/components/contextmenu/atoms.js +0 -1
  553. package/dist/components/contextmenu/contextmenu-trigger.svelte +0 -0
  554. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +0 -26
  555. package/dist/components/contextmenu/indext.d.ts +0 -0
  556. package/dist/components/contextmenu/indext.js +0 -1
  557. package/dist/components/datagrid/datagrid.stories.svelte +0 -72
  558. package/dist/components/datagrid/datagrid.stories.svelte.d.ts +0 -6
  559. package/dist/components/datagrid/td/bond.svelte.d.ts +0 -28
  560. package/dist/components/datagrid/td/bond.svelte.js +0 -40
  561. package/dist/components/datagrid/td/datagrid-td.svelte +0 -66
  562. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +0 -30
  563. package/dist/components/datagrid/td/index.d.ts +0 -2
  564. package/dist/components/datagrid/td/index.js +0 -2
  565. package/dist/components/datagrid/th/bond.svelte.d.ts +0 -38
  566. package/dist/components/datagrid/th/bond.svelte.js +0 -66
  567. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +0 -26
  568. package/dist/components/datagrid/th/index.d.ts +0 -2
  569. package/dist/components/datagrid/th/index.js +0 -2
  570. package/dist/components/datagrid/tr/bond.svelte.d.ts +0 -37
  571. package/dist/components/datagrid/tr/bond.svelte.js +0 -72
  572. package/dist/components/datagrid/tr/datagrid-tr.svelte +0 -90
  573. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +0 -28
  574. package/dist/components/datagrid/tr/index.d.ts +0 -2
  575. package/dist/components/datagrid/tr/index.js +0 -2
  576. package/dist/components/date-picker/date-picker.stories.svelte +0 -35
  577. package/dist/components/date-picker/date-picker.stories.svelte.d.ts +0 -3
  578. package/dist/components/dialog/dialog.stories.svelte +0 -64
  579. package/dist/components/dialog/dialog.stories.svelte.d.ts +0 -3
  580. package/dist/components/drawer/drawer.stories.svelte +0 -141
  581. package/dist/components/drawer/drawer.stories.svelte.d.ts +0 -3
  582. package/dist/components/dropdown/dropdown.stories.svelte +0 -127
  583. package/dist/components/dropdown/dropdown.stories.svelte.d.ts +0 -3
  584. package/dist/components/element/element.stories.svelte +0 -37
  585. package/dist/components/element/element.stories.svelte.d.ts +0 -3
  586. package/dist/components/form/field/field-errors.svelte +0 -9
  587. package/dist/components/form/field/field-errors.svelte.d.ts +0 -11
  588. package/dist/components/form/form.stories.svelte +0 -96
  589. package/dist/components/form/form.stories.svelte.d.ts +0 -18
  590. package/dist/components/image/image.stories.svelte +0 -20
  591. package/dist/components/image/image.stories.svelte.d.ts +0 -26
  592. package/dist/components/input/input.stories.svelte +0 -35
  593. package/dist/components/input/input.stories.svelte.d.ts +0 -18
  594. package/dist/components/label/label.stories.svelte +0 -15
  595. package/dist/components/label/label.stories.svelte.d.ts +0 -26
  596. package/dist/components/lazy/lazy.stories.svelte +0 -28
  597. package/dist/components/lazy/lazy.stories.svelte.d.ts +0 -19
  598. package/dist/components/link/link.stories.svelte +0 -15
  599. package/dist/components/link/link.stories.svelte.d.ts +0 -26
  600. package/dist/components/menu/menu.stories.svelte +0 -33
  601. package/dist/components/menu/menu.stories.svelte.d.ts +0 -3
  602. package/dist/components/popover/popover.stories.svelte +0 -37
  603. package/dist/components/popover/popover.stories.svelte.d.ts +0 -3
  604. package/dist/components/qr-code/qr-code.stories.svelte +0 -18
  605. package/dist/components/qr-code/qr-code.stories.svelte.d.ts +0 -26
  606. package/dist/components/radio/radio-group.stories.svelte +0 -41
  607. package/dist/components/radio/radio-group.stories.svelte.d.ts +0 -6
  608. package/dist/components/radio/radio.stories.svelte +0 -17
  609. package/dist/components/radio/radio.stories.svelte.d.ts +0 -6
  610. package/dist/components/root/l0-portal.svelte +0 -8
  611. package/dist/components/root/l0-portal.svelte.d.ts +0 -26
  612. package/dist/components/root/l1-portal.svelte +0 -7
  613. package/dist/components/root/l1-portal.svelte.d.ts +0 -26
  614. package/dist/components/root/toasts-portal.svelte +0 -7
  615. package/dist/components/root/toasts-portal.svelte.d.ts +0 -26
  616. package/dist/components/scrollable/scrollable.stories.svelte +0 -116
  617. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +0 -26
  618. package/dist/components/sidebar/sidebar.stories.svelte +0 -43
  619. package/dist/components/sidebar/sidebar.stories.svelte.d.ts +0 -3
  620. package/dist/components/stepper/stepper.stories.svelte +0 -264
  621. package/dist/components/stepper/stepper.stories.svelte.d.ts +0 -4
  622. package/dist/components/tabs/tabs.stories.svelte +0 -70
  623. package/dist/components/tabs/tabs.stories.svelte.d.ts +0 -3
  624. package/dist/components/tooltip/tooltip.stories.svelte +0 -32
  625. package/dist/components/tooltip/tooltip.stories.svelte.d.ts +0 -3
  626. package/dist/components/tree/tree.stories.svelte +0 -142
  627. package/dist/components/tree/tree.stories.svelte.d.ts +0 -3
  628. /package/dist/components/{contextmenu → context-menu}/types.js +0 -0
@@ -1,97 +1,97 @@
1
- # Step
2
-
3
- The Step component represents an individual step within a Stepper workflow. It manages its own state (active, completed, disabled, optional) and provides a composable structure for building step indicators, headers, and content.
4
-
5
- ## Usage
6
-
7
- Steps are typically used within a `Stepper.Root` component to create multi-step workflows. Each step can display an indicator, title, description, and content.
8
-
9
- ```svelte
10
- <script>
11
- import { Stepper, Step } from '@svelte-atoms/core';
12
- </script>
13
-
14
- <Stepper.Root>
15
- <Step.Root index={0} header="Account Setup" body="Create your account">
16
- {#snippet children({ step })}
17
- <Step.Header>
18
- <Step.Indicator />
19
- <Step.Separator />
20
-
21
- <div>
22
- <Step.Title>Account Setup</Step.Title>
23
- <Step.Description>Create your account</Step.Description>
24
- </div>
25
- </Step.Header>
26
-
27
- <Step.Body>
28
- <!-- Step content goes here -->
29
- </Step.Body>
30
- {/snippet}
31
- </Step.Root>
32
- </Stepper.Root>
33
- ```
34
-
35
- ## Components
36
-
37
- ### Step.Root
38
-
39
- The root container for a step. Manages step state and provides context to child components.
40
-
41
- **Props:**
42
- - `index` - Step index in the stepper sequence
43
- - `header` - Step header text
44
- - `body` - Step body/description text
45
- - `optional` - Whether the step is optional
46
- - `disabled` - Whether the step is disabled
47
-
48
- ### Step.Header
49
-
50
- Container for the step's header section, typically containing the indicator, title, and description.
51
-
52
- ### Step.Indicator
53
-
54
- Visual indicator showing the step's state (number, icon, checkmark for completed steps).
55
-
56
- ### Step.Separator
57
-
58
- Visual separator line between step indicators, typically used in horizontal steppers.
59
-
60
- ### Step.Title
61
-
62
- The main title/label for the step.
63
-
64
- ### Step.Description
65
-
66
- Secondary description or subtitle for the step.
67
-
68
- ### Step.Body
69
-
70
- Container for the step's main content area. This content is rendered when the step is active.
71
-
72
- ## Step States
73
-
74
- Each step can be in one of several states:
75
-
76
- - **Active** - Currently visible/selected step
77
- - **Completed** - Step that has been completed
78
- - **Disabled** - Step that cannot be accessed
79
- - **Optional** - Step that can be skipped
80
- - **Pending** - Step that hasn't been reached yet
81
-
82
- ## Integration
83
-
84
- Steps work seamlessly with the Stepper component's navigation system. The step's state is automatically managed based on the active step index and user interactions.
85
-
86
- ```svelte
87
- <Step.Root index={0}>
88
- {#snippet children({ step })}
89
- {@const isActive = step?.state?.isActive}
90
- {@const isCompleted = step?.state?.isCompleted}
91
-
92
- <Step.Title class={isActive ? 'font-bold' : ''}>
93
- Step 1
94
- </Step.Title>
95
- {/snippet}
96
- </Step.Root>
97
- ```
1
+ # Step
2
+
3
+ The Step component represents an individual step within a Stepper workflow. It manages its own state (active, completed, disabled, optional) and provides a composable structure for building step indicators, headers, and content.
4
+
5
+ ## Usage
6
+
7
+ Steps are typically used within a `Stepper.Root` component to create multi-step workflows. Each step can display an indicator, title, description, and content.
8
+
9
+ ```svelte
10
+ <script>
11
+ import { Stepper, Step } from '@svelte-atoms/core';
12
+ </script>
13
+
14
+ <Stepper.Root>
15
+ <Step.Root index={0} header="Account Setup" body="Create your account">
16
+ {#snippet children({ step })}
17
+ <Step.Header>
18
+ <Step.Indicator />
19
+ <Step.Separator />
20
+
21
+ <div>
22
+ <Step.Title>Account Setup</Step.Title>
23
+ <Step.Description>Create your account</Step.Description>
24
+ </div>
25
+ </Step.Header>
26
+
27
+ <Step.Body>
28
+ <!-- Step content goes here -->
29
+ </Step.Body>
30
+ {/snippet}
31
+ </Step.Root>
32
+ </Stepper.Root>
33
+ ```
34
+
35
+ ## Components
36
+
37
+ ### Step.Root
38
+
39
+ The root container for a step. Manages step state and provides context to child components.
40
+
41
+ **Props:**
42
+ - `index` - Step index in the stepper sequence
43
+ - `header` - Step header text
44
+ - `body` - Step body/description text
45
+ - `optional` - Whether the step is optional
46
+ - `disabled` - Whether the step is disabled
47
+
48
+ ### Step.Header
49
+
50
+ Container for the step's header section, typically containing the indicator, title, and description.
51
+
52
+ ### Step.Indicator
53
+
54
+ Visual indicator showing the step's state (number, icon, checkmark for completed steps).
55
+
56
+ ### Step.Separator
57
+
58
+ Visual separator line between step indicators, typically used in horizontal steppers.
59
+
60
+ ### Step.Title
61
+
62
+ The main title/label for the step.
63
+
64
+ ### Step.Description
65
+
66
+ Secondary description or subtitle for the step.
67
+
68
+ ### Step.Body
69
+
70
+ Container for the step's main content area. This content is rendered when the step is active.
71
+
72
+ ## Step States
73
+
74
+ Each step can be in one of several states:
75
+
76
+ - **Active** - Currently visible/selected step
77
+ - **Completed** - Step that has been completed
78
+ - **Disabled** - Step that cannot be accessed
79
+ - **Optional** - Step that can be skipped
80
+ - **Pending** - Step that hasn't been reached yet
81
+
82
+ ## Integration
83
+
84
+ Steps work seamlessly with the Stepper component's navigation system. The step's state is automatically managed based on the active step index and user interactions.
85
+
86
+ ```svelte
87
+ <Step.Root index={0}>
88
+ {#snippet children({ step })}
89
+ {@const isActive = step?.state?.isActive}
90
+ {@const isCompleted = step?.state?.isCompleted}
91
+
92
+ <Step.Title class={isActive ? 'font-bold' : ''}>
93
+ Step 1
94
+ </Step.Title>
95
+ {/snippet}
96
+ </Step.Root>
97
+ ```
@@ -1,5 +1,5 @@
1
- import { StepperState } from '../bond.svelte.js';
2
- import { Bond, BondState, type BondStateProps } from '../../../shared/bond.svelte.js';
1
+ import { StepperState } from '../bond.svelte';
2
+ import { Bond, BondState, BondAtom, type BondStateProps } from '../../../shared/bond.svelte';
3
3
  export type StepBondProps = BondStateProps & {
4
4
  index: number;
5
5
  disabled: boolean;
@@ -15,74 +15,84 @@ export type StepBondElements = {
15
15
  body?: HTMLElement;
16
16
  separator?: HTMLElement;
17
17
  };
18
- export declare class StepBond extends Bond<StepBondProps, StepBondState, StepBondElements> {
19
- static CONTEXT_KEY: string;
20
- constructor(state: StepBondState);
21
- share(): this;
22
- root(): {
23
- readonly [x: symbol]: (node: HTMLElement) => void;
24
- readonly 'data-stepper': string;
25
- readonly 'data-atom': string;
26
- readonly 'data-kind': "step";
27
- readonly 'data-index': number;
28
- readonly 'data-active': boolean;
29
- readonly 'data-completed': boolean;
30
- readonly 'data-disabled': boolean | undefined;
31
- readonly 'data-error': boolean;
32
- readonly 'aria-disabled': boolean | undefined;
33
- readonly 'aria-describedby': `step-description-${string}`;
34
- readonly 'aria-labelledby': `step-title-${string}`;
35
- readonly id: `step-${string}`;
36
- readonly role: "group";
18
+ declare class StepRootAtom extends BondAtom<StepBond, HTMLElement> {
19
+ constructor(bond: StepBond);
20
+ get attrs(): {
21
+ 'data-stepper': string;
22
+ 'data-index': number;
23
+ 'data-active': boolean;
24
+ 'data-completed': boolean;
25
+ 'data-disabled': boolean | undefined;
26
+ 'data-error': boolean;
27
+ 'aria-disabled': boolean | undefined;
28
+ 'aria-describedby': string;
29
+ 'aria-labelledby': string;
30
+ role: "group";
37
31
  };
38
- indicator(): {
39
- readonly [x: symbol]: (node: HTMLElement) => void;
40
- readonly 'data-kind': "step-indicator";
41
- readonly 'aria-current': "step" | undefined;
42
- readonly 'data-active': boolean;
43
- readonly 'data-completed': boolean;
44
- readonly 'data-disabled': boolean | undefined;
45
- readonly 'data-error': boolean;
46
- readonly role: "presentation";
32
+ }
33
+ declare class StepIndicatorAtom extends BondAtom<StepBond, HTMLElement> {
34
+ constructor(bond: StepBond);
35
+ get attrs(): {
36
+ 'aria-current': "step" | undefined;
37
+ 'data-active': boolean;
38
+ 'data-completed': boolean;
39
+ 'data-disabled': boolean | undefined;
40
+ 'data-error': boolean;
41
+ role: "presentation";
47
42
  };
48
- header(): {
49
- readonly [x: symbol]: (node: HTMLElement) => void;
50
- readonly 'data-kind': "step-header";
51
- readonly id: `step-header-${string}`;
52
- readonly 'data-active': boolean;
53
- readonly 'data-completed': boolean;
54
- readonly 'data-disabled': boolean | undefined;
55
- readonly 'data-error': boolean;
43
+ }
44
+ declare class StepHeaderAtom extends BondAtom<StepBond, HTMLElement> {
45
+ constructor(bond: StepBond);
46
+ get attrs(): {
47
+ 'data-active': boolean;
48
+ 'data-completed': boolean;
49
+ 'data-disabled': boolean | undefined;
50
+ 'data-error': boolean;
56
51
  };
57
- title(): {
58
- readonly [x: symbol]: (node: HTMLElement) => void;
59
- readonly 'data-kind': "step-title";
60
- readonly id: `step-title-${string}`;
52
+ }
53
+ declare class StepTitleAtom extends BondAtom<StepBond, HTMLElement> {
54
+ constructor(bond: StepBond);
55
+ get attrs(): {
56
+ [x: string]: unknown;
61
57
  };
62
- description(): {
63
- readonly [x: symbol]: (node: HTMLElement) => void;
64
- readonly 'data-kind': "step-description";
65
- readonly id: `step-description-${string}`;
58
+ }
59
+ declare class StepDescriptionAtom extends BondAtom<StepBond, HTMLElement> {
60
+ constructor(bond: StepBond);
61
+ get attrs(): {
62
+ [x: string]: unknown;
66
63
  };
67
- body(): {
68
- readonly [x: symbol]: (node: HTMLElement) => void;
69
- readonly 'data-kind': "step-body";
70
- readonly id: `step-body-${string}`;
71
- readonly 'data-active': boolean;
72
- readonly 'data-completed': boolean;
73
- readonly 'data-disabled': boolean | undefined;
74
- readonly 'data-error': boolean;
64
+ }
65
+ declare class StepBodyAtom extends BondAtom<StepBond, HTMLElement> {
66
+ constructor(bond: StepBond);
67
+ get attrs(): {
68
+ 'data-active': boolean;
69
+ 'data-completed': boolean;
70
+ 'data-disabled': boolean | undefined;
71
+ 'data-error': boolean;
75
72
  };
76
- separator(): {
77
- readonly [x: symbol]: (node: HTMLElement) => void;
78
- readonly 'data-kind': "step-separator";
79
- readonly 'aria-hidden': "true";
80
- readonly role: "presentation";
81
- readonly 'data-active': boolean;
82
- readonly 'data-completed': boolean;
83
- readonly 'data-disabled': boolean | undefined;
84
- readonly 'data-error': boolean;
73
+ }
74
+ declare class StepSeparatorAtom extends BondAtom<StepBond, HTMLElement> {
75
+ constructor(bond: StepBond);
76
+ get attrs(): {
77
+ 'aria-hidden': string;
78
+ role: "presentation";
79
+ 'data-active': boolean;
80
+ 'data-completed': boolean;
81
+ 'data-disabled': boolean | undefined;
82
+ 'data-error': boolean;
85
83
  };
84
+ }
85
+ export declare class StepBond extends Bond<StepBondProps, StepBondState, StepBondElements> {
86
+ static CONTEXT_KEY: string;
87
+ constructor(state: StepBondState);
88
+ share(): this;
89
+ root(): StepRootAtom;
90
+ indicator(): StepIndicatorAtom;
91
+ header(): StepHeaderAtom;
92
+ title(): StepTitleAtom;
93
+ description(): StepDescriptionAtom;
94
+ body(): StepBodyAtom;
95
+ separator(): StepSeparatorAtom;
86
96
  static get(): StepBond | undefined;
87
97
  static set(bond: StepBond): StepBond;
88
98
  }
@@ -97,3 +107,4 @@ export declare class StepBondState extends BondState<StepBondProps> {
97
107
  unmount: () => void;
98
108
  activate(): void;
99
109
  }
110
+ export {};
@@ -1,112 +1,148 @@
1
- import { createAttachmentKey } from 'svelte/attachments';
2
- import { getContext, setContext } from 'svelte';
3
- import { StepperBond, StepperState } from '../bond.svelte.js';
4
- import { Bond, BondState } from '../../../shared/bond.svelte.js';
5
- export class StepBond extends Bond {
6
- static CONTEXT_KEY = '@atoms/context/stepper/step';
7
- constructor(state) {
8
- super(state);
9
- }
10
- share() {
11
- return StepBond.set(this);
12
- }
13
- root() {
14
- const state = this.state;
1
+ import { getContext, setContext, untrack } from 'svelte';
2
+ import { StepperBond, StepperState } from '../bond.svelte';
3
+ import { Bond, BondState, BondAtom } from '../../../shared/bond.svelte';
4
+ class StepRootAtom extends BondAtom {
5
+ constructor(bond) {
6
+ super(bond, 'root');
7
+ }
8
+ get attrs() {
9
+ const bond = this.bond;
10
+ const state = bond.state;
11
+ const props = untrack(() => bond.state.props);
15
12
  return {
13
+ ...super.attrs,
16
14
  'data-stepper': state?.stepper?.id ?? '',
17
- 'data-atom': this.id ?? '',
18
- 'data-kind': 'step',
19
- 'data-index': state?.props.index ?? 0,
15
+ 'data-index': props.index ?? 0,
20
16
  'data-active': state?.isActive,
21
17
  'data-completed': state?.isCompleted,
22
18
  'data-disabled': state?.isDisabled,
23
- 'data-error': state?.props.error,
19
+ 'data-error': props.error,
24
20
  'aria-disabled': state?.isDisabled,
25
- 'aria-describedby': `step-description-${this.id}`,
26
- 'aria-labelledby': `step-title-${this.id}`,
27
- id: `step-${this.id}`,
28
- role: 'group',
29
- [createAttachmentKey()]: (node) => {
30
- this.elements.root = node;
31
- }
21
+ 'aria-describedby': `step-description-${bond.id}`,
22
+ 'aria-labelledby': `step-title-${bond.id}`,
23
+ role: 'group'
32
24
  };
33
25
  }
34
- indicator() {
35
- const state = this.state;
26
+ }
27
+ class StepIndicatorAtom extends BondAtom {
28
+ constructor(bond) {
29
+ super(bond, 'indicator');
30
+ }
31
+ get attrs() {
32
+ const state = untrack(() => this.bond.state);
33
+ const props = untrack(() => this.bond.state.props);
36
34
  return {
37
- 'data-kind': 'step-indicator',
35
+ ...super.attrs,
38
36
  'aria-current': state?.isActive ? 'step' : undefined,
39
37
  'data-active': state?.isActive,
40
38
  'data-completed': state?.isCompleted,
41
39
  'data-disabled': state?.isDisabled,
42
- 'data-error': state?.props.error,
43
- role: 'presentation',
44
- [createAttachmentKey()]: (node) => {
45
- this.elements.indicator = node;
46
- }
40
+ 'data-error': props.error,
41
+ role: 'presentation'
47
42
  };
48
43
  }
49
- header() {
50
- const state = this.state;
44
+ }
45
+ class StepHeaderAtom extends BondAtom {
46
+ constructor(bond) {
47
+ super(bond, 'header');
48
+ }
49
+ get attrs() {
50
+ const bond = this.bond;
51
+ const state = untrack(() => bond.state);
52
+ const props = untrack(() => bond.state.props);
51
53
  return {
52
- 'data-kind': 'step-header',
53
- id: `step-header-${this.id}`,
54
+ ...super.attrs,
54
55
  'data-active': state?.isActive,
55
56
  'data-completed': state?.isCompleted,
56
57
  'data-disabled': state?.isDisabled,
57
- 'data-error': state?.props.error,
58
- [createAttachmentKey()]: (node) => {
59
- this.elements.header = node;
60
- }
58
+ 'data-error': props.error
61
59
  };
62
60
  }
63
- title() {
61
+ }
62
+ class StepTitleAtom extends BondAtom {
63
+ constructor(bond) {
64
+ super(bond, 'title');
65
+ }
66
+ get attrs() {
64
67
  return {
65
- 'data-kind': 'step-title',
66
- id: `step-title-${this.id}`,
67
- [createAttachmentKey()]: (node) => {
68
- this.elements.title = node;
69
- }
68
+ ...super.attrs
70
69
  };
71
70
  }
72
- description() {
71
+ }
72
+ class StepDescriptionAtom extends BondAtom {
73
+ constructor(bond) {
74
+ super(bond, 'description');
75
+ }
76
+ get attrs() {
73
77
  return {
74
- 'data-kind': 'step-description',
75
- id: `step-description-${this.id}`,
76
- [createAttachmentKey()]: (node) => {
77
- this.elements.description = node;
78
- }
78
+ ...super.attrs
79
79
  };
80
80
  }
81
- body() {
82
- const state = this.state;
81
+ }
82
+ class StepBodyAtom extends BondAtom {
83
+ constructor(bond) {
84
+ super(bond, 'body');
85
+ }
86
+ get attrs() {
87
+ const bond = this.bond;
88
+ const state = untrack(() => bond.state);
89
+ const props = untrack(() => bond.state.props);
83
90
  return {
84
- 'data-kind': 'step-body',
85
- id: `step-body-${this.id}`,
91
+ ...super.attrs,
86
92
  'data-active': state?.isActive,
87
93
  'data-completed': state?.isCompleted,
88
94
  'data-disabled': state?.isDisabled,
89
- 'data-error': state?.props.error,
90
- [createAttachmentKey()]: (node) => {
91
- this.elements.body = node;
92
- }
95
+ 'data-error': props.error
93
96
  };
94
97
  }
95
- separator() {
96
- const state = this.state;
98
+ }
99
+ class StepSeparatorAtom extends BondAtom {
100
+ constructor(bond) {
101
+ super(bond, 'separator');
102
+ }
103
+ get attrs() {
104
+ const state = untrack(() => this.bond.state);
105
+ const props = untrack(() => this.bond.state.props);
97
106
  return {
98
- 'data-kind': 'step-separator',
107
+ ...super.attrs,
99
108
  'aria-hidden': 'true',
100
109
  role: 'presentation',
101
110
  'data-active': state?.isActive,
102
111
  'data-completed': state?.isCompleted,
103
112
  'data-disabled': state?.isDisabled,
104
- 'data-error': state?.props.error,
105
- [createAttachmentKey()]: (node) => {
106
- this.elements.separator = node;
107
- }
113
+ 'data-error': props.error
108
114
  };
109
115
  }
116
+ }
117
+ export class StepBond extends Bond {
118
+ static CONTEXT_KEY = '@atoms/context/stepper/step';
119
+ constructor(state) {
120
+ super(state, 'step');
121
+ }
122
+ share() {
123
+ return StepBond.set(this);
124
+ }
125
+ root() {
126
+ return this.atom('root', () => new StepRootAtom(this));
127
+ }
128
+ indicator() {
129
+ return this.atom('indicator', () => new StepIndicatorAtom(this));
130
+ }
131
+ header() {
132
+ return this.atom('header', () => new StepHeaderAtom(this));
133
+ }
134
+ title() {
135
+ return this.atom('title', () => new StepTitleAtom(this));
136
+ }
137
+ description() {
138
+ return this.atom('description', () => new StepDescriptionAtom(this));
139
+ }
140
+ body() {
141
+ return this.atom('body', () => new StepBodyAtom(this));
142
+ }
143
+ separator() {
144
+ return this.atom('separator', () => new StepSeparatorAtom(this));
145
+ }
110
146
  static get() {
111
147
  return getContext(StepBond.CONTEXT_KEY);
112
148
  }
@@ -129,7 +165,7 @@ export class StepBondState extends BondState {
129
165
  }
130
166
  get isCompleted() {
131
167
  const stepperStep = this.#stepper?.props.step;
132
- return this.props.completed || (typeof stepperStep === 'number' && stepperStep > this.props.index);
168
+ return (this.props.completed || (typeof stepperStep === 'number' && stepperStep > this.props.index));
133
169
  }
134
170
  get isDisabled() {
135
171
  return (this.props.disabled ||
@@ -1,39 +1,39 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { type Base } from '../../atom';
3
- import { StepBond } from './bond.svelte';
4
- import { StepperBond } from '../bond.svelte';
5
- import type { StepContentProps } from './types';
6
- import { Stack } from '../../stack';
7
-
8
- const stepBond = StepBond.get();
9
- const stepperBond = StepperBond.get();
10
-
11
- let {
12
- class: klass = '',
13
- base=Stack.Item,
14
- children = undefined,
15
- preset = 'stepper.step.content' as const,
16
- ...restProps
17
- }: StepContentProps<E, B> = $props();
18
-
19
- const contentProps = $derived({
20
- class: klass,
21
- preset,
22
- base,
23
- ...restProps
24
- });
25
-
26
- // Register content snippet with props and children with stepper on mount
27
- $effect(() => {
28
- if (stepBond && stepperBond && children) {
29
- const index = stepBond.state.props.index;
30
- stepperBond.state.registerStepContent(index, contentProps, children);
31
-
32
- return () => {
33
- stepperBond.state.unregisterStepContent(index);
34
- };
35
- }
36
- });
37
- </script>
38
-
39
- <!-- Content is teleported to Stepper.Content, so we don't render anything here -->
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { type Base } from '../../atom';
3
+ import { StepBond } from './bond.svelte';
4
+ import { StepperBond } from '../bond.svelte';
5
+ import type { StepContentProps } from './types';
6
+ import { Stack } from '../../stack';
7
+
8
+ const stepBond = StepBond.get();
9
+ const stepperBond = StepperBond.get();
10
+
11
+ let {
12
+ class: klass = '',
13
+ base=Stack.Item,
14
+ children = undefined,
15
+ preset = 'stepper.step.content' as const,
16
+ ...restProps
17
+ }: StepContentProps<E, B> = $props();
18
+
19
+ const contentProps = $derived({
20
+ class: klass,
21
+ preset,
22
+ base,
23
+ ...restProps
24
+ });
25
+
26
+ // Register content snippet with props and children with stepper on mount
27
+ $effect(() => {
28
+ if (stepBond && stepperBond && children) {
29
+ const index = stepBond.state.props.index;
30
+ stepperBond.state.registerStepContent(index, contentProps, children);
31
+
32
+ return () => {
33
+ stepperBond.state.unregisterStepContent(index);
34
+ };
35
+ }
36
+ });
37
+ </script>
38
+
39
+ <!-- Content is teleported to Stepper.Content, so we don't render anything here -->