vft 0.0.479 → 0.0.481

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.
@@ -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 { CAROUSEL_ITEM_NAME as H, carouselContextKey as Se } from "./constants.js";
14
+ import { carouselContextKey as Se, CAROUSEL_ITEM_NAME as H } from "./constants.js";
15
15
  const L = 300, ze = (t, O, M) => {
16
16
  const {
17
17
  children: o,
@@ -1,7 +1,7 @@
1
1
  import { keysOf as f } from "@vft/utils";
2
2
  import "@vueuse/core";
3
3
  import { debugWarn as v } from "../../../utils/error.js";
4
- import { getCurrentInstance as l, computed as i, unref as p, provide as g, ref as C, inject as x } from "vue";
4
+ import { ref as g, getCurrentInstance as l, computed as i, unref as p, provide as C, inject as x } from "vue";
5
5
  import "lodash-es";
6
6
  import "../../form/index.js";
7
7
  import { namespaceContextKey as I, useNamespace as b, defaultNamespace as y } from "../../../hooks/use-namespace/index.js";
@@ -9,7 +9,7 @@ import "../../../hooks/use-model-toggle/index.js";
9
9
  import "@popperjs/core";
10
10
  import { zIndexContextKey as G, useZIndex as z, defaultInitialZIndex as K } from "../../../hooks/use-z-index/index.js";
11
11
  import { configProviderContextKey as m } from "../constants.js";
12
- const a = C();
12
+ const a = g();
13
13
  function d(o, e = void 0) {
14
14
  const n = l() ? x(m, a) : a;
15
15
  return o ? i(() => n?.value?.[o] ?? e) : n;
@@ -27,7 +27,7 @@ function B(o) {
27
27
  };
28
28
  }
29
29
  const S = (o, e, n = !1) => {
30
- const t = !!l(), r = t ? d() : void 0, u = e?.provide ?? (t ? g : void 0);
30
+ const t = !!l(), r = t ? d() : void 0, u = e?.provide ?? (t ? C : void 0);
31
31
  if (!u) {
32
32
  v(
33
33
  "provideGlobalConfig",
@@ -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 { 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";
16
+ import { useFormItem as et, useFormItemInputId as tt } from "../form/hooks/use-form-item.js";
17
+ import { useFormSize as at, useFormDisabled as nt } from "../form/hooks/use-form-common-props.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 } = at(), { inputId: Y } = nt(we.props, {
88
+ }), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(we.props, {
89
89
  formItemContext: F
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", {
90
+ }), ke = at(), x = nt(), 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, INPUT_EVENT as H, UPDATE_MODEL_EVENT as d } from "../../../constants/event.js";
3
+ import { CHANGE_EVENT as i, UPDATE_MODEL_EVENT as d, INPUT_EVENT as H } 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";
@@ -1,28 +1,28 @@
1
- import { defineComponent as w, getCurrentInstance as z, ref as v, computed as S, watchEffect as D, unref as n, onMounted as H, createElementBlock as C, openBlock as b, normalizeStyle as K, normalizeClass as k, createVNode as p, createSlots as U, withCtx as x, Fragment as W, renderList as j, createBlock as q, renderSlot as G, createElementVNode as J } from "vue";
2
- import { VftTabs as O, VftTabPane as Q } from "../tabs/index.js";
3
- import { VftIcon as X } from "../icon/index.js";
4
- import { isClient as Y } from "@vueuse/core";
1
+ import { defineComponent as B, getCurrentInstance as U, ref as d, computed as k, watchEffect as W, unref as t, onMounted as j, createElementBlock as P, openBlock as g, normalizeStyle as q, normalizeClass as w, createVNode as h, createSlots as G, withCtx as x, Fragment as J, renderList as O, createBlock as Q, renderSlot as X, createElementVNode as Y } from "vue";
2
+ import { VftTabs as Z, VftTabPane as ee } from "../tabs/index.js";
3
+ import { VftIcon as V } from "../icon/index.js";
4
+ import { isClient as te } from "@vueuse/core";
5
5
  import "@vft/utils";
6
6
  import { addUnit as o } from "../../utils/helper.js";
7
- import { generateCssVars as P } from "../../utils/ns-cover.js";
7
+ import { generateCssVars as $ } from "../../utils/ns-cover.js";
8
8
  import "lodash-es";
9
9
  import "../form/index.js";
10
- import { useNamespace as Z } from "../../hooks/use-namespace/index.js";
10
+ import { useNamespace as ae } from "../../hooks/use-namespace/index.js";
11
11
  import "../../hooks/use-model-toggle/index.js";
12
12
  import "@popperjs/core";
13
13
  import "../../hooks/use-z-index/index.js";
14
- import { useRouterHelper as ee, getRouterKeyPath as d, listenerRouteChange as te } from "@vft/router";
15
- import { useMultipleTabStore as ne, useTabs as ae } from "@vft/store";
16
- import { useRefs as oe } from "@vft/use";
17
- import ie from "hotkeys-js";
18
- import { onBeforeRouteLeave as le } from "vue-router";
19
- import re from "./tab-content.vue2.js";
20
- import { initAffixTabs as se, useTabsDrag as ce } from "./use/use-multiple-tabs.js";
14
+ import { useRouterHelper as ne, getRouterKeyPath as v, listenerRouteChange as oe } from "@vft/router";
15
+ import { useMultipleTabStore as le, useTabs as re } from "@vft/store";
16
+ import { useRefs as ie } from "@vft/use";
17
+ import se from "hotkeys-js";
18
+ import { onBeforeRouteLeave as ue } from "vue-router";
19
+ import ce from "./tab-content.vue2.js";
20
+ import { initAffixTabs as fe, useTabsDrag as me } from "./use/use-multiple-tabs.js";
21
21
  import "../context-menu/context-menu.vue2.js";
22
- const ue = w({
22
+ const de = B({
23
23
  name: "vft-multiple-tabs"
24
- }), _e = /* @__PURE__ */ w({
25
- ...ue,
24
+ }), Ee = /* @__PURE__ */ B({
25
+ ...de,
26
26
  props: {
27
27
  tabsStyle: {},
28
28
  contextMenuStyle: {},
@@ -31,46 +31,46 @@ const ue = w({
31
31
  fixTabCount: {},
32
32
  fixExtraScrollWidth: {}
33
33
  },
34
- setup(s) {
35
- const g = Z("multiple-tabs"), c = z().appContext.config.globalProperties.$router, f = se(c), r = ne(), i = v(""), l = v(0), h = v(), { go: T } = ee(c), m = S(() => r.getTabList.filter((e) => !e.meta?.hideTab));
36
- D(() => {
34
+ setup(u) {
35
+ const T = ae("multiple-tabs"), s = U().appContext.config.globalProperties.$router, f = fe(s), l = le(), i = d(""), r = d(0), b = d(), { go: R } = ne(s), m = k(() => l.getTabList.filter((e) => !e.meta?.hideTab));
36
+ W(() => {
37
37
  if (i.value) {
38
- const e = m.value.findIndex((a) => d(a) === i.value);
39
- e === -1 ? l.value = m.value?.length - 1 : l.value = e, l.value = l.value < f?.length ? f?.length - 1 : l.value;
38
+ const e = m.value.findIndex((n) => v(n) === i.value);
39
+ e === -1 ? r.value = m.value?.length - 1 : r.value = e, r.value = r.value < f?.length ? f?.length - 1 : r.value;
40
40
  }
41
- }), Y && le(() => {
42
- h.value = n(c.currentRoute);
43
- }), te(({ route: e }) => {
41
+ }), te && ue(() => {
42
+ b.value = t(s.currentRoute);
43
+ }), oe(({ route: e }) => {
44
44
  if (!e || e.meta?.hasTokenToRoot)
45
45
  return;
46
- const { meta: a = {} } = e, { currentActivePath: t, hideTab: u } = a, A = u ? t : null, R = d(e);
47
- if (i.value !== R && (i.value = R), A) {
48
- const y = c.getRoutes().find((F) => F.path === t);
49
- y && r.addTab(
50
- y,
51
- n(h),
52
- l.value,
46
+ const { meta: n = {} } = e, { currentActivePath: a, hideTab: c } = n, H = c ? a : null, C = v(e);
47
+ if (i.value !== C && (i.value = C), H) {
48
+ const S = s.getRoutes().find((K) => K.path === a);
49
+ S && l.addTab(
50
+ S,
51
+ t(b),
52
+ r.value,
53
53
  e
54
54
  );
55
- } else u || r.addTab(n(e), n(h), l.value);
55
+ } else c || l.addTab(t(e), t(b), r.value);
56
56
  });
57
- function V(e) {
57
+ function I(e) {
58
58
  if (i.value === e.paneName)
59
59
  return;
60
- const a = m.value[e.attrs.index];
60
+ const n = m.value[e.attrs.index];
61
61
  i.value = e.paneName;
62
- const t = a?.meta?.hideActiveRoute?.fullPath;
63
- T(t || a.fullPath || a.path);
62
+ const a = n?.meta?.hideActiveRoute?.fullPath;
63
+ R(a || n.fullPath || n.path);
64
64
  }
65
- function $(e) {
66
- r.closeTabByKey(e, c);
65
+ function M(e) {
66
+ l.closeTabByKey(e, s);
67
67
  }
68
- const { refs: B, setRefs: M } = oe();
69
- function N(e) {
70
- const a = e.pane.attrs.index, t = e.event;
71
- B.value[a].handleContext(t);
68
+ const { refs: N, setRefs: L } = ie();
69
+ function _(e) {
70
+ const n = e.pane.attrs.index, a = e.event;
71
+ N.value[n].handleContext(a);
72
72
  }
73
- const _ = S(() => {
73
+ const E = k(() => {
74
74
  const e = {
75
75
  padding: "4px 0 0",
76
76
  "border-bottom": "none",
@@ -85,49 +85,55 @@ const ue = w({
85
85
  "item-border-radius": `${o(5)} ${o(5)} 0 0`,
86
86
  "item-border": "none"
87
87
  };
88
- return { ...P(e, "tabs"), ...s.tabsStyle };
89
- }), { closeCurrent: E } = ae(), I = {
90
- ...P(
88
+ return { ...$(e, "tabs"), ...u.tabsStyle };
89
+ }), { closeCurrent: A } = re(), F = {
90
+ ...$(
91
91
  {
92
92
  "sub-item-height": o(40),
93
93
  "item-min-width": o(150)
94
94
  },
95
95
  "menu"
96
96
  ),
97
- ...s.contextMenuStyle
98
- }, L = () => {
99
- r.toggleFullScreen(r.getTabList[l.value], c);
97
+ ...u.contextMenuStyle
98
+ }, z = () => {
99
+ l.toggleFullScreen(l.getTabList[r.value], s);
100
+ }, p = d(!1);
101
+ let y;
102
+ const D = () => {
103
+ clearInterval(y), p.value = !0, l.refreshPage(0, s, l.getTabList[r.value]), y = setTimeout(() => {
104
+ p.value = !1;
105
+ }, 500);
100
106
  };
101
- return H(() => {
102
- s.canDrag && ce(f), ie("command+e, ctrl+e", () => (E(), !1));
103
- }), (e, a) => (b(), C("div", {
104
- class: k(n(g).b()),
105
- style: K(_.value)
107
+ return j(() => {
108
+ u.canDrag && me(f), se("command+e, ctrl+e", () => (A(), !1));
109
+ }), (e, n) => (g(), P("div", {
110
+ class: w(t(T).b()),
111
+ style: q(E.value)
106
112
  }, [
107
- p(n(O), {
113
+ h(t(Z), {
108
114
  "show-bar": !1,
109
- "fix-tab-count": s.fixTabCount,
110
- "fix-extra-scroll-width": s.fixExtraScrollWidth,
115
+ "fix-tab-count": u.fixTabCount,
116
+ "fix-extra-scroll-width": u.fixExtraScrollWidth,
111
117
  modelValue: i.value,
112
- "onUpdate:modelValue": a[0] || (a[0] = (t) => i.value = t),
113
- onTabClick: V,
114
- onTabRemove: $,
115
- onTabContextMenu: N
116
- }, U({
118
+ "onUpdate:modelValue": n[0] || (n[0] = (a) => i.value = a),
119
+ onTabClick: I,
120
+ onTabRemove: M,
121
+ onTabContextMenu: _
122
+ }, G({
117
123
  default: x(() => [
118
- (b(!0), C(W, null, j(m.value, (t, u) => (b(), q(n(Q), {
119
- key: n(d)(t) + u,
120
- closable: !t.meta?.affix,
121
- index: u,
122
- name: n(d)(t)
124
+ (g(!0), P(J, null, O(m.value, (a, c) => (g(), Q(t(ee), {
125
+ key: t(v)(a) + c,
126
+ closable: !a.meta?.affix,
127
+ index: c,
128
+ name: t(v)(a)
123
129
  }, {
124
130
  label: x(() => [
125
- p(re, {
126
- "context-menu-style": I,
127
- "affix-num": n(f)?.length,
131
+ h(ce, {
132
+ "context-menu-style": F,
133
+ "affix-num": t(f)?.length,
128
134
  ref_for: !0,
129
- ref: n(M)(u),
130
- "tab-item": t
135
+ ref: t(L)(c),
136
+ "tab-item": a
131
137
  }, null, 8, ["affix-num", "tab-item"])
132
138
  ]),
133
139
  _: 2
@@ -135,16 +141,23 @@ const ue = w({
135
141
  ]),
136
142
  _: 2
137
143
  }, [
138
- s.showNavRight ? {
144
+ u.showNavRight ? {
139
145
  name: "navRight",
140
146
  fn: x(() => [
141
- G(e.$slots, "nav-right", {}, () => [
142
- J("div", {
143
- class: k(n(g).e("nav-right"))
147
+ X(e.$slots, "nav-right", {}, () => [
148
+ Y("div", {
149
+ class: w(t(T).e("nav-right"))
144
150
  }, [
145
- p(n(X), {
146
- onClick: L,
147
- icon: n(r).isFullScreen ? "icon-collapse" : "icon-expand",
151
+ h(t(V), {
152
+ rotate: p.value,
153
+ "rotate-speed": 1,
154
+ onClick: D,
155
+ icon: "icon-refresh-right",
156
+ pointer: ""
157
+ }, null, 8, ["rotate"]),
158
+ h(t(V), {
159
+ onClick: z,
160
+ icon: t(l).isFullScreen ? "icon-collapse" : "icon-expand",
148
161
  pointer: ""
149
162
  }, null, 8, ["icon"])
150
163
  ], 2)
@@ -157,5 +170,5 @@ const ue = w({
157
170
  }
158
171
  });
159
172
  export {
160
- _e as default
173
+ Ee as default
161
174
  };
@@ -99,6 +99,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
99
99
  readonly position: import("vft/es/utils").EpPropMergeType<StringConstructor, "top-right" | "top-left" | "bottom-right" | "bottom-left", unknown>;
100
100
  readonly offset: number;
101
101
  readonly onClick: () => void;
102
+ readonly duration: number;
102
103
  readonly type: import("vft/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "warning" | "info" | "primary", unknown>;
103
104
  readonly id: string;
104
105
  readonly message: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -113,7 +114,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
113
114
  readonly showClose: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
114
115
  readonly customClass: string;
115
116
  readonly closeIcon: string;
116
- readonly duration: number;
117
117
  readonly dangerouslyUseHTMLString: boolean;
118
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
119
119
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
@@ -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, isVNode as le, createTextVNode as O, resolveComponent as N } from "vue";
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, createTextVNode as O, isVNode as le, resolveComponent as N } from "vue";
2
2
  import "../alert/index.js";
3
3
  import "../avatar/index.js";
4
4
  import "../avatar-stack/index.js";
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.479",
3
+ "version": "0.0.481",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.479";
1
+ const o = "0.0.481";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
1
+ import { hasOwn as m, camelize as N, isArray as E } 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-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
+ "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 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("../tabs/index.cjs"),N=require("../icon/index.cjs"),$=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),T=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const E=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"),C=require("@vft/store"),I=require("@vft/use"),K=require("hotkeys-js"),L=require("vue-router"),z=require("./tab-content.vue2.cjs"),y=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.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(l){const m=E.useNamespace("multiple-tabs"),s=e.getCurrentInstance().appContext.config.globalProperties.$router,f=y.initAffixTabs(s),u=C.useMultipleTabStore(),o=e.ref(""),i=e.ref(0),v=e.ref(),{go:b}=d.useRouterHelper(s),h=e.computed(()=>u.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(o.value){const t=h.value.findIndex(a=>d.getRouterKeyPath(a)===o.value);t===-1?i.value=h.value?.length-1:i.value=t,i.value=i.value<f?.length?f?.length-1:i.value}}),$.isClient&&L.onBeforeRouteLeave(()=>{v.value=e.unref(s.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:c}=a,B=c?n:null,x=d.getRouterKeyPath(t);if(o.value!==x&&(o.value=x),B){const g=s.getRoutes().find(M=>M.path===n);g&&u.addTab(g,e.unref(v),i.value,t)}else c||u.addTab(e.unref(t),e.unref(v),i.value)});function R(t){if(o.value===t.paneName)return;const a=h.value[t.attrs.index];o.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;b(n||a.fullPath||a.path)}function q(t){u.closeTabByKey(t,s)}const{refs:S,setRefs:k}=I.useRefs();function P(t){const a=t.pane.attrs.index,n=t.event;S.value[a].handleContext(n)}const _=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...T.generateCssVars(t,"tabs"),...l.tabsStyle}}),{closeCurrent:U}=C.useTabs(),V={...T.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...l.contextMenuStyle},w=()=>{u.toggleFullScreen(u.getTabList[i.value],s)};return e.onMounted(()=>{l.canDrag&&y.useTabsDrag(f),K("command+e, ctrl+e",()=>(U(),!1))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(m).b()),style:e.normalizeStyle(_.value)},[e.createVNode(e.unref(p.VftTabs),{"show-bar":!1,"fix-tab-count":l.fixTabCount,"fix-extra-scroll-width":l.fixExtraScrollWidth,modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=n=>o.value=n),onTabClick:R,onTabRemove:q,onTabContextMenu:P},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(n,c)=>(e.openBlock(),e.createBlock(e.unref(p.VftTabPane),{key:e.unref(d.getRouterKeyPath)(n)+c,closable:!n.meta?.affix,index:c,name:e.unref(d.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(z.default,{"context-menu-style":V,"affix-num":e.unref(f)?.length,ref_for:!0,ref:e.unref(k)(c),"tab-item":n},null,8,["affix-num","tab-item"])]),_:2},1032,["closable","index","name"]))),128))]),_:2},[l.showNavRight?{name:"navRight",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"nav-right",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(m).e("nav-right"))},[e.createVNode(e.unref(N.VftIcon),{onClick:w,icon:e.unref(u).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
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),C=require("../tabs/index.cjs"),R=require("../icon/index.cjs"),L=require("@vueuse/core");require("@vft/utils");const r=require("../../utils/helper.cjs"),y=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const K=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"),q=require("@vft/store"),z=require("@vft/use"),A=require("hotkeys-js"),F=require("vue-router"),D=require("./tab-content.vue2.cjs"),S=require("./use/use-multiple-tabs.cjs");require("../context-menu/context-menu.vue2.cjs");const H=e.defineComponent({name:"vft-multiple-tabs"}),W=e.defineComponent({...H,props:{tabsStyle:{},contextMenuStyle:{},canDrag:{type:Boolean},showNavRight:{type:Boolean,default:!0},fixTabCount:{},fixExtraScrollWidth:{}},setup(s){const b=K.useNamespace("multiple-tabs"),u=e.getCurrentInstance().appContext.config.globalProperties.$router,f=S.initAffixTabs(u),o=q.useMultipleTabStore(),l=e.ref(""),i=e.ref(0),v=e.ref(),{go:g}=d.useRouterHelper(u),h=e.computed(()=>o.getTabList.filter(t=>!t.meta?.hideTab));e.watchEffect(()=>{if(l.value){const t=h.value.findIndex(a=>d.getRouterKeyPath(a)===l.value);t===-1?i.value=h.value?.length-1:i.value=t,i.value=i.value<f?.length?f?.length-1:i.value}}),L.isClient&&F.onBeforeRouteLeave(()=>{v.value=e.unref(u.currentRoute)}),d.listenerRouteChange(({route:t})=>{if(!t||t.meta?.hasTokenToRoot)return;const{meta:a={}}=t,{currentActivePath:n,hideTab:c}=a,I=c?n:null,p=d.getRouterKeyPath(t);if(l.value!==p&&(l.value=p),I){const T=u.getRoutes().find(E=>E.path===n);T&&o.addTab(T,e.unref(v),i.value,t)}else c||o.addTab(e.unref(t),e.unref(v),i.value)});function k(t){if(l.value===t.paneName)return;const a=h.value[t.attrs.index];l.value=t.paneName;const n=a?.meta?.hideActiveRoute?.fullPath;g(n||a.fullPath||a.path)}function P(t){o.closeTabByKey(t,u)}const{refs:V,setRefs:_}=z.useRefs();function U(t){const a=t.pane.attrs.index,n=t.event;V.value[a].handleContext(n)}const w=e.computed(()=>{const t={padding:"4px 0 0","border-bottom":"none","header-height":r.addUnit(26),"font-size":r.addUnit(13),"item-padding":`0 ${r.addUnit(10)}`,"close-icon-left":r.addUnit(8),"item-distance":"1px","item-max-width":r.addUnit(180),"scroll-padding":`0 ${r.addUnit(20)}`,"header-margin":`0 0 0 ${r.addUnit(10)}`,"item-border-radius":`${r.addUnit(5)} ${r.addUnit(5)} 0 0`,"item-border":"none"};return{...y.generateCssVars(t,"tabs"),...s.tabsStyle}}),{closeCurrent:B}=q.useTabs(),M={...y.generateCssVars({"sub-item-height":r.addUnit(40),"item-min-width":r.addUnit(150)},"menu"),...s.contextMenuStyle},N=()=>{o.toggleFullScreen(o.getTabList[i.value],u)},m=e.ref(!1);let x;const $=()=>{clearInterval(x),m.value=!0,o.refreshPage(0,u,o.getTabList[i.value]),x=setTimeout(()=>{m.value=!1},500)};return e.onMounted(()=>{s.canDrag&&S.useTabsDrag(f),A("command+e, ctrl+e",()=>(B(),!1))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(b).b()),style:e.normalizeStyle(w.value)},[e.createVNode(e.unref(C.VftTabs),{"show-bar":!1,"fix-tab-count":s.fixTabCount,"fix-extra-scroll-width":s.fixExtraScrollWidth,modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=n=>l.value=n),onTabClick:k,onTabRemove:P,onTabContextMenu:U},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(n,c)=>(e.openBlock(),e.createBlock(e.unref(C.VftTabPane),{key:e.unref(d.getRouterKeyPath)(n)+c,closable:!n.meta?.affix,index:c,name:e.unref(d.getRouterKeyPath)(n)},{label:e.withCtx(()=>[e.createVNode(D.default,{"context-menu-style":M,"affix-num":e.unref(f)?.length,ref_for:!0,ref:e.unref(_)(c),"tab-item":n},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(e.unref(R.VftIcon),{rotate:m.value,"rotate-speed":1,onClick:$,icon:"icon-refresh-right",pointer:""},null,8,["rotate"]),e.createVNode(e.unref(R.VftIcon),{onClick:N,icon:e.unref(o).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=W;
@@ -99,6 +99,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
99
99
  readonly position: import("vft/es/utils").EpPropMergeType<StringConstructor, "top-right" | "top-left" | "bottom-right" | "bottom-left", unknown>;
100
100
  readonly offset: number;
101
101
  readonly onClick: () => void;
102
+ readonly duration: number;
102
103
  readonly type: import("vft/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "warning" | "info" | "primary", unknown>;
103
104
  readonly id: string;
104
105
  readonly message: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -113,7 +114,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
113
114
  readonly showClose: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
114
115
  readonly customClass: string;
115
116
  readonly closeIcon: string;
116
- readonly duration: number;
117
117
  readonly dangerouslyUseHTMLString: boolean;
118
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
119
119
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.479";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.481";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.479",
3
+ "version": "0.0.481",
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.479",
3
+ "version": "0.0.481",
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/router": "0.0.71",
60
- "@vft/store": "0.0.64",
61
- "@vft/use": "0.0.92",
62
59
  "@vft/constants": "0.0.75",
63
- "@vft/directives": "0.0.36",
64
- "@vft/utils": "0.0.157"
60
+ "@vft/use": "0.0.92",
61
+ "@vft/store": "0.0.64",
62
+ "@vft/utils": "0.0.158",
63
+ "@vft/router": "0.0.73",
64
+ "@vft/directives": "0.0.36"
65
65
  },
66
66
  "vetur": {
67
67
  "tags": "tags.json",