vft 0.0.374 → 0.0.376

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,5 +1,4 @@
1
1
  import { defineComponent as Y, useSlots as ye, inject as D, ref as b, computed as a, watch as E, reactive as Se, toRefs as ke, provide as qe, onMounted as Ie, onBeforeUnmount as Ve, createElementBlock as _e, openBlock as F, unref as f, normalizeClass as g, createBlock as T, createCommentVNode as R, createElementVNode as G, withCtx as B, resolveDynamicComponent as we, normalizeStyle as K, renderSlot as M, createTextVNode as Ce, toDisplayString as U, createVNode as Fe, TransitionGroup as Re, nextTick as Be } from "vue";
2
- import "../icon/index.js";
3
2
  import { refDebounced as Me } from "@vueuse/core";
4
3
  import { isBoolean as We, getProp as W, isFunction as ze } from "@vft/utils";
5
4
  import { addUnit as O, castArray as H } from "../../utils/helper.js";
@@ -15,7 +14,7 @@ import Ne from "./form-label-wrap.js";
15
14
  import { useFormSize as Le } from "./hooks/use-form-common-props.js";
16
15
  const je = ["role", "aria-labelledby"], De = Y({
17
16
  name: "vft-form-item"
18
- }), ot = /* @__PURE__ */ Y({
17
+ }), rt = /* @__PURE__ */ Y({
19
18
  ...De,
20
19
  props: {
21
20
  label: {},
@@ -233,5 +232,5 @@ const je = ["role", "aria-labelledby"], De = Y({
233
232
  }
234
233
  });
235
234
  export {
236
- ot as default
235
+ rt as default
237
236
  };
@@ -26,7 +26,7 @@ const ie = {
26
26
  hoveringIndex: Number,
27
27
  width: Number
28
28
  }, Ne = /* @__PURE__ */ _({
29
- name: "VftSelectDropdown",
29
+ name: "ElSelectDropdown",
30
30
  props: ie,
31
31
  setup(w, {
32
32
  slots: m,
@@ -45,14 +45,14 @@ const ie = {
45
45
  } : {
46
46
  estimatedSize: o.props.estimatedOptionHeight,
47
47
  itemSize: (e) => E.value[e]
48
- }), V = (e = [], t) => {
48
+ }), A = (e = [], t) => {
49
49
  const {
50
50
  props: {
51
51
  valueKey: r
52
52
  }
53
53
  } = o;
54
54
  return K(t) ? e && e.some((s) => Q(b(s, r)) === b(t, r)) : e.includes(t);
55
- }, A = (e, t) => {
55
+ }, P = (e, t) => {
56
56
  if (K(t)) {
57
57
  const {
58
58
  valueKey: r
@@ -60,7 +60,7 @@ const ie = {
60
60
  return b(e, r) === b(t, r);
61
61
  } else
62
62
  return e === t;
63
- }, y = (e, t) => o.props.multiple ? V(e, g(t)) : A(e, g(t)), I = (e, t) => {
63
+ }, y = (e, t) => o.props.multiple ? A(e, g(t)) : P(e, g(t)), I = (e, t) => {
64
64
  const {
65
65
  disabled: r,
66
66
  multiple: s,
@@ -83,7 +83,7 @@ const ie = {
83
83
  e && e.resetScrollTop();
84
84
  }
85
85
  });
86
- const P = (e) => {
86
+ const V = (e) => {
87
87
  const {
88
88
  index: t,
89
89
  data: r,
@@ -174,7 +174,7 @@ const ie = {
174
174
  total: e.length,
175
175
  onKeydown: B
176
176
  }), {
177
- default: (i) => p(P, i, null)
177
+ default: (i) => p(V, i, null)
178
178
  }), m.footer?.()]);
179
179
  };
180
180
  }
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.374",
3
+ "version": "0.0.376",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.374";
1
+ const o = "0.0.376";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../icon/index.cjs");const oe=require("@vueuse/core"),m=require("@vft/utils"),b=require("../../utils/helper.cjs"),g=require("lodash-es"),le=require("../../hooks/use-id/index.cjs"),ae=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const se=require("async-validator"),z=require("./constants.cjs"),ie=require("./form-label-wrap.cjs"),ne=require("./hooks/use-form-common-props.cjs"),ue=["role","aria-labelledby"],de=e.defineComponent({name:"vft-form-item"}),ce=e.defineComponent({...de,props:{label:{},labelWidth:{default:""},labelPosition:{},prop:{},required:{type:Boolean,default:void 0},rules:{},error:{},for:{},validateStatus:{},inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:{},hideRequiredAsterisk:{type:Boolean},hideLabel:{type:Boolean,default:!1}},emits:["update:error"],setup($,{expose:A,emit:j}){const r=$,E=j,B=e.useSlots(),l=e.inject(z.formContextKey,void 0),L=e.inject(z.formItemContextKey,void 0),y=ne.useFormSize(void 0,{formItem:!1}),s=ae.useNamespace("form-item"),q=le.useId().value,d=e.ref([]),c=e.ref(""),D=oe.refDebounced(c,100),n=e.ref(""),x=e.ref();let F,v=!1;const h=e.computed(()=>r.labelPosition||l?.labelPosition),M=e.computed(()=>{if(h.value==="top")return{};const t=b.addUnit(r.labelWidth||l?.labelWidth||"");return t?{width:t}:{}}),T=e.computed(()=>{if(h.value==="top"||l?.inline)return{};if(!r.label&&!r.labelWidth&&O)return{};const t=b.addUnit(r.labelWidth||l?.labelWidth||"");return!r.label&&!B.label?{marginLeft:t}:{}}),K=e.computed(()=>[s.b(),s.m(y.value),s.is("error",c.value==="error"),s.is("validating",c.value==="validating"),s.is("success",c.value==="success"),s.is("required",Q.value||r.required),s.is("no-asterisk",r?.hideRequiredAsterisk||l?.hideRequiredAsterisk),l?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[s.m("feedback")]:l?.statusIcon,[s.m(`label-${h.value}`)]:h.value}]),U=e.computed(()=>m.isBoolean(r.inlineMessage)?r.inlineMessage:l?.inlineMessage||!1),G=e.computed(()=>[s.e("error"),{[s.em("error","inline")]:U.value}]),P=e.computed(()=>r.prop?g.isArray(r.prop)?r.prop.join("."):r.prop:""),S=e.computed(()=>!!(r.label||B.label)),C=e.computed(()=>r.for??(d.value.length===1?d.value[0]:void 0)),k=e.computed(()=>!C.value&&S.value),O=!!L,V=e.computed(()=>{const t=l?.model;if(!(!t||!r.prop))return m.getProp(t,r.prop).value}),w=e.computed(()=>{const{required:t}=r,o=[];r.rules&&o.push(...b.castArray(r.rules).map(a=>(a.trigger=a.trigger||"blur",a)));const i=l?.rules;if(i&&r.prop){const a=m.getProp(i,r.prop).value;a&&o.push(...b.castArray(a))}if(t!==void 0){const a=o.map((u,f)=>[u,f]).filter(([u])=>Object.keys(u).includes("required"));if(a.length>0)for(const[u,f]of a)u.required!==t&&(o[f]={...u,required:t});else o.push({required:t})}return o}),H=e.computed(()=>w.value.length>0),J=t=>w.value.filter(i=>!i.trigger||!t?!0:g.isArray(i.trigger)?i.trigger.includes(t):i.trigger===t).map(({trigger:i,...a})=>a),Q=e.computed(()=>w.value.some(t=>t.required)),X=e.computed(()=>D.value==="error"&&r.showMessage&&(l?.showMessage??!0)),R=e.computed(()=>`${r.label||""}${l?.labelSuffix||""}`),p=t=>{c.value=t},Y=t=>{const{errors:o,fields:i}=t;(!o||!i)&&console.error(t),p("error"),n.value=o?o?.[0]?.message??`${r.prop} is required`:"",l?.emit("validate",r.prop,!1,n.value)},Z=()=>{p("success"),l?.emit("validate",r.prop,!0,"")},ee=async t=>{const o=P.value;return new se({[o]:t}).validate({[o]:V.value},{firstFields:!0}).then(()=>(Z(),!0)).catch(a=>(Y(a),Promise.reject(a)))},N=async(t,o)=>{if(v||!r.prop)return!1;const i=m.isFunction(o);if(!H.value)return o?.(!1),!1;const a=J(t);return a.length===0?(o?.(!0),!0):(p("validating"),ee(a).then(()=>(o?.(!0),!0)).catch(u=>{const{fields:f}=u;return o?.(!1,f),i?!1:Promise.reject(f)}))},I=()=>{r.error&&E("update:error",""),p(""),n.value="",v=!1},W=async()=>{const t=l?.model;if(!t||!r.prop)return;const o=m.getProp(t,r.prop);v=!0,o.value=g.clone(F),await e.nextTick(),I(),v=!1},te=t=>{d.value.includes(t)||d.value.push(t)},re=t=>{d.value=d.value.filter(o=>o!==t)};e.watch(()=>r.error,t=>{n.value=t||"",p(t?"error":"")},{immediate:!0}),e.watch(()=>r.validateStatus,t=>p(t||""));const _=e.reactive({...e.toRefs(r),$el:x,size:y,validateMessage:n,validateState:c,labelId:q,inputIds:d,isGroup:k,hasLabel:S,fieldValue:V,addInputId:te,removeInputId:re,resetField:W,clearValidate:I,validate:N,propString:P});return e.provide(z.formItemContextKey,_),e.onMounted(()=>{r.prop&&(l?.addField(_),F=g.clone(V.value))}),e.onBeforeUnmount(()=>{l?.removeField(_)}),A({size:y,validateMessage:n,validateState:c,validate:N,clearValidate:I,resetField:W}),(t,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"formItemRef",ref:x,class:e.normalizeClass(K.value),role:k.value?"group":void 0,"aria-labelledby":k.value?e.unref(q):void 0},[t.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ie.default),{key:0,"is-auto-width":M.value.width==="auto","update-all":e.unref(l)?.labelWidth==="auto"},{default:e.withCtx(()=>[S.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.value?"label":"div"),{key:0,id:e.unref(q),for:C.value,class:e.normalizeClass(e.unref(s).e("label")),style:e.normalizeStyle(M.value)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"label",{label:R.value},()=>[e.createTextVNode(e.toDisplayString(R.value),1)])]),_:3},8,["id","for","class","style"])):e.createCommentVNode("",!0)]),_:3},8,["is-auto-width","update-all"])),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s).e("content")),style:e.normalizeStyle(T.value)},[e.renderSlot(t.$slots,"default"),e.createVNode(e.TransitionGroup,{name:`${e.unref(s).namespace.value}-zoom-in-top`},{default:e.withCtx(()=>[X.value?e.renderSlot(t.$slots,"error",{key:0,error:n.value},()=>[e.createElementVNode("div",{class:e.normalizeClass(G.value)},e.toDisplayString(n.value),3)]):e.createCommentVNode("",!0)]),_:3},8,["name"])],6)],10,ue))}});exports.default=ce;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),oe=require("@vueuse/core"),m=require("@vft/utils"),b=require("../../utils/helper.cjs"),g=require("lodash-es"),le=require("../../hooks/use-id/index.cjs"),ae=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const se=require("async-validator"),z=require("./constants.cjs"),ie=require("./form-label-wrap.cjs"),ne=require("./hooks/use-form-common-props.cjs"),ue=["role","aria-labelledby"],de=e.defineComponent({name:"vft-form-item"}),ce=e.defineComponent({...de,props:{label:{},labelWidth:{default:""},labelPosition:{},prop:{},required:{type:Boolean,default:void 0},rules:{},error:{},for:{},validateStatus:{},inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:{},hideRequiredAsterisk:{type:Boolean},hideLabel:{type:Boolean,default:!1}},emits:["update:error"],setup($,{expose:A,emit:j}){const r=$,E=j,B=e.useSlots(),l=e.inject(z.formContextKey,void 0),L=e.inject(z.formItemContextKey,void 0),y=ne.useFormSize(void 0,{formItem:!1}),s=ae.useNamespace("form-item"),q=le.useId().value,d=e.ref([]),c=e.ref(""),D=oe.refDebounced(c,100),n=e.ref(""),x=e.ref();let F,v=!1;const h=e.computed(()=>r.labelPosition||l?.labelPosition),M=e.computed(()=>{if(h.value==="top")return{};const t=b.addUnit(r.labelWidth||l?.labelWidth||"");return t?{width:t}:{}}),T=e.computed(()=>{if(h.value==="top"||l?.inline)return{};if(!r.label&&!r.labelWidth&&O)return{};const t=b.addUnit(r.labelWidth||l?.labelWidth||"");return!r.label&&!B.label?{marginLeft:t}:{}}),K=e.computed(()=>[s.b(),s.m(y.value),s.is("error",c.value==="error"),s.is("validating",c.value==="validating"),s.is("success",c.value==="success"),s.is("required",Q.value||r.required),s.is("no-asterisk",r?.hideRequiredAsterisk||l?.hideRequiredAsterisk),l?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[s.m("feedback")]:l?.statusIcon,[s.m(`label-${h.value}`)]:h.value}]),U=e.computed(()=>m.isBoolean(r.inlineMessage)?r.inlineMessage:l?.inlineMessage||!1),G=e.computed(()=>[s.e("error"),{[s.em("error","inline")]:U.value}]),P=e.computed(()=>r.prop?g.isArray(r.prop)?r.prop.join("."):r.prop:""),S=e.computed(()=>!!(r.label||B.label)),C=e.computed(()=>r.for??(d.value.length===1?d.value[0]:void 0)),k=e.computed(()=>!C.value&&S.value),O=!!L,V=e.computed(()=>{const t=l?.model;if(!(!t||!r.prop))return m.getProp(t,r.prop).value}),w=e.computed(()=>{const{required:t}=r,o=[];r.rules&&o.push(...b.castArray(r.rules).map(a=>(a.trigger=a.trigger||"blur",a)));const i=l?.rules;if(i&&r.prop){const a=m.getProp(i,r.prop).value;a&&o.push(...b.castArray(a))}if(t!==void 0){const a=o.map((u,f)=>[u,f]).filter(([u])=>Object.keys(u).includes("required"));if(a.length>0)for(const[u,f]of a)u.required!==t&&(o[f]={...u,required:t});else o.push({required:t})}return o}),H=e.computed(()=>w.value.length>0),J=t=>w.value.filter(i=>!i.trigger||!t?!0:g.isArray(i.trigger)?i.trigger.includes(t):i.trigger===t).map(({trigger:i,...a})=>a),Q=e.computed(()=>w.value.some(t=>t.required)),X=e.computed(()=>D.value==="error"&&r.showMessage&&(l?.showMessage??!0)),R=e.computed(()=>`${r.label||""}${l?.labelSuffix||""}`),p=t=>{c.value=t},Y=t=>{const{errors:o,fields:i}=t;(!o||!i)&&console.error(t),p("error"),n.value=o?o?.[0]?.message??`${r.prop} is required`:"",l?.emit("validate",r.prop,!1,n.value)},Z=()=>{p("success"),l?.emit("validate",r.prop,!0,"")},ee=async t=>{const o=P.value;return new se({[o]:t}).validate({[o]:V.value},{firstFields:!0}).then(()=>(Z(),!0)).catch(a=>(Y(a),Promise.reject(a)))},N=async(t,o)=>{if(v||!r.prop)return!1;const i=m.isFunction(o);if(!H.value)return o?.(!1),!1;const a=J(t);return a.length===0?(o?.(!0),!0):(p("validating"),ee(a).then(()=>(o?.(!0),!0)).catch(u=>{const{fields:f}=u;return o?.(!1,f),i?!1:Promise.reject(f)}))},I=()=>{r.error&&E("update:error",""),p(""),n.value="",v=!1},W=async()=>{const t=l?.model;if(!t||!r.prop)return;const o=m.getProp(t,r.prop);v=!0,o.value=g.clone(F),await e.nextTick(),I(),v=!1},te=t=>{d.value.includes(t)||d.value.push(t)},re=t=>{d.value=d.value.filter(o=>o!==t)};e.watch(()=>r.error,t=>{n.value=t||"",p(t?"error":"")},{immediate:!0}),e.watch(()=>r.validateStatus,t=>p(t||""));const _=e.reactive({...e.toRefs(r),$el:x,size:y,validateMessage:n,validateState:c,labelId:q,inputIds:d,isGroup:k,hasLabel:S,fieldValue:V,addInputId:te,removeInputId:re,resetField:W,clearValidate:I,validate:N,propString:P});return e.provide(z.formItemContextKey,_),e.onMounted(()=>{r.prop&&(l?.addField(_),F=g.clone(V.value))}),e.onBeforeUnmount(()=>{l?.removeField(_)}),A({size:y,validateMessage:n,validateState:c,validate:N,clearValidate:I,resetField:W}),(t,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"formItemRef",ref:x,class:e.normalizeClass(K.value),role:k.value?"group":void 0,"aria-labelledby":k.value?e.unref(q):void 0},[t.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ie.default),{key:0,"is-auto-width":M.value.width==="auto","update-all":e.unref(l)?.labelWidth==="auto"},{default:e.withCtx(()=>[S.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.value?"label":"div"),{key:0,id:e.unref(q),for:C.value,class:e.normalizeClass(e.unref(s).e("label")),style:e.normalizeStyle(M.value)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"label",{label:R.value},()=>[e.createTextVNode(e.toDisplayString(R.value),1)])]),_:3},8,["id","for","class","style"])):e.createCommentVNode("",!0)]),_:3},8,["is-auto-width","update-all"])),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s).e("content")),style:e.normalizeStyle(T.value)},[e.renderSlot(t.$slots,"default"),e.createVNode(e.TransitionGroup,{name:`${e.unref(s).namespace.value}-zoom-in-top`},{default:e.withCtx(()=>[X.value?e.renderSlot(t.$slots,"error",{key:0,error:n.value},()=>[e.createElementVNode("div",{class:e.normalizeClass(G.value)},e.toDisplayString(n.value),3)]):e.createCommentVNode("",!0)]),_:3},8,["name"])],6)],10,ue))}});exports.default=ce;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),f=require("lodash-es"),g=require("@vft/utils"),B=require("../virtual-list/components/fixed-size-list.cjs"),C=require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");const F=require("../../constants/aria.cjs"),G=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const U=require("./group-item.vue.cjs"),$=require("./option-item.vue.cjs"),J=require("./useProps.cjs"),Q=require("./token.cjs"),W={loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number},X=o.defineComponent({name:"VftSelectDropdown",props:W,setup(b,{slots:d,expose:z}){const r=o.inject(Q.selectV2InjectionKey),h=G.useNamespace("select"),{getLabel:O,getValue:v,getDisabled:V}=J.useProps(r.props),x=o.ref([]),p=o.ref(),H=o.computed(()=>b.data.length);o.watch(()=>H.value,()=>{r.tooltipRef.value?.updatePopper?.()});const m=o.computed(()=>g.isUndefined(r.props.estimatedOptionHeight)),S=o.computed(()=>m.value?{itemSize:r.props.itemHeight}:{estimatedSize:r.props.estimatedOptionHeight,itemSize:e=>x.value[e]}),T=(e=[],t)=>{const{props:{valueKey:s}}=r;return g.isObject(t)?e&&e.some(n=>o.toRaw(f.get(n,s))===f.get(t,s)):e.includes(t)},k=(e,t)=>{if(g.isObject(t)){const{valueKey:s}=r.props;return f.get(e,s)===f.get(t,s)}else return e===t},q=(e,t)=>r.props.multiple?T(e,v(t)):k(e,v(t)),w=(e,t)=>{const{disabled:s,multiple:n,multipleLimit:i}=r.props;return s||!t&&(n?i>0&&e.length>=i:!1)},y=e=>b.hoveringIndex===e;z({listRef:p,isSized:m,isItemDisabled:w,isItemHovering:y,isItemSelected:q,scrollToItem:e=>{const t=p.value;t&&t.scrollToItem(e)},resetScrollTop:()=>{const e=p.value;e&&e.resetScrollTop()}});const K=e=>{const{index:t,data:s,style:n}=e,i=o.unref(m),{itemSize:a,estimatedSize:u}=o.unref(S),{modelValue:c}=r.props,{onSelect:L,onHover:A}=r,l=s[t];if(l.type==="Group")return o.createVNode(U.default,{item:l,style:n,height:i?a:u},null);const N=q(c,l),M=w(c,N),R=y(t);return o.createVNode($.default,o.mergeProps(e,{selected:N,disabled:V(l)||M,created:!!l.created,hovering:R,item:l,onSelect:L,onHover:A}),{default:_=>d.default?.(_)||o.createVNode("span",null,[O(l)])})},{onKeyboardNavigate:I,onKeyboardSelect:P}=r,D=()=>{I("forward")},E=()=>{I("backward")},j=e=>{const{code:t}=e,{tab:s,esc:n,down:i,up:a,enter:u,numpadEnter:c}=F.EVENT_CODE;switch([n,i,a,u,c].includes(t)&&(e.preventDefault(),e.stopPropagation()),t){case s:case n:break;case i:D();break;case a:E();break;case u:case c:P();break}};return()=>{const{data:e,width:t}=b,{height:s,multiple:n,scrollbarAlwaysOn:i}=r.props,a=o.computed(()=>g.isIOS?!0:i),u=o.unref(m)?B.default:C.default;return o.createVNode("div",{class:[h.b("dropdown"),h.is("multiple",n)],style:{width:`${t}px`}},[d.header?.(),d.loading?.()||d.empty?.()||o.createVNode(u,o.mergeProps({ref:p},o.unref(S),{className:h.be("dropdown","list"),scrollbarAlwaysOn:a.value,data:e,height:s,width:t,total:e.length,onKeydown:j}),{default:c=>o.createVNode(K,c,null)}),d.footer?.()])}}});exports.default=X;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),f=require("lodash-es"),g=require("@vft/utils"),B=require("../virtual-list/components/fixed-size-list.cjs"),C=require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");const F=require("../../constants/aria.cjs"),G=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const U=require("./group-item.vue.cjs"),$=require("./option-item.vue.cjs"),J=require("./useProps.cjs"),Q=require("./token.cjs"),W={loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number},X=o.defineComponent({name:"ElSelectDropdown",props:W,setup(b,{slots:d,expose:z}){const r=o.inject(Q.selectV2InjectionKey),h=G.useNamespace("select"),{getLabel:O,getValue:v,getDisabled:V}=J.useProps(r.props),x=o.ref([]),p=o.ref(),H=o.computed(()=>b.data.length);o.watch(()=>H.value,()=>{r.tooltipRef.value?.updatePopper?.()});const m=o.computed(()=>g.isUndefined(r.props.estimatedOptionHeight)),S=o.computed(()=>m.value?{itemSize:r.props.itemHeight}:{estimatedSize:r.props.estimatedOptionHeight,itemSize:e=>x.value[e]}),T=(e=[],t)=>{const{props:{valueKey:s}}=r;return g.isObject(t)?e&&e.some(n=>o.toRaw(f.get(n,s))===f.get(t,s)):e.includes(t)},k=(e,t)=>{if(g.isObject(t)){const{valueKey:s}=r.props;return f.get(e,s)===f.get(t,s)}else return e===t},q=(e,t)=>r.props.multiple?T(e,v(t)):k(e,v(t)),w=(e,t)=>{const{disabled:s,multiple:n,multipleLimit:i}=r.props;return s||!t&&(n?i>0&&e.length>=i:!1)},y=e=>b.hoveringIndex===e;z({listRef:p,isSized:m,isItemDisabled:w,isItemHovering:y,isItemSelected:q,scrollToItem:e=>{const t=p.value;t&&t.scrollToItem(e)},resetScrollTop:()=>{const e=p.value;e&&e.resetScrollTop()}});const E=e=>{const{index:t,data:s,style:n}=e,i=o.unref(m),{itemSize:a,estimatedSize:u}=o.unref(S),{modelValue:c}=r.props,{onSelect:L,onHover:A}=r,l=s[t];if(l.type==="Group")return o.createVNode(U.default,{item:l,style:n,height:i?a:u},null);const N=q(c,l),M=w(c,N),R=y(t);return o.createVNode($.default,o.mergeProps(e,{selected:N,disabled:V(l)||M,created:!!l.created,hovering:R,item:l,onSelect:L,onHover:A}),{default:_=>d.default?.(_)||o.createVNode("span",null,[O(l)])})},{onKeyboardNavigate:I,onKeyboardSelect:K}=r,P=()=>{I("forward")},D=()=>{I("backward")},j=e=>{const{code:t}=e,{tab:s,esc:n,down:i,up:a,enter:u,numpadEnter:c}=F.EVENT_CODE;switch([n,i,a,u,c].includes(t)&&(e.preventDefault(),e.stopPropagation()),t){case s:case n:break;case i:P();break;case a:D();break;case u:case c:K();break}};return()=>{const{data:e,width:t}=b,{height:s,multiple:n,scrollbarAlwaysOn:i}=r.props,a=o.computed(()=>g.isIOS?!0:i),u=o.unref(m)?B.default:C.default;return o.createVNode("div",{class:[h.b("dropdown"),h.is("multiple",n)],style:{width:`${t}px`}},[d.header?.(),d.loading?.()||d.empty?.()||o.createVNode(u,o.mergeProps({ref:p},o.unref(S),{className:h.be("dropdown","list"),scrollbarAlwaysOn:a.value,data:e,height:s,width:t,total:e.length,onKeydown:j}),{default:c=>o.createVNode(E,c,null)}),d.footer?.()])}}});exports.default=X;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.374";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.376";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.374",
3
+ "version": "0.0.376",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vft",
3
- "version": "0.0.374",
3
+ "version": "0.0.376",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -56,11 +56,11 @@
56
56
  "sortablejs": "1.15.0",
57
57
  "photoswipe": "5.4.4",
58
58
  "@vft/router": "0.0.65",
59
- "@vft/use": "0.0.77",
60
- "@vft/directives": "0.0.33",
61
59
  "@vft/store": "0.0.54",
62
60
  "@vft/constants": "0.0.72",
63
- "@vft/utils": "0.0.131"
61
+ "@vft/utils": "0.0.131",
62
+ "@vft/directives": "0.0.34",
63
+ "@vft/use": "0.0.77"
64
64
  },
65
65
  "vetur": {
66
66
  "tags": "tags.json",
package/web-types.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.374","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}
1
+ {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.376","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}