@opendesign-plus/components 0.0.1-rc.98 → 0.0.1-rc.99

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 (28) hide show
  1. package/dist/components/summit/types.d.ts +20 -7
  2. package/dist/components/summit/utils.d.ts +11 -1
  3. package/dist/components.cjs.js +26 -26
  4. package/dist/components.css +2 -2
  5. package/dist/components.es.js +4280 -4258
  6. package/dist/treeshaking/_virtual/icon-email.mjs +8 -9
  7. package/dist/treeshaking/_virtual/icon-email2.mjs +9 -8
  8. package/dist/treeshaking/components/anchor-bar/OAnchorBar.css +32 -32
  9. package/dist/treeshaking/components/anchor-bar/OAnchorBar.vue.mjs +1 -1
  10. package/dist/treeshaking/components/org/OOrgMembers.vue2.mjs +1 -1
  11. package/dist/treeshaking/components/summit/OSummitLive.css +38 -22
  12. package/dist/treeshaking/components/summit/OSummitLive.vue.mjs +1 -1
  13. package/dist/treeshaking/components/summit/OSummitLive.vue2.mjs +37 -10
  14. package/dist/treeshaking/components/summit/OSummitSchedule.css +33 -33
  15. package/dist/treeshaking/components/summit/OSummitSchedule.vue.mjs +1 -1
  16. package/dist/treeshaking/components/summit/OSummitSchedule.vue2.mjs +7 -13
  17. package/dist/treeshaking/components/summit/components/OSummitTabs.css +31 -30
  18. package/dist/treeshaking/components/summit/components/OSummitTabs.vue.mjs +1 -1
  19. package/dist/treeshaking/components/summit/types.d.ts +20 -7
  20. package/dist/treeshaking/components/summit/utils.d.ts +11 -1
  21. package/dist/treeshaking/components/summit/utils.mjs +30 -0
  22. package/dist/treeshaking/components/user-center/OAccountSetting.vue2.mjs +1 -1
  23. package/dist/treeshaking/components/user-center/OUserInfo.css +109 -109
  24. package/dist/treeshaking/components/user-center/OUserInfo.vue.mjs +1 -1
  25. package/dist/treeshaking/components/user-center/OUserInfo.vue2.mjs +4 -3
  26. package/dist/treeshaking/components/user-center/OUserInfo3.css +4 -4
  27. package/dist/treeshaking/components/user-center/rolesMap.mjs +2 -10
  28. package/package.json +2 -2
@@ -1,17 +1,17 @@
1
- .hover-icon-rotate .o-icon[data-v-9422de32] {
1
+ .hover-icon-rotate .o-icon[data-v-b3bf869b] {
2
2
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
3
  }
4
4
  @media (hover: hover) {
5
- .hover-icon-rotate:hover .o-icon[data-v-9422de32] {
5
+ .hover-icon-rotate:hover .o-icon[data-v-b3bf869b] {
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
9
  @media (max-width: 1200px) {
10
- .o-summit-schedule[data-v-9422de32] {
10
+ .o-summit-schedule[data-v-b3bf869b] {
11
11
  position: relative;
12
12
  }
13
13
  }
14
- .o-summit-schedule .o-summit-title[data-v-9422de32] {
14
+ .o-summit-schedule .o-summit-title[data-v-b3bf869b] {
15
15
  margin-bottom: var(--o-r-gap-7);
16
16
  color: var(--o-color-info1);
17
17
  font-weight: 600;
@@ -19,30 +19,30 @@
19
19
  font-size: var(--o-r-font_size-display3);
20
20
  line-height: var(--o-r-line_height-display3);
21
21
  }
22
- .o-summit-schedule .o-summit-category-tabs[data-v-9422de32] {
22
+ .o-summit-schedule .o-summit-category-tabs[data-v-b3bf869b] {
23
23
  --tab-nav-text-size: var(--o-r-font_size-h4);
24
24
  --tab-nav-text-height: var(--o-r-line_height-h4);
25
25
  margin-bottom: var(--o-r-gap-5);
26
26
  }
27
- .o-summit-schedule .o-summit-forum-type-tabs[data-v-9422de32] {
27
+ .o-summit-schedule .o-summit-forum-type-tabs[data-v-b3bf869b] {
28
28
  margin-bottom: var(--o-r-gap-5);
29
29
  }
30
- .o-summit-schedule .o-summit-agenda-content-wrapper[data-v-9422de32] {
30
+ .o-summit-schedule .o-summit-agenda-content-wrapper[data-v-b3bf869b] {
31
31
  background-color: var(--o-color-fill2);
32
32
  border-radius: var(--o-radius-xs);
33
33
  padding: var(--o-r-gap-5) var(--o-r-gap-6);
34
34
  }
35
- .o-summit-schedule .o-summit-agenda-content[data-v-9422de32] {
35
+ .o-summit-schedule .o-summit-agenda-content[data-v-b3bf869b] {
36
36
  display: grid;
37
37
  grid-template-columns: max-content var(--o-r-gap-6) 1fr var(--o-r-gap-5) max-content var(--o-r-gap-4) 1fr;
38
38
  align-items: center;
39
39
  }
40
40
  @media (max-width: 840px) {
41
- .o-summit-schedule .o-summit-agenda-content[data-v-9422de32] {
41
+ .o-summit-schedule .o-summit-agenda-content[data-v-b3bf869b] {
42
42
  display: block;
43
43
  }
44
44
  }
45
- .o-summit-schedule .o-summit-schedule-item[data-v-9422de32] {
45
+ .o-summit-schedule .o-summit-schedule-item[data-v-b3bf869b] {
46
46
  display: grid;
47
47
  grid-template-columns: subgrid;
48
48
  grid-column: 1/-1;
@@ -54,26 +54,26 @@
54
54
  line-height: var(--o-r-line_height-text1);
55
55
  }
56
56
  @media (max-width: 1200px) {
57
- .o-summit-schedule .o-summit-schedule-item[data-v-9422de32] {
57
+ .o-summit-schedule .o-summit-schedule-item[data-v-b3bf869b] {
58
58
  padding: 6px 0;
59
59
  min-height: 36px;
60
60
  }
61
61
  }
62
62
  @media (max-width: 840px) {
63
- .o-summit-schedule .o-summit-schedule-item[data-v-9422de32] {
63
+ .o-summit-schedule .o-summit-schedule-item[data-v-b3bf869b] {
64
64
  display: flex;
65
65
  flex-direction: column;
66
66
  align-items: flex-start;
67
67
  gap: var(--o-gap-2);
68
68
  }
69
69
  }
70
- .o-summit-schedule .o-summit-schedule-item + .o-summit-schedule-item[data-v-9422de32] {
70
+ .o-summit-schedule .o-summit-schedule-item + .o-summit-schedule-item[data-v-b3bf869b] {
71
71
  border-top: 1px solid var(--o-color-control4);
72
72
  }
73
- .o-summit-schedule .o-summit-schedule-item[data-v-9422de32]:hover {
73
+ .o-summit-schedule .o-summit-schedule-item[data-v-b3bf869b]:hover {
74
74
  background-color: var(--o-color-control2-light);
75
75
  }
76
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time[data-v-9422de32] {
76
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time[data-v-b3bf869b] {
77
77
  grid-column: 1;
78
78
  color: var(--o-color-info2);
79
79
  display: flex;
@@ -81,7 +81,7 @@
81
81
  font-weight: 400;
82
82
  flex-wrap: nowrap;
83
83
  }
84
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-9422de32] {
84
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-b3bf869b] {
85
85
  --icon-size: 24px;
86
86
  height: var(--icon-size);
87
87
  width: var(--icon-size);
@@ -90,38 +90,38 @@
90
90
  margin-right: var(--o-gap-2);
91
91
  }
92
92
  @media (min-width: 1201px) and (max-width: 1680px) {
93
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-9422de32] {
93
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-b3bf869b] {
94
94
  --icon-size: 20px;
95
95
  }
96
96
  }
97
97
  @media (max-width: 840px) {
98
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-9422de32] {
98
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time svg[data-v-b3bf869b] {
99
99
  --icon-size: 16px;
100
100
  }
101
101
  }
102
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time span[data-v-9422de32] {
102
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-time span[data-v-b3bf869b] {
103
103
  white-space: nowrap;
104
104
  }
105
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topics[data-v-9422de32] {
105
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topics[data-v-b3bf869b] {
106
106
  display: grid;
107
107
  grid-template-columns: subgrid;
108
108
  grid-column: 3/-1;
109
109
  align-items: center;
110
110
  }
111
111
  @media (max-width: 840px) {
112
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topics[data-v-9422de32] {
112
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topics[data-v-b3bf869b] {
113
113
  display: block;
114
114
  width: 100%;
115
115
  }
116
116
  }
117
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic[data-v-9422de32] {
117
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic[data-v-b3bf869b] {
118
118
  display: grid;
119
119
  grid-template-columns: subgrid;
120
120
  grid-column: 1/-1;
121
121
  align-items: center;
122
122
  }
123
123
  @media (max-width: 840px) {
124
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic[data-v-9422de32] {
124
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic[data-v-b3bf869b] {
125
125
  display: flex;
126
126
  gap: var(--o-gap-2);
127
127
  flex-direction: column;
@@ -129,30 +129,30 @@
129
129
  }
130
130
  }
131
131
  @media (max-width: 840px) {
132
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic + .o-summit-schedule-topic[data-v-9422de32] {
132
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-topic + .o-summit-schedule-topic[data-v-b3bf869b] {
133
133
  margin-top: var(--o-gap-2);
134
134
  }
135
135
  }
136
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-cell[data-v-9422de32] {
136
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-cell[data-v-b3bf869b] {
137
137
  grid-column: 1;
138
138
  }
139
139
  @media (max-width: 840px) {
140
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-cell[data-v-9422de32] {
140
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-cell[data-v-b3bf869b] {
141
141
  width: 100%;
142
142
  flex-shrink: 0;
143
143
  flex-grow: 0;
144
144
  }
145
145
  }
146
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-list[data-v-9422de32] {
146
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc-list[data-v-b3bf869b] {
147
147
  display: block;
148
148
  }
149
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc[data-v-9422de32] {
149
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-desc[data-v-b3bf869b] {
150
150
  color: var(--o-color-info1);
151
151
  display: block;
152
152
  cursor: pointer;
153
153
  font-weight: 600;
154
154
  }
155
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers[data-v-9422de32] {
155
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers[data-v-b3bf869b] {
156
156
  display: grid;
157
157
  grid-template-columns: subgrid;
158
158
  grid-column: 3/6;
@@ -160,7 +160,7 @@
160
160
  align-items: center;
161
161
  }
162
162
  @media (max-width: 840px) {
163
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers[data-v-9422de32] {
163
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers[data-v-b3bf869b] {
164
164
  grid-column: auto;
165
165
  grid-template-columns: 4em 1fr;
166
166
  column-gap: var(--o-r-gap-4);
@@ -169,11 +169,11 @@
169
169
  flex-grow: 0;
170
170
  }
171
171
  }
172
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-name[data-v-9422de32] {
172
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-name[data-v-b3bf869b] {
173
173
  grid-column: 1;
174
174
  color: var(--o-color-info1);
175
175
  }
176
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-post[data-v-9422de32] {
176
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-post[data-v-b3bf869b] {
177
177
  grid-column: 3;
178
178
  display: flex;
179
179
  flex-wrap: wrap;
@@ -181,7 +181,7 @@
181
181
  color: var(--o-color-info3);
182
182
  }
183
183
  @media (max-width: 840px) {
184
- .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-post[data-v-9422de32] {
184
+ .o-summit-schedule .o-summit-schedule-item .o-summit-schedule-speakers .o-summit-schedule-post[data-v-b3bf869b] {
185
185
  grid-column: 2;
186
186
  }
187
187
  }
@@ -2,7 +2,7 @@ import _sfc_main from "./OSummitSchedule.vue2.mjs";
2
2
  import './OSummitSchedule.css';
3
3
  import './OSummitSchedule2.css';
4
4
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const _OSummitSchedule = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9422de32"]]);
5
+ const _OSummitSchedule = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b3bf869b"]]);
6
6
  export {
7
7
  _OSummitSchedule as default
8
8
  };
@@ -3,7 +3,7 @@ import { OTab, OTabPane, OPopover } from "@opensig/opendesign";
3
3
  import { useI18n } from "../../i18n/index.mjs";
4
4
  import IconTime from "../../_virtual/icon-time.mjs";
5
5
  import OSummitTabs from "./components/OSummitTabs.vue.mjs";
6
- import { normalizeScheduleRows } from "./utils.mjs";
6
+ import { normalizeScheduleEntries } from "./utils.mjs";
7
7
  const _hoisted_1 = { class: "o-summit-schedule" };
8
8
  const _hoisted_2 = {
9
9
  key: 0,
@@ -40,19 +40,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  const categoryIndex = ref(0);
41
41
  const sessionIndex = ref(0);
42
42
  const forumTypeIndex = ref(0);
43
- const currentDay = computed(() => {
43
+ const normalizedDays = computed(() => normalizeScheduleEntries(props.schedule.entries ?? []));
44
+ const dayLabels = computed(() => normalizedDays.value.map((d) => d.dateLabel));
45
+ const currentDay = computed(() => normalizedDays.value[dayIndex.value]);
46
+ const currentCategories = computed(() => {
44
47
  var _a;
45
- return (_a = props.schedule.days) == null ? void 0 : _a[dayIndex.value];
48
+ return ((_a = currentDay.value) == null ? void 0 : _a.categories) ?? [];
46
49
  });
47
- const currentCategories = computed(
48
- () => {
49
- var _a;
50
- return (((_a = currentDay.value) == null ? void 0 : _a.categories) ?? []).map((category) => ({
51
- ...category,
52
- sessions: normalizeScheduleRows(category.entries ?? [])
53
- }));
54
- }
55
- );
56
50
  const currentCategory = computed(() => {
57
51
  var _a;
58
52
  return (_a = currentCategories.value) == null ? void 0 : _a[categoryIndex.value];
@@ -124,7 +118,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
124
118
  createVNode(OSummitTabs, {
125
119
  modelValue: dayIndex.value,
126
120
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => dayIndex.value = $event),
127
- items: (props.schedule.days ?? []).map((d) => d.dateLabel),
121
+ items: dayLabels.value,
128
122
  onChange: selectDay
129
123
  }, null, 8, ["modelValue", "items"]),
130
124
  hasCategories.value && currentDay.value ? (openBlock(), createBlock(unref(OTab), {
@@ -1,12 +1,12 @@
1
- .hover-icon-rotate .o-icon[data-v-de6cb33f] {
1
+ .hover-icon-rotate .o-icon[data-v-7337571d] {
2
2
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
3
  }
4
4
  @media (hover: hover) {
5
- .hover-icon-rotate:hover .o-icon[data-v-de6cb33f] {
5
+ .hover-icon-rotate:hover .o-icon[data-v-7337571d] {
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
- .o-summit-tabs[data-v-de6cb33f] {
9
+ .o-summit-tabs[data-v-7337571d] {
10
10
  display: flex;
11
11
  align-items: stretch;
12
12
  margin-bottom: var(--o-r-gap-5);
@@ -14,24 +14,24 @@
14
14
  --tab-height: 56px;
15
15
  }
16
16
  @media (min-width: 1201px) and (max-width: 1680px) {
17
- .o-summit-tabs[data-v-de6cb33f] {
17
+ .o-summit-tabs[data-v-7337571d] {
18
18
  --tab-width: 128px;
19
19
  --tab-height: 48px;
20
20
  }
21
21
  }
22
22
  @media (min-width: 841px) and (max-width: 1200px) {
23
- .o-summit-tabs[data-v-de6cb33f] {
23
+ .o-summit-tabs[data-v-7337571d] {
24
24
  --tab-width: 104px;
25
25
  --tab-height: 40px;
26
26
  }
27
27
  }
28
28
  @media (max-width: 840px) {
29
- .o-summit-tabs[data-v-de6cb33f] {
29
+ .o-summit-tabs[data-v-7337571d] {
30
30
  --tab-width: 96px;
31
31
  --tab-height: 32px;
32
32
  }
33
33
  }
34
- .o-summit-tabs .o-summit-tabs-scroller[data-v-de6cb33f] {
34
+ .o-summit-tabs .o-summit-tabs-scroller[data-v-7337571d] {
35
35
  display: flex;
36
36
  justify-content: center;
37
37
  flex: 1 1 auto;
@@ -40,30 +40,30 @@
40
40
  overflow-y: hidden;
41
41
  scrollbar-width: none;
42
42
  }
43
- .o-summit-tabs .o-summit-tabs-scroller[data-v-de6cb33f]::-webkit-scrollbar {
43
+ .o-summit-tabs .o-summit-tabs-scroller[data-v-7337571d]::-webkit-scrollbar {
44
44
  display: none;
45
45
  }
46
- .o-summit-tabs .o-summit-tabs-track[data-v-de6cb33f] {
46
+ .o-summit-tabs .o-summit-tabs-track[data-v-7337571d] {
47
47
  display: inline-flex;
48
48
  flex-wrap: nowrap;
49
49
  white-space: nowrap;
50
50
  }
51
- .o-summit-tabs.is-overflowing .o-summit-tabs-scroller[data-v-de6cb33f] {
51
+ .o-summit-tabs.is-overflowing .o-summit-tabs-scroller[data-v-7337571d] {
52
52
  justify-content: flex-start;
53
53
  }
54
- .o-summit-tabs.is-overflowing .o-summit-tab[data-v-de6cb33f]:first-child {
54
+ .o-summit-tabs.is-overflowing .o-summit-tab[data-v-7337571d]:first-child {
55
55
  border-radius: 0;
56
56
  }
57
- .o-summit-tabs.is-overflowing .o-summit-tab[data-v-de6cb33f]:last-child {
57
+ .o-summit-tabs.is-overflowing .o-summit-tab[data-v-7337571d]:last-child {
58
58
  border-radius: 0;
59
59
  }
60
- .o-summit-tabs.is-overflowing .o-summit-tabs-arrow.is-left[data-v-de6cb33f] {
60
+ .o-summit-tabs.is-overflowing .o-summit-tabs-arrow.is-left[data-v-7337571d] {
61
61
  border-radius: var(--o-radius-xs) 0 0 var(--o-radius-xs);
62
62
  }
63
- .o-summit-tabs.is-overflowing .o-summit-tabs-arrow.is-right[data-v-de6cb33f] {
63
+ .o-summit-tabs.is-overflowing .o-summit-tabs-arrow.is-right[data-v-7337571d] {
64
64
  border-radius: 0 var(--o-radius-xs) var(--o-radius-xs) 0;
65
65
  }
66
- .o-summit-tabs .o-summit-tab[data-v-de6cb33f] {
66
+ .o-summit-tabs .o-summit-tab[data-v-7337571d] {
67
67
  cursor: pointer;
68
68
  color: var(--o-color-info1);
69
69
  min-width: var(--tab-width);
@@ -75,28 +75,28 @@
75
75
  font-size: var(--o-r-font_size-h3);
76
76
  line-height: var(--tab-height);
77
77
  }
78
- .o-summit-tabs .o-summit-tab[data-v-de6cb33f]:first-child {
78
+ .o-summit-tabs .o-summit-tab[data-v-7337571d]:first-child {
79
79
  border-radius: var(--o-radius-xs) 0 0 var(--o-radius-xs);
80
80
  }
81
- .o-summit-tabs .o-summit-tab[data-v-de6cb33f]:last-child {
81
+ .o-summit-tabs .o-summit-tab[data-v-7337571d]:last-child {
82
82
  border-radius: 0 var(--o-radius-xs) var(--o-radius-xs) 0;
83
83
  }
84
- .o-summit-tabs .o-summit-tab[data-v-de6cb33f]:hover {
84
+ .o-summit-tabs .o-summit-tab[data-v-7337571d]:hover {
85
85
  color: var(--o-color-primary2);
86
86
  }
87
- .o-summit-tabs .o-summit-tab[data-v-de6cb33f]:focus {
87
+ .o-summit-tabs .o-summit-tab[data-v-7337571d]:focus {
88
88
  color: var(--o-color-primary3);
89
89
  }
90
- .o-summit-tabs .o-summit-tab.is-active[data-v-de6cb33f] {
90
+ .o-summit-tabs .o-summit-tab.is-active[data-v-7337571d] {
91
91
  color: #fff;
92
92
  background: var(--o-color-primary1);
93
93
  }
94
- .o-summit-tabs .o-summit-tab.is-disabled[data-v-de6cb33f] {
94
+ .o-summit-tabs .o-summit-tab.is-disabled[data-v-7337571d] {
95
95
  color: var(--o-color-info4);
96
96
  background: var(--o-color-fill3);
97
97
  cursor: not-allowed;
98
98
  }
99
- .o-summit-tabs .o-summit-tabs-arrow[data-v-de6cb33f] {
99
+ .o-summit-tabs .o-summit-tabs-arrow[data-v-7337571d] {
100
100
  display: flex;
101
101
  align-items: center;
102
102
  justify-content: center;
@@ -108,31 +108,32 @@
108
108
  cursor: pointer;
109
109
  background-color: transparent;
110
110
  }
111
- .o-summit-tabs .o-summit-tabs-arrow .o-icon[data-v-de6cb33f] {
111
+ .o-summit-tabs .o-summit-tabs-arrow .o-icon[data-v-7337571d] {
112
112
  --icon-size: 24px;
113
113
  }
114
114
  @media (max-width: 840px) {
115
- .o-summit-tabs .o-summit-tabs-arrow .o-icon[data-v-de6cb33f] {
115
+ .o-summit-tabs .o-summit-tabs-arrow .o-icon[data-v-7337571d] {
116
116
  --icon-size: 20px;
117
117
  }
118
118
  }
119
- .o-summit-tabs .o-summit-tabs-arrow[data-v-de6cb33f]:hover {
119
+ .o-summit-tabs .o-summit-tabs-arrow[data-v-7337571d]:hover {
120
120
  color: var(--o-color-primary2);
121
121
  }
122
- .o-summit-tabs .o-summit-tabs-arrow[data-v-de6cb33f]:focus {
122
+ .o-summit-tabs .o-summit-tabs-arrow[data-v-7337571d]:focus {
123
123
  color: var(--o-color-primary3);
124
124
  }
125
- .o-summit-tabs .o-summit-tabs-arrow.is-disabled[data-v-de6cb33f] {
125
+ .o-summit-tabs .o-summit-tabs-arrow.is-disabled[data-v-7337571d] {
126
126
  color: var(--o-color-info4);
127
127
  cursor: not-allowed;
128
128
  }
129
- .o-summit-tabs .o-summit-tabs-arrow.is-disabled[data-v-de6cb33f]:hover {
129
+ .o-summit-tabs .o-summit-tabs-arrow.is-disabled[data-v-7337571d]:hover {
130
130
  color: var(--o-color-info4);
131
131
  }
132
- .o-summit-tabs-single[data-v-de6cb33f] {
132
+ .o-summit-tabs-single[data-v-7337571d] {
133
133
  margin-bottom: var(--o-r-gap-5);
134
134
  color: var(--o-color-info1);
135
- font-weight: 500;
135
+ font-weight: 600;
136
136
  font-size: var(--o-r-font_size-h2);
137
137
  line-height: var(--o-r-line_height-h2);
138
+ text-align: center;
138
139
  }
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./OSummitTabs.vue2.mjs";
2
2
  import './OSummitTabs.css';
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const OSummitTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-de6cb33f"]]);
4
+ const OSummitTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7337571d"]]);
5
5
  export {
6
6
  OSummitTabs as default
7
7
  };
@@ -9,9 +9,20 @@ export interface SummitLiveRoomT {
9
9
  background?: string;
10
10
  backgroundDark?: string;
11
11
  }
12
+ export interface SummitLiveBackgroundsT {
13
+ normal?: string;
14
+ normalDark?: string;
15
+ normalActive?: string;
16
+ normalActiveDark?: string;
17
+ main?: string;
18
+ mainDark?: string;
19
+ mainActive?: string;
20
+ mainActiveDark?: string;
21
+ }
12
22
  export interface SummitLivePropsT {
13
23
  section: SummitLiveSectionT;
14
24
  liveUrl: string;
25
+ backgrounds?: SummitLiveBackgroundsT;
15
26
  }
16
27
  export interface SummitSpeakerT {
17
28
  name: string;
@@ -44,23 +55,25 @@ export interface SummitSubForumT {
44
55
  items: SummitScheduleEntryT[];
45
56
  }
46
57
  export interface SummitScheduleRowT extends SummitScheduleEntryT {
58
+ date?: string;
59
+ category?: string;
47
60
  session?: string;
48
61
  forum?: string;
49
62
  duration?: string;
50
63
  detailMode?: 'popover';
51
64
  }
52
- export interface SummitCategoryT {
53
- id: string;
54
- name: string;
55
- entries: SummitScheduleRowT[];
65
+ export interface SummitScheduleT {
66
+ title?: string;
67
+ entries?: SummitScheduleRowT[];
56
68
  }
57
69
  export interface SummitScheduleDayT {
58
70
  dateLabel: string;
59
71
  categories: SummitCategoryT[];
60
72
  }
61
- export interface SummitScheduleT {
62
- title?: string;
63
- days?: SummitScheduleDayT[];
73
+ export interface SummitCategoryT {
74
+ id: string;
75
+ name: string;
76
+ sessions: SummitSessionT[];
64
77
  }
65
78
  export interface SummitSessionT {
66
79
  id: string;
@@ -1,4 +1,14 @@
1
- import { SummitScheduleRowT, SummitSessionT } from './types';
1
+ import { SummitScheduleDayT, SummitScheduleRowT, SummitSessionT } from './types';
2
+ /**
3
+ * 将议程平铺行归一化为渲染树(日期 → 分类 → session/subForums,各维度保持首次出现顺序)。
4
+ *
5
+ * 规则:
6
+ * - date / category / session 三个维度缺省时各自归入单一匿名分组(''),对应级 tab 数 ≤1 时渲染自动降级
7
+ * - session 内:带 forum 的行按 forum 分组为 subForums;不带 forum 的行归入 items
8
+ * - duration / detailMode 取组内首个非空值
9
+ * - 同一 session 内混用「带 forum」与「不带 forum」的行时,渲染层 items 优先,subForums 会被忽略
10
+ */
11
+ export declare function normalizeScheduleEntries(entries: SummitScheduleRowT[]): SummitScheduleDayT[];
2
12
  /**
3
13
  * 将分类下的平铺行归一化为 session/subForums 树(保持各维度首次出现顺序)。
4
14
  *
@@ -1,3 +1,32 @@
1
+ function normalizeScheduleEntries(entries) {
2
+ const days = [];
3
+ const dayMap = /* @__PURE__ */ new Map();
4
+ const getGroup = (date, category) => {
5
+ let day = dayMap.get(date);
6
+ if (!day) {
7
+ day = { dateLabel: date, drafts: [] };
8
+ dayMap.set(date, day);
9
+ days.push(day);
10
+ }
11
+ let draft = day.drafts.find((d) => d.name === category);
12
+ if (!draft) {
13
+ draft = { id: `category-${days.length - 1}-${day.drafts.length}`, name: category, rows: [] };
14
+ day.drafts.push(draft);
15
+ }
16
+ return draft.rows;
17
+ };
18
+ for (const row of entries) {
19
+ getGroup(row.date ?? "", row.category ?? "").push(row);
20
+ }
21
+ return days.map((day) => ({
22
+ dateLabel: day.dateLabel,
23
+ categories: day.drafts.map((draft) => ({
24
+ id: draft.id,
25
+ name: draft.name,
26
+ sessions: normalizeScheduleRows(draft.rows)
27
+ }))
28
+ }));
29
+ }
1
30
  function normalizeScheduleRows(rows) {
2
31
  var _a, _b, _c, _d;
3
32
  const sessions = [];
@@ -52,5 +81,6 @@ function normalizeScheduleRows(rows) {
52
81
  return sessions;
53
82
  }
54
83
  export {
84
+ normalizeScheduleEntries,
55
85
  normalizeScheduleRows
56
86
  };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, computed, onMounted, watch, openBlock, createElementBlock, Fragment, createElementVNode, toDisplayString, unref, createCommentVNode, normalizeClass, createVNode, withCtx, renderList, createBlock, resolveDynamicComponent, createTextVNode } from "vue";
2
- import IconMail from "../../_virtual/icon-email.mjs";
2
+ import IconMail from "../../_virtual/icon-email2.mjs";
3
3
  import IconPhone from "../../_virtual/icon-phone.mjs";
4
4
  import { useMessage, OSkeleton, OIcon, OLink, OSkeletonText } from "@opensig/opendesign";
5
5
  import { useI18n } from "../../i18n/index.mjs";