@fonixtree/magic-design 0.0.26 → 0.0.28

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 (38) hide show
  1. package/README.md +311 -0
  2. package/es/assets/fonts/.DS_Store +0 -0
  3. package/es/assets/less/modal.less +1 -1
  4. package/es/composite-comp/bol/components/Carousel/mobile/index.js +6 -4
  5. package/es/composite-comp/bol/components/Carousel/mobile/index.less +9 -11
  6. package/es/composite-comp/bol/components/Carousel/pc/index.js +24 -15
  7. package/es/composite-comp/bol/components/Carousel/pc/index.less +8 -0
  8. package/es/composite-comp/bol/config-panels/CarouselConfig/index.js +1 -0
  9. package/es/composite-comp/bol/second-config-panels/ImageTextSecondConfig/index.js +38 -0
  10. package/es/composite-comp/common/components/ProductItem/index.js +1 -1
  11. package/es/composite-comp/common/config-panels/SpacingConfig/index.js +17 -2
  12. package/es/constants/index.js +5 -1
  13. package/es/core/Designer/PageCompList/index.js +3 -1
  14. package/es/core/Designer/QuickMenuBar/index.js +58 -7
  15. package/es/core/Designer/QuickMenuBar/index.less +13 -4
  16. package/es/core/Designer/index.js +25 -3
  17. package/es/locale/index.js +33 -0
  18. package/es/meta-comp/components/Image/index.js +5 -0
  19. package/es/mobx/Store.js +7 -0
  20. package/lib/assets/fonts/.DS_Store +0 -0
  21. package/lib/assets/less/modal.less +1 -1
  22. package/lib/composite-comp/bol/components/Carousel/mobile/index.js +6 -4
  23. package/lib/composite-comp/bol/components/Carousel/mobile/index.less +9 -11
  24. package/lib/composite-comp/bol/components/Carousel/pc/index.js +24 -15
  25. package/lib/composite-comp/bol/components/Carousel/pc/index.less +8 -0
  26. package/lib/composite-comp/bol/config-panels/CarouselConfig/index.js +1 -0
  27. package/lib/composite-comp/bol/second-config-panels/ImageTextSecondConfig/index.js +38 -0
  28. package/lib/composite-comp/common/components/ProductItem/index.js +1 -1
  29. package/lib/composite-comp/common/config-panels/SpacingConfig/index.js +17 -2
  30. package/lib/constants/index.js +5 -1
  31. package/lib/core/Designer/PageCompList/index.js +3 -1
  32. package/lib/core/Designer/QuickMenuBar/index.js +58 -7
  33. package/lib/core/Designer/QuickMenuBar/index.less +13 -4
  34. package/lib/core/Designer/index.js +25 -3
  35. package/lib/locale/index.js +33 -0
  36. package/lib/meta-comp/components/Image/index.js +5 -0
  37. package/lib/mobx/Store.js +7 -0
  38. package/package.json +79 -1
@@ -7,10 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _antd = require("antd");
11
+
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
 
16
+ var _storeUtil = require("../../../utils/storeUtil");
17
+
18
+ var _mobx = require("../../../mobx");
19
+
14
20
  var _Button = _interopRequireDefault(require("../../../common/Button"));
15
21
 
16
22
  var _Iconfont = _interopRequireDefault(require("../../../common/Iconfont"));
@@ -52,12 +58,12 @@ var __extends = void 0 && (void 0).__extends || function () {
52
58
  }();
53
59
 
54
60
  var langBook = {
55
- Indonesian: {
61
+ id: {
56
62
  text: 'Indonesian',
57
63
  color: '#FF8541',
58
64
  backColor: '#FFF8F0'
59
65
  },
60
- English: {
66
+ en: {
61
67
  text: 'English',
62
68
  color: '#00AC5A',
63
69
  backColor: '#DFF3EA'
@@ -72,9 +78,19 @@ function (_super) {
72
78
  function QuickMenuBar() {
73
79
  var _this = _super !== null && _super.apply(this, arguments) || this;
74
80
 
81
+ _this.state = {
82
+ language: _mobx.store.language
83
+ };
84
+
75
85
  _this.onBtnClick = function (event) {
76
86
  var code = event.currentTarget.dataset.code;
77
87
 
88
+ if (code === _constants.quickMenuCode.SAVE || code === _constants.quickMenuCode.PUBLISH) {
89
+ _mobx.store.setState({
90
+ clickedFloor: ''
91
+ });
92
+ }
93
+
78
94
  if (_this.props.device === _constants.deviceTypeMap.PC) {}
79
95
 
80
96
  _this.props.onBtnClick(code);
@@ -83,12 +99,29 @@ function (_super) {
83
99
  return _this;
84
100
  }
85
101
 
102
+ QuickMenuBar.prototype.componentDidMount = function () {
103
+ var _this = this;
104
+
105
+ this.destory = (0, _mobx.autorun)(function () {
106
+ if (_this.state.language != _mobx.store.language) {
107
+ _this.setState({
108
+ language: _mobx.store.language
109
+ });
110
+ }
111
+ });
112
+ };
113
+
114
+ QuickMenuBar.prototype.componentWillUnmount = function () {
115
+ if (this.destory) this.destory();
116
+ };
117
+
86
118
  QuickMenuBar.prototype.render = function () {
119
+ var language = this.state.language;
87
120
  var _a = this.props,
88
121
  device = _a.device,
89
122
  undoDisable = _a.undoDisable,
90
- redoDisable = _a.redoDisable,
91
- language = _a.language;
123
+ redoDisable = _a.redoDisable;
124
+ var selectLanguage = langBook[language || 'en'];
92
125
  return /*#__PURE__*/_react["default"].createElement("div", {
93
126
  className: "quick_menu_wrap"
94
127
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -96,8 +129,8 @@ function (_super) {
96
129
  }, /*#__PURE__*/_react["default"].createElement("span", {
97
130
  className: "language",
98
131
  style: {
99
- color: langBook[language].color,
100
- background: langBook[language].backColor
132
+ color: selectLanguage.color,
133
+ background: selectLanguage.backColor
101
134
  }
102
135
  }, /*#__PURE__*/_react["default"].createElement(_Iconfont["default"], {
103
136
  size: "20px",
@@ -105,7 +138,25 @@ function (_super) {
105
138
  marginRight: '8px'
106
139
  },
107
140
  type: "icon-language"
108
- }), langBook[language].text)), /*#__PURE__*/_react["default"].createElement("div", {
141
+ }), /*#__PURE__*/_react["default"].createElement(_antd.Dropdown, {
142
+ overlay: /*#__PURE__*/_react["default"].createElement(_antd.Menu, {
143
+ items: Object.keys(langBook).map(function (key) {
144
+ return {
145
+ onClick: function onClick() {
146
+ /** 持久化国际化配置 */
147
+ (0, _storeUtil.setStore)(_constants.STORAGE_KEY.LANGUAGE, key);
148
+
149
+ _mobx.store.setState({
150
+ language: key
151
+ });
152
+ },
153
+ label: langBook[key].text,
154
+ key: key
155
+ };
156
+ })
157
+ }),
158
+ trigger: ['click']
159
+ }, /*#__PURE__*/_react["default"].createElement("span", null, selectLanguage.text)))), /*#__PURE__*/_react["default"].createElement("div", {
109
160
  className: "menu_center"
110
161
  }, /*#__PURE__*/_react["default"].createElement("div", {
111
162
  className: "device_group"
@@ -1,4 +1,4 @@
1
- .quick_menu_wrap{
1
+ .quick_menu_wrap {
2
2
  flex-shrink: 0;
3
3
  height: 80px;
4
4
  width: 100%;
@@ -8,7 +8,8 @@
8
8
  padding-left: 24px;
9
9
  padding-right: 28px;
10
10
  background-color: #FFF;
11
- .menu_left{
11
+
12
+ .menu_left {
12
13
  .language {
13
14
  display: flex;
14
15
  align-items: center;
@@ -17,16 +18,20 @@
17
18
  border-radius: 8px;
18
19
  padding: 12px;
19
20
  font-size: 16px;
21
+ cursor: pointer;
20
22
  }
21
23
  }
22
- .menu_center{
24
+
25
+ .menu_center {
23
26
  display: flex;
24
27
  align-items: center;
25
28
  justify-content: center;
29
+
26
30
  .device_group {
27
31
  display: flex;
28
32
  align-items: center;
29
33
  justify-content: center;
34
+
30
35
  .device_pc {
31
36
  cursor: pointer;
32
37
  height: 48px;
@@ -38,6 +43,7 @@
38
43
  border-bottom-left-radius: 8px;
39
44
  text-align: center;
40
45
  }
46
+
41
47
  .device_phone {
42
48
  cursor: pointer;
43
49
  height: 48px;
@@ -49,18 +55,21 @@
49
55
  border-bottom-right-radius: 8px;
50
56
  text-align: center;
51
57
  }
58
+
52
59
  .active {
53
60
  background: #E9F0FF;
54
61
  }
55
62
  }
63
+
56
64
  .redo_undo {
57
65
  display: flex;
58
66
  align-items: center;
59
67
  justify-content: center;
60
68
  margin-left: 24px;
61
-
69
+
62
70
  }
63
71
  }
72
+
64
73
  .menu_right {
65
74
  display: flex;
66
75
  }
@@ -342,7 +342,6 @@ function (_super) {
342
342
  _this.renderHeader = function () {
343
343
  return /*#__PURE__*/_react["default"].createElement(_QuickMenuBar["default"], {
344
344
  device: _this.state.device,
345
- language: _this.props.language,
346
345
  onBtnClick: _this.onQuickMenuClick,
347
346
  redoDisable: !_this.history.redoAble(),
348
347
  undoDisable: !_this.history.undoAble()
@@ -350,12 +349,21 @@ function (_super) {
350
349
  };
351
350
 
352
351
  var pageData = props.pageData,
353
- config = props.config;
352
+ config = props.config,
353
+ defaultLanguage = props.defaultLanguage;
354
354
  var MPageData = pageData.childNodes || [];
355
355
 
356
356
  _mobx.store.setState({
357
357
  MPageData: MPageData
358
358
  });
359
+ /** 如果没有配置国际化 则使用默认国际化 */
360
+
361
+
362
+ if (!_mobx.store.language) {
363
+ _mobx.store.setState({
364
+ language: defaultLanguage
365
+ });
366
+ }
359
367
 
360
368
  _this.configRef = /*#__PURE__*/_react["default"].createRef();
361
369
  _this.viewAreaRef = /*#__PURE__*/_react["default"].createRef();
@@ -370,7 +378,9 @@ function (_super) {
370
378
  }
371
379
 
372
380
  Designer.prototype.componentDidMount = function () {
373
- // 复合组件点击事件
381
+ var _this = this; // 复合组件点击事件
382
+
383
+
374
384
  window.document.addEventListener('component-click', this.componentClick); // 复合组件重新渲染事件
375
385
 
376
386
  window.document.addEventListener('render-view', this.reRenderViewArea);
@@ -378,6 +388,14 @@ function (_super) {
378
388
  // setTimeout(() => {
379
389
  // this.onQuickMenuClick(quickMenuCode.SAVE);
380
390
  // }, 60 * 1000);
391
+
392
+ this.destory = (0, _mobx.autorun)(function () {
393
+ if (_this.state.language != _mobx.store.language) {
394
+ _this.setState({
395
+ language: _mobx.store.language
396
+ });
397
+ }
398
+ });
381
399
  };
382
400
 
383
401
  Designer.prototype.componentWillReceiveProps = function (nextProps) {
@@ -396,6 +414,10 @@ function (_super) {
396
414
  setDesignConfig(config);
397
415
  };
398
416
 
417
+ Designer.prototype.componentWillUnmount = function () {
418
+ if (this.destory) this.destory();
419
+ };
420
+
399
421
  Designer.prototype.onComponentClick = function (data) {
400
422
  if (_mobx.store.clickedFloor === data.id) return;
401
423
 
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.i18n = i18n;
7
+
8
+ var _en = _interopRequireDefault(require("./en/en.json"));
9
+
10
+ var _id = _interopRequireDefault(require("./id/id.json"));
11
+
12
+ var _mobx = require("../mobx");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var localeMap = {
17
+ en: _en["default"],
18
+ id: _id["default"]
19
+ };
20
+ /** 国际化 */
21
+
22
+ function i18n(key, args) {
23
+ if (args === void 0) {
24
+ args = {};
25
+ }
26
+
27
+ var tempString = localeMap[_mobx.store.language || 'en'][key];
28
+ Object.keys(args).map(function (key) {
29
+ var reg = new RegExp("{" + key + "}", 'g');
30
+ tempString.replace(reg, args[key]);
31
+ });
32
+ return tempString;
33
+ }
@@ -74,6 +74,7 @@ function (_super) {
74
74
  hoverState = _a.hoverState,
75
75
  maxHeight = _a.maxHeight,
76
76
  maxWidth = _a.maxWidth,
77
+ minWidth = _a.minWidth,
77
78
  limitWidthHeight = _a.limitWidthHeight,
78
79
  scale = _a.scale;
79
80
  var hoverImgSrc = _this.state.hoverImgSrc;
@@ -92,6 +93,10 @@ function (_super) {
92
93
  obj.maxWidth = maxWidth;
93
94
  }
94
95
 
96
+ if (minWidth) {
97
+ obj.minWidth = minWidth;
98
+ }
99
+
95
100
  if (limitWidthHeight) {
96
101
  if ((0, _coreUtil.isPc)()) {
97
102
  if (data.content.pcImgWidth) obj.width = data.content.pcImgWidth * scale;
package/lib/mobx/Store.js CHANGED
@@ -7,12 +7,18 @@ exports.Store = void 0;
7
7
 
8
8
  var _mobx = require("mobx");
9
9
 
10
+ var _constants = require("../constants");
11
+
12
+ var _storeUtil = require("../utils/storeUtil");
13
+
10
14
  var debug = require('debug')('worker:mobx');
11
15
 
12
16
  var Store =
13
17
  /** @class */
14
18
  function () {
15
19
  function Store() {
20
+ this.language = (0, _storeUtil.getStore)(_constants.STORAGE_KEY.LANGUAGE); // 国际化语言
21
+
16
22
  this.hoveredMeta = ''; // hover的元组件Id
17
23
 
18
24
  this.clickedMeta = ''; // 点击的元组件Id
@@ -28,6 +34,7 @@ function () {
28
34
  this.CarouselStore = {}; // 轮播组件暂存数据
29
35
 
30
36
  (0, _mobx.makeObservable)(this, {
37
+ language: _mobx.observable,
31
38
  hoveredMeta: _mobx.observable,
32
39
  clickedMeta: _mobx.observable,
33
40
  clickedGroup: _mobx.observable,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fonixtree/magic-design",
3
3
  "author": "Cylon Team",
4
- "version": "0.0.26",
4
+ "version": "0.0.28",
5
5
  "description": "Magic Design",
6
6
  "license": "MIT",
7
7
  "module": "es/index.js",
@@ -34,6 +34,84 @@
34
34
  "replace": "^1.2.1",
35
35
  "slick-carousel": "^1.8.1"
36
36
  },
37
+ "devDependencies": {
38
+ "@babel/core": "^7.16.0",
39
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
40
+ "@rollup/plugin-babel": "^5.3.1",
41
+ "@rollup/plugin-commonjs": "^22.0.0",
42
+ "@rollup/plugin-image": "^2.1.1",
43
+ "@rollup/plugin-json": "^4.1.0",
44
+ "@rollup/plugin-node-resolve": "^13.3.0",
45
+ "@svgr/webpack": "^5.5.0",
46
+ "@types/axios": "^0.14.0",
47
+ "@types/lodash": "^4.14.182",
48
+ "@types/node": "^17.0.36",
49
+ "@types/react": "^18.0.9",
50
+ "@types/react-color": "^3.0.6",
51
+ "@types/react-dom": "^18.0.5",
52
+ "@types/uuid": "^8.3.4",
53
+ "@typescript-eslint/eslint-plugin": "^5.27.1",
54
+ "add": "^2.0.6",
55
+ "babel-loader": "^8.2.3",
56
+ "babel-plugin-named-asset-import": "^0.3.8",
57
+ "babel-preset-react-app": "^10.0.1",
58
+ "bfj": "^7.0.2",
59
+ "browserslist": "^4.18.1",
60
+ "camelcase": "^6.2.1",
61
+ "case-sensitive-paths-webpack-plugin": "^2.4.0",
62
+ "child_process": "^1.0.2",
63
+ "classnames": "^2.3.1",
64
+ "css-loader": "^6.5.1",
65
+ "css-minimizer-webpack-plugin": "^3.2.0",
66
+ "dotenv": "^10.0.0",
67
+ "dotenv-expand": "^5.1.0",
68
+ "eslint": "7",
69
+ "eslint-config-next": "^12.1.6",
70
+ "eslint-config-react-app": "^7.0.1",
71
+ "eslint-webpack-plugin": "^3.1.1",
72
+ "extract-zip": "^2.0.1",
73
+ "file-loader": "^6.2.0",
74
+ "fs-extra": "^10.0.0",
75
+ "html-webpack-plugin": "^5.5.0",
76
+ "http-proxy-middleware": "^2.0.6",
77
+ "identity-obj-proxy": "^3.0.0",
78
+ "less": "3.13.1",
79
+ "less-loader": "^11.0.0",
80
+ "mini-css-extract-plugin": "^2.4.5",
81
+ "mv": "^2.1.1",
82
+ "ora": "^4.1.1",
83
+ "postcss": "^8.4.4",
84
+ "postcss-flexbugs-fixes": "^5.0.2",
85
+ "postcss-loader": "^6.2.1",
86
+ "postcss-normalize": "^10.0.1",
87
+ "postcss-preset-env": "^7.0.1",
88
+ "postcss-px-to-viewport": "^1.1.1",
89
+ "postcss-selector-namespace": "^3.0.1",
90
+ "prompts": "^2.4.2",
91
+ "rc-tools": "^9.6.1-alpha.1",
92
+ "react-app-polyfill": "^3.0.0",
93
+ "react-dev-utils": "^12.0.1",
94
+ "react-refresh": "^0.11.0",
95
+ "resolve": "^1.20.0",
96
+ "resolve-url-loader": "^4.0.0",
97
+ "rollup-plugin-dts": "^4.2.2",
98
+ "rollup-plugin-peer-deps-external": "^2.2.4",
99
+ "rollup-plugin-postcss": "^4.0.2",
100
+ "rollup-plugin-styles": "^4.0.0",
101
+ "rollup-plugin-typescript2": "^0.32.1",
102
+ "sass-loader": "^12.3.0",
103
+ "semver": "^7.3.5",
104
+ "source-map-loader": "^3.0.0",
105
+ "style-loader": "^3.3.1",
106
+ "tailwindcss": "^3.0.2",
107
+ "terser-webpack-plugin": "^5.2.5",
108
+ "typescript": "^4.7.2",
109
+ "web-vitals": "^2.1.4",
110
+ "webpack": "^5.64.4",
111
+ "webpack-dev-server": "^4.6.0",
112
+ "webpack-manifest-plugin": "^4.0.2",
113
+ "workbox-webpack-plugin": "^6.4.1"
114
+ },
37
115
  "files": [
38
116
  "es",
39
117
  "lib",