ui-ingredients 0.0.17 → 0.0.18

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 (283) hide show
  1. package/dist/accordion/create-accordion.svelte.d.ts +2 -1
  2. package/dist/accordion/create-accordion.svelte.js +11 -1
  3. package/dist/accordion/item-content.svelte +3 -2
  4. package/dist/accordion/item-indicator.svelte +3 -2
  5. package/dist/accordion/item-trigger.svelte +3 -2
  6. package/dist/accordion/item.svelte +2 -2
  7. package/dist/accordion/root.svelte +3 -15
  8. package/dist/avatar/create-avatar.svelte.d.ts +2 -1
  9. package/dist/avatar/create-avatar.svelte.js +11 -1
  10. package/dist/avatar/fallback.svelte +2 -2
  11. package/dist/avatar/image.svelte +2 -2
  12. package/dist/avatar/root.svelte +11 -14
  13. package/dist/carousel/create-carousel.svelte.d.ts +2 -1
  14. package/dist/carousel/create-carousel.svelte.js +11 -1
  15. package/dist/carousel/indicator-group.svelte +2 -2
  16. package/dist/carousel/indicator.svelte +2 -3
  17. package/dist/carousel/item-group.svelte +2 -2
  18. package/dist/carousel/item.svelte +2 -2
  19. package/dist/carousel/next-trigger.svelte +2 -2
  20. package/dist/carousel/prev-trigger.svelte +2 -2
  21. package/dist/carousel/root.svelte +3 -15
  22. package/dist/carousel/viewport.svelte +2 -2
  23. package/dist/checkbox/control.svelte +2 -2
  24. package/dist/checkbox/create-checkbox.svelte.d.ts +2 -1
  25. package/dist/checkbox/create-checkbox.svelte.js +11 -1
  26. package/dist/checkbox/hidden-input.svelte +2 -2
  27. package/dist/checkbox/indicator.svelte +2 -2
  28. package/dist/checkbox/label.svelte +2 -2
  29. package/dist/checkbox/root.svelte +3 -18
  30. package/dist/clipboard/control.svelte +2 -2
  31. package/dist/clipboard/create-clipboard.svelte.d.ts +2 -1
  32. package/dist/clipboard/create-clipboard.svelte.js +8 -1
  33. package/dist/clipboard/indicator.svelte +2 -2
  34. package/dist/clipboard/input.svelte +2 -2
  35. package/dist/clipboard/label.svelte +2 -2
  36. package/dist/clipboard/root.svelte +3 -11
  37. package/dist/clipboard/trigger.svelte +2 -2
  38. package/dist/collapsible/content.svelte +2 -2
  39. package/dist/collapsible/create-collapsible.svelte.d.ts +2 -1
  40. package/dist/collapsible/create-collapsible.svelte.js +12 -1
  41. package/dist/collapsible/root.svelte +3 -20
  42. package/dist/collapsible/trigger.svelte +2 -2
  43. package/dist/combobox/clear-trigger.svelte +2 -2
  44. package/dist/combobox/content.svelte +2 -2
  45. package/dist/combobox/control.svelte +2 -2
  46. package/dist/combobox/create-combobox.svelte.d.ts +2 -1
  47. package/dist/combobox/create-combobox.svelte.js +9 -0
  48. package/dist/combobox/input.svelte +2 -2
  49. package/dist/combobox/item-group-label.svelte +2 -2
  50. package/dist/combobox/item-group.svelte +2 -2
  51. package/dist/combobox/item-indicator.svelte +2 -2
  52. package/dist/combobox/item-text.svelte +2 -2
  53. package/dist/combobox/item.svelte +2 -3
  54. package/dist/combobox/label.svelte +2 -2
  55. package/dist/combobox/list.svelte +2 -2
  56. package/dist/combobox/positioner.svelte +2 -2
  57. package/dist/combobox/root.svelte +3 -20
  58. package/dist/combobox/trigger.svelte +2 -2
  59. package/dist/dialog/backdrop.svelte +2 -2
  60. package/dist/dialog/close-trigger.svelte +2 -2
  61. package/dist/dialog/content.svelte +2 -2
  62. package/dist/dialog/create-dialog.svelte.d.ts +2 -1
  63. package/dist/dialog/create-dialog.svelte.js +12 -1
  64. package/dist/dialog/description.svelte +2 -2
  65. package/dist/dialog/positioner.svelte +2 -2
  66. package/dist/dialog/root.svelte +3 -17
  67. package/dist/dialog/title.svelte +2 -2
  68. package/dist/dialog/trigger.svelte +2 -2
  69. package/dist/editable/area.svelte +2 -2
  70. package/dist/editable/cancel-trigger.svelte +2 -2
  71. package/dist/editable/control.svelte +2 -2
  72. package/dist/editable/create-editable.svelte.d.ts +2 -1
  73. package/dist/editable/create-editable.svelte.js +12 -1
  74. package/dist/editable/edit-trigger.svelte +2 -2
  75. package/dist/editable/input.svelte +2 -2
  76. package/dist/editable/label.svelte +2 -2
  77. package/dist/editable/preview.svelte +2 -2
  78. package/dist/editable/root.svelte +3 -17
  79. package/dist/editable/submit-trigger.svelte +2 -2
  80. package/dist/environment-provider/root.svelte +21 -5
  81. package/dist/hover-card/arrow-tip.svelte +2 -2
  82. package/dist/hover-card/arrow.svelte +2 -2
  83. package/dist/hover-card/content.svelte +2 -2
  84. package/dist/hover-card/create-hover-card.svelte.d.ts +2 -1
  85. package/dist/hover-card/create-hover-card.svelte.js +12 -1
  86. package/dist/hover-card/positioner.svelte +2 -2
  87. package/dist/hover-card/root.svelte +3 -17
  88. package/dist/hover-card/trigger.svelte +2 -2
  89. package/dist/menu/arrow-tip.svelte +2 -2
  90. package/dist/menu/arrow.svelte +2 -2
  91. package/dist/menu/content.svelte +2 -2
  92. package/dist/menu/context-trigger.svelte +2 -2
  93. package/dist/menu/create-menu.svelte.d.ts +2 -1
  94. package/dist/menu/create-menu.svelte.js +12 -1
  95. package/dist/menu/indicator.svelte +2 -2
  96. package/dist/menu/item-group-label.svelte +2 -2
  97. package/dist/menu/item-group.svelte +2 -2
  98. package/dist/menu/item.svelte +2 -3
  99. package/dist/menu/option-item-indicator.svelte +2 -2
  100. package/dist/menu/option-item-text.svelte +2 -2
  101. package/dist/menu/option-item.svelte +2 -2
  102. package/dist/menu/positioner.svelte +2 -2
  103. package/dist/menu/root.svelte +3 -57
  104. package/dist/menu/separator.svelte +2 -2
  105. package/dist/menu/trigger-item.svelte +2 -2
  106. package/dist/menu/trigger.svelte +2 -2
  107. package/dist/number-input/control.svelte +2 -2
  108. package/dist/number-input/create-number-input.svelte.d.ts +2 -1
  109. package/dist/number-input/create-number-input.svelte.js +12 -1
  110. package/dist/number-input/decrement-trigger.svelte +2 -2
  111. package/dist/number-input/increment-trigger.svelte +2 -2
  112. package/dist/number-input/input.svelte +2 -2
  113. package/dist/number-input/label.svelte +2 -2
  114. package/dist/number-input/root.svelte +3 -20
  115. package/dist/number-input/scrubber.svelte +2 -2
  116. package/dist/pagination/create-pagination.svelte.d.ts +2 -1
  117. package/dist/pagination/create-pagination.svelte.js +11 -1
  118. package/dist/pagination/ellipsis.svelte +2 -3
  119. package/dist/pagination/item.svelte +10 -9
  120. package/dist/pagination/next-trigger.svelte +2 -2
  121. package/dist/pagination/prev-trigger.svelte +2 -2
  122. package/dist/pagination/root.svelte +3 -18
  123. package/dist/pin-input/clear-trigger.svelte +2 -2
  124. package/dist/pin-input/create-pin-input.svelte.d.ts +2 -1
  125. package/dist/pin-input/create-pin-input.svelte.js +11 -1
  126. package/dist/pin-input/hidden-input.svelte +2 -2
  127. package/dist/pin-input/input.svelte +2 -2
  128. package/dist/pin-input/label.svelte +2 -2
  129. package/dist/pin-input/root.svelte +3 -15
  130. package/dist/popover/arrow-tip.svelte +2 -2
  131. package/dist/popover/arrow.svelte +2 -2
  132. package/dist/popover/close-trigger.svelte +2 -2
  133. package/dist/popover/content.svelte +2 -2
  134. package/dist/popover/create-popover.svelte.d.ts +2 -1
  135. package/dist/popover/create-popover.svelte.js +12 -1
  136. package/dist/popover/description.svelte +2 -2
  137. package/dist/popover/positioner.svelte +2 -2
  138. package/dist/popover/root.svelte +3 -17
  139. package/dist/popover/title.svelte +2 -2
  140. package/dist/popover/trigger.svelte +2 -2
  141. package/dist/portal/root.svelte +4 -4
  142. package/dist/presence/root.svelte +2 -3
  143. package/dist/progress/circle-range.svelte +2 -2
  144. package/dist/progress/circle-track.svelte +2 -2
  145. package/dist/progress/circle.svelte +2 -2
  146. package/dist/progress/create-progress.svelte.d.ts +2 -1
  147. package/dist/progress/create-progress.svelte.js +11 -1
  148. package/dist/progress/label.svelte +2 -2
  149. package/dist/progress/range.svelte +2 -2
  150. package/dist/progress/root.svelte +4 -15
  151. package/dist/progress/track.svelte +2 -2
  152. package/dist/progress/value-text.svelte +2 -2
  153. package/dist/qr-code/create-qr-code.svelte.d.ts +2 -1
  154. package/dist/qr-code/create-qr-code.svelte.js +11 -1
  155. package/dist/qr-code/frame.svelte +2 -2
  156. package/dist/qr-code/overlay.svelte +2 -2
  157. package/dist/qr-code/pattern.svelte +2 -2
  158. package/dist/qr-code/root.svelte +3 -15
  159. package/dist/radio-group/create-radio-group.svelte.d.ts +2 -1
  160. package/dist/radio-group/create-radio-group.svelte.js +11 -1
  161. package/dist/radio-group/indicator.svelte +2 -2
  162. package/dist/radio-group/item-control.svelte +2 -2
  163. package/dist/radio-group/item-hidden-input.svelte +2 -2
  164. package/dist/radio-group/item-text.svelte +2 -2
  165. package/dist/radio-group/item.svelte +2 -2
  166. package/dist/radio-group/label.svelte +2 -2
  167. package/dist/radio-group/root.svelte +3 -18
  168. package/dist/rating-group/control.svelte +2 -2
  169. package/dist/rating-group/create-rating-group.svelte.d.ts +2 -1
  170. package/dist/rating-group/create-rating-group.svelte.js +11 -1
  171. package/dist/rating-group/hidden-input.svelte +2 -2
  172. package/dist/rating-group/item.svelte +2 -2
  173. package/dist/rating-group/label.svelte +2 -2
  174. package/dist/rating-group/root.svelte +3 -18
  175. package/dist/segment-group/create-segment-group.svelte.d.ts +2 -1
  176. package/dist/segment-group/create-segment-group.svelte.js +11 -1
  177. package/dist/segment-group/indicator.svelte +2 -2
  178. package/dist/segment-group/item-control.svelte +2 -2
  179. package/dist/segment-group/item-hidden-input.svelte +2 -2
  180. package/dist/segment-group/item-text.svelte +2 -2
  181. package/dist/segment-group/item.svelte +2 -2
  182. package/dist/segment-group/label.svelte +2 -2
  183. package/dist/segment-group/root.svelte +4 -18
  184. package/dist/select/clear-trigger.svelte +2 -2
  185. package/dist/select/content.svelte +2 -2
  186. package/dist/select/control.svelte +2 -2
  187. package/dist/select/create-select.svelte.d.ts +2 -1
  188. package/dist/select/create-select.svelte.js +9 -0
  189. package/dist/select/hidden-select.svelte +2 -2
  190. package/dist/select/indicator.svelte +2 -2
  191. package/dist/select/item-group-label.svelte +2 -2
  192. package/dist/select/item-group.svelte +2 -2
  193. package/dist/select/item-indicator.svelte +2 -2
  194. package/dist/select/item-text.svelte +2 -2
  195. package/dist/select/item.svelte +2 -3
  196. package/dist/select/label.svelte +2 -2
  197. package/dist/select/list.svelte +2 -2
  198. package/dist/select/positioner.svelte +2 -2
  199. package/dist/select/root.svelte +3 -17
  200. package/dist/select/trigger.svelte +2 -2
  201. package/dist/select/value-text.svelte +2 -2
  202. package/dist/slider/control.svelte +2 -2
  203. package/dist/slider/create-slider.svelte.d.ts +2 -1
  204. package/dist/slider/create-slider.svelte.js +11 -1
  205. package/dist/slider/hidden-input.svelte +2 -2
  206. package/dist/slider/label.svelte +2 -2
  207. package/dist/slider/marker-group.svelte +2 -2
  208. package/dist/slider/marker.svelte +2 -2
  209. package/dist/slider/range.svelte +2 -2
  210. package/dist/slider/root.svelte +3 -15
  211. package/dist/slider/thumb.svelte +2 -2
  212. package/dist/slider/track.svelte +2 -2
  213. package/dist/slider/value-text.svelte +2 -2
  214. package/dist/steps/content.svelte +2 -2
  215. package/dist/steps/create-steps.svelte.d.ts +2 -1
  216. package/dist/steps/create-steps.svelte.js +11 -1
  217. package/dist/steps/indicator.svelte +2 -2
  218. package/dist/steps/item.svelte +2 -3
  219. package/dist/steps/list.svelte +2 -2
  220. package/dist/steps/next-trigger.svelte +2 -2
  221. package/dist/steps/prev-trigger.svelte +2 -2
  222. package/dist/steps/progress.svelte +2 -2
  223. package/dist/steps/root.svelte +3 -15
  224. package/dist/steps/separator.svelte +2 -2
  225. package/dist/steps/trigger.svelte +2 -2
  226. package/dist/switch/control.svelte +2 -2
  227. package/dist/switch/create-switch.svelte.d.ts +2 -1
  228. package/dist/switch/create-switch.svelte.js +11 -1
  229. package/dist/switch/hidden-input.svelte +2 -2
  230. package/dist/switch/label.svelte +2 -2
  231. package/dist/switch/root.svelte +3 -15
  232. package/dist/switch/thumb.svelte +2 -2
  233. package/dist/tabs/content.svelte +2 -2
  234. package/dist/tabs/create-tabs.svelte.d.ts +2 -1
  235. package/dist/tabs/create-tabs.svelte.js +11 -1
  236. package/dist/tabs/list.svelte +2 -2
  237. package/dist/tabs/root.svelte +3 -16
  238. package/dist/tabs/trigger.svelte +2 -2
  239. package/dist/tags-input/clear-trigger.svelte +2 -2
  240. package/dist/tags-input/control.svelte +2 -2
  241. package/dist/tags-input/create-tags-input.svelte.d.ts +2 -1
  242. package/dist/tags-input/create-tags-input.svelte.js +11 -1
  243. package/dist/tags-input/hidden-input.svelte +2 -2
  244. package/dist/tags-input/input.svelte +2 -2
  245. package/dist/tags-input/item-delete-trigger.svelte +2 -2
  246. package/dist/tags-input/item-input.svelte +2 -2
  247. package/dist/tags-input/item-preview.svelte +2 -2
  248. package/dist/tags-input/item-text.svelte +2 -2
  249. package/dist/tags-input/item.svelte +2 -2
  250. package/dist/tags-input/label.svelte +2 -2
  251. package/dist/tags-input/root.svelte +3 -15
  252. package/dist/timer/action-trigger.svelte +2 -2
  253. package/dist/timer/create-timer.svelte.d.ts +2 -1
  254. package/dist/timer/create-timer.svelte.js +8 -1
  255. package/dist/timer/item-label.svelte +2 -2
  256. package/dist/timer/item-value.svelte +2 -2
  257. package/dist/timer/item.svelte +2 -2
  258. package/dist/timer/root.svelte +3 -12
  259. package/dist/timer/separator.svelte +2 -2
  260. package/dist/toast/action-trigger.svelte +2 -2
  261. package/dist/toast/close-trigger.svelte +2 -2
  262. package/dist/toast/create-toaster.svelte.d.ts +2 -4
  263. package/dist/toast/create-toaster.svelte.js +4 -7
  264. package/dist/toast/description.svelte +2 -2
  265. package/dist/toast/index.d.ts +1 -1
  266. package/dist/toast/index.js +1 -1
  267. package/dist/toast/root.svelte +2 -2
  268. package/dist/toast/title.svelte +2 -2
  269. package/dist/toast/toaster.svelte +2 -2
  270. package/dist/toggle-group/create-toggle-group.svelte.d.ts +2 -1
  271. package/dist/toggle-group/create-toggle-group.svelte.js +11 -1
  272. package/dist/toggle-group/item.svelte +2 -2
  273. package/dist/toggle-group/root.svelte +3 -18
  274. package/dist/tooltip/arrow-tip.svelte +2 -2
  275. package/dist/tooltip/arrow.svelte +2 -2
  276. package/dist/tooltip/content.svelte +2 -2
  277. package/dist/tooltip/create-tooltip.svelte.d.ts +2 -1
  278. package/dist/tooltip/create-tooltip.svelte.js +12 -1
  279. package/dist/tooltip/positioner.svelte +2 -2
  280. package/dist/tooltip/root.svelte +3 -17
  281. package/dist/tooltip/trigger.svelte +2 -2
  282. package/dist/types.d.ts +1 -5
  283. package/package.json +4 -2
@@ -1,5 +1,6 @@
1
1
  import * as accordion from '@zag-js/accordion';
2
- export interface CreateAccordionProps extends accordion.Context {
2
+ export interface CreateAccordionProps extends Omit<accordion.Context, 'id' | 'dir' | 'getRootNode'> {
3
+ id?: string | null;
3
4
  }
4
5
  export interface CreateAccordionReturn extends accordion.Api {
5
6
  }
@@ -1,7 +1,17 @@
1
+ import { getEnvironmentContext } from '../environment-provider/context.svelte.js';
2
+ import { getLocaleContext } from '../locale-provider/context.svelte.js';
3
+ import { createUniqueId } from '../utils.svelte.js';
1
4
  import * as accordion from '@zag-js/accordion';
2
5
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
6
  export function createAccordion(props) {
4
- const [state, send] = useMachine(accordion.machine(props));
7
+ const localeContext = getLocaleContext();
8
+ const environmentContext = getEnvironmentContext();
9
+ const [state, send] = useMachine(accordion.machine({
10
+ ...props,
11
+ id: props.id ?? createUniqueId(),
12
+ dir: localeContext?.dir,
13
+ getRootNode: environmentContext?.getRootNode,
14
+ }));
5
15
  const api = $derived(reflect(() => accordion.connect(state, send, normalizeProps)));
6
16
  return api;
7
17
  }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface AccordionItemContentProps extends HtmlIngredientProps<'div'> {}
4
+ export interface AccordionItemContentProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -11,6 +11,7 @@
11
11
  let {children, ...props}: AccordionItemContentProps = $props();
12
12
 
13
13
  let context = accordionContext.get();
14
+
14
15
  let itemProps = accordionItemPropsContext.get();
15
16
 
16
17
  let attrs = $derived(mergeProps(props, context.getItemContentProps(itemProps)));
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface AccordionIndicatorProps extends HtmlIngredientProps<'span'> {}
4
+ export interface AccordionIndicatorProps extends HtmlProps<'span'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -11,6 +11,7 @@
11
11
  let {children, ...props}: AccordionIndicatorProps = $props();
12
12
 
13
13
  let context = accordionContext.get();
14
+
14
15
  let itemProps = accordionItemPropsContext.get();
15
16
 
16
17
  let attrs = $derived(mergeProps(props, context.getItemIndicatorProps(itemProps)));
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface AccordionItemTriggerProps extends HtmlIngredientProps<'button'> {}
4
+ export interface AccordionItemTriggerProps extends HtmlProps<'button'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -11,6 +11,7 @@
11
11
  let {children, ...props}: AccordionItemTriggerProps = $props();
12
12
 
13
13
  let context = accordionContext.get();
14
+
14
15
  let itemProps = accordionItemPropsContext.get();
15
16
 
16
17
  let attrs = $derived(mergeProps(props, context.getItemTriggerProps(itemProps)));
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {ItemProps, ItemState} from '@zag-js/accordion';
4
4
  import type {Snippet} from 'svelte';
5
5
 
6
6
  export interface AccordionItemProps
7
- extends Assign<Omit<HtmlIngredientProps<'div'>, 'children'>, ItemProps> {
7
+ extends Assign<Omit<HtmlProps<'div'>, 'children'>, ItemProps> {
8
8
  children?: Snippet<[state: ItemState]>;
9
9
  }
10
10
  </script>
@@ -1,18 +1,15 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import type {CreateAccordionProps, CreateAccordionReturn} from './create-accordion.svelte.js';
5
5
 
6
6
  export interface AccordionProps
7
- extends Assign<Omit<HtmlIngredientProps<'div'>, 'children'>, Omit<CreateAccordionProps, 'id'>> {
7
+ extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateAccordionProps> {
8
8
  children?: Snippet<[context: CreateAccordionReturn]>;
9
9
  }
10
10
  </script>
11
11
 
12
12
  <script lang="ts">
13
- import {getEnvironmentContext} from '../environment-provider/index.js';
14
- import {getLocaleContext} from '../locale-provider/index.js';
15
- import {createUniqueId} from '../utils.svelte.js';
16
13
  import {mergeProps} from '@zag-js/svelte';
17
14
  import {accordionContext} from './context.svelte.js';
18
15
  import {createAccordion} from './create-accordion.svelte.js';
@@ -20,7 +17,6 @@
20
17
  let {
21
18
  id,
22
19
  ids,
23
- dir,
24
20
  value,
25
21
  disabled,
26
22
  multiple,
@@ -28,20 +24,13 @@
28
24
  collapsible,
29
25
  onFocusChange,
30
26
  onValueChange,
31
- getRootNode,
32
27
  children,
33
28
  ...props
34
29
  }: AccordionProps = $props();
35
30
 
36
- let localeContext = getLocaleContext();
37
- let environmentContext = getEnvironmentContext();
38
-
39
- let uid = createUniqueId();
40
-
41
31
  let context = createAccordion({
42
- id: id ?? uid,
32
+ id,
43
33
  ids,
44
- dir: dir ?? localeContext?.dir,
45
34
  value: $state.snapshot(value),
46
35
  multiple,
47
36
  disabled,
@@ -49,7 +38,6 @@
49
38
  orientation,
50
39
  onFocusChange,
51
40
  onValueChange,
52
- getRootNode: getRootNode ?? environmentContext?.getRootNode,
53
41
  });
54
42
 
55
43
  let attrs = $derived(mergeProps(props, context.getRootProps()));
@@ -1,5 +1,6 @@
1
1
  import * as avatar from '@zag-js/avatar';
2
- export interface CreateAvatarProps extends avatar.Context {
2
+ export interface CreateAvatarProps extends Omit<avatar.Context, 'id' | 'dir' | 'getRootNode'> {
3
+ id?: string | null;
3
4
  }
4
5
  export interface CreateAvatarReturn extends avatar.Api {
5
6
  }
@@ -1,7 +1,17 @@
1
+ import { getEnvironmentContext } from '../environment-provider/context.svelte.js';
2
+ import { getLocaleContext } from '../locale-provider/context.svelte.js';
3
+ import { createUniqueId } from '../utils.svelte.js';
1
4
  import * as avatar from '@zag-js/avatar';
2
5
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
6
  export function createAvatar(props) {
4
- const [state, send] = useMachine(avatar.machine(props));
7
+ const localeContext = getLocaleContext();
8
+ const environmentContext = getEnvironmentContext();
9
+ const [state, send] = useMachine(avatar.machine({
10
+ ...props,
11
+ id: props.id ?? createUniqueId(),
12
+ dir: localeContext?.dir,
13
+ getRootNode: environmentContext?.getRootNode,
14
+ }));
5
15
  const api = $derived(reflect(() => avatar.connect(state, send, normalizeProps)));
6
16
  return api;
7
17
  }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface AvatarFallbackProps extends HtmlIngredientProps<'div'> {}
4
+ export interface AvatarFallbackProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface AvatarImageProps extends HtmlIngredientProps<'img'> {}
4
+ export interface AvatarImageProps extends HtmlProps<'img'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,35 +1,32 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import {type CreateAvatarProps, type CreateAvatarReturn} from './create-avatar.svelte.js';
5
5
 
6
6
  export interface AvatarProps
7
- extends Assign<Omit<HtmlIngredientProps<'div'>, 'children'>, Omit<CreateAvatarProps, 'id'>> {
7
+ extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateAvatarProps> {
8
8
  children?: Snippet<[api: CreateAvatarReturn]>;
9
9
  }
10
10
  </script>
11
11
 
12
12
  <script lang="ts">
13
- import {getEnvironmentContext} from '../environment-provider/index.js';
14
- import {getLocaleContext} from '../locale-provider/index.js';
15
- import {createUniqueId} from '../utils.svelte.js';
16
13
  import {mergeProps} from '@zag-js/svelte';
17
14
  import {avatarContext} from './context.svelte.js';
18
15
  import {createAvatar} from './create-avatar.svelte.js';
19
16
 
20
- let {id, ids, dir, getRootNode, onStatusChange, children, ...props}: AvatarProps = $props();
21
-
22
- let localeContext = getLocaleContext();
23
- let environmentContext = getEnvironmentContext();
24
-
25
- let uid = createUniqueId();
17
+ let {
18
+ /**/
19
+ id,
20
+ ids,
21
+ onStatusChange,
22
+ children,
23
+ ...props
24
+ }: AvatarProps = $props();
26
25
 
27
26
  let context = createAvatar({
28
- id: id ?? uid,
27
+ id,
29
28
  ids,
30
- dir: dir ?? localeContext?.dir,
31
29
  onStatusChange,
32
- getRootNode: getRootNode ?? environmentContext?.getRootNode,
33
30
  });
34
31
 
35
32
  let attrs = $derived(mergeProps(props, context.getRootProps()));
@@ -1,5 +1,6 @@
1
1
  import * as carousel from '@zag-js/carousel';
2
- export interface CreateCarouselProps extends carousel.Context {
2
+ export interface CreateCarouselProps extends Omit<carousel.Context, 'id' | 'dir' | 'getRootNode'> {
3
+ id?: string | null;
3
4
  }
4
5
  export interface CreateCarouselReturn extends carousel.Api {
5
6
  }
@@ -1,7 +1,17 @@
1
+ import { getEnvironmentContext } from '../environment-provider/context.svelte.js';
2
+ import { getLocaleContext } from '../locale-provider/context.svelte.js';
3
+ import { createUniqueId } from '../utils.svelte.js';
1
4
  import * as carousel from '@zag-js/carousel';
2
5
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
6
  export function createCarousel(props) {
4
- const [state, send] = useMachine(carousel.machine(props));
7
+ const localeContexts = getLocaleContext();
8
+ const environmentContext = getEnvironmentContext();
9
+ const [state, send] = useMachine(carousel.machine({
10
+ ...props,
11
+ id: props.id ?? createUniqueId(),
12
+ dir: localeContexts?.dir,
13
+ getRootNode: environmentContext?.getRootNode,
14
+ }));
5
15
  const api = $derived(reflect(() => carousel.connect(state, send, normalizeProps)));
6
16
  return api;
7
17
  }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CarouselIndicatorGroupProps extends HtmlIngredientProps<'div'> {}
4
+ export interface CarouselIndicatorGroupProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,9 +1,8 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {IndicatorProps} from '@zag-js/carousel';
4
4
 
5
- export interface CarouselIndicatorProps
6
- extends Assign<HtmlIngredientProps<'button'>, IndicatorProps> {}
5
+ export interface CarouselIndicatorProps extends Assign<HtmlProps<'button'>, IndicatorProps> {}
7
6
  </script>
8
7
 
9
8
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CarouselItemGroupProps extends HtmlIngredientProps<'div'> {}
4
+ export interface CarouselItemGroupProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {ItemProps, ItemState} from '@zag-js/carousel';
4
4
  import type {Snippet} from 'svelte';
5
5
 
6
6
  export interface CarouselItemProps
7
- extends Assign<Omit<HtmlIngredientProps<'button'>, 'children'>, ItemProps> {
7
+ extends Assign<Omit<HtmlProps<'button'>, 'children'>, ItemProps> {
8
8
  children?: Snippet<[state: ItemState]>;
9
9
  }
10
10
  </script>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CarouselNextTriggerProps extends HtmlIngredientProps<'button'> {}
4
+ export interface CarouselNextTriggerProps extends HtmlProps<'button'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CarouselPrevTriggerProps extends HtmlIngredientProps<'button'> {}
4
+ export interface CarouselPrevTriggerProps extends HtmlProps<'button'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,18 +1,15 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import type {CreateCarouselProps, CreateCarouselReturn} from './create-carousel.svelte.js';
5
5
 
6
6
  export interface CarouselProps
7
- extends Assign<Omit<HtmlIngredientProps<'div'>, 'children'>, Omit<CreateCarouselProps, 'id'>> {
7
+ extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateCarouselProps> {
8
8
  children?: Snippet<[api: CreateCarouselReturn]>;
9
9
  }
10
10
  </script>
11
11
 
12
12
  <script lang="ts">
13
- import {getEnvironmentContext} from '../environment-provider/index.js';
14
- import {getLocaleContext} from '../locale-provider/index.js';
15
- import {createUniqueId} from '../utils.svelte.js';
16
13
  import {mergeProps} from '@zag-js/svelte';
17
14
  import {carouselContext} from './context.svelte.js';
18
15
  import {createCarousel} from './create-carousel.svelte.js';
@@ -20,7 +17,6 @@
20
17
  let {
21
18
  id,
22
19
  ids,
23
- dir,
24
20
  loop,
25
21
  align,
26
22
  index,
@@ -28,20 +24,13 @@
28
24
  orientation,
29
25
  slidesPerView,
30
26
  onIndexChange,
31
- getRootNode,
32
27
  children,
33
28
  ...props
34
29
  }: CarouselProps = $props();
35
30
 
36
- let localeContext = getLocaleContext();
37
- let environmentContext = getEnvironmentContext();
38
-
39
- let uid = createUniqueId();
40
-
41
31
  let context = createCarousel({
42
- id: id ?? uid,
32
+ id,
43
33
  ids,
44
- dir: dir ?? localeContext?.dir,
45
34
  loop,
46
35
  align,
47
36
  index: $state.snapshot(index),
@@ -49,7 +38,6 @@
49
38
  orientation,
50
39
  slidesPerView,
51
40
  onIndexChange,
52
- getRootNode: getRootNode ?? environmentContext?.getRootNode,
53
41
  });
54
42
 
55
43
  let attrs = $derived(mergeProps(props, context.getRootProps()));
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CarouselViewportProps extends HtmlIngredientProps<'div'> {}
4
+ export interface CarouselViewportProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CheckboxControlProps extends HtmlIngredientProps<'div'> {}
4
+ export interface CheckboxControlProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,5 +1,6 @@
1
1
  import * as checkbox from '@zag-js/checkbox';
2
- export interface CreateCheckboxProps extends checkbox.Context {
2
+ export interface CreateCheckboxProps extends Omit<checkbox.Context, 'id' | 'dir' | 'getRootNode'> {
3
+ id?: string | null;
3
4
  }
4
5
  export interface CreateCheckboxReturn extends checkbox.Api {
5
6
  }
@@ -1,7 +1,17 @@
1
+ import { getEnvironmentContext } from '../environment-provider/context.svelte.js';
2
+ import { getLocaleContext } from '../locale-provider/context.svelte.js';
3
+ import { createUniqueId } from '../utils.svelte.js';
1
4
  import * as checkbox from '@zag-js/checkbox';
2
5
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
6
  export function createCheckbox(props) {
4
- const [state, send] = useMachine(checkbox.machine(props));
7
+ const localeContext = getLocaleContext();
8
+ const environmentContext = getEnvironmentContext();
9
+ const [state, send] = useMachine(checkbox.machine({
10
+ ...props,
11
+ id: props.id ?? createUniqueId(),
12
+ dir: localeContext?.dir,
13
+ getRootNode: environmentContext?.getRootNode,
14
+ }));
5
15
  const api = $derived(reflect(() => checkbox.connect(state, send, normalizeProps)));
6
16
  return api;
7
17
  }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CheckboxHiddenInputProps extends HtmlIngredientProps<'input'> {}
4
+ export interface CheckboxHiddenInputProps extends HtmlProps<'input'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CheckboxIndicatorProps extends HtmlIngredientProps<'span'> {}
4
+ export interface CheckboxIndicatorProps extends HtmlProps<'span'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface CheckboxLabelProps extends HtmlIngredientProps<'span'> {}
4
+ export interface CheckboxLabelProps extends HtmlProps<'span'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,21 +1,15 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import type {CreateCheckboxProps, CreateCheckboxReturn} from './create-checkbox.svelte.js';
5
5
 
6
6
  export interface CheckboxProps
7
- extends Assign<
8
- Omit<HtmlIngredientProps<'label'>, 'children'>,
9
- Omit<CreateCheckboxProps, 'id'>
10
- > {
7
+ extends Assign<Omit<HtmlProps<'label'>, 'children'>, CreateCheckboxProps> {
11
8
  children?: Snippet<[api: CreateCheckboxReturn]>;
12
9
  }
13
10
  </script>
14
11
 
15
12
  <script lang="ts">
16
- import {getEnvironmentContext} from '../environment-provider/index.js';
17
- import {getLocaleContext} from '../locale-provider/index.js';
18
- import {createUniqueId} from '../utils.svelte.js';
19
13
  import {mergeProps} from '@zag-js/svelte';
20
14
  import {checkboxContext} from './context.svelte.js';
21
15
  import {createCheckbox} from './create-checkbox.svelte.js';
@@ -23,7 +17,6 @@
23
17
  let {
24
18
  id,
25
19
  ids,
26
- dir,
27
20
  form,
28
21
  name,
29
22
  value,
@@ -33,20 +26,13 @@
33
26
  readOnly,
34
27
  required,
35
28
  onCheckedChange,
36
- getRootNode,
37
29
  children,
38
30
  ...props
39
31
  }: CheckboxProps = $props();
40
32
 
41
- let localeContext = getLocaleContext();
42
- let environmentContext = getEnvironmentContext();
43
-
44
- let uid = createUniqueId();
45
-
46
33
  let context = createCheckbox({
47
- id: id ?? uid,
34
+ id,
48
35
  ids,
49
- dir: dir ?? localeContext?.dir,
50
36
  form,
51
37
  name,
52
38
  value: $state.snapshot(value),
@@ -56,7 +42,6 @@
56
42
  readOnly,
57
43
  required,
58
44
  onCheckedChange,
59
- getRootNode: getRootNode ?? environmentContext?.getRootNode,
60
45
  });
61
46
 
62
47
  let attrs = $derived(mergeProps(props, context.getRootProps()));
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface ClipboardControlProps extends HtmlIngredientProps<'div'> {}
4
+ export interface ClipboardControlProps extends HtmlProps<'div'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,5 +1,6 @@
1
1
  import * as clipboard from '@zag-js/clipboard';
2
- export interface CreateClipboardProps extends clipboard.Context {
2
+ export interface CreateClipboardProps extends Omit<clipboard.Context, 'id' | 'getRootNode'> {
3
+ id?: string | null;
3
4
  }
4
5
  export interface CreateClipboardReturn extends clipboard.Api {
5
6
  }
@@ -1,7 +1,14 @@
1
+ import { getEnvironmentContext } from '../environment-provider/context.svelte.js';
2
+ import { createUniqueId } from '../utils.svelte.js';
1
3
  import * as clipboard from '@zag-js/clipboard';
2
4
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
5
  export function createClipboard(props) {
4
- const [state, send] = useMachine(clipboard.machine(props));
6
+ const environmentContext = getEnvironmentContext();
7
+ const [state, send] = useMachine(clipboard.machine({
8
+ ...props,
9
+ id: props.id ?? createUniqueId(),
10
+ getRootNode: environmentContext?.getRootNode,
11
+ }));
5
12
  const api = $derived(reflect(() => clipboard.connect(state, send, normalizeProps)));
6
13
  return api;
7
14
  }
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {IndicatorProps} from '@zag-js/clipboard';
4
4
 
5
5
  export interface ClipboardIndicatorProps
6
- extends Assign<HtmlIngredientProps<'span'>, Partial<IndicatorProps>> {}
6
+ extends Assign<HtmlProps<'span'>, Partial<IndicatorProps>> {}
7
7
  </script>
8
8
 
9
9
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface ClipboardInputProps extends HtmlIngredientProps<'input'> {}
4
+ export interface ClipboardInputProps extends HtmlProps<'input'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
2
+ import type {HtmlProps} from '../types.js';
3
3
 
4
- export interface ClipboardLabelProps extends HtmlIngredientProps<'label'> {}
4
+ export interface ClipboardLabelProps extends HtmlProps<'label'> {}
5
5
  </script>
6
6
 
7
7
  <script lang="ts">