bits-ui 0.13.0 → 0.13.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 (226) hide show
  1. package/dist/bits/accordion/components/accordion-content.svelte +7 -2
  2. package/dist/bits/accordion/components/accordion-header.svelte +3 -2
  3. package/dist/bits/accordion/components/accordion-item.svelte +6 -2
  4. package/dist/bits/accordion/components/accordion-trigger.svelte +6 -2
  5. package/dist/bits/accordion/components/accordion.svelte +3 -2
  6. package/dist/bits/accordion/ctx.d.ts +244 -38
  7. package/dist/bits/accordion/ctx.js +31 -17
  8. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +3 -2
  9. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +3 -2
  10. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +3 -2
  11. package/dist/bits/alert-dialog/components/alert-dialog-description.svelte +3 -2
  12. package/dist/bits/alert-dialog/components/alert-dialog-overlay.svelte +3 -2
  13. package/dist/bits/alert-dialog/components/alert-dialog-portal.svelte +3 -2
  14. package/dist/bits/alert-dialog/components/alert-dialog-title.svelte +3 -2
  15. package/dist/bits/alert-dialog/components/alert-dialog-trigger.svelte +3 -2
  16. package/dist/bits/alert-dialog/ctx.d.ts +84 -3
  17. package/dist/bits/alert-dialog/ctx.js +25 -14
  18. package/dist/bits/avatar/components/avatar-fallback.svelte +3 -2
  19. package/dist/bits/avatar/components/avatar-image.svelte +4 -2
  20. package/dist/bits/avatar/components/avatar.svelte +3 -2
  21. package/dist/bits/avatar/ctx.d.ts +8 -2
  22. package/dist/bits/avatar/ctx.js +13 -4
  23. package/dist/bits/calendar/components/calendar-cell.svelte +3 -2
  24. package/dist/bits/calendar/components/calendar-day.svelte +3 -2
  25. package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -1
  26. package/dist/bits/calendar/components/calendar-grid-head.svelte +6 -2
  27. package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -1
  28. package/dist/bits/calendar/components/calendar-grid.svelte +3 -2
  29. package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -1
  30. package/dist/bits/calendar/components/calendar-header.svelte +2 -1
  31. package/dist/bits/calendar/components/calendar-heading.svelte +3 -2
  32. package/dist/bits/calendar/components/calendar-next-button.svelte +3 -2
  33. package/dist/bits/calendar/components/calendar-prev-button.svelte +3 -2
  34. package/dist/bits/calendar/components/calendar.svelte +3 -2
  35. package/dist/bits/calendar/ctx.d.ts +8 -120
  36. package/dist/bits/calendar/ctx.js +22 -17
  37. package/dist/bits/checkbox/components/checkbox-indicator.svelte +3 -2
  38. package/dist/bits/checkbox/components/checkbox.svelte +3 -2
  39. package/dist/bits/checkbox/ctx.d.ts +9 -3
  40. package/dist/bits/checkbox/ctx.js +13 -5
  41. package/dist/bits/collapsible/components/collapsible-content.svelte +3 -2
  42. package/dist/bits/collapsible/components/collapsible-trigger.svelte +3 -2
  43. package/dist/bits/collapsible/components/collapsible.svelte +3 -2
  44. package/dist/bits/collapsible/ctx.d.ts +9 -3
  45. package/dist/bits/collapsible/ctx.js +12 -4
  46. package/dist/bits/context-menu/components/context-menu-content.svelte +3 -2
  47. package/dist/bits/context-menu/components/context-menu-trigger.svelte +3 -2
  48. package/dist/bits/context-menu/ctx.d.ts +9 -3
  49. package/dist/bits/context-menu/ctx.js +30 -22
  50. package/dist/bits/date-field/components/date-field-input.svelte +3 -2
  51. package/dist/bits/date-field/components/date-field-label.svelte +3 -2
  52. package/dist/bits/date-field/components/date-field-segment.svelte +3 -2
  53. package/dist/bits/date-field/ctx.d.ts +8 -191
  54. package/dist/bits/date-field/ctx.js +12 -4
  55. package/dist/bits/date-picker/components/date-picker-arrow.svelte +3 -2
  56. package/dist/bits/date-picker/components/date-picker-calendar.svelte +3 -2
  57. package/dist/bits/date-picker/components/date-picker-cell.svelte +3 -2
  58. package/dist/bits/date-picker/components/date-picker-close.svelte +3 -2
  59. package/dist/bits/date-picker/components/date-picker-content.svelte +3 -2
  60. package/dist/bits/date-picker/components/date-picker-day.svelte +3 -2
  61. package/dist/bits/date-picker/components/date-picker-grid.svelte +3 -2
  62. package/dist/bits/date-picker/components/date-picker-heading.svelte +3 -2
  63. package/dist/bits/date-picker/components/date-picker-input.svelte +3 -2
  64. package/dist/bits/date-picker/components/date-picker-label.svelte +3 -2
  65. package/dist/bits/date-picker/components/date-picker-next-button.svelte +3 -2
  66. package/dist/bits/date-picker/components/date-picker-prev-button.svelte +3 -2
  67. package/dist/bits/date-picker/components/date-picker-segment.svelte +3 -2
  68. package/dist/bits/date-picker/components/date-picker-trigger.svelte +3 -2
  69. package/dist/bits/date-picker/ctx.d.ts +6 -4
  70. package/dist/bits/date-picker/ctx.js +29 -12
  71. package/dist/bits/date-range-field/components/date-range-field-input.svelte +3 -2
  72. package/dist/bits/date-range-field/components/date-range-field-label.svelte +3 -2
  73. package/dist/bits/date-range-field/components/date-range-field-segment.svelte +3 -2
  74. package/dist/bits/date-range-field/ctx.d.ts +4 -307
  75. package/dist/bits/date-range-field/ctx.js +8 -7
  76. package/dist/bits/date-range-picker/components/date-range-picker-arrow.svelte +3 -2
  77. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +3 -2
  78. package/dist/bits/date-range-picker/components/date-range-picker-cell.svelte +3 -2
  79. package/dist/bits/date-range-picker/components/date-range-picker-close.svelte +3 -2
  80. package/dist/bits/date-range-picker/components/date-range-picker-content.svelte +3 -2
  81. package/dist/bits/date-range-picker/components/date-range-picker-day.svelte +3 -2
  82. package/dist/bits/date-range-picker/components/date-range-picker-grid.svelte +3 -2
  83. package/dist/bits/date-range-picker/components/date-range-picker-heading.svelte +3 -2
  84. package/dist/bits/date-range-picker/components/date-range-picker-input.svelte +3 -2
  85. package/dist/bits/date-range-picker/components/date-range-picker-label.svelte +3 -2
  86. package/dist/bits/date-range-picker/components/date-range-picker-next-button.svelte +3 -2
  87. package/dist/bits/date-range-picker/components/date-range-picker-prev-button.svelte +3 -2
  88. package/dist/bits/date-range-picker/components/date-range-picker-segment.svelte +3 -2
  89. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +3 -2
  90. package/dist/bits/date-range-picker/ctx.d.ts +6 -4
  91. package/dist/bits/date-range-picker/ctx.js +29 -12
  92. package/dist/bits/dialog/components/dialog-close.svelte +3 -2
  93. package/dist/bits/dialog/components/dialog-content.svelte +3 -2
  94. package/dist/bits/dialog/components/dialog-description.svelte +3 -2
  95. package/dist/bits/dialog/components/dialog-overlay.svelte +3 -2
  96. package/dist/bits/dialog/components/dialog-portal.svelte +3 -2
  97. package/dist/bits/dialog/components/dialog-title.svelte +3 -2
  98. package/dist/bits/dialog/components/dialog-trigger.svelte +3 -2
  99. package/dist/bits/dialog/ctx.d.ts +8 -3
  100. package/dist/bits/dialog/ctx.js +20 -4
  101. package/dist/bits/floating/helpers.js +10 -10
  102. package/dist/bits/label/components/label.svelte +2 -1
  103. package/dist/bits/label/ctx.d.ts +4 -1
  104. package/dist/bits/label/ctx.js +9 -3
  105. package/dist/bits/link-preview/components/link-preview-arrow.svelte +3 -2
  106. package/dist/bits/link-preview/components/link-preview-content.svelte +3 -2
  107. package/dist/bits/link-preview/components/link-preview-trigger.svelte +3 -2
  108. package/dist/bits/link-preview/ctx.d.ts +10 -4
  109. package/dist/bits/link-preview/ctx.js +24 -13
  110. package/dist/bits/menu/components/menu-arrow.svelte +3 -2
  111. package/dist/bits/menu/components/menu-checkbox-indicator.svelte +2 -1
  112. package/dist/bits/menu/components/menu-checkbox-item.svelte +3 -2
  113. package/dist/bits/menu/components/menu-content.svelte +3 -2
  114. package/dist/bits/menu/components/menu-group.svelte +2 -2
  115. package/dist/bits/menu/components/menu-item.svelte +3 -2
  116. package/dist/bits/menu/components/menu-label.svelte +2 -2
  117. package/dist/bits/menu/components/menu-radio-group.svelte +3 -2
  118. package/dist/bits/menu/components/menu-radio-indicator.svelte +6 -2
  119. package/dist/bits/menu/components/menu-radio-item.svelte +3 -2
  120. package/dist/bits/menu/components/menu-separator.svelte +3 -2
  121. package/dist/bits/menu/components/menu-sub-content.svelte +3 -2
  122. package/dist/bits/menu/components/menu-sub-trigger.svelte +3 -2
  123. package/dist/bits/menu/components/menu-trigger.svelte +3 -2
  124. package/dist/bits/menu/ctx.d.ts +96 -18
  125. package/dist/bits/menu/ctx.js +82 -46
  126. package/dist/bits/menubar/components/menubar-trigger.svelte +3 -2
  127. package/dist/bits/menubar/components/menubar.svelte +3 -2
  128. package/dist/bits/menubar/ctx.d.ts +12 -6
  129. package/dist/bits/menubar/ctx.js +39 -25
  130. package/dist/bits/pagination/components/pagination-next-button.svelte +3 -2
  131. package/dist/bits/pagination/components/pagination-page.svelte +3 -2
  132. package/dist/bits/pagination/components/pagination-prev-button.svelte +3 -2
  133. package/dist/bits/pagination/components/pagination.svelte +3 -2
  134. package/dist/bits/pagination/ctx.d.ts +9 -3
  135. package/dist/bits/pagination/ctx.js +12 -4
  136. package/dist/bits/pin-input/components/pin-input-hidden-input.svelte +3 -2
  137. package/dist/bits/pin-input/components/pin-input-input.svelte +3 -2
  138. package/dist/bits/pin-input/components/pin-input.svelte +3 -2
  139. package/dist/bits/pin-input/ctx.d.ts +9 -3
  140. package/dist/bits/pin-input/ctx.js +12 -4
  141. package/dist/bits/popover/components/popover-arrow.svelte +3 -2
  142. package/dist/bits/popover/components/popover-close.svelte +3 -2
  143. package/dist/bits/popover/components/popover-content.svelte +3 -2
  144. package/dist/bits/popover/components/popover-trigger.svelte +3 -2
  145. package/dist/bits/popover/ctx.d.ts +10 -4
  146. package/dist/bits/popover/ctx.js +22 -11
  147. package/dist/bits/progress/components/progress.svelte +3 -2
  148. package/dist/bits/progress/ctx.d.ts +1 -1
  149. package/dist/bits/progress/ctx.js +11 -4
  150. package/dist/bits/radio-group/components/radio-group-input.svelte +3 -2
  151. package/dist/bits/radio-group/components/radio-group-item-indicator.svelte +6 -2
  152. package/dist/bits/radio-group/components/radio-group-item.svelte +3 -2
  153. package/dist/bits/radio-group/components/radio-group.svelte +3 -2
  154. package/dist/bits/radio-group/ctx.d.ts +65 -8
  155. package/dist/bits/radio-group/ctx.js +18 -7
  156. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +3 -2
  157. package/dist/bits/range-calendar/components/range-calendar-day.svelte +3 -2
  158. package/dist/bits/range-calendar/components/range-calendar-grid-body.svelte +2 -1
  159. package/dist/bits/range-calendar/components/range-calendar-grid-head.svelte +2 -1
  160. package/dist/bits/range-calendar/components/range-calendar-grid-row.svelte +2 -1
  161. package/dist/bits/range-calendar/components/range-calendar-grid.svelte +3 -2
  162. package/dist/bits/range-calendar/components/range-calendar-head-cell.svelte +2 -1
  163. package/dist/bits/range-calendar/components/range-calendar-header.svelte +2 -1
  164. package/dist/bits/range-calendar/components/range-calendar-heading.svelte +3 -2
  165. package/dist/bits/range-calendar/components/range-calendar-next-button.svelte +3 -2
  166. package/dist/bits/range-calendar/components/range-calendar-prev-button.svelte +3 -2
  167. package/dist/bits/range-calendar/components/range-calendar.svelte +3 -2
  168. package/dist/bits/range-calendar/ctx.d.ts +4 -133
  169. package/dist/bits/range-calendar/ctx.js +22 -17
  170. package/dist/bits/select/components/select-arrow.svelte +3 -2
  171. package/dist/bits/select/components/select-content.svelte +3 -2
  172. package/dist/bits/select/components/select-group.svelte +2 -2
  173. package/dist/bits/select/components/select-input.svelte +3 -2
  174. package/dist/bits/select/components/select-item-indicator.svelte +2 -2
  175. package/dist/bits/select/components/select-item.svelte +3 -2
  176. package/dist/bits/select/components/select-label.svelte +2 -2
  177. package/dist/bits/select/components/select-trigger.svelte +3 -2
  178. package/dist/bits/select/components/select-value.svelte +3 -2
  179. package/dist/bits/select/ctx.d.ts +6 -3
  180. package/dist/bits/select/ctx.js +42 -27
  181. package/dist/bits/separator/components/separator.svelte +3 -2
  182. package/dist/bits/separator/ctx.d.ts +1 -1
  183. package/dist/bits/separator/ctx.js +11 -4
  184. package/dist/bits/slider/components/slider-input.svelte +5 -4
  185. package/dist/bits/slider/components/slider-range.svelte +3 -2
  186. package/dist/bits/slider/components/slider-thumb.svelte +3 -2
  187. package/dist/bits/slider/components/slider-tick.svelte +3 -2
  188. package/dist/bits/slider/components/slider.svelte +3 -2
  189. package/dist/bits/slider/ctx.d.ts +5 -3
  190. package/dist/bits/slider/ctx.js +12 -4
  191. package/dist/bits/switch/components/switch-thumb.svelte +3 -2
  192. package/dist/bits/switch/components/switch.svelte +3 -2
  193. package/dist/bits/switch/ctx.d.ts +5 -3
  194. package/dist/bits/switch/ctx.js +12 -4
  195. package/dist/bits/tabs/components/tabs-content.svelte +3 -2
  196. package/dist/bits/tabs/components/tabs-list.svelte +3 -2
  197. package/dist/bits/tabs/components/tabs-trigger.svelte +3 -2
  198. package/dist/bits/tabs/components/tabs.svelte +3 -2
  199. package/dist/bits/tabs/ctx.d.ts +5 -3
  200. package/dist/bits/tabs/ctx.js +12 -4
  201. package/dist/bits/toggle/components/toggle.svelte +3 -2
  202. package/dist/bits/toggle/ctx.d.ts +5 -3
  203. package/dist/bits/toggle/ctx.js +12 -4
  204. package/dist/bits/toggle-group/components/toggle-group-item.svelte +3 -2
  205. package/dist/bits/toggle-group/components/toggle-group.svelte +3 -2
  206. package/dist/bits/toggle-group/ctx.d.ts +3 -3
  207. package/dist/bits/toggle-group/ctx.js +12 -4
  208. package/dist/bits/toolbar/components/toolbar-button.svelte +3 -2
  209. package/dist/bits/toolbar/components/toolbar-group-item.svelte +3 -2
  210. package/dist/bits/toolbar/components/toolbar-group.svelte +3 -2
  211. package/dist/bits/toolbar/components/toolbar-link.svelte +3 -2
  212. package/dist/bits/toolbar/components/toolbar.svelte +3 -2
  213. package/dist/bits/toolbar/ctx.d.ts +8 -4
  214. package/dist/bits/toolbar/ctx.js +18 -7
  215. package/dist/bits/tooltip/components/tooltip-arrow.svelte +3 -2
  216. package/dist/bits/tooltip/components/tooltip-content.svelte +3 -2
  217. package/dist/bits/tooltip/components/tooltip-trigger.svelte +3 -2
  218. package/dist/bits/tooltip/ctx.d.ts +6 -4
  219. package/dist/bits/tooltip/ctx.js +25 -14
  220. package/dist/internal/kbd.d.ts +1 -1
  221. package/dist/internal/kbd.js +37 -35
  222. package/dist/internal/style.d.ts +1 -2
  223. package/dist/internal/style.js +13 -20
  224. package/package.json +1 -1
  225. package/dist/internal/overlay.svelte +0 -10
  226. package/dist/internal/overlay.svelte.d.ts +0 -14
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setCtx, getAttrs } from "../ctx.js";
2
+ import { setCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let checked = false;
5
5
  export let disabled = void 0;
@@ -12,7 +12,8 @@ export let el = void 0;
12
12
  const {
13
13
  elements: { root },
14
14
  states: { checked: localChecked },
15
- updateOption
15
+ updateOption,
16
+ getAttrs
16
17
  } = setCtx({
17
18
  defaultChecked: checked,
18
19
  disabled,
@@ -1,8 +1,13 @@
1
1
  /// <reference types="svelte" />
2
- import { type Checkbox as CheckboxReturn, type CreateCheckboxProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "input" | "root" | "indicator") => Record<string, string>;
2
+ import { type CreateCheckboxProps } from "@melt-ui/svelte";
3
+ export declare function getCheckboxData(): {
4
+ NAME: "checkbox";
5
+ PARTS: readonly ["root", "input", "indicator"];
6
+ };
7
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
8
  export declare function setCtx(props: CreateCheckboxProps): {
5
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "input" | "root" | "indicator") => Record<string, string>;
6
11
  elements: {
7
12
  root: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
8
13
  update: (updater: import("svelte/store").Updater<boolean | "indeterminate">, sideEffect?: ((newValue: boolean | "indeterminate") => void) | undefined) => void;
@@ -55,4 +60,5 @@ export declare function setCtx(props: CreateCheckboxProps): {
55
60
  onCheckedChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean | "indeterminate"> | undefined;
56
61
  }, "checked" | "defaultChecked">>;
57
62
  };
58
- export declare function getCtx(): CheckboxReturn;
63
+ export declare function getCtx(): GetReturn;
64
+ export {};
@@ -1,17 +1,25 @@
1
1
  import { createCheckbox } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { removeUndefined, getOptionUpdater, createBitAttrs } from "../../internal/index.js";
4
- const NAME = "checkbox";
5
- const PARTS = ["root", "input", "indicator"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getCheckboxData() {
5
+ const NAME = "checkbox";
6
+ const PARTS = ["root", "input", "indicator"];
7
+ return {
8
+ NAME,
9
+ PARTS
10
+ };
11
+ }
7
12
  export function setCtx(props) {
8
- const checkbox = createCheckbox(removeUndefined(props));
9
- setContext(NAME, { ...checkbox });
13
+ const { NAME, PARTS } = getCheckboxData();
14
+ const getAttrs = createBitAttrs(NAME, PARTS);
15
+ const checkbox = { ...createCheckbox(removeUndefined(props)), getAttrs };
16
+ setContext(NAME, checkbox);
10
17
  return {
11
18
  ...checkbox,
12
19
  updateOption: getOptionUpdater(checkbox.options)
13
20
  };
14
21
  }
15
22
  export function getCtx() {
23
+ const { NAME } = getCheckboxData();
16
24
  return getContext(NAME);
17
25
  }
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  export let transition = void 0;
4
4
  export let transitionConfig = void 0;
5
5
  export let inTransition = void 0;
@@ -10,7 +10,8 @@ export let asChild = false;
10
10
  export let el = void 0;
11
11
  const {
12
12
  elements: { content },
13
- states: { open }
13
+ states: { open },
14
+ getAttrs
14
15
  } = getCtx();
15
16
  const attrs = getAttrs("content");
16
17
  $:
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { createDispatcher } from "../../../internal/events.js";
3
- import { getCtx, getAttrs } from "../ctx.js";
3
+ import { getCtx } from "../ctx.js";
4
4
  export let asChild = false;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { trigger }
7
+ elements: { trigger },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const dispatch = createDispatcher();
10
11
  const attrs = getAttrs("trigger");
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setCtx, getAttrs } from "../ctx.js";
2
+ import { setCtx } from "../ctx.js";
3
3
  export let disabled = void 0;
4
4
  export let open = void 0;
5
5
  export let onOpenChange = void 0;
@@ -8,7 +8,8 @@ export let el = void 0;
8
8
  const {
9
9
  elements: { root },
10
10
  states: { open: localOpen },
11
- updateOption
11
+ updateOption,
12
+ getAttrs
12
13
  } = setCtx({
13
14
  disabled,
14
15
  forceVisible: true,
@@ -1,8 +1,13 @@
1
1
  /// <reference types="svelte" />
2
- import { type Collapsible as CollapsibleReturn, type CreateCollapsibleProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "content" | "root" | "trigger") => Record<string, string>;
2
+ import { type CreateCollapsibleProps } from "@melt-ui/svelte";
3
+ export declare function getCollapsibleData(): {
4
+ NAME: "collapsible";
5
+ PARTS: readonly ["root", "content", "trigger"];
6
+ };
7
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
8
  export declare function setCtx(props: CreateCollapsibleProps): {
5
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "content" | "root" | "trigger") => Record<string, string>;
6
11
  elements: {
7
12
  root: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
8
13
  update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
@@ -43,4 +48,5 @@ export declare function setCtx(props: CreateCollapsibleProps): {
43
48
  onOpenChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined;
44
49
  }, "open" | "defaultOpen" | "onOpenChange">>;
45
50
  };
46
- export declare function getCtx(): CollapsibleReturn;
51
+ export declare function getCtx(): GetReturn;
52
+ export {};
@@ -1,11 +1,18 @@
1
1
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
2
2
  import { createCollapsible } from "@melt-ui/svelte";
3
3
  import { getContext, setContext } from "svelte";
4
- const NAME = "collapsible";
5
- const PARTS = ["root", "content", "trigger"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getCollapsibleData() {
5
+ const NAME = "collapsible";
6
+ const PARTS = ["root", "content", "trigger"];
7
+ return {
8
+ NAME,
9
+ PARTS
10
+ };
11
+ }
7
12
  export function setCtx(props) {
8
- const collapsible = createCollapsible(removeUndefined(props));
13
+ const { NAME, PARTS } = getCollapsibleData();
14
+ const getAttrs = createBitAttrs(NAME, PARTS);
15
+ const collapsible = { ...createCollapsible(removeUndefined(props)), getAttrs };
9
16
  setContext(NAME, collapsible);
10
17
  return {
11
18
  ...collapsible,
@@ -13,5 +20,6 @@ export function setCtx(props) {
13
20
  };
14
21
  }
15
22
  export function getCtx() {
23
+ const { NAME } = getCollapsibleData();
16
24
  return getContext(NAME);
17
25
  }
@@ -1,6 +1,6 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
2
  import { melt } from "@melt-ui/svelte";
3
- import { getAttrs, getCtx, updatePositioning } from "../ctx.js";
3
+ import { getCtx, updatePositioning } from "../ctx.js";
4
4
  export let transition = void 0;
5
5
  export let transitionConfig = void 0;
6
6
  export let inTransition = void 0;
@@ -18,7 +18,8 @@ export let el = void 0;
18
18
  const {
19
19
  elements: { menu },
20
20
  states: { open },
21
- ids
21
+ ids,
22
+ getAttrs
22
23
  } = getCtx();
23
24
  const dispatch = createDispatcher();
24
25
  const attrs = getAttrs("content");
@@ -1,12 +1,13 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let id = void 0;
6
6
  export let el = void 0;
7
7
  const {
8
8
  elements: { trigger },
9
- ids
9
+ ids,
10
+ getAttrs
10
11
  } = getCtx();
11
12
  const dispatch = createDispatcher();
12
13
  const attrs = getAttrs("trigger");
@@ -1,10 +1,15 @@
1
1
  /// <reference types="svelte" />
2
- import { type ContextMenu as ContextMenuReturn, type CreateContextMenuProps } from "@melt-ui/svelte";
2
+ import { type CreateContextMenuProps } from "@melt-ui/svelte";
3
3
  import type { Writable } from "svelte/store";
4
4
  import type { FloatingProps } from "../floating/_types.js";
5
- export declare const getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
5
+ export declare function getContextMenuData(): {
6
+ NAME: string;
7
+ PARTS: readonly ["arrow", "checkbox-indicator", "checkbox-item", "content", "group", "item", "label", "radio-group", "radio-item", "separator", "sub-content", "sub-trigger", "trigger"];
8
+ };
9
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
6
10
  export declare function setCtx(props: CreateContextMenuProps): {
7
11
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
12
+ getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
8
13
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
9
14
  menu: string;
10
15
  trigger: string;
@@ -216,5 +221,6 @@ export declare function setCtx(props: CreateContextMenuProps): {
216
221
  }> | undefined;
217
222
  }, "ids">>;
218
223
  };
219
- export declare function getCtx(): ContextMenuReturn;
224
+ export declare function getCtx(): GetReturn;
220
225
  export declare function updatePositioning(props: FloatingProps): void;
226
+ export {};
@@ -2,25 +2,32 @@ import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../interna
2
2
  import { createContextMenu } from "@melt-ui/svelte";
3
3
  import { getContext, setContext } from "svelte";
4
4
  import { getPositioningUpdater } from "../floating/helpers.js";
5
- const NAME = "menu";
6
- const PARTS = [
7
- "arrow",
8
- "checkbox-indicator",
9
- "checkbox-item",
10
- "content",
11
- "group",
12
- "item",
13
- "label",
14
- "radio-group",
15
- "radio-item",
16
- "separator",
17
- "sub-content",
18
- "sub-trigger",
19
- "trigger"
20
- ];
21
- export const getAttrs = createBitAttrs("menu", PARTS);
5
+ export function getContextMenuData() {
6
+ const NAME = "menu";
7
+ const PARTS = [
8
+ "arrow",
9
+ "checkbox-indicator",
10
+ "checkbox-item",
11
+ "content",
12
+ "group",
13
+ "item",
14
+ "label",
15
+ "radio-group",
16
+ "radio-item",
17
+ "separator",
18
+ "sub-content",
19
+ "sub-trigger",
20
+ "trigger"
21
+ ];
22
+ return {
23
+ NAME,
24
+ PARTS
25
+ };
26
+ }
22
27
  export function setCtx(props) {
23
- const contextMenu = createContextMenu(removeUndefined(props));
28
+ const { NAME, PARTS } = getContextMenuData();
29
+ const getAttrs = createBitAttrs("menu", PARTS);
30
+ const contextMenu = { ...createContextMenu(removeUndefined(props)), getAttrs };
24
31
  setContext(NAME, contextMenu);
25
32
  return {
26
33
  ...contextMenu,
@@ -28,13 +35,14 @@ export function setCtx(props) {
28
35
  };
29
36
  }
30
37
  export function getCtx() {
38
+ const { NAME } = getContextMenuData();
31
39
  return getContext(NAME);
32
40
  }
33
- const defaultPlacement = {
34
- side: "bottom",
35
- align: "start"
36
- };
37
41
  export function updatePositioning(props) {
42
+ const defaultPlacement = {
43
+ side: "bottom",
44
+ align: "start"
45
+ };
38
46
  const withDefaults = { ...defaultPlacement, ...props };
39
47
  const { options: { positioning } } = getCtx();
40
48
  const updater = getPositioningUpdater(positioning);
@@ -1,12 +1,13 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
5
  export let el = void 0;
6
6
  const {
7
7
  elements: { field },
8
8
  states: { segmentContents },
9
- ids
9
+ ids,
10
+ getAttrs
10
11
  } = getCtx();
11
12
  $:
12
13
  if (id) {
@@ -1,11 +1,12 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
5
  export let el = void 0;
6
6
  const {
7
7
  elements: { label },
8
- ids
8
+ ids,
9
+ getAttrs
9
10
  } = getCtx();
10
11
  if (id) {
11
12
  ids.label.set(id);
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let id = void 0;
@@ -7,7 +7,8 @@ export let part;
7
7
  export let el = void 0;
8
8
  const {
9
9
  elements: { segment },
10
- ids
10
+ ids,
11
+ getAttrs
11
12
  } = getCtx();
12
13
  $:
13
14
  if (id && part !== "literal") {
@@ -1,8 +1,13 @@
1
1
  /// <reference types="svelte" />
2
2
  import { type CreateDateFieldProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "segment" | "label" | "input") => Record<string, string>;
3
+ export declare function getDateFieldData(): {
4
+ NAME: "date-field";
5
+ PARTS: readonly ["label", "input", "segment"];
6
+ };
7
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
8
  export declare function setCtx(props: CreateDateFieldProps): {
5
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "segment" | "label" | "input") => Record<string, string>;
6
11
  elements: {
7
12
  field: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
8
13
  update: (updater: import("svelte/store").Updater<import("@internationalized/date").DateValue | undefined>, sideEffect?: ((newValue: import("@internationalized/date").DateValue | undefined) => void) | undefined) => void;
@@ -192,193 +197,5 @@ export declare function setCtx(props: CreateDateFieldProps): {
192
197
  validation: string;
193
198
  }>;
194
199
  };
195
- export declare function getCtx(): {
196
- elements: {
197
- field: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
198
- update: (updater: import("svelte/store").Updater<import("@internationalized/date").DateValue | undefined>, sideEffect?: ((newValue: import("@internationalized/date").DateValue | undefined) => void) | undefined) => void;
199
- set: (this: void, value: import("@internationalized/date").DateValue | undefined) => void;
200
- subscribe(this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue | undefined>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue | undefined> | undefined): import("svelte/store").Unsubscriber;
201
- }, import("svelte/store").Readable<boolean>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>, import("svelte/store").Readable<{
202
- field: string;
203
- label: string;
204
- description: string;
205
- validation: string;
206
- }>], <Node_1 extends unknown>(_node: HTMLElement) => {
207
- destroy(): void;
208
- }, ([$value, $isInvalid, $disabled, $readonly, $ids]: [import("@internationalized/date").DateValue | undefined, boolean, boolean, boolean, {
209
- field: string;
210
- label: string;
211
- description: string;
212
- validation: string;
213
- }]) => {
214
- role: string;
215
- id: string;
216
- 'aria-labelledby': string;
217
- 'aria-describedby': string;
218
- 'aria-disabled': "true" | undefined;
219
- 'aria-readonly': "true" | undefined;
220
- 'data-invalid': string | undefined;
221
- 'data-disabled': string | undefined;
222
- }, string>;
223
- segment: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateSegmentObj | import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateAndTimeSegmentObj>, import("svelte/store").Writable<12 | 24 | undefined>, {
224
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
225
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
226
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
227
- add: (duration: import("@internationalized/date").DateTimeDuration | import("@internationalized/date").DateDuration) => void;
228
- subtract: (duration: import("@internationalized/date").DateTimeDuration | import("@internationalized/date").DateDuration) => void;
229
- setDate: (fields: import("@internationalized/date").DateFields | (import("@internationalized/date").DateFields & import("@internationalized/date").TimeFields), disambiguation?: import("@internationalized/date").Disambiguation | undefined) => void;
230
- reset: () => void;
231
- toWritable: () => {
232
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
233
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
234
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
235
- };
236
- nextPage: (amount: number) => void;
237
- prevPage: (amount: number) => void;
238
- }, {
239
- update: (updater: import("svelte/store").Updater<import("@internationalized/date").DateValue | undefined>, sideEffect?: ((newValue: import("@internationalized/date").DateValue | undefined) => void) | undefined) => void;
240
- set: (this: void, value: import("@internationalized/date").DateValue | undefined) => void;
241
- subscribe(this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue | undefined>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue | undefined> | undefined): import("svelte/store").Unsubscriber;
242
- }, import("svelte/store").Readable<boolean>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>, import("svelte/store").Readable<{
243
- field: string;
244
- label: string;
245
- description: string;
246
- validation: string;
247
- day: string;
248
- month: string;
249
- year: string;
250
- hour: string;
251
- minute: string;
252
- second: string;
253
- dayPeriod: string;
254
- timeZoneName: string;
255
- }>, import("svelte/store").Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click" | "focusout">, ([$segmentValues, $hourCycle, $placeholder, $value, $isInvalid, $disabled, $readonly, $idValues, _,]: [import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateSegmentObj | import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateAndTimeSegmentObj, 12 | 24 | undefined, import("@internationalized/date").DateValue, import("@internationalized/date").DateValue | undefined, boolean, boolean, boolean, {
256
- field: string;
257
- label: string;
258
- description: string;
259
- validation: string;
260
- day: string;
261
- month: string;
262
- year: string;
263
- hour: string;
264
- minute: string;
265
- second: string;
266
- dayPeriod: string;
267
- timeZoneName: string;
268
- }, string]) => (part: import("@melt-ui/svelte").SegmentPart) => {
269
- 'aria-invalid': "true" | undefined;
270
- 'aria-disabled': "true" | undefined;
271
- 'aria-readonly': "true" | undefined;
272
- 'data-invalid': string | undefined;
273
- 'data-disabled': string | undefined;
274
- 'data-segment': string;
275
- } | {
276
- id: string;
277
- 'aria-labelledby': string;
278
- contentEditable: boolean;
279
- 'aria-describedby': string | undefined;
280
- tabindex: number | undefined;
281
- 'aria-invalid': "true" | undefined;
282
- 'aria-disabled': "true" | undefined;
283
- 'aria-readonly': "true" | undefined;
284
- 'data-invalid': string | undefined;
285
- 'data-disabled': string | undefined;
286
- 'data-segment': string;
287
- }, string>;
288
- label: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<string>], (node: HTMLElement) => {
289
- destroy: () => void;
290
- }, ([$isInvalid, $disabled, $labelId]: [boolean, boolean, string]) => {
291
- id: string;
292
- 'data-invalid': string | undefined;
293
- 'data-disabled': string | undefined;
294
- }, string>;
295
- hiddenInput: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
296
- update: (updater: import("svelte/store").Updater<import("@internationalized/date").DateValue | undefined>, sideEffect?: ((newValue: import("@internationalized/date").DateValue | undefined) => void) | undefined) => void;
297
- set: (this: void, value: import("@internationalized/date").DateValue | undefined) => void;
298
- subscribe(this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue | undefined>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue | undefined> | undefined): import("svelte/store").Unsubscriber;
299
- }, import("svelte/store").Writable<string | undefined>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>], import("svelte/action").Action<any, any, Record<never, any>>, ([$value, $nameStore, $disabled, $required]: [import("@internationalized/date").DateValue | undefined, string | undefined, boolean, boolean]) => {
300
- name: string | undefined;
301
- value: string | undefined;
302
- 'aria-hidden': "true";
303
- hidden: boolean;
304
- disabled: boolean;
305
- required: boolean;
306
- tabIndex: number;
307
- style: string;
308
- }, string>;
309
- validation: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string>], import("svelte/action").Action<any, any, Record<never, any>>, ([$isInvalid, $validationId]: [boolean, string]) => {
310
- id: string;
311
- 'data-invalid': string | undefined;
312
- style: string | undefined;
313
- }, string>;
314
- };
315
- states: {
316
- value: {
317
- update: (updater: import("svelte/store").Updater<import("@internationalized/date").DateValue | undefined>, sideEffect?: ((newValue: import("@internationalized/date").DateValue | undefined) => void) | undefined) => void;
318
- set: (this: void, value: import("@internationalized/date").DateValue | undefined) => void;
319
- subscribe(this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue | undefined>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue | undefined> | undefined): import("svelte/store").Unsubscriber;
320
- };
321
- segmentValues: import("svelte/store").Writable<import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateSegmentObj | import("@melt-ui/svelte/dist/builders/date-field/_internal/types").DateAndTimeSegmentObj>;
322
- segmentContents: import("svelte/store").Readable<{
323
- part: import("@melt-ui/svelte").SegmentPart;
324
- value: string;
325
- }[]>;
326
- segmentContentsObj: import("svelte/store").Readable<import("@melt-ui/svelte/dist/builders/date-field/_internal/types").SegmentContentObj>;
327
- placeholder: {
328
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
329
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
330
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
331
- };
332
- isInvalid: import("svelte/store").Readable<boolean>;
333
- };
334
- helpers: {
335
- isDateUnavailable: import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean | undefined>;
336
- };
337
- options: import("@melt-ui/svelte/internal/helpers").ToWritableStores<Omit<{
338
- defaultValue?: import("@internationalized/date").DateValue | undefined;
339
- onValueChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@internationalized/date").DateValue | undefined> | undefined;
340
- value: import("svelte/store").Writable<import("@internationalized/date").DateValue | undefined> | undefined;
341
- defaultPlaceholder?: import("@internationalized/date").DateValue | undefined;
342
- placeholder?: import("svelte/store").Writable<import("@internationalized/date").DateValue> | undefined;
343
- onPlaceholderChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@internationalized/date").DateValue> | undefined;
344
- isDateUnavailable: import("@melt-ui/svelte").Matcher | undefined;
345
- minValue: import("@internationalized/date").DateValue | undefined;
346
- maxValue: import("@internationalized/date").DateValue | undefined;
347
- disabled: boolean;
348
- readonly: boolean;
349
- hourCycle: 12 | 24 | undefined;
350
- locale: string;
351
- granularity: import("@melt-ui/svelte").Granularity | undefined;
352
- hideTimeZone: boolean;
353
- name: string | undefined;
354
- required: boolean;
355
- ids?: Partial<{
356
- label: string;
357
- description: string;
358
- month: string;
359
- year: string;
360
- day: string;
361
- hour: string;
362
- minute: string;
363
- second: string;
364
- dayPeriod: string;
365
- timeZoneName: string;
366
- field: string;
367
- validation: string;
368
- }> | undefined;
369
- }, "value" | "ids" | "placeholder">>;
370
- ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
371
- label: string;
372
- description: string;
373
- month: string;
374
- year: string;
375
- day: string;
376
- hour: string;
377
- minute: string;
378
- second: string;
379
- dayPeriod: string;
380
- timeZoneName: string;
381
- field: string;
382
- validation: string;
383
- }>;
384
- };
200
+ export declare function getCtx(): GetReturn;
201
+ export {};
@@ -1,11 +1,18 @@
1
1
  import { createDateField } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { removeUndefined, getOptionUpdater, createBitAttrs } from "../../internal/index.js";
4
- const NAME = "date-field";
5
- const PARTS = ["label", "input", "segment"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getDateFieldData() {
5
+ const NAME = "date-field";
6
+ const PARTS = ["label", "input", "segment"];
7
+ return {
8
+ NAME,
9
+ PARTS
10
+ };
11
+ }
7
12
  export function setCtx(props) {
8
- const dateField = createDateField(removeUndefined(props));
13
+ const { NAME, PARTS } = getDateFieldData();
14
+ const getAttrs = createBitAttrs(NAME, PARTS);
15
+ const dateField = { ...createDateField(removeUndefined(props)), getAttrs };
9
16
  setContext(NAME, dateField);
10
17
  return {
11
18
  ...dateField,
@@ -13,5 +20,6 @@ export function setCtx(props) {
13
20
  };
14
21
  }
15
22
  export function getCtx() {
23
+ const { NAME } = getDateFieldData();
16
24
  return getContext(NAME);
17
25
  }
@@ -1,11 +1,12 @@
1
- <script>import { getPopoverAttrs, getCtx } from "../ctx.js";
1
+ <script>import { getCtx } from "../ctx.js";
2
2
  import { melt } from "@melt-ui/svelte";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
5
  export let size = 8;
6
6
  const {
7
7
  elements: { arrow },
8
- updateOption
8
+ updateOption,
9
+ getPopoverAttrs
9
10
  } = getCtx();
10
11
  const attrs = getPopoverAttrs("arrow");
11
12
  $:
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getCalendarAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let id = void 0;
@@ -7,7 +7,8 @@ export let el = void 0;
7
7
  const {
8
8
  elements: { calendar },
9
9
  states: { months: localMonths, weekdays },
10
- ids
10
+ ids,
11
+ getCalendarAttrs
11
12
  } = getCtx();
12
13
  $:
13
14
  if (id) {