bits-ui 0.11.8 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/bits/accordion/_types.d.ts +6 -6
  2. package/dist/bits/accordion/components/accordion-content.svelte +11 -2
  3. package/dist/bits/accordion/components/accordion-header.svelte +2 -1
  4. package/dist/bits/accordion/components/accordion-item.svelte +2 -1
  5. package/dist/bits/accordion/components/accordion-trigger.svelte +2 -0
  6. package/dist/bits/accordion/components/accordion.svelte +2 -1
  7. package/dist/bits/alert-dialog/_types.d.ts +6 -6
  8. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +2 -0
  9. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +2 -0
  10. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +11 -2
  11. package/dist/bits/alert-dialog/components/alert-dialog-description.svelte +2 -1
  12. package/dist/bits/alert-dialog/components/alert-dialog-overlay.svelte +6 -1
  13. package/dist/bits/alert-dialog/components/alert-dialog-portal.svelte +2 -1
  14. package/dist/bits/alert-dialog/components/alert-dialog-title.svelte +7 -1
  15. package/dist/bits/alert-dialog/components/alert-dialog-trigger.svelte +2 -0
  16. package/dist/bits/aspect-ratio/_types.d.ts +2 -1
  17. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +2 -0
  18. package/dist/bits/avatar/_types.d.ts +4 -4
  19. package/dist/bits/avatar/components/avatar-fallback.svelte +2 -1
  20. package/dist/bits/avatar/components/avatar-image.svelte +2 -1
  21. package/dist/bits/avatar/components/avatar.svelte +2 -1
  22. package/dist/bits/button/components/button.svelte +2 -0
  23. package/dist/bits/button/types.d.ts +3 -2
  24. package/dist/bits/calendar/_types.d.ts +14 -14
  25. package/dist/bits/calendar/components/calendar-cell.svelte +2 -1
  26. package/dist/bits/calendar/components/calendar-day.svelte +2 -1
  27. package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -1
  28. package/dist/bits/calendar/components/calendar-grid-head.svelte +2 -1
  29. package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -1
  30. package/dist/bits/calendar/components/calendar-grid.svelte +2 -1
  31. package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -1
  32. package/dist/bits/calendar/components/calendar-header.svelte +2 -1
  33. package/dist/bits/calendar/components/calendar-heading.svelte +2 -1
  34. package/dist/bits/calendar/components/calendar-next-button.svelte +2 -0
  35. package/dist/bits/calendar/components/calendar-prev-button.svelte +2 -0
  36. package/dist/bits/calendar/components/calendar.svelte +1 -1
  37. package/dist/bits/calendar/types.d.ts +2 -2
  38. package/dist/bits/checkbox/_types.d.ts +3 -3
  39. package/dist/bits/checkbox/components/checkbox-indicator.svelte +2 -1
  40. package/dist/bits/checkbox/components/checkbox-input.svelte +7 -1
  41. package/dist/bits/checkbox/components/checkbox-input.svelte.d.ts +2 -3
  42. package/dist/bits/checkbox/components/checkbox.svelte +2 -0
  43. package/dist/bits/checkbox/types.d.ts +2 -2
  44. package/dist/bits/collapsible/_types.d.ts +4 -4
  45. package/dist/bits/collapsible/components/collapsible-content.svelte +11 -2
  46. package/dist/bits/collapsible/components/collapsible-trigger.svelte +2 -0
  47. package/dist/bits/collapsible/components/collapsible.svelte +2 -1
  48. package/dist/bits/context-menu/_types.d.ts +2 -2
  49. package/dist/bits/context-menu/components/context-menu-content.svelte +11 -1
  50. package/dist/bits/context-menu/components/context-menu-trigger.svelte +2 -0
  51. package/dist/bits/date-field/_types.d.ts +5 -5
  52. package/dist/bits/date-field/components/date-field-input.svelte +2 -1
  53. package/dist/bits/date-field/components/date-field-label.svelte +2 -1
  54. package/dist/bits/date-field/components/date-field-segment.svelte +2 -0
  55. package/dist/bits/date-picker/_types.d.ts +7 -7
  56. package/dist/bits/date-picker/components/date-picker-arrow.svelte +2 -1
  57. package/dist/bits/date-picker/components/date-picker-calendar.svelte +7 -1
  58. package/dist/bits/date-picker/components/date-picker-cell.svelte +2 -1
  59. package/dist/bits/date-picker/components/date-picker-close.svelte +2 -0
  60. package/dist/bits/date-picker/components/date-picker-content.svelte +11 -2
  61. package/dist/bits/date-picker/components/date-picker-day.svelte +2 -1
  62. package/dist/bits/date-picker/components/date-picker-field.svelte.d.ts +0 -1
  63. package/dist/bits/date-picker/components/date-picker-grid.svelte +2 -1
  64. package/dist/bits/date-picker/components/date-picker-heading.svelte +2 -1
  65. package/dist/bits/date-picker/components/date-picker-input.svelte +2 -1
  66. package/dist/bits/date-picker/components/date-picker-label.svelte +2 -1
  67. package/dist/bits/date-picker/components/date-picker-next-button.svelte +2 -0
  68. package/dist/bits/date-picker/components/date-picker-prev-button.svelte +2 -0
  69. package/dist/bits/date-picker/components/date-picker-segment.svelte +2 -0
  70. package/dist/bits/date-picker/components/date-picker-trigger.svelte +2 -0
  71. package/dist/bits/date-picker/components/date-picker.svelte.d.ts +0 -1
  72. package/dist/bits/date-picker/types.d.ts +1 -1
  73. package/dist/bits/date-range-field/_types.d.ts +4 -4
  74. package/dist/bits/date-range-field/components/date-range-field-input.svelte +2 -1
  75. package/dist/bits/date-range-field/components/date-range-field-label.svelte +2 -1
  76. package/dist/bits/date-range-field/components/date-range-field-segment.svelte +2 -0
  77. package/dist/bits/date-range-picker/_types.d.ts +7 -7
  78. package/dist/bits/date-range-picker/components/date-range-picker-arrow.svelte +2 -1
  79. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +2 -1
  80. package/dist/bits/date-range-picker/components/date-range-picker-cell.svelte +2 -1
  81. package/dist/bits/date-range-picker/components/date-range-picker-close.svelte +2 -0
  82. package/dist/bits/date-range-picker/components/date-range-picker-content.svelte +11 -2
  83. package/dist/bits/date-range-picker/components/date-range-picker-day.svelte +2 -1
  84. package/dist/bits/date-range-picker/components/date-range-picker-field.svelte.d.ts +0 -1
  85. package/dist/bits/date-range-picker/components/date-range-picker-grid.svelte +2 -1
  86. package/dist/bits/date-range-picker/components/date-range-picker-heading.svelte +2 -1
  87. package/dist/bits/date-range-picker/components/date-range-picker-input.svelte +2 -1
  88. package/dist/bits/date-range-picker/components/date-range-picker-label.svelte +2 -1
  89. package/dist/bits/date-range-picker/components/date-range-picker-next-button.svelte +2 -1
  90. package/dist/bits/date-range-picker/components/date-range-picker-prev-button.svelte +2 -1
  91. package/dist/bits/date-range-picker/components/date-range-picker-segment.svelte +2 -1
  92. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +2 -0
  93. package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +0 -1
  94. package/dist/bits/date-range-picker/types.d.ts +1 -1
  95. package/dist/bits/dialog/_types.d.ts +7 -7
  96. package/dist/bits/dialog/components/dialog-close.svelte +2 -0
  97. package/dist/bits/dialog/components/dialog-content.svelte +11 -2
  98. package/dist/bits/dialog/components/dialog-description.svelte +2 -1
  99. package/dist/bits/dialog/components/dialog-overlay.svelte +6 -1
  100. package/dist/bits/dialog/components/dialog-portal.svelte +2 -1
  101. package/dist/bits/dialog/components/dialog-title.svelte +7 -1
  102. package/dist/bits/dialog/components/dialog-trigger.svelte +2 -0
  103. package/dist/bits/floating/_types.d.ts +3 -3
  104. package/dist/bits/label/_types.d.ts +2 -2
  105. package/dist/bits/label/components/label.svelte +7 -1
  106. package/dist/bits/label/types.d.ts +1 -1
  107. package/dist/bits/link-preview/_types.d.ts +2 -2
  108. package/dist/bits/link-preview/components/link-preview-arrow.svelte +2 -1
  109. package/dist/bits/link-preview/components/link-preview-content.svelte +6 -0
  110. package/dist/bits/link-preview/components/link-preview-trigger.svelte +2 -0
  111. package/dist/bits/menu/_types.d.ts +12 -12
  112. package/dist/bits/menu/components/menu-arrow.svelte +2 -1
  113. package/dist/bits/menu/components/menu-checkbox-indicator.svelte +2 -1
  114. package/dist/bits/menu/components/menu-checkbox-item.svelte +2 -0
  115. package/dist/bits/menu/components/menu-content.svelte +11 -1
  116. package/dist/bits/menu/components/menu-group.svelte +2 -1
  117. package/dist/bits/menu/components/menu-item.svelte +2 -0
  118. package/dist/bits/menu/components/menu-label.svelte +2 -1
  119. package/dist/bits/menu/components/menu-radio-group.svelte +2 -1
  120. package/dist/bits/menu/components/menu-radio-indicator.svelte +2 -1
  121. package/dist/bits/menu/components/menu-radio-item.svelte +2 -0
  122. package/dist/bits/menu/components/menu-separator.svelte +2 -1
  123. package/dist/bits/menu/components/menu-sub-content.svelte +6 -0
  124. package/dist/bits/menu/components/menu-sub-trigger.svelte +2 -0
  125. package/dist/bits/menu/components/menu-sub-trigger.svelte.d.ts +1 -0
  126. package/dist/bits/menu/components/menu-trigger.svelte +2 -0
  127. package/dist/bits/menu/types.d.ts +6 -6
  128. package/dist/bits/menubar/_types.d.ts +2 -2
  129. package/dist/bits/menubar/components/menubar-trigger.svelte +2 -0
  130. package/dist/bits/menubar/components/menubar.svelte +2 -1
  131. package/dist/bits/pagination/_types.d.ts +5 -5
  132. package/dist/bits/pagination/components/pagination-next-button.svelte +2 -0
  133. package/dist/bits/pagination/components/pagination-page.svelte +2 -0
  134. package/dist/bits/pagination/components/pagination-prev-button.svelte +2 -0
  135. package/dist/bits/pagination/components/pagination.svelte +2 -1
  136. package/dist/bits/pin-input/_types.d.ts +4 -4
  137. package/dist/bits/pin-input/components/pin-input-hidden-input.svelte +2 -1
  138. package/dist/bits/pin-input/components/pin-input-input.svelte +2 -0
  139. package/dist/bits/pin-input/components/pin-input.svelte +2 -1
  140. package/dist/bits/pin-input/types.d.ts +1 -1
  141. package/dist/bits/popover/_types.d.ts +3 -3
  142. package/dist/bits/popover/components/popover-arrow.svelte +2 -1
  143. package/dist/bits/popover/components/popover-close.svelte +2 -0
  144. package/dist/bits/popover/components/popover-content.svelte +11 -2
  145. package/dist/bits/popover/components/popover-trigger.svelte +2 -0
  146. package/dist/bits/popover/types.d.ts +1 -1
  147. package/dist/bits/progress/_types.d.ts +2 -2
  148. package/dist/bits/progress/components/progress.svelte +2 -1
  149. package/dist/bits/radio-group/_types.d.ts +5 -5
  150. package/dist/bits/radio-group/components/radio-group-input.svelte +2 -1
  151. package/dist/bits/radio-group/components/radio-group-item-indicator.svelte +2 -1
  152. package/dist/bits/radio-group/components/radio-group-item.svelte +2 -0
  153. package/dist/bits/radio-group/components/radio-group.svelte +2 -1
  154. package/dist/bits/range-calendar/_types.d.ts +14 -14
  155. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +2 -1
  156. package/dist/bits/range-calendar/components/range-calendar-day.svelte +2 -0
  157. package/dist/bits/range-calendar/components/range-calendar-grid-body.svelte +2 -1
  158. package/dist/bits/range-calendar/components/range-calendar-grid-head.svelte +2 -1
  159. package/dist/bits/range-calendar/components/range-calendar-grid-row.svelte +2 -1
  160. package/dist/bits/range-calendar/components/range-calendar-grid.svelte +2 -1
  161. package/dist/bits/range-calendar/components/range-calendar-head-cell.svelte +2 -1
  162. package/dist/bits/range-calendar/components/range-calendar-header.svelte +2 -1
  163. package/dist/bits/range-calendar/components/range-calendar-heading.svelte +2 -1
  164. package/dist/bits/range-calendar/components/range-calendar-next-button.svelte +2 -0
  165. package/dist/bits/range-calendar/components/range-calendar-prev-button.svelte +2 -0
  166. package/dist/bits/range-calendar/components/range-calendar.svelte +1 -1
  167. package/dist/bits/select/_types.d.ts +9 -9
  168. package/dist/bits/select/components/select-arrow.svelte +2 -1
  169. package/dist/bits/select/components/select-content.svelte +6 -0
  170. package/dist/bits/select/components/select-group.svelte +2 -1
  171. package/dist/bits/select/components/select-input.svelte +2 -1
  172. package/dist/bits/select/components/select-item-indicator.svelte +2 -1
  173. package/dist/bits/select/components/select-item.svelte +2 -0
  174. package/dist/bits/select/components/select-label.svelte +2 -1
  175. package/dist/bits/select/components/select-trigger.svelte +2 -0
  176. package/dist/bits/select/components/select-value.svelte +2 -1
  177. package/dist/bits/separator/_types.d.ts +2 -2
  178. package/dist/bits/separator/components/separator.svelte +2 -1
  179. package/dist/bits/slider/_types.d.ts +5 -5
  180. package/dist/bits/slider/components/slider-input.svelte +2 -1
  181. package/dist/bits/slider/components/slider-range.svelte +2 -1
  182. package/dist/bits/slider/components/slider-thumb.svelte +7 -1
  183. package/dist/bits/slider/components/slider-tick.svelte +2 -1
  184. package/dist/bits/slider/components/slider.svelte +2 -1
  185. package/dist/bits/slider/types.d.ts +2 -2
  186. package/dist/bits/switch/_types.d.ts +3 -3
  187. package/dist/bits/switch/components/switch-input.svelte +2 -0
  188. package/dist/bits/switch/components/switch-input.svelte.d.ts +2 -1
  189. package/dist/bits/switch/components/switch-thumb.svelte +2 -1
  190. package/dist/bits/switch/components/switch.svelte +2 -0
  191. package/dist/bits/switch/types.d.ts +2 -2
  192. package/dist/bits/tabs/_types.d.ts +5 -5
  193. package/dist/bits/tabs/components/tabs-content.svelte +2 -1
  194. package/dist/bits/tabs/components/tabs-list.svelte +2 -1
  195. package/dist/bits/tabs/components/tabs-trigger.svelte +2 -0
  196. package/dist/bits/tabs/components/tabs.svelte +2 -1
  197. package/dist/bits/toggle/_types.d.ts +2 -2
  198. package/dist/bits/toggle/components/toggle.svelte +2 -0
  199. package/dist/bits/toggle-group/_types.d.ts +3 -3
  200. package/dist/bits/toggle-group/components/toggle-group-item.svelte +2 -0
  201. package/dist/bits/toggle-group/components/toggle-group.svelte +2 -1
  202. package/dist/bits/toolbar/_types.d.ts +6 -6
  203. package/dist/bits/toolbar/components/toolbar-button.svelte +2 -0
  204. package/dist/bits/toolbar/components/toolbar-group-item.svelte +2 -0
  205. package/dist/bits/toolbar/components/toolbar-group.svelte +2 -1
  206. package/dist/bits/toolbar/components/toolbar-link.svelte +2 -0
  207. package/dist/bits/toolbar/components/toolbar.svelte +2 -1
  208. package/dist/bits/tooltip/_types.d.ts +2 -2
  209. package/dist/bits/tooltip/components/tooltip-arrow.svelte +2 -1
  210. package/dist/bits/tooltip/components/tooltip-content.svelte +6 -0
  211. package/dist/bits/tooltip/components/tooltip-trigger.svelte +2 -0
  212. package/dist/internal/types.d.ts +19 -0
  213. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  elements: { heading },
6
7
  states: { headingValue }
@@ -15,7 +16,7 @@ $:
15
16
  {#if asChild}
16
17
  <slot {builder} headingValue={$headingValue} />
17
18
  {:else}
18
- <div {...builder} use:builder.action {...$$restProps}>
19
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
19
20
  <slot {builder} headingValue={$headingValue}>
20
21
  {$headingValue}
21
22
  </slot>
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getFieldAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { field },
7
8
  states: { segmentContents },
@@ -21,7 +22,7 @@ $:
21
22
  {#if asChild}
22
23
  <slot builder segments={$segmentContents} />
23
24
  {:else}
24
- <div {...builder} use:builder.action {...$$restProps}>
25
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
25
26
  <slot builder segments={$segmentContents} />
26
27
  </div>
27
28
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getFieldAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { label },
7
8
  ids
@@ -19,7 +20,7 @@ $:
19
20
  {#if asChild}
20
21
  <slot {builder} />
21
22
  {:else}
22
- <span {...builder} use:builder.action {...$$restProps}>
23
+ <span bind:this={el} {...builder} use:builder.action {...$$restProps}>
23
24
  <slot {builder} />
24
25
  </span>
25
26
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { nextButton }
7
8
  } = getCtx();
@@ -17,6 +18,7 @@ $:
17
18
  <slot {builder} />
18
19
  {:else}
19
20
  <button
21
+ bind:this={el}
20
22
  {...builder} use:builder.action
21
23
  type="button"
22
24
  {...$$restProps}
@@ -2,6 +2,7 @@
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { prevButton }
7
8
  } = getCtx();
@@ -17,6 +18,7 @@ $:
17
18
  <slot {builder} />
18
19
  {:else}
19
20
  <button
21
+ bind:this={el}
20
22
  {...builder} use:builder.action
21
23
  type="button"
22
24
  {...$$restProps}
@@ -4,6 +4,7 @@ import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let id = void 0;
6
6
  export let part;
7
+ export let el = void 0;
7
8
  const {
8
9
  elements: { segment },
9
10
  ids
@@ -24,6 +25,7 @@ $:
24
25
  <slot {builder} />
25
26
  {:else}
26
27
  <div
28
+ bind:this={el}
27
29
  {...builder} use:builder.action
28
30
  {...$$restProps}
29
31
  on:m-click={dispatch}
@@ -3,6 +3,7 @@ import { getCtx, getPopoverAttrs } 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
+ export let el = void 0;
6
7
  const {
7
8
  elements: { trigger },
8
9
  ids
@@ -23,6 +24,7 @@ $:
23
24
  <slot {builder} />
24
25
  {:else}
25
26
  <button
27
+ bind:this={el}
26
28
  {...builder} use:builder.action
27
29
  type="button"
28
30
  {...$$restProps}
@@ -34,7 +34,6 @@ declare const __propDef: {
34
34
  onPlaceholderChange?: import("../../../internal/types.js").OnChangeFn<import("@internationalized/date").DateValue> | undefined;
35
35
  validationId?: string | undefined;
36
36
  descriptionId?: string | undefined;
37
- asChild?: boolean | undefined;
38
37
  };
39
38
  events: {
40
39
  [evt: string]: CustomEvent<any>;
@@ -4,7 +4,7 @@ import type { CellProps, DayProps, GridBodyProps, GridHeadProps, GridRowProps, G
4
4
  import type { TriggerProps, ContentProps, ArrowProps, CloseProps, CloseEvents, TriggerEvents } from "../popover/types.js";
5
5
  import type { SegmentEvents } from "../date-field/types.js";
6
6
  type Props = I.Props;
7
- type LabelProps = I.Props & HTMLSpanAttributes;
7
+ type LabelProps = I.LabelProps & HTMLSpanAttributes;
8
8
  type SegmentProps = I.SegmentProps & HTMLDivAttributes;
9
9
  type InputProps = I.InputProps & HTMLDivAttributes;
10
10
  type DescriptionProps = I.DescriptionProps & HTMLDivAttributes;
@@ -3,7 +3,7 @@
3
3
  * to type-check our API documentation, which requires we document each prop,
4
4
  * but we don't want to document the HTML attributes.
5
5
  */
6
- import type { Expand, OnChangeFn, AsChild, OmitDates } from "../../internal/index.js";
6
+ import type { Expand, OnChangeFn, OmitDates, DOMElement } from "../../internal/index.js";
7
7
  import type { DateRange, SegmentPart } from "../../shared/index.js";
8
8
  import type { DateValue } from "@internationalized/date";
9
9
  import type { CreateDateFieldProps } from "@melt-ui/svelte";
@@ -36,8 +36,8 @@ type Props = Expand<Omit<OmitDates<CreateDateFieldProps>, "required" | "name"> &
36
36
  */
37
37
  descriptionId?: string;
38
38
  }>;
39
- type InputProps = AsChild;
40
- type LabelProps = AsChild;
39
+ type InputProps = DOMElement;
40
+ type LabelProps = DOMElement<HTMLSpanElement>;
41
41
  type SegmentProps = Expand<{
42
42
  /**
43
43
  * The type of field to render (start or end).
@@ -47,5 +47,5 @@ type SegmentProps = Expand<{
47
47
  * The part of the date to render.
48
48
  */
49
49
  part: SegmentPart;
50
- } & AsChild>;
50
+ } & DOMElement>;
51
51
  export type { Props, LabelProps, InputProps, SegmentProps };
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { field },
7
8
  states: { segmentContents },
@@ -26,7 +27,7 @@ $:
26
27
  {#if asChild}
27
28
  <slot {builder} {segments} />
28
29
  {:else}
29
- <div {...builder} use:builder.action {...$$restProps}>
30
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
30
31
  <slot {builder} {segments} />
31
32
  </div>
32
33
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { label },
7
8
  ids
@@ -19,7 +20,7 @@ $:
19
20
  {#if asChild}
20
21
  <slot {builder} />
21
22
  {:else}
22
- <span {...builder} use:builder.action {...$$restProps}>
23
+ <span bind:this={el} {...builder} use:builder.action {...$$restProps}>
23
24
  <slot {builder} />
24
25
  </span>
25
26
  {/if}
@@ -5,6 +5,7 @@ export let asChild = false;
5
5
  export let id = void 0;
6
6
  export let part;
7
7
  export let type;
8
+ export let el = void 0;
8
9
  const {
9
10
  elements: { startSegment, endSegment },
10
11
  ids
@@ -29,6 +30,7 @@ $:
29
30
  <slot {builder} />
30
31
  {:else}
31
32
  <div
33
+ bind:this={el}
32
34
  {...builder} use:builder.action
33
35
  {...$$restProps}
34
36
  on:m-click={dispatch}
@@ -3,7 +3,7 @@
3
3
  * to type-check our API documentation, which requires we document each prop,
4
4
  * but we don't want to document the HTML attributes.
5
5
  */
6
- import type { Expand, OnChangeFn, AsChild, OmitDates, OmitFloating } from "../../internal/index.js";
6
+ import type { Expand, OnChangeFn, OmitDates, OmitFloating, DOMElement } from "../../internal/index.js";
7
7
  import type { DateRange, SegmentPart } from "../../shared";
8
8
  import type { DateValue } from "@internationalized/date";
9
9
  import type { CreateDateRangePickerProps } from "@melt-ui/svelte";
@@ -66,11 +66,11 @@ type Props = Expand<WithOmission<CreateDateRangePickerProps> & {
66
66
  * the `value` is set.
67
67
  */
68
68
  startValue?: DateValue | undefined;
69
- } & AsChild>;
70
- type InputProps = AsChild;
71
- type DescriptionProps = AsChild;
72
- type LabelProps = AsChild;
73
- type CalendarProps = AsChild;
69
+ }>;
70
+ type InputProps = DOMElement;
71
+ type DescriptionProps = DOMElement;
72
+ type LabelProps = DOMElement<HTMLSpanElement>;
73
+ type CalendarProps = DOMElement;
74
74
  type SegmentProps = Expand<{
75
75
  /**
76
76
  * The type of field to render (start or end).
@@ -80,5 +80,5 @@ type SegmentProps = Expand<{
80
80
  * The part of the date to render.
81
81
  */
82
82
  part: SegmentPart;
83
- } & AsChild>;
83
+ } & DOMElement>;
84
84
  export type { Props, CalendarProps, LabelProps, DescriptionProps, InputProps, SegmentProps };
@@ -1,6 +1,7 @@
1
1
  <script>import { getPopoverAttrs, getCtx } from "../ctx.js";
2
2
  import { melt } from "@melt-ui/svelte";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  export let size = 8;
5
6
  const {
6
7
  elements: { arrow },
@@ -18,5 +19,5 @@ $:
18
19
  {#if asChild}
19
20
  <slot {builder} />
20
21
  {:else}
21
- <div {...builder} use:builder.action {...$$restProps} />
22
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps} />
22
23
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getCalendarAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { calendar },
7
8
  states: { months: localMonths, weekdays },
@@ -24,7 +25,7 @@ $:
24
25
  {#if asChild}
25
26
  <slot {builder} {months} weekdays={$weekdays} />
26
27
  {:else}
27
- <div {...builder} use:builder.action {...$$restProps}>
28
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
28
29
  <slot {builder} {months} weekdays={$weekdays} />
29
30
  </div>
30
31
  {/if}
@@ -1,6 +1,7 @@
1
1
  <script>import { getCtx, getCalendarAttrs } from "../ctx.js";
2
2
  export let date;
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  helpers: { isDateDisabled, isDateUnavailable }
6
7
  } = getCtx();
@@ -16,7 +17,7 @@ $:
16
17
  {#if asChild}
17
18
  <slot {attrs} />
18
19
  {:else}
19
- <td {...$$restProps} {...attrs}>
20
+ <td bind:this={el} {...$$restProps} {...attrs}>
20
21
  <slot {attrs} />
21
22
  </td>
22
23
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getPopoverAttrs } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { close }
7
8
  } = getCtx();
@@ -17,6 +18,7 @@ $:
17
18
  <slot {builder} />
18
19
  {:else}
19
20
  <button
21
+ bind:this={el}
20
22
  {...builder} use:builder.action
21
23
  type="button"
22
24
  {...$$restProps}
@@ -19,6 +19,7 @@ export let sameWidth = false;
19
19
  export let fitViewport = false;
20
20
  export let strategy = "absolute";
21
21
  export let overlap = false;
22
+ export let el = void 0;
22
23
  const {
23
24
  elements: { content },
24
25
  states: { open },
@@ -53,6 +54,7 @@ $:
53
54
  <slot {builder} />
54
55
  {:else if transition && $open}
55
56
  <div
57
+ bind:this={el}
56
58
  transition:transition={transitionConfig}
57
59
  {...builder} use:builder.action
58
60
  {...$$restProps}
@@ -61,6 +63,7 @@ $:
61
63
  </div>
62
64
  {:else if inTransition && outTransition && $open}
63
65
  <div
66
+ bind:this={el}
64
67
  in:inTransition={inTransitionConfig}
65
68
  out:outTransition={outTransitionConfig}
66
69
  {...builder} use:builder.action
@@ -69,11 +72,17 @@ $:
69
72
  <slot {builder} />
70
73
  </div>
71
74
  {:else if inTransition && $open}
72
- <div in:inTransition={inTransitionConfig} {...builder} use:builder.action {...$$restProps}>
75
+ <div
76
+ bind:this={el}
77
+ in:inTransition={inTransitionConfig}
78
+ {...builder} use:builder.action
79
+ {...$$restProps}
80
+ >
73
81
  <slot {builder} />
74
82
  </div>
75
83
  {:else if outTransition && $open}
76
84
  <div
85
+ bind:this={el}
77
86
  out:outTransition={outTransitionConfig}
78
87
  {...builder} use:builder.action
79
88
  {...$$restProps}
@@ -81,7 +90,7 @@ $:
81
90
  <slot {builder} />
82
91
  </div>
83
92
  {:else if $open}
84
- <div {...builder} use:builder.action {...$$restProps}>
93
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
85
94
  <slot {builder} />
86
95
  </div>
87
96
  {/if}
@@ -3,6 +3,7 @@ import { getCtx, getCalendarAttrs } from "../ctx.js";
3
3
  export let date;
4
4
  export let month;
5
5
  export let asChild = false;
6
+ export let el = void 0;
6
7
  const {
7
8
  elements: { cell },
8
9
  helpers: { isDateDisabled, isDateUnavailable }
@@ -21,7 +22,7 @@ $:
21
22
  {#if asChild}
22
23
  <slot {builder} {disabled} {unavailable} />
23
24
  {:else}
24
- <div {...builder} use:builder.action {...$$restProps}>
25
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
25
26
  <slot {builder} {disabled} {unavailable}>
26
27
  {date.day}
27
28
  </slot>
@@ -34,7 +34,6 @@ declare const __propDef: {
34
34
  validationId?: string | undefined;
35
35
  descriptionId?: string | undefined;
36
36
  startValue?: import("@internationalized/date").DateValue | undefined;
37
- asChild?: boolean | undefined;
38
37
  };
39
38
  events: {
40
39
  [evt: string]: CustomEvent<any>;
@@ -1,6 +1,7 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  elements: { grid }
6
7
  } = getCtx();
@@ -14,7 +15,7 @@ $:
14
15
  {#if asChild}
15
16
  <slot {builder} />
16
17
  {:else}
17
- <table {...builder} use:builder.action {...$$restProps}>
18
+ <table bind:this={el} {...builder} use:builder.action {...$$restProps}>
18
19
  <slot {builder} />
19
20
  </table>
20
21
  {/if}
@@ -1,6 +1,7 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  elements: { heading },
6
7
  states: { headingValue }
@@ -15,7 +16,7 @@ $:
15
16
  {#if asChild}
16
17
  <slot {builder} headingValue={$headingValue} />
17
18
  {:else}
18
- <div {...builder} use:builder.action {...$$restProps}>
19
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
19
20
  <slot {builder} headingValue={$headingValue}>
20
21
  {$headingValue}
21
22
  </slot>
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getFieldAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { field },
7
8
  states: { segmentContents },
@@ -21,7 +22,7 @@ $:
21
22
  {#if asChild}
22
23
  <slot {builder} segments={$segmentContents} />
23
24
  {:else}
24
- <div {...builder} use:builder.action {...$$restProps}>
25
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
25
26
  <slot {builder} segments={$segmentContents} />
26
27
  </div>
27
28
  {/if}
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getFieldAttrs } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { label },
7
8
  ids
@@ -19,7 +20,7 @@ $:
19
20
  {#if asChild}
20
21
  <slot {builder} />
21
22
  {:else}
22
- <span {...builder} use:builder.action {...$$restProps}>
23
+ <span bind:this={el} {...builder} use:builder.action {...$$restProps}>
23
24
  <slot {builder} />
24
25
  </span>
25
26
  {/if}
@@ -1,6 +1,7 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  elements: { nextButton }
6
7
  } = getCtx();
@@ -14,7 +15,7 @@ $:
14
15
  {#if asChild}
15
16
  <slot {builder} />
16
17
  {:else}
17
- <button {...builder} use:builder.action type="button" {...$$restProps}>
18
+ <button bind:this={el} {...builder} use:builder.action type="button" {...$$restProps}>
18
19
  <slot {builder} />
19
20
  </button>
20
21
  {/if}
@@ -1,6 +1,7 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
2
  import { getCalendarAttrs, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
+ export let el = void 0;
4
5
  const {
5
6
  elements: { prevButton }
6
7
  } = getCtx();
@@ -14,7 +15,7 @@ $:
14
15
  {#if asChild}
15
16
  <slot {builder} />
16
17
  {:else}
17
- <button {...builder} use:builder.action type="button" {...$$restProps}>
18
+ <button bind:this={el} {...builder} use:builder.action type="button" {...$$restProps}>
18
19
  <slot {builder} />
19
20
  </button>
20
21
  {/if}
@@ -4,6 +4,7 @@ export let asChild = false;
4
4
  export let id = void 0;
5
5
  export let part;
6
6
  export let type;
7
+ export let el = void 0;
7
8
  const {
8
9
  elements: { startSegment, endSegment },
9
10
  ids
@@ -26,7 +27,7 @@ $:
26
27
  {#if asChild}
27
28
  <slot {builder} />
28
29
  {:else}
29
- <div {...builder} use:builder.action {...$$restProps}>
30
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
30
31
  <slot {builder} />
31
32
  </div>
32
33
  {/if}
@@ -3,6 +3,7 @@ import { getCtx, getPopoverAttrs } 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
+ export let el = void 0;
6
7
  const {
7
8
  elements: { trigger },
8
9
  ids
@@ -23,6 +24,7 @@ $:
23
24
  <slot {builder} />
24
25
  {:else}
25
26
  <button
27
+ bind:this={el}
26
28
  {...builder} use:builder.action
27
29
  type="button"
28
30
  {...$$restProps}
@@ -34,7 +34,6 @@ declare const __propDef: {
34
34
  validationId?: string | undefined;
35
35
  descriptionId?: string | undefined;
36
36
  startValue?: import("@internationalized/date").DateValue | undefined;
37
- asChild?: boolean | undefined;
38
37
  };
39
38
  events: {
40
39
  [evt: string]: CustomEvent<any>;
@@ -4,7 +4,7 @@ import type { CellProps, DayProps, GridBodyProps, GridHeadProps, GridRowProps, G
4
4
  import type { TriggerProps, ContentProps, ArrowProps, CloseProps, CloseEvents, TriggerEvents } from "../popover/types.js";
5
5
  import type { SegmentEvents } from "../date-range-field/types.js";
6
6
  type Props = I.Props;
7
- type LabelProps = I.Props & HTMLSpanAttributes;
7
+ type LabelProps = I.LabelProps & HTMLSpanAttributes;
8
8
  type SegmentProps = I.SegmentProps & HTMLDivAttributes;
9
9
  type InputProps = I.InputProps & HTMLDivAttributes;
10
10
  type DescriptionProps = I.DescriptionProps & HTMLDivAttributes;
@@ -3,7 +3,7 @@
3
3
  * to type-check our API documentation, which requires we document each prop,
4
4
  * but we don't want to document the HTML attributes.
5
5
  */
6
- import type { AsChild, Expand, OmitOpen, OnChangeFn, Transition, TransitionProps } from "../../internal/index.js";
6
+ import type { DOMElement, Expand, OmitOpen, OnChangeFn, Transition, TransitionProps } from "../../internal/index.js";
7
7
  import type { CreateDialogProps } from "@melt-ui/svelte";
8
8
  type Props = Expand<OmitOpen<Omit<CreateDialogProps, "role" | "ids" | "forceVisible">> & {
9
9
  /**
@@ -18,13 +18,13 @@ type Props = Expand<OmitOpen<Omit<CreateDialogProps, "role" | "ids" | "forceVisi
18
18
  */
19
19
  onOpenChange?: OnChangeFn<boolean>;
20
20
  }>;
21
- type TriggerProps = AsChild;
21
+ type TriggerProps = DOMElement<HTMLButtonElement>;
22
22
  type CloseProps = TriggerProps;
23
- type ContentProps<T extends Transition = Transition, In extends Transition = Transition, Out extends Transition = Transition> = Expand<TransitionProps<T, In, Out> & AsChild>;
24
- type DescriptionProps = AsChild;
25
- type OverlayProps<T extends Transition = Transition, In extends Transition = Transition, Out extends Transition = Transition> = Expand<TransitionProps<T, In, Out> & AsChild>;
26
- type PortalProps = AsChild;
23
+ type ContentProps<T extends Transition = Transition, In extends Transition = Transition, Out extends Transition = Transition> = Expand<TransitionProps<T, In, Out> & DOMElement>;
24
+ type DescriptionProps = DOMElement;
25
+ type OverlayProps<T extends Transition = Transition, In extends Transition = Transition, Out extends Transition = Transition> = Expand<TransitionProps<T, In, Out> & DOMElement>;
26
+ type PortalProps = DOMElement;
27
27
  type TitleProps = Expand<{
28
28
  level?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
29
- } & AsChild>;
29
+ } & DOMElement<HTMLHeadingElement>>;
30
30
  export type { Props, CloseProps, TitleProps, PortalProps, ContentProps, TriggerProps, OverlayProps, DescriptionProps };
@@ -2,6 +2,7 @@
2
2
  import { getCtx, getAttrs } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
+ export let el = void 0;
5
6
  const {
6
7
  elements: { close }
7
8
  } = getCtx();
@@ -17,6 +18,7 @@ $:
17
18
  <slot {builder} />
18
19
  {:else}
19
20
  <button
21
+ bind:this={el}
20
22
  {...builder} use:builder.action
21
23
  type="button"
22
24
  {...$$restProps}
@@ -8,6 +8,7 @@ export let outTransition = void 0;
8
8
  export let outTransitionConfig = void 0;
9
9
  export let asChild = false;
10
10
  export let id = void 0;
11
+ export let el = void 0;
11
12
  const {
12
13
  elements: { content },
13
14
  states: { open },
@@ -28,6 +29,7 @@ $:
28
29
  <slot {builder} />
29
30
  {:else if transition && $open}
30
31
  <div
32
+ bind:this={el}
31
33
  transition:transition={transitionConfig}
32
34
  {...builder} use:builder.action
33
35
  {...$$restProps}
@@ -36,6 +38,7 @@ $:
36
38
  </div>
37
39
  {:else if inTransition && outTransition && $open}
38
40
  <div
41
+ bind:this={el}
39
42
  in:inTransition={inTransitionConfig}
40
43
  out:outTransition={outTransitionConfig}
41
44
  {...builder} use:builder.action
@@ -44,11 +47,17 @@ $:
44
47
  <slot {builder} />
45
48
  </div>
46
49
  {:else if inTransition && $open}
47
- <div in:inTransition={inTransitionConfig} {...builder} use:builder.action {...$$restProps}>
50
+ <div
51
+ bind:this={el}
52
+ in:inTransition={inTransitionConfig}
53
+ {...builder} use:builder.action
54
+ {...$$restProps}
55
+ >
48
56
  <slot {builder} />
49
57
  </div>
50
58
  {:else if outTransition && $open}
51
59
  <div
60
+ bind:this={el}
52
61
  out:outTransition={outTransitionConfig}
53
62
  {...builder} use:builder.action
54
63
  {...$$restProps}
@@ -56,7 +65,7 @@ $:
56
65
  <slot {builder} />
57
66
  </div>
58
67
  {:else if $open}
59
- <div {...builder} use:builder.action {...$$restProps}>
68
+ <div bind:this={el} {...builder} use:builder.action {...$$restProps}>
60
69
  <slot {builder} />
61
70
  </div>
62
71
  {/if}