@svelte-atoms/core 1.0.0-alpha.26 → 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 (282) hide show
  1. package/dist/components/accordion/accordion-root.svelte +61 -79
  2. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -15
  3. package/dist/components/accordion/index.d.ts +2 -1
  4. package/dist/components/accordion/index.js +2 -1
  5. package/dist/components/accordion/item/accordion-item-body.svelte +42 -52
  6. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
  7. package/dist/components/accordion/item/accordion-item-header.svelte +50 -60
  8. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
  9. package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
  10. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
  11. package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
  12. package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +2 -12
  13. package/dist/components/accordion/item/index.d.ts +1 -0
  14. package/dist/components/accordion/item/types.d.ts +52 -0
  15. package/dist/components/accordion/item/types.js +1 -0
  16. package/dist/components/accordion/types.d.ts +21 -0
  17. package/dist/components/accordion/types.js +1 -0
  18. package/dist/components/alert/alert-actions.svelte +42 -52
  19. package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
  20. package/dist/components/alert/alert-close-button.svelte +72 -79
  21. package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
  22. package/dist/components/alert/alert-content.svelte +42 -52
  23. package/dist/components/alert/alert-content.svelte.d.ts +3 -30
  24. package/dist/components/alert/alert-description.svelte +41 -51
  25. package/dist/components/alert/alert-description.svelte.d.ts +7 -10
  26. package/dist/components/alert/alert-icon.svelte +46 -56
  27. package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
  28. package/dist/components/alert/alert-root.svelte +102 -118
  29. package/dist/components/alert/alert-root.svelte.d.ts +2 -13
  30. package/dist/components/alert/alert-title.svelte +41 -51
  31. package/dist/components/alert/alert-title.svelte.d.ts +2 -8
  32. package/dist/components/alert/index.d.ts +1 -0
  33. package/dist/components/alert/index.js +1 -0
  34. package/dist/components/alert/types.d.ts +85 -0
  35. package/dist/components/alert/types.js +1 -0
  36. package/dist/components/atom/html-atom.svelte.d.ts +2 -22
  37. package/dist/components/atom/types.d.ts +7 -2
  38. package/dist/components/avatar/types.d.ts +7 -2
  39. package/dist/components/badge/types.d.ts +7 -2
  40. package/dist/components/button/index.d.ts +1 -0
  41. package/dist/components/button/index.js +1 -0
  42. package/dist/components/button/types.d.ts +7 -2
  43. package/dist/components/card/card-body.svelte +39 -45
  44. package/dist/components/card/card-body.svelte.d.ts +7 -4
  45. package/dist/components/card/card-description.svelte +41 -48
  46. package/dist/components/card/card-description.svelte.d.ts +7 -7
  47. package/dist/components/card/card-footer.svelte +41 -48
  48. package/dist/components/card/card-footer.svelte.d.ts +7 -4
  49. package/dist/components/card/card-header.svelte +41 -48
  50. package/dist/components/card/card-header.svelte.d.ts +7 -4
  51. package/dist/components/card/card-media.svelte +41 -48
  52. package/dist/components/card/card-media.svelte.d.ts +7 -4
  53. package/dist/components/card/card-root.svelte +91 -91
  54. package/dist/components/card/card-root.svelte.d.ts +1 -1
  55. package/dist/components/card/card-subtitle.svelte +41 -48
  56. package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
  57. package/dist/components/card/card-title.svelte +45 -52
  58. package/dist/components/card/card-title.svelte.d.ts +12 -9
  59. package/dist/components/card/index.d.ts +1 -0
  60. package/dist/components/card/index.js +1 -0
  61. package/dist/components/card/types.d.ts +57 -2
  62. package/dist/components/checkbox/types.d.ts +7 -2
  63. package/dist/components/collapsible/collapsible-body.svelte +39 -52
  64. package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
  65. package/dist/components/collapsible/collapsible-header.svelte +39 -52
  66. package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
  67. package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
  68. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
  69. package/dist/components/collapsible/collapsible-root.svelte +66 -85
  70. package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
  71. package/dist/components/collapsible/index.d.ts +1 -0
  72. package/dist/components/collapsible/index.js +1 -0
  73. package/dist/components/collapsible/types.d.ts +54 -0
  74. package/dist/components/collapsible/types.js +1 -0
  75. package/dist/components/combobox/combobox-root.svelte +65 -68
  76. package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
  77. package/dist/components/combobox/index.d.ts +1 -0
  78. package/dist/components/combobox/index.js +1 -0
  79. package/dist/components/combobox/types.d.ts +25 -0
  80. package/dist/components/combobox/types.js +1 -0
  81. package/dist/components/container/types.d.ts +7 -2
  82. package/dist/components/contextmenu/types.d.ts +8 -0
  83. package/dist/components/contextmenu/types.js +1 -0
  84. package/dist/components/datagrid/datagrid-body.svelte +37 -44
  85. package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
  86. package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
  87. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
  88. package/dist/components/datagrid/datagrid-footer.svelte +34 -34
  89. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
  90. package/dist/components/datagrid/datagrid-header.svelte +49 -49
  91. package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
  92. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  93. package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
  94. package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
  95. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
  96. package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
  97. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
  98. package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
  99. package/dist/components/datagrid/tr/bond.svelte.js +4 -2
  100. package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
  101. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
  102. package/dist/components/datagrid/types.d.ts +85 -37
  103. package/dist/components/dialog/dialog-body.svelte +39 -45
  104. package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
  105. package/dist/components/dialog/dialog-close-button.svelte +58 -61
  106. package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
  107. package/dist/components/dialog/dialog-content.svelte +62 -68
  108. package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
  109. package/dist/components/dialog/dialog-description.svelte +40 -46
  110. package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
  111. package/dist/components/dialog/dialog-footer.svelte +39 -45
  112. package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
  113. package/dist/components/dialog/dialog-header.svelte +39 -45
  114. package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
  115. package/dist/components/dialog/dialog-root.svelte +3 -16
  116. package/dist/components/dialog/dialog-root.svelte.d.ts +2 -12
  117. package/dist/components/dialog/dialog-title.svelte +41 -47
  118. package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
  119. package/dist/components/dialog/index.d.ts +1 -0
  120. package/dist/components/dialog/index.js +1 -0
  121. package/dist/components/dialog/types.d.ts +67 -0
  122. package/dist/components/dialog/types.js +1 -0
  123. package/dist/components/divider/types.d.ts +10 -0
  124. package/dist/components/divider/types.js +1 -0
  125. package/dist/components/drawer/drawer-backdrop.svelte +38 -47
  126. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
  127. package/dist/components/drawer/drawer-body.svelte +42 -56
  128. package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
  129. package/dist/components/drawer/drawer-content.svelte +42 -55
  130. package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
  131. package/dist/components/drawer/drawer-description.svelte +44 -57
  132. package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
  133. package/dist/components/drawer/drawer-footer.svelte +41 -54
  134. package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
  135. package/dist/components/drawer/drawer-header.svelte +43 -56
  136. package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
  137. package/dist/components/drawer/drawer-root.svelte +3 -28
  138. package/dist/components/drawer/drawer-root.svelte.d.ts +3 -34
  139. package/dist/components/drawer/drawer-title.svelte +44 -57
  140. package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
  141. package/dist/components/drawer/index.d.ts +1 -0
  142. package/dist/components/drawer/index.js +1 -0
  143. package/dist/components/drawer/types.d.ts +86 -0
  144. package/dist/components/drawer/types.js +1 -0
  145. package/dist/components/dropdown/dropdown-query.svelte +54 -53
  146. package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
  147. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  148. package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
  149. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
  150. package/dist/components/dropdown/dropdown-value.svelte +60 -60
  151. package/dist/components/dropdown/index.d.ts +1 -0
  152. package/dist/components/dropdown/index.js +1 -0
  153. package/dist/components/dropdown/types.d.ts +37 -0
  154. package/dist/components/dropdown/types.js +1 -0
  155. package/dist/components/element/html-element.svelte.d.ts +2 -14
  156. package/dist/components/element/svg-element.svelte.d.ts +2 -14
  157. package/dist/components/element/types.d.ts +14 -7
  158. package/dist/components/form/field/field-control.svelte +48 -65
  159. package/dist/components/form/field/field-control.svelte.d.ts +5 -19
  160. package/dist/components/form/field/field-label.svelte +24 -31
  161. package/dist/components/form/field/field-label.svelte.d.ts +1 -2
  162. package/dist/components/form/field/field-root.svelte +59 -88
  163. package/dist/components/form/field/field-root.svelte.d.ts +5 -20
  164. package/dist/components/form/index.d.ts +1 -0
  165. package/dist/components/form/index.js +1 -0
  166. package/dist/components/form/types.d.ts +76 -0
  167. package/dist/components/form/types.js +1 -0
  168. package/dist/components/icon/icon.svelte +44 -55
  169. package/dist/components/icon/icon.svelte.d.ts +4 -29
  170. package/dist/components/icon/types.d.ts +11 -7
  171. package/dist/components/input/index.d.ts +1 -0
  172. package/dist/components/input/index.js +1 -0
  173. package/dist/components/input/input-control.svelte +103 -107
  174. package/dist/components/input/input-control.svelte.d.ts +2 -3
  175. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  176. package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
  177. package/dist/components/input/types.d.ts +18 -7
  178. package/dist/components/label/index.d.ts +1 -0
  179. package/dist/components/label/index.js +1 -0
  180. package/dist/components/label/label.svelte +25 -41
  181. package/dist/components/label/label.svelte.d.ts +3 -27
  182. package/dist/components/label/types.d.ts +11 -0
  183. package/dist/components/label/types.js +1 -0
  184. package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
  185. package/dist/components/layer/layer-root.svelte.d.ts +2 -19
  186. package/dist/components/layer/types.d.ts +11 -0
  187. package/dist/components/layer/types.js +1 -0
  188. package/dist/components/link/types.d.ts +8 -0
  189. package/dist/components/link/types.js +1 -0
  190. package/dist/components/list/types.d.ts +8 -0
  191. package/dist/components/list/types.js +1 -0
  192. package/dist/components/menu/index.d.ts +1 -0
  193. package/dist/components/menu/index.js +1 -0
  194. package/dist/components/menu/types.d.ts +15 -0
  195. package/dist/components/menu/types.js +1 -0
  196. package/dist/components/popover/index.d.ts +1 -0
  197. package/dist/components/popover/index.js +1 -0
  198. package/dist/components/popover/popover-arrow.svelte +1 -1
  199. package/dist/components/popover/popover-arrow.svelte.d.ts +2 -18
  200. package/dist/components/popover/popover-content.svelte +1 -1
  201. package/dist/components/popover/popover-root.svelte +49 -49
  202. package/dist/components/popover/popover-trigger.svelte +47 -47
  203. package/dist/components/popover/types.d.ts +32 -10
  204. package/dist/components/portal/active-portal.svelte +22 -22
  205. package/dist/components/portal/index.d.ts +1 -0
  206. package/dist/components/portal/index.js +1 -0
  207. package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
  208. package/dist/components/portal/portal-root.svelte +83 -88
  209. package/dist/components/portal/portal-root.svelte.d.ts +2 -22
  210. package/dist/components/portal/teleport.svelte +4 -9
  211. package/dist/components/portal/teleport.svelte.d.ts +3 -22
  212. package/dist/components/portal/types.d.ts +39 -0
  213. package/dist/components/portal/types.js +1 -0
  214. package/dist/components/radio/radio.svelte +109 -109
  215. package/dist/components/radio/radio.svelte.d.ts +14 -36
  216. package/dist/components/root/root.svelte +121 -121
  217. package/dist/components/root/types.d.ts +8 -0
  218. package/dist/components/root/types.js +1 -0
  219. package/dist/components/scrollable/index.d.ts +1 -0
  220. package/dist/components/scrollable/index.js +1 -0
  221. package/dist/components/scrollable/scrollable-container.svelte +82 -89
  222. package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
  223. package/dist/components/scrollable/scrollable-content.svelte +41 -51
  224. package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
  225. package/dist/components/scrollable/scrollable-root.svelte +100 -120
  226. package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
  227. package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
  228. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
  229. package/dist/components/scrollable/scrollable-track.svelte +59 -70
  230. package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
  231. package/dist/components/scrollable/types.d.ts +62 -0
  232. package/dist/components/scrollable/types.js +1 -0
  233. package/dist/components/sidebar/index.d.ts +1 -0
  234. package/dist/components/sidebar/index.js +1 -0
  235. package/dist/components/sidebar/types.d.ts +16 -5
  236. package/dist/components/stack/stack-root.svelte.d.ts +2 -19
  237. package/dist/components/stack/types.d.ts +12 -0
  238. package/dist/components/stack/types.js +1 -0
  239. package/dist/components/tabs/index.d.ts +1 -0
  240. package/dist/components/tabs/index.js +1 -0
  241. package/dist/components/tabs/tab/tab-body.svelte +52 -61
  242. package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
  243. package/dist/components/tabs/tab/tab-description.svelte +41 -50
  244. package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
  245. package/dist/components/tabs/tab/tab-header.svelte +71 -81
  246. package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
  247. package/dist/components/tabs/tab/tab-root.svelte +86 -86
  248. package/dist/components/tabs/types.d.ts +55 -0
  249. package/dist/components/tabs/types.js +1 -0
  250. package/dist/components/textarea/index.d.ts +1 -0
  251. package/dist/components/textarea/index.js +1 -0
  252. package/dist/components/textarea/types.d.ts +28 -0
  253. package/dist/components/textarea/types.js +1 -0
  254. package/dist/components/toast/index.d.ts +1 -0
  255. package/dist/components/toast/index.js +1 -0
  256. package/dist/components/toast/toast-description.svelte +38 -44
  257. package/dist/components/toast/toast-description.svelte.d.ts +8 -34
  258. package/dist/components/toast/toast-root.svelte +61 -74
  259. package/dist/components/toast/toast-root.svelte.d.ts +4 -43
  260. package/dist/components/toast/toast-title.svelte +35 -43
  261. package/dist/components/toast/toast-title.svelte.d.ts +2 -34
  262. package/dist/components/toast/types.d.ts +40 -0
  263. package/dist/components/toast/types.js +1 -0
  264. package/dist/components/tooltip/types.d.ts +13 -0
  265. package/dist/components/tooltip/types.js +1 -0
  266. package/dist/components/tree/index.d.ts +1 -0
  267. package/dist/components/tree/index.js +1 -0
  268. package/dist/components/tree/tree-body.svelte +39 -50
  269. package/dist/components/tree/tree-body.svelte.d.ts +2 -10
  270. package/dist/components/tree/tree-header.svelte +54 -66
  271. package/dist/components/tree/tree-header.svelte.d.ts +3 -29
  272. package/dist/components/tree/tree-indicator.svelte +40 -50
  273. package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
  274. package/dist/components/tree/tree-root.svelte +65 -80
  275. package/dist/components/tree/tree-root.svelte.d.ts +2 -12
  276. package/dist/components/tree/types.d.ts +59 -0
  277. package/dist/components/tree/types.js +1 -0
  278. package/dist/components/virtual/types.d.ts +23 -0
  279. package/dist/components/virtual/types.js +1 -0
  280. package/dist/components/virtual/virtual-root.svelte +239 -258
  281. package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
  282. package/package.json +1 -1
@@ -1,65 +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
- number = $bindable(),
30
- date = $bindable(),
31
- files = $bindable(),
32
- children = undefined,
33
- oninput = undefined,
34
- ...restProps
35
- }: FieldInputProps<B> = $props();
36
-
37
- const controlProps = $derived({ ...bond.control(), ...restProps });
38
-
39
- function handleInput(ev: CustomEvent, detail: any) {
40
- oninput?.(ev);
41
-
42
- if (ev.defaultPrevented) {
43
- return;
44
- }
45
-
46
- bond.state.props.value = value = detail?.value;
47
- bond.state.props.files = files = detail?.files ?? [];
48
- bond.state.props.date = date = detail?.date ?? null;
49
- bond.state.props.number = number = detail?.number ?? null;
50
- bond.state.props.checked = checked = detail?.checked ?? false;
51
- }
52
- </script>
53
-
54
- <HtmlAtom
55
- {bond}
56
- {value}
57
- {checked}
58
- {name}
59
- preset="field.control"
60
- class={['flex items-center', '$preset', klass]}
61
- oninput={handleInput}
62
- {...controlProps}
63
- >
64
- {@render children?.()}
65
- </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: "number" | "value" | "date" | "files" | "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(): "number" | "value" | "date" | "files" | "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 {
@@ -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: {};
@@ -1,7 +1,11 @@
1
- import type { Snippet } from 'svelte';
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- export type IconProps = HTMLAttributes<HTMLDivElement> & {
4
- class?: string;
5
- element?: HTMLElement;
6
- children?: Snippet<[]>;
7
- };
1
+ import type { Component, Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ /**
4
+ * Extend this interface to add custom icon properties in your application.
5
+ */
6
+ export interface IconExtendProps {
7
+ }
8
+ export interface IconProps<Src extends Component = Component, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, IconExtendProps {
9
+ src?: Src;
10
+ children?: Snippet;
11
+ }