bits-ui 0.9.0 → 0.9.2

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 (55) hide show
  1. package/dist/bits/accordion/components/Accordion.svelte.d.ts +1 -1
  2. package/dist/bits/accordion/ctx.d.ts +1 -1
  3. package/dist/bits/alert-dialog/components/AlertDialog.svelte +11 -32
  4. package/dist/bits/alert-dialog/components/AlertDialog.svelte.d.ts +7 -3
  5. package/dist/bits/alert-dialog/components/AlertDialogContent.svelte +7 -18
  6. package/dist/bits/alert-dialog/components/AlertDialogContent.svelte.d.ts +1 -1
  7. package/dist/bits/alert-dialog/components/AlertDialogOverlay.svelte +7 -7
  8. package/dist/bits/alert-dialog/components/AlertDialogTrigger.svelte.d.ts +0 -1
  9. package/dist/bits/alert-dialog/ctx.d.ts +17 -21
  10. package/dist/bits/alert-dialog/ctx.js +1 -5
  11. package/dist/bits/checkbox/components/Checkbox.svelte +1 -0
  12. package/dist/bits/context-menu/components/ContextMenu.svelte.d.ts +6 -2
  13. package/dist/bits/context-menu/components/ContextMenuSub.svelte.d.ts +6 -2
  14. package/dist/bits/context-menu/components/ContextMenuTrigger.svelte.d.ts +1 -0
  15. package/dist/bits/context-menu/ctx.d.ts +37 -36
  16. package/dist/bits/dialog/components/Dialog.svelte +11 -35
  17. package/dist/bits/dialog/components/Dialog.svelte.d.ts +8 -4
  18. package/dist/bits/dialog/components/DialogContent.svelte +7 -18
  19. package/dist/bits/dialog/components/DialogContent.svelte.d.ts +1 -1
  20. package/dist/bits/dialog/components/DialogOverlay.svelte +7 -7
  21. package/dist/bits/dialog/components/DialogTrigger.svelte.d.ts +0 -1
  22. package/dist/bits/dialog/ctx.d.ts +17 -21
  23. package/dist/bits/dialog/ctx.js +1 -5
  24. package/dist/bits/dropdown-menu/components/DropdownMenu.svelte +6 -1
  25. package/dist/bits/dropdown-menu/components/DropdownMenu.svelte.d.ts +4 -0
  26. package/dist/bits/dropdown-menu/components/DropdownMenuSub.svelte +7 -2
  27. package/dist/bits/dropdown-menu/components/DropdownMenuSub.svelte.d.ts +4 -0
  28. package/dist/bits/dropdown-menu/ctx.d.ts +35 -35
  29. package/dist/bits/link-preview/components/LinkPreview.svelte +7 -2
  30. package/dist/bits/link-preview/components/LinkPreview.svelte.d.ts +4 -0
  31. package/dist/bits/link-preview/ctx.d.ts +12 -12
  32. package/dist/bits/menubar/components/Menubar.svelte +6 -2
  33. package/dist/bits/menubar/components/Menubar.svelte.d.ts +3 -0
  34. package/dist/bits/menubar/components/MenubarMenu.svelte +7 -2
  35. package/dist/bits/menubar/components/MenubarMenu.svelte.d.ts +6 -1
  36. package/dist/bits/menubar/components/MenubarSub.svelte +7 -2
  37. package/dist/bits/menubar/components/MenubarSub.svelte.d.ts +4 -0
  38. package/dist/bits/menubar/ctx.d.ts +50 -42
  39. package/dist/bits/popover/components/Popover.svelte +6 -1
  40. package/dist/bits/popover/components/Popover.svelte.d.ts +5 -1
  41. package/dist/bits/popover/ctx.d.ts +6 -6
  42. package/dist/bits/select/components/Select.svelte +11 -2
  43. package/dist/bits/select/components/Select.svelte.d.ts +6 -1
  44. package/dist/bits/select/components/SelectTrigger.svelte.d.ts +0 -1
  45. package/dist/bits/select/ctx.d.ts +6 -7
  46. package/dist/bits/slider/components/Slider.svelte.d.ts +1 -1
  47. package/dist/bits/slider/ctx.d.ts +1 -1
  48. package/dist/bits/tooltip/components/Tooltip.svelte +7 -2
  49. package/dist/bits/tooltip/components/Tooltip.svelte.d.ts +6 -2
  50. package/dist/bits/tooltip/ctx.d.ts +4 -4
  51. package/dist/internal/index.d.ts +0 -1
  52. package/dist/internal/index.js +0 -1
  53. package/package.json +13 -13
  54. package/dist/internal/transition.d.ts +0 -11
  55. package/dist/internal/transition.js +0 -55
@@ -5,15 +5,15 @@ export declare function getCtx(): LinkPreviewReturn;
5
5
  export declare function setCtx(props: CreateLinkPreviewProps): {
6
6
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
7
7
  ids: {
8
- content: string;
9
- trigger: string;
8
+ content: import("svelte/store").Writable<string>;
9
+ trigger: import("svelte/store").Writable<string>;
10
10
  };
11
11
  elements: {
12
12
  trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
13
13
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
14
14
  set: (this: void, value: boolean) => void;
15
15
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
16
- }], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"blur" | "focus" | "pointerenter" | "pointerleave">, ([$open]: [boolean]) => {
16
+ }, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"blur" | "focus" | "pointerenter" | "pointerleave">, ([$open, $triggerId, $contentId]: [boolean, string, string]) => {
17
17
  role: "button";
18
18
  'aria-haspopup': "dialog";
19
19
  'aria-expanded': boolean;
@@ -21,7 +21,7 @@ export declare function setCtx(props: CreateLinkPreviewProps): {
21
21
  'aria-controls': string;
22
22
  id: string;
23
23
  }, string>;
24
- content: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"focusout" | "pointerdown" | "pointerenter" | "pointerleave">, ([$isVisible, $portal]: [boolean, string | HTMLElement | null]) => {
24
+ content: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"focusout" | "pointerdown" | "pointerenter" | "pointerleave">, ([$isVisible, $portal, $contentId]: [boolean, string | HTMLElement | null, string]) => {
25
25
  hidden: boolean | undefined;
26
26
  tabindex: number;
27
27
  style: string;
@@ -42,19 +42,19 @@ export declare function setCtx(props: CreateLinkPreviewProps): {
42
42
  };
43
43
  };
44
44
  options: {
45
+ open?: import("svelte/store").Writable<import("svelte/store").Writable<boolean> | undefined> | undefined;
46
+ forceVisible: import("svelte/store").Writable<boolean>;
47
+ defaultOpen: import("svelte/store").Writable<boolean>;
48
+ onOpenChange?: import("svelte/store").Writable<import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined> | undefined;
49
+ portal: import("svelte/store").Writable<string | HTMLElement | null>;
45
50
  positioning: import("svelte/store").Writable<import("@melt-ui/svelte/internal/actions").FloatingConfig | {
46
51
  placement: "bottom";
47
52
  }>;
48
- defaultOpen: import("svelte/store").Writable<boolean>;
49
- open?: import("svelte/store").Writable<import("svelte/store").Writable<boolean> | undefined> | undefined;
50
- onOpenChange?: import("svelte/store").Writable<import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined> | undefined;
51
- openDelay: import("svelte/store").Writable<number>;
52
- closeDelay: import("svelte/store").Writable<number>;
53
+ arrowSize: import("svelte/store").Writable<number>;
53
54
  closeOnOutsideClick: import("svelte/store").Writable<boolean>;
54
55
  closeOnEscape: import("svelte/store").Writable<boolean>;
55
- arrowSize: import("svelte/store").Writable<number>;
56
- forceVisible: import("svelte/store").Writable<boolean>;
57
- portal: import("svelte/store").Writable<string | HTMLElement | null>;
56
+ openDelay: import("svelte/store").Writable<number>;
57
+ closeDelay: import("svelte/store").Writable<number>;
58
58
  };
59
59
  };
60
60
  export declare function setArrow(size?: number): LinkPreviewReturn;
@@ -1,5 +1,6 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { setCtx, getAttrs } from "../ctx.js";
3
+ import { derived } from "svelte/store";
3
4
  export let loop = true;
4
5
  export let closeOnEscape = true;
5
6
  export let asChild = false;
@@ -8,6 +9,9 @@ const {
8
9
  updateOption,
9
10
  ids
10
11
  } = setCtx({ loop, closeOnEscape });
12
+ const idValues = derived([ids.menubar], ([$menubarId]) => ({
13
+ menubar: $menubarId
14
+ }));
11
15
  $:
12
16
  updateOption("loop", loop);
13
17
  $:
@@ -18,9 +22,9 @@ const attrs = getAttrs("root");
18
22
  </script>
19
23
 
20
24
  {#if asChild}
21
- <slot {builder} {attrs} {ids} />
25
+ <slot {builder} {attrs} ids={$idValues} />
22
26
  {:else}
23
27
  <div {...builder} use:builder.action {...$$restProps} {...attrs}>
24
- <slot {builder} {attrs} {ids} />
28
+ <slot {builder} {attrs} ids={$idValues} />
25
29
  </div>
26
30
  {/if}
@@ -3,6 +3,9 @@ declare const __propDef: {
3
3
  props: {
4
4
  loop?: boolean | undefined;
5
5
  closeOnEscape?: boolean | undefined;
6
+ ids?: {
7
+ menubar: string;
8
+ } | undefined;
6
9
  asChild?: boolean | undefined;
7
10
  accesskey?: string | null | undefined;
8
11
  autofocus?: boolean | null | undefined;
@@ -1,4 +1,5 @@
1
1
  <script>import { setMenuCtx } from "../ctx.js";
2
+ import { generateId } from "../../../internal/id.js";
2
3
  export let closeOnOutsideClick = void 0;
3
4
  export let closeOnEscape = void 0;
4
5
  export let portal = void 0;
@@ -12,12 +13,16 @@ export let dir = void 0;
12
13
  export let typeahead = void 0;
13
14
  export let closeFocus = void 0;
14
15
  export let disableFocusFirstItem = void 0;
16
+ const ids = {
17
+ menu: generateId(),
18
+ trigger: generateId()
19
+ };
15
20
  const {
16
21
  states: { open: localOpen },
17
- updateOption,
18
- ids
22
+ updateOption
19
23
  } = setMenuCtx({
20
24
  closeOnOutsideClick,
25
+ ids,
21
26
  closeOnEscape,
22
27
  portal,
23
28
  preventScroll,
@@ -8,6 +8,10 @@ declare const __propDef: {
8
8
  positioning?: import("@melt-ui/svelte/internal/actions").FloatingConfig | undefined;
9
9
  arrowSize?: number | undefined;
10
10
  forceVisible?: boolean | undefined;
11
+ ids?: {
12
+ trigger: string;
13
+ menu: string;
14
+ } | undefined;
11
15
  portal?: string | HTMLElement | null | undefined;
12
16
  closeFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
13
17
  dir?: import("@melt-ui/svelte/internal/types").TextDirection | undefined;
@@ -22,7 +26,8 @@ declare const __propDef: {
22
26
  slots: {
23
27
  default: {
24
28
  menuIds: {
25
- menubar: string;
29
+ menu: string;
30
+ trigger: string;
26
31
  };
27
32
  };
28
33
  };
@@ -1,4 +1,5 @@
1
- <script>import { setSubMenuCtx } from "../ctx.js";
1
+ <script>import { derived } from "svelte/store";
2
+ import { setSubMenuCtx } from "../ctx.js";
2
3
  export let positioning = void 0;
3
4
  export let disabled = void 0;
4
5
  export let arrowSize = void 0;
@@ -7,6 +8,10 @@ const { updateOption, ids } = setSubMenuCtx({
7
8
  disabled,
8
9
  arrowSize
9
10
  });
11
+ const idValues = derived([ids.menu, ids.trigger], ([$menuId, $triggerId]) => ({
12
+ menu: $menuId,
13
+ trigger: $triggerId
14
+ }));
10
15
  $:
11
16
  updateOption("positioning", positioning);
12
17
  $:
@@ -15,4 +20,4 @@ $:
15
20
  updateOption("arrowSize", arrowSize);
16
21
  </script>
17
22
 
18
- <slot subIds={ids} />
23
+ <slot subIds={$idValues} />
@@ -5,6 +5,10 @@ declare const __propDef: {
5
5
  onOpenChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined;
6
6
  positioning?: import("@melt-ui/svelte/internal/actions").FloatingConfig | undefined;
7
7
  arrowSize?: number | undefined;
8
+ ids?: {
9
+ trigger: string;
10
+ menu: string;
11
+ } | undefined;
8
12
  disabled?: boolean | undefined;
9
13
  };
10
14
  events: {
@@ -5,14 +5,14 @@ export declare const getAttrs: (part: "arrow" | "label" | "radio-group" | "separ
5
5
  export declare function setCtx(props: MenubarProps): {
6
6
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
7
7
  ids: {
8
- menubar: string;
8
+ menubar: import("svelte/store").Writable<string>;
9
9
  };
10
10
  elements: {
11
- menubar: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<import("svelte/store").Stores | undefined, (node: HTMLElement) => {
11
+ menubar: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<string>], (node: HTMLElement) => {
12
12
  destroy?: undefined;
13
13
  } | {
14
14
  destroy: typeof import("@melt-ui/svelte/internal/helpers").noop;
15
- }, () => {
15
+ }, ([$menubarId]: [string]) => {
16
16
  role: string;
17
17
  'data-melt-menubar': string;
18
18
  'data-orientation': string;
@@ -22,10 +22,10 @@ export declare function setCtx(props: MenubarProps): {
22
22
  builders: {
23
23
  createMenu: (props?: import("@melt-ui/svelte/dist/builders/menu")._CreateMenuProps | undefined) => {
24
24
  ids: {
25
- menubar: string;
25
+ menubar: import("svelte/store").Writable<string>;
26
26
  };
27
27
  elements: {
28
- menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$isVisible, $portal]: [boolean, string | HTMLElement | null | undefined]) => {
28
+ menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$isVisible, $portal, $menuId, $triggerId, $menubarId]: [boolean, string | HTMLElement | null | undefined, string, string, string]) => {
29
29
  readonly role: "menu";
30
30
  readonly hidden: true | undefined;
31
31
  readonly style: string;
@@ -36,7 +36,7 @@ export declare function setCtx(props: MenubarProps): {
36
36
  readonly 'data-portal': "" | undefined;
37
37
  readonly tabindex: -1;
38
38
  }, string>;
39
- trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "pointerenter">, ([$rootOpen]: [boolean]) => {
39
+ trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "pointerenter">, ([$rootOpen, $menuId, $triggerId]: [boolean, string, string]) => {
40
40
  readonly 'aria-controls': string;
41
41
  readonly 'aria-expanded': boolean;
42
42
  readonly 'data-state': "open" | "closed";
@@ -97,15 +97,15 @@ export declare function setCtx(props: MenubarProps): {
97
97
  };
98
98
  createSubmenu: (args?: import("@melt-ui/svelte/dist/builders/menu")._CreateSubmenuProps | undefined) => {
99
99
  ids: {
100
- menu: string;
101
- trigger: string;
100
+ menu: import("svelte/store").Writable<string>;
101
+ trigger: import("svelte/store").Writable<string>;
102
102
  };
103
103
  elements: {
104
104
  subTrigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
105
105
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
106
106
  set: (this: void, value: boolean) => void;
107
107
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
108
- }, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled]: [boolean, boolean]) => {
108
+ }, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled, $subMenuId, $subTriggerId]: [boolean, boolean, string, string]) => {
109
109
  readonly role: "menuitem";
110
110
  readonly id: string;
111
111
  readonly tabindex: -1;
@@ -115,7 +115,7 @@ export declare function setCtx(props: MenubarProps): {
115
115
  readonly 'data-disabled': true | undefined;
116
116
  readonly 'aria-haspopop': "menu";
117
117
  }, string>;
118
- subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible]: [boolean]) => {
118
+ subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible, $subMenuId, $subTriggerId]: [boolean, string, string]) => {
119
119
  readonly role: "menu";
120
120
  readonly hidden: true | undefined;
121
121
  readonly style: string;
@@ -138,21 +138,21 @@ export declare function setCtx(props: MenubarProps): {
138
138
  };
139
139
  };
140
140
  options: {
141
+ dir: import("svelte/store").Writable<"ltr">;
142
+ disabled: import("svelte/store").Writable<boolean>;
141
143
  open?: import("svelte/store").Writable<import("svelte/store").Writable<boolean> | undefined> | undefined;
144
+ defaultOpen: import("svelte/store").Writable<false>;
142
145
  onOpenChange?: import("svelte/store").Writable<import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined> | undefined;
146
+ preventScroll: import("svelte/store").Writable<true>;
147
+ portal: import("svelte/store").Writable<string>;
143
148
  positioning: import("svelte/store").Writable<import("@melt-ui/svelte/internal/actions").FloatingConfig | {
144
149
  placement: "right-start";
145
150
  gutter: number;
146
151
  }>;
147
152
  arrowSize: import("svelte/store").Writable<number>;
148
- disabled: import("svelte/store").Writable<boolean>;
149
- preventScroll: import("svelte/store").Writable<true>;
150
- closeOnEscape: import("svelte/store").Writable<true>;
151
- closeOnOutsideClick: import("svelte/store").Writable<true>;
152
- portal: import("svelte/store").Writable<string>;
153
153
  loop: import("svelte/store").Writable<false>;
154
- dir: import("svelte/store").Writable<"ltr">;
155
- defaultOpen: import("svelte/store").Writable<false>;
154
+ closeOnOutsideClick: import("svelte/store").Writable<true>;
155
+ closeOnEscape: import("svelte/store").Writable<true>;
156
156
  typeahead: import("svelte/store").Writable<true>;
157
157
  };
158
158
  };
@@ -209,6 +209,10 @@ export declare function setCtx(props: MenubarProps): {
209
209
  typeahead: import("svelte/store").Writable<boolean>;
210
210
  closeFocus: import("svelte/store").Writable<import("@melt-ui/svelte").FocusProp | undefined>;
211
211
  disableFocusFirstItem: import("svelte/store").Writable<boolean>;
212
+ ids?: import("svelte/store").Writable<{
213
+ menu: string;
214
+ trigger: string;
215
+ } | undefined> | undefined;
212
216
  };
213
217
  };
214
218
  };
@@ -221,10 +225,10 @@ export declare function getCtx(): MenubarReturn;
221
225
  export declare function setMenuCtx(props: CreateMenubarMenuProps): {
222
226
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
223
227
  ids: {
224
- menubar: string;
228
+ menubar: import("svelte/store").Writable<string>;
225
229
  };
226
230
  elements: {
227
- menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$isVisible, $portal]: [boolean, string | HTMLElement | null | undefined]) => {
231
+ menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$isVisible, $portal, $menuId, $triggerId, $menubarId]: [boolean, string | HTMLElement | null | undefined, string, string, string]) => {
228
232
  readonly role: "menu";
229
233
  readonly hidden: true | undefined;
230
234
  readonly style: string;
@@ -235,7 +239,7 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
235
239
  readonly 'data-portal': "" | undefined;
236
240
  readonly tabindex: -1;
237
241
  }, string>;
238
- trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "pointerenter">, ([$rootOpen]: [boolean]) => {
242
+ trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "pointerenter">, ([$rootOpen, $menuId, $triggerId]: [boolean, string, string]) => {
239
243
  readonly 'aria-controls': string;
240
244
  readonly 'aria-expanded': boolean;
241
245
  readonly 'data-state': "open" | "closed";
@@ -296,15 +300,15 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
296
300
  };
297
301
  createSubmenu: (args?: import("@melt-ui/svelte/dist/builders/menu")._CreateSubmenuProps | undefined) => {
298
302
  ids: {
299
- menu: string;
300
- trigger: string;
303
+ menu: import("svelte/store").Writable<string>;
304
+ trigger: import("svelte/store").Writable<string>;
301
305
  };
302
306
  elements: {
303
307
  subTrigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
304
308
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
305
309
  set: (this: void, value: boolean) => void;
306
310
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
307
- }, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled]: [boolean, boolean]) => {
311
+ }, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled, $subMenuId, $subTriggerId]: [boolean, boolean, string, string]) => {
308
312
  readonly role: "menuitem";
309
313
  readonly id: string;
310
314
  readonly tabindex: -1;
@@ -314,7 +318,7 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
314
318
  readonly 'data-disabled': true | undefined;
315
319
  readonly 'aria-haspopop': "menu";
316
320
  }, string>;
317
- subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible]: [boolean]) => {
321
+ subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible, $subMenuId, $subTriggerId]: [boolean, string, string]) => {
318
322
  readonly role: "menu";
319
323
  readonly hidden: true | undefined;
320
324
  readonly style: string;
@@ -337,21 +341,21 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
337
341
  };
338
342
  };
339
343
  options: {
344
+ dir: import("svelte/store").Writable<"ltr">;
345
+ disabled: import("svelte/store").Writable<boolean>;
340
346
  open?: import("svelte/store").Writable<import("svelte/store").Writable<boolean> | undefined> | undefined;
347
+ defaultOpen: import("svelte/store").Writable<false>;
341
348
  onOpenChange?: import("svelte/store").Writable<import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined> | undefined;
349
+ preventScroll: import("svelte/store").Writable<true>;
350
+ portal: import("svelte/store").Writable<string>;
342
351
  positioning: import("svelte/store").Writable<import("@melt-ui/svelte/internal/actions").FloatingConfig | {
343
352
  placement: "right-start";
344
353
  gutter: number;
345
354
  }>;
346
355
  arrowSize: import("svelte/store").Writable<number>;
347
- disabled: import("svelte/store").Writable<boolean>;
348
- preventScroll: import("svelte/store").Writable<true>;
349
- closeOnEscape: import("svelte/store").Writable<true>;
350
- closeOnOutsideClick: import("svelte/store").Writable<true>;
351
- portal: import("svelte/store").Writable<string>;
352
356
  loop: import("svelte/store").Writable<false>;
353
- dir: import("svelte/store").Writable<"ltr">;
354
- defaultOpen: import("svelte/store").Writable<false>;
357
+ closeOnOutsideClick: import("svelte/store").Writable<true>;
358
+ closeOnEscape: import("svelte/store").Writable<true>;
355
359
  typeahead: import("svelte/store").Writable<true>;
356
360
  };
357
361
  };
@@ -408,21 +412,25 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
408
412
  typeahead: import("svelte/store").Writable<boolean>;
409
413
  closeFocus: import("svelte/store").Writable<import("@melt-ui/svelte").FocusProp | undefined>;
410
414
  disableFocusFirstItem: import("svelte/store").Writable<boolean>;
415
+ ids?: import("svelte/store").Writable<{
416
+ menu: string;
417
+ trigger: string;
418
+ } | undefined> | undefined;
411
419
  };
412
420
  };
413
421
  export declare function getMenuCtx(): MenubarMenuReturn;
414
422
  export declare function setSubMenuCtx(props: CreateMenubarSubmenuProps): {
415
423
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
416
424
  ids: {
417
- menu: string;
418
- trigger: string;
425
+ menu: import("svelte/store").Writable<string>;
426
+ trigger: import("svelte/store").Writable<string>;
419
427
  };
420
428
  elements: {
421
429
  subTrigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
422
430
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
423
431
  set: (this: void, value: boolean) => void;
424
432
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
425
- }, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled]: [boolean, boolean]) => {
433
+ }, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusin" | "focusout" | "pointerleave" | "pointermove">, ([$subOpen, $disabled, $subMenuId, $subTriggerId]: [boolean, boolean, string, string]) => {
426
434
  readonly role: "menuitem";
427
435
  readonly id: string;
428
436
  readonly tabindex: -1;
@@ -432,7 +440,7 @@ export declare function setSubMenuCtx(props: CreateMenubarSubmenuProps): {
432
440
  readonly 'data-disabled': true | undefined;
433
441
  readonly 'aria-haspopop': "menu";
434
442
  }, string>;
435
- subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible]: [boolean]) => {
443
+ subMenu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[Readable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "focusout" | "pointermove">, ([$subIsVisible, $subMenuId, $subTriggerId]: [boolean, string, string]) => {
436
444
  readonly role: "menu";
437
445
  readonly hidden: true | undefined;
438
446
  readonly style: string;
@@ -455,21 +463,21 @@ export declare function setSubMenuCtx(props: CreateMenubarSubmenuProps): {
455
463
  };
456
464
  };
457
465
  options: {
466
+ dir: import("svelte/store").Writable<"ltr">;
467
+ disabled: import("svelte/store").Writable<boolean>;
458
468
  open?: import("svelte/store").Writable<import("svelte/store").Writable<boolean> | undefined> | undefined;
469
+ defaultOpen: import("svelte/store").Writable<false>;
459
470
  onOpenChange?: import("svelte/store").Writable<import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined> | undefined;
471
+ preventScroll: import("svelte/store").Writable<true>;
472
+ portal: import("svelte/store").Writable<string>;
460
473
  positioning: import("svelte/store").Writable<import("@melt-ui/svelte/internal/actions").FloatingConfig | {
461
474
  placement: "right-start";
462
475
  gutter: number;
463
476
  }>;
464
477
  arrowSize: import("svelte/store").Writable<number>;
465
- disabled: import("svelte/store").Writable<boolean>;
466
- preventScroll: import("svelte/store").Writable<true>;
467
- closeOnEscape: import("svelte/store").Writable<true>;
468
- closeOnOutsideClick: import("svelte/store").Writable<true>;
469
- portal: import("svelte/store").Writable<string>;
470
478
  loop: import("svelte/store").Writable<false>;
471
- dir: import("svelte/store").Writable<"ltr">;
472
- defaultOpen: import("svelte/store").Writable<false>;
479
+ closeOnOutsideClick: import("svelte/store").Writable<true>;
480
+ closeOnEscape: import("svelte/store").Writable<true>;
473
481
  typeahead: import("svelte/store").Writable<true>;
474
482
  };
475
483
  };
@@ -1,4 +1,5 @@
1
1
  <script>import { setCtx } from "../ctx.js";
2
+ import { derived } from "svelte/store";
2
3
  export let positioning = void 0;
3
4
  export let arrowSize = void 0;
4
5
  export let disableFocusTrap = void 0;
@@ -33,6 +34,10 @@ const {
33
34
  return next;
34
35
  }
35
36
  });
37
+ const idValues = derived([ids.content, ids.trigger], ([$contentId, $triggerId]) => ({
38
+ content: $contentId,
39
+ trigger: $triggerId
40
+ }));
36
41
  $:
37
42
  open !== void 0 && localOpen.set(open);
38
43
  $:
@@ -55,4 +60,4 @@ $:
55
60
  updateOption("closeFocus", closeFocus);
56
61
  </script>
57
62
 
58
- <slot {ids} />
63
+ <slot ids={$idValues} />
@@ -8,9 +8,13 @@ declare const __propDef: {
8
8
  arrowSize?: number | undefined;
9
9
  disableFocusTrap?: boolean | undefined;
10
10
  forceVisible?: boolean | undefined;
11
+ ids?: {
12
+ content: string;
13
+ trigger: string;
14
+ } | undefined;
11
15
  portal?: string | HTMLElement | null | undefined;
12
- openFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
13
16
  closeFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
17
+ openFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
14
18
  open?: boolean | undefined;
15
19
  onOpenChange?: import("../../../internal/types.js").OnChangeFn<boolean> | undefined;
16
20
  };
@@ -4,15 +4,15 @@ export declare const getAttrs: (part: "arrow" | "content" | "trigger" | "close")
4
4
  export declare function setCtx(props: CreatePopoverProps): {
5
5
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
6
6
  ids: {
7
- content: string;
8
- trigger: string;
7
+ content: import("svelte/store").Writable<string>;
8
+ trigger: import("svelte/store").Writable<string>;
9
9
  };
10
10
  elements: {
11
- trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<{
11
+ trigger: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
12
12
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
13
13
  set: (this: void, value: boolean) => void;
14
14
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
15
- }, (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click">, ($open: boolean) => {
15
+ }, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click">, ([$open, $contentId, $triggerId]: [boolean, string, string]) => {
16
16
  readonly role: "button";
17
17
  readonly 'aria-haspopup': "dialog";
18
18
  readonly 'aria-expanded': boolean;
@@ -20,9 +20,9 @@ export declare function setCtx(props: CreatePopoverProps): {
20
20
  readonly 'aria-controls': string;
21
21
  readonly id: string;
22
22
  }, string>;
23
- content: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>], <Node_1 extends unknown>(node: HTMLElement) => {
23
+ content: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string | HTMLElement | null | undefined>, import("svelte/store").Writable<string>], <Node_1 extends unknown>(node: HTMLElement) => {
24
24
  destroy(): void;
25
- }, ([$isVisible, $portal]: [boolean, string | HTMLElement | null | undefined]) => {
25
+ }, ([$isVisible, $portal, $contentId]: [boolean, string | HTMLElement | null | undefined, string]) => {
26
26
  hidden: boolean | undefined;
27
27
  tabindex: number;
28
28
  style: string;
@@ -1,4 +1,5 @@
1
- <script>import { setCtx } from "../ctx.js";
1
+ <script>import { derived } from "svelte/store";
2
+ import { setCtx } from "../ctx.js";
2
3
  export let required = void 0;
3
4
  export let disabled = void 0;
4
5
  export let arrowSize = void 0;
@@ -49,6 +50,14 @@ const {
49
50
  return next;
50
51
  }
51
52
  });
53
+ const idValues = derived(
54
+ [ids.menu, ids.trigger, ids.label],
55
+ ([$menuId, $triggerId, $labelId]) => ({
56
+ menu: $menuId,
57
+ trigger: $triggerId,
58
+ label: $labelId
59
+ })
60
+ );
52
61
  $:
53
62
  open !== void 0 && localOpen.set(open);
54
63
  $:
@@ -79,4 +88,4 @@ $:
79
88
  updateOption("forceVisible", forceVisible);
80
89
  </script>
81
90
 
82
- <slot {ids} />
91
+ <slot ids={$idValues} />
@@ -11,6 +11,11 @@ declare const __propDef: {
11
11
  positioning?: import("@melt-ui/svelte/internal/actions").FloatingConfig | undefined;
12
12
  arrowSize?: number | undefined;
13
13
  forceVisible?: boolean | undefined;
14
+ ids?: {
15
+ label: string;
16
+ trigger: string;
17
+ menu: string;
18
+ } | undefined;
14
19
  portal?: string | HTMLElement | null | undefined;
15
20
  name?: string | undefined;
16
21
  required?: boolean | undefined;
@@ -28,8 +33,8 @@ declare const __propDef: {
28
33
  slots: {
29
34
  default: {
30
35
  ids: {
31
- trigger: string;
32
36
  menu: string;
37
+ trigger: string;
33
38
  label: string;
34
39
  };
35
40
  };
@@ -230,7 +230,6 @@ declare const __propDef: {
230
230
  readonly 'aria-controls': string;
231
231
  readonly 'aria-expanded': boolean;
232
232
  readonly 'aria-labelledby': string;
233
- readonly 'data-melt-id': string;
234
233
  readonly id: string;
235
234
  readonly role: "combobox";
236
235
  readonly disabled: true | undefined;
@@ -17,13 +17,12 @@ export declare function setCtx(props: CreateSelectProps): {
17
17
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
18
18
  set: (this: void, value: boolean) => void;
19
19
  subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
20
- }, import("svelte/store").Writable<HTMLElement | null>, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "input">, ([$open, $highlightedItem, $disabled]: [boolean, HTMLElement | null, boolean]) => {
20
+ }, import("svelte/store").Writable<HTMLElement | null>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "input">, ([$open, $highlightedItem, $disabled, $menuId, $triggerId, $labelId]: [boolean, HTMLElement | null, boolean, string, string, string]) => {
21
21
  readonly 'aria-activedescendant': string | undefined;
22
22
  readonly 'aria-autocomplete': "list";
23
23
  readonly 'aria-controls': string;
24
24
  readonly 'aria-expanded': boolean;
25
25
  readonly 'aria-labelledby': string;
26
- readonly 'data-melt-id': string;
27
26
  readonly id: string;
28
27
  readonly role: "combobox";
29
28
  readonly disabled: true | undefined;
@@ -42,13 +41,13 @@ export declare function setCtx(props: CreateSelectProps): {
42
41
  readonly id: string;
43
42
  readonly role: "option";
44
43
  }, string>;
45
- menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"pointerleave">, ([$isVisible]: [boolean]) => {
44
+ menu: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"pointerleave">, ([$isVisible, $menuId]: [boolean, string]) => {
46
45
  readonly hidden: true | undefined;
47
46
  readonly id: string;
48
47
  readonly role: "listbox";
49
48
  readonly style: string;
50
49
  }, string>;
51
- label: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<import("svelte/store").Stores | undefined, (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"mousedown">, () => {
50
+ label: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<string>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"mousedown">, ([$labelId, $triggerId]: [string, string]) => {
52
51
  id: string;
53
52
  for: string;
54
53
  }, string>;
@@ -87,9 +86,9 @@ export declare function setCtx(props: CreateSelectProps): {
87
86
  highlightedItem: import("svelte/store").Writable<HTMLElement | null>;
88
87
  };
89
88
  ids: {
90
- trigger: string;
91
- menu: string;
92
- label: string;
89
+ label: import("svelte/store").Writable<string>;
90
+ menu: import("svelte/store").Writable<string>;
91
+ trigger: import("svelte/store").Writable<string>;
93
92
  };
94
93
  helpers: {
95
94
  isSelected: import("svelte/store").Readable<(value: unknown) => boolean>;
@@ -236,7 +236,7 @@ declare const __propDef: {
236
236
  };
237
237
  attrs: Record<string, string>;
238
238
  ids: {
239
- root: string;
239
+ [x: string]: string;
240
240
  };
241
241
  ticks: number;
242
242
  };