@icvdeveloper/common-module 0.0.89 → 0.0.91

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/@types/components.d.ts +4 -1
  4. package/dist/runtime/assets/scss/index.css +0 -705
  5. package/dist/runtime/assets/svg/answer.svg +14 -14
  6. package/dist/runtime/assets/svg/avatar.svg +1 -1
  7. package/dist/runtime/assets/svg/bell-icon.svg +3 -3
  8. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -1
  9. package/dist/runtime/assets/svg/close-icon.svg +1 -1
  10. package/dist/runtime/assets/svg/icon-avatar.svg +1 -1
  11. package/dist/runtime/assets/svg/icon-chevron.svg +4 -4
  12. package/dist/runtime/assets/svg/icon-circle-plus.svg +1 -1
  13. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  14. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  15. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  16. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  17. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  18. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  19. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  20. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  21. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  22. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  23. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  24. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  25. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  26. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  27. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  28. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  29. package/dist/runtime/assets/svg/phone.svg +1 -1
  30. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  31. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  32. package/dist/runtime/assets/svg/reject.svg +14 -14
  33. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  34. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  35. package/dist/runtime/components/agenda/AgendaList.vue +243 -234
  36. package/dist/runtime/components/agenda/AgendaTabbed.vue +309 -309
  37. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +53 -53
  38. package/dist/runtime/components/agenda/components/Calendar.vue +89 -89
  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 +81 -79
  47. package/dist/runtime/components/core/Accordion.vue +97 -97
  48. package/dist/runtime/components/core/CountdownTimer.vue +357 -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 +531 -521
  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/media/PlayerAndContentContainer.vue +175 -175
  66. package/dist/runtime/components/media/WebcastVideoPlayer.vue +167 -167
  67. package/dist/runtime/components/media/components/AgendaPanel.vue +43 -42
  68. package/dist/runtime/components/media/components/CeCreditNotification.vue +95 -95
  69. package/dist/runtime/components/media/components/ContentAccordion.vue +63 -63
  70. package/dist/runtime/components/media/components/ContentAccordion.vue.d.ts +3 -1
  71. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  72. package/dist/runtime/components/media/components/ContentTabs.vue +231 -229
  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 +93 -93
  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/useConferenceHelpers.mjs +2 -2
  92. package/dist/runtime/composables/useDateFormat.mjs +1 -1
  93. 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>