vft 0.0.344 → 0.0.345

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.
@@ -10,7 +10,7 @@ import "../../hooks/use-model-toggle/index.js";
10
10
  import { useOrderedChildren as Ie } from "../../hooks/use-ordered-children/index.js";
11
11
  import "@popperjs/core";
12
12
  import "../../hooks/use-z-index/index.js";
13
- import { CAROUSEL_ITEM_NAME as H, carouselContextKey as ge } from "./constants.js";
13
+ import { carouselContextKey as ge, CAROUSEL_ITEM_NAME as H } from "./constants.js";
14
14
  const L = 300, _e = (t, O, M) => {
15
15
  const {
16
16
  children: o,
@@ -1,8 +1,8 @@
1
- import { defineComponent as R, getCurrentInstance as Z, ref as i, computed as g, watch as _, toRef as b, onBeforeUnmount as x, provide as B, createElementBlock as ee, openBlock as T, normalizeClass as $, unref as t, createVNode as r, createBlock as te, createCommentVNode as oe, createSlots as re, withCtx as o, renderSlot as h, mergeProps as I } from "vue";
1
+ import { defineComponent as S, getCurrentInstance as Z, ref as i, computed as g, watch as _, toRef as b, onBeforeUnmount as x, provide as B, createElementBlock as ee, openBlock as T, normalizeClass as $, unref as t, createVNode as r, createBlock as te, createCommentVNode as oe, createSlots as re, withCtx as o, renderSlot as h, mergeProps as I } from "vue";
2
2
  import { VftButtonGroup as ne, VftButton as O } from "../button/index.js";
3
3
  import "../form/index.js";
4
4
  import { VftIcon as le } from "../icon/index.js";
5
- import ie from "../roving-focus-group/roving-focus-group.vue.js";
5
+ import ie from "../roving-focus-group/roving-focus-group.vue2.js";
6
6
  import "../roving-focus-group/roving-focus-group-impl.vue2.js";
7
7
  import "../roving-focus-group/roving-focus-item.vue2.js";
8
8
  import "../roving-focus-group/types.js";
@@ -12,9 +12,9 @@ import { OnlyChild as se } from "../slot/only-child.js";
12
12
  import { VftTooltip as pe } from "../tooltip/index.js";
13
13
  import "@vueuse/core";
14
14
  import { isArray as de } from "@vft/utils";
15
- import { addUnit as ue } from "../../utils/helper.js";
15
+ import { addUnit as fe } from "../../utils/helper.js";
16
16
  import "lodash-es";
17
- import { useId as fe } from "../../hooks/use-id/index.js";
17
+ import { useId as ue } from "../../hooks/use-id/index.js";
18
18
  import { useNamespace as me } from "../../hooks/use-namespace/index.js";
19
19
  import "../../hooks/use-model-toggle/index.js";
20
20
  import "@popperjs/core";
@@ -22,9 +22,9 @@ import "../../hooks/use-z-index/index.js";
22
22
  import { DROPDOWN_INJECTION_KEY as ce } from "./tokens.js";
23
23
  import { VftCollection as ve } from "./types.js";
24
24
  import { useFormSize as ge } from "../form/hooks/use-form-common-props.js";
25
- const be = R({
25
+ const be = S({
26
26
  name: "vft-dropdown"
27
- }), Ge = /* @__PURE__ */ R({
27
+ }), Ge = /* @__PURE__ */ S({
28
28
  ...be,
29
29
  props: {
30
30
  trigger: { default: "hover" },
@@ -48,14 +48,14 @@ const be = R({
48
48
  teleported: { type: Boolean, default: !0 }
49
49
  },
50
50
  emits: ["visible-change", "command", "click"],
51
- setup(S, { expose: z, emit: L }) {
52
- const n = me("dropdown"), a = S, p = L, V = Z(), l = i(), w = i(), f = i(null), s = i(null), N = i(null), m = i(null), C = i(!1), D = [y.enter, y.space, y.down], H = g(() => ({
53
- maxHeight: ue(a.maxHeight)
54
- })), P = fe().value, c = g(() => a.id || P);
51
+ setup(z, { expose: R, emit: L }) {
52
+ const n = me("dropdown"), a = z, p = L, V = Z(), l = i(), w = i(), u = i(null), s = i(null), N = i(null), m = i(null), C = i(!1), D = [y.enter, y.space, y.down], H = g(() => ({
53
+ maxHeight: fe(a.maxHeight)
54
+ })), P = ue().value, c = g(() => a.id || P);
55
55
  _(
56
56
  [l, b(a, "trigger")],
57
- ([e, u], [E]) => {
58
- const X = de(u) ? u : [u];
57
+ ([e, f], [E]) => {
58
+ const X = de(f) ? f : [f];
59
59
  E?.$el?.removeEventListener && E.$el.removeEventListener(
60
60
  "pointerenter",
61
61
  d
@@ -74,14 +74,14 @@ const be = R({
74
74
  d
75
75
  );
76
76
  });
77
- function F() {
77
+ function A() {
78
78
  k();
79
79
  }
80
80
  function k() {
81
- f.value?.onClose();
81
+ u.value?.onClose();
82
82
  }
83
- function A() {
84
- f.value?.onOpen();
83
+ function F() {
84
+ u.value?.onOpen();
85
85
  }
86
86
  const v = ge();
87
87
  function K(...e) {
@@ -120,7 +120,7 @@ const be = R({
120
120
  }), B("elDropdown", {
121
121
  instance: V,
122
122
  dropdownSize: v,
123
- handleClick: F,
123
+ handleClick: A,
124
124
  commandHandler: K,
125
125
  trigger: b(a, "trigger"),
126
126
  hideOnClick: b(a, "hideOnClick")
@@ -132,17 +132,17 @@ const be = R({
132
132
  }, Q = (e) => {
133
133
  p("click", e);
134
134
  };
135
- return z({
135
+ return R({
136
136
  handleClose: k,
137
- handleOpen: A,
137
+ handleOpen: F,
138
138
  // Todo
139
139
  onFocusAfterTrapped: q
140
- }), (e, u) => (T(), ee("div", {
140
+ }), (e, f) => (T(), ee("div", {
141
141
  class: $([t(n).b(), t(n).is("disabled", e.disabled)])
142
142
  }, [
143
143
  r(t(pe), {
144
144
  ref_key: "popperRef",
145
- ref: f,
145
+ ref: u,
146
146
  role: e.role,
147
147
  effect: e.effect,
148
148
  "fallback-placements": ["bottom", "top"],
@@ -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 ye } 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 ot } 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 ot } from "../form/hooks/use-form-common-props.js";
18
18
  const nt = ["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 nt = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "rea
85
85
  o.is("focus", v.value)
86
86
  ]), d = Ze({
87
87
  excludeKeys: l(() => Object.keys(X.value))
88
- }), { form: Ce, formItem: F } = at(), { inputId: Y } = ot(xe.props, {
88
+ }), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
89
89
  formItemContext: F
90
- }), ke = et(), h = tt(), o = pe("input"), Z = pe("textarea"), M = H(), b = H(), v = S(!1), N = S(!1), C = S(!1), K = S(!1), _ = S(), O = H(e.inputStyle), k = l(() => M.value || b.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(), h = ot(), o = pe("input"), Z = pe("textarea"), M = H(), b = H(), v = S(!1), N = S(!1), C = S(!1), K = S(!1), _ = S(), O = H(e.inputStyle), k = l(() => M.value || b.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,23 +1,23 @@
1
- import t from "./roving-focus-group.vue.js";
1
+ import t from "./roving-focus-group.vue2.js";
2
2
  import { default as I } from "./roving-focus-group-impl.vue.js";
3
- import { default as C } from "./roving-focus-item.vue.js";
4
- import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as _, ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as l, VftCollection as s, VftCollectionItem as u, VftCollection as c, VftCollectionItem as N } from "./types.js";
5
- import { ROVING_FOCUS_GROUP_INJECTION_KEY as n, ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY as V } from "./tokens.js";
6
- import { focusFirst as p, getFocusIntent as E, reorderArray as F } from "./utils.js";
3
+ import { default as _ } from "./roving-focus-item.vue.js";
4
+ import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as O, ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY as l, VftCollection as s, VftCollectionItem as c, VftCollection as N, VftCollectionItem as i } from "./types.js";
5
+ import { ROVING_FOCUS_GROUP_INJECTION_KEY as n, ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY as u } from "./tokens.js";
6
+ import { focusFirst as E, getFocusIntent as a, reorderArray as p } from "./utils.js";
7
7
  export {
8
- _ as ROVING_FOCUS_COLLECTION_INJECTION_KEY,
8
+ O as ROVING_FOCUS_COLLECTION_INJECTION_KEY,
9
9
  n as ROVING_FOCUS_GROUP_INJECTION_KEY,
10
- V as ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,
10
+ u as ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,
11
11
  l as ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,
12
12
  s as VftCollection,
13
- u as VftCollectionItem,
14
- c as VftFocusGroupCollection,
15
- N as VftRovingFocusCollectionItem,
13
+ c as VftCollectionItem,
14
+ N as VftFocusGroupCollection,
15
+ i as VftRovingFocusCollectionItem,
16
16
  t as VftRovingFocusGroup,
17
17
  I as VftRovingFocusGroupImpl,
18
- C as VftRovingFocusItem,
18
+ _ as VftRovingFocusItem,
19
19
  t as default,
20
- p as focusFirst,
21
- E as getFocusIntent,
22
- F as reorderArray
20
+ E as focusFirst,
21
+ a as getFocusIntent,
22
+ p as reorderArray
23
23
  };
@@ -0,0 +1,11 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
5
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
+ export default _default;
7
+ type __VLS_WithTemplateSlots<T, S> = T & {
8
+ new (): {
9
+ $slots: S;
10
+ };
11
+ };
@@ -1,21 +1,4 @@
1
- import c from "./roving-focus-group.vue2.js";
2
- import { resolveComponent as r, createBlock as p, openBlock as s, withCtx as e, createVNode as u, normalizeProps as l, guardReactiveProps as _, renderSlot as i } from "vue";
3
- import a from "../../_virtual/_plugin-vue_export-helper.js";
4
- function f(o, m, d, g, $, v) {
5
- const t = r("roving-focus-group-impl"), n = r("focus-group-collection");
6
- return s(), p(n, null, {
7
- default: e(() => [
8
- u(t, l(_(o.$attrs)), {
9
- default: e(() => [
10
- i(o.$slots, "default")
11
- ]),
12
- _: 3
13
- }, 16)
14
- ]),
15
- _: 3
16
- });
17
- }
18
- const B = /* @__PURE__ */ a(c, [["render", f]]);
1
+ import f from "./roving-focus-group.vue2.js";
19
2
  export {
20
- B as default
3
+ f as default
21
4
  };
@@ -1,13 +1,27 @@
1
- import { defineComponent as o } from "vue";
2
- import n from "./roving-focus-group-impl.vue.js";
3
- import { VftCollection as t } from "./types.js";
4
- const e = o({
1
+ import { defineComponent as t, createBlock as n, openBlock as l, unref as u, withCtx as e, createVNode as c, normalizeProps as p, guardReactiveProps as a, renderSlot as s } from "vue";
2
+ import f from "./roving-focus-group-impl.vue.js";
3
+ import { VftCollection as r } from "./types.js";
4
+ const i = t({
5
5
  name: "VftRovingFocusGroup",
6
6
  components: {
7
- FocusGroupCollection: t,
8
- RovingFocusGroupImpl: n
7
+ "focus-group-collection": r
8
+ }
9
+ }), C = /* @__PURE__ */ t({
10
+ ...i,
11
+ setup(m) {
12
+ return (o, _) => (l(), n(u(r), null, {
13
+ default: e(() => [
14
+ c(f, p(a(o.$attrs)), {
15
+ default: e(() => [
16
+ s(o.$slots, "default")
17
+ ]),
18
+ _: 3
19
+ }, 16)
20
+ ]),
21
+ _: 3
22
+ }));
9
23
  }
10
24
  });
11
25
  export {
12
- e as default
26
+ C as default
13
27
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as $, computed as v, ref as ee, unref as u, useSlots as te, createVNode as f, mergeProps as L, withDirectives as re, vShow as ne, isVNode as oe, createTextVNode as G, resolveComponent as q } from "vue";
1
+ import { defineComponent as $, computed as v, ref as ee, unref as u, useSlots as te, createVNode as f, mergeProps as L, withDirectives as re, vShow as ne, createTextVNode as G, isVNode as oe, resolveComponent as q } from "vue";
2
2
  import { VftCol as J } from "../col/index.js";
3
3
  import { VftDivider as le } from "../divider/index.js";
4
4
  import { VftFormItem as se } from "../form/index.js";
@@ -1,5 +1,5 @@
1
1
  import { isNumber as n } from "@vft/utils";
2
- import { FormCompEnum as e, isInput as u } from "../component-map.js";
2
+ import { isInput as u, FormCompEnum as e } from "../component-map.js";
3
3
  function T(r, E = "") {
4
4
  return E = (E || "").replace(":", "") || "", [
5
5
  e.INPUT,
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.344",
3
+ "version": "0.0.345",
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.344";
1
+ const o = "0.0.345";
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"),c=require("../button/index.cjs");require("../form/index.cjs");const A=require("../icon/index.cjs"),K=require("../roving-focus-group/roving-focus-group.vue.cjs");require("../roving-focus-group/roving-focus-group-impl.vue2.cjs");require("../roving-focus-group/roving-focus-item.vue2.cjs");require("../roving-focus-group/types.cjs");const m=require("../../constants/aria.cjs"),M=require("../scrollbar/index.cjs"),U=require("../slot/only-child.cjs"),G=require("../tooltip/index.cjs");require("@vueuse/core");const j=require("@vft/utils"),x=require("../../utils/helper.cjs");require("lodash-es");const J=require("../../hooks/use-id/index.cjs"),W=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Y=require("./tokens.cjs"),Q=require("./types.cjs"),X=require("../form/hooks/use-form-common-props.cjs"),Z=e.defineComponent({name:"vft-dropdown"}),_=e.defineComponent({...Z,props:{trigger:{default:"hover"},effect:{default:"light"},type:{},placement:{default:"bottom"},popperOptions:{},id:{},size:{},splitButton:{type:Boolean},hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{default:150},hideTimeout:{default:150},tabindex:{default:0},maxHeight:{default:""},popperClass:{default:""},disabled:{type:Boolean,default:!1},role:{default:"menu"},buttonProps:{},teleported:{type:Boolean,default:!0}},emits:["visible-change","command","click"],setup(C,{expose:y,emit:w}){const r=W.useNamespace("dropdown"),o=C,l=w,E=e.getCurrentInstance(),n=e.ref(),v=e.ref(),s=e.ref(null),i=e.ref(null),q=e.ref(null),d=e.ref(null),g=e.ref(!1),k=[m.EVENT_CODE.enter,m.EVENT_CODE.space,m.EVENT_CODE.down],B=e.computed(()=>({maxHeight:x.addUnit(o.maxHeight)})),V=J.useId().value,f=e.computed(()=>o.id||V);e.watch([n,e.toRef(o,"trigger")],([t,u],[b])=>{const H=j.isArray(u)?u:[u];b?.$el?.removeEventListener&&b.$el.removeEventListener("pointerenter",a),t?.$el?.removeEventListener&&t.$el.removeEventListener("pointerenter",a),t?.$el?.addEventListener&&H.includes("hover")&&t.$el.addEventListener("pointerenter",a)},{immediate:!0}),e.onBeforeUnmount(()=>{n.value?.$el?.removeEventListener&&n.value.$el.removeEventListener("pointerenter",a)});function $(){h()}function h(){s.value?.onClose()}function T(){s.value?.onOpen()}const p=X.useFormSize();function N(...t){l("command",...t)}function a(){n.value?.$el?.focus()}function O(){}function S(){e.unref(i)?.focus(),d.value=null}function I(t){d.value=t}function R(t){g.value||(t.preventDefault(),t.stopImmediatePropagation())}function z(){l("visible-change",!0)}function L(t){t?.type==="keydown"&&i.value?.focus()}function P(){l("visible-change",!1)}e.provide(Y.DROPDOWN_INJECTION_KEY,{contentRef:i,role:e.computed(()=>o.role),triggerId:f,isUsingKeyboard:g,onItemEnter:O,onItemLeave:S}),e.provide("elDropdown",{instance:E,dropdownSize:p,handleClick:$,commandHandler:N,trigger:e.toRef(o,"trigger"),hideOnClick:e.toRef(o,"hideOnClick")});const D=t=>{t.preventDefault(),i.value?.focus?.({preventScroll:!0})},F=t=>{l("click",t)};return y({handleClose:h,handleOpen:T,onFocusAfterTrapped:D}),(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(r).b(),e.unref(r).is("disabled",t.disabled)])},[e.createVNode(e.unref(G.VftTooltip),{ref_key:"popperRef",ref:s,role:t.role,effect:t.effect,"fallback-placements":["bottom","top"],"popper-options":t.popperOptions,"gpu-acceleration":!1,"hide-after":t.trigger==="hover"?t.hideTimeout:0,"manual-mode":!0,placement:t.placement,"popper-class":[e.unref(r).e("popper"),t.popperClass],"reference-element":v.value?.$el,trigger:t.trigger,"trigger-keys":k,"trigger-target-el":i.value,"show-after":t.trigger==="hover"?t.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":n.value,"virtual-triggering":t.splitButton,disabled:t.disabled,transition:`${e.unref(r).namespace.value}-zoom-in-top`,teleported:t.teleported,pure:"",persistent:"",onBeforeShow:z,onShow:L,onBeforeHide:P},e.createSlots({content:e.withCtx(()=>[e.createVNode(e.unref(M.VftScrollbar),{ref_key:"scrollbar",ref:q,"wrap-style":B.value,tag:"div","view-class":[e.unref(r).e("list"),"test"]},{default:e.withCtx(()=>[e.createVNode(e.unref(K.default),{loop:t.loop,"current-tab-id":d.value,orientation:"horizontal",onCurrentTabIdChange:I,onEntryFocus:R},{default:e.withCtx(()=>[e.createVNode(e.unref(Q.VftCollection),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id"])]),_:3},8,["wrap-style","view-class"])]),_:2},[t.splitButton?void 0:{name:"default",fn:e.withCtx(()=>[e.createVNode(e.unref(U.OnlyChild),{id:f.value,ref_key:"triggeringElementRef",ref:n,role:"button",tabindex:t.tabindex},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported"]),t.splitButton?(e.openBlock(),e.createBlock(e.unref(c.VftButtonGroup),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(c.VftButton),e.mergeProps({ref_key:"referenceElementRef",ref:v},t.buttonProps,{size:e.unref(p),type:t.type,disabled:t.disabled,tabindex:t.tabindex,onClick:F}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16,["size","type","disabled","tabindex"]),e.createVNode(e.unref(c.VftButton),e.mergeProps({id:f.value,ref_key:"triggeringElementRef",ref:n},t.buttonProps,{role:"button",size:e.unref(p),type:t.type,class:e.unref(r).e("caret-button"),disabled:t.disabled,tabindex:t.tabindex,"aria-label":"切换下拉菜单"}),{default:e.withCtx(()=>[e.createVNode(e.unref(A.VftIcon),{class:e.normalizeClass(e.unref(r).e("icon")),icon:"icon-arrow-down"},null,8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex"])]),_:3})):e.createCommentVNode("",!0)],2))}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("../button/index.cjs");require("../form/index.cjs");const H=require("../icon/index.cjs"),A=require("../roving-focus-group/roving-focus-group.vue2.cjs");require("../roving-focus-group/roving-focus-group-impl.vue2.cjs");require("../roving-focus-group/roving-focus-item.vue2.cjs");require("../roving-focus-group/types.cjs");const m=require("../../constants/aria.cjs"),K=require("../scrollbar/index.cjs"),M=require("../slot/only-child.cjs"),U=require("../tooltip/index.cjs");require("@vueuse/core");const G=require("@vft/utils"),j=require("../../utils/helper.cjs");require("lodash-es");const x=require("../../hooks/use-id/index.cjs"),J=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const W=require("./tokens.cjs"),Y=require("./types.cjs"),Q=require("../form/hooks/use-form-common-props.cjs"),X=e.defineComponent({name:"vft-dropdown"}),Z=e.defineComponent({...X,props:{trigger:{default:"hover"},effect:{default:"light"},type:{},placement:{default:"bottom"},popperOptions:{},id:{},size:{},splitButton:{type:Boolean},hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{default:150},hideTimeout:{default:150},tabindex:{default:0},maxHeight:{default:""},popperClass:{default:""},disabled:{type:Boolean,default:!1},role:{default:"menu"},buttonProps:{},teleported:{type:Boolean,default:!0}},emits:["visible-change","command","click"],setup(C,{expose:y,emit:w}){const r=J.useNamespace("dropdown"),o=C,l=w,E=e.getCurrentInstance(),n=e.ref(),v=e.ref(),s=e.ref(null),i=e.ref(null),q=e.ref(null),d=e.ref(null),g=e.ref(!1),k=[m.EVENT_CODE.enter,m.EVENT_CODE.space,m.EVENT_CODE.down],B=e.computed(()=>({maxHeight:j.addUnit(o.maxHeight)})),V=x.useId().value,f=e.computed(()=>o.id||V);e.watch([n,e.toRef(o,"trigger")],([t,u],[b])=>{const F=G.isArray(u)?u:[u];b?.$el?.removeEventListener&&b.$el.removeEventListener("pointerenter",a),t?.$el?.removeEventListener&&t.$el.removeEventListener("pointerenter",a),t?.$el?.addEventListener&&F.includes("hover")&&t.$el.addEventListener("pointerenter",a)},{immediate:!0}),e.onBeforeUnmount(()=>{n.value?.$el?.removeEventListener&&n.value.$el.removeEventListener("pointerenter",a)});function $(){h()}function h(){s.value?.onClose()}function T(){s.value?.onOpen()}const p=Q.useFormSize();function N(...t){l("command",...t)}function a(){n.value?.$el?.focus()}function O(){}function S(){e.unref(i)?.focus(),d.value=null}function I(t){d.value=t}function R(t){g.value||(t.preventDefault(),t.stopImmediatePropagation())}function z(){l("visible-change",!0)}function L(t){t?.type==="keydown"&&i.value?.focus()}function P(){l("visible-change",!1)}e.provide(W.DROPDOWN_INJECTION_KEY,{contentRef:i,role:e.computed(()=>o.role),triggerId:f,isUsingKeyboard:g,onItemEnter:O,onItemLeave:S}),e.provide("elDropdown",{instance:E,dropdownSize:p,handleClick:$,commandHandler:N,trigger:e.toRef(o,"trigger"),hideOnClick:e.toRef(o,"hideOnClick")});const D=t=>{t.preventDefault(),i.value?.focus?.({preventScroll:!0})},_=t=>{l("click",t)};return y({handleClose:h,handleOpen:T,onFocusAfterTrapped:D}),(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(r).b(),e.unref(r).is("disabled",t.disabled)])},[e.createVNode(e.unref(U.VftTooltip),{ref_key:"popperRef",ref:s,role:t.role,effect:t.effect,"fallback-placements":["bottom","top"],"popper-options":t.popperOptions,"gpu-acceleration":!1,"hide-after":t.trigger==="hover"?t.hideTimeout:0,"manual-mode":!0,placement:t.placement,"popper-class":[e.unref(r).e("popper"),t.popperClass],"reference-element":v.value?.$el,trigger:t.trigger,"trigger-keys":k,"trigger-target-el":i.value,"show-after":t.trigger==="hover"?t.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":n.value,"virtual-triggering":t.splitButton,disabled:t.disabled,transition:`${e.unref(r).namespace.value}-zoom-in-top`,teleported:t.teleported,pure:"",persistent:"",onBeforeShow:z,onShow:L,onBeforeHide:P},e.createSlots({content:e.withCtx(()=>[e.createVNode(e.unref(K.VftScrollbar),{ref_key:"scrollbar",ref:q,"wrap-style":B.value,tag:"div","view-class":[e.unref(r).e("list"),"test"]},{default:e.withCtx(()=>[e.createVNode(e.unref(A.default),{loop:t.loop,"current-tab-id":d.value,orientation:"horizontal",onCurrentTabIdChange:I,onEntryFocus:R},{default:e.withCtx(()=>[e.createVNode(e.unref(Y.VftCollection),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id"])]),_:3},8,["wrap-style","view-class"])]),_:2},[t.splitButton?void 0:{name:"default",fn:e.withCtx(()=>[e.createVNode(e.unref(M.OnlyChild),{id:f.value,ref_key:"triggeringElementRef",ref:n,role:"button",tabindex:t.tabindex},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported"]),t.splitButton?(e.openBlock(),e.createBlock(e.unref(c.VftButtonGroup),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(c.VftButton),e.mergeProps({ref_key:"referenceElementRef",ref:v},t.buttonProps,{size:e.unref(p),type:t.type,disabled:t.disabled,tabindex:t.tabindex,onClick:_}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16,["size","type","disabled","tabindex"]),e.createVNode(e.unref(c.VftButton),e.mergeProps({id:f.value,ref_key:"triggeringElementRef",ref:n},t.buttonProps,{role:"button",size:e.unref(p),type:t.type,class:e.unref(r).e("caret-button"),disabled:t.disabled,tabindex:t.tabindex,"aria-label":"切换下拉菜单"}),{default:e.withCtx(()=>[e.createVNode(e.unref(H.VftIcon),{class:e.normalizeClass(e.unref(r).e("icon")),icon:"icon-arrow-down"},null,8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex"])]),_:3})):e.createCommentVNode("",!0)],2))}});exports.default=Z;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-common-props.cjs"),oe=require("../form/hooks/use-form-item.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:F}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),m=te.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-item.cjs"),oe=require("../form/hooks/use-form-common-props.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:F}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),m=oe.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./roving-focus-group.vue.cjs"),_=require("./roving-focus-group-impl.vue.cjs"),r=require("./roving-focus-item.vue.cjs"),o=require("./types.cjs"),I=require("./tokens.cjs"),t=require("./utils.cjs");exports.VftRovingFocusGroup=e.default;exports.default=e.default;exports.VftRovingFocusGroupImpl=_.default;exports.VftRovingFocusItem=r.default;exports.ROVING_FOCUS_COLLECTION_INJECTION_KEY=o.ROVING_FOCUS_COLLECTION_INJECTION_KEY;exports.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY=o.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY;exports.VftCollection=o.VftCollection;exports.VftCollectionItem=o.VftCollectionItem;exports.VftFocusGroupCollection=o.VftCollection;exports.VftRovingFocusCollectionItem=o.VftCollectionItem;exports.ROVING_FOCUS_GROUP_INJECTION_KEY=I.ROVING_FOCUS_GROUP_INJECTION_KEY;exports.ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY=I.ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY;exports.focusFirst=t.focusFirst;exports.getFocusIntent=t.getFocusIntent;exports.reorderArray=t.reorderArray;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./roving-focus-group.vue2.cjs"),I=require("./roving-focus-group-impl.vue.cjs"),r=require("./roving-focus-item.vue.cjs"),e=require("./types.cjs"),_=require("./tokens.cjs"),t=require("./utils.cjs");exports.VftRovingFocusGroup=o.default;exports.default=o.default;exports.VftRovingFocusGroupImpl=I.default;exports.VftRovingFocusItem=r.default;exports.ROVING_FOCUS_COLLECTION_INJECTION_KEY=e.ROVING_FOCUS_COLLECTION_INJECTION_KEY;exports.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY=e.ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY;exports.VftCollection=e.VftCollection;exports.VftCollectionItem=e.VftCollectionItem;exports.VftFocusGroupCollection=e.VftCollection;exports.VftRovingFocusCollectionItem=e.VftCollectionItem;exports.ROVING_FOCUS_GROUP_INJECTION_KEY=_.ROVING_FOCUS_GROUP_INJECTION_KEY;exports.ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY=_.ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY;exports.focusFirst=t.focusFirst;exports.getFocusIntent=t.getFocusIntent;exports.reorderArray=t.reorderArray;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./roving-focus-group.vue2.cjs"),e=require("vue"),n=require("../../_virtual/_plugin-vue_export-helper.cjs");function c(o,s,p,i,_,a){const t=e.resolveComponent("roving-focus-group-impl"),r=e.resolveComponent("focus-group-collection");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(t,e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16)]),_:3})}const l=n.default(u.default,[["render",c]]);exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./roving-focus-group.vue2.cjs");exports.default=e.default;
@@ -0,0 +1,11 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
5
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
+ export default _default;
7
+ type __VLS_WithTemplateSlots<T, S> = T & {
8
+ new (): {
9
+ $slots: S;
10
+ };
11
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./roving-focus-group-impl.vue.cjs"),t=require("./types.cjs"),u=e.defineComponent({name:"VftRovingFocusGroup",components:{FocusGroupCollection:t.VftCollection,RovingFocusGroupImpl:o.default}});exports.default=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("./roving-focus-group-impl.vue.cjs"),o=require("./types.cjs"),n=e.defineComponent({name:"VftRovingFocusGroup",components:{"focus-group-collection":o.VftCollection}}),u=e.defineComponent({...n,setup(l){return(t,c)=>(e.openBlock(),e.createBlock(e.unref(o.VftCollection),null,{default:e.withCtx(()=>[e.createVNode(r.default,e.normalizeProps(e.guardReactiveProps(t.$attrs)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)]),_:3}))}});exports.default=u;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.344";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.345";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.344",
3
+ "version": "0.0.345",
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.344",
3
+ "version": "0.0.345",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -55,12 +55,12 @@
55
55
  "resize-detector": "0.3.0",
56
56
  "sortablejs": "1.15.0",
57
57
  "photoswipe": "5.4.4",
58
+ "@vft/router": "0.0.65",
59
+ "@vft/store": "0.0.54",
58
60
  "@vft/constants": "0.0.72",
59
61
  "@vft/use": "0.0.76",
60
62
  "@vft/utils": "0.0.128",
61
- "@vft/directives": "0.0.33",
62
- "@vft/store": "0.0.54",
63
- "@vft/router": "0.0.65"
63
+ "@vft/directives": "0.0.33"
64
64
  },
65
65
  "vetur": {
66
66
  "tags": "tags.json",
package/web-types.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.344","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}
1
+ {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.345","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}