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,2 +1 @@
1
- export declare const anatomy: import("@zag-js/anatomy").AnatomyInstance<"root" | "label" | "control" | "input" | "clearTrigger">;
2
- export declare const parts: Record<"root" | "label" | "control" | "input" | "clearTrigger", import("@zag-js/anatomy").AnatomyPart>;
1
+ export { anatomy } from '@zag-js/pin-input';
@@ -1,3 +1 @@
1
- import { anatomy as _ } from '@zag-js/pin-input';
2
- export const anatomy = _.extendWith('clearTrigger');
3
- export const parts = anatomy.build();
1
+ export { anatomy } from '@zag-js/pin-input';
@@ -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
  CreatePinInputProps,
5
5
  CreatePinInputReturn,
@@ -8,7 +8,7 @@
8
8
  export interface PinInputProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreatePinInputReturn>,
11
- CreatePinInputProps
11
+ Optional<CreatePinInputProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,19 +20,22 @@
20
20
  import {setPinInputContext} from './pin-input-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
  }: PinInputProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createPinInputProps, localProps] = $derived(
30
- createSplitProps<CreatePinInputProps>([
33
+ createSplitProps<Omit<CreatePinInputProps, 'id'>>([
31
34
  'autoFocus',
32
35
  'blurOnComplete',
36
+ 'defaultValue',
33
37
  'disabled',
34
38
  'form',
35
- 'id',
36
39
  'ids',
37
40
  'invalid',
38
41
  'mask',
@@ -52,7 +55,10 @@
52
55
  ])(props),
53
56
  );
54
57
 
55
- let pinInput = createPinInputContext(reflect(() => createPinInputProps));
58
+ let pinInput = createPinInputContext(
59
+ reflect(() => ({...createPinInputProps, id: id ?? uid})),
60
+ );
61
+
56
62
  let mergedProps = $derived(mergeProps(pinInput.getRootProps(), localProps));
57
63
 
58
64
  setPinInputContext(pinInput);
@@ -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 { CreatePinInputProps, CreatePinInputReturn } from './create-pin-input.svelte.js';
3
- export interface PinInputProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreatePinInputReturn>, CreatePinInputProps> {
3
+ export interface PinInputProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreatePinInputReturn>, Optional<CreatePinInputProps, 'id'>> {
4
4
  }
5
5
  declare const PinInputRoot: import("svelte").Component<PinInputProps, {}, "ref">;
6
6
  type PinInputRoot = ReturnType<typeof PinInputRoot>;
@@ -1,4 +1,3 @@
1
- export { default as ClearTrigger } from './pin-input-clear-trigger.svelte';
2
1
  export { default as Control } from './pin-input-control.svelte';
3
2
  export { default as HiddenInput } from './pin-input-hidden-input.svelte';
4
3
  export { default as Input } from './pin-input-input.svelte';
@@ -1,4 +1,3 @@
1
- export { default as ClearTrigger } from './pin-input-clear-trigger.svelte';
2
1
  export { default as Control } from './pin-input-control.svelte';
3
2
  export { default as HiddenInput } from './pin-input-hidden-input.svelte';
4
3
  export { default as Input } from './pin-input-input.svelte';
@@ -1,7 +1,5 @@
1
1
  import * as popover from '@zag-js/popover';
2
- export interface CreatePopoverProps extends Omit<popover.Context, 'id' | 'dir' | 'getRootNode' | 'open.controlled'> {
3
- id?: string;
4
- openControlled?: boolean;
2
+ export interface CreatePopoverProps extends Omit<popover.Props, 'dir' | 'getRootNode'> {
5
3
  }
6
4
  export interface CreatePopoverReturn extends popover.Api {
7
5
  }
@@ -1,19 +1,14 @@
1
1
  import * as popover from '@zag-js/popover';
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 createPopover(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(popover.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
- 'open.controlled': props.openControlled,
15
11
  ...props,
16
12
  }));
17
- const [state, send] = useMachine(popover.machine(context), { context });
18
- return reflect(() => popover.connect(state, send, normalizeProps));
13
+ return reflect(() => popover.connect(service, normalizeProps));
19
14
  }
@@ -1,13 +1,14 @@
1
1
  <script lang="ts" module>
2
2
  import type {Snippet} from 'svelte';
3
3
  import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
4
+ import type {Optional} from '../types.js';
4
5
  import type {
5
6
  CreatePopoverProps,
6
7
  CreatePopoverReturn,
7
8
  } from './create-popover.svelte.js';
8
9
 
9
10
  export interface PopoverProps
10
- extends CreatePopoverProps,
11
+ extends Optional<CreatePopoverProps, 'id'>,
11
12
  PresenceStrategyProps {
12
13
  children?: Snippet<[CreatePopoverReturn]>;
13
14
  }
@@ -21,14 +22,16 @@
21
22
  import {createPopover} from './create-popover.svelte.js';
22
23
  import {setPopoverContext} from './popover-context.svelte.js';
23
24
 
24
- let {children, ...props}: PopoverProps = $props();
25
+ let {id, children, ...props}: PopoverProps = $props();
26
+
27
+ let uid = $props.id();
25
28
 
26
29
  let [createPopoverProps, presenceStrategyProps] = $derived(
27
- createSplitProps<CreatePopoverProps>([
30
+ createSplitProps<Omit<CreatePopoverProps, 'id'>>([
28
31
  'autoFocus',
29
32
  'closeOnEscape',
30
33
  'closeOnInteractOutside',
31
- 'id',
34
+ 'defaultOpen',
32
35
  'ids',
33
36
  'initialFocusEl',
34
37
  'modal',
@@ -38,14 +41,16 @@
38
41
  'onOpenChange',
39
42
  'onPointerDownOutside',
40
43
  'open',
41
- 'openControlled',
42
44
  'persistentElements',
43
45
  'portalled',
44
46
  'positioning',
45
47
  ])(props),
46
48
  );
47
49
 
48
- let popover = createPopover(reflect(() => createPopoverProps));
50
+ let popover = createPopover(
51
+ reflect(() => ({...createPopoverProps, id: id ?? uid})),
52
+ );
53
+
49
54
  let presence = createPresence(
50
55
  reflect(() => ({
51
56
  ...presenceStrategyProps,
@@ -1,7 +1,8 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { PresenceStrategyProps } from '../presence/create-presence.svelte.js';
3
+ import type { Optional } from '../types.js';
3
4
  import type { CreatePopoverProps, CreatePopoverReturn } from './create-popover.svelte.js';
4
- export interface PopoverProps extends CreatePopoverProps, PresenceStrategyProps {
5
+ export interface PopoverProps extends Optional<CreatePopoverProps, 'id'>, PresenceStrategyProps {
5
6
  children?: Snippet<[CreatePopoverReturn]>;
6
7
  }
7
8
  declare const PopoverRoot: import("svelte").Component<PopoverProps, {}, "">;
@@ -1,3 +1,4 @@
1
+ import * as presence from '@zag-js/presence';
1
2
  import type { Action } from 'svelte/action';
2
3
  import type { HTMLAttributes } from 'svelte/elements';
3
4
  export interface PresenceStrategyProps {
@@ -6,8 +7,7 @@ export interface PresenceStrategyProps {
6
7
  /** @default true */
7
8
  keepMounted?: boolean;
8
9
  }
9
- export interface CreatePresenceProps extends PresenceStrategyProps {
10
- present: boolean;
10
+ export interface CreatePresenceProps extends PresenceStrategyProps, presence.Props {
11
11
  }
12
12
  export interface CreatePresenceReturn {
13
13
  setReference: Action;
@@ -1,20 +1,12 @@
1
1
  import * as presence from '@zag-js/presence';
2
2
  import { normalizeProps, useMachine } from '@zag-js/svelte';
3
3
  export function createPresence(props) {
4
- const present = $derived(props.present);
5
- const lazyMount = $derived(props.lazyMount ?? false);
6
- const keepMounted = $derived(props.keepMounted ?? true);
7
- const context = $derived({
8
- get present() {
9
- return present;
10
- },
11
- });
12
- const [state, send] = useMachine(presence.machine(context), { context });
13
- const api = $derived(presence.connect(state, send, normalizeProps));
4
+ const service = useMachine(presence.machine, props);
5
+ const api = $derived(presence.connect(service, normalizeProps));
14
6
  function getPresenceProps() {
15
7
  return {
16
8
  hidden: !api.present,
17
- 'data-state': context.present ? 'open' : 'closed',
9
+ 'data-state': props.present ? 'open' : 'closed',
18
10
  };
19
11
  }
20
12
  let wasPresent = $state(false);
@@ -28,9 +20,9 @@ export function createPresence(props) {
28
20
  const unmounted = $derived.by(() => {
29
21
  if (api.present)
30
22
  return false;
31
- if (!wasPresent && lazyMount)
23
+ if (!wasPresent && props.lazyMount)
32
24
  return true;
33
- if (wasPresent && !keepMounted)
25
+ if (wasPresent && !props.keepMounted)
34
26
  return true;
35
27
  return false;
36
28
  });
@@ -20,15 +20,24 @@
20
20
 
21
21
  let [createPresenceProps, localProps] = $derived(
22
22
  createSplitProps<CreatePresenceProps>([
23
+ 'immediate',
23
24
  'keepMounted',
24
25
  'lazyMount',
25
26
  'present',
27
+ 'onExitComplete',
26
28
  ])(props),
27
29
  );
28
30
 
29
31
  let presence = createPresence(reflect(() => createPresenceProps));
30
32
  let mergedProps = $derived(
31
- mergeProps(presence.getPresenceProps(), localProps),
33
+ mergeProps(
34
+ presence.getPresenceProps(),
35
+ {
36
+ 'data-scope': 'presence',
37
+ 'data-part': 'root',
38
+ },
39
+ localProps,
40
+ ),
32
41
  );
33
42
  </script>
34
43
 
@@ -1,6 +1,5 @@
1
1
  import * as progress from '@zag-js/progress';
2
- export interface CreateProgressProps extends Omit<progress.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateProgressProps extends Omit<progress.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateProgressReturn extends progress.Api<any> {
6
5
  }
@@ -1,18 +1,15 @@
1
1
  import * as progress from '@zag-js/progress';
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 createProgress(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(progress.machine, () => ({
12
9
  dir: locale?.dir,
10
+ locale: locale?.locale,
13
11
  getRootNode: environment?.getRootNode,
14
12
  ...props,
15
13
  }));
16
- const [state, send] = useMachine(progress.machine(context), { context });
17
- return reflect(() => progress.connect(state, send, normalizeProps));
14
+ return reflect(() => progress.connect(service, normalizeProps));
18
15
  }
@@ -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
  CreateProgressProps,
5
5
  CreateProgressReturn,
@@ -8,7 +8,7 @@
8
8
  export interface ProgressProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateProgressReturn>,
11
- CreateProgressProps
11
+ Optional<CreateProgressProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,16 +20,21 @@
20
20
  import {setProgressContext} from './progress-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
  }: ProgressProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createProgressProps, localProps] = $derived(
30
- createSplitProps<CreateProgressProps>([
31
- 'id',
33
+ createSplitProps<Omit<CreateProgressProps, 'id'>>([
34
+ 'defaultValue',
35
+ 'formatOptions',
32
36
  'ids',
37
+ 'locale',
33
38
  'max',
34
39
  'min',
35
40
  'onValueChange',
@@ -39,7 +44,9 @@
39
44
  ])(props),
40
45
  );
41
46
 
42
- let progress = createProgress(reflect(() => createProgressProps));
47
+ let progress = createProgress(
48
+ reflect(() => ({...createProgressProps, id: id ?? uid})),
49
+ );
43
50
 
44
51
  let mergedProps = $derived(mergeProps(progress.getRootProps(), localProps));
45
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 { CreateProgressProps, CreateProgressReturn } from './create-progress.svelte.js';
3
- export interface ProgressProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateProgressReturn>, CreateProgressProps> {
3
+ export interface ProgressProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateProgressReturn>, Optional<CreateProgressProps, 'id'>> {
4
4
  }
5
5
  declare const ProgressRoot: import("svelte").Component<ProgressProps, {}, "ref">;
6
6
  type ProgressRoot = ReturnType<typeof ProgressRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as qrCode from '@zag-js/qr-code';
2
- export interface CreateQrCodeProps extends Omit<qrCode.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateQrCodeProps extends Omit<qrCode.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateQrCodeReturn extends qrCode.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as qrCode from '@zag-js/qr-code';
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 createQRCode(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(qrCode.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(qrCode.machine(context), { context });
17
- return reflect(() => qrCode.connect(state, send, normalizeProps));
13
+ return reflect(() => qrCode.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
  CreateQrCodeProps,
5
5
  CreateQrCodeReturn,
@@ -8,7 +8,7 @@
8
8
  export interface QrCodeProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateQrCodeReturn>,
11
- CreateQrCodeProps
11
+ Optional<CreateQrCodeProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,23 +20,29 @@
20
20
  import {setQrCodeContext} from './qr-code-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
  }: QrCodeProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createQrCodeProps, localProps] = $derived(
30
- createSplitProps<CreateQrCodeProps>([
33
+ createSplitProps<Omit<CreateQrCodeProps, 'id'>>([
34
+ 'defaultValue',
31
35
  'encoding',
32
- 'id',
33
36
  'ids',
34
37
  'onValueChange',
38
+ 'pixelSize',
35
39
  'value',
36
40
  ])(props),
37
41
  );
38
42
 
39
- let qrCode = createQRCode(reflect(() => createQrCodeProps));
43
+ let qrCode = createQRCode(
44
+ reflect(() => ({...createQrCodeProps, id: id ?? uid})),
45
+ );
40
46
 
41
47
  let mergedProps = $derived(mergeProps(qrCode.getRootProps(), localProps));
42
48
 
@@ -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 { CreateQrCodeProps, CreateQrCodeReturn } from './create-qr-code.svelte.js';
3
- export interface QrCodeProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateQrCodeReturn>, CreateQrCodeProps> {
3
+ export interface QrCodeProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateQrCodeReturn>, Optional<CreateQrCodeProps, 'id'>> {
4
4
  }
5
5
  declare const QrCodeRoot: import("svelte").Component<QrCodeProps, {}, "ref">;
6
6
  type QrCodeRoot = ReturnType<typeof QrCodeRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as radioGroup from '@zag-js/radio-group';
2
- export interface CreateRadioGroupProps extends Omit<radioGroup.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateRadioGroupProps extends Omit<radioGroup.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateRadioGroupReturn extends radioGroup.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import * as radioGroup 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';
4
+ import { getLocaleContext } from '../locale-provider/locale-provider-context.svelte.js';
6
5
  export function createRadioGroup(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(radioGroup.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(radioGroup.machine(context), { context });
17
- return reflect(() => radioGroup.connect(state, send, normalizeProps));
13
+ return reflect(() => radioGroup.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
  CreateRadioGroupProps,
5
5
  CreateRadioGroupReturn,
@@ -8,7 +8,7 @@
8
8
  export interface RadioGroupProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateRadioGroupReturn>,
11
- CreateRadioGroupProps
11
+ Optional<CreateRadioGroupProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,17 +20,20 @@
20
20
  import {setRadioGroupContext} from './radio-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
  }: RadioGroupProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createRadioGroupProps, localProps] = $derived(
30
- createSplitProps<CreateRadioGroupProps>([
33
+ createSplitProps<Omit<CreateRadioGroupProps, '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 radioGroup = createRadioGroup(reflect(() => createRadioGroupProps));
46
+ let radioGroup = createRadioGroup(
47
+ reflect(() => ({...createRadioGroupProps, id: id ?? uid})),
48
+ );
49
+
44
50
  let mergedProps = $derived(mergeProps(radioGroup.getRootProps(), localProps));
45
51
 
46
52
  setRadioGroupContext(radioGroup);
@@ -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 { CreateRadioGroupProps, CreateRadioGroupReturn } from './create-radio-group.svelte.js';
3
- export interface RadioGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateRadioGroupReturn>, CreateRadioGroupProps> {
3
+ export interface RadioGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateRadioGroupReturn>, Optional<CreateRadioGroupProps, 'id'>> {
4
4
  }
5
5
  declare const RadioGroupRoot: import("svelte").Component<RadioGroupProps, {}, "ref">;
6
6
  type RadioGroupRoot = ReturnType<typeof RadioGroupRoot>;
@@ -1,6 +1,5 @@
1
1
  import * as ratingGroup from '@zag-js/rating-group';
2
- export interface CreateRatingGroupProps extends Omit<ratingGroup.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateRatingGroupProps extends Omit<ratingGroup.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateRatingGroupReturn extends ratingGroup.Api {
6
5
  }
@@ -1,16 +1,13 @@
1
1
  import * as ratingGroup from '@zag-js/rating-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
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 createRatingGroup(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(ratingGroup.machine, () => ({
14
11
  dir: locale?.dir,
15
12
  ids: {
16
13
  label: field?.ids.label,
@@ -22,15 +19,14 @@ export function createRatingGroup(props) {
22
19
  getRootNode: environment?.getRootNode,
23
20
  ...props,
24
21
  }));
25
- const [state, send] = useMachine(ratingGroup.machine(context), { context });
26
22
  return reflect(() => {
27
- const o = ratingGroup.connect(state, send, normalizeProps);
23
+ const api = ratingGroup.connect(service, normalizeProps);
28
24
  return {
29
- ...o,
25
+ ...api,
30
26
  getHiddenInputProps() {
31
27
  return {
32
28
  'aria-describedby': field?.['aria-describedby'],
33
- ...o.getHiddenInputProps(),
29
+ ...api.getHiddenInputProps(),
34
30
  };
35
31
  },
36
32
  };
@@ -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
  CreateRatingGroupProps,
5
5
  CreateRatingGroupReturn,
@@ -8,7 +8,7 @@
8
8
  export interface RatingGroupProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateRatingGroupReturn>,
11
- CreateRatingGroupProps
11
+ Optional<CreateRatingGroupProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,20 +20,23 @@
20
20
  import {setRatingGroupContext} from './rating-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
  }: RatingGroupProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createRatingGroupProps, localProps] = $derived(
30
- createSplitProps<CreateRatingGroupProps>([
33
+ createSplitProps<Omit<CreateRatingGroupProps, 'id'>>([
31
34
  'allowHalf',
32
35
  'autoFocus',
33
36
  'count',
37
+ 'defaultValue',
34
38
  'disabled',
35
39
  'form',
36
- 'id',
37
40
  'ids',
38
41
  'name',
39
42
  'onHoverChange',
@@ -45,7 +48,10 @@
45
48
  ])(props),
46
49
  );
47
50
 
48
- let ratingGroup = createRatingGroup(reflect(() => createRatingGroupProps));
51
+ let ratingGroup = createRatingGroup(
52
+ reflect(() => ({...createRatingGroupProps, id: id ?? uid})),
53
+ );
54
+
49
55
  let mergedProps = $derived(
50
56
  mergeProps(ratingGroup.getRootProps(), localProps),
51
57
  );