@next-libs/visual-builder 1.2.14 → 1.2.16

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.
Files changed (48) hide show
  1. package/dist/cjs/index.js +0 -10
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/interfaces/brick-visualization.js +0 -3
  4. package/dist/cjs/interfaces/brick-visualization.js.map +1 -1
  5. package/dist/cjs/interfaces/index.js +0 -4
  6. package/dist/cjs/interfaces/index.js.map +1 -1
  7. package/dist/cjs/utils/deepMatch.js +0 -7
  8. package/dist/cjs/utils/deepMatch.js.map +1 -1
  9. package/dist/cjs/utils/index.js +0 -2
  10. package/dist/cjs/utils/index.js.map +1 -1
  11. package/dist/cjs/visual-property-form/VisualPropertyForm.js +2 -48
  12. package/dist/cjs/visual-property-form/VisualPropertyForm.js.map +1 -1
  13. package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js +0 -11
  14. package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
  15. package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js +0 -19
  16. package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
  17. package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js +0 -5
  18. package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
  19. package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js +0 -9
  20. package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
  21. package/dist/cjs/visual-property-form/constant.js.map +1 -1
  22. package/dist/cjs/visual-property-form/processor.js +9 -45
  23. package/dist/cjs/visual-property-form/processor.js.map +1 -1
  24. package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js +0 -11
  25. package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/interfaces/brick-visualization.js +0 -3
  28. package/dist/esm/interfaces/brick-visualization.js.map +1 -1
  29. package/dist/esm/interfaces/index.js.map +1 -1
  30. package/dist/esm/utils/deepMatch.js +0 -5
  31. package/dist/esm/utils/deepMatch.js.map +1 -1
  32. package/dist/esm/utils/index.js.map +1 -1
  33. package/dist/esm/visual-property-form/VisualPropertyForm.js +0 -25
  34. package/dist/esm/visual-property-form/VisualPropertyForm.js.map +1 -1
  35. package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js +4 -9
  36. package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
  37. package/dist/esm/visual-property-form/components/ColorEditor/ColorEditorItem.js +0 -9
  38. package/dist/esm/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
  39. package/dist/esm/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
  40. package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js +0 -4
  41. package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
  42. package/dist/esm/visual-property-form/constant.js.map +1 -1
  43. package/dist/esm/visual-property-form/processor.js +1 -27
  44. package/dist/esm/visual-property-form/processor.js.map +1 -1
  45. package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js +0 -3
  46. package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
  47. package/package.json +5 -5
  48. package/CHANGELOG.md +0 -137
@@ -8,7 +8,6 @@ export function isAdvanceMode(value) {
8
8
  if (typeof value === "string" && (value.startsWith("<%") || value.includes("${"))) {
9
9
  return true;
10
10
  }
11
-
12
11
  return false;
13
12
  }
14
13
  export function mergeProperties() {
@@ -38,56 +37,43 @@ export function yaml(value) {
38
37
  export function matchNoramlMenuValue(value) {
39
38
  if (typeof value === "string") {
40
39
  var _value$match, _value$match$;
41
-
42
40
  var reg = /<% APP\.getMenu\((.*)\) %>/;
43
41
  return ((_value$match = value.match(reg)) === null || _value$match === void 0 ? void 0 : (_value$match$ = _value$match[1]) === null || _value$match$ === void 0 ? void 0 : _value$match$.replace(/'|"/g, "")) || value;
44
42
  }
45
-
46
43
  return value;
47
44
  }
48
-
49
45
  function calcMenuValue(value) {
50
46
  if (typeof value === "string") {
51
47
  if (value.startsWith("<%")) {
52
48
  return value;
53
49
  }
54
-
55
50
  return "<% APP.getMenu('".concat(value, "') %>");
56
51
  }
57
-
58
52
  return value;
59
53
  }
60
-
61
54
  export function calculateValue() {
62
55
  var propertyList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
63
56
  var brickProperties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
57
  var typeList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
65
58
  var othersValue = {};
66
-
67
59
  var _loop = function (key, value) {
68
60
  var find = propertyList.find(item => item.name === key);
69
-
70
61
  if (!find) {
71
62
  othersValue[key] = value;
72
63
  }
73
64
  };
74
-
75
65
  for (var [key, value] of Object.entries(brickProperties)) {
76
66
  _loop(key, value);
77
67
  }
78
-
79
68
  var processValue = propertyList.reduce((obj, item) => {
80
69
  var v = brickProperties[item.name];
81
70
  obj[item.name] = v;
82
-
83
71
  if (v !== undefined) {
84
72
  if (!supportBasicType.concat(supportMenuType).includes(item.type)) {
85
73
  obj[item.name] = yamlStringify(v);
86
74
  }
87
-
88
75
  if (supportMenuType.includes(item.type)) {
89
76
  var selected = typeList.find(typeItem => typeItem.name === item.name);
90
-
91
77
  if ((selected === null || selected === void 0 ? void 0 : selected.mode) === ItemModeType.Advanced) {
92
78
  obj[item.name] = v;
93
79
  } else {
@@ -95,13 +81,13 @@ export function calculateValue() {
95
81
  }
96
82
  }
97
83
  }
98
-
99
84
  return obj;
100
85
  }, {});
101
86
  return _objectSpread(_objectSpread({}, processValue), {}, {
102
87
  [OTHER_FORM_ITEM_FIELD]: isEmpty(othersValue) ? "" : yamlStringify(othersValue)
103
88
  });
104
89
  }
90
+
105
91
  /**
106
92
  * @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理
107
93
  * 1. 当前属性的类型不是内置支持的类型
@@ -116,30 +102,25 @@ export function isUseYamlParse(field, typeList) {
116
102
  if (typeof field.value !== "string") return false;
117
103
  if (field.key === OTHER_FORM_ITEM_FIELD) return true;
118
104
  var find = typeList === null || typeList === void 0 ? void 0 : typeList.find(item => item.name === field.key);
119
-
120
105
  if (find) {
121
106
  if (supportMenuType.includes(find.type) && find.mode !== ItemModeType.Advanced) return false;
122
107
  var isBasicType = supportBasicType.includes(find.type);
123
108
  if (isBasicType && find.mode === ItemModeType.Advanced) return true;
124
109
  if (!isBasicType) return true;
125
110
  }
126
-
127
111
  return false;
128
112
  }
129
113
  export function isUseMenuParse(field, typeList) {
130
114
  var item = typeList.find(item => item.name === field.key);
131
-
132
115
  if (supportMenuType.includes(item === null || item === void 0 ? void 0 : item.type)) {
133
116
  return true;
134
117
  }
135
-
136
118
  return false;
137
119
  }
138
120
  export function processFormValue() {
139
121
  var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
140
122
  var typeList = arguments.length > 1 ? arguments[1] : undefined;
141
123
  var formData = {};
142
-
143
124
  for (var [key, value] of Object.entries(values)) {
144
125
  if (isUseYamlParse({
145
126
  key,
@@ -155,7 +136,6 @@ export function processFormValue() {
155
136
  formData[key] = value;
156
137
  }
157
138
  }
158
-
159
139
  return _objectSpread(_objectSpread({}, omit(formData, OTHER_FORM_ITEM_FIELD)), isEmpty(formData[OTHER_FORM_ITEM_FIELD]) ? {} : formData[OTHER_FORM_ITEM_FIELD]);
160
140
  }
161
141
  export function groupByType() {
@@ -164,25 +144,19 @@ export function groupByType() {
164
144
  var others = typeList.filter(item => item.group === "other");
165
145
  return Object.entries(groupBy(normals.concat(others), item => {
166
146
  var group = item.group || "basic";
167
-
168
147
  var groupI18N = _objectSpread(_objectSpread({}, groupI18nMap), item.groupI18N);
169
-
170
148
  var i18nData = groupI18N && groupI18N[group];
171
-
172
149
  if (i18nData) {
173
150
  return i18nText(i18nData);
174
151
  }
175
-
176
152
  return group;
177
153
  }));
178
154
  }
179
155
  export function extractCommonProps(typeList, sharedPropertyList) {
180
156
  if (isEmpty(typeList)) return [];
181
-
182
157
  if (sharedPropertyList) {
183
158
  return sharedPropertyList.concat(typeList);
184
159
  }
185
-
186
160
  return defaultCommonProps.concat(typeList);
187
161
  }
188
162
  //# sourceMappingURL=processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","names":["i18nText","ItemModeType","safeDump","JSON_SCHEMA","safeLoad","omit","isEmpty","groupBy","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","groupI18nMap","isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","Advanced","Normal","yamlStringify","indent","schema","skipInvalid","noRefs","noCompatMode","yaml","json","matchNoramlMenuValue","reg","match","replace","calcMenuValue","calculateValue","typeList","othersValue","key","find","Object","entries","processValue","reduce","obj","v","undefined","concat","type","selected","typeItem","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","groupByType","normals","filter","group","others","groupI18N","i18nData","extractCommonProps","sharedPropertyList"],"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 ) {\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 ...item,\n value: brickProperties?.[item.name],\n mode: isAdvanceMode(brickProperties?.[item.name])\n ? ItemModeType.Advanced\n : ItemModeType.Normal,\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 });\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 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.concat(supportMenuType).includes(item.type as string)\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] = 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 * @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\") return false;\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((item) => item.group !== \"other\");\n const others = typeList.filter((item) => item.group === \"other\");\n\n return Object.entries(\n groupBy(normals.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":["i18nText","ItemModeType","safeDump","JSON_SCHEMA","safeLoad","omit","isEmpty","groupBy","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","groupI18nMap","isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","Advanced","Normal","yamlStringify","indent","schema","skipInvalid","noRefs","noCompatMode","yaml","json","matchNoramlMenuValue","reg","match","replace","calcMenuValue","calculateValue","typeList","othersValue","key","find","Object","entries","processValue","reduce","obj","v","undefined","concat","type","selected","typeItem","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","groupByType","normals","filter","group","others","groupI18N","i18nData","extractCommonProps","sharedPropertyList"],"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 ) {\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 ...item,\n value: brickProperties?.[item.name],\n mode: isAdvanceMode(brickProperties?.[item.name])\n ? ItemModeType.Advanced\n : ItemModeType.Normal,\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 });\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 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.concat(supportMenuType).includes(item.type as string)\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] = 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 * @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\") return false;\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((item) => item.group !== \"other\");\n const others = typeList.filter((item) => item.group === \"other\");\n\n return Object.entries(\n groupBy(normals.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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"}
@@ -15,11 +15,9 @@ export function WorkbenchMiniActionBar(_ref) {
15
15
  onActionClick
16
16
  } = _ref;
17
17
  var enabledActions = useMemo(() => actions === null || actions === void 0 ? void 0 : actions.filter(item => looseCheckIfByTransform(item, data)), [actions, data]);
18
-
19
18
  if (actionsHidden || !(enabledActions !== null && enabledActions !== void 0 && enabledActions.length)) {
20
19
  return null;
21
20
  }
22
-
23
21
  return /*#__PURE__*/React.createElement("div", {
24
22
  className: classNames(styles.actionsBar, className),
25
23
  style: {
@@ -34,7 +32,6 @@ export function WorkbenchMiniActionBar(_ref) {
34
32
  onActionClick: onActionClick
35
33
  })));
36
34
  }
37
-
38
35
  function WorkbenchSubAction(_ref2) {
39
36
  var {
40
37
  action,
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useMemo","classNames","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","filter","item","length","actionsBar","map","action","WorkbenchSubAction","disabled","handleActionClick","event","preventDefault","stopPropagation","preventMouseEvent","title","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { looseCheckIfByTransform } 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 onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\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 onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\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 onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <GeneralIcon icon={action.icon} />\n </a>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,OAA7B,QAA4C,OAA5C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,uBAAT,QAAwC,sBAAxC;AACA,SAASC,WAAT,QAA4B,6BAA5B;AAGA,OAAOC,MAAP,MAAmB,qCAAnB;AAaA,OAAO,SAASC,sBAAT,OAS4C;EAAA,IATZ;IACrCC,IADqC;IAErCC,SAFqC;IAGrCC,GAHqC;IAIrCC,OAJqC;IAKrCC,MALqC;IAMrCC,OANqC;IAOrCC,aAPqC;IAQrCC;EARqC,CASY;EACjD,IAAMC,cAAc,GAAGd,OAAO,CAC5B,MAAMW,OAAN,aAAMA,OAAN,uBAAMA,OAAO,CAAEI,MAAT,CAAiBC,IAAD,IAAUd,uBAAuB,CAACc,IAAD,EAAOV,IAAP,CAAjD,CADsB,EAE5B,CAACK,OAAD,EAAUL,IAAV,CAF4B,CAA9B;;EAKA,IAAIM,aAAa,IAAI,EAACE,cAAD,aAACA,cAAD,eAACA,cAAc,CAAEG,MAAjB,CAArB,EAA8C;IAC5C,OAAO,IAAP;EACD;;EAED,oBACE;IAAK,SAAS,EAAEhB,UAAU,CAACG,MAAM,CAACc,UAAR,EAAoBX,SAApB,CAA1B;IAA0D,KAAK,EAAE;MAAEC;IAAF;EAAjE,GACGM,cAAc,CAACK,GAAf,CAAoBH,IAAD,iBAClB,oBAAC,kBAAD;IACE,GAAG,EAAEA,IAAI,CAACI,MADZ;IAEE,MAAM,EAAEJ,IAFV;IAGE,IAAI,EAAEV,IAHR;IAIE,OAAO,EAAEG,OAJX;IAKE,MAAM,EAAEC,MALV;IAME,aAAa,EAAEG;EANjB,EADD,CADH,CADF;AAcD;;AAUD,SAASQ,kBAAT,QAMgD;EAAA,IANpB;IAC1BD,MAD0B;IAE1Bd,IAF0B;IAG1BG,OAH0B;IAI1BC,MAJ0B;IAK1BG;EAL0B,CAMoB;EAC9C,IAAMS,QAAQ,GACXb,OAAO,IAAIW,MAAM,CAACA,MAAP,KAAkB,SAA9B,IACCV,MAAM,IAAIU,MAAM,CAACA,MAAP,KAAkB,WAF/B;EAIA,IAAMG,iBAAiB,GAAGxB,WAAW,CAClCyB,KAAD,IAA6B;IAC3BA,KAAK,CAACC,cAAN;IACAD,KAAK,CAACE,eAAN;IACAJ,QAAQ,KACNT,aADM,aACNA,aADM,uBACNA,aAAa,CAAG;MACdO,MAAM,EAAEA,MAAM,CAACA,MADD;MAEdd,IAAI,EAAEA;IAFQ,CAAH,CADP,CAAR;EAKD,CATkC,EAUnC,CAACc,MAAM,CAACA,MAAR,EAAgBd,IAAhB,EAAsBgB,QAAtB,EAAgCT,aAAhC,CAVmC,CAArC;EAaA,IAAMc,iBAAiB,GAAG5B,WAAW,CAAEyB,KAAD,IAA6B;IACjEA,KAAK,CAACC,cAAN;IACAD,KAAK,CAACE,eAAN;EACD,CAHoC,EAGlC,EAHkC,CAArC;EAKA,oBACE;IACE,SAAS,EAAEzB,UAAU,CAACG,MAAM,CAACgB,MAAR,EAAgB;MAAE,CAAChB,MAAM,CAACkB,QAAR,GAAmBA;IAArB,CAAhB,CADvB;IAEE,KAAK,EAAEF,MAAM,CAACQ,KAFhB;IAGE,IAAI,EAAC,QAHP;IAIE,OAAO,EAAEL,iBAJX;IAKE,aAAa,EAAEI,iBALjB;IAME,WAAW,EAAEA;EANf,gBAQE,oBAAC,WAAD;IAAa,IAAI,EAAEP,MAAM,CAACS;EAA1B,EARF,CADF;AAYD"}
1
+ {"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useMemo","classNames","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","filter","item","length","actionsBar","map","action","WorkbenchSubAction","disabled","handleActionClick","event","preventDefault","stopPropagation","preventMouseEvent","title","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { looseCheckIfByTransform } 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 onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\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 onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\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 onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <GeneralIcon icon={action.icon} />\n </a>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,WAAW,QAAQ,6BAA6B;AAGzD,OAAOC,MAAM,MAAM,qCAAqC;AAaxD,OAAO,SAASC,sBAAsB,OASa;EAAA,IATZ;IACrCC,IAAI;IACJC,SAAS;IACTC,GAAG;IACHC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,aAAa;IACbC;EAC0B,CAAC;EAC3B,IAAMC,cAAc,GAAGd,OAAO,CAC5B,MAAMW,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,MAAM,CAAEC,IAAI,IAAKd,uBAAuB,CAACc,IAAI,EAAEV,IAAI,CAAC,CAAC,EACpE,CAACK,OAAO,EAAEL,IAAI,CAAC,CAChB;EAED,IAAIM,aAAa,IAAI,EAACE,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEG,MAAM,GAAE;IAC5C,OAAO,IAAI;EACb;EAEA,oBACE;IAAK,SAAS,EAAEhB,UAAU,CAACG,MAAM,CAACc,UAAU,EAAEX,SAAS,CAAE;IAAC,KAAK,EAAE;MAAEC;IAAI;EAAE,GACtEM,cAAc,CAACK,GAAG,CAAEH,IAAI,iBACvB,oBAAC,kBAAkB;IACjB,GAAG,EAAEA,IAAI,CAACI,MAAO;IACjB,MAAM,EAAEJ,IAAK;IACb,IAAI,EAAEV,IAAK;IACX,OAAO,EAAEG,OAAQ;IACjB,MAAM,EAAEC,MAAO;IACf,aAAa,EAAEG;EAAc,EAEhC,CAAC,CACE;AAEV;AAUA,SAASQ,kBAAkB,QAMqB;EAAA,IANpB;IAC1BD,MAAM;IACNd,IAAI;IACJG,OAAO;IACPC,MAAM;IACNG;EACuB,CAAC;EACxB,IAAMS,QAAQ,GACXb,OAAO,IAAIW,MAAM,CAACA,MAAM,KAAK,SAAS,IACtCV,MAAM,IAAIU,MAAM,CAACA,MAAM,KAAK,WAAY;EAE3C,IAAMG,iBAAiB,GAAGxB,WAAW,CAClCyB,KAAuB,IAAK;IAC3BA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;IACvBJ,QAAQ,KACNT,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG;MACdO,MAAM,EAAEA,MAAM,CAACA,MAAM;MACrBd,IAAI,EAAEA;IACR,CAAC,CAAC;EACN,CAAC,EACD,CAACc,MAAM,CAACA,MAAM,EAAEd,IAAI,EAAEgB,QAAQ,EAAET,aAAa,CAAC,CAC/C;EAED,IAAMc,iBAAiB,GAAG5B,WAAW,CAAEyB,KAAuB,IAAK;IACjEA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IACE,SAAS,EAAEzB,UAAU,CAACG,MAAM,CAACgB,MAAM,EAAE;MAAE,CAAChB,MAAM,CAACkB,QAAQ,GAAGA;IAAS,CAAC,CAAE;IACtE,KAAK,EAAEF,MAAM,CAACQ,KAAM;IACpB,IAAI,EAAC,QAAQ;IACb,OAAO,EAAEL,iBAAkB;IAC3B,aAAa,EAAEI,iBAAkB;IACjC,WAAW,EAAEA;EAAkB,gBAE/B,oBAAC,WAAW;IAAC,IAAI,EAAEP,MAAM,CAACS;EAAK,EAAG,CAChC;AAER"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/visual-builder",
3
- "version": "1.2.14",
3
+ "version": "1.2.16",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/visual-builder",
6
6
  "license": "GPL-3.0",
@@ -29,11 +29,11 @@
29
29
  "@next-dll/ace": "*"
30
30
  },
31
31
  "dependencies": {
32
- "@next-libs/basic-components": "^4.0.1",
33
- "@next-libs/code-editor-components": "^4.7.0",
34
- "@next-libs/forms": "^3.3.0",
32
+ "@next-libs/basic-components": "^4.0.2",
33
+ "@next-libs/code-editor-components": "^4.7.2",
34
+ "@next-libs/forms": "^3.3.1",
35
35
  "@types/react-color": "^3.0.6",
36
36
  "react-color": "^2.19.3"
37
37
  },
38
- "gitHead": "7f8cc67dc501e51300a3945af387a0a70193bc7f"
38
+ "gitHead": "f3f8cce5385621fb7c98d2eed98cae915dfae3f4"
39
39
  }
package/CHANGELOG.md DELETED
@@ -1,137 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [1.2.14](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.13...@next-libs/visual-builder@1.2.14) (2022-11-03)
7
-
8
- **Note:** Version bump only for package @next-libs/visual-builder
9
-
10
-
11
-
12
-
13
-
14
- ## [1.2.13](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.12...@next-libs/visual-builder@1.2.13) (2022-11-03)
15
-
16
- **Note:** Version bump only for package @next-libs/visual-builder
17
-
18
-
19
-
20
-
21
-
22
- ## [1.2.12](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.11...@next-libs/visual-builder@1.2.12) (2022-10-31)
23
-
24
- **Note:** Version bump only for package @next-libs/visual-builder
25
-
26
-
27
-
28
-
29
-
30
- ## [1.2.11](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.10...@next-libs/visual-builder@1.2.11) (2022-10-28)
31
-
32
- **Note:** Version bump only for package @next-libs/visual-builder
33
-
34
-
35
-
36
-
37
-
38
- ## [1.2.10](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.9...@next-libs/visual-builder@1.2.10) (2022-10-26)
39
-
40
- **Note:** Version bump only for package @next-libs/visual-builder
41
-
42
-
43
-
44
-
45
-
46
- ## [1.2.9](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.8...@next-libs/visual-builder@1.2.9) (2022-10-25)
47
-
48
- **Note:** Version bump only for package @next-libs/visual-builder
49
-
50
-
51
-
52
-
53
-
54
- ## [1.2.8](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.7...@next-libs/visual-builder@1.2.8) (2022-10-24)
55
-
56
- **Note:** Version bump only for package @next-libs/visual-builder
57
-
58
-
59
-
60
-
61
-
62
- ## [1.2.7](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.6...@next-libs/visual-builder@1.2.7) (2022-10-20)
63
-
64
- **Note:** Version bump only for package @next-libs/visual-builder
65
-
66
-
67
-
68
-
69
-
70
- ## [1.2.6](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.5...@next-libs/visual-builder@1.2.6) (2022-10-19)
71
-
72
- **Note:** Version bump only for package @next-libs/visual-builder
73
-
74
-
75
-
76
-
77
-
78
- ## [1.2.5](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.4...@next-libs/visual-builder@1.2.5) (2022-10-18)
79
-
80
- **Note:** Version bump only for package @next-libs/visual-builder
81
-
82
-
83
-
84
-
85
-
86
- ## [1.2.4](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.3...@next-libs/visual-builder@1.2.4) (2022-10-17)
87
-
88
- **Note:** Version bump only for package @next-libs/visual-builder
89
-
90
-
91
-
92
-
93
-
94
- ## [1.2.3](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.2...@next-libs/visual-builder@1.2.3) (2022-10-13)
95
-
96
- **Note:** Version bump only for package @next-libs/visual-builder
97
-
98
-
99
-
100
-
101
-
102
- ## [1.2.2](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.1...@next-libs/visual-builder@1.2.2) (2022-09-29)
103
-
104
-
105
- ### Bug Fixes
106
-
107
- * support hiddenPropsCategory ([#432](https://github.com/easyops-cn/next-libs/issues/432)) ([3d0778e](https://github.com/easyops-cn/next-libs/commit/3d0778eac32f532b031cb0ad67ba1daac441370c))
108
-
109
-
110
-
111
-
112
-
113
- ## [1.2.1](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.2.0...@next-libs/visual-builder@1.2.1) (2022-09-23)
114
-
115
- **Note:** Version bump only for package @next-libs/visual-builder
116
-
117
-
118
-
119
-
120
-
121
- # [1.2.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/visual-builder@1.1.0...@next-libs/visual-builder@1.2.0) (2022-09-21)
122
-
123
-
124
- ### Features
125
-
126
- * migrate shared component to libs ([a75be30](https://github.com/easyops-cn/next-libs/commit/a75be3028288fc5f73fef0a02105fb605ad0feeb))
127
-
128
-
129
-
130
-
131
-
132
- # 1.1.0 (2022-09-20)
133
-
134
-
135
- ### Features
136
-
137
- * **visual-builder:** 迁移【visual-property-form】至libs ([bb31a88](https://github.com/easyops-cn/next-libs/commit/bb31a883378a208ae271f2e8c792b049821b6596))