@fonixtree/magic-design 0.0.33 → 0.0.35

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 (32) hide show
  1. package/es/assets/images/layout-icon/layout-recommend-1.png +0 -0
  2. package/es/assets/images/layout-icon/layout-recommend-2.png +0 -0
  3. package/es/assets/images/layout-icon/layout-recommend-3.png +0 -0
  4. package/es/assets/images/layout-icon/layout-recommend-4.png +0 -0
  5. package/es/assets/images/layout-icon/layout-recommend-5.png +0 -0
  6. package/es/composite-comp/bol/components/ImageText/mobile/index.js +1 -1
  7. package/es/composite-comp/common/config-panels/SpacingConfig/index.js +6 -4
  8. package/es/composite-comp/dito/config-panels/RecommendConfig/index.js +13 -7
  9. package/es/constants/layout.js +34 -2
  10. package/es/core/Designer/PageCompList/index.less +36 -11
  11. package/es/core/Designer/QuickMenuBar/index.js +6 -5
  12. package/es/locale/index.js +4 -1
  13. package/es/meta-comp/components/Image/index.js +9 -3
  14. package/es/meta-comp/config-panels/ButtonConfig/index.js +3 -2
  15. package/es/meta-comp/config-panels/TextConfig/index.js +3 -2
  16. package/lib/assets/images/layout-icon/layout-recommend-1.png +0 -0
  17. package/lib/assets/images/layout-icon/layout-recommend-2.png +0 -0
  18. package/lib/assets/images/layout-icon/layout-recommend-3.png +0 -0
  19. package/lib/assets/images/layout-icon/layout-recommend-4.png +0 -0
  20. package/lib/assets/images/layout-icon/layout-recommend-5.png +0 -0
  21. package/lib/composite-comp/bol/components/ImageText/mobile/index.js +1 -1
  22. package/lib/composite-comp/common/config-panels/SpacingConfig/index.js +6 -4
  23. package/lib/composite-comp/dito/config-panels/RecommendConfig/index.js +13 -7
  24. package/lib/constants/layout.js +34 -2
  25. package/lib/core/Designer/PageCompList/index.less +36 -11
  26. package/lib/core/Designer/QuickMenuBar/index.js +6 -5
  27. package/lib/locale/index.js +4 -1
  28. package/lib/meta-comp/components/Image/index.js +9 -3
  29. package/lib/meta-comp/config-panels/ButtonConfig/index.js +3 -2
  30. package/lib/meta-comp/config-panels/TextConfig/index.js +3 -2
  31. package/package.json +2 -79
  32. package/README.md +0 -311
@@ -54,7 +54,7 @@ var maxWidth = {
54
54
  };
55
55
  var maxHeight = {
56
56
  normal1: 60,
57
- normal2: '100%',
57
+ normal2: 375,
58
58
  normal3: 107,
59
59
  outsideM: 60,
60
60
  centerM: 60
@@ -62,7 +62,8 @@ function (_super) {
62
62
 
63
63
  var _a = this.props,
64
64
  data = _a.data,
65
- type = _a.type,
65
+ configPaddingLR = _a.configPaddingLR,
66
+ configCompSpace = _a.configCompSpace,
66
67
  configWidth = _a.configWidth;
67
68
  var obj = data[window.magicDesign.device];
68
69
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -106,7 +107,7 @@ function (_super) {
106
107
  _this.selfRender();
107
108
  },
108
109
  value: obj.paddingBottom
109
- })), type == 'button' && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
110
+ })), configPaddingLR && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
110
111
  className: "padding-item"
111
112
  }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
112
113
  type: "icon-padding-left"
@@ -128,7 +129,7 @@ function (_super) {
128
129
  _this.selfRender();
129
130
  },
130
131
  value: obj.paddingRight
131
- }))))), type != 'button' && /*#__PURE__*/_react["default"].createElement(_common.Field, {
132
+ }))))), configCompSpace && /*#__PURE__*/_react["default"].createElement(_common.Field, {
132
133
  title: (0, _locale.i18n)('COMPONENT_SPACING')
133
134
  }, /*#__PURE__*/_react["default"].createElement(_common.Slider, {
134
135
  maxVal: 100,
@@ -145,7 +146,8 @@ function (_super) {
145
146
  };
146
147
 
147
148
  SpacingConfig.defaultProps = {
148
- type: 'default',
149
+ configPaddingLR: false,
150
+ configCompSpace: true,
149
151
  configWidth: false,
150
152
  data: {
151
153
  pc: {
@@ -11,7 +11,9 @@ var _RecommendConfigGroup = _interopRequireDefault(require("./RecommendConfigGro
11
11
 
12
12
  var _RecommendConfigContent = _interopRequireDefault(require("./RecommendConfigContent"));
13
13
 
14
- var _layout = _interopRequireDefault(require("./imgs/layout1.png"));
14
+ var _layout = require("../../../../constants/layout");
15
+
16
+ var _SpacingConfig = _interopRequireDefault(require("../../../common/config-panels/SpacingConfig"));
15
17
 
16
18
  var _BackgroundConfig = _interopRequireDefault(require("../../../common/config-panels/BackgroundConfig"));
17
19
 
@@ -42,18 +44,22 @@ function FlashDealConfig(props) {
42
44
  })
43
45
  }, {
44
46
  key: '3',
47
+ name: (0, _locale.i18n)('SPACING'),
48
+ value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
49
+ configCompSpace: true,
50
+ configPaddingLR: true,
51
+ data: data.spacing
52
+ })
53
+ }, {
54
+ key: '4',
45
55
  name: (0, _locale.i18n)('CUSTOMIZE'),
46
56
  value: /*#__PURE__*/_react["default"].createElement(_CustomizeConfig["default"], {
47
57
  data: data.customize,
48
58
  isHideAlign: true,
49
- layoutSource: [{
50
- id: 'layout1',
51
- name: 'left',
52
- image: _layout["default"]
53
- }]
59
+ layoutSource: _layout.recommendLayout
54
60
  })
55
61
  }, {
56
- key: '4',
62
+ key: '5',
57
63
  name: (0, _locale.i18n)('BACKGROUND'),
58
64
  value: /*#__PURE__*/_react["default"].createElement(_BackgroundConfig["default"], {
59
65
  data: data.background
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.searchLayout = exports.newsletterLayout = exports.imageTextLayoutPc = exports.imageTextLayoutMobile = exports.imageGalleryLayout = exports.dividerLayout = exports.carouselLayout = void 0;
6
+ exports.searchLayout = exports.recommendLayout = exports.newsletterLayout = exports.imageTextLayoutPc = exports.imageTextLayoutMobile = exports.imageGalleryLayout = exports.dividerLayout = exports.carouselLayout = void 0;
7
7
 
8
8
  var _dividerLayout = _interopRequireDefault(require("../assets/images/layout-icon/dividerLayout.svg"));
9
9
 
@@ -37,6 +37,16 @@ var _layoutImagetextP3 = _interopRequireDefault(require("../assets/images/layout
37
37
 
38
38
  var _newsletter = _interopRequireDefault(require("../assets/images/layout-icon/newsletter.svg"));
39
39
 
40
+ var _layoutRecommend = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-1.png"));
41
+
42
+ var _layoutRecommend2 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-2.png"));
43
+
44
+ var _layoutRecommend3 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-3.png"));
45
+
46
+ var _layoutRecommend4 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-4.png"));
47
+
48
+ var _layoutRecommend5 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-5.png"));
49
+
40
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
51
 
42
52
  // import p3 from '../assets/images/layout-icon/layout-imagetext-p3.png';
@@ -117,4 +127,26 @@ var newsletterLayout = [{
117
127
  name: 'layout1',
118
128
  image: _newsletter["default"]
119
129
  }];
120
- exports.newsletterLayout = newsletterLayout;
130
+ exports.newsletterLayout = newsletterLayout;
131
+ var recommendLayout = [{
132
+ id: 'layout1',
133
+ name: 'layout1',
134
+ image: _layoutRecommend["default"]
135
+ }, {
136
+ id: 'layout2',
137
+ name: 'layout2',
138
+ image: _layoutRecommend2["default"]
139
+ }, {
140
+ id: 'layout3',
141
+ name: 'layout3',
142
+ image: _layoutRecommend3["default"]
143
+ }, {
144
+ id: 'layout4',
145
+ name: 'layout4',
146
+ image: _layoutRecommend4["default"]
147
+ }, {
148
+ id: 'layout5',
149
+ name: 'layout5',
150
+ image: _layoutRecommend5["default"]
151
+ }];
152
+ exports.recommendLayout = recommendLayout;
@@ -1,14 +1,17 @@
1
1
  .page-comp-wrap {
2
2
  z-index: 100;
3
3
  background-color: #FFF;
4
- width:354px;
4
+ width: 354px;
5
5
  flex-shrink: 0;
6
+
6
7
  .page-comp-head {
7
8
  height: 81px;
8
9
  box-shadow: inset 0px -1px 0px #EDF0F4;
9
10
  }
11
+
10
12
  .page-comp-list {
11
13
  padding: 24px;
14
+
12
15
  .title {
13
16
  font-family: 'Open Sans';
14
17
  font-style: normal;
@@ -16,7 +19,11 @@
16
19
  font-size: 26px;
17
20
  line-height: 36px;
18
21
  color: #232F46;
22
+ overflow: hidden;
23
+ text-overflow: ellipsis;
24
+ white-space: nowrap;
19
25
  }
26
+
20
27
  .list {
21
28
  .inner-list {
22
29
  margin-right: -21px;
@@ -26,16 +33,21 @@
26
33
  height: calc(100vh - 260px);
27
34
  background: #F5F6F7;
28
35
  border-radius: 8px;
29
-
30
- &::-webkit-scrollbar { //滚动条的宽度
36
+
37
+ &::-webkit-scrollbar {
38
+ //滚动条的宽度
31
39
  width: 8px;
32
40
  }
33
- &::-webkit-scrollbar-track-piece { //滚动条凹槽的颜色
41
+
42
+ &::-webkit-scrollbar-track-piece {
43
+ //滚动条凹槽的颜色
34
44
  background-color: #fff;
35
45
  }
36
- &::-webkit-scrollbar-thumb {//滚动条的设置
37
- background-color:#C1C9D7;
38
- background-clip:padding-box;
46
+
47
+ &::-webkit-scrollbar-thumb {
48
+ //滚动条的设置
49
+ background-color: #C1C9D7;
50
+ background-clip: padding-box;
39
51
  border-radius: 100px;
40
52
  }
41
53
  }
@@ -44,7 +56,7 @@
44
56
  }
45
57
 
46
58
 
47
- .card-wrap{
59
+ .card-wrap {
48
60
  display: flex;
49
61
  justify-content: space-between;
50
62
  cursor: move;
@@ -52,16 +64,20 @@
52
64
  line-height: 64px;
53
65
  padding: 0 20px;
54
66
  color: #232F46;
67
+
55
68
  .left {
56
69
  width: 100%;
57
70
  display: flex;
58
71
  align-items: center;
72
+
59
73
  .comp-icon {
60
74
  display: block;
61
75
  }
76
+
62
77
  .drag-icon {
63
78
  display: none;
64
79
  }
80
+
65
81
  .card-title {
66
82
  font-size: 16px;
67
83
  line-height: 24px;
@@ -71,44 +87,53 @@
71
87
  font-style: normal;
72
88
  }
73
89
  }
90
+
74
91
  .more-btn {
75
92
  display: none;
76
93
  cursor: pointer;
77
94
  }
95
+
78
96
  &:hover {
79
97
  background: #E9F0FF;
80
98
  color: #2F54EB;
99
+
81
100
  .left {
82
101
  font-family: 'Open Sans';
83
102
  font-style: normal;
84
- font-weight:600;
103
+ font-weight: 600;
85
104
  font-size: 16px;
86
105
  line-height: 24px;
106
+
87
107
  .comp-icon {
88
108
  display: none;
89
109
  }
110
+
90
111
  .drag-icon {
91
112
  display: block;
92
113
  }
114
+
93
115
  .card-title {
94
116
  font-weight: 600;
95
117
  }
96
118
  }
119
+
97
120
  .more-btn {
98
121
  display: block;
99
122
  }
100
123
  }
101
124
  }
102
125
 
103
- .active{
126
+ .active {
104
127
  background: #E9F0FF;
105
128
  color: #2F54EB;
129
+
106
130
  .left {
107
131
  .card-title {
108
132
  font-weight: 600;
109
133
  }
110
134
  }
135
+
111
136
  .more-btn {
112
137
  display: block;
113
138
  }
114
- }
139
+ }
@@ -66,8 +66,8 @@ var langBook = {
66
66
  color: '#00AC5A',
67
67
  backColor: '#DFF3EA'
68
68
  },
69
- Spain: {
70
- text: 'Spain',
69
+ Spanish: {
70
+ text: 'Spanish',
71
71
  color: '#00AC50',
72
72
  backColor: '#DFF3E0'
73
73
  }
@@ -104,6 +104,7 @@ function (_super) {
104
104
  undoDisable = _a.undoDisable,
105
105
  redoDisable = _a.redoDisable,
106
106
  language = _a.language;
107
+ var languageTemp = langBook[language] || {};
107
108
  return /*#__PURE__*/_react["default"].createElement("div", {
108
109
  className: "quick_menu_wrap"
109
110
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -111,8 +112,8 @@ function (_super) {
111
112
  }, /*#__PURE__*/_react["default"].createElement("span", {
112
113
  className: "language",
113
114
  style: {
114
- color: langBook[language].color,
115
- background: langBook[language].backColor
115
+ color: languageTemp.color,
116
+ background: languageTemp.backColor
116
117
  }
117
118
  }, /*#__PURE__*/_react["default"].createElement(_Iconfont["default"], {
118
119
  size: "20px",
@@ -120,7 +121,7 @@ function (_super) {
120
121
  marginRight: '8px'
121
122
  },
122
123
  type: "icon-language"
123
- }), langBook[language].text)), /*#__PURE__*/_react["default"].createElement("div", {
124
+ }), languageTemp.text)), /*#__PURE__*/_react["default"].createElement("div", {
124
125
  className: "menu_center"
125
126
  }, /*#__PURE__*/_react["default"].createElement("div", {
126
127
  className: "device_group"
@@ -9,13 +9,16 @@ var _en = _interopRequireDefault(require("./en/en.json"));
9
9
 
10
10
  var _id = _interopRequireDefault(require("./id/id.json"));
11
11
 
12
+ var _es = _interopRequireDefault(require("./es/es.json"));
13
+
12
14
  var _mobx = require("../mobx");
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
18
  var localeMap = {
17
19
  en: _en["default"],
18
- id: _id["default"]
20
+ id: _id["default"],
21
+ es: _es["default"]
19
22
  };
20
23
  /** 国际化 */
21
24
 
@@ -100,10 +100,16 @@ function (_super) {
100
100
  if (limitWidthHeight) {
101
101
  if ((0, _coreUtil.isPc)()) {
102
102
  if (data.content.pcImgWidth) obj.width = data.content.pcImgWidth * scale;
103
- if (data.content.pcImgHeight) obj.height = data.content.pcImgHeight * scale;
103
+
104
+ if (data.content.pcImgWidth > data.content.pcImgHeight) {
105
+ obj.height = 'auto';
106
+ } else if (data.content.pcImgHeight) obj.height = data.content.pcImgHeight * scale;
104
107
  } else {
105
- if (data.content.h5ImgWidth) obj.width = data.content.h5ImgWidth * scale;
106
- if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
108
+ if (data.content.h5ImgWidth) obj.width = data.content.h5ImgWidth * scale; // if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
109
+
110
+ if (data.content.h5ImgWidth > data.content.h5ImgHeight) {
111
+ obj.height = 'auto';
112
+ } else if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
107
113
  }
108
114
  }
109
115
 
@@ -300,8 +300,9 @@ function (_super) {
300
300
  key: '5',
301
301
  name: (0, _locale.i18n)('SPACING'),
302
302
  value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
303
- data: data.spacing,
304
- type: "button"
303
+ configCompSpace: false,
304
+ configPaddingLR: true,
305
+ data: data.spacing
305
306
  })
306
307
  }];
307
308
 
@@ -289,8 +289,9 @@ function (_super) {
289
289
  key: '2',
290
290
  name: (0, _locale.i18n)('SPACING'),
291
291
  value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
292
- data: data.spacing,
293
- type: "button"
292
+ configCompSpace: false,
293
+ configPaddingLR: true,
294
+ data: data.spacing
294
295
  })
295
296
  }, {
296
297
  key: '3',
@@ -54,7 +54,7 @@ var maxWidth = {
54
54
  };
55
55
  var maxHeight = {
56
56
  normal1: 60,
57
- normal2: '100%',
57
+ normal2: 375,
58
58
  normal3: 107,
59
59
  outsideM: 60,
60
60
  centerM: 60
@@ -62,7 +62,8 @@ function (_super) {
62
62
 
63
63
  var _a = this.props,
64
64
  data = _a.data,
65
- type = _a.type,
65
+ configPaddingLR = _a.configPaddingLR,
66
+ configCompSpace = _a.configCompSpace,
66
67
  configWidth = _a.configWidth;
67
68
  var obj = data[window.magicDesign.device];
68
69
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -106,7 +107,7 @@ function (_super) {
106
107
  _this.selfRender();
107
108
  },
108
109
  value: obj.paddingBottom
109
- })), type == 'button' && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
110
+ })), configPaddingLR && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
110
111
  className: "padding-item"
111
112
  }, /*#__PURE__*/_react["default"].createElement(_common.Iconfont, {
112
113
  type: "icon-padding-left"
@@ -128,7 +129,7 @@ function (_super) {
128
129
  _this.selfRender();
129
130
  },
130
131
  value: obj.paddingRight
131
- }))))), type != 'button' && /*#__PURE__*/_react["default"].createElement(_common.Field, {
132
+ }))))), configCompSpace && /*#__PURE__*/_react["default"].createElement(_common.Field, {
132
133
  title: (0, _locale.i18n)('COMPONENT_SPACING')
133
134
  }, /*#__PURE__*/_react["default"].createElement(_common.Slider, {
134
135
  maxVal: 100,
@@ -145,7 +146,8 @@ function (_super) {
145
146
  };
146
147
 
147
148
  SpacingConfig.defaultProps = {
148
- type: 'default',
149
+ configPaddingLR: false,
150
+ configCompSpace: true,
149
151
  configWidth: false,
150
152
  data: {
151
153
  pc: {
@@ -11,7 +11,9 @@ var _RecommendConfigGroup = _interopRequireDefault(require("./RecommendConfigGro
11
11
 
12
12
  var _RecommendConfigContent = _interopRequireDefault(require("./RecommendConfigContent"));
13
13
 
14
- var _layout = _interopRequireDefault(require("./imgs/layout1.png"));
14
+ var _layout = require("../../../../constants/layout");
15
+
16
+ var _SpacingConfig = _interopRequireDefault(require("../../../common/config-panels/SpacingConfig"));
15
17
 
16
18
  var _BackgroundConfig = _interopRequireDefault(require("../../../common/config-panels/BackgroundConfig"));
17
19
 
@@ -42,18 +44,22 @@ function FlashDealConfig(props) {
42
44
  })
43
45
  }, {
44
46
  key: '3',
47
+ name: (0, _locale.i18n)('SPACING'),
48
+ value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
49
+ configCompSpace: true,
50
+ configPaddingLR: true,
51
+ data: data.spacing
52
+ })
53
+ }, {
54
+ key: '4',
45
55
  name: (0, _locale.i18n)('CUSTOMIZE'),
46
56
  value: /*#__PURE__*/_react["default"].createElement(_CustomizeConfig["default"], {
47
57
  data: data.customize,
48
58
  isHideAlign: true,
49
- layoutSource: [{
50
- id: 'layout1',
51
- name: 'left',
52
- image: _layout["default"]
53
- }]
59
+ layoutSource: _layout.recommendLayout
54
60
  })
55
61
  }, {
56
- key: '4',
62
+ key: '5',
57
63
  name: (0, _locale.i18n)('BACKGROUND'),
58
64
  value: /*#__PURE__*/_react["default"].createElement(_BackgroundConfig["default"], {
59
65
  data: data.background
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.searchLayout = exports.newsletterLayout = exports.imageTextLayoutPc = exports.imageTextLayoutMobile = exports.imageGalleryLayout = exports.dividerLayout = exports.carouselLayout = void 0;
6
+ exports.searchLayout = exports.recommendLayout = exports.newsletterLayout = exports.imageTextLayoutPc = exports.imageTextLayoutMobile = exports.imageGalleryLayout = exports.dividerLayout = exports.carouselLayout = void 0;
7
7
 
8
8
  var _dividerLayout = _interopRequireDefault(require("../assets/images/layout-icon/dividerLayout.svg"));
9
9
 
@@ -37,6 +37,16 @@ var _layoutImagetextP3 = _interopRequireDefault(require("../assets/images/layout
37
37
 
38
38
  var _newsletter = _interopRequireDefault(require("../assets/images/layout-icon/newsletter.svg"));
39
39
 
40
+ var _layoutRecommend = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-1.png"));
41
+
42
+ var _layoutRecommend2 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-2.png"));
43
+
44
+ var _layoutRecommend3 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-3.png"));
45
+
46
+ var _layoutRecommend4 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-4.png"));
47
+
48
+ var _layoutRecommend5 = _interopRequireDefault(require("../assets/images/layout-icon/layout-recommend-5.png"));
49
+
40
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
51
 
42
52
  // import p3 from '../assets/images/layout-icon/layout-imagetext-p3.png';
@@ -117,4 +127,26 @@ var newsletterLayout = [{
117
127
  name: 'layout1',
118
128
  image: _newsletter["default"]
119
129
  }];
120
- exports.newsletterLayout = newsletterLayout;
130
+ exports.newsletterLayout = newsletterLayout;
131
+ var recommendLayout = [{
132
+ id: 'layout1',
133
+ name: 'layout1',
134
+ image: _layoutRecommend["default"]
135
+ }, {
136
+ id: 'layout2',
137
+ name: 'layout2',
138
+ image: _layoutRecommend2["default"]
139
+ }, {
140
+ id: 'layout3',
141
+ name: 'layout3',
142
+ image: _layoutRecommend3["default"]
143
+ }, {
144
+ id: 'layout4',
145
+ name: 'layout4',
146
+ image: _layoutRecommend4["default"]
147
+ }, {
148
+ id: 'layout5',
149
+ name: 'layout5',
150
+ image: _layoutRecommend5["default"]
151
+ }];
152
+ exports.recommendLayout = recommendLayout;
@@ -1,14 +1,17 @@
1
1
  .page-comp-wrap {
2
2
  z-index: 100;
3
3
  background-color: #FFF;
4
- width:354px;
4
+ width: 354px;
5
5
  flex-shrink: 0;
6
+
6
7
  .page-comp-head {
7
8
  height: 81px;
8
9
  box-shadow: inset 0px -1px 0px #EDF0F4;
9
10
  }
11
+
10
12
  .page-comp-list {
11
13
  padding: 24px;
14
+
12
15
  .title {
13
16
  font-family: 'Open Sans';
14
17
  font-style: normal;
@@ -16,7 +19,11 @@
16
19
  font-size: 26px;
17
20
  line-height: 36px;
18
21
  color: #232F46;
22
+ overflow: hidden;
23
+ text-overflow: ellipsis;
24
+ white-space: nowrap;
19
25
  }
26
+
20
27
  .list {
21
28
  .inner-list {
22
29
  margin-right: -21px;
@@ -26,16 +33,21 @@
26
33
  height: calc(100vh - 260px);
27
34
  background: #F5F6F7;
28
35
  border-radius: 8px;
29
-
30
- &::-webkit-scrollbar { //滚动条的宽度
36
+
37
+ &::-webkit-scrollbar {
38
+ //滚动条的宽度
31
39
  width: 8px;
32
40
  }
33
- &::-webkit-scrollbar-track-piece { //滚动条凹槽的颜色
41
+
42
+ &::-webkit-scrollbar-track-piece {
43
+ //滚动条凹槽的颜色
34
44
  background-color: #fff;
35
45
  }
36
- &::-webkit-scrollbar-thumb {//滚动条的设置
37
- background-color:#C1C9D7;
38
- background-clip:padding-box;
46
+
47
+ &::-webkit-scrollbar-thumb {
48
+ //滚动条的设置
49
+ background-color: #C1C9D7;
50
+ background-clip: padding-box;
39
51
  border-radius: 100px;
40
52
  }
41
53
  }
@@ -44,7 +56,7 @@
44
56
  }
45
57
 
46
58
 
47
- .card-wrap{
59
+ .card-wrap {
48
60
  display: flex;
49
61
  justify-content: space-between;
50
62
  cursor: move;
@@ -52,16 +64,20 @@
52
64
  line-height: 64px;
53
65
  padding: 0 20px;
54
66
  color: #232F46;
67
+
55
68
  .left {
56
69
  width: 100%;
57
70
  display: flex;
58
71
  align-items: center;
72
+
59
73
  .comp-icon {
60
74
  display: block;
61
75
  }
76
+
62
77
  .drag-icon {
63
78
  display: none;
64
79
  }
80
+
65
81
  .card-title {
66
82
  font-size: 16px;
67
83
  line-height: 24px;
@@ -71,44 +87,53 @@
71
87
  font-style: normal;
72
88
  }
73
89
  }
90
+
74
91
  .more-btn {
75
92
  display: none;
76
93
  cursor: pointer;
77
94
  }
95
+
78
96
  &:hover {
79
97
  background: #E9F0FF;
80
98
  color: #2F54EB;
99
+
81
100
  .left {
82
101
  font-family: 'Open Sans';
83
102
  font-style: normal;
84
- font-weight:600;
103
+ font-weight: 600;
85
104
  font-size: 16px;
86
105
  line-height: 24px;
106
+
87
107
  .comp-icon {
88
108
  display: none;
89
109
  }
110
+
90
111
  .drag-icon {
91
112
  display: block;
92
113
  }
114
+
93
115
  .card-title {
94
116
  font-weight: 600;
95
117
  }
96
118
  }
119
+
97
120
  .more-btn {
98
121
  display: block;
99
122
  }
100
123
  }
101
124
  }
102
125
 
103
- .active{
126
+ .active {
104
127
  background: #E9F0FF;
105
128
  color: #2F54EB;
129
+
106
130
  .left {
107
131
  .card-title {
108
132
  font-weight: 600;
109
133
  }
110
134
  }
135
+
111
136
  .more-btn {
112
137
  display: block;
113
138
  }
114
- }
139
+ }
@@ -66,8 +66,8 @@ var langBook = {
66
66
  color: '#00AC5A',
67
67
  backColor: '#DFF3EA'
68
68
  },
69
- Spain: {
70
- text: 'Spain',
69
+ Spanish: {
70
+ text: 'Spanish',
71
71
  color: '#00AC50',
72
72
  backColor: '#DFF3E0'
73
73
  }
@@ -104,6 +104,7 @@ function (_super) {
104
104
  undoDisable = _a.undoDisable,
105
105
  redoDisable = _a.redoDisable,
106
106
  language = _a.language;
107
+ var languageTemp = langBook[language] || {};
107
108
  return /*#__PURE__*/_react["default"].createElement("div", {
108
109
  className: "quick_menu_wrap"
109
110
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -111,8 +112,8 @@ function (_super) {
111
112
  }, /*#__PURE__*/_react["default"].createElement("span", {
112
113
  className: "language",
113
114
  style: {
114
- color: langBook[language].color,
115
- background: langBook[language].backColor
115
+ color: languageTemp.color,
116
+ background: languageTemp.backColor
116
117
  }
117
118
  }, /*#__PURE__*/_react["default"].createElement(_Iconfont["default"], {
118
119
  size: "20px",
@@ -120,7 +121,7 @@ function (_super) {
120
121
  marginRight: '8px'
121
122
  },
122
123
  type: "icon-language"
123
- }), langBook[language].text)), /*#__PURE__*/_react["default"].createElement("div", {
124
+ }), languageTemp.text)), /*#__PURE__*/_react["default"].createElement("div", {
124
125
  className: "menu_center"
125
126
  }, /*#__PURE__*/_react["default"].createElement("div", {
126
127
  className: "device_group"
@@ -9,13 +9,16 @@ var _en = _interopRequireDefault(require("./en/en.json"));
9
9
 
10
10
  var _id = _interopRequireDefault(require("./id/id.json"));
11
11
 
12
+ var _es = _interopRequireDefault(require("./es/es.json"));
13
+
12
14
  var _mobx = require("../mobx");
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
18
  var localeMap = {
17
19
  en: _en["default"],
18
- id: _id["default"]
20
+ id: _id["default"],
21
+ es: _es["default"]
19
22
  };
20
23
  /** 国际化 */
21
24
 
@@ -100,10 +100,16 @@ function (_super) {
100
100
  if (limitWidthHeight) {
101
101
  if ((0, _coreUtil.isPc)()) {
102
102
  if (data.content.pcImgWidth) obj.width = data.content.pcImgWidth * scale;
103
- if (data.content.pcImgHeight) obj.height = data.content.pcImgHeight * scale;
103
+
104
+ if (data.content.pcImgWidth > data.content.pcImgHeight) {
105
+ obj.height = 'auto';
106
+ } else if (data.content.pcImgHeight) obj.height = data.content.pcImgHeight * scale;
104
107
  } else {
105
- if (data.content.h5ImgWidth) obj.width = data.content.h5ImgWidth * scale;
106
- if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
108
+ if (data.content.h5ImgWidth) obj.width = data.content.h5ImgWidth * scale; // if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
109
+
110
+ if (data.content.h5ImgWidth > data.content.h5ImgHeight) {
111
+ obj.height = 'auto';
112
+ } else if (data.content.h5ImgHeight) obj.height = data.content.h5ImgHeight * scale;
107
113
  }
108
114
  }
109
115
 
@@ -300,8 +300,9 @@ function (_super) {
300
300
  key: '5',
301
301
  name: (0, _locale.i18n)('SPACING'),
302
302
  value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
303
- data: data.spacing,
304
- type: "button"
303
+ configCompSpace: false,
304
+ configPaddingLR: true,
305
+ data: data.spacing
305
306
  })
306
307
  }];
307
308
 
@@ -289,8 +289,9 @@ function (_super) {
289
289
  key: '2',
290
290
  name: (0, _locale.i18n)('SPACING'),
291
291
  value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
292
- data: data.spacing,
293
- type: "button"
292
+ configCompSpace: false,
293
+ configPaddingLR: true,
294
+ data: data.spacing
294
295
  })
295
296
  }, {
296
297
  key: '3',
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.33",
4
+ "version": "0.0.35",
5
5
  "description": "Magic Design",
6
6
  "license": "MIT",
7
7
  "module": "es/index.js",
@@ -11,6 +11,7 @@
11
11
  "start": "node scripts/start.js",
12
12
  "cl": "node ./bin/createLocale.js create",
13
13
  "pub": "sh ./bin/publish.sh",
14
+ "gulp": "npx gulp -f ./config/gulp.js",
14
15
  "build": "node scripts/build.js",
15
16
  "iconfont": "node ./bin/iconfont.js update",
16
17
  "export": "rm -rf dist && npx rollup --config ./config/rollup.config.js",
@@ -35,84 +36,6 @@
35
36
  "replace": "^1.2.1",
36
37
  "slick-carousel": "^1.8.1"
37
38
  },
38
- "devDependencies": {
39
- "@babel/core": "^7.16.0",
40
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
41
- "@rollup/plugin-babel": "^5.3.1",
42
- "@rollup/plugin-commonjs": "^22.0.0",
43
- "@rollup/plugin-image": "^2.1.1",
44
- "@rollup/plugin-json": "^4.1.0",
45
- "@rollup/plugin-node-resolve": "^13.3.0",
46
- "@svgr/webpack": "^5.5.0",
47
- "@types/axios": "^0.14.0",
48
- "@types/lodash": "^4.14.182",
49
- "@types/node": "^17.0.36",
50
- "@types/react": "^18.0.9",
51
- "@types/react-color": "^3.0.6",
52
- "@types/react-dom": "^18.0.5",
53
- "@types/uuid": "^8.3.4",
54
- "@typescript-eslint/eslint-plugin": "^5.27.1",
55
- "add": "^2.0.6",
56
- "babel-loader": "^8.2.3",
57
- "babel-plugin-named-asset-import": "^0.3.8",
58
- "babel-preset-react-app": "^10.0.1",
59
- "bfj": "^7.0.2",
60
- "browserslist": "^4.18.1",
61
- "camelcase": "^6.2.1",
62
- "case-sensitive-paths-webpack-plugin": "^2.4.0",
63
- "child_process": "^1.0.2",
64
- "classnames": "^2.3.1",
65
- "css-loader": "^6.5.1",
66
- "css-minimizer-webpack-plugin": "^3.2.0",
67
- "dotenv": "^10.0.0",
68
- "dotenv-expand": "^5.1.0",
69
- "eslint": "7",
70
- "eslint-config-next": "^12.1.6",
71
- "eslint-config-react-app": "^7.0.1",
72
- "eslint-webpack-plugin": "^3.1.1",
73
- "extract-zip": "^2.0.1",
74
- "file-loader": "^6.2.0",
75
- "fs-extra": "^10.0.0",
76
- "html-webpack-plugin": "^5.5.0",
77
- "http-proxy-middleware": "^2.0.6",
78
- "identity-obj-proxy": "^3.0.0",
79
- "less": "3.13.1",
80
- "less-loader": "^11.0.0",
81
- "mini-css-extract-plugin": "^2.4.5",
82
- "mv": "^2.1.1",
83
- "ora": "^4.1.1",
84
- "postcss": "^8.4.4",
85
- "postcss-flexbugs-fixes": "^5.0.2",
86
- "postcss-loader": "^6.2.1",
87
- "postcss-normalize": "^10.0.1",
88
- "postcss-preset-env": "^7.0.1",
89
- "postcss-px-to-viewport": "^1.1.1",
90
- "postcss-selector-namespace": "^3.0.1",
91
- "prompts": "^2.4.2",
92
- "rc-tools": "^9.6.1-alpha.1",
93
- "react-app-polyfill": "^3.0.0",
94
- "react-dev-utils": "^12.0.1",
95
- "react-refresh": "^0.11.0",
96
- "resolve": "^1.20.0",
97
- "resolve-url-loader": "^4.0.0",
98
- "rollup-plugin-dts": "^4.2.2",
99
- "rollup-plugin-peer-deps-external": "^2.2.4",
100
- "rollup-plugin-postcss": "^4.0.2",
101
- "rollup-plugin-styles": "^4.0.0",
102
- "rollup-plugin-typescript2": "^0.32.1",
103
- "sass-loader": "^12.3.0",
104
- "semver": "^7.3.5",
105
- "source-map-loader": "^3.0.0",
106
- "style-loader": "^3.3.1",
107
- "tailwindcss": "^3.0.2",
108
- "terser-webpack-plugin": "^5.2.5",
109
- "typescript": "^4.7.2",
110
- "web-vitals": "^2.1.4",
111
- "webpack": "^5.64.4",
112
- "webpack-dev-server": "^4.6.0",
113
- "webpack-manifest-plugin": "^4.0.2",
114
- "workbox-webpack-plugin": "^6.4.1"
115
- },
116
39
  "files": [
117
40
  "es",
118
41
  "lib",
package/README.md DELETED
@@ -1,311 +0,0 @@
1
- # 设计器二期
2
-
3
- ## 1、基本概念
4
-
5
- ### 1.1、元组件:构成复合组件的最小单位
6
-
7
- Text、Image、Button、Divider、Video 等
8
-
9
- ### 1.2、复合组件:由若干个元组件构成的一个大组件
10
-
11
- Text、Banner、Image Gallery、Image and Text、Carousel、Reward、Newsletter 等
12
-
13
- ### 1.3、业务公共组件:项目中复用的公共组件
14
-
15
- 所有的公共组件需要开放 value 和 onChange Api(除 Button、Iconfont)
16
-
17
- Button、Iconfont、AlignSelecter、Collapse、ColorPicker、ImagePicker、LayoutSelecter、Slider、UrlPicker
18
-
19
- ## 2、元组件
20
-
21
- ### 2.1
22
-
23
- 元组件类型:
24
-
25
- TEXT、IMAGE、BUTTON、DIVIDER、VIDEO
26
-
27
- 元组件报文格式:
28
-
29
- ```json
30
- {
31
- id:'xxxx' //元组件key
32
- type: 'TYPE', //元组件类型
33
- style:{
34
- fontFamily:'xxx', //字体
35
- ...css //属性名称尽量使用标准css名称
36
- },
37
- hoverStyle:{
38
-
39
- }
40
- }
41
- ```
42
-
43
- 动态设置 hover 效果
44
-
45
- onMouseEnter={e => { e.target.style.color = 'red'; }}
46
-
47
- onMouseLeave={e => { e.target.style.color = 'white'; }}
48
-
49
- 文本可编辑
50
-
51
- contenteditable="true"
52
-
53
- ### 2.2 、元组件报文
54
-
55
- #### Text
56
-
57
- ```json
58
- {
59
- id:'xxxx' //元组件key
60
- type: 'TYPE', //元组件类型
61
- content:'this is text',
62
- style:{
63
- fontFamily:'xxx', //字体
64
- fontSize: '14px',
65
- width: '200px',
66
- ...css
67
- }
68
- }
69
- ```
70
-
71
- #### Image
72
-
73
- ```json
74
- {
75
- id:'xxxx' //元组件key
76
- type: 'IMAGE', //元组件类型
77
- name:'123.png',
78
- src:'../image.png', //图片地址
79
- url:'www.baidu.com', //图片跳转地址
80
- style:{
81
- width: '200px',
82
- ...css
83
- },
84
- hoverStyle:{ //hover 类型为new时保存src,类型为enlarge时保存scale
85
- scale: '2',
86
- src:'../image1.png',
87
- }
88
- }
89
- ```
90
-
91
- #### Button
92
-
93
- ```json
94
- {
95
- id:'xxxx' //元组件key
96
- type: 'BUTTON', //元组件类型
97
- name:'Submit',
98
- url: 'www.baidu.com',
99
- style:{
100
- buttonIconSrc:'../img.png',
101
- buttonIconPlace: 'left',
102
- color:'#FEFEFE',
103
- border: '1px solid red',
104
- borderRadius:'10px',
105
- fontFamily:'xxx', //字体
106
- fontSize: '14px',
107
- ...css
108
- },
109
- hoverStyle {
110
- color:'#FEFEFE',
111
- border: '1px solid red',
112
- fontFamily:'xxx', //字体
113
- fontSize: '14px',
114
- ...css
115
- }
116
- }
117
- ```
118
-
119
- ## 2、复合组件
120
-
121
- ### 2.1
122
-
123
- 元组件类型:
124
-
125
- TEXT、BANNER、IMAGE_GALLERT、IMAGE_TEXT、CAROUSEL、REWARD、NEWSLETTER
126
-
127
- 复合组件报文格式:
128
-
129
- ```json
130
- {
131
- id:'xxxx' //复合组件key
132
- type: 'TYPE', //复合组件类型
133
- setting:{ //开关类型的配置及属性配置放在这里
134
- autoplays: 3, //3秒轮播
135
- },
136
- groupSource:[], //元组件集合组数据放在这里
137
- metas:{
138
- title:{
139
- open:false,
140
- type:'IMAGE'
141
- ...metaCompJson
142
- },
143
- subTitle:{
144
- open:false,
145
- type:'IMAGE'
146
- ...metaCompJson
147
- }
148
- },
149
- customize:{
150
- layout:'',
151
- background:{
152
-
153
- }
154
- }
155
- }
156
- ```
157
-
158
- #### Text
159
-
160
- ```js
161
- {
162
- id: 'xxxx', //复合组件key
163
- type: 'TEXT', //复合组件类型
164
- setting:{
165
- layout:'left', // 模块布局 left/center/right ,每一个layout可能都是一个不同的组件
166
- title:{
167
- type:'TEXT'
168
- ...metaCompJson
169
- },
170
- subtitle:{
171
- type:'TEXT'
172
- ...metaCompJson
173
- },
174
- },
175
- source:[
176
- { //此处可以抽出业务组件
177
- title:{
178
- type:'TEXT'
179
- ...metaCompJson
180
- },
181
- content:{
182
- type:'TEXT'
183
- ...metaCompJson
184
- }
185
- }
186
- ],
187
- style:{
188
- align:'left', //文本布局 left/center/right
189
- backgroundColor: 'red',
190
- backgroundImage:'../image.png'
191
- }
192
- }
193
- ```
194
-
195
- #### Banner
196
-
197
- modifySetting
198
-
199
- ```json
200
- {
201
- "comositeId": "1111",
202
-
203
- "value": {
204
- "autoplays": 4
205
- }
206
- }
207
- ```
208
-
209
- ```json
210
- {
211
- id: 'xxxx',
212
- type: 'BANNER',
213
- setting:{
214
- open:false
215
- autoplays: 3, //3秒轮播
216
- arrows:{ // 滚动箭头
217
- open:false,
218
- color:'red',
219
- size:'',
220
- hoverSize:'',
221
- hoverColor:'green',
222
- },
223
- dots:{ //面板指示点
224
- open:false,
225
- color: 'red',
226
- size:'',
227
- hoverSize:''
228
- hoverColor:'green',
229
- },
230
- },
231
- groupSource:[
232
- { //此处可以作为一个业务组件
233
- id:'xxxxx',
234
- image:{
235
- open:false,
236
- type:'IMAGE'
237
- ...metaCompJson
238
- },
239
- title:{
240
- open:false,
241
- type:'TEXT',
242
- ...metaCompJson
243
- },
244
- content:{
245
- open:false,
246
- type:'TEXT',
247
- ...metaCompJson
248
- },
249
- button:{
250
- type:'BUTTON',
251
- ...metaCompJson
252
- },
253
- secondaryButton:{
254
- type:'BUTTON',
255
- ...metaCompJson
256
- },
257
- layout:'center',
258
- align:'left',
259
- //文本布局 left/center/right
260
- }
261
- ]
262
- }
263
- ```
264
-
265
- #### Image Gallery
266
-
267
- ```json
268
-
269
- ```
270
-
271
- #### Image and Text
272
-
273
- ```json
274
- {
275
- id:'xxxx'
276
- type: 'IMAGE_TEXT',
277
- setting:{
278
- layout:'left',
279
- title:{},
280
- subtitle:{},
281
- button:{},
282
- secondaryButton:{}
283
- },
284
- source:[
285
-
286
- ],
287
- style:{
288
- align:'left',
289
- backgroundColor:'red',
290
- backgroundImage:'./img.png'
291
- }
292
- }
293
- ```
294
-
295
- 疑问:
296
-
297
- Text 元组件
298
-
299
- 文字链接配置好之后,怎么删除
300
-
301
- 链接配置的规则,按单词还是字符
302
-
303
- image 元组件
304
-
305
- 属性控制进度条和输入框是否要限制最大最小值
306
-
307
- button 元组件
308
-
309
- 是否需要 icon 的 hover 效果
310
-
311
- banner 中的 text Align 放在元组件里?