@icvdeveloper/common-module 0.0.112 → 0.0.114

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 (95) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/@types/components.d.ts +2 -0
  4. package/dist/runtime/assets/svg/answer.svg +14 -14
  5. package/dist/runtime/assets/svg/avatar.svg +1 -1
  6. package/dist/runtime/assets/svg/bell-icon.svg +3 -3
  7. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -1
  8. package/dist/runtime/assets/svg/close-icon.svg +1 -1
  9. package/dist/runtime/assets/svg/icon-avatar.svg +1 -1
  10. package/dist/runtime/assets/svg/icon-chevron.svg +4 -4
  11. package/dist/runtime/assets/svg/icon-circle-plus.svg +1 -1
  12. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  13. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  14. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  15. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  16. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  17. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  18. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  19. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  20. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  21. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  22. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  23. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  24. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  25. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  26. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  27. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  28. package/dist/runtime/assets/svg/phone.svg +1 -1
  29. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  30. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  31. package/dist/runtime/assets/svg/reject.svg +14 -14
  32. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  33. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  34. package/dist/runtime/components/agenda/AgendaList.vue +271 -271
  35. package/dist/runtime/components/agenda/AgendaTabbed.vue +309 -309
  36. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +67 -67
  37. package/dist/runtime/components/agenda/components/Calendar.vue +81 -81
  38. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  39. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  40. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  41. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  42. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  43. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  44. package/dist/runtime/components/auth/Registration.vue +27 -27
  45. package/dist/runtime/components/auth/Ucc.vue +132 -132
  46. package/dist/runtime/components/core/Accordion.vue +97 -97
  47. package/dist/runtime/components/core/CountdownTimer.vue +357 -357
  48. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  49. package/dist/runtime/components/core/Modal.vue +111 -111
  50. package/dist/runtime/components/core/Navbar.vue +154 -154
  51. package/dist/runtime/components/core/SvgIcon.vue +157 -157
  52. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  53. package/dist/runtime/components/events/EventHeader.vue +133 -133
  54. package/dist/runtime/components/events/ListEvents.vue +567 -551
  55. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  56. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  57. package/dist/runtime/components/forms/Message.vue +27 -27
  58. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  59. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  60. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  61. package/dist/runtime/components/forms/TextArea.vue +26 -26
  62. package/dist/runtime/components/forms/TextInput.vue +28 -28
  63. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  64. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +160 -157
  65. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +186 -186
  66. package/dist/runtime/components/media/PlayerAndContentContainer.vue +178 -175
  67. package/dist/runtime/components/media/WebcastVideoPlayer.vue +167 -167
  68. package/dist/runtime/components/media/components/AgendaPanel.vue +43 -43
  69. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +91 -91
  70. package/dist/runtime/components/media/components/CeCreditNotification.vue +95 -95
  71. package/dist/runtime/components/media/components/ContentAccordion.vue +63 -63
  72. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  73. package/dist/runtime/components/media/components/ContentTabs.vue +231 -231
  74. package/dist/runtime/components/media/components/DocumentsPanel.vue +31 -31
  75. package/dist/runtime/components/media/components/JsonApi.vue +31 -31
  76. package/dist/runtime/components/media/components/MediaContainer.vue +63 -63
  77. package/dist/runtime/components/media/components/OverviewPanel.vue +52 -52
  78. package/dist/runtime/components/media/components/PresentersPanel.vue +52 -52
  79. package/dist/runtime/components/media/components/SessionReporting.vue +93 -93
  80. package/dist/runtime/components/media/components/SponsorsPanel.vue +71 -71
  81. package/dist/runtime/components/media/components/WindowContent.vue +92 -92
  82. package/dist/runtime/components/media/components/WindowSlide.vue +72 -72
  83. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  84. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  85. package/dist/runtime/components/profile/Profile.vue +149 -149
  86. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  87. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  88. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  89. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  90. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  91. package/dist/runtime/components/support/FAQAccordion.vue +140 -140
  92. package/dist/runtime/composables/useConferenceHelpers.mjs +1 -1
  93. package/dist/runtime/composables/useEvents.d.ts +4 -0
  94. package/dist/runtime/composables/useEvents.mjs +11 -1
  95. package/package.json +1 -1
@@ -1,273 +1,273 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs } from "vue";
3
- import { add } from "date-fns";
4
- import type { Conference } from "../../models/conference";
5
- import { useAgenda } from "../../composables/useAgenda";
6
- import { useDateFormat } from "../../composables/useDateFormat";
7
- import { usePresenter } from "../../composables/usePresenter";
8
- import { useClassBinding } from "../../composables/useClassBinding";
9
- import { Presenter } from "../../models/conference";
10
- import {
11
- AgendaListClassObj,
12
- AgendaListCompObj,
13
- AgendaListAccordionClassObj,
14
- } from "../../@types/components";
15
- import AgendaAccordion from "./components/AgendaListAccordion.vue";
16
- import Calendar from "./components/Calendar.vue";
17
-
18
- type Props = {
19
- conference: Conference;
20
- useCalendar?: boolean;
21
- classObject?: AgendaListClassObj;
22
- };
23
-
24
- const props = withDefaults(defineProps<Props>(), {
25
- useCalendar: true,
26
- classObject: () => {
27
- return {
28
- container: "",
29
- accordionContainer: "",
30
- titleContainer: "",
31
- timeElement: "",
32
- iconTextElement: "",
33
- iconElement: "",
34
- iconWidth: "20px",
35
- dropdownContainer: "",
36
- marginElement: "",
37
- presentersContainer: "",
38
- presentersHeader: "",
39
- presenterListContainer: "",
40
- presenterElement: "",
41
- presenterName: "",
42
- presenterTitle: "",
43
- components: ref<AgendaListCompObj>({
44
- agendaListAccordion: ref<AgendaListAccordionClassObj>({}),
45
- }),
46
- };
47
- },
48
- });
49
-
50
- const { conference } = toRefs(props);
51
-
52
- const { days, getCombinedTrackList } = useAgenda(conference);
53
- const { formatTimezoneToLocal } = useDateFormat();
54
- const { classBinding } = useClassBinding();
55
-
56
- // data
57
- const presentersToComposables = (presenters: Presenter[]) => {
58
- const data = [];
59
-
60
- presenters.forEach((presenter) => {
61
- data.push({
62
- presenter,
63
- ...usePresenter(presenter),
64
- });
65
- });
66
-
67
- return data;
68
- };
69
-
70
- const expandedPres = ref<number>(0);
71
-
72
- // methods
73
- const setPres = (_expanded: number) => {
74
- expandedPres.value = _expanded;
75
- };
76
-
77
- const logPres = (_presId: number, _expanded: number) => {
78
- console.log(_presId, typeof _presId);
79
- };
80
-
81
- const isPres = (_presId: number): boolean => {
82
- return expandedPres.value === _presId;
83
- };
84
- </script>
85
-
86
- <template>
87
- <div
88
- :class="
89
- classBinding(
90
- classObject,
91
- 'container',
92
- 'flex flex-col space-y-5 text-neutral-700'
93
- )
94
- "
95
- >
96
- <template v-for="day in days">
97
- <template v-for="track in getCombinedTrackList(day)">
98
- <div
99
- v-for="presentation in track.presentations"
100
- :key="presentation.id"
101
- :class="classBinding(classObject, 'accordionContainer', '')"
102
- >
103
- <AgendaAccordion
104
- :item-id="presentation.id"
105
- :class-object="classObject.components.agendaListAccordion"
106
- @expanded="setPres"
107
- >
108
- <template #header="isExpanded">
109
- <div
110
- :class="
111
- classBinding(
112
- classObject,
113
- 'titleContainer',
114
- 'text-left text-xl flex-col md:flex-row flex'
115
- )
116
- "
117
- >
118
- <span
119
- :class="
120
- classBinding(classObject, 'timeElement', 'time-width')
121
- "
122
- >
123
- {{
124
- formatTimezoneToLocal(
125
- presentation.date,
126
- "h:mm",
127
- conference.timezone
128
- )
129
- }}
130
- -
131
- {{
132
- formatTimezoneToLocal(
133
- add(new Date(presentation.date), {
134
- seconds: presentation.duration,
135
- }),
136
- "h:mm",
137
- conference.timezone
138
- )
139
- }}
140
- </span>
141
- <span
142
- :class="
143
- classBinding(
144
- classObject,
145
- 'iconTextElement',
146
- 'flex flex-row md:ml-5'
147
- )
148
- "
149
- >
150
- <CommonSvgIcon
151
- v-if="!isPres(presentation.id)"
152
- :class-object="{ svgElement: 'fill-neutral-700' }"
153
- :class="
154
- classBinding(classObject, 'iconElement', 'mr-1 pt-1')
155
- "
156
- icon="circlePlus"
157
- :width="classObject.iconWidth"
158
- />
159
- <CommonSvgIcon
160
- v-else
161
- :class-object="{ svgElement: 'fill-neutral-700' }"
162
- :class="
163
- classBinding(classObject, 'iconElement', 'mr-1 pt-1')
164
- "
165
- icon="circleMinus"
166
- :width="classObject.iconWidth"
167
- />
168
- {{ presentation.name }}
169
- </span>
170
- </div>
171
- </template>
172
- <template #body>
173
- <div
174
- :class="
175
- classBinding(
176
- classObject,
177
- 'dropdownContainer',
178
- 'flex flex-row'
179
- )
180
- "
181
- >
182
- <!-- left margin element -->
183
- <span
184
- :class="
185
- classBinding(
186
- classObject,
187
- 'marginElement',
188
- 'text-lg hidden md:block md:flex-initial time-width md:mr-8'
189
- )
190
- "
191
- />
192
- <div
193
- :class="
194
- classBinding(
195
- classObject,
196
- 'presentersContainer',
197
- 'flex-1 my-3'
198
- )
199
- "
200
- >
201
- <!-- ADD TO CALENDAR -->
202
- <calendar
203
- v-if="useCalendar"
204
- :key="conference.id"
205
- class="mb-3"
206
- :presentation="presentation"
207
- :conference="conference"
208
- />
209
- <h3
210
- :class="
211
- classBinding(
212
- classObject,
213
- 'presentersHeader',
214
- 'font-bold text-lg'
215
- )
216
- "
217
- >
218
- Presenters
219
- </h3>
220
- <div
221
- :class="
222
- classBinding(
223
- classObject,
224
- 'presenterListContainer',
225
- 'flex flex-col space-y-3'
226
- )
227
- "
228
- >
229
- <div
230
- v-for="presenter in presentersToComposables(
231
- presentation.presenters
232
- )"
233
- :key="presenter.presenter.id"
234
- :class="classBinding(classObject, 'presenterElement', '')"
235
- >
236
- <p
237
- :class="
238
- classBinding(
239
- classObject,
240
- 'presenterName',
241
- 'text-lg pb-0 mb-0'
242
- )
243
- "
244
- >
245
- {{ presenter.fullName.value }}
246
- </p>
247
- <p
248
- v-if="presenter.titleCompany.value"
249
- :class="
250
- classBinding(
251
- classObject,
252
- 'presenterTitle',
253
- 'text-sm pt-0 mb-1'
254
- )
255
- "
256
- >
257
- {{ presenter.titleCompany.value }}
258
- </p>
259
- </div>
260
- </div>
261
- </div>
262
- </div>
263
- </template>
264
- </AgendaAccordion>
265
- </div>
266
- </template>
267
- </template>
268
- </div>
269
- </template>
270
-
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs } from "vue";
3
+ import { add } from "date-fns";
4
+ import type { Conference } from "../../models/conference";
5
+ import { useAgenda } from "../../composables/useAgenda";
6
+ import { useDateFormat } from "../../composables/useDateFormat";
7
+ import { usePresenter } from "../../composables/usePresenter";
8
+ import { useClassBinding } from "../../composables/useClassBinding";
9
+ import { Presenter } from "../../models/conference";
10
+ import {
11
+ AgendaListClassObj,
12
+ AgendaListCompObj,
13
+ AgendaListAccordionClassObj,
14
+ } from "../../@types/components";
15
+ import AgendaAccordion from "./components/AgendaListAccordion.vue";
16
+ import Calendar from "./components/Calendar.vue";
17
+
18
+ type Props = {
19
+ conference: Conference;
20
+ useCalendar?: boolean;
21
+ classObject?: AgendaListClassObj;
22
+ };
23
+
24
+ const props = withDefaults(defineProps<Props>(), {
25
+ useCalendar: true,
26
+ classObject: () => {
27
+ return {
28
+ container: "",
29
+ accordionContainer: "",
30
+ titleContainer: "",
31
+ timeElement: "",
32
+ iconTextElement: "",
33
+ iconElement: "",
34
+ iconWidth: "20px",
35
+ dropdownContainer: "",
36
+ marginElement: "",
37
+ presentersContainer: "",
38
+ presentersHeader: "",
39
+ presenterListContainer: "",
40
+ presenterElement: "",
41
+ presenterName: "",
42
+ presenterTitle: "",
43
+ components: ref<AgendaListCompObj>({
44
+ agendaListAccordion: ref<AgendaListAccordionClassObj>({}),
45
+ }),
46
+ };
47
+ },
48
+ });
49
+
50
+ const { conference } = toRefs(props);
51
+
52
+ const { days, getCombinedTrackList } = useAgenda(conference);
53
+ const { formatTimezoneToLocal } = useDateFormat();
54
+ const { classBinding } = useClassBinding();
55
+
56
+ // data
57
+ const presentersToComposables = (presenters: Presenter[]) => {
58
+ const data = [];
59
+
60
+ presenters.forEach((presenter) => {
61
+ data.push({
62
+ presenter,
63
+ ...usePresenter(presenter),
64
+ });
65
+ });
66
+
67
+ return data;
68
+ };
69
+
70
+ const expandedPres = ref<number>(0);
71
+
72
+ // methods
73
+ const setPres = (_expanded: number) => {
74
+ expandedPres.value = _expanded;
75
+ };
76
+
77
+ const logPres = (_presId: number, _expanded: number) => {
78
+ console.log(_presId, typeof _presId);
79
+ };
80
+
81
+ const isPres = (_presId: number): boolean => {
82
+ return expandedPres.value === _presId;
83
+ };
84
+ </script>
85
+
86
+ <template>
87
+ <div
88
+ :class="
89
+ classBinding(
90
+ classObject,
91
+ 'container',
92
+ 'flex flex-col space-y-5 text-neutral-700'
93
+ )
94
+ "
95
+ >
96
+ <template v-for="day in days">
97
+ <template v-for="track in getCombinedTrackList(day)">
98
+ <div
99
+ v-for="presentation in track.presentations"
100
+ :key="presentation.id"
101
+ :class="classBinding(classObject, 'accordionContainer', '')"
102
+ >
103
+ <AgendaAccordion
104
+ :item-id="presentation.id"
105
+ :class-object="classObject.components.agendaListAccordion"
106
+ @expanded="setPres"
107
+ >
108
+ <template #header="isExpanded">
109
+ <div
110
+ :class="
111
+ classBinding(
112
+ classObject,
113
+ 'titleContainer',
114
+ 'text-left text-xl flex-col md:flex-row flex'
115
+ )
116
+ "
117
+ >
118
+ <span
119
+ :class="
120
+ classBinding(classObject, 'timeElement', 'time-width')
121
+ "
122
+ >
123
+ {{
124
+ formatTimezoneToLocal(
125
+ presentation.date,
126
+ "h:mm",
127
+ conference.timezone
128
+ )
129
+ }}
130
+ -
131
+ {{
132
+ formatTimezoneToLocal(
133
+ add(new Date(presentation.date), {
134
+ seconds: presentation.duration,
135
+ }),
136
+ "h:mm",
137
+ conference.timezone
138
+ )
139
+ }}
140
+ </span>
141
+ <span
142
+ :class="
143
+ classBinding(
144
+ classObject,
145
+ 'iconTextElement',
146
+ 'flex flex-row md:ml-5'
147
+ )
148
+ "
149
+ >
150
+ <CommonSvgIcon
151
+ v-if="!isPres(presentation.id)"
152
+ :class-object="{ svgElement: 'fill-neutral-700' }"
153
+ :class="
154
+ classBinding(classObject, 'iconElement', 'mr-1 pt-1')
155
+ "
156
+ icon="circlePlus"
157
+ :width="classObject.iconWidth"
158
+ />
159
+ <CommonSvgIcon
160
+ v-else
161
+ :class-object="{ svgElement: 'fill-neutral-700' }"
162
+ :class="
163
+ classBinding(classObject, 'iconElement', 'mr-1 pt-1')
164
+ "
165
+ icon="circleMinus"
166
+ :width="classObject.iconWidth"
167
+ />
168
+ {{ presentation.name }}
169
+ </span>
170
+ </div>
171
+ </template>
172
+ <template #body>
173
+ <div
174
+ :class="
175
+ classBinding(
176
+ classObject,
177
+ 'dropdownContainer',
178
+ 'flex flex-row'
179
+ )
180
+ "
181
+ >
182
+ <!-- left margin element -->
183
+ <span
184
+ :class="
185
+ classBinding(
186
+ classObject,
187
+ 'marginElement',
188
+ 'text-lg hidden md:block md:flex-initial time-width md:mr-8'
189
+ )
190
+ "
191
+ />
192
+ <div
193
+ :class="
194
+ classBinding(
195
+ classObject,
196
+ 'presentersContainer',
197
+ 'flex-1 my-3'
198
+ )
199
+ "
200
+ >
201
+ <!-- ADD TO CALENDAR -->
202
+ <calendar
203
+ v-if="useCalendar"
204
+ :key="conference.id"
205
+ class="mb-3"
206
+ :presentation="presentation"
207
+ :conference="conference"
208
+ />
209
+ <h3
210
+ :class="
211
+ classBinding(
212
+ classObject,
213
+ 'presentersHeader',
214
+ 'font-bold text-lg'
215
+ )
216
+ "
217
+ >
218
+ Presenters
219
+ </h3>
220
+ <div
221
+ :class="
222
+ classBinding(
223
+ classObject,
224
+ 'presenterListContainer',
225
+ 'flex flex-col space-y-3'
226
+ )
227
+ "
228
+ >
229
+ <div
230
+ v-for="presenter in presentersToComposables(
231
+ presentation.presenters
232
+ )"
233
+ :key="presenter.presenter.id"
234
+ :class="classBinding(classObject, 'presenterElement', '')"
235
+ >
236
+ <p
237
+ :class="
238
+ classBinding(
239
+ classObject,
240
+ 'presenterName',
241
+ 'text-lg pb-0 mb-0'
242
+ )
243
+ "
244
+ >
245
+ {{ presenter.fullName.value }}
246
+ </p>
247
+ <p
248
+ v-if="presenter.titleCompany.value"
249
+ :class="
250
+ classBinding(
251
+ classObject,
252
+ 'presenterTitle',
253
+ 'text-sm pt-0 mb-1'
254
+ )
255
+ "
256
+ >
257
+ {{ presenter.titleCompany.value }}
258
+ </p>
259
+ </div>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ </template>
264
+ </AgendaAccordion>
265
+ </div>
266
+ </template>
267
+ </template>
268
+ </div>
269
+ </template>
270
+
271
271
  <style>
272
272
  .accord {
273
273
  transition: height var(--vc-auto-duration) ease-out;
@@ -276,4 +276,4 @@ const isPres = (_presId: number): boolean => {
276
276
  .time-width {
277
277
  min-width: 10ch;
278
278
  }
279
- </style>
279
+ </style>