@icvdeveloper/common-module 0.0.67 → 0.0.69

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 (74) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +1 -1
  4. package/dist/runtime/@types/components.d.ts +1 -0
  5. package/dist/runtime/assets/scss/index.css +2 -0
  6. package/dist/runtime/assets/svg/answer.svg +14 -14
  7. package/dist/runtime/assets/svg/avatar.svg +1 -1
  8. package/dist/runtime/assets/svg/bell-icon.svg +3 -3
  9. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -1
  10. package/dist/runtime/assets/svg/close-icon.svg +1 -1
  11. package/dist/runtime/assets/svg/icon-avatar.svg +1 -1
  12. package/dist/runtime/assets/svg/icon-chevron.svg +4 -4
  13. package/dist/runtime/assets/svg/icon-circle-plus.svg +1 -1
  14. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  15. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  16. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  17. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  18. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  19. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  20. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  21. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  22. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  23. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  24. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  25. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  26. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  27. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  28. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  29. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  30. package/dist/runtime/assets/svg/phone.svg +1 -1
  31. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  32. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  33. package/dist/runtime/assets/svg/reject.svg +14 -14
  34. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  35. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  36. package/dist/runtime/components/agenda/AgendaList.vue +104 -99
  37. package/dist/runtime/components/agenda/AgendaTabbed.vue +300 -300
  38. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +26 -26
  39. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  40. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  41. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  42. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  43. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  44. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  45. package/dist/runtime/components/auth/Registration.vue +27 -27
  46. package/dist/runtime/components/auth/Ucc.vue +52 -52
  47. package/dist/runtime/components/core/Accordion.vue +97 -97
  48. package/dist/runtime/components/core/CountdownTimer.vue +308 -308
  49. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  50. package/dist/runtime/components/core/Modal.vue +111 -111
  51. package/dist/runtime/components/core/Navbar.vue +154 -154
  52. package/dist/runtime/components/core/SvgIcon.vue +151 -151
  53. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  54. package/dist/runtime/components/events/EventHeader.vue +133 -133
  55. package/dist/runtime/components/events/ListEvents.vue +507 -482
  56. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  57. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  58. package/dist/runtime/components/forms/Message.vue +27 -27
  59. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  60. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  61. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  62. package/dist/runtime/components/forms/TextArea.vue +26 -26
  63. package/dist/runtime/components/forms/TextInput.vue +28 -28
  64. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  65. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  66. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  67. package/dist/runtime/components/profile/Profile.vue +149 -149
  68. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  69. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  70. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  71. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  72. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  73. package/dist/runtime/components/support/FAQAccordion.vue +137 -137
  74. package/package.json +59 -59
@@ -1,302 +1,302 @@
1
- <script lang="ts" setup>
2
- import { toRefs, computed } from "vue";
3
- import { storeToRefs } from "pinia";
4
- import { useAgenda } from "../../composables/useAgenda";
5
- import { Conference, Sponsor as SponsorType } from "../../models/conference";
6
- import { useDateFormat } from "../../composables/useDateFormat";
7
- import { usePresentation } from "../../composables/usePresentation";
8
- import { usePresenters } from "../../composables/usePresenters";
9
- import CommonAccordion from "../layouts/Accordion.vue";
10
- import Sponsor from "./components/Sponsor.vue";
11
- import PresentationLink from "./components/PresentationLink.vue";
12
-
13
- type Props = {
14
- conference: Conference;
15
- };
16
-
17
- const props = defineProps<Props>();
18
-
19
- const { conference } = toRefs(props);
20
-
21
- // Methods
22
- const {
23
- days,
24
- enabledSponsors,
25
- displayTrackGroups,
26
- horizontalTrackGroups,
27
- selectedDay,
28
- setSelectedDay,
29
- selectedPresenter,
30
- showTabDates,
31
- shouldShowSponsors,
32
- getCombinedTrackList,
33
- hasPresentations,
34
- isSmallGroupedTrack,
35
- isGroupedTrack,
36
- getTracks,
37
- getTrackClasses,
38
- showInfoLink,
39
- useAccordion,
40
- usePresenterModal,
41
- showPresenterDescription,
42
- } = useAgenda(conference);
43
- const {
44
- showPresentationTimes,
45
- showPresentationEndTimes,
46
- getPresentationEndTime,
47
- } = usePresentation(conference);
48
- const { getPresentersLabel, getSortedPresenters } = usePresenters(conference);
49
-
50
- const { formatDate, formatTimezoneToLocal } = useDateFormat();
51
-
52
- // computed
53
- const presentersContainer = computed(() => {
54
- return useAccordion() ? CommonAccordion : "div";
55
- });
56
- </script>
57
-
58
- <template>
59
- <div class="container mx-auto my-8 shadow-lg">
60
- <!-- TABS -->
61
- <div class="flex flex-col w-full">
62
- <div class="flex flex-row w-full">
63
- <div
64
- v-if="days.length > 0"
65
- class="flex flex-row agenda-tab-sponsor-bg-color w-3/4"
66
- >
67
- <button
68
- v-for="(day, index) in days"
69
- :key="index"
70
- class="flex-1 md:flex-initial py-5 px-4 md:px-6 text-base text-center cursor-pointer no-underline heading-color-2 focus:outline-none"
71
- :class="{
72
- 'agenda-tab-active-bg-color agenda-tab-color':
73
- day === selectedDay,
74
- 'agenda-tab-bg-color agenda-tab-color': day !== selectedDay,
75
- }"
76
- @click="setSelectedDay(day)"
77
- >
78
- {{ day.name }}
79
- <small v-if="showTabDates(day)">{{ formatDate(day.date) }}</small>
80
- </button>
81
- </div>
82
-
83
- <div
84
- class="flex w-1/4 items-center agenda-tab-sponsor-bg-color flex-row-reverse pr-5"
85
- >
86
- <Sponsor
87
- v-if="shouldShowSponsors(selectedDay)"
88
- :sponsor="selectedDay.sponsors[0]"
89
- :show-label="false"
90
- size="small"
91
- :enabled-sponsors="enabledSponsors"
92
- >
93
- </Sponsor>
94
- </div>
95
- </div>
96
- </div>
97
-
98
- <div
99
- v-for="group_or_track in getCombinedTrackList(selectedDay)"
100
- :key="group_or_track.id"
101
- class="text-center lg:text-left"
102
- >
103
- <div v-if="hasPresentations(group_or_track)">
104
- <!-- TRACK GROUP -->
105
- <div
106
- v-if="
107
- displayTrackGroups != 'None' && group_or_track.type == 'track_group'
108
- "
109
- class="agenda-track-group-bg-color"
110
- >
111
- <div class="py-3">
112
- <h2 class="font-light py-2 px-3 body-color-2">
113
- {{ group_or_track.name }}
114
- </h2>
115
- </div>
116
- </div>
117
-
118
- <!-- ALL TRACKS CONTAINER -->
119
- <div
120
- class="bg-color-white"
121
- :class="{ 'tracks-container': isSmallGroupedTrack(group_or_track) }"
122
- >
123
- <!-- TRACK + SESSIONS CONTAINER -->
124
- <div
125
- v-for="(track, trackIndex) in getTracks(group_or_track)"
126
- :key="track.id"
127
- class="track-container"
128
- >
129
- <!-- TRACK NAME + SPONSOR -->
130
- <div
131
- class="track-header flex flex-col min-w-full agenda-track-bg-color"
132
- :class="getTrackClasses(group_or_track, trackIndex)"
133
- >
134
- <!-- TRACK NAME -->
135
- <div
136
- class="flex-1 py-3"
137
- :class="{
138
- 'lg:w-3/4':
139
- !isSmallGroupedTrack(group_or_track) &&
140
- track.sponsors.length,
141
- }"
142
- >
143
- <h2
144
- class="font-light p-2 md:py-2 sm:px-3 body-color-2"
145
- :class="{
146
- 'agenda-grouped-track-text-color text-lg':
147
- isGroupedTrack(group_or_track),
148
- }"
149
- >
150
- {{ track.name }}
151
- </h2>
152
- </div>
153
- <!-- TRACK SPONSOR -->
154
- <div
155
- v-if="track.sponsors.length"
156
- class="flex w-full pb-2 content-center items-center"
157
- :class="{
158
- 'lg:pb-0 lg:w-1/4 lg:pr-5':
159
- !isSmallGroupedTrack(group_or_track),
160
- }"
161
- >
162
- <sponsor
163
- v-if="shouldShowSponsors(track)"
164
- :sponsor="track.sponsors[0]"
165
- :inline="true"
166
- size="small"
167
- :enabled-sponsors="enabledSponsors"
168
- >
169
- </sponsor>
170
- </div>
171
- </div>
172
- <!-- ALL TRACK SESSIONS -->
173
- <div
174
- class="track-sessions"
175
- :class="{ 'border-l': horizontalTrackGroups && trackIndex > 0 }"
176
- >
177
- <!-- EACH SESSION -->
178
- <div
179
- v-for="(presentation, presentationIndex) in track.presentations"
180
- :key="presentation.id"
181
- >
182
- <div
183
- v-if="presentation.visible"
184
- class="flex flex-col"
185
- :class="
186
- presentationIndex < track.presentations.length - 1
187
- ? 'border-b'
188
- : ''
189
- "
190
- >
191
- <!-- SESSION TIME, NAME & SPONSOR CONTAINER -->
192
- <div
193
- class="flex flex-col flex-1 items-center lg:items-start p-5"
194
- :class="{
195
- 'bg-color-white-darker':
196
- selectedPresenter &&
197
- selectedPresenter.presentationId === presentation.id,
198
- 'lg:flex-row': !isSmallGroupedTrack(group_or_track),
199
- }"
200
- >
201
- <!-- TIME + NAME CONTAINER -->
202
- <div
203
- class="flex-1"
204
- :class="{
205
- 'pb-2': presentation.sponsors.length,
206
- 'lg:pb-0 lg:w-3/4':
207
- !isSmallGroupedTrack(group_or_track) &&
208
- presentation.sponsors.length,
209
- }"
210
- >
211
- <!-- TIME -->
212
- <h4
213
- v-if="showPresentationTimes(presentation)"
214
- class="font-light mb-3"
215
- >
216
- {{
217
- formatTimezoneToLocal(
218
- presentation.date,
219
- "h:mm a",
220
- conference.timezone
221
- )
222
- }}
223
-
224
- <span v-if="showPresentationEndTimes()"
225
- >- {{ getPresentationEndTime(presentation) }}</span
226
- >
227
- {{
228
- formatTimezoneToLocal(
229
- presentation.date,
230
- "z",
231
- conference.timezone
232
- )
233
- }}
234
- </h4>
235
-
236
- <!-- NAME + PLAY BUTTON -->
237
- <div class="pb-1">
238
- <presentation-link
239
- :conference="conference"
240
- :track="track"
241
- :presentation="presentation"
242
- :show-info-link="showInfoLink()"
243
- :is-small-grouped-track="
244
- isSmallGroupedTrack(group_or_track)
245
- "
246
- ></presentation-link>
247
- </div>
248
-
249
- <!-- PRESENTERS LIST (ACCORDION OR STANDARD/DIV) -->
250
- <component
251
- :is="presentersContainer"
252
- v-if="presentation.presenters.length > 0"
253
- :title="
254
- getPresentersLabel(presentation.presenters.length)
255
- "
256
- >
257
- <p
258
- v-for="presenter in getSortedPresenters(
259
- presentation.presenters
260
- )"
261
- :key="presenter.id"
262
- class="font-bold my-1"
263
- >
264
- <CommonPresenterModal
265
- v-if="usePresenterModal"
266
- :use-icon="false"
267
- :presenter="presenter"
268
- :is-small-grouped-track="
269
- isSmallGroupedTrack(group_or_track)
270
- "
271
- ></CommonPresenterModal>
272
- <CommonPresenterListing
273
- v-else
274
- :presenter="presenter"
275
- :enable-bio="true"
276
- :show-bio="false"
277
- text-class="font-bold text-base"
278
- link-class="agenda-presenter-color"
279
- :is-small-grouped-track="
280
- isSmallGroupedTrack(group_or_track)
281
- "
282
- @clicked="
283
- showPresenterDescription(presenter, presentation)
284
- "
285
- />
286
- </p>
287
- </component>
288
- </div>
289
- </div>
290
- </div>
291
- </div>
292
- </div>
293
- </div>
294
- </div>
295
- </div>
296
- </div>
297
- </div>
298
- </template>
299
-
1
+ <script lang="ts" setup>
2
+ import { toRefs, computed } from "vue";
3
+ import { storeToRefs } from "pinia";
4
+ import { useAgenda } from "../../composables/useAgenda";
5
+ import { Conference, Sponsor as SponsorType } from "../../models/conference";
6
+ import { useDateFormat } from "../../composables/useDateFormat";
7
+ import { usePresentation } from "../../composables/usePresentation";
8
+ import { usePresenters } from "../../composables/usePresenters";
9
+ import CommonAccordion from "../layouts/Accordion.vue";
10
+ import Sponsor from "./components/Sponsor.vue";
11
+ import PresentationLink from "./components/PresentationLink.vue";
12
+
13
+ type Props = {
14
+ conference: Conference;
15
+ };
16
+
17
+ const props = defineProps<Props>();
18
+
19
+ const { conference } = toRefs(props);
20
+
21
+ // Methods
22
+ const {
23
+ days,
24
+ enabledSponsors,
25
+ displayTrackGroups,
26
+ horizontalTrackGroups,
27
+ selectedDay,
28
+ setSelectedDay,
29
+ selectedPresenter,
30
+ showTabDates,
31
+ shouldShowSponsors,
32
+ getCombinedTrackList,
33
+ hasPresentations,
34
+ isSmallGroupedTrack,
35
+ isGroupedTrack,
36
+ getTracks,
37
+ getTrackClasses,
38
+ showInfoLink,
39
+ useAccordion,
40
+ usePresenterModal,
41
+ showPresenterDescription,
42
+ } = useAgenda(conference);
43
+ const {
44
+ showPresentationTimes,
45
+ showPresentationEndTimes,
46
+ getPresentationEndTime,
47
+ } = usePresentation(conference);
48
+ const { getPresentersLabel, getSortedPresenters } = usePresenters(conference);
49
+
50
+ const { formatDate, formatTimezoneToLocal } = useDateFormat();
51
+
52
+ // computed
53
+ const presentersContainer = computed(() => {
54
+ return useAccordion() ? CommonAccordion : "div";
55
+ });
56
+ </script>
57
+
58
+ <template>
59
+ <div class="container mx-auto my-8 shadow-lg">
60
+ <!-- TABS -->
61
+ <div class="flex flex-col w-full">
62
+ <div class="flex flex-row w-full">
63
+ <div
64
+ v-if="days.length > 0"
65
+ class="flex flex-row agenda-tab-sponsor-bg-color w-3/4"
66
+ >
67
+ <button
68
+ v-for="(day, index) in days"
69
+ :key="index"
70
+ class="flex-1 md:flex-initial py-5 px-4 md:px-6 text-base text-center cursor-pointer no-underline heading-color-2 focus:outline-none"
71
+ :class="{
72
+ 'agenda-tab-active-bg-color agenda-tab-color':
73
+ day === selectedDay,
74
+ 'agenda-tab-bg-color agenda-tab-color': day !== selectedDay,
75
+ }"
76
+ @click="setSelectedDay(day)"
77
+ >
78
+ {{ day.name }}
79
+ <small v-if="showTabDates(day)">{{ formatDate(day.date) }}</small>
80
+ </button>
81
+ </div>
82
+
83
+ <div
84
+ class="flex w-1/4 items-center agenda-tab-sponsor-bg-color flex-row-reverse pr-5"
85
+ >
86
+ <Sponsor
87
+ v-if="shouldShowSponsors(selectedDay)"
88
+ :sponsor="selectedDay.sponsors[0]"
89
+ :show-label="false"
90
+ size="small"
91
+ :enabled-sponsors="enabledSponsors"
92
+ >
93
+ </Sponsor>
94
+ </div>
95
+ </div>
96
+ </div>
97
+
98
+ <div
99
+ v-for="group_or_track in getCombinedTrackList(selectedDay)"
100
+ :key="group_or_track.id"
101
+ class="text-center lg:text-left"
102
+ >
103
+ <div v-if="hasPresentations(group_or_track)">
104
+ <!-- TRACK GROUP -->
105
+ <div
106
+ v-if="
107
+ displayTrackGroups != 'None' && group_or_track.type == 'track_group'
108
+ "
109
+ class="agenda-track-group-bg-color"
110
+ >
111
+ <div class="py-3">
112
+ <h2 class="font-light py-2 px-3 body-color-2">
113
+ {{ group_or_track.name }}
114
+ </h2>
115
+ </div>
116
+ </div>
117
+
118
+ <!-- ALL TRACKS CONTAINER -->
119
+ <div
120
+ class="bg-color-white"
121
+ :class="{ 'tracks-container': isSmallGroupedTrack(group_or_track) }"
122
+ >
123
+ <!-- TRACK + SESSIONS CONTAINER -->
124
+ <div
125
+ v-for="(track, trackIndex) in getTracks(group_or_track)"
126
+ :key="track.id"
127
+ class="track-container"
128
+ >
129
+ <!-- TRACK NAME + SPONSOR -->
130
+ <div
131
+ class="track-header flex flex-col min-w-full agenda-track-bg-color"
132
+ :class="getTrackClasses(group_or_track, trackIndex)"
133
+ >
134
+ <!-- TRACK NAME -->
135
+ <div
136
+ class="flex-1 py-3"
137
+ :class="{
138
+ 'lg:w-3/4':
139
+ !isSmallGroupedTrack(group_or_track) &&
140
+ track.sponsors.length,
141
+ }"
142
+ >
143
+ <h2
144
+ class="font-light p-2 md:py-2 sm:px-3 body-color-2"
145
+ :class="{
146
+ 'agenda-grouped-track-text-color text-lg':
147
+ isGroupedTrack(group_or_track),
148
+ }"
149
+ >
150
+ {{ track.name }}
151
+ </h2>
152
+ </div>
153
+ <!-- TRACK SPONSOR -->
154
+ <div
155
+ v-if="track.sponsors.length"
156
+ class="flex w-full pb-2 content-center items-center"
157
+ :class="{
158
+ 'lg:pb-0 lg:w-1/4 lg:pr-5':
159
+ !isSmallGroupedTrack(group_or_track),
160
+ }"
161
+ >
162
+ <sponsor
163
+ v-if="shouldShowSponsors(track)"
164
+ :sponsor="track.sponsors[0]"
165
+ :inline="true"
166
+ size="small"
167
+ :enabled-sponsors="enabledSponsors"
168
+ >
169
+ </sponsor>
170
+ </div>
171
+ </div>
172
+ <!-- ALL TRACK SESSIONS -->
173
+ <div
174
+ class="track-sessions"
175
+ :class="{ 'border-l': horizontalTrackGroups && trackIndex > 0 }"
176
+ >
177
+ <!-- EACH SESSION -->
178
+ <div
179
+ v-for="(presentation, presentationIndex) in track.presentations"
180
+ :key="presentation.id"
181
+ >
182
+ <div
183
+ v-if="presentation.visible"
184
+ class="flex flex-col"
185
+ :class="
186
+ presentationIndex < track.presentations.length - 1
187
+ ? 'border-b'
188
+ : ''
189
+ "
190
+ >
191
+ <!-- SESSION TIME, NAME & SPONSOR CONTAINER -->
192
+ <div
193
+ class="flex flex-col flex-1 items-center lg:items-start p-5"
194
+ :class="{
195
+ 'bg-color-white-darker':
196
+ selectedPresenter &&
197
+ selectedPresenter.presentationId === presentation.id,
198
+ 'lg:flex-row': !isSmallGroupedTrack(group_or_track),
199
+ }"
200
+ >
201
+ <!-- TIME + NAME CONTAINER -->
202
+ <div
203
+ class="flex-1"
204
+ :class="{
205
+ 'pb-2': presentation.sponsors.length,
206
+ 'lg:pb-0 lg:w-3/4':
207
+ !isSmallGroupedTrack(group_or_track) &&
208
+ presentation.sponsors.length,
209
+ }"
210
+ >
211
+ <!-- TIME -->
212
+ <h4
213
+ v-if="showPresentationTimes(presentation)"
214
+ class="font-light mb-3"
215
+ >
216
+ {{
217
+ formatTimezoneToLocal(
218
+ presentation.date,
219
+ "h:mm a",
220
+ conference.timezone
221
+ )
222
+ }}
223
+
224
+ <span v-if="showPresentationEndTimes()"
225
+ >- {{ getPresentationEndTime(presentation) }}</span
226
+ >
227
+ {{
228
+ formatTimezoneToLocal(
229
+ presentation.date,
230
+ "z",
231
+ conference.timezone
232
+ )
233
+ }}
234
+ </h4>
235
+
236
+ <!-- NAME + PLAY BUTTON -->
237
+ <div class="pb-1">
238
+ <presentation-link
239
+ :conference="conference"
240
+ :track="track"
241
+ :presentation="presentation"
242
+ :show-info-link="showInfoLink()"
243
+ :is-small-grouped-track="
244
+ isSmallGroupedTrack(group_or_track)
245
+ "
246
+ ></presentation-link>
247
+ </div>
248
+
249
+ <!-- PRESENTERS LIST (ACCORDION OR STANDARD/DIV) -->
250
+ <component
251
+ :is="presentersContainer"
252
+ v-if="presentation.presenters.length > 0"
253
+ :title="
254
+ getPresentersLabel(presentation.presenters.length)
255
+ "
256
+ >
257
+ <p
258
+ v-for="presenter in getSortedPresenters(
259
+ presentation.presenters
260
+ )"
261
+ :key="presenter.id"
262
+ class="font-bold my-1"
263
+ >
264
+ <CommonPresenterModal
265
+ v-if="usePresenterModal"
266
+ :use-icon="false"
267
+ :presenter="presenter"
268
+ :is-small-grouped-track="
269
+ isSmallGroupedTrack(group_or_track)
270
+ "
271
+ ></CommonPresenterModal>
272
+ <CommonPresenterListing
273
+ v-else
274
+ :presenter="presenter"
275
+ :enable-bio="true"
276
+ :show-bio="false"
277
+ text-class="font-bold text-base"
278
+ link-class="agenda-presenter-color"
279
+ :is-small-grouped-track="
280
+ isSmallGroupedTrack(group_or_track)
281
+ "
282
+ @clicked="
283
+ showPresenterDescription(presenter, presentation)
284
+ "
285
+ />
286
+ </p>
287
+ </component>
288
+ </div>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ </template>
299
+
300
300
  <style scoped>
301
301
  .tracks-container {
302
302
  display: grid;
@@ -346,4 +346,4 @@ const presentersContainer = computed(() => {
346
346
  grid-row: 2;
347
347
  grid-column: 4;
348
348
  }
349
- </style>
349
+ </style>
@@ -1,26 +1,26 @@
1
- <script lang="ts" setup>
2
- import { ref } from "vue";
3
-
4
- const expanded = ref<boolean>(false);
5
-
6
- // methods
7
- const toggle = () => {
8
- expanded.value = !expanded.value;
9
- };
10
- </script>
11
-
12
- <template>
13
- <div>
14
- <div class="font-bold mt-2">
15
- <button class="outline-none" @click="toggle">
16
- <slot name="header"></slot>
17
- </button>
18
- </div>
19
-
20
- <transition name="slide" mode="out-in">
21
- <div v-show="expanded">
22
- <slot name="body" />
23
- </div>
24
- </transition>
25
- </div>
26
- </template>
1
+ <script lang="ts" setup>
2
+ import { ref } from "vue";
3
+
4
+ const expanded = ref<boolean>(false);
5
+
6
+ // methods
7
+ const toggle = () => {
8
+ expanded.value = !expanded.value;
9
+ };
10
+ </script>
11
+
12
+ <template>
13
+ <div>
14
+ <div class="font-bold mt-2">
15
+ <button class="outline-none" @click="toggle">
16
+ <slot name="header"></slot>
17
+ </button>
18
+ </div>
19
+
20
+ <transition name="slide" mode="out-in">
21
+ <div v-show="expanded">
22
+ <slot name="body" />
23
+ </div>
24
+ </transition>
25
+ </div>
26
+ </template>