@icvdeveloper/common-module 0.0.50 → 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 (70) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/@types/components.d.ts +19 -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 -0
  11. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  12. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  13. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  14. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  15. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  16. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  17. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  18. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  19. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  20. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  21. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  22. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  23. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  24. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  25. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  26. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  27. package/dist/runtime/assets/svg/phone.svg +1 -1
  28. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  29. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  30. package/dist/runtime/assets/svg/reject.svg +14 -14
  31. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  32. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  33. package/dist/runtime/components/agenda/AgendaTabbed.vue +300 -300
  34. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  35. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  36. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  37. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  38. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  39. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  40. package/dist/runtime/components/auth/Registration.vue +27 -27
  41. package/dist/runtime/components/auth/Ucc.vue +52 -52
  42. package/dist/runtime/components/core/Accordion.vue +98 -40
  43. package/dist/runtime/components/core/CountdownTimer.vue +308 -308
  44. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  45. package/dist/runtime/components/core/Modal.vue +111 -111
  46. package/dist/runtime/components/core/Navbar.vue +154 -154
  47. package/dist/runtime/components/core/SvgIcon.vue +145 -139
  48. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  49. package/dist/runtime/components/events/EventHeader.vue +133 -133
  50. package/dist/runtime/components/events/ListEvents.vue +477 -477
  51. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  52. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  53. package/dist/runtime/components/forms/Message.vue +27 -27
  54. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  55. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  56. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  57. package/dist/runtime/components/forms/TextArea.vue +26 -26
  58. package/dist/runtime/components/forms/TextInput.vue +28 -28
  59. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  60. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  61. package/dist/runtime/components/presenters/PresenterModal.vue +225 -225
  62. package/dist/runtime/components/profile/Profile.vue +149 -149
  63. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  64. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  65. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  66. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  67. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  68. package/dist/runtime/components/support/FAQAccordion.vue +137 -247
  69. package/dist/runtime/models/icons.d.ts +1 -0
  70. 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,166 +1,166 @@
1
- <script lang="ts" setup>
2
- import { toRefs } from "vue";
3
- import { Presenter } from "../../models/conference";
4
- import { usePresenter } from "../../composables/usePresenter";
5
- import { useClassBinding } from "../../composables/useClassBinding";
6
- import { presenterListingClassObj } from "../../@types/components";
7
- import { Position } from "../../enums/general";
8
-
9
- type Props = {
10
- presenter: Presenter;
11
- enableBio?: boolean;
12
- showBio?: boolean;
13
- isSmallGroupedTrack?: boolean;
14
- bioLinkOnName?: boolean;
15
- bioLinkText?: string;
16
- bioLinkPosition?: Position;
17
- imagePosition?: Position;
18
- classObject?: presenterListingClassObj;
19
- };
20
-
21
- const props = withDefaults(defineProps<Props>(), {
22
- enableBio: true,
23
- showBio: false,
24
- isSmallGroupedTrack: false,
25
- bioLinkOnName: true,
26
- bioLinkText: "Read More >",
27
- bioLinkPosition: Position.BOTTOM,
28
- imagePosition: Position.LEFT,
29
- classObject: () => {
30
- return {
31
- container: "",
32
- presenterImageContainer: "",
33
- presenterImage: "",
34
- presenterContainer: "",
35
- presenterTextContainer: "",
36
- presenterNameLink: "",
37
- presenterName: "",
38
- presenterRole: "",
39
- presenterTitle: "",
40
- presenterBio: "",
41
- presenterBioLink: "",
42
- };
43
- },
44
- });
45
-
46
- const emit = defineEmits(["clicked"]);
47
-
48
- const { presenter, enableBio, isSmallGroupedTrack, classObject } =
49
- toRefs(props);
50
- const { fullName, titleCompany } = usePresenter(presenter);
51
- const { classBinding } = useClassBinding();
52
-
53
- // methods
54
- const handleClick = () => {
55
- if (enableBio.value) {
56
- emit("clicked");
57
- }
58
- };
59
- </script>
60
-
61
- <template>
62
- <div>
63
- <div
64
- :class="[
65
- { 'flex-col': imagePosition !== Position.RIGHT },
66
- { 'md:flex-row': imagePosition !== Position.TOP },
67
- { 'flex-col-reverse': imagePosition === Position.RIGHT },
68
- classBinding(
69
- classObject,
70
- 'presenterContainer',
71
- 'flex-1 flex content-center items-center md:items-start'
72
- ),
73
- ]"
74
- >
75
- <div
76
- v-if="presenter.photo.length && imagePosition !== Position.RIGHT"
77
- :class="
78
- classBinding(classObject, 'presenterImageContainer', 'shrink p-2')
79
- "
80
- >
81
- <img
82
- :src="presenter.photo"
83
- :class="classBinding(classObject, 'presenterImage', '')"
84
- />
85
- </div>
86
- <div
87
- :class="
88
- classBinding(
89
- classObject,
90
- 'presenterTextContainer',
91
- 'flex flex-col text-center md:text-left self-center'
92
- )
93
- "
94
- >
95
- <p class="my-1">
96
- <a
97
- v-if="enableBio && bioLinkOnName"
98
- class="cursor-pointer"
99
- :class="classBinding(classObject, 'presenterNameLink', '')"
100
- @click="handleClick()"
101
- ><span :class="classBinding(classObject, 'presenterName', '')">
102
- {{ fullName }}</span
103
- ></a
104
- >
105
- <span v-else :class="classBinding(classObject, 'presenterName', '')">
106
- {{ fullName }}
107
- </span>
108
- <span
109
- v-if="presenter.role == 'moderator'"
110
- :class="[
111
- isSmallGroupedTrack ? 'new-line' : 'no-new-line',
112
- classBinding(classObject, 'presenterRole', 'text-grey-dark'),
113
- ]"
114
- >Moderator</span
115
- >
116
- <span
117
- v-if="titleCompany"
118
- :class="[
119
- isSmallGroupedTrack ? 'new-line' : 'new-line-responsive',
120
- classBinding(
121
- classObject,
122
- 'presenterTitle',
123
- 'font-light paragraph-color-1'
124
- ),
125
- ]"
126
- >{{ titleCompany }}</span
127
- >
128
- </p>
129
- <p
130
- v-if="showBio && presenter.biography"
131
- :class="
132
- classBinding(
133
- classObject,
134
- 'presenterBio',
135
- 'font-light text-base paragraph-color-1'
136
- )
137
- "
138
- v-html="presenter.biography"
139
- ></p>
140
- <div v-if="enableBio && !bioLinkOnName" class="shrink">
141
- <a
142
- class="cursor-pointer"
143
- :class="classBinding(classObject, 'presenterBioLink', '')"
144
- @click="handleClick()"
145
- >{{ bioLinkText }}
146
- </a>
147
- </div>
148
- </div>
149
- <div
150
- v-if="presenter.photo.length && imagePosition === Position.RIGHT"
151
- :class="
152
- classBinding(classObject, 'presenterImageContainer', 'shrink p-2')
153
- "
154
- >
155
- <img
156
- :src="presenter.photo"
157
- :class="classBinding(classObject, 'presenterImage', '')"
158
- />
159
- </div>
160
- </div>
161
- </div>
162
- </template>
163
-
1
+ <script lang="ts" setup>
2
+ import { toRefs } from "vue";
3
+ import { Presenter } from "../../models/conference";
4
+ import { usePresenter } from "../../composables/usePresenter";
5
+ import { useClassBinding } from "../../composables/useClassBinding";
6
+ import { presenterListingClassObj } from "../../@types/components";
7
+ import { Position } from "../../enums/general";
8
+
9
+ type Props = {
10
+ presenter: Presenter;
11
+ enableBio?: boolean;
12
+ showBio?: boolean;
13
+ isSmallGroupedTrack?: boolean;
14
+ bioLinkOnName?: boolean;
15
+ bioLinkText?: string;
16
+ bioLinkPosition?: Position;
17
+ imagePosition?: Position;
18
+ classObject?: presenterListingClassObj;
19
+ };
20
+
21
+ const props = withDefaults(defineProps<Props>(), {
22
+ enableBio: true,
23
+ showBio: false,
24
+ isSmallGroupedTrack: false,
25
+ bioLinkOnName: true,
26
+ bioLinkText: "Read More >",
27
+ bioLinkPosition: Position.BOTTOM,
28
+ imagePosition: Position.LEFT,
29
+ classObject: () => {
30
+ return {
31
+ container: "",
32
+ presenterImageContainer: "",
33
+ presenterImage: "",
34
+ presenterContainer: "",
35
+ presenterTextContainer: "",
36
+ presenterNameLink: "",
37
+ presenterName: "",
38
+ presenterRole: "",
39
+ presenterTitle: "",
40
+ presenterBio: "",
41
+ presenterBioLink: "",
42
+ };
43
+ },
44
+ });
45
+
46
+ const emit = defineEmits(["clicked"]);
47
+
48
+ const { presenter, enableBio, isSmallGroupedTrack, classObject } =
49
+ toRefs(props);
50
+ const { fullName, titleCompany } = usePresenter(presenter);
51
+ const { classBinding } = useClassBinding();
52
+
53
+ // methods
54
+ const handleClick = () => {
55
+ if (enableBio.value) {
56
+ emit("clicked");
57
+ }
58
+ };
59
+ </script>
60
+
61
+ <template>
62
+ <div>
63
+ <div
64
+ :class="[
65
+ { 'flex-col': imagePosition !== Position.RIGHT },
66
+ { 'md:flex-row': imagePosition !== Position.TOP },
67
+ { 'flex-col-reverse': imagePosition === Position.RIGHT },
68
+ classBinding(
69
+ classObject,
70
+ 'presenterContainer',
71
+ 'flex-1 flex content-center items-center md:items-start'
72
+ ),
73
+ ]"
74
+ >
75
+ <div
76
+ v-if="presenter.photo.length && imagePosition !== Position.RIGHT"
77
+ :class="
78
+ classBinding(classObject, 'presenterImageContainer', 'shrink p-2')
79
+ "
80
+ >
81
+ <img
82
+ :src="presenter.photo"
83
+ :class="classBinding(classObject, 'presenterImage', '')"
84
+ />
85
+ </div>
86
+ <div
87
+ :class="
88
+ classBinding(
89
+ classObject,
90
+ 'presenterTextContainer',
91
+ 'flex flex-col text-center md:text-left self-center'
92
+ )
93
+ "
94
+ >
95
+ <p class="my-1">
96
+ <a
97
+ v-if="enableBio && bioLinkOnName"
98
+ class="cursor-pointer"
99
+ :class="classBinding(classObject, 'presenterNameLink', '')"
100
+ @click="handleClick()"
101
+ ><span :class="classBinding(classObject, 'presenterName', '')">
102
+ {{ fullName }}</span
103
+ ></a
104
+ >
105
+ <span v-else :class="classBinding(classObject, 'presenterName', '')">
106
+ {{ fullName }}
107
+ </span>
108
+ <span
109
+ v-if="presenter.role == 'moderator'"
110
+ :class="[
111
+ isSmallGroupedTrack ? 'new-line' : 'no-new-line',
112
+ classBinding(classObject, 'presenterRole', 'text-grey-dark'),
113
+ ]"
114
+ >Moderator</span
115
+ >
116
+ <span
117
+ v-if="titleCompany"
118
+ :class="[
119
+ isSmallGroupedTrack ? 'new-line' : 'new-line-responsive',
120
+ classBinding(
121
+ classObject,
122
+ 'presenterTitle',
123
+ 'font-light paragraph-color-1'
124
+ ),
125
+ ]"
126
+ >{{ titleCompany }}</span
127
+ >
128
+ </p>
129
+ <p
130
+ v-if="showBio && presenter.biography"
131
+ :class="
132
+ classBinding(
133
+ classObject,
134
+ 'presenterBio',
135
+ 'font-light text-base paragraph-color-1'
136
+ )
137
+ "
138
+ v-html="presenter.biography"
139
+ ></p>
140
+ <div v-if="enableBio && !bioLinkOnName" class="shrink">
141
+ <a
142
+ class="cursor-pointer"
143
+ :class="classBinding(classObject, 'presenterBioLink', '')"
144
+ @click="handleClick()"
145
+ >{{ bioLinkText }}
146
+ </a>
147
+ </div>
148
+ </div>
149
+ <div
150
+ v-if="presenter.photo.length && imagePosition === Position.RIGHT"
151
+ :class="
152
+ classBinding(classObject, 'presenterImageContainer', 'shrink p-2')
153
+ "
154
+ >
155
+ <img
156
+ :src="presenter.photo"
157
+ :class="classBinding(classObject, 'presenterImage', '')"
158
+ />
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </template>
163
+
164
164
  <style scoped>
165
165
  .new-line:before {
166
166
  content: "\a";
@@ -184,4 +184,4 @@ const handleClick = () => {
184
184
  white-space: normal;
185
185
  }
186
186
  }
187
- </style>
187
+ </style>