@pantograph/vue 0.23.26 → 0.23.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Combobox/index.js +1 -1
- package/dist/Combobox/index.umd.cjs +1 -1
- package/dist/Combobox/types.d.ts +3 -0
- package/dist/Combobox.vue_vue_type_style_index_0_lang-CN8YBSRI.js +1 -0
- package/dist/{Combobox.vue_vue_type_style_index_0_lang-Oc5nUJgi.js → Combobox.vue_vue_type_style_index_0_lang-DXKRCrNG.js} +336 -316
- package/dist/Select/index.js +1 -1
- package/dist/Select/index.umd.cjs +1 -1
- package/dist/Select/types.d.ts +1 -0
- package/dist/{Select.vue_vue_type_style_index_0_lang-CbJsb6VK.js → Select.vue_vue_type_style_index_0_lang-C5QD2kVd.js} +1 -1
- package/dist/{Select.vue_vue_type_style_index_0_lang-CMy8AQub.js → Select.vue_vue_type_style_index_0_lang-COe9-Nur.js} +52 -50
- package/dist/index.js +2 -2
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
- package/dist/Combobox.vue_vue_type_style_index_0_lang-DOcOXELp.js +0 -1
package/dist/Combobox/index.js
CHANGED
|
@@ -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-
|
|
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-DXKRCrNG.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-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../Combobox.vue_vue_type_style_index_0_lang-CN8YBSRI.js");exports.Combobox=o._sfc_main;exports.ComboboxSizes=o.ComboboxSizes;exports.ComboboxStatuses=o.ComboboxStatuses;exports.injectComboboxContext=o.injectComboboxContext;exports.provideComboboxContext=o.provideComboboxContext;
|
package/dist/Combobox/types.d.ts
CHANGED
|
@@ -23,6 +23,9 @@ export interface ComboboxProps extends Omit<ComboboxRootProps, 'ignoreFilter'>,
|
|
|
23
23
|
size?: ComboboxSize;
|
|
24
24
|
status?: ComboboxStatus;
|
|
25
25
|
multiple?: boolean;
|
|
26
|
+
noLastValueOnPlaceholder?: boolean;
|
|
27
|
+
showLabelValueOnHeaderSearch?: boolean;
|
|
28
|
+
zIndex?: number | string;
|
|
26
29
|
checkbox?: boolean;
|
|
27
30
|
tagRenderMode?: 'chip' | 'avatar' | 'go';
|
|
28
31
|
getTagProps?: (option: ComboboxOptionType) => Record<string, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t=require("vue"),U=require("reka-ui"),G=require("./FormItem.vue_vue_type_style_index_0_lang-Bo3o8_6v.js"),ge=require("./options-CWrQ7gsa.js"),g=require("@pantograph/utils"),C=require("./index-DWw7aruo.js"),be=require("class-variance-authority"),de=require("./omit-CYbreqlf.js"),qe=require("./Empty.vue_vue_type_style_index_0_lang-DidQV2p4.js"),Ae=require("./Skeleton.vue_vue_type_style_index_0_lang-CWNX_-Jl.js"),_e=require("./Divider.vue_vue_type_style_index_0_lang-DoEWjJx6.js"),M=require("./element-BjE0SVc4.js"),Oe=require("./useInputDataStates-D1X-Whwt.js"),Ne=require("./useLazyLoading-H6VG5aE-.js"),Ee=require("./Popover.vue_vue_type_style_index_0_lang-txLoIoSw.js"),Ke=require("./ScrollContainer.vue_vue_type_style_index_0_lang-BIoD2_5T.js"),Re=require("./Tree.vue_vue_type_style_index_0_lang-26mqYWer.js"),Pe=require("./uniq-DGkyiyS4.js"),ne=require("./isEmpty-bCllo8T9.js"),Fe=require("./Chip.vue_vue_type_style_index_0_lang-CtgInoR3.js"),We=require("./ChipGroup.vue_vue_type_style_index_0_lang-BVwWqy-3.js"),Ce=require("./Icon.vue_vue_type_style_index_0_lang-D3cRtJNJ.js"),ye=require("./Avatar.vue_vue_type_style_index_0_lang-CLZz5CmG.js"),Ge=require("./GraphicalObjectGroup.vue_vue_type_style_index_0_lang-CDFDVi-0.js"),Ie=require("./GraphicalObject.vue_vue_type_script_setup_true_lang-BZ5qLbnJ.js"),je=require("./Input.vue_vue_type_style_index_0_lang-CWW5TIRh.js"),Te=require("@vueuse/core"),Ue=require("lodash-es"),He=require("./MenuItem.vue_vue_type_style_index_0_lang-CYOdJYFY.js");require("@iconify/vue");const $e=require("./Checkbox.vue_vue_type_style_index_0_lang-Bz-fwglK.js");require("@pantograph/tokens");const[me,Le]=U.createContext("Combobox"),[Ye,Je]=U.createContext("_Combobox"),w=g.getBemBlock("combobox");var Qe=1/0;function Xe(p){var n=p==null?0:p.length;return n?de.baseFlatten(p,Qe):[]}const ce=p=>G.isNumber(p)||C.isString(p);function Ze({getValue:p,arr:n,getChildren:o}){const e=[],c=(i,E)=>{i.forEach(I=>{const B=p(I);if(ce(B)){e.push({...I,_parentKeys:E,_key:B});const y=o(I);y!=null&&y.length&&c(y,[...E??[],B])}})};return c(n),e}const et=({getData:p,getModel:n,getValue:o,getChildren:e})=>{const c=t.computed(()=>Ze({arr:t.unref(p()),getChildren:e,getValue:o})),i=(a,f=!1)=>{const d=o(a);return c.value.filter(s=>{var S;if(f){const x=de.last(s._parentKeys??[]);return x&&x===d}return(S=s._parentKeys)==null?void 0:S.includes(d)})},E=a=>{if(a&&C.isArray(a))return G.cloneDeep(a);const f=t.unref(n());return f&&C.isArray(f)?G.cloneDeep(f):[]},I=(a,f)=>{const d=E(f),s=i(a);if(s!=null&&s.length)return s.some(S=>{var l;const x=S._key;return x&&((l=d==null?void 0:d.includes)==null?void 0:l.call(d,x))})},B=(a,f)=>{const d=E(f),s=i(a);if(s!=null&&s.length)return s.every(S=>{var l;const x=S._key;return x&&((l=d==null?void 0:d.includes)==null?void 0:l.call(d,x))})},y=(a,f)=>{const d=E(f),s=i(a),S=o(a);return s!=null&&s.length?B(a)?!0:I(a)?"intermediate":!1:d.includes(S)},q=a=>ce(a)?c.value.find(f=>f._key===a):void 0;return{flattenData:c,getNodeChildren:i,isSomeChildrenSelected:I,isAllChildrenSelected:B,isSelected:y,selectValues:(a,f)=>{if(a.length){let d=E();const s=a.filter(ce);f?d.push(...s):d=d.filter(h=>!s.includes(h));const S=d.map(q).filter(h=>h&&h._parentKeys),l=Pe.uniq(Xe(S.map(h=>h._parentKeys))).filter(ce).map(q).filter(Boolean),V=[],T=[];return l.forEach(h=>{const j=o(h);B(h,d)?V.push(j):T.push(j)}),d.push(...V),Pe.uniq(d.filter(h=>!T.includes(h)))}}}},xe=["sm","md","lg"],ze=["error","warning","success"],tt={key:1},De=t.defineComponent({__name:"ComboboxInput",setup(p){const n=me();Te.whenever(()=>n.open.value&&n.headerInputElement.value,()=>{n.headerInputElement.value&&n.open.value&&n.focusOnInput()});const o=t.computed(()=>!ne.isEmpty(n.modelValue.value)),e=t.computed(()=>{if(o.value){if(n.props.multiple&&C.isArray(n.modelValue.value)&&!n.props.noLastValueOnPlaceholder)return n.getLabelByValue(Ue.last(n.modelValue.value));if(!n.props.multiple&&!C.isArray(n.modelValue.value))return n.getLabelByValue(n.modelValue.value)}return n.props.placeholder??""}),c=I=>{if(I.key==="Backspace"&&n.props.multiple&&C.isArray(n.modelValue.value)&&ne.isEmpty(n.searchModel.value)&&(n.setModelValue(n.modelValue.value.slice(0,-1)),ne.isEmpty(n.modelValue.value))){const B=setTimeout(()=>{n.focusOnInput(),clearTimeout(B)},2)}},i=g.getBemElement(w,"input"),E=be.cva(i,{variants:{valuePlaceholder:g.generateVariantClassList("value-placeholder",i)}});return(I,B)=>(t.openBlock(),t.createBlock(t.unref(U.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":B[0]||(B[0]=y=>t.unref(n).searchModel.value=y),onKeydown:c,class:t.unref(E)({valuePlaceholder:o.value}),displayValue:()=>""}),{default:t.withCtx(()=>[t.unref(n).props.headerSearch?(t.openBlock(),t.createBlock(je._sfc_main,{key:0,ref:t.unref(n).headerInputElement,placeholder:t.unref(n).props.placeholder},{leading:t.withCtx(({iconSize:y})=>[t.createVNode(Ce._sfc_main,{size:y,icon:"tabler:search",flipOnDir:"rtl"},null,8,["size"])]),_:1},8,["placeholder"])):(t.openBlock(),t.createElementBlock("input",tt))]),_:1},16,["disabled","placeholder","modelValue","class"]))}}),ot=t.defineComponent({name:ge.getComponentName("ComboboxTrigger"),props:{},setup(p,{slots:n,attrs:o}){const e=me(),c=({value:l},V)=>{if(V.stopPropagation(),l&&C.isArray(e.modelValue.value)&&!e.getDisabled.value){const T=e.modelValue.value.filter(h=>h!==l);e.setModelValue(T)}},i=g.getBemElement(w,"trigger"),E=be.cva(i,{variants:{size:g.generateVariantClassList(xe,i),headerSearch:g.generateVariantClassList("header-search",i),status:g.generateVariantClassList(ze,i),bordered:g.generateVariantClassList("bordered",i),multiple:g.generateVariantClassList("multiple",i),contentFit:g.generateVariantClassList("content-fit",i),wrapped:g.generateVariantClassList("wrapped",i),filled:g.generateVariantClassList("filled",i)}}),I=t.computed(()=>{switch(e.getSize.value){case"sm":return"2xsm";case"md":default:return"xsm"}}),B=t.computed(()=>{if(!e.props.multiple&&C.isString(e.modelValue.value)&&!ne.isEmpty(e.modelValue.value))return e.getOptionByValue(e.modelValue.value)}),y=(l=B.value)=>{if(e.props.selectedItemIconAsTrailingIcon&&C.isObject(l)&&"icon"in l)return l.icon},q=t.computed(()=>y()),A=t.computed(()=>{if(!e.props.noTrailing)return e.props.trailingIcon}),a=t.computed(()=>{var T,h;const l=G.cloneDeep(e.modelValue.value),V=C.isArray(e.modelValue.value);return{modelValue:l,open:G.cloneDeep(e.open.value),option:V?void 0:e.getOptionByValue(e.modelValue.value),options:V?(h=(T=e.modelValue.value).map)==null?void 0:h.call(T,e.getOptionByValue).filter(Boolean):void 0}}),f=()=>{e.onOpenChange(!e.open.value)},d=l=>{e.props.headerSearch},s=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:[E({size:e.getSize.value,status:e.getStatus.value==="success"&&ne.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:!ne.isEmpty(e.modelValue.value),headerSearch:e.props.headerSearch}),e.props.triggerCls],...o})),S=(l,V=I.value)=>t.h(Ce._sfc_main,{icon:l,size:V}),x=()=>{var T;let l;const V=(T=n.triggerTrailing)==null?void 0:T.call(n,a.value);if(M.isEmptyElement(V)?A.value&&(l=S(A.value)):l=V,l)return t.h("div",{class:[g.getBemElement(i,"trailing"),e.props.triggerTrailingCls]},l)};return()=>{var Z;const l=(Z=n.trigger)==null?void 0:Z.call(n,a.value),V=!M.isEmptyElement(l),h=(()=>{if(!V)return!1;const J=M.filterEmpty(l)??null,Q=J.length===1?J[0]:J;return Q?M.isValidElement(Q)&&!M.isFragment(Q):!0})(),{class:j,...Y}=s.value;return t.h(U.ComboboxAnchor,{...Y,class:V?e.props.triggerCls:j,...e.comboboxTriggerBinding.value,asChild:h,as:h?"template":"button",key:String(h),onKeyUp:d,onClick:f},()=>{if(V)return l;const J=P=>{var R,N;const K=e.getOptionByValue(P)??{value:P};return t.h(ye._sfc_main,{...K?((N=(R=e.props).getTagProps)==null?void 0:N.call(R,K))??{}:{},size:e.getTagSize.value})},Q=P=>{var R,N;const K=e.getOptionByValue(P)??{value:P};return t.h(Ie._sfc_main,{...K?((N=(R=e.props).getTagProps)==null?void 0:N.call(R,K))??{}:{},size:e.getTagSize.value})},X=()=>{if(!e.props.multiple&&!e.props.multiple&&!C.isArray(e.modelValue.value)&&e.modelValue.value&&(e.props.tagRenderMode&&["avatar","go"].includes(e.props.tagRenderMode)||q.value||e.props.leadingIcon)){let P;if(e.props.tagRenderMode==="avatar"?P=J(e.modelValue.value):e.props.tagRenderMode==="go"?P=Q(e.modelValue.value):q.value?P=S(q.value):e.props.leadingIcon&&(P=S(e.props.leadingIcon)),!M.isEmptyElement(P))return t.h("div",{class:[g.getBemElement(i,"leading"),e.props.triggerLeadingCls]},P)}},se=()=>{const P=[],K=[g.getBemElement(i,"tags"),e.props.triggerContentCls,e.props.triggerContentValueCls],N=(()=>{if(e.props.multiple&&C.isArray(e.modelValue.value)){if(e.props.tagRenderMode==="avatar")return t.h(ye._sfc_main$1,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:K},()=>e.modelValue.value.map(J));if(e.props.tagRenderMode==="go")return t.h(Ge._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:K},()=>e.modelValue.value.map(Q));if(e.props.tagRenderMode==="chip")return t.h(We._sfc_main,{maxCount:e.props.maxCount,size:e.getTagSize.value,color:"primary",closeable:!e.getDisabled.value,noPopover:!0,noWrap:!e.props.wrapped,class:K,onClose:c},()=>e.modelValue.value.map(H=>{var ue,oe;const re=()=>e.getLabelByValue(H),fe=({size:he})=>{const pe=y(e.getOptionByValue(H))??e.props.leadingIcon;return pe?S(pe,he):null},le=e.getOptionByValue(H);return t.h(Fe._sfc_main,{...le?((oe=(ue=e.props).getTagProps)==null?void 0:oe.call(ue,le))??{}:{},value:H,class:[g.getBemElement(i,"tag"),e.props.tagCls],closeIconCls:g.getBemElement(i,"tag__close")},{text:re,leading:fe})}))}})();return N&&P.push(N),e.props.headerSearch?e.props.showLabelValueOnHeaderSearch&&P.push(t.h("div",{},"dddd")):P.push(t.h(De)),t.h("div",{class:g.getBemElement(i,"content")},P)},te=[],ee=X();M.isEmptyElement(ee)||te.push(ee),te.push(se());const ie=x();return M.isEmptyElement(ie)||te.push(ie),te})}}}),nt=t.defineComponent({__name:"ComboboxLabel",setup(p){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(g.getBemElement)(t.unref(w),"label"))},[t.renderSlot(n.$slots,"default")],2))}}),ke=t.defineComponent({name:ge.getComponentName("SelectOption"),props:{option:{type:[Object,String],required:!0}},slots:Object,setup(p,{slots:n}){const o=me(),e=t.computed(()=>{switch(o.getSize.value){case"sm":return"2xsm";case"lg":return"sm";case"md":default:return"xsm"}}),c=t.computed(()=>o.getOptionValue(p.option)),i=t.computed(()=>o.getOptionNoCheckbox(p.option)),E=t.computed(()=>o.getOptionClear(p.option)),I=t.computed(()=>o.getOptionSingle(p.option)),B=t.computed(()=>o.getOptionLabel(p.option)),y=t.computed(()=>o.getOptionIcon(p.option)),q=t.computed(()=>o.props.tree?void 0:o.getOptionDescription(p.option)),A=t.computed(()=>o.getOptionDisabled(p.option)),a=t.computed(()=>o.isItemSelected(c.value)),f=g.getBemElement(w,"option"),d=()=>{if(!(o.props.tree||!c.value||A.value))if(o.props.multiple)if(E.value)o.setModelValue([]),o.emit("select",void 0,!1);else if(I.value)o.setModelValue([c.value]),o.emit("select",c.value,!0);else{let s=C.isArray(o.modelValue.value)?o.modelValue.value:[];const S=s.includes(c.value);s.length===1&&o.getSingleByValue(s[0])&&c.value!==s[0]&&(s=[]),S?(o.setModelValue(s.filter(x=>x!==c.value)),o.emit("select",c.value,!0)):(o.setModelValue([...s,c.value]),o.emit("select",c.value,!1))}else E.value?(o.setModelValue(void 0),o.emit("select",void 0,!1)):(o.setModelValue(c.value),o.emit("select",c.value,!0))};if(!p.option)throw new Error("option is required");return()=>{const s=x=>{var T,h,j,Y,Z;const l=[];!o.props.tree&&o.props.multiple&&o.props.checkbox&&!i.value&&l.push(t.h($e._sfc_main,{modelValue:a.value,size:x.checkboxSize,disabled:A.value}));const V=(T=n.leading)==null?void 0:T.call(n,{option:p.option});return M.isEmptyElement(V)?o.props.tagRenderMode==="avatar"?l.push(t.h(ye._sfc_main,{...((j=(h=o.props).getTagProps)==null?void 0:j.call(h,p.option))??{},size:o.getTagSize.value})):o.props.tagRenderMode==="go"?l.push(t.h(Ie._sfc_main,{...((Z=(Y=o.props).getTagProps)==null?void 0:Z.call(Y,p.option))??{},size:o.getTagSize.value})):y.value&&l.push(t.h(Ce._sfc_main,{icon:y.value,size:e.value})):l.push(V),M.isEmptyElement(l)?null:l};return(()=>{const x=!!q.value;return t.h(He._sfc_main$1,{class:f,description:q.value,title:B.value,key:c.value,selected:a.value,unFocusable:!0,leadingCenter:!x,size:o.getSize.value,disabled:A.value,onClick:d},{leading:s,trailing:()=>{var l;return(l=n.trailing)==null?void 0:l.call(n,{option:p.option})}})})()}}}),rt=t.defineComponent({name:ge.getComponentName("ComboboxWrapper"),setup(p,{slots:n}){const o=Ye(),e=U.injectComboboxRootContext(),c=t.ref();Ne.useLazyLoading({target:c});const i=t.ref(),E=Ee.getPopoverPortalProps({triggerRef:i,props:o.props}),{getFlipOnDir:I,getDir:B}=C.useConfig(),y=I("reversePlacementOnDir"),q=B(),A=Ee.getPopoverContentProps({props:o.props,flip:y,emitsAsProps:o.emitsAsProps,_dir:q,controlAutoFocus:!1,extraPropNames:["bodyLock","position"]}),a=({key:r,getterKey:u,defaultValue:v,noReturnOption:k})=>_=>{const z=C.isFunction(v)?v(_):v;if(C.isObject(_)){const F=_[r]??z,W=u&&o.props[u];if(W){if(C.isString(W))return _[W]??F;if(C.isFunction(W))return W(_)??F}return F}return C.isString(_)&&!k?_??z:z},f=a({getterKey:"getValue",key:"value"}),d=a({getterKey:"getNoCheckbox",key:"noCheckbox"}),s=a({getterKey:"getSingle",key:"single",noReturnOption:!0}),S=a({getterKey:"getClear",key:"clear",noReturnOption:!0}),x=a({getterKey:"getLabel",key:"label",defaultValue:f}),l=a({getterKey:"getIcon",key:"icon",noReturnOption:!0}),V=a({getterKey:"getDescription",key:"description",noReturnOption:!0}),T=a({getterKey:"getDisabled",key:"disabled",defaultValue:!1,noReturnOption:!0}),h=a({getterKey:"getGroupLabel",key:"label",noReturnOption:!0}),j=a({getterKey:"getGroupOptions",key:"options",noReturnOption:!0}),Y=r=>{const u=v=>{if(v!=null&&v.length&&r)for(const k of v){if(f(k)===r)return k;const _=j(k);if(_!=null&&_.length){const z=u(_);if(z)return z}}};return u(o.props.options)},Z=r=>{const u=Y(r);return u?x(u)??r:r},J=r=>{const u=Y(r);return u?s(u)??!1:!1},{contains:Q}=U.useFilter({sensitivity:"base"}),X=t.computed(()=>{const r=u=>u==null?void 0:u.map(v=>{const k=x(v),_=f(v),z=T(v),F=h(v),W=!o.searchModel.value||k&&Q(k,o.searchModel.value),m=j(v),O=!o.props.tree||_;if(m&&O){const b=r(m);if(b!=null&&b.length||W)return{groupLabel:F,title:k,key:_,disabled:z,children:b,_option:v}}return W&&O?{title:k,key:_,disabled:z,_option:v}:null}).filter(Boolean);if(o.props.options)return r(o.props.options)}),{getDisabled:se,getStatus:te,getSize:ee}=Oe.useFormInput({getDisabled:()=>o.props.disabled,getSize:()=>o.props.size,getStatus:()=>o.props.status}),ie=t.computed(()=>{switch(ee.value){case"sm":return"xsm";case"lg":return"md";case"md":default:return"sm"}}),{inputBindings:P,rootBindings:K}=Oe.UseInputDataStates({getDisabled:()=>se.value}),R=t.ref(),N=()=>{var r,u,v,k,_,z,F;e.open.value&&e.inputElement.value&&(o.props.headerSearch&&((r=R.value)!=null&&r.input)?document.activeElement!==((u=R.value)==null?void 0:u.input)&&((_=(k=(v=R.value)==null?void 0:v.input)==null?void 0:k.focus)==null||_.call(k)):document.activeElement!==e.inputElement.value&&((F=(z=e.inputElement.value)==null?void 0:z.focus)==null||F.call(z)))},H=r=>{e.modelValue.value=r,o.emit("update:modelValue",r)},re=r=>r===void 0?!1:Array.isArray(e.modelValue.value)?!!(r&&e.modelValue.value.includes(r)):e.modelValue.value===r;Le({...o,getOptionValue:f,getOptionLabel:x,getOptionSingle:s,getOptionClear:S,getOptionNoCheckbox:d,getOptionDescription:V,getOptionDisabled:T,getOptionIcon:l,getOptionByValue:Y,isItemSelected:re,getLabelByValue:Z,getSingleByValue:J,focusOnInput:N,setModelValue:H,headerInputElement:R,getDisabled:se,getStatus:te,getSize:ee,getTagSize:ie,comboboxInputBinding:P,comboboxTriggerBinding:K,...e,modelValue:e.modelValue}),t.watch(()=>[o.props.clearOnChangeMultiple,o.props.multiple],()=>{o.props.clearOnChangeMultiple&&H(void 0)});const fe=t.computed(()=>{const r=o.props.scrollContainerProps??{};return{...r,areaCls:[g.getBemElement(w,"scroll_area"),r==null?void 0:r.class,r==null?void 0:r.areaCls]}}),le=g.getBemElement(w,"popup"),ue=be.cva(le,{variants:{size:g.generateVariantClassList(xe,le)}}),oe=r=>{if(Number(r)>0)return`${r}px`;if(typeof r=="string")return r},he=t.computed(()=>oe(o.props.popupWidth)),pe=t.computed(()=>oe(o.props.popupHeight)),Ve=t.computed(()=>oe(o.props.minWidth)),Be=t.computed(()=>({type:ee.value==="sm"?"simple":"advance",...de.omit(o.props.emptyProps??{},"class")})),Me=t.computed(()=>de.omit(o.props.skeletonProps??{},"class")),{selectValues:we}=et({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(X.value??[])});return()=>{var F,W;const r=m=>t.h(ke,{option:m},{trailing:n.optionTrailing,leading:n.optionLeading}),u=[];let v;if(o.props.tree){const O=C.isArray(e.modelValue.value)?e.modelValue.value:e.modelValue.value?[e.modelValue.value]:[];v=t.h(Re._sfc_main,{data:X.value??[],selectable:!0,checkbox:o.props.multiple&&o.props.checkbox,multiple:o.props.multiple,defaultExpandAll:!0,syncCheckboxAndSelect:o.props.multiple,showLine:!0,modelValue:O,checkedKeys:O,onExpand:N,onSelect:(b,D,L)=>{if(o.props.multiple){const $=C.isArray(L)?L:[L];H(we($,D))}else H(L)},class:"w-full"},{title:b=>r(b._option)}),u.push(v)}else{let m=!1;const O=[];if((X.value??[]).forEach(b=>{var D;if((D=b.children)!=null&&D.length){const L=[];b.children.forEach($=>{const ae=r($._option);re(f($._option))&&o.props.sortSelectedItems?O.push(ae):L.push(ae)}),L.length&&((m||u.length)&&(u.push(t.h(_e._sfc_main)),m=!1),b.groupLabel&&u.push(t.h(nt,{class:o.props.labelCls},()=>b.groupLabel)),u.push(...L),m=!0)}else{const L=r(b._option);re(f(b._option))&&o.props.sortSelectedItems?O.push(L):(m&&(u.push(t.h(_e._sfc_main)),m=!1),u.push(L))}}),o.props.sortSelectedItems&&O.length){const b=!!u.length;u.splice(0,0,...O),b&&u.splice(O.length,0,t.h(_e._sfc_main))}}const k=M.flattenChildrenByType(v?[v]:u,ke).filter(m=>{var O;return C.isObject(m==null?void 0:m.props)&&((O=m==null?void 0:m.props)==null?void 0:O.option)}),_=!!(o.props.tree&&((F=X.value)!=null&&F.length)||k!=null&&k.length),z=()=>{var O,b;const m=[];if(_||o.props.loading){const D=[];if(_&&D.push(...u),o.props.loading){const L=(O=n.loading)==null?void 0:O.call(n,{});if(!M.isEmptyElement(L))D.push(L);else{const $=new Array(_?2:o.props.loadingRowCount).fill(1);D.push(...$.map(()=>t.h(Ae._sfc_main,{size:ee.value,class:[g.getBemElement(w,"skeleton"),o.props.skeletonCls],...Me.value})))}}m.push(t.h("div",{class:[g.getBemElement(w,"options"),o.props.optionsCls]},D))}else if(!_){const D=(b=n.empty)==null?void 0:b.call(n,Be.value);M.isEmptyElement(D)?m.push(t.h(qe._sfc_main,{class:[g.getBemElement(w,"empty"),o.props.emptyCls],...Be.value},{title:n.emptyTitle,description:n.emptyDescription,actions:n.emptyActions,image:n.emptyImage})):m.push(D)}return o.props.lazyLoading&&m.push(t.h("div",{class:g.getBemElement(w,"lazy_loading")},t.h("div",{class:g.getBemElement(w,"lazy_loading_trigger"),ref:c}))),m};return[t.h(ot,{ref:i,...o.attrs,style:{...((W=o.attrs)==null?void 0:W.style)??{},"--ptc-combobox-trigger-min-w":Ve.value}},{trigger:n.trigger,triggerTrailing:n.triggerTrailing}),t.h(U.ComboboxPortal,E.value,()=>t.h(U.ComboboxContent,{...A.value,vShow:e.open.value,class:[ue(o.props),o.props.popupCls],style:{zIndex:o.props.zIndex,"--ptc-combobox-popup-width":o.props.samePopupWidth?void 0:he.value,"--ptc-combobox-popup-height":pe.value,"--ptc-combobox-trigger-min-w":Ve.value},onClick:N},()=>{var L,$,ae,Se;const m=[],O=($=n.header)==null?void 0:$.call(n,{isEmpty:!((L=X.value)!=null&&L.length),search:o.searchModel.value}),b=!M.isEmptyElement(O);if(o.props.headerSearch||b){const ve=[];b&&ve.push(O),o.props.headerSearch&&ve.push(t.h(De)),m.push(t.h("div",{class:g.getBemElement(w,"header")},ve))}m.push(t.h(Ke._sfc_main,fe.value,z));const D=(Se=n.footer)==null?void 0:Se.call(n,{isEmpty:!((ae=X.value)!=null&&ae.length),search:o.searchModel.value});return M.isEmptyElement(D)||m.push(t.h("div",{class:g.getBemElement(w,"footer")},D)),m}))]}}}),lt=t.defineComponent({...ge.getComponentOptions("Combobox"),__name:"Combobox",props:{size:{default:"md"},status:{},multiple:{type:Boolean,default:void 0},noLastValueOnPlaceholder:{type:Boolean},showLabelValueOnHeaderSearch:{type:Boolean},zIndex:{},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:{},getSingle:{},getClear:{},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(p,{emit:n}){const o=p,e=n,c=U.useEmitAsProps(e),i=t.computed(()=>G.omitBy({...G.pick(o,"open","defaultOpen","defaultValue","modelValue","by","dir","multiple","disabled"),...G.pick(c,"onUpdate:modelValue","onUpdate:open"),ignoreFilter:!0},G.isUndefined)),E=Te.useVModel(o,"search",e,{passive:o.search===void 0});t.watch(()=>o.open,y=>{y||(E.value=void 0)});const I=t.useSlots(),B=t.useAttrs();return Je({attrs:B,props:o,emit:e,searchModel:E,emitsAsProps:c}),(y,q)=>(t.openBlock(),t.createBlock(t.unref(U.ComboboxRoot),t.mergeProps(i.value,{class:t.unref(w)}),{default:t.withCtx(()=>[t.createVNode(t.unref(rt),null,t.createSlots({_:2},[t.renderList(Object.keys(I),A=>({name:A,fn:t.withCtx(a=>[t.renderSlot(y.$slots,A,t.normalizeProps(t.guardReactiveProps(a)))])}))]),1024)]),_:3},16,["class"]))}});exports.ComboboxSizes=xe;exports.ComboboxStatuses=ze;exports._sfc_main=lt;exports.injectComboboxContext=me;exports.provideComboboxContext=Le;
|