@opendesign-plus-test/components 0.0.1-rc.121 → 0.0.1-rc.123

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 (61) hide show
  1. package/dist/components/header/OHeaderMobile.vue.d.ts +10 -7
  2. package/dist/components/header/index.d.ts +5 -0
  3. package/dist/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +9 -0
  4. package/dist/components/header-language-switcher/index.d.ts +15 -0
  5. package/dist/components/header-source-code/OHeaderSourceCode.vue.d.ts +2 -0
  6. package/dist/components/header-source-code/index.d.ts +3 -0
  7. package/dist/components/header-user/OHeaderUser.vue.d.ts +3 -0
  8. package/dist/components/header-user/index.d.ts +6 -0
  9. package/dist/components/meeting/OMeetingCalendar.vue.d.ts +2 -0
  10. package/dist/components/meeting/OMeetingSigCalendar.vue.d.ts +6 -2
  11. package/dist/components/meeting/index.d.ts +4 -1
  12. package/dist/components.cjs.js +37 -37
  13. package/dist/components.css +1 -1
  14. package/dist/components.es.js +9625 -9571
  15. package/dist/treeshaking/components/common/AppAvatar.css +5 -5
  16. package/dist/treeshaking/components/common/AppAvatar.vue.mjs +1 -1
  17. package/dist/treeshaking/components/common/AppAvatar.vue2.mjs +3 -3
  18. package/dist/treeshaking/components/common/TooltipText.vue.mjs +8 -0
  19. package/dist/treeshaking/components/events/OEventsList.css +5 -0
  20. package/dist/treeshaking/components/header/OHeader.css +15 -15
  21. package/dist/treeshaking/components/header/OHeader.vue.mjs +1 -1
  22. package/dist/treeshaking/components/header/OHeader.vue2.mjs +17 -1
  23. package/dist/treeshaking/components/header/OHeaderMobile.css +19 -19
  24. package/dist/treeshaking/components/header/OHeaderMobile.vue.d.ts +10 -7
  25. package/dist/treeshaking/components/header/OHeaderMobile.vue.mjs +1 -1
  26. package/dist/treeshaking/components/header/OHeaderMobile.vue2.mjs +3 -2
  27. package/dist/treeshaking/components/header/components/HeaderContent.css +184 -184
  28. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
  29. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +9 -5
  30. package/dist/treeshaking/components/header/components/HeaderNav.css +49 -49
  31. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +1 -1
  32. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +11 -9
  33. package/dist/treeshaking/components/header/index.d.ts +5 -0
  34. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.css +27 -63
  35. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +9 -0
  36. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.mjs +1 -1
  37. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue2.mjs +8 -4
  38. package/dist/treeshaking/components/header-language-switcher/index.d.ts +15 -0
  39. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.css +29 -41
  40. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.d.ts +2 -0
  41. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.mjs +1 -1
  42. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue2.mjs +3 -3
  43. package/dist/treeshaking/components/header-source-code/index.d.ts +3 -0
  44. package/dist/treeshaking/components/header-user/OHeaderUser.css +55 -38
  45. package/dist/treeshaking/components/header-user/OHeaderUser.vue.d.ts +3 -0
  46. package/dist/treeshaking/components/header-user/OHeaderUser.vue.mjs +1 -1
  47. package/dist/treeshaking/components/header-user/OHeaderUser.vue2.mjs +7 -5
  48. package/dist/treeshaking/components/header-user/OHeaderUser2.css +0 -18
  49. package/dist/treeshaking/components/header-user/index.d.ts +6 -0
  50. package/dist/treeshaking/components/meeting/OMeetingCalendar.css +88 -0
  51. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.d.ts +2 -0
  52. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.mjs +60 -30
  53. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +6 -0
  54. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.d.ts +6 -2
  55. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +46 -17
  56. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.css +28 -0
  57. package/dist/treeshaking/components/meeting/components/OMeetingDetail.css +38 -2
  58. package/dist/treeshaking/components/meeting/index.d.ts +4 -1
  59. package/dist/treeshaking/components/search/internal/SearchImageInput.css +48 -45
  60. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.mjs +1 -1
  61. package/package.json +3 -3
@@ -377,6 +377,26 @@
377
377
  border-bottom: 1px solid var(--o-color-control4);
378
378
  background: var(--o-color-fill2);
379
379
  }
380
+ @media (min-width: 1201px) and (max-width: 1680px) {
381
+ .o-meeting-calendar .calendar-body .calender .el-calendar__header {
382
+ padding: 0 var(--o-gap-5);
383
+ }
384
+ }
385
+ @media (min-width: 841px) and (max-width: 1200px) {
386
+ .o-meeting-calendar .calendar-body .calender .el-calendar__header {
387
+ padding: 0 var(--o-gap-4);
388
+ }
389
+ }
390
+ @media (min-width: 601px) and (max-width: 840px) {
391
+ .o-meeting-calendar .calendar-body .calender .el-calendar__header {
392
+ padding: 0 var(--o-gap-4);
393
+ }
394
+ }
395
+ @media (max-width: 600px) {
396
+ .o-meeting-calendar .calendar-body .calender .el-calendar__header {
397
+ padding: 0 var(--o-gap-4);
398
+ }
399
+ }
380
400
  @media (max-width: 840px) {
381
401
  .o-meeting-calendar .calendar-body .calender .el-calendar__header {
382
402
  justify-content: center;
@@ -516,6 +536,26 @@
516
536
  margin-bottom: 0;
517
537
  background: var(--o-color-fill2);
518
538
  }
539
+ @media (min-width: 1201px) and (max-width: 1680px) {
540
+ .o-meeting-calendar .calendar-body .calender .el-calendar__body {
541
+ padding: 0 var(--o-gap-5) var(--o-gap-5);
542
+ }
543
+ }
544
+ @media (min-width: 841px) and (max-width: 1200px) {
545
+ .o-meeting-calendar .calendar-body .calender .el-calendar__body {
546
+ padding: 0 var(--o-gap-4) var(--o-gap-4);
547
+ }
548
+ }
549
+ @media (min-width: 601px) and (max-width: 840px) {
550
+ .o-meeting-calendar .calendar-body .calender .el-calendar__body {
551
+ padding: 0 var(--o-gap-4) var(--o-gap-4);
552
+ }
553
+ }
554
+ @media (max-width: 600px) {
555
+ .o-meeting-calendar .calendar-body .calender .el-calendar__body {
556
+ padding: 0 var(--o-gap-4) var(--o-gap-4);
557
+ }
558
+ }
519
559
  .o-meeting-calendar .calendar-body .calender .el-calendar__body thead th {
520
560
  padding: var(--o-gap-4) var(--o-gap-3);
521
561
  text-align: left;
@@ -938,6 +978,7 @@
938
978
  @media (max-width: 600px) {
939
979
  .o-meeting-calendar .calendar-body .detail-list .o-tab {
940
980
  --tab-nav-padding: 0 0 4px;
981
+ width: 100%;
941
982
  }
942
983
  }
943
984
  .o-meeting-calendar .calendar-body .detail-list .o-tab .o-icon svg path {
@@ -951,6 +992,53 @@
951
992
  width: 16px;
952
993
  }
953
994
  }
995
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container {
996
+ margin: 0 var(--o-gap-5);
997
+ }
998
+ @media (min-width: 841px) and (max-width: 1200px) {
999
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container {
1000
+ margin: 0 var(--o-gap-3);
1001
+ }
1002
+ }
1003
+ @media (min-width: 601px) and (max-width: 840px) {
1004
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container {
1005
+ margin: 0;
1006
+ }
1007
+ }
1008
+ @media (max-width: 600px) {
1009
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container {
1010
+ margin: 0;
1011
+ }
1012
+ }
1013
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container .o-tab-nav {
1014
+ --tab-nav-gap: var(--o-gap-6);
1015
+ }
1016
+ @media (min-width: 1201px) and (max-width: 1680px) {
1017
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container .o-tab-nav {
1018
+ --tab-nav-gap: var(--o-gap-5);
1019
+ }
1020
+ }
1021
+ @media (min-width: 841px) and (max-width: 1200px) {
1022
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container .o-tab-nav {
1023
+ --tab-nav-gap: var(--o-gap-4);
1024
+ }
1025
+ }
1026
+ @media (min-width: 601px) and (max-width: 840px) {
1027
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container .o-tab-nav {
1028
+ --tab-nav-gap: var(--o-gap-4);
1029
+ }
1030
+ }
1031
+ @media (max-width: 600px) {
1032
+ .o-meeting-calendar .calendar-body .detail-list .o-tab .o-tab-navs-container .o-tab-nav {
1033
+ --tab-nav-gap: var(--o-gap-4);
1034
+ }
1035
+ }
1036
+ .o-meeting-calendar .calendar-body .detail-list .o-tab.hide-icons .o-tab-nav-list .o-icon {
1037
+ display: none;
1038
+ }
1039
+ .o-meeting-calendar .calendar-body .detail-list .o-tab.measuring .o-tab-nav-list.width-measurement .o-icon {
1040
+ display: inline-flex;
1041
+ }
954
1042
  .o-meeting-calendar .calendar-body .meeting-list {
955
1043
  height: var(--height);
956
1044
  }
@@ -7,6 +7,7 @@ declare function __VLS_template(): {
7
7
  empty?(_: {}): any;
8
8
  };
9
9
  refs: {
10
+ rootRef: HTMLDivElement;
10
11
  calendar: ({
11
12
  $: import('vue').ComponentInternalInstance;
12
13
  $data: {};
@@ -159,6 +160,7 @@ declare const __VLS_component: import('vue').DefineComponent<MeetingCalendarProp
159
160
  groups: string[];
160
161
  showDesc: boolean;
161
162
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
163
+ rootRef: HTMLDivElement;
162
164
  calendar: ({
163
165
  $: import('vue').ComponentInternalInstance;
164
166
  $data: {};
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, ref, watch, onMounted, nextTick, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withCtx, createTextVNode, createCommentVNode, normalizeClass, createBlock, normalizeStyle, Fragment, renderList, resolveDynamicComponent, renderSlot } from "vue";
1
+ import { defineComponent, computed, ref, watch, onMounted, nextTick, onBeforeUnmount, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withCtx, createTextVNode, createCommentVNode, normalizeClass, createBlock, normalizeStyle, Fragment, renderList, resolveDynamicComponent, renderSlot } from "vue";
2
2
  import { isClient, OButton, OIcon, OIconChevronLeft, OIconChevronRight, OSelect, OOption, OTab, OTabPane, OScroller, OResult, OFigure } from "@opensig/opendesign";
3
3
  import dayjs from "dayjs";
4
4
  import { ElCalendar } from "element-plus";
@@ -14,23 +14,22 @@ import { useMeetingConfig } from "./composables/useMeetingConfig.mjs";
14
14
  import { MeetingGroupType, CalendarDataType } from "./types.mjs";
15
15
  import { formatDate } from "./utils.mjs";
16
16
  import { useDebounceFn } from "@vueuse/core";
17
- const _hoisted_1 = { class: "o-meeting-calendar" };
18
- const _hoisted_2 = {
17
+ const _hoisted_1 = {
19
18
  key: 0,
20
19
  class: "o-meeting-calendar-desc"
21
20
  };
22
- const _hoisted_3 = { class: "calendar-body" };
23
- const _hoisted_4 = { class: "calender-header-left" };
24
- const _hoisted_5 = { class: "left-title" };
25
- const _hoisted_6 = { class: "month-date" };
26
- const _hoisted_7 = { class: "right-title" };
27
- const _hoisted_8 = ["onClick"];
28
- const _hoisted_9 = { class: "day-box" };
29
- const _hoisted_10 = { class: "icon-box" };
30
- const _hoisted_11 = { class: "detail-list" };
31
- const _hoisted_12 = { class: "current-day" };
32
- const _hoisted_13 = { class: "right-title" };
33
- const _hoisted_14 = { class: "title-list" };
21
+ const _hoisted_2 = { class: "calendar-body" };
22
+ const _hoisted_3 = { class: "calender-header-left" };
23
+ const _hoisted_4 = { class: "left-title" };
24
+ const _hoisted_5 = { class: "month-date" };
25
+ const _hoisted_6 = { class: "right-title" };
26
+ const _hoisted_7 = ["onClick"];
27
+ const _hoisted_8 = { class: "day-box" };
28
+ const _hoisted_9 = { class: "icon-box" };
29
+ const _hoisted_10 = { class: "detail-list" };
30
+ const _hoisted_11 = { class: "current-day" };
31
+ const _hoisted_12 = { class: "right-title" };
32
+ const _hoisted_13 = { class: "title-list" };
34
33
  const limitTime = "2021-01-01";
35
34
  const _sfc_main = /* @__PURE__ */ defineComponent({
36
35
  __name: "OMeetingCalendar",
@@ -277,9 +276,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
277
276
  calendarHeight.value = `${tbody.offsetHeight - 2}px`;
278
277
  }
279
278
  };
279
+ const rootRef = ref(null);
280
+ let tabResizeObserver = null;
281
+ const evaluateTabIcons = useDebounceFn(() => {
282
+ const root = rootRef.value;
283
+ if (!root || !isClient) return;
284
+ const tabEl = root.querySelector(".o-tab");
285
+ if (!tabEl) return;
286
+ const containerEl = tabEl.querySelector(".o-tab-navs-container");
287
+ const measureEl = tabEl.querySelector(".o-tab-nav-list.width-measurement");
288
+ if (!containerEl || !measureEl) return;
289
+ const containerWidth = containerEl.getBoundingClientRect().width;
290
+ if (!containerWidth) return;
291
+ tabEl.classList.add("measuring");
292
+ const fullWidth = measureEl.getBoundingClientRect().width;
293
+ tabEl.classList.remove("measuring");
294
+ tabEl.classList.toggle("hide-icons", fullWidth > containerWidth);
295
+ }, 120);
280
296
  onMounted(() => {
281
297
  getCalendarHeight();
298
+ nextTick(evaluateTabIcons);
299
+ if (isClient && typeof ResizeObserver !== "undefined" && rootRef.value) {
300
+ tabResizeObserver = new ResizeObserver(() => evaluateTabIcons());
301
+ tabResizeObserver.observe(rootRef.value);
302
+ }
303
+ });
304
+ onBeforeUnmount(() => {
305
+ tabResizeObserver == null ? void 0 : tabResizeObserver.disconnect();
306
+ tabResizeObserver = null;
282
307
  });
308
+ watch(() => tabs.value, () => nextTick(evaluateTabIcons));
283
309
  const stopWatchData = watch(
284
310
  () => allDates.value.length,
285
311
  () => {
@@ -322,8 +348,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
322
348
  emits("create");
323
349
  };
324
350
  return (_ctx, _cache) => {
325
- return openBlock(), createElementBlock("div", _hoisted_1, [
326
- __props.showDesc ? (openBlock(), createElementBlock("div", _hoisted_2, [
351
+ return openBlock(), createElementBlock("div", {
352
+ ref_key: "rootRef",
353
+ ref: rootRef,
354
+ class: "o-meeting-calendar"
355
+ }, [
356
+ __props.showDesc ? (openBlock(), createElementBlock("div", _hoisted_1, [
327
357
  createElementVNode("span", null, toDisplayString(__props.groupType === unref(MeetingGroupType).GROUP ? unref(t)("meeting.meetingDescGroup") : unref(t)("meeting.meetingDesc")), 1),
328
358
  createVNode(unref(OButton), {
329
359
  color: "primary",
@@ -337,7 +367,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
337
367
  _: 1
338
368
  })
339
369
  ])) : createCommentVNode("", true),
340
- createElementVNode("div", _hoisted_3, [
370
+ createElementVNode("div", _hoisted_2, [
341
371
  createVNode(unref(ElCalendar), {
342
372
  ref_key: "calendar",
343
373
  ref: calendar,
@@ -346,8 +376,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
346
376
  header: withCtx(({ date }) => {
347
377
  var _a;
348
378
  return [
349
- createElementVNode("div", _hoisted_4, [
350
- createElementVNode("div", _hoisted_5, [
379
+ createElementVNode("div", _hoisted_3, [
380
+ createElementVNode("div", _hoisted_4, [
351
381
  createVNode(unref(OIcon), {
352
382
  onClick: ($event) => selectDate("prev-month", date)
353
383
  }, {
@@ -358,7 +388,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
358
388
  ]),
359
389
  _: 1
360
390
  }, 8, ["onClick"]),
361
- createElementVNode("span", _hoisted_6, toDisplayString(formatYearMonth(date)), 1),
391
+ createElementVNode("span", _hoisted_5, toDisplayString(formatYearMonth(date)), 1),
362
392
  createVNode(unref(OIcon), {
363
393
  onClick: ($event) => selectDate("next-month", date)
364
394
  }, {
@@ -392,7 +422,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
392
422
  _: 1
393
423
  }, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true)
394
424
  ]),
395
- createElementVNode("div", _hoisted_7, [
425
+ createElementVNode("div", _hoisted_6, [
396
426
  createElementVNode("span", null, toDisplayString(unref(t)("meeting.latestMeeting")) + " ", 1),
397
427
  createElementVNode("span", null, toDisplayString(unref(formatDate)(unref(dayjs)(latestDay.value))), 1)
398
428
  ])
@@ -403,11 +433,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
403
433
  class: normalizeClass(["out-box", { "has-calender": allDates.value.includes(data.day) }]),
404
434
  onClick: ($event) => unref(changeMeetingDay)(data.day, $event)
405
435
  }, [
406
- createElementVNode("div", _hoisted_9, [
436
+ createElementVNode("div", _hoisted_8, [
407
437
  createElementVNode("p", {
408
438
  class: normalizeClass([data.isSelected ? "is-selected" : "", "date-calender"])
409
439
  }, toDisplayString(removeLeadingZero(data.day.split("-").at(-1) || "")), 3),
410
- createElementVNode("div", _hoisted_10, [
440
+ createElementVNode("div", _hoisted_9, [
411
441
  checkSelectedDay(unref(CalendarDataType).MEETING, data.day) ? (openBlock(), createBlock(unref(OIcon), {
412
442
  key: 0,
413
443
  class: "meeting",
@@ -449,17 +479,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
449
479
  }, 8, ["style"])) : createCommentVNode("", true)
450
480
  ])
451
481
  ])
452
- ], 10, _hoisted_8)
482
+ ], 10, _hoisted_7)
453
483
  ]),
454
484
  _: 1
455
485
  }, 512),
456
- createElementVNode("div", _hoisted_11, [
457
- createElementVNode("div", _hoisted_12, [
486
+ createElementVNode("div", _hoisted_10, [
487
+ createElementVNode("div", _hoisted_11, [
458
488
  createTextVNode(toDisplayString(unref(t)("meeting.latestMeeting")) + "  ", 1),
459
489
  createElementVNode("span", null, toDisplayString(unref(formatDate)(unref(dayjs)(latestDay.value))), 1)
460
490
  ]),
461
- createElementVNode("div", _hoisted_13, [
462
- createElementVNode("div", _hoisted_14, [
491
+ createElementVNode("div", _hoisted_12, [
492
+ createElementVNode("div", _hoisted_13, [
463
493
  createVNode(unref(OSelect), {
464
494
  modelValue: group.value,
465
495
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => group.value = $event),
@@ -550,7 +580,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
550
580
  ])
551
581
  ])
552
582
  ])
553
- ]);
583
+ ], 512);
554
584
  };
555
585
  }
556
586
  });
@@ -152,6 +152,12 @@
152
152
  .o-sig-meeting-calendar .meeting-card-header .o-tab .o-tab-nav .o-icon svg path {
153
153
  fill: currentColor;
154
154
  }
155
+ .o-sig-meeting-calendar .meeting-card-header .o-tab.hide-icons .o-tab-nav-list .o-icon {
156
+ display: none;
157
+ }
158
+ .o-sig-meeting-calendar .meeting-card-header .o-tab.measuring .o-tab-nav-list.width-measurement .o-icon {
159
+ display: inline-flex;
160
+ }
155
161
  .o-sig-meeting-calendar .el-input__prefix {
156
162
  display: none;
157
163
  }
@@ -12,11 +12,15 @@ declare function __VLS_template(): {
12
12
  slots: {
13
13
  empty?(_: {}): any;
14
14
  };
15
- refs: {};
15
+ refs: {
16
+ rootRef: HTMLDivElement;
17
+ };
16
18
  rootEl: HTMLDivElement;
17
19
  };
18
20
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
22
+ rootRef: HTMLDivElement;
23
+ }, HTMLDivElement>;
20
24
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
25
  export default _default;
22
26
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,5 +1,5 @@
1
- import { defineComponent, ref, computed, watch, nextTick, onMounted, openBlock, createElementBlock, unref, createElementVNode, toDisplayString, createVNode, withCtx, createCommentVNode, Fragment, renderList, createBlock, resolveDynamicComponent, createTextVNode, renderSlot } from "vue";
2
- import { OPopover, OIcon, OTab, OTabPane, OSelect, OOption, ODivider, OScroller, OResult, OFigure } from "@opensig/opendesign";
1
+ import { defineComponent, ref, computed, watch, nextTick, onMounted, onBeforeUnmount, openBlock, createElementBlock, unref, createElementVNode, toDisplayString, createVNode, withCtx, createCommentVNode, Fragment, renderList, createBlock, resolveDynamicComponent, createTextVNode, renderSlot } from "vue";
2
+ import { isClient, OPopover, OIcon, OTab, OTabPane, OSelect, OOption, ODivider, OScroller, OResult, OFigure } from "@opensig/opendesign";
3
3
  import dayjs from "dayjs";
4
4
  import IconTips from "../../_virtual/icon-tips.mjs";
5
5
  import _sfc_main$1 from "./components/OMeetingSigAside.vue.mjs";
@@ -11,24 +11,21 @@ import _sfc_main$2 from "./components/OMeetingCalendarList.vue.mjs";
11
11
  import './components/OMeetingCalendarList.css';
12
12
  import { formatDate } from "./utils.mjs";
13
13
  import emptyDefaultImg from "../../assets/meeting/empty.png.mjs";
14
+ import { useDebounceFn } from "@vueuse/core";
14
15
  const _hoisted_1 = {
15
- class: "o-sig-meeting-calendar",
16
- style: { "--height": 400 }
17
- };
18
- const _hoisted_2 = {
19
16
  key: 0,
20
17
  class: "meeting-card-header"
21
18
  };
22
- const _hoisted_3 = {
19
+ const _hoisted_2 = {
23
20
  key: 0,
24
21
  class: "header-left"
25
22
  };
26
- const _hoisted_4 = {
23
+ const _hoisted_3 = {
27
24
  key: 1,
28
25
  class: "phone-filter-wrapper"
29
26
  };
30
- const _hoisted_5 = { class: "date-select" };
31
- const _hoisted_6 = { class: "meeting-card-content" };
27
+ const _hoisted_4 = { class: "date-select" };
28
+ const _hoisted_5 = { class: "meeting-card-content" };
32
29
  const _sfc_main = /* @__PURE__ */ defineComponent({
33
30
  __name: "OMeetingSigCalendar",
34
31
  props: {
@@ -183,9 +180,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
183
180
  const changeMonthIdx = (step) => {
184
181
  monthIdx.value += step;
185
182
  };
183
+ const rootRef = ref(null);
184
+ let tabResizeObserver = null;
185
+ const evaluateTabIcons = useDebounceFn(() => {
186
+ const root = rootRef.value;
187
+ if (!root || !isClient) return;
188
+ const tabEl = root.querySelector(".meeting-card-header .o-tab");
189
+ if (!tabEl) return;
190
+ const containerEl = tabEl.querySelector(".o-tab-navs-container");
191
+ const measureEl = tabEl.querySelector(".o-tab-nav-list.width-measurement");
192
+ if (!containerEl || !measureEl) return;
193
+ const containerWidth = containerEl.getBoundingClientRect().width;
194
+ if (!containerWidth) return;
195
+ tabEl.classList.add("measuring");
196
+ const fullWidth = measureEl.getBoundingClientRect().width;
197
+ tabEl.classList.remove("measuring");
198
+ tabEl.classList.toggle("hide-icons", fullWidth > containerWidth);
199
+ }, 120);
186
200
  onMounted(() => {
187
201
  getDates();
202
+ nextTick(evaluateTabIcons);
203
+ if (isClient && typeof ResizeObserver !== "undefined" && rootRef.value) {
204
+ tabResizeObserver = new ResizeObserver(() => evaluateTabIcons());
205
+ tabResizeObserver.observe(rootRef.value);
206
+ }
207
+ });
208
+ onBeforeUnmount(() => {
209
+ tabResizeObserver == null ? void 0 : tabResizeObserver.disconnect();
210
+ tabResizeObserver = null;
188
211
  });
212
+ watch(() => meetingTabs.value, () => nextTick(evaluateTabIcons));
189
213
  const list = computed(() => {
190
214
  let list2;
191
215
  if (tabType.value === CalendarDataType.ALL) {
@@ -200,9 +224,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
200
224
  return list2;
201
225
  });
202
226
  return (_ctx, _cache) => {
203
- return openBlock(), createElementBlock("div", _hoisted_1, [
204
- !unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_2, [
205
- latestDate.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
227
+ return openBlock(), createElementBlock("div", {
228
+ ref_key: "rootRef",
229
+ ref: rootRef,
230
+ class: "o-sig-meeting-calendar",
231
+ style: { "--height": 400 }
232
+ }, [
233
+ !unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_1, [
234
+ latestDate.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
206
235
  createElementVNode("span", null, toDisplayString(unref(t)("meeting.latestMeeting")), 1),
207
236
  createElementVNode("span", null, toDisplayString(unref(dayjs)(latestDate.value).format("YYYY/MM/DD")), 1),
208
237
  createVNode(unref(OPopover), null, {
@@ -251,8 +280,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
251
280
  _: 1
252
281
  }, 8, ["modelValue"])
253
282
  ])) : createCommentVNode("", true),
254
- unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_4, [
255
- createElementVNode("div", _hoisted_5, [
283
+ unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_3, [
284
+ createElementVNode("div", _hoisted_4, [
256
285
  createVNode(unref(OSelect), {
257
286
  modelValue: selectDate.value,
258
287
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectDate.value = $event),
@@ -296,7 +325,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
296
325
  ])
297
326
  ])) : createCommentVNode("", true),
298
327
  createVNode(unref(ODivider), { class: "meeting-divider" }),
299
- createElementVNode("div", _hoisted_6, [
328
+ createElementVNode("div", _hoisted_5, [
300
329
  !unref(lePadV) && monthIdx.value !== -1 ? (openBlock(), createBlock(_sfc_main$1, {
301
330
  key: 0,
302
331
  data: dateMapList.value.slice(monthIdx.value, monthIdx.value + 1),
@@ -340,7 +369,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
340
369
  _: 3
341
370
  })
342
371
  ])
343
- ]);
372
+ ], 512);
344
373
  };
345
374
  }
346
375
  });
@@ -219,6 +219,34 @@
219
219
  .o-meeting-calendar-list .o-collapse .btn-wrapper {
220
220
  margin-top: var(--o-gap-1);
221
221
  }
222
+ .o-meeting-calendar-list .o-collapse .btn-wrapper .o-btn {
223
+ font-size: 14px;
224
+ line-height: 22px;
225
+ }
226
+ @media (min-width: 1201px) and (max-width: 1680px) {
227
+ .o-meeting-calendar-list .o-collapse .btn-wrapper .o-btn {
228
+ font-size: 12px;
229
+ line-height: 18px;
230
+ }
231
+ }
232
+ @media (min-width: 841px) and (max-width: 1200px) {
233
+ .o-meeting-calendar-list .o-collapse .btn-wrapper .o-btn {
234
+ font-size: 12px;
235
+ line-height: 18px;
236
+ }
237
+ }
238
+ @media (min-width: 601px) and (max-width: 840px) {
239
+ .o-meeting-calendar-list .o-collapse .btn-wrapper .o-btn {
240
+ font-size: 12px;
241
+ line-height: 18px;
242
+ }
243
+ }
244
+ @media (max-width: 600px) {
245
+ .o-meeting-calendar-list .o-collapse .btn-wrapper .o-btn {
246
+ font-size: 12px;
247
+ line-height: 18px;
248
+ }
249
+ }
222
250
  .o-meeting-calendar-list .o-collapse .jump-detail-link {
223
251
  padding-left: calc(var(--icon-right) + var(--icon-size2));
224
252
  color: var(--o-color-info2);
@@ -35,7 +35,25 @@
35
35
  font-size: 14px;
36
36
  line-height: 22px;
37
37
  }
38
- @media (max-width: 840px) {
38
+ @media (min-width: 1201px) and (max-width: 1680px) {
39
+ .o-meeting-detail .label-item {
40
+ font-size: 12px;
41
+ line-height: 18px;
42
+ }
43
+ }
44
+ @media (min-width: 841px) and (max-width: 1200px) {
45
+ .o-meeting-detail .label-item {
46
+ font-size: 12px;
47
+ line-height: 18px;
48
+ }
49
+ }
50
+ @media (min-width: 601px) and (max-width: 840px) {
51
+ .o-meeting-detail .label-item {
52
+ font-size: 12px;
53
+ line-height: 18px;
54
+ }
55
+ }
56
+ @media (max-width: 600px) {
39
57
  .o-meeting-detail .label-item {
40
58
  font-size: 12px;
41
59
  line-height: 18px;
@@ -65,7 +83,25 @@
65
83
  font-size: 14px;
66
84
  line-height: 22px;
67
85
  }
68
- @media (max-width: 840px) {
86
+ @media (min-width: 1201px) and (max-width: 1680px) {
87
+ .o-meeting-detail .label-item .o-link {
88
+ font-size: 12px;
89
+ line-height: 18px;
90
+ }
91
+ }
92
+ @media (min-width: 841px) and (max-width: 1200px) {
93
+ .o-meeting-detail .label-item .o-link {
94
+ font-size: 12px;
95
+ line-height: 18px;
96
+ }
97
+ }
98
+ @media (min-width: 601px) and (max-width: 840px) {
99
+ .o-meeting-detail .label-item .o-link {
100
+ font-size: 12px;
101
+ line-height: 18px;
102
+ }
103
+ }
104
+ @media (max-width: 600px) {
69
105
  .o-meeting-detail .label-item .o-link {
70
106
  font-size: 12px;
71
107
  line-height: 18px;
@@ -15,6 +15,7 @@ declare const OMeetingCalendar: {
15
15
  groups: string[];
16
16
  showDesc: boolean;
17
17
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
18
+ rootRef: HTMLDivElement;
18
19
  calendar: ({
19
20
  $: import('vue').ComponentInternalInstance;
20
21
  $data: {};
@@ -455,7 +456,9 @@ declare const OMeetingSigCalendar: {
455
456
  dates: String[];
456
457
  emptyImg?: any;
457
458
  emptyText?: string;
458
- }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
459
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
460
+ rootRef: HTMLDivElement;
461
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
459
462
  P: {};
460
463
  B: {};
461
464
  D: {};