@icvdeveloper/common-module 0.0.95 → 0.0.97

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 (93) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/assets/scss/index.css +705 -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 +243 -243
  35. package/dist/runtime/components/agenda/AgendaTabbed.vue +309 -309
  36. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +53 -53
  37. package/dist/runtime/components/agenda/components/Calendar.vue +89 -89
  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 +81 -81
  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 +151 -151
  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 +531 -531
  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 +157 -157
  65. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +186 -185
  66. package/dist/runtime/components/media/PlayerAndContentContainer.vue +175 -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/ContentAccordion.vue.d.ts +1 -3
  73. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  74. package/dist/runtime/components/media/components/ContentTabs.vue +231 -231
  75. package/dist/runtime/components/media/components/DocumentsPanel.vue +31 -31
  76. package/dist/runtime/components/media/components/JsonApi.vue +31 -31
  77. package/dist/runtime/components/media/components/MediaContainer.vue +63 -63
  78. package/dist/runtime/components/media/components/OverviewPanel.vue +52 -52
  79. package/dist/runtime/components/media/components/PresentersPanel.vue +52 -52
  80. package/dist/runtime/components/media/components/SessionReporting.vue +93 -93
  81. package/dist/runtime/components/media/components/SponsorsPanel.vue +71 -71
  82. package/dist/runtime/components/media/components/WindowContent.vue +92 -92
  83. package/dist/runtime/components/media/components/WindowSlide.vue +72 -72
  84. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  85. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  86. package/dist/runtime/components/profile/Profile.vue +149 -149
  87. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  88. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  89. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  90. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  91. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  92. package/dist/runtime/components/support/FAQAccordion.vue +140 -140
  93. package/package.json +1 -1
@@ -1,185 +1,186 @@
1
- <script lang="ts" setup>
2
- import { toRefs, computed, watch, onMounted, nextTick } from "vue";
3
- import { get } from "lodash-es";
4
- import { Presentation, PlayerObj } from "../../models/conference";
5
- import { WebcastPlayerClassObj } from "../../@types/components";
6
- import { useClassBinding } from "../../composables/useClassBinding";
7
-
8
- type Props = {
9
- presentation: Presentation;
10
- playing?: boolean;
11
- classObject?: WebcastPlayerClassObj;
12
- };
13
-
14
- const props = withDefaults(defineProps<Props>(), {
15
- playing: true,
16
- classObject: () => {
17
- return {
18
- container: "",
19
- playerElement: "",
20
- embedElement: "",
21
- };
22
- },
23
- });
24
-
25
- const { presentation, playing } = toRefs(props);
26
-
27
- const { classBinding } = useClassBinding();
28
-
29
- // data
30
- let icvPlayerObj: PlayerObj = {
31
- autostart: false,
32
- format: "hls",
33
- playerDiv: "mediaPlayer",
34
- };
35
- let timeInterval: NodeJS.Timer | null = null;
36
-
37
- // emits
38
- const emit = defineEmits<{
39
- (event: "time", value: Number): void;
40
- }>();
41
-
42
- // computed
43
- const isHtml = computed(() => {
44
- return presentation.value.type === "embed";
45
- });
46
-
47
- const isFile = computed(() => {
48
- const mediaTypeArray = ["video", "audio", "video_slide", "audio_slide"];
49
- return mediaTypeArray.indexOf(get(presentation.value, "type")) >= 0;
50
- });
51
-
52
- // methods
53
- const playStream = () => {
54
- if (isFile.value) {
55
- icvPlayerObj.format = ["audio", "audio_slide"].includes(
56
- String(presentation.value.type)
57
- )
58
- ? "audio"
59
- : "video";
60
- icvPlayerObj.loadCustomStream({
61
- file: get(presentation.value, "video_url"),
62
- });
63
- }
64
- };
65
-
66
- const setupMediaPlayer = () => {
67
- if (icvPlayerObj) {
68
- icvPlayerObj = <PlayerObj>{};
69
- }
70
- if (isFile.value) {
71
- nextTick(() => {
72
- icvPlayerObj = new window.ICVDMStreamPlayer();
73
- icvPlayerObj.format = String(presentation.value.type);
74
- icvPlayerObj.playerDiv = "mediaPlayer";
75
- icvPlayerObj.addTrack(get(presentation.value, "captions_url"));
76
- icvPlayerObj.getPosition();
77
- icvPlayerObj.autostart = true;
78
- playStream();
79
- });
80
- }
81
- };
82
-
83
- const checkStreamTime = () => {
84
- if (icvPlayerObj) {
85
- if (!playing.value) {
86
- stop();
87
- return;
88
- }
89
- emit("time", icvPlayerObj.getPosition());
90
- }
91
- };
92
-
93
- const seek = (_time) => {
94
- if (icvPlayerObj && isFile) {
95
- icvPlayerObj.seek(_time);
96
- }
97
- };
98
-
99
- const stop = () => {
100
- if (icvPlayerObj && isFile) {
101
- icvPlayerObj.stop();
102
- }
103
- };
104
-
105
- const remove = () => {
106
- if (icvPlayerObj && isFile) {
107
- icvPlayerObj.remove();
108
- }
109
- };
110
-
111
- const cleanup = () => {
112
- if (icvPlayerObj) {
113
- stop();
114
- remove();
115
- icvPlayerObj = <PlayerObj>{};
116
- }
117
- clearInterval(timeInterval);
118
- };
119
-
120
- // watchers
121
- watch(
122
- presentation,
123
- (_oldPresentation: Presentation, _newPresentation: Presentation) => {
124
- if (_oldPresentation.type !== _newPresentation.type) {
125
- setupMediaPlayer();
126
- }
127
- }
128
- );
129
-
130
- // on mount
131
- // @todo figure out why ICVDMStreamPlayer doesn't load when loadScripts is run asynchroniously
132
- onMounted(() => {
133
- const _script = document.createElement("script");
134
- _script.setAttribute(
135
- "src",
136
- "https://cdn.v3mediaportal.com/streaming-player/js/icvdm.player.min.js?_id=75"
137
- );
138
- document.head.appendChild(_script);
139
- _script.onload = () => {
140
- if (get(window, "ICVDMStreamPlayer", false)) {
141
- setupMediaPlayer();
142
- timeInterval = setInterval(checkStreamTime, 1000);
143
- }
144
- };
145
- });
146
-
147
- onBeforeRouteLeave(() => {
148
- cleanup();
149
- });
150
- </script>
151
-
152
- <template>
153
- <div
154
- id="archive-player-container"
155
- :class="classBinding(classObject, 'container', 'text-center')"
156
- >
157
- <div
158
- v-if="isFile"
159
- id="mediaPlayer"
160
- ref="mediaPlayer"
161
- :class="classBinding(classObject, 'playerElement', '')"
162
- ></div>
163
- <span
164
- v-if="isHtml"
165
- :v-html="presentation.embed_html"
166
- :class="classBinding(classObject, 'embedElement', '')"
167
- ></span>
168
- </div>
169
- </template>
170
-
171
- <style>
172
- #archive-player-container > span {
173
- padding-bottom: 56.25%;
174
- height: 0;
175
- position: relative;
176
- display: block;
177
- }
178
- #archive-player-container > span > iframe {
179
- position: absolute;
180
- top: 0;
181
- left: 0;
182
- height: 100%;
183
- width: 100%;
184
- }
185
- </style>
1
+ <script lang="ts" setup>
2
+ import { toRefs, computed, watch, onMounted, nextTick } from "vue";
3
+ import { onBeforeRouteLeave } from "vue-router";
4
+ import { get } from "lodash-es";
5
+ import { Presentation, PlayerObj } from "../../models/conference";
6
+ import { WebcastPlayerClassObj } from "../../@types/components";
7
+ import { useClassBinding } from "../../composables/useClassBinding";
8
+
9
+ type Props = {
10
+ presentation: Presentation;
11
+ playing?: boolean;
12
+ classObject?: WebcastPlayerClassObj;
13
+ };
14
+
15
+ const props = withDefaults(defineProps<Props>(), {
16
+ playing: true,
17
+ classObject: () => {
18
+ return {
19
+ container: "",
20
+ playerElement: "",
21
+ embedElement: "",
22
+ };
23
+ },
24
+ });
25
+
26
+ const { presentation, playing } = toRefs(props);
27
+
28
+ const { classBinding } = useClassBinding();
29
+
30
+ // data
31
+ let icvPlayerObj: PlayerObj = {
32
+ autostart: false,
33
+ format: "hls",
34
+ playerDiv: "mediaPlayer",
35
+ };
36
+ let timeInterval: NodeJS.Timer | null = null;
37
+
38
+ // emits
39
+ const emit = defineEmits<{
40
+ (event: "time", value: Number): void;
41
+ }>();
42
+
43
+ // computed
44
+ const isHtml = computed(() => {
45
+ return presentation.value.type === "embed";
46
+ });
47
+
48
+ const isFile = computed(() => {
49
+ const mediaTypeArray = ["video", "audio", "video_slide", "audio_slide"];
50
+ return mediaTypeArray.indexOf(get(presentation.value, "type")) >= 0;
51
+ });
52
+
53
+ // methods
54
+ const playStream = () => {
55
+ if (isFile.value) {
56
+ icvPlayerObj.format = ["audio", "audio_slide"].includes(
57
+ String(presentation.value.type)
58
+ )
59
+ ? "audio"
60
+ : "video";
61
+ icvPlayerObj.loadCustomStream({
62
+ file: get(presentation.value, "video_url"),
63
+ });
64
+ }
65
+ };
66
+
67
+ const setupMediaPlayer = () => {
68
+ if (icvPlayerObj) {
69
+ icvPlayerObj = <PlayerObj>{};
70
+ }
71
+ if (isFile.value) {
72
+ nextTick(() => {
73
+ icvPlayerObj = new window.ICVDMStreamPlayer();
74
+ icvPlayerObj.format = String(presentation.value.type);
75
+ icvPlayerObj.playerDiv = "mediaPlayer";
76
+ icvPlayerObj.addTrack(get(presentation.value, "captions_url"));
77
+ icvPlayerObj.getPosition();
78
+ icvPlayerObj.autostart = true;
79
+ playStream();
80
+ });
81
+ }
82
+ };
83
+
84
+ const checkStreamTime = () => {
85
+ if (icvPlayerObj) {
86
+ if (!playing.value) {
87
+ stop();
88
+ return;
89
+ }
90
+ emit("time", icvPlayerObj.getPosition());
91
+ }
92
+ };
93
+
94
+ const seek = (_time) => {
95
+ if (icvPlayerObj && isFile) {
96
+ icvPlayerObj.seek(_time);
97
+ }
98
+ };
99
+
100
+ const stop = () => {
101
+ if (icvPlayerObj && isFile) {
102
+ icvPlayerObj.stop();
103
+ }
104
+ };
105
+
106
+ const remove = () => {
107
+ if (icvPlayerObj && isFile) {
108
+ icvPlayerObj.remove();
109
+ }
110
+ };
111
+
112
+ const cleanup = () => {
113
+ if (icvPlayerObj) {
114
+ stop();
115
+ remove();
116
+ icvPlayerObj = <PlayerObj>{};
117
+ }
118
+ clearInterval(timeInterval);
119
+ };
120
+
121
+ // watchers
122
+ watch(
123
+ presentation,
124
+ (_oldPresentation: Presentation, _newPresentation: Presentation) => {
125
+ if (_oldPresentation.type !== _newPresentation.type) {
126
+ setupMediaPlayer();
127
+ }
128
+ }
129
+ );
130
+
131
+ // on mount
132
+ // @todo figure out why ICVDMStreamPlayer doesn't load when loadScripts is run asynchroniously
133
+ onMounted(() => {
134
+ const _script = document.createElement("script");
135
+ _script.setAttribute(
136
+ "src",
137
+ "https://cdn.v3mediaportal.com/streaming-player/js/icvdm.player.min.js?_id=75"
138
+ );
139
+ document.head.appendChild(_script);
140
+ _script.onload = () => {
141
+ if (get(window, "ICVDMStreamPlayer", false)) {
142
+ setupMediaPlayer();
143
+ timeInterval = setInterval(checkStreamTime, 1000);
144
+ }
145
+ };
146
+ });
147
+
148
+ onBeforeRouteLeave(() => {
149
+ cleanup();
150
+ });
151
+ </script>
152
+
153
+ <template>
154
+ <div
155
+ id="archive-player-container"
156
+ :class="classBinding(classObject, 'container', 'text-center')"
157
+ >
158
+ <div
159
+ v-if="isFile"
160
+ id="mediaPlayer"
161
+ ref="mediaPlayer"
162
+ :class="classBinding(classObject, 'playerElement', '')"
163
+ ></div>
164
+ <span
165
+ v-if="isHtml"
166
+ :v-html="presentation.embed_html"
167
+ :class="classBinding(classObject, 'embedElement', '')"
168
+ ></span>
169
+ </div>
170
+ </template>
171
+
172
+ <style>
173
+ #archive-player-container > span {
174
+ padding-bottom: 56.25%;
175
+ height: 0;
176
+ position: relative;
177
+ display: block;
178
+ }
179
+ #archive-player-container > span > iframe {
180
+ position: absolute;
181
+ top: 0;
182
+ left: 0;
183
+ height: 100%;
184
+ width: 100%;
185
+ }
186
+ </style>