@icvdeveloper/common-module 0.0.49 → 0.0.51

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 (71) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +1 -1
  4. package/dist/runtime/@types/components.d.ts +19 -0
  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 -0
  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/AgendaTabbed.vue +300 -300
  35. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  36. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  37. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  38. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  39. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  40. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  41. package/dist/runtime/components/auth/Registration.vue +27 -27
  42. package/dist/runtime/components/auth/Ucc.vue +52 -52
  43. package/dist/runtime/components/core/Accordion.vue +98 -40
  44. package/dist/runtime/components/core/CountdownTimer.vue +308 -308
  45. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  46. package/dist/runtime/components/core/Modal.vue +111 -111
  47. package/dist/runtime/components/core/Navbar.vue +154 -154
  48. package/dist/runtime/components/core/SvgIcon.vue +145 -139
  49. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  50. package/dist/runtime/components/events/EventHeader.vue +133 -133
  51. package/dist/runtime/components/events/ListEvents.vue +477 -477
  52. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  53. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  54. package/dist/runtime/components/forms/Message.vue +27 -27
  55. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  56. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  57. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  58. package/dist/runtime/components/forms/TextArea.vue +26 -26
  59. package/dist/runtime/components/forms/TextInput.vue +28 -28
  60. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  61. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  62. package/dist/runtime/components/presenters/PresenterModal.vue +225 -225
  63. package/dist/runtime/components/profile/Profile.vue +149 -149
  64. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  65. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  66. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  67. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  68. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  69. package/dist/runtime/components/support/FAQAccordion.vue +137 -247
  70. package/dist/runtime/models/icons.d.ts +1 -0
  71. package/package.json +1 -1
@@ -1,56 +1,56 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs, computed } from "vue";
3
- import { Presentation } from "../../../models/conference";
4
-
5
- type Props = {
6
- linkText: string;
7
- presentation: Presentation;
8
- useIcon?: boolean;
9
- newLine?: boolean;
10
- };
11
-
12
- const props = withDefaults(defineProps<Props>(), {
13
- useIcon: true,
14
- newLine: false,
15
- });
16
-
17
- // data
18
- const { useIcon, newLine, linkText, presentation } = toRefs(props);
19
- const showDescModal = ref<boolean>(false);
20
-
21
- // computed
22
- const getLinkText = computed(() => {
23
- return linkText.value.length > 0 ? linkText.value : "Session Details";
24
- });
25
- </script>
26
-
27
- <template>
28
- <span>
29
- <a class="cursor-pointer" @click="showDescModal = true">
30
- <CommonSvgIcon
31
- v-if="useIcon"
32
- icon="info"
33
- class="align-middle"
34
- style="display: inline-block; margin-bottom: 2px"
35
- :icon-width="'16px'"
36
- ></CommonSvgIcon>
37
- <span v-else class="text-xs" :class="{ 'new-line': newLine }">{{
38
- getLinkText
39
- }}</span>
40
- </a>
41
-
42
- <CommonModal :visible="showDescModal" @trigger="showDescModal = false">
43
- <template #modal-title>
44
- <div class="text-lg font-bold text-left mb-4 pb-4 border-b">
45
- {{ presentation.name }}
46
- </div>
47
- </template>
48
- <template #modal-body>
49
- <div
50
- class="text-base font-normal text-left"
51
- v-html="presentation.description"
52
- ></div>
53
- </template>
54
- </CommonModal>
55
- </span>
56
- </template>
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs, computed } from "vue";
3
+ import { Presentation } from "../../../models/conference";
4
+
5
+ type Props = {
6
+ linkText: string;
7
+ presentation: Presentation;
8
+ useIcon?: boolean;
9
+ newLine?: boolean;
10
+ };
11
+
12
+ const props = withDefaults(defineProps<Props>(), {
13
+ useIcon: true,
14
+ newLine: false,
15
+ });
16
+
17
+ // data
18
+ const { useIcon, newLine, linkText, presentation } = toRefs(props);
19
+ const showDescModal = ref<boolean>(false);
20
+
21
+ // computed
22
+ const getLinkText = computed(() => {
23
+ return linkText.value.length > 0 ? linkText.value : "Session Details";
24
+ });
25
+ </script>
26
+
27
+ <template>
28
+ <span>
29
+ <a class="cursor-pointer" @click="showDescModal = true">
30
+ <CommonSvgIcon
31
+ v-if="useIcon"
32
+ icon="info"
33
+ class="align-middle"
34
+ style="display: inline-block; margin-bottom: 2px"
35
+ :icon-width="'16px'"
36
+ ></CommonSvgIcon>
37
+ <span v-else class="text-xs" :class="{ 'new-line': newLine }">{{
38
+ getLinkText
39
+ }}</span>
40
+ </a>
41
+
42
+ <CommonModal :visible="showDescModal" @trigger="showDescModal = false">
43
+ <template #modal-title>
44
+ <div class="text-lg font-bold text-left mb-4 pb-4 border-b">
45
+ {{ presentation.name }}
46
+ </div>
47
+ </template>
48
+ <template #modal-body>
49
+ <div
50
+ class="text-base font-normal text-left"
51
+ v-html="presentation.description"
52
+ ></div>
53
+ </template>
54
+ </CommonModal>
55
+ </span>
56
+ </template>
@@ -1,49 +1,49 @@
1
- <script lang="ts" setup>
2
- import { toRefs } from "vue";
3
- import { usePresentation } from "../../../composables/usePresentation";
4
- import { Conference, Presentation } from "../../../models/conference";
5
- import { Icons } from "../../../models/icons";
6
-
7
- type Props = {
8
- icon?: keyof Icons;
9
- conference: Conference;
10
- presentation: Presentation;
11
- };
12
-
13
- const props = withDefaults(defineProps<Props>(), {
14
- icon: "playarrow",
15
- });
16
-
17
- const { icon, conference, presentation } = toRefs(props);
18
-
19
- const {
20
- showPresentationPlayIcon,
21
- getPresentationCustomPlayIcon,
22
- getPresentationStreamingText,
23
- } = usePresentation(conference);
24
- </script>
25
-
26
- <template>
27
- <span class="flex-initial flex flex-row items-center py-2 lg:py-1">
28
- <span v-if="showPresentationPlayIcon(presentation)">
29
- <img
30
- v-if="getPresentationCustomPlayIcon(presentation)"
31
- style="max-width: 15px"
32
- :src="(getPresentationCustomPlayIcon(presentation) as unknown as string)"
33
- alt=""
34
- />
35
- <CommonSvgIcon
36
- v-else
37
- :icon="icon"
38
- class="align-middle mr-1"
39
- style="display: inline-block; margin-bottom: 2px"
40
- :icon-width="'20px'"
41
- >
42
- </CommonSvgIcon
43
- >&nbsp;
44
- </span>
45
- <small class="flex-initial uppercase text-base text-red-darker">{{
46
- getPresentationStreamingText(presentation)
47
- }}</small>
48
- </span>
49
- </template>
1
+ <script lang="ts" setup>
2
+ import { toRefs } from "vue";
3
+ import { usePresentation } from "../../../composables/usePresentation";
4
+ import { Conference, Presentation } from "../../../models/conference";
5
+ import { Icons } from "../../../models/icons";
6
+
7
+ type Props = {
8
+ icon?: keyof Icons;
9
+ conference: Conference;
10
+ presentation: Presentation;
11
+ };
12
+
13
+ const props = withDefaults(defineProps<Props>(), {
14
+ icon: "playarrow",
15
+ });
16
+
17
+ const { icon, conference, presentation } = toRefs(props);
18
+
19
+ const {
20
+ showPresentationPlayIcon,
21
+ getPresentationCustomPlayIcon,
22
+ getPresentationStreamingText,
23
+ } = usePresentation(conference);
24
+ </script>
25
+
26
+ <template>
27
+ <span class="flex-initial flex flex-row items-center py-2 lg:py-1">
28
+ <span v-if="showPresentationPlayIcon(presentation)">
29
+ <img
30
+ v-if="getPresentationCustomPlayIcon(presentation)"
31
+ style="max-width: 15px"
32
+ :src="(getPresentationCustomPlayIcon(presentation) as unknown as string)"
33
+ alt=""
34
+ />
35
+ <CommonSvgIcon
36
+ v-else
37
+ :icon="icon"
38
+ class="align-middle mr-1"
39
+ style="display: inline-block; margin-bottom: 2px"
40
+ :icon-width="'20px'"
41
+ >
42
+ </CommonSvgIcon
43
+ >&nbsp;
44
+ </span>
45
+ <small class="flex-initial uppercase text-base text-red-darker">{{
46
+ getPresentationStreamingText(presentation)
47
+ }}</small>
48
+ </span>
49
+ </template>
@@ -1,137 +1,137 @@
1
- <script lang="ts" setup>
2
- import { toRefs, computed } from "vue";
3
- import { useAgenda } from "../../../composables/useAgenda";
4
- import { useConferenceHelpers } from "../../../composables/useConferenceHelpers";
5
- import { usePresentation } from "../../../composables/usePresentation";
6
- import {
7
- Conference,
8
- Presentation,
9
- Track,
10
- TrackGroup,
11
- } from "../../../models/conference";
12
- import InfoLink from "./InfoLink.vue";
13
- import PlayIcon from "./PlayIcon.vue";
14
-
15
- type Props = {
16
- conference: Conference;
17
- presentation: Presentation;
18
- track: Track | TrackGroup;
19
- showInfoLink?: boolean;
20
- simpleLayout?: boolean;
21
- };
22
-
23
- const props = withDefaults(defineProps<Props>(), {
24
- showInfoLink: true,
25
- simpleLayout: false,
26
- });
27
-
28
- const { conference, track, presentation } = toRefs(props);
29
-
30
- // Methods
31
- const { conferenceIsLiveOrMixed, conferenceIsArchived } =
32
- useConferenceHelpers(conference);
33
- const { isSmallGroupedTrack } = useAgenda(conference);
34
- const {
35
- getPresentationLinkTarget,
36
- getLivePresentationLinkDestination,
37
- showPresentationLinkIcon,
38
- getPresentationLinkText,
39
- presentationIsLiveOrMixed,
40
- getArchivePresentationLinkDestination,
41
- } = usePresentation(conference);
42
-
43
- // Computed
44
- const presentationNameClass = computed(() => {
45
- return isSmallGroupedTrack(track.value) ? "text-base" : "text-lg";
46
- });
47
- </script>
48
-
49
- <template>
50
- <div>
51
- <div v-if="!simpleLayout">
52
- <!-- LIVE AGENDA GO TO WEBCAST PAGE -->
53
- <div>
54
- <h2 class="flex flex-initial flex-row" :class="presentationNameClass">
55
- <!-- zoom text & icon link -->
56
- <CommonZoomModal
57
- v-if="
58
- isAgenda &&
59
- conferenceIsLiveOrMixed(conference) &&
60
- presentation.type == 'zoom'
61
- "
62
- :presentation-id="presentation.id"
63
- modal-size="full"
64
- >
65
- <template #modal-link>
66
- <span class="font-semibold no-underline heading-link"
67
- >{{ presentation.name }}
68
- <PlayIcon
69
- :presentation="presentation"
70
- :conference="conference"
71
- :class="'justify-center md:justify-start'"
72
- icon="zoom"
73
- ></PlayIcon>
74
- </span>
75
- </template>
76
- </CommonZoomModal>
77
-
78
- <!-- live/archive stream text & icon link -->
79
- <a
80
- v-else-if="
81
- (isAgenda && conferenceIsLiveOrMixed(conference)) ||
82
- (conferenceIsArchived(conference) && presentation.type != 'zoom')
83
- "
84
- class="font-semibold no-underline heading-link"
85
- :href="getLivePresentationLinkDestination(presentation, track)"
86
- :target="getPresentationLinkTarget(presentation)"
87
- @click="playPresentation(track, presentation, conference)"
88
- >
89
- {{ presentation.name
90
- }}<transition name="fade">
91
- <PlayIcon
92
- v-if="presentationIsLiveOrMixed(presentation)"
93
- :presentation="presentation"
94
- :conference="conference"
95
- :class="'justify-center md:justify-start'"
96
- icon="playarrow"
97
- ></PlayIcon>
98
- </transition>
99
- </a>
100
-
101
- <!-- text only catchall -->
102
- <span v-else class="font-semibold" :class="presentationNameClass"
103
- >{{ presentation.name }}</span
104
- >
105
-
106
- <!-- session details -->
107
- <InfoLink
108
- v-if="showInfoLink && presentation.description"
109
- :presentation="presentation"
110
- :use-icon="useIcon"
111
- :link-text="infoLinkText"
112
- :new-line="isSmallGroupedTrack"
113
- class="ml-2"
114
- />
115
-
116
- <!-- favorites -->
117
- <favorite
118
- v-if="allowFavorites && currentUser.token"
119
- class="ml-1"
120
- :presentation="presentation"
121
- @click="handleFavoriteClick"
122
- />
123
- </h2>
124
- </div>
125
- </div>
126
-
127
- <!-- SIMPLE LAYOUT -->
128
- <div v-else>
129
- <a
130
- class="underline cursor-pointer"
131
- @click="playPresentation(track, presentation, conference)"
132
- >
133
- {{ presentation.name }}
134
- </a>
135
- </div>
136
- </div>
137
- </template>
1
+ <script lang="ts" setup>
2
+ import { toRefs, computed } from "vue";
3
+ import { useAgenda } from "../../../composables/useAgenda";
4
+ import { useConferenceHelpers } from "../../../composables/useConferenceHelpers";
5
+ import { usePresentation } from "../../../composables/usePresentation";
6
+ import {
7
+ Conference,
8
+ Presentation,
9
+ Track,
10
+ TrackGroup,
11
+ } from "../../../models/conference";
12
+ import InfoLink from "./InfoLink.vue";
13
+ import PlayIcon from "./PlayIcon.vue";
14
+
15
+ type Props = {
16
+ conference: Conference;
17
+ presentation: Presentation;
18
+ track: Track | TrackGroup;
19
+ showInfoLink?: boolean;
20
+ simpleLayout?: boolean;
21
+ };
22
+
23
+ const props = withDefaults(defineProps<Props>(), {
24
+ showInfoLink: true,
25
+ simpleLayout: false,
26
+ });
27
+
28
+ const { conference, track, presentation } = toRefs(props);
29
+
30
+ // Methods
31
+ const { conferenceIsLiveOrMixed, conferenceIsArchived } =
32
+ useConferenceHelpers(conference);
33
+ const { isSmallGroupedTrack } = useAgenda(conference);
34
+ const {
35
+ getPresentationLinkTarget,
36
+ getLivePresentationLinkDestination,
37
+ showPresentationLinkIcon,
38
+ getPresentationLinkText,
39
+ presentationIsLiveOrMixed,
40
+ getArchivePresentationLinkDestination,
41
+ } = usePresentation(conference);
42
+
43
+ // Computed
44
+ const presentationNameClass = computed(() => {
45
+ return isSmallGroupedTrack(track.value) ? "text-base" : "text-lg";
46
+ });
47
+ </script>
48
+
49
+ <template>
50
+ <div>
51
+ <div v-if="!simpleLayout">
52
+ <!-- LIVE AGENDA GO TO WEBCAST PAGE -->
53
+ <div>
54
+ <h2 class="flex flex-initial flex-row" :class="presentationNameClass">
55
+ <!-- zoom text & icon link -->
56
+ <CommonZoomModal
57
+ v-if="
58
+ isAgenda &&
59
+ conferenceIsLiveOrMixed(conference) &&
60
+ presentation.type == 'zoom'
61
+ "
62
+ :presentation-id="presentation.id"
63
+ modal-size="full"
64
+ >
65
+ <template #modal-link>
66
+ <span class="font-semibold no-underline heading-link"
67
+ >{{ presentation.name }}
68
+ <PlayIcon
69
+ :presentation="presentation"
70
+ :conference="conference"
71
+ :class="'justify-center md:justify-start'"
72
+ icon="zoom"
73
+ ></PlayIcon>
74
+ </span>
75
+ </template>
76
+ </CommonZoomModal>
77
+
78
+ <!-- live/archive stream text & icon link -->
79
+ <a
80
+ v-else-if="
81
+ (isAgenda && conferenceIsLiveOrMixed(conference)) ||
82
+ (conferenceIsArchived(conference) && presentation.type != 'zoom')
83
+ "
84
+ class="font-semibold no-underline heading-link"
85
+ :href="getLivePresentationLinkDestination(presentation, track)"
86
+ :target="getPresentationLinkTarget(presentation)"
87
+ @click="playPresentation(track, presentation, conference)"
88
+ >
89
+ {{ presentation.name
90
+ }}<transition name="fade">
91
+ <PlayIcon
92
+ v-if="presentationIsLiveOrMixed(presentation)"
93
+ :presentation="presentation"
94
+ :conference="conference"
95
+ :class="'justify-center md:justify-start'"
96
+ icon="playarrow"
97
+ ></PlayIcon>
98
+ </transition>
99
+ </a>
100
+
101
+ <!-- text only catchall -->
102
+ <span v-else class="font-semibold" :class="presentationNameClass"
103
+ >{{ presentation.name }}</span
104
+ >
105
+
106
+ <!-- session details -->
107
+ <InfoLink
108
+ v-if="showInfoLink && presentation.description"
109
+ :presentation="presentation"
110
+ :use-icon="useIcon"
111
+ :link-text="infoLinkText"
112
+ :new-line="isSmallGroupedTrack"
113
+ class="ml-2"
114
+ />
115
+
116
+ <!-- favorites -->
117
+ <favorite
118
+ v-if="allowFavorites && currentUser.token"
119
+ class="ml-1"
120
+ :presentation="presentation"
121
+ @click="handleFavoriteClick"
122
+ />
123
+ </h2>
124
+ </div>
125
+ </div>
126
+
127
+ <!-- SIMPLE LAYOUT -->
128
+ <div v-else>
129
+ <a
130
+ class="underline cursor-pointer"
131
+ @click="playPresentation(track, presentation, conference)"
132
+ >
133
+ {{ presentation.name }}
134
+ </a>
135
+ </div>
136
+ </div>
137
+ </template>