@next-libs/visual-builder 1.13.1 → 1.13.3
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/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/brick-visualization.js +2 -4
- package/dist/cjs/interfaces/brick-visualization.js.map +1 -1
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/workbench-mini-action-bar.js.map +1 -1
- package/dist/cjs/utils/deepMatch.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/visual-property-form/VisualPropertyForm.js +1 -2
- package/dist/cjs/visual-property-form/VisualPropertyForm.js.map +1 -1
- package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js +2 -4
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/ListEditor/ListEditor.js.map +1 -1
- package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/MessageEditor/MessageEditor.js.map +1 -1
- package/dist/cjs/visual-property-form/constant.js +5 -10
- package/dist/cjs/visual-property-form/constant.js.map +1 -1
- package/dist/cjs/visual-property-form/processor.js.map +1 -1
- package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/brick-visualization.js.map +1 -1
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/workbench-mini-action-bar.js.map +1 -1
- package/dist/esm/utils/deepMatch.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/visual-property-form/VisualPropertyForm.js.map +1 -1
- package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/ListEditor/ListEditor.js.map +1 -1
- package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/MessageEditor/MessageEditor.js.map +1 -1
- package/dist/esm/visual-property-form/constant.js.map +1 -1
- package/dist/esm/visual-property-form/processor.js +2 -2
- package/dist/esm/visual-property-form/processor.js.map +1 -1
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/types/visual-property-form/components/ColorEditor/ColorEditorItem.d.ts +2 -2
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageEditor.js","names":["MessageEditor","name","label","value","required","onChange","renderForm","style","minWidth","pattern","max","min","styles","messageEditorContainer","message","zIndex","
|
|
1
|
+
{"version":3,"file":"MessageEditor.js","names":["_antd","require","_react","_interopRequireDefault","_MessageEditorModule","_basicComponents","MessageEditor","name","label","value","required","onChange","renderForm","default","createElement","Form","layout","labelAlign","labelCol","style","minWidth","onValuesChange","Item","Input","defaultValue","pattern","max","min","className","styles","messageEditorContainer","key","rules","message","Popover","overlayStyle","zIndex","content","title","trigger","placement","editBtn","GeneralIcon","icon","lib","category","color","padding"],"sources":["../../../../../src/visual-property-form/components/MessageEditor/MessageEditor.tsx"],"sourcesContent":["import { Form, Input, Popover } from \"antd\";\nimport React from \"react\";\nimport styles from \"./MessageEditor.module.css\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\n\ninterface MessageEditorProps {\n name?: string;\n label?: string | React.ReactElement;\n value?: Record<string, any>;\n required?: boolean;\n onChange?: (data: any) => void;\n}\n\nexport function MessageEditor({\n name,\n label,\n value = {},\n required,\n onChange,\n}: MessageEditorProps): React.ReactElement {\n const renderForm = (value: Record<string, any>) => {\n return (\n <Form\n layout=\"horizontal\"\n labelAlign=\"left\"\n labelCol={{\n style: {\n minWidth: \"112px\",\n },\n }}\n onValuesChange={onChange}\n >\n <Form.Item name=\"pattern\" label=\"pattern\">\n <Input defaultValue={value.pattern} />\n </Form.Item>\n <Form.Item name=\"required\" label=\"required\">\n <Input defaultValue={value.required} />\n </Form.Item>\n <Form.Item name=\"max\" label=\"max\">\n <Input defaultValue={value.max} />\n </Form.Item>\n <Form.Item name=\"min\" label=\"min\">\n <Input defaultValue={value.min} />\n </Form.Item>\n </Form>\n );\n };\n\n return (\n <div className={styles.messageEditorContainer}>\n <Form.Item\n key={name}\n name={name}\n label={label}\n rules={[{ required: required, message: `请输入${name}` }]}\n >\n <Popover\n overlayStyle={{\n zIndex: 999,\n }}\n content={renderForm(value)}\n title=\"Detail\"\n trigger=\"click\"\n placement=\"left\"\n >\n <div className={styles.editBtn}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"edit\",\n color: \"gray\",\n }}\n style={{\n padding: 4,\n }}\n />\n </div>\n </Popover>\n </Form.Item>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.supportMenuType = exports.supportBasicType = exports.groupI18nMap = exports.defaultCommonProps = exports.OTHER_FORM_ITEM_FIELD = void 0;
|
|
7
|
-
const groupI18nMap = {
|
|
7
|
+
const groupI18nMap = exports.groupI18nMap = {
|
|
8
8
|
basic: {
|
|
9
9
|
en: "Basic",
|
|
10
10
|
zh: "基础"
|
|
@@ -42,14 +42,10 @@ const groupI18nMap = {
|
|
|
42
42
|
zh: "其他"
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
exports.
|
|
46
|
-
const
|
|
47
|
-
exports.
|
|
48
|
-
const
|
|
49
|
-
exports.supportMenuType = supportMenuType;
|
|
50
|
-
const OTHER_FORM_ITEM_FIELD = "others";
|
|
51
|
-
exports.OTHER_FORM_ITEM_FIELD = OTHER_FORM_ITEM_FIELD;
|
|
52
|
-
const defaultCommonProps = [{
|
|
45
|
+
const supportBasicType = exports.supportBasicType = ["boolean", "number", "string", "string[]", "MenuIcon", "Color"];
|
|
46
|
+
const supportMenuType = exports.supportMenuType = ["Menu", "SidebarSubMenu"];
|
|
47
|
+
const OTHER_FORM_ITEM_FIELD = exports.OTHER_FORM_ITEM_FIELD = "others";
|
|
48
|
+
const defaultCommonProps = exports.defaultCommonProps = [{
|
|
53
49
|
name: "id",
|
|
54
50
|
type: "string",
|
|
55
51
|
description: "构件 ID",
|
|
@@ -62,5 +58,4 @@ const defaultCommonProps = [{
|
|
|
62
58
|
group: "style",
|
|
63
59
|
groupI18N: groupI18nMap
|
|
64
60
|
}];
|
|
65
|
-
exports.defaultCommonProps = defaultCommonProps;
|
|
66
61
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["groupI18nMap","basic","en","zh","ui","style","advanced","basicFormItem","advancedFormItem","formValidation","formLabel","other","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","name","type","description","group","groupI18N"],"sources":["../../../src/visual-property-form/constant.ts"],"sourcesContent":["import { PropertyType } from \"../interfaces\";\n\nexport const groupI18nMap = {\n basic: {\n en: \"Basic\",\n zh: \"基础\",\n },\n ui: {\n en: \"UI\",\n zh: \"外观\",\n },\n style: {\n en: \"Style\",\n zh: \"样式\",\n },\n advanced: {\n en: \"Advanced\",\n zh: \"高级\",\n },\n basicFormItem: {\n en: \"Basic Form Item\",\n zh: \"表单项常用\",\n },\n advancedFormItem: {\n en: \"Advanced Form Item\",\n zh: \"表单项高级\",\n },\n formValidation: {\n en: \"Validation\",\n zh: \"数据验证\",\n },\n formLabel: {\n en: \"Label\",\n zh: \"标签\",\n },\n other: {\n en: \"Other\",\n zh: \"其他\",\n },\n};\n\nexport const supportBasicType = [\n \"boolean\",\n \"number\",\n \"string\",\n \"string[]\",\n \"MenuIcon\",\n \"Color\",\n];\n\nexport const supportMenuType = [\"Menu\", \"SidebarSubMenu\"];\n\nexport const OTHER_FORM_ITEM_FIELD = \"others\";\n\nexport const defaultCommonProps: PropertyType[] = [\n {\n name: \"id\",\n type: \"string\",\n description: \"构件 ID\",\n group: \"basic\",\n groupI18N: groupI18nMap,\n },\n {\n name: \"style\",\n type: \"Record<string, any>\",\n description: \"构件样式\",\n group: \"style\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":";;;;;;AAEO,MAAMA,YAAY,GAAG;
|
|
1
|
+
{"version":3,"file":"constant.js","names":["groupI18nMap","exports","basic","en","zh","ui","style","advanced","basicFormItem","advancedFormItem","formValidation","formLabel","other","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","name","type","description","group","groupI18N"],"sources":["../../../src/visual-property-form/constant.ts"],"sourcesContent":["import { PropertyType } from \"../interfaces\";\n\nexport const groupI18nMap = {\n basic: {\n en: \"Basic\",\n zh: \"基础\",\n },\n ui: {\n en: \"UI\",\n zh: \"外观\",\n },\n style: {\n en: \"Style\",\n zh: \"样式\",\n },\n advanced: {\n en: \"Advanced\",\n zh: \"高级\",\n },\n basicFormItem: {\n en: \"Basic Form Item\",\n zh: \"表单项常用\",\n },\n advancedFormItem: {\n en: \"Advanced Form Item\",\n zh: \"表单项高级\",\n },\n formValidation: {\n en: \"Validation\",\n zh: \"数据验证\",\n },\n formLabel: {\n en: \"Label\",\n zh: \"标签\",\n },\n other: {\n en: \"Other\",\n zh: \"其他\",\n },\n};\n\nexport const supportBasicType = [\n \"boolean\",\n \"number\",\n \"string\",\n \"string[]\",\n \"MenuIcon\",\n \"Color\",\n];\n\nexport const supportMenuType = [\"Menu\", \"SidebarSubMenu\"];\n\nexport const OTHER_FORM_ITEM_FIELD = \"others\";\n\nexport const defaultCommonProps: PropertyType[] = [\n {\n name: \"id\",\n type: \"string\",\n description: \"构件 ID\",\n group: \"basic\",\n groupI18N: groupI18nMap,\n },\n {\n name: \"style\",\n type: \"Record<string, any>\",\n description: \"构件样式\",\n group: \"style\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":";;;;;;AAEO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,KAAK,EAAE;IACLC,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDC,EAAE,EAAE;IACFF,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDE,KAAK,EAAE;IACLH,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDG,QAAQ,EAAE;IACRJ,EAAE,EAAE,UAAU;IACdC,EAAE,EAAE;EACN,CAAC;EACDI,aAAa,EAAE;IACbL,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACN,CAAC;EACDK,gBAAgB,EAAE;IAChBN,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE;EACN,CAAC;EACDM,cAAc,EAAE;IACdP,EAAE,EAAE,YAAY;IAChBC,EAAE,EAAE;EACN,CAAC;EACDO,SAAS,EAAE;IACTR,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDQ,KAAK,EAAE;IACLT,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN;AACF,CAAC;AAEM,MAAMS,gBAAgB,GAAAZ,OAAA,CAAAY,gBAAA,GAAG,CAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,CACR;AAEM,MAAMC,eAAe,GAAAb,OAAA,CAAAa,eAAA,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAElD,MAAMC,qBAAqB,GAAAd,OAAA,CAAAc,qBAAA,GAAG,QAAQ;AAEtC,MAAMC,kBAAkC,GAAAf,OAAA,CAAAe,kBAAA,GAAG,CAChD;EACEC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,OAAO;EACpBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAErB;AACb,CAAC,EACD;EACEiB,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAErB;AACb,CAAC,CACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","ItemModeType","Advanced","yamlStringify","Normal","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","replace","yaml","safeLoad","json","matchNoramlMenuValue","reg","match","calcMenuValue","calculateValue","typeList","othersValue","key","Object","entries","find","processValue","reduce","obj","v","undefined","supportBasicType","concat","supportMenuType","type","selected","typeItem","OTHER_FORM_ITEM_FIELD","isEmpty","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","omit","groupByType","normals","filter","group","others","styles","groupBy","groupI18N","groupI18nMap","i18nData","i18nText","extractCommonProps","sharedPropertyList","defaultCommonProps"],"sources":["../../../src/visual-property-form/processor.ts"],"sourcesContent":["import { i18nText } from \"@next-core/brick-kit\";\nimport {\n PropertyType,\n UnionPropertyType,\n BrickProperties,\n ItemModeType,\n} from \"../interfaces\";\nimport { safeDump, JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { omit, isEmpty, groupBy } from \"lodash\";\nimport {\n supportBasicType,\n supportMenuType,\n OTHER_FORM_ITEM_FIELD,\n defaultCommonProps,\n groupI18nMap,\n} from \"./constant\";\n\nexport function isAdvanceMode(value: unknown): boolean {\n if (\n (typeof value === \"string\" &&\n (value.startsWith(\"<%\") || value.includes(\"${\"))) ||\n typeof value === \"object\"\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function mergeProperties(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {}\n): UnionPropertyType[] {\n return propertyList?.map((item) => {\n if (isAdvanceMode(brickProperties?.[item.name])) {\n return {\n ...item,\n mode: ItemModeType.Advanced,\n value: yamlStringify(brickProperties?.[item.name]),\n };\n } else {\n return {\n ...item,\n mode: ItemModeType.Normal,\n value: brickProperties?.[item.name],\n };\n }\n });\n}\n\nexport function yamlStringify(value: unknown, indent = 2): string {\n return safeDump(value, {\n indent,\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n }).replace(/[\\n\\r]+$/, \"\");\n}\n\nexport function yaml(value: string): any {\n return safeLoad(value, { schema: JSON_SCHEMA, json: true });\n}\n\nexport function matchNoramlMenuValue(value: unknown): unknown {\n if (typeof value === \"string\") {\n const reg = /<% APP\\.getMenu\\((.*)\\) %>/;\n return value.match(reg)?.[1]?.replace(/'|\"/g, \"\") || value;\n }\n return yamlStringify(value);\n}\n\nfunction calcMenuValue(value: string): string {\n if (typeof value === \"string\") {\n if (value.startsWith(\"<%\")) {\n return value;\n }\n return `<% APP.getMenu('${value}') %>`;\n }\n return value;\n}\n\nexport function calculateValue(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {},\n typeList: UnionPropertyType[] = []\n): Record<string, any> {\n const othersValue: Record<string, any> = {};\n for (const [key, value] of Object.entries(brickProperties)) {\n const find = propertyList.find((item) => item.name === key);\n if (!find) {\n othersValue[key] = value;\n }\n }\n\n const processValue = propertyList.reduce((obj: any, item) => {\n const v = brickProperties[item.name];\n obj[item.name] = v;\n if (v !== undefined) {\n if (\n !supportBasicType\n .concat(supportMenuType)\n .includes(item.type as string) || // 非已知类型\n typeof v === \"object\" // 值为object\n ) {\n obj[item.name] = yamlStringify(v);\n }\n\n if (supportMenuType.includes(item.type as string)) {\n const selected = typeList.find(\n (typeItem) => typeItem.name === item.name\n );\n if (selected?.mode === ItemModeType.Advanced) {\n obj[item.name] = yamlStringify(v);\n } else {\n obj[item.name] = matchNoramlMenuValue(v);\n }\n }\n }\n return obj;\n }, {});\n\n return {\n ...processValue,\n [OTHER_FORM_ITEM_FIELD]: isEmpty(othersValue)\n ? \"\"\n : yamlStringify(othersValue),\n };\n}\n\n/**\n * @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理\n * 1. 当前属性的类型不是内置支持的类型\n * 2. 当前属性虽然是支持的类型,但是当前切换到高级模式编辑\n * 3. 不是构件本身申明的属性,为 html 共有的通用属性,目前统一放在 others 的编辑器中\n * 4. 表达式也不需要解析成 JSON 模式\n * @param field 字段值\n * @param typeList 属性列表包含每个属性的类型和当前编辑模式\n * @return boolean\n */\n\nexport function isUseYamlParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n if (typeof field.value !== \"string\") {\n return false;\n } else if (field.value.startsWith(\"<%\") || field.value.includes(\"${\")) {\n return false;\n }\n\n if (field.key === OTHER_FORM_ITEM_FIELD) return true;\n\n const find = typeList?.find((item) => item.name === field.key);\n\n if (find) {\n if (\n supportMenuType.includes(find.type as string) &&\n find.mode !== ItemModeType.Advanced\n )\n return false;\n\n const isBasicType = supportBasicType.includes(find.type as string);\n\n if (isBasicType && find.mode === ItemModeType.Advanced) return true;\n\n if (!isBasicType) return true;\n }\n\n return false;\n}\n\nexport function isUseMenuParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n const item = typeList.find((item) => item.name === field.key);\n if (supportMenuType.includes(item?.type as string)) {\n return true;\n }\n return false;\n}\n\nexport function processFormValue(\n values = {},\n typeList: UnionPropertyType[]\n): Record<string, any> {\n const formData: Record<string, any> = {};\n for (const [key, value] of Object.entries(values)) {\n if (isUseYamlParse({ key, value }, typeList)) {\n formData[key] = yaml(value as any);\n } else if (isUseMenuParse({ key, value }, typeList)) {\n formData[key] = calcMenuValue(value as string);\n } else {\n formData[key] = value;\n }\n }\n\n return {\n ...omit(formData, OTHER_FORM_ITEM_FIELD),\n ...(isEmpty(formData[OTHER_FORM_ITEM_FIELD])\n ? {}\n : formData[OTHER_FORM_ITEM_FIELD]),\n };\n}\n\nexport function groupByType(\n typeList: UnionPropertyType[] = []\n): Array<[string, UnionPropertyType[]]> {\n const normals = typeList.filter(\n (item) => item.group !== \"other\" && item.group !== \"style\"\n );\n const others = typeList.filter((item) => item.group === \"other\");\n const styles = typeList.filter((item) => item.group === \"style\");\n\n return Object.entries(\n groupBy(normals.concat(styles).concat(others), (item) => {\n const group = item.group || \"basic\";\n const groupI18N: Record<string, any> = {\n ...groupI18nMap,\n ...item.groupI18N,\n };\n const i18nData = groupI18N && groupI18N[group];\n if (i18nData) {\n return i18nText(i18nData);\n }\n\n return group;\n })\n );\n}\n\nexport function extractCommonProps(\n typeList: PropertyType[],\n sharedPropertyList?: PropertyType[]\n): PropertyType[] {\n if (isEmpty(typeList)) return [];\n\n if (sharedPropertyList) {\n return sharedPropertyList.concat(typeList);\n }\n\n return defaultCommonProps.concat(typeList);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processor.js","names":["_brickKit","require","_interfaces","_jsYaml","_lodash","_constant","isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","ItemModeType","Advanced","yamlStringify","Normal","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","replace","yaml","safeLoad","json","matchNoramlMenuValue","_value$match","_value$match$","reg","match","calcMenuValue","calculateValue","typeList","othersValue","key","Object","entries","find","processValue","reduce","obj","v","undefined","supportBasicType","concat","supportMenuType","type","selected","typeItem","OTHER_FORM_ITEM_FIELD","isEmpty","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","omit","groupByType","normals","filter","group","others","styles","groupBy","groupI18N","groupI18nMap","i18nData","i18nText","extractCommonProps","sharedPropertyList","defaultCommonProps"],"sources":["../../../src/visual-property-form/processor.ts"],"sourcesContent":["import { i18nText } from \"@next-core/brick-kit\";\nimport {\n PropertyType,\n UnionPropertyType,\n BrickProperties,\n ItemModeType,\n} from \"../interfaces\";\nimport { safeDump, JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { omit, isEmpty, groupBy } from \"lodash\";\nimport {\n supportBasicType,\n supportMenuType,\n OTHER_FORM_ITEM_FIELD,\n defaultCommonProps,\n groupI18nMap,\n} from \"./constant\";\n\nexport function isAdvanceMode(value: unknown): boolean {\n if (\n (typeof value === \"string\" &&\n (value.startsWith(\"<%\") || value.includes(\"${\"))) ||\n typeof value === \"object\"\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function mergeProperties(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {}\n): UnionPropertyType[] {\n return propertyList?.map((item) => {\n if (isAdvanceMode(brickProperties?.[item.name])) {\n return {\n ...item,\n mode: ItemModeType.Advanced,\n value: yamlStringify(brickProperties?.[item.name]),\n };\n } else {\n return {\n ...item,\n mode: ItemModeType.Normal,\n value: brickProperties?.[item.name],\n };\n }\n });\n}\n\nexport function yamlStringify(value: unknown, indent = 2): string {\n return safeDump(value, {\n indent,\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n }).replace(/[\\n\\r]+$/, \"\");\n}\n\nexport function yaml(value: string): any {\n return safeLoad(value, { schema: JSON_SCHEMA, json: true });\n}\n\nexport function matchNoramlMenuValue(value: unknown): unknown {\n if (typeof value === \"string\") {\n const reg = /<% APP\\.getMenu\\((.*)\\) %>/;\n return value.match(reg)?.[1]?.replace(/'|\"/g, \"\") || value;\n }\n return yamlStringify(value);\n}\n\nfunction calcMenuValue(value: string): string {\n if (typeof value === \"string\") {\n if (value.startsWith(\"<%\")) {\n return value;\n }\n return `<% APP.getMenu('${value}') %>`;\n }\n return value;\n}\n\nexport function calculateValue(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {},\n typeList: UnionPropertyType[] = []\n): Record<string, any> {\n const othersValue: Record<string, any> = {};\n for (const [key, value] of Object.entries(brickProperties)) {\n const find = propertyList.find((item) => item.name === key);\n if (!find) {\n othersValue[key] = value;\n }\n }\n\n const processValue = propertyList.reduce((obj: any, item) => {\n const v = brickProperties[item.name];\n obj[item.name] = v;\n if (v !== undefined) {\n if (\n !supportBasicType\n .concat(supportMenuType)\n .includes(item.type as string) || // 非已知类型\n typeof v === \"object\" // 值为object\n ) {\n obj[item.name] = yamlStringify(v);\n }\n\n if (supportMenuType.includes(item.type as string)) {\n const selected = typeList.find(\n (typeItem) => typeItem.name === item.name\n );\n if (selected?.mode === ItemModeType.Advanced) {\n obj[item.name] = yamlStringify(v);\n } else {\n obj[item.name] = matchNoramlMenuValue(v);\n }\n }\n }\n return obj;\n }, {});\n\n return {\n ...processValue,\n [OTHER_FORM_ITEM_FIELD]: isEmpty(othersValue)\n ? \"\"\n : yamlStringify(othersValue),\n };\n}\n\n/**\n * @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理\n * 1. 当前属性的类型不是内置支持的类型\n * 2. 当前属性虽然是支持的类型,但是当前切换到高级模式编辑\n * 3. 不是构件本身申明的属性,为 html 共有的通用属性,目前统一放在 others 的编辑器中\n * 4. 表达式也不需要解析成 JSON 模式\n * @param field 字段值\n * @param typeList 属性列表包含每个属性的类型和当前编辑模式\n * @return boolean\n */\n\nexport function isUseYamlParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n if (typeof field.value !== \"string\") {\n return false;\n } else if (field.value.startsWith(\"<%\") || field.value.includes(\"${\")) {\n return false;\n }\n\n if (field.key === OTHER_FORM_ITEM_FIELD) return true;\n\n const find = typeList?.find((item) => item.name === field.key);\n\n if (find) {\n if (\n supportMenuType.includes(find.type as string) &&\n find.mode !== ItemModeType.Advanced\n )\n return false;\n\n const isBasicType = supportBasicType.includes(find.type as string);\n\n if (isBasicType && find.mode === ItemModeType.Advanced) return true;\n\n if (!isBasicType) return true;\n }\n\n return false;\n}\n\nexport function isUseMenuParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n const item = typeList.find((item) => item.name === field.key);\n if (supportMenuType.includes(item?.type as string)) {\n return true;\n }\n return false;\n}\n\nexport function processFormValue(\n values = {},\n typeList: UnionPropertyType[]\n): Record<string, any> {\n const formData: Record<string, any> = {};\n for (const [key, value] of Object.entries(values)) {\n if (isUseYamlParse({ key, value }, typeList)) {\n formData[key] = yaml(value as any);\n } else if (isUseMenuParse({ key, value }, typeList)) {\n formData[key] = calcMenuValue(value as string);\n } else {\n formData[key] = value;\n }\n }\n\n return {\n ...omit(formData, OTHER_FORM_ITEM_FIELD),\n ...(isEmpty(formData[OTHER_FORM_ITEM_FIELD])\n ? {}\n : formData[OTHER_FORM_ITEM_FIELD]),\n };\n}\n\nexport function groupByType(\n typeList: UnionPropertyType[] = []\n): Array<[string, UnionPropertyType[]]> {\n const normals = typeList.filter(\n (item) => item.group !== \"other\" && item.group !== \"style\"\n );\n const others = typeList.filter((item) => item.group === \"other\");\n const styles = typeList.filter((item) => item.group === \"style\");\n\n return Object.entries(\n groupBy(normals.concat(styles).concat(others), (item) => {\n const group = item.group || \"basic\";\n const groupI18N: Record<string, any> = {\n ...groupI18nMap,\n ...item.groupI18N,\n };\n const i18nData = groupI18N && groupI18N[group];\n if (i18nData) {\n return i18nText(i18nData);\n }\n\n return group;\n })\n );\n}\n\nexport function extractCommonProps(\n typeList: PropertyType[],\n sharedPropertyList?: PropertyType[]\n): PropertyType[] {\n if (isEmpty(typeList)) return [];\n\n if (sharedPropertyList) {\n return sharedPropertyList.concat(typeList);\n }\n\n return defaultCommonProps.concat(typeList);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","classNames","styles","actionsBar","map","action","
|
|
1
|
+
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_antd","_brickKit","_basicComponents","_WorkbenchMiniActionBarModule","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","default","createElement","classNames","styles","actionsBar","style","map","WorkbenchSubAction","key","action","_action$iconUseBrick","disabled","linkRef","useRef","handleActionClick","useCallback","event","preventDefault","stopPropagation","clientX","clientY","useEffect","link","current","addEventListener","removeEventListener","preventMouseEvent","title","role","ref","onClick","onContextMenu","onMouseDown","Tooltip","tooltip","iconUseBrick","useBrick","BrickAsComponent","GeneralIcon","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"antd\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n useNativeEvent={useNativeEvent}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <Tooltip title={action.tooltip}>\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent\n useBrick={action.iconUseBrick.useBrick}\n data={data}\n />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </Tooltip>\n </a>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./visual-property-form/VisualPropertyForm\";\nexport * from \"./interfaces\";\nexport * from \"./visual-property-form/processor\";\nexport * from \"./workbench-mini-action-bar/WorkbenchMiniActionBar\";\nexport * from \"./utils\";\n"],"mappings":"AAAA,cAAc,2CAA2C;AACzD,cAAc,cAAc;AAC5B,cAAc,kCAAkC;AAChD,cAAc,oDAAoD;AAClE,cAAc,SAAS"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./visual-property-form/VisualPropertyForm\";\nexport * from \"./interfaces\";\nexport * from \"./visual-property-form/processor\";\nexport * from \"./workbench-mini-action-bar/WorkbenchMiniActionBar\";\nexport * from \"./utils\";\n"],"mappings":"AAAA,cAAc,2CAA2C;AACzD,cAAc,cAAc;AAC5B,cAAc,kCAAkC;AAChD,cAAc,oDAAoD;AAClE,cAAc,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brick-visualization.js","names":["Required","ItemModeType"],"sources":["../../../src/interfaces/brick-visualization.ts"],"sourcesContent":["import { FormInstance } from \"antd/lib/form\";\n\nexport type FormItemType =\n | boolean\n | string\n | string[]\n | number\n | Record<string, any>;\n\nexport enum Required {\n True = \"true\",\n False = \"false\",\n}\n\nexport enum ItemModeType {\n Normal = \"normal\",\n Advanced = \"advanced\",\n}\n\nexport interface PropertyType {\n type: FormItemType;\n name: string;\n editor?:\n | {\n model?: string;\n }\n | string;\n editorProps?: Record<string, any>;\n required?: Required;\n description?: string;\n default?: string;\n group?: string;\n groupI18N?: Record<string, { [language: string]: string }>;\n enums?: string;\n}\n\nexport interface UnionPropertyType extends PropertyType {\n mode?: ItemModeType;\n value?: any;\n jsonSchema?: Record<string, any>;\n schemaRef?: string;\n modeValueMap?: Record<string, any>;\n}\n\nexport type BrickProperties = Record<string, any>;\n\nexport interface visualFormUtils extends Partial<FormInstance> {\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => void;\n getCurTypeList: () => UnionPropertyType[];\n}\n"],"mappings":"AASA,WAAYA,QAAQ;AAGnB,WAHWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ;AAKpB,WAAYC,YAAY;AAGvB,WAHWA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAZA,YAAY"}
|
|
1
|
+
{"version":3,"file":"brick-visualization.js","names":["Required","ItemModeType"],"sources":["../../../src/interfaces/brick-visualization.ts"],"sourcesContent":["import { FormInstance } from \"antd/lib/form\";\n\nexport type FormItemType =\n | boolean\n | string\n | string[]\n | number\n | Record<string, any>;\n\nexport enum Required {\n True = \"true\",\n False = \"false\",\n}\n\nexport enum ItemModeType {\n Normal = \"normal\",\n Advanced = \"advanced\",\n}\n\nexport interface PropertyType {\n type: FormItemType;\n name: string;\n editor?:\n | {\n model?: string;\n }\n | string;\n editorProps?: Record<string, any>;\n required?: Required;\n description?: string;\n default?: string;\n group?: string;\n groupI18N?: Record<string, { [language: string]: string }>;\n enums?: string;\n}\n\nexport interface UnionPropertyType extends PropertyType {\n mode?: ItemModeType;\n value?: any;\n jsonSchema?: Record<string, any>;\n schemaRef?: string;\n modeValueMap?: Record<string, any>;\n}\n\nexport type BrickProperties = Record<string, any>;\n\nexport interface visualFormUtils extends Partial<FormInstance> {\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => void;\n getCurTypeList: () => UnionPropertyType[];\n}\n"],"mappings":"AASA,WAAYA,QAAQ;AAGnB,WAHWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ;AAKpB,WAAYC,YAAY;AAGvB,WAHWA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAZA,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/interfaces/index.ts"],"sourcesContent":["export * from \"./brick-visualization\";\nexport * from \"./workbench-mini-action-bar\";\n"],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,6BAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/interfaces/index.ts"],"sourcesContent":["export * from \"./brick-visualization\";\nexport * from \"./workbench-mini-action-bar\";\n"],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,6BAA6B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n tooltip?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n clientX: number;\n clientY?: number;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n tooltip?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n clientX: number;\n clientY?: number;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepMatch.js","names":["deepFilter","data","q","trimmedQuery","trim","slice","filter","item","deepMatch","toLowerCase","lowerTrimmedQuery","includes","String","Array","isArray","Object","entries","flat","some"],"sources":["../../../src/utils/deepMatch.ts"],"sourcesContent":["export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"deepMatch.js","names":["deepFilter","data","q","trimmedQuery","trim","slice","filter","item","deepMatch","toLowerCase","lowerTrimmedQuery","includes","String","Array","isArray","Object","entries","flat","some"],"sources":["../../../src/utils/deepMatch.ts"],"sourcesContent":["export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAUA,CAAIC,IAAc,EAAEC,CAAS,EAAY;EACjE,IAAMC,YAAY,GAAGD,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEE,IAAI,CAAC,CAAC;EAC9B,IAAI,CAACD,YAAY,EAAE;IACjB,OAAOF,IAAI,CAACI,KAAK,CAAC,CAAC;EACrB;EACA,OAAOJ,IAAI,CAACK,MAAM,CAAEC,IAAI,IAAKC,SAAS,CAACD,IAAI,EAAEJ,YAAY,CAACM,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3E;AAEA,OAAO,SAASD,SAASA,CAACP,IAAa,EAAES,iBAAyB,EAAW;EAC3E,QAAQ,OAAOT,IAAI;IACjB,KAAK,QAAQ;MACX,OAAOA,IAAI,CAACQ,WAAW,CAAC,CAAC,CAACE,QAAQ,CAACD,iBAAiB,CAAC;IACvD,KAAK,SAAS;IACd,KAAK,QAAQ;MACX,OAAOE,MAAM,CAACX,IAAI,CAAC,CAACU,QAAQ,CAACD,iBAAiB,CAAC;IACjD,KAAK,QAAQ;MACX,OAAOT,IAAI,KAAK,IAAI,GAChB,MAAM,CAACU,QAAQ,CAACD,iBAAiB,CAAC,GAClC,CAACG,KAAK,CAACC,OAAO,CAACb,IAAI,CAAC,GAAGA,IAAI,GAAGc,MAAM,CAACC,OAAO,CAACf,IAAI,CAAC,CAACgB,IAAI,CAAC,CAAC,EAAEC,IAAI,CAC5DX,IAAI,IAAKC,SAAS,CAACD,IAAI,EAAEG,iBAAiB,CAC7C,CAAC;IACP;MACE,OAAO,KAAK;EAChB;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./deepMatch\";\n"],"mappings":"AAAA,cAAc,aAAa"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./deepMatch\";\n"],"mappings":"AAAA,cAAc,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualPropertyForm.js","names":["React","useEffect","useImperativeHandle","useState","Form","Input","InputNumber","Select","Tooltip","Collapse","Empty","Switch","AutoComplete","Radio","Checkbox","useCurrentTheme","GeneralIcon","update","isNil","pick","upperFirst","isEmpty","isString","omit","styles","CodeEditorFormItem","IconSelectFormItem","ColorEditorItem","MenuEditorItem","ListEditor","ReactComponent","DarkEmpty","mergeProperties","calculateValue","groupByType","yamlStringify","yaml","OTHER_FORM_ITEM_FIELD","supportBasicType","supportMenuType","matchNoramlMenuValue","ItemModeType","Required","MessageEditor","ButtonTypeEmun","typeMatched","actualValue","selectedValue","type","LegacyVisualPropertyForm","props","ref","theme","projectId","labelIcon","propertyTypeList","brickProperties","brickInfo","emptyConfig","hiddenPropsCategory","menuSettingClick","childMountPointList","form","useForm","typeList","setTypeList","validateFields","resetPropertyFields","properties","restValue","resetFields","getCurTypeList","map","item","getFieldsValue","newTypeList","newValue","setFieldsValue","handleLabelClick","name","selected","find","index","findIndex","nextMode","mode","Advanced","Normal","value","getFieldValue","modeValueMap","includes","parsedValue","undefined","$splice","renderLabel","hideIcon","description","iconContainer","advanced","normal","renderEditorItem","required","True","jsonSchema","schemaRef","span","style","padding","editor","model","renderStringItem","message","editorProps","renderTextareaItem","renderSingleRadio","prop","handleRadioUncheck","e","target","formValue","changeValue","onValuesChange","options","icon","buttonIcon","mergedIcon","imgSrc","imgStyle","verticalAlign","fontSize","iconStyle","optionType","disabled","textAlign","flex","disableUnchek","label","paddingLeft","renderRadioItem","radioProps","radioGroup","display","renderBooleanItem","renderInputNumberItem","renderStringListItem","renderIconItem","renderMessageItem","renderCodeEditorItem","renderColorItem","renderMenuItem","renderGeneralOptipns","renderFormItem","caption","renderCustomColumn","dataIndex","key","title","useChildren","filter","startsWith","endsWith","inputValue","option","children","toUpperCase","indexOf","renderCustomButtons","id","text","tooltip","eventName","buttonType","hide","isDivider","isDropdown","renderEnumItem","enumList","renderSelectItem","renderCheckboxItem","getFormItem","test","enums","emunList","replace","split","renderOthersItem","Infinity","gorupList","useMemo","empty","PRESENTED_IMAGE_SIMPLE","imageStyle","visualPropertyForm","minWidth","_","String","panelContainer","category","list","otherPanel","VisualPropertyForm","forwardRef"],"sources":["../../../src/visual-property-form/VisualPropertyForm.tsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle, useState } from \"react\";\nimport {\n Form,\n Input,\n InputNumber,\n Select,\n Tooltip,\n Collapse,\n Empty,\n Switch,\n AutoComplete,\n Radio,\n Checkbox,\n} from \"antd\";\nimport { EmptyProps } from \"antd/lib/empty\";\nimport { useCurrentTheme } from \"@next-core/brick-kit\";\nimport { MenuIcon, SrcIcon } from \"@next-core/brick-types\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport update from \"immutability-helper\";\nimport _, {\n isNil,\n pick,\n upperFirst,\n isEmpty,\n cloneDeep,\n isString,\n omit,\n} from \"lodash\";\nimport styles from \"./VisualPropertyForm.module.css\";\nimport { FormProps } from \"antd/lib/form\";\nimport { CodeEditorFormItem } from \"./components/CodeEditor/CodeEditorFormItem\";\nimport { IconSelectFormItem } from \"./components/IconSelect/IconSelectFormItem\";\nimport { ColorEditorItem } from \"./components/ColorEditor/ColorEditorItem\";\nimport { MenuEditorItem } from \"./components/MenuEditor/MenuEditorItem\";\nimport { ListEditor } from \"./components/ListEditor/ListEditor\";\nimport { ReactComponent as DarkEmpty } from \"./images/empty-dark.svg\";\nimport {\n mergeProperties,\n calculateValue,\n groupByType,\n yamlStringify,\n yaml,\n} from \"./processor\";\nimport {\n OTHER_FORM_ITEM_FIELD,\n supportBasicType,\n supportMenuType,\n} from \"./constant\";\nimport { matchNoramlMenuValue } from \"./processor\";\nimport {\n PropertyType,\n BrickProperties,\n visualFormUtils,\n ItemModeType,\n UnionPropertyType,\n Required,\n} from \"../interfaces\";\nimport { MessageEditor } from \"./components/MessageEditor/MessageEditor\";\nimport { options } from \"marked\";\nimport { GeneralOption } from \"@next-libs/forms\";\n\nconst ButtonTypeEmun = [\n \"link\",\n \"default\",\n \"primary\",\n \"ghost\",\n \"dashed\",\n \"icon\",\n \"text\",\n];\n\nexport type CustomColumn = {\n dataIndex: string;\n title: string;\n useChildren?: string;\n [k: string]: any;\n};\n\nexport type GeneralOptionProps = {\n label: string;\n caption?: string;\n value: string;\n disabled?: boolean;\n};\n\nexport type CustomButtonProps = {\n id: string;\n buttonType: string;\n eventName: string;\n text: string;\n tooltip: string;\n icon: MenuIcon;\n hide: boolean;\n disabled: boolean;\n isDivider: boolean;\n isDropdown: boolean;\n};\nexport interface VisualPropertyFormProps {\n projectId?: string;\n propertyTypeList: PropertyType[];\n labelIcon: {\n normal?: MenuIcon;\n advanced?: MenuIcon;\n };\n brickProperties: BrickProperties;\n onValuesChange?: FormProps[\"onValuesChange\"];\n brickInfo?: {\n type: \"brick\" | \"provider\" | \"template\";\n };\n emptyConfig?: EmptyProps;\n menuSettingClick?: () => void;\n hiddenPropsCategory?: boolean;\n childMountPointList?: string[];\n}\n\nexport function typeMatched(\n actualValue: any,\n selectedValue: UnionPropertyType\n): boolean {\n if (typeof actualValue === (selectedValue.type as string)) {\n return true;\n }\n // TODO: 补充更多的类型检查,例如 enum 等\n return false;\n}\nexport function LegacyVisualPropertyForm(\n props: VisualPropertyFormProps,\n ref: React.Ref<visualFormUtils>\n): React.ReactElement {\n const theme = useCurrentTheme();\n const {\n projectId,\n labelIcon,\n propertyTypeList,\n brickProperties,\n brickInfo,\n emptyConfig,\n hiddenPropsCategory,\n menuSettingClick,\n childMountPointList,\n } = props;\n const [form] = Form.useForm();\n const [typeList, setTypeList] = useState<UnionPropertyType[]>(\n mergeProperties(propertyTypeList, brickProperties)\n );\n\n useImperativeHandle(ref, () => ({\n validateFields: form.validateFields,\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => {\n const restValue = mergeProperties(typeList, properties);\n setTypeList(restValue);\n form.resetFields();\n },\n getCurTypeList: (): UnionPropertyType[] => {\n return typeList?.map((item) => pick(item, [\"name\", \"type\", \"mode\"]));\n },\n getFieldsValue: form.getFieldsValue,\n }));\n\n useEffect(() => {\n const newTypeList = mergeProperties(propertyTypeList, brickProperties);\n setTypeList(newTypeList);\n\n const newValue = calculateValue(\n propertyTypeList,\n brickProperties,\n newTypeList\n );\n form.resetFields();\n form.setFieldsValue(newValue);\n }, [propertyTypeList, brickProperties]);\n\n const handleLabelClick = (name: string): void => {\n const selected = typeList.find((item) => item.name === name);\n const index = typeList.findIndex((item) => item.name === name);\n const nextMode =\n selected.mode === ItemModeType.Advanced\n ? ItemModeType.Normal\n : ItemModeType.Advanced;\n selected.value = form.getFieldValue(selected.name);\n // 记录切换前的模式下的值\n selected.modeValueMap = {\n ...selected.modeValueMap,\n ...{ [selected.mode]: selected.value },\n };\n // let value = cloneDeep(selected.value);\n if (!isNil(selected.modeValueMap[nextMode])) {\n // 切换后的模式原本有值时,则用原本的值\n selected.value = selected.modeValueMap[nextMode];\n } else if (nextMode === ItemModeType.Normal) {\n // 切换到普通模式没有值时可以根据高级模式来更新值\n if (supportMenuType.includes(selected.type as string)) {\n selected.value = matchNoramlMenuValue(selected.value);\n } else if (supportBasicType.includes(selected.type as string)) {\n // yaml解析后检查下类型,不符合属性类型就不更新了\n const parsedValue = yaml(selected.value);\n if (typeMatched(parsedValue, selected)) {\n selected.value = parsedValue;\n } else {\n selected.value = undefined;\n }\n }\n } else {\n // 切换到高级模式没有值时可以根据普通模式来更新值\n if (isNil(selected.value)) {\n selected.value = \"\";\n } else if (isString(selected.value)) {\n // do nothing\n } else {\n selected.value = yamlStringify(selected.value);\n }\n }\n selected.modeValueMap[nextMode] = selected.value;\n form.setFieldsValue({\n [name]: selected.value,\n });\n const newTypeList = update(typeList, {\n $splice: [[index, 1, { ...selected, mode: nextMode }]],\n });\n setTypeList(newTypeList);\n };\n\n const renderLabel = (\n item: UnionPropertyType,\n hideIcon?: boolean\n ): React.ReactElement => {\n return (\n <span>\n <Tooltip title={item.description}>{item.name}</Tooltip>{\" \"}\n {!hideIcon && labelIcon && (\n <span\n className={styles.iconContainer}\n onClick={() => handleLabelClick(item.name)}\n >\n <GeneralIcon\n icon={\n item.mode === ItemModeType.Advanced\n ? labelIcon?.advanced\n : labelIcon.normal\n }\n />\n </span>\n )}\n </span>\n );\n };\n\n const renderEditorItem = (\n item: UnionPropertyType,\n hideIcon?: boolean\n ): React.ReactElement => {\n return (\n <CodeEditorFormItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, hideIcon) as any}\n required={item.required === Required.True}\n theme={theme === \"dark-v2\" ? \"monokai\" : \"tomorrow\"}\n jsonSchema={item?.jsonSchema}\n schemaRef={item?.schemaRef}\n showLineNumbers={true}\n showGutter={true}\n labelCol={{\n span: 24,\n style: {\n padding: 0,\n },\n }}\n wrapperCol={{\n span: 24,\n }}\n mode={\n (typeof item?.editor !== \"string\" && item?.editor?.model) ||\n \"brick_next_yaml\"\n }\n />\n );\n };\n\n const renderStringItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Input {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderTextareaItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Input.TextArea {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderSingleRadio = (item: UnionPropertyType) => {\n const { editorProps: prop, name } = item;\n\n const handleRadioUncheck = (e: any) => {\n const value = e?.target?.value;\n const formValue = form.getFieldsValue();\n const changeValue = {\n [name]: formValue[name] === value ? undefined : value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, formValue);\n };\n\n return prop.options?.map((item: any) => {\n const icon = item.icon;\n let buttonIcon: JSX.Element = null;\n if (icon) {\n if (\"imgSrc\" in icon) {\n const mergedIcon = {\n imgSrc: icon.imgSrc,\n imgStyle: {\n verticalAlign: \"-0.125em\",\n ...icon.imgStyle,\n },\n };\n buttonIcon = <GeneralIcon icon={mergedIcon} size={14} />;\n } else {\n buttonIcon = (\n <GeneralIcon\n icon={icon}\n style={{\n fontSize: \"14px\",\n ...icon.iconStyle,\n }}\n />\n );\n }\n }\n if (prop.optionType === \"button\") {\n return (\n <Radio.Button\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n style={{ textAlign: \"center\", flex: \"1 1 0\", ...item.style }}\n onClick={!prop?.disableUnchek ? handleRadioUncheck : () => null}\n >\n {buttonIcon}\n {item.label && (\n <span style={{ paddingLeft: \"5px\" }}>{item.label}</span>\n )}\n </Radio.Button>\n );\n } else {\n return (\n <Radio\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n style={item.style}\n onClick={!prop?.disableUnchek ? handleRadioUncheck : () => null}\n >\n {buttonIcon}\n {item.label && (\n <span style={{ paddingLeft: \"5px\" }}>{item.label}</span>\n )}\n </Radio>\n );\n }\n });\n };\n\n const renderRadioItem = (item: UnionPropertyType): React.ReactElement => {\n const radioProps = omit(item.editorProps, \"options\");\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Radio.Group\n className={styles.radioGroup}\n style={\n item.editorProps.optionType === \"button\" ? { display: \"flex\" } : {}\n }\n {...(radioProps ?? {})}\n >\n {renderSingleRadio(item)}\n </Radio.Group>\n </Form.Item>\n );\n };\n\n const renderBooleanItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n valuePropName=\"checked\"\n >\n <Switch\n defaultChecked={props.brickProperties[item.name]}\n {...(item.editorProps ?? {})}\n />\n </Form.Item>\n );\n };\n\n const renderInputNumberItem = (\n item: UnionPropertyType\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <InputNumber {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderStringListItem = (\n item: UnionPropertyType\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select mode=\"tags\" {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderIconItem = (item: UnionPropertyType): React.ReactElement => {\n return (\n <IconSelectFormItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, true) as any}\n required={item.required === Required.True}\n />\n );\n };\n\n const renderMessageItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <MessageEditor\n key={item.name}\n name={item.name}\n label={renderLabel(item)}\n value={item.value}\n required={item.required === Required.True}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCodeEditorItem = (item: PropertyType): React.ReactElement => {\n return renderEditorItem(item, true);\n };\n\n const renderColorItem = (item: PropertyType): React.ReactElement => {\n return (\n <ColorEditorItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, true)}\n required={item.required === Required.True}\n {...(item.editorProps ?? {})}\n />\n );\n };\n\n const renderMenuItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <MenuEditorItem\n projectId={projectId}\n key={item.name}\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n menuSettingClick={menuSettingClick}\n />\n );\n };\n\n const renderGeneralOptipns = (\n item: UnionPropertyType\n ): React.ReactElement => {\n const renderFormItem = (item: GeneralOptionProps): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"label\" label=\"label\">\n <Input defaultValue={item.label} />\n </Form.Item>\n <Form.Item name=\"caption\" label=\"caption\">\n <Input defaultValue={item.caption} />\n </Form.Item>\n <Form.Item name=\"value\" label=\"value\">\n <Input defaultValue={item.value} />\n </Form.Item>\n <Form.Item name=\"disabled\" label=\"disabled\">\n <Switch checked={item.disabled} />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"label\"\n renderFormItem={renderFormItem}\n getDefaultItem={(value: any) => ({\n label: value,\n value: value,\n })}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCustomColumn = (item: UnionPropertyType): React.ReactElement => {\n const renderFormItem = (item: CustomColumn): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"dataIndex\" label=\"dataIndex\">\n <Input defaultValue={item.dataIndex} />\n </Form.Item>\n <Form.Item name=\"key\" label=\"key\">\n <Input defaultValue={item.key} />\n </Form.Item>\n <Form.Item name=\"title\" label=\"title\">\n <Input defaultValue={item.title} />\n </Form.Item>\n <Form.Item\n name=\"useChildren\"\n label=\"useChildren\"\n tooltip=\"useBrick代替用法,数据来源于子插槽名称,并且插槽名称必须使用'[]'包裹\"\n >\n <AutoComplete\n defaultValue={item.useChildren}\n dataSource={(childMountPointList ?? []).filter(\n (item) => item.startsWith(\"[\") && item.endsWith(\"]\")\n )}\n filterOption={(inputValue, option) =>\n option.props.children\n .toUpperCase()\n .indexOf(inputValue.toUpperCase()) !== -1\n }\n />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"title\"\n getDefaultItem={(value: any) => ({\n dataIndex: value,\n title: value,\n key: value,\n })}\n renderFormItem={renderFormItem}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCustomButtons = (item: UnionPropertyType): React.ReactElement => {\n const renderFormItem = (item: CustomButtonProps): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"id\" label=\"id\">\n <Input defaultValue={item.id} />\n </Form.Item>\n <Form.Item name=\"text\" label=\"text\">\n <Input defaultValue={item.text} />\n </Form.Item>\n <Form.Item name=\"tooltip\" label=\"tooltip\">\n <Input defaultValue={item.tooltip} />\n </Form.Item>\n <Form.Item name=\"eventName\" label=\"eventName\">\n <Input defaultValue={item.eventName} />\n </Form.Item>\n <IconSelectFormItem name=\"icon\" label=\"icon\" />\n <Form.Item name=\"buttonType\" label=\"buttonType\">\n <Select defaultValue={item.buttonType}>\n {ButtonTypeEmun.map((item) => (\n <Select.Option key={item} value={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n <Form.Item name=\"hide\" label=\"hide\">\n <Switch checked={item.hide} />\n </Form.Item>\n <Form.Item name=\"disabled\" label=\"disabled\">\n <Switch checked={item.disabled} />\n </Form.Item>\n <Form.Item name=\"isDivider\" label=\"isDivider\">\n <Switch checked={item.isDivider} />\n </Form.Item>\n <Form.Item name=\"isDropdown\" label=\"isDropdown\">\n <Switch checked={item.isDropdown} />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"text\"\n renderFormItem={renderFormItem}\n getDefaultItem={(value: any) => ({\n text: value,\n })}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderEnumItem = (\n item: UnionPropertyType,\n enumList: string[]\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select\n options={enumList.map((item) => ({ label: item, value: item }))}\n />\n </Form.Item>\n );\n };\n\n const renderSelectItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderCheckboxItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Checkbox.Group {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const getFormItem = (item: PropertyType): React.ReactElement => {\n // todo(sailor): update unit text\n switch (item.editor) {\n case \"input\":\n return renderStringItem(item);\n case \"radio\":\n return renderRadioItem(item);\n case \"switch\":\n return renderBooleanItem(item);\n case \"color\":\n return renderColorItem(item);\n case \"icon\":\n return renderIconItem(item);\n case \"message\":\n return renderMessageItem(item);\n case \"number\":\n return renderInputNumberItem(item);\n case \"textarea\":\n return renderTextareaItem(item);\n case \"select\":\n return renderSelectItem(item);\n case \"checkbox\":\n return renderCheckboxItem(item);\n case \"code\":\n return renderCodeEditorItem(item);\n }\n if (/true|false/.test(item.type as string)) {\n return renderBooleanItem(item);\n }\n if (item.enums) {\n const emunList = (item.enums as string).replace(/\"|'/g, \"\").split(\"|\");\n return renderEnumItem(item, emunList);\n }\n switch (item.type) {\n case \"string\":\n return renderStringItem(item);\n case \"string[]\":\n return renderStringListItem(item);\n case \"number\":\n return renderInputNumberItem(item);\n case \"boolean\":\n return renderBooleanItem(item);\n case \"MenuIcon\":\n return renderIconItem(item);\n case \"Color\":\n return renderColorItem(item);\n case \"Menu\":\n case \"SidebarSubMenu\":\n return renderMenuItem(item);\n // todo(sailor): update unit text\n case \"GeneralOption[]\":\n return renderGeneralOptipns(item);\n case \"CustomColumn[]\":\n return renderCustomColumn(item);\n case \"CustomButton[]\":\n return renderCustomButtons(item);\n default:\n return renderCodeEditorItem(item);\n }\n };\n\n const renderOthersItem = (): React.ReactElement => {\n return (\n <CodeEditorFormItem\n name={OTHER_FORM_ITEM_FIELD}\n label={\n brickInfo?.type === \"template\" ? \"other params\" : \"other properties\"\n }\n mode=\"brick_next_yaml\"\n maxLines={Infinity}\n />\n );\n };\n\n const gorupList = React.useMemo(() => {\n return groupByType(typeList);\n }, [typeList]);\n\n return isEmpty(typeList) ? (\n <Empty\n className={styles.empty}\n description={emptyConfig?.description}\n image={theme === \"dark-v2\" ? <DarkEmpty /> : Empty.PRESENTED_IMAGE_SIMPLE}\n imageStyle={emptyConfig?.imageStyle}\n />\n ) : (\n <Form\n className={styles.visualPropertyForm}\n name=\"propertyForm\"\n layout=\"horizontal\"\n labelAlign=\"left\"\n labelCol={{\n span: 8,\n style: {\n minWidth: \"120px\",\n },\n }}\n wrapperCol={{ span: 16 }}\n size=\"small\"\n form={form}\n onValuesChange={props.onValuesChange}\n initialValues={calculateValue(\n propertyTypeList,\n brickProperties,\n typeList\n )}\n colon={false}\n >\n {!hiddenPropsCategory ? (\n <Collapse\n ghost\n defaultActiveKey={gorupList.map((_, index) => String(index))}\n className={styles.panelContainer}\n expandIconPosition=\"left\"\n >\n {gorupList?.map(([category, list], index) => {\n return (\n <Collapse.Panel\n header={upperFirst(category)}\n key={index}\n forceRender={true}\n >\n {list.map((item) => getFormItem(item))}\n </Collapse.Panel>\n );\n })}\n\n <Collapse.Panel\n className={styles.otherPanel}\n forceRender={true}\n header={upperFirst(OTHER_FORM_ITEM_FIELD)}\n key={OTHER_FORM_ITEM_FIELD}\n >\n {renderOthersItem()}\n </Collapse.Panel>\n </Collapse>\n ) : (\n <>\n {typeList?.map((item) => {\n return getFormItem(item);\n })}\n <div className={styles.otherPanel}>{renderOthersItem()}</div>\n </>\n )}\n </Form>\n );\n}\n\nexport const VisualPropertyForm = React.forwardRef(LegacyVisualPropertyForm);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VisualPropertyForm.js","names":["React","useEffect","useImperativeHandle","useState","Form","Input","InputNumber","Select","Tooltip","Collapse","Empty","Switch","AutoComplete","Radio","Checkbox","useCurrentTheme","GeneralIcon","update","isNil","pick","upperFirst","isEmpty","isString","omit","styles","CodeEditorFormItem","IconSelectFormItem","ColorEditorItem","MenuEditorItem","ListEditor","ReactComponent","DarkEmpty","mergeProperties","calculateValue","groupByType","yamlStringify","yaml","OTHER_FORM_ITEM_FIELD","supportBasicType","supportMenuType","matchNoramlMenuValue","ItemModeType","Required","MessageEditor","ButtonTypeEmun","typeMatched","actualValue","selectedValue","type","LegacyVisualPropertyForm","props","ref","theme","projectId","labelIcon","propertyTypeList","brickProperties","brickInfo","emptyConfig","hiddenPropsCategory","menuSettingClick","childMountPointList","form","useForm","typeList","setTypeList","validateFields","resetPropertyFields","properties","restValue","resetFields","getCurTypeList","map","item","getFieldsValue","newTypeList","newValue","setFieldsValue","handleLabelClick","name","selected","find","index","findIndex","nextMode","mode","Advanced","Normal","value","getFieldValue","modeValueMap","_objectSpread","includes","parsedValue","undefined","$splice","renderLabel","hideIcon","createElement","title","description","className","iconContainer","onClick","icon","advanced","normal","renderEditorItem","_item$editor","key","label","required","True","jsonSchema","schemaRef","showLineNumbers","showGutter","labelCol","span","style","padding","wrapperCol","editor","model","renderStringItem","_item$editorProps","Item","rules","message","concat","editorProps","renderTextareaItem","_item$editorProps2","TextArea","renderSingleRadio","_prop$options","prop","handleRadioUncheck","e","_e$target","target","formValue","changeValue","onValuesChange","options","buttonIcon","mergedIcon","imgSrc","imgStyle","verticalAlign","size","fontSize","iconStyle","optionType","Button","disabled","textAlign","flex","disableUnchek","paddingLeft","renderRadioItem","radioProps","Group","_extends","radioGroup","display","renderBooleanItem","_item$editorProps3","valuePropName","defaultChecked","renderInputNumberItem","_item$editorProps4","renderStringListItem","_item$editorProps5","renderIconItem","renderMessageItem","onChange","renderCodeEditorItem","renderColorItem","_item$editorProps6","renderMenuItem","renderGeneralOptipns","renderFormItem","Fragment","defaultValue","caption","checked","listItemKey","getDefaultItem","renderCustomColumn","dataIndex","tooltip","useChildren","dataSource","filter","startsWith","endsWith","filterOption","inputValue","option","children","toUpperCase","indexOf","renderCustomButtons","id","text","eventName","buttonType","Option","hide","isDivider","isDropdown","renderEnumItem","enumList","renderSelectItem","_item$editorProps7","renderCheckboxItem","_item$editorProps8","getFormItem","test","enums","emunList","replace","split","renderOthersItem","maxLines","Infinity","gorupList","useMemo","empty","image","PRESENTED_IMAGE_SIMPLE","imageStyle","visualPropertyForm","layout","labelAlign","minWidth","initialValues","colon","ghost","defaultActiveKey","_","String","panelContainer","expandIconPosition","_ref","category","list","Panel","header","forceRender","otherPanel","VisualPropertyForm","forwardRef"],"sources":["../../../src/visual-property-form/VisualPropertyForm.tsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle, useState } from \"react\";\nimport {\n Form,\n Input,\n InputNumber,\n Select,\n Tooltip,\n Collapse,\n Empty,\n Switch,\n AutoComplete,\n Radio,\n Checkbox,\n} from \"antd\";\nimport { EmptyProps } from \"antd/lib/empty\";\nimport { useCurrentTheme } from \"@next-core/brick-kit\";\nimport { MenuIcon, SrcIcon } from \"@next-core/brick-types\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport update from \"immutability-helper\";\nimport _, {\n isNil,\n pick,\n upperFirst,\n isEmpty,\n cloneDeep,\n isString,\n omit,\n} from \"lodash\";\nimport styles from \"./VisualPropertyForm.module.css\";\nimport { FormProps } from \"antd/lib/form\";\nimport { CodeEditorFormItem } from \"./components/CodeEditor/CodeEditorFormItem\";\nimport { IconSelectFormItem } from \"./components/IconSelect/IconSelectFormItem\";\nimport { ColorEditorItem } from \"./components/ColorEditor/ColorEditorItem\";\nimport { MenuEditorItem } from \"./components/MenuEditor/MenuEditorItem\";\nimport { ListEditor } from \"./components/ListEditor/ListEditor\";\nimport { ReactComponent as DarkEmpty } from \"./images/empty-dark.svg\";\nimport {\n mergeProperties,\n calculateValue,\n groupByType,\n yamlStringify,\n yaml,\n} from \"./processor\";\nimport {\n OTHER_FORM_ITEM_FIELD,\n supportBasicType,\n supportMenuType,\n} from \"./constant\";\nimport { matchNoramlMenuValue } from \"./processor\";\nimport {\n PropertyType,\n BrickProperties,\n visualFormUtils,\n ItemModeType,\n UnionPropertyType,\n Required,\n} from \"../interfaces\";\nimport { MessageEditor } from \"./components/MessageEditor/MessageEditor\";\nimport { options } from \"marked\";\nimport { GeneralOption } from \"@next-libs/forms\";\n\nconst ButtonTypeEmun = [\n \"link\",\n \"default\",\n \"primary\",\n \"ghost\",\n \"dashed\",\n \"icon\",\n \"text\",\n];\n\nexport type CustomColumn = {\n dataIndex: string;\n title: string;\n useChildren?: string;\n [k: string]: any;\n};\n\nexport type GeneralOptionProps = {\n label: string;\n caption?: string;\n value: string;\n disabled?: boolean;\n};\n\nexport type CustomButtonProps = {\n id: string;\n buttonType: string;\n eventName: string;\n text: string;\n tooltip: string;\n icon: MenuIcon;\n hide: boolean;\n disabled: boolean;\n isDivider: boolean;\n isDropdown: boolean;\n};\nexport interface VisualPropertyFormProps {\n projectId?: string;\n propertyTypeList: PropertyType[];\n labelIcon: {\n normal?: MenuIcon;\n advanced?: MenuIcon;\n };\n brickProperties: BrickProperties;\n onValuesChange?: FormProps[\"onValuesChange\"];\n brickInfo?: {\n type: \"brick\" | \"provider\" | \"template\";\n };\n emptyConfig?: EmptyProps;\n menuSettingClick?: () => void;\n hiddenPropsCategory?: boolean;\n childMountPointList?: string[];\n}\n\nexport function typeMatched(\n actualValue: any,\n selectedValue: UnionPropertyType\n): boolean {\n if (typeof actualValue === (selectedValue.type as string)) {\n return true;\n }\n // TODO: 补充更多的类型检查,例如 enum 等\n return false;\n}\nexport function LegacyVisualPropertyForm(\n props: VisualPropertyFormProps,\n ref: React.Ref<visualFormUtils>\n): React.ReactElement {\n const theme = useCurrentTheme();\n const {\n projectId,\n labelIcon,\n propertyTypeList,\n brickProperties,\n brickInfo,\n emptyConfig,\n hiddenPropsCategory,\n menuSettingClick,\n childMountPointList,\n } = props;\n const [form] = Form.useForm();\n const [typeList, setTypeList] = useState<UnionPropertyType[]>(\n mergeProperties(propertyTypeList, brickProperties)\n );\n\n useImperativeHandle(ref, () => ({\n validateFields: form.validateFields,\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => {\n const restValue = mergeProperties(typeList, properties);\n setTypeList(restValue);\n form.resetFields();\n },\n getCurTypeList: (): UnionPropertyType[] => {\n return typeList?.map((item) => pick(item, [\"name\", \"type\", \"mode\"]));\n },\n getFieldsValue: form.getFieldsValue,\n }));\n\n useEffect(() => {\n const newTypeList = mergeProperties(propertyTypeList, brickProperties);\n setTypeList(newTypeList);\n\n const newValue = calculateValue(\n propertyTypeList,\n brickProperties,\n newTypeList\n );\n form.resetFields();\n form.setFieldsValue(newValue);\n }, [propertyTypeList, brickProperties]);\n\n const handleLabelClick = (name: string): void => {\n const selected = typeList.find((item) => item.name === name);\n const index = typeList.findIndex((item) => item.name === name);\n const nextMode =\n selected.mode === ItemModeType.Advanced\n ? ItemModeType.Normal\n : ItemModeType.Advanced;\n selected.value = form.getFieldValue(selected.name);\n // 记录切换前的模式下的值\n selected.modeValueMap = {\n ...selected.modeValueMap,\n ...{ [selected.mode]: selected.value },\n };\n // let value = cloneDeep(selected.value);\n if (!isNil(selected.modeValueMap[nextMode])) {\n // 切换后的模式原本有值时,则用原本的值\n selected.value = selected.modeValueMap[nextMode];\n } else if (nextMode === ItemModeType.Normal) {\n // 切换到普通模式没有值时可以根据高级模式来更新值\n if (supportMenuType.includes(selected.type as string)) {\n selected.value = matchNoramlMenuValue(selected.value);\n } else if (supportBasicType.includes(selected.type as string)) {\n // yaml解析后检查下类型,不符合属性类型就不更新了\n const parsedValue = yaml(selected.value);\n if (typeMatched(parsedValue, selected)) {\n selected.value = parsedValue;\n } else {\n selected.value = undefined;\n }\n }\n } else {\n // 切换到高级模式没有值时可以根据普通模式来更新值\n if (isNil(selected.value)) {\n selected.value = \"\";\n } else if (isString(selected.value)) {\n // do nothing\n } else {\n selected.value = yamlStringify(selected.value);\n }\n }\n selected.modeValueMap[nextMode] = selected.value;\n form.setFieldsValue({\n [name]: selected.value,\n });\n const newTypeList = update(typeList, {\n $splice: [[index, 1, { ...selected, mode: nextMode }]],\n });\n setTypeList(newTypeList);\n };\n\n const renderLabel = (\n item: UnionPropertyType,\n hideIcon?: boolean\n ): React.ReactElement => {\n return (\n <span>\n <Tooltip title={item.description}>{item.name}</Tooltip>{\" \"}\n {!hideIcon && labelIcon && (\n <span\n className={styles.iconContainer}\n onClick={() => handleLabelClick(item.name)}\n >\n <GeneralIcon\n icon={\n item.mode === ItemModeType.Advanced\n ? labelIcon?.advanced\n : labelIcon.normal\n }\n />\n </span>\n )}\n </span>\n );\n };\n\n const renderEditorItem = (\n item: UnionPropertyType,\n hideIcon?: boolean\n ): React.ReactElement => {\n return (\n <CodeEditorFormItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, hideIcon) as any}\n required={item.required === Required.True}\n theme={theme === \"dark-v2\" ? \"monokai\" : \"tomorrow\"}\n jsonSchema={item?.jsonSchema}\n schemaRef={item?.schemaRef}\n showLineNumbers={true}\n showGutter={true}\n labelCol={{\n span: 24,\n style: {\n padding: 0,\n },\n }}\n wrapperCol={{\n span: 24,\n }}\n mode={\n (typeof item?.editor !== \"string\" && item?.editor?.model) ||\n \"brick_next_yaml\"\n }\n />\n );\n };\n\n const renderStringItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Input {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderTextareaItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Input.TextArea {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderSingleRadio = (item: UnionPropertyType) => {\n const { editorProps: prop, name } = item;\n\n const handleRadioUncheck = (e: any) => {\n const value = e?.target?.value;\n const formValue = form.getFieldsValue();\n const changeValue = {\n [name]: formValue[name] === value ? undefined : value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, formValue);\n };\n\n return prop.options?.map((item: any) => {\n const icon = item.icon;\n let buttonIcon: JSX.Element = null;\n if (icon) {\n if (\"imgSrc\" in icon) {\n const mergedIcon = {\n imgSrc: icon.imgSrc,\n imgStyle: {\n verticalAlign: \"-0.125em\",\n ...icon.imgStyle,\n },\n };\n buttonIcon = <GeneralIcon icon={mergedIcon} size={14} />;\n } else {\n buttonIcon = (\n <GeneralIcon\n icon={icon}\n style={{\n fontSize: \"14px\",\n ...icon.iconStyle,\n }}\n />\n );\n }\n }\n if (prop.optionType === \"button\") {\n return (\n <Radio.Button\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n style={{ textAlign: \"center\", flex: \"1 1 0\", ...item.style }}\n onClick={!prop?.disableUnchek ? handleRadioUncheck : () => null}\n >\n {buttonIcon}\n {item.label && (\n <span style={{ paddingLeft: \"5px\" }}>{item.label}</span>\n )}\n </Radio.Button>\n );\n } else {\n return (\n <Radio\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n style={item.style}\n onClick={!prop?.disableUnchek ? handleRadioUncheck : () => null}\n >\n {buttonIcon}\n {item.label && (\n <span style={{ paddingLeft: \"5px\" }}>{item.label}</span>\n )}\n </Radio>\n );\n }\n });\n };\n\n const renderRadioItem = (item: UnionPropertyType): React.ReactElement => {\n const radioProps = omit(item.editorProps, \"options\");\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Radio.Group\n className={styles.radioGroup}\n style={\n item.editorProps.optionType === \"button\" ? { display: \"flex\" } : {}\n }\n {...(radioProps ?? {})}\n >\n {renderSingleRadio(item)}\n </Radio.Group>\n </Form.Item>\n );\n };\n\n const renderBooleanItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n valuePropName=\"checked\"\n >\n <Switch\n defaultChecked={props.brickProperties[item.name]}\n {...(item.editorProps ?? {})}\n />\n </Form.Item>\n );\n };\n\n const renderInputNumberItem = (\n item: UnionPropertyType\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <InputNumber {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderStringListItem = (\n item: UnionPropertyType\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select mode=\"tags\" {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderIconItem = (item: UnionPropertyType): React.ReactElement => {\n return (\n <IconSelectFormItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, true) as any}\n required={item.required === Required.True}\n />\n );\n };\n\n const renderMessageItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <MessageEditor\n key={item.name}\n name={item.name}\n label={renderLabel(item)}\n value={item.value}\n required={item.required === Required.True}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCodeEditorItem = (item: PropertyType): React.ReactElement => {\n return renderEditorItem(item, true);\n };\n\n const renderColorItem = (item: PropertyType): React.ReactElement => {\n return (\n <ColorEditorItem\n key={item.name}\n name={item.name}\n label={renderLabel(item, true)}\n required={item.required === Required.True}\n {...(item.editorProps ?? {})}\n />\n );\n };\n\n const renderMenuItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <MenuEditorItem\n projectId={projectId}\n key={item.name}\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n menuSettingClick={menuSettingClick}\n />\n );\n };\n\n const renderGeneralOptipns = (\n item: UnionPropertyType\n ): React.ReactElement => {\n const renderFormItem = (item: GeneralOptionProps): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"label\" label=\"label\">\n <Input defaultValue={item.label} />\n </Form.Item>\n <Form.Item name=\"caption\" label=\"caption\">\n <Input defaultValue={item.caption} />\n </Form.Item>\n <Form.Item name=\"value\" label=\"value\">\n <Input defaultValue={item.value} />\n </Form.Item>\n <Form.Item name=\"disabled\" label=\"disabled\">\n <Switch checked={item.disabled} />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"label\"\n renderFormItem={renderFormItem}\n getDefaultItem={(value: any) => ({\n label: value,\n value: value,\n })}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCustomColumn = (item: UnionPropertyType): React.ReactElement => {\n const renderFormItem = (item: CustomColumn): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"dataIndex\" label=\"dataIndex\">\n <Input defaultValue={item.dataIndex} />\n </Form.Item>\n <Form.Item name=\"key\" label=\"key\">\n <Input defaultValue={item.key} />\n </Form.Item>\n <Form.Item name=\"title\" label=\"title\">\n <Input defaultValue={item.title} />\n </Form.Item>\n <Form.Item\n name=\"useChildren\"\n label=\"useChildren\"\n tooltip=\"useBrick代替用法,数据来源于子插槽名称,并且插槽名称必须使用'[]'包裹\"\n >\n <AutoComplete\n defaultValue={item.useChildren}\n dataSource={(childMountPointList ?? []).filter(\n (item) => item.startsWith(\"[\") && item.endsWith(\"]\")\n )}\n filterOption={(inputValue, option) =>\n option.props.children\n .toUpperCase()\n .indexOf(inputValue.toUpperCase()) !== -1\n }\n />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"title\"\n getDefaultItem={(value: any) => ({\n dataIndex: value,\n title: value,\n key: value,\n })}\n renderFormItem={renderFormItem}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderCustomButtons = (item: UnionPropertyType): React.ReactElement => {\n const renderFormItem = (item: CustomButtonProps): React.ReactElement => {\n return (\n <>\n <Form.Item name=\"id\" label=\"id\">\n <Input defaultValue={item.id} />\n </Form.Item>\n <Form.Item name=\"text\" label=\"text\">\n <Input defaultValue={item.text} />\n </Form.Item>\n <Form.Item name=\"tooltip\" label=\"tooltip\">\n <Input defaultValue={item.tooltip} />\n </Form.Item>\n <Form.Item name=\"eventName\" label=\"eventName\">\n <Input defaultValue={item.eventName} />\n </Form.Item>\n <IconSelectFormItem name=\"icon\" label=\"icon\" />\n <Form.Item name=\"buttonType\" label=\"buttonType\">\n <Select defaultValue={item.buttonType}>\n {ButtonTypeEmun.map((item) => (\n <Select.Option key={item} value={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n <Form.Item name=\"hide\" label=\"hide\">\n <Switch checked={item.hide} />\n </Form.Item>\n <Form.Item name=\"disabled\" label=\"disabled\">\n <Switch checked={item.disabled} />\n </Form.Item>\n <Form.Item name=\"isDivider\" label=\"isDivider\">\n <Switch checked={item.isDivider} />\n </Form.Item>\n <Form.Item name=\"isDropdown\" label=\"isDropdown\">\n <Switch checked={item.isDropdown} />\n </Form.Item>\n </>\n );\n };\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <ListEditor\n name={item.name}\n label={renderLabel(item)}\n required={item.required === Required.True}\n value={brickProperties[item.name]}\n listItemKey=\"text\"\n renderFormItem={renderFormItem}\n getDefaultItem={(value: any) => ({\n text: value,\n })}\n onChange={(value) => {\n const changeValue = {\n [item.name]: value,\n };\n form.setFieldsValue(changeValue);\n props.onValuesChange(changeValue, form.getFieldsValue());\n }}\n />\n );\n };\n\n const renderEnumItem = (\n item: UnionPropertyType,\n enumList: string[]\n ): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select\n options={enumList.map((item) => ({ label: item, value: item }))}\n />\n </Form.Item>\n );\n };\n\n const renderSelectItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Select {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const renderCheckboxItem = (item: UnionPropertyType): React.ReactElement => {\n return item.mode === ItemModeType.Advanced ? (\n renderEditorItem(item)\n ) : (\n <Form.Item\n key={item.name}\n label={renderLabel(item)}\n name={item.name}\n rules={[\n {\n required: item.required === Required.True,\n message: `请输入${item.name}`,\n },\n ]}\n >\n <Checkbox.Group {...(item.editorProps ?? {})} />\n </Form.Item>\n );\n };\n\n const getFormItem = (item: PropertyType): React.ReactElement => {\n // todo(sailor): update unit text\n switch (item.editor) {\n case \"input\":\n return renderStringItem(item);\n case \"radio\":\n return renderRadioItem(item);\n case \"switch\":\n return renderBooleanItem(item);\n case \"color\":\n return renderColorItem(item);\n case \"icon\":\n return renderIconItem(item);\n case \"message\":\n return renderMessageItem(item);\n case \"number\":\n return renderInputNumberItem(item);\n case \"textarea\":\n return renderTextareaItem(item);\n case \"select\":\n return renderSelectItem(item);\n case \"checkbox\":\n return renderCheckboxItem(item);\n case \"code\":\n return renderCodeEditorItem(item);\n }\n if (/true|false/.test(item.type as string)) {\n return renderBooleanItem(item);\n }\n if (item.enums) {\n const emunList = (item.enums as string).replace(/\"|'/g, \"\").split(\"|\");\n return renderEnumItem(item, emunList);\n }\n switch (item.type) {\n case \"string\":\n return renderStringItem(item);\n case \"string[]\":\n return renderStringListItem(item);\n case \"number\":\n return renderInputNumberItem(item);\n case \"boolean\":\n return renderBooleanItem(item);\n case \"MenuIcon\":\n return renderIconItem(item);\n case \"Color\":\n return renderColorItem(item);\n case \"Menu\":\n case \"SidebarSubMenu\":\n return renderMenuItem(item);\n // todo(sailor): update unit text\n case \"GeneralOption[]\":\n return renderGeneralOptipns(item);\n case \"CustomColumn[]\":\n return renderCustomColumn(item);\n case \"CustomButton[]\":\n return renderCustomButtons(item);\n default:\n return renderCodeEditorItem(item);\n }\n };\n\n const renderOthersItem = (): React.ReactElement => {\n return (\n <CodeEditorFormItem\n name={OTHER_FORM_ITEM_FIELD}\n label={\n brickInfo?.type === \"template\" ? \"other params\" : \"other properties\"\n }\n mode=\"brick_next_yaml\"\n maxLines={Infinity}\n />\n );\n };\n\n const gorupList = React.useMemo(() => {\n return groupByType(typeList);\n }, [typeList]);\n\n return isEmpty(typeList) ? (\n <Empty\n className={styles.empty}\n description={emptyConfig?.description}\n image={theme === \"dark-v2\" ? <DarkEmpty /> : Empty.PRESENTED_IMAGE_SIMPLE}\n imageStyle={emptyConfig?.imageStyle}\n />\n ) : (\n <Form\n className={styles.visualPropertyForm}\n name=\"propertyForm\"\n layout=\"horizontal\"\n labelAlign=\"left\"\n labelCol={{\n span: 8,\n style: {\n minWidth: \"120px\",\n },\n }}\n wrapperCol={{ span: 16 }}\n size=\"small\"\n form={form}\n onValuesChange={props.onValuesChange}\n initialValues={calculateValue(\n propertyTypeList,\n brickProperties,\n typeList\n )}\n colon={false}\n >\n {!hiddenPropsCategory ? (\n <Collapse\n ghost\n defaultActiveKey={gorupList.map((_, index) => String(index))}\n className={styles.panelContainer}\n expandIconPosition=\"left\"\n >\n {gorupList?.map(([category, list], index) => {\n return (\n <Collapse.Panel\n header={upperFirst(category)}\n key={index}\n forceRender={true}\n >\n {list.map((item) => getFormItem(item))}\n </Collapse.Panel>\n );\n })}\n\n <Collapse.Panel\n className={styles.otherPanel}\n forceRender={true}\n header={upperFirst(OTHER_FORM_ITEM_FIELD)}\n key={OTHER_FORM_ITEM_FIELD}\n >\n {renderOthersItem()}\n </Collapse.Panel>\n </Collapse>\n ) : (\n <>\n {typeList?.map((item) => {\n return getFormItem(item);\n })}\n <div className={styles.otherPanel}>{renderOthersItem()}</div>\n </>\n )}\n </Form>\n );\n}\n\nexport const VisualPropertyForm = React.forwardRef(LegacyVisualPropertyForm);\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,mBAAmB,EAAEC,QAAQ,QAAQ,OAAO;AACvE,SACEC,IAAI,EACJC,KAAK,EACLC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,KAAK,EACLC,QAAQ,QACH,MAAM;AAEb,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,SAASC,WAAW,QAAQ,6BAA6B;AACzD,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SACEC,KAAK,EACLC,IAAI,EACJC,UAAU,EACVC,OAAO,EAEPC,QAAQ,EACRC,IAAI,QACC,QAAQ;AACf,OAAOC,MAAM,MAAM,iCAAiC;AAEpD,SAASC,kBAAkB,QAAQ,4CAA4C;AAC/E,SAASC,kBAAkB,QAAQ,4CAA4C;AAC/E,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,cAAc,QAAQ,wCAAwC;AACvE,SAASC,UAAU,QAAQ,oCAAoC;AAC/D,SAASC,cAAc,IAAIC,SAAS,QAAQ,yBAAyB;AACrE,SACEC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,aAAa,EACbC,IAAI,QACC,aAAa;AACpB,SACEC,qBAAqB,EACrBC,gBAAgB,EAChBC,eAAe,QACV,YAAY;AACnB,SAASC,oBAAoB,QAAQ,aAAa;AAClD,SAIEC,YAAY,EAEZC,QAAQ,QACH,eAAe;AACtB,SAASC,aAAa,QAAQ,0CAA0C;AAIxE,IAAMC,cAAc,GAAG,CACrB,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,CACP;AA8CD,OAAO,SAASC,WAAWA,CACzBC,WAAgB,EAChBC,aAAgC,EACvB;EACT,IAAI,OAAOD,WAAW,KAAMC,aAAa,CAACC,IAAe,EAAE;IACzD,OAAO,IAAI;EACb;EACA;EACA,OAAO,KAAK;AACd;AACA,OAAO,SAASC,wBAAwBA,CACtCC,KAA8B,EAC9BC,GAA+B,EACX;EACpB,IAAMC,KAAK,GAAGrC,eAAe,CAAC,CAAC;EAC/B,IAAM;IACJsC,SAAS;IACTC,SAAS;IACTC,gBAAgB;IAChBC,eAAe;IACfC,SAAS;IACTC,WAAW;IACXC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACF,CAAC,GAAGX,KAAK;EACT,IAAM,CAACY,IAAI,CAAC,GAAG1D,IAAI,CAAC2D,OAAO,CAAC,CAAC;EAC7B,IAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG9D,QAAQ,CACtC6B,eAAe,CAACuB,gBAAgB,EAAEC,eAAe,CACnD,CAAC;EAEDtD,mBAAmB,CAACiD,GAAG,EAAE,OAAO;IAC9Be,cAAc,EAAEJ,IAAI,CAACI,cAAc;IACnCC,mBAAmB,EAAEA,CACnBH,QAAwB,EACxBI,UAA2B,KACxB;MACH,IAAMC,SAAS,GAAGrC,eAAe,CAACgC,QAAQ,EAAEI,UAAU,CAAC;MACvDH,WAAW,CAACI,SAAS,CAAC;MACtBP,IAAI,CAACQ,WAAW,CAAC,CAAC;IACpB,CAAC;IACDC,cAAc,EAAEA,CAAA,KAA2B;MACzC,OAAOP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,GAAG,CAAEC,IAAI,IAAKtD,IAAI,CAACsD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IACDC,cAAc,EAAEZ,IAAI,CAACY;EACvB,CAAC,CAAC,CAAC;EAEHzE,SAAS,CAAC,MAAM;IACd,IAAM0E,WAAW,GAAG3C,eAAe,CAACuB,gBAAgB,EAAEC,eAAe,CAAC;IACtES,WAAW,CAACU,WAAW,CAAC;IAExB,IAAMC,QAAQ,GAAG3C,cAAc,CAC7BsB,gBAAgB,EAChBC,eAAe,EACfmB,WACF,CAAC;IACDb,IAAI,CAACQ,WAAW,CAAC,CAAC;IAClBR,IAAI,CAACe,cAAc,CAACD,QAAQ,CAAC;EAC/B,CAAC,EAAE,CAACrB,gBAAgB,EAAEC,eAAe,CAAC,CAAC;EAEvC,IAAMsB,gBAAgB,GAAIC,IAAY,IAAW;IAC/C,IAAMC,QAAQ,GAAGhB,QAAQ,CAACiB,IAAI,CAAER,IAAI,IAAKA,IAAI,CAACM,IAAI,KAAKA,IAAI,CAAC;IAC5D,IAAMG,KAAK,GAAGlB,QAAQ,CAACmB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACM,IAAI,KAAKA,IAAI,CAAC;IAC9D,IAAMK,QAAQ,GACZJ,QAAQ,CAACK,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACnC7C,YAAY,CAAC8C,MAAM,GACnB9C,YAAY,CAAC6C,QAAQ;IAC3BN,QAAQ,CAACQ,KAAK,GAAG1B,IAAI,CAAC2B,aAAa,CAACT,QAAQ,CAACD,IAAI,CAAC;IAClD;IACAC,QAAQ,CAACU,YAAY,GAAAC,aAAA,CAAAA,aAAA,KAChBX,QAAQ,CAACU,YAAY,GACrB;MAAE,CAACV,QAAQ,CAACK,IAAI,GAAGL,QAAQ,CAACQ;IAAM,CAAC,CACvC;IACD;IACA,IAAI,CAACtE,KAAK,CAAC8D,QAAQ,CAACU,YAAY,CAACN,QAAQ,CAAC,CAAC,EAAE;MAC3C;MACAJ,QAAQ,CAACQ,KAAK,GAAGR,QAAQ,CAACU,YAAY,CAACN,QAAQ,CAAC;IAClD,CAAC,MAAM,IAAIA,QAAQ,KAAK3C,YAAY,CAAC8C,MAAM,EAAE;MAC3C;MACA,IAAIhD,eAAe,CAACqD,QAAQ,CAACZ,QAAQ,CAAChC,IAAc,CAAC,EAAE;QACrDgC,QAAQ,CAACQ,KAAK,GAAGhD,oBAAoB,CAACwC,QAAQ,CAACQ,KAAK,CAAC;MACvD,CAAC,MAAM,IAAIlD,gBAAgB,CAACsD,QAAQ,CAACZ,QAAQ,CAAChC,IAAc,CAAC,EAAE;QAC7D;QACA,IAAM6C,WAAW,GAAGzD,IAAI,CAAC4C,QAAQ,CAACQ,KAAK,CAAC;QACxC,IAAI3C,WAAW,CAACgD,WAAW,EAAEb,QAAQ,CAAC,EAAE;UACtCA,QAAQ,CAACQ,KAAK,GAAGK,WAAW;QAC9B,CAAC,MAAM;UACLb,QAAQ,CAACQ,KAAK,GAAGM,SAAS;QAC5B;MACF;IACF,CAAC,MAAM;MACL;MACA,IAAI5E,KAAK,CAAC8D,QAAQ,CAACQ,KAAK,CAAC,EAAE;QACzBR,QAAQ,CAACQ,KAAK,GAAG,EAAE;MACrB,CAAC,MAAM,IAAIlE,QAAQ,CAAC0D,QAAQ,CAACQ,KAAK,CAAC,EAAE;QACnC;MAAA,CACD,MAAM;QACLR,QAAQ,CAACQ,KAAK,GAAGrD,aAAa,CAAC6C,QAAQ,CAACQ,KAAK,CAAC;MAChD;IACF;IACAR,QAAQ,CAACU,YAAY,CAACN,QAAQ,CAAC,GAAGJ,QAAQ,CAACQ,KAAK;IAChD1B,IAAI,CAACe,cAAc,CAAC;MAClB,CAACE,IAAI,GAAGC,QAAQ,CAACQ;IACnB,CAAC,CAAC;IACF,IAAMb,WAAW,GAAG1D,MAAM,CAAC+C,QAAQ,EAAE;MACnC+B,OAAO,EAAE,CAAC,CAACb,KAAK,EAAE,CAAC,EAAAS,aAAA,CAAAA,aAAA,KAAOX,QAAQ;QAAEK,IAAI,EAAED;MAAQ,GAAG;IACvD,CAAC,CAAC;IACFnB,WAAW,CAACU,WAAW,CAAC;EAC1B,CAAC;EAED,IAAMqB,WAAW,GAAGA,CAClBvB,IAAuB,EACvBwB,QAAkB,KACK;IACvB,oBACEjG,KAAA,CAAAkG,aAAA,4BACElG,KAAA,CAAAkG,aAAA,CAAC1F,OAAO;MAAC2F,KAAK,EAAE1B,IAAI,CAAC2B;IAAY,GAAE3B,IAAI,CAACM,IAAc,CAAC,EAAC,GAAG,EAC1D,CAACkB,QAAQ,IAAI3C,SAAS,iBACrBtD,KAAA,CAAAkG,aAAA;MACEG,SAAS,EAAE7E,MAAM,CAAC8E,aAAc;MAChCC,OAAO,EAAEA,CAAA,KAAMzB,gBAAgB,CAACL,IAAI,CAACM,IAAI;IAAE,gBAE3C/E,KAAA,CAAAkG,aAAA,CAAClF,WAAW;MACVwF,IAAI,EACF/B,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GAC/BhC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEmD,QAAQ,GACnBnD,SAAS,CAACoD;IACf,CACF,CACG,CAEJ,CAAC;EAEX,CAAC;EAED,IAAMC,gBAAgB,GAAGA,CACvBlC,IAAuB,EACvBwB,QAAkB,KACK;IAAA,IAAAW,YAAA;IACvB,oBACE5G,KAAA,CAAAkG,aAAA,CAACzE,kBAAkB;MACjBoF,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACfA,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,EAAEwB,QAAQ,CAAS;MAC1Cc,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1C5D,KAAK,EAAEA,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,UAAW;MACpD6D,UAAU,EAAExC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwC,UAAW;MAC7BC,SAAS,EAAEzC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyC,SAAU;MAC3BC,eAAe,EAAE,IAAK;MACtBC,UAAU,EAAE,IAAK;MACjBC,QAAQ,EAAE;QACRC,IAAI,EAAE,EAAE;QACRC,KAAK,EAAE;UACLC,OAAO,EAAE;QACX;MACF,CAAE;MACFC,UAAU,EAAE;QACVH,IAAI,EAAE;MACR,CAAE;MACFjC,IAAI,EACD,QAAOZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiD,MAAM,MAAK,QAAQ,KAAIjD,IAAI,aAAJA,IAAI,wBAAAmC,YAAA,GAAJnC,IAAI,CAAEiD,MAAM,cAAAd,YAAA,uBAAZA,YAAA,CAAce,KAAK,KACxD;IACD,CACF,CAAC;EAEN,CAAC;EAED,IAAMC,gBAAgB,GAAInD,IAAuB,IAAyB;IAAA,IAAAoD,iBAAA;IACxE,OAAOpD,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC7F,KAAK,GAAAwH,iBAAA,GAAMpD,IAAI,CAACyD,WAAW,cAAAL,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAK,CAC7B,CACZ;EACH,CAAC;EAED,IAAMM,kBAAkB,GAAI1D,IAAuB,IAAyB;IAAA,IAAA2D,kBAAA;IAC1E,OAAO3D,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC7F,KAAK,CAACgI,QAAQ,GAAAD,kBAAA,GAAM3D,IAAI,CAACyD,WAAW,cAAAE,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAK,CACtC,CACZ;EACH,CAAC;EAED,IAAME,iBAAiB,GAAI7D,IAAuB,IAAK;IAAA,IAAA8D,aAAA;IACrD,IAAM;MAAEL,WAAW,EAAEM,IAAI;MAAEzD;IAAK,CAAC,GAAGN,IAAI;IAExC,IAAMgE,kBAAkB,GAAIC,CAAM,IAAK;MAAA,IAAAC,SAAA;MACrC,IAAMnD,KAAK,GAAGkD,CAAC,aAADA,CAAC,wBAAAC,SAAA,GAADD,CAAC,CAAEE,MAAM,cAAAD,SAAA,uBAATA,SAAA,CAAWnD,KAAK;MAC9B,IAAMqD,SAAS,GAAG/E,IAAI,CAACY,cAAc,CAAC,CAAC;MACvC,IAAMoE,WAAW,GAAG;QAClB,CAAC/D,IAAI,GAAG8D,SAAS,CAAC9D,IAAI,CAAC,KAAKS,KAAK,GAAGM,SAAS,GAAGN;MAClD,CAAC;MACD1B,IAAI,CAACe,cAAc,CAACiE,WAAW,CAAC;MAChC5F,KAAK,CAAC6F,cAAc,CAACD,WAAW,EAAED,SAAS,CAAC;IAC9C,CAAC;IAED,QAAAN,aAAA,GAAOC,IAAI,CAACQ,OAAO,cAAAT,aAAA,uBAAZA,aAAA,CAAc/D,GAAG,CAAEC,IAAS,IAAK;MACtC,IAAM+B,IAAI,GAAG/B,IAAI,CAAC+B,IAAI;MACtB,IAAIyC,UAAuB,GAAG,IAAI;MAClC,IAAIzC,IAAI,EAAE;QACR,IAAI,QAAQ,IAAIA,IAAI,EAAE;UACpB,IAAM0C,UAAU,GAAG;YACjBC,MAAM,EAAE3C,IAAI,CAAC2C,MAAM;YACnBC,QAAQ,EAAAzD,aAAA;cACN0D,aAAa,EAAE;YAAU,GACtB7C,IAAI,CAAC4C,QAAQ;UAEpB,CAAC;UACDH,UAAU,gBAAGjJ,KAAA,CAAAkG,aAAA,CAAClF,WAAW;YAACwF,IAAI,EAAE0C,UAAW;YAACI,IAAI,EAAE;UAAG,CAAE,CAAC;QAC1D,CAAC,MAAM;UACLL,UAAU,gBACRjJ,KAAA,CAAAkG,aAAA,CAAClF,WAAW;YACVwF,IAAI,EAAEA,IAAK;YACXe,KAAK,EAAA5B,aAAA;cACH4D,QAAQ,EAAE;YAAM,GACb/C,IAAI,CAACgD,SAAS;UACjB,CACH,CACF;QACH;MACF;MACA,IAAIhB,IAAI,CAACiB,UAAU,KAAK,QAAQ,EAAE;QAChC,oBACEzJ,KAAA,CAAAkG,aAAA,CAACrF,KAAK,CAAC6I,MAAM;UACX7C,GAAG,EAAEpC,IAAI,CAACe,KAAM;UAChBA,KAAK,EAAEf,IAAI,CAACe,KAAM;UAClBmE,QAAQ,EAAElF,IAAI,CAACkF,QAAS;UACxBpC,KAAK,EAAA5B,aAAA;YAAIiE,SAAS,EAAE,QAAQ;YAAEC,IAAI,EAAE;UAAO,GAAKpF,IAAI,CAAC8C,KAAK,CAAG;UAC7DhB,OAAO,EAAE,EAACiC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEsB,aAAa,IAAGrB,kBAAkB,GAAG,MAAM;QAAK,GAE/DQ,UAAU,EACVxE,IAAI,CAACqC,KAAK,iBACT9G,KAAA,CAAAkG,aAAA;UAAMqB,KAAK,EAAE;YAAEwC,WAAW,EAAE;UAAM;QAAE,GAAEtF,IAAI,CAACqC,KAAY,CAE7C,CAAC;MAEnB,CAAC,MAAM;QACL,oBACE9G,KAAA,CAAAkG,aAAA,CAACrF,KAAK;UACJgG,GAAG,EAAEpC,IAAI,CAACe,KAAM;UAChBA,KAAK,EAAEf,IAAI,CAACe,KAAM;UAClBmE,QAAQ,EAAElF,IAAI,CAACkF,QAAS;UACxBpC,KAAK,EAAE9C,IAAI,CAAC8C,KAAM;UAClBhB,OAAO,EAAE,EAACiC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEsB,aAAa,IAAGrB,kBAAkB,GAAG,MAAM;QAAK,GAE/DQ,UAAU,EACVxE,IAAI,CAACqC,KAAK,iBACT9G,KAAA,CAAAkG,aAAA;UAAMqB,KAAK,EAAE;YAAEwC,WAAW,EAAE;UAAM;QAAE,GAAEtF,IAAI,CAACqC,KAAY,CAEpD,CAAC;MAEZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED,IAAMkD,eAAe,GAAIvF,IAAuB,IAAyB;IACvE,IAAMwF,UAAU,GAAG1I,IAAI,CAACkD,IAAI,CAACyD,WAAW,EAAE,SAAS,CAAC;IACpD,OAAOzD,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAACrF,KAAK,CAACqJ,KAAK,EAAAC,QAAA;MACV9D,SAAS,EAAE7E,MAAM,CAAC4I,UAAW;MAC7B7C,KAAK,EACH9C,IAAI,CAACyD,WAAW,CAACuB,UAAU,KAAK,QAAQ,GAAG;QAAEY,OAAO,EAAE;MAAO,CAAC,GAAG,CAAC;IACnE,GACIJ,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,CAAC,CAAC,GAEpB3B,iBAAiB,CAAC7D,IAAI,CACZ,CACJ,CACZ;EACH,CAAC;EAED,IAAM6F,iBAAiB,GAAI7F,IAAuB,IAAyB;IAAA,IAAA8F,kBAAA;IACzE,OAAO9F,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC,CACD;MACFyF,aAAa,EAAC;IAAS,gBAEvBxK,KAAA,CAAAkG,aAAA,CAACvF,MAAM,EAAAwJ,QAAA;MACLM,cAAc,EAAEvH,KAAK,CAACM,eAAe,CAACiB,IAAI,CAACM,IAAI;IAAE,IAAAwF,kBAAA,GAC5C9F,IAAI,CAACyD,WAAW,cAAAqC,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC,CAC5B,CACQ,CACZ;EACH,CAAC;EAED,IAAMG,qBAAqB,GACzBjG,IAAuB,IACA;IAAA,IAAAkG,kBAAA;IACvB,OAAOlG,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC5F,WAAW,GAAAqK,kBAAA,GAAMlG,IAAI,CAACyD,WAAW,cAAAyC,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAK,CACnC,CACZ;EACH,CAAC;EAED,IAAMC,oBAAoB,GACxBnG,IAAuB,IACA;IAAA,IAAAoG,kBAAA;IACvB,OAAOpG,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC3F,MAAM,EAAA4J,QAAA;MAAC9E,IAAI,EAAC;IAAM,IAAAwF,kBAAA,GAAMpG,IAAI,CAACyD,WAAW,cAAA2C,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC,CAAI,CAC1C,CACZ;EACH,CAAC;EAED,IAAMC,cAAc,GAAIrG,IAAuB,IAAyB;IACtE,oBACEzE,KAAA,CAAAkG,aAAA,CAACxE,kBAAkB;MACjBmF,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACfA,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,EAAE,IAAI,CAAS;MACtCsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE;IAAK,CAC3C,CAAC;EAEN,CAAC;EAED,IAAM+D,iBAAiB,GAAItG,IAAuB,IAAyB;IACzE,OAAOA,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAACvD,aAAa;MACZkE,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACfA,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBe,KAAK,EAAEf,IAAI,CAACe,KAAM;MAClBuB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1CgE,QAAQ,EAAGxF,KAAK,IAAK;QACnB,IAAMsD,WAAW,GAAG;UAClB,CAACrE,IAAI,CAACM,IAAI,GAAGS;QACf,CAAC;QACD1B,IAAI,CAACe,cAAc,CAACiE,WAAW,CAAC;QAChC5F,KAAK,CAAC6F,cAAc,CAACD,WAAW,EAAEhF,IAAI,CAACY,cAAc,CAAC,CAAC,CAAC;MAC1D;IAAE,CACH,CACF;EACH,CAAC;EAED,IAAMuG,oBAAoB,GAAIxG,IAAkB,IAAyB;IACvE,OAAOkC,gBAAgB,CAAClC,IAAI,EAAE,IAAI,CAAC;EACrC,CAAC;EAED,IAAMyG,eAAe,GAAIzG,IAAkB,IAAyB;IAAA,IAAA0G,kBAAA;IAClE,oBACEnL,KAAA,CAAAkG,aAAA,CAACvE,eAAe,EAAAwI,QAAA;MACdtD,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACfA,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,EAAE,IAAI,CAAE;MAC/BsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE;IAAK,IAAAmE,kBAAA,GACrC1G,IAAI,CAACyD,WAAW,cAAAiD,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC,CAC5B,CAAC;EAEN,CAAC;EAED,IAAMC,cAAc,GAAI3G,IAAuB,IAAyB;IACtE,OAAOA,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAACtE,cAAc;MACbyB,SAAS,EAAEA,SAAU;MACrBwD,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACfA,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1CpD,gBAAgB,EAAEA;IAAiB,CACpC,CACF;EACH,CAAC;EAED,IAAMyH,oBAAoB,GACxB5G,IAAuB,IACA;IACvB,IAAM6G,cAAc,GAAI7G,IAAwB,IAAyB;MACvE,oBACEzE,KAAA,CAAAkG,aAAA,CAAAlG,KAAA,CAAAuL,QAAA,qBACEvL,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,OAAO;QAAC+B,KAAK,EAAC;MAAO,gBACnC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACqC;MAAM,CAAE,CACzB,CAAC,eACZ9G,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,SAAS;QAAC+B,KAAK,EAAC;MAAS,gBACvC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACgH;MAAQ,CAAE,CAC3B,CAAC,eACZzL,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,OAAO;QAAC+B,KAAK,EAAC;MAAO,gBACnC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACe;MAAM,CAAE,CACzB,CAAC,eACZxF,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,UAAU;QAAC+B,KAAK,EAAC;MAAU,gBACzC9G,KAAA,CAAAkG,aAAA,CAACvF,MAAM;QAAC+K,OAAO,EAAEjH,IAAI,CAACkF;MAAS,CAAE,CACxB,CACX,CAAC;IAEP,CAAC;IACD,OAAOlF,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAACrE,UAAU;MACTkD,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1CxB,KAAK,EAAEhC,eAAe,CAACiB,IAAI,CAACM,IAAI,CAAE;MAClC4G,WAAW,EAAC,OAAO;MACnBL,cAAc,EAAEA,cAAe;MAC/BM,cAAc,EAAGpG,KAAU,KAAM;QAC/BsB,KAAK,EAAEtB,KAAK;QACZA,KAAK,EAAEA;MACT,CAAC,CAAE;MACHwF,QAAQ,EAAGxF,KAAK,IAAK;QACnB,IAAMsD,WAAW,GAAG;UAClB,CAACrE,IAAI,CAACM,IAAI,GAAGS;QACf,CAAC;QACD1B,IAAI,CAACe,cAAc,CAACiE,WAAW,CAAC;QAChC5F,KAAK,CAAC6F,cAAc,CAACD,WAAW,EAAEhF,IAAI,CAACY,cAAc,CAAC,CAAC,CAAC;MAC1D;IAAE,CACH,CACF;EACH,CAAC;EAED,IAAMmH,kBAAkB,GAAIpH,IAAuB,IAAyB;IAC1E,IAAM6G,cAAc,GAAI7G,IAAkB,IAAyB;MACjE,oBACEzE,KAAA,CAAAkG,aAAA,CAAAlG,KAAA,CAAAuL,QAAA,qBACEvL,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,WAAW;QAAC+B,KAAK,EAAC;MAAW,gBAC3C9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACqH;MAAU,CAAE,CAC7B,CAAC,eACZ9L,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,KAAK;QAAC+B,KAAK,EAAC;MAAK,gBAC/B9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACoC;MAAI,CAAE,CACvB,CAAC,eACZ7G,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,OAAO;QAAC+B,KAAK,EAAC;MAAO,gBACnC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAAC0B;MAAM,CAAE,CACzB,CAAC,eACZnG,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QACR/C,IAAI,EAAC,aAAa;QAClB+B,KAAK,EAAC,aAAa;QACnBiF,OAAO,EAAC;MAA0C,gBAElD/L,KAAA,CAAAkG,aAAA,CAACtF,YAAY;QACX4K,YAAY,EAAE/G,IAAI,CAACuH,WAAY;QAC/BC,UAAU,EAAE,CAACpI,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,EAAE,EAAEqI,MAAM,CAC3CzH,IAAI,IAAKA,IAAI,CAAC0H,UAAU,CAAC,GAAG,CAAC,IAAI1H,IAAI,CAAC2H,QAAQ,CAAC,GAAG,CACrD,CAAE;QACFC,YAAY,EAAEA,CAACC,UAAU,EAAEC,MAAM,KAC/BA,MAAM,CAACrJ,KAAK,CAACsJ,QAAQ,CAClBC,WAAW,CAAC,CAAC,CACbC,OAAO,CAACJ,UAAU,CAACG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;MAC3C,CACF,CACQ,CACX,CAAC;IAEP,CAAC;IACD,OAAOhI,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAACrE,UAAU;MACTkD,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1CxB,KAAK,EAAEhC,eAAe,CAACiB,IAAI,CAACM,IAAI,CAAE;MAClC4G,WAAW,EAAC,OAAO;MACnBC,cAAc,EAAGpG,KAAU,KAAM;QAC/BsG,SAAS,EAAEtG,KAAK;QAChBW,KAAK,EAAEX,KAAK;QACZqB,GAAG,EAAErB;MACP,CAAC,CAAE;MACH8F,cAAc,EAAEA,cAAe;MAC/BN,QAAQ,EAAGxF,KAAK,IAAK;QACnB,IAAMsD,WAAW,GAAG;UAClB,CAACrE,IAAI,CAACM,IAAI,GAAGS;QACf,CAAC;QACD1B,IAAI,CAACe,cAAc,CAACiE,WAAW,CAAC;QAChC5F,KAAK,CAAC6F,cAAc,CAACD,WAAW,EAAEhF,IAAI,CAACY,cAAc,CAAC,CAAC,CAAC;MAC1D;IAAE,CACH,CACF;EACH,CAAC;EAED,IAAMiI,mBAAmB,GAAIlI,IAAuB,IAAyB;IAC3E,IAAM6G,cAAc,GAAI7G,IAAuB,IAAyB;MACtE,oBACEzE,KAAA,CAAAkG,aAAA,CAAAlG,KAAA,CAAAuL,QAAA,qBACEvL,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,IAAI;QAAC+B,KAAK,EAAC;MAAI,gBAC7B9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACmI;MAAG,CAAE,CACtB,CAAC,eACZ5M,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,MAAM;QAAC+B,KAAK,EAAC;MAAM,gBACjC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACoI;MAAK,CAAE,CACxB,CAAC,eACZ7M,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,SAAS;QAAC+B,KAAK,EAAC;MAAS,gBACvC9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACsH;MAAQ,CAAE,CAC3B,CAAC,eACZ/L,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,WAAW;QAAC+B,KAAK,EAAC;MAAW,gBAC3C9G,KAAA,CAAAkG,aAAA,CAAC7F,KAAK;QAACmL,YAAY,EAAE/G,IAAI,CAACqI;MAAU,CAAE,CAC7B,CAAC,eACZ9M,KAAA,CAAAkG,aAAA,CAACxE,kBAAkB;QAACqD,IAAI,EAAC,MAAM;QAAC+B,KAAK,EAAC;MAAM,CAAE,CAAC,eAC/C9G,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,YAAY;QAAC+B,KAAK,EAAC;MAAY,gBAC7C9G,KAAA,CAAAkG,aAAA,CAAC3F,MAAM;QAACiL,YAAY,EAAE/G,IAAI,CAACsI;MAAW,GACnCnK,cAAc,CAAC4B,GAAG,CAAEC,IAAI,iBACvBzE,KAAA,CAAAkG,aAAA,CAAC3F,MAAM,CAACyM,MAAM;QAACnG,GAAG,EAAEpC,IAAK;QAACe,KAAK,EAAEf;MAAK,GACnCA,IACY,CAChB,CACK,CACC,CAAC,eACZzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,MAAM;QAAC+B,KAAK,EAAC;MAAM,gBACjC9G,KAAA,CAAAkG,aAAA,CAACvF,MAAM;QAAC+K,OAAO,EAAEjH,IAAI,CAACwI;MAAK,CAAE,CACpB,CAAC,eACZjN,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,UAAU;QAAC+B,KAAK,EAAC;MAAU,gBACzC9G,KAAA,CAAAkG,aAAA,CAACvF,MAAM;QAAC+K,OAAO,EAAEjH,IAAI,CAACkF;MAAS,CAAE,CACxB,CAAC,eACZ3J,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,WAAW;QAAC+B,KAAK,EAAC;MAAW,gBAC3C9G,KAAA,CAAAkG,aAAA,CAACvF,MAAM;QAAC+K,OAAO,EAAEjH,IAAI,CAACyI;MAAU,CAAE,CACzB,CAAC,eACZlN,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;QAAC/C,IAAI,EAAC,YAAY;QAAC+B,KAAK,EAAC;MAAY,gBAC7C9G,KAAA,CAAAkG,aAAA,CAACvF,MAAM;QAAC+K,OAAO,EAAEjH,IAAI,CAAC0I;MAAW,CAAE,CAC1B,CACX,CAAC;IAEP,CAAC;IACD,OAAO1I,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAACrE,UAAU;MACTkD,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChB+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBsC,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAK;MAC1CxB,KAAK,EAAEhC,eAAe,CAACiB,IAAI,CAACM,IAAI,CAAE;MAClC4G,WAAW,EAAC,MAAM;MAClBL,cAAc,EAAEA,cAAe;MAC/BM,cAAc,EAAGpG,KAAU,KAAM;QAC/BqH,IAAI,EAAErH;MACR,CAAC,CAAE;MACHwF,QAAQ,EAAGxF,KAAK,IAAK;QACnB,IAAMsD,WAAW,GAAG;UAClB,CAACrE,IAAI,CAACM,IAAI,GAAGS;QACf,CAAC;QACD1B,IAAI,CAACe,cAAc,CAACiE,WAAW,CAAC;QAChC5F,KAAK,CAAC6F,cAAc,CAACD,WAAW,EAAEhF,IAAI,CAACY,cAAc,CAAC,CAAC,CAAC;MAC1D;IAAE,CACH,CACF;EACH,CAAC;EAED,IAAM0I,cAAc,GAAGA,CACrB3I,IAAuB,EACvB4I,QAAkB,KACK;IACvB,OAAO5I,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC3F,MAAM;MACLyI,OAAO,EAAEqE,QAAQ,CAAC7I,GAAG,CAAEC,IAAI,KAAM;QAAEqC,KAAK,EAAErC,IAAI;QAAEe,KAAK,EAAEf;MAAK,CAAC,CAAC;IAAE,CACjE,CACQ,CACZ;EACH,CAAC;EAED,IAAM6I,gBAAgB,GAAI7I,IAAuB,IAAyB;IAAA,IAAA8I,kBAAA;IACxE,OAAO9I,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAAC3F,MAAM,GAAAgN,kBAAA,GAAM9I,IAAI,CAACyD,WAAW,cAAAqF,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAK,CAC9B,CACZ;EACH,CAAC;EAED,IAAMC,kBAAkB,GAAI/I,IAAuB,IAAyB;IAAA,IAAAgJ,kBAAA;IAC1E,OAAOhJ,IAAI,CAACY,IAAI,KAAK5C,YAAY,CAAC6C,QAAQ,GACxCqB,gBAAgB,CAAClC,IAAI,CAAC,gBAEtBzE,KAAA,CAAAkG,aAAA,CAAC9F,IAAI,CAAC0H,IAAI;MACRjB,GAAG,EAAEpC,IAAI,CAACM,IAAK;MACf+B,KAAK,EAAEd,WAAW,CAACvB,IAAI,CAAE;MACzBM,IAAI,EAAEN,IAAI,CAACM,IAAK;MAChBgD,KAAK,EAAE,CACL;QACEhB,QAAQ,EAAEtC,IAAI,CAACsC,QAAQ,KAAKrE,QAAQ,CAACsE,IAAI;QACzCgB,OAAO,uBAAAC,MAAA,CAAQxD,IAAI,CAACM,IAAI;MAC1B,CAAC;IACD,gBAEF/E,KAAA,CAAAkG,aAAA,CAACpF,QAAQ,CAACoJ,KAAK,GAAAuD,kBAAA,GAAMhJ,IAAI,CAACyD,WAAW,cAAAuF,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAK,CACtC,CACZ;EACH,CAAC;EAED,IAAMC,WAAW,GAAIjJ,IAAkB,IAAyB;IAC9D;IACA,QAAQA,IAAI,CAACiD,MAAM;MACjB,KAAK,OAAO;QACV,OAAOE,gBAAgB,CAACnD,IAAI,CAAC;MAC/B,KAAK,OAAO;QACV,OAAOuF,eAAe,CAACvF,IAAI,CAAC;MAC9B,KAAK,QAAQ;QACX,OAAO6F,iBAAiB,CAAC7F,IAAI,CAAC;MAChC,KAAK,OAAO;QACV,OAAOyG,eAAe,CAACzG,IAAI,CAAC;MAC9B,KAAK,MAAM;QACT,OAAOqG,cAAc,CAACrG,IAAI,CAAC;MAC7B,KAAK,SAAS;QACZ,OAAOsG,iBAAiB,CAACtG,IAAI,CAAC;MAChC,KAAK,QAAQ;QACX,OAAOiG,qBAAqB,CAACjG,IAAI,CAAC;MACpC,KAAK,UAAU;QACb,OAAO0D,kBAAkB,CAAC1D,IAAI,CAAC;MACjC,KAAK,QAAQ;QACX,OAAO6I,gBAAgB,CAAC7I,IAAI,CAAC;MAC/B,KAAK,UAAU;QACb,OAAO+I,kBAAkB,CAAC/I,IAAI,CAAC;MACjC,KAAK,MAAM;QACT,OAAOwG,oBAAoB,CAACxG,IAAI,CAAC;IACrC;IACA,IAAI,YAAY,CAACkJ,IAAI,CAAClJ,IAAI,CAACzB,IAAc,CAAC,EAAE;MAC1C,OAAOsH,iBAAiB,CAAC7F,IAAI,CAAC;IAChC;IACA,IAAIA,IAAI,CAACmJ,KAAK,EAAE;MACd,IAAMC,QAAQ,GAAIpJ,IAAI,CAACmJ,KAAK,CAAYE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;MACtE,OAAOX,cAAc,CAAC3I,IAAI,EAAEoJ,QAAQ,CAAC;IACvC;IACA,QAAQpJ,IAAI,CAACzB,IAAI;MACf,KAAK,QAAQ;QACX,OAAO4E,gBAAgB,CAACnD,IAAI,CAAC;MAC/B,KAAK,UAAU;QACb,OAAOmG,oBAAoB,CAACnG,IAAI,CAAC;MACnC,KAAK,QAAQ;QACX,OAAOiG,qBAAqB,CAACjG,IAAI,CAAC;MACpC,KAAK,SAAS;QACZ,OAAO6F,iBAAiB,CAAC7F,IAAI,CAAC;MAChC,KAAK,UAAU;QACb,OAAOqG,cAAc,CAACrG,IAAI,CAAC;MAC7B,KAAK,OAAO;QACV,OAAOyG,eAAe,CAACzG,IAAI,CAAC;MAC9B,KAAK,MAAM;MACX,KAAK,gBAAgB;QACnB,OAAO2G,cAAc,CAAC3G,IAAI,CAAC;MAC7B;MACA,KAAK,iBAAiB;QACpB,OAAO4G,oBAAoB,CAAC5G,IAAI,CAAC;MACnC,KAAK,gBAAgB;QACnB,OAAOoH,kBAAkB,CAACpH,IAAI,CAAC;MACjC,KAAK,gBAAgB;QACnB,OAAOkI,mBAAmB,CAAClI,IAAI,CAAC;MAClC;QACE,OAAOwG,oBAAoB,CAACxG,IAAI,CAAC;IACrC;EACF,CAAC;EAED,IAAMuJ,gBAAgB,GAAGA,CAAA,KAA0B;IACjD,oBACEhO,KAAA,CAAAkG,aAAA,CAACzE,kBAAkB;MACjBsD,IAAI,EAAE1C,qBAAsB;MAC5ByE,KAAK,EACH,CAAArD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAET,IAAI,MAAK,UAAU,GAAG,cAAc,GAAG,kBACnD;MACDqC,IAAI,EAAC,iBAAiB;MACtB4I,QAAQ,EAAEC;IAAS,CACpB,CAAC;EAEN,CAAC;EAED,IAAMC,SAAS,GAAGnO,KAAK,CAACoO,OAAO,CAAC,MAAM;IACpC,OAAOlM,WAAW,CAAC8B,QAAQ,CAAC;EAC9B,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO3C,OAAO,CAAC2C,QAAQ,CAAC,gBACtBhE,KAAA,CAAAkG,aAAA,CAACxF,KAAK;IACJ2F,SAAS,EAAE7E,MAAM,CAAC6M,KAAM;IACxBjI,WAAW,EAAE1C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0C,WAAY;IACtCkI,KAAK,EAAElL,KAAK,KAAK,SAAS,gBAAGpD,KAAA,CAAAkG,aAAA,CAACnE,SAAS,MAAE,CAAC,GAAGrB,KAAK,CAAC6N,sBAAuB;IAC1EC,UAAU,EAAE9K,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8K;EAAW,CACrC,CAAC,gBAEFxO,KAAA,CAAAkG,aAAA,CAAC9F,IAAI;IACHiG,SAAS,EAAE7E,MAAM,CAACiN,kBAAmB;IACrC1J,IAAI,EAAC,cAAc;IACnB2J,MAAM,EAAC,YAAY;IACnBC,UAAU,EAAC,MAAM;IACjBtH,QAAQ,EAAE;MACRC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE;QACLqH,QAAQ,EAAE;MACZ;IACF,CAAE;IACFnH,UAAU,EAAE;MAAEH,IAAI,EAAE;IAAG,CAAE;IACzBgC,IAAI,EAAC,OAAO;IACZxF,IAAI,EAAEA,IAAK;IACXiF,cAAc,EAAE7F,KAAK,CAAC6F,cAAe;IACrC8F,aAAa,EAAE5M,cAAc,CAC3BsB,gBAAgB,EAChBC,eAAe,EACfQ,QACF,CAAE;IACF8K,KAAK,EAAE;EAAM,GAEZ,CAACnL,mBAAmB,gBACnB3D,KAAA,CAAAkG,aAAA,CAACzF,QAAQ;IACPsO,KAAK;IACLC,gBAAgB,EAAEb,SAAS,CAAC3J,GAAG,CAAC,CAACyK,CAAC,EAAE/J,KAAK,KAAKgK,MAAM,CAAChK,KAAK,CAAC,CAAE;IAC7DmB,SAAS,EAAE7E,MAAM,CAAC2N,cAAe;IACjCC,kBAAkB,EAAC;EAAM,GAExBjB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE3J,GAAG,CAAC,CAAA6K,IAAA,EAAmBnK,KAAK,KAAK;IAAA,IAA5B,CAACoK,QAAQ,EAAEC,IAAI,CAAC,GAAAF,IAAA;IAC/B,oBACErP,KAAA,CAAAkG,aAAA,CAACzF,QAAQ,CAAC+O,KAAK;MACbC,MAAM,EAAErO,UAAU,CAACkO,QAAQ,CAAE;MAC7BzI,GAAG,EAAE3B,KAAM;MACXwK,WAAW,EAAE;IAAK,GAEjBH,IAAI,CAAC/K,GAAG,CAAEC,IAAI,IAAKiJ,WAAW,CAACjJ,IAAI,CAAC,CACvB,CAAC;EAErB,CAAC,CAAC,eAEFzE,KAAA,CAAAkG,aAAA,CAACzF,QAAQ,CAAC+O,KAAK;IACbnJ,SAAS,EAAE7E,MAAM,CAACmO,UAAW;IAC7BD,WAAW,EAAE,IAAK;IAClBD,MAAM,EAAErO,UAAU,CAACiB,qBAAqB,CAAE;IAC1CwE,GAAG,EAAExE;EAAsB,GAE1B2L,gBAAgB,CAAC,CACJ,CACR,CAAC,gBAEXhO,KAAA,CAAAkG,aAAA,CAAAlG,KAAA,CAAAuL,QAAA,QACGvH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,GAAG,CAAEC,IAAI,IAAK;IACvB,OAAOiJ,WAAW,CAACjJ,IAAI,CAAC;EAC1B,CAAC,CAAC,eACFzE,KAAA,CAAAkG,aAAA;IAAKG,SAAS,EAAE7E,MAAM,CAACmO;EAAW,GAAE3B,gBAAgB,CAAC,CAAO,CAC5D,CAEA,CACP;AACH;AAEA,OAAO,IAAM4B,kBAAkB,gBAAG5P,KAAK,CAAC6P,UAAU,CAAC5M,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditorFormItem.js","names":["React","useState","some","Form","CodeEditorItem","CodeEditorFormItem","props","name","label","rest","hasError","setHasError","handleValidate","err","error","validatorFn","Promise","resolve","reject","labelCol","wrapperCol","required","message","validator","showLineNumbers","showGutter"],"sources":["../../../../../src/visual-property-form/components/CodeEditor/CodeEditorFormItem.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { some } from \"lodash\";\nimport { Form } from \"antd\";\nimport { FormItemWrapperProps } from \"@next-libs/forms\";\nimport {\n CodeEditorProps,\n CodeEditorItem,\n Error,\n} from \"@next-libs/code-editor-components\";\n\ninterface CodeEditorItemProps extends CodeEditorProps, FormItemWrapperProps {}\n\nexport function CodeEditorFormItem(\n props: CodeEditorItemProps\n): React.ReactElement {\n const { name, label, ...rest } = props;\n const [hasError, setHasError] = useState(false);\n\n const handleValidate = (err: Error[\"err\"]): void => {\n const error = some(err, [\"type\", \"error\"]);\n setHasError(error);\n };\n\n const validatorFn = async () => {\n if (!hasError) {\n return Promise.resolve();\n } else {\n return Promise.reject(\"请填写正确的 yaml 语法\");\n }\n };\n\n return (\n <Form.Item\n labelCol={props.labelCol}\n wrapperCol={props.wrapperCol}\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[\n { required: props.required, message: `请输入${props.name}` },\n { validator: validatorFn },\n ]}\n >\n <CodeEditorItem\n tabSize={2}\n minLines={3}\n maxLines={12}\n printMargin={false}\n showLineNumbers={props.showLineNumbers}\n showGutter={props.showGutter}\n showCopyButton={true}\n showExpandButton={true}\n theme=\"tomorrow\"\n enableLiveAutocompletion={true}\n onValidate={handleValidate}\n {...rest}\n ></CodeEditorItem>\n </Form.Item>\n );\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,IAAI,QAAQ,MAAM;AAE3B,SAEEC,cAAc,QAET,mCAAmC;AAI1C,OAAO,SAASC,
|
|
1
|
+
{"version":3,"file":"CodeEditorFormItem.js","names":["React","useState","some","Form","CodeEditorItem","CodeEditorFormItem","props","name","label","rest","_objectWithoutProperties","_excluded","hasError","setHasError","handleValidate","err","error","validatorFn","_ref","_asyncToGenerator","Promise","resolve","reject","apply","arguments","createElement","Item","labelCol","wrapperCol","key","rules","required","message","concat","validator","_extends","tabSize","minLines","maxLines","printMargin","showLineNumbers","showGutter","showCopyButton","showExpandButton","theme","enableLiveAutocompletion","onValidate"],"sources":["../../../../../src/visual-property-form/components/CodeEditor/CodeEditorFormItem.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { some } from \"lodash\";\nimport { Form } from \"antd\";\nimport { FormItemWrapperProps } from \"@next-libs/forms\";\nimport {\n CodeEditorProps,\n CodeEditorItem,\n Error,\n} from \"@next-libs/code-editor-components\";\n\ninterface CodeEditorItemProps extends CodeEditorProps, FormItemWrapperProps {}\n\nexport function CodeEditorFormItem(\n props: CodeEditorItemProps\n): React.ReactElement {\n const { name, label, ...rest } = props;\n const [hasError, setHasError] = useState(false);\n\n const handleValidate = (err: Error[\"err\"]): void => {\n const error = some(err, [\"type\", \"error\"]);\n setHasError(error);\n };\n\n const validatorFn = async () => {\n if (!hasError) {\n return Promise.resolve();\n } else {\n return Promise.reject(\"请填写正确的 yaml 语法\");\n }\n };\n\n return (\n <Form.Item\n labelCol={props.labelCol}\n wrapperCol={props.wrapperCol}\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[\n { required: props.required, message: `请输入${props.name}` },\n { validator: validatorFn },\n ]}\n >\n <CodeEditorItem\n tabSize={2}\n minLines={3}\n maxLines={12}\n printMargin={false}\n showLineNumbers={props.showLineNumbers}\n showGutter={props.showGutter}\n showCopyButton={true}\n showExpandButton={true}\n theme=\"tomorrow\"\n enableLiveAutocompletion={true}\n onValidate={handleValidate}\n {...rest}\n ></CodeEditorItem>\n </Form.Item>\n );\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,IAAI,QAAQ,MAAM;AAE3B,SAEEC,cAAc,QAET,mCAAmC;AAI1C,OAAO,SAASC,kBAAkBA,CAChCC,KAA0B,EACN;EACpB,IAAM;MAAEC,IAAI;MAAEC;IAAe,CAAC,GAAGF,KAAK;IAAdG,IAAI,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA;EACtC,IAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE/C,IAAMa,cAAc,GAAIC,GAAiB,IAAW;IAClD,IAAMC,KAAK,GAAGd,IAAI,CAACa,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1CF,WAAW,CAACG,KAAK,CAAC;EACpB,CAAC;EAED,IAAMC,WAAW;IAAA,IAAAC,IAAA,GAAAC,iBAAA,CAAG,aAAY;MAC9B,IAAI,CAACP,QAAQ,EAAE;QACb,OAAOQ,OAAO,CAACC,OAAO,CAAC,CAAC;MAC1B,CAAC,MAAM;QACL,OAAOD,OAAO,CAACE,MAAM,CAAC,gBAAgB,CAAC;MACzC;IACF,CAAC;IAAA,gBANKL,WAAWA,CAAA;MAAA,OAAAC,IAAA,CAAAK,KAAA,OAAAC,SAAA;IAAA;EAAA,GAMhB;EAED,oBACExB,KAAA,CAAAyB,aAAA,CAACtB,IAAI,CAACuB,IAAI;IACRC,QAAQ,EAAErB,KAAK,CAACqB,QAAS;IACzBC,UAAU,EAAEtB,KAAK,CAACsB,UAAW;IAC7BC,GAAG,EAAEvB,KAAK,CAACC,IAAK;IAChBA,IAAI,EAAED,KAAK,CAACC,IAAK;IACjBC,KAAK,EAAEF,KAAK,CAACE,KAAM;IACnBsB,KAAK,EAAE,CACL;MAAEC,QAAQ,EAAEzB,KAAK,CAACyB,QAAQ;MAAEC,OAAO,uBAAAC,MAAA,CAAQ3B,KAAK,CAACC,IAAI;IAAG,CAAC,EACzD;MAAE2B,SAAS,EAAEjB;IAAY,CAAC;EAC1B,gBAEFjB,KAAA,CAAAyB,aAAA,CAACrB,cAAc,EAAA+B,QAAA;IACbC,OAAO,EAAE,CAAE;IACXC,QAAQ,EAAE,CAAE;IACZC,QAAQ,EAAE,EAAG;IACbC,WAAW,EAAE,KAAM;IACnBC,eAAe,EAAElC,KAAK,CAACkC,eAAgB;IACvCC,UAAU,EAAEnC,KAAK,CAACmC,UAAW;IAC7BC,cAAc,EAAE,IAAK;IACrBC,gBAAgB,EAAE,IAAK;IACvBC,KAAK,EAAC,UAAU;IAChBC,wBAAwB,EAAE,IAAK;IAC/BC,UAAU,EAAEhC;EAAe,GACvBL,IAAI,CACO,CACR,CAAC;AAEhB","ignoreList":[]}
|