@sectile/vue 0.19.0 → 0.20.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 CHANGED
@@ -57,3 +57,77 @@ Observation follows the `active` ref, inherited host activity and KeepAlive.
57
57
  Target/activity retirement reports an active gesture's disconnect; terminal
58
58
  scope disposal is silent. Media state, zoom policy and presentation remain with
59
59
  their owners.
60
+
61
+ `admitPointer` can explicitly admit an authored media button using the event
62
+ origin and `protectedOrigin`. Its default 4-client-pixel `dragThreshold` preserves
63
+ native focus and click activation until a drag is claimed. `onStart` runs at
64
+ that claim boundary; ordinary protected controls still decline unless the
65
+ predicate admits them. Pending observation follows the same participation and
66
+ component lifetime as active contacts.
67
+
68
+ Retained `DrawerRoot` content can move between `presentation="inline"` and
69
+ `"overlay"` with `:unmount-on-exit="false"`. When an action inside the inline
70
+ content opens the overlay, accepting a close together with a return to inline
71
+ restores that action after exit and rendering finish. A valid internal
72
+ `restoreFocusTarget` or compound `DrawerTrigger` takes precedence over the
73
+ original focused action. Unavailable targets are skipped, and a newer focus
74
+ owner outside the content is preserved. Closing without requesting inline does
75
+ not schedule a later focus transfer for an unrelated presentation change.
76
+
77
+ `SequenceReorderRoot` and `TreeReorderRoot` expose `interaction`,
78
+ `getPreviewState()`, `cancelInteraction()` and `refreshDropTarget()` in their
79
+ default slot. Accepted `items` or `nodes` stay unchanged during preview, so a
80
+ composition can render a lifted item or an insertion marker independently.
81
+ `getPreviewState()` returns a Result containing the full proposed Core state;
82
+ request it only when that complete order is needed. `interaction.clientPoint`
83
+ and `refreshDropTarget()` support application-owned auto-scroll without a second
84
+ pointer sensor. The `interaction-change` event reports start, preview,
85
+ commit/cancel and end; commit's `accepted` flag distinguishes an immediate canonical update
86
+ from a controlled proposal awaiting new props.
87
+
88
+ Set `keyboardMode="preview"` to lift with Space, preview with direction/Home/End
89
+ keys, commit with Enter or Space, and cancel with Escape. Alt+direction keys keep
90
+ their immediate behavior. Host suspension and unmount retire the native owner
91
+ and its preview; they leave no scrolling task running.
92
+
93
+ Changing `TextField.multiline` transfers the current text and native selection
94
+ to the replacement input/textarea. It restores focus only when the old editor
95
+ owned it. An active composition finishes on the original element before the
96
+ representation changes. A single-line request waits while the current text has
97
+ line breaks, then proceeds when editing removes them. Native undo history belongs
98
+ to each browser element and cannot be transferred to a different element.
99
+
100
+ A `NumberField` component ref exposes `getText()`, `commitValue(string | null)`,
101
+ `clear()` and `stepBy(decimalString)`. Edit methods return a Promise of
102
+ `NumberFieldEditResult`: accepted with the final value, or rejected with a reason.
103
+ They are deliberate edits, separate from model synchronization that preserves a
104
+ live draft. `stepBy('0.1')` evaluates the current valid draft and adds an exact
105
+ decimal amount; it does not require finite bounds or use JavaScript floating
106
+ point. Stepping an empty nullable field starts from zero. Invalid drafts, bounds,
107
+ required values, disabled/readonly state and active composition can reject an
108
+ edit. A controlled owner may refuse or transform it; settlement then restores
109
+ the owner's accepted value. Concurrent edits return `busy`; saved methods become
110
+ unavailable after unmount. Core NumberField exposes the corresponding `set-value`
111
+ and `step` events through the existing DOM `handleEvent` connection.
112
+
113
+ `TooltipRoot` accepts `openDelay` and `closeDelay` in milliseconds, both defaulting
114
+ to zero. Keyboard focus opens immediately. Share a `createTooltipGroup({ skipDelay:
115
+ 300 })` token through the `group` prop to skip the hover opening delay while a
116
+ peer is open or shortly after an accepted close. Groups are explicit scopes and
117
+ retain only timing/count facts. Pending hover work retires on leave, suspension,
118
+ reconfiguration and unmount; controlled refusal does not warm the group.
119
+
120
+ Link branches use the existing `NavigationMenuRoot`, `NavigationMenuTrigger` and
121
+ `NavigationMenuContent`. Render leaf `NavigationMenuLink` as an anchor (or borrow
122
+ an anchor with `asChild`) so href, modified clicks and browser link semantics stay
123
+ native. Branch buttons enter child groups; Escape/logical back closes a submenu
124
+ and restores its trigger. For a pointer Back action, the DOM
125
+ `createNavigationMenu` connection already accepts `handleEvent('close-submenu')`.
126
+ It is unnecessary to substitute a selection listbox or maintain another branch
127
+ state machine.
128
+
129
+ Sectile's modal popup remains the focus/isolation owner. Calling native
130
+ `HTMLDialogElement.showModal()` on that same popup is not a supported promotion:
131
+ the browser would acquire a second modal/focus owner. Retained inline/overlay
132
+ content uses the documented Drawer composition instead. Layer-host placement
133
+ and native browser top-layer promotion are separate capabilities.
@@ -19,6 +19,13 @@ export interface NativeFieldValueControl<Value> {
19
19
  commit(value: Value | null): boolean;
20
20
  }
21
21
  type NativeFieldValueBinding<Value> = (control: NativeFieldValueControl<Value>) => () => void;
22
+ export interface NativeFieldCommandHost<Value> {
23
+ readonly connection: NativeFieldConnection<Value> | undefined;
24
+ readonly mounted: boolean;
25
+ readonly composing: boolean;
26
+ readonly disabled: boolean;
27
+ readonly readOnly: boolean;
28
+ }
22
29
  /** Scope a composition command to its single native input, not the outer field. */
23
30
  export declare function provideNativeFieldValueControl<Value>(attach: NativeFieldValueBinding<Value>): void;
24
31
  export interface NativeFieldFactoryOptions<Value, Policies = Readonly<Record<string, unknown>>> {
@@ -51,6 +58,7 @@ export interface NativeFieldComponentConfig<Value, Policies = Readonly<Record<st
51
58
  readonly presentationProps?: ComponentObjectPropsOptions<ExtraProps>;
52
59
  /** Explicit user selection differs from controlled-value synchronization. */
53
60
  commitValue?(connection: NativeFieldConnection<Value>, value: Value | null): boolean;
61
+ exposeValueCommands?(host: NativeFieldCommandHost<Value>, expose: (value: object) => void): void;
54
62
  usePresentation?(props: Readonly<NativeFieldPublicProps<Value, Policies> & ExtraProps>): ComputedRef<NativeFieldPresentation<Value, Policies, Format> | undefined>;
55
63
  }
56
64
  export interface NativeFieldPublicProps<Value, Policies = Readonly<Record<string, unknown>>> {
@@ -1,2 +1,2 @@
1
- import{defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{hiddenInputSubmissionCapabilities,useFormControlFlags,useFormSubmissionProps,useNativeInputFormControl}from"../form/control.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{captureNativeTextState}from"./native-text-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";const nativeFieldValueBinding=Symbol("SectileNativeFieldValueBinding");function provideNativeFieldValueControl(attach){provide(nativeFieldValueBinding,attach)}function createNativeFieldComponent(config){return defineComponent({name:config.name,inheritAttrs:false,props:{...config.presentationProps,modelValue:{type:config.valueType,default:void 0},defaultValue:{type:config.valueType,default:null},policies:{type:Object,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:void 0},native:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},setup(props,{attrs,emit}){const flags=useFormControlFlags(props);const valueBinding=config.commitValue===void 0?void 0:inject(nativeFieldValueBinding,void 0);const composingState=valueBinding===void 0?void 0:shallowRef(false);let detachValueControl;const requestedPresentation=config.usePresentation?.(props);const presentation=shallowRef(requestedPresentation?.value??config);const input=shallowRef();let connection;let mounted=false;const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);let acceptedValue=controlled?props.modelValue:void 0;const initialProjectedValue=controlled?props.modelValue:props.defaultValue;let resetValue=initialProjectedValue??null;const projectedText=shallowRef(initialProjectedValue===null||initialProjectedValue===void 0?"":presentation.value.formatValue(initialProjectedValue));const projectOptions=()=>({native:props.native,...flags.value});const projected=shallowRef(projectOptions());let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const capture=()=>{const target=connection;const element=input.value;if(target===void 0||element===void 0)return void 0;return{value:target.getValue(),inputState:captureNativeTextState(element,target.getText())}};const connect=(preserved,reset=false)=>{const element=input.value;if(element===void 0)return;const wanted=requestedPresentation?.value??config;const previous=presentation.value;const dirty=preserved!==void 0&&(preserved.inputState.composition!==null||preserved.inputState.snapshot.text!==(preserved.value===null?"":previous.formatValue(preserved.value)));const deferred=wanted!==previous&&dirty;const next=deferred?previous:wanted;if(preserved!==void 0&&next!==previous){preserved={value:preserved.value,inputState:next.rebase?.(preserved.value,preserved.inputState,previous.format)??preserved.inputState}}connection?.disconnect();const nextOptions=projectOptions();projected.value=deferred?{...nextOptions,native:projected.value.native}:nextOptions;presentation.value=next;const fieldOptions={input:element,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,native:projected.value.native,onValueChange:value=>{emit("update:modelValue",value)},onUpdate:()=>{const target=connection;if(target===void 0)return;projectedText.value=target.getText();if((requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule()}};if(props.policies!==void 0)fieldOptions.policies=props.policies;if(controlled)fieldOptions.value=acceptedValue;else fieldOptions.defaultValue=reset?resetValue:preserved===void 0?props.defaultValue:preserved.value;if(preserved!==void 0)fieldOptions.defaultInputState=preserved.inputState;if(props.label!==void 0)fieldOptions.label=props.label;connection=next.create(fieldOptions);projectedText.value=connection.getText()};const resetTask=useNextTickTask(()=>{if(mounted)connect(void 0,true)});const settlePresentation=()=>{if(!mounted||inputComposing||(requestedPresentation?.value??config)===presentation.value)return;const preserved=capture();if(preserved!==void 0&&preserved.inputState.composition===null&&preserved.inputState.snapshot.text===(preserved.value===null?"":presentation.value.formatValue(preserved.value)))connect(preserved)};const presentationTask=requestedPresentation===void 0?void 0:useNextTickTask(settlePresentation);const participation=useNativeInputFormControl(input,{reset:()=>{if(!mounted)return;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;inputComposing=false;if(composingState!==void 0)composingState.value=false;resetTask.schedule()}});const submission=participation.participating?useFormSubmissionProps({element:input,capabilities:hiddenInputSubmissionCapabilities}):void 0;const requestConnect=()=>{if(inputComposing){reconnectPending=true;return}connect(capture())};const setInputComposing=composing=>{inputComposing=composing;if(composingState!==void 0)composingState.value=composing;if(!composing&&(requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule();if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(inputComposing)return;reconnectPending=false;connect(capture())},0)};onMounted(()=>{mounted=true;connect();resetValue=connection?.getValue()??null;if(valueBinding!==void 0&&composingState!==void 0)detachValueControl=valueBinding({get element(){return input.value??null},composing:composingState,commit(value){if(!mounted||connection===void 0||props.disabled||props.readonly||inputComposing)return false;if((requestedPresentation?.value??config)!==presentation.value)connect();return config.commitValue?.(connection,value)??false}})});onBeforeUnmount(()=>{mounted=false;resetTask.cancel();presentationTask?.cancel();detachValueControl?.();detachValueControl=void 0;if(composingState!==void 0)composingState.value=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;connection?.disconnect();connection=void 0;input.value=void 0});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===void 0)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError("Controlled native field synchronization failed.");acceptedValue=value;projectedText.value=connection.getText()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.label,()=>props.native],requestConnect);if(requestedPresentation!==void 0)watch(requestedPresentation,settlePresentation);const setInput=element=>{input.value=element instanceof HTMLInputElement?element:void 0};return()=>h("input",mergeProps(submission?.value??{},attrs,{ref:setInput,"data-scope":config.scope,"data-part":"input",type:projected.value.native&&config.nativeInputType!==void 0?config.nativeInputType:"text",inputmode:projected.value.native?void 0:presentation.value.inputMode??config.inputMode,placeholder:projected.value.native?void 0:presentation.value.placeholder,disabled:projected.value.disabled,readonly:projected.value.readonly,required:projected.value.required,"aria-disabled":String(projected.value.disabled),"aria-readonly":String(projected.value.readonly),"aria-label":props.label,onCompositionstart:()=>setInputComposing(true),onCompositionend:()=>setInputComposing(false),value:inputComposing?input.value?.value??projectedText.value:projectedText.value},participation.controlProps.value))}})}export{createNativeFieldComponent,provideNativeFieldValueControl};
1
+ import{defineComponent,getCurrentInstance,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,ssrContextKey,watch}from"vue";import{hiddenInputSubmissionCapabilities,useFormControlFlags,useFormSubmissionProps,useNativeInputFormControl}from"../form/control.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{captureNativeTextState}from"./native-text-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";const nativeFieldValueBinding=Symbol("SectileNativeFieldValueBinding");function provideNativeFieldValueControl(attach){provide(nativeFieldValueBinding,attach)}function createNativeFieldComponent(config){return defineComponent({name:config.name,inheritAttrs:false,props:{...config.presentationProps,modelValue:{type:config.valueType,default:void 0},defaultValue:{type:config.valueType,default:null},policies:{type:Object,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:void 0},native:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},setup(props,{attrs,emit}){const flags=useFormControlFlags(props);const valueBinding=config.commitValue===void 0?void 0:inject(nativeFieldValueBinding,void 0);const composingState=valueBinding===void 0?void 0:shallowRef(false);let detachValueControl;const requestedPresentation=config.usePresentation?.(props);const presentation=shallowRef(requestedPresentation?.value??config);const input=shallowRef();let connection;let mounted=false;const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);let acceptedValue=controlled?props.modelValue:void 0;const initialProjectedValue=controlled?props.modelValue:props.defaultValue;let resetValue=initialProjectedValue??null;const projectedText=shallowRef(initialProjectedValue===null||initialProjectedValue===void 0?"":presentation.value.formatValue(initialProjectedValue));const renderServerValue=inject(ssrContextKey,void 0)!==void 0,defaultText=projectedText.value;const projectOptions=()=>({native:props.native,...flags.value});const projected=shallowRef(projectOptions());let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const capture=()=>{const target=connection;const element=input.value;if(target===void 0||element===void 0)return void 0;return{value:target.getValue(),inputState:captureNativeTextState(element,target.getText())}};const connect=(preserved,reset=false)=>{const element=input.value;if(element===void 0)return;const wanted=requestedPresentation?.value??config;const previous=presentation.value;const dirty=preserved!==void 0&&(preserved.inputState.composition!==null||preserved.inputState.snapshot.text!==(preserved.value===null?"":previous.formatValue(preserved.value)));const deferred=wanted!==previous&&dirty;const next=deferred?previous:wanted;if(preserved!==void 0&&next!==previous){preserved={value:preserved.value,inputState:next.rebase?.(preserved.value,preserved.inputState,previous.format)??preserved.inputState}}connection?.disconnect();const nextOptions=projectOptions();projected.value=deferred?{...nextOptions,native:projected.value.native}:nextOptions;presentation.value=next;const fieldOptions={input:element,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,native:projected.value.native,onValueChange:value=>{emit("update:modelValue",value)},onUpdate:()=>{const target=connection;if(target===void 0)return;projectedText.value=target.getText();if((requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule()}};if(props.policies!==void 0)fieldOptions.policies=props.policies;if(controlled)fieldOptions.value=acceptedValue;else fieldOptions.defaultValue=reset?resetValue:preserved===void 0?props.defaultValue:preserved.value;if(preserved!==void 0)fieldOptions.defaultInputState=preserved.inputState;if(props.label!==void 0)fieldOptions.label=props.label;connection=next.create(fieldOptions);projectedText.value=connection.getText()};const resetTask=useNextTickTask(()=>{if(mounted)connect(void 0,true)});const settlePresentation=()=>{if(!mounted||inputComposing||(requestedPresentation?.value??config)===presentation.value)return;const preserved=capture();if(preserved!==void 0&&preserved.inputState.composition===null&&preserved.inputState.snapshot.text===(preserved.value===null?"":presentation.value.formatValue(preserved.value)))connect(preserved)};const presentationTask=requestedPresentation===void 0?void 0:useNextTickTask(settlePresentation);const participation=useNativeInputFormControl(input,{reset:()=>{if(!mounted)return;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;inputComposing=false;if(composingState!==void 0)composingState.value=false;resetTask.schedule()}});const submission=participation.participating?useFormSubmissionProps({element:input,capabilities:hiddenInputSubmissionCapabilities}):void 0;const requestConnect=()=>{if(!mounted)return;if(inputComposing){reconnectPending=true;return}connect(capture())};const setInputComposing=composing=>{inputComposing=composing;if(composingState!==void 0)composingState.value=composing;if(!composing&&(requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule();if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(inputComposing)return;reconnectPending=false;connect(capture())},0)};config.exposeValueCommands?.({get connection(){return connection},get mounted(){return mounted},get composing(){return inputComposing},get disabled(){return flags.value.disabled},get readOnly(){return flags.value.readonly}},commands=>{const instance=getCurrentInstance();for(const[name,method]of Object.entries(commands))Object.defineProperty(instance.proxy,name,{configurable:true,value:method})});onMounted(()=>{if(controlled)acceptedValue=props.modelValue;mounted=true;connect();resetValue=connection?.getValue()??null;if(valueBinding!==void 0&&composingState!==void 0)detachValueControl=valueBinding({get element(){return input.value??null},composing:composingState,commit(value){if(!mounted||connection===void 0||props.disabled||props.readonly||inputComposing)return false;if((requestedPresentation?.value??config)!==presentation.value)connect();return config.commitValue?.(connection,value)??false}})});onBeforeUnmount(()=>{mounted=false;resetTask.cancel();presentationTask?.cancel();detachValueControl?.();detachValueControl=void 0;if(composingState!==void 0)composingState.value=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;connection?.disconnect();connection=void 0;input.value=void 0});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===void 0)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError("Controlled native field synchronization failed.");acceptedValue=value;projectedText.value=connection.getText()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.label,()=>props.native],requestConnect);if(requestedPresentation!==void 0)watch(requestedPresentation,settlePresentation);const setInput=element=>{input.value=element instanceof HTMLInputElement?element:void 0};return()=>h("input",mergeProps(submission?.value??{},attrs,{ref:setInput,"data-scope":config.scope,"data-part":"input",type:projected.value.native&&config.nativeInputType!==void 0?config.nativeInputType:"text",inputmode:projected.value.native?void 0:presentation.value.inputMode??config.inputMode,placeholder:attrs["placeholder"]??(projected.value.native?void 0:presentation.value.placeholder),disabled:projected.value.disabled,readonly:projected.value.readonly,required:projected.value.required,"aria-disabled":String(projected.value.disabled),"aria-readonly":String(projected.value.readonly),"aria-label":props.label,onCompositionstart:()=>setInputComposing(true),onCompositionend:()=>setInputComposing(false),...renderServerValue?{value:projectedText.value}:{defaultValue:defaultText}},participation.controlProps.value))}})}export{createNativeFieldComponent,provideNativeFieldValueControl};
2
2
  //# sourceMappingURL=native-field.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/input/native-field.ts"],"mappings":"AAAA,OACE,gBACA,EACA,OACA,WACA,gBACA,UACA,QACA,WACA,UAOK,MAEP,OAAS,kCAAmC,oBAAqB,uBAAwB,8BAAiC,qBAC1H,OAAS,gCAAmC,kCAC5C,OAAS,2BAA8B,yBACvC,OAAS,oBAAuB,gCAgBhC,MAAM,wBAA0B,OAAO,gCAAgC,EAGjE,SAAU,+BAAsC,OAAsC,CAC1F,QAAQ,wBAAyB,MAAM,CACzC,CAgDM,SAAU,2BACd,OAAuE,CAEvE,OAAO,gBAAgB,CACrB,KAAM,OAAO,KACb,aAAc,MACd,MAAO,CACL,GAAG,OAAO,kBACV,WAAY,CAAE,KAAM,OAAO,UAAW,QAAS,MAAS,EACxD,aAAc,CAAE,KAAM,OAAO,UAAW,QAAS,IAAI,EACrD,SAAU,CAAE,KAAM,OAA8B,QAAS,MAAS,EAClE,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,SAAU,CAAE,KAAM,QAAS,QAAS,KAAK,EACzC,MAAO,CAAE,KAAM,OAAQ,QAAS,MAAS,EACzC,OAAQ,CAAE,KAAM,QAAS,QAAS,KAAK,GAEzC,MAAO,CACL,oBAAsB,QAAkC,MAE1D,MAAM,MAAO,CAAE,MAAO,IAAI,EAAE,CAC1B,MAAM,MAAQ,oBAAoB,KAAK,EACvC,MAAM,aAAe,OAAO,cAAgB,OAAY,OAAY,OAAmD,wBAAyB,MAAS,EACzJ,MAAM,eAAiB,eAAiB,OAAY,OAAY,WAAW,KAAK,EAChF,IAAI,mBACJ,MAAM,sBAAwB,OAAO,kBAAkB,KAAkF,EACzI,MAAM,aAAe,WAA6D,uBAAuB,OAAS,MAAM,EACxH,MAAM,MAAQ,WAAU,EACxB,IAAI,WACJ,IAAI,QAAU,MACd,MAAM,WAAa,4BAA4B,OAAO,KAAM,aAAc,IAAM,MAAM,UAAU,EAChG,IAAI,cAAgB,WAAa,MAAM,WAA6B,OACpE,MAAM,sBAAwB,WAAa,MAAM,WAAa,MAAM,aACpE,IAAI,WAAc,uBAAyB,KAC3C,MAAM,cAAgB,WACpB,wBAA0B,MAAQ,wBAA0B,OACxD,GACA,aAAa,MAAM,YAAY,qBAA8B,CAAC,EAEpE,MAAM,eAAiB,KAAO,CAAE,OAAQ,MAAM,OAAQ,GAAG,MAAM,KAAK,GACpE,MAAM,UAAY,WAAW,eAAc,CAAE,EAC7C,IAAI,eAAiB,MACrB,IAAI,iBAAmB,MACvB,IAAI,eAAuD,KAE3D,MAAM,QAAU,IAA8C,CAC5D,MAAM,OAAS,WACf,MAAM,QAAU,MAAM,MACtB,GAAI,SAAW,QAAa,UAAY,OAAW,OAAO,OAC1D,MAAO,CACL,MAAO,OAAO,SAAQ,EACtB,WAAY,uBAAuB,QAAS,OAAO,QAAO,CAAE,EAEhE,EACA,MAAM,QAAU,CAAC,UAAyC,MAAQ,QAAe,CAC/E,MAAM,QAAU,MAAM,MACtB,GAAI,UAAY,OAAW,OAC3B,MAAM,OAAS,uBAAuB,OAAS,OAC/C,MAAM,SAAW,aAAa,MAC9B,MAAM,MAAQ,YAAc,SAAc,UAAU,WAAW,cAAgB,MAAQ,UAAU,WAAW,SAAS,QAAU,UAAU,QAAU,KAAO,GAAK,SAAS,YAAY,UAAU,KAAK,IACnM,MAAM,SAAW,SAAW,UAAY,MACxC,MAAM,KAAO,SAAW,SAAW,OACnC,GAAI,YAAc,QAAa,OAAS,SAAU,CAChD,UAAY,CAAE,MAAO,UAAU,MAAO,WAAY,KAAK,SAAS,UAAU,MAAO,UAAU,WAAY,SAAS,MAAM,GAAK,UAAU,UAAU,CACjJ,CACA,YAAY,WAAU,EACtB,MAAM,YAAc,eAAc,EAClC,UAAU,MAAQ,SAAW,CAAE,GAAG,YAAa,OAAQ,UAAU,MAAM,MAAM,EAAK,YAClF,aAAa,MAAQ,KACrB,MAAM,aAEyC,CAC7C,MAAO,QACP,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACtB,OAAQ,UAAU,MAAM,OACxB,cAAgB,OAAS,CACvB,KAAK,oBAAqB,KAAK,CACjC,EACA,SAAU,IAAK,CACb,MAAM,OAAS,WACf,GAAI,SAAW,OAAW,OAC1B,cAAc,MAAQ,OAAO,QAAO,EACpC,IAAK,uBAAuB,OAAS,UAAY,aAAa,MAAO,kBAAkB,SAAQ,CACjG,GAEF,GAAI,MAAM,WAAa,OAAW,aAAa,SAAW,MAAM,SAChE,GAAI,WAAY,aAAa,MAAQ,mBAChC,aAAa,aAAgB,MAAQ,WAAa,YAAc,OAAY,MAAM,aAAe,UAAU,MAChH,GAAI,YAAc,OAAW,aAAa,kBAAoB,UAAU,WACxE,GAAI,MAAM,QAAU,OAAW,aAAa,MAAQ,MAAM,MAC1D,WAAa,KAAK,OAAO,YAAY,EACrC,cAAc,MAAQ,WAAW,QAAO,CAC1C,EACA,MAAM,UAAY,gBAAgB,IAAK,CAAG,GAAI,QAAS,QAAQ,OAAW,IAAI,CAAG,CAAC,EAClF,MAAM,mBAAqB,IAAW,CACpC,GAAI,CAAC,SAAW,iBAAmB,uBAAuB,OAAS,UAAY,aAAa,MAAO,OACnG,MAAM,UAAY,QAAO,EACzB,GAAI,YAAc,QAAa,UAAU,WAAW,cAAgB,MAAQ,UAAU,WAAW,SAAS,QAAU,UAAU,QAAU,KAAO,GAAK,aAAa,MAAM,YAAY,UAAU,KAAK,GAAI,QAAQ,SAAS,CACzN,EACA,MAAM,iBAAmB,wBAA0B,OAAY,OAAY,gBAAgB,kBAAkB,EAC7G,MAAM,cAAgB,0BAA0B,MAAO,CAAE,MAAO,IAAK,CACnE,GAAI,CAAC,QAAS,OACd,GAAI,iBAAmB,KAAM,aAAa,cAAc,EACxD,eAAiB,KAAM,iBAAmB,MAAO,eAAiB,MAClE,GAAI,iBAAmB,OAAW,eAAe,MAAQ,MACzD,UAAU,SAAQ,CACpB,CAAC,CAAE,EACH,MAAM,WAAa,cAAc,cAC7B,uBAAuB,CAAE,QAAS,MAAO,aAAc,iCAAiC,CAAE,EAAI,OAClG,MAAM,eAAiB,IAAW,CAChC,GAAI,eAAgB,CAClB,iBAAmB,KACnB,MACF,CACA,QAAQ,QAAO,CAAE,CACnB,EACA,MAAM,kBAAqB,WAA4B,CACrD,eAAiB,UACjB,GAAI,iBAAmB,OAAW,eAAe,MAAQ,UACzD,GAAI,CAAC,YAAc,uBAAuB,OAAS,UAAY,aAAa,MAAO,kBAAkB,SAAQ,EAC7G,GAAI,WAAa,CAAC,kBAAoB,iBAAmB,KAAM,OAC/D,eAAiB,WAAW,IAAK,CAC/B,eAAiB,KACjB,GAAI,eAAgB,OACpB,iBAAmB,MACnB,QAAQ,QAAO,CAAE,CACnB,EAAG,CAAC,CACN,EAEA,UAAU,IAAK,CACb,QAAU,KAAM,QAAO,EAAI,WAAa,YAAY,SAAQ,GAAM,KAClE,GAAI,eAAiB,QAAa,iBAAmB,OAAW,mBAAqB,aAAa,CAChG,IAAI,SAAO,CAAK,OAAO,MAAM,OAAS,IAAM,EAC5C,UAAW,eACX,OAAO,MAAK,CACV,GAAI,CAAC,SAAW,aAAe,QAAa,MAAM,UAAY,MAAM,UAAY,eAAgB,MAAO,OAGvG,IAAK,uBAAuB,OAAS,UAAY,aAAa,MAAO,QAAO,EAC5E,OAAO,OAAO,cAAc,WAAY,KAAK,GAAK,KACpD,EACD,CACH,CAAC,EACD,gBAAgB,IAAK,CACnB,QAAU,MAAO,UAAU,OAAM,EAAI,kBAAkB,OAAM,EAC7D,qBAAoB,EAAI,mBAAqB,OAC7C,GAAI,iBAAmB,OAAW,eAAe,MAAQ,MACzD,GAAI,iBAAmB,KAAM,aAAa,cAAc,EACxD,eAAiB,KACjB,iBAAmB,MACnB,YAAY,WAAU,EACtB,WAAa,OAAW,MAAM,MAAQ,MACxC,CAAC,EACD,MAAM,IAAM,MAAM,WAAa,OAAS,CACtC,GAAI,CAAC,YAAc,QAAU,QAAa,aAAe,OAAW,OACpE,MAAM,OAAS,WAAW,qBAAqB,CAAE,KAA4B,CAAE,EAC/E,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,iDAAiD,EACrF,cAAgB,MAChB,cAAc,MAAQ,WAAW,QAAO,CAC1C,CAAC,EACD,MACE,CAAC,IAAM,MAAM,SAAU,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,MAAM,SACnE,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,MAAO,IAAM,MAAM,MAAM,EACnE,cAAc,EAEhB,GAAI,wBAA0B,OAAW,MAAM,sBAAuB,kBAAkB,EAExF,MAAM,SAAY,SAA0B,CAC1C,MAAM,MAAQ,mBAAmB,iBAAmB,QAAU,MAChE,EAEA,MAAO,IAAkB,EAAE,QAAS,WAAW,YAAY,OAAS,CAAA,EAAI,MAAO,CAC7E,IAAK,SACL,aAAc,OAAO,MACrB,YAAa,QACb,KAAM,UAAU,MAAM,QAAU,OAAO,kBAAoB,OACvD,OAAO,gBACP,OACJ,UAAW,UAAU,MAAM,OAAS,OAAY,aAAa,MAAM,WAAa,OAAO,UACvF,YAAa,UAAU,MAAM,OAAS,OAAY,aAAa,MAAM,YACrE,SAAU,UAAU,MAAM,SAC1B,SAAU,UAAU,MAAM,SAC1B,SAAU,UAAU,MAAM,SAC1B,gBAAiB,OAAO,UAAU,MAAM,QAAQ,EAChD,gBAAiB,OAAO,UAAU,MAAM,QAAQ,EAChD,aAAc,MAAM,MACpB,mBAAoB,IAAM,kBAAkB,IAAI,EAChD,iBAAkB,IAAM,kBAAkB,KAAK,EAC/C,MAAO,eAAiB,MAAM,OAAO,OAAS,cAAc,MAAQ,cAAc,OACjF,cAAc,aAAa,KAAK,CAAC,CACtC,EACD,CACH","names":[],"file":"native-field.js"}
1
+ {"version":3,"sources":["../../src/input/native-field.ts"],"mappings":"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","names":[],"file":"native-field.js"}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{hiddenInputSubmissionCapabilities,useCompositeFormControl,useFormControlFlags,useFormMetadataPresence,useFormSubmissionProps}from"../form/control.js";import{Primitive}from"../primitive.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";import{captureNativeTextState}from"./native-text-state.js";function setupNativeRangeField(config,props,{attrs,emit,slots}){const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);const requested=config.usePresentation?.();const presentation=shallowRef(requested?.value??config);const initial=presentation.value.initial({value:controlled?props.modelValue:props.defaultValue});if(!initial.ok)throw new TypeError(initial.error.message);const snapshot=shallowRef(initial.value);const startInput=shallowRef(null);const endInput=shallowRef(null);const root=shallowRef(null);let mounted=false;let connection=null;const submissions=[{element:startInput,relativeName:"start",capabilities:hiddenInputSubmissionCapabilities},{element:endInput,relativeName:"end",capabilities:hiddenInputSubmissionCapabilities}];const explicit=useFormMetadataPresence();const flags=useFormControlFlags(props);const endpointSubmissionProps=(endpoint,index)=>{const inherited=useFormSubmissionProps(submissions[index]);return computed(()=>{const attributes={...inherited.value};if(explicit.value.includes("name")){const name=props.name;attributes["name"]=name===void 0||name===""?name:`${name}.${endpoint}`}if(explicit.value.includes("form"))attributes["form"]=props.form;Object.assign(attributes,flags.value);return attributes})};const submissionProps={start:endpointSubmissionProps("start",0),end:endpointSubmissionProps("end",1)};const participation=useCompositeFormControl({root,focusTarget:startInput,submissions,...config.reset?{reset:()=>resetTask?.schedule()}:{}});const refresh=()=>{if(connection!==null)snapshot.value=connection.getSnapshot().state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()};const mount=(preserveNative=false,convertedState)=>{if(!mounted||startInput.value===null||endInput.value===null)return;let startState=preserveNative&&connection!==null?captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text):void 0;let endState=preserveNative&&connection!==null?captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text):void 0;const wanted=requested?.value??config;let next=presentation.value;let restored=snapshot.value;if(wanted!==next&&startState!==void 0&&endState!==void 0){const converted=convertedState===void 0?wanted.rebase?.(snapshot.value,startState,endState):{ok:true,value:convertedState};if(converted?.ok){next=wanted;restored=converted.value;startState=restored.start.inputState;endState=restored.end.inputState}}else if(!preserveNative){next=wanted;const converted=next.initial({value:controlled?props.modelValue:snapshot.value.value});if(!converted.ok)throw new TypeError(converted.error.message);restored=converted.value}connection?.disconnect();presentation.value=next;const fieldOptions={startInput:startInput.value,endInput:endInput.value,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,onValueChange:value=>emit("update:modelValue",value),onUpdate:refresh};if(controlled)fieldOptions.value=props.modelValue;else fieldOptions.defaultValue=snapshot.value.value;fieldOptions.defaultState=restored;if(startState!==void 0)fieldOptions.defaultStartInputState=startState;if(endState!==void 0)fieldOptions.defaultEndInputState=endState;const{policies,startLabel,endLabel}=props;if(policies!==void 0)fieldOptions.policies=policies;if(startLabel!==void 0)fieldOptions.startLabel=startLabel;if(endLabel!==void 0)fieldOptions.endLabel=endLabel;connection=next.create(fieldOptions);refresh()};const mountTask=useNextTickTask(()=>mount(true));const resetTask=config.reset?useNextTickTask(()=>{if(!controlled)snapshot.value=initial.value;mount()}):void 0;let composingInputs=0;let reconnectPending=false;let reconnectTimer=null;const settlePresentation=()=>{if(!mounted||composingInputs!==0||(requested?.value??config)===presentation.value||startInput.value===null||endInput.value===null)return;const wanted=requested?.value??config;const converted=wanted.rebase?.(snapshot.value,captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text),captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text));if(converted?.ok)mount(true,converted.value)};const presentationTask=requested===void 0?void 0:useNextTickTask(settlePresentation);const requestMount=()=>{if(composingInputs!==0){reconnectPending=true;return}mountTask.schedule()};const setInputComposing=(endpoint,composing)=>{const bit=endpoint==="start"?1:2;if(composing)composingInputs|=bit;else composingInputs&=~bit;if(composingInputs===0&&(requested?.value??config)!==presentation.value)presentationTask?.schedule();if(composingInputs!==0||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||composingInputs!==0)return;reconnectPending=false;mountTask.schedule()},0)};onMounted(()=>{mounted=true;mount()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;composingInputs=0;mountTask.cancel();resetTask?.cancel();presentationTask?.cancel();connection?.disconnect();connection=null});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===null)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value.state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.startLabel,()=>props.endLabel],requestMount);if(requested!==void 0)watch(requested,settlePresentation);const slotProps=computed(()=>Object.freeze({value:snapshot.value.value,startText:snapshot.value.start.inputState.snapshot.text,endText:snapshot.value.end.inputState.snapshot.text,active:snapshot.value.active,disabled:flags.value.disabled,readonly:flags.value.readonly}));provide(config.contextKey,{slotProps,startInput,endInput,setInputComposing,get required(){return flags.value.required},isInputComposing:endpoint=>(composingInputs&(endpoint==="start"?1:2))!==0,placeholder:computed(()=>presentation.value.placeholder),inputMode:computed(()=>presentation.value.inputMode??"numeric"),submissionProps});return()=>h(Primitive,mergeProps(participation.controlProps.value,attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.value=element},role:"group","data-scope":config.scope,"data-part":"root","data-disabled":flags.value.disabled?"":void 0,"data-readonly":flags.value.readonly?"":void 0}),{default:()=>slots["default"]?.(slotProps.value)})}function createNativeRangeFieldInput(contextKey,scope,placeholder,endpoint,name,rootName){return defineComponent({name,inheritAttrs:false,setup(_props,{attrs}){const context=inject(contextKey);if(context===void 0)throw new TypeError(`${name} must be used inside ${rootName}.`);return()=>h("input",mergeProps(context.submissionProps[endpoint].value,attrs,{ref:element=>{context[endpoint==="start"?"startInput":"endInput"].value=element},type:"text",inputmode:context.inputMode.value,placeholder:context.placeholder.value??placeholder,value:context.isInputComposing(endpoint)?context[endpoint==="start"?"startInput":"endInput"].value?.value:endpoint==="start"?context.slotProps.value.startText:context.slotProps.value.endText,onCompositionstart:()=>context.setInputComposing(endpoint,true),onCompositionend:()=>context.setInputComposing(endpoint,false),"aria-disabled":String(context.slotProps.value.disabled),"aria-readonly":String(context.slotProps.value.readonly),"data-scope":scope,"data-part":`${endpoint}-input`,"data-active":context.slotProps.value.active===endpoint?"":void 0}))}})}export{createNativeRangeFieldInput,setupNativeRangeField};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,ssrContextKey,watch}from"vue";import{hiddenInputSubmissionCapabilities,useCompositeFormControl,useFormControlFlags,useFormMetadataPresence,useFormSubmissionProps}from"../form/control.js";import{Primitive}from"../primitive.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";import{captureNativeTextState}from"./native-text-state.js";function setupNativeRangeField(config,props,{attrs,emit,slots}){const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);const requested=config.usePresentation?.();const presentation=shallowRef(requested?.value??config);const initial=presentation.value.initial({value:controlled?props.modelValue:props.defaultValue});if(!initial.ok)throw new TypeError(initial.error.message);const snapshot=shallowRef(initial.value);const startInput=shallowRef(null);const endInput=shallowRef(null);const root=shallowRef(null);let mounted=false;let connection=null;const submissions=[{element:startInput,relativeName:"start",capabilities:hiddenInputSubmissionCapabilities},{element:endInput,relativeName:"end",capabilities:hiddenInputSubmissionCapabilities}];const explicit=useFormMetadataPresence();const flags=useFormControlFlags(props);const endpointSubmissionProps=(endpoint,index)=>{const inherited=useFormSubmissionProps(submissions[index]);return computed(()=>{const attributes={...inherited.value};if(explicit.value.includes("name")){const name=props.name;attributes["name"]=name===void 0||name===""?name:`${name}.${endpoint}`}if(explicit.value.includes("form"))attributes["form"]=props.form;Object.assign(attributes,flags.value);return attributes})};const submissionProps={start:endpointSubmissionProps("start",0),end:endpointSubmissionProps("end",1)};const participation=useCompositeFormControl({root,focusTarget:startInput,submissions,...config.reset?{reset:()=>resetTask?.schedule()}:{}});const refresh=()=>{if(connection!==null)snapshot.value=connection.getSnapshot().state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()};const mount=(preserveNative=false,convertedState)=>{if(!mounted||startInput.value===null||endInput.value===null)return;let startState=preserveNative&&connection!==null?captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text):void 0;let endState=preserveNative&&connection!==null?captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text):void 0;const wanted=requested?.value??config;let next=presentation.value;let restored=snapshot.value;if(wanted!==next&&startState!==void 0&&endState!==void 0){const converted=convertedState===void 0?wanted.rebase?.(snapshot.value,startState,endState):{ok:true,value:convertedState};if(converted?.ok){next=wanted;restored=converted.value;startState=restored.start.inputState;endState=restored.end.inputState}}else if(!preserveNative){next=wanted;const converted=next.initial({value:controlled?props.modelValue:snapshot.value.value});if(!converted.ok)throw new TypeError(converted.error.message);restored=converted.value}connection?.disconnect();presentation.value=next;const fieldOptions={startInput:startInput.value,endInput:endInput.value,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,onValueChange:value=>emit("update:modelValue",value),onUpdate:refresh};if(controlled)fieldOptions.value=props.modelValue;else fieldOptions.defaultValue=snapshot.value.value;fieldOptions.defaultState=restored;if(startState!==void 0)fieldOptions.defaultStartInputState=startState;if(endState!==void 0)fieldOptions.defaultEndInputState=endState;const{policies,startLabel,endLabel}=props;if(policies!==void 0)fieldOptions.policies=policies;if(startLabel!==void 0)fieldOptions.startLabel=startLabel;if(endLabel!==void 0)fieldOptions.endLabel=endLabel;connection=next.create(fieldOptions);refresh()};const mountTask=useNextTickTask(()=>mount(true));const resetTask=config.reset?useNextTickTask(()=>{if(!controlled)snapshot.value=initial.value;mount()}):void 0;let composingInputs=0;let reconnectPending=false;let reconnectTimer=null;const settlePresentation=()=>{if(!mounted||composingInputs!==0||(requested?.value??config)===presentation.value||startInput.value===null||endInput.value===null)return;const wanted=requested?.value??config;const converted=wanted.rebase?.(snapshot.value,captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text),captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text));if(converted?.ok)mount(true,converted.value)};const presentationTask=requested===void 0?void 0:useNextTickTask(settlePresentation);const requestMount=()=>{if(composingInputs!==0){reconnectPending=true;return}mountTask.schedule()};const setInputComposing=(endpoint,composing)=>{const bit=endpoint==="start"?1:2;if(composing)composingInputs|=bit;else composingInputs&=~bit;if(composingInputs===0&&(requested?.value??config)!==presentation.value)presentationTask?.schedule();if(composingInputs!==0||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||composingInputs!==0)return;reconnectPending=false;mountTask.schedule()},0)};onMounted(()=>{mounted=true;mount()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;composingInputs=0;mountTask.cancel();resetTask?.cancel();presentationTask?.cancel();connection?.disconnect();connection=null});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===null)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value.state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.startLabel,()=>props.endLabel],requestMount);if(requested!==void 0)watch(requested,settlePresentation);const slotProps=computed(()=>Object.freeze({value:snapshot.value.value,startText:snapshot.value.start.inputState.snapshot.text,endText:snapshot.value.end.inputState.snapshot.text,active:snapshot.value.active,disabled:flags.value.disabled,readonly:flags.value.readonly}));provide(config.contextKey,{slotProps,startInput,endInput,setInputComposing,get required(){return flags.value.required},isInputComposing:endpoint=>(composingInputs&(endpoint==="start"?1:2))!==0,placeholder:computed(()=>presentation.value.placeholder),inputMode:computed(()=>presentation.value.inputMode??"numeric"),submissionProps});return()=>h(Primitive,mergeProps(participation.controlProps.value,attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.value=element},role:"group","data-scope":config.scope,"data-part":"root","data-disabled":flags.value.disabled?"":void 0,"data-readonly":flags.value.readonly?"":void 0}),{default:()=>slots["default"]?.(slotProps.value)})}function createNativeRangeFieldInput(contextKey,scope,placeholder,endpoint,name,rootName){return defineComponent({name,inheritAttrs:false,setup(_props,{attrs}){const context=inject(contextKey);if(context===void 0)throw new TypeError(`${name} must be used inside ${rootName}.`);const renderServerValue=inject(ssrContextKey,void 0)!==void 0;return()=>h("input",mergeProps(context.submissionProps[endpoint].value,attrs,{ref:element=>{context[endpoint==="start"?"startInput":"endInput"].value=element},type:"text",inputmode:context.inputMode.value,placeholder:context.placeholder.value??placeholder,...renderServerValue?{value:endpoint==="start"?context.slotProps.value.startText:context.slotProps.value.endText}:{},onCompositionstart:()=>context.setInputComposing(endpoint,true),onCompositionend:()=>context.setInputComposing(endpoint,false),"aria-disabled":String(context.slotProps.value.disabled),"aria-readonly":String(context.slotProps.value.readonly),"data-scope":scope,"data-part":`${endpoint}-input`,"data-active":context.slotProps.value.active===endpoint?"":void 0}))}})}export{createNativeRangeFieldInput,setupNativeRangeField};
2
2
  //# sourceMappingURL=native-range-field.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/input/native-range-field.ts"],"mappings":"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","names":[],"file":"native-range-field.js"}
1
+ {"version":3,"sources":["../../src/input/native-range-field.ts"],"mappings":"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","names":[],"file":"native-range-field.js"}
@@ -2,7 +2,7 @@ import { type Ref, type ShallowRef } from 'vue';
2
2
  import { type Result } from '@sectile/core/result';
3
3
  import type { Point } from '@sectile/core/geometry';
4
4
  import { type MediaGestureErrorCode, type MediaGestureOptions, type MediaViewportMeasurement } from '@sectile/dom/media-gesture';
5
- export type { MediaGestureInput, MediaGestureEnd, MediaGestureErrorCode, MediaWheelInput, MediaViewportMeasurement } from '@sectile/dom/media-gesture';
5
+ export type { MediaGestureInput, MediaGestureEnd, MediaGestureErrorCode, MediaWheelInput, MediaViewportMeasurement, MediaPointerAdmission } from '@sectile/dom/media-gesture';
6
6
  export interface UseMediaGestureOptions extends Omit<MediaGestureOptions, 'element'> {
7
7
  readonly element: Readonly<Ref<HTMLElement | null>>;
8
8
  readonly active?: Readonly<Ref<boolean>>;
@@ -1,2 +1,2 @@
1
- import{getCurrentInstance,isRef,shallowReadonly,shallowRef}from"vue";import{failResult}from"@sectile/core/result";import{connectMediaGesture,readMediaViewport}from"@sectile/dom/media-gesture";import{createComponentHandle}from"./component-handle.js";import{useHostActive}from"./host-provider.js";import{useConnectionLifetime}from"./internal/connection-lifetime.js";function projectMethods(current){function measure(points=[]){const target=current()?.element;return target?readMediaViewport(target,points):failResult("resource-rejection","dom.media-gesture-unavailable","No active media gesture surface")}return Object.freeze({cancel:()=>current()?.connection.cancel(),measure})}function useMediaGesture(options){if(!getCurrentInstance())throw Object.assign(new TypeError("useMediaGesture requires component setup"),{code:"vue.media-gesture-scope-required"});if(!isRef(options.element)||options.active!==void 0&&(!isRef(options.active)||typeof options.active.value!=="boolean")||typeof options.onStart!=="function"||typeof options.onMove!=="function"||options.onEnd!==void 0&&typeof options.onEnd!=="function"||options.onWheel!==void 0&&typeof options.onWheel!=="function"){throw Object.assign(new TypeError("useMediaGesture requires reactive participation and native input hooks"),{code:"vue.media-gesture-invalid"})}let element=options.element,active=options.active;let start=options.onStart,move=options.onMove;let end=options.onEnd,wheel=options.onWheel,host=useHostActive();let alive=true,native,epoch,retiring;const error=shallowRef(),handle=createComponentHandle(projectMethods);const release=()=>{const held=native,token=epoch;native=void 0;epoch=void 0;handle.release();retiring=token;try{held?.disconnect()}finally{retiring=void 0;error.value=void 0}};const failed=failure=>{try{release()}catch{}throw failure};const read=()=>{const enabled=alive&&host?.value!==false&&active?.value!==false;return[enabled?element?.value??null:null,enabled]};const attach=([target,enabled])=>{if(!target||!enabled)return;const token={};epoch=token;const result=connectMediaGesture({element:target,onStart(input){if(!alive||epoch!==token)return false;try{const accepted=start?.(input)??false;return accepted&&alive&&epoch===token}catch(failure){return failed(failure)}},onMove(input){if(alive&&epoch===token){try{move?.(input)}catch(failure){failed(failure)}}},onEnd(reason){if(alive&&(epoch===token||reason==="disconnect"&&retiring===token)){try{end?.(reason)}catch(failure){failed(failure)}}},...wheel===void 0?{}:{onWheel(input){if(!alive||epoch!==token)return false;try{const accepted=wheel?.(input)??false;return accepted&&alive&&epoch===token}catch(failure){return failed(failure)}}}});if(result.ok){if(alive&&epoch===token){native=result.value;handle.set({connection:native,element:target})}else result.value.disconnect()}else if(epoch===token){epoch=void 0;error.value=result.error.code}};useConnectionLifetime({read,equal:(next,previous)=>next[0]===previous[0]&&next[1]===previous[1],connect:attach,disconnect:release,dispose(){alive=false;element=void 0;active=void 0;host=void 0;start=void 0;move=void 0;end=void 0;wheel=void 0}});return Object.freeze({...handle.view,error:shallowReadonly(error)})}export{useMediaGesture};
1
+ import{getCurrentInstance,isRef,shallowReadonly,shallowRef}from"vue";import{failResult}from"@sectile/core/result";import{connectMediaGesture,readMediaViewport}from"@sectile/dom/media-gesture";import{createComponentHandle}from"./component-handle.js";import{useHostActive}from"./host-provider.js";import{useConnectionLifetime}from"./internal/connection-lifetime.js";function projectMethods(current){function measure(points=[]){const target=current()?.element;return target?readMediaViewport(target,points):failResult("resource-rejection","dom.media-gesture-unavailable","No active media gesture surface")}return Object.freeze({cancel:()=>current()?.connection.cancel(),measure})}function useMediaGesture(options){if(!getCurrentInstance())throw Object.assign(new TypeError("useMediaGesture requires component setup"),{code:"vue.media-gesture-scope-required"});if(!isRef(options.element)||options.active!==void 0&&(!isRef(options.active)||typeof options.active.value!=="boolean")||typeof options.onStart!=="function"||typeof options.onMove!=="function"||options.onEnd!==void 0&&typeof options.onEnd!=="function"||options.onWheel!==void 0&&typeof options.onWheel!=="function"||options.admitPointer!==void 0&&typeof options.admitPointer!=="function"||options.dragThreshold!==void 0&&(!Number.isFinite(options.dragThreshold)||options.dragThreshold<0)){throw Object.assign(new TypeError("useMediaGesture requires reactive participation and native input hooks"),{code:"vue.media-gesture-invalid"})}let element=options.element,active=options.active;let start=options.onStart,move=options.onMove;let end=options.onEnd,wheel=options.onWheel,host=useHostActive();let admit=options.admitPointer;const threshold=options.dragThreshold;let alive=true,native,epoch,retiring;const error=shallowRef(),handle=createComponentHandle(projectMethods);const release=()=>{const held=native,token=epoch;native=void 0;epoch=void 0;handle.release();retiring=token;try{held?.disconnect()}finally{retiring=void 0;error.value=void 0}};const failed=failure=>{try{release()}catch{}throw failure};const read=()=>{const enabled=alive&&host?.value!==false&&active?.value!==false;return[enabled?element?.value??null:null,enabled]};const attach=([target,enabled])=>{if(!target||!enabled)return;const token={};epoch=token;const result=connectMediaGesture({element:target,...threshold===void 0?{}:{dragThreshold:threshold},...admit===void 0?{}:{admitPointer(input){if(!alive||epoch!==token)return false;try{const accepted=admit?.(input)??false;return accepted&&alive&&epoch===token}catch(failure){return failed(failure)}}},onStart(input){if(!alive||epoch!==token)return false;try{const accepted=start?.(input)??false;return accepted&&alive&&epoch===token}catch(failure){return failed(failure)}},onMove(input){if(alive&&epoch===token){try{move?.(input)}catch(failure){failed(failure)}}},onEnd(reason){if(alive&&(epoch===token||reason==="disconnect"&&retiring===token)){try{end?.(reason)}catch(failure){failed(failure)}}},...wheel===void 0?{}:{onWheel(input){if(!alive||epoch!==token)return false;try{const accepted=wheel?.(input)??false;return accepted&&alive&&epoch===token}catch(failure){return failed(failure)}}}});if(result.ok){if(alive&&epoch===token){native=result.value;handle.set({connection:native,element:target})}else result.value.disconnect()}else if(epoch===token){epoch=void 0;error.value=result.error.code}};useConnectionLifetime({read,equal:(next,previous)=>next[0]===previous[0]&&next[1]===previous[1],connect:attach,disconnect:release,dispose(){alive=false;element=void 0;active=void 0;host=void 0;start=void 0;move=void 0;end=void 0;wheel=void 0;admit=void 0}});return Object.freeze({...handle.view,error:shallowReadonly(error)})}export{useMediaGesture};
2
2
  //# sourceMappingURL=media-gesture.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/media-gesture.ts"],"mappings":"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","names":[],"file":"media-gesture.js"}
1
+ {"version":3,"sources":["../src/media-gesture.ts"],"mappings":"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","names":[],"file":"media-gesture.js"}
@@ -9,4 +9,21 @@ export interface NumberFieldProps {
9
9
  readonly label?: string;
10
10
  readonly native?: boolean;
11
11
  }
12
- export declare const NumberField: import("vue").DefineComponent<import("./input/native-field.js").NativeFieldPublicProps<string, import("@sectile/core").NumberFieldPolicies>>;
12
+ export type NumberFieldEditResult = {
13
+ readonly status: 'accepted';
14
+ readonly value: string | null;
15
+ } | {
16
+ readonly status: 'rejected';
17
+ readonly reason: 'unavailable' | 'disabled' | 'readonly' | 'composing' | 'busy' | 'invalid' | 'refused';
18
+ };
19
+ export interface NumberFieldExpose {
20
+ getText(): string | null;
21
+ commitValue(value: string | null): Promise<NumberFieldEditResult>;
22
+ clear(): Promise<NumberFieldEditResult>;
23
+ stepBy(delta: string): Promise<NumberFieldEditResult>;
24
+ }
25
+ declare const NumberFieldImplementation: import("vue").DefineComponent<import("./input/native-field.js").NativeFieldPublicProps<string, import("@sectile/core").NumberFieldPolicies>>;
26
+ export declare const NumberField: typeof NumberFieldImplementation & {
27
+ new (): InstanceType<typeof NumberFieldImplementation> & NumberFieldExpose;
28
+ };
29
+ export {};
@@ -1,2 +1,2 @@
1
- import{}from"vue";import{createNumberField}from"@sectile/dom/number-field";import{createNativeFieldComponent}from"./input/native-field.js";const NumberField=createNativeFieldComponent({name:"SectileNumberField",scope:"number-field",inputMode:"decimal",formatValue:value=>value,valueType:String,create:options=>{const{onValueChange,policies,...rest}=options;return createNumberField({...rest,...policies===void 0?{}:{policies},onValueChange:({value})=>onValueChange(value)})}});export{NumberField};
1
+ import{nextTick,onBeforeUnmount}from"vue";import{createNumberField}from"@sectile/dom/number-field";import{createNativeFieldComponent}from"./input/native-field.js";function numberCommands(port){const reject=reason=>({status:"rejected",reason});const command=async apply=>{const host=port.host,target=host?.connection;if(!host?.mounted||!target)return reject("unavailable");if(host.disabled)return reject("disabled");if(host.readOnly)return reject("readonly");if(host.composing)return reject("composing");if(port.editing)return reject("busy");port.editing=true;try{if(!apply(target))return reject("invalid");const proposal=target.getText();await nextTick();if(port.host!==host||!host.mounted||host.connection!==target)return reject("unavailable");target.handleEvent("cancel");return target.getText()===proposal?{status:"accepted",value:target.getValue()}:reject("refused")}finally{port.editing=false}};return{getText:()=>port.host?.connection?.getText()??null,commitValue:value=>command(target=>target.handleEvent({type:"set-value",value})),clear:()=>command(target=>target.handleEvent({type:"set-value",value:null})),stepBy:delta=>command(target=>target.handleEvent({type:"step",delta}))}}const NumberFieldImplementation=createNativeFieldComponent({name:"SectileNumberField",scope:"number-field",inputMode:"decimal",formatValue:value=>value,valueType:String,exposeValueCommands(host,expose){const port={host,editing:false};expose(numberCommands(port));onBeforeUnmount(()=>{port.host=void 0})},commitValue:(connection,value)=>connection.handleEvent({type:"set-value",value}),create:options=>{const{onValueChange,policies,...rest}=options;return createNumberField({...rest,...policies===void 0?{}:{policies},onValueChange:({value})=>onValueChange(value)})}});const NumberField=NumberFieldImplementation;export{NumberField};
2
2
  //# sourceMappingURL=number-field.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/number-field.ts"],"mappings":"AAAA,YAA8B,MAC9B,OACE,sBAGK,4BACP,OAAS,+BAAkE,0BAepE,MAAM,YAAc,2BAAwD,CACjF,KAAM,qBACN,MAAO,eACP,UAAW,UACX,YAAc,OAAU,MACxB,UAAW,OACX,OAAS,SAA0F,CACjG,KAAM,CAAE,cAAe,SAAU,GAAG,IAAI,EAAK,QAC7C,OAAO,kBAAkB,CACvB,GAAG,KACH,GAAI,WAAa,OACb,CAAA,EACA,CAAE,QAAQ,EACd,cAAe,CAAC,CAAE,KAAK,IAAO,cAAc,KAAK,EAClD,CACH,EACD","names":[],"file":"number-field.js"}
1
+ {"version":3,"sources":["../src/number-field.ts"],"mappings":"AAAA,OAAS,SAAU,oBAAsC,MACzD,OACE,sBAGK,4BACP,OAAS,+BAA+F,0BAwBxG,SAAS,eAAe,KAAiB,CACvC,MAAM,OAAU,SAAqG,CAAE,OAAQ,WAAY,MAAM,GACjJ,MAAM,QAAU,MAAO,OAAqF,CAC1G,MAAM,KAAO,KAAK,KAAM,OAAS,MAAM,WACvC,GAAI,CAAC,MAAM,SAAW,CAAC,OAAQ,OAAO,OAAO,aAAa,EAC1D,GAAI,KAAK,SAAU,OAAO,OAAO,UAAU,EAC3C,GAAI,KAAK,SAAU,OAAO,OAAO,UAAU,EAC3C,GAAI,KAAK,UAAW,OAAO,OAAO,WAAW,EAC7C,GAAI,KAAK,QAAS,OAAO,OAAO,MAAM,EACtC,KAAK,QAAU,KACf,GAAI,CACF,GAAI,CAAC,MAAM,MAAM,EAAG,OAAO,OAAO,SAAS,EAC3C,MAAM,SAAW,OAAO,QAAO,EAAI,MAAM,SAAQ,EACjD,GAAI,KAAK,OAAS,MAAQ,CAAC,KAAK,SAAW,KAAK,aAAe,OAAQ,OAAO,OAAO,aAAa,EAClG,OAAO,YAAY,QAAQ,EAC3B,OAAO,OAAO,QAAO,IAAO,SAAW,CAAE,OAAQ,WAAY,MAAO,OAAO,SAAQ,CAAE,EAAK,OAAO,SAAS,CAC5G,SAAY,KAAK,QAAU,KAAO,CACpC,EACA,MAAO,CAAE,QAAS,IAAM,KAAK,MAAM,YAAY,QAAO,GAAM,KAC1D,YAAa,OAAS,QAAQ,QAAU,OAAO,YAAY,CAAE,KAAM,YAAa,KAAK,CAAE,CAAC,EACxF,MAAO,IAAM,QAAQ,QAAU,OAAO,YAAY,CAAE,KAAM,YAAa,MAAO,IAAI,CAAE,CAAC,EACrF,OAAQ,OAAS,QAAQ,QAAU,OAAO,YAAY,CAAE,KAAM,OAAQ,KAAK,CAAE,CAAC,CAAC,CACnF,CACA,MAAM,0BAA4B,2BAAwD,CACxF,KAAM,qBACN,MAAO,eACP,UAAW,UACX,YAAc,OAAU,MACxB,UAAW,OACX,oBAAoB,KAAM,OAAM,CAC9B,MAAM,KAAoB,CAAE,KAAM,QAAS,KAAK,EAAI,OAAO,eAAe,IAAI,CAAC,EAAG,gBAAgB,IAAK,CAAG,KAAK,KAAO,MAAW,CAAC,CACpI,EACA,YAAa,CAAC,WAAY,QAAW,WAAqC,YAAY,CAAE,KAAM,YAAa,KAAK,CAAE,EAClH,OAAS,SAA0F,CACjG,KAAM,CAAE,cAAe,SAAU,GAAG,IAAI,EAAK,QAC7C,OAAO,kBAAkB,CACvB,GAAG,KACH,GAAI,WAAa,OACb,CAAA,EACA,CAAE,QAAQ,EACd,cAAe,CAAC,CAAE,KAAK,IAAO,cAAc,KAAK,EAClD,CACH,EACD,EACM,MAAM,YAAc","names":[],"file":"number-field.js"}
@@ -1,4 +1,5 @@
1
1
  import { type Component } from 'vue';
2
+ import type { TooltipGroup } from '@sectile/dom/tooltip';
2
3
  import type { PositionOptions } from '@sectile/dom/position';
3
4
  import type { InteractOutsideEvent, InteractOutsideHandler } from '@sectile/dom';
4
5
  import type { DOMLayerPresentationSnapshot, DOMLayerPresentationListener, DOMLayerPresentationSubscription, DOMLayerReparentErrorCode } from '@sectile/dom/dialog';
@@ -36,6 +37,9 @@ export interface PopupConnection {
36
37
  disconnect(): void;
37
38
  }
38
39
  export interface PopupFactoryOptions extends PositionOptions {
40
+ readonly openDelay?: number;
41
+ readonly closeDelay?: number;
42
+ readonly group?: TooltipGroup;
39
43
  readonly root: HTMLElement;
40
44
  readonly trigger?: HTMLElement;
41
45
  readonly anchor?: HTMLElement;
@@ -1,2 +1,2 @@
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};
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:{openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},group:{type:Object,default:void 0},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;let inlineReturn;const rememberInlineOrigin=()=>{const panel=content.value,focused=panel?.ownerDocument.activeElement;inlineReturn=active.value&&props.restoreFocus&&panel&&focused instanceof HTMLElement&&panel.contains(focused)?{panel,target:focused,armed:false}:void 0};watch(inline,async next=>{if(!next)return;const pending=inlineReturn;inlineReturn=void 0;if(!pending?.armed)return;await nextTick();if(destroyed||!inline.value||localOpen.value||!active.value||!props.restoreFocus||content.value!==pending.panel)return;const panel=pending.panel,document=panel.ownerDocument;const focused=panel.getRootNode().activeElement;if(focused&&focused!==document.body&&focused!==document.documentElement&&!panel.contains(focused))return;for(const target of[restoreFocusTarget(),trigger.value,pending.target]){if(!target||!panel.contains(target)||!target.isConnected||target.closest('[hidden],[inert],[aria-hidden="true"],:disabled'))continue;let visible=true;for(let node=target;node;node=node.parentElement){const style=document.defaultView?.getComputedStyle(node);if(style?.display==="none"||style?.visibility==="hidden"||style?.visibility==="collapse"||style?.contentVisibility==="hidden"){visible=false;break}}if(!visible)continue;target.focus({preventScroll:true});break}},{flush:"post"});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,...config.triggerMode==="focus-hover"?{openDelay:props.openDelay,closeDelay:props.closeDelay,...props.group===void 0?{}:{group:props.group}}:{},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;inlineReturn=void 0;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"){rememberInlineOrigin();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([()=>props.openDelay,()=>props.closeDelay,()=>props.group],()=>{if(config.triggerMode==="focus-hover")scheduleConnect()});watch(localOpen,(next,previous)=>{if(inlineReturn){if(next)inlineReturn.armed=false;else if(previous&&requestedPlacement()==="inline")inlineReturn.armed=true;else inlineReturn=void 0}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();else if(inline.value)rememberInlineOrigin();placement.value=requested;if(requested==="overlay"){if(controlled&&props.open!==void 0)localOpen.value=props.open;scheduleConnect()}});onBeforeUnmount(()=>{destroyed=true;inlineReturn=void 0;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;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,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":"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","names":[],"file":"popup.js"}