@soybeanjs/headless 0.12.0 → 0.12.2

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.
@@ -8,15 +8,15 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_12) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<DialogContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
13
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
14
  focusOutside: (event: FocusOutsideEvent) => any;
15
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
16
16
  openAutoFocus: (event: Event) => any;
17
17
  }, string, vue.PublicProps, Readonly<DialogContentProps> & Readonly<{
18
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
@@ -16,8 +16,8 @@ declare const __VLS_base: vue.DefineComponent<CollapsibleRootProps, {
16
16
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
18
  open: boolean;
19
- defaultOpen: boolean;
20
19
  unmountOnHide: boolean;
20
+ defaultOpen: boolean;
21
21
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
23
  declare const _default: typeof __VLS_export;
@@ -8,18 +8,18 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_11) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<ContextMenuContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
- entryFocus: (event: Event) => any;
13
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
14
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
+ entryFocus: (event: Event) => any;
15
15
  focusOutside: (event: FocusOutsideEvent) => any;
16
16
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
17
  openAutoFocus: (event: Event) => any;
18
18
  }, string, vue.PublicProps, Readonly<ContextMenuContentProps> & Readonly<{
19
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
- onEntryFocus?: ((event: Event) => any) | undefined;
21
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
22
+ onEntryFocus?: ((event: Event) => any) | undefined;
23
23
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
24
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
25
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
@@ -8,15 +8,15 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_13) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<DialogContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
13
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
14
  focusOutside: (event: FocusOutsideEvent) => any;
15
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
16
16
  openAutoFocus: (event: Event) => any;
17
17
  }, string, vue.PublicProps, Readonly<DialogContentProps> & Readonly<{
18
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
@@ -8,18 +8,18 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_11) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<MenuContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
- entryFocus: (event: Event) => any;
13
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
14
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
+ entryFocus: (event: Event) => any;
15
15
  focusOutside: (event: FocusOutsideEvent) => any;
16
16
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
17
  openAutoFocus: (event: Event) => any;
18
18
  }, string, vue.PublicProps, Readonly<MenuContentProps> & Readonly<{
19
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
- onEntryFocus?: ((event: Event) => any) | undefined;
21
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
22
+ onEntryFocus?: ((event: Event) => any) | undefined;
23
23
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
24
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
25
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
@@ -8,18 +8,18 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<MenuContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
- entryFocus: (event: Event) => any;
13
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
14
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
+ entryFocus: (event: Event) => any;
15
15
  focusOutside: (event: FocusOutsideEvent) => any;
16
16
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
17
  openAutoFocus: (event: Event) => any;
18
18
  }, string, vue.PublicProps, Readonly<MenuContentProps> & Readonly<{
19
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
- onEntryFocus?: ((event: Event) => any) | undefined;
21
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
22
+ onEntryFocus?: ((event: Event) => any) | undefined;
23
23
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
24
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
25
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
@@ -8,18 +8,18 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<MenuSubContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
- entryFocus: (event: Event) => any;
13
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
14
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
+ entryFocus: (event: Event) => any;
15
15
  focusOutside: (event: FocusOutsideEvent) => any;
16
16
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
17
  openAutoFocus: (event: Event) => any;
18
18
  }, string, vue.PublicProps, Readonly<MenuSubContentProps> & Readonly<{
19
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
- onEntryFocus?: ((event: Event) => any) | undefined;
21
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
22
+ onEntryFocus?: ((event: Event) => any) | undefined;
23
23
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
24
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
25
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
@@ -8,15 +8,15 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_13) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<PopoverPositionerProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- escapeKeyDown: (event: KeyboardEvent) => any;
12
11
  closeAutoFocus: (event: Event) => any;
12
+ escapeKeyDown: (event: KeyboardEvent) => any;
13
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
14
  focusOutside: (event: FocusOutsideEvent) => any;
15
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
16
16
  openAutoFocus: (event: Event) => any;
17
17
  }, string, vue.PublicProps, Readonly<PopoverPositionerProps> & Readonly<{
18
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
@@ -203,9 +203,9 @@ declare const __VLS_base: vue.DefineComponent<PopperPositionerProps, {}, {}, {},
203
203
  'aria-valuenow': string | number;
204
204
  'aria-valuetext': string;
205
205
  align: Align;
206
- side: _floating_ui_utils0.Side;
207
206
  reference: _floating_ui_dom0.ReferenceElement;
208
207
  placement: Placement$1;
208
+ side: _floating_ui_utils0.Side;
209
209
  sideOffset: number;
210
210
  sideFlip: boolean;
211
211
  alignOffset: number;
@@ -18,8 +18,8 @@ declare const __VLS_base: vue.DefineComponent<RovingFocusGroupProps, {
18
18
  "onUpdate:currentTabStopId"?: ((value: string | null | undefined) => any) | undefined;
19
19
  }>, {
20
20
  orientation: DataOrientation;
21
- loop: boolean;
22
21
  preventScrollOnEntryFocus: boolean;
22
+ loop: boolean;
23
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{tryFocusFirst as e}from"../../shared/focus.js";import"../../shared/index.js";import{useBodyScrollLock as t}from"../../composables/use-body-scroll-lock.js";import{useDismissableLayer as n}from"../../composables/use-dismissable-layer.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import{useFocusGuards as i}from"../../composables/use-focus-guards.js";import{useFocusScope as a}from"../../composables/use-focus-scope.js";import{useHideOthers as ee}from"../../composables/use-hide-others.js";import{useOmitProps as o}from"../../composables/use-props.js";import{useTypeahead as s}from"../../composables/use-typeahead.js";import"../../composables/index.js";import c from"../popper/popper-positioner.js";import"../popper/index.js";import{provideSelectContentContext as te,useCollectionContext as ne,useSelectPopupElementContext as l,useSelectRootContext as u}from"./context.js";import"./shared.js";import re from"./select-popper-popup.js";import d from"./select-item-aligned-popup.js";import f from"./select-item-aligned-positioner.js";import{computed as p,createBlock as m,createVNode as h,defineComponent as g,mergeProps as _,onWatcherCleanup as v,openBlock as y,renderSlot as b,unref as x,watch as S,watchEffect as C,withCtx as w,withModifiers as T}from"vue";const E=g({name:`SelectContentImpl`,__name:`select-content-impl`,props:{position:{default:`popper`},bodyLock:{type:Boolean,default:!0},popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`start`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean,default:!0},collisionBoundary:{},collisionPadding:{default:10},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},disableOutsidePointerEvents:{type:Boolean,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(g,{emit:E}){let D=g,O=E,{onOpenChange:k,dataState:A,modelValue:j,isMultiple:M,dir:N,contentId:P,triggerElement:F,triggerPointerDownPosition:I,resetTriggerPointerDownPosition:L}=u(`SelectContentImpl`),{onPopupElementChange:R}=l(`SelectContentImpl`),{onContainerElementChange:z,getOrderedItems:B,getOrderedElements:V}=ne(`SelectContentImpl`),[H,U]=r(),[W,G]=r(e=>{R(e),z(e)}),{search:K,handleTypeaheadSearch:q}=s(),{pointerEvents:J}=n(H,{disableOutsidePointerEvents:()=>D.disableOutsidePointerEvents,onEscapeKeyDown:e=>{O(`escapeKeyDown`,e)},onPointerDownOutside:e=>{O(`pointerDownOutside`,e)},onFocusOutside:e=>{e.preventDefault()},onDismiss:()=>{k(!1)}}),{onKeydown:Y}=a(H,{onOpenAutoFocus:e=>{e.preventDefault()},onCloseAutoFocus:e=>{O(`closeAutoFocus`,e),!e.defaultPrevented&&(F.value?.focus({preventScroll:!0}),e.preventDefault())}}),{isPositioned:X,focusSelectedItem:ie}=te({position:p(()=>D.position),modelValue:j,isMultiple:M,search:K,popupElement:W}),ae=o(D,[`position`,`bodyLock`,`popupProps`]),Z=p(()=>({display:`flex`,flexDirection:`column`,outline:`none`,pointerEvents:J.value})),Q=t=>{Y(t);let n=t.ctrlKey||t.altKey||t.metaKey;if(t.key===`Tab`&&t.preventDefault(),!n&&t.key.length===1&&q(t.key,B()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key)){let n=[...V()];if([`ArrowUp`,`End`].includes(t.key)&&(n=n.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(t.key)){let e=t.target,r=n.indexOf(e);n=n.slice(r+1)}setTimeout(()=>{e(n)}),t.preventDefault()}},$=()=>{X.value=!0};return i(),ee(W),S(X,()=>{ie()}),C(()=>{D.bodyLock&&v(t())}),C(()=>{if(!W.value)return;let e={x:0,y:0},t=t=>{let{x:n,y:r}=I.value??{x:0,y:0};e={x:Math.abs(Math.round(t.pageX)-n),y:Math.abs(Math.round(t.pageY)-r)}},n=n=>{n.pointerType!==`touch`&&(e.x<=10&&e.y<=10?n.preventDefault():W.value?.contains(n.target)||k(!1),document.removeEventListener(`pointermove`,t),L())};I.value!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),v(()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})})}),(e,t)=>g.position===`popper`?(y(),m(x(c),_({key:0,ref:x(U)},x(ae),{onContextmenu:t[0]||(t[0]=T(()=>{},[`prevent`])),onPlaced:$,onKeydown:Q}),{default:w(()=>[h(re,_({id:x(P),ref:x(G)},g.popupProps,{"data-dismissable-layer":``,"data-state":x(A),dir:x(N),role:`listbox`,tabindex:`-1`,style:Z.value}),{default:w(()=>[b(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`style`])]),_:3},16)):(y(),m(f,{key:1,ref:x(U),onContextmenu:t[1]||(t[1]=T(()=>{},[`prevent`])),onPlaced:$,onKeydown:Q},{default:w(()=>[h(d,_({id:x(P),ref:x(G)},g.popupProps,{"data-dismissable-layer":``,"data-state":x(A),dir:x(N),role:`listbox`,tabindex:`-1`,style:Z.value}),{default:w(()=>[b(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`style`])]),_:3},512))}});export{E as default};
1
+ import{tryFocusFirst as e}from"../../shared/focus.js";import"../../shared/index.js";import{useBodyScrollLock as t}from"../../composables/use-body-scroll-lock.js";import{useDismissableLayer as n}from"../../composables/use-dismissable-layer.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import{useFocusGuards as i}from"../../composables/use-focus-guards.js";import{useFocusScope as a}from"../../composables/use-focus-scope.js";import{useHideOthers as ee}from"../../composables/use-hide-others.js";import{useOmitProps as o}from"../../composables/use-props.js";import{useTypeahead as s}from"../../composables/use-typeahead.js";import"../../composables/index.js";import c from"../popper/popper-positioner.js";import"../popper/index.js";import{provideSelectContentContext as l,useCollectionContext as te,useSelectPopupElementContext as ne,useSelectRootContext as u}from"./context.js";import"./shared.js";import d from"./select-popper-popup.js";import f from"./select-item-aligned-popup.js";import p from"./select-item-aligned-positioner.js";import{computed as m,createBlock as h,createVNode as g,defineComponent as _,mergeProps as v,onWatcherCleanup as y,openBlock as b,renderSlot as x,unref as S,watch as C,watchEffect as w,withCtx as T,withModifiers as E}from"vue";const D=_({name:`SelectContentImpl`,__name:`select-content-impl`,props:{position:{default:`popper`},bodyLock:{type:Boolean,default:!0},popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`start`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean,default:!0},collisionBoundary:{},collisionPadding:{default:10},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},disableOutsidePointerEvents:{type:Boolean,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(_,{emit:D}){let O=_,k=D,{open:re,onOpenChange:A,dataState:j,modelValue:M,isMultiple:N,dir:P,contentId:F,triggerElement:I,triggerPointerDownPosition:L,resetTriggerPointerDownPosition:R}=u(`SelectContentImpl`),{onPopupElementChange:z}=ne(`SelectContentImpl`),{onContainerElementChange:B,getOrderedItems:V,getOrderedElements:H}=te(`SelectContentImpl`),[U,W]=r(),[G,K]=r(e=>{z(e),B(e)}),{search:q,handleTypeaheadSearch:J}=s(),{pointerEvents:Y}=n(U,{disableOutsidePointerEvents:()=>O.disableOutsidePointerEvents,onEscapeKeyDown:e=>{k(`escapeKeyDown`,e)},onPointerDownOutside:e=>{k(`pointerDownOutside`,e)},onFocusOutside:e=>{e.preventDefault()},onDismiss:()=>{A(!1)}}),{onKeydown:ie}=a(U,{onOpenAutoFocus:e=>{e.preventDefault()},onCloseAutoFocus:e=>{k(`closeAutoFocus`,e),!e.defaultPrevented&&(I.value?.focus({preventScroll:!0}),e.preventDefault())}}),{isPositioned:X,focusSelectedItem:ae}=l({position:m(()=>O.position),modelValue:M,isMultiple:N,search:q,popupElement:G}),oe=o(O,[`position`,`bodyLock`,`popupProps`,`disableOutsidePointerEvents`]),Z=m(()=>({display:`flex`,flexDirection:`column`,outline:`none`,pointerEvents:Y.value})),Q=t=>{ie(t);let n=t.ctrlKey||t.altKey||t.metaKey;if(t.key===`Tab`&&t.preventDefault(),!n&&t.key.length===1&&J(t.key,V()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key)){let n=[...H()];if([`ArrowUp`,`End`].includes(t.key)&&(n=n.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(t.key)){let e=t.target,r=n.indexOf(e);n=n.slice(r+1)}setTimeout(()=>{e(n)}),t.preventDefault()}},$=()=>{X.value=!0};return i(),ee(G,re),C(X,()=>{ae()}),w(()=>{O.bodyLock&&y(t())}),w(()=>{if(!G.value)return;let e={x:0,y:0},t=t=>{let{x:n,y:r}=L.value??{x:0,y:0};e={x:Math.abs(Math.round(t.pageX)-n),y:Math.abs(Math.round(t.pageY)-r)}},n=n=>{n.pointerType!==`touch`&&(e.x<=10&&e.y<=10?n.preventDefault():G.value?.contains(n.target)||A(!1),document.removeEventListener(`pointermove`,t),R())};L.value!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),y(()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})})}),(e,t)=>_.position===`popper`?(b(),h(S(c),v({key:0,ref:S(W)},S(oe),{onContextmenu:t[0]||(t[0]=E(()=>{},[`prevent`])),onPlaced:$,onKeydown:Q}),{default:T(()=>[g(d,v({id:S(F),ref:S(K)},_.popupProps,{"data-dismissable-layer":``,"data-state":S(j),dir:S(P),role:`listbox`,tabindex:`-1`,style:Z.value}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`style`])]),_:3},16)):(b(),h(p,{key:1,ref:S(W),onContextmenu:t[1]||(t[1]=E(()=>{},[`prevent`])),onPlaced:$,onKeydown:Q},{default:T(()=>[g(f,v({id:S(F),ref:S(K)},_.popupProps,{"data-dismissable-layer":``,"data-state":S(j),dir:S(P),role:`listbox`,tabindex:`-1`,style:Z.value}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`style`])]),_:3},512))}});export{D as default};
@@ -10,12 +10,12 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_22) => any;
11
11
  };
12
12
  declare const __VLS_base: vue.DefineComponent<SelectContentProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
13
- escapeKeyDown: (event: KeyboardEvent) => any;
14
13
  closeAutoFocus: (event: Event) => any;
14
+ escapeKeyDown: (event: KeyboardEvent) => any;
15
15
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
16
16
  }, string, vue.PublicProps, Readonly<SelectContentProps> & Readonly<{
17
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
18
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
19
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
20
20
  }>, {
21
21
  position: SelectPosition;
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useTypeahead as t}from"../../composables/use-typeahead.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import r from"../popper/popper-anchor.js";import"../popper/index.js";import{useCollectionContext as i,useSelectRootContext as a,useSelectUi as o}from"./context.js";import{OPEN_KEYS as s,shouldShowPlaceholder as c}from"./shared.js";import{computed as l,createBlock as u,createVNode as d,defineComponent as f,normalizeClass as p,openBlock as m,renderSlot as h,unref as g,withCtx as _,withModifiers as v}from"vue";const y=f({name:`SelectTrigger`,__name:`select-trigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{default:`button`}},setup(f){let y=f,{open:b,dataState:x,modelValue:S,disabled:C,required:w,contentId:T,dir:E,initContentId:D,onTriggerElementChange:O,onOpenChange:k,setTriggerPointerDownPosition:A}=a(`SelectTrigger`),[j,M]=e(O),{getOrderedItems:N}=i(`SelectTrigger`),{search:P,handleTypeaheadSearch:F,resetTypeahead:I}=t(),L=o(`trigger`),R=l(()=>C.value||y.disabled),z=l(()=>c(S.value)?``:void 0),B=l(()=>y.as===`button`?`button`:void 0),V=()=>{R.value||(k(!0),I())},H=e=>{V();let{pageX:t,pageY:n}=e;A({x:Math.round(t),y:Math.round(n)})},U=e=>{e.currentTarget?.focus()},W=e=>{if(e.pointerType===`touch`){e.preventDefault();return}let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(H(e),e.preventDefault())},G=e=>{e.pointerType===`touch`&&H(e)},K=e=>{let t=P.value!==``;if(!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `)return;let n=N();F(e.key,n),s.includes(e.key)&&(V(),e.preventDefault())};return D(),(e,t)=>(m(),u(g(r),{"as-child":``,reference:f.reference},{default:_(()=>[d(g(n),{ref:g(M),as:f.as,"as-child":f.asChild,class:p(g(L)),"aria-controls":g(T),"aria-expanded":g(b)||!1,"aria-required":g(w),"aria-autocomplete":`none`,disabled:R.value,dir:g(E),"data-state":g(x),"data-disabled":R.value?``:void 0,"data-placeholder":z.value,role:`combobox`,type:B.value,onClick:U,onPointerdown:W,onPointerup:v(G,[`prevent`]),onKeydown:K},{default:_(()=>[h(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`type`])]),_:3},8,[`reference`]))}});export{y as default};
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useTypeahead as t}from"../../composables/use-typeahead.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import r from"../popper/popper-anchor.js";import"../popper/index.js";import{useCollectionContext as i,useSelectRootContext as a,useSelectUi as o}from"./context.js";import{OPEN_KEYS as s,shouldShowPlaceholder as c}from"./shared.js";import{computed as l,createBlock as u,createVNode as d,defineComponent as f,normalizeClass as p,openBlock as m,renderSlot as h,unref as g,withCtx as _,withModifiers as v}from"vue";const y=f({name:`SelectTrigger`,__name:`select-trigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{default:`button`}},setup(f){let y=f,{open:b,dataState:x,modelValue:S,disabled:C,required:w,contentId:T,dir:E,initContentId:D,onTriggerElementChange:O,onOpenChange:k,setTriggerPointerDownPosition:A}=a(`SelectTrigger`),[j,M]=e(O),{getOrderedItems:N}=i(`SelectTrigger`),{search:P,handleTypeaheadSearch:F,resetTypeahead:I}=t(),L=o(`trigger`),R=l(()=>C.value||y.disabled),z=l(()=>c(S.value)?``:void 0),B=l(()=>y.as===`button`?`button`:void 0),V=()=>{R.value||(k(!0),I())},H=e=>{V();let{pageX:t,pageY:n}=e;A({x:Math.round(t),y:Math.round(n)})},U=e=>{b.value||e.currentTarget?.focus()},W=e=>{if(e.pointerType===`touch`){e.preventDefault();return}let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(H(e),e.preventDefault())},G=e=>{e.pointerType===`touch`&&H(e)},K=e=>{let t=P.value!==``;if(!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `)return;let n=N();F(e.key,n),s.includes(e.key)&&(V(),e.preventDefault())};return D(),(e,t)=>(m(),u(g(r),{"as-child":``,reference:f.reference},{default:_(()=>[d(g(n),{ref:g(M),as:f.as,"as-child":f.asChild,class:p(g(L)),"aria-controls":g(T),"aria-expanded":g(b)||!1,"aria-required":g(w),"aria-autocomplete":`none`,disabled:R.value,dir:g(E),"data-state":g(x),"data-disabled":R.value?``:void 0,"data-placeholder":z.value,role:`combobox`,type:B.value,onClick:U,onPointerdown:W,onPointerup:v(G,[`prevent`]),onKeydown:K},{default:_(()=>[h(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`type`])]),_:3},8,[`reference`]))}});export{y as default};
@@ -18,8 +18,8 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.C
18
18
  orientation: DataOrientation;
19
19
  modelValue: DefinedValue | null;
20
20
  loop: boolean;
21
- unmountOnHide: boolean;
22
21
  activationMode: TabsActivationMode;
22
+ unmountOnHide: boolean;
23
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
@@ -13,27 +13,27 @@ type __VLS_Slots = {} & {
13
13
  };
14
14
  declare const __VLS_base: vue.DefineComponent<ToastRootProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
15
15
  pause: () => any;
16
+ "update:open": (value: boolean) => any;
16
17
  escapeKeyDown: (event: KeyboardEvent) => any;
17
18
  resume: () => any;
18
19
  swipeStart: (event: SwipeEvent) => any;
19
20
  swipeMove: (event: SwipeEvent) => any;
20
21
  swipeCancel: (event: SwipeEvent) => any;
21
22
  swipeEnd: (event: SwipeEvent) => any;
22
- "update:open": (value: boolean) => any;
23
23
  }, string, vue.PublicProps, Readonly<ToastRootProps> & Readonly<{
24
24
  onPause?: (() => any) | undefined;
25
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
26
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
26
27
  onResume?: (() => any) | undefined;
27
28
  onSwipeStart?: ((event: SwipeEvent) => any) | undefined;
28
29
  onSwipeMove?: ((event: SwipeEvent) => any) | undefined;
29
30
  onSwipeCancel?: ((event: SwipeEvent) => any) | undefined;
30
31
  onSwipeEnd?: ((event: SwipeEvent) => any) | undefined;
31
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
32
32
  }>, {
33
33
  open: boolean;
34
34
  as: AsTag | vue.Component;
35
- liveType: ToastLiveType;
36
35
  defaultOpen: boolean;
36
+ liveType: ToastLiveType;
37
37
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
38
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
39
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{isClient as e}from"../shared/env.js";import{handleAndDispatchCustomEvent as t}from"../shared/event.js";import"../shared/index.js";import{useEscapeKeyDown as n}from"./use-escape-key-down.js";import{computed as r,nextTick as i,onBeforeUnmount as a,onMounted as o,onWatcherCleanup as s,shallowReactive as c,toValue as l,watch as u,watchEffect as d}from"vue";const f=`data-dismissable-layer`,p={layers:c(new Set),layersWithOutsidePointerEventsDisabled:c(new Set),branches:c(new Set)};let m;function h(e,t={}){let{disableOutsidePointerEvents:i,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:c,onInteractOutside:d,onDismiss:f}=t,h=()=>e.value?.ownerDocument??globalThis?.document,g=r(()=>e.value?Array.from(p.layers).indexOf(e.value):-1),y=r(()=>p.layersWithOutsidePointerEventsDisabled.size>0),b=r(()=>{let e=Array.from(p.layers),[t]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),n=t?e.indexOf(t):-1;return g.value>=n}),x=r(()=>{if(y.value)return b.value?`auto`:`none`});return _(e,e=>{if(!b.value)return;let t=e.target;[...p.branches].some(e=>e.contains(t))||(o?.(e),d?.(e),e.defaultPrevented||f?.())}),v(e,e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(c?.(e),d?.(e),e.defaultPrevented||f?.())}),n(h,e=>{g.value===p.layers.size-1&&(a?.(e),e.defaultPrevented||(e.preventDefault(),f?.()))}),u(e,e=>{if(!e)return;let t=h(),n=l(i);n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(m=t.body.style.pointerEvents,t.body.style.pointerEvents=`none`),p.layersWithOutsidePointerEventsDisabled.add(e)),p.layers.add(e),s(()=>{n&&p.layersWithOutsidePointerEventsDisabled.size===1&&(m?t.body.style.pointerEvents=m:t.body.style.removeProperty(`pointer-events`)),p.layers.delete(e),p.layersWithOutsidePointerEventsDisabled.delete(e)})}),{pointerEvents:x}}function g(e){o(()=>{e.value&&p.branches.add(e.value)}),a(()=>{e.value&&p.branches.delete(e.value)})}function _(n,r,i=!0){let a=!1,o=()=>{};return d(()=>{if(!e||!l(i)||!n.value)return;let c=n.value.ownerDocument;async function u(e){if(!n.value)return;let i=e.target;if(a=y(n.value,i),i&&!a){let n={originalEvent:e};function i(){t(`dismissableLayer.pointerDownOutside`,r,n)}e.pointerType===`touch`?(c.removeEventListener(`click`,o),o=i,c.addEventListener(`click`,o,{once:!0})):i()}else c.removeEventListener(`click`,o);a=!1}let d=window.setTimeout(()=>{c.addEventListener(`pointerdown`,u)},0);s(()=>{window.clearTimeout(d),c.removeEventListener(`pointerdown`,u),c.removeEventListener(`click`,o)})}),{onPointerdownCapture:()=>{l(i)&&(a=!0)}}}function v(n,r,a=!0){let o=!1,c=async e=>{await i(),n.value&&(o=y(n.value,e.target),e.target&&!o&&t(`dismissableLayer.focusOutside`,r,{originalEvent:e}))};return d(()=>{if(!e||!l(a)||!n.value)return;let t=n.value.ownerDocument;t.addEventListener(`focusin`,c),s(()=>{t.removeEventListener(`focusin`,c)})}),{onFocusCapture:()=>{l(a)&&(o=!0)},onBlurCapture:()=>{l(a)&&(o=!1)}}}function y(e,t){if(!e)return!1;let n=t.closest(`[${f}]`);if(!n)return!1;if(e===n)return!0;let r=Array.from(e.ownerDocument.querySelectorAll(`[${f}]`));return r.indexOf(e)<r.indexOf(n)}export{h as useDismissableLayer,g as useDismissableLayerBranch,v as useFocusOutside,_ as usePointerdownOutside};
1
+ import{isClient as e}from"../shared/env.js";import{handleAndDispatchCustomEvent as t}from"../shared/event.js";import"../shared/index.js";import{useEscapeKeyDown as n}from"./use-escape-key-down.js";import{computed as r,nextTick as i,onBeforeUnmount as a,onMounted as o,onWatcherCleanup as s,shallowReactive as c,toValue as l,watch as u,watchEffect as d}from"vue";const f=`data-dismissable-layer`,p={layers:c(new Set),layersWithOutsidePointerEventsDisabled:c(new Set),branches:c(new Set)};let m;function h(e,t={}){let{disableOutsidePointerEvents:i,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:c,onInteractOutside:d,onDismiss:f}=t,h=()=>e.value?.ownerDocument??globalThis?.document,g=r(()=>e.value?Array.from(p.layers).indexOf(e.value):-1),y=r(()=>p.layersWithOutsidePointerEventsDisabled.size>0),b=r(()=>{let e=Array.from(p.layers),[t]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),n=t?e.indexOf(t):-1;return g.value>=n}),x=r(()=>{if(y.value)return b.value?`auto`:`none`});return _(e,e=>{if(!b.value)return;let t=e.target;[...p.branches].some(e=>e.contains(t))||(o?.(e),d?.(e),e.defaultPrevented||f?.())}),v(e,e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(c?.(e),d?.(e),e.defaultPrevented||f?.())}),n(h,e=>{g.value===p.layers.size-1&&(a?.(e),e.defaultPrevented||(e.preventDefault(),f?.()))}),u(e,e=>{if(!e)return;let t=h(),n=l(i);n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(m=t.body.style.pointerEvents,t.body.style.pointerEvents=`none`),p.layersWithOutsidePointerEventsDisabled.add(e)),p.layers.add(e),s(()=>{n&&p.layersWithOutsidePointerEventsDisabled.size===1&&(m?t.body.style.pointerEvents=m:t.body.style.removeProperty(`pointer-events`)),p.layers.delete(e),p.layersWithOutsidePointerEventsDisabled.delete(e)})}),{pointerEvents:x}}function g(e){o(()=>{e.value&&p.branches.add(e.value)}),a(()=>{e.value&&p.branches.delete(e.value)})}function _(n,r,i=!0){let a=!1,o=()=>{};return d(()=>{if(!e||!l(i)||!n.value)return;let c=n.value.ownerDocument;async function u(e){if(!n.value)return;let i=e.target;if(a=y(n.value,i),i&&!a){let n={originalEvent:e};function i(){t(`dismissableLayer.pointerDownOutside`,r,n)}e.pointerType===`touch`?(c.removeEventListener(`click`,o),o=i,c.addEventListener(`click`,o,{once:!0})):i()}else c.removeEventListener(`click`,o);a=!1}let d=window.setTimeout(()=>{c.addEventListener(`pointerdown`,u)},0);s(()=>{window.clearTimeout(d),c.removeEventListener(`pointerdown`,u),c.removeEventListener(`click`,o)})}),{onPointerdownCapture:()=>{l(i)&&(a=!0)}}}function v(n,r,a=!0){let o=!1,c=async e=>{await i(),n.value&&(o=y(n.value,e.target),e.target&&!o&&t(`dismissableLayer.focusOutside`,r,{originalEvent:e}))};return d(()=>{if(!e||!l(a)||!n.value)return;let t=n.value.ownerDocument;t.addEventListener(`focusin`,c),s(()=>{t.removeEventListener(`focusin`,c)})}),{onFocusCapture:()=>{l(a)&&(o=!0)},onBlurCapture:()=>{l(a)&&(o=!1)}}}function y(e,t){if(!e)return!1;if(e.contains(t))return!0;let n=b(e),r=t.closest(`[${f}]`);if(!n||!r)return!1;if(n===r)return!0;let i=Array.from(n.ownerDocument.querySelectorAll(`[${f}]`));return i.indexOf(n)<i.indexOf(r)}function b(e){return e.hasAttribute(f)?e:e.querySelector(`[${f}]`)}export{h as useDismissableLayer,g as useDismissableLayerBranch,v as useFocusOutside,_ as usePointerdownOutside};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/headless",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "SoybeanHeadless is a collection unstyled components for Vue 3. It is designed to be lightweight and easy to use.",
5
5
  "homepage": "https://github.com/soybeanjs/soybean-ui",
6
6
  "bugs": {
@@ -73,7 +73,7 @@
73
73
  "@internationalized/date": "^3.12.0",
74
74
  "@internationalized/number": "^3.6.5",
75
75
  "@standard-schema/spec": "^1.1.0",
76
- "@tanstack/vue-virtual": "^3.13.19",
76
+ "@tanstack/vue-virtual": "^3.13.21",
77
77
  "@vue/shared": "^3.5.29",
78
78
  "@vueuse/core": "^14.2.1",
79
79
  "@vueuse/integrations": "^14.2.1",