vft 0.0.229 → 0.0.231
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/es/components/clamp/clamp.vue2.js +31 -31
- package/es/components/input/input.vue2.js +4 -4
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/lib/components/clamp/clamp.vue2.cjs +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +4 -4
- package/web-types.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as M, ref as v, reactive as
|
|
2
|
-
import { addUnit as
|
|
3
|
-
import
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as M, ref as v, reactive as N, computed as u, watch as s, nextTick as E, onUnmounted as V, onMounted as q, createElementBlock as D, openBlock as G, normalizeStyle as I, createElementVNode as w, renderSlot as B } from "vue";
|
|
2
|
+
import { addUnit as J } from "@vft/utils";
|
|
3
|
+
import { addListener as K, removeListener as P } from "resize-detector/esm";
|
|
4
|
+
const Q = ["title", "aria-label"], W = M({
|
|
5
5
|
name: "vft-clamp"
|
|
6
|
-
}),
|
|
7
|
-
...
|
|
6
|
+
}), p = /* @__PURE__ */ M({
|
|
7
|
+
...W,
|
|
8
8
|
props: {
|
|
9
9
|
text: {},
|
|
10
10
|
maxHeight: {},
|
|
@@ -16,20 +16,20 @@ const W = ["title", "aria-label"], X = M({
|
|
|
16
16
|
},
|
|
17
17
|
emits: ["clamp-change", "update:expanded"],
|
|
18
18
|
setup(e, { expose: T, emit: $ }) {
|
|
19
|
-
const
|
|
19
|
+
const R = $, a = v(null), r = v(null), x = v(null), l = N({
|
|
20
20
|
offset: 0,
|
|
21
21
|
localExpanded: e.expanded,
|
|
22
22
|
unregisterResizeCallback: null
|
|
23
|
-
}),
|
|
23
|
+
}), j = u(() => {
|
|
24
24
|
if (!l.localExpanded && e.maxHeight)
|
|
25
|
-
return
|
|
26
|
-
}),
|
|
27
|
-
x.value && (x.value.textContent =
|
|
25
|
+
return J(e.maxHeight);
|
|
26
|
+
}), y = () => {
|
|
27
|
+
x.value && (x.value.textContent = S.value);
|
|
28
28
|
}, c = () => {
|
|
29
|
-
l.localExpanded || (
|
|
30
|
-
},
|
|
31
|
-
e.text && (l.offset = e.text.length, C(), e.autoResize && a.value && (
|
|
32
|
-
a.value &&
|
|
29
|
+
l.localExpanded || (y(), (d() || n.value) && g());
|
|
30
|
+
}, k = () => {
|
|
31
|
+
e.text && (l.offset = e.text.length, C(), e.autoResize && a.value && (K(a.value, c), l.unregisterResizeCallback = () => {
|
|
32
|
+
a.value && P(a.value, c);
|
|
33
33
|
}), c());
|
|
34
34
|
}, C = () => {
|
|
35
35
|
var t;
|
|
@@ -42,19 +42,19 @@ const W = ["title", "aria-label"], X = M({
|
|
|
42
42
|
).length : 0, g = (...t) => {
|
|
43
43
|
const [i = 0, f = l.offset] = t;
|
|
44
44
|
if (f - i <= 3) {
|
|
45
|
-
|
|
45
|
+
U();
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
const o = Math.floor((f + i) / 2);
|
|
49
49
|
h(o), d() ? g(i, o) : g(o, f);
|
|
50
50
|
}, h = (t) => {
|
|
51
|
-
l.offset = t,
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
},
|
|
51
|
+
l.offset = t, y();
|
|
52
|
+
}, U = () => {
|
|
53
|
+
A(), O();
|
|
54
|
+
}, A = () => {
|
|
55
55
|
for (; (!d() || m() < 2) && l.offset < e.text.length; )
|
|
56
56
|
H(1);
|
|
57
|
-
},
|
|
57
|
+
}, O = () => {
|
|
58
58
|
for (; d() && m() > 1 && l.offset > 0; )
|
|
59
59
|
H(-1);
|
|
60
60
|
}, H = (t) => {
|
|
@@ -69,7 +69,7 @@ const W = ["title", "aria-label"], X = M({
|
|
|
69
69
|
},
|
|
70
70
|
{ immediate: !0 }
|
|
71
71
|
);
|
|
72
|
-
const
|
|
72
|
+
const S = u(() => n.value ? F.value : e.text), F = u(() => {
|
|
73
73
|
if (e.location === "start")
|
|
74
74
|
return e.ellipsis + (e.text.slice(0, l.offset) || "").trim();
|
|
75
75
|
if (e.location === "middle") {
|
|
@@ -105,22 +105,22 @@ const W = ["title", "aria-label"], X = M({
|
|
|
105
105
|
() => [e.text, e.autoResize].join(),
|
|
106
106
|
() => {
|
|
107
107
|
E(() => {
|
|
108
|
-
|
|
108
|
+
k();
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
-
),
|
|
111
|
+
), V(() => {
|
|
112
112
|
C();
|
|
113
|
-
}),
|
|
114
|
-
|
|
113
|
+
}), q(() => {
|
|
114
|
+
k();
|
|
115
115
|
}), T({
|
|
116
116
|
isClamped: n
|
|
117
|
-
}), (t, i) => (
|
|
117
|
+
}), (t, i) => (G(), D("div", {
|
|
118
118
|
ref_key: "textClampRef",
|
|
119
119
|
ref: a,
|
|
120
120
|
class: "text-clamp",
|
|
121
|
-
style:
|
|
121
|
+
style: I({
|
|
122
122
|
overflow: "hidden",
|
|
123
|
-
maxHeight:
|
|
123
|
+
maxHeight: j.value
|
|
124
124
|
})
|
|
125
125
|
}, [
|
|
126
126
|
w("span", {
|
|
@@ -139,7 +139,7 @@ const W = ["title", "aria-label"], X = M({
|
|
|
139
139
|
ref: x,
|
|
140
140
|
title: t.text,
|
|
141
141
|
"aria-label": t.text
|
|
142
|
-
}, null, 8,
|
|
142
|
+
}, null, 8, Q),
|
|
143
143
|
B(t.$slots, "after", {
|
|
144
144
|
expand: L,
|
|
145
145
|
collapse: b,
|
|
@@ -152,5 +152,5 @@ const W = ["title", "aria-label"], X = M({
|
|
|
152
152
|
}
|
|
153
153
|
});
|
|
154
154
|
export {
|
|
155
|
-
|
|
155
|
+
p as default
|
|
156
156
|
};
|
|
@@ -13,8 +13,8 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
15
15
|
import { calcTextareaHeight as we } from "./utils.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { useFormItem as ta, useFormItemInputId as oa } from "../form/hooks/use-form-item.js";
|
|
17
|
+
import { useFormSize as na, useFormDisabled as la } from "../form/hooks/use-form-common-props.js";
|
|
18
18
|
const sa = ["role"], ia = ["id", "type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form"], ua = ["id", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form"], Ea = /* @__PURE__ */ Le({
|
|
19
19
|
__name: "input",
|
|
20
20
|
props: {
|
|
@@ -85,9 +85,9 @@ const sa = ["role"], ia = ["id", "type", "disabled", "formatter", "parser", "rea
|
|
|
85
85
|
o.is("focus", w.value)
|
|
86
86
|
]), f = Xe({
|
|
87
87
|
excludeKeys: l(() => Object.keys(Z.value))
|
|
88
|
-
}), { form: O, formItem: u } =
|
|
88
|
+
}), { form: O, formItem: u } = ta(), { inputId: _ } = oa(ke.props, {
|
|
89
89
|
formItemContext: u
|
|
90
|
-
}), Ie =
|
|
90
|
+
}), Ie = na(), h = la(), o = be("input"), ee = be("textarea"), M = q(), b = q(), w = V(!1), T = V(!1), k = V(!1), P = V(!1), ae = V(), L = q(a.inputStyle), z = l(() => M.value || b.value), j = l(() => X(a.prefixIcon, "icon", { size: 16 })), te = l(() => X(a.suffixIcon, "icon", { size: 16 })), Se = l(() => X(a.clearIcon, "icon", {
|
|
91
91
|
icon: "icon-circle-close",
|
|
92
92
|
size: 16
|
|
93
93
|
})), oe = l(() => (O == null ? void 0 : O.statusIcon) ?? !1), I = l(() => (u == null ? void 0 : u.validateState) || ""), ne = l(
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue")
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),$=require("@vft/utils"),b=require("resize-detector/esm"),q=["title","aria-label"],O=l.defineComponent({name:"vft-clamp"}),U=l.defineComponent({...O,props:{text:{},maxHeight:{},maxLines:{default:1},expanded:{type:Boolean,default:!1},ellipsis:{default:"…"},autoResize:{type:Boolean,default:!1},location:{default:"end"}},emits:["clamp-change","update:expanded"],setup(e,{expose:w,emit:L}){const g=L,n=l.ref(null),f=l.ref(null),r=l.ref(null),a=l.reactive({offset:0,localExpanded:e.expanded,unregisterResizeCallback:null}),z=l.computed(()=>{if(!a.localExpanded&&e.maxHeight)return $.addUnit(e.maxHeight)}),v=()=>{r.value&&(r.value.textContent=j.value)},s=()=>{a.localExpanded||(v(),(d()||i.value)&&m())},E=()=>{e.text&&(a.offset=e.text.length,k(),e.autoResize&&n.value&&(b.addListener(n.value,s),a.unregisterResizeCallback=()=>{n.value&&b.removeListener(n.value,s)}),s())},k=()=>{var t;(t=a.unregisterResizeCallback)==null||t.call(a)},d=()=>!e.maxLines&&!e.maxHeight||!n.value?!1:e.maxLines&&x()>e.maxLines?!0:!!(e.maxHeight&&n.value.scrollHeight>n.value.offsetHeight),x=()=>f.value?Object.keys(Array.prototype.slice.call(f.value.getClientRects()).reduce((t,{top:c,bottom:u})=>{const o=`${c}/${u}`;return t[o]||(t[o]=!0),t},{})).length:0,m=(...t)=>{const[c=0,u=a.offset]=t;if(u-c<=3){T();return}const o=Math.floor((u+c)/2);h(o),d()?m(c,o):m(o,u)},h=t=>{a.offset=t,v()},T=()=>{M(),S()},M=()=>{for(;(!d()||x()<2)&&a.offset<e.text.length;)y(1)},S=()=>{for(;d()&&x()>1&&a.offset>0;)y(-1)},y=t=>{h(a.offset+t)},i=l.computed(()=>e.text?a.offset!==e.text.length:!1);l.watch(()=>i.value,t=>{l.nextTick(()=>{g("clamp-change",t)})},{immediate:!0});const j=l.computed(()=>i.value?B.value:e.text),B=l.computed(()=>{if(e.location==="start")return e.ellipsis+(e.text.slice(0,a.offset)||"").trim();if(e.location==="middle"){const t=Math.floor(a.offset/2);return(e.text.slice(0,t)||"").trim()+e.ellipsis+(e.text.slice(-t)||"").trim()}return(e.text.slice(0,a.offset)||"").trim()+e.ellipsis}),R=()=>{a.localExpanded=!0},C=()=>{a.localExpanded=!1},H=()=>{a.localExpanded=!a.localExpanded};return l.watch(()=>e.expanded,t=>{a.localExpanded=t}),l.watch(()=>a.localExpanded,t=>{t?h(e.text.length):s(),e.expanded!==t&&g("update:expanded",t)}),l.watch(()=>[e.maxLines,e.maxHeight,e.ellipsis,e.location,i.value].join(),()=>{l.nextTick(()=>{s()})}),l.watch(()=>[e.text,e.autoResize].join(),()=>{l.nextTick(()=>{E()})}),l.onUnmounted(()=>{k()}),l.onMounted(()=>{E()}),w({isClamped:i}),(t,c)=>(l.openBlock(),l.createElementBlock("div",{ref_key:"textClampRef",ref:n,class:"text-clamp",style:l.normalizeStyle({overflow:"hidden",maxHeight:z.value})},[l.createElementVNode("span",{ref_key:"contentRef",ref:f},[l.renderSlot(t.$slots,"before",{expand:R,collapse:C,toggle:H,clamped:i.value,expanded:a.localExpanded}),l.createElementVNode("span",{ref_key:"textRef",ref:r,title:t.text,"aria-label":t.text},null,8,q),l.renderSlot(t.$slots,"after",{expand:R,collapse:C,toggle:H,clamped:i.value,expanded:a.localExpanded})],512)],4))}});exports.default=U;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),F=require("@vft/constants"),ee=require("@vft/use"),r=require("@vft/utils");require("../form/index.cjs");const w=require("../icon/index.cjs"),te=require("@vueuse/core"),M=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Se=require("lodash-es"),ne=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const oe=require("./utils.cjs"),ae=require("../form/hooks/use-form-common-props.cjs"),le=require("../form/hooks/use-form-item.cjs"),ze=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Ne=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],Pe=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:{[F.UPDATE_MODEL_EVENT]:n=>r.isString(n),input:n=>r.isString(n),change:n=>r.isString(n),suffixClick:n=>r.isString(n),prefixClick:n=>r.isString(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:n=>n instanceof MouseEvent,mouseenter:n=>n instanceof MouseEvent,keydown:n=>n instanceof Event,compositionstart:n=>n instanceof CompositionEvent,compositionupdate:n=>n instanceof CompositionEvent,compositionend:n=>n instanceof CompositionEvent},setup(n,{expose:se,emit:re}){const l=re,y=e.useAttrs(),d=e.useSlots(),A=e.computed(()=>{const t={};return n.containerRole==="combobox"&&(t["aria-haspopup"]=y["aria-haspopup"],t["aria-owns"]=y["aria-owns"],t["aria-expanded"]=y["aria-expanded"]),t}),ue=e.computed(()=>[n.type==="textarea"?O.b():o.b(),o.m(de.value),o.is("disabled",m.value),o.is("exceed",ve.value),o.is("focus",p.value),{[o.b("group")]:d.prepend||d.append,[o.bm("group","append")]:d.append,[o.bm("group","prepend")]:d.prepend,[o.m("prefix")]:d.prefix||n.prefixIcon,[o.m("suffix")]:d.suffix||n.suffixIcon||n.clearable||n.showPassword,[o.bm("suffix","password-clear")]:B.value&&P.value},y.class]),ie=e.getCurrentInstance(),ce=e.computed(()=>[o.e("wrapper"),o.is("focus",p.value)]),u=ee.useAttrs({excludeKeys:e.computed(()=>Object.keys(A.value))}),{form:S,formItem:s}=le.useFormItem(),{inputId:D}=le.useFormItemInputId(ie.props,{formItemContext:s}),de=ae.useFormSize(),m=ae.useFormDisabled(),o=ne.useNamespace("input"),O=ne.useNamespace("textarea"),x=e.shallowRef(),f=e.shallowRef(),p=e.ref(!1),z=e.ref(!1),h=e.ref(!1),E=e.ref(!1),R=e.ref(),I=e.shallowRef(n.inputStyle),g=e.computed(()=>x.value||f.value),N=e.computed(()=>r.singleAttrToObj(n.prefixIcon,"icon",{size:16})),K=e.computed(()=>r.singleAttrToObj(n.suffixIcon,"icon",{size:16})),me=e.computed(()=>r.singleAttrToObj(n.clearIcon,"icon",{icon:"icon-circle-close",size:16})),$=e.computed(()=>(S==null?void 0:S.statusIcon)??!1),k=e.computed(()=>(s==null?void 0:s.validateState)||""),j=e.computed(()=>k.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[k.value]),fe=e.computed(()=>E.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),pe=e.computed(()=>[y.style,n.inputStyle]),L=e.computed(()=>[n.inputStyle,I.value,{resize:n.resize}]),c=e.computed(()=>Se.isNil(n.modelValue)?"":String(n.modelValue)),B=e.computed(()=>n.clearable&&!m.value&&!n.readonly&&!!c.value&&(p.value||z.value)),P=e.computed(()=>n.showPassword&&!m.value&&!n.readonly&&!!c.value&&(!!c.value||p.value)),v=e.computed(()=>n.showWordLimit&&!!u.value.maxlength&&(n.type==="text"||n.type==="textarea")&&!m.value&&!n.readonly&&!n.showPassword),T=e.computed(()=>Array.from(c.value).length),ve=e.computed(()=>!!v.value&&T.value>Number(u.value.maxlength)),ye=e.computed(()=>!!d.suffix||!!n.suffixIcon||B.value||n.showPassword||v.value||!!k.value&&$.value),[he,ge]=ee.useCursor(x);te.useResizeObserver(f,t=>{if(!v.value||n.resize!=="both")return;const a=t[0],{width:i}=a.contentRect;R.value={right:`calc(100% - ${i+15+6}px)`}});const V=()=>{if(!(!te.isClient||n.type!=="textarea"))if(n.autosize){const t=r.isObject(n.autosize)?n.autosize.minRows:void 0,a=r.isObject(n.autosize)?n.autosize.maxRows:void 0;I.value={...oe.calcTextareaHeight(f.value,t,a)}}else I.value={minHeight:oe.calcTextareaHeight(f.value).minHeight}},b=()=>{const t=g.value;!t||t.value===c.value||(t.value=c.value)},q=async t=>{he();let{value:a}=t.target;if(u.value.maxlength&&a.length>=u.value.maxlength&&(a=a.slice(0,Number(u.value.maxlength))),n.formatter&&(a=n.parser?n.parser(a):a,a=n.formatter(a)),!h.value){if(a===c.value){b();return}l(F.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ge()}},W=t=>{l("change",t.target.value)},ke=()=>{l("suffixClick",n.modelValue)},be=()=>{l("prefixClick",n.modelValue)},H=t=>{l("compositionstart",t),h.value=!0},Ce=t=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(t),U=t=>{var C;l("compositionupdate",t);const a=(C=t.target)==null?void 0:C.value,i=a[a.length-1]||"";h.value=!Ce(i)},G=t=>{l("compositionend",t),h.value&&(h.value=!1,q(t))},we=()=>{E.value=!E.value,J()},J=async()=>{var t;await e.nextTick(),(t=g.value)==null||t.focus()},xe=()=>{var t;return(t=g.value)==null?void 0:t.blur()},Q=t=>{p.value=!0,l("focus",t)},X=t=>{var a;p.value=!1,l("blur",t),n.validateEvent&&((a=s==null?void 0:s.validate)==null||a.call(s,"blur").catch(i=>M.debugWarn(i)))},Ee=t=>{z.value=!1,l("mouseleave",t)},Be=t=>{z.value=!0,l("mouseenter",t)},Y=t=>{let a=t.key;if(t.target.type==="number"&&["e","+","-0","E"].includes(a))return t.returnValue=!1,!1;l("keydown",t)},Ve=()=>{var t;(t=g.value)==null||t.select()},Z=()=>{l(F.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>n.modelValue,()=>{var t;e.nextTick(()=>V()),n.validateEvent&&((t=s==null?void 0:s.validate)==null||t.call(s,"change").catch(a=>M.debugWarn(a)))}),e.watch(c,()=>b()),e.watch(()=>n.type,async()=>{await e.nextTick(),b(),V()}),e.onMounted(()=>{!n.formatter&&n.parser&&M.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(V)}),se({input:x,textarea:f,ref:g,textareaStyle:L,autosize:n.autosize,focus:J,blur:xe,select:Ve,clear:Z,resizeTextarea:V}),(t,a)=>{var i,C,_;return e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(A.value,{class:ue.value,style:pe.value,role:t.containerRole,onMouseenter:Be,onMouseleave:Ee}),[t.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("group","prepend"))},[e.renderSlot(t.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(ce.value)},[t.$slots.prefix||(i=N.value)!=null&&i.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(o).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("prefix-inner")),onClick:be},[e.renderSlot(t.$slots,"prefix"),(C=N.value)!=null&&C.icon?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:0,pointer:""},N.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(D),ref_key:"input",ref:x,class:e.unref(o).e("inner")},e.unref(u),{type:t.showPassword?E.value?"text":"password":t.type,disabled:e.unref(m),formatter:t.formatter,parser:t.parser,readonly:t.readonly,autocomplete:t.autocomplete,tabindex:t.tabindex,"aria-label":t.label,placeholder:t.placeholder,style:t.inputStyle,form:t.form,onCompositionstart:H,onCompositionupdate:U,onCompositionend:G,onInput:q,onFocus:Q,onBlur:X,onChange:W,onKeydown:Y,onKeyup:a[0]||(a[0]=e.withKeys(Te=>l("enter"),["enter"]))}),null,16,Ie),ye.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(o).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("suffix-inner")),onClick:ke},[!B.value||!P.value||!v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(t.$slots,"suffix"),(_=K.value)!=null&&_.icon?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:0},K.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(o).e("icon"),e.unref(o).e("clear")]},me.value,{onMousedown:e.withModifiers(e.unref(r.noop),["prevent"]),onClick:e.withModifiers(Z,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),P.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:2},fe.value,{class:[e.unref(o).e("icon"),e.unref(o).e("password")],onClick:we}),null,16,["class"])):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(o).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("count-inner"))},e.toDisplayString(T.value)+" / "+e.toDisplayString(e.unref(u).maxlength),3)],2)):e.createCommentVNode("",!0),k.value&&j.value&&$.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),{key:4,icon:j.value,class:e.normalizeClass([e.unref(o).e("icon"),e.unref(o).e("validateIcon"),e.unref(o).is("loading",k.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),t.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o).be("group","append"))},[e.renderSlot(t.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(D),ref_key:"textarea",ref:f,class:e.unref(O).e("inner")},e.unref(u),{tabindex:t.tabindex,disabled:e.unref(m),readonly:t.readonly,autocomplete:t.autocomplete,style:L.value,"aria-label":t.label,placeholder:t.placeholder,form:t.form,onCompositionstart:H,onCompositionupdate:U,onCompositionend:G,onInput:q,onFocus:Q,onBlur:X,onChange:W,onKeydown:Y}),null,16,Ne),v.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(R.value),class:e.normalizeClass(e.unref(o).e("count"))},e.toDisplayString(T.value)+" / "+e.toDisplayString(e.unref(u).maxlength),7)):e.createCommentVNode("",!0)],64))],16,ze)),[[e.vShow,t.type!=="hidden"]])}}});exports.default=Pe;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),F=require("@vft/constants"),ee=require("@vft/use"),r=require("@vft/utils");require("../form/index.cjs");const w=require("../icon/index.cjs"),te=require("@vueuse/core"),M=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Se=require("lodash-es"),ne=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const oe=require("./utils.cjs"),ae=require("../form/hooks/use-form-item.cjs"),le=require("../form/hooks/use-form-common-props.cjs"),ze=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Ne=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],Pe=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:{[F.UPDATE_MODEL_EVENT]:n=>r.isString(n),input:n=>r.isString(n),change:n=>r.isString(n),suffixClick:n=>r.isString(n),prefixClick:n=>r.isString(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:n=>n instanceof MouseEvent,mouseenter:n=>n instanceof MouseEvent,keydown:n=>n instanceof Event,compositionstart:n=>n instanceof CompositionEvent,compositionupdate:n=>n instanceof CompositionEvent,compositionend:n=>n instanceof CompositionEvent},setup(n,{expose:se,emit:re}){const l=re,y=e.useAttrs(),d=e.useSlots(),A=e.computed(()=>{const t={};return n.containerRole==="combobox"&&(t["aria-haspopup"]=y["aria-haspopup"],t["aria-owns"]=y["aria-owns"],t["aria-expanded"]=y["aria-expanded"]),t}),ue=e.computed(()=>[n.type==="textarea"?O.b():o.b(),o.m(de.value),o.is("disabled",m.value),o.is("exceed",ve.value),o.is("focus",p.value),{[o.b("group")]:d.prepend||d.append,[o.bm("group","append")]:d.append,[o.bm("group","prepend")]:d.prepend,[o.m("prefix")]:d.prefix||n.prefixIcon,[o.m("suffix")]:d.suffix||n.suffixIcon||n.clearable||n.showPassword,[o.bm("suffix","password-clear")]:B.value&&P.value},y.class]),ie=e.getCurrentInstance(),ce=e.computed(()=>[o.e("wrapper"),o.is("focus",p.value)]),u=ee.useAttrs({excludeKeys:e.computed(()=>Object.keys(A.value))}),{form:S,formItem:s}=ae.useFormItem(),{inputId:D}=ae.useFormItemInputId(ie.props,{formItemContext:s}),de=le.useFormSize(),m=le.useFormDisabled(),o=ne.useNamespace("input"),O=ne.useNamespace("textarea"),x=e.shallowRef(),f=e.shallowRef(),p=e.ref(!1),z=e.ref(!1),h=e.ref(!1),E=e.ref(!1),R=e.ref(),I=e.shallowRef(n.inputStyle),g=e.computed(()=>x.value||f.value),N=e.computed(()=>r.singleAttrToObj(n.prefixIcon,"icon",{size:16})),K=e.computed(()=>r.singleAttrToObj(n.suffixIcon,"icon",{size:16})),me=e.computed(()=>r.singleAttrToObj(n.clearIcon,"icon",{icon:"icon-circle-close",size:16})),$=e.computed(()=>(S==null?void 0:S.statusIcon)??!1),k=e.computed(()=>(s==null?void 0:s.validateState)||""),j=e.computed(()=>k.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[k.value]),fe=e.computed(()=>E.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),pe=e.computed(()=>[y.style,n.inputStyle]),L=e.computed(()=>[n.inputStyle,I.value,{resize:n.resize}]),c=e.computed(()=>Se.isNil(n.modelValue)?"":String(n.modelValue)),B=e.computed(()=>n.clearable&&!m.value&&!n.readonly&&!!c.value&&(p.value||z.value)),P=e.computed(()=>n.showPassword&&!m.value&&!n.readonly&&!!c.value&&(!!c.value||p.value)),v=e.computed(()=>n.showWordLimit&&!!u.value.maxlength&&(n.type==="text"||n.type==="textarea")&&!m.value&&!n.readonly&&!n.showPassword),T=e.computed(()=>Array.from(c.value).length),ve=e.computed(()=>!!v.value&&T.value>Number(u.value.maxlength)),ye=e.computed(()=>!!d.suffix||!!n.suffixIcon||B.value||n.showPassword||v.value||!!k.value&&$.value),[he,ge]=ee.useCursor(x);te.useResizeObserver(f,t=>{if(!v.value||n.resize!=="both")return;const a=t[0],{width:i}=a.contentRect;R.value={right:`calc(100% - ${i+15+6}px)`}});const V=()=>{if(!(!te.isClient||n.type!=="textarea"))if(n.autosize){const t=r.isObject(n.autosize)?n.autosize.minRows:void 0,a=r.isObject(n.autosize)?n.autosize.maxRows:void 0;I.value={...oe.calcTextareaHeight(f.value,t,a)}}else I.value={minHeight:oe.calcTextareaHeight(f.value).minHeight}},b=()=>{const t=g.value;!t||t.value===c.value||(t.value=c.value)},q=async t=>{he();let{value:a}=t.target;if(u.value.maxlength&&a.length>=u.value.maxlength&&(a=a.slice(0,Number(u.value.maxlength))),n.formatter&&(a=n.parser?n.parser(a):a,a=n.formatter(a)),!h.value){if(a===c.value){b();return}l(F.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ge()}},W=t=>{l("change",t.target.value)},ke=()=>{l("suffixClick",n.modelValue)},be=()=>{l("prefixClick",n.modelValue)},H=t=>{l("compositionstart",t),h.value=!0},Ce=t=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(t),U=t=>{var C;l("compositionupdate",t);const a=(C=t.target)==null?void 0:C.value,i=a[a.length-1]||"";h.value=!Ce(i)},G=t=>{l("compositionend",t),h.value&&(h.value=!1,q(t))},we=()=>{E.value=!E.value,J()},J=async()=>{var t;await e.nextTick(),(t=g.value)==null||t.focus()},xe=()=>{var t;return(t=g.value)==null?void 0:t.blur()},Q=t=>{p.value=!0,l("focus",t)},X=t=>{var a;p.value=!1,l("blur",t),n.validateEvent&&((a=s==null?void 0:s.validate)==null||a.call(s,"blur").catch(i=>M.debugWarn(i)))},Ee=t=>{z.value=!1,l("mouseleave",t)},Be=t=>{z.value=!0,l("mouseenter",t)},Y=t=>{let a=t.key;if(t.target.type==="number"&&["e","+","-0","E"].includes(a))return t.returnValue=!1,!1;l("keydown",t)},Ve=()=>{var t;(t=g.value)==null||t.select()},Z=()=>{l(F.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>n.modelValue,()=>{var t;e.nextTick(()=>V()),n.validateEvent&&((t=s==null?void 0:s.validate)==null||t.call(s,"change").catch(a=>M.debugWarn(a)))}),e.watch(c,()=>b()),e.watch(()=>n.type,async()=>{await e.nextTick(),b(),V()}),e.onMounted(()=>{!n.formatter&&n.parser&&M.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(V)}),se({input:x,textarea:f,ref:g,textareaStyle:L,autosize:n.autosize,focus:J,blur:xe,select:Ve,clear:Z,resizeTextarea:V}),(t,a)=>{var i,C,_;return e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(A.value,{class:ue.value,style:pe.value,role:t.containerRole,onMouseenter:Be,onMouseleave:Ee}),[t.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("group","prepend"))},[e.renderSlot(t.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(ce.value)},[t.$slots.prefix||(i=N.value)!=null&&i.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(o).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("prefix-inner")),onClick:be},[e.renderSlot(t.$slots,"prefix"),(C=N.value)!=null&&C.icon?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:0,pointer:""},N.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(D),ref_key:"input",ref:x,class:e.unref(o).e("inner")},e.unref(u),{type:t.showPassword?E.value?"text":"password":t.type,disabled:e.unref(m),formatter:t.formatter,parser:t.parser,readonly:t.readonly,autocomplete:t.autocomplete,tabindex:t.tabindex,"aria-label":t.label,placeholder:t.placeholder,style:t.inputStyle,form:t.form,onCompositionstart:H,onCompositionupdate:U,onCompositionend:G,onInput:q,onFocus:Q,onBlur:X,onChange:W,onKeydown:Y,onKeyup:a[0]||(a[0]=e.withKeys(Te=>l("enter"),["enter"]))}),null,16,Ie),ye.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(o).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("suffix-inner")),onClick:ke},[!B.value||!P.value||!v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(t.$slots,"suffix"),(_=K.value)!=null&&_.icon?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:0},K.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(o).e("icon"),e.unref(o).e("clear")]},me.value,{onMousedown:e.withModifiers(e.unref(r.noop),["prevent"]),onClick:e.withModifiers(Z,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),P.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),e.mergeProps({key:2},fe.value,{class:[e.unref(o).e("icon"),e.unref(o).e("password")],onClick:we}),null,16,["class"])):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(o).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).e("count-inner"))},e.toDisplayString(T.value)+" / "+e.toDisplayString(e.unref(u).maxlength),3)],2)):e.createCommentVNode("",!0),k.value&&j.value&&$.value?(e.openBlock(),e.createBlock(e.unref(w.VftIcon),{key:4,icon:j.value,class:e.normalizeClass([e.unref(o).e("icon"),e.unref(o).e("validateIcon"),e.unref(o).is("loading",k.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),t.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o).be("group","append"))},[e.renderSlot(t.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(D),ref_key:"textarea",ref:f,class:e.unref(O).e("inner")},e.unref(u),{tabindex:t.tabindex,disabled:e.unref(m),readonly:t.readonly,autocomplete:t.autocomplete,style:L.value,"aria-label":t.label,placeholder:t.placeholder,form:t.form,onCompositionstart:H,onCompositionupdate:U,onCompositionend:G,onInput:q,onFocus:Q,onBlur:X,onChange:W,onKeydown:Y}),null,16,Ne),v.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(R.value),class:e.normalizeClass(e.unref(o).e("count"))},e.toDisplayString(T.value)+" / "+e.toDisplayString(e.unref(u).maxlength),7)):e.createCommentVNode("",!0)],64))],16,ze)),[[e.vShow,t.type!=="hidden"]])}}});exports.default=Pe;
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.231";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.231",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
"resize-detector": "0.3.0",
|
|
56
56
|
"sortablejs": "1.15.0",
|
|
57
57
|
"@vft/router": "0.0.56",
|
|
58
|
-
"@vft/constants": "0.0.66",
|
|
59
58
|
"@vft/store": "0.0.37",
|
|
60
|
-
"@vft/
|
|
59
|
+
"@vft/constants": "0.0.66",
|
|
61
60
|
"@vft/utils": "0.0.110",
|
|
62
|
-
"@vft/directives": "0.0.29"
|
|
61
|
+
"@vft/directives": "0.0.29",
|
|
62
|
+
"@vft/use": "0.0.51"
|
|
63
63
|
},
|
|
64
64
|
"vetur": {
|
|
65
65
|
"tags": "tags.json",
|