@next-bricks/form 1.21.11 → 1.21.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +35 -35
- package/dist/chunks/2537.be4cf82c.js.map +1 -1
- package/dist/chunks/845.2f598dd9.js +3 -0
- package/dist/chunks/845.2f598dd9.js.map +1 -0
- package/dist/chunks/{9949.753e2720.js → 9949.3d28a915.js} +3 -3
- package/dist/chunks/9949.3d28a915.js.map +1 -0
- package/dist/chunks/eo-auto-complete.0ed854e4.js.map +1 -1
- package/dist/chunks/eo-checkbox.2d0a8dbc.js.map +1 -1
- package/dist/chunks/eo-color-picker.ecf0c4c0.js.map +1 -1
- package/dist/chunks/eo-date-picker.faa60507.js.map +1 -1
- package/dist/chunks/eo-dynamic-form-item.aa5f7d9e.js.map +1 -1
- package/dist/chunks/eo-form.9db78cdb.js.map +1 -1
- package/dist/chunks/eo-icon-select.6a7f7e12.js +3 -0
- package/dist/chunks/eo-icon-select.6a7f7e12.js.map +1 -0
- package/dist/chunks/eo-radio.b2ed57db.js.map +1 -1
- package/dist/chunks/eo-search.206dd65e.js.map +1 -1
- package/dist/chunks/eo-select.cd00c791.js.map +1 -1
- package/dist/chunks/eo-switch.f0a27c08.js.map +1 -1
- package/dist/chunks/eo-textarea.405851dd.js.map +1 -1
- package/dist/chunks/eo-time-picker.46e7a667.js.map +1 -1
- package/dist/chunks/eo-time-range-picker.5afbad69.js.map +1 -1
- package/dist/chunks/eo-upload-file.27a4288d.js.map +1 -1
- package/dist/chunks/eo-upload-image.b43c2329.js.map +1 -1
- package/dist/chunks/{main.8c394d3e.js → main.59f7a796.js} +2 -2
- package/dist/chunks/{main.8c394d3e.js.map → main.59f7a796.js.map} +1 -1
- package/dist/examples.json +27 -24
- package/dist/index.2c92cf90.js +2 -0
- package/dist/{index.7917bac6.js.map → index.2c92cf90.js.map} +1 -1
- package/dist/manifest.json +451 -385
- package/dist/types.json +2699 -2649
- package/dist-types/auto-complete/index.d.ts +4 -0
- package/dist-types/checkbox/index.d.ts +2 -2
- package/dist-types/color-picker/index.d.ts +2 -1
- package/dist-types/date-picker/index.d.ts +1 -1
- package/dist-types/form/index.d.ts +16 -1
- package/dist-types/form-item/index.d.ts +31 -2
- package/dist-types/general-switch/index.d.ts +1 -1
- package/dist-types/icon-select/index.d.ts +1 -1
- package/dist-types/input/index.d.ts +2 -2
- package/dist-types/radio/index.d.ts +4 -4
- package/dist-types/select/index.d.ts +1 -0
- package/dist-types/textarea/index.d.ts +1 -1
- package/dist-types/time-range-picker/index.d.ts +7 -4
- package/dist-types/upload/upload-file/index.d.ts +1 -1
- package/docs/eo-auto-complete.md +158 -8
- package/docs/eo-auto-complete.react.md +229 -0
- package/docs/eo-checkbox.md +107 -4
- package/docs/eo-checkbox.react.md +369 -0
- package/docs/eo-color-picker.md +102 -22
- package/docs/eo-color-picker.react.md +160 -0
- package/docs/eo-date-picker.md +82 -50
- package/docs/eo-date-picker.react.md +146 -0
- package/docs/eo-dynamic-form-item.md +60 -15
- package/docs/eo-dynamic-form-item.react.md +186 -0
- package/docs/eo-form-item.md +194 -0
- package/docs/eo-form-item.react.md +163 -0
- package/docs/eo-form.md +144 -3
- package/docs/eo-form.react.md +330 -0
- package/docs/eo-icon-select.md +80 -1
- package/docs/eo-icon-select.react.md +97 -0
- package/docs/eo-input.md +147 -22
- package/docs/eo-input.react.md +275 -0
- package/docs/eo-radio.md +145 -8
- package/docs/eo-radio.react.md +492 -0
- package/docs/eo-search.md +94 -1
- package/docs/eo-search.react.md +122 -0
- package/docs/eo-select.md +157 -9
- package/docs/eo-select.react.md +411 -0
- package/docs/eo-submit-buttons.md +120 -7
- package/docs/eo-submit-buttons.react.md +129 -0
- package/docs/eo-switch.md +57 -3
- package/docs/eo-switch.react.md +136 -0
- package/docs/eo-textarea.md +101 -22
- package/docs/eo-textarea.react.md +193 -0
- package/docs/eo-time-picker.md +70 -42
- package/docs/eo-time-picker.react.md +106 -0
- package/docs/eo-time-range-picker.md +89 -35
- package/docs/eo-time-range-picker.react.md +163 -0
- package/docs/eo-upload-file.md +101 -9
- package/docs/eo-upload-file.react.md +126 -0
- package/docs/eo-upload-image.md +70 -6
- package/docs/eo-upload-image.react.md +92 -0
- package/package.json +2 -2
- package/dist/chunks/845.c8b5b1e8.js +0 -3
- package/dist/chunks/845.c8b5b1e8.js.map +0 -1
- package/dist/chunks/9949.753e2720.js.map +0 -1
- package/dist/chunks/eo-icon-select.6ea15888.js +0 -3
- package/dist/chunks/eo-icon-select.6ea15888.js.map +0 -1
- package/dist/index.7917bac6.js +0 -2
- /package/dist/chunks/{845.c8b5b1e8.js.LICENSE.txt → 845.2f598dd9.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9949.753e2720.js.LICENSE.txt → 9949.3d28a915.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-icon-select.6ea15888.js.LICENSE.txt → eo-icon-select.6a7f7e12.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/eo-dynamic-form-item.aa5f7d9e.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../src/FormItemElement.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///./src/dynamic-form-item/i18n.ts","webpack:///../../src/pickFormItemProps.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/dynamic-form-item/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n private accessor _notRender = false;\n private accessor validate = \"normal\";\n private accessor bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.validate = value;\n this._render();\n }\n get validateState() {\n return this.validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this._notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this._notRender;\n }\n\n get $bindFormItem() {\n return this.bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export enum K {\n UNIQUE = \"UNIQUE\",\n}\n\nconst en: Locale = {\n UNIQUE: \"{{ name }} can not repeat!\",\n};\n\nconst zh: Locale = {\n UNIQUE: \"{{ name }} 不能重复!\",\n};\n\nexport const NS = \"bricks/form/dynamic-form-item\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","// istanbul ignore file\nimport { pick } from \"lodash\";\nimport type { FormItemProps } from \"./interfaces\";\n\nconst FORM_ITEM_PROP_NAMES = [\n \"formElement\",\n \"curElement\",\n \"name\",\n \"label\",\n \"current\",\n \"required\",\n \"pattern\",\n \"type\",\n \"min\",\n \"max\",\n \"labelCol\",\n \"wrapperCol\",\n \"message\",\n \"layout\",\n \"size\",\n \"trigger\",\n \"valuePropsName\",\n \"notRender\",\n \"helpBrick\",\n \"labelBrick\",\n \"needValidate\",\n \"validator\",\n] as const;\n\nexport function pickFormItemProps<T extends FormItemProps>(\n props: T\n): FormItemProps {\n return pick(props, FORM_ITEM_PROP_NAMES);\n}\n\n/* ====== Type checks ====== */\ntype Equal<X, Y> =\n (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2\n ? true\n : false;\ntype Expect<T extends true> = T;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype cases = [\n Expect<Equal<keyof FormItemProps, (typeof FORM_ITEM_PROP_NAMES)[number]>>,\n];\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dynamic-form-wrapper{border-radius:6px;padding:16px;background:var(--color-fill-bg-base-1)}.remove-btn{cursor:pointer;justify-content:center;display:flex;align-items:center;width:16px;height:16px;border:1px solid;border-radius:50%;line-height:12px;padding:2px;margin-left:8px;color:var(--color-secondary-text)}.remove-btn:hover{color:var(--color-auxiliary-text)}.remove-btn:active{color:var(--color-strong-text)}.remove-btn-wrapper{padding-top:4px}.dynamic-form > *:not(.remove-btn-wrapper){flex:1;margin-right:8px}.add-btn{width:calc(100% - 38px)}.add-btn-wrapper-disabled{cursor:not-allowed}.add-btn-disabled{pointer-events:none}.dynamic-form-item:first-child .dynamic-form:has([label]) .remove-btn-wrapper{margin-top:22px}.remove-btn-disabled-wrapper{cursor:not-allowed}.remove-btn-disabled{pointer-events:none;cursor:not-allowed;color:var(--text-color-disabled)}.add-btn-hide{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Form,\n FormEvents,\n FormMapEvents,\n FormProps,\n} from \"../form/index.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { UseBrickConf, UseSingleBrickConf } from \"@next-core/types\";\nimport styleText from \"./dynamic-form-item.shadow.css\";\nimport \"@next-core/theme\";\nimport { isEqual, flatten, omit, isEmpty } from \"lodash\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedForm = wrapBrick<Form, FormProps, FormEvents, FormMapEvents>(\n \"eo-form\",\n {\n onValuesChange: \"values.change\",\n onValidateSuccess: \"validate.success\",\n onValidateError: \"validate.error\",\n }\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport function uniqueValidatorFN(\n props: DynamicFormItemProps,\n properties: any,\n t: any\n) {\n return () => {\n const fieldValue = props?.curElement?.value?.map(\n (v: any) => v[properties.name as string]\n );\n if (new Set(fieldValue).size !== fieldValue.length) {\n return (\n (properties.message as any)?.unique ??\n t(K.UNIQUE, { name: properties.label ?? properties.name })\n );\n }\n return \"\";\n };\n}\n\nexport type DynamicFormValuesItem = Record<string, any>;\n\nexport interface DynamicFormItemProps extends FormItemProps {\n form?: Form;\n useBrick?: UseBrickConf;\n value?: DynamicFormValuesItem[];\n validateState?: string;\n needValidate?: boolean;\n onChange?: (value: DynamicFormValuesItem[]) => void;\n onValuesChange?: (values: DynamicFormValuesItem[]) => void;\n onAdd?: (value: rowDataType) => void;\n onRemove?: (value: rowDataType) => void;\n hideRemoveButton?:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean);\n disabledRemoveButton?:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean);\n hideAddButton?: boolean | ((value: Record<string, any>[]) => boolean);\n disabledAddButton?: boolean | ((value: Record<string, any>[]) => boolean);\n}\ntype rowDataType = {\n detail: Record<string, any>;\n index: number;\n};\n\nexport const getRealValue = (\n property: boolean | ((...args: any[]) => boolean),\n args: any[]\n): boolean => {\n if (typeof property === \"function\") {\n return property(...args);\n }\n return property;\n};\n\nexport interface DynamicFormItemEventsMap {\n change: CustomEvent<DynamicFormValuesItem[]>;\n \"row.add\": CustomEvent<rowDataType>;\n \"row.remove\": CustomEvent<rowDataType>;\n}\n\nexport interface DynamicFormItemEventsMapping {\n onChange: \"change\";\n onRowAdd: \"row.add\";\n onRowRemove: \"row.remove\";\n}\n\n/**\n * 动态表单\n * @author sailor\n * @category form-input-basic\n */\n@defineElement(\"eo-dynamic-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.dynamic-form-item\"],\n})\nclass DynamicFormItem extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: DynamicFormValuesItem[] | undefined;\n\n /**\n * 校验文本\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否隐藏每一行删除的按钮\n */\n @property({\n attribute: false,\n })\n accessor hideRemoveButton:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean)\n | undefined;\n\n /**\n * 是否禁止每一行删除的按钮\n */\n @property({\n attribute: false,\n })\n accessor disabledRemoveButton:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean)\n | undefined;\n\n /**\n * 是否隐藏添加的按钮\n */\n @property({\n attribute: false,\n })\n accessor hideAddButton:\n | boolean\n | ((value: Record<string, any>[]) => boolean)\n | undefined;\n\n /**\n * 是否禁止添加的按钮\n */\n @property({\n attribute: false,\n })\n accessor disabledAddButton:\n | boolean\n | ((value: Record<string, any>[]) => boolean)\n | undefined;\n\n /**\n * 动态表单子项构件列表\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseBrickConf | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<DynamicFormValuesItem[]>;\n\n /**\n * 增加一行时触发,detail为该行的默认值,index为该行的位置\n */\n @event({ type: \"row.add\" })\n accessor #addEvent!: EventEmitter<rowDataType>;\n\n /**\n * 移除一行时触发,detail为该行的值,index为该行的位置\n */\n @event({ type: \"row.remove\" })\n accessor #removeEvent!: EventEmitter<rowDataType>;\n\n #handleAdd = (value: rowDataType): void => {\n this.#addEvent.emit(value);\n };\n\n #handleRemove = (value: rowDataType): void => {\n this.#removeEvent.emit(value);\n };\n\n handleDynamicFormChange = (values: DynamicFormValuesItem[]) => {\n this.value = values;\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n };\n\n render() {\n return (\n <DynamicFormItemComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n useBrick={this.useBrick}\n value={this.value}\n validateState={this.validateState}\n needValidate={false}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n trigger=\"handleDynamicFormChange\"\n onChange={this.handleDynamicFormChange}\n onValuesChange={this.handleDynamicFormChange}\n message={this.message}\n onAdd={this.#handleAdd}\n onRemove={this.#handleRemove}\n hideAddButton={this.hideAddButton}\n hideRemoveButton={this.hideRemoveButton}\n disabledAddButton={this.disabledAddButton}\n disabledRemoveButton={this.disabledRemoveButton}\n />\n );\n }\n}\n\nexport function DynamicFormItemComponent(props: DynamicFormItemProps) {\n const { t } = useTranslation(NS);\n const {\n value,\n hideAddButton = false,\n hideRemoveButton = false,\n disabledRemoveButton = false,\n disabledAddButton = false,\n } = props;\n const formWrapperRef = useRef<HTMLDivElement>(null);\n const [values, setValues] = useState<DynamicFormValuesItem[]>(value ?? []);\n\n const [bricks, setBricks] = useState<UseSingleBrickConf[]>([]);\n\n const bricksOfNoLabel = useMemo(\n () => bricks.map((brick: any) => omit(brick, \"properties.label\")),\n [bricks]\n );\n\n const handleAddItem = () => {\n props.onAdd?.({ detail: {}, index: values.length });\n setValues(values.concat({}));\n };\n\n useEffect(() => {\n if (!isEqual(value, values)) {\n setValues(value ?? []);\n }\n }, [value]);\n\n useEffect(() => {\n if (props.useBrick) {\n const parsedUseBrick: UseSingleBrickConf[] = flatten(\n new Array(props.useBrick)\n );\n\n setBricks(\n parsedUseBrick.map((brick) => {\n const { properties = {} } = brick;\n if (properties.unique) {\n let parsedValidator: any = [\n uniqueValidatorFN(props, properties, t),\n ];\n if (properties.validator) {\n parsedValidator = [\n ...flatten(new Array(properties.validator)),\n ...parsedValidator,\n ];\n }\n return {\n ...brick,\n properties: {\n ...brick.properties,\n validator: parsedValidator,\n },\n };\n } else {\n return brick;\n }\n })\n );\n }\n }, [props.useBrick, props.curElement]);\n // istanbul ignore next;\n const validate = () => {\n const formWrapper = formWrapperRef.current;\n const forms = formWrapper?.querySelectorAll(\n \".dynamic-form\"\n ) as unknown as Form[];\n const result: Array<boolean | Record<string, unknown>> = [];\n if (forms.length) {\n forms.forEach((item) => {\n result.push(item.validate());\n });\n }\n return result.every(Boolean) ? \"\" : \"动态表单校验失败\";\n };\n\n // istanbul ignore next;\n const handleValuesChange = useCallback(\n (value: CustomEvent<DynamicFormValuesItem>, index: number) => {\n props.onChange?.(\n values.map((item, i) => {\n if (i === index) {\n return value.detail.allValues;\n }\n return item;\n })\n );\n },\n [props, values]\n );\n\n const handleRemoveItem = useCallback(\n (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n setValues(newValues);\n props.onChange?.(newValues);\n props.onRemove?.({\n detail: values.find((_, i) => i === index) as Record<string, any>,\n index,\n });\n },\n [props, values]\n );\n const addButtonDisabled = useMemo(\n () => getRealValue(disabledAddButton, [values]),\n [disabledAddButton, values]\n );\n const addButtonHide = useMemo(\n () => getRealValue(hideAddButton, [values]),\n [hideAddButton, values]\n );\n\n return (\n <WrappedFormItem\n exportparts=\"message\"\n {...pickFormItemProps(props)}\n validator={validate}\n >\n <div className=\"dynamic-form-wrapper\" ref={formWrapperRef}>\n {values.map((value, index) => {\n const hideRemoveBtn = getRealValue(hideRemoveButton, [value, index]);\n const removeBtnDisabled = getRealValue(disabledRemoveButton, [\n value,\n index,\n ]);\n return (\n <div className=\"dynamic-form-item\" key={index}>\n {!isEmpty(bricks) && (\n <WrappedForm\n layout=\"vertical\"\n formStyle={{\n flexDirection: \"row\",\n alignItems: \"flex-start\",\n }}\n className=\"dynamic-form\"\n values={value}\n defaultEmitValuesChange={false}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onValuesChange={(value) => handleValuesChange(value, index)}\n >\n <ReactUseMultipleBricks\n useBrick={\n (index === 0\n ? bricks\n : bricksOfNoLabel) as UseSingleBrickConf[]\n }\n // NOTE: Passing changed `data={value}` will cause useBrick to re-render and lose state\n data={value}\n />\n {!hideRemoveBtn && (\n <div\n className={classNames(\"remove-btn-wrapper\", {\n \"remove-btn-disabled-wrapper\": removeBtnDisabled,\n })}\n >\n <WrappedIcon\n lib=\"easyops\"\n category=\"assets-inventory\"\n icon=\"out\"\n className={classNames(\"remove-btn\", {\n \"remove-btn-disabled\": removeBtnDisabled,\n })}\n onClick={() => handleRemoveItem(index)}\n />\n </div>\n )}\n </WrappedForm>\n )}\n </div>\n );\n })}\n <div\n className={classNames({\n \"add-btn-wrapper-disabled\": addButtonDisabled,\n })}\n >\n <WrappedButton\n className={classNames(\"add-btn\", {\n \"add-btn-hide\": addButtonHide,\n \"add-btn-disabled\": addButtonDisabled,\n })}\n icon={{\n category: \"assets-inventory\",\n icon: \"xin\",\n lib: \"easyops\",\n }}\n type=\"dashed\"\n buttonStyle={{\n width: \"100%\",\n color: addButtonDisabled ? \"var(--text-color-disabled)\" : \"\",\n }}\n onClick={handleAddItem}\n >\n 添加\n </WrappedButton>\n </div>\n </div>\n <slot name=\"helpSlot\"></slot>\n </WrappedFormItem>\n );\n}\n\nexport { DynamicFormItem };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","toPropertyKey","t","e","Symbol","toPrimitive","call","r","TypeError","String","method","property","createDecorators","_A","WeakMap","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","arguments","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_notRender","_classPrivateFieldGet","v","_classPrivateFieldSet","validate","bindFormItem","isFormItemElement","validateState","_render","notRender","hidden","$bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_applyDecs","attribute","_checkPrivateRedeclaration","privateCollection","has","_assertClassBrand","n","K","NS","locales","en","UNIQUE","zh","FORM_ITEM_PROP_NAMES","pickFormItemProps","props","pick","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","g","apply","b","applyDec","w","D","S","j","E","I","P","F","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","key","newClass","default","_defineProperty","writable","_classPrivateMethodInitSpec","privateSet","add","_classPrivateGetter","_classPrivateFieldSet2","_checkInRHS","_typeof","iterator","___CSS_LOADER_EXPORT___","initializeReactI18n","defineElement","event","WrappedIcon","wrapBrick","WrappedButton","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","WrappedFormItem","uniqueValidatorFN","properties","_props$curElement","fieldValue","curElement","_unique","_properties$message","_properties$label","Set","size","message","unique","label","getRealValue","args","_DynamicFormItem","_H","_I","_J","_K","_DynamicFormItem_brand","WeakSet","_L","_M","_handleAdd","_handleRemove","DynamicFormItem","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_value","_init_extra_value","_init_message","_init_extra_message","_init_hideRemoveButton","_init_extra_hideRemoveButton","_init_disabledRemoveButton","_init_extra_disabledRemoveButton","_init_hideAddButton","_init_extra_hideAddButton","_init_disabledAddButton","_init_extra_disabledAddButton","_init_useBrick","_init_extra_useBrick","_init_changeEvent","_init_extra_changeEvent","_init_addEvent","_init_extra_addEvent","_init_removeEvent","_init_extra_removeEvent","_get_addEvent","emit","_get_removeEvent","values","_this$getFormElement","_get_changeEvent","resetValidateState","required","hideRemoveButton","disabledRemoveButton","hideAddButton","disabledAddButton","useBrick","render","React","DynamicFormItemComponent","formElement","needValidate","trigger","onChange","handleDynamicFormChange","onAdd","onRemove","useTranslation","formWrapperRef","useRef","setValues","useState","bricks","setBricks","bricksOfNoLabel","useMemo","brick","omit","useEffect","isEqual","parsedUseBrick","flatten","parsedValidator","validator","handleValuesChange","useCallback","index","_props$onChange","detail","allValues","handleRemoveItem","_props$onChange2","_props$onRemove","newValues","filter","_","find","addButtonDisabled","addButtonHide","_extends","exportparts","formWrapper","current","forms","querySelectorAll","result","forEach","every","Boolean","className","ref","hideRemoveBtn","removeBtnDisabled","isEmpty","layout","formStyle","flexDirection","alignItems","defaultEmitValuesChange","ReactUseMultipleBricks","data","lib","category","icon","onClick","type","buttonStyle","width","color","handleAddItem","_props$onAdd","_DynamicFormItem2","_set_changeEvent","_set_addEvent","_set_removeEvent","_initClass","styleTexts","styleText","alias","assign","target","source"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/eo-dynamic-form-item.aa5f7d9e.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../src/FormItemElement.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///./src/dynamic-form-item/i18n.ts","webpack:///../../src/pickFormItemProps.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/dynamic-form-item/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n private accessor _notRender = false;\n private accessor validate = \"normal\";\n private accessor bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.validate = value;\n this._render();\n }\n get validateState() {\n return this.validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this._notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this._notRender;\n }\n\n get $bindFormItem() {\n return this.bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export enum K {\n UNIQUE = \"UNIQUE\",\n}\n\nconst en: Locale = {\n UNIQUE: \"{{ name }} can not repeat!\",\n};\n\nconst zh: Locale = {\n UNIQUE: \"{{ name }} 不能重复!\",\n};\n\nexport const NS = \"bricks/form/dynamic-form-item\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","// istanbul ignore file\nimport { pick } from \"lodash\";\nimport type { FormItemProps } from \"./interfaces\";\n\nconst FORM_ITEM_PROP_NAMES = [\n \"formElement\",\n \"curElement\",\n \"name\",\n \"label\",\n \"current\",\n \"required\",\n \"pattern\",\n \"type\",\n \"min\",\n \"max\",\n \"labelCol\",\n \"wrapperCol\",\n \"message\",\n \"layout\",\n \"size\",\n \"trigger\",\n \"valuePropsName\",\n \"notRender\",\n \"helpBrick\",\n \"labelBrick\",\n \"needValidate\",\n \"validator\",\n] as const;\n\nexport function pickFormItemProps<T extends FormItemProps>(\n props: T\n): FormItemProps {\n return pick(props, FORM_ITEM_PROP_NAMES);\n}\n\n/* ====== Type checks ====== */\ntype Equal<X, Y> =\n (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2\n ? true\n : false;\ntype Expect<T extends true> = T;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype cases = [\n Expect<Equal<keyof FormItemProps, (typeof FORM_ITEM_PROP_NAMES)[number]>>,\n];\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dynamic-form-wrapper{border-radius:6px;padding:16px;background:var(--color-fill-bg-base-1)}.remove-btn{cursor:pointer;justify-content:center;display:flex;align-items:center;width:16px;height:16px;border:1px solid;border-radius:50%;line-height:12px;padding:2px;margin-left:8px;color:var(--color-secondary-text)}.remove-btn:hover{color:var(--color-auxiliary-text)}.remove-btn:active{color:var(--color-strong-text)}.remove-btn-wrapper{padding-top:4px}.dynamic-form > *:not(.remove-btn-wrapper){flex:1;margin-right:8px}.add-btn{width:calc(100% - 38px)}.add-btn-wrapper-disabled{cursor:not-allowed}.add-btn-disabled{pointer-events:none}.dynamic-form-item:first-child .dynamic-form:has([label]) .remove-btn-wrapper{margin-top:22px}.remove-btn-disabled-wrapper{cursor:not-allowed}.remove-btn-disabled{pointer-events:none;cursor:not-allowed;color:var(--text-color-disabled)}.add-btn-hide{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Form,\n FormEvents,\n FormMapEvents,\n FormProps,\n} from \"../form/index.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { UseBrickConf, UseSingleBrickConf } from \"@next-core/types\";\nimport styleText from \"./dynamic-form-item.shadow.css\";\nimport \"@next-core/theme\";\nimport { isEqual, flatten, omit, isEmpty } from \"lodash\";\nimport { FormItemElementBase, pickFormItemProps } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedForm = wrapBrick<Form, FormProps, FormEvents, FormMapEvents>(\n \"eo-form\",\n {\n onValuesChange: \"values.change\",\n onValidateSuccess: \"validate.success\",\n onValidateError: \"validate.error\",\n }\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport function uniqueValidatorFN(\n props: DynamicFormItemProps,\n properties: any,\n t: any\n) {\n return () => {\n const fieldValue = props?.curElement?.value?.map(\n (v: any) => v[properties.name as string]\n );\n if (new Set(fieldValue).size !== fieldValue.length) {\n return (\n (properties.message as any)?.unique ??\n t(K.UNIQUE, { name: properties.label ?? properties.name })\n );\n }\n return \"\";\n };\n}\n\nexport type DynamicFormValuesItem = Record<string, any>;\n\nexport interface DynamicFormItemProps extends FormItemProps {\n form?: Form;\n useBrick?: UseBrickConf;\n value?: DynamicFormValuesItem[];\n validateState?: string;\n needValidate?: boolean;\n onChange?: (value: DynamicFormValuesItem[]) => void;\n onValuesChange?: (values: DynamicFormValuesItem[]) => void;\n onAdd?: (value: rowDataType) => void;\n onRemove?: (value: rowDataType) => void;\n hideRemoveButton?:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean);\n disabledRemoveButton?:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean);\n hideAddButton?: boolean | ((value: Record<string, any>[]) => boolean);\n disabledAddButton?: boolean | ((value: Record<string, any>[]) => boolean);\n}\ntype rowDataType = {\n detail: Record<string, any>;\n index: number;\n};\n\nexport const getRealValue = (\n property: boolean | ((...args: any[]) => boolean),\n args: any[]\n): boolean => {\n if (typeof property === \"function\") {\n return property(...args);\n }\n return property;\n};\n\nexport interface DynamicFormItemEventsMap {\n change: CustomEvent<DynamicFormValuesItem[]>;\n \"row.add\": CustomEvent<rowDataType>;\n \"row.remove\": CustomEvent<rowDataType>;\n}\n\nexport interface DynamicFormItemEventsMapping {\n onChange: \"change\";\n onRowAdd: \"row.add\";\n onRowRemove: \"row.remove\";\n}\n\n/**\n * 动态表单\n * @author sailor\n * @category form-input-basic\n */\n@defineElement(\"eo-dynamic-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.dynamic-form-item\"],\n})\nclass DynamicFormItem extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: DynamicFormValuesItem[] | undefined;\n\n /**\n * 校验文本\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否隐藏每一行删除的按钮\n */\n @property({\n attribute: false,\n })\n accessor hideRemoveButton:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean)\n | undefined;\n\n /**\n * 是否禁止每一行删除的按钮\n */\n @property({\n attribute: false,\n })\n accessor disabledRemoveButton:\n | boolean\n | ((row: Record<string, any>, index: number) => boolean)\n | undefined;\n\n /**\n * 是否隐藏添加的按钮\n */\n @property({\n attribute: false,\n })\n accessor hideAddButton:\n | boolean\n | ((value: Record<string, any>[]) => boolean)\n | undefined;\n\n /**\n * 是否禁止添加的按钮\n */\n @property({\n attribute: false,\n })\n accessor disabledAddButton:\n | boolean\n | ((value: Record<string, any>[]) => boolean)\n | undefined;\n\n /**\n * 动态表单子项构件列表\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseBrickConf | undefined;\n\n /**\n * 表单值改变时触发\n * @detail 整个动态表单当前所有行的值列表\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<DynamicFormValuesItem[]>;\n\n /**\n * 增加一行时触发\n * @detail { detail: 该行的默认值, index: 该行的位置 }\n */\n @event({ type: \"row.add\" })\n accessor #addEvent!: EventEmitter<rowDataType>;\n\n /**\n * 移除一行时触发\n * @detail { detail: 该行的值, index: 该行的位置 }\n */\n @event({ type: \"row.remove\" })\n accessor #removeEvent!: EventEmitter<rowDataType>;\n\n #handleAdd = (value: rowDataType): void => {\n this.#addEvent.emit(value);\n };\n\n #handleRemove = (value: rowDataType): void => {\n this.#removeEvent.emit(value);\n };\n\n handleDynamicFormChange = (values: DynamicFormValuesItem[]) => {\n this.value = values;\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n };\n\n render() {\n return (\n <DynamicFormItemComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n useBrick={this.useBrick}\n value={this.value}\n validateState={this.validateState}\n needValidate={false}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n trigger=\"handleDynamicFormChange\"\n onChange={this.handleDynamicFormChange}\n onValuesChange={this.handleDynamicFormChange}\n message={this.message}\n onAdd={this.#handleAdd}\n onRemove={this.#handleRemove}\n hideAddButton={this.hideAddButton}\n hideRemoveButton={this.hideRemoveButton}\n disabledAddButton={this.disabledAddButton}\n disabledRemoveButton={this.disabledRemoveButton}\n />\n );\n }\n}\n\nexport function DynamicFormItemComponent(props: DynamicFormItemProps) {\n const { t } = useTranslation(NS);\n const {\n value,\n hideAddButton = false,\n hideRemoveButton = false,\n disabledRemoveButton = false,\n disabledAddButton = false,\n } = props;\n const formWrapperRef = useRef<HTMLDivElement>(null);\n const [values, setValues] = useState<DynamicFormValuesItem[]>(value ?? []);\n\n const [bricks, setBricks] = useState<UseSingleBrickConf[]>([]);\n\n const bricksOfNoLabel = useMemo(\n () => bricks.map((brick: any) => omit(brick, \"properties.label\")),\n [bricks]\n );\n\n const handleAddItem = () => {\n props.onAdd?.({ detail: {}, index: values.length });\n setValues(values.concat({}));\n };\n\n useEffect(() => {\n if (!isEqual(value, values)) {\n setValues(value ?? []);\n }\n }, [value]);\n\n useEffect(() => {\n if (props.useBrick) {\n const parsedUseBrick: UseSingleBrickConf[] = flatten(\n new Array(props.useBrick)\n );\n\n setBricks(\n parsedUseBrick.map((brick) => {\n const { properties = {} } = brick;\n if (properties.unique) {\n let parsedValidator: any = [\n uniqueValidatorFN(props, properties, t),\n ];\n if (properties.validator) {\n parsedValidator = [\n ...flatten(new Array(properties.validator)),\n ...parsedValidator,\n ];\n }\n return {\n ...brick,\n properties: {\n ...brick.properties,\n validator: parsedValidator,\n },\n };\n } else {\n return brick;\n }\n })\n );\n }\n }, [props.useBrick, props.curElement]);\n // istanbul ignore next;\n const validate = () => {\n const formWrapper = formWrapperRef.current;\n const forms = formWrapper?.querySelectorAll(\n \".dynamic-form\"\n ) as unknown as Form[];\n const result: Array<boolean | Record<string, unknown>> = [];\n if (forms.length) {\n forms.forEach((item) => {\n result.push(item.validate());\n });\n }\n return result.every(Boolean) ? \"\" : \"动态表单校验失败\";\n };\n\n // istanbul ignore next;\n const handleValuesChange = useCallback(\n (value: CustomEvent<DynamicFormValuesItem>, index: number) => {\n props.onChange?.(\n values.map((item, i) => {\n if (i === index) {\n return value.detail.allValues;\n }\n return item;\n })\n );\n },\n [props, values]\n );\n\n const handleRemoveItem = useCallback(\n (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n setValues(newValues);\n props.onChange?.(newValues);\n props.onRemove?.({\n detail: values.find((_, i) => i === index) as Record<string, any>,\n index,\n });\n },\n [props, values]\n );\n const addButtonDisabled = useMemo(\n () => getRealValue(disabledAddButton, [values]),\n [disabledAddButton, values]\n );\n const addButtonHide = useMemo(\n () => getRealValue(hideAddButton, [values]),\n [hideAddButton, values]\n );\n\n return (\n <WrappedFormItem\n exportparts=\"message\"\n {...pickFormItemProps(props)}\n validator={validate}\n >\n <div className=\"dynamic-form-wrapper\" ref={formWrapperRef}>\n {values.map((value, index) => {\n const hideRemoveBtn = getRealValue(hideRemoveButton, [value, index]);\n const removeBtnDisabled = getRealValue(disabledRemoveButton, [\n value,\n index,\n ]);\n return (\n <div className=\"dynamic-form-item\" key={index}>\n {!isEmpty(bricks) && (\n <WrappedForm\n layout=\"vertical\"\n formStyle={{\n flexDirection: \"row\",\n alignItems: \"flex-start\",\n }}\n className=\"dynamic-form\"\n values={value}\n defaultEmitValuesChange={false}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onValuesChange={(value) => handleValuesChange(value, index)}\n >\n <ReactUseMultipleBricks\n useBrick={\n (index === 0\n ? bricks\n : bricksOfNoLabel) as UseSingleBrickConf[]\n }\n // NOTE: Passing changed `data={value}` will cause useBrick to re-render and lose state\n data={value}\n />\n {!hideRemoveBtn && (\n <div\n className={classNames(\"remove-btn-wrapper\", {\n \"remove-btn-disabled-wrapper\": removeBtnDisabled,\n })}\n >\n <WrappedIcon\n lib=\"easyops\"\n category=\"assets-inventory\"\n icon=\"out\"\n className={classNames(\"remove-btn\", {\n \"remove-btn-disabled\": removeBtnDisabled,\n })}\n onClick={() => handleRemoveItem(index)}\n />\n </div>\n )}\n </WrappedForm>\n )}\n </div>\n );\n })}\n <div\n className={classNames({\n \"add-btn-wrapper-disabled\": addButtonDisabled,\n })}\n >\n <WrappedButton\n className={classNames(\"add-btn\", {\n \"add-btn-hide\": addButtonHide,\n \"add-btn-disabled\": addButtonDisabled,\n })}\n icon={{\n category: \"assets-inventory\",\n icon: \"xin\",\n lib: \"easyops\",\n }}\n type=\"dashed\"\n buttonStyle={{\n width: \"100%\",\n color: addButtonDisabled ? \"var(--text-color-disabled)\" : \"\",\n }}\n onClick={handleAddItem}\n >\n 添加\n </WrappedButton>\n </div>\n </div>\n <slot name=\"helpSlot\"></slot>\n </WrappedFormItem>\n );\n}\n\nexport { DynamicFormItem };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","toPropertyKey","t","e","Symbol","toPrimitive","call","r","TypeError","String","method","property","createDecorators","_A","WeakMap","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","constructor","arguments","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_notRender","_classPrivateFieldGet","v","_classPrivateFieldSet","validate","bindFormItem","isFormItemElement","validateState","_render","notRender","hidden","$bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_FormItemElementBase","_applyDecs","attribute","_checkPrivateRedeclaration","privateCollection","has","_assertClassBrand","n","K","NS","locales","en","UNIQUE","zh","FORM_ITEM_PROP_NAMES","pickFormItemProps","props","pick","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","g","apply","b","applyDec","w","D","S","j","E","I","P","F","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","key","newClass","default","_defineProperty","writable","_classPrivateMethodInitSpec","privateSet","add","_classPrivateGetter","_classPrivateFieldSet2","_checkInRHS","_typeof","iterator","___CSS_LOADER_EXPORT___","initializeReactI18n","defineElement","event","WrappedIcon","wrapBrick","WrappedButton","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","WrappedFormItem","uniqueValidatorFN","properties","_props$curElement","fieldValue","curElement","_unique","_properties$message","_properties$label","Set","size","message","unique","label","getRealValue","args","_DynamicFormItem","_H","_I","_J","_K","_DynamicFormItem_brand","WeakSet","_L","_M","_handleAdd","_handleRemove","DynamicFormItem","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_required","_init_extra_required","_init_value","_init_extra_value","_init_message","_init_extra_message","_init_hideRemoveButton","_init_extra_hideRemoveButton","_init_disabledRemoveButton","_init_extra_disabledRemoveButton","_init_hideAddButton","_init_extra_hideAddButton","_init_disabledAddButton","_init_extra_disabledAddButton","_init_useBrick","_init_extra_useBrick","_init_changeEvent","_init_extra_changeEvent","_init_addEvent","_init_extra_addEvent","_init_removeEvent","_init_extra_removeEvent","_get_addEvent","emit","_get_removeEvent","values","_this$getFormElement","_get_changeEvent","resetValidateState","required","hideRemoveButton","disabledRemoveButton","hideAddButton","disabledAddButton","useBrick","render","React","DynamicFormItemComponent","formElement","needValidate","trigger","onChange","handleDynamicFormChange","onAdd","onRemove","useTranslation","formWrapperRef","useRef","setValues","useState","bricks","setBricks","bricksOfNoLabel","useMemo","brick","omit","useEffect","isEqual","parsedUseBrick","flatten","parsedValidator","validator","handleValuesChange","useCallback","index","_props$onChange","detail","allValues","handleRemoveItem","_props$onChange2","_props$onRemove","newValues","filter","_","find","addButtonDisabled","addButtonHide","_extends","exportparts","formWrapper","current","forms","querySelectorAll","result","forEach","every","Boolean","className","ref","hideRemoveBtn","removeBtnDisabled","isEmpty","layout","formStyle","flexDirection","alignItems","defaultEmitValuesChange","ReactUseMultipleBricks","data","lib","category","icon","onClick","type","buttonStyle","width","color","handleAddItem","_props$onAdd","_DynamicFormItem2","_set_changeEvent","_set_addEvent","_set_removeEvent","_initClass","styleTexts","styleText","alias","assign","target","source"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/eo-form.9db78cdb.js","mappings":"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","sources":["webpack:///../../src/FormStore.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/form/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../src/PubSub.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import { isEmpty, get, has, set, unset, cloneDeep } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n type?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n this.setFieldsValueByInitData(name);\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData: Record<string, unknown> = {};\n\n allFields.forEach((fieldName) => {\n const value = get(this.#formData, fieldName);\n set(formData, fieldName, value);\n });\n\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const field = this.#fields.get(name);\n if (field && !field.detail?.notRender && has(this.#initData, name)) {\n const value = get(this.#initData, name);\n set(this.#formData, name, value);\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData = cloneDeep(this.#formData);\n const changedValues: Record<string, unknown> = {};\n\n this.#fields.forEach((field, key) => {\n if (!field.detail?.notRender && has(values, key)) {\n const v = get(values, key);\n set(newFormData, key, v);\n if (this.#initData) {\n set(this.#initData, key, v);\n }\n this.publish(`${key}.init.value`, v);\n set(changedValues, key, v);\n }\n });\n\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n unset(this.#formData, name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n const field = this.#fields.get(name);\n if (field && !field.detail?.notRender) {\n return get(this.#formData, name);\n }\n return undefined;\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n unset(this.#formData, name);\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n let fieldDetail;\n let fieldObj;\n\n if (typeof field === \"string\") {\n fieldObj = this.#fields.get(field);\n fieldDetail = fieldObj?.detail;\n } else {\n fieldDetail = field;\n fieldObj = this.#fields.get(fieldDetail.name);\n }\n\n if (!fieldDetail || (fieldObj && fieldObj.detail?.notRender)) return;\n\n const { name, label, validate } = fieldDetail;\n const validateValue = get(this.#formData, name);\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: unknown): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n if (typeof value === \"string\" && pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n\n if (type === \"number\") {\n if (typeof value === \"number\" || typeof value === \"string\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value);\n if (isNaN(numberValue)) {\n return messageBody(`${label}必须是数字`);\n }\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n }\n } else if (typeof value === \"string\") {\n if (checkMin && value.length < min) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n if (checkMax && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = { name, ...valid(validate, validateValue) };\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import React, { useMemo } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n AbstractForm,\n FormStore,\n MessageBody,\n ColProps,\n} from \"@next-shared/form\";\nimport { ComponentSize, Layout } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ninterface FormProps {\n values?: Record<string, any>;\n layout?: Layout;\n size?: ComponentSize;\n autoScrollToInvalidFields?: boolean;\n}\n\nexport interface FormEvents {\n valuesChange?: Event;\n validateSuccess?: Event;\n validateError?: Event;\n}\n\nexport interface FormMapEvents {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\nexport interface EoFormEventsMap {\n \"values.change\": CustomEvent<Record<string, unknown>>;\n \"validate.success\": CustomEvent<Record<string, unknown>>;\n \"validate.error\": CustomEvent<(MessageBody & { name: string })[]>;\n}\n\nexport interface EoFormEventsMapping {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\n/**\n * 表单构件\n * @author sailor\n * @slot - 表单内容\n * @category form-input-basic\n */\n@defineElement(\"eo-form\", {\n alias: [\"form.general-form\"],\n})\nclass Form extends ReactNextElement implements FormProps, AbstractForm {\n formStore: FormStore;\n #values!: Record<string, unknown>;\n defaultEmitValuesChange = true;\n\n constructor() {\n super();\n this.formStore = FormStore.getInstance({\n onValuesChanged: this.handleValuesChange,\n });\n }\n\n get isFormElement(): true {\n return true;\n }\n\n set values(value: Record<string, unknown>) {\n this.#values = value;\n\n this.#setInitValue(value);\n }\n get values(): Record<string, unknown> {\n return this.#values;\n }\n\n #setInitValue(values: Record<string, unknown>) {\n this.formStore.setInitValue(values, this.defaultEmitValuesChange);\n }\n\n @property({\n attribute: false,\n })\n accessor staticValues: Record<string, unknown> | undefined;\n\n /**\n * 布局方式(默认 vertical 布局)\n * @default vertical\n */\n @property() accessor layout: Layout = \"vertical\";\n\n /**\n * 表单组件尺寸\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 标签列布局样式(仅当 layout=\"horizontal\" 时有效)\n */\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps = {\n sm: {\n span: 24,\n },\n md: {\n span: 24,\n },\n lg: {\n span: 7,\n },\n xl: {\n span: 5,\n },\n xxl: {\n span: 4,\n },\n };\n\n /**\n * 输入控件列布局样式(仅当 layout=\"horizontal\" 时有效)\n */\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps = {\n sm: {\n span: 18,\n },\n md: {\n span: 18,\n },\n lg: {\n span: 13,\n },\n xl: {\n span: 16,\n },\n xxl: {\n span: 18,\n },\n };\n\n @property({ render: false, type: Boolean })\n accessor autoScrollToInvalidFields: boolean | undefined;\n\n /**\n * 表单值变更事件\n * @detail\n */\n @event({ type: \"values.change\" }) accessor #valuesChangeEvent!: EventEmitter<\n Record<string, unknown>\n >;\n handleValuesChange = (values: Record<string, unknown>) => {\n this.#valuesChangeEvent.emit(values);\n };\n\n /**\n * 表单验证成功时触发事件\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<\n (MessageBody & { name: string })[]\n >;\n\n /**\n * 表单校验方法\n */\n @method()\n validate(): boolean | Record<string, unknown> {\n return this.formStore.validateFields((err, values) => {\n if (err) {\n this.#errorEvent.emit(values);\n if (this.autoScrollToInvalidFields && values.length > 0) {\n this.formStore.scrollToField(values[0].name);\n }\n } else {\n this.#successEvent.emit({\n ...(this.staticValues ?? {}),\n ...values,\n });\n }\n });\n }\n\n /**\n * 表单设置值方法\n */\n @method()\n setInitValue(\n values: Record<string, unknown>,\n options?: { runInMacrotask?: boolean; runInMicrotask?: boolean }\n ) {\n if (options) {\n options.runInMicrotask &&\n queueMicrotask(() => {\n this.values = values;\n });\n options.runInMacrotask &&\n setTimeout(() => {\n this.values = values;\n });\n } else {\n this.values = values;\n }\n }\n\n /**\n * 表单重置值方法\n */\n @method()\n resetFields(name?: string) {\n this.formStore.resetFields(typeof name === \"string\" ? name : undefined);\n }\n\n /**\n * 获取表单值方法\n */\n @method()\n getFieldsValue(name?: string) {\n return this.formStore.getFieldsValue(\n typeof name === \"string\" ? name : undefined\n );\n }\n\n @property({\n attribute: false,\n })\n accessor formStyle: React.CSSProperties | undefined;\n\n /**\n * 校验表单字段方法\n */\n @method()\n validateField(name: string) {\n this.formStore.validateField(name);\n }\n\n /**\n * 重置表单校验状态方法\n */\n @method()\n resetValidateState() {\n this.formStore.resetValidateState();\n }\n\n render() {\n return (\n <FormComponent\n layout={this.layout}\n size={this.size}\n labelCol={this.labelCol}\n wrapperCol={this.wrapperCol}\n formStyle={this.formStyle}\n />\n );\n }\n}\n\ninterface FormComponentProps extends FormProps {\n formStyle?: React.CSSProperties;\n labelCol?: ColProps;\n wrapperCol?: ColProps;\n onValuesChange?: (value: Record<string, any>) => void;\n onValidateSuccess?: () => void;\n onValidateError?: () => void;\n}\n\nexport function FormComponent({\n layout = \"vertical\",\n formStyle,\n}: FormComponentProps) {\n const computedStyle = useMemo((): React.CSSProperties => {\n switch (layout) {\n case \"vertical\":\n case \"horizontal\": {\n return {\n display: \"flex\",\n flexDirection: \"column\",\n };\n }\n case \"inline\": {\n return {\n display: \"flex\",\n gap: 10,\n };\n }\n default:\n return {};\n }\n }, [layout]);\n\n return (\n <form>\n <slot\n style={{\n ...computedStyle,\n ...(formStyle ? formStyle : {}),\n }}\n />\n </form>\n );\n}\n\nexport { Form, FormProps };\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"names":["uid","Field","constructor","name","detail","_defineProperty","this","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","super","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","setFieldsValueByInitData","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","forEach","fieldName","value","setInitValue","values","isEmitValuseChange","arguments","length","undefined","setFieldsValue","_field$detail","notRender","has","publish","newFormData","cloneDeep","changedValues","_classPrivateFieldGet2","_classPrivateFieldGet3","key","_field$detail2","v","onValuesChanged","allValues","resetFields","unset","resetValidateState","getFieldsValue","_field$detail3","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","filter","_fieldObj$detail","fieldDetail","fieldObj","_fieldObj","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","RegExp","test","checkMin","checkMax","numberValue","parseFloat","isNaN","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","_detail","s","a","obj","privateMap","toPropertyKey","t","i","Symbol","toPrimitive","r","TypeError","String","_checkPrivateRedeclaration","privateCollection","n","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","g","b","applyDec","concat","w","D","S","j","E","I","P","k","F","getOwnPropertyDescriptor","Error","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","defineElement","property","method","createDecorators","_Form","_values","_Form_brand","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","Form","ReactNextElement","_initProto","_init_staticValues","_init_extra_staticValues","_init_layout","_init_extra_layout","_init_size","_init_extra_size","_init_labelCol","sm","span","md","lg","xl","xxl","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_init_autoScrollToInvalidFields","_init_extra_autoScrollToInvalidFields","_init_valuesChangeEvent","_init_extra_valuesChangeEvent","_classPrivateGetter","_get_valuesChangeEvent","emit","_init_successEvent","_init_extra_successEvent","_init_errorEvent","_init_extra_errorEvent","_init_formStyle","_init_extra_formStyle","formStore","handleValuesChange","isFormElement","_setInitValue","staticValues","layout","size","labelCol","wrapperCol","autoScrollToInvalidFields","err","_this$staticValues","_get_errorEvent","_get_successEvent","runInMicrotask","queueMicrotask","runInMacrotask","setTimeout","formStyle","render","React","FormComponent","defaultEmitValuesChange","_ref","computedStyle","useMemo","display","flexDirection","gap","style","_Form2","_set_valuesChangeEvent","_set_successEvent","_set_errorEvent","_initClass","_applyDecs","alias","attribute","Boolean","_","_checkInRHS","writable","privateSet","add","_classPrivateFieldSet2","_topics","_subUid","topic","body","subscribers","len","func","subscribe","fn","_this$subUid","token","toString","unsubscribe","remove","item","_typeof","iterator"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/eo-form.9db78cdb.js","mappings":"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","sources":["webpack:///../../src/FormStore.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/form/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../src/PubSub.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import { isEmpty, get, has, set, unset, cloneDeep } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\nexport interface FieldDetail {\n name: string;\n label?: string;\n notRender?: boolean;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n type?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n this.setFieldsValueByInitData(name);\n }\n #getAllFields() {\n return [...this.#fields.keys()].filter((key) => {\n return !this.#fields.get(key)!.detail?.notRender;\n });\n }\n\n getAllValues() {\n const allFields = this.#getAllFields();\n const formData: Record<string, unknown> = {};\n\n allFields.forEach((fieldName) => {\n const value = get(this.#formData, fieldName);\n set(formData, fieldName, value);\n });\n\n return formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const field = this.#fields.get(name);\n if (field && !field.detail?.notRender && has(this.#initData, name)) {\n const value = get(this.#initData, name);\n set(this.#formData, name, value);\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const newFormData = cloneDeep(this.#formData);\n const changedValues: Record<string, unknown> = {};\n\n this.#fields.forEach((field, key) => {\n if (!field.detail?.notRender && has(values, key)) {\n const v = get(values, key);\n set(newFormData, key, v);\n if (this.#initData) {\n set(this.#initData, key, v);\n }\n this.publish(`${key}.init.value`, v);\n set(changedValues, key, v);\n }\n });\n\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n unset(this.#formData, name);\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n this.resetValidateState();\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n const field = this.#fields.get(name);\n if (field && !field.detail?.notRender) {\n return get(this.#formData, name);\n }\n return undefined;\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n unset(this.#formData, name);\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(\n true,\n results.filter((result) => result?.type !== \"normal\")\n );\n return false;\n } else {\n const formData = this.getAllValues();\n callback(false, formData);\n return formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n let fieldDetail;\n let fieldObj;\n\n if (typeof field === \"string\") {\n fieldObj = this.#fields.get(field);\n fieldDetail = fieldObj?.detail;\n } else {\n fieldDetail = field;\n fieldObj = this.#fields.get(fieldDetail.name);\n }\n\n if (!fieldDetail || (fieldObj && fieldObj.detail?.notRender)) return;\n\n const { name, label, validate } = fieldDetail;\n const validateValue = get(this.#formData, name);\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: unknown): MessageBody => {\n const { required, pattern, message, type, min, max, validator } =\n validate;\n const label = getName();\n\n if (\n typeof value === \"object\"\n ? isEmpty(value)\n : value === undefined || value === \"\"\n ) {\n if (required) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n return messageBody(\"\", \"normal\");\n }\n\n if (typeof value === \"string\" && pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n const checkMin = typeof min === \"number\";\n const checkMax = typeof max === \"number\";\n\n if (type === \"number\") {\n if (typeof value === \"number\" || typeof value === \"string\") {\n const numberValue =\n typeof value === \"number\" ? value : parseFloat(value);\n if (isNaN(numberValue)) {\n return messageBody(`${label}必须是数字`);\n }\n if (checkMin && numberValue < min) {\n return messageBody(message?.min || `${label}不能小于 ${min}`);\n }\n if (checkMax && numberValue > max) {\n return messageBody(message?.max || `${label}不能大于 ${max}`);\n }\n }\n } else if (typeof value === \"string\") {\n if (checkMin && value.length < min) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n if (checkMax && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = { name, ...valid(validate, validateValue) };\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n scrollToField(name: string) {\n this.publish(`${name}.scroll.to`, null);\n }\n\n onWatch(\n name: string,\n event: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n // default first params is value\n const realValue = Array.isArray(value) ? value[0] : value;\n\n this.setFieldsValue({\n [name]: realValue,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.apply(this, value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import React, { useMemo } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n AbstractForm,\n FormStore,\n MessageBody,\n ColProps,\n} from \"@next-shared/form\";\nimport { ComponentSize, Layout } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ninterface FormProps {\n values?: Record<string, any>;\n layout?: Layout;\n size?: ComponentSize;\n autoScrollToInvalidFields?: boolean;\n}\n\nexport interface FormEvents {\n valuesChange?: Event;\n validateSuccess?: Event;\n validateError?: Event;\n}\n\nexport interface FormMapEvents {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\nexport interface EoFormEventsMap {\n \"values.change\": CustomEvent<Record<string, unknown>>;\n \"validate.success\": CustomEvent<Record<string, unknown>>;\n \"validate.error\": CustomEvent<(MessageBody & { name: string })[]>;\n}\n\nexport interface EoFormEventsMapping {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\n/**\n * 表单构件\n * @author sailor\n * @slot - 表单内容\n * @category form-input-basic\n */\n@defineElement(\"eo-form\", {\n alias: [\"form.general-form\"],\n})\nclass Form extends ReactNextElement implements FormProps, AbstractForm {\n formStore: FormStore;\n #values!: Record<string, unknown>;\n defaultEmitValuesChange = true;\n\n constructor() {\n super();\n this.formStore = FormStore.getInstance({\n onValuesChanged: this.handleValuesChange,\n });\n }\n\n get isFormElement(): true {\n return true;\n }\n\n set values(value: Record<string, unknown>) {\n this.#values = value;\n\n this.#setInitValue(value);\n }\n get values(): Record<string, unknown> {\n return this.#values;\n }\n\n #setInitValue(values: Record<string, unknown>) {\n this.formStore.setInitValue(values, this.defaultEmitValuesChange);\n }\n\n /**\n * 静态附加值,在表单验证成功时会合并到 validate.success 事件的 detail 中\n */\n @property({\n attribute: false,\n })\n accessor staticValues: Record<string, unknown> | undefined;\n\n /**\n * 布局方式(默认 vertical 布局)\n * @default vertical\n */\n @property() accessor layout: Layout = \"vertical\";\n\n /**\n * 表单组件尺寸\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 标签列布局样式(仅当 layout=\"horizontal\" 时有效)\n */\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps = {\n sm: {\n span: 24,\n },\n md: {\n span: 24,\n },\n lg: {\n span: 7,\n },\n xl: {\n span: 5,\n },\n xxl: {\n span: 4,\n },\n };\n\n /**\n * 输入控件列布局样式(仅当 layout=\"horizontal\" 时有效)\n */\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps = {\n sm: {\n span: 18,\n },\n md: {\n span: 18,\n },\n lg: {\n span: 13,\n },\n xl: {\n span: 16,\n },\n xxl: {\n span: 18,\n },\n };\n\n /**\n * 是否在验证失败时自动滚动到第一个错误字段\n */\n @property({ render: false, type: Boolean })\n accessor autoScrollToInvalidFields: boolean | undefined;\n\n /**\n * 表单值变更事件\n * @detail 当前所有表单字段的值\n */\n @event({ type: \"values.change\" }) accessor #valuesChangeEvent!: EventEmitter<\n Record<string, unknown>\n >;\n handleValuesChange = (values: Record<string, unknown>) => {\n this.#valuesChangeEvent.emit(values);\n };\n\n /**\n * 表单验证成功时触发事件\n * @detail 表单所有字段的值,包含合并后的 staticValues\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n * @detail 校验失败的字段信息列表,每项包含 name(字段名)及错误消息\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<\n (MessageBody & { name: string })[]\n >;\n\n /**\n * 表单校验方法\n */\n @method()\n validate(): boolean | Record<string, unknown> {\n return this.formStore.validateFields((err, values) => {\n if (err) {\n this.#errorEvent.emit(values);\n if (this.autoScrollToInvalidFields && values.length > 0) {\n this.formStore.scrollToField(values[0].name);\n }\n } else {\n this.#successEvent.emit({\n ...(this.staticValues ?? {}),\n ...values,\n });\n }\n });\n }\n\n /**\n * 表单设置值方法\n * @param values - 要设置的表单字段值\n * @param options - 可选配置,支持 runInMicrotask(微任务中执行)和 runInMacrotask(宏任务中执行)\n */\n @method()\n setInitValue(\n values: Record<string, unknown>,\n options?: { runInMacrotask?: boolean; runInMicrotask?: boolean }\n ): void {\n if (options) {\n options.runInMicrotask &&\n queueMicrotask(() => {\n this.values = values;\n });\n options.runInMacrotask &&\n setTimeout(() => {\n this.values = values;\n });\n } else {\n this.values = values;\n }\n }\n\n /**\n * 表单重置值方法\n * @param name - 要重置的字段名,不传则重置所有字段\n */\n @method()\n resetFields(name?: string): void {\n this.formStore.resetFields(typeof name === \"string\" ? name : undefined);\n }\n\n /**\n * 获取表单值方法\n * @param name - 要获取的字段名,不传则获取所有字段的值\n * @returns 指定字段的值,或所有字段值的对象\n */\n @method()\n getFieldsValue(name?: string): Record<string, unknown> | unknown {\n return this.formStore.getFieldsValue(\n typeof name === \"string\" ? name : undefined\n );\n }\n\n /**\n * 表单自定义样式\n */\n @property({\n attribute: false,\n })\n accessor formStyle: React.CSSProperties | undefined;\n\n /**\n * 校验表单字段方法\n * @param name - 要校验的字段名\n */\n @method()\n validateField(name: string): void {\n this.formStore.validateField(name);\n }\n\n /**\n * 重置表单校验状态方法\n */\n @method()\n resetValidateState(): void {\n this.formStore.resetValidateState();\n }\n\n render() {\n return (\n <FormComponent\n layout={this.layout}\n size={this.size}\n labelCol={this.labelCol}\n wrapperCol={this.wrapperCol}\n formStyle={this.formStyle}\n />\n );\n }\n}\n\ninterface FormComponentProps extends FormProps {\n formStyle?: React.CSSProperties;\n labelCol?: ColProps;\n wrapperCol?: ColProps;\n onValuesChange?: (value: Record<string, any>) => void;\n onValidateSuccess?: () => void;\n onValidateError?: () => void;\n}\n\nexport function FormComponent({\n layout = \"vertical\",\n formStyle,\n}: FormComponentProps) {\n const computedStyle = useMemo((): React.CSSProperties => {\n switch (layout) {\n case \"vertical\":\n case \"horizontal\": {\n return {\n display: \"flex\",\n flexDirection: \"column\",\n };\n }\n case \"inline\": {\n return {\n display: \"flex\",\n gap: 10,\n };\n }\n default:\n return {};\n }\n }, [layout]);\n\n return (\n <form>\n <slot\n style={{\n ...computedStyle,\n ...(formStyle ? formStyle : {}),\n }}\n />\n </form>\n );\n}\n\nexport { Form, FormProps };\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"names":["uid","Field","constructor","name","detail","_defineProperty","this","field","_fields","WeakMap","_options","_formData","_initData","_FormStore_brand","WeakSet","FormStore","PubSub","getInstance","options","instance","get","set","super","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Map","_classPrivateFieldSet","setField","_classPrivateFieldGet","setFieldsValueByInitData","getAllValues","allFields","_assertClassBrand","_getAllFields","call","formData","forEach","fieldName","value","setInitValue","values","isEmitValuseChange","arguments","length","undefined","setFieldsValue","_field$detail","notRender","has","publish","newFormData","cloneDeep","changedValues","_classPrivateFieldGet2","_classPrivateFieldGet3","key","_field$detail2","v","onValuesChanged","allValues","resetFields","unset","resetValidateState","getFieldsValue","_field$detail3","removeField","delete","validateFields","callback","results","push","validateField","some","result","type","filter","_fieldObj$detail","fieldDetail","fieldObj","_fieldObj","label","validate","validateValue","messageBody","message","getName","valid","required","pattern","min","max","validator","isEmpty","RegExp","test","checkMin","checkMax","numberValue","parseFloat","isNaN","parsedValidator","Array","isArray","getValueFromEvent","e","target","checked","scrollToField","onWatch","event","_options$needValidate","realValue","needValidate","apply","onChange","_options$needValidate2","keys","_detail","s","a","obj","privateMap","toPropertyKey","t","i","Symbol","toPrimitive","r","TypeError","String","_checkPrivateRedeclaration","privateCollection","n","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","g","b","applyDec","concat","w","D","S","j","E","I","P","k","F","getOwnPropertyDescriptor","Error","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","defineElement","property","method","createDecorators","_Form","_values","_Form_brand","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","Form","ReactNextElement","_initProto","_init_staticValues","_init_extra_staticValues","_init_layout","_init_extra_layout","_init_size","_init_extra_size","_init_labelCol","sm","span","md","lg","xl","xxl","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","_init_autoScrollToInvalidFields","_init_extra_autoScrollToInvalidFields","_init_valuesChangeEvent","_init_extra_valuesChangeEvent","_classPrivateGetter","_get_valuesChangeEvent","emit","_init_successEvent","_init_extra_successEvent","_init_errorEvent","_init_extra_errorEvent","_init_formStyle","_init_extra_formStyle","formStore","handleValuesChange","isFormElement","_setInitValue","staticValues","layout","size","labelCol","wrapperCol","autoScrollToInvalidFields","err","_this$staticValues","_get_errorEvent","_get_successEvent","runInMicrotask","queueMicrotask","runInMacrotask","setTimeout","formStyle","render","React","FormComponent","defaultEmitValuesChange","_ref","computedStyle","useMemo","display","flexDirection","gap","style","_Form2","_set_valuesChangeEvent","_set_successEvent","_set_errorEvent","_initClass","_applyDecs","alias","attribute","Boolean","_","_checkInRHS","writable","privateSet","add","_classPrivateFieldSet2","_topics","_subUid","topic","body","subscribers","len","func","subscribe","fn","_this$subUid","token","toString","unsubscribe","remove","item","_typeof","iterator"],"sourceRoot":""}
|