@sectile/vue 0.18.3 → 0.19.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/README.md +53 -14
- package/dist/accordion.js +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/carousel.d.ts +20 -0
- package/dist/carousel.js +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-list.js +1 -1
- package/dist/cascade-list.js.map +1 -1
- package/dist/cascade-select.js +1 -1
- package/dist/cascade-select.js.map +1 -1
- package/dist/chart.js +1 -1
- package/dist/chart.js.map +1 -1
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox-tree.d.ts +102 -0
- package/dist/checkbox-tree.js +2 -0
- package/dist/checkbox-tree.js.map +1 -0
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/color-picker.d.ts +24 -0
- package/dist/color-picker.js +1 -1
- package/dist/color-picker.js.map +1 -1
- package/dist/combobox.d.ts +47 -1
- package/dist/combobox.js +1 -1
- package/dist/combobox.js.map +1 -1
- package/dist/component-handle.d.ts +8 -0
- package/dist/component-handle.js +2 -0
- package/dist/component-handle.js.map +1 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +2 -0
- package/dist/context-menu.js.map +1 -0
- package/dist/drag-drop.d.ts +23 -0
- package/dist/drag-drop.js +2 -0
- package/dist/drag-drop.js.map +1 -0
- package/dist/editable.d.ts +3 -0
- package/dist/editable.js +1 -1
- package/dist/editable.js.map +1 -1
- package/dist/form/context.d.ts +3 -0
- package/dist/form/context.js +1 -1
- package/dist/form/context.js.map +1 -1
- package/dist/form/contracts.d.ts +1 -0
- package/dist/form/control-inventory.d.ts +20 -0
- package/dist/form/control-inventory.js +1 -1
- package/dist/form/control-inventory.js.map +1 -1
- package/dist/form/control.d.ts +44 -1
- package/dist/form/control.js +1 -1
- package/dist/form/control.js.map +1 -1
- package/dist/form/field.d.ts +10 -0
- package/dist/form/field.js +1 -1
- package/dist/form/field.js.map +1 -1
- package/dist/form/file-input.d.ts +229 -0
- package/dist/form/file-input.js +2 -0
- package/dist/form/file-input.js.map +1 -0
- package/dist/form/file-upload/group.d.ts +28 -0
- package/dist/form/file-upload/group.js +2 -0
- package/dist/form/file-upload/group.js.map +1 -0
- package/dist/form/file-upload.d.ts +26 -0
- package/dist/form/file-upload.js +2 -0
- package/dist/form/file-upload.js.map +1 -0
- package/dist/form/root.js +1 -1
- package/dist/form/root.js.map +1 -1
- package/dist/form-boundary.d.ts +2 -0
- package/dist/form-boundary.js +2 -0
- package/dist/form-boundary.js.map +1 -0
- package/dist/fullscreen.d.ts +16 -0
- package/dist/fullscreen.js +2 -0
- package/dist/fullscreen.js.map +1 -0
- package/dist/host-provider.d.ts +99 -1
- package/dist/host-provider.js +1 -1
- package/dist/host-provider.js.map +1 -1
- package/dist/image.d.ts +24 -0
- package/dist/image.js +2 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/input/native-field.d.ts +25 -6
- package/dist/input/native-field.js +1 -1
- package/dist/input/native-field.js.map +1 -1
- package/dist/input/native-range-field.d.ts +16 -7
- package/dist/input/native-range-field.js +1 -1
- package/dist/input/native-range-field.js.map +1 -1
- package/dist/internal/cascade-choice.js +1 -1
- package/dist/internal/cascade-choice.js.map +1 -1
- package/dist/internal/connection-lifetime.d.ts +10 -0
- package/dist/internal/connection-lifetime.js +2 -0
- package/dist/internal/connection-lifetime.js.map +1 -0
- package/dist/internal/popup-presentation.d.ts +32 -0
- package/dist/internal/popup-presentation.js +2 -0
- package/dist/internal/popup-presentation.js.map +1 -0
- package/dist/internal/portal-move.d.ts +11 -0
- package/dist/internal/portal-move.js +2 -0
- package/dist/internal/portal-move.js.map +1 -0
- package/dist/internal/scheduled-task.js +1 -1
- package/dist/internal/scheduled-task.js.map +1 -1
- package/dist/internal/tabs-context.d.ts +11 -0
- package/dist/internal/tabs-context.js +1 -1
- package/dist/internal/tabs-context.js.map +1 -1
- package/dist/internal/tree-parts.d.ts +142 -0
- package/dist/internal/tree-parts.js +2 -0
- package/dist/internal/tree-parts.js.map +1 -0
- package/dist/listbox.d.ts +11 -0
- package/dist/listbox.js +1 -1
- package/dist/listbox.js.map +1 -1
- package/dist/media-gesture.d.ts +20 -0
- package/dist/media-gesture.js +2 -0
- package/dist/media-gesture.js.map +1 -0
- package/dist/menu.d.ts +239 -0
- package/dist/menu.js +1 -1
- package/dist/menu.js.map +1 -1
- package/dist/meter-group.js +1 -1
- package/dist/meter-group.js.map +1 -1
- package/dist/multi-thumb-slider.js +1 -1
- package/dist/multi-thumb-slider.js.map +1 -1
- package/dist/overlay/dialog.d.ts +1 -0
- package/dist/overlay/dialog.js.map +1 -1
- package/dist/overlay/drawer.d.ts +33 -4
- package/dist/overlay/drawer.js +1 -1
- package/dist/overlay/drawer.js.map +1 -1
- package/dist/overlay/popover.d.ts +2 -1
- package/dist/overlay/popover.js.map +1 -1
- package/dist/overlay/popup.d.ts +46 -2
- package/dist/overlay/popup.js +1 -1
- package/dist/overlay/popup.js.map +1 -1
- package/dist/overlay/tooltip.d.ts +37 -3
- package/dist/overlay/tooltip.js +1 -1
- package/dist/overlay/tooltip.js.map +1 -1
- package/dist/pagination.js +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.js +1 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/presence/presence.d.ts +1 -1
- package/dist/presence/presence.js +1 -1
- package/dist/presence/presence.js.map +1 -1
- package/dist/primitive.d.ts +37 -3
- package/dist/primitive.js +1 -1
- package/dist/primitive.js.map +1 -1
- package/dist/quantity-field.js +1 -1
- package/dist/quantity-field.js.map +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/rating.js +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/reorder.d.ts +156 -77
- package/dist/reorder.js +1 -1
- package/dist/reorder.js.map +1 -1
- package/dist/select.d.ts +21 -0
- package/dist/select.js +1 -1
- package/dist/select.js.map +1 -1
- package/dist/slider.js +1 -1
- package/dist/slider.js.map +1 -1
- package/dist/spin-button.d.ts +19 -0
- package/dist/spin-button.js +1 -1
- package/dist/spin-button.js.map +1 -1
- package/dist/stepper.js +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/switch.js +1 -1
- package/dist/switch.js.map +1 -1
- package/dist/tabs.d.ts +2 -0
- package/dist/tabs.js +1 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabular/components.d.ts +5 -0
- package/dist/tabular/components.js.map +1 -1
- package/dist/tabular/controller.d.ts +1 -0
- package/dist/tabular/controller.js +1 -1
- package/dist/tabular/controller.js.map +1 -1
- package/dist/tabular/data-grid.d.ts +4 -4
- package/dist/tabular/data-grid.js +1 -1
- package/dist/tabular/data-grid.js.map +1 -1
- package/dist/tabular/data-table.d.ts +4 -4
- package/dist/tabular/data-table.js +1 -1
- package/dist/tabular/data-table.js.map +1 -1
- package/dist/tabular/data-tree-grid.d.ts +4 -4
- package/dist/tabular/data-tree-grid.js +1 -1
- package/dist/tabular/data-tree-grid.js.map +1 -1
- package/dist/tabular/parts.d.ts +11 -1
- package/dist/tabular/parts.js +1 -1
- package/dist/tabular/parts.js.map +1 -1
- package/dist/tags-input.d.ts +12 -1
- package/dist/tags-input.js +1 -1
- package/dist/tags-input.js.map +1 -1
- package/dist/temporal/calendar.d.ts +15 -111
- package/dist/temporal/calendar.js +1 -1
- package/dist/temporal/calendar.js.map +1 -1
- package/dist/temporal/capabilities/date-picker.js +1 -1
- package/dist/temporal/capabilities/date-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -1
- package/dist/temporal/capability.d.ts +13 -1
- package/dist/temporal/capability.js.map +1 -1
- package/dist/temporal/date-field.d.ts +1 -1
- package/dist/temporal/date-field.js +1 -1
- package/dist/temporal/date-field.js.map +1 -1
- package/dist/temporal/date-picker.d.ts +3 -1
- package/dist/temporal/date-picker.js.map +1 -1
- package/dist/temporal/date-range-field.d.ts +20 -0
- package/dist/temporal/date-range-field.js +1 -1
- package/dist/temporal/date-range-field.js.map +1 -1
- package/dist/temporal/date-range-picker.d.ts +3 -1
- package/dist/temporal/date-range-picker.js.map +1 -1
- package/dist/temporal/date-time-field.d.ts +4 -1
- package/dist/temporal/date-time-field.js +1 -1
- package/dist/temporal/date-time-field.js.map +1 -1
- package/dist/temporal/date-time-picker.d.ts +3 -1
- package/dist/temporal/date-time-picker.js +1 -1
- package/dist/temporal/date-time-picker.js.map +1 -1
- package/dist/temporal/date-time-range-field.d.ts +158 -0
- package/dist/temporal/date-time-range-field.js +2 -0
- package/dist/temporal/date-time-range-field.js.map +1 -0
- package/dist/temporal/date-time-range-picker.d.ts +3 -1
- package/dist/temporal/date-time-range-picker.js +1 -1
- package/dist/temporal/date-time-range-picker.js.map +1 -1
- package/dist/temporal/internal/time-presentation.d.ts +15 -0
- package/dist/temporal/internal/time-presentation.js +2 -0
- package/dist/temporal/internal/time-presentation.js.map +1 -0
- package/dist/temporal/month-picker.d.ts +3 -1
- package/dist/temporal/month-picker.js.map +1 -1
- package/dist/temporal/month-range-picker.d.ts +3 -1
- package/dist/temporal/month-range-picker.js.map +1 -1
- package/dist/temporal/picker.d.ts +23 -1
- package/dist/temporal/picker.js +1 -1
- package/dist/temporal/picker.js.map +1 -1
- package/dist/temporal/range-calendar.d.ts +119 -2
- package/dist/temporal/range-calendar.js +1 -1
- package/dist/temporal/range-calendar.js.map +1 -1
- package/dist/temporal/temporal-provider.d.ts +23 -0
- package/dist/temporal/temporal-provider.js +1 -1
- package/dist/temporal/temporal-provider.js.map +1 -1
- package/dist/temporal/time-field.d.ts +4 -1
- package/dist/temporal/time-field.js +1 -1
- package/dist/temporal/time-field.js.map +1 -1
- package/dist/temporal/time-picker.d.ts +112 -0
- package/dist/temporal/time-picker.js +2 -0
- package/dist/temporal/time-picker.js.map +1 -0
- package/dist/temporal/time-range-field.d.ts +32 -1
- package/dist/temporal/time-range-field.js +1 -1
- package/dist/temporal/time-range-field.js.map +1 -1
- package/dist/temporal/year-picker.d.ts +3 -1
- package/dist/temporal/year-picker.js.map +1 -1
- package/dist/temporal/year-range-picker.d.ts +3 -1
- package/dist/temporal/year-range-picker.js.map +1 -1
- package/dist/text.d.ts +43 -1
- package/dist/text.js +1 -1
- package/dist/text.js.map +1 -1
- package/dist/timer.d.ts +16 -5
- package/dist/timer.js +1 -1
- package/dist/timer.js.map +1 -1
- package/dist/toast.js +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/toggle-group.js.map +1 -1
- package/dist/toolbar.js +1 -1
- package/dist/toolbar.js.map +1 -1
- package/dist/transfer.d.ts +191 -0
- package/dist/transfer.js +2 -0
- package/dist/transfer.js.map +1 -0
- package/dist/tree-grid.d.ts +122 -0
- package/dist/tree-grid.js +1 -1
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-select.d.ts +186 -0
- package/dist/tree-select.js +2 -0
- package/dist/tree-select.js.map +1 -0
- package/dist/tree-view.js +1 -1
- package/dist/tree-view.js.map +1 -1
- package/dist/virtual/virtual-collection.d.ts +2 -0
- package/dist/virtual/virtual-collection.js.map +1 -1
- package/dist/virtual/virtual-grid.d.ts +12 -2
- package/dist/virtual/virtual-grid.js +1 -1
- package/dist/virtual/virtual-grid.js.map +1 -1
- package/dist/virtual/virtual-list.d.ts +12 -3
- package/dist/virtual/virtual-list.js +1 -1
- package/dist/virtual/virtual-list.js.map +1 -1
- package/dist/virtual/virtual-masonry.d.ts +12 -2
- package/dist/virtual/virtual-masonry.js +1 -1
- package/dist/virtual/virtual-masonry.js.map +1 -1
- package/dist/virtual/virtual-spatial.d.ts +12 -2
- package/dist/virtual/virtual-spatial.js +1 -1
- package/dist/virtual/virtual-spatial.js.map +1 -1
- package/dist/window-splitter.js +1 -1
- package/dist/window-splitter.js.map +1 -1
- package/package.json +86 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/multi-thumb-slider.ts"],"mappings":"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","names":[],"file":"multi-thumb-slider.js"}
|
|
1
|
+
{"version":3,"file":"multi-thumb-slider.js","names":["computed","defineComponent","h","inject","mergeProps","nextTick","onBeforeUnmount","onMounted","provide","shallowRef","watch","createMultiThumbSlider","getMultiThumbSliderThumbAttributes","tryCreateMultiThumbSliderState","tryCreateSequence","unwrap","createSliderControllerFromRange","hiddenValueSubmissionCapabilities","useCompositeFormControl","useFormSubmissionProjection","useFormControlFlags","Primitive","useControlledStateInvariant","key","Symbol","partProps","as","type","String","Object","Function","default","asChild","Boolean","MultiThumbSliderRoot","__sectileFormLabelMode","name","inheritAttrs","props","thumbs","Array","required","modelValue","undefined","defaultValue","min","Number","max","step","orientation","disabled","readonly","label","getThumbLabel","formatValue","policies","form","emits","_values","slots","setup","attrs","emit","flags","root","track","submissions","Map","connection","initialValues","normalizeValues","map","local","mounted","resetScheduled","connectScheduled","controlled","rangeController","result","ok","TypeError","error","message","value","current","percentages","tick","range","tickOf","count","active","submissionProps","participation","focusTarget","querySelector","flatMap","_value","index","element","get","relativeName","capabilities","reset","queueMicrotask","connect","state","freeze","values","activeThumb","ticks","domain","projection","getSnapshot","refresh","getValues","cursor","disconnect","defaultValues","readOnly","onValuesChange","nextTicks","next","valueAt","onUpdate","refreshThumbs","requestConnect","querySelectorAll","forEach","id","dataset","setThumbAttributes","registerTrack","registerThumb","thumbIndex","indexOf","attributesFor","clear","previous","length","syncControlledValues","highlightedValue","flush","style","fromEntries","visual","controlProps","elementRef","node","HTMLElement","role","participating","ref","HTMLInputElement","set","delete","MultiThumbSliderTrack","useRoot","MultiThumbSliderRange","start","end","percentage","Math","MultiThumbSliderThumb","slot","part"],"sources":["../src/multi-thumb-slider.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/overlay/dialog.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { PopupCloseReason } from '@sectile/dom/dialog';
|
|
1
2
|
import { type PopupFactoryOptions, type PopupPartProps, type PopupPortalProps, type PopupRootProps, type PopupRootSlotProps } from './popup.js';
|
|
2
3
|
export declare const DialogRoot: import("vue").Component;
|
|
3
4
|
export type DialogOpenChangeHandler = PopupFactoryOptions['onOpenChange'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/dialog.ts"],"mappings":"AAAA,OAAS,iBAA+D,
|
|
1
|
+
{"version":3,"sources":["../../src/overlay/dialog.ts"],"mappings":"AAAA,OAAS,iBAA+D,sBAExE,OACE,0BAMK,aAEP,MAAM,MAAQ,sBAAsB,CAClC,MAAO,SAAU,KAAM,SAAU,MAAO,KAAM,YAAa,QAAS,uBAAwB,KAC5F,OAAS,SAAmD,aAAa,OAAwB,EAClG,EAEM,MAAM,WAAa,MAAM,KAGzB,MAAM,cAAgB,MAAM,QAC5B,MAAM,aAAe,MAAM,OAC3B,MAAM,cAAgB,MAAM,QAC5B,MAAM,cAAgB,MAAM,QAC5B,MAAM,YAAc,MAAM,MAC1B,MAAM,kBAAoB,MAAM,YAChC,MAAM,YAAc,MAAM","names":[],"file":"dialog.js"}
|
package/dist/overlay/drawer.d.ts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
import { type DrawerSide } from '@sectile/dom/drawer';
|
|
1
|
+
import { type DrawerSide, type PopupCloseReason } from '@sectile/dom/drawer';
|
|
2
|
+
export type { PopupCloseReason } from '@sectile/dom/drawer';
|
|
3
|
+
import type { DefineSetupFnComponent, EmitsToProps, PublicProps, SlotsType, VNodeChild } from 'vue';
|
|
4
|
+
import type { InteractOutsideEvent } from '@sectile/dom/drawer';
|
|
2
5
|
import { type PopupFactoryOptions, type PopupPartProps, type PopupPortalProps, type PopupRootProps, type PopupRootSlotProps } from './popup.js';
|
|
3
|
-
|
|
6
|
+
type DrawerEmits = {
|
|
7
|
+
'update:open': [open: boolean];
|
|
8
|
+
closeRequest: [reason: PopupCloseReason];
|
|
9
|
+
afterClose: [];
|
|
10
|
+
interactOutside: [event: InteractOutsideEvent];
|
|
11
|
+
};
|
|
12
|
+
type Props = DrawerRootProps & PublicProps & EmitsToProps<DrawerEmits>;
|
|
13
|
+
type Instance = InstanceType<DefineSetupFnComponent<DrawerRootProps, DrawerEmits, SlotsType<{
|
|
14
|
+
default: (state: DrawerRootSlotProps) => VNodeChild;
|
|
15
|
+
}>>>;
|
|
16
|
+
export declare const DrawerRoot: new (props: Props) => Omit<Instance, '$props'> & {
|
|
17
|
+
readonly $props: Props;
|
|
18
|
+
requestClose(): void;
|
|
19
|
+
};
|
|
4
20
|
export declare const DrawerTrigger: import("vue").Component;
|
|
5
21
|
export declare const DrawerPortal: import("vue").Component;
|
|
6
22
|
export declare const DrawerOverlay: import("vue").Component;
|
|
@@ -11,13 +27,26 @@ export declare const DrawerDescription: import("vue").Component;
|
|
|
11
27
|
export declare const DrawerClose: import("vue").Component;
|
|
12
28
|
export type DrawerOpenChangeHandler = PopupFactoryOptions['onOpenChange'];
|
|
13
29
|
export type DrawerInteractOutsideHandler = NonNullable<PopupFactoryOptions['onInteractOutside']>;
|
|
14
|
-
export type
|
|
30
|
+
export type DrawerPresentation = 'overlay' | 'inline';
|
|
31
|
+
export type DrawerRootProps = Omit<PopupRootProps, 'align' | 'sideOffset' | 'collisionPadding' | 'collisionBoundary' | 'avoidCollisions' | 'arrowPadding' | 'hideWhenDetached' | 'position' | 'strategy' | 'tracking' | 'open' | 'defaultOpen' | 'unmountOnExit'> & {
|
|
15
32
|
readonly side?: DrawerSide;
|
|
16
33
|
readonly swipeToDismiss?: boolean;
|
|
17
34
|
readonly swipeThreshold?: number;
|
|
18
35
|
readonly swipeVelocityThreshold?: number;
|
|
36
|
+
} & ({
|
|
37
|
+
readonly presentation?: 'overlay';
|
|
38
|
+
readonly open?: boolean;
|
|
39
|
+
readonly defaultOpen?: boolean;
|
|
40
|
+
readonly unmountOnExit?: boolean;
|
|
41
|
+
} | {
|
|
42
|
+
readonly presentation: 'inline';
|
|
43
|
+
readonly open?: false;
|
|
44
|
+
readonly defaultOpen?: false;
|
|
45
|
+
readonly unmountOnExit: false;
|
|
46
|
+
});
|
|
47
|
+
export type DrawerRootSlotProps = PopupRootSlotProps & {
|
|
48
|
+
readonly placement: DrawerPresentation;
|
|
19
49
|
};
|
|
20
|
-
export type DrawerRootSlotProps = PopupRootSlotProps;
|
|
21
50
|
export type DrawerPartProps = PopupPartProps;
|
|
22
51
|
export type DrawerPortalProps = PopupPortalProps;
|
|
23
52
|
export type { DrawerSide };
|
package/dist/overlay/drawer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createDrawer}from"@sectile/dom/drawer";import{createPopupComponents}from"./popup.js";const parts=createPopupComponents({scope:"drawer",role:"dialog",modal:true,triggerMode:"click",closeOnInteractOutside:true,directional:true,defaultSide:"bottom",create:options=>createDrawer(options)});const DrawerRoot=parts.Root;const DrawerTrigger=parts.Trigger;const DrawerPortal=parts.Portal;const DrawerOverlay=parts.Overlay;const DrawerContent=parts.Content;const DrawerHandle=parts.Handle;const DrawerTitle=parts.Title;const DrawerDescription=parts.Description;const DrawerClose=parts.Close;export{DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger};
|
|
1
|
+
import{createDrawer}from"@sectile/dom/drawer";import{createPopupComponents}from"./popup.js";const parts=createPopupComponents({scope:"drawer",role:"dialog",modal:true,triggerMode:"click",closeOnInteractOutside:true,directional:true,defaultSide:"bottom",inlinePresentation:true,create:options=>createDrawer(options)});const DrawerRoot=parts.Root;const DrawerTrigger=parts.Trigger;const DrawerPortal=parts.Portal;const DrawerOverlay=parts.Overlay;const DrawerContent=parts.Content;const DrawerHandle=parts.Handle;const DrawerTitle=parts.Title;const DrawerDescription=parts.Description;const DrawerClose=parts.Close;export{DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger};
|
|
2
2
|
//# sourceMappingURL=drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/drawer.ts"],"mappings":"AAAA,OAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/overlay/drawer.ts"],"mappings":"AAAA,OAAS,iBAAuG,sBAIhH,OACE,0BAMK,aAEP,MAAM,MAAQ,sBAAsB,CAClC,MAAO,SACP,KAAM,SACN,MAAO,KACP,YAAa,QACb,uBAAwB,KACxB,YAAa,KACb,YAAa,SACb,mBAAoB,KACpB,OAAS,SAAmD,aAAa,OAAwB,EAClG,EAKM,MAAM,WAAgH,MAAM,KAC5H,MAAM,cAAgB,MAAM,QAC5B,MAAM,aAAe,MAAM,OAC3B,MAAM,cAAgB,MAAM,QAC5B,MAAM,cAAgB,MAAM,QAC5B,MAAM,aAAe,MAAM,OAC3B,MAAM,YAAc,MAAM,MAC1B,MAAM,kBAAoB,MAAM,YAChC,MAAM,YAAc,MAAM","names":[],"file":"drawer.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PopupFactoryOptions, type PopupPartProps, type PopupPortalProps, type PopupRootProps, type PopupRootSlotProps } from './popup.js';
|
|
1
|
+
import { type PopupFactoryOptions, type PopupPartProps, type PopupPortalProps, type PopupRootProps, type PopupRootSlotProps, type PopupRootExpose } from './popup.js';
|
|
2
2
|
export declare const PopoverRoot: import("vue").Component;
|
|
3
3
|
export type PopoverOpenChangeHandler = PopupFactoryOptions['onOpenChange'];
|
|
4
4
|
export type PopoverInteractOutsideHandler = NonNullable<PopupFactoryOptions['onInteractOutside']>;
|
|
@@ -12,5 +12,6 @@ export declare const PopoverClose: import("vue").Component;
|
|
|
12
12
|
export declare const PopoverArrow: import("vue").Component;
|
|
13
13
|
export type PopoverRootProps = PopupRootProps;
|
|
14
14
|
export type PopoverRootSlotProps = PopupRootSlotProps;
|
|
15
|
+
export type PopoverRootExpose = PopupRootExpose;
|
|
15
16
|
export type PopoverPartProps = PopupPartProps;
|
|
16
17
|
export type PopoverPortalProps = PopupPortalProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/popover.ts"],"mappings":"AAAA,OAAS,kBAAkE,uBAC3E,OACE,
|
|
1
|
+
{"version":3,"sources":["../../src/overlay/popover.ts"],"mappings":"AAAA,OAAS,kBAAkE,uBAC3E,OACE,0BAOK,aAEP,MAAM,MAAQ,sBAAsB,CAClC,MAAO,UAAW,KAAM,SAAU,MAAO,MAAO,YAAa,QAAS,uBAAwB,KAAM,WAAY,KAChH,OAAS,SAAoD,cAAc,OAAyB,EACrG,EAEM,MAAM,YAAc,MAAM,KAG1B,MAAM,eAAiB,MAAM,QAC7B,MAAM,cAAgB,MAAM,OAC5B,MAAM,cAAgB,MAAM,OAC5B,MAAM,eAAiB,MAAM,QAC7B,MAAM,aAAe,MAAM,MAC3B,MAAM,mBAAqB,MAAM,YACjC,MAAM,aAAe,MAAM,MAC3B,MAAM,aAAe,MAAM","names":[],"file":"popover.js"}
|
package/dist/overlay/popup.d.ts
CHANGED
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import { type Component } from 'vue';
|
|
2
2
|
import type { PositionOptions } from '@sectile/dom/position';
|
|
3
3
|
import type { InteractOutsideEvent, InteractOutsideHandler } from '@sectile/dom';
|
|
4
|
+
import type { DOMLayerPresentationSnapshot, DOMLayerPresentationListener, DOMLayerPresentationSubscription, DOMLayerReparentErrorCode } from '@sectile/dom/dialog';
|
|
5
|
+
import type { PopupBehaviorErrorCode, PopupBehaviorOptions, PopupDismissalOptions } from '@sectile/dom/dialog';
|
|
6
|
+
import type { PopupInputMethod, PopupCloseReason, PopupOpenChangeHandler } from '@sectile/dom/dialog';
|
|
7
|
+
import type { PopupPositionOptions } from '@sectile/dom/popover';
|
|
8
|
+
import type { DrawerGestureErrorCode, DrawerGestureOptions } from '@sectile/dom/drawer';
|
|
9
|
+
import { type Result } from '@sectile/core/result';
|
|
10
|
+
import type { LayerHostConnection, LayerHostTransferErrorCode, LayerReservation } from '@sectile/dom/layer-host';
|
|
4
11
|
import { type PrimitiveAs } from '../primitive.js';
|
|
5
12
|
export interface PopupConnection {
|
|
13
|
+
getActive(): boolean;
|
|
14
|
+
suspend(): void;
|
|
15
|
+
resume(): void;
|
|
6
16
|
getSnapshot(): {
|
|
7
17
|
readonly revision: number;
|
|
8
18
|
};
|
|
19
|
+
getLayerOrder(): number | null;
|
|
20
|
+
subscribeLayerPresentation(listener: DOMLayerPresentationListener): DOMLayerPresentationSubscription;
|
|
21
|
+
completeLayerExit(generation: number): Result<void>;
|
|
22
|
+
syncLayerHost(host: LayerHostConnection | undefined): Result<void, LayerHostTransferErrorCode>;
|
|
23
|
+
syncLayerParent(parent: HTMLElement | null): Result<void, DOMLayerReparentErrorCode>;
|
|
24
|
+
syncDismissal(options: PopupDismissalOptions): Result<void>;
|
|
25
|
+
syncBehavior(options: PopupBehaviorOptions): Result<void, PopupBehaviorErrorCode>;
|
|
26
|
+
syncDisabled(disabled: boolean): Result<void>;
|
|
27
|
+
syncGesture?(options: DrawerGestureOptions): Result<void, DrawerGestureErrorCode>;
|
|
28
|
+
syncPosition?(options: PopupPositionOptions): void;
|
|
9
29
|
syncControlledValue(open: boolean): {
|
|
10
30
|
readonly ok: boolean;
|
|
11
31
|
};
|
|
12
|
-
handleEvent(event: 'open' | 'close' | 'toggle'): boolean;
|
|
32
|
+
handleEvent(event: 'open' | 'close' | 'toggle', inputMethod?: PopupInputMethod, reason?: PopupCloseReason): boolean;
|
|
13
33
|
refresh(): void;
|
|
34
|
+
prepareMove(): void;
|
|
35
|
+
completeMove(restoreFocus?: boolean): void;
|
|
14
36
|
disconnect(): void;
|
|
15
37
|
}
|
|
16
38
|
export interface PopupFactoryOptions extends PositionOptions {
|
|
@@ -30,16 +52,21 @@ export interface PopupFactoryOptions extends PositionOptions {
|
|
|
30
52
|
readonly initialFocus?: HTMLElement;
|
|
31
53
|
readonly autoFocus?: boolean;
|
|
32
54
|
readonly restoreFocus?: boolean;
|
|
55
|
+
readonly restoreFocusTarget?: HTMLElement;
|
|
33
56
|
readonly trapFocus?: boolean;
|
|
57
|
+
readonly closeOnEscape?: boolean;
|
|
34
58
|
readonly closeOnInteractOutside?: boolean;
|
|
35
59
|
readonly interactOutsideExclusions?: readonly HTMLElement[];
|
|
36
60
|
readonly onInteractOutside?: InteractOutsideHandler;
|
|
37
61
|
readonly swipeToDismiss?: boolean;
|
|
38
62
|
readonly swipeThreshold?: number;
|
|
39
63
|
readonly swipeVelocityThreshold?: number;
|
|
40
|
-
readonly onOpenChange:
|
|
64
|
+
readonly onOpenChange: PopupOpenChangeHandler;
|
|
41
65
|
readonly onUpdate: () => void;
|
|
42
66
|
readonly manageVisibility?: boolean;
|
|
67
|
+
readonly retainExit?: boolean;
|
|
68
|
+
readonly layerHost?: LayerHostConnection;
|
|
69
|
+
readonly reservation?: LayerReservation;
|
|
43
70
|
readonly position?: boolean;
|
|
44
71
|
}
|
|
45
72
|
export interface PopupComponentConfig {
|
|
@@ -47,26 +74,43 @@ export interface PopupComponentConfig {
|
|
|
47
74
|
readonly role: 'dialog' | 'alertdialog' | 'tooltip';
|
|
48
75
|
readonly modal: boolean;
|
|
49
76
|
readonly triggerMode: 'click' | 'focus-hover';
|
|
77
|
+
readonly describeTrigger?: (describedBy: string | undefined, contentID: string, present: boolean) => string | undefined;
|
|
78
|
+
readonly closeOnEscape?: boolean;
|
|
50
79
|
readonly closeOnInteractOutside?: boolean;
|
|
51
80
|
readonly positioned?: boolean;
|
|
52
81
|
readonly directional?: boolean;
|
|
53
82
|
readonly defaultSide?: 'top' | 'right' | 'bottom' | 'left';
|
|
83
|
+
/** Retained closed content may project as an inline region (Drawer only). */
|
|
84
|
+
readonly inlinePresentation?: boolean;
|
|
54
85
|
create(options: PopupFactoryOptions): PopupConnection;
|
|
55
86
|
}
|
|
56
87
|
export interface PopupRootSlotProps {
|
|
57
88
|
readonly open: boolean;
|
|
58
89
|
readonly disabled: boolean;
|
|
90
|
+
readonly inputMethod: PopupInputMethod;
|
|
91
|
+
/** Canonical paint generation; absent before DOM admission, including SSR. */
|
|
92
|
+
readonly presentation: DOMLayerPresentationSnapshot | undefined;
|
|
93
|
+
}
|
|
94
|
+
export interface PopupRootExpose {
|
|
95
|
+
requestClose(): void;
|
|
59
96
|
}
|
|
60
97
|
export interface PopupRootProps extends PositionOptions {
|
|
98
|
+
/** Positioned roots prefer this element over a rendered Anchor or Trigger. */
|
|
99
|
+
readonly anchor?: HTMLElement | null;
|
|
61
100
|
readonly open?: boolean;
|
|
62
101
|
readonly defaultOpen?: boolean;
|
|
63
102
|
readonly disabled?: boolean;
|
|
64
103
|
readonly modal?: boolean;
|
|
65
104
|
readonly label?: string;
|
|
105
|
+
/** Omit for the compound Description ID; null removes optional description association. */
|
|
106
|
+
readonly describedBy?: string | null;
|
|
66
107
|
readonly initialFocus?: HTMLElement;
|
|
67
108
|
readonly autoFocus?: boolean;
|
|
68
109
|
readonly restoreFocus?: boolean;
|
|
110
|
+
/** Explicit initiating element; null uses the ordinary Trigger fallback. */
|
|
111
|
+
readonly restoreFocusTarget?: HTMLElement | null;
|
|
69
112
|
readonly trapFocus?: boolean;
|
|
113
|
+
readonly closeOnEscape?: boolean;
|
|
70
114
|
readonly closeOnInteractOutside?: boolean;
|
|
71
115
|
readonly interactOutsideExclusions?: readonly HTMLElement[];
|
|
72
116
|
readonly unmountOnExit?: boolean;
|
package/dist/overlay/popup.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,provide,ref,shallowRef,watch}from"vue";import{Primitive}from"../primitive.js";import{useHostDirection,useHostId,useHostPortalTarget}from"../host-provider.js";import{usePresence}from"../presence/presence.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";function createPopupComponents(config){const contextKey=Symbol(`Sectile${config.scope}Root`);const useRoot=part=>{const context=inject(contextKey);if(context===void 0)throw new TypeError(`${part} must be used inside ${config.scope} Root.`);return context};const primitiveProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const buttonProps={as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}};const Root=defineComponent({name:`Sectile${pascal(config.scope)}Root`,inheritAttrs:false,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabled:{type:Boolean,default:false},modal:{type:Boolean,default:config.modal},label:{type:String,default:void 0},initialFocus:{type:Object,default:void 0},autoFocus:{type:Boolean,default:true},restoreFocus:{type:Boolean,default:true},trapFocus:{type:Boolean,default:config.modal},closeOnInteractOutside:{type:Boolean,default:config.closeOnInteractOutside??false},interactOutsideExclusions:{type:Array,default:void 0},side:{type:String,default:config.defaultSide??"bottom"},position:{type:Boolean,default:true},swipeToDismiss:{type:Boolean,default:true},swipeThreshold:{type:Number,default:80},swipeVelocityThreshold:{type:Number,default:.5},align:{type:String,default:"center"},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:void 0},avoidCollisions:{type:Boolean,default:true},arrowPadding:{type:Number,default:8},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:"absolute"},tracking:{type:String,default:"events"},unmountOnExit:{type:Boolean,default:false}},emits:{"update:open":_open=>true,interactOutside:_event=>true},slots:Object,setup(props,{emit,slots}){const controlled=useControlledStateInvariant(`${config.scope}Root`,"open",()=>props.open);const localOpen=ref(controlled?props.open:props.defaultOpen);const trigger=shallowRef();const anchor=shallowRef();const arrow=shallowRef();const overlay=shallowRef();const handle=shallowRef();const content=shallowRef();const connection=shallowRef();const id=useHostId();const contentID=`sectile-${config.scope}-${id}-content`;const titleID=`sectile-${config.scope}-${id}-title`;const descriptionID=`sectile-${config.scope}-${id}-description`;const open=computed(()=>localOpen.value);const disabled=computed(()=>props.disabled);const modal=computed(()=>props.modal);const unmountOnExit=computed(()=>props.unmountOnExit);const label=computed(()=>props.label);const side=computed(()=>props.side);const position=computed(()=>props.position);const strategy=computed(()=>props.strategy);const update=()=>{if(connection.value===void 0)return;void connection.value.getSnapshot().revision};const disconnect=()=>{connection.value?.disconnect();connection.value=void 0};let restoreAutoFocusOnClose=false;const connect=(preserveOpenLifecycle=false)=>{if(content.value===void 0)return;const preserveFocusLifecycle=preserveOpenLifecycle&&connection.value!==void 0&&localOpen.value;disconnect();connection.value=config.create({root:content.value,...trigger.value===void 0?{}:{trigger:trigger.value},...anchor.value===void 0?{}:{anchor:anchor.value},...arrow.value===void 0?{}:{arrow:arrow.value},...overlay.value===void 0?{}:{overlay:overlay.value},...handle.value===void 0?{}:{handle:handle.value},...controlled?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,modal:props.modal,...props.label===void 0?{labelledBy:titleID}:{label:props.label},describedBy:descriptionID,...props.initialFocus===void 0?{}:{initialFocus:props.initialFocus},autoFocus:preserveFocusLifecycle?false:props.autoFocus,restoreFocus:props.restoreFocus,trapFocus:props.trapFocus,closeOnInteractOutside:props.closeOnInteractOutside,...props.interactOutsideExclusions===void 0?{}:{interactOutsideExclusions:props.interactOutsideExclusions},side:props.side,...config.positioned===true?{position:props.position}:{},swipeToDismiss:props.swipeToDismiss,swipeThreshold:props.swipeThreshold,swipeVelocityThreshold:props.swipeVelocityThreshold,align:props.align,sideOffset:props.sideOffset,collisionPadding:props.collisionPadding,...props.collisionBoundary===void 0?{}:{collisionBoundary:props.collisionBoundary},avoidCollisions:props.avoidCollisions,arrowPadding:props.arrowPadding,hideWhenDetached:props.hideWhenDetached,strategy:props.strategy,tracking:props.tracking,manageVisibility:false,onOpenChange:next=>{if(!controlled)localOpen.value=next;emit("update:open",next)},onInteractOutside:event=>{emit("interactOutside",event)},onUpdate:update});restoreAutoFocusOnClose=preserveFocusLifecycle&&props.autoFocus;update()};let connectScheduled=false;let destroyed=false;const scheduleConnect=()=>{if(connectScheduled||destroyed||props.unmountOnExit&&!localOpen.value)return;connectScheduled=true;void nextTick(()=>{connectScheduled=false;if(!destroyed)connect()})};const elements={trigger,anchor,arrow,overlay,handle,content};const registerElement=(part,element)=>{const target=elements[part];if(target.value===element)return;target.value=element;if(content.value===void 0)disconnect();else scheduleConnect()};const activateTrigger=event=>{if(event?.defaultPrevented===true||connection.value!==void 0||props.disabled||localOpen.value)return;if(!controlled)localOpen.value=true;emit("update:open",true)};const deactivateTrigger=event=>{if(event?.defaultPrevented===true||connection.value!==void 0||!localOpen.value)return;if(!controlled)localOpen.value=false;emit("update:open",false)};watch(()=>props.open,next=>{if(!controlled||next===void 0)return;if(connection.value===void 0){localOpen.value=next;return}const result=connection.value.syncControlledValue(next);if(!result.ok)throw new TypeError(`${config.scope} controlled open state could not be synchronized.`);localOpen.value=next});watch([()=>props.disabled,()=>props.modal,()=>props.label,()=>props.initialFocus,()=>props.autoFocus,()=>props.restoreFocus,()=>props.trapFocus,()=>props.closeOnInteractOutside,()=>props.interactOutsideExclusions,()=>props.side,()=>props.position,()=>props.swipeToDismiss,()=>props.swipeThreshold,()=>props.swipeVelocityThreshold,()=>props.align,()=>props.sideOffset,()=>props.collisionPadding,()=>props.collisionBoundary,()=>props.avoidCollisions,()=>props.arrowPadding,()=>props.hideWhenDetached,()=>props.strategy,()=>props.tracking],()=>connect(true));watch(localOpen,next=>{if(!next&&restoreAutoFocusOnClose)scheduleConnect()});onBeforeUnmount(()=>{destroyed=true;disconnect()});provide(contextKey,{open,disabled,modal,unmountOnExit,label,contentID,titleID,descriptionID,side,position,strategy,registerElement,activateTrigger,deactivateTrigger,close:()=>{connection.value?.handleEvent("close")},refresh:()=>{connection.value?.refresh()}});return()=>h(Fragment,null,slots["default"]?.({open:open.value,disabled:props.disabled})??[])}});const Trigger=defineComponent({name:`Sectile${pascal(config.scope)}Trigger`,inheritAttrs:false,props:buttonProps,setup(props,{attrs,slots}){const root=useRoot("Trigger");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.registerElement("trigger",element instanceof HTMLElement?element:void 0)},...config.triggerMode==="click"?{onClick:root.activateTrigger}:{onFocus:root.activateTrigger,onBlur:root.deactivateTrigger,onMouseenter:root.activateTrigger,onMouseleave:root.deactivateTrigger},type:props.as==="button"?"button":void 0,disabled:root.disabled.value,"aria-haspopup":config.role==="tooltip"?void 0:"dialog","aria-expanded":config.triggerMode==="click"?String(root.open.value):void 0,"aria-controls":config.role==="tooltip"?void 0:root.contentID,"aria-describedby":config.role==="tooltip"?root.contentID:void 0,"data-scope":config.scope,"data-part":"trigger","data-state":root.open.value?"open":"closed"}),slots)}});const Content=defineComponent({name:`Sectile${pascal(config.scope)}Content`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Content");const direction=useHostDirection();const element=shallowRef();const retainedReopen=shallowRef(0);const present=usePresence(root.open,element,()=>{retainedReopen.value+=1});const refreshAfterRender=async()=>{await nextTick();root.refresh()};watch(present,refreshAfterRender,{flush:"post"});watch(retainedReopen,refreshAfterRender,{flush:"post"});return()=>{if(root.unmountOnExit.value&&!present.value)return null;const exiting=!root.open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{const node=candidate instanceof HTMLElement?candidate:void 0;element.value=node;root.registerElement("content",node)},id:root.contentID,role:config.role,hidden:!present.value,dir:direction.value,...exiting?{inert:true,"aria-hidden":"true"}:{},style:config.positioned===true&&root.position.value?{position:root.strategy.value,visibility:element.value===void 0?"hidden":void 0}:void 0,"aria-modal":config.role==="tooltip"?void 0:String(root.modal.value),"aria-label":root.label.value,"aria-labelledby":root.label.value===void 0?root.titleID:void 0,"aria-describedby":root.descriptionID,"data-scope":config.scope,"data-part":"content","data-state":root.open.value?"open":"closed","data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}}});const Anchor=defineComponent({name:`Sectile${pascal(config.scope)}Anchor`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Anchor");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.registerElement("anchor",element instanceof HTMLElement?element:void 0)},"data-scope":config.scope,"data-part":"anchor"}),slots)}});const Arrow=defineComponent({name:`Sectile${pascal(config.scope)}Arrow`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Arrow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.registerElement("arrow",element instanceof HTMLElement?element:void 0)},"aria-hidden":"true","data-scope":config.scope,"data-part":"arrow"}),slots)}});const Overlay=defineComponent({name:`Sectile${pascal(config.scope)}Overlay`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Overlay");const element=shallowRef();const present=usePresence(root.open,element);return()=>{if(root.unmountOnExit.value&&!present.value)return null;const exiting=!root.open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{const node=candidate instanceof HTMLElement?candidate:void 0;element.value=node;root.registerElement("overlay",node)},hidden:!present.value,"aria-hidden":"true",...exiting?{inert:true}:{},"data-scope":config.scope,"data-part":"overlay","data-state":root.open.value?"open":"closed","data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}}});const Handle=defineComponent({name:`Sectile${pascal(config.scope)}Handle`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Handle");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{root.registerElement("handle",candidate instanceof HTMLElement?candidate:void 0)},"aria-hidden":"true","data-scope":config.scope,"data-part":"handle","data-state":root.open.value?"open":"closed","data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}});const Title=createLabelPart("Title","title",root=>root.titleID);const Description=createLabelPart("Description","description",root=>root.descriptionID);const Close=defineComponent({name:`Sectile${pascal(config.scope)}Close`,inheritAttrs:false,props:buttonProps,setup(props,{attrs,slots}){const root=useRoot("Close");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,"data-scope":config.scope,"data-part":"close",onClick:root.close}),slots)}});const Portal=defineComponent({name:`Sectile${pascal(config.scope)}Portal`,inheritAttrs:false,props:{to:{type:[String,Object],default:void 0},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){const portalTarget=useHostPortalTarget();return()=>h(Teleport,{to:props.to??portalTarget.value??"body",disabled:props.disabled,defer:props.defer},slots["default"]?.())}});function createLabelPart(name,part,id){return defineComponent({name:`Sectile${pascal(config.scope)}${name}`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,id:id(root),"data-scope":config.scope,"data-part":part}),slots)}})}return Object.freeze({Root,Trigger,Anchor,Portal,Overlay,Content,Handle,Title,Description,Close,Arrow})}function pascal(value){return value.split("-").map(part=>part[0]?.toUpperCase()+part.slice(1)).join("")}function swipeDirection(side){return side==="top"?"up":side==="bottom"?"down":side}export{createPopupComponents};
|
|
1
|
+
import{Fragment,computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,provide,ref,shallowRef,watch}from"vue";import{failResult,SectileResultError,unwrap}from"@sectile/core/result";import{Primitive,renderPrimitive}from"../primitive.js";import{HostPortal,provideHostActive,provideHostLayerParent,useHostActive,useHostDirection,useHostId,useHostLayer,useHostLayerParent,useHostPopup}from"../host-provider.js";import{usePresence}from"../presence/presence.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{providePortalMove}from"../internal/portal-move.js";function createPopupComponents(config){const contextKey=Symbol(`Sectile${config.scope}Root`);const useRoot=part=>{const context=inject(contextKey);if(context===void 0)throw new TypeError(`${part} must be used inside ${config.scope} Root.`);return context};const primitiveProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const buttonProps={as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}};const Root=defineComponent({name:`Sectile${pascal(config.scope)}Root`,inheritAttrs:false,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabled:{type:Boolean,default:false},modal:{type:Boolean,default:config.modal},label:{type:String,default:void 0},describedBy:{type:String,default:void 0},initialFocus:{type:Object,default:void 0},restoreFocusTarget:{type:Object,default:void 0},anchor:{type:Object,default:void 0},autoFocus:{type:Boolean,default:true},restoreFocus:{type:Boolean,default:true},trapFocus:{type:Boolean,default:config.modal},closeOnEscape:{type:Boolean,default:config.closeOnEscape??true},closeOnInteractOutside:{type:Boolean,default:config.closeOnInteractOutside??false},interactOutsideExclusions:{type:Array,default:void 0},side:{type:String,default:config.defaultSide??"bottom"},position:{type:Boolean,default:true},swipeToDismiss:{type:Boolean,default:true},swipeThreshold:{type:Number,default:80},swipeVelocityThreshold:{type:Number,default:.5},align:{type:String,default:"center"},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:void 0},avoidCollisions:{type:Boolean,default:true},arrowPadding:{type:Number,default:8},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:"absolute"},tracking:{type:String,default:"events"},unmountOnExit:{type:Boolean,default:false},presentation:{type:String,default:"overlay"}},emits:{"update:open":_open=>true,closeRequest:_reason=>true,afterClose:()=>true,interactOutside:_event=>true},slots:Object,setup(props,{emit,slots,expose}){const controlled=useControlledStateInvariant(`${config.scope}Root`,"open",()=>props.open);const localOpen=ref(controlled?props.open:props.defaultOpen);const requestedPlacement=()=>config.inlinePresentation?props.presentation??"overlay":"overlay";const validatePlacement=()=>{const requested=requestedPlacement();if(requested!=="overlay"&&requested!=="inline"||requested==="inline"&&(props.open===true||props.defaultOpen===true||props.unmountOnExit)){throw new TypeError("Inline Drawer presentation requires closed, retained content.")}};validatePlacement();const placement=shallowRef(requestedPlacement());const inline=computed(()=>placement.value==="inline");const trigger=shallowRef();const anchor=shallowRef();const arrow=shallowRef();const overlay=shallowRef();const handle=shallowRef();const content=shallowRef();const connection=shallowRef();providePortalMove(()=>connection.value);const hostAvailability=useHostActive();const parentLayer=useHostLayerParent();const parentAllowsPresentation=()=>parentLayer?.available.value??true;const availability=computed(()=>hostAvailability.value&&(!localOpen.value||parentAllowsPresentation()));const active=shallowRef(availability.value);provideHostActive(active);expose({requestClose:()=>{connection.value?.handleEvent("close","programmatic")}});const invocation=config.scope==="dialog"||config.scope==="drawer"||config.scope==="alert-dialog"?useHostPopup():void 0;let reservation=invocation?.reservation;if(reservation!==void 0&&(!localOpen.value||inline.value))throw new TypeError("A reserved popup binding requires an initially open overlay.");invocation?.attach(()=>{connection.value?.handleEvent("close","programmatic")});const presentation=shallowRef();const inputMethod=shallowRef("programmatic");const layerHost=useHostLayer();const contentPresence=shallowRef();const overlayPresence=shallowRef();let stopPresentation;const id=useHostId();const contentID=`sectile-${config.scope}-${id}-content`;const titleID=`sectile-${config.scope}-${id}-title`;const descriptionID=`sectile-${config.scope}-${id}-description`;const describedBy=computed(()=>props.describedBy===void 0?descriptionID:props.describedBy??void 0);const open=computed(()=>localOpen.value);const disabled=computed(()=>props.disabled);const modal=computed(()=>props.modal);const unmountOnExit=computed(()=>props.unmountOnExit);const label=computed(()=>props.label);const side=computed(()=>props.side);const position=computed(()=>props.position);const strategy=computed(()=>props.strategy);const update=()=>{const current=connection.value;if(current&&!current.getActive()){active.value=false;invocation?.onActiveChange?.(false);return}if(current===void 0||current.getLayerOrder()===null||presentation.value?.phase==="active")return;stopPresentation?.();const subscribed=current.subscribeLayerPresentation(snapshot=>{presentation.value=snapshot});if(!subscribed.ok)throw new SectileResultError(subscribed.error);stopPresentation=subscribed.value};const disconnect=()=>{stopPresentation?.();stopPresentation=void 0;try{connection.value?.disconnect()}finally{connection.value=void 0;presentation.value=void 0}};const registerPresence=(part,present)=>{const target=part==="content"?contentPresence:overlayPresence;target.value=present;return()=>{if(target.value===present)target.value=void 0}};let inactiveClosePending=false;const afterClose=()=>{inactiveClosePending=false;try{invocation?.onAfterClose()}finally{emit("afterClose")}};watch([active,presentation,()=>contentPresence.value?.value,()=>overlayPresence.value?.value],([available,snapshot,panel,backdrop])=>{if(!available||localOpen.value||panel===true||backdrop===true)return;if(inactiveClosePending&&snapshot?.phase!=="exiting"){afterClose();return}if(snapshot?.phase!=="exiting")return;const result=connection.value?.completeLayerExit(snapshot.generation);if(result!==void 0&&!result.ok)throw new SectileResultError(result.error);if(result?.ok&&presentation.value?.phase==="closed"&&presentation.value.generation===snapshot.generation){afterClose()}},{flush:"post"});let restoreAutoFocusOnClose=false;let reconnectPending=false;let inactiveRefsChanged=false;const restoreFocusTarget=()=>props.restoreFocusTarget===void 0?invocation?.restoreFocusTarget:props.restoreFocusTarget??void 0;const connect=(preserveOpenLifecycle=false)=>{if(!availability.value)return;if(inline.value){disconnect();return}if(presentation.value?.phase==="exiting"&&!localOpen.value){reconnectPending=true;return}reconnectPending=false;if(content.value===void 0)return;const host=layerHost.value;if(host===null)unwrap(failResult("construction","dom.layer-host-unavailable","Managed popup layer host is unavailable"));const preserveFocusLifecycle=preserveOpenLifecycle&&connection.value!==void 0&&localOpen.value;const completed=presentation.value?.phase==="closed"?presentation.value:void 0;disconnect();const positionAnchor=config.positioned===true?props.anchor??anchor.value:anchor.value;const focusTarget=restoreFocusTarget();connection.value=config.create({root:content.value,...trigger.value===void 0?{}:{trigger:trigger.value},...positionAnchor===void 0?{}:{anchor:positionAnchor},...arrow.value===void 0?{}:{arrow:arrow.value},...overlay.value===void 0?{}:{overlay:overlay.value},...handle.value===void 0?{}:{handle:handle.value},...controlled?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,modal:props.modal,...props.label===void 0?{labelledBy:titleID}:{label:props.label},...describedBy.value===void 0?{}:{describedBy:describedBy.value},...props.initialFocus===void 0?{}:{initialFocus:props.initialFocus},autoFocus:preserveFocusLifecycle?false:props.autoFocus,restoreFocus:props.restoreFocus,...focusTarget===void 0?{}:{restoreFocusTarget:focusTarget},trapFocus:props.trapFocus,closeOnEscape:props.closeOnEscape,closeOnInteractOutside:props.closeOnInteractOutside,...props.interactOutsideExclusions===void 0?{}:{interactOutsideExclusions:props.interactOutsideExclusions},side:props.side,...config.positioned===true?{position:props.position}:{},swipeToDismiss:props.swipeToDismiss,swipeThreshold:props.swipeThreshold,swipeVelocityThreshold:props.swipeVelocityThreshold,align:props.align,sideOffset:props.sideOffset,collisionPadding:props.collisionPadding,...props.collisionBoundary===void 0?{}:{collisionBoundary:props.collisionBoundary},avoidCollisions:props.avoidCollisions,arrowPadding:props.arrowPadding,hideWhenDetached:props.hideWhenDetached,strategy:props.strategy,tracking:props.tracking,manageVisibility:false,retainExit:true,...host==null?{}:{layerHost:host},...reservation===void 0?{}:{reservation},onOpenChange:(next,method,reason)=>{inputMethod.value=method;if(!controlled)localOpen.value=next;try{if(!next&&reason!==void 0){try{invocation?.onCloseRequest(reason)}finally{emit("closeRequest",reason)}}}finally{try{if(!controlled)invocation?.onOpenChange(next)}finally{emit("update:open",next)}}},onInteractOutside:event=>{emit("interactOutside",event)},onUpdate:update});reservation=void 0;restoreAutoFocusOnClose=preserveFocusLifecycle&&props.autoFocus;update();if(completed&&!localOpen.value&&presentation.value===void 0)presentation.value=completed;invocation?.onActiveChange?.(active.value&&connection.value.getActive());invocation?.onOpenChange(localOpen.value)};const connectScheduled=shallowRef(false);let destroyed=false;watch(connectScheduled,async scheduled=>{if(!scheduled)return;await nextTick();connectScheduled.value=false;if(!destroyed&&availability.value)connect()},{flush:"post"});const scheduleConnect=()=>{if(!availability.value||inline.value||connectScheduled.value||destroyed||props.unmountOnExit&&!localOpen.value)return;connectScheduled.value=true};const elements={trigger,anchor,arrow,overlay,handle,content};const syncPosition=()=>{const current=connection.value;if(config.positioned!==true||!current?.syncPosition)return false;current.syncPosition({anchor:props.anchor??anchor.value??null,side:props.side,position:props.position,align:props.align,sideOffset:props.sideOffset,collisionPadding:props.collisionPadding,...props.collisionBoundary===void 0?{}:{collisionBoundary:props.collisionBoundary},avoidCollisions:props.avoidCollisions,arrowPadding:props.arrowPadding,hideWhenDetached:props.hideWhenDetached,strategy:props.strategy,tracking:props.tracking});return true};const registerElement=(part,element)=>{const target=elements[part];if(target.value===element)return;target.value=element;if(part==="anchor"&&props.anchor!=null)return;if(!availability.value){inactiveRefsChanged=true;return}if(part==="anchor"&&syncPosition())return;if(presentation.value?.phase==="exiting"&&!localOpen.value){reconnectPending=true;return}if(content.value===void 0)disconnect();else scheduleConnect()};const suspend=()=>{if(destroyed)return;const current=connection.value;const exiting=presentation.value?.phase==="exiting";try{current?.suspend()}finally{if(!current||!current.getActive()){inactiveClosePending||=exiting;active.value=false;invocation?.onActiveChange?.(false)}}};watch(hostAvailability,next=>{if(!next)suspend()},{flush:"sync"});watch(availability,next=>{if(destroyed)return;if(!next){suspend();return}if(inactiveRefsChanged){inactiveRefsChanged=false;connect(true)}else if(connection.value){connection.value.resume();update()}else scheduleConnect();active.value=true;invocation?.onActiveChange?.(connection.value?.getActive()===true)},{flush:"post"});watch(presentation,snapshot=>{if(!reconnectPending)return;if(snapshot?.phase==="active"&&localOpen.value){connect(true);return}if(snapshot?.phase!=="closed")return;if(content.value===void 0){reconnectPending=false;disconnect();presentation.value=snapshot}else scheduleConnect()},{flush:"post"});watch(layerHost,host=>{if(host===null)return;if(connection.value===void 0){scheduleConnect();return}unwrap(connection.value.syncLayerHost(host))},{flush:"post"});if(parentLayer)watch([connection,()=>presentation.value?.generation,()=>presentation.value?.phase,parentLayer.element,()=>parentLayer.presentation.value?.generation,()=>parentLayer.presentation.value?.phase],()=>{const parent=parentLayer.element.value;if(parent&&presentation.value?.phase==="active"&&parentLayer.presentation.value?.phase==="active"){unwrap(connection.value.syncLayerParent(parent))}},{flush:"post"});const activateTrigger=event=>{if(inline.value||event?.defaultPrevented===true||connection.value!==void 0||props.disabled||localOpen.value)return;inputMethod.value=popupInputMethod(event);if(!controlled)localOpen.value=true;emit("update:open",true)};const deactivateTrigger=event=>{if(event?.defaultPrevented===true||connection.value!==void 0||!localOpen.value)return;inputMethod.value=popupInputMethod(event);if(!controlled)localOpen.value=false;emit("update:open",false)};watch([()=>props.open,()=>props.modal,()=>props.label,()=>props.initialFocus,()=>props.autoFocus,()=>props.describedBy,()=>props.restoreFocus,()=>props.trapFocus,()=>props.interactOutsideExclusions,()=>props.disabled,()=>props.restoreFocusTarget],(_values,previousValues)=>{validatePlacement();if(inline.value&&requestedPlacement()==="overlay"){placement.value="overlay";scheduleConnect()}const current=connection.value;if(current)unwrap(current.syncDisabled(props.disabled));if(current&&config.role!=="tooltip")unwrap(current.syncBehavior({modal:props.modal,autoFocus:props.autoFocus,restoreFocus:props.restoreFocus,trapFocus:props.trapFocus,label:props.label,labelledBy:props.label===void 0?titleID:void 0,describedBy:describedBy.value,initialFocus:props.initialFocus,interactOutsideExclusions:props.interactOutsideExclusions,restoreFocusTarget:restoreFocusTarget()??null}));const next=props.open;if(!controlled||next===void 0||Object.is(next,previousValues[0]))return;if(next&&!parentAllowsPresentation())suspend();if(current===void 0){localOpen.value=next;invocation?.onOpenChange(next);return}const result=current.syncControlledValue(next);if(!result.ok)throw new TypeError(`${config.scope} controlled open state could not be synchronized.`);localOpen.value=next;invocation?.onOpenChange(next)});watch([()=>props.swipeToDismiss,()=>props.swipeThreshold,()=>props.swipeVelocityThreshold,()=>config.directional===true?props.side:void 0],()=>{const current=connection.value;if(current?.syncGesture)unwrap(current.syncGesture({side:props.side,swipeToDismiss:props.swipeToDismiss,swipeThreshold:props.swipeThreshold,swipeVelocityThreshold:props.swipeVelocityThreshold}))});watch([()=>props.anchor,()=>props.side,()=>props.position,()=>props.align,()=>props.sideOffset,()=>props.collisionPadding,()=>props.collisionBoundary,()=>props.avoidCollisions,()=>props.arrowPadding,()=>props.hideWhenDetached,()=>props.strategy,()=>props.tracking],syncPosition,{flush:"post"});watch([()=>props.closeOnEscape,()=>props.closeOnInteractOutside],()=>{const current=connection.value;if(current)unwrap(current.syncDismissal({closeOnEscape:props.closeOnEscape,closeOnInteractOutside:props.closeOnInteractOutside}))});watch(localOpen,next=>{if(next)inactiveClosePending=false;if(!next&&!active.value)inactiveClosePending=true;if(!next&&restoreAutoFocusOnClose)scheduleConnect()});if(config.inlinePresentation)watch([requestedPlacement,()=>props.unmountOnExit,()=>props.open,()=>props.defaultOpen,localOpen,()=>presentation.value?.phase],()=>{validatePlacement();const requested=requestedPlacement();if(requested===placement.value)return;if(requested==="inline"&&(localOpen.value||presentation.value?.phase==="active"||presentation.value?.phase==="exiting"))return;if(requested==="inline")disconnect();placement.value=requested;if(requested==="overlay"){if(controlled&&props.open!==void 0)localOpen.value=props.open;scheduleConnect()}});onBeforeUnmount(()=>{destroyed=true;try{disconnect()}finally{invocation?.detach()}});provide(contextKey,{active,open,inline,presentation,inputMethod,disabled,modal,unmountOnExit,label,describedBy,contentID,titleID,descriptionID,side,position,strategy,registerPresence,registerElement,activateTrigger,deactivateTrigger,close:event=>{connection.value?.handleEvent("close",popupInputMethod(event),"close-button")},refresh:()=>{connection.value?.refresh()}});return()=>h(Fragment,null,slots["default"]?.({open:open.value,disabled:props.disabled,inputMethod:inputMethod.value,presentation:presentation.value,...config.inlinePresentation?{placement:placement.value}:{}})??[])}});const Trigger=defineComponent({name:`Sectile${pascal(config.scope)}Trigger`,inheritAttrs:false,props:buttonProps,setup(props,{attrs,slots}){const root=useRoot("Trigger");return()=>{const elementRef=element=>{root.registerElement("trigger",element instanceof HTMLElement?element:void 0)};const attributes=mergeProps(attrs,{...config.triggerMode==="click"?{onClick:root.activateTrigger}:{onFocus:root.activateTrigger,onBlur:root.deactivateTrigger,onMouseenter:root.activateTrigger,onMouseleave:root.deactivateTrigger},...config.role==="tooltip"&&props.asChild?{}:{type:props.as==="button"?"button":void 0},...config.role==="tooltip"&&props.asChild&&!root.disabled.value?{}:{disabled:root.disabled.value},...config.role==="tooltip"?{}:{"aria-haspopup":root.inline.value?void 0:"dialog","aria-expanded":config.triggerMode==="click"?String(root.open.value):void 0,"aria-controls":root.contentID},"data-scope":config.scope,"data-part":"trigger","data-state":root.open.value?"open":"closed"});if(!config.describeTrigger)return h(Primitive,{...attributes,as:props.as,asChild:props.asChild,elementRef},slots);return h(Primitive,{asChild:true,elementRef},{default:()=>renderPrimitive(props,attributes,slots,adopted=>({...adopted,"aria-describedby":config.describeTrigger(typeof adopted["aria-describedby"]==="string"?adopted["aria-describedby"]:void 0,root.contentID,root.open.value||!root.unmountOnExit.value)}))})}}});const Content=defineComponent({name:`Sectile${pascal(config.scope)}Content`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Content");const direction=useHostDirection();const element=shallowRef();const retainedReopen=shallowRef(0);provideHostLayerParent({element,presentation:root.presentation,open:root.open,inline:root.inline,active:root.active});const visible=computed(()=>root.open.value||root.inline.value);const present=usePresence(visible,element,()=>{retainedReopen.value+=1},root.active);onBeforeUnmount(root.registerPresence("content",present));const refreshAfterRender=async()=>{await nextTick();root.refresh()};watch(present,refreshAfterRender,{flush:"post"});watch(retainedReopen,refreshAfterRender,{flush:"post"});return()=>{if(root.unmountOnExit.value&&!present.value)return null;const exiting=!root.inline.value&&!root.open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{const node=candidate instanceof HTMLElement?candidate:void 0;element.value=node;root.registerElement("content",node)},id:root.contentID,role:root.inline.value?void 0:config.role,hidden:!root.active.value||!present.value,dir:direction.value,...exiting||!root.active.value?{inert:true,"aria-hidden":"true"}:{},style:config.positioned===true&&root.position.value?{position:root.strategy.value,visibility:element.value===void 0?"hidden":void 0}:void 0,"aria-modal":root.inline.value||config.role==="tooltip"?void 0:String(root.modal.value),...config.role==="tooltip"?{}:{"aria-label":root.inline.value?void 0:root.label.value,"aria-labelledby":root.inline.value||root.label.value!==void 0?void 0:root.titleID,"aria-describedby":root.inline.value?void 0:root.describedBy.value},"data-presentation":config.inlinePresentation?root.inline.value?"inline":"overlay":void 0,"data-scope":config.scope,"data-part":"content","data-state":root.open.value?"open":"closed","data-input-method":root.inputMethod.value,"data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}}});const Anchor=defineComponent({name:`Sectile${pascal(config.scope)}Anchor`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Anchor");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.registerElement("anchor",element instanceof HTMLElement?element:void 0)},"data-scope":config.scope,"data-part":"anchor"}),slots)}});const Arrow=defineComponent({name:`Sectile${pascal(config.scope)}Arrow`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Arrow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.registerElement("arrow",element instanceof HTMLElement?element:void 0)},"aria-hidden":"true","data-scope":config.scope,"data-part":"arrow"}),slots)}});const Overlay=defineComponent({name:`Sectile${pascal(config.scope)}Overlay`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Overlay");const element=shallowRef();const present=usePresence(root.open,element,void 0,root.active);onBeforeUnmount(root.registerPresence("overlay",present));return()=>{if(root.unmountOnExit.value&&!present.value)return null;const exiting=!root.open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{const node=candidate instanceof HTMLElement?candidate:void 0;element.value=node;root.registerElement("overlay",node)},hidden:!root.active.value||!present.value,"aria-hidden":"true",...exiting||!root.active.value?{inert:true}:{},"data-scope":config.scope,"data-part":"overlay","data-state":root.open.value?"open":"closed","data-input-method":root.inputMethod.value,"data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}}});const Handle=defineComponent({name:`Sectile${pascal(config.scope)}Handle`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot("Handle");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:candidate=>{root.registerElement("handle",candidate instanceof HTMLElement?candidate:void 0)},"aria-hidden":"true","data-scope":config.scope,"data-part":"handle","data-state":root.open.value?"open":"closed","data-side":config.directional===true?root.side.value:void 0,"data-swipe-direction":config.directional===true?swipeDirection(root.side.value):void 0}),slots)}});const Title=createLabelPart("Title","title",root=>root.titleID);const Description=createLabelPart("Description","description",root=>root.descriptionID);const Close=defineComponent({name:`Sectile${pascal(config.scope)}Close`,inheritAttrs:false,props:buttonProps,setup(props,{attrs,slots}){const root=useRoot("Close");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,"data-scope":config.scope,"data-part":"close",onClick:root.close}),slots)}});const Portal=HostPortal;function createLabelPart(name,part,id){return defineComponent({name:`Sectile${pascal(config.scope)}${name}`,inheritAttrs:false,props:primitiveProps,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,id:id(root),"data-scope":config.scope,"data-part":part}),slots)}})}return Object.freeze({Root,Trigger,Anchor,Portal,Overlay,Content,Handle,Title,Description,Close,Arrow})}function pascal(value){return value.split("-").map(part=>part[0]?.toUpperCase()+part.slice(1)).join("")}function popupInputMethod(event){if(event===void 0)return"programmatic";return event.type==="mouseenter"||event.type==="mouseleave"||event.type==="click"&&event.detail!==0?"pointer":"keyboard"}function swipeDirection(side){return side==="top"?"up":side==="bottom"?"down":side}export{createPopupComponents};
|
|
2
2
|
//# sourceMappingURL=popup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/popup.ts"],"mappings":"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","names":[],"file":"popup.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/overlay/popup.ts"],"mappings":"AAAA,OACE,SACA,SACA,gBACA,EACA,OACA,WACA,SACA,gBACA,QACA,IACA,WACA,UAOK,MAcP,OAAS,WAAY,mBAAoB,WAA2B,uBAEpE,OAAS,UAAW,oBAAyC,kBAC7D,OAAS,WAAY,kBAAmB,uBAAwB,cAAe,iBAAkB,UAAW,aAAc,mBAAoB,iBAAoB,sBAClK,OAAS,gBAAmB,0BAC5B,OAAS,gCAAmC,kCAC5C,OAAS,sBAAyB,6BAwI5B,SAAU,sBAAsB,OAA4B,CAahE,MAAM,WAAa,OAAO,UAAU,OAAO,KAAK,MAAM,EACtD,MAAM,QAAW,MAA8B,CAC7C,MAAM,QAAU,OAAqB,UAAU,EAC/C,GAAI,UAAY,OAAW,MAAM,IAAI,UAAU,GAAG,IAAI,wBAAwB,OAAO,KAAK,QAAQ,EAClG,OAAO,OACT,EACA,MAAM,eAAiB,CACrB,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,KAAK,EAC/E,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAE1C,MAAM,YAAc,CAClB,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,QAAQ,EAClF,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAG1C,MAAM,KAAO,gBAAgB,CAC3B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,OACpC,aAAc,MACd,MAAO,CACL,KAAM,CAAE,KAAM,QAAS,QAAS,MAAS,EACzC,YAAa,CAAE,KAAM,QAAS,QAAS,KAAK,EAC5C,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,MAAO,CAAE,KAAM,QAAS,QAAS,OAAO,KAAK,EAC7C,MAAO,CAAE,KAAM,OAAQ,QAAS,MAAS,EACzC,YAAa,CAAE,KAAM,OAAQ,QAAS,MAAS,EAC/C,aAAc,CAAE,KAAM,OAAiC,QAAS,MAAS,EACzE,mBAAoB,CAAE,KAAM,OAAwC,QAAS,MAAS,EACtF,OAAQ,CAAE,KAAM,OAAwC,QAAS,MAAS,EAC1E,UAAW,CAAE,KAAM,QAAS,QAAS,IAAI,EACzC,aAAc,CAAE,KAAM,QAAS,QAAS,IAAI,EAC5C,UAAW,CAAE,KAAM,QAAS,QAAS,OAAO,KAAK,EACjD,cAAe,CAAE,KAAM,QAAS,QAAS,OAAO,eAAiB,IAAI,EACrE,uBAAwB,CAAE,KAAM,QAAS,QAAS,OAAO,wBAA0B,KAAK,EACxF,0BAA2B,CAAE,KAAM,MAA2C,QAAS,MAAS,EAChG,KAAM,CAAE,KAAM,OAAyD,QAAS,OAAO,aAAe,QAAQ,EAC9G,SAAU,CAAE,KAAM,QAAS,QAAS,IAAI,EACxC,eAAgB,CAAE,KAAM,QAAS,QAAS,IAAI,EAC9C,eAAgB,CAAE,KAAM,OAAQ,QAAS,EAAE,EAC3C,uBAAwB,CAAE,KAAM,OAAQ,QAAS,EAAG,EACpD,MAAO,CAAE,KAAM,OAAgD,QAAS,QAAQ,EAChF,WAAY,CAAE,KAAM,OAAQ,QAAS,CAAC,EACtC,iBAAkB,CAAE,KAAM,CAAC,OAAQ,MAAM,EAAgC,QAAS,CAAC,EACnF,kBAAmB,CAAE,KAAM,CAAC,OAAQ,MAAM,EAAiC,QAAS,MAAS,EAC7F,gBAAiB,CAAE,KAAM,QAAS,QAAS,IAAI,EAC/C,aAAc,CAAE,KAAM,OAAQ,QAAS,CAAC,EACxC,iBAAkB,CAAE,KAAM,QAAS,QAAS,KAAK,EACjD,SAAU,CAAE,KAAM,OAAsC,QAAS,UAAU,EAC3E,SAAU,CAAE,KAAM,OAAsC,QAAS,QAAQ,EACzE,cAAe,CAAE,KAAM,QAAS,QAAS,KAAK,EAC9C,aAAc,CAAE,KAAM,OAA0C,QAAS,SAAS,GAEpF,MAAO,CACL,cAAgB,OAA4B,KAC5C,aAAe,SAAuC,KACtD,WAAY,IAAe,KAC3B,gBAAkB,QAA0C,MAE9D,MAAO,OACP,MAAM,MAAO,CAAE,KAAM,MAAO,MAAM,EAAE,CAClC,MAAM,WAAa,4BAA4B,GAAG,OAAO,KAAK,OAAQ,OAAQ,IAAM,MAAM,IAAI,EAC9F,MAAM,UAAY,IAAI,WAAa,MAAM,KAAkB,MAAM,WAAW,EAC5E,MAAM,mBAAqB,IAA4B,OAAO,mBAAqB,MAAM,cAAgB,UAAY,UACrH,MAAM,kBAAoB,IAAW,CACnC,MAAM,UAAY,mBAAkB,EACpC,GAAK,YAAc,WAAa,YAAc,UAAc,YAAc,WACpE,MAAM,OAAS,MAAQ,MAAM,cAAgB,MAAQ,MAAM,eAAiB,CAChF,MAAM,IAAI,UAAU,+DAA+D,CACrF,CACF,EACA,kBAAiB,EACjB,MAAM,UAAY,WAAW,mBAAkB,CAAE,EACjD,MAAM,OAAS,SAAS,IAAM,UAAU,QAAU,QAAQ,EAC1D,MAAM,QAAU,WAAU,EAC1B,MAAM,OAAS,WAAU,EACzB,MAAM,MAAQ,WAAU,EACxB,MAAM,QAAU,WAAU,EAC1B,MAAM,OAAS,WAAU,EACzB,MAAM,QAAU,WAAU,EAC1B,MAAM,WAAa,WAAU,EAC7B,kBAAkB,IAAM,WAAW,KAAK,EACxC,MAAM,iBAAmB,cAAa,EACtC,MAAM,YAAc,mBAAkB,EACtC,MAAM,yBAA2B,IAAe,aAAa,UAAU,OAAS,KAChF,MAAM,aAAe,SAAS,IAAM,iBAAiB,QAAU,CAAC,UAAU,OAAS,yBAAwB,EAAG,EAC9G,MAAM,OAAS,WAAW,aAAa,KAAK,EAC5C,kBAAkB,MAAM,EACxB,OAAO,CAAE,aAAc,IAAK,CAAG,WAAW,OAAO,YAAY,QAAS,cAAc,CAAG,CAAC,CAA4B,EACpH,MAAM,WAAa,OAAO,QAAU,UAAY,OAAO,QAAU,UAAY,OAAO,QAAU,eAAiB,aAAY,EAAK,OAChI,IAAI,YAAc,YAAY,YAC9B,GAAI,cAAgB,SAAc,CAAC,UAAU,OAAS,OAAO,OAAQ,MAAM,IAAI,UAAU,8DAA8D,EACvJ,YAAY,OAAO,IAAK,CAAG,WAAW,OAAO,YAAY,QAAS,cAAc,CAAG,CAAC,EACpF,MAAM,aAAe,WAAU,EAC/B,MAAM,YAAc,WAA6B,cAAc,EAC/D,MAAM,UAAY,aAAY,EAC9B,MAAM,gBAAkB,WAAU,EAClC,MAAM,gBAAkB,WAAU,EAClC,IAAI,iBACJ,MAAM,GAAK,UAAS,EACpB,MAAM,UAAY,WAAW,OAAO,KAAK,IAAI,EAAE,WAC/C,MAAM,QAAU,WAAW,OAAO,KAAK,IAAI,EAAE,SAC7C,MAAM,cAAgB,WAAW,OAAO,KAAK,IAAI,EAAE,eACnD,MAAM,YAAc,SAAS,IAAM,MAAM,cAAgB,OAAY,cAAgB,MAAM,aAAe,MAAS,EACnH,MAAM,KAAO,SAAS,IAAM,UAAU,KAAK,EAC3C,MAAM,SAAW,SAAS,IAAM,MAAM,QAAQ,EAC9C,MAAM,MAAQ,SAAS,IAAM,MAAM,KAAK,EACxC,MAAM,cAAgB,SAAS,IAAM,MAAM,aAAa,EACxD,MAAM,MAAQ,SAAS,IAAM,MAAM,KAAK,EACxC,MAAM,KAAO,SAAS,IAAM,MAAM,IAAI,EACtC,MAAM,SAAW,SAAS,IAAM,MAAM,QAAQ,EAC9C,MAAM,SAAW,SAAS,IAAM,MAAM,QAAQ,EAC9C,MAAM,OAAS,IAAW,CACxB,MAAM,QAAU,WAAW,MAC3B,GAAI,SAAW,CAAC,QAAQ,UAAS,EAAI,CACnC,OAAO,MAAQ,MACf,YAAY,iBAAiB,KAAK,EAClC,MACF,CACA,GAAI,UAAY,QAAa,QAAQ,cAAa,IAAO,MAAQ,aAAa,OAAO,QAAU,SAAU,OACzG,mBAAkB,EAClB,MAAM,WAAa,QAAQ,2BAA4B,UAAY,CAAG,aAAa,MAAQ,QAAU,CAAC,EACtG,GAAI,CAAC,WAAW,GAAI,MAAM,IAAI,mBAAmB,WAAW,KAAK,EACjE,iBAAmB,WAAW,KAChC,EACA,MAAM,WAAa,IAAW,CAC5B,mBAAkB,EAClB,iBAAmB,OACnB,GAAI,CAAE,WAAW,OAAO,WAAU,CAAI,SAC5B,WAAW,MAAQ,OAAW,aAAa,MAAQ,MAAW,CAC1E,EACA,MAAM,iBAAmB,CAAC,KAA6B,UAA8C,CACnG,MAAM,OAAS,OAAS,UAAY,gBAAkB,gBACtD,OAAO,MAAQ,QACf,MAAO,IAAK,CAAG,GAAI,OAAO,QAAU,QAAS,OAAO,MAAQ,MAAW,CACzE,EACA,IAAI,qBAAuB,MAC3B,MAAM,WAAa,IAAW,CAC5B,qBAAuB,MACvB,GAAI,CAAE,YAAY,aAAY,CAAI,SACxB,KAAK,YAAY,CAAG,CAChC,EACA,MAAM,CAAC,OAAQ,aAAc,IAAM,gBAAgB,OAAO,MAAO,IAAM,gBAAgB,OAAO,KAAK,EAAG,CAAC,CAAC,UAAW,SAAU,MAAO,QAAQ,IAAK,CAC/I,GAAI,CAAC,WAAa,UAAU,OAAS,QAAU,MAAQ,WAAa,KAAM,OAC1E,GAAI,sBAAwB,UAAU,QAAU,UAAW,CAAE,WAAU,EAAI,MAAQ,CACnF,GAAI,UAAU,QAAU,UAAW,OACnC,MAAM,OAAS,WAAW,OAAO,kBAAkB,SAAS,UAAU,EACtE,GAAI,SAAW,QAAa,CAAC,OAAO,GAAI,MAAM,IAAI,mBAAmB,OAAO,KAAK,EACjF,GAAI,QAAQ,IAAM,aAAa,OAAO,QAAU,UAAY,aAAa,MAAM,aAAe,SAAS,WAAY,CACjH,WAAU,CACZ,CACF,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,IAAI,wBAA0B,MAC9B,IAAI,iBAAmB,MACvB,IAAI,oBAAsB,MAC1B,MAAM,mBAAqB,IAA+B,MAAM,qBAAuB,OACnF,YAAY,mBAAqB,MAAM,oBAAsB,OACjE,MAAM,QAAU,CAAC,sBAAwB,QAAe,CACtD,GAAI,CAAC,aAAa,MAAO,OACzB,GAAI,OAAO,MAAO,CAAE,WAAU,EAAI,MAAQ,CAE1C,GAAI,aAAa,OAAO,QAAU,WAAa,CAAC,UAAU,MAAO,CAAE,iBAAmB,KAAM,MAAQ,CACpG,iBAAmB,MACnB,GAAI,QAAQ,QAAU,OAAW,OACjC,MAAM,KAAO,UAAU,MACvB,GAAI,OAAS,KAAM,OAAO,WAAW,eAAgB,6BAA8B,yCAAyC,CAAC,EAC7H,MAAM,uBAAyB,uBAAyB,WAAW,QAAU,QAAa,UAAU,MACpG,MAAM,UAAY,aAAa,OAAO,QAAU,SAAW,aAAa,MAAQ,OAChF,WAAU,EACV,MAAM,eAAiB,OAAO,aAAe,KAAO,MAAM,QAAU,OAAO,MAAQ,OAAO,MAC1F,MAAM,YAAc,mBAAkB,EACtC,WAAW,MAAQ,OAAO,OAAO,CAC/B,KAAM,QAAQ,MACd,GAAI,QAAQ,QAAU,OAAY,CAAA,EAAK,CAAE,QAAS,QAAQ,KAAK,EAC/D,GAAI,iBAAmB,OAAY,CAAA,EAAK,CAAE,OAAQ,cAAc,EAChE,GAAI,MAAM,QAAU,OAAY,CAAA,EAAK,CAAE,MAAO,MAAM,KAAK,EACzD,GAAI,QAAQ,QAAU,OAAY,CAAA,EAAK,CAAE,QAAS,QAAQ,KAAK,EAC/D,GAAI,OAAO,QAAU,OAAY,CAAA,EAAK,CAAE,OAAQ,OAAO,KAAK,EAC5D,GAAI,WAAa,CAAE,KAAM,MAAM,IAAe,EAAK,CAAE,YAAa,UAAU,KAAK,EACjF,SAAU,MAAM,SAChB,MAAO,MAAM,MACb,GAAI,MAAM,QAAU,OAAY,CAAE,WAAY,OAAO,EAAK,CAAE,MAAO,MAAM,KAAK,EAC9E,GAAI,YAAY,QAAU,OAAY,CAAA,EAAK,CAAE,YAAa,YAAY,KAAK,EAC3E,GAAI,MAAM,eAAiB,OAAY,CAAA,EAAK,CAAE,aAAc,MAAM,YAAY,EAC9E,UAAW,uBAAyB,MAAQ,MAAM,UAClD,aAAc,MAAM,aACpB,GAAI,cAAgB,OAAY,CAAA,EAAK,CAAE,mBAAoB,WAAW,EACtE,UAAW,MAAM,UACjB,cAAe,MAAM,cACrB,uBAAwB,MAAM,uBAC9B,GAAI,MAAM,4BAA8B,OAAY,CAAA,EAAK,CAAE,0BAA2B,MAAM,yBAAyB,EACrH,KAAM,MAAM,KACZ,GAAI,OAAO,aAAe,KAAO,CAAE,SAAU,MAAM,QAAQ,EAAK,CAAA,EAChE,eAAgB,MAAM,eACtB,eAAgB,MAAM,eACtB,uBAAwB,MAAM,uBAC9B,MAAO,MAAM,MACb,WAAY,MAAM,WAClB,iBAAkB,MAAM,iBACxB,GAAI,MAAM,oBAAsB,OAAY,CAAA,EAAK,CAAE,kBAAmB,MAAM,iBAAiB,EAC7F,gBAAiB,MAAM,gBACvB,aAAc,MAAM,aACpB,iBAAkB,MAAM,iBACxB,SAAU,MAAM,SAChB,SAAU,MAAM,SAChB,iBAAkB,MAClB,WAAY,KACZ,GAAI,MAAQ,KAAO,CAAA,EAAK,CAAE,UAAW,IAAI,EACzC,GAAI,cAAgB,OAAY,CAAA,EAAK,CAAE,WAAW,EAClD,aAAc,CAAC,KAAM,OAAQ,SAAU,CACrC,YAAY,MAAQ,OACpB,GAAI,CAAC,WAAY,UAAU,MAAQ,KACnC,GAAI,CACF,GAAI,CAAC,MAAQ,SAAW,OAAW,CACjC,GAAI,CAAE,YAAY,eAAe,MAAM,CAAG,SAChC,KAAK,eAAgB,MAAM,CAAG,CAC1C,CACF,SACE,GAAI,CAAE,GAAI,CAAC,WAAY,YAAY,aAAa,IAAI,CAAG,SAC7C,KAAK,cAAe,IAAI,CAAG,CACvC,CACF,EACA,kBAAoB,OAAS,CAAG,KAAK,kBAAmB,KAAK,CAAG,EAChE,SAAU,OACX,EACD,YAAc,OACd,wBAA0B,wBAA0B,MAAM,UAC1D,OAAM,EACN,GAAI,WAAa,CAAC,UAAU,OAAS,aAAa,QAAU,OAAW,aAAa,MAAQ,UAC5F,YAAY,iBAAiB,OAAO,OAAS,WAAW,MAAM,UAAS,CAAE,EACzE,YAAY,aAAa,UAAU,KAAK,CAC1C,EACA,MAAM,iBAAmB,WAAW,KAAK,EACzC,IAAI,UAAY,MAChB,MAAM,iBAAkB,MAAO,WAAa,CAC1C,GAAI,CAAC,UAAW,OAChB,MAAM,SAAQ,EACd,iBAAiB,MAAQ,MACzB,GAAI,CAAC,WAAa,aAAa,MAAO,QAAO,CAC/C,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,gBAAkB,IAAW,CACjC,GAAI,CAAC,aAAa,OAAS,OAAO,OAAS,iBAAiB,OAAS,WAAc,MAAM,eAAiB,CAAC,UAAU,MAAQ,OAC7H,iBAAiB,MAAQ,IAC3B,EACA,MAAM,SAAW,CAAE,QAAS,OAAQ,MAAO,QAAS,OAAQ,OAAO,EACnE,MAAM,aAAe,IAAc,CACjC,MAAM,QAAU,WAAW,MAC3B,GAAI,OAAO,aAAe,MAAQ,CAAC,SAAS,aAAc,MAAO,OACjE,QAAQ,aAAa,CACnB,OAAQ,MAAM,QAAU,OAAO,OAAS,KACxC,KAAM,MAAM,KAAM,SAAU,MAAM,SAAU,MAAO,MAAM,MAAO,WAAY,MAAM,WAClF,iBAAkB,MAAM,iBACxB,GAAI,MAAM,oBAAsB,OAAY,CAAA,EAAK,CAAE,kBAAmB,MAAM,iBAAiB,EAC7F,gBAAiB,MAAM,gBAAiB,aAAc,MAAM,aAC5D,iBAAkB,MAAM,iBAAkB,SAAU,MAAM,SAAU,SAAU,MAAM,SACrF,EACD,MAAO,KACT,EACA,MAAM,gBAAkB,CAAC,KAAwB,UAA+B,CAC9E,MAAM,OAAS,SAAS,IAAI,EAC5B,GAAI,OAAO,QAAU,QAAS,OAC9B,OAAO,MAAQ,QACf,GAAI,OAAS,UAAY,MAAM,QAAU,KAAM,OAC/C,GAAI,CAAC,aAAa,MAAO,CAAE,oBAAsB,KAAM,MAAQ,CAC/D,GAAI,OAAS,UAAY,aAAY,EAAI,OACzC,GAAI,aAAa,OAAO,QAAU,WAAa,CAAC,UAAU,MAAO,CAAE,iBAAmB,KAAM,MAAQ,CACpG,GAAI,QAAQ,QAAU,OAAW,WAAU,OACtC,gBAAe,CACtB,EACA,MAAM,QAAU,IAAW,CACzB,GAAI,UAAW,OACf,MAAM,QAAU,WAAW,MAC3B,MAAM,QAAU,aAAa,OAAO,QAAU,UAC9C,GAAI,CAAE,SAAS,QAAO,CAAI,SAIxB,GAAI,CAAC,SAAW,CAAC,QAAQ,UAAS,EAAI,CACpC,uBAAyB,QACzB,OAAO,MAAQ,MACf,YAAY,iBAAiB,KAAK,CACpC,CACF,CACF,EACA,MAAM,iBAAmB,MAAQ,CAAG,GAAI,CAAC,KAAM,QAAO,CAAI,EAAG,CAAE,MAAO,MAAM,CAAE,EAC9E,MAAM,aAAe,MAAQ,CAC3B,GAAI,UAAW,OAEf,GAAI,CAAC,KAAM,CAAE,QAAO,EAAI,MAAQ,CAChC,GAAI,oBAAqB,CAAE,oBAAsB,MAAO,QAAQ,IAAI,CAAG,SAC9D,WAAW,MAAO,CAAE,WAAW,MAAM,OAAM,EAAI,OAAM,CAAI,MAC7D,gBAAe,EACpB,OAAO,MAAQ,KACf,YAAY,iBAAiB,WAAW,OAAO,UAAS,IAAO,IAAI,CACrE,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,aAAe,UAAY,CAC/B,GAAI,CAAC,iBAAkB,OACvB,GAAI,UAAU,QAAU,UAAY,UAAU,MAAO,CAAE,QAAQ,IAAI,EAAG,MAAQ,CAC9E,GAAI,UAAU,QAAU,SAAU,OAClC,GAAI,QAAQ,QAAU,OAAW,CAC/B,iBAAmB,MAAO,WAAU,EAEpC,aAAa,MAAQ,QACvB,MACK,gBAAe,CACtB,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,UAAY,MAAQ,CAExB,GAAI,OAAS,KAAM,OACnB,GAAI,WAAW,QAAU,OAAW,CAAE,gBAAe,EAAI,MAAQ,CACjE,OAAO,WAAW,MAAM,cAAc,IAAI,CAAC,CAC7C,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,GAAI,YAAa,MAAM,CACrB,WAAY,IAAM,aAAa,OAAO,WAAY,IAAM,aAAa,OAAO,MAC5E,YAAY,QAAS,IAAM,YAAY,aAAa,OAAO,WAAY,IAAM,YAAY,aAAa,OAAO,OAC5G,IAAK,CACN,MAAM,OAAS,YAAY,QAAQ,MACnC,GAAI,QAAU,aAAa,OAAO,QAAU,UAAY,YAAY,aAAa,OAAO,QAAU,SAAU,CAC1G,OAAO,WAAW,MAAO,gBAAgB,MAAM,CAAC,CAClD,CACF,EAAG,CAAE,MAAO,MAAM,CAAE,EACpB,MAAM,gBAAmB,OAAuB,CAC9C,GAAI,OAAO,OAAS,OAAO,mBAAqB,MAAQ,WAAW,QAAU,QAAa,MAAM,UAAY,UAAU,MAAO,OAC7H,YAAY,MAAQ,iBAAiB,KAAK,EAC1C,GAAI,CAAC,WAAY,UAAU,MAAQ,KACnC,KAAK,cAAe,IAAI,CAC1B,EACA,MAAM,kBAAqB,OAAuB,CAChD,GAAI,OAAO,mBAAqB,MAAQ,WAAW,QAAU,QAAa,CAAC,UAAU,MAAO,OAC5F,YAAY,MAAQ,iBAAiB,KAAK,EAC1C,GAAI,CAAC,WAAY,UAAU,MAAQ,MACnC,KAAK,cAAe,KAAK,CAC3B,EACA,MAAM,CACJ,IAAM,MAAM,KAAM,IAAM,MAAM,MAAO,IAAM,MAAM,MAAO,IAAM,MAAM,aAAc,IAAM,MAAM,UAAW,IAAM,MAAM,YACrH,IAAM,MAAM,aAAc,IAAM,MAAM,UAAW,IAAM,MAAM,0BAA2B,IAAM,MAAM,SAAU,IAAM,MAAM,oBACzH,CAAC,QAAS,iBAAkB,CAC7B,kBAAiB,EAEjB,GAAI,OAAO,OAAS,mBAAkB,IAAO,UAAW,CACtD,UAAU,MAAQ,UAClB,gBAAe,CACjB,CACA,MAAM,QAAU,WAAW,MAC3B,GAAI,QAAS,OAAO,QAAQ,aAAa,MAAM,QAAQ,CAAC,EAExD,GAAI,SAAW,OAAO,OAAS,UAAW,OAAO,QAAQ,aAAa,CACpE,MAAO,MAAM,MAAO,UAAW,MAAM,UAAW,aAAc,MAAM,aAAc,UAAW,MAAM,UACnG,MAAO,MAAM,MAAO,WAAY,MAAM,QAAU,OAAY,QAAU,OAAW,YAAa,YAAY,MAC1G,aAAc,MAAM,aAAc,0BAA2B,MAAM,0BACnE,mBAAoB,mBAAkB,GAAM,KAC7C,CAAC,EACF,MAAM,KAAO,MAAM,KACnB,GAAI,CAAC,YAAc,OAAS,QAAa,OAAO,GAAG,KAAM,eAAe,CAAC,CAAC,EAAG,OAC7E,GAAI,MAAQ,CAAC,yBAAwB,EAAI,QAAO,EAChD,GAAI,UAAY,OAAW,CACzB,UAAU,MAAQ,KAClB,YAAY,aAAa,IAAI,EAC7B,MACF,CACA,MAAM,OAAS,QAAQ,oBAAoB,IAAI,EAC/C,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,GAAG,OAAO,KAAK,mDAAmD,EACtG,UAAU,MAAQ,KAClB,YAAY,aAAa,IAAI,CAC/B,CAAC,EACD,MAAM,CACJ,IAAM,MAAM,eAAgB,IAAM,MAAM,eAAgB,IAAM,MAAM,uBACpE,IAAM,OAAO,cAAgB,KAAO,MAAM,KAAO,QAChD,IAAK,CACN,MAAM,QAAU,WAAW,MAC3B,GAAI,SAAS,YAAa,OAAO,QAAQ,YAAY,CAAE,KAAM,MAAM,KAAM,eAAgB,MAAM,eAC7F,eAAgB,MAAM,eAAgB,uBAAwB,MAAM,sBAAsB,CAAE,CAAC,CACjG,CAAC,EACD,MAAM,CACJ,IAAM,MAAM,OACZ,IAAM,MAAM,KAAM,IAAM,MAAM,SAAU,IAAM,MAAM,MAAO,IAAM,MAAM,WACvE,IAAM,MAAM,iBAAkB,IAAM,MAAM,kBAAmB,IAAM,MAAM,gBACzE,IAAM,MAAM,aAAc,IAAM,MAAM,iBAAkB,IAAM,MAAM,SAAU,IAAM,MAAM,UACzF,aAAc,CAAE,MAAO,MAAM,CAAE,EAClC,MAAM,CAAC,IAAM,MAAM,cAAe,IAAM,MAAM,sBAAsB,EAAG,IAAK,CAC1E,MAAM,QAAU,WAAW,MAC3B,GAAI,QAAS,OAAO,QAAQ,cAAc,CAAE,cAAe,MAAM,cAAe,uBAAwB,MAAM,sBAAsB,CAAE,CAAC,CACzI,CAAC,EACD,MAAM,UAAY,MAAQ,CACxB,GAAI,KAAM,qBAAuB,MACjC,GAAI,CAAC,MAAQ,CAAC,OAAO,MAAO,qBAAuB,KACnD,GAAI,CAAC,MAAQ,wBAAyB,gBAAe,CACvD,CAAC,EACD,GAAI,OAAO,mBAAoB,MAAM,CACnC,mBAAoB,IAAM,MAAM,cAAe,IAAM,MAAM,KAAM,IAAM,MAAM,YAC7E,UAAW,IAAM,aAAa,OAAO,OACpC,IAAK,CACN,kBAAiB,EACjB,MAAM,UAAY,mBAAkB,EACpC,GAAI,YAAc,UAAU,MAAO,OAEnC,GAAI,YAAc,WAAa,UAAU,OAAS,aAAa,OAAO,QAAU,UAAY,aAAa,OAAO,QAAU,WAAY,OACtI,GAAI,YAAc,SAAU,WAAU,EACtC,UAAU,MAAQ,UAClB,GAAI,YAAc,UAAW,CAG3B,GAAI,YAAc,MAAM,OAAS,OAAW,UAAU,MAAQ,MAAM,KACpE,gBAAe,CACjB,CACF,CAAC,EACD,gBAAgB,IAAK,CACnB,UAAY,KACZ,GAAI,CAAE,WAAU,CAAI,SACV,YAAY,OAAM,CAAI,CAClC,CAAC,EACD,QAAsB,WAAY,CAChC,OAAQ,KAAM,OAAQ,aAAc,YAAa,SAAU,MAAO,cAAe,MAAO,YAAa,UAAW,QAAS,cAAe,KAAM,SAAU,SACxJ,iBAAkB,gBAAiB,gBAAiB,kBACpD,MAAQ,OAAS,CAAG,WAAW,OAAO,YAAY,QAAS,iBAAiB,KAAK,EAAG,cAAc,CAAG,EACrG,QAAS,IAAK,CAAG,WAAW,OAAO,QAAO,CAAI,EAC/C,EACD,MAAO,IAAkB,EAAE,SAAuB,KAAM,MAAM,SAAS,IAAI,CAAE,KAAM,KAAK,MAAO,SAAU,MAAM,SAAU,YAAa,YAAY,MAAO,aAAc,aAAa,MAAO,GAAI,OAAO,mBAAqB,CAAE,UAAW,UAAU,KAAK,EAAK,CAAA,CAAG,CAAE,GAAK,CAAA,CAAE,CAC1Q,EACD,EAED,MAAM,QAAU,gBAAgB,CAC9B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,UAAW,aAAc,MAAO,MAAO,YAC3E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,SAAS,EAC9B,MAAO,IAAiB,CACtB,MAAM,WAAc,SAA0B,CAAG,KAAK,gBAAgB,UAAW,mBAAmB,YAAc,QAAU,MAAS,CAAG,EACxI,MAAM,WAAa,WAAW,MAAO,CACnC,GAAI,OAAO,cAAgB,QACvB,CAAE,QAAS,KAAK,eAAe,EAC/B,CAAE,QAAS,KAAK,gBAAiB,OAAQ,KAAK,kBAAmB,aAAc,KAAK,gBAAiB,aAAc,KAAK,iBAAiB,EAC7I,GAAI,OAAO,OAAS,WAAa,MAAM,QAAU,CAAA,EAAK,CAAE,KAAM,MAAM,KAAO,SAAW,SAAW,MAAS,EAC1G,GAAI,OAAO,OAAS,WAAa,MAAM,SAAW,CAAC,KAAK,SAAS,MAAQ,CAAA,EAAK,CAAE,SAAU,KAAK,SAAS,KAAK,EAC7G,GAAI,OAAO,OAAS,UAAY,CAAA,EAAK,CACnC,gBAAiB,KAAK,OAAO,MAAQ,OAAY,SACjD,gBAAiB,OAAO,cAAgB,QAAU,OAAO,KAAK,KAAK,KAAK,EAAI,OAC5E,gBAAiB,KAAK,WAExB,aAAc,OAAO,MAAO,YAAa,UAAW,aAAc,KAAK,KAAK,MAAQ,OAAS,SAC9F,EACD,GAAI,CAAC,OAAO,gBAAiB,OAAO,EAAE,UAAW,CAAE,GAAG,WAAY,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,UAAU,EAAI,KAAK,EAE3H,OAAO,EAAE,UAAW,CAAE,QAAS,KAAM,UAAU,EAAI,CAAE,QAAS,IAAM,gBAAgB,MAAO,WAAY,MAAO,UAAY,CACxH,GAAG,QAAS,mBAAoB,OAAO,gBAAiB,OAAO,QAAQ,kBAAkB,IAAM,SAAW,QAAQ,kBAAkB,EAAI,OACtI,KAAK,UAAW,KAAK,KAAK,OAAS,CAAC,KAAK,cAAc,KAAK,GAC9D,CAAC,CAAE,CACP,CACF,EACD,EAED,MAAM,QAAU,gBAAgB,CAC9B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,UAAW,aAAc,MAAO,MAAO,eAC3E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,SAAS,EAC9B,MAAM,UAAY,iBAAgB,EAClC,MAAM,QAAU,WAAU,EAC1B,MAAM,eAAiB,WAAW,CAAC,EACnC,uBAAuB,CAAE,QAAS,aAAc,KAAK,aAAc,KAAM,KAAK,KAAM,OAAQ,KAAK,OAAQ,OAAQ,KAAK,MAAM,CAAE,EAC9H,MAAM,QAAU,SAAS,IAAM,KAAK,KAAK,OAAS,KAAK,OAAO,KAAK,EACnE,MAAM,QAAU,YAAY,QAAS,QAAS,IAAK,CAAG,eAAe,OAAS,CAAG,EAAG,KAAK,MAAM,EAC/F,gBAAgB,KAAK,iBAAiB,UAAW,OAAO,CAAC,EACzD,MAAM,mBAAqB,SAA0B,CAAG,MAAM,SAAQ,EAAI,KAAK,QAAO,CAAI,EAC1F,MAAM,QAAS,mBAAoB,CAAE,MAAO,MAAM,CAAE,EACpD,MAAM,eAAgB,mBAAoB,CAAE,MAAO,MAAM,CAAE,EAC3D,MAAO,IAAiB,CACtB,GAAI,KAAK,cAAc,OAAS,CAAC,QAAQ,MAAO,OAAO,KACvD,MAAM,QAAU,CAAC,KAAK,OAAO,OAAS,CAAC,KAAK,KAAK,OAAS,QAAQ,MAClE,OAAO,EAAE,UAAW,WAAW,MAAO,CACpC,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,WAAsB,CACjC,MAAM,KAAO,qBAAqB,YAAc,UAAY,OAC5D,QAAQ,MAAQ,KAChB,KAAK,gBAAgB,UAAW,IAAI,CACtC,EACA,GAAI,KAAK,UAAW,KAAM,KAAK,OAAO,MAAQ,OAAY,OAAO,KAAM,OAAQ,CAAC,KAAK,OAAO,OAAS,CAAC,QAAQ,MAAO,IAAK,UAAU,MACpI,GAAI,SAAW,CAAC,KAAK,OAAO,MAAQ,CAAE,MAAO,KAAM,cAAe,MAAM,EAAK,CAAA,EAC7E,MAAO,OAAO,aAAe,MAAQ,KAAK,SAAS,MAC/C,CAAE,SAAU,KAAK,SAAS,MAAO,WAAY,QAAQ,QAAU,OAAY,SAAW,MAAS,EAC/F,OACJ,aAAc,KAAK,OAAO,OAAS,OAAO,OAAS,UAAY,OAAY,OAAO,KAAK,MAAM,KAAK,EAClG,GAAI,OAAO,OAAS,UAAY,CAAA,EAAK,CACnC,aAAc,KAAK,OAAO,MAAQ,OAAY,KAAK,MAAM,MAAO,kBAAmB,KAAK,OAAO,OAAS,KAAK,MAAM,QAAU,OAAY,OAAY,KAAK,QAC1J,mBAAoB,KAAK,OAAO,MAAQ,OAAY,KAAK,YAAY,OAEvE,oBAAqB,OAAO,mBAAqB,KAAK,OAAO,MAAQ,SAAW,UAAY,OAC5F,aAAc,OAAO,MAAO,YAAa,UAAW,aAAc,KAAK,KAAK,MAAQ,OAAS,SAC7F,oBAAqB,KAAK,YAAY,MACtC,YAAa,OAAO,cAAgB,KAAO,KAAK,KAAK,MAAQ,OAC7D,uBAAwB,OAAO,cAAgB,KAAO,eAAe,KAAK,KAAK,KAAK,EAAI,OACzF,EAAG,KAAK,CACX,CACF,EACD,EAED,MAAM,OAAS,gBAAgB,CAC7B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,SAAU,aAAc,MAAO,MAAO,eAC1E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,QAAQ,EAC7B,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,SAAoB,CAAG,KAAK,gBAAgB,SAAU,mBAAmB,YAAc,QAAU,MAAS,CAAG,EAC1H,aAAc,OAAO,MAAO,YAAa,SAC1C,EAAG,KAAK,CACX,EACD,EAED,MAAM,MAAQ,gBAAgB,CAC5B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,QAAS,aAAc,MAAO,MAAO,eACzE,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,OAAO,EAC5B,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,SAAoB,CAAG,KAAK,gBAAgB,QAAS,mBAAmB,YAAc,QAAU,MAAS,CAAG,EACzH,cAAe,OAAQ,aAAc,OAAO,MAAO,YAAa,QACjE,EAAG,KAAK,CACX,EACD,EAED,MAAM,QAAU,gBAAgB,CAC9B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,UAAW,aAAc,MAAO,MAAO,eAC3E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,SAAS,EAC9B,MAAM,QAAU,WAAU,EAC1B,MAAM,QAAU,YAAY,KAAK,KAAM,QAAS,OAAW,KAAK,MAAM,EACtE,gBAAgB,KAAK,iBAAiB,UAAW,OAAO,CAAC,EACzD,MAAO,IAAiB,CACtB,GAAI,KAAK,cAAc,OAAS,CAAC,QAAQ,MAAO,OAAO,KACvD,MAAM,QAAU,CAAC,KAAK,KAAK,OAAS,QAAQ,MAC5C,OAAO,EAAE,UAAW,WAAW,MAAO,CACpC,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,WAAa,WAAsB,CAAG,MAAM,KAAO,qBAAqB,YAAc,UAAY,OAAW,QAAQ,MAAQ,KAAM,KAAK,gBAAgB,UAAW,IAAI,CAAG,EAAG,OAAQ,CAAC,KAAK,OAAO,OAAS,CAAC,QAAQ,MAAO,cAAe,OAChR,GAAI,SAAW,CAAC,KAAK,OAAO,MAAQ,CAAE,MAAO,IAAI,EAAK,CAAA,EACtD,aAAc,OAAO,MAAO,YAAa,UAAW,aAAc,KAAK,KAAK,MAAQ,OAAS,SAC7F,oBAAqB,KAAK,YAAY,MACtC,YAAa,OAAO,cAAgB,KAAO,KAAK,KAAK,MAAQ,OAC7D,uBAAwB,OAAO,cAAgB,KAAO,eAAe,KAAK,KAAK,KAAK,EAAI,OACzF,EAAG,KAAK,CACX,CACF,EACD,EAED,MAAM,OAAS,gBAAgB,CAC7B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,SAAU,aAAc,MAAO,MAAO,eAC1E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,QAAQ,EAC7B,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,WAAsB,CAAG,KAAK,gBAAgB,SAAU,qBAAqB,YAAc,UAAY,MAAS,CAAG,EAChI,cAAe,OAAQ,aAAc,OAAO,MAAO,YAAa,SAChE,aAAc,KAAK,KAAK,MAAQ,OAAS,SACzC,YAAa,OAAO,cAAgB,KAAO,KAAK,KAAK,MAAQ,OAC7D,uBAAwB,OAAO,cAAgB,KAAO,eAAe,KAAK,KAAK,KAAK,EAAI,OACzF,EAAG,KAAK,CACX,EACD,EAED,MAAM,MAAQ,gBAAgB,QAAS,QAAU,MAAS,KAAK,OAAO,EACtE,MAAM,YAAc,gBAAgB,cAAe,cAAgB,MAAS,KAAK,aAAa,EAC9F,MAAM,MAAQ,gBAAgB,CAC5B,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,QAAS,aAAc,MAAO,MAAO,YACzE,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,OAAO,EAC5B,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,KAAM,MAAM,KAAO,SAAW,SAAW,OAC/E,aAAc,OAAO,MAAO,YAAa,QAAS,QAAS,KAAK,MACjE,EAAG,KAAK,CACX,EACD,EACD,MAAM,OAAS,WAEf,SAAS,gBAAgB,KAAc,KAAc,GAAkC,CACrF,OAAO,gBAAgB,CACrB,KAAM,UAAU,OAAO,OAAO,KAAK,CAAC,GAAG,IAAI,GAAI,aAAc,MAAO,MAAO,eAC3E,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,QAAQ,IAAI,EACzB,MAAO,IAAkB,EAAE,UAAW,WAAW,MAAO,CACtD,GAAI,MAAM,GAAI,QAAS,MAAM,QAAS,GAAI,GAAG,IAAI,EAAG,aAAc,OAAO,MAAO,YAAa,KAC9F,EAAG,KAAK,CACX,EACD,CACH,CAEA,OAAO,OAAO,OAAO,CAAE,KAAM,QAAS,OAAQ,OAAQ,QAAS,QAAS,OAAQ,MAAO,YAAa,MAAO,KAAK,CAAE,CACpH,CAIA,SAAS,OAAO,MAAa,CAC3B,OAAO,MAAM,MAAM,GAAG,EAAE,IAAK,MAAS,KAAK,CAAC,GAAG,YAAW,EAAK,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CACvF,CAEA,SAAS,iBAAiB,MAAa,CACrC,GAAI,QAAU,OAAW,MAAO,eAChC,OAAO,MAAM,OAAS,cAAgB,MAAM,OAAS,cAChD,MAAM,OAAS,SAAY,MAAqB,SAAW,EAAI,UAAY,UAClF,CAEA,SAAS,eAAe,KAAyC,CAC/D,OAAO,OAAS,MAAQ,KAAO,OAAS,SAAW,OAAS,IAC9D","names":[],"file":"popup.js"}
|
|
@@ -1,11 +1,45 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
1
|
+
import { type PopupCloseReason, type InteractOutsideEvent } from '@sectile/dom/tooltip';
|
|
2
|
+
import type { DefineSetupFnComponent, EmitsToProps, PublicProps, SlotsType, VNodeChild } from 'vue';
|
|
3
|
+
import { type PopupFactoryOptions, type PopupPartProps, type PopupPortalProps, type PopupRootProps, type PopupRootSlotProps, type PopupRootExpose } from './popup.js';
|
|
4
|
+
export type TooltipRootEmits = {
|
|
5
|
+
'update:open': [open: boolean];
|
|
6
|
+
afterClose: [];
|
|
7
|
+
closeRequest: [reason: PopupCloseReason];
|
|
8
|
+
interactOutside: [event: InteractOutsideEvent];
|
|
9
|
+
};
|
|
10
|
+
type TooltipEmits = TooltipRootEmits;
|
|
11
|
+
type Props = TooltipRootProps & PublicProps & EmitsToProps<TooltipEmits>;
|
|
12
|
+
type Instance = InstanceType<DefineSetupFnComponent<TooltipRootProps, TooltipEmits, SlotsType<{
|
|
13
|
+
default: (state: TooltipRootSlotProps) => VNodeChild;
|
|
14
|
+
}>>>;
|
|
15
|
+
export declare const TooltipRoot: new (props: Props) => Omit<Instance, '$props'> & {
|
|
16
|
+
readonly $props: Props;
|
|
17
|
+
} & TooltipRootExpose;
|
|
3
18
|
export type TooltipOpenChangeHandler = PopupFactoryOptions['onOpenChange'];
|
|
4
19
|
export declare const TooltipTrigger: import("vue").Component;
|
|
5
20
|
export declare const TooltipPortal: import("vue").Component;
|
|
6
21
|
export declare const TooltipContent: import("vue").Component;
|
|
7
22
|
export declare const TooltipArrow: import("vue").Component;
|
|
8
|
-
export
|
|
23
|
+
export interface TooltipRootProps {
|
|
24
|
+
readonly open?: PopupRootProps['open'];
|
|
25
|
+
readonly defaultOpen?: PopupRootProps['defaultOpen'];
|
|
26
|
+
readonly disabled?: PopupRootProps['disabled'];
|
|
27
|
+
readonly closeOnEscape?: PopupRootProps['closeOnEscape'];
|
|
28
|
+
readonly position?: PopupRootProps['position'];
|
|
29
|
+
readonly side?: PopupRootProps['side'];
|
|
30
|
+
readonly align?: PopupRootProps['align'];
|
|
31
|
+
readonly sideOffset?: PopupRootProps['sideOffset'];
|
|
32
|
+
readonly collisionPadding?: PopupRootProps['collisionPadding'];
|
|
33
|
+
readonly collisionBoundary?: PopupRootProps['collisionBoundary'];
|
|
34
|
+
readonly avoidCollisions?: PopupRootProps['avoidCollisions'];
|
|
35
|
+
readonly arrowPadding?: PopupRootProps['arrowPadding'];
|
|
36
|
+
readonly hideWhenDetached?: PopupRootProps['hideWhenDetached'];
|
|
37
|
+
readonly strategy?: PopupRootProps['strategy'];
|
|
38
|
+
readonly tracking?: PopupRootProps['tracking'];
|
|
39
|
+
readonly unmountOnExit?: PopupRootProps['unmountOnExit'];
|
|
40
|
+
}
|
|
9
41
|
export type TooltipRootSlotProps = PopupRootSlotProps;
|
|
42
|
+
export type TooltipRootExpose = PopupRootExpose;
|
|
10
43
|
export type TooltipPartProps = PopupPartProps;
|
|
11
44
|
export type TooltipPortalProps = PopupPortalProps;
|
|
45
|
+
export {};
|
package/dist/overlay/tooltip.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createTooltip}from"@sectile/dom/tooltip";import{createPopupComponents}from"./popup.js";const parts=createPopupComponents({scope:"tooltip",role:"tooltip",modal:false,triggerMode:"focus-hover",positioned:true,create:options=>{const{modal:_modal,label:_label,labelledBy:_labelledBy,describedBy:_describedBy,autoFocus:_autoFocus,restoreFocus:_restoreFocus,trapFocus:_trapFocus,...tooltipOptions}=options;return createTooltip({...tooltipOptions,id:options.root.id})}});const TooltipRoot=parts.Root;const TooltipTrigger=parts.Trigger;const TooltipPortal=parts.Portal;const TooltipContent=parts.Content;const TooltipArrow=parts.Arrow;export{TooltipArrow,TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger};
|
|
1
|
+
import{createTooltip,getTooltipTriggerAttributes}from"@sectile/dom/tooltip";import{createPopupComponents}from"./popup.js";const parts=createPopupComponents({scope:"tooltip",role:"tooltip",modal:false,triggerMode:"focus-hover",positioned:true,describeTrigger:(describedBy,id,active)=>getTooltipTriggerAttributes({describedBy,id,active})["aria-describedby"],create:options=>{const{modal:_modal,label:_label,labelledBy:_labelledBy,describedBy:_describedBy,autoFocus:_autoFocus,restoreFocus:_restoreFocus,trapFocus:_trapFocus,...tooltipOptions}=options;return createTooltip({...tooltipOptions,id:options.root.id})}});const TooltipRoot=parts.Root;const TooltipTrigger=parts.Trigger;const TooltipPortal=parts.Portal;const TooltipContent=parts.Content;const TooltipArrow=parts.Arrow;export{TooltipArrow,TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger};
|
|
2
2
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/tooltip.ts"],"mappings":"AAAA,OAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/overlay/tooltip.ts"],"mappings":"AAAA,OAAS,cAAe,gCAAkI,uBAE1J,OACE,0BAOK,aAEP,MAAM,MAAQ,sBAAsB,CAClC,MAAO,UAAW,KAAM,UAAW,MAAO,MAAO,YAAa,cAAe,WAAY,KACzF,gBAAiB,CAAC,YAAa,GAAI,SAAW,4BAA4B,CAAE,YAAa,GAAI,MAAM,CAAE,EAAE,kBAAkB,EACzH,OAAS,SAAmD,CAC1D,KAAM,CACJ,MAAO,OACP,MAAO,OACP,WAAY,YACZ,YAAa,aACb,UAAW,WACX,aAAc,cACd,UAAW,WACX,GAAG,cAAc,EACf,QACJ,OAAO,cAAc,CAAE,GAAG,eAAgB,GAAI,QAAQ,KAAK,EAAE,CAAoB,CACnF,EACD,EAMM,MAAM,YAA+G,MAAM,KAE3H,MAAM,eAAiB,MAAM,QAC7B,MAAM,cAAgB,MAAM,OAC5B,MAAM,eAAiB,MAAM,QAC7B,MAAM,aAAe,MAAM","names":[],"file":"tooltip.js"}
|
package/dist/pagination.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createPagination,getPaginationView}from"@sectile/dom/pagination";import{Primitive}from"./primitive.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const key=Symbol("SectilePaginationRoot");const PaginationRoot=defineComponent({name:"SectilePaginationRoot",inheritAttrs:false,props:{total:{type:Number,required:true},modelValue:{type:Number,default:void 0},defaultValue:{type:Number,default:1},itemsPerPage:{type:Number,default:void 0},defaultItemsPerPage:{type:Number,default:10},siblingCount:{type:Number,default:1},showEdges:{type:Boolean,default:true},showControls:{type:Boolean,default:true},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"Pagination"},getPageLabel:{type:Function,default:void 0},getControlLabel:{type:Function,default:void 0},as:{type:[String,Object,Function],default:"nav"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:itemsPerPage":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const element=shallowRef();const connection=shallowRef();const localPage=shallowRef(props.modelValue??props.defaultValue);const localItemsPerPage=shallowRef(props.itemsPerPage??props.defaultItemsPerPage);const pageControlled=useControlledStateInvariant("PaginationRoot","modelValue",()=>props.modelValue);const sizeControlled=useControlledStateInvariant("PaginationRoot","itemsPerPage",()=>props.itemsPerPage);const controlled=pageControlled||sizeControlled;if(controlled&&(props.modelValue===void 0||props.itemsPerPage===void 0)){throw new TypeError("Controlled pagination requires both modelValue and itemsPerPage.")}const effectiveItemsPerPage=computed(()=>props.itemsPerPage??localItemsPerPage.value);const effectivePage=computed(()=>reconcilePage(props.modelValue??localPage.value,props.total,effectiveItemsPerPage.value));const view=computed(()=>{const result=getPaginationView({total:props.total,page:effectivePage.value,itemsPerPage:effectiveItemsPerPage.value,siblingCount:props.siblingCount,showEdges:props.showEdges,showControls:props.showControls});if(!result.ok)throw new TypeError(result.error.message);return result.value});const state=computed(()=>Object.freeze({page:effectivePage.value,itemsPerPage:effectiveItemsPerPage.value,pageCount:view.value.pageCount,range:view.value.range,items:view.value.items}));const connect=()=>{connection.value?.disconnect();if(element.value===void 0)return;const requestedPage=props.modelValue??localPage.value;const itemsPerPage=effectiveItemsPerPage.value;const page=reconcilePage(requestedPage,props.total,itemsPerPage);localPage.value=page;localItemsPerPage.value=itemsPerPage;if(pageControlled&&requestedPage!==page)emit("update:modelValue",page);connection.value=createPagination({root:element.value,total:props.total,...controlled?{page,itemsPerPage}:{defaultPage:page,defaultItemsPerPage:itemsPerPage},siblingCount:props.siblingCount,showEdges:props.showEdges,showControls:props.showControls,disabled:props.disabled,readOnly:props.readonly,label:props.label,...props.getPageLabel===void 0?{}:{getPageLabel:props.getPageLabel},...props.getControlLabel===void 0?{}:{getControlLabel:props.getControlLabel},onPageChange:page2=>{localPage.value=page2;emit("update:modelValue",page2)},onItemsPerPageChange:value=>{localItemsPerPage.value=value;emit("update:itemsPerPage",value)},onUpdate:()=>refreshItems()});refreshItems()};const refreshItems=()=>{if(element.value===void 0||connection.value===void 0)return;const rendered=element.value.querySelectorAll("[data-sectile-pagination-index]");const items=connection.value.getItems();rendered.forEach(node=>{const index=Number(node.dataset["sectilePaginationIndex"]);const item=items[index];if(item!==void 0)connection.value?.setItemAttributes(node,item)})};const register=(node,item)=>connection.value?.setItemAttributes(node,item);provide(key,{state,disabled:computed(()=>props.disabled),readonly:computed(()=>props.readonly),register});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.total,()=>props.siblingCount,()=>props.showEdges,()=>props.showControls,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.getPageLabel,()=>props.getControlLabel],connect);watch([()=>props.modelValue,()=>props.itemsPerPage],()=>{if(!controlled||connection.value===void 0)return;const result=connection.value.syncControlledValues({page:props.modelValue,itemsPerPage:props.itemsPerPage});if(!result.ok)throw new TypeError(result.error.message);refreshItems()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{element.value=node instanceof HTMLElement?node:void 0},role:"navigation","aria-label":props.label,"data-scope":"pagination","data-part":"root","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});function reconcilePage(page,total,itemsPerPage){if(!Number.isSafeInteger(page)||!Number.isSafeInteger(total)||total<0||!Number.isSafeInteger(itemsPerPage)||itemsPerPage<1)return page;const pageCount=Math.max(1,Math.ceil(total/itemsPerPage));return Math.min(pageCount,Math.max(1,page))}const PaginationItem=defineComponent({name:"SectilePaginationItem",inheritAttrs:false,props:{item:{type:Object,required:true},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("PaginationItem");const selected=computed(()=>props.item.type==="page"&&props.item.page===root.state.value.page);const disabled=computed(()=>root.disabled.value||props.item.type==="control"&&props.item.disabled);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.register(node,
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createPagination,getPaginationView}from"@sectile/dom/pagination";import{Primitive}from"./primitive.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const key=Symbol("SectilePaginationRoot");const PaginationRoot=defineComponent({name:"SectilePaginationRoot",inheritAttrs:false,props:{total:{type:Number,required:true},modelValue:{type:Number,default:void 0},defaultValue:{type:Number,default:1},itemsPerPage:{type:Number,default:void 0},defaultItemsPerPage:{type:Number,default:10},siblingCount:{type:Number,default:1},showEdges:{type:Boolean,default:true},showControls:{type:Boolean,default:true},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"Pagination"},getPageLabel:{type:Function,default:void 0},getControlLabel:{type:Function,default:void 0},as:{type:[String,Object,Function],default:"nav"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:itemsPerPage":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const element=shallowRef();const connection=shallowRef();const localPage=shallowRef(props.modelValue??props.defaultValue);const localItemsPerPage=shallowRef(props.itemsPerPage??props.defaultItemsPerPage);const pageControlled=useControlledStateInvariant("PaginationRoot","modelValue",()=>props.modelValue);const sizeControlled=useControlledStateInvariant("PaginationRoot","itemsPerPage",()=>props.itemsPerPage);const controlled=pageControlled||sizeControlled;if(controlled&&(props.modelValue===void 0||props.itemsPerPage===void 0)){throw new TypeError("Controlled pagination requires both modelValue and itemsPerPage.")}const effectiveItemsPerPage=computed(()=>props.itemsPerPage??localItemsPerPage.value);const effectivePage=computed(()=>reconcilePage(props.modelValue??localPage.value,props.total,effectiveItemsPerPage.value));const view=computed(()=>{const result=getPaginationView({total:props.total,page:effectivePage.value,itemsPerPage:effectiveItemsPerPage.value,siblingCount:props.siblingCount,showEdges:props.showEdges,showControls:props.showControls});if(!result.ok)throw new TypeError(result.error.message);return result.value});const state=computed(()=>Object.freeze({page:effectivePage.value,itemsPerPage:effectiveItemsPerPage.value,pageCount:view.value.pageCount,range:view.value.range,items:view.value.items}));const connect=()=>{connection.value?.disconnect();if(element.value===void 0)return;const requestedPage=props.modelValue??localPage.value;const itemsPerPage=effectiveItemsPerPage.value;const page=reconcilePage(requestedPage,props.total,itemsPerPage);localPage.value=page;localItemsPerPage.value=itemsPerPage;if(pageControlled&&requestedPage!==page)emit("update:modelValue",page);connection.value=createPagination({root:element.value,total:props.total,...controlled?{page,itemsPerPage}:{defaultPage:page,defaultItemsPerPage:itemsPerPage},siblingCount:props.siblingCount,showEdges:props.showEdges,showControls:props.showControls,disabled:props.disabled,readOnly:props.readonly,label:props.label,...props.getPageLabel===void 0?{}:{getPageLabel:props.getPageLabel},...props.getControlLabel===void 0?{}:{getControlLabel:props.getControlLabel},onPageChange:page2=>{localPage.value=page2;emit("update:modelValue",page2)},onItemsPerPageChange:value=>{localItemsPerPage.value=value;emit("update:itemsPerPage",value)},onUpdate:()=>refreshItems()});refreshItems()};const refreshItems=()=>{if(element.value===void 0||connection.value===void 0)return;const rendered=element.value.querySelectorAll("[data-sectile-pagination-index]");const items=connection.value.getItems();rendered.forEach(node=>{const index=Number(node.dataset["sectilePaginationIndex"]);const item=items[index];if(item!==void 0)connection.value?.setItemAttributes(node,item)})};const register=(node,item)=>connection.value?.setItemAttributes(node,item);provide(key,{state,disabled:computed(()=>props.disabled),readonly:computed(()=>props.readonly),register});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.total,()=>props.siblingCount,()=>props.showEdges,()=>props.showControls,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.getPageLabel,()=>props.getControlLabel],connect);watch([()=>props.modelValue,()=>props.itemsPerPage],()=>{if(!controlled||connection.value===void 0)return;const result=connection.value.syncControlledValues({page:props.modelValue,itemsPerPage:props.itemsPerPage});if(!result.ok)throw new TypeError(result.error.message);refreshItems()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{element.value=node instanceof HTMLElement?node:void 0},role:"navigation","aria-label":props.label,"data-scope":"pagination","data-part":"root","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});function reconcilePage(page,total,itemsPerPage){if(!Number.isSafeInteger(page)||!Number.isSafeInteger(total)||total<0||!Number.isSafeInteger(itemsPerPage)||itemsPerPage<1)return page;const pageCount=Math.max(1,Math.ceil(total/itemsPerPage));return Math.min(pageCount,Math.max(1,page))}const PaginationItem=defineComponent({name:"SectilePaginationItem",inheritAttrs:false,props:{item:{type:Object,required:true},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("PaginationItem");const selected=computed(()=>props.item.type==="page"&&props.item.page===root.state.value.page);const disabled=computed(()=>root.disabled.value||props.item.type==="control"&&props.item.disabled);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(!(node instanceof HTMLElement))return;const item=props.item;root.register(node,item.type==="page"&&item.selected!==selected.value?{...item,selected:selected.value}:item)},type:props.as==="button"?"button":void 0,"data-sectile-pagination-index":root.state.value.items.indexOf(props.item),"data-scope":"pagination","data-part":props.item.type,"data-selected":selected.value?"":void 0,"aria-current":selected.value?"page":void 0}),{default:()=>slots["default"]?.({item:props.item,selected:selected.value,disabled:disabled.value})})}});function control(control2){return defineComponent({name:`SectilePagination${control2}`,inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(control2);const item=computed(()=>root.state.value.items.find(candidate=>candidate.type==="control"&&candidate.control===control2));return()=>item.value===void 0?null:h(PaginationItem,mergeProps(attrs,{as:props.as,asChild:props.asChild,item:item.value}),{default:slots["default"]})}})}const PaginationFirst=control("first-page");const PaginationPrevious=control("previous-page");const PaginationNext=control("next-page");const PaginationLast=control("last-page");function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside PaginationRoot.`);return root}export{PaginationFirst,PaginationItem,PaginationLast,PaginationNext,PaginationPrevious,PaginationRoot};
|
|
2
2
|
//# sourceMappingURL=pagination.js.map
|
package/dist/pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pagination.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/pagination.ts"],"mappings":"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","names":["page","control"],"file":"pagination.js"}
|
package/dist/pin-input.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createPinInput}from"@sectile/dom/pin-input";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenValueSubmissionCapabilities,useCompositeFormControl}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const key=Symbol("SectilePinInputRoot");const PinInputRoot=defineComponent({name:"SectilePinInputRoot",inheritAttrs:false,props:{length:{type:Number,default:6},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},mask:{type:Boolean,default:false},otp:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"PIN"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,complete:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){if(!Number.isInteger(props.length)||props.length<1)throw new TypeError("PinInput length must be a positive integer.");const root=shallowRef(null);const hiddenInput=shallowRef(null);const participation=useCompositeFormControl({root,focusTarget:()=>inputs.value.find(candidate=>candidate!==void 0)??null,submissions:[{element:hiddenInput,capabilities:hiddenValueSubmissionCapabilities}]});provideFormControlOwner();const inputs=shallowRef(Array.from({length:props.length}));const connection=shallowRef();const value=shallowRef(props.modelValue??props.defaultValue);const controlled=useControlledStateInvariant("PinInputRoot","modelValue",()=>props.modelValue);let proposedValue=null;let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const state=computed(()=>Object.freeze({value:props.modelValue??value.value,complete:
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,ssrContextKey,watch}from"vue";import{createPinInput}from"@sectile/dom/pin-input";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenValueSubmissionCapabilities,useCompositeFormControl,useFormSubmissionProps,useFormControlFlags}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const key=Symbol("SectilePinInputRoot");const PinInputRoot=defineComponent({__sectileFormLabelMode:"labelledby",name:"SectilePinInputRoot",inheritAttrs:false,props:{length:{type:Number,default:6},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:""},mask:{type:Boolean,default:false},otp:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:"PIN"},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,complete:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const flags=useFormControlFlags(props);if(!Number.isInteger(props.length)||props.length<1)throw new TypeError("PinInput length must be a positive integer.");const root=shallowRef(null);const hiddenInput=shallowRef(null);const initialValue=props.modelValue??props.defaultValue;let mounted=false;let connectScheduled=false;const submissionProps=useFormSubmissionProps({element:hiddenInput,capabilities:hiddenValueSubmissionCapabilities},props);const participation=useCompositeFormControl({root,focusTarget:()=>inputs.value.find(candidate=>candidate!==void 0)??null,submissions:[{element:hiddenInput,capabilities:hiddenValueSubmissionCapabilities}],reset:()=>{queueMicrotask(()=>{if(!mounted)return;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;inputComposing=false;proposedValue=null;connectScheduled=false;value.value=controlled?props.modelValue:initialValue;connect()})}});provideFormControlOwner();const inputs=shallowRef(Array.from({length:props.length}));const connection=shallowRef();const value=shallowRef(props.modelValue??props.defaultValue);const controlled=useControlledStateInvariant("PinInputRoot","modelValue",()=>props.modelValue);let proposedValue=null;let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const characters=computed(()=>Object.freeze(Array.from(props.modelValue??value.value)));const state=computed(()=>Object.freeze({value:props.modelValue??value.value,complete:characters.value.length===props.length,disabled:flags.value.disabled,readonly:flags.value.readonly}));const connect=()=>{connection.value?.disconnect();connection.value=void 0;const nodes=inputs.value.filter(input=>input!==void 0);if(!mounted||root.value===null||nodes.length!==props.length)return;connection.value=createPinInput({root:root.value,inputs:nodes,...props.policies===void 0?{}:{policies:props.policies},...controlled?{value:proposedValue??props.modelValue}:{defaultValue:value.value},disabled:flags.value.disabled,readOnly:flags.value.readonly,label:props.label,onValueChange:next=>{value.value=next;emit("update:modelValue",next);if(!controlled)return;proposedValue=next;const proposal=next;void nextTick(()=>{if(connection.value===void 0||proposedValue!==proposal)return;proposedValue=null;const result=connection.value.syncControlledValue(props.modelValue);if(!result.ok)throw new TypeError(result.error.message);refresh()})},onComplete:next=>emit("complete",next),onUpdate:refresh});refresh()};const requestConnect=()=>{if(!mounted)return;if(inputComposing||reconnectPending){reconnectPending=true;return}if(connectScheduled)return;connectScheduled=true;void nextTick(()=>{if(!mounted||!connectScheduled)return;connectScheduled=false;if(inputComposing){reconnectPending=true;return}connect()})};const setInputComposing=composing=>{inputComposing=composing;if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||inputComposing)return;reconnectPending=false;connect()},0)};const refresh=()=>{if(connection.value!==void 0)value.value=connection.value.getSnapshot().state.values.join("")};const register=(index,element)=>{if(inputs.value[index]===element)return;const next=[...inputs.value];next[index]=element;inputs.value=next;requestConnect()};provide(key,{state,length:computed(()=>props.length),mask:computed(()=>props.mask),otp:computed(()=>props.otp),characters,label:computed(()=>props.label),register,setInputComposing});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connectScheduled=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;proposedValue=null;connection.value?.disconnect();connection.value=void 0});watch([()=>props.length,()=>flags.value.disabled,()=>flags.value.readonly,()=>props.label,()=>props.policies],()=>{inputs.value=Array.from({length:props.length},(_,index)=>inputs.value[index]);requestConnect()});watch(()=>props.modelValue,next=>{if(!controlled||next===void 0||connection.value===void 0)return;proposedValue=null;const result=connection.value.syncControlledValue(next);if(!result.ok)throw new TypeError(result.error.message);value.value=next});const registerRoot=node=>{const next=node instanceof HTMLElement?node:null;if(root.value===next)return;root.value=next;requestConnect()};return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerRoot,role:"group","aria-label":props.label,"data-scope":"pin-input","data-part":"root","data-complete":state.value.complete?"":void 0},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0)return visual;return[visual,h("input",{ref:element=>{hiddenInput.value=element instanceof HTMLInputElement?element:null},type:"hidden",...submissionProps.value,value:state.value.value,style:visuallyHiddenInputStyle})]}}});const PinInputInput=defineComponent({name:"SectilePinInputInput",inheritAttrs:false,props:{index:{type:Number,required:true},as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("PinInputInput");const renderServerValue=inject(ssrContextKey,void 0)!==void 0;const slot=computed(()=>({...root.state.value,index:props.index,character:root.characters.value[props.index]??""}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register(props.index,node instanceof HTMLInputElement?node:void 0),type:root.mask.value?"password":"text",inputmode:"numeric",maxlength:1,autocomplete:root.otp.value&&props.index===0?"one-time-code":void 0,...renderServerValue?{value:root.characters.value[props.index]??""}:{},disabled:root.state.value.disabled,readonly:root.state.value.readonly,onCompositionstart:()=>root.setInputComposing(true),onCompositionend:()=>root.setInputComposing(false),"aria-label":typeof attrs["aria-label"]==="string"?attrs["aria-label"]:`${root.label.value} digit ${props.index+1} of ${root.length.value}`,"data-scope":"pin-input","data-part":"input","data-index":props.index}),slots["default"]===void 0?void 0:{default:()=>slots["default"]?.(slot.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside PinInputRoot.`);return root}export{PinInputInput,PinInputRoot};
|
|
2
2
|
//# sourceMappingURL=pin-input.js.map
|