ui-ingredients 0.31.2 → 1.0.0

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 (270) hide show
  1. package/dist/accordion/accordion-item.svelte +3 -0
  2. package/dist/accordion/accordion-root.svelte +13 -7
  3. package/dist/accordion/accordion-root.svelte.d.ts +2 -2
  4. package/dist/accordion/create-accordion.svelte.d.ts +1 -2
  5. package/dist/accordion/create-accordion.svelte.js +7 -13
  6. package/dist/alert/alert-root.svelte +11 -5
  7. package/dist/alert/alert-root.svelte.d.ts +2 -2
  8. package/dist/alert/create-alert.svelte.d.ts +1 -1
  9. package/dist/alert/create-alert.svelte.js +3 -5
  10. package/dist/alert-dialog/alert-dialog-anatomy.js +1 -1
  11. package/dist/alert-dialog/alert-dialog-root.svelte +9 -3
  12. package/dist/alert-dialog/alert-dialog-root.svelte.d.ts +2 -1
  13. package/dist/alert-dialog/create-alert-dialog.svelte.d.ts +1 -3
  14. package/dist/alert-dialog/create-alert-dialog.svelte.js +11 -16
  15. package/dist/angle-slider/angle-slider-root.svelte +10 -5
  16. package/dist/angle-slider/angle-slider-root.svelte.d.ts +2 -2
  17. package/dist/angle-slider/create-angle-slider.svelte.d.ts +1 -2
  18. package/dist/angle-slider/create-angle-slider.svelte.js +3 -7
  19. package/dist/avatar/avatar-root.svelte +12 -4
  20. package/dist/avatar/avatar-root.svelte.d.ts +2 -2
  21. package/dist/avatar/create-avatar.svelte.d.ts +1 -2
  22. package/dist/avatar/create-avatar.svelte.js +3 -7
  23. package/dist/breadcrumbs/breadcrumbs-anatomy.d.ts +3 -0
  24. package/dist/breadcrumbs/breadcrumbs-anatomy.js +3 -0
  25. package/dist/breadcrumbs/breadcrumbs-context.svelte.d.ts +3 -0
  26. package/dist/breadcrumbs/breadcrumbs-context.svelte.js +3 -0
  27. package/dist/breadcrumbs/breadcrumbs-item.svelte +5 -0
  28. package/dist/breadcrumbs/breadcrumbs-item.svelte.d.ts +1 -0
  29. package/dist/breadcrumbs/breadcrumbs-link.svelte +5 -0
  30. package/dist/breadcrumbs/breadcrumbs-link.svelte.d.ts +1 -0
  31. package/dist/breadcrumbs/breadcrumbs-list.svelte +5 -0
  32. package/dist/breadcrumbs/breadcrumbs-list.svelte.d.ts +1 -0
  33. package/dist/breadcrumbs/breadcrumbs-root.svelte +5 -0
  34. package/dist/breadcrumbs/breadcrumbs-root.svelte.d.ts +1 -0
  35. package/dist/breadcrumbs/breadcrumbs-separator.svelte +5 -0
  36. package/dist/breadcrumbs/breadcrumbs-separator.svelte.d.ts +1 -0
  37. package/dist/breadcrumbs/create-breadcrumbs.d.ts +6 -0
  38. package/dist/breadcrumbs/create-breadcrumbs.js +3 -0
  39. package/dist/carousel/carousel-root.svelte +11 -5
  40. package/dist/carousel/carousel-root.svelte.d.ts +2 -2
  41. package/dist/carousel/create-carousel.svelte.d.ts +1 -2
  42. package/dist/carousel/create-carousel.svelte.js +3 -7
  43. package/dist/checkbox/checkbox-root.svelte +10 -5
  44. package/dist/checkbox/checkbox-root.svelte.d.ts +2 -2
  45. package/dist/checkbox/create-checkbox.svelte.d.ts +1 -2
  46. package/dist/checkbox/create-checkbox.svelte.js +5 -9
  47. package/dist/clipboard/clipboard-root.svelte +11 -5
  48. package/dist/clipboard/clipboard-root.svelte.d.ts +2 -2
  49. package/dist/clipboard/create-clipboard.svelte.d.ts +1 -2
  50. package/dist/clipboard/create-clipboard.svelte.js +2 -6
  51. package/dist/collapsible/collapsible-root.svelte +13 -8
  52. package/dist/collapsible/collapsible-root.svelte.d.ts +2 -2
  53. package/dist/collapsible/create-collapsible.svelte.d.ts +1 -3
  54. package/dist/collapsible/create-collapsible.svelte.js +3 -8
  55. package/dist/color-picker/color-picker-channel-slider-value-text.svelte +1 -1
  56. package/dist/color-picker/color-picker-root.svelte +15 -8
  57. package/dist/color-picker/color-picker-root.svelte.d.ts +2 -2
  58. package/dist/color-picker/create-color-picker.svelte.d.ts +5 -5
  59. package/dist/color-picker/create-color-picker.svelte.js +9 -13
  60. package/dist/combobox/combobox-item-group.svelte +2 -2
  61. package/dist/combobox/combobox-root.svelte +16 -8
  62. package/dist/combobox/combobox-root.svelte.d.ts +2 -2
  63. package/dist/combobox/create-combobox.svelte.d.ts +1 -5
  64. package/dist/combobox/create-combobox.svelte.js +6 -14
  65. package/dist/date-picker/create-date-picker.svelte.d.ts +1 -7
  66. package/dist/date-picker/create-date-picker.svelte.js +4 -24
  67. package/dist/date-picker/date-picker-anatomy.d.ts +1 -2
  68. package/dist/date-picker/date-picker-anatomy.js +1 -3
  69. package/dist/date-picker/date-picker-root.svelte +20 -11
  70. package/dist/date-picker/date-picker-root.svelte.d.ts +2 -2
  71. package/dist/dialog/create-dialog.svelte.d.ts +1 -3
  72. package/dist/dialog/create-dialog.svelte.js +3 -8
  73. package/dist/dialog/dialog-root.svelte +9 -3
  74. package/dist/dialog/dialog-root.svelte.d.ts +2 -1
  75. package/dist/drawer/create-drawer.svelte.d.ts +8 -3
  76. package/dist/drawer/create-drawer.svelte.js +38 -20
  77. package/dist/drawer/drawer-root.svelte +9 -3
  78. package/dist/drawer/drawer-root.svelte.d.ts +2 -1
  79. package/dist/editable/create-editable.svelte.d.ts +1 -3
  80. package/dist/editable/create-editable.svelte.js +5 -10
  81. package/dist/editable/editable-root.svelte +12 -6
  82. package/dist/editable/editable-root.svelte.d.ts +2 -2
  83. package/dist/field/create-field.svelte.d.ts +2 -1
  84. package/dist/field/create-field.svelte.js +11 -3
  85. package/dist/field/field-root.svelte +12 -7
  86. package/dist/field/field-root.svelte.d.ts +2 -2
  87. package/dist/file-upload/create-file-upload.svelte.d.ts +1 -2
  88. package/dist/file-upload/create-file-upload.svelte.js +5 -9
  89. package/dist/file-upload/file-upload-root.svelte +9 -6
  90. package/dist/file-upload/file-upload-root.svelte.d.ts +2 -2
  91. package/dist/floating-panel/create-floating-panel.svelte.d.ts +1 -2
  92. package/dist/floating-panel/create-floating-panel.svelte.js +3 -7
  93. package/dist/floating-panel/floating-panel-anatomy.d.ts +1 -1
  94. package/dist/floating-panel/floating-panel-anatomy.js +1 -1
  95. package/dist/floating-panel/floating-panel-root.svelte +6 -3
  96. package/dist/floating-panel/floating-panel-root.svelte.d.ts +2 -1
  97. package/dist/focus-trap/focus-trap.svelte +104 -0
  98. package/dist/focus-trap/focus-trap.svelte.d.ts +11 -0
  99. package/dist/focus-trap/index.d.ts +1 -0
  100. package/dist/focus-trap/index.js +1 -0
  101. package/dist/highlight/highlight.svelte +8 -2
  102. package/dist/hover-card/create-hover-card.svelte.d.ts +1 -3
  103. package/dist/hover-card/create-hover-card.svelte.js +3 -8
  104. package/dist/hover-card/hover-card-root.svelte +14 -6
  105. package/dist/hover-card/hover-card-root.svelte.d.ts +2 -1
  106. package/dist/index.d.ts +1 -1
  107. package/dist/index.js +1 -1
  108. package/dist/locale-provider/index.d.ts +2 -2
  109. package/dist/locale-provider/index.js +2 -2
  110. package/dist/locale-provider/{local-provider.svelte → locale-provider.svelte} +1 -1
  111. package/dist/locale-provider/locale-provider.svelte.d.ts +8 -0
  112. package/dist/menu/create-menu.svelte.d.ts +2 -4
  113. package/dist/menu/create-menu.svelte.js +4 -9
  114. package/dist/menu/menu-arrow-tip.svelte +1 -1
  115. package/dist/menu/menu-arrow.svelte +1 -1
  116. package/dist/menu/menu-content.svelte +5 -1
  117. package/dist/menu/menu-context-trigger.svelte +3 -1
  118. package/dist/menu/menu-indicator.svelte +3 -1
  119. package/dist/menu/menu-item-group-label.svelte +1 -1
  120. package/dist/menu/menu-item-group.svelte +3 -3
  121. package/dist/menu/menu-item.svelte +9 -2
  122. package/dist/menu/menu-option-item-indicator.svelte +1 -1
  123. package/dist/menu/menu-option-item-text.svelte +1 -1
  124. package/dist/menu/menu-option-item.svelte +10 -2
  125. package/dist/menu/menu-positioner.svelte +5 -1
  126. package/dist/menu/menu-root.svelte +13 -8
  127. package/dist/menu/menu-root.svelte.d.ts +2 -1
  128. package/dist/menu/menu-separator.svelte +3 -1
  129. package/dist/menu/menu-trigger.svelte +1 -1
  130. package/dist/number-input/create-number-input.svelte.d.ts +1 -2
  131. package/dist/number-input/create-number-input.svelte.js +5 -9
  132. package/dist/number-input/number-input-root.svelte +10 -5
  133. package/dist/number-input/number-input-root.svelte.d.ts +2 -2
  134. package/dist/pagination/create-pagination.svelte.d.ts +1 -2
  135. package/dist/pagination/create-pagination.svelte.js +3 -7
  136. package/dist/pagination/pagination-root.svelte +11 -5
  137. package/dist/pagination/pagination-root.svelte.d.ts +2 -2
  138. package/dist/pin-input/create-pin-input.svelte.d.ts +1 -4
  139. package/dist/pin-input/create-pin-input.svelte.js +5 -19
  140. package/dist/pin-input/index.d.ts +0 -1
  141. package/dist/pin-input/pin-input-anatomy.d.ts +1 -2
  142. package/dist/pin-input/pin-input-anatomy.js +1 -3
  143. package/dist/pin-input/pin-input-root.svelte +11 -5
  144. package/dist/pin-input/pin-input-root.svelte.d.ts +2 -2
  145. package/dist/pin-input/pin-input.d.ts +0 -1
  146. package/dist/pin-input/pin-input.js +0 -1
  147. package/dist/popover/create-popover.svelte.d.ts +1 -3
  148. package/dist/popover/create-popover.svelte.js +3 -8
  149. package/dist/popover/popover-root.svelte +11 -6
  150. package/dist/popover/popover-root.svelte.d.ts +2 -1
  151. package/dist/presence/create-presence.svelte.d.ts +2 -2
  152. package/dist/presence/create-presence.svelte.js +5 -13
  153. package/dist/presence/presence.svelte +10 -1
  154. package/dist/progress/create-progress.svelte.d.ts +1 -2
  155. package/dist/progress/create-progress.svelte.js +4 -7
  156. package/dist/progress/progress-root.svelte +12 -5
  157. package/dist/progress/progress-root.svelte.d.ts +2 -2
  158. package/dist/qr-code/create-qr-code.svelte.d.ts +1 -2
  159. package/dist/qr-code/create-qr-code.svelte.js +3 -7
  160. package/dist/qr-code/qr-code-root.svelte +11 -5
  161. package/dist/qr-code/qr-code-root.svelte.d.ts +2 -2
  162. package/dist/radio-group/create-radio-group.svelte.d.ts +1 -2
  163. package/dist/radio-group/create-radio-group.svelte.js +3 -7
  164. package/dist/radio-group/radio-group-root.svelte +11 -5
  165. package/dist/radio-group/radio-group-root.svelte.d.ts +2 -2
  166. package/dist/rating-group/create-rating-group.svelte.d.ts +1 -2
  167. package/dist/rating-group/create-rating-group.svelte.js +5 -9
  168. package/dist/rating-group/rating-group-root.svelte +11 -5
  169. package/dist/rating-group/rating-group-root.svelte.d.ts +2 -2
  170. package/dist/segment-group/create-segment-group.svelte.d.ts +1 -2
  171. package/dist/segment-group/create-segment-group.svelte.js +28 -15
  172. package/dist/segment-group/segment-group-root.svelte +11 -5
  173. package/dist/segment-group/segment-group-root.svelte.d.ts +2 -2
  174. package/dist/select/create-select.svelte.d.ts +1 -5
  175. package/dist/select/create-select.svelte.js +6 -11
  176. package/dist/select/select-item-group.svelte +2 -2
  177. package/dist/select/select-root.svelte +17 -8
  178. package/dist/select/select-root.svelte.d.ts +2 -2
  179. package/dist/signature-pad/create-signature-pad.svelte.d.ts +1 -2
  180. package/dist/signature-pad/create-signature-pad.svelte.js +3 -7
  181. package/dist/signature-pad/signature-pad-root.svelte +9 -5
  182. package/dist/signature-pad/signature-pad-root.svelte.d.ts +2 -2
  183. package/dist/slider/create-slider.svelte.d.ts +1 -2
  184. package/dist/slider/create-slider.svelte.js +3 -7
  185. package/dist/slider/slider-root.svelte +11 -5
  186. package/dist/slider/slider-root.svelte.d.ts +2 -2
  187. package/dist/splitter/create-splitter.svelte.d.ts +1 -2
  188. package/dist/splitter/create-splitter.svelte.js +3 -7
  189. package/dist/splitter/splitter-root.svelte +11 -5
  190. package/dist/splitter/splitter-root.svelte.d.ts +2 -2
  191. package/dist/steps/create-steps.svelte.d.ts +1 -2
  192. package/dist/steps/create-steps.svelte.js +3 -7
  193. package/dist/steps/steps-root.svelte +13 -7
  194. package/dist/steps/steps-root.svelte.d.ts +2 -2
  195. package/dist/switch/create-switch.svelte.d.ts +1 -2
  196. package/dist/switch/create-switch.svelte.js +5 -9
  197. package/dist/switch/switch-root.svelte +11 -5
  198. package/dist/switch/switch-root.svelte.d.ts +2 -2
  199. package/dist/tabs/create-tabs.svelte.d.ts +1 -2
  200. package/dist/tabs/create-tabs.svelte.js +3 -7
  201. package/dist/tabs/tabs-root.svelte +9 -5
  202. package/dist/tabs/tabs-root.svelte.d.ts +2 -2
  203. package/dist/tabs/tabs-trigger.svelte +10 -3
  204. package/dist/tabs/tabs-trigger.svelte.d.ts +6 -1
  205. package/dist/tags-input/create-tags-input.svelte.d.ts +1 -2
  206. package/dist/tags-input/create-tags-input.svelte.js +5 -9
  207. package/dist/tags-input/tags-input-root.svelte +11 -5
  208. package/dist/tags-input/tags-input-root.svelte.d.ts +2 -2
  209. package/dist/time-picker/create-time-picker.svelte.d.ts +1 -3
  210. package/dist/time-picker/create-time-picker.svelte.js +3 -8
  211. package/dist/time-picker/time-picker-root.svelte +16 -8
  212. package/dist/time-picker/time-picker-root.svelte.d.ts +2 -2
  213. package/dist/timer/create-timer.svelte.d.ts +1 -2
  214. package/dist/timer/create-timer.svelte.js +2 -6
  215. package/dist/timer/timer-root.svelte +10 -5
  216. package/dist/timer/timer-root.svelte.d.ts +2 -2
  217. package/dist/toast/create-toaster.svelte.d.ts +4 -7
  218. package/dist/toast/create-toaster.svelte.js +3 -9
  219. package/dist/toast/index.d.ts +1 -3
  220. package/dist/toast/index.js +1 -3
  221. package/dist/toast/toast-anatomy.d.ts +1 -1
  222. package/dist/toast/toast-anatomy.js +1 -1
  223. package/dist/toast/toast-context.svelte.js +1 -0
  224. package/dist/toast/toast-provider.svelte +27 -0
  225. package/dist/toast/toast-provider.svelte.d.ts +11 -0
  226. package/dist/toast/toast-root.svelte +2 -2
  227. package/dist/toast/toast-root.svelte.d.ts +2 -2
  228. package/dist/toast/toaster.svelte +23 -37
  229. package/dist/toast/toaster.svelte.d.ts +7 -6
  230. package/dist/toggle/create-toggle.svelte.d.ts +3 -13
  231. package/dist/toggle/create-toggle.svelte.js +4 -31
  232. package/dist/toggle/index.d.ts +1 -0
  233. package/dist/toggle/toggle-anatomy.d.ts +1 -2
  234. package/dist/toggle/toggle-anatomy.js +1 -3
  235. package/dist/toggle/toggle-indicator.svelte +29 -0
  236. package/dist/toggle/toggle-indicator.svelte.d.ts +6 -0
  237. package/dist/toggle/toggle-root.svelte +1 -0
  238. package/dist/toggle/toggle.d.ts +1 -0
  239. package/dist/toggle/toggle.js +1 -0
  240. package/dist/toggle-group/create-toggle-group.svelte.d.ts +1 -2
  241. package/dist/toggle-group/create-toggle-group.svelte.js +3 -7
  242. package/dist/toggle-group/toggle-group-root.svelte +11 -5
  243. package/dist/toggle-group/toggle-group-root.svelte.d.ts +2 -2
  244. package/dist/tooltip/create-tooltip.svelte.d.ts +1 -3
  245. package/dist/tooltip/create-tooltip.svelte.js +3 -8
  246. package/dist/tooltip/tooltip-root.svelte +9 -3
  247. package/dist/tooltip/tooltip-root.svelte.d.ts +2 -1
  248. package/dist/tour/create-tour.svelte.d.ts +7 -3
  249. package/dist/tour/create-tour.svelte.js +9 -12
  250. package/dist/tour/tour-root.svelte +9 -3
  251. package/dist/tour/tour-root.svelte.d.ts +2 -1
  252. package/dist/tree-view/create-tree-view.svelte.d.ts +1 -2
  253. package/dist/tree-view/create-tree-view.svelte.js +3 -7
  254. package/dist/tree-view/tree-view-branch.svelte +3 -0
  255. package/dist/tree-view/tree-view-root.svelte +14 -7
  256. package/dist/tree-view/tree-view-root.svelte.d.ts +2 -2
  257. package/dist/types.d.ts +1 -0
  258. package/package.json +403 -403
  259. package/dist/create-unique-id.d.ts +0 -1
  260. package/dist/create-unique-id.js +0 -15
  261. package/dist/locale-provider/local-provider.svelte.d.ts +0 -8
  262. package/dist/pin-input/pin-input-clear-trigger.svelte +0 -31
  263. package/dist/pin-input/pin-input-clear-trigger.svelte.d.ts +0 -6
  264. package/dist/toast/create-toast.svelte.d.ts +0 -6
  265. package/dist/toast/create-toast.svelte.js +0 -6
  266. package/dist/toast/toast-actor.svelte +0 -19
  267. package/dist/toast/toast-actor.svelte.d.ts +0 -10
  268. package/dist/toast/toast-context.svelte.d.ts +0 -2
  269. /package/dist/locale-provider/{local-provider-context.svelte.d.ts → locale-provider-context.svelte.d.ts} +0 -0
  270. /package/dist/locale-provider/{local-provider-context.svelte.js → locale-provider-context.svelte.js} +0 -0
@@ -1,6 +1,6 @@
1
- import type { Assign, HtmlIngredientProps } from '../types.js';
1
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
2
2
  import type { CreateRatingGroupProps, CreateRatingGroupReturn } from './create-rating-group.svelte.js';
3
- export interface RatingGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateRatingGroupReturn>, CreateRatingGroupProps> {
3
+ export interface RatingGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateRatingGroupReturn>, Optional<CreateRatingGroupProps, 'id'>> {
4
4
  }
5
5
  declare const RatingGroupRoot: import("svelte").Component<RatingGroupProps, {}, "ref">;
6
6
  type RatingGroupRoot = ReturnType<typeof RatingGroupRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as segmentGroup from '@zag-js/radio-group';
2
- export interface CreateSegmentGroupProps extends Omit<segmentGroup.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateSegmentGroupProps extends Omit<segmentGroup.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateSegmentGroupReturn extends segmentGroup.Api {
6
5
  }
@@ -1,42 +1,55 @@
1
1
  import * as segmentGroup from '@zag-js/radio-group';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
6
- import { mergeProps } from '../merge-props.js';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
7
5
  import { parts } from './segment-group-anatomy.js';
8
6
  export function createSegmentGroup(props) {
9
7
  const locale = getLocaleContext();
10
8
  const environment = getEnvironmentContext();
11
- const id = createUniqueId();
12
- const context = reflect(() => ({
13
- id,
9
+ const service = useMachine(segmentGroup.machine, () => ({
14
10
  dir: locale?.dir,
15
11
  getRootNode: environment?.getRootNode,
16
12
  ...props,
17
13
  }));
18
- const [state, send] = useMachine(segmentGroup.machine(context), { context });
19
14
  return reflect(() => {
20
- const o = segmentGroup.connect(state, send, normalizeProps);
15
+ const api = segmentGroup.connect(service, normalizeProps);
21
16
  return {
22
- ...o,
17
+ ...api,
23
18
  getIndicatorProps() {
24
- return mergeProps(o.getIndicatorProps(), parts.indicator.attrs);
19
+ return {
20
+ ...api.getIndicatorProps(),
21
+ ...parts.indicator.attrs,
22
+ };
25
23
  },
26
24
  getItemControlProps(props) {
27
- return mergeProps(o.getItemControlProps(props), parts.itemControl.attrs);
25
+ return {
26
+ ...api.getItemControlProps(props),
27
+ ...parts.itemControl.attrs,
28
+ };
28
29
  },
29
30
  getItemProps(props) {
30
- return mergeProps(o.getItemProps(props), parts.item.attrs);
31
+ return {
32
+ ...api.getItemProps(props),
33
+ ...parts.item.attrs,
34
+ };
31
35
  },
32
36
  getItemTextProps(props) {
33
- return mergeProps(o.getItemTextProps(props), parts.itemText.attrs);
37
+ return {
38
+ ...api.getItemTextProps(props),
39
+ ...parts.itemText.attrs,
40
+ };
34
41
  },
35
42
  getLabelProps() {
36
- return mergeProps(o.getLabelProps(), parts.label.attrs);
43
+ return {
44
+ ...api.getLabelProps(),
45
+ ...parts.label.attrs,
46
+ };
37
47
  },
38
48
  getRootProps() {
39
- return mergeProps(o.getRootProps(), parts.root.attrs);
49
+ return {
50
+ ...api.getRootProps(),
51
+ ...parts.root.attrs,
52
+ };
40
53
  },
41
54
  };
42
55
  });
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
3
3
  import type {
4
4
  CreateSegmentGroupProps,
5
5
  CreateSegmentGroupReturn,
@@ -8,7 +8,7 @@
8
8
  export interface SegmentGroupProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateSegmentGroupReturn>,
11
- CreateSegmentGroupProps
11
+ Optional<CreateSegmentGroupProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,17 +20,20 @@
20
20
  import {setSegmentGroupContext} from './segment-group-context.svelte.js';
21
21
 
22
22
  let {
23
+ id,
23
24
  ref = $bindable(null),
24
25
  asChild,
25
26
  children,
26
27
  ...props
27
28
  }: SegmentGroupProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createSegmentGroupProps, localProps] = $derived(
30
- createSplitProps<CreateSegmentGroupProps>([
33
+ createSplitProps<Omit<CreateSegmentGroupProps, 'id'>>([
34
+ 'defaultValue',
31
35
  'disabled',
32
36
  'form',
33
- 'id',
34
37
  'ids',
35
38
  'name',
36
39
  'onValueChange',
@@ -40,7 +43,10 @@
40
43
  ])(props),
41
44
  );
42
45
 
43
- let segmentGroup = createSegmentGroup(reflect(() => createSegmentGroupProps));
46
+ let segmentGroup = createSegmentGroup(
47
+ reflect(() => ({...createSegmentGroupProps, id: id ?? uid})),
48
+ );
49
+
44
50
  let mergedProps = $derived(
45
51
  mergeProps(segmentGroup.getRootProps(), localProps),
46
52
  );
@@ -1,6 +1,6 @@
1
- import type { Assign, HtmlIngredientProps } from '../types.js';
1
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
2
2
  import type { CreateSegmentGroupProps, CreateSegmentGroupReturn } from './create-segment-group.svelte.js';
3
- export interface SegmentGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSegmentGroupReturn>, CreateSegmentGroupProps> {
3
+ export interface SegmentGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSegmentGroupReturn>, Optional<CreateSegmentGroupProps, 'id'>> {
4
4
  }
5
5
  declare const SegmentGroupRoot: import("svelte").Component<SegmentGroupProps, {}, "ref">;
6
6
  type SegmentGroupRoot = ReturnType<typeof SegmentGroupRoot>;
@@ -1,10 +1,6 @@
1
1
  import * as select from '@zag-js/select';
2
- type Omitted = 'id' | 'dir' | 'getRootNode' | 'open.controlled';
3
- export interface CreateSelectProps extends Omit<select.Context, Omitted> {
4
- id?: string;
5
- openControlled?: boolean;
2
+ export interface CreateSelectProps extends Omit<select.Props, 'dir' | 'getRootNode'> {
6
3
  }
7
4
  export interface CreateSelectReturn extends select.Api {
8
5
  }
9
6
  export declare function createSelect(props: CreateSelectProps): CreateSelectReturn;
10
- export {};
@@ -1,16 +1,13 @@
1
1
  import * as select from '@zag-js/select';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
4
  import { getFieldContext } from '../field/field-context.svelte.js';
6
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
5
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
7
6
  export function createSelect(props) {
8
7
  const field = getFieldContext();
9
8
  const locale = getLocaleContext();
10
9
  const environment = getEnvironmentContext();
11
- const id = createUniqueId();
12
- const context = reflect(() => ({
13
- id,
10
+ const service = useMachine(select.machine, () => ({
14
11
  ids: {
15
12
  label: field?.ids.label,
16
13
  hiddenSelect: field?.ids.control,
@@ -20,19 +17,17 @@ export function createSelect(props) {
20
17
  disabled: field?.disabled,
21
18
  readOnly: field?.readOnly,
22
19
  required: field?.required,
23
- ...props,
24
20
  getRootNode: environment?.getRootNode,
25
- 'open.controlled': props.openControlled,
21
+ ...props,
26
22
  }));
27
- const [state, send] = useMachine(select.machine(context), { context });
28
23
  return reflect(() => {
29
- const o = select.connect(state, send, normalizeProps);
24
+ const api = select.connect(service, normalizeProps);
30
25
  return {
31
- ...o,
26
+ ...api,
32
27
  getHiddenSelectProps() {
33
28
  return {
34
29
  'aria-describedby': field?.['aria-describedby'],
35
- ...o.getHiddenSelectProps(),
30
+ ...api.getHiddenSelectProps(),
36
31
  };
37
32
  },
38
33
  };
@@ -6,7 +6,6 @@
6
6
  </script>
7
7
 
8
8
  <script lang="ts">
9
- import {createUniqueId} from '../create-unique-id.js';
10
9
  import {mergeProps} from '../merge-props.js';
11
10
  import {
12
11
  getSelectContext,
@@ -21,9 +20,10 @@
21
20
  ...props
22
21
  }: SelectItemGroupProps = $props();
23
22
 
23
+ let uid = $props.id();
24
+
24
25
  let select = getSelectContext();
25
26
 
26
- let uid = createUniqueId();
27
27
  let itemGroupProps = $derived({id: id ?? uid});
28
28
  let mergedProps = $derived(
29
29
  mergeProps(select.getItemGroupProps(itemGroupProps), props),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" module>
2
2
  import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
3
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
4
4
  import type {
5
5
  CreateSelectProps,
6
6
  CreateSelectReturn,
@@ -9,7 +9,7 @@
9
9
  export interface SelectProps
10
10
  extends Assign<
11
11
  HtmlIngredientProps<'div', HTMLDivElement, CreateSelectReturn>,
12
- CreateSelectProps
12
+ Optional<CreateSelectProps, 'id'>
13
13
  >,
14
14
  PresenceStrategyProps {}
15
15
  </script>
@@ -24,22 +24,27 @@
24
24
  import {setSelectContext} from './select-context.svelte.js';
25
25
 
26
26
  let {
27
+ id,
27
28
  ref = $bindable(null),
28
29
  asChild,
29
30
  children,
30
31
  ...props
31
32
  }: SelectProps = $props();
32
33
 
33
- let [createSelectProps, rest] = $derived(
34
- createSplitProps<CreateSelectProps>([
34
+ let uid = $props.id();
35
+
36
+ let [createSelectProps, selectProps] = $derived(
37
+ createSplitProps<Omit<CreateSelectProps, 'id'>>([
35
38
  'closeOnSelect',
36
39
  'collection',
37
40
  'composite',
41
+ 'defaultHighlightedValue',
42
+ 'defaultOpen',
43
+ 'defaultValue',
38
44
  'deselectable',
39
45
  'disabled',
40
46
  'form',
41
47
  'highlightedValue',
42
- 'id',
43
48
  'ids',
44
49
  'invalid',
45
50
  'loopFocus',
@@ -52,7 +57,6 @@
52
57
  'onPointerDownOutside',
53
58
  'onValueChange',
54
59
  'open',
55
- 'openControlled',
56
60
  'positioning',
57
61
  'readOnly',
58
62
  'required',
@@ -62,10 +66,15 @@
62
66
  );
63
67
 
64
68
  let [presenceStrategyProps, localProps] = $derived(
65
- createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(rest),
69
+ createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
70
+ selectProps,
71
+ ),
72
+ );
73
+
74
+ let select = createSelect(
75
+ reflect(() => ({...createSelectProps, id: id ?? uid})),
66
76
  );
67
77
 
68
- let select = createSelect(reflect(() => createSelectProps));
69
78
  let presence = createPresence(
70
79
  reflect(() => ({
71
80
  ...presenceStrategyProps,
@@ -1,7 +1,7 @@
1
1
  import type { PresenceStrategyProps } from '../presence/create-presence.svelte.js';
2
- import type { Assign, HtmlIngredientProps } from '../types.js';
2
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
3
3
  import type { CreateSelectProps, CreateSelectReturn } from './create-select.svelte.js';
4
- export interface SelectProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSelectReturn>, CreateSelectProps>, PresenceStrategyProps {
4
+ export interface SelectProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSelectReturn>, Optional<CreateSelectProps, 'id'>>, PresenceStrategyProps {
5
5
  }
6
6
  declare const SelectRoot: import("svelte").Component<SelectProps, {}, "ref">;
7
7
  type SelectRoot = ReturnType<typeof SelectRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as signaturePad from '@zag-js/signature-pad';
2
- export interface CreateSignaturePadProps extends Omit<signaturePad.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateSignaturePadProps extends Omit<signaturePad.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateSignaturePadReturn extends signaturePad.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as signaturePad from '@zag-js/signature-pad';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
6
5
  export function createSignaturePad(props) {
7
6
  const locale = getLocaleContext();
8
7
  const environment = getEnvironmentContext();
9
- const id = createUniqueId();
10
- const context = reflect(() => ({
11
- id,
8
+ const service = useMachine(signaturePad.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(signaturePad.machine(context), { context });
17
- return reflect(() => signaturePad.connect(state, send, normalizeProps));
13
+ return reflect(() => signaturePad.connect(service, normalizeProps));
18
14
  }
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
3
3
  import type {
4
4
  CreateSignaturePadProps,
5
5
  CreateSignaturePadReturn,
@@ -8,7 +8,7 @@
8
8
  export interface SignaturePadProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateSignaturePadReturn>,
11
- CreateSignaturePadProps
11
+ Optional<CreateSignaturePadProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,17 +20,19 @@
20
20
  import {setSignaturePadContext} from './signature-pad-context.svelte.js';
21
21
 
22
22
  let {
23
+ id,
23
24
  ref = $bindable(null),
24
25
  asChild,
25
26
  children,
26
27
  ...props
27
28
  }: SignaturePadProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createSignaturePadProps, localProps] = $derived(
30
- createSplitProps<CreateSignaturePadProps>([
33
+ createSplitProps<Omit<CreateSignaturePadProps, 'id'>>([
31
34
  'disabled',
32
35
  'drawing',
33
- 'id',
34
36
  'ids',
35
37
  'name',
36
38
  'onDraw',
@@ -41,7 +43,9 @@
41
43
  ])(props),
42
44
  );
43
45
 
44
- let signaturePad = createSignaturePad(reflect(() => createSignaturePadProps));
46
+ let signaturePad = createSignaturePad(
47
+ reflect(() => ({...createSignaturePadProps, id: id ?? uid})),
48
+ );
45
49
 
46
50
  let mergedProps = $derived(
47
51
  mergeProps(signaturePad.getRootProps(), localProps),
@@ -1,6 +1,6 @@
1
- import type { Assign, HtmlIngredientProps } from '../types.js';
1
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
2
2
  import type { CreateSignaturePadProps, CreateSignaturePadReturn } from './create-signature-pad.svelte.js';
3
- export interface SignaturePadProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSignaturePadReturn>, CreateSignaturePadProps> {
3
+ export interface SignaturePadProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSignaturePadReturn>, Optional<CreateSignaturePadProps, 'id'>> {
4
4
  }
5
5
  declare const SignaturePadRoot: import("svelte").Component<SignaturePadProps, {}, "ref">;
6
6
  type SignaturePadRoot = ReturnType<typeof SignaturePadRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as slider from '@zag-js/slider';
2
- export interface CreateSliderProps extends Omit<slider.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateSliderProps extends Omit<slider.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateSliderReturn extends slider.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as slider from '@zag-js/slider';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
6
5
  export function createSlider(props) {
7
6
  const locale = getLocaleContext();
8
7
  const environment = getEnvironmentContext();
9
- const id = createUniqueId();
10
- const context = reflect(() => ({
11
- id,
8
+ const service = useMachine(slider.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(slider.machine(context), { context });
17
- return reflect(() => slider.connect(state, send, normalizeProps));
13
+ return reflect(() => slider.connect(service, normalizeProps));
18
14
  }
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
3
3
  import type {
4
4
  CreateSliderProps,
5
5
  CreateSliderReturn,
@@ -8,7 +8,7 @@
8
8
  export interface SliderProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateSliderReturn>,
11
- CreateSliderProps
11
+ Optional<CreateSliderProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,20 +20,23 @@
20
20
  import {setSliderContext} from './slider-context.svelte.js';
21
21
 
22
22
  let {
23
+ id,
23
24
  ref = $bindable(null),
24
25
  asChild,
25
26
  children,
26
27
  ...props
27
28
  }: SliderProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createSliderProps, localProps] = $derived(
30
- createSplitProps<CreateSliderProps>([
33
+ createSplitProps<Omit<CreateSliderProps, 'id'>>([
31
34
  'aria-label',
32
35
  'aria-labelledby',
36
+ 'defaultValue',
33
37
  'disabled',
34
38
  'form',
35
39
  'getAriaValueText',
36
- 'id',
37
40
  'ids',
38
41
  'invalid',
39
42
  'max',
@@ -53,7 +56,10 @@
53
56
  ])(props),
54
57
  );
55
58
 
56
- let slider = createSlider(reflect(() => createSliderProps));
59
+ let slider = createSlider(
60
+ reflect(() => ({...createSliderProps, id: id ?? uid})),
61
+ );
62
+
57
63
  let mergedProps = $derived(mergeProps(slider.getRootProps(), localProps));
58
64
 
59
65
  setSliderContext(slider);
@@ -1,6 +1,6 @@
1
- import type { Assign, HtmlIngredientProps } from '../types.js';
1
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
2
2
  import type { CreateSliderProps, CreateSliderReturn } from './create-slider.svelte.js';
3
- export interface SliderProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSliderReturn>, CreateSliderProps> {
3
+ export interface SliderProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSliderReturn>, Optional<CreateSliderProps, 'id'>> {
4
4
  }
5
5
  declare const SliderRoot: import("svelte").Component<SliderProps, {}, "ref">;
6
6
  type SliderRoot = ReturnType<typeof SliderRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as splitter from '@zag-js/splitter';
2
- export interface CreateSplitterProps extends Omit<splitter.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateSplitterProps extends Omit<splitter.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateSplitterReturn extends splitter.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as splitter from '@zag-js/splitter';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
6
5
  export function createSplitter(props) {
7
6
  const locale = getLocaleContext();
8
7
  const environment = getEnvironmentContext();
9
- const id = createUniqueId();
10
- const context = reflect(() => ({
11
- id,
8
+ const service = useMachine(splitter.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(splitter.machine(context), { context });
17
- return reflect(() => splitter.connect(state, send, normalizeProps));
13
+ return reflect(() => splitter.connect(service, normalizeProps));
18
14
  }
@@ -1,5 +1,5 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
2
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
3
3
  import type {
4
4
  CreateSplitterProps,
5
5
  CreateSplitterReturn,
@@ -8,7 +8,7 @@
8
8
  export interface SplitterProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateSplitterReturn>,
11
- CreateSplitterProps
11
+ Optional<CreateSplitterProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,15 +20,18 @@
20
20
  import {setSplitterContext} from './splitter-context.svelte.js';
21
21
 
22
22
  let {
23
+ id,
23
24
  ref = $bindable(null),
24
25
  asChild,
25
26
  children,
26
27
  ...props
27
28
  }: SplitterProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createSplitterProps, localProps] = $derived(
30
- createSplitProps<CreateSplitterProps>([
31
- 'id',
33
+ createSplitProps<Omit<CreateSplitterProps, 'id'>>([
34
+ 'defaultSize',
32
35
  'ids',
33
36
  'onSizeChange',
34
37
  'onSizeChangeEnd',
@@ -37,7 +40,10 @@
37
40
  ])(props),
38
41
  );
39
42
 
40
- let splitter = createSplitter(reflect(() => createSplitterProps));
43
+ let splitter = createSplitter(
44
+ reflect(() => ({...createSplitterProps, id: id ?? uid})),
45
+ );
46
+
41
47
  let mergedProps = $derived(mergeProps(splitter.getRootProps(), localProps));
42
48
 
43
49
  setSplitterContext(splitter);
@@ -1,6 +1,6 @@
1
- import type { Assign, HtmlIngredientProps } from '../types.js';
1
+ import type { Assign, HtmlIngredientProps, Optional } from '../types.js';
2
2
  import type { CreateSplitterProps, CreateSplitterReturn } from './create-splitter.svelte.js';
3
- export interface SplitterProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSplitterReturn>, CreateSplitterProps> {
3
+ export interface SplitterProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateSplitterReturn>, Optional<CreateSplitterProps, 'id'>> {
4
4
  }
5
5
  declare const SplitterRoot: import("svelte").Component<SplitterProps, {}, "ref">;
6
6
  type SplitterRoot = ReturnType<typeof SplitterRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as steps from '@zag-js/steps';
2
- export interface CreateStepsProps extends Omit<steps.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateStepsProps extends Omit<steps.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateStepsReturn extends steps.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as steps from '@zag-js/steps';
2
2
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
3
- import { createUniqueId } from '../create-unique-id.js';
4
3
  import { getEnvironmentContext } from '../environment-provider/enviroment-provider-context.svelte.js';
5
- import { getLocaleContext } from '../locale-provider/local-provider-context.svelte.js';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
6
5
  export function createSteps(props) {
7
6
  const locale = getLocaleContext();
8
7
  const environment = getEnvironmentContext();
9
- const id = createUniqueId();
10
- const context = reflect(() => ({
11
- id,
8
+ const service = useMachine(steps.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(steps.machine(context), { context });
17
- return reflect(() => steps.connect(state, send, normalizeProps));
13
+ return reflect(() => steps.connect(service, normalizeProps));
18
14
  }