@icvdeveloper/common-module 0.0.88 → 0.0.90

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 (92) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/@types/components.d.ts +4 -1
  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 -234
  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 +79 -80
  46. package/dist/runtime/components/core/Accordion.vue +97 -97
  47. package/dist/runtime/components/core/CountdownTimer.vue +357 -308
  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 -521
  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/PlayerAndContentContainer.vue +175 -175
  65. package/dist/runtime/components/media/WebcastVideoPlayer.vue +167 -167
  66. package/dist/runtime/components/media/components/AgendaPanel.vue +43 -42
  67. package/dist/runtime/components/media/components/CeCreditNotification.vue +95 -95
  68. package/dist/runtime/components/media/components/ContentAccordion.vue +63 -63
  69. package/dist/runtime/components/media/components/ContentAccordion.vue.d.ts +3 -1
  70. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  71. package/dist/runtime/components/media/components/ContentTabs.vue +229 -229
  72. package/dist/runtime/components/media/components/DocumentsPanel.vue +31 -31
  73. package/dist/runtime/components/media/components/JsonApi.vue +31 -31
  74. package/dist/runtime/components/media/components/MediaContainer.vue +63 -63
  75. package/dist/runtime/components/media/components/OverviewPanel.vue +52 -52
  76. package/dist/runtime/components/media/components/PresentersPanel.vue +52 -52
  77. package/dist/runtime/components/media/components/SessionReporting.vue +93 -93
  78. package/dist/runtime/components/media/components/SponsorsPanel.vue +71 -71
  79. package/dist/runtime/components/media/components/WindowContent.vue +92 -92
  80. package/dist/runtime/components/media/components/WindowSlide.vue +72 -72
  81. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  82. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  83. package/dist/runtime/components/profile/Profile.vue +149 -149
  84. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  85. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  86. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  87. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  88. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  89. package/dist/runtime/components/support/FAQAccordion.vue +140 -140
  90. package/dist/runtime/composables/useConferenceHelpers.mjs +2 -2
  91. package/dist/runtime/composables/useUcc.mjs +2 -4
  92. package/package.json +1 -1
@@ -1,78 +1,78 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs, computed } from "vue";
3
-
4
- type Props = {
5
- title?: string;
6
- tabContent?: {
7
- content?: string;
8
- label?: string;
9
- type?: string;
10
- };
11
- contentObject?: object;
12
- };
13
-
14
- const props = withDefaults(defineProps<Props>(), {
15
- title: "",
16
- tabContent: () => ({}),
17
- contentObject: () => ({}),
18
- });
19
-
20
- // data
21
- const { title, tabContent, contentObject } = toRefs(props);
22
- const active = ref<boolean>(false);
23
-
24
- // computed
25
- const tabTitleValues = computed(() => {
26
- if (title.value) {
27
- return {
28
- title: title.value,
29
- classes: "",
30
- };
31
- } else {
32
- return {
33
- title: tabContent.value.label,
34
- classes: "pl-4",
35
- };
36
- }
37
- });
38
- </script>
39
-
40
- <template>
41
- <div>
42
- <a
43
- v-if="tabContent.type === 'url'"
44
- :href="tabContent.content"
45
- target="_blank"
46
- class="py-3 block no-underline w-full font-hairline inline-flex items-center text-md my-1"
47
- :class="tabTitleValues.classes"
48
- >
49
- <span class="flex-initial">
50
- {{ tabTitleValues.title }}
51
- </span>
52
- </a>
53
- <a
54
- v-else
55
- href="#"
56
- class="py-3 block no-underline w-full font-hairline inline-flex items-center text-md my-1"
57
- :class="tabTitleValues.classes"
58
- @click.prevent="active = !active"
59
- >
60
- <span class="flex-initial"> {{ tabTitleValues.title }}&nbsp;&nbsp; </span>
61
- <span
62
- v-show="!active"
63
- class="font-black flex-initial"
64
- style="width: 0.75rem"
65
- >
66
- <CommonSvgIcon icon="downarrow"></CommonSvgIcon>
67
- </span>
68
- <span
69
- v-show="active"
70
- class="font-black flex-initial"
71
- style="width: 0.75rem"
72
- >
73
- <CommonSvgIcon class="invert" icon="downarrow"></CommonSvgIcon>
74
- </span>
75
- </a>
76
- <div v-show="active"><slot /></div>
77
- </div>
78
- </template>
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs, computed } from "vue";
3
+
4
+ type Props = {
5
+ title?: string;
6
+ tabContent?: {
7
+ content?: string;
8
+ label?: string;
9
+ type?: string;
10
+ };
11
+ contentObject?: object;
12
+ };
13
+
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ title: "",
16
+ tabContent: () => ({}),
17
+ contentObject: () => ({}),
18
+ });
19
+
20
+ // data
21
+ const { title, tabContent, contentObject } = toRefs(props);
22
+ const active = ref<boolean>(false);
23
+
24
+ // computed
25
+ const tabTitleValues = computed(() => {
26
+ if (title.value) {
27
+ return {
28
+ title: title.value,
29
+ classes: "",
30
+ };
31
+ } else {
32
+ return {
33
+ title: tabContent.value.label,
34
+ classes: "pl-4",
35
+ };
36
+ }
37
+ });
38
+ </script>
39
+
40
+ <template>
41
+ <div>
42
+ <a
43
+ v-if="tabContent.type === 'url'"
44
+ :href="tabContent.content"
45
+ target="_blank"
46
+ class="py-3 block no-underline w-full font-hairline inline-flex items-center text-md my-1"
47
+ :class="tabTitleValues.classes"
48
+ >
49
+ <span class="flex-initial">
50
+ {{ tabTitleValues.title }}
51
+ </span>
52
+ </a>
53
+ <a
54
+ v-else
55
+ href="#"
56
+ class="py-3 block no-underline w-full font-hairline inline-flex items-center text-md my-1"
57
+ :class="tabTitleValues.classes"
58
+ @click.prevent="active = !active"
59
+ >
60
+ <span class="flex-initial"> {{ tabTitleValues.title }}&nbsp;&nbsp; </span>
61
+ <span
62
+ v-show="!active"
63
+ class="font-black flex-initial"
64
+ style="width: 0.75rem"
65
+ >
66
+ <CommonSvgIcon icon="downarrow"></CommonSvgIcon>
67
+ </span>
68
+ <span
69
+ v-show="active"
70
+ class="font-black flex-initial"
71
+ style="width: 0.75rem"
72
+ >
73
+ <CommonSvgIcon class="invert" icon="downarrow"></CommonSvgIcon>
74
+ </span>
75
+ </a>
76
+ <div v-show="active"><slot /></div>
77
+ </div>
78
+ </template>
@@ -1,175 +1,175 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs, computed } from "vue";
3
- import { storeToRefs } from "pinia";
4
- import { useRoute } from "vue-router";
5
- import { useClassBinding } from "../../composables/useClassBinding";
6
- import { Conference, Presentation } from "../../models/conference";
7
- import { SelectedContent } from "../../enums/general";
8
- import { usePresentationsStore } from "../../store/presentations";
9
- import { useAuthStore } from "../../store/auth";
10
- import {
11
- PlayerAndContentClassObj,
12
- PlayerAndContentCompObj,
13
- ContentTabsClassObj,
14
- ContentAreaClassObj,
15
- MediaContainerClassObj,
16
- } from "../../@types/components";
17
-
18
- type Props = {
19
- conference: Conference;
20
- presentation: Presentation;
21
- tabs?: Array<{ label: string; type: SelectedContent; content: string }>;
22
- classObject?: PlayerAndContentClassObj;
23
- };
24
-
25
- const props = withDefaults(defineProps<Props>(), {
26
- tabs: () => {
27
- return [
28
- { label: "Overview", type: SelectedContent.OVERVIEW, content: "string" },
29
- ];
30
- },
31
- classObject: () => {
32
- return {
33
- container: "",
34
- noTabsContainer: "",
35
- noTabsChild: "",
36
- withTabsContainer: "",
37
- withTabsChild: "",
38
- mediaTabsContainer: "",
39
- components: ref<PlayerAndContentCompObj>({
40
- contentTabs: ref<ContentTabsClassObj>({}),
41
- contentArea: ref<ContentAreaClassObj>({}),
42
- mediaContainer: ref<MediaContainerClassObj>({}),
43
- }),
44
- };
45
- },
46
- });
47
-
48
- const { conference, presentation } = toRefs(props);
49
-
50
- const route = ref(useRoute());
51
-
52
- const { classBinding } = useClassBinding();
53
-
54
- const { selectedContent } = storeToRefs(usePresentationsStore());
55
- const { isLoggedIn } = storeToRefs(useAuthStore());
56
-
57
- // computed
58
-
59
- const isStreamTest = computed((): boolean => {
60
- return (
61
- route.value.params.channelid === "stream-test" ||
62
- String(route.value.name) === "stream-test"
63
- );
64
- });
65
-
66
- const hasAccess = computed((): boolean => {
67
- return isLoggedIn.value && conference.value.access;
68
- });
69
- </script>
70
-
71
- <template>
72
- <div :class="classBinding(classObject, 'container', 'flex flex-col w-full')">
73
- <!-- NO TABS -->
74
- <div
75
- v-if="isStreamTest || (hasAccess && !tabs.length)"
76
- :class="
77
- classBinding(
78
- classObject,
79
- 'noTabsContainer',
80
- 'container mx-auto flex flex-col text-center pt-6'
81
- )
82
- "
83
- >
84
- <div :class="classBinding(classObject, 'noTabsChild', 'flex-1')">
85
- <CommonComponentsMediaContainer
86
- :class="
87
- classBinding(
88
- classObject,
89
- 'classObject.components.mediaContainer.container',
90
- 'flex-1 aspect-video'
91
- )
92
- "
93
- :webcast-conference="conference"
94
- :class-object="classObject.components.mediaContainer"
95
- />
96
- </div>
97
- </div>
98
-
99
- <!-- TABS -->
100
- <div v-else :class="classBinding(classObject, 'withTabsContainer', '')">
101
- <CommonComponentsContentTabs
102
- :class="
103
- classBinding(
104
- classObject,
105
- 'classObject.components.contentTabs.container',
106
- 'hidden md:block'
107
- )
108
- "
109
- :webcast-conference="conference"
110
- :items="tabs"
111
- :class-object="classObject.components.contentTabs"
112
- />
113
- <div
114
- :class="
115
- classBinding(
116
- classObject,
117
- 'withTabsChild',
118
- 'flex-1 grid grid-cols-7 grid-rows-2 gap-y-4'
119
- )
120
- "
121
- >
122
- <div
123
- :class="
124
- classBinding(
125
- classObject,
126
- 'MediaTabsContainer',
127
- 'col-span-7 row-span-1 md:col-span-4 lg:col-span-5 aspect-video'
128
- )
129
- "
130
- >
131
- <CommonComponentsMediaContainer
132
- class="w-full"
133
- :webcast-conference="conference"
134
- :class-object="classObject.components.mediaContainer"
135
- />
136
- <CommonComponentsContentTabs
137
- class="block md:hidden"
138
- :webcast-conference="conference"
139
- :items="tabs"
140
- :class-object="classObject.components.contentTabs"
141
- />
142
- </div>
143
- <CommonComponentsContentArea
144
- class="col-span-7 row-span-1 md:col-span-3 lg:col-span-2 border ml-0 md:ml-6"
145
- :selected-content="selectedContent"
146
- :webcast-conference="conference"
147
- :presentation="presentation"
148
- :class-object="classObject.components.contentArea"
149
- />
150
- <!-- sponsor -->
151
- <figure
152
- class="col-span-7 md:col-start-5 md:col-span-3 lg:col-start-6 lg:col-span-6 row-span-1 flex flex-col p-6 text-center"
153
- >
154
- <h3
155
- v-if="conference.affiliates.length > 0"
156
- class="allsmallcaps text-sm pb-4 text-neutral-400 scala"
157
- >
158
- Sponsored by:
159
- </h3>
160
- <template v-for="affiliate in conference.affiliates">
161
- <CommonComponentsSponsor
162
- v-if="affiliate.role == 'sponsor'"
163
- :key="affiliate.id"
164
- :sponsor="affiliate"
165
- :class-object="{
166
- labelImageContainer: 'block',
167
- sponsorContainer: 'img-mx-auto',
168
- }"
169
- />
170
- </template>
171
- </figure>
172
- </div>
173
- </div>
174
- </div>
175
- </template>
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs, computed } from "vue";
3
+ import { storeToRefs } from "pinia";
4
+ import { useRoute } from "vue-router";
5
+ import { useClassBinding } from "../../composables/useClassBinding";
6
+ import { Conference, Presentation } from "../../models/conference";
7
+ import { SelectedContent } from "../../enums/general";
8
+ import { usePresentationsStore } from "../../store/presentations";
9
+ import { useAuthStore } from "../../store/auth";
10
+ import {
11
+ PlayerAndContentClassObj,
12
+ PlayerAndContentCompObj,
13
+ ContentTabsClassObj,
14
+ ContentAreaClassObj,
15
+ MediaContainerClassObj,
16
+ } from "../../@types/components";
17
+
18
+ type Props = {
19
+ conference: Conference;
20
+ presentation: Presentation;
21
+ tabs?: Array<{ label: string; type: SelectedContent; content: string }>;
22
+ classObject?: PlayerAndContentClassObj;
23
+ };
24
+
25
+ const props = withDefaults(defineProps<Props>(), {
26
+ tabs: () => {
27
+ return [
28
+ { label: "Overview", type: SelectedContent.OVERVIEW, content: "string" },
29
+ ];
30
+ },
31
+ classObject: () => {
32
+ return {
33
+ container: "",
34
+ noTabsContainer: "",
35
+ noTabsChild: "",
36
+ withTabsContainer: "",
37
+ withTabsChild: "",
38
+ mediaTabsContainer: "",
39
+ components: ref<PlayerAndContentCompObj>({
40
+ contentTabs: ref<ContentTabsClassObj>({}),
41
+ contentArea: ref<ContentAreaClassObj>({}),
42
+ mediaContainer: ref<MediaContainerClassObj>({}),
43
+ }),
44
+ };
45
+ },
46
+ });
47
+
48
+ const { conference, presentation } = toRefs(props);
49
+
50
+ const route = ref(useRoute());
51
+
52
+ const { classBinding } = useClassBinding();
53
+
54
+ const { selectedContent } = storeToRefs(usePresentationsStore());
55
+ const { isLoggedIn } = storeToRefs(useAuthStore());
56
+
57
+ // computed
58
+
59
+ const isStreamTest = computed((): boolean => {
60
+ return (
61
+ route.value.params.channelid === "stream-test" ||
62
+ String(route.value.name) === "stream-test"
63
+ );
64
+ });
65
+
66
+ const hasAccess = computed((): boolean => {
67
+ return isLoggedIn.value && conference.value.access;
68
+ });
69
+ </script>
70
+
71
+ <template>
72
+ <div :class="classBinding(classObject, 'container', 'flex flex-col w-full')">
73
+ <!-- NO TABS -->
74
+ <div
75
+ v-if="isStreamTest || (hasAccess && !tabs.length)"
76
+ :class="
77
+ classBinding(
78
+ classObject,
79
+ 'noTabsContainer',
80
+ 'container mx-auto flex flex-col text-center pt-6'
81
+ )
82
+ "
83
+ >
84
+ <div :class="classBinding(classObject, 'noTabsChild', 'flex-1')">
85
+ <CommonComponentsMediaContainer
86
+ :class="
87
+ classBinding(
88
+ classObject,
89
+ 'classObject.components.mediaContainer.container',
90
+ 'flex-1 aspect-video'
91
+ )
92
+ "
93
+ :webcast-conference="conference"
94
+ :class-object="classObject.components.mediaContainer"
95
+ />
96
+ </div>
97
+ </div>
98
+
99
+ <!-- TABS -->
100
+ <div v-else :class="classBinding(classObject, 'withTabsContainer', '')">
101
+ <CommonComponentsContentTabs
102
+ :class="
103
+ classBinding(
104
+ classObject,
105
+ 'classObject.components.contentTabs.container',
106
+ 'hidden md:block'
107
+ )
108
+ "
109
+ :webcast-conference="conference"
110
+ :items="tabs"
111
+ :class-object="classObject.components.contentTabs"
112
+ />
113
+ <div
114
+ :class="
115
+ classBinding(
116
+ classObject,
117
+ 'withTabsChild',
118
+ 'flex-1 grid grid-cols-7 grid-rows-2 gap-y-4'
119
+ )
120
+ "
121
+ >
122
+ <div
123
+ :class="
124
+ classBinding(
125
+ classObject,
126
+ 'MediaTabsContainer',
127
+ 'col-span-7 row-span-1 md:col-span-4 lg:col-span-5 aspect-video'
128
+ )
129
+ "
130
+ >
131
+ <CommonComponentsMediaContainer
132
+ class="w-full"
133
+ :webcast-conference="conference"
134
+ :class-object="classObject.components.mediaContainer"
135
+ />
136
+ <CommonComponentsContentTabs
137
+ class="block md:hidden"
138
+ :webcast-conference="conference"
139
+ :items="tabs"
140
+ :class-object="classObject.components.contentTabs"
141
+ />
142
+ </div>
143
+ <CommonComponentsContentArea
144
+ class="col-span-7 row-span-1 md:col-span-3 lg:col-span-2 border ml-0 md:ml-6"
145
+ :selected-content="selectedContent"
146
+ :webcast-conference="conference"
147
+ :presentation="presentation"
148
+ :class-object="classObject.components.contentArea"
149
+ />
150
+ <!-- sponsor -->
151
+ <figure
152
+ class="col-span-7 md:col-start-5 md:col-span-3 lg:col-start-6 lg:col-span-6 row-span-1 flex flex-col p-6 text-center"
153
+ >
154
+ <h3
155
+ v-if="conference.affiliates.length > 0"
156
+ class="allsmallcaps text-sm pb-4 text-neutral-400 scala"
157
+ >
158
+ Sponsored by:
159
+ </h3>
160
+ <template v-for="affiliate in conference.affiliates">
161
+ <CommonComponentsSponsor
162
+ v-if="affiliate.role == 'sponsor'"
163
+ :key="affiliate.id"
164
+ :sponsor="affiliate"
165
+ :class-object="{
166
+ labelImageContainer: 'block',
167
+ sponsorContainer: 'img-mx-auto',
168
+ }"
169
+ />
170
+ </template>
171
+ </figure>
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </template>