@icvdeveloper/common-module 1.4.14 → 2.1.0

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 (189) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/module.d.mts +1051 -2
  3. package/dist/module.d.ts +1051 -2
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +29 -15
  6. package/dist/runtime/@types/components.d.ts +22 -0
  7. package/dist/runtime/@types/configVariables.d.ts +6 -0
  8. package/dist/runtime/analytics.d.ts +1 -6
  9. package/dist/runtime/assets/scss/_agenda.css +1 -0
  10. package/dist/runtime/assets/scss/_animations.css +1 -0
  11. package/dist/runtime/assets/scss/_container_variants.css +1 -0
  12. package/dist/runtime/assets/scss/_custom.css +3 -0
  13. package/dist/runtime/assets/scss/_forms.css +1 -0
  14. package/dist/runtime/assets/scss/_header.css +0 -0
  15. package/dist/runtime/assets/scss/_index_production.css +1 -0
  16. package/dist/runtime/assets/scss/_transitions.css +1 -0
  17. package/dist/runtime/assets/scss/_variables.css +1 -0
  18. package/dist/runtime/assets/scss/_variables2.css +0 -0
  19. package/dist/runtime/assets/scss/_webcast.css +1 -0
  20. package/dist/runtime/assets/scss/index.css +1 -705
  21. package/dist/runtime/assets/svg/icon-minus.svg +6 -0
  22. package/dist/runtime/assets/svg/icon-video.svg +6 -0
  23. package/dist/runtime/components/affiliates/AffiliateModal.vue +66 -0
  24. package/dist/runtime/components/affiliates/AffiliatePage.vue +329 -159
  25. package/dist/runtime/components/agenda/AgendaList.vue +18 -14
  26. package/dist/runtime/components/agenda/AgendaTabbed.vue +60 -54
  27. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +8 -3
  28. package/dist/runtime/components/agenda/components/Calendar.vue +23 -18
  29. package/dist/runtime/components/agenda/components/Favorite.vue +46 -0
  30. package/dist/runtime/components/agenda/components/InfoLink.vue +15 -5
  31. package/dist/runtime/components/agenda/components/PlayIcon.vue +3 -5
  32. package/dist/runtime/components/agenda/components/PresentationLink.vue +37 -19
  33. package/dist/runtime/components/agenda/components/Sponsor.vue +31 -24
  34. package/dist/runtime/components/auth/PasswordReset.vue +20 -5
  35. package/dist/runtime/components/auth/Registration.vue +14 -4
  36. package/dist/runtime/components/auth/Ucc.vue +44 -27
  37. package/dist/runtime/components/chat/ChatConversationList.vue +108 -0
  38. package/dist/runtime/components/chat/ChatCreateConversation.vue +199 -0
  39. package/dist/runtime/components/chat/ChatCreateGroupConversation.vue +154 -0
  40. package/dist/runtime/components/chat/ChatHeader.vue +97 -0
  41. package/dist/runtime/components/chat/ChatMessage.vue +40 -0
  42. package/dist/runtime/components/chat/ChatShowConversation.vue +76 -0
  43. package/dist/runtime/components/chat/ChatWidget.vue +40 -0
  44. package/dist/runtime/components/chat/ChatWindow.vue +154 -0
  45. package/dist/runtime/components/chat/ChatWindow.vue.d.ts +6 -0
  46. package/dist/runtime/components/chat/MessageInput.vue +27 -0
  47. package/dist/runtime/components/chat/SearchInput.vue +32 -0
  48. package/dist/runtime/components/core/Accordion.vue +12 -12
  49. package/dist/runtime/components/core/AttendeeList.vue +31 -36
  50. package/dist/runtime/components/core/CountdownTimer.vue +68 -52
  51. package/dist/runtime/components/core/DynamicHtml.vue.d.ts +6 -9
  52. package/dist/runtime/components/core/Modal.vue +24 -22
  53. package/dist/runtime/components/core/ModalButton.vue +43 -0
  54. package/dist/runtime/components/core/Navbar.vue +33 -21
  55. package/dist/runtime/components/core/Navigation.vue +286 -0
  56. package/dist/runtime/components/core/SvgIcon.vue +34 -1
  57. package/dist/runtime/components/core/VButton.vue +35 -0
  58. package/dist/runtime/components/core/ZoomModal.vue +9 -3
  59. package/dist/runtime/components/events/EventHeader.vue +14 -4
  60. package/dist/runtime/components/events/ListEvents.vue +21 -22
  61. package/dist/runtime/components/forms/CheckboxGroup.vue +46 -0
  62. package/dist/runtime/components/forms/ErrorField.vue +11 -2
  63. package/dist/runtime/components/forms/Message.vue +1 -1
  64. package/dist/runtime/components/forms/RadioGroup.vue +50 -0
  65. package/dist/runtime/components/forms/SearchInput.vue +8 -2
  66. package/dist/runtime/components/forms/SelectDropDown.vue +47 -0
  67. package/dist/runtime/components/forms/SupportForm.vue +22 -11
  68. package/dist/runtime/components/forms/SwitchInput.vue +50 -30
  69. package/dist/runtime/components/forms/TextArea.vue +1 -1
  70. package/dist/runtime/components/forms/TextInput.vue +1 -1
  71. package/dist/runtime/components/layouts/Accordion.vue +11 -6
  72. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +24 -5
  73. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +19 -23
  74. package/dist/runtime/components/media/PlayerAndContentContainer.vue +4 -1
  75. package/dist/runtime/components/media/WebcastVideoPlayer.vue +6 -18
  76. package/dist/runtime/components/media/components/AgendaPanel.vue +7 -6
  77. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +17 -15
  78. package/dist/runtime/components/media/components/CeCreditNotification.vue +8 -8
  79. package/dist/runtime/components/media/components/ContentArea.vue +59 -18
  80. package/dist/runtime/components/media/components/ContentTabs.vue +40 -28
  81. package/dist/runtime/components/media/components/DocumentsPanel.vue +19 -17
  82. package/dist/runtime/components/media/components/MediaContainer.vue +11 -13
  83. package/dist/runtime/components/media/components/OverviewPanel.vue +5 -2
  84. package/dist/runtime/components/media/components/PresentersPanel.vue +74 -55
  85. package/dist/runtime/components/media/components/SessionReporting.vue +5 -4
  86. package/dist/runtime/components/media/components/SponsorsPanel.vue +13 -12
  87. package/dist/runtime/components/presenters/PresenterListing.vue +33 -25
  88. package/dist/runtime/components/presenters/PresenterModal.vue +26 -21
  89. package/dist/runtime/components/presenters/Presenters.vue +139 -0
  90. package/dist/runtime/components/profile/Profile.vue +10 -6
  91. package/dist/runtime/components/profile/components/Sidebar.vue +1 -1
  92. package/dist/runtime/components/profile/components/SidebarNavItem.vue +2 -4
  93. package/dist/runtime/components/profile/tabs/Favorites.vue +5 -4
  94. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +26 -16
  95. package/dist/runtime/components/profile/tabs/ProfileImage.vue +7 -6
  96. package/dist/runtime/components/registration/AlreadyRegisteredModal.vue +102 -0
  97. package/dist/runtime/components/registration/PaymentForm.vue +136 -0
  98. package/dist/runtime/components/registration/RegistrationForm.vue +417 -0
  99. package/dist/runtime/components/registration/RegistrationGroupSelect.vue +146 -0
  100. package/dist/runtime/components/registration/StripePaymentForm.vue +121 -0
  101. package/dist/runtime/components/support/FAQAccordion.vue +8 -7
  102. package/dist/runtime/composables/useAdobeLaunch.d.ts +2 -7
  103. package/dist/runtime/composables/useAdobeLaunch.mjs +2 -2
  104. package/dist/runtime/composables/useAgenda.d.ts +13 -1
  105. package/dist/runtime/composables/useAgenda.mjs +125 -25
  106. package/dist/runtime/composables/useApi.d.ts +1 -1
  107. package/dist/runtime/composables/useAuth.d.ts +1 -1
  108. package/dist/runtime/composables/useAuth.mjs +1 -1
  109. package/dist/runtime/composables/useClassBinding.d.ts +3 -1
  110. package/dist/runtime/composables/useConferenceHelpers.d.ts +7 -3
  111. package/dist/runtime/composables/useConferenceHelpers.mjs +26 -15
  112. package/dist/runtime/composables/useEventHooks.d.ts +29 -0
  113. package/dist/runtime/composables/useEventHooks.mjs +21 -0
  114. package/dist/runtime/composables/useEvents.d.ts +17 -1
  115. package/dist/runtime/composables/useEvents.mjs +35 -9
  116. package/dist/runtime/composables/useLogin.mjs +9 -5
  117. package/dist/runtime/composables/useNavigation.d.ts +1 -1
  118. package/dist/runtime/composables/useNavigation.mjs +4 -2
  119. package/dist/runtime/composables/usePresentation.d.ts +2 -2
  120. package/dist/runtime/composables/usePresentation.mjs +8 -7
  121. package/dist/runtime/composables/usePresenter.d.ts +2 -2
  122. package/dist/runtime/composables/usePresenters.d.ts +2 -2
  123. package/dist/runtime/composables/usePusher.d.ts +4 -0
  124. package/dist/runtime/composables/usePusher.mjs +38 -26
  125. package/dist/runtime/composables/useScripts.mjs +1 -1
  126. package/dist/runtime/composables/useStream.d.ts +2 -3
  127. package/dist/runtime/composables/useStream.mjs +8 -2
  128. package/dist/runtime/composables/useUcc.d.ts +1 -1
  129. package/dist/runtime/composables/useUcc.mjs +29 -23
  130. package/dist/runtime/enums/general.d.ts +4 -1
  131. package/dist/runtime/enums/general.mjs +4 -1
  132. package/dist/runtime/models/adobeLaunch.d.ts +6 -0
  133. package/dist/runtime/models/adobeLaunch.mjs +0 -0
  134. package/dist/runtime/models/analytics.d.ts +6 -0
  135. package/dist/runtime/models/analytics.mjs +0 -0
  136. package/dist/runtime/models/attendeeList.d.ts +1 -1
  137. package/dist/runtime/models/conference.d.ts +122 -91
  138. package/dist/runtime/models/conversation.d.ts +11 -13
  139. package/dist/runtime/models/document.d.ts +5 -5
  140. package/dist/runtime/models/globalConfig.d.ts +9 -3
  141. package/dist/runtime/models/group.d.ts +38 -8
  142. package/dist/runtime/models/icons.d.ts +8 -1
  143. package/dist/runtime/models/index.d.ts +20 -0
  144. package/dist/runtime/models/index.mjs +20 -0
  145. package/dist/runtime/models/link.d.ts +4 -4
  146. package/dist/runtime/models/loginParams.d.ts +5 -0
  147. package/dist/runtime/models/loginParams.mjs +0 -0
  148. package/dist/runtime/models/navigationConfig.d.ts +7 -7
  149. package/dist/runtime/models/pagination.d.ts +11 -11
  150. package/dist/runtime/models/portal.d.ts +15 -10
  151. package/dist/runtime/models/templateConfig.d.ts +13 -7
  152. package/dist/runtime/models/ucc.d.ts +22 -0
  153. package/dist/runtime/models/ucc.mjs +0 -0
  154. package/dist/runtime/models/user.d.ts +25 -12
  155. package/dist/runtime/models/vButton.d.ts +7 -0
  156. package/dist/runtime/models/vButton.mjs +0 -0
  157. package/dist/runtime/models/video.d.ts +5 -4
  158. package/dist/runtime/models/virtualPagesConfig.d.ts +223 -0
  159. package/dist/runtime/models/virtualPagesConfig.mjs +0 -0
  160. package/dist/runtime/plugin.mjs +18 -9
  161. package/dist/runtime/store/affiliates.d.ts +4 -1
  162. package/dist/runtime/store/affiliates.mjs +38 -0
  163. package/dist/runtime/store/attendeeList.d.ts +1 -1
  164. package/dist/runtime/store/auth.d.ts +3 -7
  165. package/dist/runtime/store/auth.mjs +6 -0
  166. package/dist/runtime/store/conferences.d.ts +3 -1
  167. package/dist/runtime/store/conferences.mjs +14 -9
  168. package/dist/runtime/store/conversations.d.ts +78 -10
  169. package/dist/runtime/store/conversations.mjs +255 -22
  170. package/dist/runtime/store/modalPlayerConfig.d.ts +27 -0
  171. package/dist/runtime/store/modalPlayerConfig.mjs +58 -0
  172. package/dist/runtime/store/navigationConfig.d.ts +1 -1
  173. package/dist/runtime/store/presentations.d.ts +2 -2
  174. package/dist/runtime/store/templateConfigs.d.ts +7 -6
  175. package/dist/runtime/store/templateConfigs.mjs +7 -6
  176. package/dist/runtime/store/user.mjs +0 -1
  177. package/dist/runtime/v3plusCommonPlugin.d.ts +1 -1
  178. package/dist/types.d.mts +3 -2
  179. package/dist/types.d.ts +3 -2
  180. package/package.json +12 -9
  181. package/dist/runtime/components/media/components/JsonApi.vue +0 -33
  182. package/dist/runtime/components/media/components/JsonApi.vue.d.ts +0 -16
  183. package/dist/runtime/components/media/components/PresentersPanel.vue.d.ts +0 -32
  184. package/dist/runtime/components/media/components/WindowContent.vue +0 -118
  185. package/dist/runtime/components/media/components/WindowContent.vue.d.ts +0 -50
  186. package/dist/runtime/components/media/components/WindowSlide.vue +0 -92
  187. package/dist/runtime/components/media/components/WindowSlide.vue.d.ts +0 -36
  188. package/dist/runtime/models/authUser.d.ts +0 -16
  189. /package/dist/runtime/{models/authUser.mjs → assets/scss/_footer.css} +0 -0
@@ -1,14 +1,13 @@
1
1
  <script lang="ts" setup>
2
- import { toRefs } from "vue";
2
+ import { ref, toRefs, computed, onMounted } from "vue";
3
3
  import { get } from "lodash-es";
4
4
  import { useApi } from "../../composables/useApi";
5
5
  import type { Affiliate } from "../../models/conference";
6
6
  import type { affiliatePageClassObj } from "../../@types/components";
7
7
  import { useClassBinding } from "../../composables/useClassBinding";
8
8
 
9
-
10
9
  type Props = {
11
- affiliateId: string;
10
+ affiliateId: number;
12
11
  classObject?: affiliatePageClassObj;
13
12
  };
14
13
 
@@ -24,7 +23,8 @@ const props = withDefaults(defineProps<Props>(), {
24
23
  htmlHeaderContainer: "",
25
24
  biographyContainer: "",
26
25
  contentContainer: "",
27
- affiliateContentBox: "flex flex-col w-full h-full overflow-y-auto p-4 border border-slate-300",
26
+ affiliateContentBox:
27
+ "flex flex-col w-full h-full overflow-y-auto p-4 border border-slate-300",
28
28
  };
29
29
  },
30
30
  });
@@ -32,40 +32,43 @@ const props = withDefaults(defineProps<Props>(), {
32
32
  // data
33
33
  const { affiliateId } = toRefs(props);
34
34
  const { classBinding } = useClassBinding();
35
- const affiliate = ref<Affiliate>({documents:[],links:[],videos:[]});
35
+ const affiliate = ref<Affiliate>({ documents: [], links: [], videos: [] });
36
36
  const showVideoModal = ref<boolean>(false);
37
37
  const modalVideoTitle = ref<string>("");
38
38
  const modalVideoUrl = ref<string>("");
39
39
 
40
40
  // computed
41
41
  const contentCount = computed((): number => {
42
- let hasDocuments = (affiliate.value.documents.length > 0) ? 1 : 0;
43
- let hasVideos = (affiliate.value.videos.length > 0) ? 1 : 0;
44
- let hasLinks = (affiliate.value.links.length > 0) ? 1 : 0;
45
- return hasDocuments + hasVideos + hasLinks;
42
+ const hasDocuments = affiliate.value.documents.length > 0 ? 1 : 0;
43
+ const hasVideos = affiliate.value.videos.length > 0 ? 1 : 0;
44
+ const hasLinks = affiliate.value.links.length > 0 ? 1 : 0;
45
+ return hasDocuments + hasVideos + hasLinks;
46
46
  });
47
47
  const hasContactInfo = computed((): boolean => {
48
- return (
49
- affiliate.value.contact_photo ||
50
- affiliate.value.contact_name ||
51
- affiliate.value.contact_title ||
52
- affiliate.value.contact_phone ||
53
- affiliate.value.contact_email
54
- );
48
+ return (
49
+ affiliate.value.contact_photo ||
50
+ affiliate.value.contact_name ||
51
+ affiliate.value.contact_title ||
52
+ affiliate.value.contact_phone ||
53
+ affiliate.value.contact_email
54
+ );
55
55
  });
56
56
  const showLeftBottomBox = computed((): boolean => {
57
- return (hasContactInfo.value || getAffiliateContentItem('custom_box_1'));
57
+ return hasContactInfo.value || getAffiliateContentItem("custom_box_1");
58
58
  });
59
59
 
60
60
  // methods
61
+ // TODO - migrate analyticsPlugin if needed
61
62
  const fireAnalytics = (type: string) => {
62
- let event = 'affiliate-' + affiliate.value.name + '-' + type;
63
- this.$analyticsPlugin.click(event, event);
63
+ const event = "affiliate-" + affiliate.value.name + "-" + type;
64
+ // this.$analyticsPlugin.click(event, event);
64
65
  };
65
66
 
66
67
  const getAffiliateContentItem = (_item: string) => {
67
- let itemVal = get(affiliate.value, 'affiliate_content.'+_item);
68
- if (itemVal == undefined || itemVal == '') { return null; }
68
+ const itemVal = get(affiliate.value, "affiliate_content." + _item);
69
+ if (itemVal == undefined || itemVal == "") {
70
+ return null;
71
+ }
69
72
  return itemVal;
70
73
  };
71
74
 
@@ -73,7 +76,7 @@ const getAffiliateContent = () => {
73
76
  return new Promise((resolve, reject) => {
74
77
  const request = useApi();
75
78
  request(
76
- `/affiliates/${affiliateId.value}?with=affiliate_content,documents,videos,links`
79
+ `/affiliates/${affiliateId.value.toString()}?with=affiliate_content,documents,videos,links`
77
80
  )
78
81
  .then((response) => {
79
82
  affiliate.value = response.data;
@@ -85,15 +88,16 @@ const getAffiliateContent = () => {
85
88
  };
86
89
 
87
90
  const getStreamingVideoUrl = (_videoUrl: string): string => {
88
- let tmpUrl = 'https://cdn.v3mediaportal.com/streaming-player/iframe-player.htm?';
89
- tmpUrl += 'cs=' + encodeURIComponent(_videoUrl);
90
- tmpUrl += '&ar=16:9&f=video&as=false';
91
+ let tmpUrl =
92
+ "https://cdn.v3mediaportal.com/streaming-player/iframe-player.htm?";
93
+ tmpUrl += "cs=" + encodeURIComponent(_videoUrl);
94
+ tmpUrl += "&ar=16:9&f=video&as=false";
91
95
  return tmpUrl;
92
96
  };
93
97
 
94
98
  const openVideoModal = (_title: string, _videoUrl: string) => {
95
- fireAnalytics('video-' + _title);
96
- let tmpUrl = getStreamingVideoUrl(_videoUrl);
99
+ fireAnalytics("video-" + _title);
100
+ const tmpUrl = getStreamingVideoUrl(_videoUrl);
97
101
  modalVideoUrl.value = tmpUrl;
98
102
  modalVideoTitle.value = _title;
99
103
  showVideoModal.value = true;
@@ -103,64 +107,121 @@ const openVideoModal = (_title: string, _videoUrl: string) => {
103
107
  onMounted(() => {
104
108
  getAffiliateContent();
105
109
  });
106
-
107
110
  </script>
108
111
 
109
112
  <template>
110
- <div
111
- :class="
112
- classBinding(
113
- classObject,
114
- 'container',
115
- 'flex w-full flex-col'
116
- )
117
- "
118
- >
119
-
120
- <div v-if="getAffiliateContentItem('html_vanity_page')" v-html="getAffiliateContentItem('html_vanity_page')">
121
- </div>
113
+ <div :class="classBinding(classObject, 'container', 'flex w-full flex-col')">
114
+ <div
115
+ v-if="getAffiliateContentItem('html_vanity_page')"
116
+ v-html="getAffiliateContentItem('html_vanity_page')"
117
+ />
122
118
 
123
119
  <div v-else>
124
-
125
- <div :class="classBinding(
126
- classObject,
127
- 'headerContainer',
128
- 'flex flex-col md:flex-row w-full pb-6 border-b border-solid border-grey-light'
129
- )">
130
- <div v-if="affiliate.photo" class="mb-6 md:mb-0">
131
- <img :src="affiliate.photo" />
120
+ <div
121
+ :class="
122
+ classBinding(
123
+ classObject,
124
+ 'headerContainer',
125
+ 'flex flex-col md:flex-row w-full pb-6 border-b border-solid border-gray-400'
126
+ )
127
+ "
128
+ >
129
+ <div
130
+ v-if="affiliate.photo"
131
+ class="mb-6 md:mb-0"
132
+ >
133
+ <img :src="affiliate.photo">
132
134
  </div>
133
135
  <div
134
136
  v-if="!affiliate.photo"
135
- :class="classBinding(
136
- classObject,
137
- 'headerNameContainer',
138
- 'flex w-full justify-center md:justify-start'
139
- )"
137
+ :class="
138
+ classBinding(
139
+ classObject,
140
+ 'headerNameContainer',
141
+ 'flex w-full justify-center md:justify-start'
142
+ )
143
+ "
140
144
  >
141
- <h1 :class="classBinding(classObject, 'headerNameElement', 'font-light mb-0 body-color-4 self-end')">{{affiliate.name}}</h1>
145
+ <h1
146
+ :class="
147
+ classBinding(
148
+ classObject,
149
+ 'headerNameElement',
150
+ 'font-light mb-0 body-color-4 self-end'
151
+ )
152
+ "
153
+ >
154
+ {{ affiliate.name }}
155
+ </h1>
142
156
  </div>
143
157
  <div
144
158
  v-if="getAffiliateContentItem('contact_in_header') == 1"
145
- :class="classBinding(classObject, 'headerContactContainer', 'w-full text-center md:text-right')"
159
+ :class="
160
+ classBinding(
161
+ classObject,
162
+ 'headerContactContainer',
163
+ 'w-full text-center md:text-right'
164
+ )
165
+ "
146
166
  >
147
167
  <p>
148
- <span v-if="affiliate.contact_address">{{affiliate.contact_address}}<br/></span>
149
- <span v-if="affiliate.contact_location">{{affiliate.contact_location}}<br/></span>
150
- <span v-if="affiliate.website"><a @click="fireAnalytics('website')" class="affiliate-website" :href="affiliate.website" target="_blank">{{affiliate.website}}</a><br/></span>
168
+ <span v-if="affiliate.contact_address">{{ affiliate.contact_address }}<br></span>
169
+ <span v-if="affiliate.contact_location">{{ affiliate.contact_location }}<br></span>
170
+ <span v-if="affiliate.website"><a
171
+ class="affiliate-website"
172
+ :href="affiliate.website"
173
+ target="_blank"
174
+ @click="fireAnalytics('website')"
175
+ >{{ affiliate.website }}</a><br></span>
151
176
  </p>
152
- <span :class="classBinding(classObject, 'headerSocialContainer', 'flex justify-center md:justify-end')">
153
- <a @click="fireAnalytics('twitter')" v-if="affiliate.twitter_url" :href="affiliate.twitter_url" target="_blank" class="affiliate-twitter" :aria-label="affiliate.name + ` Twitter Page`">
154
- <span class="presenter-icon"><CommonSvgIcon icon="twitter"></CommonSvgIcon></span>
177
+ <span
178
+ :class="
179
+ classBinding(
180
+ classObject,
181
+ 'headerSocialContainer',
182
+ 'flex justify-center md:justify-end'
183
+ )
184
+ "
185
+ >
186
+ <a
187
+ v-if="affiliate.twitter_url"
188
+ :href="affiliate.twitter_url"
189
+ target="_blank"
190
+ class="affiliate-twitter"
191
+ :aria-label="affiliate.name + ` Twitter Page`"
192
+ @click="fireAnalytics('twitter')"
193
+ >
194
+ <span class="presenter-icon"><CommonSvgIcon icon="twitter" /></span>
155
195
  </a>
156
- <a @click="fireAnalytics('facebook')" v-if="affiliate.facebook_url" :href="affiliate.facebook_url" target="_blank" class="affiliate-facebook" :aria-label="affiliate.name + ` Facebook Page`">
157
- <span class="presenter-icon "><CommonSvgIcon icon="facebook"></CommonSvgIcon></span>
196
+ <a
197
+ v-if="affiliate.facebook_url"
198
+ :href="affiliate.facebook_url"
199
+ target="_blank"
200
+ class="affiliate-facebook"
201
+ :aria-label="affiliate.name + ` Facebook Page`"
202
+ @click="fireAnalytics('facebook')"
203
+ >
204
+ <span class="presenter-icon"><CommonSvgIcon icon="facebook" /></span>
158
205
  </a>
159
- <a @click="fireAnalytics('linked_in')" v-if="affiliate.linkedin_url" :href="affiliate.linkedin_url" target="_blank" class="affiliate-linkedin" :aria-label="affiliate.name + ` LinkedIn Page`">
160
- <span class="presenter-icon"><CommonSvgIcon icon="linkedin"></CommonSvgIcon></span>
206
+ <a
207
+ v-if="affiliate.linkedin_url"
208
+ :href="affiliate.linkedin_url"
209
+ target="_blank"
210
+ class="affiliate-linkedin"
211
+ :aria-label="affiliate.name + ` LinkedIn Page`"
212
+ @click="fireAnalytics('linked_in')"
213
+ >
214
+ <span class="presenter-icon"><CommonSvgIcon icon="linkedin" /></span>
161
215
  </a>
162
- <a @click="fireAnalytics('youtube')" v-if="affiliate.youtube_url" :href="affiliate.youtube_url" target="_blank" class="affiliate-youtube" :aria-label="affiliate.name + ` YouTube Page`">
163
- <span class="presenter-icon"><CommonSvgIcon icon="youtube"></CommonSvgIcon></span>
216
+ <a
217
+ v-if="affiliate.youtube_url"
218
+ :href="affiliate.youtube_url"
219
+ target="_blank"
220
+ class="affiliate-youtube"
221
+ :aria-label="affiliate.name + ` YouTube Page`"
222
+ @click="fireAnalytics('youtube')"
223
+ >
224
+ <span class="presenter-icon"><CommonSvgIcon icon="youtube" /></span>
164
225
  </a>
165
226
  </span>
166
227
  </div>
@@ -168,79 +229,150 @@ onMounted(() => {
168
229
 
169
230
  <div
170
231
  v-if="getAffiliateContentItem('html_header')"
232
+ :class="
233
+ classBinding(
234
+ classObject,
235
+ 'htmlHeaderContainer',
236
+ 'w-full mt-5 text-center md:text-left'
237
+ )
238
+ "
171
239
  v-html="getAffiliateContentItem('html_header')"
172
- :class="classBinding(classObject, 'htmlHeaderContainer', 'w-full mt-5 text-center md:text-left')"
173
- ></div>
240
+ />
174
241
  <div
175
242
  v-if="affiliate.biography"
243
+ :class="
244
+ classBinding(
245
+ classObject,
246
+ 'biographyContainer',
247
+ 'w-full mt-5 text-center md:text-left'
248
+ )
249
+ "
176
250
  v-html="affiliate.biography"
177
- :class="classBinding(classObject, 'biographyContainer', 'w-full mt-5 text-center md:text-left')"
178
- ></div>
251
+ />
179
252
  <div
180
- v-if="contentCount>0"
253
+ v-if="contentCount > 0"
181
254
  class="grid-container-responsive"
182
- :class="classBinding(classObject, 'contentContainer', 'w-full mt-5 md:max-h-300')"
255
+ :class="
256
+ classBinding(
257
+ classObject,
258
+ 'contentContainer',
259
+ 'w-full mt-5 md:max-h-300'
260
+ )
261
+ "
183
262
  >
184
-
185
- <div v-if="affiliate.documents.length>0">
263
+ <div v-if="affiliate.documents.length > 0">
186
264
  <div :class="classBinding(classObject, 'affiliateContentBox', '')">
187
- <h3 class="mb-3">Documents</h3>
188
- <span v-for="document in affiliate.documents" :key="document.id">
189
- <div class="mb-2"><a @click="fireAnalytics('document-' + document.name)" class="affiliate-document" :href="document.url" target="_blank">{{ document.name }}</a></div>
265
+ <h3 class="mb-3">
266
+ Documents
267
+ </h3>
268
+ <span
269
+ v-for="document in affiliate.documents"
270
+ :key="document.id"
271
+ >
272
+ <div class="mb-2">
273
+ <a
274
+ class="affiliate-document"
275
+ :href="document.url"
276
+ target="_blank"
277
+ @click="fireAnalytics('document-' + document.name)"
278
+ >{{ document.name }}</a>
279
+ </div>
190
280
  </span>
191
281
  </div>
192
282
  </div>
193
- <div v-if="affiliate.videos.length>0">
283
+ <div v-if="affiliate.videos.length > 0">
194
284
  <div :class="classBinding(classObject, 'affiliateContentBox', '')">
195
- <div v-if="affiliate.videos.length == 1 && getAffiliateContentItem('embed_video') == 1">
285
+ <div
286
+ v-if="
287
+ affiliate.videos.length == 1 &&
288
+ getAffiliateContentItem('embed_video') == 1
289
+ "
290
+ >
196
291
  <iframe
197
- :src="getStreamingVideoUrl(affiliate.videos[0].url)"
198
- width="100%"
199
- style="max-width: 300px; margin:auto;"
200
- scrolling="no"
201
- frameborder="0"
202
- marginheight="0"
203
- marginwidth="0"
204
- allowfullscreen="">
205
- </iframe>
292
+ :src="getStreamingVideoUrl(affiliate.videos[0].url)"
293
+ width="100%"
294
+ style="max-width: 300px; margin: auto"
295
+ allowfullscreen=""
296
+ />
206
297
  </div>
207
298
  <div v-else>
208
- <h3 class="mb-3">Videos</h3>
209
- <input name="affiliateName" type="hidden" id="affiliateName" :value="affiliate.name">
210
- <span v-for="video in affiliate.videos" :key="video.id">
211
- <div class="mb-2"><a href="javascript:null" class="affiliate-video-trigger" @click="openVideoModal(video.name, video.url)">{{ video.name }}</a></div>
299
+ <h3 class="mb-3">
300
+ Videos
301
+ </h3>
302
+ <input
303
+ id="affiliateName"
304
+ name="affiliateName"
305
+ type="hidden"
306
+ :value="affiliate.name"
307
+ >
308
+ <span
309
+ v-for="video in affiliate.videos"
310
+ :key="video.id"
311
+ >
312
+ <div class="mb-2">
313
+ <a
314
+ class="affiliate-video-trigger hover:cursor-pointer"
315
+ @click="openVideoModal(video.name, video.url)"
316
+ >{{ video.name }}</a>
317
+ </div>
212
318
  </span>
213
319
  </div>
214
320
  </div>
215
321
  </div>
216
- <div v-if="affiliate.links.length>0">
322
+ <div v-if="affiliate.links.length > 0">
217
323
  <div :class="classBinding(classObject, 'affiliateContentBox', '')">
218
- <h3 class="mb-3">Links</h3>
219
- <span v-for="link in affiliate.links" :key="link.id">
220
- <div class="mb-2"><a @click="fireAnalytics('external_link-' + link.name)" :href="link.url" class="affiliate-link" target="_blank">{{ link.name }}</a></div>
324
+ <h3 class="mb-3">
325
+ Links
326
+ </h3>
327
+ <span
328
+ v-for="link in affiliate.links"
329
+ :key="link.id"
330
+ >
331
+ <div class="mb-2">
332
+ <a
333
+ :href="link.url"
334
+ class="affiliate-link"
335
+ target="_blank"
336
+ @click="fireAnalytics('external_link-' + link.name)"
337
+ >{{ link.name }}</a>
338
+ </div>
221
339
  </span>
222
340
  </div>
223
341
  </div>
224
-
225
342
  </div>
226
343
  <div class="grid-container-responsive mt-5">
227
- <div v-if="showLeftBottomBox" :class="classBinding(classObject, 'affiliateContentBox', '')">
228
- <div v-if="getAffiliateContentItem('custom_box_1')" v-html="getAffiliateContentItem('custom_box_1')"></div>
344
+ <div
345
+ v-if="showLeftBottomBox"
346
+ :class="classBinding(classObject, 'affiliateContentBox', '')"
347
+ >
348
+ <div
349
+ v-if="getAffiliateContentItem('custom_box_1')"
350
+ v-html="getAffiliateContentItem('custom_box_1')"
351
+ />
229
352
  <div v-else-if="hasContactInfo">
230
353
  <div class="flex flex-col md:flex-row">
231
- <div v-if="affiliate.contact_photo" class="mr-4 w-1/3 mb-3 md:mb-0 self-center md:self-start">
232
- <img :src="affiliate.contact_photo" class="w-full" />
354
+ <div
355
+ v-if="affiliate.contact_photo"
356
+ class="mr-4 w-1/3 mb-3 md:mb-0 self-center md:self-start"
357
+ >
358
+ <img
359
+ :src="affiliate.contact_photo"
360
+ class="w-full"
361
+ >
233
362
  </div>
234
363
  <div class="text-center md:text-left">
235
364
  <p>Contact:</p>
236
365
  <p>
237
- <span v-if="affiliate.contact_name">{{affiliate.contact_name}}<br/></span>
238
- <span v-if="affiliate.contact_title">{{affiliate.contact_title}}<br/></span>
239
- <span v-if="affiliate.contact_phone">Phone: {{affiliate.contact_phone}}<br/></span>
366
+ <span v-if="affiliate.contact_name">{{ affiliate.contact_name }}<br></span>
367
+ <span v-if="affiliate.contact_title">{{ affiliate.contact_title }}<br></span>
368
+ <span v-if="affiliate.contact_phone">Phone: {{ affiliate.contact_phone }}<br></span>
240
369
  <span v-if="affiliate.contact_email">
241
- <a @click="fireAnalytics('contact_email')" class="affiliate-email" :href="'mailto:' + affiliate.contact_email">
242
- {{affiliate.contact_email}}
243
- </a><br />
370
+ <a
371
+ class="affiliate-email"
372
+ :href="'mailto:' + affiliate.contact_email"
373
+ @click="fireAnalytics('contact_email')"
374
+ >
375
+ {{ affiliate.contact_email }} </a><br>
244
376
  </span>
245
377
  </p>
246
378
  </div>
@@ -249,25 +381,86 @@ onMounted(() => {
249
381
  </div>
250
382
 
251
383
  <div :class="classBinding(classObject, 'affiliateContentBox', '')">
252
- <div v-if="getAffiliateContentItem('custom_box_2')" v-html="getAffiliateContentItem('custom_box_2')"></div>
253
- <div v-else class="text-center md:text-right">
384
+ <div
385
+ v-if="getAffiliateContentItem('custom_box_2')"
386
+ v-html="getAffiliateContentItem('custom_box_2')"
387
+ />
388
+ <div
389
+ v-else
390
+ class="text-center md:text-right"
391
+ >
254
392
  <p>
255
- <span v-if="affiliate.contact_address">{{affiliate.contact_address}}<br/></span>
256
- <span v-if="affiliate.contact_location">{{affiliate.contact_location}}<br/></span>
257
- <span v-if="affiliate.website"><a @click="fireAnalytics('website')" class="affiliate-website" :href="affiliate.website" target="_blank">{{affiliate.website}}</a><br/></span>
393
+ <span v-if="affiliate.contact_address">
394
+ {{ affiliate.contact_address }}
395
+ <br>
396
+ </span>
397
+ <span v-if="affiliate.contact_location">
398
+ {{ affiliate.contact_location }}
399
+ <br>
400
+ </span>
401
+ <span v-if="affiliate.website">
402
+ <a
403
+ class="affiliate-website"
404
+ :href="affiliate.website"
405
+ target="_blank"
406
+ @click="fireAnalytics('website')"
407
+ >
408
+ {{ affiliate.website }}
409
+ </a>
410
+ <br>
411
+ </span>
258
412
  </p>
259
- <span class="flex justify-center" :class="{'md:justify-end':hasContactInfo}">
260
- <a @click="fireAnalytics('twitter')" v-if="affiliate.twitter_url" :href="affiliate.twitter_url" target="_blank" class="affiliate-twitter" :aria-label="affiliate.name + ` Twitter Page`">
261
- <span class="presenter-icon"><CommonSvgIcon icon="twitter"></CommonSvgIcon></span>
413
+ <span
414
+ class="flex justify-center"
415
+ :class="{ 'md:justify-end': hasContactInfo }"
416
+ >
417
+ <a
418
+ v-if="affiliate.twitter_url"
419
+ :href="affiliate.twitter_url"
420
+ target="_blank"
421
+ class="affiliate-twitter"
422
+ :aria-label="affiliate.name + ` Twitter Page`"
423
+ @click="fireAnalytics('twitter')"
424
+ >
425
+ <span class="presenter-icon">
426
+ <CommonSvgIcon icon="twitter" />
427
+ </span>
262
428
  </a>
263
- <a @click="fireAnalytics('facebook')" v-if="affiliate.facebook_url" :href="affiliate.facebook_url" target="_blank" class="affiliate-facebook" :aria-label="affiliate.name + ` Facebook Page`">
264
- <span class="presenter-icon "><CommonSvgIcon icon="facebook"></CommonSvgIcon></span>
429
+ <a
430
+ v-if="affiliate.facebook_url"
431
+ :href="affiliate.facebook_url"
432
+ target="_blank"
433
+ class="affiliate-facebook"
434
+ :aria-label="affiliate.name + ` Facebook Page`"
435
+ @click="fireAnalytics('facebook')"
436
+ >
437
+ <span class="presenter-icon">
438
+ <CommonSvgIcon icon="facebook" />
439
+ </span>
265
440
  </a>
266
- <a @click="fireAnalytics('linked_in')" v-if="affiliate.linkedin_url" :href="affiliate.linkedin_url" target="_blank" class="affiliate-linkedin" :aria-label="affiliate.name + ` LinkedIn Page`">
267
- <span class="presenter-icon"><CommonSvgIcon icon="linkedin"></CommonSvgIcon></span>
441
+ <a
442
+ v-if="affiliate.linkedin_url"
443
+ :href="affiliate.linkedin_url"
444
+ target="_blank"
445
+ class="affiliate-linkedin"
446
+ :aria-label="affiliate.name + ` LinkedIn Page`"
447
+ @click="fireAnalytics('linked_in')"
448
+ >
449
+ <span class="presenter-icon">
450
+ <CommonSvgIcon icon="linkedin" />
451
+ </span>
268
452
  </a>
269
- <a @click="fireAnalytics('youtube')" v-if="affiliate.youtube_url" :href="affiliate.youtube_url" target="_blank" class="affiliate-youtube" :aria-label="affiliate.name + ` YouTube Page`">
270
- <span class="presenter-icon"><CommonSvgIcon icon="youtube"></CommonSvgIcon></span>
453
+ <a
454
+ v-if="affiliate.youtube_url"
455
+ :href="affiliate.youtube_url"
456
+ target="_blank"
457
+ class="affiliate-youtube"
458
+ :aria-label="affiliate.name + ` YouTube Page`"
459
+ @click="fireAnalytics('youtube')"
460
+ >
461
+ <span class="presenter-icon">
462
+ <CommonSvgIcon icon="youtube" />
463
+ </span>
271
464
  </a>
272
465
  </span>
273
466
  </div>
@@ -275,7 +468,12 @@ onMounted(() => {
275
468
  </div>
276
469
  </div>
277
470
 
278
- <CommonModal :visible="showVideoModal" modal-size="lg" @clicked="showVideoModal = false" class="video-dialog">
471
+ <CommonModal
472
+ :visible="showVideoModal"
473
+ modal-size="lg"
474
+ class="video-dialog"
475
+ @clicked="showVideoModal = false"
476
+ >
279
477
  <template #modal-title>
280
478
  <div class="p-1 pb-2">
281
479
  {{ modalVideoTitle }}
@@ -284,46 +482,18 @@ onMounted(() => {
284
482
  <template #modal-body>
285
483
  <div class="video-modal-body">
286
484
  <iframe
287
- class='video-frame'
288
- :src="modalVideoUrl"
289
- width="640"
290
- height="360"
291
- scrolling="no"
292
- frameborder="0"
293
- marginheight="0"
294
- marginwidth="0"
295
- allowfullscreen="">
296
- </iframe>
485
+ class="video-frame"
486
+ :src="modalVideoUrl"
487
+ width="640"
488
+ height="360"
489
+ allowfullscreen=""
490
+ />
297
491
  </div>
298
492
  </template>
299
493
  </CommonModal>
300
-
301
- </div>
302
-
494
+ </div>
303
495
  </template>
304
496
 
305
497
  <style scoped>
306
- .grid-container-responsive {
307
- display: grid;
308
- grid-template-columns: 1fr;
309
- grid-column-gap: 20px;
310
- grid-row-gap: 20px;
311
- }
312
- @media (min-width: 768px) {
313
- .grid-container-responsive {
314
- grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
315
- }
316
- }
317
- .video-dialog >>> .modal-box {
318
- width: 704px;
319
- }
320
- .video-frame {
321
- display: block;
322
- width: 640px;
323
- margin-left: auto;
324
- margin-right: auto;
325
- padding-left: auto;
326
- padding-right: auto;
327
- }
498
+ .grid-container-responsive{display:grid;grid-template-columns:1fr;grid-column-gap:20px;grid-row-gap:20px}@media (min-width:768px){.grid-container-responsive{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}.video-dialog>>>.modal-box{width:704px}.video-frame{display:block;margin-left:auto;margin-right:auto;width:640px}
328
499
  </style>
329
-