vft 0.0.468 → 0.0.470
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/carousel/use-carousel.js +1 -1
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/menu/menu-item.vue2.js +7 -7
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +22 -23
- package/es/components/multiple-tabs/use/use-tab-dropdown.js +1 -0
- package/es/components/super-form/super-form-item.vue2.js +1 -1
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/menu/menu-item.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +7 -7
- package/theme-style/src/mixins/mixins.scss +0 -50
- package/web-types.json +1 -1
|
@@ -11,7 +11,7 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
11
11
|
import { useOrderedChildren as ge } from "../../hooks/use-ordered-children/index.js";
|
|
12
12
|
import "@popperjs/core";
|
|
13
13
|
import "../../hooks/use-z-index/index.js";
|
|
14
|
-
import {
|
|
14
|
+
import { CAROUSEL_ITEM_NAME as H, carouselContextKey as Se } from "./constants.js";
|
|
15
15
|
const L = 300, ze = (t, O, M) => {
|
|
16
16
|
const {
|
|
17
17
|
children: o,
|
|
@@ -13,8 +13,8 @@ import "../../hooks/use-z-index/index.js";
|
|
|
13
13
|
import { UPDATE_MODEL_EVENT as Q } from "@vft/constants";
|
|
14
14
|
import { useAttrs as Ze, useCursor as _e } from "@vft/use";
|
|
15
15
|
import { calcTextareaHeight as he } from "./utils.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { useFormSize as et, useFormDisabled as tt } from "../form/hooks/use-form-common-props.js";
|
|
17
|
+
import { useFormItem as at, useFormItemInputId as nt } from "../form/hooks/use-form-item.js";
|
|
18
18
|
const ot = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form"], st = ["id", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form"], It = /* @__PURE__ */ Oe({
|
|
19
19
|
__name: "input",
|
|
20
20
|
props: {
|
|
@@ -85,9 +85,9 @@ const ot = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "rea
|
|
|
85
85
|
n.is("focus", v.value)
|
|
86
86
|
]), d = Ze({
|
|
87
87
|
excludeKeys: l(() => Object.keys(X.value))
|
|
88
|
-
}), { form: Ce, formItem: F } =
|
|
88
|
+
}), { form: Ce, formItem: F } = at(), { inputId: Y } = nt(we.props, {
|
|
89
89
|
formItemContext: F
|
|
90
|
-
}), ke =
|
|
90
|
+
}), ke = et(), x = tt(), n = ye("input"), Z = ye("textarea"), M = H(), p = H(), v = S(!1), N = S(!1), C = S(!1), K = S(!1), _ = S(), O = H(e.inputStyle), k = l(() => M.value || p.value), T = l(() => G(e.prefixIcon, "icon", { size: 16 })), ee = l(() => G(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => G(e.clearIcon, "icon", {
|
|
91
91
|
icon: "icon-circle-close",
|
|
92
92
|
size: 16
|
|
93
93
|
})), te = l(() => Ce?.statusIcon ?? !1), I = l(() => F?.validateState || ""), ae = l(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { shallowRef as B, ref as L, computed as c, watch as G } from "vue";
|
|
2
2
|
import { EVENT_CODE as g } from "../../../constants/aria.js";
|
|
3
|
-
import { CHANGE_EVENT as i,
|
|
3
|
+
import { CHANGE_EVENT as i, INPUT_EVENT as H, UPDATE_MODEL_EVENT as d } from "../../../constants/event.js";
|
|
4
4
|
import "@vueuse/core";
|
|
5
5
|
import { isUndefined as K } from "@vft/utils";
|
|
6
6
|
import { debugWarn as C } from "../../../utils/error.js";
|
|
@@ -8,7 +8,7 @@ import { throwError as p } from "../../utils/error.js";
|
|
|
8
8
|
import "../config-provider/hooks/use-global-config.js";
|
|
9
9
|
import "lodash-es";
|
|
10
10
|
import "../form/index.js";
|
|
11
|
-
import { useNamespace as
|
|
11
|
+
import { useNamespace as g } from "../../hooks/use-namespace/index.js";
|
|
12
12
|
import "../../hooks/use-model-toggle/index.js";
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
@@ -30,11 +30,11 @@ const X = ["title"], Y = P({
|
|
|
30
30
|
reverse: { type: Boolean }
|
|
31
31
|
},
|
|
32
32
|
emits: ["click", "mouseenter", "mouseleave"],
|
|
33
|
-
setup(e, { emit:
|
|
34
|
-
const c =
|
|
33
|
+
setup(e, { emit: S }) {
|
|
34
|
+
const c = S, d = g("menu-item"), x = F(), E = O(), T = g("menu"), f = g("menu-item"), o = e.isAloneUse ? null : N("rootMenu");
|
|
35
35
|
!o && !e.isAloneUse && p(d.b(), "can not inject root menu");
|
|
36
36
|
const { parentMenu: U, indexPath: B } = W(
|
|
37
|
-
|
|
37
|
+
x,
|
|
38
38
|
a(() => e.index)
|
|
39
39
|
), v = e.isAloneUse ? null : N(`subMenu:${U.value.uid}`);
|
|
40
40
|
!v && !e.isAloneUse && p(d.b(), "can not inject sub menu");
|
|
@@ -44,12 +44,12 @@ const X = ["title"], Y = P({
|
|
|
44
44
|
active: C
|
|
45
45
|
}), w = () => {
|
|
46
46
|
e.disabled || (o?.handleMenuItemClick({
|
|
47
|
-
...
|
|
47
|
+
...E,
|
|
48
48
|
index: e.index,
|
|
49
49
|
indexPath: B.value,
|
|
50
50
|
route: e.route
|
|
51
51
|
}), c("click", i));
|
|
52
|
-
}, r = a(() => K(e.icon, "icon")), z = a(() => L(
|
|
52
|
+
}, r = a(() => K(e.icon, "icon")), z = a(() => L(x, "title"));
|
|
53
53
|
return G(() => {
|
|
54
54
|
e.isAloneUse || (v?.addSubMenu(i), o?.addMenuItem(i));
|
|
55
55
|
}), H(() => {
|
|
@@ -95,7 +95,7 @@ const X = ["title"], Y = P({
|
|
|
95
95
|
r.value?.icon ? (n(), s(t(h), I(V({ key: 0 }, r.value)), null, 16)) : m("", !0),
|
|
96
96
|
M("span", {
|
|
97
97
|
class: y(t(d).e("text")),
|
|
98
|
-
title: e.title
|
|
98
|
+
title: String(e.title || "")
|
|
99
99
|
}, [
|
|
100
100
|
J(t(Q), { content: z.value }, null, 8, ["content"])
|
|
101
101
|
], 10, X)
|
|
@@ -32,34 +32,33 @@ const ue = _({
|
|
|
32
32
|
fixExtraScrollWidth: {}
|
|
33
33
|
},
|
|
34
34
|
setup(c) {
|
|
35
|
-
const T = Z("multiple-tabs"), u = z().appContext.config.globalProperties.$router,
|
|
35
|
+
const T = Z("multiple-tabs"), u = z().appContext.config.globalProperties.$router, m = se(u), s = ne(), l = b(""), r = b(0), h = b(), { go: R } = ee(u), d = S(() => s.getTabList.filter((e) => !e.meta?.hideTab));
|
|
36
36
|
D(() => {
|
|
37
|
-
if (
|
|
38
|
-
const e = d.value.findIndex((n) => v(n) ===
|
|
39
|
-
e === -1 ?
|
|
37
|
+
if (l.value) {
|
|
38
|
+
const e = d.value.findIndex((n) => v(n) === l.value);
|
|
39
|
+
e === -1 ? r.value = d.value?.length - 1 : r.value = e, r.value = r.value < m?.length ? m?.length - 1 : r.value;
|
|
40
40
|
}
|
|
41
41
|
}), Y && le(() => {
|
|
42
42
|
h.value = t(u.currentRoute);
|
|
43
43
|
}), te(({ route: e }) => {
|
|
44
44
|
if (!e || e.meta?.hasTokenToRoot)
|
|
45
45
|
return;
|
|
46
|
-
const { meta: n = {} } = e, { currentActivePath: a, hideTab:
|
|
47
|
-
if (
|
|
46
|
+
const { meta: n = {} } = e, { currentActivePath: a, hideTab: i } = n, f = i ? a : null, y = v(e);
|
|
47
|
+
if (l.value !== y && (l.value = y), f) {
|
|
48
48
|
const C = u.getRoutes().find((I) => I.path === a);
|
|
49
49
|
C && s.addTab(
|
|
50
50
|
C,
|
|
51
51
|
t(h),
|
|
52
|
-
|
|
52
|
+
r.value,
|
|
53
53
|
e
|
|
54
54
|
);
|
|
55
|
-
} else
|
|
56
|
-
s.addTab(t(e), t(h), l.value);
|
|
55
|
+
} else i || s.addTab(t(e), t(h), r.value);
|
|
57
56
|
});
|
|
58
57
|
function V(e) {
|
|
59
|
-
if (
|
|
58
|
+
if (l.value === e.paneName)
|
|
60
59
|
return;
|
|
61
60
|
const n = d.value[e.attrs.index];
|
|
62
|
-
|
|
61
|
+
l.value = e.paneName;
|
|
63
62
|
const a = n?.meta?.hideActiveRoute?.fullPath;
|
|
64
63
|
R(a || n.fullPath || n.path);
|
|
65
64
|
}
|
|
@@ -97,10 +96,10 @@ const ue = _({
|
|
|
97
96
|
),
|
|
98
97
|
...c.contextMenuStyle
|
|
99
98
|
}, F = () => {
|
|
100
|
-
s.toggleFullScreen(s.getTabList[
|
|
99
|
+
s.toggleFullScreen(s.getTabList[r.value], u);
|
|
101
100
|
};
|
|
102
101
|
return H(() => {
|
|
103
|
-
c.canDrag && ce(
|
|
102
|
+
c.canDrag && ce(m), ie("command+e, ctrl+e", () => (L(), !1));
|
|
104
103
|
}), (e, n) => {
|
|
105
104
|
const a = K("vft-icon");
|
|
106
105
|
return p(), k("div", {
|
|
@@ -111,26 +110,26 @@ const ue = _({
|
|
|
111
110
|
"show-bar": !1,
|
|
112
111
|
"fix-tab-count": c.fixTabCount,
|
|
113
112
|
"fix-extra-scroll-width": c.fixExtraScrollWidth,
|
|
114
|
-
modelValue:
|
|
115
|
-
"onUpdate:modelValue": n[0] || (n[0] = (
|
|
113
|
+
modelValue: l.value,
|
|
114
|
+
"onUpdate:modelValue": n[0] || (n[0] = (i) => l.value = i),
|
|
116
115
|
onTabClick: V,
|
|
117
116
|
onTabRemove: $,
|
|
118
117
|
onTabContextMenu: N
|
|
119
118
|
}, W({
|
|
120
119
|
default: g(() => [
|
|
121
|
-
(p(!0), k(j, null, q(d.value, (
|
|
122
|
-
key: t(v)(
|
|
123
|
-
closable: !
|
|
124
|
-
index:
|
|
125
|
-
name: t(v)(
|
|
120
|
+
(p(!0), k(j, null, q(d.value, (i, f) => (p(), G(t(X), {
|
|
121
|
+
key: t(v)(i) + f,
|
|
122
|
+
closable: !i.meta?.affix,
|
|
123
|
+
index: f,
|
|
124
|
+
name: t(v)(i)
|
|
126
125
|
}, {
|
|
127
126
|
label: g(() => [
|
|
128
127
|
x(re, {
|
|
129
128
|
"context-menu-style": A,
|
|
130
|
-
"affix-num": t(
|
|
129
|
+
"affix-num": t(m)?.length,
|
|
131
130
|
ref_for: !0,
|
|
132
|
-
ref: t(M)(
|
|
133
|
-
"tab-item":
|
|
131
|
+
ref: t(M)(f),
|
|
132
|
+
"tab-item": i
|
|
134
133
|
}, null, 8, ["affix-num", "tab-item"])
|
|
135
134
|
]),
|
|
136
135
|
_: 2
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as X, computed as j, ref as re, unref as c, useSlots as oe, createVNode as a, mergeProps as q, withDirectives as ie, vShow as ne,
|
|
1
|
+
import { defineComponent as X, computed as j, ref as re, unref as c, useSlots as oe, createVNode as a, mergeProps as q, withDirectives as ie, vShow as ne, isVNode as le, createTextVNode as O, resolveComponent as N } from "vue";
|
|
2
2
|
import "../alert/index.js";
|
|
3
3
|
import "../avatar/index.js";
|
|
4
4
|
import "../avatar-stack/index.js";
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
package/es/utils/vue/vnode.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
|
|
2
2
|
import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
|
|
3
3
|
import { debugWarn as O } from "../error.js";
|
|
4
4
|
const R = "utils/vue/vnode";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const b=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"),ne=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:oe,emit:ae}){const l=ae,p=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const n={};return t.containerRole==="combobox"&&(n["aria-haspopup"]=p["aria-haspopup"],n["aria-owns"]=p["aria-owns"],n["aria-expanded"]=p["aria-expanded"]),n}),le=e.computed(()=>[t.type==="textarea"?A.b():o.b(),o.m(ie.value),o.is("disabled",m.value),o.is("exceed",fe.value),o.is("focus",c.value),{[o.b("group")]:i.prepend||i.append,[o.bm("group","append")]:i.append,[o.bm("group","prepend")]:i.prepend,[o.m("prefix")]:i.prefix||t.prefixIcon,[o.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[o.bm("suffix","password-clear")]:E.value&&z.value},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[o.e("wrapper"),o.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:k}=te.useFormItem(),{inputId:F}=te.useFormItemInputId(se.props,{formItemContext:k}),ie=ne.useFormSize(),m=ne.useFormDisabled(),o=Z.useNamespace("input"),A=Z.useNamespace("textarea"),C=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),w=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>C.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),x=e.computed(()=>k?.validateState||""),K=e.computed(()=>x.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[x.value]),de=e.computed(()=>w.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.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)),v=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(()=>!!v.value&&N.value>Number(r.value.maxlength)),ve=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||v.value||!!x.value&&R.value),[pe,ye]=_.useCursor(C);Y.useResizeObserver(f,n=>{if(!v.value||t.resize!=="both")return;const a=n[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 n=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,n,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},g=()=>{const n=h.value;!n||n.value===u.value||(n.value=u.value)},P=async n=>{pe();let{value:a}=n.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){g();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=n=>{l("change",n.target.value)},he=()=>{l("suffixClick",t.modelValue)},xe=()=>{l("prefixClick",t.modelValue)},L=n=>{l("compositionstart",n),y.value=!0},ge=n=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(n),W=n=>{l("compositionupdate",n);const a=n.target?.value,d=a[a.length-1]||"";y.value=!ge(d)},H=n=>{l("compositionend",n),y.value&&(y.value=!1,P(n))},be=()=>{w.value=!w.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},ke=()=>h.value?.blur(),G=n=>{c.value=!0,l("focus",n)},J=n=>{c.value=!1,l("blur",n),t.validateEvent&&k?.validate?.("blur").catch(a=>T.debugWarn(a))},Ce=n=>{V.value=!1,l("mouseleave",n)},we=n=>{V.value=!0,l("mouseenter",n)},Q=n=>{const a=n.key;if(n.target.type==="number"&&["e","+","-0","E"].includes(a))return n.returnValue=!1,!1;l("keydown",n)},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&&k?.validate?.("change").catch(n=>T.debugWarn(n))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),oe({input:C,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:ke,select:Ee,clear:X,resizeTextarea:B}),(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:t.containerRole,onMouseenter:we,onMouseleave:Ce,onMousewheel:a[1]||(a[1]=d=>t.type==="number"&&c.value?d.preventDefault():null)}),[t.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("group","prepend"))},[e.renderSlot(n.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[n.$slots.prefix||S.value?.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:xe},[e.renderSlot(n.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0,pointer:""},S.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(F),ref_key:"input",ref:C,class:e.unref(o).e("inner")},e.unref(r),{type:t.showPassword?w.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: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),ve.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:he},[!E.value||!z.value||!v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(n.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(o).e("icon"),e.unref(o).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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(o).e("icon"),e.unref(o).e("password")],onClick:be}),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(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),x.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(o).e("icon"),e.unref(o).e("validateIcon"),e.unref(o).is("loading",x.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),n.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o).be("group","append"))},[e.renderSlot(n.$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:t.tabindex,disabled:e.unref(m),readonly:t.readonly,autocomplete:t.autocomplete,style:$.value,"aria-label":t.label,placeholder:t.placeholder,form:t.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),v.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(o).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,t.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 b=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"),ne=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:oe,emit:ae}){const l=ae,p=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const n={};return t.containerRole==="combobox"&&(n["aria-haspopup"]=p["aria-haspopup"],n["aria-owns"]=p["aria-owns"],n["aria-expanded"]=p["aria-expanded"]),n}),le=e.computed(()=>[t.type==="textarea"?A.b():o.b(),o.m(ie.value),o.is("disabled",m.value),o.is("exceed",fe.value),o.is("focus",c.value),{[o.b("group")]:i.prepend||i.append,[o.bm("group","append")]:i.append,[o.bm("group","prepend")]:i.prepend,[o.m("prefix")]:i.prefix||t.prefixIcon,[o.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[o.bm("suffix","password-clear")]:E.value&&z.value},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[o.e("wrapper"),o.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:k}=ne.useFormItem(),{inputId:F}=ne.useFormItemInputId(se.props,{formItemContext:k}),ie=te.useFormSize(),m=te.useFormDisabled(),o=Z.useNamespace("input"),A=Z.useNamespace("textarea"),C=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),w=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>C.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),x=e.computed(()=>k?.validateState||""),K=e.computed(()=>x.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[x.value]),de=e.computed(()=>w.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.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)),v=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(()=>!!v.value&&N.value>Number(r.value.maxlength)),ve=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||v.value||!!x.value&&R.value),[pe,ye]=_.useCursor(C);Y.useResizeObserver(f,n=>{if(!v.value||t.resize!=="both")return;const a=n[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 n=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,n,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},g=()=>{const n=h.value;!n||n.value===u.value||(n.value=u.value)},P=async n=>{pe();let{value:a}=n.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){g();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=n=>{l("change",n.target.value)},he=()=>{l("suffixClick",t.modelValue)},xe=()=>{l("prefixClick",t.modelValue)},L=n=>{l("compositionstart",n),y.value=!0},ge=n=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(n),W=n=>{l("compositionupdate",n);const a=n.target?.value,d=a[a.length-1]||"";y.value=!ge(d)},H=n=>{l("compositionend",n),y.value&&(y.value=!1,P(n))},be=()=>{w.value=!w.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},ke=()=>h.value?.blur(),G=n=>{c.value=!0,l("focus",n)},J=n=>{c.value=!1,l("blur",n),t.validateEvent&&k?.validate?.("blur").catch(a=>T.debugWarn(a))},Ce=n=>{V.value=!1,l("mouseleave",n)},we=n=>{V.value=!0,l("mouseenter",n)},Q=n=>{const a=n.key;if(n.target.type==="number"&&["e","+","-0","E"].includes(a))return n.returnValue=!1,!1;l("keydown",n)},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&&k?.validate?.("change").catch(n=>T.debugWarn(n))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),oe({input:C,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:ke,select:Ee,clear:X,resizeTextarea:B}),(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:t.containerRole,onMouseenter:we,onMouseleave:Ce,onMousewheel:a[1]||(a[1]=d=>t.type==="number"&&c.value?d.preventDefault():null)}),[t.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("group","prepend"))},[e.renderSlot(n.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[n.$slots.prefix||S.value?.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:xe},[e.renderSlot(n.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0,pointer:""},S.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(F),ref_key:"input",ref:C,class:e.unref(o).e("inner")},e.unref(r),{type:t.showPassword?w.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: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),ve.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:he},[!E.value||!z.value||!v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(n.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(o).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(o).e("icon"),e.unref(o).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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(o).e("icon"),e.unref(o).e("password")],onClick:be}),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(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),x.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(o).e("icon"),e.unref(o).e("validateIcon"),e.unref(o).is("loading",x.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),n.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o).be("group","append"))},[e.renderSlot(n.$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:t.tabindex,disabled:e.unref(m),readonly:t.readonly,autocomplete:t.autocomplete,style:$.value,"aria-label":t.label,placeholder:t.placeholder,form:t.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),v.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(o).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,t.type!=="hidden"]])}});exports.default=ze;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("@vft/utils"),b=require("../icon/index.cjs"),M=require("../divider/index.cjs"),A=require("../tooltip/index.cjs");require("@vueuse/core");const y=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const m=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const $=require("./use-menu.cjs"),U=["title"],h=e.defineComponent({name:"vft-menu-item",inheritAttrs:!1}),E=e.defineComponent({...h,props:{index:{},route:{},disabled:{type:Boolean},icon:{},title:{},isAloneUse:{type:Boolean},divider:{type:Boolean},className:{},reverse:{type:Boolean}},emits:["click","mouseenter","mouseleave"],setup(t,{emit:
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("@vft/utils"),b=require("../icon/index.cjs"),M=require("../divider/index.cjs"),A=require("../tooltip/index.cjs");require("@vueuse/core");const y=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const m=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const $=require("./use-menu.cjs"),U=["title"],h=e.defineComponent({name:"vft-menu-item",inheritAttrs:!1}),E=e.defineComponent({...h,props:{index:{},route:{},disabled:{type:Boolean},icon:{},title:{},isAloneUse:{type:Boolean},divider:{type:Boolean},className:{},reverse:{type:Boolean}},emits:["click","mouseenter","mouseleave"],setup(t,{emit:g}){const u=g,s=m.useNamespace("menu-item"),f=e.getCurrentInstance(),q=e.useAttrs(),C=m.useNamespace("menu"),a=m.useNamespace("menu-item"),n=t.isAloneUse?null:e.inject("rootMenu");!n&&!t.isAloneUse&&y.throwError(s.b(),"can not inject root menu");const{parentMenu:v,indexPath:k}=$.default(f,e.computed(()=>t.index)),c=t.isAloneUse?null:e.inject(`subMenu:${v.value.uid}`);!c&&!t.isAloneUse&&y.throwError(s.b(),"can not inject sub menu");const B=e.computed(()=>t.index===n?.activeIndex),o=e.reactive({index:t.index,indexPath:k,active:B}),N=()=>{t.disabled||(n?.handleMenuItemClick({...q,index:t.index,indexPath:k.value,route:t.route}),u("click",o))},i=e.computed(()=>d.singleAttrToObj(t.icon,"icon")),x=e.computed(()=>d.renderTNode(f,"title"));return e.onMounted(()=>{t.isAloneUse||(c?.addSubMenu(o),n?.addMenuItem(o))}),e.onBeforeUnmount(()=>{t.isAloneUse||(c?.removeSubMenu(o),n?.removeMenuItem(o))}),(r,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.reverse&&t.divider?(e.openBlock(),e.createBlock(e.unref(M.VftDivider),{key:0,"margin-y":"0"})):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass([t.className,e.unref(a).b(),e.unref(a).is("active",t.isAloneUse?!1:B.value),e.unref(a).is("disabled",t.disabled)]),onMouseenter:l[0]||(l[0]=V=>u("mouseenter")),onMouseleave:l[1]||(l[1]=V=>u("mouseleave")),role:"menuitem",tabindex:"-1",onClick:N},[e.unref(v)?.type?.name==="vft-menu"&&e.unref(n)?.props.collapse&&r.$slots.title?(e.openBlock(),e.createBlock(e.unref(A.VftTooltip),{key:0,placement:"right","fallback-placements":["left"],persistent:e.unref(n).props.persistent},{content:e.withCtx(()=>[e.renderSlot(r.$slots,"title")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(C).be("tooltip","trigger"))},[i.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.normalizeProps(e.mergeProps({key:0},i.value)),null,16)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")],2)]),_:3},8,["persistent"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[r.$slots?.default?e.renderSlot(r.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.normalizeProps(e.mergeProps({key:0},i.value)),null,16)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("text")),title:String(t.title||"")},[e.createVNode(e.unref(d.VNode),{content:x.value},null,8,["content"])],10,U)],64))],64))],34),!t.reverse&&t.divider?(e.openBlock(),e.createBlock(e.unref(M.VftDivider),{key:1,"margin-y":"0"})):e.createCommentVNode("",!0)],64))}});exports.default=E;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),C=require("../tabs/index.cjs"),N=require("@vueuse/core");require("@vft/utils");const a=require("../../utils/helper.cjs"),T=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const $=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),y=require("@vft/store"),E=require("@vft/use"),K=require("hotkeys-js"),L=require("vue-router"),z=require("./tab-content.vue2.cjs"),R=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");const A=e.defineComponent({name:"vft-multiple-tabs"}),F=e.defineComponent({...A,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{},fixExtraScrollWidth:{}},setup(s){const b=$.useNamespace("multiple-tabs"),c=e.getCurrentInstance().appContext.config.globalProperties.$router,v=R.initAffixTabs(c),l=y.useMultipleTabStore(),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),C=require("../tabs/index.cjs"),N=require("@vueuse/core");require("@vft/utils");const a=require("../../utils/helper.cjs"),T=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const $=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const d=require("@vft/router"),y=require("@vft/store"),E=require("@vft/use"),K=require("hotkeys-js"),L=require("vue-router"),z=require("./tab-content.vue2.cjs"),R=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");const A=e.defineComponent({name:"vft-multiple-tabs"}),F=e.defineComponent({...A,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{},fixExtraScrollWidth:{}},setup(s){const b=$.useNamespace("multiple-tabs"),c=e.getCurrentInstance().appContext.config.globalProperties.$router,v=R.initAffixTabs(c),l=y.useMultipleTabStore(),i=e.ref(""),u=e.ref(0),m=e.ref(),{go:g}=d.useRouterHelper(c),h=e.computed(()=>l.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(i.value){const t=h.value.findIndex(n=>d.getRouterKeyPath(n)===i.value);t===-1?u.value=h.value?.length-1:u.value=t,u.value=u.value<v?.length?v?.length-1:u.value}}),N.isClient&&L.onBeforeRouteLeave(()=>{m.value=e.unref(c.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:n={}}=t,{currentActivePath:r,hideTab:o}=n,f=o?r:null,x=d.getRouterKeyPath(t);if(i.value!==x&&(i.value=x),f){const p=c.getRoutes().find(M=>M.path===r);p&&l.addTab(p,e.unref(m),u.value,t)}else o||l.addTab(e.unref(t),e.unref(m),u.value)});function q(t){if(i.value===t.paneName)return;const n=h.value[t.attrs.index];i.value=t.paneName;const r=n?.meta?.hideActiveRoute?.fullPath;g(r||n.fullPath||n.path)}function S(t){l.closeTabByKey(t,c)}const{refs:_,setRefs:k}=E.useRefs();function P(t){const n=t.pane.attrs.index,r=t.event;_.value[n].handleContext(r)}const U=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":a.addUnit(26),"font-size":a.addUnit(13),"item-padding":`0 ${a.addUnit(10)}`,"close-icon-left":a.addUnit(8),"item-distance":"1px","item-max-width":a.addUnit(180),"scroll-padding":`0 ${a.addUnit(20)}`,"header-margin":`0 0 0 ${a.addUnit(10)}`,"item-border-radius":`${a.addUnit(5)} ${a.addUnit(5)} 0 0`,"item-border":"none"};return{...T.generateCssVars(t,"tabs"),...s.tabsStyle}}),{closeCurrent:w}=y.useTabs(),V={...T.generateCssVars({"sub-item-height":a.addUnit(40),"item-min-width":a.addUnit(150)},"menu"),...s.contextMenuStyle},B=()=>{l.toggleFullScreen(l.getTabList[u.value],c)};return e.onMounted(()=>{s.canDrag&&R.useTabsDrag(v),K("command+e, ctrl+e",()=>(w(),!1))}),(t,n)=>{const r=e.resolveComponent("vft-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(b).b()),style:e.normalizeStyle(U.value)},[e.createVNode(e.unref(C.VftTabs),{"show-bar":!1,"fix-tab-count":s.fixTabCount,"fix-extra-scroll-width":s.fixExtraScrollWidth,modelValue:i.value,"onUpdate:modelValue":n[0]||(n[0]=o=>i.value=o),onTabClick:q,onTabRemove:S,onTabContextMenu:P},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,f)=>(e.openBlock(),e.createBlock(e.unref(C.VftTabPane),{key:e.unref(d.getRouterKeyPath)(o)+f,closable:!o.meta?.affix,index:f,name:e.unref(d.getRouterKeyPath)(o)},{label:e.withCtx(()=>[e.createVNode(z.default,{"context-menu-style":V,"affix-num":e.unref(v)?.length,ref_for:!0,ref:e.unref(k)(f),"tab-item":o},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:2},[s.showNavRight?{name:"navRight",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"nav-right",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b).e("nav-right"))},[e.createVNode(r,{onClick:B,icon:e.unref(l).isFullScreen?"icon-collapse":"icon-expand",pointer:""},null,8,["icon"])],2)])]),key:"0"}:void 0]),1032,["fix-tab-count","fix-extra-scroll-width","modelValue"])],6)}}});exports.default=F;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@vft/router"),u=require("@vft/store");require("@vft/utils");const a=require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");require("vue-router");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@vft/router"),u=require("@vft/store");require("@vft/utils");const a=require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");require("vue-router");function D(e,t){const i=a.reactive({current:null,currentIndex:0}),n=u.useMultipleTabStore(),{refreshPage:g,closeAll:h,close:b,closeLeft:f,closeOther:x,closeRight:L,newWinTab:T,fullScreen:p}=u.useTabs(),C=a.computed(()=>{if(!e)return;const{meta:o}=e,r=i.currentIndex,c=r===0||r<=t,s=n.getTabList.length<=t||r===n.getTabList.length-1&&n.getLastDragEndIndex>=0,v=n.getTabList.length===t||n.getTabList.length===t+1&&r===t,l=n.getTabList.length===t;return[{iconCfg:{icon:"icon-refresh-right"},text:"刷新",handler:()=>g(e)},{iconCfg:{icon:"icon-new-tab"},text:"新页面打开",handler:()=>T(e),divider:!0},{iconCfg:{icon:"icon-close-tab"},text:"关闭标签页",disabled:!!o?.affix||l,handler:()=>b(e)},{iconCfg:{icon:"icon-arrow-close-left"},text:"关闭左侧标签页",disabled:c,handler:()=>f(e)},{iconCfg:{icon:"icon-arrow-close-right"},text:"关闭右侧标签页",disabled:s,divider:!0,handler:()=>L(e)},{iconCfg:{icon:"icon-close-box-multiple-outline"},text:"关闭其它标签页",disabled:v,handler:()=>x(e)},{iconCfg:{icon:"icon-vector-square-delete"},text:"关闭所有标签页",disabled:l,divider:!0,handler:()=>h()},{iconCfg:{icon:"icon-full-screen"},text:"全屏",handler:()=>p(e)}]});function q(o){return r=>{if(!o)return;r?.preventDefault();const c=n.getTabList.findIndex(s=>d.getRouterKeyPath(s)===d.getRouterKeyPath(o));i.current=o,i.currentIndex=c}}return{getDropMenuList:C,handleContextMenu:q}}exports.useTabDropdown=D;
|
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.470";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.470",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"resize-detector": "0.3.0",
|
|
57
57
|
"sortablejs": "1.15.0",
|
|
58
58
|
"photoswipe": "5.4.4",
|
|
59
|
-
"@vft/
|
|
60
|
-
"@vft/
|
|
61
|
-
"@vft/
|
|
62
|
-
"@vft/
|
|
63
|
-
"@vft/
|
|
64
|
-
"@vft/
|
|
59
|
+
"@vft/store": "0.0.60",
|
|
60
|
+
"@vft/constants": "0.0.75",
|
|
61
|
+
"@vft/router": "0.0.71",
|
|
62
|
+
"@vft/use": "0.0.92",
|
|
63
|
+
"@vft/utils": "0.0.149",
|
|
64
|
+
"@vft/directives": "0.0.36"
|
|
65
65
|
},
|
|
66
66
|
"vetur": {
|
|
67
67
|
"tags": "tags.json",
|
|
@@ -312,53 +312,3 @@ $E: null;
|
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
|
-
|
|
316
|
-
@mixin scrollbar-transition(
|
|
317
|
-
$width: 6px,
|
|
318
|
-
$color: var(--vft-primary-color),
|
|
319
|
-
$duration: 0.3s,
|
|
320
|
-
$name: scrollbar-color-1,
|
|
321
|
-
$is-root: false,
|
|
322
|
-
$use-is-scroll: false,
|
|
323
|
-
$is-scroll-selector: '.is-scroll'
|
|
324
|
-
) {
|
|
325
|
-
$css-var: --#{$name};
|
|
326
|
-
|
|
327
|
-
transition:
|
|
328
|
-
#{$css-var} $duration linear,
|
|
329
|
-
scrollbar-color $duration linear;
|
|
330
|
-
|
|
331
|
-
$selector: '&::-webkit-scrollbar';
|
|
332
|
-
|
|
333
|
-
@if $is-root {
|
|
334
|
-
$selector: '::-webkit-scrollbar';
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
@-moz-document url-prefix() {
|
|
338
|
-
scrollbar-color: transparent transparent;
|
|
339
|
-
scrollbar-width: thin;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
$hover-selector: if($use-is-scroll, '&#{$is-scroll-selector}', '&');
|
|
343
|
-
|
|
344
|
-
#{$hover-selector} {
|
|
345
|
-
&:hover {
|
|
346
|
-
#{$css-var}: #{$color};
|
|
347
|
-
|
|
348
|
-
@-moz-document url-prefix() {
|
|
349
|
-
scrollbar-color: $color transparent;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
#{$selector} {
|
|
355
|
-
width: $width;
|
|
356
|
-
height: $width;
|
|
357
|
-
background: transparent;
|
|
358
|
-
|
|
359
|
-
&-thumb {
|
|
360
|
-
border-radius: 6px;
|
|
361
|
-
background: var(#{$css-var}) !important;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}
|