@pantograph/vue 0.23.21 → 0.23.23

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.
@@ -1,4 +1,4 @@
1
- import { _ as s, C as t, a as x, i as C, p as a } from "../Combobox.vue_vue_type_style_index_0_lang-xUIlRKTq.js";
1
+ import { _ as s, C as t, a as x, i as C, p as a } from "../Combobox.vue_vue_type_style_index_0_lang-DzDD2bJT.js";
2
2
  export {
3
3
  s as Combobox,
4
4
  t as ComboboxSizes,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../Combobox.vue_vue_type_style_index_0_lang-Dr2iY00V.js");exports.Combobox=o._sfc_main;exports.ComboboxSizes=o.ComboboxSizes;exports.ComboboxStatuses=o.ComboboxStatuses;exports.injectComboboxContext=o.injectComboboxContext;exports.provideComboboxContext=o.provideComboboxContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../Combobox.vue_vue_type_style_index_0_lang-CFaNWocK.js");exports.Combobox=o._sfc_main;exports.ComboboxSizes=o.ComboboxSizes;exports.ComboboxStatuses=o.ComboboxStatuses;exports.injectComboboxContext=o.injectComboboxContext;exports.provideComboboxContext=o.provideComboboxContext;
@@ -1 +1 @@
1
- "use strict";const t=require("vue"),$=require("reka-ui"),G=require("./FormItem.vue_vue_type_style_index_0_lang-Bo3o8_6v.js"),ue=require("./options-CWrQ7gsa.js"),c=require("@pantograph/utils"),E=require("./index-DWw7aruo.js"),he=require("class-variance-authority"),ie=require("./omit-CYbreqlf.js"),qe=require("./Empty.vue_vue_type_style_index_0_lang-DidQV2p4.js"),we=require("./Skeleton.vue_vue_type_style_index_0_lang-CWNX_-Jl.js"),fe=require("./Divider.vue_vue_type_style_index_0_lang-DoEWjJx6.js"),D=require("./element-BjE0SVc4.js"),xe=require("./useInputDataStates-D1X-Whwt.js"),Me=require("./useLazyLoading-H6VG5aE-.js"),Ve=require("./Popover.vue_vue_type_style_index_0_lang-txLoIoSw.js"),Ae=require("./ScrollContainer.vue_vue_type_style_index_0_lang-BIoD2_5T.js"),Ne=require("./Tree.vue_vue_type_style_index_0_lang-26mqYWer.js"),Be=require("./uniq-DGkyiyS4.js"),Q=require("./isEmpty-bCllo8T9.js"),Ke=require("./Chip.vue_vue_type_style_index_0_lang-CtgInoR3.js"),Re=require("./ChipGroup.vue_vue_type_style_index_0_lang-BVwWqy-3.js"),_e=require("./Icon.vue_vue_type_style_index_0_lang-D3cRtJNJ.js"),ve=require("./Avatar.vue_vue_type_style_index_0_lang-CLZz5CmG.js"),Fe=require("./GraphicalObjectGroup.vue_vue_type_style_index_0_lang-CDFDVi-0.js"),Ee=require("./GraphicalObject.vue_vue_type_script_setup_true_lang-BZ5qLbnJ.js"),We=require("./Input.vue_vue_type_style_index_0_lang-CWW5TIRh.js"),Oe=require("@vueuse/core"),Ge=require("lodash-es"),je=require("./MenuItem.vue_vue_type_style_index_0_lang-CYOdJYFY.js");require("@iconify/vue");const Ue=require("./Checkbox.vue_vue_type_style_index_0_lang-Bz-fwglK.js");require("@pantograph/tokens");const[pe,Pe]=$.createContext("Combobox"),[$e,He]=$.createContext("_Combobox"),w=c.getBemBlock("combobox");var Ye=1/0;function Je(d){var n=d==null?0:d.length;return n?ie.baseFlatten(d,Ye):[]}const ae=d=>G.isNumber(d)||E.isString(d);function Qe({getValue:d,arr:n,getChildren:o}){const e=[],p=(i,P)=>{i.forEach(k=>{const x=d(k);if(ae(x)){e.push({...k,_parentKeys:P,_key:x});const V=o(k);V!=null&&V.length&&p(V,[...P??[],x])}})};return p(n),e}const Xe=({getData:d,getModel:n,getValue:o,getChildren:e})=>{const p=t.computed(()=>Qe({arr:t.unref(d()),getChildren:e,getValue:o})),i=(s,m=!1)=>{const l=o(s);return p.value.filter(f=>{var v;if(m){const h=ie.last(f._parentKeys??[]);return h&&h===l}return(v=f._parentKeys)==null?void 0:v.includes(l)})},P=s=>{if(s&&E.isArray(s))return G.cloneDeep(s);const m=t.unref(n());return m&&E.isArray(m)?G.cloneDeep(m):[]},k=(s,m)=>{const l=P(m),f=i(s);if(f!=null&&f.length)return f.some(v=>{var a;const h=v._key;return h&&((a=l==null?void 0:l.includes)==null?void 0:a.call(l,h))})},x=(s,m)=>{const l=P(m),f=i(s);if(f!=null&&f.length)return f.every(v=>{var a;const h=v._key;return h&&((a=l==null?void 0:l.includes)==null?void 0:a.call(l,h))})},V=(s,m)=>{const l=P(m),f=i(s),v=o(s);return f!=null&&f.length?x(s)?!0:k(s)?"intermediate":!1:l.includes(v)},M=s=>ae(s)?p.value.find(m=>m._key===s):void 0;return{flattenData:p,getNodeChildren:i,isSomeChildrenSelected:k,isAllChildrenSelected:x,isSelected:V,selectValues:(s,m)=>{if(s.length){let l=P();const f=s.filter(ae);m?l.push(...f):l=l.filter(y=>!f.includes(y));const v=l.map(M).filter(y=>y&&y._parentKeys),a=Be.uniq(Je(v.map(y=>y._parentKeys))).filter(ae).map(M).filter(Boolean),T=[],z=[];return a.forEach(y=>{const L=o(y);x(y,l)?T.push(L):z.push(L)}),l.push(...T),Be.uniq(l.filter(y=>!z.includes(y)))}}}},ye=["sm","md","lg"],ke=["error","warning","success"],Ze={key:1},Ie=t.defineComponent({__name:"ComboboxInput",setup(d){const n=pe();Oe.whenever(()=>n.open.value&&n.headerInputElement.value,()=>{n.headerInputElement.value&&n.open.value&&n.focusOnInput()});const o=t.computed(()=>!Q.isEmpty(n.modelValue.value)),e=t.computed(()=>o.value?E.isArray(n.modelValue.value)?n.getLabelByValue(Ge.last(n.modelValue.value)):n.getLabelByValue(n.modelValue.value):n.props.placeholder),p=k=>{if(k.key==="Backspace"&&n.props.multiple&&E.isArray(n.modelValue.value)&&Q.isEmpty(n.searchModel.value)&&(n.setModelValue(n.modelValue.value.slice(0,-1)),Q.isEmpty(n.modelValue.value))){const x=setTimeout(()=>{n.focusOnInput(),clearTimeout(x)},2)}},i=c.getBemElement(w,"input"),P=he.cva(i,{variants:{valuePlaceholder:c.generateVariantClassList("value-placeholder",i)}});return(k,x)=>(t.openBlock(),t.createBlock(t.unref($.ComboboxInput),t.mergeProps(t.unref(n).comboboxInputBinding.value,{disabled:t.unref(n).getDisabled.value,placeholder:e.value,"as-child":"",modelValue:t.unref(n).searchModel.value,"onUpdate:modelValue":x[0]||(x[0]=V=>t.unref(n).searchModel.value=V),onKeydown:p,class:t.unref(P)({valuePlaceholder:o.value}),displayValue:()=>""}),{default:t.withCtx(()=>[t.unref(n).props.headerSearch?(t.openBlock(),t.createBlock(We._sfc_main,{key:0,ref:t.unref(n).headerInputElement,placeholder:t.unref(n).props.placeholder},{leading:t.withCtx(({iconSize:V})=>[t.createVNode(_e._sfc_main,{size:V,icon:"tabler:search",flipOnDir:"rtl"},null,8,["size"])]),_:1},8,["placeholder"])):(t.openBlock(),t.createElementBlock("input",Ze))]),_:1},16,["disabled","placeholder","modelValue","class"]))}}),et=t.defineComponent({name:ue.getComponentName("ComboboxTrigger"),props:{},setup(d,{slots:n,attrs:o}){const e=pe(),p=({value:a},T)=>{if(T.stopPropagation(),a&&E.isArray(e.modelValue.value)&&!e.getDisabled.value){const z=e.modelValue.value.filter(y=>y!==a);e.setModelValue(z)}},i=c.getBemElement(w,"trigger"),P=he.cva(i,{variants:{size:c.generateVariantClassList(ye,i),headerSearch:c.generateVariantClassList("header-search",i),status:c.generateVariantClassList(ke,i),bordered:c.generateVariantClassList("bordered",i),multiple:c.generateVariantClassList("multiple",i),contentFit:c.generateVariantClassList("content-fit",i),wrapped:c.generateVariantClassList("wrapped",i),filled:c.generateVariantClassList("filled",i)}}),k=t.computed(()=>{switch(e.getSize.value){case"sm":return"2xsm";case"md":default:return"xsm"}}),x=t.computed(()=>{if(!e.props.multiple&&E.isString(e.modelValue.value)&&!Q.isEmpty(e.modelValue.value))return e.getOptionByValue(e.modelValue.value)}),V=(a=x.value)=>{if(e.props.selectedItemIconAsTrailingIcon&&E.isObject(a)&&"icon"in a)return a.icon},M=t.computed(()=>V()),N=t.computed(()=>{if(!e.props.noTrailing)return e.props.trailingIcon}),s=t.computed(()=>({modelValue:G.cloneDeep(e.modelValue.value),open:G.cloneDeep(e.open.value)})),m=()=>{e.onOpenChange(!e.open.value)},l=a=>{console.log("event ===>",a),e.props.headerSearch},f=t.computed(()=>({disabled:e.getDisabled.value,tabindex:e.getDisabled.value||!e.props.headerSearch?-1:0,reference:e.props.reference,"data-disabled":e.getDisabled.value?"":void 0,"aria-disabled":e.getDisabled.value??void 0,"aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":e.open.value,"aria-controls":e.contentId,"data-state":e.open.value?"open":"closed",class:[P({size:e.getSize.value,status:e.getStatus.value==="success"&&Q.isEmpty(e.modelValue.value)?void 0:e.getStatus.value,bordered:e.props.bordered,multiple:e.props.multiple,contentFit:e.props.contentFit,wrapped:e.props.wrapped,filled:!Q.isEmpty(e.modelValue.value),headerSearch:e.props.headerSearch}),e.props.triggerCls],...o})),v=(a,T=k.value)=>t.h(_e._sfc_main,{icon:a,size:T}),h=()=>{var z;let a;const T=(z=n.triggerTrailing)==null?void 0:z.call(n,s.value);if(D.isEmptyElement(T)?N.value&&(a=v(N.value)):a=T,a)return t.h("div",{class:[c.getBemElement(i,"trailing"),e.props.triggerTrailingCls]},a)};return()=>{var y;const a=(y=n.trigger)==null?void 0:y.call(n,s.value),z=(()=>{if(D.isEmptyElement(a))return!1;const L=D.filterEmpty(a)??null,K=L.length===1?L[0]:L;return K?D.isValidElement(K)&&!D.isFragment(K):!0})();return t.h($.ComboboxAnchor,{...f.value,...e.comboboxTriggerBinding.value,asChild:z,as:z?"template":"button",key:String(z),onKeyUp:l,onClick:m},()=>{if(!D.isEmptyElement(a))return a;const L=O=>{var J,U;const R=e.getOptionByValue(O);return t.h(ve._sfc_main,{...R?((U=(J=e.props).getTagProps)==null?void 0:U.call(J,R))??{}:{},size:e.getTagSize.value})},K=O=>{var J,U;const R=e.getOptionByValue(O);return t.h(Ee._sfc_main,{...R?((U=(J=e.props).getTagProps)==null?void 0:U.call(J,R))??{}:{},size:e.getTagSize.value})},ce=()=>{if(!e.props.multiple&&!E.isArray(e.modelValue.value)&&e.modelValue.value&&(e.props.tagRenderMode&&["avatar","go"].includes(e.props.tagRenderMode)||M.value||e.props.leadingIcon)){let O;if(e.props.tagRenderMode==="avatar"?O=L(e.modelValue.value):e.props.tagRenderMode==="go"?O=K(e.modelValue.value):M.value?O=v(M.value):e.props.leadingIcon&&(O=v(e.props.leadingIcon)),!D.isEmptyElement(O))return t.h("div",{class:[c.getBemElement(i,"leading"),e.props.triggerLeadingCls]},O)}},de=()=>{const O=[],R=[c.getBemElement(i,"tags"),e.props.triggerContentCls,Q.isEmpty(e.modelValue.value)?e.props.triggerContentPlaceholderCls:e.props.triggerContentValueCls],U=(()=>{if(e.props.multiple&&E.isArray(e.modelValue.value)){if(e.props.tagRenderMode==="avatar")return t.h(ve._sfc_main$1,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R},()=>e.modelValue.value.map(L));if(e.props.tagRenderMode==="go")return t.h(Fe._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R},()=>e.modelValue.value.map(K));if(e.props.tagRenderMode==="chip")return t.h(Re._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,color:"primary",closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R,onClose:p},()=>e.modelValue.value.map(H=>{var se,ne;const oe=()=>e.getLabelByValue(H),X=({size:ge})=>{const ee=V(e.getOptionByValue(H))??e.props.leadingIcon;return ee?v(ee,ge):null},Z=e.getOptionByValue(H);return t.h(Ke._sfc_main,{...Z?((ne=(se=e.props).getTagProps)==null?void 0:ne.call(se,Z))??{}:{},value:H,class:[c.getBemElement(i,"tag"),e.props.tagCls],closeIconCls:c.getBemElement(i,"tag__close")},{text:oe,leading:X})}))}})();return U&&O.push(U),e.props.headerSearch||O.push(t.h(Ie)),t.h("div",{class:c.getBemElement(i,"content")},O)},j=[],te=ce();D.isEmptyElement(te)||j.push(te),j.push(de());const le=h();return D.isEmptyElement(le)||j.push(le),j})}}}),tt=t.defineComponent({__name:"ComboboxLabel",setup(d){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(c.getBemElement)(t.unref(w),"label"))},[t.renderSlot(n.$slots,"default")],2))}}),Se=t.defineComponent({name:ue.getComponentName("SelectOption"),props:{option:{type:[Object,String],required:!0}},slots:Object,setup(d,{slots:n}){const o=pe(),e=t.computed(()=>{switch(o.getSize.value){case"sm":return"2xsm";case"lg":return"sm";case"md":default:return"xsm"}}),p=t.computed(()=>o.getOptionValue(d.option)),i=t.computed(()=>o.getOptionNoCheckbox(d.option)),P=t.computed(()=>o.getOptionSingle(d.option)),k=t.computed(()=>o.getOptionLabel(d.option)),x=t.computed(()=>o.getOptionIcon(d.option)),V=t.computed(()=>o.props.tree?void 0:o.getOptionDescription(d.option)),M=t.computed(()=>o.getOptionDisabled(d.option)),N=t.computed(()=>o.isItemSelected(p.value)),s=c.getBemElement(w,"option"),m=()=>{if(!(o.props.tree||!p.value||M.value))if(o.props.multiple)if(P.value)o.setModelValue([p.value]),o.emit("select",p.value,!0);else{let l=E.isArray(o.modelValue.value)?o.modelValue.value:[];const f=l.includes(p.value);l.length===1&&o.getSingleByValue(l[0])&&p.value!==l[0]&&(l=[]),f?(o.setModelValue(l.filter(v=>v!==p.value)),o.emit("select",p.value,!0)):(o.setModelValue([...l,p.value]),o.emit("select",p.value,!1))}else o.setModelValue(p.value),o.emit("select",p.value,!0)};if(!d.option)throw new Error("option is required");return()=>{const l=v=>{var T,z,y,L,K;const h=[];!o.props.tree&&o.props.multiple&&o.props.checkbox&&!i.value&&h.push(t.h(Ue._sfc_main,{modelValue:N.value,size:v.checkboxSize,disabled:M.value}));const a=(T=n.leading)==null?void 0:T.call(n,{option:d.option});return D.isEmptyElement(a)?o.props.tagRenderMode==="avatar"?h.push(t.h(ve._sfc_main,{...((y=(z=o.props).getTagProps)==null?void 0:y.call(z,d.option))??{},size:o.getTagSize.value})):o.props.tagRenderMode==="go"?h.push(t.h(Ee._sfc_main,{...((K=(L=o.props).getTagProps)==null?void 0:K.call(L,d.option))??{},size:o.getTagSize.value})):x.value&&h.push(t.h(_e._sfc_main,{icon:x.value,size:e.value})):h.push(a),D.isEmptyElement(h)?null:h};return(()=>{const v=!!V.value;return t.h(je._sfc_main$1,{class:s,description:V.value,title:k.value,key:p.value,selected:N.value,unFocusable:!0,leadingCenter:!v,size:o.getSize.value,disabled:M.value,onClick:m},{leading:l,trailing:()=>{var h;return(h=n.trailing)==null?void 0:h.call(n,{option:d.option})}})})()}}}),ot=t.defineComponent({name:ue.getComponentName("ComboboxWrapper"),setup(d,{slots:n}){const o=$e(),e=$.injectComboboxRootContext(),p=t.ref();Me.useLazyLoading({target:p});const i=t.ref(),P=Ve.getPopoverPortalProps({triggerRef:i,props:o.props}),{getFlipOnDir:k,getDir:x}=E.useConfig(),V=k("reversePlacementOnDir"),M=x(),N=Ve.getPopoverContentProps({props:o.props,flip:V,emitsAsProps:o.emitsAsProps,_dir:M,controlAutoFocus:!1,extraPropNames:["bodyLock","position"]}),s=({key:r,getterKey:u,defaultValue:_,noReturnOption:B})=>b=>{const A=E.isFunction(_)?_(b):_;if(E.isObject(b)){const F=b[r]??A,W=u&&o.props[u];if(W){if(E.isString(W))return b[W]??F;if(E.isFunction(W))return W(b)??F}return F}return E.isString(b)&&!B?b??A:A},m=s({getterKey:"getValue",key:"value"}),l=s({getterKey:"getNoCheckbox",key:"noCheckbox"}),f=s({getterKey:"geSingle",key:"single",noReturnOption:!0}),v=s({getterKey:"getLabel",key:"label",defaultValue:m}),h=s({getterKey:"getIcon",key:"icon",noReturnOption:!0}),a=s({getterKey:"getDescription",key:"description",noReturnOption:!0}),T=s({getterKey:"getDisabled",key:"disabled",defaultValue:!1,noReturnOption:!0}),z=s({getterKey:"getGroupLabel",key:"label",noReturnOption:!0}),y=s({getterKey:"getGroupOptions",key:"options",noReturnOption:!0}),L=r=>{var u;if((u=o.props.options)!=null&&u.length)for(const _ of o.props.options){if(m(_)===r)return _;const B=y(_);if(B!=null&&B.length){for(const b of B)if(m(b)===r)return b}}return r},K=r=>{const u=L(r);return u?v(u)??r:r},ce=r=>{const u=L(r);return u?f(u)??!1:!1},{contains:de}=$.useFilter({sensitivity:"base"}),j=t.computed(()=>{const r=u=>u==null?void 0:u.map(_=>{const B=v(_),b=m(_),A=T(_),F=z(_),W=!o.searchModel.value||B&&de(B,o.searchModel.value),g=y(_),S=!o.props.tree||b;if(g&&S){const C=r(g);if(C!=null&&C.length||W)return{groupLabel:F,title:B,key:b,disabled:A,children:C,_option:_}}return W&&S?{title:B,key:b,disabled:A,_option:_}:null}).filter(Boolean);if(o.props.options)return r(o.props.options)}),{getDisabled:te,getStatus:le,getSize:O}=xe.useFormInput({getDisabled:()=>o.props.disabled,getSize:()=>o.props.size,getStatus:()=>o.props.status}),R=t.computed(()=>{switch(O.value){case"sm":return"xsm";case"lg":return"md";case"md":default:return"sm"}}),{inputBindings:J,rootBindings:U}=xe.UseInputDataStates({getDisabled:()=>te.value}),H=t.ref(),oe=()=>{var r,u,_,B,b,A,F;e.open.value&&e.inputElement.value&&(o.props.headerSearch&&((r=H.value)!=null&&r.input)?document.activeElement!==((u=H.value)==null?void 0:u.input)&&((b=(B=(_=H.value)==null?void 0:_.input)==null?void 0:B.focus)==null||b.call(B)):document.activeElement!==e.inputElement.value&&((F=(A=e.inputElement.value)==null?void 0:A.focus)==null||F.call(A)))},X=r=>{e.modelValue.value=r,o.emit("update:modelValue",r)},Z=r=>r===void 0?!1:Array.isArray(e.modelValue.value)?!!(r&&e.modelValue.value.includes(r)):e.modelValue.value===r;Pe({...o,getOptionValue:m,getOptionLabel:v,getOptionSingle:f,getOptionNoCheckbox:l,getOptionDescription:a,getOptionDisabled:T,getOptionIcon:h,getOptionByValue:L,isItemSelected:Z,getLabelByValue:K,getSingleByValue:ce,focusOnInput:oe,setModelValue:X,headerInputElement:H,getDisabled:te,getStatus:le,getSize:O,getTagSize:R,comboboxInputBinding:J,comboboxTriggerBinding:U,...e,modelValue:e.modelValue}),t.watch(()=>[o.props.clearOnChangeMultiple,o.props.multiple],()=>{o.props.clearOnChangeMultiple&&X(void 0)});const se=t.computed(()=>{const r=o.props.scrollContainerProps??{};return{...r,areaCls:[c.getBemElement(w,"scroll_area"),r==null?void 0:r.class,r==null?void 0:r.areaCls]}}),ne=c.getBemElement(w,"popup"),ge=he.cva(ne,{variants:{size:c.generateVariantClassList(ye,ne)}}),ee=r=>{if(Number(r)>0)return`${r}px`;if(typeof r=="string")return r},Te=t.computed(()=>ee(o.props.popupWidth)),ze=t.computed(()=>ee(o.props.popupHeight)),be=t.computed(()=>ee(o.props.minWidth)),Ce=t.computed(()=>({type:O.value==="sm"?"simple":"advance",...ie.omit(o.props.emptyProps??{},"class")})),Le=t.computed(()=>ie.omit(o.props.skeletonProps??{},"class")),{selectValues:De}=Xe({getValue:r=>r==null?void 0:r.key,getChildren:r=>r==null?void 0:r.children,getModel:()=>G.cloneDeep(e.modelValue.value),getData:()=>G.cloneDeep(j.value??[])});return()=>{var F,W;const r=g=>t.h(Se,{option:g},{trailing:n.optionTrailing,leading:n.optionLeading}),u=[];let _;if(o.props.tree){const S=E.isArray(e.modelValue.value)?e.modelValue.value:e.modelValue.value?[e.modelValue.value]:[];_=t.h(Ne._sfc_main,{data:j.value??[],selectable:!0,checkbox:o.props.multiple&&o.props.checkbox,multiple:o.props.multiple,defaultExpandAll:!0,syncCheckboxAndSelect:o.props.multiple,showLine:!0,modelValue:S,checkedKeys:S,onExpand:oe,onSelect:(C,q,I)=>{if(o.props.multiple){const Y=E.isArray(I)?I:[I];X(De(Y,q))}else X(I)},class:"w-full"},{title:C=>r(C._option)}),u.push(_)}else{let g=!1;const S=[];if((j.value??[]).forEach(C=>{var q;if((q=C.children)!=null&&q.length){const I=[];C.children.forEach(Y=>{const re=r(Y._option);Z(m(Y._option))&&o.props.sortSelectedItems?S.push(re):I.push(re)}),I.length&&((g||u.length)&&(u.push(t.h(fe._sfc_main)),g=!1),C.groupLabel&&u.push(t.h(tt,{class:o.props.labelCls},()=>C.groupLabel)),u.push(...I),g=!0)}else{const I=r(C._option);Z(m(C._option))&&o.props.sortSelectedItems?S.push(I):(g&&(u.push(t.h(fe._sfc_main)),g=!1),u.push(I))}}),o.props.sortSelectedItems&&S.length){const C=!!u.length;u.splice(0,0,...S),C&&u.splice(S.length,0,t.h(fe._sfc_main))}}const B=D.flattenChildrenByType(_?[_]:u,Se).filter(g=>{var S;return E.isObject(g==null?void 0:g.props)&&((S=g==null?void 0:g.props)==null?void 0:S.option)}),b=!!(o.props.tree&&((F=j.value)!=null&&F.length)||B!=null&&B.length),A=()=>{var S,C;const g=[];if(b||o.props.loading){const q=[];if(b&&q.push(...u),o.props.loading){const I=(S=n.loading)==null?void 0:S.call(n,{});if(!D.isEmptyElement(I))q.push(I);else{const Y=new Array(b?2:o.props.loadingRowCount).fill(1);q.push(...Y.map(()=>t.h(we._sfc_main,{size:O.value,class:[c.getBemElement(w,"skeleton"),o.props.skeletonCls],...Le.value})))}}g.push(t.h("div",{class:[c.getBemElement(w,"options"),o.props.optionsCls]},q))}else if(!b){const q=(C=n.empty)==null?void 0:C.call(n,Ce.value);D.isEmptyElement(q)?g.push(t.h(qe._sfc_main,{class:[c.getBemElement(w,"empty"),o.props.emptyCls],...Ce.value},{title:n.emptyTitle,description:n.emptyDescription,actions:n.emptyActions,image:n.emptyImage})):g.push(q)}return o.props.lazyLoading&&g.push(t.h("div",{class:c.getBemElement(w,"lazy_loading")},t.h("div",{class:c.getBemElement(w,"lazy_loading_trigger"),ref:p}))),g};return[t.h(et,{ref:i,...o.attrs,style:{...((W=o.attrs)==null?void 0:W.style)??{},"--ptc-combobox-trigger-min-w":be.value}},{trigger:n.trigger,triggerTrailing:n.triggerTrailing}),t.h($.ComboboxPortal,P.value,()=>t.h($.ComboboxContent,{...N.value,vShow:e.open.value,class:[ge(o.props),o.props.popupCls],style:{"--ptc-combobox-popup-width":o.props.samePopupWidth?void 0:Te.value,"--ptc-combobox-popup-height":ze.value,"--ptc-combobox-trigger-min-w":be.value},onClick:oe},()=>{var I,Y,re;const g=[],S=(I=n.header)==null?void 0:I.call(n,{}),C=!D.isEmptyElement(S);if(o.props.headerSearch||C){const me=[];C&&me.push(S),o.props.headerSearch&&me.push(t.h(Ie)),g.push(t.h("div",{class:c.getBemElement(w,"header")},me))}g.push(t.h(Ae._sfc_main,se.value,A));const q=(re=n.footer)==null?void 0:re.call(n,{isEmpty:!((Y=j.value)!=null&&Y.length),search:o.searchModel.value});return D.isEmptyElement(q)||g.push(t.h("div",{class:c.getBemElement(w,"footer")},q)),g}))]}}}),nt=t.defineComponent({...ue.getComponentOptions("Combobox"),__name:"Combobox",props:{size:{default:"md"},status:{},multiple:{type:Boolean,default:void 0},checkbox:{type:Boolean,default:!0},tagRenderMode:{default:"chip"},getTagProps:{},tree:{type:Boolean},contentFit:{type:Boolean},wrapped:{type:Boolean},sortSelectedItems:{type:Boolean},noTrailing:{type:Boolean},leadingIcon:{},trailingIcon:{default:"tabler:chevron-down"},selectedItemIconAsTrailingIcon:{type:Boolean,default:!0},maxCount:{},to:{},placeholder:{},indicatorIcon:{default:"tabler:check"},options:{},getDisabled:{},getLabel:{},getDescription:{},getValue:{},getNoCheckbox:{},geSingle:{},getGroupOptions:{},getGroupLabel:{},getIcon:{},placement:{default:"bottom-start"},reversePlacementOnDir:{},loading:{type:Boolean},skeletonProps:{},loadingRowCount:{default:10},lazyLoading:{type:Boolean},bordered:{type:Boolean,default:!0},clearOnChangeMultiple:{type:Boolean,default:!0},triggerCls:{},triggerLeadingCls:{},triggerContentCls:{},triggerContentPlaceholderCls:{},triggerContentValueCls:{},triggerTrailingCls:{},itemLeadingCls:{},optionCls:{},tagCls:{},popupCls:{},labelCls:{},optionsCls:{},optionTextCls:{},optionContentCls:{},emptyCls:{},skeletonCls:{},scrollContainerProps:{},emptyProps:{},samePopupWidth:{type:Boolean,default:!0},popupHeight:{default:384},popupWidth:{},minWidth:{},headerSearch:{type:Boolean},search:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},resetSearchTermOnBlur:{type:Boolean,default:!0},resetSearchTermOnSelect:{type:Boolean,default:!0},modelValue:{},defaultValue:{},dir:{},disabled:{type:Boolean,default:void 0},highlightOnHover:{type:Boolean},by:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},reference:{},forceMount:{type:Boolean,default:void 0},position:{default:"popper"},bodyLock:{type:Boolean},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean,default:void 0},collisionBoundary:{},collisionPadding:{default:4},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean,default:void 0},positionStrategy:{default:"fixed"},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean,default:void 0},prioritizePosition:{type:Boolean,default:void 0},disableOutsidePointerEvents:{type:Boolean},defer:{type:Boolean}},emits:["update:search","select","update:modelValue","highlight","update:open","escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(d,{emit:n}){const o=d,e=n,p=$.useEmitAsProps(e),i=t.computed(()=>G.omitBy({...G.pick(o,"open","defaultOpen","defaultValue","modelValue","by","dir","multiple","disabled"),...G.pick(p,"onUpdate:modelValue","onUpdate:open"),ignoreFilter:!0},G.isUndefined)),P=Oe.useVModel(o,"search",e,{passive:o.search===void 0}),k=t.useSlots(),x=t.useAttrs();return He({attrs:x,props:o,emit:e,searchModel:P,emitsAsProps:p}),(V,M)=>(t.openBlock(),t.createBlock(t.unref($.ComboboxRoot),t.mergeProps(i.value,{class:t.unref(w)}),{default:t.withCtx(()=>[t.createVNode(t.unref(ot),null,t.createSlots({_:2},[t.renderList(Object.keys(k),N=>({name:N,fn:t.withCtx(s=>[t.renderSlot(V.$slots,N,t.normalizeProps(t.guardReactiveProps(s)))])}))]),1024)]),_:3},16,["class"]))}});exports.ComboboxSizes=ye;exports.ComboboxStatuses=ke;exports._sfc_main=nt;exports.injectComboboxContext=pe;exports.provideComboboxContext=Pe;
1
+ "use strict";const t=require("vue"),$=require("reka-ui"),G=require("./FormItem.vue_vue_type_style_index_0_lang-Bo3o8_6v.js"),ue=require("./options-CWrQ7gsa.js"),c=require("@pantograph/utils"),E=require("./index-DWw7aruo.js"),he=require("class-variance-authority"),ie=require("./omit-CYbreqlf.js"),qe=require("./Empty.vue_vue_type_style_index_0_lang-DidQV2p4.js"),we=require("./Skeleton.vue_vue_type_style_index_0_lang-CWNX_-Jl.js"),fe=require("./Divider.vue_vue_type_style_index_0_lang-DoEWjJx6.js"),D=require("./element-BjE0SVc4.js"),xe=require("./useInputDataStates-D1X-Whwt.js"),Me=require("./useLazyLoading-H6VG5aE-.js"),Ve=require("./Popover.vue_vue_type_style_index_0_lang-txLoIoSw.js"),Ae=require("./ScrollContainer.vue_vue_type_style_index_0_lang-BIoD2_5T.js"),Ne=require("./Tree.vue_vue_type_style_index_0_lang-26mqYWer.js"),Be=require("./uniq-DGkyiyS4.js"),Q=require("./isEmpty-bCllo8T9.js"),Ke=require("./Chip.vue_vue_type_style_index_0_lang-CtgInoR3.js"),Re=require("./ChipGroup.vue_vue_type_style_index_0_lang-BVwWqy-3.js"),_e=require("./Icon.vue_vue_type_style_index_0_lang-D3cRtJNJ.js"),ve=require("./Avatar.vue_vue_type_style_index_0_lang-CLZz5CmG.js"),Fe=require("./GraphicalObjectGroup.vue_vue_type_style_index_0_lang-CDFDVi-0.js"),Ee=require("./GraphicalObject.vue_vue_type_script_setup_true_lang-BZ5qLbnJ.js"),We=require("./Input.vue_vue_type_style_index_0_lang-CWW5TIRh.js"),Oe=require("@vueuse/core"),Ge=require("lodash-es"),je=require("./MenuItem.vue_vue_type_style_index_0_lang-CYOdJYFY.js");require("@iconify/vue");const Ue=require("./Checkbox.vue_vue_type_style_index_0_lang-Bz-fwglK.js");require("@pantograph/tokens");const[pe,Pe]=$.createContext("Combobox"),[$e,He]=$.createContext("_Combobox"),w=c.getBemBlock("combobox");var Ye=1/0;function Je(d){var n=d==null?0:d.length;return n?ie.baseFlatten(d,Ye):[]}const ae=d=>G.isNumber(d)||E.isString(d);function Qe({getValue:d,arr:n,getChildren:o}){const e=[],p=(i,P)=>{i.forEach(k=>{const V=d(k);if(ae(V)){e.push({...k,_parentKeys:P,_key:V});const y=o(k);y!=null&&y.length&&p(y,[...P??[],V])}})};return p(n),e}const Xe=({getData:d,getModel:n,getValue:o,getChildren:e})=>{const p=t.computed(()=>Qe({arr:t.unref(d()),getChildren:e,getValue:o})),i=(s,m=!1)=>{const l=o(s);return p.value.filter(f=>{var v;if(m){const h=ie.last(f._parentKeys??[]);return h&&h===l}return(v=f._parentKeys)==null?void 0:v.includes(l)})},P=s=>{if(s&&E.isArray(s))return G.cloneDeep(s);const m=t.unref(n());return m&&E.isArray(m)?G.cloneDeep(m):[]},k=(s,m)=>{const l=P(m),f=i(s);if(f!=null&&f.length)return f.some(v=>{var a;const h=v._key;return h&&((a=l==null?void 0:l.includes)==null?void 0:a.call(l,h))})},V=(s,m)=>{const l=P(m),f=i(s);if(f!=null&&f.length)return f.every(v=>{var a;const h=v._key;return h&&((a=l==null?void 0:l.includes)==null?void 0:a.call(l,h))})},y=(s,m)=>{const l=P(m),f=i(s),v=o(s);return f!=null&&f.length?V(s)?!0:k(s)?"intermediate":!1:l.includes(v)},M=s=>ae(s)?p.value.find(m=>m._key===s):void 0;return{flattenData:p,getNodeChildren:i,isSomeChildrenSelected:k,isAllChildrenSelected:V,isSelected:y,selectValues:(s,m)=>{if(s.length){let l=P();const f=s.filter(ae);m?l.push(...f):l=l.filter(b=>!f.includes(b));const v=l.map(M).filter(b=>b&&b._parentKeys),a=Be.uniq(Je(v.map(b=>b._parentKeys))).filter(ae).map(M).filter(Boolean),T=[],z=[];return a.forEach(b=>{const L=o(b);V(b,l)?T.push(L):z.push(L)}),l.push(...T),Be.uniq(l.filter(b=>!z.includes(b)))}}}},ye=["sm","md","lg"],ke=["error","warning","success"],Ze={key:1},Ie=t.defineComponent({__name:"ComboboxInput",setup(d){const n=pe();Oe.whenever(()=>n.open.value&&n.headerInputElement.value,()=>{n.headerInputElement.value&&n.open.value&&n.focusOnInput()});const o=t.computed(()=>!Q.isEmpty(n.modelValue.value)),e=t.computed(()=>o.value?E.isArray(n.modelValue.value)?n.getLabelByValue(Ge.last(n.modelValue.value)):n.getLabelByValue(n.modelValue.value):n.props.placeholder),p=k=>{if(k.key==="Backspace"&&n.props.multiple&&E.isArray(n.modelValue.value)&&Q.isEmpty(n.searchModel.value)&&(n.setModelValue(n.modelValue.value.slice(0,-1)),Q.isEmpty(n.modelValue.value))){const V=setTimeout(()=>{n.focusOnInput(),clearTimeout(V)},2)}},i=c.getBemElement(w,"input"),P=he.cva(i,{variants:{valuePlaceholder:c.generateVariantClassList("value-placeholder",i)}});return(k,V)=>(t.openBlock(),t.createBlock(t.unref($.ComboboxInput),t.mergeProps(t.unref(n).comboboxInputBinding.value,{disabled:t.unref(n).getDisabled.value,placeholder:e.value,"as-child":"",modelValue:t.unref(n).searchModel.value,"onUpdate:modelValue":V[0]||(V[0]=y=>t.unref(n).searchModel.value=y),onKeydown:p,class:t.unref(P)({valuePlaceholder:o.value}),displayValue:()=>""}),{default:t.withCtx(()=>[t.unref(n).props.headerSearch?(t.openBlock(),t.createBlock(We._sfc_main,{key:0,ref:t.unref(n).headerInputElement,placeholder:t.unref(n).props.placeholder},{leading:t.withCtx(({iconSize:y})=>[t.createVNode(_e._sfc_main,{size:y,icon:"tabler:search",flipOnDir:"rtl"},null,8,["size"])]),_:1},8,["placeholder"])):(t.openBlock(),t.createElementBlock("input",Ze))]),_:1},16,["disabled","placeholder","modelValue","class"]))}}),et=t.defineComponent({name:ue.getComponentName("ComboboxTrigger"),props:{},setup(d,{slots:n,attrs:o}){const e=pe(),p=({value:a},T)=>{if(T.stopPropagation(),a&&E.isArray(e.modelValue.value)&&!e.getDisabled.value){const z=e.modelValue.value.filter(b=>b!==a);e.setModelValue(z)}},i=c.getBemElement(w,"trigger"),P=he.cva(i,{variants:{size:c.generateVariantClassList(ye,i),headerSearch:c.generateVariantClassList("header-search",i),status:c.generateVariantClassList(ke,i),bordered:c.generateVariantClassList("bordered",i),multiple:c.generateVariantClassList("multiple",i),contentFit:c.generateVariantClassList("content-fit",i),wrapped:c.generateVariantClassList("wrapped",i),filled:c.generateVariantClassList("filled",i)}}),k=t.computed(()=>{switch(e.getSize.value){case"sm":return"2xsm";case"md":default:return"xsm"}}),V=t.computed(()=>{if(!e.props.multiple&&E.isString(e.modelValue.value)&&!Q.isEmpty(e.modelValue.value))return e.getOptionByValue(e.modelValue.value)}),y=(a=V.value)=>{if(e.props.selectedItemIconAsTrailingIcon&&E.isObject(a)&&"icon"in a)return a.icon},M=t.computed(()=>y()),N=t.computed(()=>{if(!e.props.noTrailing)return e.props.trailingIcon}),s=t.computed(()=>({modelValue:G.cloneDeep(e.modelValue.value),open:G.cloneDeep(e.open.value)})),m=()=>{e.onOpenChange(!e.open.value)},l=a=>{console.log("event ===>",a),e.props.headerSearch},f=t.computed(()=>({disabled:e.getDisabled.value,tabindex:e.getDisabled.value||!e.props.headerSearch?-1:0,reference:e.props.reference,"data-disabled":e.getDisabled.value?"":void 0,"aria-disabled":e.getDisabled.value??void 0,"aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":e.open.value,"aria-controls":e.contentId,"data-state":e.open.value?"open":"closed",class:[P({size:e.getSize.value,status:e.getStatus.value==="success"&&Q.isEmpty(e.modelValue.value)?void 0:e.getStatus.value,bordered:e.props.bordered,multiple:e.props.multiple,contentFit:e.props.contentFit,wrapped:e.props.wrapped,filled:!Q.isEmpty(e.modelValue.value),headerSearch:e.props.headerSearch}),e.props.triggerCls],...o})),v=(a,T=k.value)=>t.h(_e._sfc_main,{icon:a,size:T}),h=()=>{var z;let a;const T=(z=n.triggerTrailing)==null?void 0:z.call(n,s.value);if(D.isEmptyElement(T)?N.value&&(a=v(N.value)):a=T,a)return t.h("div",{class:[c.getBemElement(i,"trailing"),e.props.triggerTrailingCls]},a)};return()=>{var b;const a=(b=n.trigger)==null?void 0:b.call(n,s.value),z=(()=>{if(D.isEmptyElement(a))return!1;const L=D.filterEmpty(a)??null,K=L.length===1?L[0]:L;return K?D.isValidElement(K)&&!D.isFragment(K):!0})();return t.h($.ComboboxAnchor,{...f.value,...e.comboboxTriggerBinding.value,asChild:z,as:z?"template":"button",key:String(z),onKeyUp:l,onClick:m},()=>{if(!D.isEmptyElement(a))return a;const L=O=>{var J,U;const R=e.getOptionByValue(O);return t.h(ve._sfc_main,{...R?((U=(J=e.props).getTagProps)==null?void 0:U.call(J,R))??{}:{},size:e.getTagSize.value})},K=O=>{var J,U;const R=e.getOptionByValue(O);return t.h(Ee._sfc_main,{...R?((U=(J=e.props).getTagProps)==null?void 0:U.call(J,R))??{}:{},size:e.getTagSize.value})},ce=()=>{if(!e.props.multiple&&!E.isArray(e.modelValue.value)&&e.modelValue.value&&(e.props.tagRenderMode&&["avatar","go"].includes(e.props.tagRenderMode)||M.value||e.props.leadingIcon)){let O;if(e.props.tagRenderMode==="avatar"?O=L(e.modelValue.value):e.props.tagRenderMode==="go"?O=K(e.modelValue.value):M.value?O=v(M.value):e.props.leadingIcon&&(O=v(e.props.leadingIcon)),!D.isEmptyElement(O))return t.h("div",{class:[c.getBemElement(i,"leading"),e.props.triggerLeadingCls]},O)}},de=()=>{const O=[],R=[c.getBemElement(i,"tags"),e.props.triggerContentCls,Q.isEmpty(e.modelValue.value)?e.props.triggerContentPlaceholderCls:e.props.triggerContentValueCls],U=(()=>{if(e.props.multiple&&E.isArray(e.modelValue.value)){if(e.props.tagRenderMode==="avatar")return t.h(ve._sfc_main$1,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R},()=>e.modelValue.value.map(L));if(e.props.tagRenderMode==="go")return t.h(Fe._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R},()=>e.modelValue.value.map(K));if(e.props.tagRenderMode==="chip")return t.h(Re._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,color:"primary",closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:R,onClose:p},()=>e.modelValue.value.map(H=>{var se,ne;const oe=()=>e.getLabelByValue(H),X=({size:ge})=>{const ee=y(e.getOptionByValue(H))??e.props.leadingIcon;return ee?v(ee,ge):null},Z=e.getOptionByValue(H);return t.h(Ke._sfc_main,{...Z?((ne=(se=e.props).getTagProps)==null?void 0:ne.call(se,Z))??{}:{},value:H,class:[c.getBemElement(i,"tag"),e.props.tagCls],closeIconCls:c.getBemElement(i,"tag__close")},{text:oe,leading:X})}))}})();return U&&O.push(U),e.props.headerSearch||O.push(t.h(Ie)),t.h("div",{class:c.getBemElement(i,"content")},O)},j=[],te=ce();D.isEmptyElement(te)||j.push(te),j.push(de());const le=h();return D.isEmptyElement(le)||j.push(le),j})}}}),tt=t.defineComponent({__name:"ComboboxLabel",setup(d){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(c.getBemElement)(t.unref(w),"label"))},[t.renderSlot(n.$slots,"default")],2))}}),Se=t.defineComponent({name:ue.getComponentName("SelectOption"),props:{option:{type:[Object,String],required:!0}},slots:Object,setup(d,{slots:n}){const o=pe(),e=t.computed(()=>{switch(o.getSize.value){case"sm":return"2xsm";case"lg":return"sm";case"md":default:return"xsm"}}),p=t.computed(()=>o.getOptionValue(d.option)),i=t.computed(()=>o.getOptionNoCheckbox(d.option)),P=t.computed(()=>o.getOptionSingle(d.option)),k=t.computed(()=>o.getOptionLabel(d.option)),V=t.computed(()=>o.getOptionIcon(d.option)),y=t.computed(()=>o.props.tree?void 0:o.getOptionDescription(d.option)),M=t.computed(()=>o.getOptionDisabled(d.option)),N=t.computed(()=>o.isItemSelected(p.value)),s=c.getBemElement(w,"option"),m=()=>{if(!(o.props.tree||!p.value||M.value))if(o.props.multiple)if(P.value)o.setModelValue([p.value]),o.emit("select",p.value,!0);else{let l=E.isArray(o.modelValue.value)?o.modelValue.value:[];const f=l.includes(p.value);l.length===1&&o.getSingleByValue(l[0])&&p.value!==l[0]&&(l=[]),f?(o.setModelValue(l.filter(v=>v!==p.value)),o.emit("select",p.value,!0)):(o.setModelValue([...l,p.value]),o.emit("select",p.value,!1))}else o.setModelValue(p.value),o.emit("select",p.value,!0)};if(!d.option)throw new Error("option is required");return()=>{const l=v=>{var T,z,b,L,K;const h=[];!o.props.tree&&o.props.multiple&&o.props.checkbox&&!i.value&&h.push(t.h(Ue._sfc_main,{modelValue:N.value,size:v.checkboxSize,disabled:M.value}));const a=(T=n.leading)==null?void 0:T.call(n,{option:d.option});return D.isEmptyElement(a)?o.props.tagRenderMode==="avatar"?h.push(t.h(ve._sfc_main,{...((b=(z=o.props).getTagProps)==null?void 0:b.call(z,d.option))??{},size:o.getTagSize.value})):o.props.tagRenderMode==="go"?h.push(t.h(Ee._sfc_main,{...((K=(L=o.props).getTagProps)==null?void 0:K.call(L,d.option))??{},size:o.getTagSize.value})):V.value&&h.push(t.h(_e._sfc_main,{icon:V.value,size:e.value})):h.push(a),D.isEmptyElement(h)?null:h};return(()=>{const v=!!y.value;return t.h(je._sfc_main$1,{class:s,description:y.value,title:k.value,key:p.value,selected:N.value,unFocusable:!0,leadingCenter:!v,size:o.getSize.value,disabled:M.value,onClick:m},{leading:l,trailing:()=>{var h;return(h=n.trailing)==null?void 0:h.call(n,{option:d.option})}})})()}}}),ot=t.defineComponent({name:ue.getComponentName("ComboboxWrapper"),setup(d,{slots:n}){const o=$e(),e=$.injectComboboxRootContext(),p=t.ref();Me.useLazyLoading({target:p});const i=t.ref(),P=Ve.getPopoverPortalProps({triggerRef:i,props:o.props}),{getFlipOnDir:k,getDir:V}=E.useConfig(),y=k("reversePlacementOnDir"),M=V(),N=Ve.getPopoverContentProps({props:o.props,flip:y,emitsAsProps:o.emitsAsProps,_dir:M,controlAutoFocus:!1,extraPropNames:["bodyLock","position"]}),s=({key:r,getterKey:u,defaultValue:_,noReturnOption:B})=>C=>{const A=E.isFunction(_)?_(C):_;if(E.isObject(C)){const F=C[r]??A,W=u&&o.props[u];if(W){if(E.isString(W))return C[W]??F;if(E.isFunction(W))return W(C)??F}return F}return E.isString(C)&&!B?C??A:A},m=s({getterKey:"getValue",key:"value"}),l=s({getterKey:"getNoCheckbox",key:"noCheckbox"}),f=s({getterKey:"geSingle",key:"single",noReturnOption:!0}),v=s({getterKey:"getLabel",key:"label",defaultValue:m}),h=s({getterKey:"getIcon",key:"icon",noReturnOption:!0}),a=s({getterKey:"getDescription",key:"description",noReturnOption:!0}),T=s({getterKey:"getDisabled",key:"disabled",defaultValue:!1,noReturnOption:!0}),z=s({getterKey:"getGroupLabel",key:"label",noReturnOption:!0}),b=s({getterKey:"getGroupOptions",key:"options",noReturnOption:!0}),L=r=>{var u;if((u=o.props.options)!=null&&u.length)for(const _ of o.props.options){if(m(_)===r)return _;const B=b(_);if(B!=null&&B.length){for(const C of B)if(m(C)===r)return C}}return r},K=r=>{const u=L(r);return u?v(u)??r:r},ce=r=>{const u=L(r);return u?f(u)??!1:!1},{contains:de}=$.useFilter({sensitivity:"base"}),j=t.computed(()=>{const r=u=>u==null?void 0:u.map(_=>{const B=v(_),C=m(_),A=T(_),F=z(_),W=!o.searchModel.value||B&&de(B,o.searchModel.value),g=b(_),S=!o.props.tree||C;if(g&&S){const x=r(g);if(x!=null&&x.length||W)return{groupLabel:F,title:B,key:C,disabled:A,children:x,_option:_}}return W&&S?{title:B,key:C,disabled:A,_option:_}:null}).filter(Boolean);if(o.props.options)return r(o.props.options)}),{getDisabled:te,getStatus:le,getSize:O}=xe.useFormInput({getDisabled:()=>o.props.disabled,getSize:()=>o.props.size,getStatus:()=>o.props.status}),R=t.computed(()=>{switch(O.value){case"sm":return"xsm";case"lg":return"md";case"md":default:return"sm"}}),{inputBindings:J,rootBindings:U}=xe.UseInputDataStates({getDisabled:()=>te.value}),H=t.ref(),oe=()=>{var r,u,_,B,C,A,F;e.open.value&&e.inputElement.value&&(o.props.headerSearch&&((r=H.value)!=null&&r.input)?document.activeElement!==((u=H.value)==null?void 0:u.input)&&((C=(B=(_=H.value)==null?void 0:_.input)==null?void 0:B.focus)==null||C.call(B)):document.activeElement!==e.inputElement.value&&((F=(A=e.inputElement.value)==null?void 0:A.focus)==null||F.call(A)))},X=r=>{e.modelValue.value=r,o.emit("update:modelValue",r)},Z=r=>r===void 0?!1:Array.isArray(e.modelValue.value)?!!(r&&e.modelValue.value.includes(r)):e.modelValue.value===r;Pe({...o,getOptionValue:m,getOptionLabel:v,getOptionSingle:f,getOptionNoCheckbox:l,getOptionDescription:a,getOptionDisabled:T,getOptionIcon:h,getOptionByValue:L,isItemSelected:Z,getLabelByValue:K,getSingleByValue:ce,focusOnInput:oe,setModelValue:X,headerInputElement:H,getDisabled:te,getStatus:le,getSize:O,getTagSize:R,comboboxInputBinding:J,comboboxTriggerBinding:U,...e,modelValue:e.modelValue}),t.watch(()=>[o.props.clearOnChangeMultiple,o.props.multiple],()=>{o.props.clearOnChangeMultiple&&X(void 0)});const se=t.computed(()=>{const r=o.props.scrollContainerProps??{};return{...r,areaCls:[c.getBemElement(w,"scroll_area"),r==null?void 0:r.class,r==null?void 0:r.areaCls]}}),ne=c.getBemElement(w,"popup"),ge=he.cva(ne,{variants:{size:c.generateVariantClassList(ye,ne)}}),ee=r=>{if(Number(r)>0)return`${r}px`;if(typeof r=="string")return r},Te=t.computed(()=>ee(o.props.popupWidth)),ze=t.computed(()=>ee(o.props.popupHeight)),be=t.computed(()=>ee(o.props.minWidth)),Ce=t.computed(()=>({type:O.value==="sm"?"simple":"advance",...ie.omit(o.props.emptyProps??{},"class")})),Le=t.computed(()=>ie.omit(o.props.skeletonProps??{},"class")),{selectValues:De}=Xe({getValue:r=>r==null?void 0:r.key,getChildren:r=>r==null?void 0:r.children,getModel:()=>G.cloneDeep(e.modelValue.value),getData:()=>G.cloneDeep(j.value??[])});return()=>{var F,W;const r=g=>t.h(Se,{option:g},{trailing:n.optionTrailing,leading:n.optionLeading}),u=[];let _;if(o.props.tree){const S=E.isArray(e.modelValue.value)?e.modelValue.value:e.modelValue.value?[e.modelValue.value]:[];_=t.h(Ne._sfc_main,{data:j.value??[],selectable:!0,checkbox:o.props.multiple&&o.props.checkbox,multiple:o.props.multiple,defaultExpandAll:!0,syncCheckboxAndSelect:o.props.multiple,showLine:!0,modelValue:S,checkedKeys:S,onExpand:oe,onSelect:(x,q,I)=>{if(o.props.multiple){const Y=E.isArray(I)?I:[I];X(De(Y,q))}else X(I)},class:"w-full"},{title:x=>r(x._option)}),u.push(_)}else{let g=!1;const S=[];if((j.value??[]).forEach(x=>{var q;if((q=x.children)!=null&&q.length){const I=[];x.children.forEach(Y=>{const re=r(Y._option);Z(m(Y._option))&&o.props.sortSelectedItems?S.push(re):I.push(re)}),I.length&&((g||u.length)&&(u.push(t.h(fe._sfc_main)),g=!1),x.groupLabel&&u.push(t.h(tt,{class:o.props.labelCls},()=>x.groupLabel)),u.push(...I),g=!0)}else{const I=r(x._option);Z(m(x._option))&&o.props.sortSelectedItems?S.push(I):(g&&(u.push(t.h(fe._sfc_main)),g=!1),u.push(I))}}),o.props.sortSelectedItems&&S.length){const x=!!u.length;u.splice(0,0,...S),x&&u.splice(S.length,0,t.h(fe._sfc_main))}}const B=D.flattenChildrenByType(_?[_]:u,Se).filter(g=>{var S;return E.isObject(g==null?void 0:g.props)&&((S=g==null?void 0:g.props)==null?void 0:S.option)}),C=!!(o.props.tree&&((F=j.value)!=null&&F.length)||B!=null&&B.length),A=()=>{var S,x;const g=[];if(C||o.props.loading){const q=[];if(C&&q.push(...u),o.props.loading){const I=(S=n.loading)==null?void 0:S.call(n,{});if(!D.isEmptyElement(I))q.push(I);else{const Y=new Array(C?2:o.props.loadingRowCount).fill(1);q.push(...Y.map(()=>t.h(we._sfc_main,{size:O.value,class:[c.getBemElement(w,"skeleton"),o.props.skeletonCls],...Le.value})))}}g.push(t.h("div",{class:[c.getBemElement(w,"options"),o.props.optionsCls]},q))}else if(!C){const q=(x=n.empty)==null?void 0:x.call(n,Ce.value);D.isEmptyElement(q)?g.push(t.h(qe._sfc_main,{class:[c.getBemElement(w,"empty"),o.props.emptyCls],...Ce.value},{title:n.emptyTitle,description:n.emptyDescription,actions:n.emptyActions,image:n.emptyImage})):g.push(q)}return o.props.lazyLoading&&g.push(t.h("div",{class:c.getBemElement(w,"lazy_loading")},t.h("div",{class:c.getBemElement(w,"lazy_loading_trigger"),ref:p}))),g};return[t.h(et,{ref:i,...o.attrs,style:{...((W=o.attrs)==null?void 0:W.style)??{},"--ptc-combobox-trigger-min-w":be.value}},{trigger:n.trigger,triggerTrailing:n.triggerTrailing}),t.h($.ComboboxPortal,P.value,()=>t.h($.ComboboxContent,{...N.value,vShow:e.open.value,class:[ge(o.props),o.props.popupCls],style:{"--ptc-combobox-popup-width":o.props.samePopupWidth?void 0:Te.value,"--ptc-combobox-popup-height":ze.value,"--ptc-combobox-trigger-min-w":be.value},onClick:oe},()=>{var I,Y,re;const g=[],S=(I=n.header)==null?void 0:I.call(n,{}),x=!D.isEmptyElement(S);if(o.props.headerSearch||x){const me=[];x&&me.push(S),o.props.headerSearch&&me.push(t.h(Ie)),g.push(t.h("div",{class:c.getBemElement(w,"header")},me))}g.push(t.h(Ae._sfc_main,se.value,A));const q=(re=n.footer)==null?void 0:re.call(n,{isEmpty:!((Y=j.value)!=null&&Y.length),search:o.searchModel.value});return D.isEmptyElement(q)||g.push(t.h("div",{class:c.getBemElement(w,"footer")},q)),g}))]}}}),nt=t.defineComponent({...ue.getComponentOptions("Combobox"),__name:"Combobox",props:{size:{default:"md"},status:{},multiple:{type:Boolean,default:void 0},checkbox:{type:Boolean,default:!0},tagRenderMode:{default:"chip"},getTagProps:{},tree:{type:Boolean},contentFit:{type:Boolean},wrapped:{type:Boolean},sortSelectedItems:{type:Boolean},noTrailing:{type:Boolean},leadingIcon:{},trailingIcon:{default:"tabler:chevron-down"},selectedItemIconAsTrailingIcon:{type:Boolean,default:!0},maxCount:{},to:{},placeholder:{},indicatorIcon:{default:"tabler:check"},options:{},getDisabled:{},getLabel:{},getDescription:{},getValue:{},getNoCheckbox:{},geSingle:{},getGroupOptions:{},getGroupLabel:{},getIcon:{},placement:{default:"bottom-start"},reversePlacementOnDir:{},loading:{type:Boolean},skeletonProps:{},loadingRowCount:{default:10},lazyLoading:{type:Boolean},bordered:{type:Boolean,default:!0},clearOnChangeMultiple:{type:Boolean,default:!0},triggerCls:{},triggerLeadingCls:{},triggerContentCls:{},triggerContentPlaceholderCls:{},triggerContentValueCls:{},triggerTrailingCls:{},itemLeadingCls:{},optionCls:{},tagCls:{},popupCls:{},labelCls:{},optionsCls:{},optionTextCls:{},optionContentCls:{},emptyCls:{},skeletonCls:{},scrollContainerProps:{},emptyProps:{},samePopupWidth:{type:Boolean,default:!0},popupHeight:{default:384},popupWidth:{},minWidth:{},headerSearch:{type:Boolean},search:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},resetSearchTermOnBlur:{type:Boolean,default:!0},resetSearchTermOnSelect:{type:Boolean,default:!0},modelValue:{},defaultValue:{},dir:{},disabled:{type:Boolean,default:void 0},highlightOnHover:{type:Boolean},by:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},reference:{},forceMount:{type:Boolean,default:void 0},position:{default:"popper"},bodyLock:{type:Boolean},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean,default:void 0},collisionBoundary:{},collisionPadding:{default:4},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean,default:void 0},positionStrategy:{default:"fixed"},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean,default:void 0},prioritizePosition:{type:Boolean,default:void 0},disableOutsidePointerEvents:{type:Boolean},defer:{type:Boolean}},emits:["update:search","select","update:modelValue","highlight","update:open","escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(d,{emit:n}){const o=d,e=n,p=$.useEmitAsProps(e),i=t.computed(()=>G.omitBy({...G.pick(o,"open","defaultOpen","defaultValue","modelValue","by","dir","multiple","disabled"),...G.pick(p,"onUpdate:modelValue","onUpdate:open"),ignoreFilter:!0},G.isUndefined)),P=Oe.useVModel(o,"search",e,{passive:o.search===void 0});t.watch(()=>o.open,y=>{y||(P.value=void 0)});const k=t.useSlots(),V=t.useAttrs();return He({attrs:V,props:o,emit:e,searchModel:P,emitsAsProps:p}),(y,M)=>(t.openBlock(),t.createBlock(t.unref($.ComboboxRoot),t.mergeProps(i.value,{class:t.unref(w)}),{default:t.withCtx(()=>[t.createVNode(t.unref(ot),null,t.createSlots({_:2},[t.renderList(Object.keys(k),N=>({name:N,fn:t.withCtx(s=>[t.renderSlot(y.$slots,N,t.normalizeProps(t.guardReactiveProps(s)))])}))]),1024)]),_:3},16,["class"]))}});exports.ComboboxSizes=ye;exports.ComboboxStatuses=ke;exports._sfc_main=nt;exports.injectComboboxContext=pe;exports.provideComboboxContext=Pe;