bits-ui 0.11.7 → 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.
- package/dist/bits/accordion/_types.d.ts +6 -6
- package/dist/bits/accordion/components/accordion-content.svelte +11 -2
- package/dist/bits/accordion/components/accordion-header.svelte +2 -1
- package/dist/bits/accordion/components/accordion-item.svelte +2 -1
- package/dist/bits/accordion/components/accordion-trigger.svelte +2 -0
- package/dist/bits/accordion/components/accordion.svelte +2 -1
- package/dist/bits/alert-dialog/_types.d.ts +6 -6
- package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +2 -0
- package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +2 -0
- package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +11 -2
- package/dist/bits/alert-dialog/components/alert-dialog-description.svelte +2 -1
- package/dist/bits/alert-dialog/components/alert-dialog-overlay.svelte +6 -1
- package/dist/bits/alert-dialog/components/alert-dialog-portal.svelte +2 -1
- package/dist/bits/alert-dialog/components/alert-dialog-title.svelte +7 -1
- package/dist/bits/alert-dialog/components/alert-dialog-trigger.svelte +2 -0
- package/dist/bits/aspect-ratio/_types.d.ts +2 -1
- package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +2 -0
- package/dist/bits/avatar/_types.d.ts +4 -4
- package/dist/bits/avatar/components/avatar-fallback.svelte +2 -1
- package/dist/bits/avatar/components/avatar-image.svelte +2 -1
- package/dist/bits/avatar/components/avatar.svelte +2 -1
- package/dist/bits/button/components/button.svelte +2 -0
- package/dist/bits/button/types.d.ts +3 -2
- package/dist/bits/calendar/_types.d.ts +14 -14
- package/dist/bits/calendar/components/calendar-cell.svelte +2 -1
- package/dist/bits/calendar/components/calendar-day.svelte +2 -1
- package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -1
- package/dist/bits/calendar/components/calendar-grid-head.svelte +2 -1
- package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -1
- package/dist/bits/calendar/components/calendar-grid.svelte +2 -1
- package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -1
- package/dist/bits/calendar/components/calendar-header.svelte +2 -1
- package/dist/bits/calendar/components/calendar-heading.svelte +2 -1
- package/dist/bits/calendar/components/calendar-next-button.svelte +2 -0
- package/dist/bits/calendar/components/calendar-prev-button.svelte +2 -0
- package/dist/bits/calendar/components/calendar.svelte +1 -1
- package/dist/bits/calendar/types.d.ts +2 -2
- package/dist/bits/checkbox/_types.d.ts +3 -3
- package/dist/bits/checkbox/components/checkbox-indicator.svelte +2 -1
- package/dist/bits/checkbox/components/checkbox-input.svelte +7 -1
- package/dist/bits/checkbox/components/checkbox-input.svelte.d.ts +2 -3
- package/dist/bits/checkbox/components/checkbox.svelte +2 -0
- package/dist/bits/checkbox/types.d.ts +2 -2
- package/dist/bits/collapsible/_types.d.ts +4 -4
- package/dist/bits/collapsible/components/collapsible-content.svelte +11 -2
- package/dist/bits/collapsible/components/collapsible-trigger.svelte +2 -0
- package/dist/bits/collapsible/components/collapsible.svelte +2 -1
- package/dist/bits/context-menu/_types.d.ts +2 -2
- package/dist/bits/context-menu/components/context-menu-content.svelte +11 -1
- package/dist/bits/context-menu/components/context-menu-trigger.svelte +2 -0
- package/dist/bits/date-field/_types.d.ts +5 -5
- package/dist/bits/date-field/components/date-field-input.svelte +2 -1
- package/dist/bits/date-field/components/date-field-label.svelte +2 -1
- package/dist/bits/date-field/components/date-field-segment.svelte +2 -0
- package/dist/bits/date-picker/_types.d.ts +7 -7
- package/dist/bits/date-picker/components/date-picker-arrow.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-calendar.svelte +7 -1
- package/dist/bits/date-picker/components/date-picker-cell.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-close.svelte +2 -0
- package/dist/bits/date-picker/components/date-picker-content.svelte +11 -2
- package/dist/bits/date-picker/components/date-picker-day.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-field.svelte.d.ts +0 -1
- package/dist/bits/date-picker/components/date-picker-grid.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-heading.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-input.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-label.svelte +2 -1
- package/dist/bits/date-picker/components/date-picker-next-button.svelte +2 -0
- package/dist/bits/date-picker/components/date-picker-prev-button.svelte +2 -0
- package/dist/bits/date-picker/components/date-picker-segment.svelte +2 -0
- package/dist/bits/date-picker/components/date-picker-trigger.svelte +2 -0
- package/dist/bits/date-picker/components/date-picker.svelte.d.ts +0 -1
- package/dist/bits/date-picker/types.d.ts +1 -1
- package/dist/bits/date-range-field/_types.d.ts +4 -4
- package/dist/bits/date-range-field/components/date-range-field-input.svelte +2 -1
- package/dist/bits/date-range-field/components/date-range-field-label.svelte +2 -1
- package/dist/bits/date-range-field/components/date-range-field-segment.svelte +2 -0
- package/dist/bits/date-range-picker/_types.d.ts +7 -7
- package/dist/bits/date-range-picker/components/date-range-picker-arrow.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-cell.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-close.svelte +2 -0
- package/dist/bits/date-range-picker/components/date-range-picker-content.svelte +11 -2
- package/dist/bits/date-range-picker/components/date-range-picker-day.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-field.svelte.d.ts +0 -1
- package/dist/bits/date-range-picker/components/date-range-picker-grid.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-heading.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-input.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-label.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-next-button.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-prev-button.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-segment.svelte +2 -1
- package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +2 -0
- package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +0 -1
- package/dist/bits/date-range-picker/types.d.ts +1 -1
- package/dist/bits/dialog/_types.d.ts +7 -7
- package/dist/bits/dialog/components/dialog-close.svelte +2 -0
- package/dist/bits/dialog/components/dialog-content.svelte +11 -2
- package/dist/bits/dialog/components/dialog-description.svelte +2 -1
- package/dist/bits/dialog/components/dialog-overlay.svelte +6 -1
- package/dist/bits/dialog/components/dialog-portal.svelte +2 -1
- package/dist/bits/dialog/components/dialog-title.svelte +7 -1
- package/dist/bits/dialog/components/dialog-trigger.svelte +2 -0
- package/dist/bits/floating/_types.d.ts +3 -3
- package/dist/bits/index.d.ts +3 -2
- package/dist/bits/index.js +3 -2
- package/dist/bits/label/_types.d.ts +2 -2
- package/dist/bits/label/components/label.svelte +7 -1
- package/dist/bits/label/types.d.ts +1 -1
- package/dist/bits/link-preview/_types.d.ts +2 -2
- package/dist/bits/link-preview/components/link-preview-arrow.svelte +2 -1
- package/dist/bits/link-preview/components/link-preview-content.svelte +6 -0
- package/dist/bits/link-preview/components/link-preview-trigger.svelte +2 -0
- package/dist/bits/menu/_types.d.ts +12 -12
- package/dist/bits/menu/components/menu-arrow.svelte +2 -1
- package/dist/bits/menu/components/menu-checkbox-indicator.svelte +2 -1
- package/dist/bits/menu/components/menu-checkbox-item.svelte +2 -0
- package/dist/bits/menu/components/menu-content.svelte +11 -1
- package/dist/bits/menu/components/menu-group.svelte +2 -1
- package/dist/bits/menu/components/menu-item.svelte +2 -0
- package/dist/bits/menu/components/menu-label.svelte +2 -1
- package/dist/bits/menu/components/menu-radio-group.svelte +2 -1
- package/dist/bits/menu/components/menu-radio-indicator.svelte +2 -1
- package/dist/bits/menu/components/menu-radio-item.svelte +2 -0
- package/dist/bits/menu/components/menu-separator.svelte +2 -1
- package/dist/bits/menu/components/menu-sub-content.svelte +6 -0
- package/dist/bits/menu/components/menu-sub-trigger.svelte +2 -0
- package/dist/bits/menu/components/menu-sub-trigger.svelte.d.ts +1 -0
- package/dist/bits/menu/components/menu-trigger.svelte +2 -0
- package/dist/bits/menu/types.d.ts +6 -6
- package/dist/bits/menubar/_types.d.ts +2 -2
- package/dist/bits/menubar/components/menubar-trigger.svelte +2 -0
- package/dist/bits/menubar/components/menubar.svelte +2 -1
- package/dist/bits/pagination/_types.d.ts +5 -5
- package/dist/bits/pagination/components/pagination-next-button.svelte +2 -0
- package/dist/bits/pagination/components/pagination-page.svelte +2 -0
- package/dist/bits/pagination/components/pagination-prev-button.svelte +2 -0
- package/dist/bits/pagination/components/pagination.svelte +2 -1
- package/dist/bits/pin-input/_export.types.d.ts +1 -0
- package/dist/bits/pin-input/_export.types.js +1 -0
- package/dist/bits/pin-input/_types.d.ts +22 -0
- package/dist/bits/pin-input/_types.js +1 -0
- package/dist/bits/pin-input/components/pin-input-hidden-input.svelte +24 -0
- package/dist/bits/pin-input/components/pin-input-hidden-input.svelte.d.ts +31 -0
- package/dist/bits/pin-input/components/pin-input-input.svelte +31 -0
- package/dist/bits/pin-input/components/pin-input-input.svelte.d.ts +27 -0
- package/dist/bits/pin-input/components/pin-input.svelte +67 -0
- package/dist/bits/pin-input/components/pin-input.svelte.d.ts +29 -0
- package/dist/bits/pin-input/ctx.d.ts +63 -0
- package/dist/bits/pin-input/ctx.js +17 -0
- package/dist/bits/pin-input/index.d.ts +4 -0
- package/dist/bits/pin-input/index.js +4 -0
- package/dist/bits/pin-input/types.d.ts +16 -0
- package/dist/bits/pin-input/types.js +1 -0
- package/dist/bits/popover/_types.d.ts +3 -3
- package/dist/bits/popover/components/popover-arrow.svelte +2 -1
- package/dist/bits/popover/components/popover-close.svelte +2 -0
- package/dist/bits/popover/components/popover-content.svelte +11 -2
- package/dist/bits/popover/components/popover-trigger.svelte +2 -0
- package/dist/bits/popover/types.d.ts +1 -1
- package/dist/bits/progress/_types.d.ts +2 -2
- package/dist/bits/progress/components/progress.svelte +2 -1
- package/dist/bits/radio-group/_types.d.ts +5 -5
- package/dist/bits/radio-group/components/radio-group-input.svelte +2 -1
- package/dist/bits/radio-group/components/radio-group-item-indicator.svelte +2 -1
- package/dist/bits/radio-group/components/radio-group-item.svelte +2 -0
- package/dist/bits/radio-group/components/radio-group.svelte +2 -1
- package/dist/bits/range-calendar/_types.d.ts +14 -14
- package/dist/bits/range-calendar/components/range-calendar-cell.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-day.svelte +2 -0
- package/dist/bits/range-calendar/components/range-calendar-grid-body.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-grid-head.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-grid-row.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-grid.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-head-cell.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-header.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-heading.svelte +2 -1
- package/dist/bits/range-calendar/components/range-calendar-next-button.svelte +2 -0
- package/dist/bits/range-calendar/components/range-calendar-prev-button.svelte +2 -0
- package/dist/bits/range-calendar/components/range-calendar.svelte +1 -1
- package/dist/bits/select/_types.d.ts +9 -9
- package/dist/bits/select/components/select-arrow.svelte +2 -1
- package/dist/bits/select/components/select-content.svelte +6 -0
- package/dist/bits/select/components/select-group.svelte +2 -1
- package/dist/bits/select/components/select-input.svelte +2 -1
- package/dist/bits/select/components/select-item-indicator.svelte +2 -1
- package/dist/bits/select/components/select-item.svelte +2 -0
- package/dist/bits/select/components/select-label.svelte +2 -1
- package/dist/bits/select/components/select-trigger.svelte +2 -0
- package/dist/bits/select/components/select-value.svelte +2 -1
- package/dist/bits/separator/_types.d.ts +2 -2
- package/dist/bits/separator/components/separator.svelte +2 -1
- package/dist/bits/slider/_types.d.ts +5 -5
- package/dist/bits/slider/components/slider-input.svelte +2 -1
- package/dist/bits/slider/components/slider-range.svelte +2 -1
- package/dist/bits/slider/components/slider-thumb.svelte +7 -1
- package/dist/bits/slider/components/slider-tick.svelte +2 -1
- package/dist/bits/slider/components/slider.svelte +2 -1
- package/dist/bits/slider/types.d.ts +2 -2
- package/dist/bits/switch/_types.d.ts +3 -3
- package/dist/bits/switch/components/switch-input.svelte +2 -0
- package/dist/bits/switch/components/switch-input.svelte.d.ts +2 -1
- package/dist/bits/switch/components/switch-thumb.svelte +2 -1
- package/dist/bits/switch/components/switch.svelte +2 -0
- package/dist/bits/switch/types.d.ts +2 -2
- package/dist/bits/tabs/_types.d.ts +5 -5
- package/dist/bits/tabs/components/tabs-content.svelte +2 -1
- package/dist/bits/tabs/components/tabs-list.svelte +2 -1
- package/dist/bits/tabs/components/tabs-trigger.svelte +2 -0
- package/dist/bits/tabs/components/tabs.svelte +2 -1
- package/dist/bits/toggle/_types.d.ts +2 -2
- package/dist/bits/toggle/components/toggle.svelte +2 -0
- package/dist/bits/toggle-group/_types.d.ts +3 -3
- package/dist/bits/toggle-group/components/toggle-group-item.svelte +2 -0
- package/dist/bits/toggle-group/components/toggle-group.svelte +2 -1
- package/dist/bits/toolbar/_types.d.ts +6 -6
- package/dist/bits/toolbar/components/toolbar-button.svelte +2 -0
- package/dist/bits/toolbar/components/toolbar-group-item.svelte +2 -0
- package/dist/bits/toolbar/components/toolbar-group.svelte +2 -1
- package/dist/bits/toolbar/components/toolbar-link.svelte +2 -0
- package/dist/bits/toolbar/components/toolbar.svelte +2 -1
- package/dist/bits/tooltip/_types.d.ts +2 -2
- package/dist/bits/tooltip/components/tooltip-arrow.svelte +2 -1
- package/dist/bits/tooltip/components/tooltip-content.svelte +6 -0
- package/dist/bits/tooltip/components/tooltip-trigger.svelte +2 -0
- package/dist/internal/types.d.ts +19 -0
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* These types are shared between the various menu components,
|
|
3
3
|
* such as `DropdownMenu`, `Menubar` & `ContextMenu`.
|
|
4
4
|
*/
|
|
5
|
-
import type { HTMLDivAttributes } from "../../internal/index.js";
|
|
5
|
+
import type { DOMEl, HTMLDivAttributes } from "../../internal/index.js";
|
|
6
6
|
import type { CustomEventHandler } from "../..";
|
|
7
7
|
import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
|
|
8
8
|
import type * as I from "./_types.js";
|
|
@@ -14,19 +14,19 @@ type RadioItemProps = I.RadioItemProps & HTMLDivAttributes;
|
|
|
14
14
|
type GroupProps = I.GroupProps & HTMLDivAttributes;
|
|
15
15
|
type AnchorElement = HTMLAnchorAttributes & {
|
|
16
16
|
href?: HTMLAnchorAttributes["href"];
|
|
17
|
-
}
|
|
17
|
+
} & DOMEl<HTMLAnchorElement>;
|
|
18
18
|
type DivElement = HTMLDivAttributes & {
|
|
19
19
|
href?: never;
|
|
20
|
-
};
|
|
21
|
-
type ItemProps = I.ItemProps & (AnchorElement | DivElement);
|
|
20
|
+
} & DOMEl;
|
|
21
|
+
type ItemProps = Omit<I.ItemProps, "el"> & (AnchorElement | DivElement);
|
|
22
22
|
type CheckboxIndicatorProps = I.CheckboxIndicatorProps & HTMLDivAttributes;
|
|
23
23
|
type RadioIndicatorProps = I.RadioIndicatorProps & HTMLDivAttributes;
|
|
24
24
|
type LabelProps = I.LabelProps & HTMLDivAttributes;
|
|
25
25
|
type SeparatorProps = I.SeparatorProps & HTMLDivAttributes;
|
|
26
26
|
type SubProps = I.SubProps;
|
|
27
27
|
type SubTriggerProps = I.SubTriggerProps & HTMLDivAttributes;
|
|
28
|
-
type ContextTriggerProps = I.TriggerProps & HTMLDivAttributes;
|
|
29
|
-
type DropdownTriggerProps = I.TriggerProps & HTMLButtonAttributes
|
|
28
|
+
type ContextTriggerProps = Omit<I.TriggerProps, "el"> & HTMLDivAttributes & DOMEl;
|
|
29
|
+
type DropdownTriggerProps = Omit<I.TriggerProps, "el"> & HTMLButtonAttributes & DOMEl<HTMLButtonElement>;
|
|
30
30
|
type ArrowProps = I.ArrowProps & HTMLDivAttributes;
|
|
31
31
|
type ItemEvents<T extends Element = HTMLDivElement> = {
|
|
32
32
|
click: CustomEventHandler<MouseEvent, T>;
|
|
@@ -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 {
|
|
6
|
+
import type { DOMElement, Expand, OmitIds } from "../../internal/index.js";
|
|
7
7
|
import type { CreateMenubarProps } from "@melt-ui/svelte";
|
|
8
|
-
type Props = Expand<OmitIds<CreateMenubarProps> &
|
|
8
|
+
type Props = Expand<OmitIds<CreateMenubarProps> & DOMElement>;
|
|
9
9
|
export type { Props };
|
|
@@ -3,6 +3,7 @@ import { getMenuCtx, getAttrs } 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}
|
|
@@ -5,6 +5,7 @@ export let loop = true;
|
|
|
5
5
|
export let closeOnEscape = true;
|
|
6
6
|
export let asChild = false;
|
|
7
7
|
export let id = void 0;
|
|
8
|
+
export let el = void 0;
|
|
8
9
|
const {
|
|
9
10
|
elements: { menubar },
|
|
10
11
|
updateOption,
|
|
@@ -31,7 +32,7 @@ $:
|
|
|
31
32
|
{#if asChild}
|
|
32
33
|
<slot {builder} ids={$idValues} />
|
|
33
34
|
{:else}
|
|
34
|
-
<div {...builder} use:builder.action {...$$restProps}>
|
|
35
|
+
<div bind:this={el} {...builder} use:builder.action {...$$restProps}>
|
|
35
36
|
<slot {builder} ids={$idValues} />
|
|
36
37
|
</div>
|
|
37
38
|
{/if}
|
|
@@ -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 {
|
|
6
|
+
import type { DOMElement, Expand, OnChangeFn } from "../../internal";
|
|
7
7
|
import type { CreatePaginationProps, Page } from "@melt-ui/svelte";
|
|
8
8
|
type OmitPaginationProps<T> = Omit<T, "page" | "defaultPage" | "onPageChange">;
|
|
9
9
|
type Props = Expand<OmitPaginationProps<CreatePaginationProps> & {
|
|
@@ -17,10 +17,10 @@ type Props = Expand<OmitPaginationProps<CreatePaginationProps> & {
|
|
|
17
17
|
* A callback function called when the page changes.
|
|
18
18
|
*/
|
|
19
19
|
onPageChange?: OnChangeFn<number>;
|
|
20
|
-
} &
|
|
20
|
+
} & DOMElement>;
|
|
21
21
|
type PageProps = {
|
|
22
22
|
page: Page;
|
|
23
|
-
} &
|
|
24
|
-
type PrevButtonProps =
|
|
25
|
-
type NextButtonProps =
|
|
23
|
+
} & DOMElement<HTMLButtonElement>;
|
|
24
|
+
type PrevButtonProps = DOMElement<HTMLButtonElement>;
|
|
25
|
+
type NextButtonProps = DOMElement<HTMLButtonElement>;
|
|
26
26
|
export type { Props, PrevButtonProps, NextButtonProps, PageProps };
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { getAttrs, getCtx } from "../ctx.js";
|
|
3
3
|
import { melt } from "@melt-ui/svelte";
|
|
4
4
|
export let asChild = void 0;
|
|
5
|
+
export let el = void 0;
|
|
5
6
|
const {
|
|
6
7
|
elements: { nextButton }
|
|
7
8
|
} = getCtx();
|
|
@@ -17,6 +18,7 @@ const dispatch = createDispatcher();
|
|
|
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}
|
|
@@ -3,6 +3,7 @@ import { getAttrs, getCtx } from "../ctx.js";
|
|
|
3
3
|
import { melt } from "@melt-ui/svelte";
|
|
4
4
|
export let asChild = void 0;
|
|
5
5
|
export let page;
|
|
6
|
+
export let el = void 0;
|
|
6
7
|
const {
|
|
7
8
|
elements: { pageTrigger }
|
|
8
9
|
} = getCtx();
|
|
@@ -18,6 +19,7 @@ const dispatch = createDispatcher();
|
|
|
18
19
|
<slot {builder} />
|
|
19
20
|
{:else}
|
|
20
21
|
<button
|
|
22
|
+
bind:this={el}
|
|
21
23
|
type="button"
|
|
22
24
|
{...builder} use:builder.action
|
|
23
25
|
on:m-click={dispatch}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { getAttrs, getCtx } from "../ctx.js";
|
|
3
3
|
import { melt } from "@melt-ui/svelte";
|
|
4
4
|
export let asChild = void 0;
|
|
5
|
+
export let el = void 0;
|
|
5
6
|
const {
|
|
6
7
|
elements: { prevButton }
|
|
7
8
|
} = getCtx();
|
|
@@ -17,6 +18,7 @@ const dispatch = createDispatcher();
|
|
|
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}
|
|
@@ -6,6 +6,7 @@ export let onPageChange = void 0;
|
|
|
6
6
|
export let perPage = void 0;
|
|
7
7
|
export let siblingCount = void 0;
|
|
8
8
|
export let asChild = false;
|
|
9
|
+
export let el = void 0;
|
|
9
10
|
const {
|
|
10
11
|
elements: { root },
|
|
11
12
|
states: { pages, range }
|
|
@@ -32,7 +33,7 @@ $:
|
|
|
32
33
|
{#if asChild}
|
|
33
34
|
<slot {builder} pages={$pages} range={$range} />
|
|
34
35
|
{:else}
|
|
35
|
-
<div {...builder} use:builder.action {...$$restProps}>
|
|
36
|
+
<div bind:this={el} {...builder} use:builder.action {...$$restProps}>
|
|
36
37
|
<slot {builder} pages={$pages} range={$range} />
|
|
37
38
|
</div>
|
|
38
39
|
{/if}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Props, InputProps as PinInputProps, HiddenInputProps as PinInputHiddenInputProps } from "./types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We define prop types without the HTMLAttributes here so that we can use them
|
|
3
|
+
* to type-check our API documentation, which requires we document each prop,
|
|
4
|
+
* but we don't want to document the HTML attributes.
|
|
5
|
+
*/
|
|
6
|
+
import type { CreatePinInputProps } from "@melt-ui/svelte";
|
|
7
|
+
import type { DOMElement, Expand, OmitIds, OmitValue, OnChangeFn } from "../../internal/index.js";
|
|
8
|
+
type Props = Expand<OmitIds<OmitValue<CreatePinInputProps> & {
|
|
9
|
+
/**
|
|
10
|
+
* The value pin-input, which is an array of strings.
|
|
11
|
+
*
|
|
12
|
+
* You can bind to this to programmatically control the value.
|
|
13
|
+
*/
|
|
14
|
+
value?: CreatePinInputProps["defaultValue"];
|
|
15
|
+
/**
|
|
16
|
+
* A callback function called when the value changes.
|
|
17
|
+
*/
|
|
18
|
+
onValueChange?: OnChangeFn<CreatePinInputProps["defaultValue"]>;
|
|
19
|
+
} & DOMElement>>;
|
|
20
|
+
type InputProps = DOMElement<HTMLInputElement>;
|
|
21
|
+
type HiddenInputProps = DOMElement<HTMLInputElement>;
|
|
22
|
+
export type { Props, InputProps, HiddenInputProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script>import { melt } from "@melt-ui/svelte";
|
|
2
|
+
import { getCtx, getAttrs } from "../ctx.js";
|
|
3
|
+
export let asChild = false;
|
|
4
|
+
export let el = void 0;
|
|
5
|
+
const {
|
|
6
|
+
elements: { hiddenInput },
|
|
7
|
+
options: { disabled }
|
|
8
|
+
} = getCtx();
|
|
9
|
+
$:
|
|
10
|
+
attrs = {
|
|
11
|
+
...getAttrs("hidden-input"),
|
|
12
|
+
disabled: $disabled ? true : void 0
|
|
13
|
+
};
|
|
14
|
+
$:
|
|
15
|
+
builder = $hiddenInput;
|
|
16
|
+
$:
|
|
17
|
+
Object.assign(builder, attrs);
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
{#if asChild}
|
|
21
|
+
<slot {builder} />
|
|
22
|
+
{:else}
|
|
23
|
+
<input bind:this={el} {...builder} use:builder.action {...$$restProps} />
|
|
24
|
+
{/if}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { HiddenInputProps } from "../types.js";
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: HiddenInputProps;
|
|
5
|
+
events: {
|
|
6
|
+
[evt: string]: CustomEvent<any>;
|
|
7
|
+
};
|
|
8
|
+
slots: {
|
|
9
|
+
default: {
|
|
10
|
+
builder: {
|
|
11
|
+
value: string;
|
|
12
|
+
name: string | undefined;
|
|
13
|
+
type: string;
|
|
14
|
+
'aria-hidden': boolean;
|
|
15
|
+
hidden: boolean;
|
|
16
|
+
tabIndex: number;
|
|
17
|
+
style: string;
|
|
18
|
+
} & {
|
|
19
|
+
[x: `data-melt-${string}`]: "";
|
|
20
|
+
} & {
|
|
21
|
+
action: import("svelte/action").Action<any, any, Record<never, any>>;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type PinInputHiddenInputProps = typeof __propDef.props;
|
|
27
|
+
export type PinInputHiddenInputEvents = typeof __propDef.events;
|
|
28
|
+
export type PinInputHiddenInputSlots = typeof __propDef.slots;
|
|
29
|
+
export default class PinInputHiddenInput extends SvelteComponent<PinInputHiddenInputProps, PinInputHiddenInputEvents, PinInputHiddenInputSlots> {
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script>import { melt } from "@melt-ui/svelte";
|
|
2
|
+
import { getCtx, getAttrs } from "../ctx.js";
|
|
3
|
+
import { createDispatcher } from "../../../internal/events.js";
|
|
4
|
+
export let asChild = false;
|
|
5
|
+
export let el = void 0;
|
|
6
|
+
const {
|
|
7
|
+
elements: { input }
|
|
8
|
+
} = getCtx();
|
|
9
|
+
const dispatch = createDispatcher();
|
|
10
|
+
const attrs = getAttrs("input");
|
|
11
|
+
$:
|
|
12
|
+
builder = $input();
|
|
13
|
+
$:
|
|
14
|
+
Object.assign(builder, attrs);
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#if asChild}
|
|
18
|
+
<slot {builder} />
|
|
19
|
+
{:else}
|
|
20
|
+
<input
|
|
21
|
+
bind:this={el}
|
|
22
|
+
{...builder} use:builder.action
|
|
23
|
+
{...$$restProps}
|
|
24
|
+
on:m-keydown={dispatch}
|
|
25
|
+
on:m-input={dispatch}
|
|
26
|
+
on:m-paste={dispatch}
|
|
27
|
+
on:m-change={dispatch}
|
|
28
|
+
on:m-focus={dispatch}
|
|
29
|
+
on:m-blur={dispatch}
|
|
30
|
+
/>
|
|
31
|
+
{/if}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { InputEvents, InputProps } from "../types.js";
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: InputProps;
|
|
5
|
+
slots: {
|
|
6
|
+
default: {
|
|
7
|
+
builder: (() => {
|
|
8
|
+
'data-complete': string | undefined;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
disabled: boolean | undefined;
|
|
11
|
+
type: "text" | "password";
|
|
12
|
+
value: string;
|
|
13
|
+
}) & {
|
|
14
|
+
[x: `data-melt-${string}`]: "";
|
|
15
|
+
} & {
|
|
16
|
+
action: (node: HTMLInputElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "blur" | "change" | "focus" | "paste">;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
events: InputEvents;
|
|
21
|
+
};
|
|
22
|
+
export type PinInputInputProps = typeof __propDef.props;
|
|
23
|
+
export type PinInputInputEvents = typeof __propDef.events;
|
|
24
|
+
export type PinInputInputSlots = typeof __propDef.slots;
|
|
25
|
+
export default class PinInputInput extends SvelteComponent<PinInputInputProps, PinInputInputEvents, PinInputInputSlots> {
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script>import { melt } from "@melt-ui/svelte";
|
|
2
|
+
import { setCtx, getAttrs } from "../ctx.js";
|
|
3
|
+
import { derived } from "svelte/store";
|
|
4
|
+
export let placeholder = void 0;
|
|
5
|
+
export let value = void 0;
|
|
6
|
+
export let name = void 0;
|
|
7
|
+
export let disabled = void 0;
|
|
8
|
+
export let type = "text";
|
|
9
|
+
export let onValueChange = void 0;
|
|
10
|
+
export let id = void 0;
|
|
11
|
+
export let asChild = false;
|
|
12
|
+
export let el = void 0;
|
|
13
|
+
const {
|
|
14
|
+
elements: { root },
|
|
15
|
+
states: { value: localValue },
|
|
16
|
+
updateOption,
|
|
17
|
+
ids
|
|
18
|
+
} = setCtx({
|
|
19
|
+
placeholder,
|
|
20
|
+
defaultValue: value,
|
|
21
|
+
name,
|
|
22
|
+
disabled,
|
|
23
|
+
type,
|
|
24
|
+
onValueChange: ({ next }) => {
|
|
25
|
+
if (value !== next) {
|
|
26
|
+
onValueChange?.(next);
|
|
27
|
+
value = next;
|
|
28
|
+
}
|
|
29
|
+
return next;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
$:
|
|
33
|
+
value !== void 0 && localValue.set(value);
|
|
34
|
+
const attrs = getAttrs("root");
|
|
35
|
+
$:
|
|
36
|
+
updateOption("placeholder", placeholder);
|
|
37
|
+
$:
|
|
38
|
+
updateOption("name", name);
|
|
39
|
+
$:
|
|
40
|
+
updateOption("disabled", disabled);
|
|
41
|
+
$:
|
|
42
|
+
updateOption("type", type);
|
|
43
|
+
$:
|
|
44
|
+
builder = $root;
|
|
45
|
+
$:
|
|
46
|
+
Object.assign(builder, attrs);
|
|
47
|
+
const idValues = derived([ids.root], ([$menubarId]) => ({
|
|
48
|
+
menubar: $menubarId
|
|
49
|
+
}));
|
|
50
|
+
$:
|
|
51
|
+
if (id) {
|
|
52
|
+
ids.root.set(id);
|
|
53
|
+
}
|
|
54
|
+
$:
|
|
55
|
+
slotProps = {
|
|
56
|
+
builder,
|
|
57
|
+
ids: $idValues
|
|
58
|
+
};
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
{#if asChild}
|
|
62
|
+
<slot {...slotProps} />
|
|
63
|
+
{:else}
|
|
64
|
+
<div bind:this={el} {...builder} use:builder.action {...$$restProps}>
|
|
65
|
+
<slot {...slotProps} />
|
|
66
|
+
</div>
|
|
67
|
+
{/if}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { Props } from "../types.js";
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: Props;
|
|
5
|
+
events: {
|
|
6
|
+
[evt: string]: CustomEvent<any>;
|
|
7
|
+
};
|
|
8
|
+
slots: {
|
|
9
|
+
default: {
|
|
10
|
+
builder: {
|
|
11
|
+
id: string;
|
|
12
|
+
'data-complete': string | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
[x: `data-melt-${string}`]: "";
|
|
15
|
+
} & {
|
|
16
|
+
action: import("svelte/action").Action<any, any, Record<never, any>>;
|
|
17
|
+
};
|
|
18
|
+
ids: {
|
|
19
|
+
menubar: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type PinInputProps = typeof __propDef.props;
|
|
25
|
+
export type PinInputEvents = typeof __propDef.events;
|
|
26
|
+
export type PinInputSlots = typeof __propDef.slots;
|
|
27
|
+
export default class PinInput extends SvelteComponent<PinInputProps, PinInputEvents, PinInputSlots> {
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/// <reference types="svelte" />
|
|
2
|
+
import { type PinInput as PinInputReturn, type CreatePinInputProps as PinInputProps } from "@melt-ui/svelte";
|
|
3
|
+
export declare const getAttrs: (part: "input" | "root" | "hidden-input") => Record<string, string>;
|
|
4
|
+
export declare function setCtx(props: PinInputProps): {
|
|
5
|
+
updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
|
|
6
|
+
ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
|
|
7
|
+
root: string;
|
|
8
|
+
}>;
|
|
9
|
+
elements: {
|
|
10
|
+
root: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
|
|
11
|
+
update: (updater: import("svelte/store").Updater<string[]>, sideEffect?: ((newValue: string[]) => void) | undefined) => void;
|
|
12
|
+
set: (this: void, value: string[]) => void;
|
|
13
|
+
subscribe(this: void, run: import("svelte/store").Subscriber<string[]>, invalidate?: import("svelte/store").Invalidator<string[]> | undefined): import("svelte/store").Unsubscriber;
|
|
14
|
+
}, import("svelte/store").Writable<string>], import("svelte/action").Action<any, any, Record<never, any>>, ([$value, $rootId]: [string[], string]) => {
|
|
15
|
+
id: string;
|
|
16
|
+
'data-complete': string | undefined;
|
|
17
|
+
}, string>;
|
|
18
|
+
input: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[{
|
|
19
|
+
update: (updater: import("svelte/store").Updater<string[]>, sideEffect?: ((newValue: string[]) => void) | undefined) => void;
|
|
20
|
+
set: (this: void, value: string[]) => void;
|
|
21
|
+
subscribe(this: void, run: import("svelte/store").Subscriber<string[]>, invalidate?: import("svelte/store").Invalidator<string[]> | undefined): import("svelte/store").Unsubscriber;
|
|
22
|
+
}, import("svelte/store").Writable<string>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<"text" | "password">], (node: HTMLInputElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "blur" | "change" | "focus" | "paste">, ([$value, $placeholder, $disabled, $type]: [string[], string, boolean, "text" | "password"]) => () => {
|
|
23
|
+
'data-complete': string | undefined;
|
|
24
|
+
placeholder: string;
|
|
25
|
+
disabled: boolean | undefined;
|
|
26
|
+
type: "text" | "password";
|
|
27
|
+
value: string;
|
|
28
|
+
}, string>;
|
|
29
|
+
hiddenInput: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<string>, import("svelte/store").Writable<string | undefined>], import("svelte/action").Action<any, any, Record<never, any>>, ([$valueStr, $nameStore]: [string, string | undefined]) => {
|
|
30
|
+
value: string;
|
|
31
|
+
name: string | undefined;
|
|
32
|
+
type: string;
|
|
33
|
+
'aria-hidden': boolean;
|
|
34
|
+
hidden: boolean;
|
|
35
|
+
tabIndex: number;
|
|
36
|
+
style: string;
|
|
37
|
+
}, string>;
|
|
38
|
+
};
|
|
39
|
+
states: {
|
|
40
|
+
value: {
|
|
41
|
+
update: (updater: import("svelte/store").Updater<string[]>, sideEffect?: ((newValue: string[]) => void) | undefined) => void;
|
|
42
|
+
set: (this: void, value: string[]) => void;
|
|
43
|
+
subscribe(this: void, run: import("svelte/store").Subscriber<string[]>, invalidate?: import("svelte/store").Invalidator<string[]> | undefined): import("svelte/store").Unsubscriber;
|
|
44
|
+
};
|
|
45
|
+
valueStr: import("svelte/store").Readable<string>;
|
|
46
|
+
};
|
|
47
|
+
helpers: {
|
|
48
|
+
clear: () => void;
|
|
49
|
+
};
|
|
50
|
+
options: import("@melt-ui/svelte/internal/helpers").ToWritableStores<Omit<{
|
|
51
|
+
placeholder: string;
|
|
52
|
+
name: string | undefined;
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
type: "text" | "password";
|
|
55
|
+
defaultValue: string[];
|
|
56
|
+
value?: import("svelte/store").Writable<string[]> | undefined;
|
|
57
|
+
onValueChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<string[]> | undefined;
|
|
58
|
+
ids?: Partial<{
|
|
59
|
+
root: string;
|
|
60
|
+
}> | undefined;
|
|
61
|
+
}, "value" | "ids">>;
|
|
62
|
+
};
|
|
63
|
+
export declare function getCtx(): PinInputReturn;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
|
|
2
|
+
import { createPinInput } from "@melt-ui/svelte";
|
|
3
|
+
import { getContext, setContext } from "svelte";
|
|
4
|
+
const NAME = "pin-input";
|
|
5
|
+
const PARTS = ["root", "input", "hidden-input"];
|
|
6
|
+
export const getAttrs = createBitAttrs(NAME, PARTS);
|
|
7
|
+
export function setCtx(props) {
|
|
8
|
+
const pinInput = createPinInput(removeUndefined(props));
|
|
9
|
+
setContext(NAME, pinInput);
|
|
10
|
+
return {
|
|
11
|
+
...pinInput,
|
|
12
|
+
updateOption: getOptionUpdater(pinInput.options)
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function getCtx() {
|
|
16
|
+
return getContext(NAME);
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HTMLDivAttributes } from "../../internal/index.js";
|
|
2
|
+
import type { CustomEventHandler } from "../..";
|
|
3
|
+
import type { HTMLInputAttributes } from "svelte/elements";
|
|
4
|
+
import type * as I from "./_types.js";
|
|
5
|
+
type Props = I.Props & HTMLDivAttributes;
|
|
6
|
+
type InputProps = I.InputProps & HTMLInputAttributes;
|
|
7
|
+
type HiddenInputProps = I.HiddenInputProps & HTMLInputAttributes;
|
|
8
|
+
type InputEvents = {
|
|
9
|
+
keydown: CustomEventHandler<KeyboardEvent, HTMLInputElement>;
|
|
10
|
+
input: CustomEventHandler<InputEvent, HTMLInputElement>;
|
|
11
|
+
paste: CustomEventHandler<ClipboardEvent, HTMLInputElement>;
|
|
12
|
+
change: CustomEventHandler<Event, HTMLInputElement>;
|
|
13
|
+
focus: CustomEventHandler<FocusEvent, HTMLInputElement>;
|
|
14
|
+
blur: CustomEventHandler<FocusEvent, HTMLInputElement>;
|
|
15
|
+
};
|
|
16
|
+
export type { Props, InputProps, HiddenInputProps, InputEvents };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,
|
|
6
|
+
import type { Expand, OnChangeFn, OmitFloating, DOMElement } from "../../internal/index.js";
|
|
7
7
|
import type { ArrowProps, ContentProps } from "../floating/_types.js";
|
|
8
8
|
import type { CreatePopoverProps } from "@melt-ui/svelte";
|
|
9
9
|
type Props = Expand<OmitFloating<CreatePopoverProps> & {
|
|
@@ -19,6 +19,6 @@ type Props = Expand<OmitFloating<CreatePopoverProps> & {
|
|
|
19
19
|
*/
|
|
20
20
|
onOpenChange?: OnChangeFn<boolean>;
|
|
21
21
|
}>;
|
|
22
|
-
type TriggerProps =
|
|
23
|
-
type CloseProps =
|
|
22
|
+
type TriggerProps = DOMElement<HTMLButtonElement>;
|
|
23
|
+
type CloseProps = DOMElement<HTMLButtonElement>;
|
|
24
24
|
export type { Props, CloseProps, ArrowProps, ContentProps, TriggerProps };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script>import { setArrow, getAttrs } 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 }
|
|
@@ -15,5 +16,5 @@ $:
|
|
|
15
16
|
{#if asChild}
|
|
16
17
|
<slot {builder} />
|
|
17
18
|
{:else}
|
|
18
|
-
<div {...builder} use:builder.action {...$$restProps} />
|
|
19
|
+
<div bind:this={el} {...builder} use:builder.action {...$$restProps} />
|
|
19
20
|
{/if}
|
|
@@ -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}
|
|
@@ -17,6 +17,7 @@ export let avoidCollisions = true;
|
|
|
17
17
|
export let collisionBoundary = void 0;
|
|
18
18
|
export let sameWidth = false;
|
|
19
19
|
export let fitViewport = false;
|
|
20
|
+
export let el = void 0;
|
|
20
21
|
const {
|
|
21
22
|
elements: { content },
|
|
22
23
|
states: { open },
|
|
@@ -49,6 +50,7 @@ $:
|
|
|
49
50
|
<slot {builder} />
|
|
50
51
|
{:else if transition && $open}
|
|
51
52
|
<div
|
|
53
|
+
bind:this={el}
|
|
52
54
|
transition:transition={transitionConfig}
|
|
53
55
|
{...builder} use:builder.action
|
|
54
56
|
{...$$restProps}
|
|
@@ -57,6 +59,7 @@ $:
|
|
|
57
59
|
</div>
|
|
58
60
|
{:else if inTransition && outTransition && $open}
|
|
59
61
|
<div
|
|
62
|
+
bind:this={el}
|
|
60
63
|
in:inTransition={inTransitionConfig}
|
|
61
64
|
out:outTransition={outTransitionConfig}
|
|
62
65
|
{...builder} use:builder.action
|
|
@@ -65,11 +68,17 @@ $:
|
|
|
65
68
|
<slot {builder} />
|
|
66
69
|
</div>
|
|
67
70
|
{:else if inTransition && $open}
|
|
68
|
-
<div
|
|
71
|
+
<div
|
|
72
|
+
bind:this={el}
|
|
73
|
+
in:inTransition={inTransitionConfig}
|
|
74
|
+
{...builder} use:builder.action
|
|
75
|
+
{...$$restProps}
|
|
76
|
+
>
|
|
69
77
|
<slot {builder} />
|
|
70
78
|
</div>
|
|
71
79
|
{:else if outTransition && $open}
|
|
72
80
|
<div
|
|
81
|
+
bind:this={el}
|
|
73
82
|
out:outTransition={outTransitionConfig}
|
|
74
83
|
{...builder} use:builder.action
|
|
75
84
|
{...$$restProps}
|
|
@@ -77,7 +86,7 @@ $:
|
|
|
77
86
|
<slot {builder} />
|
|
78
87
|
</div>
|
|
79
88
|
{:else if $open}
|
|
80
|
-
<div {...builder} use:builder.action {...$$restProps}>
|
|
89
|
+
<div bind:this={el} {...builder} use:builder.action {...$$restProps}>
|
|
81
90
|
<slot {builder} />
|
|
82
91
|
</div>
|
|
83
92
|
{/if}
|
|
@@ -3,6 +3,7 @@ import { getCtx, getAttrs } 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}
|