@svelte-atoms/core 1.0.0-alpha.25 → 1.0.0-alpha.27

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 (354) hide show
  1. package/README.md +645 -645
  2. package/dist/components/accordion/accordion-root.svelte +61 -79
  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 +42 -52
  7. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
  8. package/dist/components/accordion/item/accordion-item-header.svelte +50 -56
  9. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
  10. package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
  12. package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
  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 +42 -52
  20. package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
  21. package/dist/components/alert/alert-close-button.svelte +72 -79
  22. package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
  23. package/dist/components/alert/alert-content.svelte +42 -52
  24. package/dist/components/alert/alert-content.svelte.d.ts +3 -30
  25. package/dist/components/alert/alert-description.svelte +41 -51
  26. package/dist/components/alert/alert-description.svelte.d.ts +7 -10
  27. package/dist/components/alert/alert-icon.svelte +46 -56
  28. package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
  29. package/dist/components/alert/alert-root.svelte +102 -118
  30. package/dist/components/alert/alert-root.svelte.d.ts +2 -13
  31. package/dist/components/alert/alert-title.svelte +41 -51
  32. package/dist/components/alert/alert-title.svelte.d.ts +2 -8
  33. package/dist/components/alert/index.d.ts +1 -0
  34. package/dist/components/alert/index.js +1 -0
  35. package/dist/components/alert/types.d.ts +85 -0
  36. package/dist/components/alert/types.js +1 -0
  37. package/dist/components/atom/html-atom.svelte +201 -217
  38. package/dist/components/atom/html-atom.svelte.d.ts +2 -22
  39. package/dist/components/atom/types.d.ts +7 -2
  40. package/dist/components/avatar/types.d.ts +7 -2
  41. package/dist/components/badge/badge.svelte +1 -1
  42. package/dist/components/badge/types.d.ts +7 -2
  43. package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
  44. package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
  45. package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
  46. package/dist/components/button/button.stories.svelte +57 -57
  47. package/dist/components/button/button.svelte +1 -1
  48. package/dist/components/button/button.svelte.d.ts +4 -1
  49. package/dist/components/button/index.d.ts +1 -0
  50. package/dist/components/button/index.js +1 -0
  51. package/dist/components/button/types.d.ts +8 -3
  52. package/dist/components/card/card-body.svelte +39 -45
  53. package/dist/components/card/card-body.svelte.d.ts +7 -4
  54. package/dist/components/card/card-description.svelte +41 -48
  55. package/dist/components/card/card-description.svelte.d.ts +7 -7
  56. package/dist/components/card/card-footer.svelte +41 -48
  57. package/dist/components/card/card-footer.svelte.d.ts +7 -4
  58. package/dist/components/card/card-header.svelte +41 -48
  59. package/dist/components/card/card-header.svelte.d.ts +7 -4
  60. package/dist/components/card/card-media.svelte +41 -48
  61. package/dist/components/card/card-media.svelte.d.ts +7 -4
  62. package/dist/components/card/card-root.svelte +91 -91
  63. package/dist/components/card/card-root.svelte.d.ts +1 -1
  64. package/dist/components/card/card-subtitle.svelte +41 -48
  65. package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
  66. package/dist/components/card/card-title.svelte +45 -48
  67. package/dist/components/card/card-title.svelte.d.ts +12 -9
  68. package/dist/components/card/index.d.ts +1 -0
  69. package/dist/components/card/index.js +1 -0
  70. package/dist/components/card/types.d.ts +57 -2
  71. package/dist/components/checkbox/checkbox.svelte +39 -28
  72. package/dist/components/checkbox/types.d.ts +7 -2
  73. package/dist/components/collapsible/collapsible-body.svelte +39 -52
  74. package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
  75. package/dist/components/collapsible/collapsible-header.svelte +39 -52
  76. package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
  77. package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
  78. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
  79. package/dist/components/collapsible/collapsible-root.svelte +66 -85
  80. package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
  81. package/dist/components/collapsible/index.d.ts +1 -0
  82. package/dist/components/collapsible/index.js +1 -0
  83. package/dist/components/collapsible/types.d.ts +54 -0
  84. package/dist/components/collapsible/types.js +1 -0
  85. package/dist/components/combobox/atoms.d.ts +5 -1
  86. package/dist/components/combobox/atoms.js +5 -1
  87. package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
  88. package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
  89. package/dist/components/combobox/combobox-root.svelte +65 -68
  90. package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
  91. package/dist/components/combobox/combobox-trigger.svelte +1 -1
  92. package/dist/components/combobox/compobox-item.svelte +1 -1
  93. package/dist/components/combobox/index.d.ts +1 -0
  94. package/dist/components/combobox/index.js +1 -0
  95. package/dist/components/combobox/types.d.ts +25 -0
  96. package/dist/components/combobox/types.js +1 -0
  97. package/dist/components/container/container.svelte +1 -1
  98. package/dist/components/container/types.d.ts +7 -2
  99. package/dist/components/contextmenu/types.d.ts +8 -0
  100. package/dist/components/contextmenu/types.js +1 -0
  101. package/dist/components/datagrid/datagrid-body.svelte +37 -44
  102. package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
  103. package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
  104. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
  105. package/dist/components/datagrid/datagrid-footer.svelte +34 -34
  106. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
  107. package/dist/components/datagrid/datagrid-header.svelte +49 -49
  108. package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
  109. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  110. package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
  111. package/dist/components/datagrid/datagrid.stories.svelte +75 -75
  112. package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
  113. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
  114. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
  115. package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
  116. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
  117. package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
  118. package/dist/components/datagrid/tr/bond.svelte.js +4 -2
  119. package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
  120. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
  121. package/dist/components/datagrid/types.d.ts +85 -37
  122. package/dist/components/dialog/dialog-body.svelte +39 -45
  123. package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
  124. package/dist/components/dialog/dialog-close-button.svelte +58 -61
  125. package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
  126. package/dist/components/dialog/dialog-content.svelte +62 -71
  127. package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
  128. package/dist/components/dialog/dialog-description.svelte +40 -46
  129. package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
  130. package/dist/components/dialog/dialog-footer.svelte +39 -45
  131. package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
  132. package/dist/components/dialog/dialog-header.svelte +39 -45
  133. package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
  134. package/dist/components/dialog/dialog-root.svelte +110 -120
  135. package/dist/components/dialog/dialog-root.svelte.d.ts +2 -10
  136. package/dist/components/dialog/dialog-title.svelte +41 -47
  137. package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
  138. package/dist/components/dialog/index.d.ts +1 -0
  139. package/dist/components/dialog/index.js +1 -0
  140. package/dist/components/dialog/types.d.ts +67 -0
  141. package/dist/components/dialog/types.js +1 -0
  142. package/dist/components/divider/types.d.ts +10 -0
  143. package/dist/components/divider/types.js +1 -0
  144. package/dist/components/drawer/drawer-backdrop.svelte +38 -47
  145. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
  146. package/dist/components/drawer/drawer-body.svelte +42 -56
  147. package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
  148. package/dist/components/drawer/drawer-content.svelte +42 -55
  149. package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
  150. package/dist/components/drawer/drawer-description.svelte +44 -57
  151. package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
  152. package/dist/components/drawer/drawer-footer.svelte +41 -54
  153. package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
  154. package/dist/components/drawer/drawer-header.svelte +43 -56
  155. package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
  156. package/dist/components/drawer/drawer-root.svelte +93 -113
  157. package/dist/components/drawer/drawer-root.svelte.d.ts +3 -31
  158. package/dist/components/drawer/drawer-title.svelte +44 -57
  159. package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
  160. package/dist/components/drawer/index.d.ts +1 -0
  161. package/dist/components/drawer/index.js +1 -0
  162. package/dist/components/drawer/types.d.ts +86 -0
  163. package/dist/components/drawer/types.js +1 -0
  164. package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
  165. package/dist/components/dropdown/dropdown-query.svelte +54 -53
  166. package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
  167. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  168. package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
  169. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
  170. package/dist/components/dropdown/dropdown-value.svelte +60 -62
  171. package/dist/components/dropdown/index.d.ts +1 -0
  172. package/dist/components/dropdown/index.js +1 -0
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +9 -0
  175. package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
  176. package/dist/components/dropdown/types.d.ts +37 -0
  177. package/dist/components/dropdown/types.js +1 -0
  178. package/dist/components/element/html-element.svelte.d.ts +2 -14
  179. package/dist/components/element/svg-element.svelte.d.ts +2 -14
  180. package/dist/components/element/types.d.ts +14 -7
  181. package/dist/components/form/field/bond.svelte.d.ts +8 -0
  182. package/dist/components/form/field/bond.svelte.js +13 -1
  183. package/dist/components/form/field/field-control.svelte +48 -58
  184. package/dist/components/form/field/field-control.svelte.d.ts +5 -19
  185. package/dist/components/form/field/field-label.svelte +24 -31
  186. package/dist/components/form/field/field-label.svelte.d.ts +1 -2
  187. package/dist/components/form/field/field-root.svelte +59 -88
  188. package/dist/components/form/field/field-root.svelte.d.ts +5 -20
  189. package/dist/components/form/form.stories.svelte +3 -3
  190. package/dist/components/form/index.d.ts +1 -0
  191. package/dist/components/form/index.js +1 -0
  192. package/dist/components/form/types.d.ts +76 -0
  193. package/dist/components/form/types.js +1 -0
  194. package/dist/components/icon/icon.svelte +44 -55
  195. package/dist/components/icon/icon.svelte.d.ts +4 -29
  196. package/dist/components/icon/types.d.ts +11 -7
  197. package/dist/components/input/atoms.d.ts +5 -1
  198. package/dist/components/input/atoms.js +5 -1
  199. package/dist/components/input/index.d.ts +1 -0
  200. package/dist/components/input/index.js +1 -0
  201. package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -24
  202. package/dist/components/input/input-control.svelte.d.ts +26 -0
  203. package/dist/components/input/input-icon.svelte +1 -1
  204. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  205. package/dist/components/input/input-placeholder.svelte +54 -56
  206. package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
  207. package/dist/components/input/input-root.svelte +5 -12
  208. package/dist/components/input/input-root.svelte.d.ts +3 -20
  209. package/dist/components/input/input.stories.svelte +2 -2
  210. package/dist/components/input/types.d.ts +33 -0
  211. package/dist/components/input/types.js +1 -0
  212. package/dist/components/label/index.d.ts +1 -0
  213. package/dist/components/label/index.js +1 -0
  214. package/dist/components/label/label.svelte +25 -41
  215. package/dist/components/label/label.svelte.d.ts +3 -27
  216. package/dist/components/label/types.d.ts +11 -0
  217. package/dist/components/label/types.js +1 -0
  218. package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
  219. package/dist/components/layer/layer-root.svelte.d.ts +2 -19
  220. package/dist/components/layer/types.d.ts +11 -0
  221. package/dist/components/layer/types.js +1 -0
  222. package/dist/components/link/types.d.ts +8 -0
  223. package/dist/components/link/types.js +1 -0
  224. package/dist/components/list/list-group.svelte +1 -1
  225. package/dist/components/list/list-item.svelte +1 -1
  226. package/dist/components/list/list-root.svelte +6 -1
  227. package/dist/components/list/list-title.svelte +1 -1
  228. package/dist/components/list/types.d.ts +8 -0
  229. package/dist/components/list/types.js +1 -0
  230. package/dist/components/menu/index.d.ts +1 -0
  231. package/dist/components/menu/index.js +1 -0
  232. package/dist/components/menu/menu-list.svelte +1 -1
  233. package/dist/components/menu/types.d.ts +15 -0
  234. package/dist/components/menu/types.js +1 -0
  235. package/dist/components/popover/bond.svelte.d.ts +2 -0
  236. package/dist/components/popover/bond.svelte.js +1 -1
  237. package/dist/components/popover/index.d.ts +1 -0
  238. package/dist/components/popover/index.js +1 -0
  239. package/dist/components/popover/popover-arrow.svelte +111 -117
  240. package/dist/components/popover/popover-arrow.svelte.d.ts +3 -20
  241. package/dist/components/popover/popover-content.svelte +139 -147
  242. package/dist/components/popover/popover-content.svelte.d.ts +3 -17
  243. package/dist/components/popover/popover-indicator.svelte +1 -1
  244. package/dist/components/popover/popover-root.svelte +4 -18
  245. package/dist/components/popover/popover-root.svelte.d.ts +1 -15
  246. package/dist/components/popover/popover-trigger.svelte +3 -12
  247. package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
  248. package/dist/components/popover/types.d.ts +61 -0
  249. package/dist/components/popover/types.js +1 -0
  250. package/dist/components/portal/active-portal.svelte +8 -2
  251. package/dist/components/portal/active-portal.svelte.d.ts +2 -2
  252. package/dist/components/portal/index.d.ts +1 -0
  253. package/dist/components/portal/index.js +1 -0
  254. package/dist/components/portal/portal-inner.svelte +1 -1
  255. package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
  256. package/dist/components/portal/portal-root.svelte +83 -88
  257. package/dist/components/portal/portal-root.svelte.d.ts +2 -22
  258. package/dist/components/portal/teleport.svelte +50 -49
  259. package/dist/components/portal/teleport.svelte.d.ts +5 -23
  260. package/dist/components/portal/types.d.ts +39 -0
  261. package/dist/components/portal/types.js +1 -0
  262. package/dist/components/radio/radio-group.stories.svelte +4 -4
  263. package/dist/components/radio/radio.svelte +109 -109
  264. package/dist/components/radio/radio.svelte.d.ts +14 -36
  265. package/dist/components/root/root.css +24 -66
  266. package/dist/components/root/root.svelte +121 -121
  267. package/dist/components/root/types.d.ts +8 -0
  268. package/dist/components/root/types.js +1 -0
  269. package/dist/components/scrollable/index.d.ts +1 -0
  270. package/dist/components/scrollable/index.js +1 -0
  271. package/dist/components/scrollable/scrollable-container.svelte +82 -89
  272. package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
  273. package/dist/components/scrollable/scrollable-content.svelte +41 -51
  274. package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
  275. package/dist/components/scrollable/scrollable-root.svelte +100 -120
  276. package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
  277. package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
  278. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
  279. package/dist/components/scrollable/scrollable-track.svelte +59 -70
  280. package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
  281. package/dist/components/scrollable/types.d.ts +62 -0
  282. package/dist/components/scrollable/types.js +1 -0
  283. package/dist/components/sidebar/index.d.ts +1 -0
  284. package/dist/components/sidebar/index.js +1 -0
  285. package/dist/components/sidebar/sidebar-content.svelte +2 -16
  286. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
  287. package/dist/components/sidebar/sidebar-root.svelte +4 -23
  288. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
  289. package/dist/components/sidebar/types.d.ts +30 -0
  290. package/dist/components/sidebar/types.js +1 -0
  291. package/dist/components/stack/stack-item.svelte +5 -1
  292. package/dist/components/stack/stack-root.svelte +5 -1
  293. package/dist/components/stack/stack-root.svelte.d.ts +2 -19
  294. package/dist/components/stack/types.d.ts +12 -0
  295. package/dist/components/stack/types.js +1 -0
  296. package/dist/components/tabs/index.d.ts +1 -0
  297. package/dist/components/tabs/index.js +1 -0
  298. package/dist/components/tabs/tab/tab-body.svelte +52 -61
  299. package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
  300. package/dist/components/tabs/tab/tab-description.svelte +41 -50
  301. package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
  302. package/dist/components/tabs/tab/tab-header.svelte +71 -81
  303. package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
  304. package/dist/components/tabs/tab/tab-root.svelte +86 -81
  305. package/dist/components/tabs/tabs-body.svelte +1 -1
  306. package/dist/components/tabs/tabs-header.svelte +1 -1
  307. package/dist/components/tabs/tabs-root.svelte +1 -1
  308. package/dist/components/tabs/types.d.ts +55 -0
  309. package/dist/components/tabs/types.js +1 -0
  310. package/dist/components/textarea/index.d.ts +1 -0
  311. package/dist/components/textarea/index.js +1 -0
  312. package/dist/components/textarea/textarea-input.svelte +2 -1
  313. package/dist/components/textarea/types.d.ts +28 -0
  314. package/dist/components/textarea/types.js +1 -0
  315. package/dist/components/toast/index.d.ts +1 -0
  316. package/dist/components/toast/index.js +1 -0
  317. package/dist/components/toast/toast-description.svelte +38 -44
  318. package/dist/components/toast/toast-description.svelte.d.ts +8 -34
  319. package/dist/components/toast/toast-root.svelte +61 -74
  320. package/dist/components/toast/toast-root.svelte.d.ts +4 -43
  321. package/dist/components/toast/toast-title.svelte +35 -43
  322. package/dist/components/toast/toast-title.svelte.d.ts +2 -34
  323. package/dist/components/toast/types.d.ts +40 -0
  324. package/dist/components/toast/types.js +1 -0
  325. package/dist/components/tooltip/types.d.ts +13 -0
  326. package/dist/components/tooltip/types.js +1 -0
  327. package/dist/components/tree/index.d.ts +1 -0
  328. package/dist/components/tree/index.js +1 -0
  329. package/dist/components/tree/tree-body.svelte +39 -50
  330. package/dist/components/tree/tree-body.svelte.d.ts +2 -10
  331. package/dist/components/tree/tree-header.svelte +54 -66
  332. package/dist/components/tree/tree-header.svelte.d.ts +3 -29
  333. package/dist/components/tree/tree-indicator.svelte +40 -50
  334. package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
  335. package/dist/components/tree/tree-root.svelte +65 -80
  336. package/dist/components/tree/tree-root.svelte.d.ts +2 -12
  337. package/dist/components/tree/types.d.ts +59 -0
  338. package/dist/components/tree/types.js +1 -0
  339. package/dist/components/virtual/types.d.ts +23 -0
  340. package/dist/components/virtual/types.js +1 -0
  341. package/dist/components/virtual/virtual-root.svelte +239 -258
  342. package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
  343. package/dist/context/preset.svelte.d.ts +1 -1
  344. package/llm/composition.md +395 -395
  345. package/llm/crafting.md +838 -838
  346. package/llm/motion.md +970 -970
  347. package/llm/philosophy.md +23 -23
  348. package/llm/preset-variant-integration.md +516 -516
  349. package/llm/preset.md +383 -383
  350. package/llm/styling.md +216 -216
  351. package/llm/usage.md +46 -46
  352. package/llm/variants.md +712 -712
  353. package/package.json +437 -437
  354. package/dist/components/input/input-value.svelte.d.ts +0 -19
@@ -1,58 +1,48 @@
1
- <script module lang="ts">
2
- export type FieldInputProps<B extends Base<{ value?: unknown }>> = Override<
3
- HtmlAtomProps<any, B>,
4
- {
5
- value?: any;
6
- valueAsDate?: Date;
7
- valueAsNumber?: number;
8
- checked?: boolean;
9
- files?: File[] | null;
10
- oninput?: (ev: CustomEvent, detail?: { value: any }) => void;
11
- children?: Snippet;
12
- }
13
- >;
14
- </script>
15
-
16
- <script lang="ts" generics="B extends Base<{value: unknown}>">
17
- import type { Snippet } from 'svelte';
18
- import type { Override } from '../../../types';
19
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
20
- import { FieldBond } from './bond.svelte';
21
-
22
- const bond = FieldBond.get();
23
- const name = $derived(bond?.state?.props?.name);
24
-
25
- let {
26
- class: klass = '',
27
- value = $bindable(),
28
- checked = $bindable(),
29
- children = undefined,
30
- oninput = undefined,
31
- ...restProps
32
- }: FieldInputProps<B> = $props();
33
-
34
- const controlProps = $derived({ ...bond.control(), ...restProps });
35
-
36
- function handleInput(ev: CustomEvent, detail: any) {
37
- oninput?.(ev);
38
-
39
- if (ev.defaultPrevented) {
40
- return;
41
- }
42
-
43
- bond.state.props.value = value = detail?.value;
44
- }
45
- </script>
46
-
47
- <HtmlAtom
48
- {bond}
49
- {value}
50
- {checked}
51
- {name}
52
- preset="field.control"
53
- class={['flex items-center', '$preset', klass]}
54
- oninput={handleInput}
55
- {...controlProps}
56
- >
57
- {@render children?.()}
58
- </HtmlAtom>
1
+ <script lang="ts" generics="B extends Base<{value: unknown}>">
2
+ import { HtmlAtom, type Base } from '../../atom';
3
+ import { FieldBond } from './bond.svelte';
4
+ import type { FieldControlProps } from '../types';
5
+
6
+ const bond = FieldBond.get();
7
+ const name = $derived(bond?.state?.props?.name);
8
+
9
+ let {
10
+ class: klass = '',
11
+ value = $bindable(),
12
+ checked = $bindable(),
13
+ number = $bindable(),
14
+ date = $bindable(),
15
+ files = $bindable(),
16
+ children = undefined,
17
+ oninput = undefined,
18
+ ...restProps
19
+ }: FieldControlProps<B> = $props();
20
+ const controlProps = $derived({ ...bond.control(), ...restProps });
21
+
22
+ function handleInput(ev: CustomEvent, detail: any) {
23
+ oninput?.(ev);
24
+
25
+ if (ev.defaultPrevented) {
26
+ return;
27
+ }
28
+
29
+ bond.state.props.value = value = detail?.value;
30
+ bond.state.props.files = files = detail?.files ?? [];
31
+ bond.state.props.date = date = detail?.date ?? null;
32
+ bond.state.props.number = number = detail?.number ?? null;
33
+ bond.state.props.checked = checked = detail?.checked ?? false;
34
+ }
35
+ </script>
36
+
37
+ <HtmlAtom
38
+ {bond}
39
+ {value}
40
+ {checked}
41
+ {name}
42
+ preset="field.control"
43
+ class={['flex items-center', '$preset', klass]}
44
+ oninput={handleInput}
45
+ {...controlProps}
46
+ >
47
+ {@render children?.()}
48
+ </HtmlAtom>
@@ -1,25 +1,11 @@
1
- export type FieldInputProps<B extends Base<{
2
- value?: unknown;
3
- }>> = Override<HtmlAtomProps<any, B>, {
4
- value?: any;
5
- valueAsDate?: Date;
6
- valueAsNumber?: number;
7
- checked?: boolean;
8
- files?: File[] | null;
9
- oninput?: (ev: CustomEvent, detail?: {
10
- value: any;
11
- }) => void;
12
- children?: Snippet;
13
- }>;
14
- import type { Snippet } from 'svelte';
15
- import type { Override } from '../../../types';
16
- import { type HtmlAtomProps, type Base } from '../../atom';
1
+ import { type Base } from '../../atom';
2
+ import type { FieldControlProps } from '../types';
17
3
  declare function $$render<B extends Base<{
18
4
  value: unknown;
19
5
  }>>(): {
20
- props: FieldInputProps<B>;
6
+ props: FieldControlProps<B>;
21
7
  exports: {};
22
- bindings: "value" | "checked";
8
+ bindings: "number" | "value" | "date" | "checked" | "files";
23
9
  slots: {};
24
10
  events: {};
25
11
  };
@@ -29,7 +15,7 @@ declare class __sveltets_Render<B extends Base<{
29
15
  props(): ReturnType<typeof $$render<B>>['props'];
30
16
  events(): ReturnType<typeof $$render<B>>['events'];
31
17
  slots(): ReturnType<typeof $$render<B>>['slots'];
32
- bindings(): "value" | "checked";
18
+ bindings(): "number" | "value" | "date" | "checked" | "files";
33
19
  exports(): {};
34
20
  }
35
21
  interface $$IsomorphicComponent {
@@ -1,31 +1,24 @@
1
- <script module lang="ts">
2
- export type FieldLabelProps<
3
- E extends keyof HTMLElementTagNameMap = 'label',
4
- B extends Base = Base
5
- > = Omit<LabelProps<E, B>, 'for'>;
6
- </script>
7
-
8
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base">
9
- import { Label } from '../../label';
10
- import type { LabelProps } from '../../label/label.svelte';
11
- import type { Base } from '../../atom';
12
- import { FieldBond } from './bond.svelte';
13
-
14
- const bond = FieldBond.get();
15
-
16
- let {
17
- class: klass = '',
18
- as = 'label' as E,
19
- children = undefined,
20
- ...restProps
21
- }: FieldLabelProps = $props();
22
-
23
- const labelProps = $derived({
24
- ...bond?.label(),
25
- ...restProps
26
- });
27
- </script>
28
-
29
- <Label {as} {bond} preset="field.label" class={['flex flex-col', '$preset', klass]} {...labelProps}>
30
- {@render children?.()}
31
- </Label>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base">
2
+ import { Label } from '../../label';
3
+ import type { Base } from '../../atom';
4
+ import { FieldBond } from './bond.svelte';
5
+ import type { FieldLabelProps } from '../types';
6
+
7
+ const bond = FieldBond.get();
8
+
9
+ let {
10
+ class: klass = '',
11
+ as = 'label' as E,
12
+ children = undefined,
13
+ ...restProps
14
+ }: FieldLabelProps = $props();
15
+
16
+ const labelProps = $derived({
17
+ ...bond?.label(),
18
+ ...restProps
19
+ });
20
+ </script>
21
+
22
+ <Label {as} {bond} preset="field.label" class={['flex flex-col', '$preset', klass]} {...labelProps}>
23
+ {@render children?.()}
24
+ </Label>
@@ -1,6 +1,5 @@
1
- export type FieldLabelProps<E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base> = Omit<LabelProps<E, B>, 'for'>;
2
- import type { LabelProps } from '../../label/label.svelte';
3
1
  import type { Base } from '../../atom';
2
+ import type { FieldLabelProps } from '../types';
4
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base>(): {
5
4
  props: FieldLabelProps;
6
5
  exports: {};
@@ -1,88 +1,59 @@
1
- <script module lang="ts">
2
- import type { Factory } from '../../../types';
3
-
4
- export type FieldRootProps<
5
- E extends keyof HTMLElementTagNameMap = 'div',
6
- B extends Base = Base
7
- > = Override<
8
- HtmlAtomProps<E, B>,
9
- {
10
- disabled: boolean;
11
- readonly: boolean;
12
- name?: string;
13
- value?: any;
14
- schema?: Schema;
15
- parse: (schema: Schema) => void;
16
- extend: any;
17
- factory?: Factory<FieldBond>;
18
- children?: Snippet<[{ field?: FieldBond }]>;
19
- }
20
- >;
21
- </script>
22
-
23
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
24
- import { onDestroy, type Snippet } from 'svelte';
25
- import { FieldBond, FieldBondState, type FieldStateProps } from './bond.svelte';
26
- import { FormBond } from '../bond.svelte';
27
- import type { Override } from '../../../types';
28
- import { defineProperty, defineState } from '../../../utils';
29
- import {
30
- HtmlAtom,
31
- type ElementType,
32
- type HtmlAtomProps,
33
- type Base
34
- } from '../../atom';
35
-
36
- type Element = ElementType<E>;
37
-
38
- const formBond = FormBond.get();
39
-
40
- let {
41
- value = $bindable(),
42
- class: klass = '',
43
- name = undefined,
44
- schema = undefined,
45
- validator = undefined,
46
- factory = _factory,
47
- children = undefined,
48
- ...restProps
49
- }: FieldRootProps<E, B, Extension, Schema> = $props();
50
-
51
- const bondProps = defineState<FieldStateProps>([
52
- defineProperty(
53
- 'name',
54
- () => name,
55
- (v) => (name = v)
56
- ),
57
- defineProperty(
58
- 'value',
59
- () => value,
60
- (v) => (value = v)
61
- ),
62
- defineProperty('type', () => typeof value),
63
- defineProperty('schema', () => schema),
64
- defineProperty('validator', () => validator ?? formBond.state.props.validator)
65
- ]);
66
- const bond = factory(bondProps).share();
67
-
68
- const rootProps = $derived({
69
- ...bond?.root(),
70
- ...restProps
71
- });
72
-
73
- const unmount = formBond.state.mountField(bond.id, bond);
74
- onDestroy(() => unmount());
75
-
76
- function _factory(props: typeof bondProps) {
77
- const bondState = new FieldBondState(() => props);
78
- return new FieldBond(bondState);
79
- }
80
-
81
- export function getBond() {
82
- return bond;
83
- }
84
- </script>
85
-
86
- <HtmlAtom preset="field" class={['flex flex-col', '$preset', klass]} {...rootProps}>
87
- {@render children?.({ field: bond })}
88
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { onDestroy } from 'svelte';
3
+ import { defineProperty, defineState } from '../../../utils';
4
+ import { HtmlAtom, type Base } from '../../atom';
5
+ import { FieldBond, FieldBondState, type FieldStateProps } from './bond.svelte';
6
+ import type { FieldRootProps } from '../types';
7
+ import { FormBond } from '../bond.svelte';
8
+
9
+ const formBond = FormBond.get();
10
+
11
+ let {
12
+ value = $bindable(),
13
+ class: klass = '',
14
+ name = undefined,
15
+ schema = undefined,
16
+ validator = undefined,
17
+ factory = _factory,
18
+ children = undefined,
19
+ ...restProps
20
+ }: FieldRootProps<E, B> = $props();
21
+
22
+ const bondProps = defineState<FieldStateProps>([
23
+ defineProperty(
24
+ 'name',
25
+ () => name,
26
+ (v) => (name = v)
27
+ ),
28
+ defineProperty(
29
+ 'value',
30
+ () => value,
31
+ (v) => (value = v)
32
+ ),
33
+ defineProperty('type', () => typeof value),
34
+ defineProperty('schema', () => schema),
35
+ defineProperty('validator', () => validator ?? formBond.state.props.validator)
36
+ ]);
37
+ const bond = factory(bondProps).share();
38
+
39
+ const rootProps = $derived({
40
+ ...bond?.root(),
41
+ ...restProps
42
+ });
43
+
44
+ const unmount = formBond.state.mountField(bond.id, bond);
45
+ onDestroy(() => unmount());
46
+
47
+ function _factory(props: typeof bondProps) {
48
+ const bondState = new FieldBondState(() => props);
49
+ return new FieldBond(bondState);
50
+ }
51
+
52
+ export function getBond() {
53
+ return bond;
54
+ }
55
+ </script>
56
+
57
+ <HtmlAtom preset="field" class={['flex flex-col', '$preset', klass]} {...rootProps}>
58
+ {@render children?.({ field: bond })}
59
+ </HtmlAtom>
@@ -1,25 +1,10 @@
1
- import type { Factory } from '../../../types';
2
- export type FieldRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
3
- disabled: boolean;
4
- readonly: boolean;
5
- name?: string;
6
- value?: any;
7
- schema?: Schema;
8
- parse: (schema: Schema) => void;
9
- extend: any;
10
- factory?: Factory<FieldBond>;
11
- children?: Snippet<[{
12
- field?: FieldBond;
13
- }]>;
14
- }>;
15
- import { type Snippet } from 'svelte';
1
+ import { type Base } from '../../atom';
16
2
  import { FieldBond } from './bond.svelte';
17
- import type { Override } from '../../../types';
18
- import { type HtmlAtomProps, type Base } from '../../atom';
3
+ import type { FieldRootProps } from '../types';
19
4
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
20
- props: FieldRootProps<E, B, Extension, Schema>;
5
+ props: FieldRootProps<E, B>;
21
6
  exports: {
22
- getBond: () => any;
7
+ getBond: () => FieldBond;
23
8
  };
24
9
  bindings: "value";
25
10
  slots: {};
@@ -31,7 +16,7 @@ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B
31
16
  slots(): ReturnType<typeof $$render<E, B>>['slots'];
32
17
  bindings(): "value";
33
18
  exports(): {
34
- getBond: () => any;
19
+ getBond: () => FieldBond;
35
20
  };
36
21
  }
37
22
  interface $$IsomorphicComponent {
@@ -44,7 +44,7 @@
44
44
  <Field.Label>First Name</Field.Label>
45
45
  <Input.Root>
46
46
  <Field.Control
47
- base={Input.Value}
47
+ base={Input.Control}
48
48
  placeholder="Enter your first name"
49
49
  onblur={() => {
50
50
  const results = field?.state.validate();
@@ -65,14 +65,14 @@
65
65
  <Field.Root name="last name" schema={personSchema.shape.lastName}>
66
66
  <Field.Label>Last Name</Field.Label>
67
67
  <Input.Root>
68
- <Field.Control base={Input.Value} placeholder="Enter your last name" />
68
+ <Field.Control base={Input.Control} placeholder="Enter your last name" />
69
69
  </Input.Root>
70
70
  </Field.Root>
71
71
  </div>
72
72
 
73
73
  <div class="flex flex-col">
74
74
  <Field.Root name="is admin" schema={personSchema.shape.isAdmin}>
75
- <Field.Label>Is Admin</Field.Label>
75
+ <Field.Label>Is Admin?</Field.Label>
76
76
  <Field.Control base={Checkbox} />
77
77
  </Field.Root>
78
78
  </div>
@@ -1,3 +1,4 @@
1
+ export * from './types';
1
2
  export { Root as Form } from './atoms';
2
3
  export { Field } from './field';
3
4
  export type { ValidationError, ValidationResult, ValidationAdapter, FieldStateProps } from './field/bond.svelte';
@@ -1,3 +1,4 @@
1
+ export * from './types';
1
2
  export { Root as Form } from './atoms';
2
3
  export { Field } from './field';
3
4
  export { ZodValidationAdapter } from './field/bond.svelte';
@@ -0,0 +1,76 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ import type { Override, Factory } from '../../types';
4
+ import type { FormBond } from './bond.svelte';
5
+ import type { FieldBond } from './field/bond.svelte';
6
+ import type { LabelProps } from '../label';
7
+ import type { Schema } from './validation-adapters';
8
+ /**
9
+ * Extend this interface to add custom form root properties in your application.
10
+ */
11
+ export interface FormRootExtendProps {
12
+ }
13
+ /**
14
+ * Extend this interface to add custom field root properties in your application.
15
+ */
16
+ export interface FieldRootExtendProps {
17
+ }
18
+ /**
19
+ * Extend this interface to add custom field label properties in your application.
20
+ */
21
+ export interface FieldLabelExtendProps {
22
+ }
23
+ /**
24
+ * Extend this interface to add custom field control properties in your application.
25
+ */
26
+ export interface FieldControlExtendProps {
27
+ }
28
+ interface CommonProps extends FormRootExtendProps {
29
+ factory?: Factory<FormBond>;
30
+ }
31
+ interface RenderlessProps {
32
+ renderless?: true;
33
+ children?: Snippet<[{
34
+ form: FormBond;
35
+ }]>;
36
+ }
37
+ interface RenderfullProps<B extends Base = Base> extends Override<HtmlAtomProps<'form', B>, {
38
+ renderless?: false;
39
+ children?: Snippet<[{
40
+ form: FormBond;
41
+ }]>;
42
+ }> {
43
+ }
44
+ export type FormRootProps<B extends Base = Base> = CommonProps & (RenderlessProps | RenderfullProps<B>);
45
+ export type FieldRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
46
+ disabled: boolean;
47
+ readonly: boolean;
48
+ name?: string;
49
+ value?: any;
50
+ schema?: Schema;
51
+ parse: (schema: Schema) => void;
52
+ extend: any;
53
+ factory?: Factory<FieldBond>;
54
+ children?: Snippet<[{
55
+ field?: FieldBond;
56
+ }]>;
57
+ }> & FieldRootExtendProps;
58
+ export type FieldLabelProps<E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base> = Omit<LabelProps<E, B>, 'for'> & FieldLabelExtendProps;
59
+ export type FieldControlProps<B extends Base<{
60
+ value?: unknown;
61
+ }>> = Override<HtmlAtomProps<any, B>, {
62
+ value?: any;
63
+ valueAsDate?: Date;
64
+ valueAsNumber?: number;
65
+ checked?: boolean;
66
+ files?: File[] | null;
67
+ oninput?: (ev: CustomEvent, detail?: {
68
+ value: any;
69
+ }) => void;
70
+ children?: Snippet;
71
+ }> & FieldControlExtendProps;
72
+ /**
73
+ * @deprecated Use FormRootExtendProps instead
74
+ */
75
+ export type FormExtendProps = FormRootExtendProps;
76
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,55 +1,44 @@
1
- <script module lang="ts">
2
- export type IconProps<
3
- Src extends Component = Component,
4
- E extends HtmlElementTagName = 'div',
5
- B extends Base = Base
6
- > = {
7
- class?: string;
8
- src?: Src;
9
- children?: Snippet;
10
- } & HtmlAtomProps<E, B>;
11
- </script>
12
-
13
- <script
14
- lang="ts"
15
- generics="Src extends Component = Component, E extends HtmlElementTagName = 'div', B extends Base = Base"
16
- >
17
- import type { Component, Snippet } from 'svelte';
18
- import type { HTMLAttributes } from 'svelte/elements';
19
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
20
- import type { HtmlElementTagName, HtmlElementType } from '../element';
21
-
22
- type Element = HtmlElementType<'div'>;
23
-
24
- let {
25
- class: klass = '',
26
- src = undefined,
27
- preset = 'icon',
28
- children = undefined,
29
- ...restProps
30
- }: IconProps<Src, E, B> & HTMLAttributes<Element> = $props();
31
- </script>
32
-
33
- <HtmlAtom
34
- {preset}
35
- class={[
36
- 'icon inline-flex aspect-square h-6 items-center justify-center leading-none text-current',
37
- '$preset',
38
- klass
39
- ]}
40
- {...restProps}
41
- >
42
- {#if src}
43
- {@const Src = src}
44
- <Src />
45
- {:else}
46
- {@render children?.()}
47
- {/if}
48
- </HtmlAtom>
49
-
50
- <style>
51
- :global(.icon > *) {
52
- width: 100%;
53
- height: 100%;
54
- }
55
- </style>
1
+ <script
2
+ lang="ts"
3
+ generics="Src extends Component = Component, E extends HtmlElementTagName = 'div', B extends Base = Base"
4
+ >
5
+ import type { Component } from 'svelte';
6
+ import type { HTMLAttributes } from 'svelte/elements';
7
+ import { HtmlAtom, type Base } from '../atom';
8
+ import type { HtmlElementTagName, HtmlElementType } from '../element';
9
+ import type { IconProps } from './types';
10
+
11
+ type Element = HtmlElementType<'div'>;
12
+
13
+ let {
14
+ class: klass = '',
15
+ src = undefined,
16
+ preset = 'icon',
17
+ children = undefined,
18
+ ...restProps
19
+ }: IconProps<Src, E, B> & HTMLAttributes<Element> = $props();
20
+ </script>
21
+
22
+ <HtmlAtom
23
+ {preset}
24
+ class={[
25
+ 'icon inline-flex aspect-square h-6 items-center justify-center leading-none text-current',
26
+ '$preset',
27
+ klass
28
+ ]}
29
+ {...restProps}
30
+ >
31
+ {#if src}
32
+ {@const Src = src}
33
+ <Src />
34
+ {:else}
35
+ {@render children?.()}
36
+ {/if}
37
+ </HtmlAtom>
38
+
39
+ <style>
40
+ :global(.icon > *) {
41
+ width: 100%;
42
+ height: 100%;
43
+ }
44
+ </style>
@@ -1,35 +1,10 @@
1
- export type IconProps<Src extends Component = Component, E extends HtmlElementTagName = 'div', B extends Base = Base> = {
2
- class?: string;
3
- src?: Src;
4
- children?: Snippet;
5
- } & HtmlAtomProps<E, B>;
6
- import type { Component, Snippet } from 'svelte';
1
+ import type { Component } from 'svelte';
7
2
  import type { HTMLAttributes } from 'svelte/elements';
8
- import { type HtmlAtomProps, type Base } from '../atom';
3
+ import { type Base } from '../atom';
9
4
  import type { HtmlElementTagName } from '../element';
5
+ import type { IconProps } from './types';
10
6
  declare function $$render<Src extends Component = Component, E extends HtmlElementTagName = 'div', B extends Base = Base>(): {
11
- props: {
12
- class?: string;
13
- src?: Src | undefined;
14
- children?: Snippet;
15
- } & Record<string, unknown> & {
16
- [key: string]: unknown;
17
- class?: import("../..").ClassValue | import("../..").ClassValue[];
18
- as?: (string & {}) | E | undefined;
19
- global?: boolean;
20
- initial?: import("../element").NodeFunction<E> | undefined;
21
- enter?: import("../element").TransitionFunction<E> | undefined;
22
- exit?: import("../element").TransitionFunction<E> | undefined;
23
- animate?: import("../element").NodeFunction<E> | undefined;
24
- onmount?: import("../element").NodeFunction<E> | undefined;
25
- ondestroy?: import("../element").NodeFunction<E> | undefined;
26
- children?: Snippet;
27
- } & {
28
- bond?: import("../..").Bond;
29
- base?: B | undefined;
30
- preset?: import("../..").ModuleName | (string & {});
31
- variants?: import("../..").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
32
- } & HTMLAttributes<HTMLDivElement>;
7
+ props: IconProps<Src, E, B> & HTMLAttributes<HTMLDivElement>;
33
8
  exports: {};
34
9
  bindings: "";
35
10
  slots: {};