bits-ui 0.13.0 → 0.13.1

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 (220) 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 +3 -2
  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/package.json +1 -1
@@ -1,29 +1,46 @@
1
1
  import { createDateRangePicker } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
- import { removeUndefined, getOptionUpdater } from "../../internal/index.js";
4
- import { getAttrs as getCalendarAttrs } from "../calendar/ctx.js";
5
- import { getAttrs as getFieldAttrs } from "../date-field/ctx.js";
6
- import { getAttrs as getPopoverAttrs } from "../popover/ctx.js";
3
+ import { removeUndefined, getOptionUpdater, createBitAttrs } from "../../internal/index.js";
4
+ import { getCalendarData } from "../calendar/ctx.js";
5
+ import { getDateFieldData } from "../date-field/ctx.js";
6
+ import { getPopoverData } from "../popover/ctx.js";
7
7
  import { getPositioningUpdater } from "../floating/helpers.js";
8
- const NAME = "date-range-picker";
9
- export { getCalendarAttrs, getFieldAttrs, getPopoverAttrs };
8
+ function getDateRangePickerData() {
9
+ const NAME = "date-range-picker";
10
+ return {
11
+ NAME
12
+ };
13
+ }
10
14
  export function setCtx(props) {
11
- const dateRangePicker = createDateRangePicker(removeUndefined(props));
15
+ const { NAME } = getDateRangePickerData();
16
+ const { NAME: CALENDAR_NAME, PARTS: CALENDAR_PARTS } = getCalendarData();
17
+ const getCalendarAttrs = createBitAttrs(CALENDAR_NAME, CALENDAR_PARTS);
18
+ const { NAME: FIELD_NAME, PARTS: FIELD_PARTS } = getDateFieldData();
19
+ const getFieldAttrs = createBitAttrs(FIELD_NAME, FIELD_PARTS);
20
+ const { NAME: POPOVER_NAME, PARTS: POPOVER_PARTS } = getPopoverData();
21
+ const getPopoverAttrs = createBitAttrs(POPOVER_NAME, POPOVER_PARTS);
22
+ const dateRangePicker = {
23
+ ...createDateRangePicker(removeUndefined(props)),
24
+ getCalendarAttrs,
25
+ getFieldAttrs,
26
+ getPopoverAttrs
27
+ };
12
28
  const updateOption = getOptionUpdater(dateRangePicker.options);
13
29
  setContext(NAME, { ...dateRangePicker, updateOption });
14
30
  return {
15
31
  ...dateRangePicker,
16
- updateOption: getOptionUpdater(dateRangePicker.options)
32
+ updateOption
17
33
  };
18
34
  }
19
35
  export function getCtx() {
36
+ const { NAME } = getDateRangePickerData();
20
37
  return getContext(NAME);
21
38
  }
22
- const defaultPlacement = {
23
- side: "bottom",
24
- align: "center"
25
- };
26
39
  export function updatePositioning(props) {
40
+ const defaultPlacement = {
41
+ side: "bottom",
42
+ align: "center"
43
+ };
27
44
  const withDefaults = { ...defaultPlacement, ...props };
28
45
  const { options: { positioning } } = getCtx();
29
46
  const updater = getPositioningUpdater(positioning);
@@ -1,10 +1,11 @@
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 el = void 0;
6
6
  const {
7
- elements: { close }
7
+ elements: { close },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const dispatch = createDispatcher();
10
11
  const attrs = getAttrs("close");
@@ -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;
@@ -12,7 +12,8 @@ export let el = void 0;
12
12
  const {
13
13
  elements: { content },
14
14
  states: { open },
15
- ids
15
+ ids,
16
+ getAttrs
16
17
  } = getCtx();
17
18
  const attrs = getAttrs("content");
18
19
  $:
@@ -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: { description },
8
- ids
8
+ ids,
9
+ getAttrs
9
10
  } = getCtx();
10
11
  const attrs = getAttrs("description");
11
12
  $:
@@ -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: { overlay },
13
- states: { open }
13
+ states: { open },
14
+ getAttrs
14
15
  } = getCtx();
15
16
  const attrs = getAttrs("overlay");
16
17
  $:
@@ -1,9 +1,10 @@
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 el = void 0;
5
5
  const {
6
- elements: { portalled }
6
+ elements: { portalled },
7
+ getAttrs
7
8
  } = getCtx();
8
9
  const attrs = getAttrs("portal");
9
10
  $:
@@ -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 level = "h2";
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: { title },
9
- ids
9
+ ids,
10
+ getAttrs
10
11
  } = getCtx();
11
12
  const attrs = getAttrs("title");
12
13
  $:
@@ -1,10 +1,11 @@
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 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,9 +1,14 @@
1
1
  /// <reference types="svelte" />
2
- import { type CreateDialogProps, type Dialog as DialogReturn } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "content" | "portal" | "description" | "title" | "trigger" | "close" | "overlay") => Record<string, string>;
2
+ import { type CreateDialogProps } from "@melt-ui/svelte";
3
+ export declare function getDialogData(): {
4
+ NAME: "dialog";
5
+ PARTS: readonly ["close", "content", "description", "overlay", "portal", "title", "trigger"];
6
+ };
4
7
  type SetProps = CreateDialogProps;
8
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
5
9
  export declare function setCtx(props: SetProps): {
6
10
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
11
+ getAttrs: (part: "content" | "portal" | "description" | "title" | "trigger" | "close" | "overlay") => Record<string, string>;
7
12
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
8
13
  title: string;
9
14
  description: string;
@@ -83,5 +88,5 @@ export declare function setCtx(props: SetProps): {
83
88
  }> | undefined;
84
89
  }, "ids">>;
85
90
  };
86
- export declare function getCtx(): DialogReturn;
91
+ export declare function getCtx(): GetReturn;
87
92
  export {};
@@ -1,11 +1,26 @@
1
1
  import { createDialog } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
4
- const NAME = "dialog";
5
- const PARTS = ["close", "content", "description", "overlay", "portal", "title", "trigger"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getDialogData() {
5
+ const NAME = "dialog";
6
+ const PARTS = [
7
+ "close",
8
+ "content",
9
+ "description",
10
+ "overlay",
11
+ "portal",
12
+ "title",
13
+ "trigger"
14
+ ];
15
+ return {
16
+ NAME,
17
+ PARTS
18
+ };
19
+ }
7
20
  export function setCtx(props) {
8
- const dialog = createDialog({ ...removeUndefined(props), role: "dialog" });
21
+ const { NAME, PARTS } = getDialogData();
22
+ const getAttrs = createBitAttrs(NAME, PARTS);
23
+ const dialog = { ...createDialog({ ...removeUndefined(props), role: "dialog" }), getAttrs };
9
24
  setContext(NAME, dialog);
10
25
  return {
11
26
  ...dialog,
@@ -13,5 +28,6 @@ export function setCtx(props) {
13
28
  };
14
29
  }
15
30
  export function getCtx() {
31
+ const { NAME } = getDialogData();
16
32
  return getContext(NAME);
17
33
  }
@@ -1,19 +1,19 @@
1
- const defaultPositioningProps = {
2
- side: "bottom",
3
- align: "center",
4
- sideOffset: 0,
5
- alignOffset: 0,
6
- sameWidth: false,
7
- avoidCollisions: true,
8
- collisionPadding: 8,
9
- fitViewport: false
10
- };
11
1
  export function getPositioningUpdater(store) {
12
2
  return (props = {}) => {
13
3
  return updatePositioning(store, props);
14
4
  };
15
5
  }
16
6
  export function updatePositioning(store, props) {
7
+ const defaultPositioningProps = {
8
+ side: "bottom",
9
+ align: "center",
10
+ sideOffset: 0,
11
+ alignOffset: 0,
12
+ sameWidth: false,
13
+ avoidCollisions: true,
14
+ collisionPadding: 8,
15
+ fitViewport: false
16
+ };
17
17
  const withDefaults = { ...defaultPositioningProps, ...props };
18
18
  store.update((prev) => {
19
19
  return {
@@ -1,5 +1,5 @@
1
1
  <script>import { melt, createLabel } from "@melt-ui/svelte";
2
- import { getAttrs } from "../ctx.js";
2
+ import { getLabelData } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let el = void 0;
@@ -7,6 +7,7 @@ const {
7
7
  elements: { root }
8
8
  } = createLabel();
9
9
  const dispatch = createDispatcher();
10
+ const { getAttrs } = getLabelData();
10
11
  const attrs = getAttrs("root");
11
12
  $:
12
13
  builder = $root;
@@ -1 +1,4 @@
1
- export declare const getAttrs: (part: string) => Record<string, string>;
1
+ export declare function getLabelData(): {
2
+ NAME: string;
3
+ getAttrs: (part: string) => Record<string, string>;
4
+ };
@@ -1,4 +1,10 @@
1
1
  import { createBitAttrs } from "../../internal";
2
- const NAME = "label";
3
- const PARTS = ["root"];
4
- export const getAttrs = createBitAttrs(NAME, PARTS);
2
+ export function getLabelData() {
3
+ const NAME = "label";
4
+ const PARTS = ["root"];
5
+ const getAttrs = createBitAttrs(NAME, PARTS);
6
+ return {
7
+ NAME,
8
+ getAttrs
9
+ };
10
+ }
@@ -1,10 +1,11 @@
1
- <script>import { setArrow, getAttrs } from "../ctx.js";
1
+ <script>import { setArrow } 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
- elements: { arrow }
7
+ elements: { arrow },
8
+ getAttrs
8
9
  } = setArrow(size);
9
10
  const attrs = getAttrs("arrow");
10
11
  $:
@@ -1,6 +1,6 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { createDispatcher } from "../../../internal/index.js";
3
- import { getCtx, getAttrs, 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;
@@ -24,7 +24,8 @@ export let el = void 0;
24
24
  const {
25
25
  elements: { content },
26
26
  states: { open },
27
- ids
27
+ ids,
28
+ getAttrs
28
29
  } = getCtx();
29
30
  $:
30
31
  if (id) {
@@ -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,11 +1,15 @@
1
1
  /// <reference types="svelte" />
2
- import { type CreateLinkPreviewProps, type LinkPreview as LinkPreviewReturn } from "@melt-ui/svelte";
2
+ import { type CreateLinkPreviewProps } from "@melt-ui/svelte";
3
3
  import type { FloatingProps } from "../floating/_types.js";
4
4
  import type { Writable } from "svelte/store";
5
- export declare const getAttrs: (part: string) => Record<string, string>;
6
- export declare function getCtx(): LinkPreviewReturn;
5
+ export declare function getLinkPreviewData(): {
6
+ NAME: "link-preview";
7
+ PARTS: string[];
8
+ };
9
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
7
10
  export declare function setCtx(props: CreateLinkPreviewProps): {
8
11
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
12
+ getAttrs: (part: string) => Record<string, string>;
9
13
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
10
14
  content: string;
11
15
  trigger: string;
@@ -64,5 +68,7 @@ export declare function setCtx(props: CreateLinkPreviewProps): {
64
68
  }> | undefined;
65
69
  }, "ids">>;
66
70
  };
67
- export declare function setArrow(size?: number): LinkPreviewReturn;
71
+ export declare function getCtx(): GetReturn;
72
+ export declare function setArrow(size?: number): GetReturn;
68
73
  export declare function updatePositioning(props: FloatingProps): void;
74
+ export {};
@@ -2,33 +2,44 @@ import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../interna
2
2
  import { createLinkPreview } from "@melt-ui/svelte";
3
3
  import { getContext, setContext } from "svelte";
4
4
  import { getPositioningUpdater } from "../floating/helpers.js";
5
- const NAME = "link-preview";
6
- const PARTS = ["arrow", "content", "trigger"];
7
- export const getAttrs = createBitAttrs(NAME, PARTS);
8
- export function getCtx() {
9
- return getContext(NAME);
5
+ export function getLinkPreviewData() {
6
+ const NAME = "link-preview";
7
+ const PARTS = ["arrow", "content", "trigger"];
8
+ return {
9
+ NAME,
10
+ PARTS
11
+ };
10
12
  }
11
13
  export function setCtx(props) {
12
- const linkPreview = createLinkPreview({
13
- ...removeUndefined(props),
14
- forceVisible: true
15
- });
14
+ const { NAME, PARTS } = getLinkPreviewData();
15
+ const getAttrs = createBitAttrs(NAME, PARTS);
16
+ const linkPreview = {
17
+ ...createLinkPreview({
18
+ ...removeUndefined(props),
19
+ forceVisible: true
20
+ }),
21
+ getAttrs
22
+ };
16
23
  setContext(NAME, linkPreview);
17
24
  return {
18
25
  ...linkPreview,
19
26
  updateOption: getOptionUpdater(linkPreview.options)
20
27
  };
21
28
  }
29
+ export function getCtx() {
30
+ const { NAME } = getLinkPreviewData();
31
+ return getContext(NAME);
32
+ }
22
33
  export function setArrow(size = 8) {
23
34
  const linkPreview = getCtx();
24
35
  linkPreview.options.arrowSize.set(size);
25
36
  return linkPreview;
26
37
  }
27
- const defaultPlacement = {
28
- side: "bottom",
29
- align: "center"
30
- };
31
38
  export function updatePositioning(props) {
39
+ const defaultPlacement = {
40
+ side: "bottom",
41
+ align: "center"
42
+ };
32
43
  const withDefaults = { ...defaultPlacement, ...props };
33
44
  const { options: { positioning } } = getCtx();
34
45
  const updater = getPositioningUpdater(positioning);
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setArrow, getAttrs } from "../ctx.js";
2
+ import { setArrow } from "../ctx.js";
3
3
  export let size = 8;
4
4
  export let asChild = false;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { arrow }
7
+ elements: { arrow },
8
+ getAttrs
8
9
  } = setArrow(size);
9
10
  const attrs = getAttrs("arrow");
10
11
  $:
@@ -1,7 +1,8 @@
1
- <script>import { getAttrs, getCheckboxIndicator } from "../ctx.js";
1
+ <script>import { getCheckboxIndicator, getCtx } from "../ctx.js";
2
2
  export let asChild = false;
3
3
  export let el = void 0;
4
4
  const checked = getCheckboxIndicator();
5
+ const { getAttrs } = getCtx();
5
6
  const attrs = getAttrs("checkbox-indicator");
6
7
  </script>
7
8
 
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setCheckboxItem, getAttrs } from "../ctx.js";
2
+ import { setCheckboxItem } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let checked = void 0;
5
5
  export let onCheckedChange = void 0;
@@ -9,7 +9,8 @@ export let el = void 0;
9
9
  const {
10
10
  elements: { checkboxItem },
11
11
  states: { checked: localChecked },
12
- updateOption
12
+ updateOption,
13
+ getAttrs
13
14
  } = setCheckboxItem({
14
15
  disabled,
15
16
  defaultChecked: checked,
@@ -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;
@@ -24,7 +24,8 @@ export let el = void 0;
24
24
  const {
25
25
  elements: { menu },
26
26
  states: { open },
27
- ids
27
+ ids,
28
+ getAttrs
28
29
  } = getCtx();
29
30
  const dispatch = createDispatcher();
30
31
  const attrs = getAttrs("content");
@@ -1,8 +1,8 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setGroupCtx, getAttrs } from "../ctx.js";
2
+ import { setGroupCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
- const { group, id } = setGroupCtx();
5
+ const { group, id, getAttrs } = setGroupCtx();
6
6
  const attrs = getAttrs("group");
7
7
  $:
8
8
  builder = $group(id);
@@ -1,13 +1,14 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
2
  import { disabledAttrs } from "../../../internal/index.js";
3
3
  import { melt } from "@melt-ui/svelte";
4
- import { getCtx, getAttrs } from "../ctx.js";
4
+ import { getCtx } from "../ctx.js";
5
5
  export let href = void 0;
6
6
  export let asChild = false;
7
7
  export let disabled = false;
8
8
  export let el = void 0;
9
9
  const {
10
- elements: { item }
10
+ elements: { item },
11
+ getAttrs
11
12
  } = getCtx();
12
13
  const dispatch = createDispatcher();
13
14
  $:
@@ -1,8 +1,8 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getGroupLabel, getAttrs } from "../ctx.js";
2
+ import { getGroupLabel } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
- const { groupLabel, id } = getGroupLabel();
5
+ const { groupLabel, id, getAttrs } = getGroupLabel();
6
6
  const attrs = getAttrs("label");
7
7
  $:
8
8
  builder = $groupLabel(id);
@@ -1,12 +1,13 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setRadioGroupCtx, getAttrs } from "../ctx.js";
2
+ import { setRadioGroupCtx } from "../ctx.js";
3
3
  export let value = void 0;
4
4
  export let onValueChange = void 0;
5
5
  export let asChild = false;
6
6
  export let el = void 0;
7
7
  const {
8
8
  elements: { radioGroup },
9
- states: { value: localValue }
9
+ states: { value: localValue },
10
+ getAttrs
10
11
  } = setRadioGroupCtx({
11
12
  defaultValue: value,
12
13
  onValueChange: ({ next }) => {
@@ -1,7 +1,11 @@
1
- <script>import { getAttrs, getRadioIndicator } from "../ctx.js";
1
+ <script>import { getRadioIndicator } from "../ctx.js";
2
2
  export let asChild = false;
3
3
  export let el = void 0;
4
- const { isChecked, value } = getRadioIndicator();
4
+ const {
5
+ helpers: { isChecked },
6
+ value,
7
+ getAttrs
8
+ } = getRadioIndicator();
5
9
  const attrs = getAttrs("radio-indicator");
6
10
  $:
7
11
  checked = $isChecked(value);
@@ -1,12 +1,13 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setRadioItem, getAttrs } from "../ctx.js";
2
+ import { setRadioItem } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let value;
5
5
  export let disabled = false;
6
6
  export let asChild = false;
7
7
  export let el = void 0;
8
8
  const {
9
- elements: { radioItem }
9
+ elements: { radioItem },
10
+ getAttrs
10
11
  } = setRadioItem(value);
11
12
  const attrs = getAttrs("radio-item");
12
13
  const dispatch = createDispatcher();
@@ -1,9 +1,10 @@
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 el = void 0;
5
5
  const {
6
- elements: { separator }
6
+ elements: { separator },
7
+ getAttrs
7
8
  } = getCtx();
8
9
  const attrs = getAttrs("separator");
9
10
  $:
@@ -1,6 +1,6 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { createDispatcher } from "../../../internal/index.js";
3
- import { getAttrs, getSubmenuCtx, updateSubPositioning } from "../ctx.js";
3
+ import { getSubmenuCtx, updateSubPositioning } from "../ctx.js";
4
4
  export let transition = void 0;
5
5
  export let transitionConfig = void 0;
6
6
  export let inTransition = void 0;
@@ -24,7 +24,8 @@ export let el = void 0;
24
24
  const {
25
25
  elements: { subMenu },
26
26
  states: { subOpen },
27
- ids
27
+ ids,
28
+ getAttrs
28
29
  } = getSubmenuCtx();
29
30
  const dispatch = createDispatcher();
30
31
  const attrs = getAttrs("sub-content");
@@ -1,6 +1,6 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { disabledAttrs } from "../../../internal/index.js";
3
- import { getSubTrigger, getAttrs } from "../ctx.js";
3
+ import { getSubTrigger } from "../ctx.js";
4
4
  import { createDispatcher } from "../../../internal/events.js";
5
5
  export let disabled = false;
6
6
  export let asChild = false;
@@ -8,7 +8,8 @@ export let id = void 0;
8
8
  export let el = void 0;
9
9
  const {
10
10
  elements: { subTrigger },
11
- ids
11
+ ids,
12
+ getAttrs
12
13
  } = getSubTrigger();
13
14
  const dispatch = createDispatcher();
14
15
  $: