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,11 +1,5 @@
1
- import { normalizeProps, reflect } from 'zagjs-legacy-svelte';
2
- import * as toast from 'zagjs-legacy-toast';
3
- import { createUniqueId } from '../create-unique-id.js';
1
+ import * as toast from '@zag-js/toast';
4
2
  export function createToaster(props) {
5
- const id = createUniqueId();
6
- const machine = $derived(toast.group.machine({ id, ...props }));
7
- return reflect(() => ({
8
- machine,
9
- ...toast.group.connect(machine, machine.send, normalizeProps),
10
- }));
3
+ const store = $derived(toast.createStore(props));
4
+ return store;
11
5
  }
@@ -6,8 +6,6 @@ export type { ToastGhostAfterProps } from './toast-ghost-after.svelte';
6
6
  export type { ToastGhostBeforeProps } from './toast-ghost-before.svelte';
7
7
  export type { ToastProps } from './toast-root.svelte';
8
8
  export type { ToastTitleProps } from './toast-title.svelte';
9
- export { createToast, type CreateToastProps, type CreateToastReturn, } from './create-toast.svelte.js';
10
- export { anatomy as toastAnatomy } from './toast-anatomy.js';
11
- export { getToastContext, setToastContext } from './toast-context.svelte.js';
12
9
  export { createToaster, type CreateToasterProps, type CreateToasterReturn, } from './create-toaster.svelte.js';
10
+ export { anatomy as toastAnatomy } from './toast-anatomy.js';
13
11
  export { default as Toaster, type ToasterProps } from './toaster.svelte';
@@ -1,6 +1,4 @@
1
1
  export * as Toast from './toast.js';
2
- export { createToast, } from './create-toast.svelte.js';
3
- export { anatomy as toastAnatomy } from './toast-anatomy.js';
4
- export { getToastContext, setToastContext } from './toast-context.svelte.js';
5
2
  export { createToaster, } from './create-toaster.svelte.js';
3
+ export { anatomy as toastAnatomy } from './toast-anatomy.js';
6
4
  export { default as Toaster } from './toaster.svelte';
@@ -1 +1 @@
1
- export { anatomy } from 'zagjs-legacy-toast';
1
+ export { anatomy } from '@zag-js/toast';
@@ -1 +1 @@
1
- export { anatomy } from 'zagjs-legacy-toast';
1
+ export { anatomy } from '@zag-js/toast';
@@ -1,2 +1,3 @@
1
+ import * as toast from '@zag-js/toast';
1
2
  import { createContext } from '../create-context.svelte.js';
2
3
  export const [getToastContext, setToastContext] = createContext('Toast');
@@ -0,0 +1,27 @@
1
+ <script lang="ts">
2
+ import {normalizeProps, reflect, useMachine} from '@zag-js/svelte';
3
+ import * as toast from '@zag-js/toast';
4
+ import type {Snippet} from 'svelte';
5
+ import {setToastContext} from './toast-context.svelte.js';
6
+
7
+ interface Props {
8
+ index: number;
9
+ toast: toast.Options;
10
+ parent: toast.GroupService;
11
+ children: Snippet<[toast: toast.Api]>;
12
+ }
13
+
14
+ let props: Props = $props();
15
+
16
+ let service = useMachine(toast.machine, () => ({
17
+ ...props.toast,
18
+ index: props.index,
19
+ parent: props.parent,
20
+ }));
21
+
22
+ let api = reflect(() => toast.connect(service, normalizeProps));
23
+
24
+ setToastContext(api);
25
+ </script>
26
+
27
+ {@render props.children?.(api)}
@@ -0,0 +1,11 @@
1
+ import * as toast from '@zag-js/toast';
2
+ import type { Snippet } from 'svelte';
3
+ interface Props {
4
+ index: number;
5
+ toast: toast.Options;
6
+ parent: toast.GroupService;
7
+ children: Snippet<[toast: toast.Api]>;
8
+ }
9
+ declare const ToastProvider: import("svelte").Component<Props, {}, "">;
10
+ type ToastProvider = ReturnType<typeof ToastProvider>;
11
+ export default ToastProvider;
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" module>
2
+ import type {Api} from '@zag-js/toast';
2
3
  import type {HtmlIngredientProps} from '../types.js';
3
- import type {CreateToastReturn} from './create-toast.svelte.js';
4
4
 
5
5
  export interface ToastProps
6
- extends HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn> {}
6
+ extends HtmlIngredientProps<'div', HTMLDivElement, Api> {}
7
7
  </script>
8
8
 
9
9
  <script lang="ts">
@@ -1,6 +1,6 @@
1
+ import type { Api } from '@zag-js/toast';
1
2
  import type { HtmlIngredientProps } from '../types.js';
2
- import type { CreateToastReturn } from './create-toast.svelte.js';
3
- export interface ToastProps extends HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn> {
3
+ export interface ToastProps extends HtmlIngredientProps<'div', HTMLDivElement, Api> {
4
4
  }
5
5
  declare const ToastRoot: import("svelte").Component<ToastProps, {}, "ref">;
6
6
  type ToastRoot = ReturnType<typeof ToastRoot>;
@@ -1,61 +1,47 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
3
- import type {CreateToastReturn} from './create-toast.svelte.js';
4
- import type {CreateToasterReturn} from './create-toaster.svelte.js';
5
-
6
- export interface ToasterProps
7
- extends Omit<
8
- HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn>,
9
- 'asChild'
10
- > {
11
- toaster: CreateToasterReturn;
2
+ export interface ToasterProps {
3
+ label?: string;
4
+ toaster: toast.Store;
5
+ children: Snippet<[toast: toast.Api]>;
12
6
  }
13
7
  </script>
14
8
 
15
9
  <script lang="ts">
16
- import {normalizeProps, portal, useMachine} from 'zagjs-legacy-svelte';
17
- import * as toast from 'zagjs-legacy-toast';
10
+ import {normalizeProps, portal, reflect, useMachine} from '@zag-js/svelte';
11
+ import * as toast from '@zag-js/toast';
12
+ import type {Snippet} from 'svelte';
18
13
  import {getEnvironmentContext} from '../environment-provider/enviroment-provider-context.svelte.js';
19
- import {getLocaleContext} from '../locale-provider/local-provider-context.svelte.js';
20
- import {mergeProps} from '../merge-props.js';
14
+ import {getLocaleContext} from '../locale-provider/locale-provider-context.svelte.js';
21
15
  import {getPortalProviderPropsContext} from '../portal/portal-context.svelte.js';
22
- import ToastActor from './toast-actor.svelte';
16
+ import ToastProvider from './toast-provider.svelte';
23
17
 
24
- let {
25
- ref = $bindable(null),
26
- toaster,
27
- children,
28
- ...props
29
- }: ToasterProps = $props();
18
+ let {label, toaster, children}: ToasterProps = $props();
30
19
 
20
+ let id = $props.id();
31
21
  let locale = getLocaleContext();
32
22
  let environment = getEnvironmentContext();
33
23
  let portalProviderProps = getPortalProviderPropsContext();
34
24
 
35
- let [state, send] = useMachine(toaster.machine, {
36
- context: {
37
- get dir() {
38
- return locale?.dir;
39
- },
40
- getRootNode: environment?.getRootNode,
41
- },
42
- });
25
+ let service = useMachine(toast.group.machine, () => ({
26
+ id,
27
+ dir: locale?.dir,
28
+ store: toaster,
29
+ getRootNode: environment?.getRootNode,
30
+ }));
43
31
 
44
- let placement = $derived(state.context.placement);
45
- let api = $derived(toast.group.connect(state, send, normalizeProps));
46
- let toasts = $derived(api.getToastsByPlacement(placement));
47
- let mergedProps = $derived(mergeProps(api.getGroupProps({placement}), props));
32
+ let api = reflect(() => toast.group.connect(service, normalizeProps));
33
+ let toasts = $derived(api.getToasts());
48
34
  </script>
49
35
 
50
36
  <div
51
- bind:this={ref}
52
37
  use:portal={{
38
+ disabled: false,
53
39
  container: portalProviderProps?.container ?? undefined,
54
40
  getRootNode: environment?.getRootNode,
55
41
  }}
56
- {...mergedProps}
42
+ {...api.getGroupProps({label})}
57
43
  >
58
- {#each toasts as toast (toast.id)}
59
- <ToastActor actor={toast} {children} />
44
+ {#each toasts as toast, index (toast.id)}
45
+ <ToastProvider {index} {children} {toast} parent={service} />
60
46
  {/each}
61
47
  </div>
@@ -1,9 +1,10 @@
1
- import type { HtmlIngredientProps } from '../types.js';
2
- import type { CreateToastReturn } from './create-toast.svelte.js';
3
- import type { CreateToasterReturn } from './create-toaster.svelte.js';
4
- export interface ToasterProps extends Omit<HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn>, 'asChild'> {
5
- toaster: CreateToasterReturn;
1
+ export interface ToasterProps {
2
+ label?: string;
3
+ toaster: toast.Store;
4
+ children: Snippet<[toast: toast.Api]>;
6
5
  }
7
- declare const Toaster: import("svelte").Component<ToasterProps, {}, "ref">;
6
+ import * as toast from '@zag-js/toast';
7
+ import type { Snippet } from 'svelte';
8
+ declare const Toaster: import("svelte").Component<ToasterProps, {}, "">;
8
9
  type Toaster = ReturnType<typeof Toaster>;
9
10
  export default Toaster;
@@ -1,16 +1,6 @@
1
- import type { HTMLButtonAttributes } from 'svelte/elements';
2
- interface PressedChangeDetails {
3
- pressed: boolean;
1
+ import * as toggle from '@zag-js/toggle';
2
+ export interface CreateToggleProps extends toggle.Props {
4
3
  }
5
- export interface CreateToggleProps {
6
- disabled?: boolean;
7
- pressed?: boolean;
8
- onPressedChange?: (detail: PressedChangeDetails) => void;
9
- }
10
- export interface CreateToggleReturn {
11
- pressed: boolean;
12
- setPressed: (pressed: boolean) => void;
13
- getRootProps(): HTMLButtonAttributes;
4
+ export interface CreateToggleReturn extends toggle.Api {
14
5
  }
15
6
  export declare function createToggle(props: CreateToggleProps): any;
16
- export {};
@@ -1,33 +1,6 @@
1
- import { ariaAttr, dataAttr } from '@zag-js/dom-query';
2
- import { reflect } from '@zag-js/svelte';
3
- import { parts } from './toggle-anatomy.js';
1
+ import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
2
+ import * as toggle from '@zag-js/toggle';
4
3
  export function createToggle(props) {
5
- let pressed = $state(props.pressed ?? false);
6
- function setPressed(value) {
7
- props.onPressedChange?.({ pressed: value });
8
- pressed = value;
9
- }
10
- function getRootProps() {
11
- return {
12
- disabled: props.disabled,
13
- onclick() {
14
- if (props.disabled)
15
- return;
16
- setPressed(!pressed);
17
- },
18
- 'aria-pressed': ariaAttr(pressed),
19
- 'data-state': pressed ? 'on' : 'off',
20
- 'data-pressed': dataAttr(pressed),
21
- 'data-disabled': dataAttr(props.disabled),
22
- ...parts.root.attrs,
23
- };
24
- }
25
- $effect(() => {
26
- pressed = props.pressed ?? false;
27
- });
28
- return reflect(() => ({
29
- pressed,
30
- setPressed,
31
- getRootProps,
32
- }));
4
+ const service = useMachine(toggle.machine, props);
5
+ return reflect(() => toggle.connect(service, normalizeProps));
33
6
  }
@@ -1,4 +1,5 @@
1
1
  export * as Toggle from './toggle.js';
2
+ export type { ToggleIndicatorProps } from './toggle-indicator.svelte';
2
3
  export type { ToggleProps } from './toggle-root.svelte';
3
4
  export { createToggle, type CreateToggleProps, type CreateToggleReturn, } from './create-toggle.svelte.js';
4
5
  export { anatomy as toggleAnatomy } from './toggle-anatomy.js';
@@ -1,2 +1 @@
1
- export declare const anatomy: import("@zag-js/anatomy").AnatomyInstance<"root">;
2
- export declare const parts: Record<"root", import("@zag-js/anatomy").AnatomyPart>;
1
+ export { anatomy } from '@zag-js/toggle';
@@ -1,3 +1 @@
1
- import { createAnatomy } from '@zag-js/anatomy';
2
- export const anatomy = createAnatomy('toggle').parts('root');
3
- export const parts = anatomy.build();
1
+ export { anatomy } from '@zag-js/toggle';
@@ -0,0 +1,29 @@
1
+ <script lang="ts" module>
2
+ import type {HtmlIngredientProps} from '../types.js';
3
+
4
+ export interface ToggleIndicatorProps
5
+ extends HtmlIngredientProps<'span', HTMLSpanElement> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import {mergeProps} from '../merge-props.js';
10
+ import {getToggleContext} from './toggle-context.svelte.js';
11
+
12
+ let {
13
+ ref = $bindable(null),
14
+ asChild,
15
+ children,
16
+ ...props
17
+ }: ToggleIndicatorProps = $props();
18
+
19
+ let toggle = getToggleContext();
20
+ let mergedProps = $derived(mergeProps(toggle.getIndicatorProps(), props));
21
+ </script>
22
+
23
+ {#if asChild}
24
+ {@render asChild(mergedProps)}
25
+ {:else}
26
+ <span bind:this={ref} {...mergedProps}>
27
+ {@render children?.()}
28
+ </span>
29
+ {/if}
@@ -0,0 +1,6 @@
1
+ import type { HtmlIngredientProps } from '../types.js';
2
+ export interface ToggleIndicatorProps extends HtmlIngredientProps<'span', HTMLSpanElement> {
3
+ }
4
+ declare const ToggleIndicator: import("svelte").Component<ToggleIndicatorProps, {}, "ref">;
5
+ type ToggleIndicator = ReturnType<typeof ToggleIndicator>;
6
+ export default ToggleIndicator;
@@ -28,6 +28,7 @@
28
28
 
29
29
  let [createToggleProps, localProps] = $derived(
30
30
  createSplitProps<CreateToggleProps>([
31
+ 'defaultPressed',
31
32
  'disabled',
32
33
  'onPressedChange',
33
34
  'pressed',
@@ -1 +1,2 @@
1
+ export { default as Indicator } from './toggle-indicator.svelte';
1
2
  export { default as Root } from './toggle-root.svelte';
@@ -1 +1,2 @@
1
+ export { default as Indicator } from './toggle-indicator.svelte';
1
2
  export { default as Root } from './toggle-root.svelte';
@@ -1,6 +1,5 @@
1
1
  import * as toggleGroup from '@zag-js/toggle-group';
2
- export interface CreateToggleGroupProps extends Omit<toggleGroup.Context, 'id' | 'dir' | 'getRootNode'> {
3
- id?: string;
2
+ export interface CreateToggleGroupProps extends Omit<toggleGroup.Props, 'dir' | 'getRootNode'> {
4
3
  }
5
4
  export interface CreateToggleGroupReturn extends toggleGroup.Api {
6
5
  }
@@ -1,18 +1,14 @@
1
1
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
2
2
  import * as toggleGroup from '@zag-js/toggle-group';
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 createToggleGroup(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(toggleGroup.machine, () => ({
12
9
  dir: locale?.dir,
13
10
  getRootNode: environment?.getRootNode,
14
11
  ...props,
15
12
  }));
16
- const [state, send] = useMachine(toggleGroup.machine(context), { context });
17
- return reflect(() => toggleGroup.connect(state, send, normalizeProps));
13
+ return reflect(() => toggleGroup.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
  CreateToggleGroupProps,
5
5
  CreateToggleGroupReturn,
@@ -8,7 +8,7 @@
8
8
  export interface ToggleGroupProps
9
9
  extends Assign<
10
10
  HtmlIngredientProps<'div', HTMLDivElement, CreateToggleGroupReturn>,
11
- CreateToggleGroupProps
11
+ Optional<CreateToggleGroupProps, 'id'>
12
12
  > {}
13
13
  </script>
14
14
 
@@ -20,16 +20,19 @@
20
20
  import {setToggleGroupContext} from './toggle-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
  }: ToggleGroupProps = $props();
28
29
 
30
+ let uid = $props.id();
31
+
29
32
  let [createToggleGroupProps, localProps] = $derived(
30
- createSplitProps<CreateToggleGroupProps>([
33
+ createSplitProps<Omit<CreateToggleGroupProps, 'id'>>([
34
+ 'defaultValue',
31
35
  'disabled',
32
- 'id',
33
36
  'ids',
34
37
  'loopFocus',
35
38
  'multiple',
@@ -40,7 +43,10 @@
40
43
  ])(props),
41
44
  );
42
45
 
43
- let toggleGroup = createToggleGroup(reflect(() => createToggleGroupProps));
46
+ let toggleGroup = createToggleGroup(
47
+ reflect(() => ({...createToggleGroupProps, id: id ?? uid})),
48
+ );
49
+
44
50
  let mergedProps = $derived(
45
51
  mergeProps(toggleGroup.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 { CreateToggleGroupProps, CreateToggleGroupReturn } from './create-toggle-group.svelte.js';
3
- export interface ToggleGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateToggleGroupReturn>, CreateToggleGroupProps> {
3
+ export interface ToggleGroupProps extends Assign<HtmlIngredientProps<'div', HTMLDivElement, CreateToggleGroupReturn>, Optional<CreateToggleGroupProps, 'id'>> {
4
4
  }
5
5
  declare const ToggleGroupRoot: import("svelte").Component<ToggleGroupProps, {}, "ref">;
6
6
  type ToggleGroupRoot = ReturnType<typeof ToggleGroupRoot>;
@@ -1,7 +1,5 @@
1
1
  import * as tooltip from '@zag-js/tooltip';
2
- export interface CreateTooltipProps extends Omit<tooltip.Context, 'id' | 'dir' | 'getRootNode' | 'open.controlled'> {
3
- id?: string;
4
- openControlled?: boolean;
2
+ export interface CreateTooltipProps extends Omit<tooltip.Props, 'dir' | 'getRootNode'> {
5
3
  }
6
4
  export interface CreateTooltipReturn extends tooltip.Api {
7
5
  }
@@ -1,19 +1,14 @@
1
1
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
2
2
  import * as tooltip from '@zag-js/tooltip';
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 createTooltip(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(tooltip.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(tooltip.machine(context), { context });
18
- return reflect(() => tooltip.connect(state, send, normalizeProps));
13
+ return reflect(() => tooltip.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
  CreateTooltipProps,
6
7
  CreateTooltipReturn,
7
8
  } from './create-tooltip.svelte.js';
8
9
 
9
10
  export interface TooltipProps
10
- extends CreateTooltipProps,
11
+ extends Optional<CreateTooltipProps, 'id'>,
11
12
  PresenceStrategyProps {
12
13
  children?: Snippet<[CreateTooltipReturn]>;
13
14
  }
@@ -21,7 +22,9 @@
21
22
  import {createTooltip} from './create-tooltip.svelte.js';
22
23
  import {setTooltipContext} from './tooltip-context.svelte.js';
23
24
 
24
- let {children, ...props}: TooltipProps = $props();
25
+ let {id, children, ...props}: TooltipProps = $props();
26
+
27
+ let uid = $props.id();
25
28
 
26
29
  let [presenceStrategyProps, createTooltipProps] = $derived(
27
30
  createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
@@ -29,7 +32,10 @@
29
32
  ),
30
33
  );
31
34
 
32
- let tooltip = createTooltip(reflect(() => createTooltipProps));
35
+ let tooltip = createTooltip(
36
+ reflect(() => ({...createTooltipProps, id: id ?? uid})),
37
+ );
38
+
33
39
  let presence = createPresence(
34
40
  reflect(() => ({
35
41
  ...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 { CreateTooltipProps, CreateTooltipReturn } from './create-tooltip.svelte.js';
4
- export interface TooltipProps extends CreateTooltipProps, PresenceStrategyProps {
5
+ export interface TooltipProps extends Optional<CreateTooltipProps, 'id'>, PresenceStrategyProps {
5
6
  children?: Snippet<[CreateTooltipReturn]>;
6
7
  }
7
8
  declare const TooltipRoot: import("svelte").Component<TooltipProps, {}, "">;
@@ -1,9 +1,13 @@
1
1
  import * as tour from '@zag-js/tour';
2
2
  import type { HTMLButtonAttributes } from 'svelte/elements';
3
- export interface TourStepDetails extends Omit<tour.StepDetails, 'id'> {
3
+ import type { Optional } from '../types.js';
4
+ export interface TourStepDetails extends Optional<tour.StepDetails, 'id'> {
4
5
  }
5
- export interface CreateTourProps extends Omit<tour.Context, 'id' | 'dir' | 'steps' | 'getRootNode'> {
6
- id?: string;
6
+ export interface ElementIds extends tour.ElementIds {
7
+ trigger?: string;
8
+ }
9
+ export interface CreateTourProps extends Omit<tour.Props, 'ids' | 'dir' | 'steps' | 'getRootNode'> {
10
+ ids?: ElementIds;
7
11
  steps?: TourStepDetails[];
8
12
  }
9
13
  export interface CreateTourReturn extends tour.Api<any> {
@@ -1,37 +1,34 @@
1
1
  import { normalizeProps, reflect, useMachine } from '@zag-js/svelte';
2
2
  import * as tour from '@zag-js/tour';
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
  import { parts } from './tour-anatomy.js';
7
6
  export function createTour(props) {
8
7
  const locale = getLocaleContext();
9
8
  const environment = getEnvironmentContext();
10
- const id = createUniqueId();
11
9
  const steps = $derived.by(() => {
12
- return props.steps?.map((step) => ({
13
- id: createUniqueId(),
10
+ return props.steps?.map((step, index) => ({
11
+ id: `tour:${props.id}:step:${index}`,
14
12
  ...step,
15
13
  }));
16
14
  });
17
- const context = reflect(() => ({
18
- id,
15
+ const service = useMachine(tour.machine, () => ({
19
16
  dir: locale?.dir,
20
17
  getRootNode: environment?.getRootNode,
21
18
  ...props,
22
19
  steps,
23
20
  }));
24
- const [state, send] = useMachine(tour.machine(context), { context });
25
21
  return reflect(() => {
26
- const o = tour.connect(state, send, normalizeProps);
22
+ const api = tour.connect(service, normalizeProps);
27
23
  return {
28
- ...o,
24
+ ...api,
29
25
  getTriggerProps() {
30
26
  return {
27
+ id: `tour:${props.id}:trigger`,
31
28
  onclick() {
32
- o.start();
29
+ api.start();
33
30
  },
34
- 'data-state': o.open ? 'open' : 'closed',
31
+ 'data-state': api.open ? 'open' : 'closed',
35
32
  ...parts.trigger.attrs,
36
33
  };
37
34
  },
@@ -1,12 +1,15 @@
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
  CreateTourProps,
6
7
  CreateTourReturn,
7
8
  } from './create-tour.svelte.js';
8
9
 
9
- export interface TourProps extends CreateTourProps, PresenceStrategyProps {
10
+ export interface TourProps
11
+ extends Optional<CreateTourProps, 'id'>,
12
+ PresenceStrategyProps {
10
13
  children?: Snippet<[CreateTourReturn]>;
11
14
  }
12
15
  </script>
@@ -22,7 +25,9 @@
22
25
  import {createTour} from './create-tour.svelte.js';
23
26
  import {setTourContext} from './tour-context.svelte.js';
24
27
 
25
- let {children, ...props}: TourProps = $props();
28
+ let {id, children, ...props}: TourProps = $props();
29
+
30
+ let uid = $props.id();
26
31
 
27
32
  let [presenceStrategyProps, createTourProps] = $derived(
28
33
  createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
@@ -30,7 +35,8 @@
30
35
  ),
31
36
  );
32
37
 
33
- let tour = createTour(reflect(() => createTourProps));
38
+ let tour = createTour(reflect(() => ({...createTourProps, id: id ?? uid})));
39
+
34
40
  let presence = createPresence(
35
41
  reflect(() => ({
36
42
  ...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 { CreateTourProps, CreateTourReturn } from './create-tour.svelte.js';
4
- export interface TourProps extends CreateTourProps, PresenceStrategyProps {
5
+ export interface TourProps extends Optional<CreateTourProps, 'id'>, PresenceStrategyProps {
5
6
  children?: Snippet<[CreateTourReturn]>;
6
7
  }
7
8
  declare const TourRoot: import("svelte").Component<TourProps, {}, "">;