@opendesign-plus-test/components 0.0.1-rc.42 → 0.0.1-rc.45

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 (109) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +132 -112
  3. package/dist/components/OHeaderSearch.vue.d.ts +824 -506
  4. package/dist/components/OSourceCode.vue.d.ts +4 -6
  5. package/dist/components/activity/OActivityApproval.vue.d.ts +6 -10
  6. package/dist/components/activity/OActivityForm.vue.d.ts +3 -5
  7. package/dist/components/activity/OMyActivityCalendar.vue.d.ts +100 -46
  8. package/dist/components/activity/index.d.ts +56 -33
  9. package/dist/components/activity/types.d.ts +8 -1
  10. package/dist/components/events/config.d.ts +5 -18
  11. package/dist/components/events/types.d.ts +4 -1
  12. package/dist/components/header/OHeaderMobile.vue.d.ts +18 -11
  13. package/dist/components/header/components/HeaderNavMobile.vue.d.ts +4 -1
  14. package/dist/components/header/index.d.ts +12 -5
  15. package/dist/components/header/types.d.ts +4 -0
  16. package/dist/components/meeting/OMeetingCalendar.vue.d.ts +8 -12
  17. package/dist/components/meeting/OMeetingForm.vue.d.ts +3 -5
  18. package/dist/components/meeting/OMeetingPlayback.vue.d.ts +45 -0
  19. package/dist/components/meeting/OMyMeetingCalendar.vue.d.ts +100 -46
  20. package/dist/components/meeting/components/OMeetingCalendarList.vue.d.ts +1 -1
  21. package/dist/components/meeting/index.d.ts +817 -0
  22. package/dist/components/meeting/types.d.ts +82 -17
  23. package/dist/components/meeting/utils.d.ts +1 -1
  24. package/dist/components/search/OSearchInput.vue.d.ts +1003 -0
  25. package/dist/components/search/composables/useImageSearch.d.ts +48 -0
  26. package/dist/components/search/composables/useKeywordHighlight.d.ts +2 -0
  27. package/dist/components/search/composables/useSearchHistory.d.ts +14 -0
  28. package/dist/components/search/index.d.ts +590 -0
  29. package/dist/components/search/internal/HighlightText.vue.d.ts +9 -0
  30. package/dist/components/search/internal/SearchImageInput.vue.d.ts +716 -0
  31. package/dist/components/search/internal/SearchPanel.vue.d.ts +100 -0
  32. package/dist/components/search/types.d.ts +20 -0
  33. package/dist/components.cjs.js +43 -43
  34. package/dist/components.css +1 -1
  35. package/dist/components.es.js +11681 -10636
  36. package/dist/index.d.ts +1 -0
  37. package/package.json +3 -3
  38. package/src/assets/svg-icons/icon-delete-hover.svg +4 -0
  39. package/src/assets/svg-icons/icon-delete.svg +5 -1
  40. package/src/assets/svg-icons/icon-image-close.svg +4 -0
  41. package/src/assets/svg-icons/icon-image-upload.svg +3 -0
  42. package/src/assets/svg-icons/icon-image-zoomin.svg +3 -0
  43. package/src/assets/svg-icons/icon-refresh.svg +3 -0
  44. package/src/components/OBanner.vue +18 -18
  45. package/src/components/OCookieNotice.vue +21 -21
  46. package/src/components/OFooter.vue +18 -17
  47. package/src/components/OHeaderSearch.vue +402 -420
  48. package/src/components/OHeaderUser.vue +3 -2
  49. package/src/components/OSection.vue +4 -4
  50. package/src/components/OSourceCode.vue +8 -10
  51. package/src/components/activity/OActivityApproval.vue +32 -32
  52. package/src/components/activity/OActivityForm.vue +5 -5
  53. package/src/components/activity/OMyActivityCalendar.vue +66 -50
  54. package/src/components/activity/config.ts +1 -1
  55. package/src/components/activity/types.ts +8 -1
  56. package/src/components/common/ContentWrapper.vue +3 -3
  57. package/src/components/common/MoreText.vue +1 -1
  58. package/src/components/common/ThFilter.vue +7 -7
  59. package/src/components/element-plus/OElCookieNotice.vue +27 -27
  60. package/src/components/events/OEventsApply.vue +44 -44
  61. package/src/components/events/OEventsCalendar.vue +14 -14
  62. package/src/components/events/OEventsList.vue +53 -26
  63. package/src/components/events/config.ts +1 -1
  64. package/src/components/events/types.ts +4 -1
  65. package/src/components/header/OHeader.vue +2 -2
  66. package/src/components/header/OHeaderMobile.vue +8 -1
  67. package/src/components/header/components/HeaderContent.vue +67 -63
  68. package/src/components/header/components/HeaderNav.vue +4 -4
  69. package/src/components/header/components/HeaderNavMobile.vue +8 -5
  70. package/src/components/header/types.ts +4 -0
  71. package/src/components/meeting/OMeetingCalendar.vue +66 -54
  72. package/src/components/meeting/OMeetingForm.vue +70 -51
  73. package/src/components/meeting/OMeetingPlayback.vue +8 -8
  74. package/src/components/meeting/OMyMeetingCalendar.vue +56 -45
  75. package/src/components/meeting/OSigMeetingCalendar.vue +31 -28
  76. package/src/components/meeting/components/OMeetingCalendarList.vue +31 -26
  77. package/src/components/meeting/components/OMeetingCalendarSelector.vue +10 -6
  78. package/src/components/meeting/components/OMeetingDetail.vue +32 -18
  79. package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +1 -1
  80. package/src/components/meeting/components/OMeetingPlaybackVideo.vue +12 -12
  81. package/src/components/meeting/components/OSigMeetingAside.vue +8 -9
  82. package/src/components/meeting/types.ts +88 -17
  83. package/src/components/search/OSearchInput.vue +463 -0
  84. package/src/components/search/composables/useImageSearch.ts +157 -0
  85. package/src/components/search/composables/useKeywordHighlight.ts +30 -0
  86. package/src/components/search/composables/useSearchHistory.ts +75 -0
  87. package/src/components/search/index.ts +23 -0
  88. package/src/components/search/internal/HighlightText.vue +37 -0
  89. package/src/components/search/internal/SearchImageInput.vue +488 -0
  90. package/src/components/search/internal/SearchPanel.vue +430 -0
  91. package/src/components/search/types.ts +25 -0
  92. package/src/draft/Banner.vue +6 -6
  93. package/src/draft/ButtonCards.vue +1 -1
  94. package/src/draft/Feature.vue +6 -6
  95. package/src/draft/Footer.vue +29 -22
  96. package/src/draft/HorizontalAnchor.vue +4 -4
  97. package/src/draft/ItemSwiper.vue +2 -2
  98. package/src/draft/Logo.vue +3 -3
  99. package/src/draft/LogoCard.vue +2 -2
  100. package/src/draft/MultiCard.vue +1 -1
  101. package/src/draft/MultiIconCard.vue +1 -1
  102. package/src/draft/OInfoCard.vue +4 -4
  103. package/src/draft/Section.vue +4 -4
  104. package/src/draft/SingleTabCard.vue +1 -1
  105. package/src/draft/SliderCard.vue +4 -3
  106. package/src/i18n/en.ts +10 -0
  107. package/src/i18n/zh.ts +10 -0
  108. package/src/index.ts +1 -0
  109. package/vite.config.ts +4 -3
@@ -19,7 +19,14 @@ import IconSummit from '~icons/meeting/icon-summit.svg';
19
19
  import IconMeeting from '~icons/meeting/icon-meet.svg';
20
20
  import { Locales } from '@/i18n';
21
21
  import { useMeetingConfig } from './composables/useMeetingConfig';
22
- import { CalendarDataType, MeetingCalendarPropsT, MeetingGroupType } from './types.ts';
22
+ import {
23
+ CalendarDataType,
24
+ MeetingEventsItemT,
25
+ MeetingCalendarPropsT,
26
+ MeetingGroupType, MeetingItemT,
27
+ meetingTabT,
28
+ SummitItemT,
29
+ } from './types.ts';
23
30
  import { formatDate } from './utils.ts';
24
31
  import { useDebounceFn } from '@vueuse/core';
25
32
 
@@ -35,16 +42,16 @@ const { t, locale, meetingTabs, getConfig } = useMeetingConfig();
35
42
  const isEn = computed(() => locale.value === Locales.EN);
36
43
 
37
44
  const latestDay = ref<string>('');
38
- const dateList = ref([]);
39
- const summitData = ref([]);
40
- const summitDates = ref([]);
41
- const eventsData = ref([]);
42
- const eventsDates = ref([]);
45
+ const dateList = ref<string[]>([]);
46
+ const summitData = ref<SummitItemT[]>([]);
47
+ const summitDates = ref<string[]>([]);
48
+ const eventsData = ref<MeetingEventsItemT[]>([]);
49
+ const eventsDates = ref<string[]>([]);
43
50
  const allDates = ref<string[]>([]);
44
- const meetingData = ref([]);
51
+ const meetingData = ref<MeetingItemT[]>([]);
45
52
  const limitTime = '2021-01-01';
46
- const tabType = ref(CalendarDataType.ALL);
47
- const tabs = computed(() => {
53
+ const tabType = ref<CalendarDataType>(CalendarDataType.ALL);
54
+ const tabs = computed<meetingTabT[]>(() => {
48
55
  let list = meetingTabs.value;
49
56
  if (props.hiddenEvents) {
50
57
  list = list.filter((item) => item.value !== CalendarDataType.EVENTS);
@@ -68,24 +75,25 @@ const currentDay = ref('');
68
75
  const isAutoClick = ref(false);
69
76
  // sig组列表
70
77
  const group = ref('');
71
- const getSummitData = async (date) => {
78
+ const getSummitData = async (date: string) => {
72
79
  if (props.getSummitListRequest) {
73
80
  const list = await props.getSummitListRequest(date);
74
- summitData.value = (list || []).map(v => {
81
+ summitData.value = (list || []).map((v: SummitItemT) => {
75
82
  return {
76
-
77
83
  ...v,
78
84
  type: CalendarDataType.SUMMIT,
85
+ start_date_time: `${ formatDate(v.start_date) } ${ v.start }`,
86
+ end_date_time: `${ formatDate(v.end_date) } ${ v.end }`,
79
87
  };
80
88
  });
81
89
  } else {
82
90
  summitData.value = [];
83
91
  }
84
92
  };
85
- const getActivityData = async (date) => {
93
+ const getActivityData = async (date: string) => {
86
94
  if (props.getEventsListRequest) {
87
95
  const list = await props.getEventsListRequest(date);
88
- eventsData.value = (list || []).map(v => {
96
+ eventsData.value = (list || []).map((v: MeetingEventsItemT) => {
89
97
  return {
90
98
  ...v,
91
99
  type: CalendarDataType.EVENTS,
@@ -98,19 +106,19 @@ const getActivityData = async (date) => {
98
106
  }
99
107
  };
100
108
 
101
- const getDateList = async (date) => {
109
+ const getDateList = async (date: string) => {
102
110
  if (props.getDateListRequest) {
103
- props.getDateListRequest(date, group.value || '').then(res => {
111
+ props.getDateListRequest(date, group.value || '').then((res: string[]) => {
104
112
  dateList.value = res;
105
113
  });
106
114
  }
107
115
  if (props.getEventsDatesRequest) {
108
- props.getEventsDatesRequest(date).then(res => {
116
+ props.getEventsDatesRequest(date).then((res: string[]) => {
109
117
  eventsDates.value = res;
110
118
  });
111
119
  }
112
120
  if (props.getSummitDatesRequest) {
113
- props.getSummitDatesRequest(date).then(res => {
121
+ props.getSummitDatesRequest(date).then((res: string[]) => {
114
122
  summitDates.value = res;
115
123
  });
116
124
  }
@@ -124,12 +132,12 @@ const paramGetDaysData = async (params: { date: string; type: string }) => {
124
132
  return;
125
133
  }
126
134
  try {
127
- const res = await props.getMeetingListRequest(params.date, group.value, '');
135
+ const res: MeetingItemT[] = await props.getMeetingListRequest(params.date, group.value, '');
128
136
  meetingData.value = res.map((v) => {
129
137
  return {
130
138
  ...v,
131
139
  time: `${ v.start }-${ v.end }`,
132
- type: 'meeting',
140
+ type: CalendarDataType.MEETING,
133
141
  date: v.date || params.date,
134
142
  };
135
143
  }).sort((a: any, b: any) => {
@@ -146,7 +154,7 @@ const renderData = computed(() => {
146
154
  ...eventsData.value.filter(v => (!dayjs(v.start_date).isAfter(dayjs(currentDay.value)) && !dayjs(currentDay.value).isAfter(dayjs(v.end_date))) || v.dates?.includes(currentDay.value)),
147
155
  ...summitData.value.filter(v => v.dates?.includes(currentDay.value)),
148
156
  ].filter((v) => {
149
- if (tabType.value === 'all') {
157
+ if (tabType.value === CalendarDataType.ALL) {
150
158
  return true;
151
159
  }
152
160
  return v.type === tabType.value;
@@ -228,13 +236,17 @@ const watchChange = (element: HTMLElement) => {
228
236
  });
229
237
  };
230
238
 
231
- onMounted(() => {
239
+ const getCalendarHeight = async () => {
232
240
  // 设置右侧 日程列表高度
233
241
  const tbody = document.querySelector('.calendar-body .el-calendar__body') as HTMLElement;
234
242
  if (tbody) {
235
243
  watchChange(tbody);
236
244
  calendarHeight.value = `${ tbody.offsetHeight - 2 }px`;
237
245
  }
246
+ };
247
+
248
+ onMounted(() => {
249
+ getCalendarHeight();
238
250
  getDateData();
239
251
  });
240
252
 
@@ -374,8 +386,10 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
374
386
  </div>
375
387
 
376
388
  <div>
377
- <OScroller class="meeting-list" show-type="hover" size="small">
378
- <OMeetingCalendarList :list="renderData" :groupType="groupType">
389
+ <OScroller class="meeting-list" show-type="hover" size="small" :style="{
390
+ '--height': calendarHeight
391
+ }">
392
+ <OMeetingCalendarList :list="renderData as unknown as MeetingItemT[]" :groupType="groupType">
379
393
  <template #empty>
380
394
  <slot name="empty"></slot>
381
395
  </template>
@@ -406,7 +420,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
406
420
  border-radius: var(--o-radius-xs);
407
421
  background-color: var(--o-color-fill2);
408
422
  overflow: hidden;
409
- @include respond-to('<=pad_v') {
423
+ @include respond('<=pad_v') {
410
424
  background-color: transparent;
411
425
  flex-direction: column;
412
426
  }
@@ -415,7 +429,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
415
429
  width: 56%;
416
430
  --el-calendar-borde: none;
417
431
  --el-calendar-selected-bg-color: none;
418
- @include respond-to('<=pad_v') {
432
+ @include respond('<=pad_v') {
419
433
  width: 100%;
420
434
  flex-direction: column;
421
435
  background-color: var(--o-color-fill2);
@@ -431,7 +445,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
431
445
  gap: var(--o-gap-6);
432
446
  border-bottom: 1px solid var(--o-color-control4);
433
447
  background: var(--o-color-fill2);
434
- @include respond-to('<=pad_v') {
448
+ @include respond('<=pad_v') {
435
449
  justify-content: center;
436
450
  border-bottom: none;
437
451
  height: 52px;
@@ -445,7 +459,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
445
459
 
446
460
  .o-select {
447
461
  max-width: 240px;
448
- @include respond-to('<=pad_v') {
462
+ @include respond('<=pad_v') {
449
463
  display: none;
450
464
  }
451
465
  }
@@ -457,7 +471,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
457
471
  flex-shrink: 0;
458
472
  color: var(--o-color-info1);
459
473
  @include text2;
460
- @include respond-to('<=pad_v') {
474
+ @include respond('<=pad_v') {
461
475
  @include h3;
462
476
  }
463
477
 
@@ -478,7 +492,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
478
492
  color: var(--o-color-info2);
479
493
  word-break: keep-all;
480
494
  @include text2;
481
- @include respond-to('<=pad_v') {
495
+ @include respond('<=pad_v') {
482
496
  display: none;
483
497
  }
484
498
  }
@@ -498,7 +512,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
498
512
  background: none;
499
513
  border: none;
500
514
  @include text1;
501
- @include respond-to('<=pad_v') {
515
+ @include respond('<=pad_v') {
502
516
  padding: 0;
503
517
  text-align: center;
504
518
  }
@@ -522,7 +536,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
522
536
  }
523
537
  }
524
538
 
525
- @include respond-to('<=pad_v') {
539
+ @include respond('<=pad_v') {
526
540
  border: none;
527
541
  padding: 0 16px 16px;
528
542
  thead {
@@ -561,7 +575,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
561
575
  margin-bottom: var(--o-gap-2);
562
576
  height: 64px;
563
577
  color: var(--o-color-info1);
564
- @include respond-to('<=pad_v') {
578
+ @include respond('<=pad_v') {
565
579
  display: flex;
566
580
  justify-content: center;
567
581
  padding: 0;
@@ -579,7 +593,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
579
593
  @include tip1;
580
594
  @include hover {
581
595
  background-color: var(--o-color-control3-light);
582
- @include respond-to('<=pad_v') {
596
+ @include respond('<=pad_v') {
583
597
  @include hover {
584
598
  background-color: inherit;
585
599
  border: 1px solid transparent;
@@ -610,7 +624,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
610
624
  font-size: 12px;
611
625
  margin-left: -4px;
612
626
  margin-top: 0;
613
- @include respond-to('<=pad_v') {
627
+ @include respond('<=pad_v') {
614
628
  height: 6px;
615
629
  width: 6px;
616
630
  margin-left: -2px;
@@ -628,7 +642,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
628
642
  }
629
643
  }
630
644
 
631
- @include respond-to('<=pad_v') {
645
+ @include respond('<=pad_v') {
632
646
  background-color: transparent;
633
647
  padding: 0;
634
648
  margin: 6px 8px;
@@ -683,7 +697,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
683
697
  .out-box {
684
698
  background-color: var(--o-color-control3-light);
685
699
  border: 1px solid var(--o-color-primary1);
686
- @include respond-to('<=pad_v') {
700
+ @include respond('<=pad_v') {
687
701
  background-color: transparent;
688
702
  border: 1px solid transparent;
689
703
  .date-calender {
@@ -720,7 +734,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
720
734
  border-radius: 50%;
721
735
  }
722
736
 
723
- @include respond-to('<=pad_v') {
737
+ @include respond('<=pad_v') {
724
738
  height: auto;
725
739
  width: auto;
726
740
  &::after {
@@ -743,14 +757,14 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
743
757
  width: 44%;
744
758
 
745
759
 
746
- @include respond-to('<=pad_v') {
760
+ @include respond('<=pad_v') {
747
761
  margin-top: 12px;
748
762
  padding-top: 16px;
749
763
  background-color: var(--o-color-fill2);
750
764
  width: 100%;
751
765
  border-radius: var(--o-radius-xs);
752
766
  }
753
- @include respond-to('phone') {
767
+ @include respond('phone') {
754
768
 
755
769
  margin-top: 16px;
756
770
  padding-top: 12px;
@@ -758,10 +772,10 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
758
772
 
759
773
  .current-day {
760
774
  color: var(--o-color-info2);
761
- @include respond-to('>pad_v') {
775
+ @include respond('>pad_v') {
762
776
  display: none;
763
777
  }
764
- @include respond-to('<=pad_v') {
778
+ @include respond('<=pad_v') {
765
779
  display: flex;
766
780
  margin: 16px 16px 12px;
767
781
  padding: 7px 12px;
@@ -780,14 +794,14 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
780
794
  position: relative;
781
795
  height: 60px;
782
796
 
783
- @include respond-to('<=pad_v') {
797
+ @include respond('<=pad_v') {
784
798
  justify-content: space-between;
785
799
  padding: 0 16px;
786
800
  gap: 24px;
787
801
  height: auto;
788
802
  align-items: flex-start;
789
803
  }
790
- @include respond-to('phone') {
804
+ @include respond('phone') {
791
805
  flex-direction: column;
792
806
  align-items: center;
793
807
  gap: 8px;
@@ -805,10 +819,10 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
805
819
 
806
820
  .o-select {
807
821
  display: none;
808
- @include respond-to('<=pad_v') {
822
+ @include respond('<=pad_v') {
809
823
  display: inline-flex;
810
824
  }
811
- @include respond-to('phone') {
825
+ @include respond('phone') {
812
826
  display: flex;
813
827
  width: 100%;
814
828
  max-width: 100%;
@@ -831,10 +845,10 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
831
845
  }
832
846
  }
833
847
 
834
- @include respond-to('pad_v-laptop') {
848
+ @include respond('pad_v-laptop') {
835
849
  --tab-nav-padding: 0 0 14px;
836
850
  }
837
- @include respond-to('<=pad_v') {
851
+ @include respond('<=pad_v') {
838
852
  border-bottom: none;
839
853
  height: auto;
840
854
  .o-icon {
@@ -848,7 +862,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
848
862
  }
849
863
  }
850
864
  }
851
- @include respond-to('phone') {
865
+ @include respond('phone') {
852
866
  .o-tab-navs-wrap {
853
867
  height: auto;
854
868
  }
@@ -857,7 +871,7 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
857
871
  .o-tab-nav-anchor {
858
872
  .o-tab-nav-anchor-line {
859
873
  width: 100%;
860
- @include respond-to('<=pad_v') {
874
+ @include respond('<=pad_v') {
861
875
  width: 16px;
862
876
  }
863
877
  }
@@ -866,13 +880,11 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
866
880
  }
867
881
 
868
882
  .meeting-list {
869
- height: v-bind('calendarHeight');
870
- @include respond-to('<=pad_v') {
883
+ height: var(--height);
884
+ @include respond('<=pad_v') {
871
885
  height: auto;
872
886
  }
873
887
  }
874
-
875
888
  }
876
-
877
889
  }
878
890
  </style>