unika-components 1.0.347 → 1.0.349

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.
@@ -257,8 +257,8 @@ export interface PersonalData {
257
257
  }
258
258
  export interface WorkData {
259
259
  personalData?: PersonalData | null;
260
- global?: GlobalData;
261
- pages: PageData[];
260
+ global: GlobalData;
261
+ pages: PageData[] | [];
262
262
  }
263
263
  export declare const commonDefaultProps: {
264
264
  actionType: string;
@@ -19,8 +19,9 @@ import UniButton from './components/UniButton';
19
19
  import UniBulidUp from './components/UniBulidUp';
20
20
  import UniTest from './components/UniTest';
21
21
  import UniSvg from './components/UniSvg';
22
+ import UniWorkRenderer from './components/WorkRender';
22
23
  declare const install: (app: App) => void;
23
- export { UniText, UniImage, UniShape, LongPage, SwiperPage, UniBackground, UniMusic, UniVideo, UniCalendar, UniCountdown, UniMap, UniCall, UniLike, UniEffect, UniRegisterForm, UniLotties, UniButton, UniBulidUp, UniSvg, UniTest, install };
24
+ export { UniText, UniImage, UniShape, LongPage, SwiperPage, UniBackground, UniMusic, UniVideo, UniCalendar, UniCountdown, UniMap, UniCall, UniLike, UniEffect, UniRegisterForm, UniLotties, UniButton, UniBulidUp, UniSvg, UniTest, UniWorkRenderer, install };
24
25
  declare const _default: {
25
26
  install: (app: App<any>) => void;
26
27
  };
@@ -1,3 +1,165 @@
1
+
2
+ #audio {
3
+ position: absolute;
4
+ right: 10px;
5
+ top: 10px;
6
+ z-index: 103;
7
+ width: 30px;
8
+ height: 30px;
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ #audio .mrotate {
14
+ animation: mrotate 5s linear infinite;
15
+ }
16
+
17
+ @keyframes mrotate {
18
+ to {
19
+ transform: rotate(1turn);
20
+ }
21
+ }
22
+
23
+ #audio .audio {
24
+ width: 100%;
25
+ height: 100%;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ color: #fff;
30
+ background: #666;
31
+ border-radius: 50%;
32
+ overflow: hidden;
33
+ cursor: pointer;
34
+ transition: all 0.3s ease;
35
+ }
36
+
37
+ #audio .audio.a-border {
38
+ border: 1px solid #fff;
39
+ }
40
+
41
+ #audio .audio .music-icon {
42
+ display: block;
43
+ width: 60%;
44
+ height: 60%;
45
+ object-fit: contain;
46
+ }
47
+
48
+ #audio .audio .iconfont {
49
+ font-size: 2opx;
50
+ line-height: 1;
51
+ }
52
+ #audio .icon-cancel {
53
+ position: absolute;
54
+ width: 100%;
55
+ height: 100%;
56
+ border-radius: 50%;
57
+ overflow: hidden;
58
+ padding: 15px 0;
59
+ }
60
+ #audio .icon-cancel .icon-h {
61
+ transform: rotate(45deg);
62
+ width: 100%;
63
+ height: 2px;
64
+ margin-top: 15px;
65
+ background: #fff;
66
+ }
67
+ #audio .icon-cancel .icon-h:before, #audio .icon-cancel .icon-h:after {
68
+ content: '';
69
+ position: absolute;
70
+ width: 100%;
71
+ height: 2px;
72
+ background: #fff;
73
+ }
74
+
75
+ .ele-text {
76
+ position: relative;
77
+ }
78
+
79
+ .ele-text .ani-wrap {
80
+ width: 100%;
81
+ height: 100%;
82
+ }
83
+
84
+ .text-common {
85
+ padding: 5px;
86
+ text-orientation: upright;
87
+ white-space: pre-wrap;
88
+ }
89
+
90
+ /* 文本动画类 */
91
+ .text-fadeIn {
92
+ animation: fadeIn 1s ease-in-out;
93
+ }
94
+
95
+ .text-slideIn {
96
+ animation: slideIn 1s ease-in-out;
97
+ }
98
+
99
+ .text-bounceIn {
100
+ animation: bounceIn 1s ease-in-out;
101
+ }
102
+
103
+ /* 基础动画关键帧 */
104
+ @keyframes fadeIn {
105
+ from {
106
+ opacity: 0;
107
+ }
108
+ to {
109
+ opacity: 1;
110
+ }
111
+ }
112
+
113
+ @keyframes slideIn {
114
+ from {
115
+ transform: translateY(20px);
116
+ opacity: 0;
117
+ }
118
+ to {
119
+ transform: translateY(0);
120
+ opacity: 1;
121
+ }
122
+ }
123
+
124
+ @keyframes bounceIn {
125
+ 0% {
126
+ transform: scale(0.3);
127
+ opacity: 0;
128
+ }
129
+ 50% {
130
+ transform: scale(1.05);
131
+ opacity: 0.8;
132
+ }
133
+ 70% {
134
+ transform: scale(0.9);
135
+ opacity: 0.9;
136
+ }
137
+ 100% {
138
+ transform: scale(1);
139
+ opacity: 1;
140
+ }
141
+ }
142
+
143
+ .uni-video-component {
144
+ position: relative;
145
+ text-align: center;
146
+ }
147
+ .play-pause-button {
148
+ position: absolute;
149
+ top: 50%;
150
+ left: 50%;
151
+ transform: translate(-50%, -50%);
152
+ cursor: pointer;
153
+ font-size: 2rem;
154
+ color: #fff;
155
+ background: rgba(0, 0, 0, 0.6);
156
+ border-radius: 50%;
157
+ padding: 10px;
158
+ transition: background 0.3s;
159
+ }
160
+ .play-pause-button:hover {
161
+ background: rgba(0, 0, 0, 0.8);
162
+ }
1
163
 
2
164
  .uni-image-component {
3
165
  max-width: 100%;
@@ -202,163 +364,51 @@
202
364
  background-position: center;
203
365
  will-change: transform;
204
366
  }
205
-
206
- .ele-text {
207
- position: relative;
208
- }
209
-
210
- .ele-text .ani-wrap {
211
- width: 100%;
212
- height: 100%;
213
- }
214
-
215
- .text-common {
216
- padding: 5px;
217
- text-orientation: upright;
218
- white-space: pre-wrap;
219
- }
220
-
221
- /* 文本动画类 */
222
- .text-fadeIn {
223
- animation: fadeIn 1s ease-in-out;
224
- }
225
-
226
- .text-slideIn {
227
- animation: slideIn 1s ease-in-out;
228
- }
229
-
230
- .text-bounceIn {
231
- animation: bounceIn 1s ease-in-out;
232
- }
233
-
234
- /* 基础动画关键帧 */
235
- @keyframes fadeIn {
236
- from {
237
- opacity: 0;
238
- }
239
- to {
240
- opacity: 1;
241
- }
242
- }
243
-
244
- @keyframes slideIn {
245
- from {
246
- transform: translateY(20px);
247
- opacity: 0;
248
- }
249
- to {
250
- transform: translateY(0);
251
- opacity: 1;
252
- }
253
- }
254
-
255
- @keyframes bounceIn {
256
- 0% {
257
- transform: scale(0.3);
258
- opacity: 0;
259
- }
260
- 50% {
261
- transform: scale(1.05);
262
- opacity: 0.8;
263
- }
264
- 70% {
265
- transform: scale(0.9);
266
- opacity: 0.9;
267
- }
268
- 100% {
269
- transform: scale(1);
270
- opacity: 1;
271
- }
272
- }
273
367
 
274
- #audio {
368
+
369
+ .uni-calendar-component {
370
+
371
+ }
372
+ .slot-number {
275
373
  position: absolute;
276
- right: 10px;
277
- top: 10px;
278
- z-index: 103;
279
- width: 30px;
280
- height: 30px;
281
- display: flex;
282
- align-items: center;
374
+ bottom: 2px;
375
+ left: 7px;
376
+ font-size: 12px;
377
+ color: #666
283
378
  }
284
379
 
285
- #audio .mrotate {
286
- animation: mrotate 5s linear infinite;
380
+ .effect {
381
+ width: 100%;
382
+ height: 100%;
287
383
  }
384
+
385
+ .uni-svg-component {
386
+ display: inline-block;
387
+ }
288
388
 
289
- @keyframes mrotate {
290
- to {
291
- transform: rotate(1turn);
389
+ .uni-build-up-component {
292
390
  }
293
- }
294
391
 
295
- #audio .audio {
296
- width: 100%;
297
- height: 100%;
392
+ .like-button {
298
393
  display: flex;
394
+ flex-direction: column;
299
395
  align-items: center;
300
- justify-content: center;
301
- color: #fff;
302
- background: #666;
303
- border-radius: 50%;
304
- overflow: hidden;
305
396
  cursor: pointer;
306
- transition: all 0.3s ease;
307
397
  }
308
398
 
309
- #audio .audio.a-border {
310
- border: 1px solid #fff;
311
- }
312
-
313
- #audio .audio .music-icon {
314
- display: block;
315
- width: 60%;
316
- height: 60%;
317
- object-fit: contain;
318
- }
319
-
320
- #audio .audio .iconfont {
321
- font-size: 2opx;
322
- line-height: 1;
323
- }
324
- #audio .icon-cancel {
325
- position: absolute;
326
- width: 100%;
327
- height: 100%;
328
- border-radius: 50%;
329
- overflow: hidden;
330
- padding: 15px 0;
399
+ .icon-heart {
400
+ font-size: 24px;
401
+ color: #e74c3c;
331
402
  }
332
- #audio .icon-cancel .icon-h {
333
- transform: rotate(45deg);
334
- width: 100%;
335
- height: 2px;
336
- margin-top: 15px;
337
- background: #fff;
338
- }
339
- #audio .icon-cancel .icon-h:before, #audio .icon-cancel .icon-h:after {
340
- content: '';
341
- position: absolute;
342
- width: 100%;
343
- height: 2px;
344
- background: #fff;
345
- }
346
-
347
403
 
348
- .uni-calendar-component {
349
-
350
- }
351
- .slot-number {
352
- position: absolute;
353
- bottom: 2px;
354
- left: 7px;
355
- font-size: 12px;
356
- color: #666
404
+ .liked {
405
+ color: #f00; /* 更改颜色以示已赞 */
357
406
  }
358
407
 
359
- .effect {
360
- width: 100%;
361
- height: 100%;
408
+ .like-count {
409
+ margin-top: 4px;
410
+ font-size: 16px;
411
+ color: #333;
362
412
  }
363
413
 
364
414
  .ant-input-number {
@@ -401,56 +451,6 @@
401
451
  height: 100%;
402
452
  }
403
453
 
404
- .uni-video-component {
405
- position: relative;
406
- text-align: center;
407
- }
408
- .play-pause-button {
409
- position: absolute;
410
- top: 50%;
411
- left: 50%;
412
- transform: translate(-50%, -50%);
413
- cursor: pointer;
414
- font-size: 2rem;
415
- color: #fff;
416
- background: rgba(0, 0, 0, 0.6);
417
- border-radius: 50%;
418
- padding: 10px;
419
- transition: background 0.3s;
420
- }
421
- .play-pause-button:hover {
422
- background: rgba(0, 0, 0, 0.8);
423
- }
424
-
425
- .like-button {
426
- display: flex;
427
- flex-direction: column;
428
- align-items: center;
429
- cursor: pointer;
430
- }
431
-
432
- .icon-heart {
433
- font-size: 24px;
434
- color: #e74c3c;
435
- }
436
-
437
- .liked {
438
- color: #f00; /* 更改颜色以示已赞 */
439
- }
440
-
441
- .like-count {
442
- margin-top: 4px;
443
- font-size: 16px;
444
- color: #333;
445
- }
446
-
447
- .uni-build-up-component {
448
- }
449
-
450
- .uni-svg-component {
451
- display: inline-block;
452
- }
453
-
454
454
 
455
455
  .no-animation__card {
456
456
  font-weight: 500;
@@ -5825,7 +5825,7 @@ var script$h = defineComponent({
5825
5825
  const bgMusic = ref(null);
5826
5826
  const currentPageId = ref('');
5827
5827
  // 使用 computed 保持响应性
5828
- const workData = computed(() => props.workData);
5828
+ const workData = computed(() => props.workData || { pages: [], global: {} });
5829
5829
  const personalData = computed(() => workData.value.personalData || {});
5830
5830
  const global = computed(() => workData.value.global || {});
5831
5831
  const pages = computed(() => workData.value.pages || []);
@@ -68954,7 +68954,8 @@ const components = [
68954
68954
  script$2,
68955
68955
  script,
68956
68956
  // UniTanmu,
68957
- script$1
68957
+ script$1,
68958
+ script$h
68958
68959
  ];
68959
68960
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
68960
68961
  const install = (app) => {
@@ -68966,4 +68967,4 @@ var index = {
68966
68967
  install
68967
68968
  };
68968
68969
 
68969
- export { script$i as LongPage, script$h as SwiperPage, script$g as UniBackground, script$2 as UniBulidUp, script$3 as UniButton, script$c as UniCalendar, script$8 as UniCall, script$a as UniCountdown, script$6 as UniEffect, script$k as UniImage, script$7 as UniLike, script$4 as UniLotties, script$9 as UniMap, script$f as UniMusic, script$5 as UniRegisterForm, script$j as UniShape, script as UniSvg, script$1 as UniTest, script$l as UniText, script$e as UniVideo, index as default, install };
68970
+ export { script$i as LongPage, script$h as SwiperPage, script$g as UniBackground, script$2 as UniBulidUp, script$3 as UniButton, script$c as UniCalendar, script$8 as UniCall, script$a as UniCountdown, script$6 as UniEffect, script$k as UniImage, script$7 as UniLike, script$4 as UniLotties, script$9 as UniMap, script$f as UniMusic, script$5 as UniRegisterForm, script$j as UniShape, script as UniSvg, script$1 as UniTest, script$l as UniText, script$e as UniVideo, script$h as UniWorkRenderer, index as default, install };
@@ -5832,7 +5832,7 @@
5832
5832
  const bgMusic = vue.ref(null);
5833
5833
  const currentPageId = vue.ref('');
5834
5834
  // 使用 computed 保持响应性
5835
- const workData = vue.computed(() => props.workData);
5835
+ const workData = vue.computed(() => props.workData || { pages: [], global: {} });
5836
5836
  const personalData = vue.computed(() => workData.value.personalData || {});
5837
5837
  const global = vue.computed(() => workData.value.global || {});
5838
5838
  const pages = vue.computed(() => workData.value.pages || []);
@@ -68961,7 +68961,8 @@ summary tabindex target title type usemap value width wmode wrap`;
68961
68961
  script$2,
68962
68962
  script,
68963
68963
  // UniTanmu,
68964
- script$1
68964
+ script$1,
68965
+ script$h
68965
68966
  ];
68966
68967
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
68967
68968
  const install = (app) => {
@@ -68993,6 +68994,7 @@ summary tabindex target title type usemap value width wmode wrap`;
68993
68994
  exports.UniTest = script$1;
68994
68995
  exports.UniText = script$l;
68995
68996
  exports.UniVideo = script$e;
68997
+ exports.UniWorkRenderer = script$h;
68996
68998
  exports["default"] = index;
68997
68999
  exports.install = install;
68998
69000
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unika-components",
3
- "version": "1.0.347",
3
+ "version": "1.0.349",
4
4
  "private": false,
5
5
  "main": "dist/unika-components.umd.js",
6
6
  "module": "dist/unika-components.esm.js",