@opendesign-plus-test/components 0.0.1-rc.46 → 0.0.1-rc.48

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 (78) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +67 -47
  3. package/dist/components/OHeaderSearch.vue.d.ts +812 -534
  4. package/dist/components/search/OSearchInput.vue.d.ts +1003 -0
  5. package/dist/components/search/composables/useImageSearch.d.ts +48 -0
  6. package/dist/components/search/composables/useKeywordHighlight.d.ts +2 -0
  7. package/dist/components/search/composables/useSearchHistory.d.ts +14 -0
  8. package/dist/components/search/index.d.ts +590 -0
  9. package/dist/components/search/internal/HighlightText.vue.d.ts +9 -0
  10. package/dist/components/search/internal/SearchImageInput.vue.d.ts +716 -0
  11. package/dist/components/search/internal/SearchPanel.vue.d.ts +100 -0
  12. package/dist/components/search/types.d.ts +20 -0
  13. package/dist/components.cjs.js +41 -41
  14. package/dist/components.css +1 -1
  15. package/dist/components.es.js +11296 -10253
  16. package/dist/index.d.ts +1 -0
  17. package/package.json +4 -2
  18. package/src/assets/svg-icons/icon-delete-hover.svg +4 -0
  19. package/src/assets/svg-icons/icon-delete.svg +5 -1
  20. package/src/assets/svg-icons/icon-image-close.svg +4 -0
  21. package/src/assets/svg-icons/icon-image-upload.svg +3 -0
  22. package/src/assets/svg-icons/icon-image-zoomin.svg +3 -0
  23. package/src/assets/svg-icons/icon-refresh.svg +3 -0
  24. package/src/components/OBanner.vue +18 -18
  25. package/src/components/OCookieNotice.vue +21 -21
  26. package/src/components/OFooter.vue +18 -17
  27. package/src/components/OHeaderSearch.vue +402 -420
  28. package/src/components/OHeaderUser.vue +3 -2
  29. package/src/components/OSection.vue +4 -4
  30. package/src/components/activity/OActivityApproval.vue +4 -4
  31. package/src/components/activity/OActivityForm.vue +2 -2
  32. package/src/components/activity/OMyActivityCalendar.vue +26 -26
  33. package/src/components/common/ContentWrapper.vue +3 -3
  34. package/src/components/element-plus/OElCookieNotice.vue +26 -26
  35. package/src/components/events/OEventsApply.vue +44 -44
  36. package/src/components/events/OEventsCalendar.vue +14 -14
  37. package/src/components/events/OEventsList.vue +16 -16
  38. package/src/components/header/OHeader.vue +2 -2
  39. package/src/components/header/components/HeaderContent.vue +60 -60
  40. package/src/components/header/components/HeaderNav.vue +4 -4
  41. package/src/components/header/components/HeaderNavMobile.vue +3 -3
  42. package/src/components/meeting/OMeetingCalendar.vue +27 -27
  43. package/src/components/meeting/OMeetingForm.vue +16 -16
  44. package/src/components/meeting/OMeetingPlayback.vue +4 -4
  45. package/src/components/meeting/OMyMeetingCalendar.vue +25 -25
  46. package/src/components/meeting/OSigMeetingCalendar.vue +3 -3
  47. package/src/components/meeting/components/OMeetingCalendarList.vue +9 -9
  48. package/src/components/meeting/components/OMeetingDetail.vue +2 -2
  49. package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +1 -1
  50. package/src/components/meeting/components/OMeetingPlaybackVideo.vue +5 -5
  51. package/src/components/meeting/components/OSigMeetingAside.vue +6 -6
  52. package/src/components/search/OSearchInput.vue +463 -0
  53. package/src/components/search/composables/useImageSearch.ts +157 -0
  54. package/src/components/search/composables/useKeywordHighlight.ts +30 -0
  55. package/src/components/search/composables/useSearchHistory.ts +75 -0
  56. package/src/components/search/index.ts +23 -0
  57. package/src/components/search/internal/HighlightText.vue +37 -0
  58. package/src/components/search/internal/SearchImageInput.vue +488 -0
  59. package/src/components/search/internal/SearchPanel.vue +430 -0
  60. package/src/components/search/types.ts +25 -0
  61. package/src/draft/Banner.vue +6 -6
  62. package/src/draft/ButtonCards.vue +1 -1
  63. package/src/draft/Feature.vue +6 -6
  64. package/src/draft/Footer.vue +29 -22
  65. package/src/draft/HorizontalAnchor.vue +4 -4
  66. package/src/draft/ItemSwiper.vue +2 -2
  67. package/src/draft/Logo.vue +3 -3
  68. package/src/draft/LogoCard.vue +2 -2
  69. package/src/draft/MultiCard.vue +1 -1
  70. package/src/draft/MultiIconCard.vue +1 -1
  71. package/src/draft/OInfoCard.vue +4 -4
  72. package/src/draft/Section.vue +4 -4
  73. package/src/draft/SingleTabCard.vue +1 -1
  74. package/src/draft/SliderCard.vue +4 -3
  75. package/src/i18n/en.ts +10 -0
  76. package/src/i18n/zh.ts +10 -0
  77. package/src/index.ts +1 -0
  78. package/vite.config.ts +5 -1
@@ -71,7 +71,7 @@ defineProps<EventsApplyPropsT>();
71
71
  // 移动端时间线序号
72
72
  .timeline-number {
73
73
  display: none; // 桌面端隐藏
74
- @include respond-to('<=pad_v') {
74
+ @include respond('<=pad_v') {
75
75
  display: flex;
76
76
  align-items: flex-start;
77
77
  padding-top: var(--o-gap-3); // 与 step-title 的 padding 对齐
@@ -118,7 +118,7 @@ defineProps<EventsApplyPropsT>();
118
118
  gap: var(--o-gap-6);
119
119
 
120
120
  // 移动端:2列布局(序号列 + 内容列)
121
- @include respond-to('<=pad_v') {
121
+ @include respond('<=pad_v') {
122
122
  grid-template-columns: auto 1fr; // 第1列自适应,第2列占满
123
123
  grid-template-rows: auto; // 行数自动
124
124
  gap: var(--o-gap-3); // 列间距12px,行间距12px
@@ -132,7 +132,7 @@ defineProps<EventsApplyPropsT>();
132
132
  --idx-size: 20px;
133
133
  --idx-gap: var(--o-gap-3);
134
134
  // 移动端:强制在第2列显示
135
- @include respond-to('<=pad_v') {
135
+ @include respond('<=pad_v') {
136
136
  grid-column: 2 !important;
137
137
  grid-row: auto !important;
138
138
  }
@@ -145,13 +145,13 @@ defineProps<EventsApplyPropsT>();
145
145
  display: flex;
146
146
  align-items: center;
147
147
  @include h2;
148
- @include respond-to('pad_v') {
148
+ @include respond('pad_v') {
149
149
  margin-bottom: 0;
150
150
  padding: var(--o-gap-3) var(--o-gap-4);
151
151
  border-bottom: 1px solid var(--o-color-control4);
152
152
  @include text1;
153
153
  }
154
- @include respond-to('phone') {
154
+ @include respond('phone') {
155
155
  margin-bottom: 0;
156
156
  padding: var(--o-gap-3) var(--o-gap-4);
157
157
  border-bottom: 1px solid var(--o-color-control4);
@@ -169,10 +169,10 @@ defineProps<EventsApplyPropsT>();
169
169
  color: #fff;
170
170
  text-align: center;
171
171
  font-weight: 400;
172
- @include respond-to('pad_v') {
172
+ @include respond('pad_v') {
173
173
  display: none;
174
174
  }
175
- @include respond-to('phone') {
175
+ @include respond('phone') {
176
176
  display: none;
177
177
  }
178
178
  }
@@ -182,10 +182,10 @@ defineProps<EventsApplyPropsT>();
182
182
  color: var(--o-color-info2);
183
183
  padding: 0 var(--o-gap-6) var(--o-gap-4) var(--o-gap-6);
184
184
  @include tip1;
185
- @include respond-to('pad_v') {
185
+ @include respond('pad_v') {
186
186
  padding: var(--o-gap-3) var(--o-gap-4);
187
187
  }
188
- @include respond-to('phone') {
188
+ @include respond('phone') {
189
189
  padding: var(--o-gap-3) var(--o-gap-4);
190
190
  }
191
191
 
@@ -195,7 +195,7 @@ defineProps<EventsApplyPropsT>();
195
195
 
196
196
  .desc-list-title {
197
197
  padding-left: calc(var(--idx-size) + var(--idx-gap));
198
- @include respond-to('<=pad_v') {
198
+ @include respond('<=pad_v') {
199
199
  display: none;
200
200
  }
201
201
  }
@@ -214,10 +214,10 @@ defineProps<EventsApplyPropsT>();
214
214
  font-size: 16px;
215
215
  margin-right: var(--o-gap-4);
216
216
  color: #fff;
217
- @include respond-to('pad_v') {
217
+ @include respond('pad_v') {
218
218
  margin-right: var(--o-gap-2);
219
219
  }
220
- @include respond-to('phone') {
220
+ @include respond('phone') {
221
221
  margin-right: var(--o-gap-2);
222
222
  }
223
223
 
@@ -236,13 +236,11 @@ defineProps<EventsApplyPropsT>();
236
236
  --padding-left: var(--o-gap-4);
237
237
  padding-left: calc(var(--o-gap-4) + var(--o-gap-4));
238
238
  color: rgba(255, 255, 255, 0.8);
239
- @include respond-to('pad_v') {
239
+ @include respond('pad_v') {
240
240
  padding-left: var(--o-gap-5);
241
- color: var(--o-color-info2);
242
241
  }
243
- @include respond-to('phone') {
242
+ @include respond('phone') {
244
243
  padding-left: var(--o-gap-5);
245
- color: var(--o-color-info2);
246
244
  }
247
245
  }
248
246
  }
@@ -257,20 +255,20 @@ defineProps<EventsApplyPropsT>();
257
255
  }
258
256
 
259
257
  .img-wrapper {
260
- @include respond-to('<=pad_v') {
258
+ @include respond('<=pad_v') {
261
259
  display: none;
262
260
  }
263
261
  }
264
262
 
265
263
  .img-wrapper-phone {
266
- @include respond-to('>pad_v') {
264
+ @include respond('>pad_v') {
267
265
  display: none;
268
266
  }
269
267
  }
270
268
 
271
269
  &.step-1 {
272
270
  .step-desc {
273
- @include respond-to('>pad_v') {
271
+ @include respond('>pad_v') {
274
272
  padding-bottom: 0;
275
273
  }
276
274
  }
@@ -288,7 +286,7 @@ defineProps<EventsApplyPropsT>();
288
286
 
289
287
  &.step-2 {
290
288
  .step-desc {
291
- @include respond-to('>pad_v') {
289
+ @include respond('>pad_v') {
292
290
  padding-bottom: 0;
293
291
  }
294
292
  }
@@ -305,31 +303,33 @@ defineProps<EventsApplyPropsT>();
305
303
  }
306
304
 
307
305
  &.step-3 {
308
- @include respond-to('>pad_v') {
306
+ background: linear-gradient(
307
+ 142.13deg,
308
+ color-mix(in srgb, transparent 0%, transparent) 0%,
309
+ color-mix(in srgb, rgba(var(--o-white), 0.6) 60%, transparent) 100%
310
+ ),
311
+ var(--o-color-primary1);
312
+
313
+ &.is-dark {
309
314
  background: linear-gradient(
310
315
  142.13deg,
311
- color-mix(in srgb, transparent 0%, transparent) 0%,
312
- color-mix(in srgb, rgba(var(--o-white), 0.6) 60%, transparent) 100%
316
+ color-mix(in srgb, var(--o-color-primary1) 40%, transparent) 0%,
317
+ color-mix(in srgb, var(--o-color-primary1) 16%, transparent) 100%
313
318
  ),
314
- var(--o-color-primary1);
315
- &.is-dark {
316
- background: linear-gradient(
317
- 142.13deg,
318
- color-mix(in srgb, var(--o-color-primary1) 40%, transparent) 0%,
319
- color-mix(in srgb, var(--o-color-primary1) 16%, transparent) 100%
320
- ),
321
- var(--o-color-fill2);
322
- }
323
- .step-idx {
324
- background-color: #fff;
325
- color: #000;
326
- }
327
- .step-title {
328
- color: #fff;
329
- }
330
- .step-desc {
331
- color: #fff;
332
- }
319
+ var(--o-color-fill2);
320
+ }
321
+
322
+ .step-idx {
323
+ background-color: #fff;
324
+ color: #000;
325
+ }
326
+
327
+ .step-title {
328
+ color: #fff;
329
+ }
330
+
331
+ .step-desc {
332
+ color: #fff;
333
333
  }
334
334
 
335
335
  .img-wrapper {
@@ -349,10 +349,10 @@ defineProps<EventsApplyPropsT>();
349
349
  &.step-4 {
350
350
  position: relative;
351
351
  padding-right: 292px;
352
- @include respond-to('pad_h') {
352
+ @include respond('pad_h') {
353
353
  padding-right: 192px;
354
354
  }
355
- @include respond-to('<=pad_v') {
355
+ @include respond('<=pad_v') {
356
356
  padding-right: var(--o-gap-4);
357
357
  }
358
358
 
@@ -248,10 +248,10 @@ const getIcon = (item: CalendarItemT) => {
248
248
  height: var(--header-height);
249
249
  line-height: var(--header-height);
250
250
  text-align: center;
251
- @include respond-to('laptop') {
251
+ @include respond('laptop') {
252
252
  --header-height: 40px;
253
253
  }
254
- @include respond-to('pad_h') {
254
+ @include respond('pad_h') {
255
255
  --header-height: 38px;
256
256
  }
257
257
  }
@@ -260,10 +260,10 @@ const getIcon = (item: CalendarItemT) => {
260
260
  .o-collapse {
261
261
  --collapse-padding: 0;
262
262
  --collapse-radius: 0 0 var(--o-radius_control-l) var(--o-radius_control-l);
263
- @include respond-to('pad_v') {
263
+ @include respond('pad_v') {
264
264
  --collapse-radius: var(--o-radius_control-l);
265
265
  }
266
- @include respond-to('phone') {
266
+ @include respond('phone') {
267
267
  --collapse-radius: var(--o-radius_control-l);
268
268
  }
269
269
 
@@ -271,7 +271,7 @@ const getIcon = (item: CalendarItemT) => {
271
271
  .o-collapse-item-header {
272
272
  padding: var(--o-gap-4) var(--o-gap-6);
273
273
  align-items: center;
274
- @include respond-to('<=pad_v') {
274
+ @include respond('<=pad_v') {
275
275
  padding: var(--o-gap-2) var(--o-gap-3);
276
276
  }
277
277
 
@@ -298,7 +298,7 @@ const getIcon = (item: CalendarItemT) => {
298
298
  align-items: center;
299
299
  justify-content: space-between;
300
300
  margin-right: var(--o-gap-4);
301
- @include respond-to('<=pad_v') {
301
+ @include respond('<=pad_v') {
302
302
  flex-direction: column;
303
303
  align-items: flex-start;
304
304
  }
@@ -317,7 +317,7 @@ const getIcon = (item: CalendarItemT) => {
317
317
  justify-content: center;
318
318
  margin-right: var(--o-gap-4);
319
319
  background-color: rgb(var(--bg-color));
320
- @include respond-to('<=pad_v') {
320
+ @include respond('<=pad_v') {
321
321
  margin-right: var(--o-gap-2);
322
322
  }
323
323
  }
@@ -325,10 +325,10 @@ const getIcon = (item: CalendarItemT) => {
325
325
  .o-icon {
326
326
  font-size: 20px;
327
327
  color: var(--o-white);
328
- @include respond-to('laptop') {
328
+ @include respond('laptop') {
329
329
  font-size: 16px;
330
330
  }
331
- @include respond-to('pad_h') {
331
+ @include respond('pad_h') {
332
332
  font-size: 16px;
333
333
  }
334
334
 
@@ -350,7 +350,7 @@ const getIcon = (item: CalendarItemT) => {
350
350
  color: var(--o-color-info3);
351
351
  white-space: normal;
352
352
  @include text1;
353
- @include respond-to('<=pad_v') {
353
+ @include respond('<=pad_v') {
354
354
  margin-top: var(--o-gap-1);
355
355
  font-size: 12px;
356
356
  }
@@ -364,7 +364,7 @@ const getIcon = (item: CalendarItemT) => {
364
364
  .month-content {
365
365
  padding: var(--o-gap-3) 0;
366
366
  position: relative;
367
- @include respond-to('pad_h') {
367
+ @include respond('pad_h') {
368
368
  padding: var(--o-gap-2) 0;
369
369
  }
370
370
  background-image: linear-gradient(
@@ -446,7 +446,7 @@ const getIcon = (item: CalendarItemT) => {
446
446
  );
447
447
 
448
448
  --event-gap: 6px;
449
- @include respond-to('pad_h') {
449
+ @include respond('pad_h') {
450
450
  --event-gap: var(--o-gap-1);
451
451
  }
452
452
  // 跨月事件布局:Grid
@@ -507,7 +507,7 @@ const getIcon = (item: CalendarItemT) => {
507
507
  --link-gap: 2px;
508
508
  display: flex;
509
509
  @include tip1;
510
- @include respond-to('pad_v') {
510
+ @include respond('pad_v') {
511
511
  color: var(--o-color-info1);
512
512
  }
513
513
 
@@ -549,7 +549,7 @@ const getIcon = (item: CalendarItemT) => {
549
549
  color: var(--o-color-info2);
550
550
  font-weight: 400;
551
551
  @include tip1;
552
- @include respond-to('<=pad_v') {
552
+ @include respond('<=pad_v') {
553
553
  @include text2;
554
554
  }
555
555
  }
@@ -196,7 +196,7 @@ const list = computed(() => {
196
196
  padding: var(--o-gap-5) var(--o-gap-6);
197
197
  gap: var(--o-gap-3) var(--o-gap-2);
198
198
  @include text1;
199
- @include respond-to('<=pad_v') {
199
+ @include respond('<=pad_v') {
200
200
  padding: var(--o-gap-3) var(--o-gap-4);
201
201
  }
202
202
 
@@ -210,10 +210,10 @@ const list = computed(() => {
210
210
  flex-shrink: 0;
211
211
  margin-right: var(--o-gap-5);
212
212
  font-weight: 500;
213
- @include respond-to('pad_v') {
213
+ @include respond('pad_v') {
214
214
  margin-right: var(--o-gap-4);
215
215
  }
216
- @include respond-to('phone') {
216
+ @include respond('phone') {
217
217
  margin-right: var(--o-gap-4);
218
218
  }
219
219
  }
@@ -236,7 +236,7 @@ const list = computed(() => {
236
236
  .o-input {
237
237
  .o-icon-search {
238
238
  font-size: 24px;
239
- @include respond-to('<=pad_v') {
239
+ @include respond('<=pad_v') {
240
240
  font-size: 16px;
241
241
  }
242
242
  }
@@ -247,15 +247,15 @@ const list = computed(() => {
247
247
  grid-template-columns: repeat(4, 1fr);
248
248
  gap: var(--o-gap-6);
249
249
  margin-top: var(--o-gap-6);
250
- @include respond-to('<=pad_v') {
250
+ @include respond('<=pad_v') {
251
251
  grid-template-columns: repeat(1, 1fr);
252
252
  container-type: inline-size;
253
253
  }
254
- @include respond-to('pad_v') {
254
+ @include respond('pad_v') {
255
255
  margin-top: var(--o-gap-4);
256
256
  gap: var(--o-gap-3);
257
257
  }
258
- @include respond-to('phone') {
258
+ @include respond('phone') {
259
259
  margin-top: var(--o-gap-4);
260
260
  gap: var(--o-gap-3);
261
261
  }
@@ -263,7 +263,7 @@ const list = computed(() => {
263
263
  .o-card {
264
264
  aspect-ratio: 1 / 1;
265
265
  position: relative;
266
- @include respond-to('<=pad_v') {
266
+ @include respond('<=pad_v') {
267
267
  aspect-ratio: 1 / 0.4;
268
268
  }
269
269
  @container (max-width: 300px) {
@@ -301,10 +301,10 @@ const list = computed(() => {
301
301
  text-align: center;
302
302
  padding: var(--o-gap-6);
303
303
 
304
- @include respond-to('pad_v') {
304
+ @include respond('pad_v') {
305
305
  margin-top: var(--o-gap-4);
306
306
  }
307
- @include respond-to('phone') {
307
+ @include respond('phone') {
308
308
  margin-top: var(--o-gap-4);
309
309
  }
310
310
 
@@ -317,7 +317,7 @@ const list = computed(() => {
317
317
  top: var(--o-gap-3);
318
318
  right: var(--o-gap-3);
319
319
  border-radius: var(--o-radius-xs);
320
- @include respond-to('<=pad_v') {
320
+ @include respond('<=pad_v') {
321
321
  --tag-padding: var(--o-gap-1);
322
322
  }
323
323
  }
@@ -328,10 +328,10 @@ const list = computed(() => {
328
328
  height: 3lh; // 3倍行高
329
329
  @include h2;
330
330
  @include text-truncate(3);
331
- @include respond-to('pad_v') {
331
+ @include respond('pad_v') {
332
332
  @include h1;
333
333
  }
334
- @include respond-to('phone') {
334
+ @include respond('phone') {
335
335
  height: 2lh;
336
336
  @include text-truncate(2);
337
337
  }
@@ -349,13 +349,13 @@ const list = computed(() => {
349
349
  }
350
350
 
351
351
  @include text1;
352
- @include respond-to('pad_v') {
352
+ @include respond('pad_v') {
353
353
  margin-top: var(--o-gap-2);
354
354
  }
355
- @include respond-to('phone') {
355
+ @include respond('phone') {
356
356
  margin-top: var(--o-gap-2);
357
357
  }
358
- @include respond-to('<=pad_v') {
358
+ @include respond('<=pad_v') {
359
359
  display: flex;
360
360
  align-items: center;
361
361
  .o-divider {
@@ -149,9 +149,9 @@ const handleMouseleaveSub = (val: string) => {
149
149
  }
150
150
 
151
151
  .header-wrap-dark {
152
- box-shadow: 0 3px 9px 0 rgba(var(--o-mixedgray-4), 0.08);
152
+ box-shadow: 0 3px 9px 0 rgba(var(--o-grey-4), 0.08);
153
153
  .header-nav-content {
154
- box-shadow: 0 3px 9px 0 rgba(var(--o-mixedgray-4), 0.08);
154
+ box-shadow: 0 3px 9px 0 rgba(var(--o-grey-4), 0.08);
155
155
  }
156
156
  }
157
157
  </style>