@icvdeveloper/common-module 0.0.123 → 0.0.124

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 (94) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/assets/svg/answer.svg +14 -14
  4. package/dist/runtime/assets/svg/avatar.svg +1 -1
  5. package/dist/runtime/assets/svg/bell-icon.svg +3 -3
  6. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -1
  7. package/dist/runtime/assets/svg/close-icon.svg +1 -1
  8. package/dist/runtime/assets/svg/icon-avatar.svg +1 -1
  9. package/dist/runtime/assets/svg/icon-chevron.svg +4 -4
  10. package/dist/runtime/assets/svg/icon-circle-plus.svg +1 -1
  11. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  12. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  13. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  14. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  15. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  16. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  17. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  18. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  19. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  20. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  21. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  22. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  23. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  24. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  25. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  26. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  27. package/dist/runtime/assets/svg/phone.svg +1 -1
  28. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  29. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  30. package/dist/runtime/assets/svg/reject.svg +14 -14
  31. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  32. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  33. package/dist/runtime/components/agenda/AgendaList.vue +259 -259
  34. package/dist/runtime/components/agenda/AgendaTabbed.vue +305 -305
  35. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +67 -67
  36. package/dist/runtime/components/agenda/components/Calendar.vue +67 -67
  37. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  38. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  39. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  40. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  41. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  42. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  43. package/dist/runtime/components/auth/Registration.vue +27 -27
  44. package/dist/runtime/components/auth/Ucc.vue +129 -129
  45. package/dist/runtime/components/core/Accordion.vue +97 -97
  46. package/dist/runtime/components/core/CountdownTimer.vue +336 -336
  47. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  48. package/dist/runtime/components/core/Modal.vue +111 -111
  49. package/dist/runtime/components/core/Navbar.vue +154 -154
  50. package/dist/runtime/components/core/SvgIcon.vue +157 -157
  51. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  52. package/dist/runtime/components/events/EventHeader.vue +133 -133
  53. package/dist/runtime/components/events/ListEvents.vue +554 -554
  54. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  55. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  56. package/dist/runtime/components/forms/Message.vue +27 -27
  57. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  58. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  59. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  60. package/dist/runtime/components/forms/TextArea.vue +26 -26
  61. package/dist/runtime/components/forms/TextInput.vue +28 -28
  62. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  63. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +160 -160
  64. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +186 -186
  65. package/dist/runtime/components/media/PlayerAndContentContainer.vue +178 -178
  66. package/dist/runtime/components/media/WebcastVideoPlayer.vue +140 -140
  67. package/dist/runtime/components/media/components/AgendaPanel.vue +43 -43
  68. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +91 -91
  69. package/dist/runtime/components/media/components/CeCreditNotification.vue +95 -95
  70. package/dist/runtime/components/media/components/ContentAccordion.vue +63 -63
  71. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  72. package/dist/runtime/components/media/components/ContentTabs.vue +231 -231
  73. package/dist/runtime/components/media/components/DocumentsPanel.vue +31 -31
  74. package/dist/runtime/components/media/components/JsonApi.vue +31 -31
  75. package/dist/runtime/components/media/components/MediaContainer.vue +63 -63
  76. package/dist/runtime/components/media/components/OverviewPanel.vue +52 -52
  77. package/dist/runtime/components/media/components/PresentersPanel.vue +52 -52
  78. package/dist/runtime/components/media/components/SessionReporting.vue +101 -95
  79. package/dist/runtime/components/media/components/SponsorsPanel.vue +71 -71
  80. package/dist/runtime/components/media/components/WindowContent.vue +92 -92
  81. package/dist/runtime/components/media/components/WindowSlide.vue +72 -72
  82. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  83. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  84. package/dist/runtime/components/profile/Profile.vue +149 -149
  85. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  86. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  87. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  88. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  89. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  90. package/dist/runtime/components/support/FAQAccordion.vue +140 -140
  91. package/dist/runtime/composables/useUcc.mjs +0 -14
  92. package/dist/runtime/store/auth.mjs +0 -3
  93. package/package.json +1 -1
  94. package/dist/runtime/components/media/components/SessionReporting.vue.d.ts +0 -35
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm3.445 17.827c-3.684 1.684-9.401-9.43-5.8-11.308l1.053-.519 1.746 3.409-1.042.513c-1.095.587 1.185 5.04 2.305 4.497l1.032-.505 1.76 3.397-1.054.516z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm3.445 17.827c-3.684 1.684-9.401-9.43-5.8-11.308l1.053-.519 1.746 3.409-1.042.513c-1.095.587 1.185 5.04 2.305 4.497l1.032-.505 1.76 3.397-1.054.516z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="#e3effa" width="15" height="15" viewBox="0 0 24 24"><path d="M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#e3effa" width="15" height="15" viewBox="0 0 24 24"><path d="M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z"/></svg>
@@ -1,3 +1,3 @@
1
- <svg class="h-2 w-2 fill-current text-red mr-2" viewBox="0 0 20 20">
2
- <circle cx="10" cy="10" r="10"/>
3
- </svg>
1
+ <svg class="h-2 w-2 fill-current text-red mr-2" viewBox="0 0 20 20">
2
+ <circle cx="10" cy="10" r="10"/>
3
+ </svg>
@@ -1,14 +1,14 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="50px" height="50px" viewBox="0 0 525 525" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
4
- <title>reject</title>
5
- <desc>Created with Sketch.</desc>
6
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
- <g id="Video-Call-yes-no-(1)" transform="translate(-622.000000, -134.000000)">
8
- <g id="reject" transform="translate(622.000000, 134.000000)">
9
- <circle id="Oval" fill="#9F2214" cx="262.32" cy="262.62" r="262.12"></circle>
10
- <path d="M431.13,324.68 C439.848013,309.180629 442.302617,290.932119 437.99,273.68 C416.99,187.68 263.99,190.13 263.99,190.13 C263.99,190.13 111,182.69 87.24,267.92 C82.3719639,285.020231 84.2288246,303.334817 92.43,319.11 L92.5,319.26 C96.787592,327.204682 105.735171,331.447697 114.6,329.74 L185.18,316.46 C185.18,316.46 208.36,310.18 206.24,290.15 C205.764001,286.286139 204.631018,282.532076 202.89,279.05 C199.05,267.58 192.23,250.83 184.23,247.22 C194.73,243.76 220.14,237.37 263.05,238.07 C305.96,238.77 331.14,246 341.52,249.8 C333.41,253.15 326.05,269.66 321.82,281.01 C319.970001,284.440405 318.715528,288.159869 318.11,292.01 C315.33,311.95 338.29,319.01 338.29,319.01 L408.61,334.65 C417.413254,336.643207 426.492273,332.696687 431.04,324.9 L431.13,324.68 Z" id="Path" fill="#FFFFFF"></path>
11
- </g>
12
- </g>
13
- </g>
14
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="50px" height="50px" viewBox="0 0 525 525" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
4
+ <title>reject</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="Video-Call-yes-no-(1)" transform="translate(-622.000000, -134.000000)">
8
+ <g id="reject" transform="translate(622.000000, 134.000000)">
9
+ <circle id="Oval" fill="#9F2214" cx="262.32" cy="262.62" r="262.12"></circle>
10
+ <path d="M431.13,324.68 C439.848013,309.180629 442.302617,290.932119 437.99,273.68 C416.99,187.68 263.99,190.13 263.99,190.13 C263.99,190.13 111,182.69 87.24,267.92 C82.3719639,285.020231 84.2288246,303.334817 92.43,319.11 L92.5,319.26 C96.787592,327.204682 105.735171,331.447697 114.6,329.74 L185.18,316.46 C185.18,316.46 208.36,310.18 206.24,290.15 C205.764001,286.286139 204.631018,282.532076 202.89,279.05 C199.05,267.58 192.23,250.83 184.23,247.22 C194.73,243.76 220.14,237.37 263.05,238.07 C305.96,238.77 331.14,246 341.52,249.8 C333.41,253.15 326.05,269.66 321.82,281.01 C319.970001,284.440405 318.715528,288.159869 318.11,292.01 C315.33,311.95 338.29,319.01 338.29,319.01 L408.61,334.65 C417.413254,336.643207 426.492273,332.696687 431.04,324.9 L431.13,324.68 Z" id="Path" fill="#FFFFFF"></path>
11
+ </g>
12
+ </g>
13
+ </g>
14
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg class="fill-current text-grey h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
2
- <path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z" />
3
- </svg>
1
+ <svg class="fill-current text-grey h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
2
+ <path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z" />
3
+ </svg>
@@ -1,17 +1,17 @@
1
- <script lang="ts" setup>
2
- import { toRefs } from "vue";
3
- import { Affiliate } from "../../models/affiliate";
4
- import { Sponsor } from "../../models/conference";
5
-
6
- type Props = {
7
- affiliate: Affiliate | Sponsor;
8
- };
9
-
10
- const props = defineProps<Props>();
11
-
12
- const { affiliate } = toRefs(props);
13
- </script>
14
-
15
- <template>
16
- <div class="flex w-full flex-col"></div>
17
- </template>
1
+ <script lang="ts" setup>
2
+ import { toRefs } from "vue";
3
+ import { Affiliate } from "../../models/affiliate";
4
+ import { Sponsor } from "../../models/conference";
5
+
6
+ type Props = {
7
+ affiliate: Affiliate | Sponsor;
8
+ };
9
+
10
+ const props = defineProps<Props>();
11
+
12
+ const { affiliate } = toRefs(props);
13
+ </script>
14
+
15
+ <template>
16
+ <div class="flex w-full flex-col"></div>
17
+ </template>
@@ -1,261 +1,261 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs } from "vue";
3
- import type { Conference } from "../../models/conference";
4
- import { useAgenda } from "../../composables/useAgenda";
5
- import { usePresentation } from "../../composables/usePresentation";
6
- import { usePresenter } from "../../composables/usePresenter";
7
- import { useClassBinding } from "../../composables/useClassBinding";
8
- import { Presenter } from "../../models/conference";
9
- import {
10
- AgendaListClassObj,
11
- AgendaListCompObj,
12
- AgendaListAccordionClassObj,
13
- } from "../../@types/components";
14
- import AgendaAccordion from "./components/AgendaListAccordion.vue";
15
- import Calendar from "./components/Calendar.vue";
16
-
17
- type Props = {
18
- conference: Conference;
19
- useCalendar?: boolean;
20
- classObject?: AgendaListClassObj;
21
- };
22
-
23
- const props = withDefaults(defineProps<Props>(), {
24
- useCalendar: true,
25
- classObject: () => {
26
- return {
27
- container: "",
28
- accordionContainer: "",
29
- titleContainer: "",
30
- timeElement: "",
31
- iconTextElement: "",
32
- iconElement: "",
33
- iconWidth: "20px",
34
- dropdownContainer: "",
35
- marginElement: "",
36
- presentersContainer: "",
37
- presentersHeader: "",
38
- presenterListContainer: "",
39
- presenterElement: "",
40
- presenterName: "",
41
- presenterTitle: "",
42
- components: ref<AgendaListCompObj>({
43
- agendaListAccordion: ref<AgendaListAccordionClassObj>({}),
44
- }),
45
- };
46
- },
47
- });
48
-
49
- const { conference } = toRefs(props);
50
-
51
- const { days, getCombinedTrackList } = useAgenda(conference);
52
- const {
53
- getPresentationStartTime,
54
- getPresentationEndTime
55
- } = usePresentation(conference);
56
- const { classBinding } = useClassBinding();
57
-
58
- // data
59
- const expandedPres = ref<number>(0);
60
-
61
- // methods
62
- const presentersToComposables = (presenters: Presenter[]) => {
63
- const data = [];
64
-
65
- presenters.forEach((presenter) => {
66
- data.push({
67
- presenter,
68
- ...usePresenter(presenter),
69
- });
70
- });
71
-
72
- return data;
73
- };
74
-
75
- const setPres = (_expanded: number) => {
76
- expandedPres.value = _expanded;
77
- };
78
-
79
- const logPres = (_presId: number, _expanded: number) => {
80
- console.log(_presId, typeof _presId);
81
- };
82
-
83
- const isPres = (_presId: number): boolean => {
84
- return expandedPres.value === _presId;
85
- };
86
- </script>
87
-
88
- <template>
89
- <div
90
- :class="
91
- classBinding(
92
- classObject,
93
- 'container',
94
- 'flex flex-col space-y-5 text-neutral-700'
95
- )
96
- "
97
- >
98
- <template v-for="day in days">
99
- <template v-for="track in getCombinedTrackList(day)">
100
- <div
101
- v-for="presentation in track.presentations"
102
- :key="presentation.id"
103
- :class="classBinding(classObject, 'accordionContainer', '')"
104
- >
105
- <AgendaAccordion
106
- :item-id="presentation.id"
107
- :class-object="classObject.components.agendaListAccordion"
108
- @expanded="setPres"
109
- >
110
- <template #header="isExpanded">
111
- <div
112
- :class="
113
- classBinding(
114
- classObject,
115
- 'titleContainer',
116
- 'text-left text-xl flex-col md:flex-row flex'
117
- )
118
- "
119
- >
120
- <span
121
- :class="
122
- classBinding(classObject, 'timeElement', 'time-width')
123
- "
124
- >
125
- {{ getPresentationStartTime(presentation, "h:mm") }}
126
- -
127
- {{ getPresentationEndTime(presentation, "h:mm") }}
128
- </span>
129
- <span
130
- :class="
131
- classBinding(
132
- classObject,
133
- 'iconTextElement',
134
- 'flex flex-row md:ml-5'
135
- )
136
- "
137
- >
138
- <CommonSvgIcon
139
- v-if="!isPres(presentation.id)"
140
- :class-object="{ svgElement: 'fill-neutral-700' }"
141
- :class="
142
- classBinding(classObject, 'iconElement', 'mr-1 pt-1')
143
- "
144
- icon="circlePlus"
145
- :width="classObject.iconWidth"
146
- />
147
- <CommonSvgIcon
148
- v-else
149
- :class-object="{ svgElement: 'fill-neutral-700' }"
150
- :class="
151
- classBinding(classObject, 'iconElement', 'mr-1 pt-1')
152
- "
153
- icon="circleMinus"
154
- :width="classObject.iconWidth"
155
- />
156
- {{ presentation.name }}
157
- </span>
158
- </div>
159
- </template>
160
- <template #body>
161
- <div
162
- :class="
163
- classBinding(
164
- classObject,
165
- 'dropdownContainer',
166
- 'flex flex-row'
167
- )
168
- "
169
- >
170
- <!-- left margin element -->
171
- <span
172
- :class="
173
- classBinding(
174
- classObject,
175
- 'marginElement',
176
- 'text-lg hidden md:block md:flex-initial time-width md:mr-8'
177
- )
178
- "
179
- />
180
- <div
181
- :class="
182
- classBinding(
183
- classObject,
184
- 'presentersContainer',
185
- 'flex-1 my-3'
186
- )
187
- "
188
- >
189
- <!-- ADD TO CALENDAR -->
190
- <calendar
191
- v-if="useCalendar"
192
- :key="conference.id"
193
- class="mb-3"
194
- :presentation="presentation"
195
- :conference="conference"
196
- />
197
- <h3
198
- :class="
199
- classBinding(
200
- classObject,
201
- 'presentersHeader',
202
- 'font-bold text-lg'
203
- )
204
- "
205
- >
206
- Presenters
207
- </h3>
208
- <div
209
- :class="
210
- classBinding(
211
- classObject,
212
- 'presenterListContainer',
213
- 'flex flex-col space-y-3'
214
- )
215
- "
216
- >
217
- <div
218
- v-for="presenter in presentersToComposables(
219
- presentation.presenters
220
- )"
221
- :key="presenter.presenter.id"
222
- :class="classBinding(classObject, 'presenterElement', '')"
223
- >
224
- <p
225
- :class="
226
- classBinding(
227
- classObject,
228
- 'presenterName',
229
- 'text-lg pb-0 mb-0'
230
- )
231
- "
232
- >
233
- {{ presenter.fullName.value }}
234
- </p>
235
- <p
236
- v-if="presenter.titleCompany.value"
237
- :class="
238
- classBinding(
239
- classObject,
240
- 'presenterTitle',
241
- 'text-sm pt-0 mb-1'
242
- )
243
- "
244
- >
245
- {{ presenter.titleCompany.value }}
246
- </p>
247
- </div>
248
- </div>
249
- </div>
250
- </div>
251
- </template>
252
- </AgendaAccordion>
253
- </div>
254
- </template>
255
- </template>
256
- </div>
257
- </template>
258
-
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs } from "vue";
3
+ import type { Conference } from "../../models/conference";
4
+ import { useAgenda } from "../../composables/useAgenda";
5
+ import { usePresentation } from "../../composables/usePresentation";
6
+ import { usePresenter } from "../../composables/usePresenter";
7
+ import { useClassBinding } from "../../composables/useClassBinding";
8
+ import { Presenter } from "../../models/conference";
9
+ import {
10
+ AgendaListClassObj,
11
+ AgendaListCompObj,
12
+ AgendaListAccordionClassObj,
13
+ } from "../../@types/components";
14
+ import AgendaAccordion from "./components/AgendaListAccordion.vue";
15
+ import Calendar from "./components/Calendar.vue";
16
+
17
+ type Props = {
18
+ conference: Conference;
19
+ useCalendar?: boolean;
20
+ classObject?: AgendaListClassObj;
21
+ };
22
+
23
+ const props = withDefaults(defineProps<Props>(), {
24
+ useCalendar: true,
25
+ classObject: () => {
26
+ return {
27
+ container: "",
28
+ accordionContainer: "",
29
+ titleContainer: "",
30
+ timeElement: "",
31
+ iconTextElement: "",
32
+ iconElement: "",
33
+ iconWidth: "20px",
34
+ dropdownContainer: "",
35
+ marginElement: "",
36
+ presentersContainer: "",
37
+ presentersHeader: "",
38
+ presenterListContainer: "",
39
+ presenterElement: "",
40
+ presenterName: "",
41
+ presenterTitle: "",
42
+ components: ref<AgendaListCompObj>({
43
+ agendaListAccordion: ref<AgendaListAccordionClassObj>({}),
44
+ }),
45
+ };
46
+ },
47
+ });
48
+
49
+ const { conference } = toRefs(props);
50
+
51
+ const { days, getCombinedTrackList } = useAgenda(conference);
52
+ const {
53
+ getPresentationStartTime,
54
+ getPresentationEndTime
55
+ } = usePresentation(conference);
56
+ const { classBinding } = useClassBinding();
57
+
58
+ // data
59
+ const expandedPres = ref<number>(0);
60
+
61
+ // methods
62
+ const presentersToComposables = (presenters: Presenter[]) => {
63
+ const data = [];
64
+
65
+ presenters.forEach((presenter) => {
66
+ data.push({
67
+ presenter,
68
+ ...usePresenter(presenter),
69
+ });
70
+ });
71
+
72
+ return data;
73
+ };
74
+
75
+ const setPres = (_expanded: number) => {
76
+ expandedPres.value = _expanded;
77
+ };
78
+
79
+ const logPres = (_presId: number, _expanded: number) => {
80
+ console.log(_presId, typeof _presId);
81
+ };
82
+
83
+ const isPres = (_presId: number): boolean => {
84
+ return expandedPres.value === _presId;
85
+ };
86
+ </script>
87
+
88
+ <template>
89
+ <div
90
+ :class="
91
+ classBinding(
92
+ classObject,
93
+ 'container',
94
+ 'flex flex-col space-y-5 text-neutral-700'
95
+ )
96
+ "
97
+ >
98
+ <template v-for="day in days">
99
+ <template v-for="track in getCombinedTrackList(day)">
100
+ <div
101
+ v-for="presentation in track.presentations"
102
+ :key="presentation.id"
103
+ :class="classBinding(classObject, 'accordionContainer', '')"
104
+ >
105
+ <AgendaAccordion
106
+ :item-id="presentation.id"
107
+ :class-object="classObject.components.agendaListAccordion"
108
+ @expanded="setPres"
109
+ >
110
+ <template #header="isExpanded">
111
+ <div
112
+ :class="
113
+ classBinding(
114
+ classObject,
115
+ 'titleContainer',
116
+ 'text-left text-xl flex-col md:flex-row flex'
117
+ )
118
+ "
119
+ >
120
+ <span
121
+ :class="
122
+ classBinding(classObject, 'timeElement', 'time-width')
123
+ "
124
+ >
125
+ {{ getPresentationStartTime(presentation, "h:mm") }}
126
+ -
127
+ {{ getPresentationEndTime(presentation, "h:mm") }}
128
+ </span>
129
+ <span
130
+ :class="
131
+ classBinding(
132
+ classObject,
133
+ 'iconTextElement',
134
+ 'flex flex-row md:ml-5'
135
+ )
136
+ "
137
+ >
138
+ <CommonSvgIcon
139
+ v-if="!isPres(presentation.id)"
140
+ :class-object="{ svgElement: 'fill-neutral-700' }"
141
+ :class="
142
+ classBinding(classObject, 'iconElement', 'mr-1 pt-1')
143
+ "
144
+ icon="circlePlus"
145
+ :width="classObject.iconWidth"
146
+ />
147
+ <CommonSvgIcon
148
+ v-else
149
+ :class-object="{ svgElement: 'fill-neutral-700' }"
150
+ :class="
151
+ classBinding(classObject, 'iconElement', 'mr-1 pt-1')
152
+ "
153
+ icon="circleMinus"
154
+ :width="classObject.iconWidth"
155
+ />
156
+ {{ presentation.name }}
157
+ </span>
158
+ </div>
159
+ </template>
160
+ <template #body>
161
+ <div
162
+ :class="
163
+ classBinding(
164
+ classObject,
165
+ 'dropdownContainer',
166
+ 'flex flex-row'
167
+ )
168
+ "
169
+ >
170
+ <!-- left margin element -->
171
+ <span
172
+ :class="
173
+ classBinding(
174
+ classObject,
175
+ 'marginElement',
176
+ 'text-lg hidden md:block md:flex-initial time-width md:mr-8'
177
+ )
178
+ "
179
+ />
180
+ <div
181
+ :class="
182
+ classBinding(
183
+ classObject,
184
+ 'presentersContainer',
185
+ 'flex-1 my-3'
186
+ )
187
+ "
188
+ >
189
+ <!-- ADD TO CALENDAR -->
190
+ <calendar
191
+ v-if="useCalendar"
192
+ :key="conference.id"
193
+ class="mb-3"
194
+ :presentation="presentation"
195
+ :conference="conference"
196
+ />
197
+ <h3
198
+ :class="
199
+ classBinding(
200
+ classObject,
201
+ 'presentersHeader',
202
+ 'font-bold text-lg'
203
+ )
204
+ "
205
+ >
206
+ Presenters
207
+ </h3>
208
+ <div
209
+ :class="
210
+ classBinding(
211
+ classObject,
212
+ 'presenterListContainer',
213
+ 'flex flex-col space-y-3'
214
+ )
215
+ "
216
+ >
217
+ <div
218
+ v-for="presenter in presentersToComposables(
219
+ presentation.presenters
220
+ )"
221
+ :key="presenter.presenter.id"
222
+ :class="classBinding(classObject, 'presenterElement', '')"
223
+ >
224
+ <p
225
+ :class="
226
+ classBinding(
227
+ classObject,
228
+ 'presenterName',
229
+ 'text-lg pb-0 mb-0'
230
+ )
231
+ "
232
+ >
233
+ {{ presenter.fullName.value }}
234
+ </p>
235
+ <p
236
+ v-if="presenter.titleCompany.value"
237
+ :class="
238
+ classBinding(
239
+ classObject,
240
+ 'presenterTitle',
241
+ 'text-sm pt-0 mb-1'
242
+ )
243
+ "
244
+ >
245
+ {{ presenter.titleCompany.value }}
246
+ </p>
247
+ </div>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ </template>
252
+ </AgendaAccordion>
253
+ </div>
254
+ </template>
255
+ </template>
256
+ </div>
257
+ </template>
258
+
259
259
  <style>
260
260
  .accord {
261
261
  transition: height var(--vc-auto-duration) ease-out;
@@ -264,4 +264,4 @@ const isPres = (_presId: number): boolean => {
264
264
  .time-width {
265
265
  min-width: 10ch;
266
266
  }
267
- </style>
267
+ </style>