officialblock 1.0.7 → 1.0.9

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 (103) hide show
  1. package/dist/index-Ch_ldWmA.js +1 -0
  2. package/dist/index-DXm2cqxo.mjs +485 -0
  3. package/dist/official-block.cjs.js +74 -74
  4. package/dist/official-block.es.js +13608 -10831
  5. package/dist/official-block.umd.js +78 -78
  6. package/dist/style.css +1 -1
  7. package/dist/swiper-JiLDDxAF.js +1 -0
  8. package/dist/swiper-acbnDJoL.mjs +2035 -0
  9. package/dist/utils-DD-vVZej.mjs +316 -0
  10. package/dist/utils-DOLLD0-F.js +1 -0
  11. package/package.json +2 -1
  12. package/src/assets/icon-email.svg +3 -0
  13. package/src/components/ArticleList/article.vue +3 -3
  14. package/src/components/ArticleList/contact.vue +9 -9
  15. package/src/components/ArticleList/index.ts +1 -1
  16. package/src/components/ArticleList/index.vue +22 -80
  17. package/src/components/ArticleList/setting.vue +339 -175
  18. package/src/components/ArticleList/type.ts +12 -18
  19. package/src/components/BannerImage/index.ts +11 -0
  20. package/src/components/BannerImage/index.vue +153 -0
  21. package/src/components/BannerImage/setting.vue +55 -0
  22. package/src/components/BannerImage/type.ts +10 -0
  23. package/src/components/BannerImageWithLink/index.ts +11 -0
  24. package/src/components/BannerImageWithLink/index.vue +323 -0
  25. package/src/components/BannerImageWithLink/setting.vue +344 -0
  26. package/src/components/BannerImageWithLink/type.ts +17 -0
  27. package/src/components/BannerPage/index.ts +11 -0
  28. package/src/components/BannerPage/index.vue +283 -0
  29. package/src/components/BannerPage/setting.vue +55 -0
  30. package/src/components/BannerPage/type.ts +10 -0
  31. package/src/components/BtnList/index.ts +11 -0
  32. package/src/components/BtnList/index.vue +588 -0
  33. package/src/components/BtnList/setting.vue +255 -0
  34. package/src/components/BtnList/type.ts +10 -0
  35. package/src/components/Button/index.vue +45 -33
  36. package/src/components/ContactUsList/index.ts +11 -0
  37. package/src/components/ContactUsList/index.vue +369 -0
  38. package/src/components/ContactUsList/setting.vue +497 -0
  39. package/src/components/ContactUsList/type.ts +17 -0
  40. package/src/components/CountDown/index.ts +11 -0
  41. package/src/components/CountDown/index.vue +315 -0
  42. package/src/components/CountDown/setting.vue +302 -0
  43. package/src/components/CountDown/type.ts +17 -0
  44. package/src/components/CustomIframe/index.ts +11 -0
  45. package/src/components/CustomIframe/index.vue +118 -0
  46. package/src/components/CustomIframe/setting.vue +323 -0
  47. package/src/components/CustomIframe/type.ts +17 -0
  48. package/src/components/CustomSpace/index.ts +11 -0
  49. package/src/components/CustomSpace/index.vue +82 -0
  50. package/src/components/CustomSpace/setting.vue +89 -0
  51. package/src/components/CustomSpace/type.ts +10 -0
  52. package/src/components/GalleryList/index.ts +12 -0
  53. package/src/components/GalleryList/index.vue +311 -0
  54. package/src/components/GalleryList/setting.vue +268 -0
  55. package/src/components/GalleryList/type.ts +10 -0
  56. package/src/components/HeroSlide/index.ts +1 -1
  57. package/src/components/HeroSlide/index.vue +85 -133
  58. package/src/components/HeroSlide/setting.vue +435 -0
  59. package/src/components/HeroSlide/type.ts +5 -14
  60. package/src/components/LinkLIst/index.ts +11 -0
  61. package/src/components/LinkLIst/index.vue +317 -0
  62. package/src/components/LinkLIst/setting.vue +264 -0
  63. package/src/components/LinkLIst/type.ts +10 -0
  64. package/src/components/Media/index.vue +18 -18
  65. package/src/components/Operate/index.vue +17 -8
  66. package/src/components/Profile/index.vue +999 -0
  67. package/src/components/Profile/modal.vue +56 -0
  68. package/src/components/Profile/setting.vue +330 -0
  69. package/src/components/QuickLinks/index.vue +166 -0
  70. package/src/components/QuoteText/index.ts +11 -0
  71. package/src/components/QuoteText/index.vue +133 -0
  72. package/src/components/QuoteText/setting.vue +81 -0
  73. package/src/components/QuoteText/type.ts +10 -0
  74. package/src/components/ScrollKeyInfo/index.ts +11 -0
  75. package/src/components/ScrollKeyInfo/index.vue +1345 -0
  76. package/src/components/ScrollKeyInfo/setting.vue +302 -0
  77. package/src/components/ScrollKeyInfo/type.ts +17 -0
  78. package/src/components/Swiper/index.vue +538 -0
  79. package/src/components/TabDefault/components/ComponentSelector/compsData.js +143 -0
  80. package/src/components/TabDefault/components/ComponentSelector/index.vue +188 -0
  81. package/src/components/TabDefault/components/PageContent.vue +207 -0
  82. package/src/components/TabDefault/index.vue +475 -0
  83. package/src/components/TabDefault/setting.vue +581 -0
  84. package/src/components/TabDefault/type.ts +17 -0
  85. package/src/components/TableTwo/index.ts +11 -0
  86. package/src/components/TableTwo/index.vue +232 -0
  87. package/src/components/TableTwo/setting.vue +558 -0
  88. package/src/components/TableTwo/type.ts +17 -0
  89. package/src/components/index.ts +40 -5
  90. package/src/index.ts +56 -12
  91. package/src/main.ts +6 -3
  92. package/src/router/index.ts +6 -0
  93. package/src/style.css +17 -0
  94. package/src/styles/component-isolation.scss +257 -0
  95. package/src/styles/editor.scss +1 -1
  96. package/src/styles/layers.scss +256 -0
  97. package/src/styles/main.scss +21687 -0
  98. package/src/styles/mixins/style-isolation.scss +262 -0
  99. package/src/styles/smart-reset.scss +287 -0
  100. package/src/styles/test.scss +1 -1
  101. package/src/types/button.ts +10 -0
  102. package/src/views/StyleIsolationTest.vue +292 -0
  103. package/src/views/components/ArticleListDemo.vue +59 -19
@@ -0,0 +1,302 @@
1
+ <template>
2
+ <a-drawer
3
+ :width="500"
4
+ :visible="show"
5
+ :footer="false"
6
+ @cancel="handleCancel"
7
+ unmountOnClose
8
+ >
9
+ <template #title> {{ data?.type }}组件编辑 </template>
10
+ <div class="seting-box">
11
+ <p class="item-title">标题</p>
12
+ <a-input v-model="data.title" placeholder="请输入标题" allow-clear />
13
+
14
+ <p class="item-title mt-2">内容</p>
15
+ <RichTextEditor v-model="data.content"></RichTextEditor>
16
+ <p class="item-title">图片</p>
17
+ <img class="item-img" :src="paragraph.imgSrc" />
18
+ <div class="item-uplaod flex items-center">
19
+ <a-input
20
+ v-model="paragraph.imgSrc"
21
+ placeholder="请输入图片链接"
22
+ allow-clear
23
+ />
24
+ <a-upload class="fit-content" :show-file-list="false" action="/" />
25
+ </div>
26
+ </div>
27
+ </a-drawer>
28
+ </template>
29
+
30
+ <script lang="ts" setup>
31
+ import { ref, computed } from "vue";
32
+ import RichTextEditor from "@/components/RichTextEditor";
33
+ import { randomString } from "@/utils/common";
34
+
35
+ const props = defineProps({
36
+ show: {
37
+ type: Boolean,
38
+ default: false,
39
+ },
40
+
41
+ data: {
42
+ type: Object,
43
+ default: () => {},
44
+ },
45
+ });
46
+
47
+ const emit = defineEmits(["update:show"]);
48
+
49
+ const paragraph = ref({
50
+ title: "",
51
+ content: "",
52
+ imgSrc:
53
+ "https://osswebsite.ycyw.com/media-library/ywies-bj/images/home/ywies-tx.jpg",
54
+ });
55
+
56
+ const handleCancel = () => {
57
+ emit("update:show", false);
58
+ };
59
+ </script>
60
+
61
+ <style lang="scss" scoped>
62
+ .item-img {
63
+ height: 100px;
64
+ }
65
+ .seting-box {
66
+ padding: 20px;
67
+ background: #f0f2f5;
68
+ border-radius: 3px;
69
+ .arco-input-wrapper {
70
+ background: #ffffff;
71
+ }
72
+ }
73
+ .setting-content {
74
+ .setting-header {
75
+ padding-bottom: 12px;
76
+
77
+ .header-title {
78
+ width: 120px;
79
+ padding-right: 12px;
80
+ text-align: right;
81
+ }
82
+ }
83
+
84
+ .setting-body {
85
+ margin-top: 12px;
86
+
87
+ .setting-item {
88
+ position: relative;
89
+ padding: 16px 12px;
90
+ background: #f0f2f5;
91
+ border-radius: 8px;
92
+ margin-bottom: 20px;
93
+
94
+ .btn-group {
95
+ position: absolute;
96
+ right: 0;
97
+ top: 0;
98
+ display: flex;
99
+ align-items: center;
100
+ padding: 4px;
101
+
102
+ .btn-delete {
103
+ padding: 4px;
104
+ font-size: 24px;
105
+ cursor: pointer;
106
+ }
107
+ }
108
+
109
+ .item-name {
110
+ font-size: 16px;
111
+ font-weight: 600;
112
+ padding-bottom: 10px;
113
+ border-bottom: 1px solid #fff;
114
+ }
115
+
116
+ .item-title {
117
+ padding: 12px 0 8px 0;
118
+ font-size: 14px;
119
+ font-weight: 600;
120
+ }
121
+
122
+ .arco-input-wrapper {
123
+ background: #fff;
124
+ }
125
+
126
+ .item-button {
127
+ position: relative;
128
+ padding: 12px 8px 4px;
129
+ background: #fff;
130
+ border-radius: 4px;
131
+ margin: 4px 0;
132
+ transition: all 0.3s ease;
133
+
134
+ &.draggable-item {
135
+ cursor: move;
136
+
137
+ &:hover {
138
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
139
+ transform: translateY(-1px);
140
+ }
141
+
142
+ // 当禁用拖拽时,不显示拖拽效果
143
+ &.sortable-disabled {
144
+ cursor: default;
145
+
146
+ &:hover {
147
+ box-shadow: none;
148
+ transform: none;
149
+ }
150
+ }
151
+ }
152
+
153
+ .arco-input-wrapper {
154
+ background: #f2f3f5;
155
+ }
156
+ }
157
+
158
+ // 拖拽相关样式
159
+ .flip-list-move {
160
+ transition: transform 0.5s;
161
+ }
162
+
163
+ .no-move {
164
+ transition: transform 0s;
165
+ }
166
+
167
+ .ghost {
168
+ opacity: 0.5;
169
+ background: #c8ebfb;
170
+ }
171
+
172
+ .list-group {
173
+ min-height: 20px;
174
+ }
175
+
176
+ .list-group-item {
177
+ cursor: move;
178
+ }
179
+
180
+ .list-group-item i {
181
+ cursor: pointer;
182
+ }
183
+
184
+ .item-action {
185
+ padding: 10px 0;
186
+
187
+ .action-text {
188
+ width: 150px;
189
+ margin-right: 8px;
190
+ }
191
+ }
192
+
193
+ .item-add-btn {
194
+ display: inline-block;
195
+ padding: 2px 8px;
196
+ margin-top: 5px;
197
+ font-size: 11px;
198
+ color: #165dff;
199
+ border-radius: 4px;
200
+ font-weight: 600;
201
+ border: 1px solid #165dff;
202
+ cursor: pointer;
203
+ }
204
+
205
+ .item-img {
206
+ margin-top: 12px;
207
+ height: 160px;
208
+ }
209
+
210
+ .fit-content {
211
+ width: fit-content;
212
+ }
213
+
214
+ .item-img-list {
215
+ .img-list-item {
216
+ margin: 4px 0;
217
+ position: relative;
218
+ padding: 8px;
219
+ border-radius: 4px;
220
+ transition: all 0.3s ease;
221
+ background: #fff;
222
+ border-radius: 4px;
223
+
224
+ &.draggable-item {
225
+ cursor: move;
226
+
227
+ &:hover {
228
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
229
+ transform: translateY(-1px);
230
+ }
231
+
232
+ // 当禁用拖拽时,不显示拖拽效果
233
+ &.sortable-disabled {
234
+ cursor: default;
235
+
236
+ &:hover {
237
+ box-shadow: none;
238
+ transform: none;
239
+ }
240
+ }
241
+ }
242
+
243
+ .arco-input-wrapper {
244
+ background: #f2f3f5;
245
+ }
246
+
247
+ .img-drag-handle {
248
+ top: 0 !important;
249
+ }
250
+ }
251
+
252
+ .item-img-box {
253
+ margin-right: 12px;
254
+ position: relative;
255
+ width: 133px;
256
+ height: 100px;
257
+
258
+ .item-img-dlete {
259
+ position: absolute;
260
+ padding: 8px;
261
+ font-size: 32px;
262
+ top: -16px;
263
+ right: -16px;
264
+ color: red;
265
+ cursor: pointer;
266
+ }
267
+ }
268
+
269
+ .small-img {
270
+ margin: 0;
271
+ height: 100px;
272
+ object-fit: cover;
273
+ }
274
+
275
+ .item-right {
276
+ padding-top: 24px;
277
+ }
278
+ }
279
+ }
280
+ }
281
+
282
+ .drag-handle {
283
+ padding: 4px;
284
+ cursor: grab;
285
+ padding: 4px;
286
+ border-radius: 4px;
287
+
288
+ &:hover {
289
+ background-color: #f0f2f5;
290
+ }
291
+
292
+ &:active {
293
+ cursor: grabbing;
294
+ }
295
+
296
+ .drag-icon {
297
+ font-size: 16px;
298
+ color: #86909c;
299
+ }
300
+ }
301
+ }
302
+ </style>
@@ -0,0 +1,17 @@
1
+ export interface ScrollKeyInfoProps {
2
+ /** 双向绑定的值 */
3
+ modelValue: any
4
+ }
5
+
6
+ export interface ScrollKeyInfoEmits {
7
+ (e: 'update:modelValue', value: any): void
8
+ (e: 'handleDelete', value: string | number): void
9
+ (e: 'handleCopy', value: any): void
10
+ }
11
+
12
+ // export type ComponentSlots = {
13
+ // /** 默认插槽内容 */
14
+ // default?: (props: { value: string | number }) => VNode[]
15
+ // /** 头部内容 */
16
+ // header?: (props: { title: string }) => VNode[]
17
+ // }