@cmstops/pro-compo 0.1.19 → 0.1.21

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 (73) hide show
  1. package/dist/index.css +65 -11
  2. package/dist/index.min.css +1 -1
  3. package/es/contentDetailList/component.js +142 -51
  4. package/es/contentDetailList/components/Content/index.js +218 -239
  5. package/es/contentDetailList/components/Doc/index.js +24 -35
  6. package/es/contentDetailList/style/Content.less +1 -1
  7. package/es/contentDetailList/style/ContentListItem.less +1 -4
  8. package/es/contentDetailList/style/Doc.less +1 -5
  9. package/es/contentDetailList/style/DocItem.less +1 -0
  10. package/es/contentDetailList/style/index.css +10 -11
  11. package/es/contentModal/component.js +0 -1
  12. package/es/contentModal/components/ViewAllColumn/index.js +1 -0
  13. package/es/editMetaInfo/component.d.ts +0 -0
  14. package/es/editMetaInfo/component.js +87 -0
  15. package/es/editMetaInfo/components/metaInfoForm.d.ts +0 -0
  16. package/es/editMetaInfo/components/metaInfoForm.js +621 -0
  17. package/es/editMetaInfo/index.d.ts +2 -0
  18. package/es/editMetaInfo/index.js +7 -0
  19. package/es/editMetaInfo/script/api.d.ts +6 -0
  20. package/es/editMetaInfo/script/api.js +17 -0
  21. package/es/editMetaInfo/script/restaurants.d.ts +4 -0
  22. package/es/editMetaInfo/script/restaurants.js +127 -0
  23. package/es/editMetaInfo/style/css.js +1 -0
  24. package/es/editMetaInfo/style/index.css +20 -0
  25. package/es/editMetaInfo/style/index.d.ts +1 -0
  26. package/es/editMetaInfo/style/index.js +1 -0
  27. package/es/editMetaInfo/style/index.less +30 -0
  28. package/es/hooks/dialogVisible.d.ts +8 -0
  29. package/es/hooks/dialogVisible.js +19 -0
  30. package/es/index.css +65 -11
  31. package/es/index.d.ts +1 -0
  32. package/es/index.js +1 -0
  33. package/es/index.less +1 -0
  34. package/es/selectThumb/component.js +3 -1
  35. package/es/selectThumb/components/colorPalette.js +32 -26
  36. package/es/selectThumb/components/colorPicker.d.ts +0 -0
  37. package/es/selectThumb/components/colorPicker.js +54 -0
  38. package/es/selectThumb/style/colorPalette.less +31 -0
  39. package/es/selectThumb/style/index.css +35 -0
  40. package/es/selectThumb/style/index.less +7 -0
  41. package/es/utils/index.d.ts +1 -0
  42. package/es/utils/index.js +16 -1
  43. package/lib/contentDetailList/component.js +145 -50
  44. package/lib/contentDetailList/components/Content/index.js +217 -242
  45. package/lib/contentDetailList/components/Doc/index.js +23 -34
  46. package/lib/contentDetailList/style/Content.less +1 -1
  47. package/lib/contentDetailList/style/ContentListItem.less +1 -4
  48. package/lib/contentDetailList/style/Doc.less +1 -5
  49. package/lib/contentDetailList/style/DocItem.less +1 -0
  50. package/lib/contentDetailList/style/index.css +10 -11
  51. package/lib/contentModal/component.js +0 -1
  52. package/lib/contentModal/components/ViewAllColumn/index.js +1 -0
  53. package/lib/editMetaInfo/component.js +88 -0
  54. package/lib/editMetaInfo/components/metaInfoForm.js +622 -0
  55. package/lib/editMetaInfo/index.js +8 -0
  56. package/lib/editMetaInfo/script/api.js +20 -0
  57. package/lib/editMetaInfo/script/restaurants.js +128 -0
  58. package/lib/editMetaInfo/style/css.js +2 -0
  59. package/lib/editMetaInfo/style/index.css +20 -0
  60. package/lib/editMetaInfo/style/index.js +2 -0
  61. package/lib/editMetaInfo/style/index.less +30 -0
  62. package/lib/hooks/dialogVisible.js +20 -0
  63. package/lib/index.css +65 -11
  64. package/lib/index.js +2 -0
  65. package/lib/index.less +1 -0
  66. package/lib/selectThumb/component.js +3 -1
  67. package/lib/selectThumb/components/colorPalette.js +32 -26
  68. package/lib/selectThumb/components/colorPicker.js +55 -0
  69. package/lib/selectThumb/style/colorPalette.less +31 -0
  70. package/lib/selectThumb/style/index.css +35 -0
  71. package/lib/selectThumb/style/index.less +7 -0
  72. package/lib/utils/index.js +16 -0
  73. package/package.json +1 -1
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var restaurants = [
3
+ { value: "\u4EBA\u6C11\u89C6\u9891\u5BA2\u6237\u7AEF" },
4
+ { value: "\u4E2D\u56FD\u9752\u5E74\u62A5\u5BA2\u6237\u7AEF" },
5
+ { value: "\u592E\u89C6\u65B0\u95FB\u5BA2\u6237\u7AEF" },
6
+ { value: "\u592E\u89C6\u7F51" },
7
+ { value: "\u65B0\u534E\u793E" },
8
+ { value: "\u65B0\u534E\u7F51" },
9
+ { value: "\u4EBA\u6C11\u7F51" },
10
+ { value: "\u68A8\u89C6\u9891" },
11
+ { value: "\u5317\u9752\u7F51" },
12
+ { value: "21\u4E16\u7EAA\u7ECF\u6D4E\u62A5\u9053" },
13
+ { value: "\u4E0A\u89C2\u65B0\u95FB" },
14
+ { value: "\u4E1C\u5317\u65B0\u95FB\u7F51" },
15
+ { value: "\u4E1C\u5317\u7F51" },
16
+ { value: "\u4E1C\u5357\u7F51" },
17
+ { value: "\u4E1C\u65B9\u7F51" },
18
+ { value: "\u4E2D\u534E\u5973\u6027\u7F51" },
19
+ { value: "\u4E2D\u56FD\u53F0\u6E7E\u7F51" },
20
+ { value: "\u4E2D\u56FD\u5409\u6797\u7F51" },
21
+ { value: "\u4E2D\u56FD\u5546\u52A1\u65B0\u95FB\u7F51" },
22
+ { value: "\u4E2D\u56FD\u5C71\u4E1C\u7F51" },
23
+ { value: "\u4E2D\u56FD\u6444\u5F71\u62A5" },
24
+ { value: "\u4E2D\u56FD\u6559\u80B2\u5728\u7EBF" },
25
+ { value: "\u4E2D\u56FD\u6559\u80B2\u65B0\u95FB\u7F51" },
26
+ { value: "\u4E2D\u56FD\u65E5\u62A5\u7F51" },
27
+ { value: "\u4E2D\u56FD\u6C5F\u82CF\u7F51" },
28
+ { value: "\u4E2D\u56FD\u6C5F\u897F\u7F51" },
29
+ { value: "\u4E2D\u56FD\u7518\u8083\u7F51" },
30
+ { value: "\u4E2D\u56FD\u7ECF\u8425\u7F51" },
31
+ { value: "\u4E2D\u56FD\u7F51" },
32
+ { value: "\u4E2D\u56FD\u822A\u5929\u79D1\u6280\u96C6\u56E2\u6709\u9650\u516C\u53F8\u7F51\u7AD9" },
33
+ { value: "\u4E2D\u56FD\u897F\u85CF\u7F51" },
34
+ { value: "\u4E2D\u56FD\u8B66\u5BDF\u7F51" },
35
+ { value: "\u4E2D\u56FD\u8D28\u91CF\u65B0\u95FB\u7F51" },
36
+ { value: "\u4E2D\u592E\u53A8\u623F" },
37
+ { value: "\u4E2D\u5DE5\u7F51" },
38
+ { value: "\u4E2D\u65B0\u7ECF\u7EAC" },
39
+ { value: "\u4E2D\u65B0\u7F51" },
40
+ { value: "\u4E2D\u7ECF\u7F51" },
41
+ { value: "\u4E91\u5357\u7F51" },
42
+ { value: "\u4EA4\u6C47\u70B9" },
43
+ { value: "\u5149\u660E\u7F51" },
44
+ { value: "\u5317\u4EAC\u5546\u62A5" },
45
+ { value: "\u5317\u4EAC\u65F6\u95F4" },
46
+ { value: "\u5317\u4EAC\u6668\u62A5\u7F51" },
47
+ { value: "\u5317\u56FD\u7F51" },
48
+ { value: "\u5317\u65B9\u7F51" },
49
+ { value: "\u5343\u9F99\u65B0\u95FB\u7F51" },
50
+ { value: "\u534E\u58F0\u5728\u7EBF" },
51
+ { value: "\u534E\u9F99\u7F51" },
52
+ { value: "\u5357\u4EAC\u6668\u62A5\u7F51" },
53
+ { value: "\u5357\u65B9\u65E5\u62A5" },
54
+ { value: "\u5357\u6D77\u7F51" },
55
+ { value: "\u53F0\u6D77\u7F51" },
56
+ { value: "\u56DB\u5DDD\u65B0\u95FB\u7F51" },
57
+ { value: "\u56FD\u9645\u5728\u7EBF" },
58
+ { value: "\u591A\u5F69\u8D35\u5DDE\u7F51" },
59
+ { value: "\u5927\u4F17\u7F51" },
60
+ { value: "\u5927\u516C\u7F51" },
61
+ { value: "\u5927\u6CB3\u7F51" },
62
+ { value: "\u5B81\u590F\u65B0\u95FB\u7F51" },
63
+ { value: "\u5BA2\u5BB6\u65B0\u95FB\u7F51" },
64
+ { value: "\u5C01\u9762\u65B0\u95FB\u7F51" },
65
+ { value: "\u5E02\u573A\u77AD\u671B" },
66
+ { value: "\u5E02\u573A\u89C2\u5BDF\u7F51" },
67
+ { value: "\u5E7F\u897F\u65B0\u95FB\u7F51" },
68
+ { value: "\u626C\u5B50\u665A\u62A5\u7F51" },
69
+ { value: "\u6536\u85CF\u5FEB\u62A5" },
70
+ { value: "\u6587\u6C47\u62A5" },
71
+ { value: "\u65B0\u534E\u62A5\u4E1A\u7F51" },
72
+ { value: "\u65B0\u534E\u65E5\u62A5\u8D22\u7ECF\u7F51" },
73
+ { value: "\u65B0\u6C11\u665A\u62A5/\u65B0\u6C11\u7F51" },
74
+ { value: "\u65B0\u6D6A\u4E50\u5C45" },
75
+ { value: "\u65B0\u7586\u5929\u5C71\u7F51" },
76
+ { value: "\u664B\u6C5F\u7ECF\u6D4E\u62A5" },
77
+ { value: "\u6B63\u4E49\u7F51" },
78
+ { value: "\u6BCF\u5468\u6587\u6458" },
79
+ { value: "\u6C5F\u5357\u65F6\u62A5\u7F51" },
80
+ { value: "\u6C5F\u82CF\u7ECF\u6D4E\u7F51" },
81
+ { value: "\u6C5F\u82CF\u8206\u60C5\u89C2\u5BDF" },
82
+ { value: "\u6CB3\u5317\u5171\u4EA7\u515A\u5458\u7F51" },
83
+ { value: "\u6CB3\u5317\u65B0\u95FB\u7F51" },
84
+ { value: "\u6CB3\u5317\u7ECF\u6D4E\u7F51" },
85
+ { value: "\u6CB3\u9752\u7F51" },
86
+ { value: "\u6CD5\u5236\u7F51" },
87
+ { value: "\u6D59\u6C5F\u5728\u7EBF" },
88
+ { value: "\u6D77\u4E1D\u5546\u62A5" },
89
+ { value: "\u6D77\u5916\u7F51" },
90
+ { value: "\u6D77\u5CE1\u5BFC\u62A5" },
91
+ { value: "\u6D77\u5CE1\u6559\u80B2\u62A5" },
92
+ { value: "\u6D77\u5CE1\u6CD5\u6CBB\u5728\u7EBF" },
93
+ { value: "\u6D77\u5CE1\u6D88\u8D39\u62A5" },
94
+ { value: "\u6D77\u5CE1\u7F51" },
95
+ { value: "\u6D77\u5CE1\u90FD\u5E02\u62A5" },
96
+ { value: "\u6DF1\u5733\u65B0\u95FB\u7F51" },
97
+ { value: "\u6DF1\u5733\u65E5\u62A5" },
98
+ { value: "\u6F8E\u6E43\u65B0\u95FB" },
99
+ { value: "\u73AF\u7403\u7F51" },
100
+ { value: "\u7709\u5C71\u7F51" },
101
+ { value: "\u77F3\u5BB6\u5E84\u65B0\u95FB\u7F51" },
102
+ { value: "\u77F3\u72EE\u65E5\u62A5" },
103
+ { value: "\u798F\u5EFA\u65E5\u62A5" },
104
+ { value: "\u798F\u5EFA\u6CD5\u6CBB\u62A5" },
105
+ { value: "\u79D1\u6280\u65E5\u62A5" },
106
+ { value: "\u79D1\u666E\u4E2D\u56FD" },
107
+ { value: "\u79E6\u7687\u5C9B\u65B0\u95FB\u7F51" },
108
+ { value: "\u7B2C\u4E00\u751F\u6D3B\u7F51\uFF08\u77E5\u97F3\uFF09" },
109
+ { value: "\u7EA2\u7F51" },
110
+ { value: "\u7ECF\u6D4E\u89C2\u5BDF\u62A5" },
111
+ { value: "\u897F\u90E8\u7F51" },
112
+ { value: "\u89C2\u5BDF\u8005\u7F51" },
113
+ { value: "\u8D22\u7ECF\u7F51" },
114
+ { value: "\u90D1\u5DDE\u665A\u62A5" },
115
+ { value: "\u91CD\u5E86\u534E\u9F99\u7F51" },
116
+ { value: "\u91D1\u7F8A\u7F51" },
117
+ { value: "\u91D1\u878D\u754C" },
118
+ { value: "\u957F\u57CE\u7F51" },
119
+ { value: "\u957F\u6C5F\u4E91" },
120
+ { value: "\u957F\u6C5F\u7F51" },
121
+ { value: "\u95FD\u5357\u7F51" },
122
+ { value: "\u9655\u897F\u5934\u6761" },
123
+ { value: "\u9C81\u7F51" },
124
+ { value: "\u9EC4\u6CB3\u65B0\u95FB\u7F51" },
125
+ { value: "\u9F50\u9C81\u665A\u62A5" },
126
+ { value: "\u9F50\u9C81\u7F51" }
127
+ ];
128
+ module.exports = restaurants;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ require("./index.css");
@@ -0,0 +1,20 @@
1
+ .edit-meta-info-dialog-body {
2
+ padding: 0;
3
+ }
4
+ .edit-meta-info-dialog-body .style-form-item {
5
+ position: relative;
6
+ top: -10px;
7
+ }
8
+ .edit-meta-info-dialog-body .style-form-item .title {
9
+ max-width: 100%;
10
+ color: var(--color-text-2);
11
+ font-size: 14px;
12
+ font-weight: 400;
13
+ white-space: normal;
14
+ }
15
+ .edit-meta-info-dialog-body .select-thumb-wrap {
16
+ margin-left: 20.8%;
17
+ }
18
+ .edit-meta-info-dialog-body .input-w {
19
+ width: 450px;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ require("./index.less");
@@ -0,0 +1,30 @@
1
+ .edit-meta-info-dialog-body {
2
+ padding: 0;
3
+ .style-form-item {
4
+ position: relative;
5
+ top: -10px;
6
+ .title {
7
+ max-width: 100%;
8
+ color: var(--color-text-2);
9
+ font-size: 14px;
10
+ font-weight: 400;
11
+ white-space: normal;
12
+ }
13
+ }
14
+ .select-thumb-wrap {
15
+ margin-left: 20.8%;
16
+ }
17
+ .horizontal {
18
+ // display: flex;
19
+ // align-items: center;
20
+ // flex-direction: row !important;
21
+ // .arco-form-item-label-col {
22
+ // margin-bottom: 0;
23
+ // padding-right: 16px;
24
+ // text-align: right;
25
+ // }
26
+ }
27
+ .input-w {
28
+ width: 450px;
29
+ }
30
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ function useDialogVisible(props, emit) {
4
+ const setVisible = (bool) => {
5
+ emit("update:visible", bool);
6
+ };
7
+ const visible = vue.computed({
8
+ get() {
9
+ return props.visible;
10
+ },
11
+ set(value) {
12
+ setVisible(value);
13
+ }
14
+ });
15
+ return {
16
+ visible,
17
+ setVisible
18
+ };
19
+ }
20
+ module.exports = useDialogVisible;
package/lib/index.css CHANGED
@@ -1771,22 +1771,22 @@
1771
1771
  white-space: nowrap;
1772
1772
  text-overflow: ellipsis;
1773
1773
  }
1774
- .content-common-detail-list-container *::selection {
1774
+ .content-detail-list-container *::selection {
1775
1775
  display: none;
1776
1776
  }
1777
- .content-common-detail-list-container .fix_position {
1777
+ .content-detail-list-container .fix_position {
1778
1778
  position: relative;
1779
1779
  margin-right: 10px;
1780
1780
  color: #4886ff;
1781
1781
  }
1782
- .content-common-detail-list-container .fix_position .doc-fixed-num {
1782
+ .content-detail-list-container .fix_position .doc-fixed-num {
1783
1783
  position: absolute;
1784
1784
  right: -7px;
1785
1785
  bottom: 0;
1786
1786
  color: #bababa;
1787
1787
  font-size: 12px;
1788
1788
  }
1789
- .content-common-detail-list-container .index {
1789
+ .content-detail-list-container .index {
1790
1790
  display: inline-block;
1791
1791
  flex-shrink: 0;
1792
1792
  box-sizing: border-box;
@@ -1801,14 +1801,14 @@
1801
1801
  background: #edf3ff;
1802
1802
  border-radius: 3px;
1803
1803
  }
1804
- .content-common-detail-list-container .d_time,
1805
- .content-common-detail-list-container .add_new {
1804
+ .content-detail-list-container .d_time,
1805
+ .content-detail-list-container .add_new {
1806
1806
  margin: 0;
1807
1807
  margin-right: 10px;
1808
1808
  font-size: 14px;
1809
1809
  vertical-align: middle;
1810
1810
  }
1811
- .content-common-detail-list-container .d_time {
1811
+ .content-detail-list-container .d_time {
1812
1812
  color: #7da8ff;
1813
1813
  }
1814
1814
  .medialist-component-item-view {
@@ -1930,6 +1930,7 @@
1930
1930
  padding: 2px 0;
1931
1931
  }
1932
1932
  .medialist-component-item-view .info-view .title {
1933
+ width: calc(100% - 50px);
1933
1934
  display: flex;
1934
1935
  align-items: center;
1935
1936
  margin-bottom: 10px;
@@ -2307,12 +2308,9 @@
2307
2308
  .medialist-account-item-view .info-view .abttrite-v .right {
2308
2309
  margin-right: 20px;
2309
2310
  }
2310
- .media-common-detail-list-container {
2311
+ .content-detail-list-container {
2311
2312
  width: 100%;
2312
2313
  }
2313
- .media-common-detail-list-container .data-ul {
2314
- height: 100%;
2315
- }
2316
2314
  .medialist-doc-item-view {
2317
2315
  display: flex;
2318
2316
  padding: 10px;
@@ -2361,6 +2359,7 @@
2361
2359
  padding: 2px 0;
2362
2360
  }
2363
2361
  .medialist-doc-item-view .info-view .title {
2362
+ width: calc(100% - 50px);
2364
2363
  display: flex;
2365
2364
  align-items: center;
2366
2365
  margin-bottom: 10px;
@@ -2713,6 +2712,35 @@
2713
2712
  .select-thumb-container .thumb-card-container .img-v:hover .mask {
2714
2713
  display: flex;
2715
2714
  }
2715
+ .select-thumb-container .color-radio-group {
2716
+ overflow: hidden;
2717
+ }
2718
+ .select-thumb-container .color-radio-group .arco-radio-button {
2719
+ width: 32px;
2720
+ height: 32px;
2721
+ padding: 0;
2722
+ font-size: 0 !important;
2723
+ overflow: hidden !important;
2724
+ background: transparent !important;
2725
+ border-width: 0 !important;
2726
+ box-shadow: none !important;
2727
+ position: relative;
2728
+ }
2729
+ .select-thumb-container .color-radio-group .arco-radio-button.arco-radio-checked::after {
2730
+ box-sizing: content-box;
2731
+ content: '';
2732
+ border: 2px solid #fff;
2733
+ border-left: 0;
2734
+ border-top: 0;
2735
+ height: 11px;
2736
+ left: 12px;
2737
+ position: absolute;
2738
+ top: 7px;
2739
+ transform: rotate(45deg) scaleY(1);
2740
+ width: 5px;
2741
+ transition: transform 0.15s ease-in 0.05s;
2742
+ transform-origin: center;
2743
+ }
2716
2744
  .select-thumb-container .title {
2717
2745
  font-size: 14px;
2718
2746
  color: #4e5969;
@@ -2736,3 +2764,29 @@
2736
2764
  color: red;
2737
2765
  margin-right: 2px !important;
2738
2766
  }
2767
+ .select-thumb-container .color-picker-input {
2768
+ width: 32px;
2769
+ height: 32px;
2770
+ border: none;
2771
+ padding: 0px 2px;
2772
+ }
2773
+ .edit-meta-info-dialog-body {
2774
+ padding: 0;
2775
+ }
2776
+ .edit-meta-info-dialog-body .style-form-item {
2777
+ position: relative;
2778
+ top: -10px;
2779
+ }
2780
+ .edit-meta-info-dialog-body .style-form-item .title {
2781
+ max-width: 100%;
2782
+ color: var(--color-text-2);
2783
+ font-size: 14px;
2784
+ font-weight: 400;
2785
+ white-space: normal;
2786
+ }
2787
+ .edit-meta-info-dialog-body .select-thumb-wrap {
2788
+ margin-left: 20.8%;
2789
+ }
2790
+ .edit-meta-info-dialog-body .input-w {
2791
+ width: 450px;
2792
+ }
package/lib/index.js CHANGED
@@ -18,6 +18,7 @@ var index$d = require("./mediaFilter/index.js");
18
18
  var index$e = require("./selectAvatarList/index.js");
19
19
  var index$f = require("./userDirector/index.js");
20
20
  var index$g = require("./selectThumb/index.js");
21
+ var index$h = require("./editMetaInfo/index.js");
21
22
  exports["default"] = components;
22
23
  exports.appCenter = index;
23
24
  exports.messageBox = index$1;
@@ -36,3 +37,4 @@ exports.mediaFilter = index$d;
36
37
  exports.selectAvatarList = index$e;
37
38
  exports.userDirector = index$f;
38
39
  exports.selectThumb = index$g;
40
+ exports.editMetaInfo = index$h;
package/lib/index.less CHANGED
@@ -16,3 +16,4 @@
16
16
  @import './selectAvatarList/style/index.less';
17
17
  @import './userDirector/style/index.less';
18
18
  @import './selectThumb/style/index.less';
19
+ @import './editMetaInfo/style/index.less';
@@ -36,7 +36,7 @@ const _hoisted_15 = /* @__PURE__ */ vue.createElementVNode("span", { class: "sta
36
36
  const _hoisted_16 = { key: 2 };
37
37
  const _hoisted_17 = /* @__PURE__ */ vue.createElementVNode("span", { class: "tip" }, "(\u5EFA\u8BAE\u5C3A\u5BF8\uFF1A1242px*662px)", -1);
38
38
  const _hoisted_18 = { class: "title" };
39
- const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode("span", null, "\u4E13\u9898\u5934\u56FE\u80CC\u666F\u989C\u8272", -1);
39
+ const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode("span", null, "\u5934\u56FE\u80CC\u666F\u989C\u8272", -1);
40
40
  const _hoisted_20 = [
41
41
  _hoisted_19
42
42
  ];
@@ -230,6 +230,8 @@ const _sfc_main = vue.defineComponent({
230
230
  };
231
231
  const cropConfirm = (data) => {
232
232
  dialogMediaSelectionShow.value = false;
233
+ if (!styleData.value)
234
+ return;
233
235
  if (thumbBannerModel.value === "banner") {
234
236
  styleData.value.banner_url = data[0].url;
235
237
  styleData.value.banner_colorList = JSON.parse(
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  var vue = require("vue");
3
3
  var webVue = require("@arco-design/web-vue");
4
+ var colorPicker = require("./colorPicker.js");
4
5
  const _hoisted_1 = {
5
6
  key: 0,
6
7
  class: "color-palette-container"
@@ -16,44 +17,44 @@ const _sfc_main = vue.defineComponent({
16
17
  const props = __props;
17
18
  const color = vue.ref("rgb(101,121,109)");
18
19
  const colorList = vue.ref([]);
20
+ const colorChange = (_color) => {
21
+ if (_color) {
22
+ color.value = _color.replace(/\s+/g, "");
23
+ const styleData = JSON.parse(JSON.stringify(props.styleData));
24
+ styleData[`${props.model}_theme_color`] = color.value;
25
+ emit("change", styleData);
26
+ }
27
+ };
28
+ const colorRgb = (_color) => {
29
+ if (_color.includes("rgb")) {
30
+ return _color;
31
+ }
32
+ const red = parseInt(_color.slice(1, 3), 16);
33
+ const green = parseInt(_color.slice(3, 5), 16);
34
+ const blue = parseInt(_color.slice(5, 7), 16);
35
+ return `rgb(${red},${green},${blue})`;
36
+ };
19
37
  vue.watch(
20
38
  () => props.styleData,
21
39
  () => {
22
40
  if (props.styleData) {
23
41
  const _color = props.styleData[`${props.model}_theme_color`] || "";
24
42
  color.value = colorRgb(_color);
25
- const colorList2 = props.styleData.value[`${props.model}_colorList`];
26
- if (colorList2 == null ? void 0 : colorList2.length) {
27
- colorList2.value = colorList2.map((color2) => `rgb(${color2})`);
43
+ const _colorList = props.styleData[`${props.model}_colorList`];
44
+ if (_colorList == null ? void 0 : _colorList.length) {
45
+ colorList.value = _colorList.map((color2) => `rgb(${color2})`);
28
46
  } else if (color.value) {
29
- colorList2.value = [color.value];
47
+ colorList.value = [color.value];
30
48
  }
31
49
  }
32
- }
50
+ },
51
+ { immediate: true }
33
52
  );
34
- const colorChange = (color2) => {
35
- if (color2) {
36
- color2.value = color2.replace(/\s+/g, "");
37
- const styleData = JSON.parse(JSON.stringify(props.styleData));
38
- styleData[`${props.model}_theme_color`] = color2.value;
39
- emit("change", styleData);
40
- }
41
- };
42
- const colorRgb = (_color) => {
43
- if (_color.includes("rgb")) {
44
- return _color;
45
- }
46
- const colorChange2 = [];
47
- for (let i = 1; i < 7; i += 2) {
48
- colorChange2.push(parseInt(`0x${_color.slice(i, i + 2)}`, 10) || 0);
49
- }
50
- return `rgb(${colorChange2.join(",")})`;
51
- };
52
53
  return (_ctx, _cache) => {
53
54
  return colorList.value && colorList.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
54
55
  vue.createVNode(vue.unref(webVue.RadioGroup), {
55
56
  modelValue: color.value,
56
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => color.value = $event),
57
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => color.value = $event),
57
58
  class: "color-radio-group",
58
59
  type: "button",
59
60
  onChange: colorChange
@@ -62,10 +63,15 @@ const _sfc_main = vue.defineComponent({
62
63
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(colorList.value, (colr, index) => {
63
64
  return vue.openBlock(), vue.createBlock(vue.unref(webVue.Radio), {
64
65
  key: index,
65
- style: vue.normalizeStyle({ background: `${colr}` }),
66
+ style: vue.normalizeStyle({ background: `${colr} !important` }),
66
67
  value: colr
67
68
  }, null, 8, ["style", "value"]);
68
- }), 128))
69
+ }), 128)),
70
+ vue.createVNode(colorPicker, {
71
+ modelValue: color.value,
72
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => color.value = $event),
73
+ onChange: colorChange
74
+ }, null, 8, ["modelValue"])
69
75
  ]),
70
76
  _: 1
71
77
  }, 8, ["modelValue"])
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ const _hoisted_1 = ["value"];
4
+ const _sfc_main = vue.defineComponent({
5
+ __name: "colorPicker",
6
+ props: {
7
+ modelValue: String
8
+ },
9
+ emits: ["update:modelValue", "change"],
10
+ setup(__props, { emit }) {
11
+ const props = __props;
12
+ const color = vue.ref(props.modelValue || "#ffffff");
13
+ vue.watch(
14
+ () => props.modelValue,
15
+ () => {
16
+ if (props.modelValue) {
17
+ color.value = rgbToHex(props.modelValue);
18
+ }
19
+ },
20
+ { immediate: true }
21
+ );
22
+ vue.watch(color, (newColor) => {
23
+ emit("update:modelValue", newColor);
24
+ emit("change", newColor);
25
+ });
26
+ const updateColor = (event) => {
27
+ const hexColor = event.target.value;
28
+ const rgbColor = hexToRgb(hexColor);
29
+ color.value = rgbColor;
30
+ };
31
+ function hexToRgb(hex) {
32
+ const red = parseInt(hex.slice(1, 3), 16);
33
+ const green = parseInt(hex.slice(3, 5), 16);
34
+ const blue = parseInt(hex.slice(5, 7), 16);
35
+ return `rgb(${red}, ${green}, ${blue})`;
36
+ }
37
+ function rgbToHex(rgb) {
38
+ if (rgb.includes("NaN"))
39
+ return "";
40
+ if (rgb.includes("#"))
41
+ return rgb;
42
+ const [red, green, blue] = rgb.match(/\d+/g).map(Number);
43
+ return `#${((1 << 24) + (red << 16) + (green << 8) + blue).toString(16).slice(1).toUpperCase()}`;
44
+ }
45
+ return (_ctx, _cache) => {
46
+ return vue.openBlock(), vue.createElementBlock("input", {
47
+ class: "color-picker-input",
48
+ type: "color",
49
+ value: color.value,
50
+ onInput: updateColor
51
+ }, null, 40, _hoisted_1);
52
+ };
53
+ }
54
+ });
55
+ module.exports = _sfc_main;
@@ -0,0 +1,31 @@
1
+ .color-radio-group {
2
+ overflow: hidden;
3
+ .arco-radio-button {
4
+ width: @radio-button-size;
5
+ height: @radio-button-size;
6
+ padding: 0;
7
+ font-size: 0 !important;
8
+ overflow: hidden !important;
9
+ background: transparent !important;
10
+ border-width: 0 !important;
11
+ box-shadow: none !important;
12
+ position: relative;
13
+ &.arco-radio-checked {
14
+ &::after {
15
+ box-sizing: content-box;
16
+ content: '';
17
+ border: 2px solid #fff;
18
+ border-left: 0;
19
+ border-top: 0;
20
+ height: 11px;
21
+ left: 12px;
22
+ position: absolute;
23
+ top: 7px;
24
+ transform: rotate(45deg) scaleY(1);
25
+ width: 5px;
26
+ transition: transform 0.15s ease-in 0.05s;
27
+ transform-origin: center;
28
+ }
29
+ }
30
+ }
31
+ }
@@ -80,6 +80,35 @@
80
80
  .select-thumb-container .thumb-card-container .img-v:hover .mask {
81
81
  display: flex;
82
82
  }
83
+ .select-thumb-container .color-radio-group {
84
+ overflow: hidden;
85
+ }
86
+ .select-thumb-container .color-radio-group .arco-radio-button {
87
+ width: 32px;
88
+ height: 32px;
89
+ padding: 0;
90
+ font-size: 0 !important;
91
+ overflow: hidden !important;
92
+ background: transparent !important;
93
+ border-width: 0 !important;
94
+ box-shadow: none !important;
95
+ position: relative;
96
+ }
97
+ .select-thumb-container .color-radio-group .arco-radio-button.arco-radio-checked::after {
98
+ box-sizing: content-box;
99
+ content: '';
100
+ border: 2px solid #fff;
101
+ border-left: 0;
102
+ border-top: 0;
103
+ height: 11px;
104
+ left: 12px;
105
+ position: absolute;
106
+ top: 7px;
107
+ transform: rotate(45deg) scaleY(1);
108
+ width: 5px;
109
+ transition: transform 0.15s ease-in 0.05s;
110
+ transform-origin: center;
111
+ }
83
112
  .select-thumb-container .title {
84
113
  font-size: 14px;
85
114
  color: #4e5969;
@@ -103,3 +132,9 @@
103
132
  color: red;
104
133
  margin-right: 2px !important;
105
134
  }
135
+ .select-thumb-container .color-picker-input {
136
+ width: 32px;
137
+ height: 32px;
138
+ border: none;
139
+ padding: 0px 2px;
140
+ }
@@ -1,4 +1,5 @@
1
1
  .select-thumb-container {
2
+ @radio-button-size: 32px;
2
3
  @import './card.less';
3
4
  @import './colorPalette.less';
4
5
  .title {
@@ -24,4 +25,10 @@
24
25
  color: red;
25
26
  margin-right: 2px !important;
26
27
  }
28
+ .color-picker-input {
29
+ width: @radio-button-size;
30
+ height: @radio-button-size;
31
+ border: none;
32
+ padding: 0px 2px;
33
+ }
27
34
  }
@@ -51,9 +51,25 @@ const timeFormat = (value) => {
51
51
  const date = new Date(value);
52
52
  return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours() < 10 ? `0${date.getHours()}` : date.getHours()}:${date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()}`;
53
53
  };
54
+ const validateForm = (formRef) => {
55
+ return new Promise((resolve, reject) => {
56
+ try {
57
+ formRef.value.validate((valid) => {
58
+ if (valid) {
59
+ resolve(false);
60
+ } else {
61
+ resolve(true);
62
+ }
63
+ });
64
+ } catch (error) {
65
+ resolve(false);
66
+ }
67
+ });
68
+ };
54
69
  exports.dateYYYYDDMMHHmm = dateYYYYDDMMHHmm;
55
70
  exports.generateUUID = generateUUID;
56
71
  exports.noCoverText = noCoverText;
57
72
  exports.replaceSuffix = replaceSuffix;
58
73
  exports.timeFormat = timeFormat;
59
74
  exports.to = to;
75
+ exports.validateForm = validateForm;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmstops/pro-compo",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "vue",