vft 0.0.281 → 0.0.282

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 { carouselContextKey as ge, CAROUSEL_ITEM_NAME as H } from "./constants.js";
13
+ import { CAROUSEL_ITEM_NAME as H, carouselContextKey as ge } from "./constants.js";
14
14
  const L = 300, _e = (t, O, M) => {
15
15
  const {
16
16
  children: o,
@@ -13,8 +13,8 @@ import "../../hooks/use-model-toggle/index.js";
13
13
  import "@popperjs/core";
14
14
  import "../../hooks/use-z-index/index.js";
15
15
  import { calcTextareaHeight as ye } from "./utils.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";
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";
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", h.value)
86
86
  ]), d = Je({
87
87
  excludeKeys: l(() => Object.keys(X.value))
88
- }), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
88
+ }), { form: Ce, formItem: F } = at(), { inputId: Y } = ot(xe.props, {
89
89
  formItemContext: F
90
- }), ke = at(), p = ot(), o = pe("input"), Z = pe("textarea"), K = H(), y = H(), h = S(!1), D = S(!1), g = S(!1), M = S(!1), _ = S(), O = H(e.inputStyle), C = l(() => K.value || y.value), T = l(() => J(e.prefixIcon, "icon", { size: 16 })), ee = l(() => J(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => J(e.clearIcon, "icon", {
90
+ }), ke = et(), p = tt(), o = pe("input"), Z = pe("textarea"), K = H(), y = H(), h = S(!1), D = S(!1), g = S(!1), M = S(!1), _ = S(), O = H(e.inputStyle), C = l(() => K.value || y.value), T = l(() => J(e.prefixIcon, "icon", { size: 16 })), ee = l(() => J(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => J(e.clearIcon, "icon", {
91
91
  icon: "icon-circle-close",
92
92
  size: 16
93
93
  })), te = l(() => Ce?.statusIcon ?? !1), k = l(() => F?.validateState || ""), ae = l(
@@ -1,25 +1,25 @@
1
- import { defineComponent as U, useAttrs as ne, reactive as le, ref as i, computed as B, unref as o, watch as h, nextTick as se, useSlots as re, createBlock as r, createCommentVNode as H, openBlock as s, mergeProps as y, withKeys as ue, withCtx as v, renderSlot as O, normalizeProps as z, createElementBlock as ie, Fragment as me, renderList as K, createSlots as fe, resolveDynamicComponent as A, h as ce } from "vue";
2
- import { VftCol as pe } from "../col/index.js";
3
- import { VftForm as de } from "../form/index.js";
4
- import { VftRow as Be } from "../row/index.js";
5
- import { useTimeoutFn as he, useDebounceFn as ye } from "@vueuse/core";
6
- import { cloneDeep as ve, isEqual as ge, pick as be, deepMerge as Fe } from "@vft/utils";
1
+ import { defineComponent as U, useAttrs as ne, reactive as se, ref as i, computed as B, unref as o, watch as h, nextTick as le, useSlots as re, createBlock as r, createCommentVNode as H, openBlock as l, mergeProps as y, withKeys as ue, withModifiers as ie, withCtx as v, renderSlot as O, normalizeProps as z, createElementBlock as me, Fragment as fe, renderList as K, createSlots as pe, resolveDynamicComponent as A, h as ce } from "vue";
2
+ import { VftCol as de } from "../col/index.js";
3
+ import { VftForm as Be } from "../form/index.js";
4
+ import { VftRow as he } from "../row/index.js";
5
+ import { useTimeoutFn as ye, useDebounceFn as ve } from "@vueuse/core";
6
+ import { cloneDeep as ge, isEqual as be, pick as Fe, deepMerge as we } from "@vft/utils";
7
7
  import "../../utils/ns-cover.js";
8
8
  import "lodash-es";
9
- import { useNamespace as we } from "../../hooks/use-namespace/index.js";
9
+ import { useNamespace as Se } from "../../hooks/use-namespace/index.js";
10
10
  import "../../hooks/use-model-toggle/index.js";
11
11
  import "@popperjs/core";
12
12
  import "../../hooks/use-z-index/index.js";
13
13
  import Ce from "./super-form-action.vue2.js";
14
- import Se from "./super-form-item.vue2.js";
15
- import { useAutoFocus as ke } from "./use/use-auto-focus.js";
16
- import { createFormContext as Re } from "./use/use-form-context.js";
17
- import { useFormEvents as Oe } from "./use/use-form-events.js";
18
- import { useFormValues as Ae } from "./use/use-form-values.js";
19
- const Pe = U({
14
+ import ke from "./super-form-item.vue2.js";
15
+ import { useAutoFocus as Re } from "./use/use-auto-focus.js";
16
+ import { createFormContext as Oe } from "./use/use-form-context.js";
17
+ import { useFormEvents as Ae } from "./use/use-form-events.js";
18
+ import { useFormValues as Pe } from "./use/use-form-values.js";
19
+ const Ee = U({
20
20
  name: "vft-super-form"
21
- }), je = /* @__PURE__ */ U({
22
- ...Pe,
21
+ }), Je = /* @__PURE__ */ U({
22
+ ...Ee,
23
23
  props: {
24
24
  size: {
25
25
  default: "default"
@@ -147,58 +147,58 @@ const Pe = U({
147
147
  expose: j,
148
148
  emit: J
149
149
  }) {
150
- const Q = we("super-form"), P = W, E = J, X = ne(), u = le({}), g = i({}), c = i(!1), p = i({}), V = i(), b = i(null), _ = i(), t = B(() => ({
150
+ const Q = Se("super-form"), P = W, E = J, X = ne(), u = se({}), g = i({}), p = i(!1), c = i({}), V = i(), b = i(null), I = i(), t = B(() => ({
151
151
  ...P,
152
- ...o(p)
152
+ ...o(c)
153
153
  })), m = B(() => ({
154
154
  ...X,
155
155
  ...P,
156
156
  ...o(t)
157
- })), l = B(() => {
157
+ })), s = B(() => {
158
158
  const e = o(V);
159
- return ve(e);
159
+ return ge(e);
160
160
  }), {
161
161
  handleFormValues: Y,
162
- initDefault: I
163
- } = Ae({
162
+ initDefault: _
163
+ } = Pe({
164
164
  getProps: t,
165
165
  defaultValueRef: g,
166
- getSchema: l,
166
+ getSchema: s,
167
167
  formModel: u
168
168
  });
169
- ke({
170
- getSchema: l,
169
+ Re({
170
+ getSchema: s,
171
171
  getProps: t,
172
- isInitedDefault: c,
172
+ isInitedDefault: p,
173
173
  formElRef: b
174
174
  });
175
175
  const {
176
176
  handleSubmit: f,
177
177
  setFieldsValue: F,
178
- clearValidate: D,
179
- validate: M,
178
+ clearValidate: M,
179
+ validate: D,
180
180
  validateField: T,
181
181
  getFieldsValue: w,
182
- updateSchema: C,
182
+ updateSchema: S,
183
183
  resetSchema: d,
184
184
  appendSchemaByField: q,
185
185
  removeSchemaByField: $,
186
- resetFields: S,
186
+ resetFields: C,
187
187
  scrollToField: Z,
188
188
  getFieldValue: L
189
- } = Oe({
189
+ } = Ae({
190
190
  emit: E,
191
191
  getProps: t,
192
192
  formModel: u,
193
- getSchema: l,
193
+ getSchema: s,
194
194
  defaultValueRef: g,
195
195
  formElRef: b,
196
196
  schemaRef: V,
197
197
  handleFormValues: Y,
198
- initValues: _
198
+ initValues: I
199
199
  });
200
- Re({
201
- resetAction: S,
200
+ Oe({
201
+ resetAction: C,
202
202
  submitAction: f
203
203
  }), h(() => o(t).model, () => {
204
204
  const {
@@ -208,19 +208,19 @@ const Pe = U({
208
208
  }, {
209
209
  immediate: !0
210
210
  }), h(() => o(t).schemas, (e, a) => {
211
- ge(e, a) || d(e ?? []);
212
- }), h(() => l.value, (e) => {
213
- se(() => {
214
- }), !o(c) && e?.length && (I(), c.value = !0, t.value?.watchDataIsChange && he(() => {
215
- _.value = w();
211
+ be(e, a) || d(e ?? []);
212
+ }), h(() => s.value, (e) => {
213
+ le(() => {
214
+ }), !o(p) && e?.length && (_(), p.value = !0, t.value?.watchDataIsChange && ye(() => {
215
+ I.value = w();
216
216
  }, 40));
217
- }), h(() => u, ye(() => {
217
+ }), h(() => u, ve(() => {
218
218
  o(t).submitOnChange && f();
219
219
  }, 300), {
220
220
  deep: !0
221
221
  });
222
222
  async function N(e) {
223
- p.value = Fe(o(p) || {}, e), c.value || (d(p.value?.schemas ?? []), I());
223
+ c.value = we(o(c) || {}, e), p.value || (d(c.value?.schemas ?? []), _());
224
224
  }
225
225
  function ee(e, a, n) {
226
226
  u[e] = a, n && n.itemProps;
@@ -238,20 +238,20 @@ const Pe = U({
238
238
  getFieldsValue: w,
239
239
  getFieldValue: L,
240
240
  setFieldsValue: F,
241
- resetFields: S,
242
- updateSchema: C,
241
+ resetFields: C,
242
+ updateSchema: S,
243
243
  resetSchema: d,
244
244
  setProps: N,
245
245
  removeSchemaByField: $,
246
246
  appendSchemaByField: q,
247
- clearValidate: D,
247
+ clearValidate: M,
248
248
  validateField: T,
249
- validate: M,
249
+ validate: D,
250
250
  submit: f,
251
251
  scrollToField: Z
252
252
  };
253
253
  E("register", G);
254
- const oe = B(() => be(t.value, ["showResetButton", "showCommonButton", "showSubmitButton", "resetButtonOptions", "submitButtonOptions", "commonButtonOptions", "actionRowOptions", "actionSpan"])), k = re(), R = (e) => e ? ce(Ce, oe.value, {
254
+ const oe = B(() => Fe(t.value, ["showResetButton", "showCommonButton", "showSubmitButton", "resetButtonOptions", "submitButtonOptions", "commonButtonOptions", "actionRowOptions", "actionSpan"])), k = re(), R = (e) => e ? ce(Ce, oe.value, {
255
255
  resetBefore: (a) => k.resetBefore?.(a),
256
256
  submitBefore: (a) => k.submitBefore?.(a),
257
257
  submitAfter: (a) => k.submitAfter?.(a)
@@ -260,30 +260,32 @@ const Pe = U({
260
260
  getFieldsValue: w,
261
261
  getFieldValue: L,
262
262
  setFieldsValue: F,
263
- resetFields: S,
264
- updateSchema: C,
263
+ resetFields: C,
264
+ updateSchema: S,
265
265
  resetSchema: d,
266
266
  setProps: N,
267
267
  removeSchemaByField: $,
268
268
  appendSchemaByField: q,
269
- clearValidate: D,
269
+ clearValidate: M,
270
270
  validateField: T,
271
- validate: M,
271
+ validate: D,
272
272
  submit: f,
273
- getSchema: l
274
- }), (e, a) => l.value?.length ? (s(), r(o(de), y({
273
+ getSchema: s
274
+ }), (e, a) => s.value?.length ? (l(), r(o(Be), y({
275
275
  key: 0
276
276
  }, m.value, {
277
277
  ref_key: "formElRef",
278
278
  ref: b,
279
279
  class: o(Q).b(),
280
280
  model: u,
281
+ onSubmit: a[0] || (a[0] = ie(() => {
282
+ }, ["prevent"])),
281
283
  onKeypress: ue(te, ["enter"])
282
284
  }), {
283
- default: v(() => [l.value?.length ? (s(), r(o(Be), z(y({
285
+ default: v(() => [s.value?.length ? (l(), r(o(he), z(y({
284
286
  key: 0
285
287
  }, m.value?.rowProps)), {
286
- default: v(() => [O(e.$slots, "formHeader"), (s(!0), ie(me, null, K(l.value, (n) => (s(), r(Se, {
288
+ default: v(() => [O(e.$slots, "formHeader"), (l(!0), me(fe, null, K(s.value, (n) => (l(), r(ke, {
287
289
  key: n.field,
288
290
  "form-action-type": G,
289
291
  schema: n,
@@ -291,31 +293,31 @@ const Pe = U({
291
293
  "all-default-values": g.value,
292
294
  "form-model": u,
293
295
  "set-form-model": ee,
294
- "update-schema": o(C)
295
- }, fe({
296
+ "update-schema": o(S)
297
+ }, pe({
296
298
  _: 2
297
299
  }, [K(Object.keys(e.$slots), (x) => ({
298
300
  name: x,
299
301
  fn: v((ae) => [O(e.$slots, x, y({
300
302
  ref_for: !0
301
303
  }, ae || {}))])
302
- }))]), 1032, ["schema", "form-props", "all-default-values", "form-model", "update-schema"]))), 128)), t.value?.customLayout ? (s(), r(A(R(t.value?.showActionButtonGroup && t.value?.actionInline)), {
304
+ }))]), 1032, ["schema", "form-props", "all-default-values", "form-model", "update-schema"]))), 128)), t.value?.customLayout ? (l(), r(A(R(t.value?.showActionButtonGroup && t.value?.actionInline)), {
303
305
  key: 1
304
- })) : (s(), r(o(pe), z(y({
306
+ })) : (l(), r(o(de), z(y({
305
307
  key: 0
306
308
  }, m.value?.quickColSpan ? {
307
309
  span: Math.ceil(24 / m.value?.quickColSpan),
308
310
  ...m.value?.baseColProps
309
311
  } : {})), {
310
- default: v(() => [(s(), r(A(R(t.value?.showActionButtonGroup && t.value?.actionInline))))]),
312
+ default: v(() => [(l(), r(A(R(t.value?.showActionButtonGroup && t.value?.actionInline))))]),
311
313
  _: 1
312
314
  }, 16))]),
313
315
  _: 3
314
- }, 16)) : H("", !0), (s(), r(A(R(t.value?.showActionButtonGroup && !t.value?.actionInline)))), O(e.$slots, "formFooter")]),
316
+ }, 16)) : H("", !0), (l(), r(A(R(t.value?.showActionButtonGroup && !t.value?.actionInline)))), O(e.$slots, "formFooter")]),
315
317
  _: 3
316
318
  }, 16, ["class", "model"])) : H("", !0);
317
319
  }
318
320
  });
319
321
  export {
320
- je as default
322
+ Je as default
321
323
  };
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.281",
3
+ "version": "0.0.282",
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.281";
1
+ const o = "0.0.282";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { hasOwn as m, camelize as N, isArray as E } from "@vft/utils";
1
+ import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
2
2
  import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
3
3
  import { debugWarn as O } from "../error.js";
4
4
  const R = "utils/vue/vnode";
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const 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:{[T.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,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.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},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:M}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),c=oe.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.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),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.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&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.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(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.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)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.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=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,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(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[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(b.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(M),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(c),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(k=>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||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.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(b.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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.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),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.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(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),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),f.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"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const 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:{[T.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,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.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},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:M}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),c=te.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.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),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.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&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.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(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.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)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.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=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,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(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[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(b.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(M),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(c),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(k=>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||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.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(b.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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.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),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.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(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),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),f.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("vue"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),J=require("../row/index.cjs"),D=require("@vueuse/core"),m=require("@vft/utils");require("../../utils/ns-cover.cjs");require("lodash-es");const Q=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const X=require("./super-form-action.vue2.cjs"),Y=require("./super-form-item.vue2.cjs"),Z=require("./use/use-auto-focus.cjs"),ee=require("./use/use-form-context.cjs"),te=require("./use/use-form-events.cjs"),oe=require("./use/use-form-values.cjs"),ne=e.defineComponent({name:"vft-super-form"}),re=e.defineComponent({...ne,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},disabled:{type:Boolean},model:{},rules:{},labelPosition:{default:"right"},requireAsteriskPosition:{default:"left"},labelWidth:{default:"auto"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change"],setup(M,{expose:T,emit:x}){const $=Q.useNamespace("super-form"),b=M,k=x,L=e.useAttrs(),s=e.reactive({}),p=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),d=e.ref(null),C=e.ref(),o=e.computed(()=>({...b,...e.unref(c)})),a=e.computed(()=>({...L,...b,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return m.cloneDeep(t)}),{handleFormValues:N,initDefault:_}=oe.useFormValues({getProps:o,defaultValueRef:p,getSchema:u,formModel:s});Z.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:d});const{handleSubmit:l,setFieldsValue:B,clearValidate:q,validate:S,validateField:P,getFieldsValue:h,updateSchema:y,resetSchema:f,appendSchemaByField:A,removeSchemaByField:O,resetFields:v,scrollToField:G,getFieldValue:R}=te.useFormEvents({emit:k,getProps:o,formModel:s,getSchema:u,defaultValueRef:p,formElRef:d,schemaRef:w,handleFormValues:N,initValues:C});ee.createFormContext({resetAction:v,submitAction:l}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{m.isEqual(t,n)||f(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(_(),i.value=!0,o.value?.watchDataIsChange&&D.useTimeoutFn(()=>{C.value=h()},40))}),e.watch(()=>s,D.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function V(t){c.value=m.deepMerge(e.unref(c)||{},t),i.value||(f(c.value?.schemas??[]),_())}function z(t,n,r){s[t]=n,r&&r.itemProps}function H(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const E={getFieldsValue:h,getFieldValue:R,setFieldsValue:B,resetFields:v,updateSchema:y,resetSchema:f,setProps:V,removeSchemaByField:O,appendSchemaByField:A,clearValidate:q,validateField:P,validate:S,submit:l,scrollToField:G};k("register",E);const j=e.computed(()=>m.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan"])),g=e.useSlots(),F=t=>t?e.h(X.default,j.value,{resetBefore:n=>g.resetBefore?.(n),submitBefore:n=>g.submitBefore?.(n),submitAfter:n=>g.submitAfter?.(n)}):null;return T({getFieldsValue:h,getFieldValue:R,setFieldsValue:B,resetFields:v,updateSchema:y,resetSchema:f,setProps:V,removeSchemaByField:O,appendSchemaByField:A,clearValidate:q,validateField:P,validate:S,submit:l,getSchema:u}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(W.VftForm),e.mergeProps({key:0},a.value,{ref_key:"formElRef",ref:d,class:e.unref($).b(),model:s,onKeypress:e.withKeys(H,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftRow),e.normalizeProps(e.mergeProps({key:0},a.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Y.default,{key:r.field,"form-action-type":E,schema:r,"form-props":o.value,"all-default-values":p.value,"form-model":s,"set-form-model":z,"update-schema":e.unref(y)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),I=>({name:I,fn:e.withCtx(K=>[e.renderSlot(t.$slots,I,e.mergeProps({ref_for:!0},K||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(U.VftCol),e.normalizeProps(e.mergeProps({key:0},a.value?.quickColSpan?{span:Math.ceil(24/a.value?.quickColSpan),...a.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=re;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),J=require("../row/index.cjs"),M=require("@vueuse/core"),m=require("@vft/utils");require("../../utils/ns-cover.cjs");require("lodash-es");const Q=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const X=require("./super-form-action.vue2.cjs"),Y=require("./super-form-item.vue2.cjs"),Z=require("./use/use-auto-focus.cjs"),ee=require("./use/use-form-context.cjs"),te=require("./use/use-form-events.cjs"),oe=require("./use/use-form-values.cjs"),ne=e.defineComponent({name:"vft-super-form"}),re=e.defineComponent({...ne,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},disabled:{type:Boolean},model:{},rules:{},labelPosition:{default:"right"},requireAsteriskPosition:{default:"left"},labelWidth:{default:"auto"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change"],setup(D,{expose:T,emit:x}){const $=Q.useNamespace("super-form"),F=D,k=x,L=e.useAttrs(),s=e.reactive({}),p=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),d=e.ref(null),C=e.ref(),o=e.computed(()=>({...F,...e.unref(c)})),a=e.computed(()=>({...L,...F,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return m.cloneDeep(t)}),{handleFormValues:N,initDefault:S}=oe.useFormValues({getProps:o,defaultValueRef:p,getSchema:u,formModel:s});Z.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:d});const{handleSubmit:l,setFieldsValue:B,clearValidate:q,validate:_,validateField:P,getFieldsValue:h,updateSchema:v,resetSchema:f,appendSchemaByField:A,removeSchemaByField:O,resetFields:y,scrollToField:G,getFieldValue:R}=te.useFormEvents({emit:k,getProps:o,formModel:s,getSchema:u,defaultValueRef:p,formElRef:d,schemaRef:w,handleFormValues:N,initValues:C});ee.createFormContext({resetAction:y,submitAction:l}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{m.isEqual(t,n)||f(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(S(),i.value=!0,o.value?.watchDataIsChange&&M.useTimeoutFn(()=>{C.value=h()},40))}),e.watch(()=>s,M.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function V(t){c.value=m.deepMerge(e.unref(c)||{},t),i.value||(f(c.value?.schemas??[]),S())}function z(t,n,r){s[t]=n,r&&r.itemProps}function H(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const E={getFieldsValue:h,getFieldValue:R,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:V,removeSchemaByField:O,appendSchemaByField:A,clearValidate:q,validateField:P,validate:_,submit:l,scrollToField:G};k("register",E);const j=e.computed(()=>m.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan"])),g=e.useSlots(),b=t=>t?e.h(X.default,j.value,{resetBefore:n=>g.resetBefore?.(n),submitBefore:n=>g.submitBefore?.(n),submitAfter:n=>g.submitAfter?.(n)}):null;return T({getFieldsValue:h,getFieldValue:R,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:V,removeSchemaByField:O,appendSchemaByField:A,clearValidate:q,validateField:P,validate:_,submit:l,getSchema:u}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(W.VftForm),e.mergeProps({key:0},a.value,{ref_key:"formElRef",ref:d,class:e.unref($).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(H,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftRow),e.normalizeProps(e.mergeProps({key:0},a.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Y.default,{key:r.field,"form-action-type":E,schema:r,"form-props":o.value,"all-default-values":p.value,"form-model":s,"set-form-model":z,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),I=>({name:I,fn:e.withCtx(K=>[e.renderSlot(t.$slots,I,e.mergeProps({ref_for:!0},K||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(U.VftCol),e.normalizeProps(e.mergeProps({key:0},a.value?.quickColSpan?{span:Math.ceil(24/a.value?.quickColSpan),...a.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=re;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.281";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.282";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.281",
3
+ "version": "0.0.282",
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.281",
3
+ "version": "0.0.282",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -55,9 +55,9 @@
55
55
  "resize-detector": "0.3.0",
56
56
  "sortablejs": "1.15.0",
57
57
  "@vft/constants": "0.0.71",
58
+ "@vft/router": "0.0.57",
58
59
  "@vft/store": "0.0.44",
59
60
  "@vft/use": "0.0.54",
60
- "@vft/router": "0.0.57",
61
61
  "@vft/utils": "0.0.114",
62
62
  "@vft/directives": "0.0.30"
63
63
  },