@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,53 +1,54 @@
1
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell">
2
- import { onMount } from 'svelte';
3
- import { DropdownBond } from './bond.svelte';
4
- import { Input } from '../input';
5
-
6
- const bond = DropdownBond.get() as DropdownBond;
7
-
8
- if (!bond) {
9
- throw new Error('Combobox atom was not found');
10
- }
11
-
12
- let {
13
- class: klass = '',
14
- children = undefined,
15
- onpointerdown,
16
- onmount = undefined,
17
- ondestroy = undefined,
18
- animate = undefined,
19
- enter = undefined,
20
- exit = undefined,
21
- initial = undefined,
22
- ...restProps
23
- } = $props();
24
-
25
- let isMounted = $state(false);
26
-
27
- onMount(() => {
28
- isMounted = true;
29
- });
30
-
31
- const isMultiple = $derived(bond?.state.props?.multiple ?? false);
32
- const selectedText = $derived(
33
- isMounted || isMultiple ? (bond.state.selectedItems.at(0)?.text ?? '') : ''
34
- );
35
-
36
- const value = $derived(
37
- bond?.state.props?.query ?? (bond?.state.props?.text || selectedText || '')
38
- );
39
- </script>
40
-
41
- <Input.Control
42
- bind:value={bond.state.query}
43
- {bond}
44
- preset="dropdown.query"
45
- class={['inline-flex h-auto w-auto flex-1 py-1', '$preset', klass]}
46
- onmount={onmount?.bind(bond.state)}
47
- ondestroy={ondestroy?.bind(bond.state)}
48
- enter={enter?.bind(bond.state)}
49
- exit={exit?.bind(bond.state)}
50
- initial={initial?.bind(bond.state)}
51
- animate={animate?.bind(bond.state)}
52
- {...restProps}
53
- />
1
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { onMount } from 'svelte';
3
+ import { DropdownBond } from './bond.svelte';
4
+ import { Input } from '../input';
5
+ import { type Base } from '../atom';
6
+
7
+ const bond = DropdownBond.get() as DropdownBond;
8
+
9
+ if (!bond) {
10
+ throw new Error('Combobox atom was not found');
11
+ }
12
+
13
+ let {
14
+ class: klass = '',
15
+ children = undefined,
16
+ onpointerdown,
17
+ onmount = undefined,
18
+ ondestroy = undefined,
19
+ animate = undefined,
20
+ enter = undefined,
21
+ exit = undefined,
22
+ initial = undefined,
23
+ ...restProps
24
+ } = $props();
25
+
26
+ let isMounted = $state(false);
27
+
28
+ onMount(() => {
29
+ isMounted = true;
30
+ });
31
+
32
+ const isMultiple = $derived(bond?.state.props?.multiple ?? false);
33
+ const selectedText = $derived(
34
+ isMounted || isMultiple ? (bond.state.selectedItems.at(0)?.text ?? '') : ''
35
+ );
36
+
37
+ const value = $derived(
38
+ bond?.state.props?.query ?? (bond?.state.props?.text || selectedText || '')
39
+ );
40
+ </script>
41
+
42
+ <Input.Control
43
+ bind:value={bond.state.query}
44
+ {bond}
45
+ preset="dropdown.query"
46
+ class={['inline-flex h-auto w-auto flex-1 py-1', '$preset', klass]}
47
+ onmount={onmount?.bind(bond.state)}
48
+ ondestroy={ondestroy?.bind(bond.state)}
49
+ enter={enter?.bind(bond.state)}
50
+ exit={exit?.bind(bond.state)}
51
+ initial={initial?.bind(bond.state)}
52
+ animate={animate?.bind(bond.state)}
53
+ {...restProps}
54
+ />
@@ -1,4 +1,5 @@
1
- declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell>(): {
1
+ import { type Base } from '../atom';
2
+ declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
2
3
  props: {
3
4
  class?: string;
4
5
  children?: any;
@@ -15,20 +16,20 @@ declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', S exten
15
16
  slots: {};
16
17
  events: {};
17
18
  };
18
- declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell> {
19
- props(): ReturnType<typeof $$render<T, S>>['props'];
20
- events(): ReturnType<typeof $$render<T, S>>['events'];
21
- slots(): ReturnType<typeof $$render<T, S>>['slots'];
19
+ declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
20
+ props(): ReturnType<typeof $$render<T, B>>['props'];
21
+ events(): ReturnType<typeof $$render<T, B>>['events'];
22
+ slots(): ReturnType<typeof $$render<T, B>>['slots'];
22
23
  bindings(): "";
23
24
  exports(): {};
24
25
  }
25
26
  interface $$IsomorphicComponent {
26
- new <T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, S>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, S>['props']>, ReturnType<__sveltets_Render<T, S>['events']>, ReturnType<__sveltets_Render<T, S>['slots']>> & {
27
- $$bindings?: ReturnType<__sveltets_Render<T, S>['bindings']>;
28
- } & ReturnType<__sveltets_Render<T, S>['exports']>;
29
- <T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell>(internal: unknown, props: ReturnType<__sveltets_Render<T, S>['props']> & {}): ReturnType<__sveltets_Render<T, S>['exports']>;
27
+ new <T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, B>['props']>, ReturnType<__sveltets_Render<T, B>['events']>, ReturnType<__sveltets_Render<T, B>['slots']>> & {
28
+ $$bindings?: ReturnType<__sveltets_Render<T, B>['bindings']>;
29
+ } & ReturnType<__sveltets_Render<T, B>['exports']>;
30
+ <T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<T, B>['props']> & {}): ReturnType<__sveltets_Render<T, B>['exports']>;
30
31
  z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
31
32
  }
32
33
  declare const DropdownQuery: $$IsomorphicComponent;
33
- type DropdownQuery<T extends keyof HTMLElementTagNameMap = 'div', S extends Shell = Shell> = InstanceType<typeof DropdownQuery<T, S>>;
34
+ type DropdownQuery<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof DropdownQuery<T, B>>;
34
35
  export default DropdownQuery;
@@ -1,59 +1,59 @@
1
- <script lang="ts" generics="T">
2
- import { DropdownBond, DropdownBondState, type DropdownStateProps } from './bond.svelte';
3
- import { defineProperty, defineState } from '../../utils';
4
-
5
- let {
6
- open = $bindable(false),
7
- value = $bindable(),
8
- values = $bindable(),
9
- multiple = false,
10
- disabled = false,
11
- placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
12
- placement = 'bottom-start',
13
- offset = 4,
14
- keys = [],
15
- factory = _factory,
16
- children = undefined,
17
- onquerychange = undefined,
18
- ...restProps
19
- } = $props();
20
-
21
- const bondProps = defineState<DropdownStateProps>(
22
- [
23
- defineProperty(
24
- 'open',
25
- () => open,
26
- (v) => {
27
- open = v;
28
- }
29
- ),
30
- defineProperty(
31
- 'values',
32
- () => (multiple ? values : [value].filter(Boolean)),
33
- (v) => {
34
- values = v;
35
- value = v[0];
36
- }
37
- ),
38
- defineProperty('multiple', () => multiple),
39
- defineProperty('disabled', () => disabled),
40
- defineProperty('placement', () => placement),
41
- defineProperty('offset', () => offset),
42
- defineProperty('placements', () => placements ?? []),
43
- defineProperty('keys', () => keys ?? [])
44
- ],
45
- () => ({ onquerychange })
46
- );
47
- const bond = factory(bondProps).share();
48
-
49
- function _factory(props: typeof bondProps) {
50
- const bondState = new DropdownBondState<T>(() => props);
51
- return new DropdownBond(bondState);
52
- }
53
-
54
- export function getBond() {
55
- return bond;
56
- }
57
- </script>
58
-
59
- {@render children?.({ dropdown: bond })}
1
+ <script lang="ts" generics="T">
2
+ import { defineProperty, defineState } from '../../utils';
3
+ import { DropdownBond, DropdownBondState, type DropdownStateProps } from './bond.svelte';
4
+
5
+ let {
6
+ open = $bindable(false),
7
+ value = $bindable(),
8
+ values = $bindable(),
9
+ multiple = false,
10
+ disabled = false,
11
+ placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
12
+ placement = 'bottom-start',
13
+ offset = 4,
14
+ keys = [],
15
+ factory = _factory,
16
+ children = undefined,
17
+ onquerychange = undefined,
18
+ ...restProps
19
+ } = $props();
20
+
21
+ const bondProps = defineState<DropdownStateProps>(
22
+ [
23
+ defineProperty(
24
+ 'open',
25
+ () => open,
26
+ (v) => {
27
+ open = v;
28
+ }
29
+ ),
30
+ defineProperty(
31
+ 'values',
32
+ () => (multiple ? values : [value].filter(Boolean)),
33
+ (v) => {
34
+ values = v;
35
+ value = v[0];
36
+ }
37
+ ),
38
+ defineProperty('multiple', () => multiple),
39
+ defineProperty('disabled', () => disabled),
40
+ defineProperty('placement', () => placement),
41
+ defineProperty('offset', () => offset),
42
+ defineProperty('placements', () => placements ?? []),
43
+ defineProperty('keys', () => keys ?? [])
44
+ ],
45
+ () => ({ onquerychange })
46
+ );
47
+ const bond = factory(bondProps).share();
48
+
49
+ function _factory(props: typeof bondProps) {
50
+ const bondState = new DropdownBondState<T>(() => props);
51
+ return new DropdownBond(bondState);
52
+ }
53
+
54
+ export function getBond() {
55
+ return bond;
56
+ }
57
+ </script>
58
+
59
+ {@render children?.({ dropdown: bond })}
@@ -1,52 +1,41 @@
1
- <script module lang="ts">
2
- import type { PopoverTriggerProps } from '../popover/popover-trigger.svelte';
3
-
4
- export type DropdownTriggerProps<
5
- T extends keyof HTMLElementTagNameMap,
6
- B extends Base = Base
7
- > = PopoverTriggerProps<T, B> & {
8
- children?: Snippet<[{ dropdown?: DropdownBond }]>;
9
- };
10
- </script>
11
-
12
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
13
- import type { Snippet } from 'svelte';
14
- import { DropdownBond } from './bond.svelte';
15
- import { Trigger } from '../popover/atoms';
16
- import type { Base } from '../atom';
17
-
18
- const bond = DropdownBond.get();
19
-
20
- if (!bond) {
21
- throw new Error('dropdown atom was not found');
22
- }
23
-
24
- let {
25
- class: klass = '',
26
- as = 'button' as T,
27
- children = undefined,
28
- onmount = undefined,
29
- ondestroy = undefined,
30
- animate = undefined,
31
- enter = undefined,
32
- exit = undefined,
33
- initial = undefined,
34
- ...restProps
35
- }: DropdownTriggerProps<T, B> = $props();
36
- </script>
37
-
38
- <Trigger
39
- {as}
40
- {bond}
41
- preset="dropdown.trigger"
42
- class={['border-border relative flex h-auto min-h-10 flex-wrap items-center', '$preset', klass]}
43
- onmount={onmount?.bind(bond.state)}
44
- ondestroy={ondestroy?.bind(bond.state)}
45
- enter={enter?.bind(bond.state)}
46
- exit={exit?.bind(bond.state)}
47
- initial={initial?.bind(bond.state)}
48
- animate={animate?.bind(bond.state)}
49
- {...restProps}
50
- >
51
- {@render children?.({ dropdown: bond })}
52
- </Trigger>
1
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { Trigger } from '../popover/atoms';
3
+ import type { Base } from '../atom';
4
+ import { DropdownBond } from './bond.svelte';
5
+ import type { DropdownTriggerProps } from './types';
6
+
7
+ const bond = DropdownBond.get();
8
+
9
+ if (!bond) {
10
+ throw new Error('dropdown atom was not found');
11
+ }
12
+
13
+ let {
14
+ class: klass = '',
15
+ as = 'button' as T,
16
+ children = undefined,
17
+ onmount = undefined,
18
+ ondestroy = undefined,
19
+ animate = undefined,
20
+ enter = undefined,
21
+ exit = undefined,
22
+ initial = undefined,
23
+ ...restProps
24
+ }: DropdownTriggerProps<T, B> = $props();
25
+ </script>
26
+
27
+ <Trigger
28
+ {as}
29
+ {bond}
30
+ preset="dropdown.trigger"
31
+ class={['border-border relative flex h-auto min-h-10 flex-wrap items-center', '$preset', klass]}
32
+ onmount={onmount?.bind(bond.state)}
33
+ ondestroy={ondestroy?.bind(bond.state)}
34
+ enter={enter?.bind(bond.state)}
35
+ exit={exit?.bind(bond.state)}
36
+ initial={initial?.bind(bond.state)}
37
+ animate={animate?.bind(bond.state)}
38
+ {...restProps}
39
+ >
40
+ {@render children?.({ dropdown: bond })}
41
+ </Trigger>
@@ -1,12 +1,5 @@
1
- import type { PopoverTriggerProps } from '../popover/popover-trigger.svelte';
2
- export type DropdownTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = PopoverTriggerProps<T, B> & {
3
- children?: Snippet<[{
4
- dropdown?: DropdownBond;
5
- }]>;
6
- };
7
- import type { Snippet } from 'svelte';
8
- import { DropdownBond } from './bond.svelte';
9
1
  import type { Base } from '../atom';
2
+ import type { DropdownTriggerProps } from './types';
10
3
  declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
11
4
  props: DropdownTriggerProps<T, B>;
12
5
  exports: {};
@@ -1,60 +1,60 @@
1
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { DropdownBond } from './bond.svelte';
3
- import { Icon } from '../icon';
4
- import { HtmlAtom, type Base } from '../atom';
5
- import CloseIcon from '../../icons/icon-close.svelte';
6
-
7
- const bond = DropdownBond.get();
8
-
9
- if (!bond) {
10
- throw new Error('DropdownValue must be used within a Dropdown');
11
- }
12
-
13
- let {
14
- class: klass = '',
15
- as = 'div' as T,
16
- value,
17
- children,
18
- onmount = undefined,
19
- ondestroy = undefined,
20
- animate = undefined,
21
- enter = undefined,
22
- exit = undefined,
23
- initial = undefined,
24
- ...restProps
25
- } = $props();
26
-
27
- function handleClick(ev: Event) {
28
- ev.preventDefault();
29
- ev.stopPropagation();
30
-
31
- bond?.state.unselect([value]);
32
- }
33
- </script>
34
-
35
- <HtmlAtom
36
- {as}
37
- {bond}
38
- preset="dropdown.value"
39
- class={[
40
- 'dropdown-value border-border bg-foreground/5 inline-flex flex-nowrap items-center gap-1 rounded-xs px-1 whitespace-nowrap',
41
- '$preset',
42
- klass
43
- ]}
44
- onmount={onmount?.bind(bond.state)}
45
- ondestroy={ondestroy?.bind(bond.state)}
46
- enter={enter?.bind(bond.state)}
47
- exit={exit?.bind(bond.state)}
48
- initial={initial?.bind(bond.state)}
49
- animate={animate?.bind(bond.state)}
50
- {...restProps}
51
- >
52
- {@render children?.()}
53
-
54
- <button
55
- class="bg-foreground/5 flex aspect-square h-4 cursor-pointer items-center justify-center rounded-xs p-0"
56
- onclick={handleClick}
57
- >
58
- <Icon class="h-3" src={CloseIcon} />
59
- </button>
60
- </HtmlAtom>
1
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { Icon } from '../icon';
3
+ import { HtmlAtom, type Base } from '../atom';
4
+ import CloseIcon from '../../icons/icon-close.svelte';
5
+ import { DropdownBond } from './bond.svelte';
6
+
7
+ const bond = DropdownBond.get();
8
+
9
+ if (!bond) {
10
+ throw new Error('DropdownValue must be used within a Dropdown');
11
+ }
12
+
13
+ let {
14
+ class: klass = '',
15
+ as = 'div' as T,
16
+ value,
17
+ children,
18
+ onmount = undefined,
19
+ ondestroy = undefined,
20
+ animate = undefined,
21
+ enter = undefined,
22
+ exit = undefined,
23
+ initial = undefined,
24
+ ...restProps
25
+ } = $props();
26
+
27
+ function handleClick(ev: Event) {
28
+ ev.preventDefault();
29
+ ev.stopPropagation();
30
+
31
+ bond?.state.unselect([value]);
32
+ }
33
+ </script>
34
+
35
+ <HtmlAtom
36
+ {as}
37
+ {bond}
38
+ preset="dropdown.value"
39
+ class={[
40
+ 'dropdown-value border-border bg-foreground/5 inline-flex flex-nowrap items-center gap-1 rounded-xs px-1 whitespace-nowrap',
41
+ '$preset',
42
+ klass
43
+ ]}
44
+ onmount={onmount?.bind(bond.state)}
45
+ ondestroy={ondestroy?.bind(bond.state)}
46
+ enter={enter?.bind(bond.state)}
47
+ exit={exit?.bind(bond.state)}
48
+ initial={initial?.bind(bond.state)}
49
+ animate={animate?.bind(bond.state)}
50
+ {...restProps}
51
+ >
52
+ {@render children?.()}
53
+
54
+ <button
55
+ class="bg-foreground/5 flex aspect-square h-4 cursor-pointer items-center justify-center rounded-xs p-0"
56
+ onclick={handleClick}
57
+ >
58
+ <Icon class="h-3" src={CloseIcon} />
59
+ </button>
60
+ </HtmlAtom>
@@ -1,3 +1,4 @@
1
1
  export * as Dropdown from './atoms';
2
2
  export { DropdownBond, type DropdownBondElements, DropdownBondState, type DropdownStateProps } from './bond.svelte';
3
3
  export { filter } from './runes.svelte';
4
+ export * from './types';
@@ -1,3 +1,4 @@
1
1
  export * as Dropdown from './atoms';
2
2
  export { DropdownBond, DropdownBondState } from './bond.svelte';
3
3
  export { filter } from './runes.svelte';
4
+ export * from './types';
@@ -0,0 +1,37 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ import type { Factory, Override } from '../../types';
4
+ import type { DropdownBond } from './bond.svelte';
5
+ import type { PopoverTriggerProps } from '../popover';
6
+ /**
7
+ * Extend this interface to add custom dropdown properties in your application.
8
+ */
9
+ export interface DropdownExtendProps {
10
+ }
11
+ /**
12
+ * Extend this interface to add custom dropdown trigger properties in your application.
13
+ */
14
+ export interface DropdownTriggerExtendProps {
15
+ }
16
+ export interface DropdownRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base, T = any> extends Omit<HtmlAtomProps<E, B>, 'children'>, DropdownExtendProps {
17
+ open?: boolean;
18
+ value?: T;
19
+ values?: T[];
20
+ multiple?: boolean;
21
+ disabled?: boolean;
22
+ placements?: string[];
23
+ placement?: string;
24
+ offset?: number;
25
+ keys?: string[];
26
+ factory?: Factory<DropdownBond>;
27
+ children?: Snippet<[{
28
+ dropdown: DropdownBond<any>;
29
+ }]>;
30
+ onquerychange?: (query: string) => void;
31
+ }
32
+ export interface DropdownTriggerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<PopoverTriggerProps<E, B>, {
33
+ children?: Snippet<[{
34
+ dropdown?: DropdownBond;
35
+ }]>;
36
+ }>, DropdownTriggerExtendProps {
37
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,19 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
- import type { ElementType, HtmlElementTagName } from './types';
2
+ import type { ElementType, HtmlElementProps, HtmlElementTagName } from './types';
3
3
  declare function $$render<T extends HtmlElementTagName>(): {
4
- props: Record<string, unknown> & {
5
- [key: string]: unknown;
6
- class?: import("../../utils").ClassValue | import("../../utils").ClassValue[];
7
- as?: (string & {}) | T | undefined;
8
- global?: boolean;
9
- initial?: import("./types").NodeFunction<T> | undefined;
10
- enter?: import("./types").TransitionFunction<T> | undefined;
11
- exit?: import("./types").TransitionFunction<T> | undefined;
12
- animate?: import("./types").NodeFunction<T> | undefined;
13
- onmount?: import("./types").NodeFunction<T> | undefined;
14
- ondestroy?: import("./types").NodeFunction<T> | undefined;
15
- children?: import("svelte").Snippet;
16
- } & Omit<HTMLAttributes<ElementType<T>>, string | number>;
4
+ props: HtmlElementProps<T> & Omit<HTMLAttributes<ElementType<T>>, keyof HtmlElementProps<T>>;
17
5
  exports: {};
18
6
  bindings: "";
19
7
  slots: {};
@@ -1,19 +1,7 @@
1
1
  import type { SVGAttributes } from 'svelte/elements';
2
- import type { ElementType, SvgElementTagName } from './types';
2
+ import type { ElementType, SvgElementProps, SvgElementTagName } from './types';
3
3
  declare function $$render<T extends SvgElementTagName>(): {
4
- props: Record<string, unknown> & {
5
- [key: string]: unknown;
6
- class?: import("../../utils").ClassValue | import("../../utils").ClassValue[];
7
- as?: (string & {}) | T | undefined;
8
- global?: boolean;
9
- initial?: import("./types").NodeFunction<T> | undefined;
10
- enter?: import("./types").TransitionFunction<T> | undefined;
11
- exit?: import("./types").TransitionFunction<T> | undefined;
12
- animate?: import("./types").NodeFunction<T> | undefined;
13
- onmount?: import("./types").NodeFunction<T> | undefined;
14
- ondestroy?: import("./types").NodeFunction<T> | undefined;
15
- children?: import("svelte").Snippet;
16
- } & Omit<SVGAttributes<ElementType<T>>, string | number>;
4
+ props: SvgElementProps<T> & Omit<SVGAttributes<ElementType<T>>, keyof SvgElementProps<T>>;
17
5
  exports: {};
18
6
  bindings: "";
19
7
  slots: {};
@@ -2,7 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  import type { HTMLAttributes, SVGAttributes } from 'svelte/elements';
3
3
  import type { TransitionConfig } from 'svelte/transition';
4
4
  import type { ClassValue } from '../../utils';
5
- export type ElementProps<T extends ElementTagName> = Record<string, unknown> & {
5
+ export interface ElementProps<T extends ElementTagName> extends Record<string, unknown> {
6
6
  class?: ClassValue | ClassValue[];
7
7
  as?: T | (string & {});
8
8
  global?: boolean;
@@ -14,17 +14,24 @@ export type ElementProps<T extends ElementTagName> = Record<string, unknown> & {
14
14
  ondestroy?: NodeFunction<T>;
15
15
  children?: Snippet;
16
16
  [key: string]: unknown;
17
- };
17
+ }
18
18
  export type HtmlElementTagName = keyof HTMLElementTagNameMap;
19
19
  export type SvgElementTagName = keyof SVGElementTagNameMap;
20
20
  export type MathMLElementTagName = keyof MathMLElementTagNameMap;
21
- export type HtmlElementProps<T extends HtmlElementTagName = 'div'> = ElementProps<T>;
22
- export type SvgElementProps<T extends SvgElementTagName = 'g'> = ElementProps<T>;
23
- export type MathMLElementProps<T extends MathMLElementTagName> = ElementProps<T>;
21
+ export interface HtmlElementProps<T extends HtmlElementTagName = 'div'> extends ElementProps<T> {
22
+ }
23
+ export interface SvgElementProps<T extends SvgElementTagName = 'g'> extends ElementProps<T> {
24
+ }
25
+ export interface MathMLElementProps<T extends MathMLElementTagName> extends ElementProps<T> {
26
+ }
24
27
  export type ElementTagName = HtmlElementTagName | SvgElementTagName | MathMLElementTagName;
25
28
  export type HtmlElementType<T extends HtmlElementTagName> = HTMLElementTagNameMap[T];
26
29
  export type SvgElementType<T extends SvgElementTagName> = SVGElementTagNameMap[T];
27
30
  export type ElementType<T> = T extends HtmlElementTagName ? HTMLElementTagNameMap[T] : T extends SvgElementTagName ? SVGElementTagNameMap[T] : T extends MathMLElementTagName ? MathMLElementTagNameMap[T] : never;
28
31
  export type ElementAttributes<T extends ElementTagName> = T extends HtmlElementTagName ? HTMLAttributes<ElementType<T>> : T extends SvgElementTagName ? SVGAttributes<ElementType<T>> : never;
29
- export type TransitionFunction<T extends ElementTagName> = (node: ElementType<T>) => Partial<TransitionConfig>;
30
- export type NodeFunction<T extends ElementTagName> = (node: ElementType<T>, ...args: any[]) => any;
32
+ export interface TransitionFunction<T extends ElementTagName> {
33
+ (node: ElementType<T>): Partial<TransitionConfig>;
34
+ }
35
+ export interface NodeFunction<T extends ElementTagName> {
36
+ (node: ElementType<T>, ...args: any[]): any;
37
+ }