vft 0.0.411 → 0.0.413

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.
Files changed (45) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/autocomplete/autocomplete.vue.d.ts +2 -2
  3. package/es/components/autocomplete/index.d.ts +6 -6
  4. package/es/components/button/index.d.ts +9 -9
  5. package/es/components/carousel/use-carousel.js +1 -1
  6. package/es/components/drawer/drawer.vue2.js +92 -98
  7. package/es/components/form/form-item.vue.d.ts +1 -1
  8. package/es/components/form/index.d.ts +30 -30
  9. package/es/components/input/input.vue2.js +4 -4
  10. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  11. package/es/components/popconfirm/index.d.ts +15 -15
  12. package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
  13. package/es/components/search/index.d.ts +3 -0
  14. package/es/components/search/search.vue.d.ts +1 -0
  15. package/es/components/search/search.vue2.js +22 -21
  16. package/es/components/select/index.d.ts +4 -4
  17. package/es/components/select/select.vue.d.ts +4 -4
  18. package/es/components/select/useSelect.d.ts +4 -4
  19. package/es/components/super-form/super-form-item.vue2.js +1 -1
  20. package/es/hooks/use-z-index/index.js +3 -3
  21. package/es/package.json.d.ts +1 -1
  22. package/es/package.json.js +1 -1
  23. package/es/utils/vue/vnode.js +1 -1
  24. package/lib/components/autocomplete/autocomplete.vue.d.ts +2 -2
  25. package/lib/components/autocomplete/index.d.ts +6 -6
  26. package/lib/components/button/index.d.ts +9 -9
  27. package/lib/components/drawer/drawer.vue2.cjs +1 -1
  28. package/lib/components/form/form-item.vue.d.ts +1 -1
  29. package/lib/components/form/index.d.ts +30 -30
  30. package/lib/components/input/input.vue2.cjs +1 -1
  31. package/lib/components/popconfirm/index.d.ts +15 -15
  32. package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
  33. package/lib/components/search/index.d.ts +3 -0
  34. package/lib/components/search/search.vue.d.ts +1 -0
  35. package/lib/components/search/search.vue2.cjs +1 -1
  36. package/lib/components/select/index.d.ts +4 -4
  37. package/lib/components/select/select.vue.d.ts +4 -4
  38. package/lib/components/select/useSelect.d.ts +4 -4
  39. package/lib/package.json.cjs +1 -1
  40. package/lib/package.json.d.ts +1 -1
  41. package/package.json +5 -5
  42. package/theme-style/index.css +1 -1
  43. package/theme-style/src/drawer.scss +0 -12
  44. package/theme-style/vft-drawer.css +1 -1
  45. package/web-types.json +1 -1
@@ -206,10 +206,6 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
206
206
  prop: {
207
207
  type: import("vue").PropType<string | string[]>;
208
208
  };
209
- required: {
210
- type: import("vue").PropType<boolean>;
211
- default: undefined;
212
- };
213
209
  rules: {
214
210
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
215
211
  };
@@ -231,6 +227,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
231
227
  hideRequiredAsterisk: {
232
228
  type: import("vue").PropType<boolean>;
233
229
  };
230
+ required: {
231
+ type: import("vue").PropType<boolean>;
232
+ default: undefined;
233
+ };
234
234
  for: {
235
235
  type: import("vue").PropType<string>;
236
236
  };
@@ -253,10 +253,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
253
253
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
254
254
  "update:error": (val: string) => void;
255
255
  }, import("vue").PublicProps, {
256
- required: boolean;
257
256
  labelWidth: string | number;
258
257
  inlineMessage: string | boolean;
259
258
  showMessage: boolean;
259
+ required: boolean;
260
260
  hideLabel: boolean;
261
261
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
262
262
  P: {};
@@ -278,10 +278,6 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
278
278
  prop: {
279
279
  type: import("vue").PropType<string | string[]>;
280
280
  };
281
- required: {
282
- type: import("vue").PropType<boolean>;
283
- default: undefined;
284
- };
285
281
  rules: {
286
282
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
287
283
  };
@@ -303,6 +299,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
303
299
  hideRequiredAsterisk: {
304
300
  type: import("vue").PropType<boolean>;
305
301
  };
302
+ required: {
303
+ type: import("vue").PropType<boolean>;
304
+ default: undefined;
305
+ };
306
306
  for: {
307
307
  type: import("vue").PropType<string>;
308
308
  };
@@ -323,10 +323,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
323
323
  clearValidate: () => void;
324
324
  resetField: () => void;
325
325
  }, {}, {}, {}, {
326
- required: boolean;
327
326
  labelWidth: string | number;
328
327
  inlineMessage: string | boolean;
329
328
  showMessage: boolean;
329
+ required: boolean;
330
330
  hideLabel: boolean;
331
331
  }>;
332
332
  __isFragment?: never;
@@ -345,10 +345,6 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
345
345
  prop: {
346
346
  type: import("vue").PropType<string | string[]>;
347
347
  };
348
- required: {
349
- type: import("vue").PropType<boolean>;
350
- default: undefined;
351
- };
352
348
  rules: {
353
349
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
354
350
  };
@@ -370,6 +366,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
370
366
  hideRequiredAsterisk: {
371
367
  type: import("vue").PropType<boolean>;
372
368
  };
369
+ required: {
370
+ type: import("vue").PropType<boolean>;
371
+ default: undefined;
372
+ };
373
373
  for: {
374
374
  type: import("vue").PropType<string>;
375
375
  };
@@ -392,10 +392,10 @@ export declare const VftForm: import("vft/es/utils").SFCWithInstall<{
392
392
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
393
393
  "update:error": (val: string) => void;
394
394
  }, string, {
395
- required: boolean;
396
395
  labelWidth: string | number;
397
396
  inlineMessage: string | boolean;
398
397
  showMessage: boolean;
398
+ required: boolean;
399
399
  hideLabel: boolean;
400
400
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
401
401
  $slots: {
@@ -423,10 +423,6 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
423
423
  prop: {
424
424
  type: import("vue").PropType<string | string[]>;
425
425
  };
426
- required: {
427
- type: import("vue").PropType<boolean>;
428
- default: undefined;
429
- };
430
426
  rules: {
431
427
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
432
428
  };
@@ -448,6 +444,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
448
444
  hideRequiredAsterisk: {
449
445
  type: import("vue").PropType<boolean>;
450
446
  };
447
+ required: {
448
+ type: import("vue").PropType<boolean>;
449
+ default: undefined;
450
+ };
451
451
  for: {
452
452
  type: import("vue").PropType<string>;
453
453
  };
@@ -470,10 +470,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
470
470
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
471
471
  "update:error": (val: string) => void;
472
472
  }, import("vue").PublicProps, {
473
- required: boolean;
474
473
  labelWidth: string | number;
475
474
  inlineMessage: string | boolean;
476
475
  showMessage: boolean;
476
+ required: boolean;
477
477
  hideLabel: boolean;
478
478
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
479
479
  P: {};
@@ -495,10 +495,6 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
495
495
  prop: {
496
496
  type: import("vue").PropType<string | string[]>;
497
497
  };
498
- required: {
499
- type: import("vue").PropType<boolean>;
500
- default: undefined;
501
- };
502
498
  rules: {
503
499
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
504
500
  };
@@ -520,6 +516,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
520
516
  hideRequiredAsterisk: {
521
517
  type: import("vue").PropType<boolean>;
522
518
  };
519
+ required: {
520
+ type: import("vue").PropType<boolean>;
521
+ default: undefined;
522
+ };
523
523
  for: {
524
524
  type: import("vue").PropType<string>;
525
525
  };
@@ -540,10 +540,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
540
540
  clearValidate: () => void;
541
541
  resetField: () => void;
542
542
  }, {}, {}, {}, {
543
- required: boolean;
544
543
  labelWidth: string | number;
545
544
  inlineMessage: string | boolean;
546
545
  showMessage: boolean;
546
+ required: boolean;
547
547
  hideLabel: boolean;
548
548
  }>;
549
549
  __isFragment?: never;
@@ -562,10 +562,6 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
562
562
  prop: {
563
563
  type: import("vue").PropType<string | string[]>;
564
564
  };
565
- required: {
566
- type: import("vue").PropType<boolean>;
567
- default: undefined;
568
- };
569
565
  rules: {
570
566
  type: import("vue").PropType<import("vft/es/utils").Arrayable<import("./types").FormItemRule>>;
571
567
  };
@@ -587,6 +583,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
587
583
  hideRequiredAsterisk: {
588
584
  type: import("vue").PropType<boolean>;
589
585
  };
586
+ required: {
587
+ type: import("vue").PropType<boolean>;
588
+ default: undefined;
589
+ };
590
590
  for: {
591
591
  type: import("vue").PropType<string>;
592
592
  };
@@ -609,10 +609,10 @@ export declare const VftFormItem: import("vft/es/utils").SFCWithInstall<{
609
609
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
610
610
  "update:error": (val: string) => void;
611
611
  }, string, {
612
- required: boolean;
613
612
  labelWidth: string | number;
614
613
  inlineMessage: string | boolean;
615
614
  showMessage: boolean;
615
+ required: boolean;
616
616
  hideLabel: boolean;
617
617
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
618
618
  $slots: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-item.cjs"),oe=require("../form/hooks/use-form-common-props.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:F}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),m=oe.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-common-props.cjs"),oe=require("../form/hooks/use-form-item.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:F}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),m=te.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
@@ -7,14 +7,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
7
7
  type: import("vue").PropType<string | number>;
8
8
  default: number;
9
9
  };
10
- icon: {
11
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
12
- default: string;
13
- };
14
10
  teleported: {
15
11
  type: import("vue").PropType<boolean>;
16
12
  default: boolean;
17
13
  };
14
+ icon: {
15
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
16
+ default: string;
17
+ };
18
18
  hideAfter: {
19
19
  type: import("vue").PropType<number>;
20
20
  default: number;
@@ -52,8 +52,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
52
52
  cancel: (val: MouseEvent) => void;
53
53
  }, import("vue").PublicProps, {
54
54
  width: string | number;
55
- icon: string | import("vft/es/vft").IconProps;
56
55
  teleported: boolean;
56
+ icon: string | import("vft/es/vft").IconProps;
57
57
  hideAfter: number;
58
58
  persistent: boolean;
59
59
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -74,14 +74,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
74
74
  type: import("vue").PropType<string | number>;
75
75
  default: number;
76
76
  };
77
- icon: {
78
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
79
- default: string;
80
- };
81
77
  teleported: {
82
78
  type: import("vue").PropType<boolean>;
83
79
  default: boolean;
84
80
  };
81
+ icon: {
82
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
83
+ default: string;
84
+ };
85
85
  hideAfter: {
86
86
  type: import("vue").PropType<number>;
87
87
  default: number;
@@ -116,8 +116,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
116
116
  onConfirm?: ((val: MouseEvent) => any) | undefined;
117
117
  }>, {}, {}, {}, {}, {
118
118
  width: string | number;
119
- icon: string | import("vft/es/vft").IconProps;
120
119
  teleported: boolean;
120
+ icon: string | import("vft/es/vft").IconProps;
121
121
  hideAfter: number;
122
122
  persistent: boolean;
123
123
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -135,14 +135,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
135
135
  type: import("vue").PropType<string | number>;
136
136
  default: number;
137
137
  };
138
- icon: {
139
- type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
140
- default: string;
141
- };
142
138
  teleported: {
143
139
  type: import("vue").PropType<boolean>;
144
140
  default: boolean;
145
141
  };
142
+ icon: {
143
+ type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
144
+ default: string;
145
+ };
146
146
  hideAfter: {
147
147
  type: import("vue").PropType<number>;
148
148
  default: number;
@@ -180,8 +180,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
180
180
  cancel: (val: MouseEvent) => void;
181
181
  }, string, {
182
182
  width: string | number;
183
- icon: string | import("vft/es/vft").IconProps;
184
183
  teleported: boolean;
184
+ icon: string | import("vft/es/vft").IconProps;
185
185
  hideAfter: number;
186
186
  persistent: boolean;
187
187
  confirmButtonType: import("vft/es/vft").ButtonType;
@@ -43,8 +43,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
43
43
  onConfirm?: ((val: MouseEvent) => any) | undefined;
44
44
  }>, {
45
45
  width: string | number;
46
- icon: string | IconProps;
47
46
  teleported: boolean;
47
+ icon: string | IconProps;
48
48
  hideAfter: number;
49
49
  persistent: boolean;
50
50
  confirmButtonType: ButtonType;
@@ -53,6 +53,7 @@ export declare const VftSearch: import("vft/es/utils").SFCWithInstall<{
53
53
  visible: import("vue").Ref<boolean, boolean>;
54
54
  hidePopover: () => void;
55
55
  showPopover: () => void;
56
+ inputRef: import("vue").Ref<any, any>;
56
57
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
57
58
  "update:modelValue": (val: string | number) => void;
58
59
  blur: () => void;
@@ -129,6 +130,7 @@ export declare const VftSearch: import("vft/es/utils").SFCWithInstall<{
129
130
  visible: import("vue").Ref<boolean, boolean>;
130
131
  hidePopover: () => void;
131
132
  showPopover: () => void;
133
+ inputRef: import("vue").Ref<any, any>;
132
134
  }, {}, {}, {}, {}>;
133
135
  __isFragment?: never;
134
136
  __isTeleport?: never;
@@ -186,6 +188,7 @@ export declare const VftSearch: import("vft/es/utils").SFCWithInstall<{
186
188
  visible: import("vue").Ref<boolean, boolean>;
187
189
  hidePopover: () => void;
188
190
  showPopover: () => void;
191
+ inputRef: import("vue").Ref<any, any>;
189
192
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
190
193
  "update:modelValue": (val: string | number) => void;
191
194
  blur: () => void;
@@ -26,6 +26,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
26
26
  visible: import("vue").Ref<boolean, boolean>;
27
27
  hidePopover: typeof hidePopover;
28
28
  showPopover: typeof showPopover;
29
+ inputRef: import("vue").Ref<any, any>;
29
30
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
31
  "update:modelValue": (val: string | number) => void;
31
32
  blur: () => void;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const D=require("../input/index.cjs"),K=require("../popover/index.cjs"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const A=require("@vft/directives"),H=e.defineComponent({name:"vft-search"}),L=e.defineComponent({...H,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},modelValue:{default:""},clearable:{type:Boolean,default:!0},placeholder:{default:"请输入你要搜索的内容"},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(n,{expose:h,emit:C}){const a=j.useNamespace("search"),o=C,f=e.ref(),c=e.ref(),p=e.ref(),u=e.ref(!1),s=e.ref(!1),i=e.ref(!1),k=e.computed(()=>m.generateCssVars({width:n.activeWidth&&(i.value||n.modelValue)?r.addUnit(n.activeWidth):r.addUnit(n.width)},"input")),y=e.computed(()=>m.generateCssVars({"active-width":n.activeWidth?r.addUnit(n.activeWidth):r.addUnit(n.width)},"search")),V=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top-fast",placement:"bottom-start","hide-after":100,offset:3,width:500,...n.popoverCfg})),w=t=>{o("update:modelValue",t),o("input",t)},g=()=>{d()};function q(){i.value=!0}function d(){i.value=!1}const x=()=>{o("clear"),l(!1)};function S(){s.value=!0,o("mouseenter",n.modelValue)}function b(){s.value=!1,o("mouseleave",n.modelValue)}const B=()=>{i.value=!0,u.value=!0,o("focus")};function P(){u.value=!1,o("blur")}function $(){l(),o("prefixClick",n.modelValue)}function R(){l(),o("suffixClick",n.modelValue)}function U(){l(),o("enter",n.modelValue)}function l(t=!0){n.usePopover&&d(),t&&p.value.blur()}const E=t=>{o("keydown",t)},M=e.computed(()=>f.value?.popperRef?.contentRef),I=t=>{o("update:modelValue",t)},W=t=>{o("change",t)},z=t=>{o("compositionstart",t)},F=t=>{o("compositionupdate",t)},N=t=>{o("compositionend",t)};return h({isFocus:u,isHover:s,visible:i,hidePopover:d,showPopover:q}),(t,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:c,class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("active",i.value||t.modelValue)]),style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(D.VftInput),e.mergeProps({ref_key:"inputRef",ref:p},t.$props,{"input-style":k.value,onInput:w,onFocus:B,onEnter:U,onBlur:P,onMouseenter:S,"onUpdate:modelValue":I,onMouseleave:b,onPrefixClick:$,onSuffixClick:R,onChange:W,onKeydown:E,onClear:x,onCompositionstart:z,onCompositionupdate:F,onCompositionend:N}),e.createSlots({_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0,t.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"suffix")]),key:"1"}:void 0,t.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prepend")]),key:"2"}:void 0,t.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"append")]),key:"3"}:void 0]),1040,["input-style"])],6)),[[e.unref(A.ClickOutside),g,M.value]]),t.usePopover?(e.openBlock(),e.createBlock(e.unref(K.VftPopover),e.mergeProps({key:0,ref_key:"popoverRef",ref:f},V.value,{"virtual-ref":c.value,visible:i.value,"onUpdate:visible":v[0]||(v[0]=O=>i.value=O),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),m=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const D=require("../input/index.cjs"),K=require("../popover/index.cjs"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const A=require("@vft/directives"),H=e.defineComponent({name:"vft-search"}),L=e.defineComponent({...H,props:{width:{default:200},activeWidth:{},usePopover:{type:Boolean,default:!1},popoverCfg:{},modelValue:{default:""},clearable:{type:Boolean,default:!0},placeholder:{default:"请输入你要搜索的内容"},suffixIcon:{default:()=>({icon:"icon-search",color:"#8B8C8C",pointer:!0})},prefixIcon:{},clearIcon:{}},emits:["update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change","input","compositionstart","compositionupdate","compositionend"],setup(n,{expose:h,emit:C}){const a=j.useNamespace("search"),o=C,c=e.ref(),p=e.ref(),u=e.ref(),s=e.ref(!1),d=e.ref(!1),i=e.ref(!1),k=e.computed(()=>m.generateCssVars({width:n.activeWidth&&(i.value||n.modelValue)?r.addUnit(n.activeWidth):r.addUnit(n.width)},"input")),y=e.computed(()=>m.generateCssVars({"active-width":n.activeWidth?r.addUnit(n.activeWidth):r.addUnit(n.width)},"search")),V=e.computed(()=>({"show-arrow":!1,transition:"vft-zoom-in-top-fast",placement:"bottom-start","hide-after":100,offset:3,width:500,...n.popoverCfg})),w=t=>{o("update:modelValue",t),o("input",t)},g=()=>{f()};function q(){i.value=!0}function f(){i.value=!1}const x=()=>{o("clear"),l(!1)};function S(){d.value=!0,o("mouseenter",n.modelValue)}function b(){d.value=!1,o("mouseleave",n.modelValue)}const B=()=>{i.value=!0,s.value=!0,o("focus")};function P(){s.value=!1,o("blur")}function $(){l(),o("prefixClick",n.modelValue)}function R(){l(),o("suffixClick",n.modelValue)}function U(){l(),o("enter",n.modelValue)}function l(t=!0){n.usePopover&&f(),t&&u.value.blur()}const E=t=>{o("keydown",t)},M=e.computed(()=>c.value?.popperRef?.contentRef),I=t=>{o("update:modelValue",t)},W=t=>{o("change",t)},z=t=>{o("compositionstart",t)},F=t=>{o("compositionupdate",t)},N=t=>{o("compositionend",t)};return h({isFocus:s,isHover:d,visible:i,hidePopover:f,showPopover:q,inputRef:u}),(t,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:p,class:e.normalizeClass([e.unref(a).b(),e.unref(a).is("active",i.value||t.modelValue)]),style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(D.VftInput),e.mergeProps({ref_key:"inputRef",ref:u},t.$props,{"input-style":k.value,onInput:w,onFocus:B,onEnter:U,onBlur:P,onMouseenter:S,"onUpdate:modelValue":I,onMouseleave:b,onPrefixClick:$,onSuffixClick:R,onChange:W,onKeydown:E,onClear:x,onCompositionstart:z,onCompositionupdate:F,onCompositionend:N}),e.createSlots({_:2},[t.$slots.prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix")]),key:"0"}:void 0,t.$slots.suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"suffix")]),key:"1"}:void 0,t.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"prepend")]),key:"2"}:void 0,t.$slots.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"append")]),key:"3"}:void 0]),1040,["input-style"])],6)),[[e.unref(A.ClickOutside),g,M.value]]),t.usePopover?(e.openBlock(),e.createBlock(e.unref(K.VftPopover),e.mergeProps({key:0,ref_key:"popoverRef",ref:c},V.value,{"virtual-ref":p.value,visible:i.value,"onUpdate:visible":v[0]||(v[0]=O=>i.value=O),"virtual-triggering":""}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[e.renderSlot(t.$slots,"default")],2)]),_:3},16,["virtual-ref","visible"])):e.createCommentVNode("",!0)],64))}});exports.default=L;
@@ -260,9 +260,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
260
260
  readonly strategy?: "fixed" | "absolute" | undefined;
261
261
  readonly effect?: "light" | "dark" | undefined;
262
262
  readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
263
- readonly visible?: boolean | undefined;
264
263
  readonly teleported?: boolean | undefined;
265
264
  readonly open?: boolean | undefined;
265
+ readonly visible?: boolean | undefined;
266
266
  readonly arrowOffset?: number | undefined;
267
267
  readonly gpuAcceleration?: boolean | undefined;
268
268
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -678,9 +678,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
678
678
  readonly strategy?: "fixed" | "absolute" | undefined;
679
679
  readonly effect?: "light" | "dark" | undefined;
680
680
  readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
681
- readonly visible?: boolean | undefined;
682
681
  readonly teleported?: boolean | undefined;
683
682
  readonly open?: boolean | undefined;
683
+ readonly visible?: boolean | undefined;
684
684
  readonly arrowOffset?: number | undefined;
685
685
  readonly gpuAcceleration?: boolean | undefined;
686
686
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1097,9 +1097,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1097
1097
  readonly strategy?: "fixed" | "absolute" | undefined;
1098
1098
  readonly effect?: "light" | "dark" | undefined;
1099
1099
  readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1100
- readonly visible?: boolean | undefined;
1101
1100
  readonly teleported?: boolean | undefined;
1102
1101
  readonly open?: boolean | undefined;
1102
+ readonly visible?: boolean | undefined;
1103
1103
  readonly arrowOffset?: number | undefined;
1104
1104
  readonly gpuAcceleration?: boolean | undefined;
1105
1105
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1515,9 +1515,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
1515
1515
  readonly strategy?: "fixed" | "absolute" | undefined;
1516
1516
  readonly effect?: "light" | "dark" | undefined;
1517
1517
  readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
1518
- readonly visible?: boolean | undefined;
1519
1518
  readonly teleported?: boolean | undefined;
1520
1519
  readonly open?: boolean | undefined;
1520
+ readonly visible?: boolean | undefined;
1521
1521
  readonly arrowOffset?: number | undefined;
1522
1522
  readonly gpuAcceleration?: boolean | undefined;
1523
1523
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -256,9 +256,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
256
256
  readonly strategy?: "fixed" | "absolute" | undefined;
257
257
  readonly effect?: "light" | "dark" | undefined;
258
258
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
259
- readonly visible?: boolean | undefined;
260
259
  readonly teleported?: boolean | undefined;
261
260
  readonly open?: boolean | undefined;
261
+ readonly visible?: boolean | undefined;
262
262
  readonly arrowOffset?: number | undefined;
263
263
  readonly gpuAcceleration?: boolean | undefined;
264
264
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -674,9 +674,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
674
674
  readonly strategy?: "fixed" | "absolute" | undefined;
675
675
  readonly effect?: "light" | "dark" | undefined;
676
676
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
677
- readonly visible?: boolean | undefined;
678
677
  readonly teleported?: boolean | undefined;
679
678
  readonly open?: boolean | undefined;
679
+ readonly visible?: boolean | undefined;
680
680
  readonly arrowOffset?: number | undefined;
681
681
  readonly gpuAcceleration?: boolean | undefined;
682
682
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1093,9 +1093,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1093
1093
  readonly strategy?: "fixed" | "absolute" | undefined;
1094
1094
  readonly effect?: "light" | "dark" | undefined;
1095
1095
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
1096
- readonly visible?: boolean | undefined;
1097
1096
  readonly teleported?: boolean | undefined;
1098
1097
  readonly open?: boolean | undefined;
1098
+ readonly visible?: boolean | undefined;
1099
1099
  readonly arrowOffset?: number | undefined;
1100
1100
  readonly gpuAcceleration?: boolean | undefined;
1101
1101
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1511,9 +1511,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1511
1511
  readonly strategy?: "fixed" | "absolute" | undefined;
1512
1512
  readonly effect?: "light" | "dark" | undefined;
1513
1513
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
1514
- readonly visible?: boolean | undefined;
1515
1514
  readonly teleported?: boolean | undefined;
1516
1515
  readonly open?: boolean | undefined;
1516
+ readonly visible?: boolean | undefined;
1517
1517
  readonly arrowOffset?: number | undefined;
1518
1518
  readonly gpuAcceleration?: boolean | undefined;
1519
1519
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -104,9 +104,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
104
104
  readonly strategy?: "fixed" | "absolute" | undefined;
105
105
  readonly effect?: "light" | "dark" | undefined;
106
106
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
107
- readonly visible?: boolean | undefined;
108
107
  readonly teleported?: boolean | undefined;
109
108
  readonly open?: boolean | undefined;
109
+ readonly visible?: boolean | undefined;
110
110
  readonly arrowOffset?: number | undefined;
111
111
  readonly gpuAcceleration?: boolean | undefined;
112
112
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -522,9 +522,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
522
522
  readonly strategy?: "fixed" | "absolute" | undefined;
523
523
  readonly effect?: "light" | "dark" | undefined;
524
524
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
525
- readonly visible?: boolean | undefined;
526
525
  readonly teleported?: boolean | undefined;
527
526
  readonly open?: boolean | undefined;
527
+ readonly visible?: boolean | undefined;
528
528
  readonly arrowOffset?: number | undefined;
529
529
  readonly gpuAcceleration?: boolean | undefined;
530
530
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -941,9 +941,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
941
941
  readonly strategy?: "fixed" | "absolute" | undefined;
942
942
  readonly effect?: "light" | "dark" | undefined;
943
943
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
944
- readonly visible?: boolean | undefined;
945
944
  readonly teleported?: boolean | undefined;
946
945
  readonly open?: boolean | undefined;
946
+ readonly visible?: boolean | undefined;
947
947
  readonly arrowOffset?: number | undefined;
948
948
  readonly gpuAcceleration?: boolean | undefined;
949
949
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1359,9 +1359,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
1359
1359
  readonly strategy?: "fixed" | "absolute" | undefined;
1360
1360
  readonly effect?: "light" | "dark" | undefined;
1361
1361
  readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
1362
- readonly visible?: boolean | undefined;
1363
1362
  readonly teleported?: boolean | undefined;
1364
1363
  readonly open?: boolean | undefined;
1364
+ readonly visible?: boolean | undefined;
1365
1365
  readonly arrowOffset?: number | undefined;
1366
1366
  readonly gpuAcceleration?: boolean | undefined;
1367
1367
  readonly fallbackPlacements?: import("@popperjs/core").Placement[] | undefined;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.411";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.413";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.411",
3
+ "version": "0.0.413",
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.411",
3
+ "version": "0.0.413",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -55,12 +55,12 @@
55
55
  "resize-detector": "0.3.0",
56
56
  "sortablejs": "1.15.0",
57
57
  "photoswipe": "5.4.4",
58
- "@vft/store": "0.0.54",
59
- "@vft/router": "0.0.67",
60
- "@vft/directives": "0.0.36",
61
58
  "@vft/constants": "0.0.72",
59
+ "@vft/utils": "0.0.140",
62
60
  "@vft/use": "0.0.83",
63
- "@vft/utils": "0.0.140"
61
+ "@vft/store": "0.0.54",
62
+ "@vft/router": "0.0.67",
63
+ "@vft/directives": "0.0.36"
64
64
  },
65
65
  "vetur": {
66
66
  "tags": "tags.json",