@icvdeveloper/common-module 1.4.13 → 2.0.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 (109) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +10 -0
  4. package/dist/runtime/@types/components.d.ts +22 -0
  5. package/dist/runtime/@types/configVariables.d.ts +6 -0
  6. package/dist/runtime/analytics.d.ts +1 -1
  7. package/dist/runtime/assets/scss/index.css +0 -705
  8. package/dist/runtime/assets/svg/icon-minus.svg +6 -0
  9. package/dist/runtime/assets/svg/icon-video.svg +6 -0
  10. package/dist/runtime/components/affiliates/AffiliateModal.vue +66 -0
  11. package/dist/runtime/components/affiliates/AffiliatePage.vue +337 -132
  12. package/dist/runtime/components/agenda/AgendaTabbed.vue +43 -34
  13. package/dist/runtime/components/agenda/components/Calendar.vue +8 -3
  14. package/dist/runtime/components/agenda/components/Favorite.vue +44 -0
  15. package/dist/runtime/components/agenda/components/PlayIcon.vue +1 -1
  16. package/dist/runtime/components/agenda/components/PresentationLink.vue +26 -15
  17. package/dist/runtime/components/chat/ChatConversationList.vue +108 -0
  18. package/dist/runtime/components/chat/ChatCreateConversation.vue +205 -0
  19. package/dist/runtime/components/chat/ChatCreateGroupConversation.vue +159 -0
  20. package/dist/runtime/components/chat/ChatHeader.vue +98 -0
  21. package/dist/runtime/components/chat/ChatMessage.vue +40 -0
  22. package/dist/runtime/components/chat/ChatShowConversation.vue +77 -0
  23. package/dist/runtime/components/chat/ChatWidget.vue +65 -0
  24. package/dist/runtime/components/chat/ChatWindow.vue +211 -0
  25. package/dist/runtime/components/chat/ChatWindow.vue.d.ts +6 -0
  26. package/dist/runtime/components/chat/MessageInput.vue +30 -0
  27. package/dist/runtime/components/chat/SearchInput.vue +32 -0
  28. package/dist/runtime/components/core/Accordion.vue +1 -1
  29. package/dist/runtime/components/core/AttendeeList.vue +25 -16
  30. package/dist/runtime/components/core/CountdownTimer.vue +1 -1
  31. package/dist/runtime/components/core/Modal.vue +21 -13
  32. package/dist/runtime/components/core/ModalButton.vue +43 -0
  33. package/dist/runtime/components/core/Navbar.vue +3 -3
  34. package/dist/runtime/components/core/Navigation.vue +293 -0
  35. package/dist/runtime/components/core/SvgIcon.vue +31 -1
  36. package/dist/runtime/components/core/VButton.vue +41 -0
  37. package/dist/runtime/components/core/ZoomModal.vue +1 -1
  38. package/dist/runtime/components/events/ListEvents.vue +3 -4
  39. package/dist/runtime/components/forms/CheckboxGroup.vue +46 -0
  40. package/dist/runtime/components/forms/ErrorField.vue +11 -2
  41. package/dist/runtime/components/forms/RadioGroup.vue +50 -0
  42. package/dist/runtime/components/forms/SelectDropDown.vue +47 -0
  43. package/dist/runtime/components/forms/SupportForm.vue +6 -6
  44. package/dist/runtime/components/layouts/Accordion.vue +2 -2
  45. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +20 -4
  46. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +14 -6
  47. package/dist/runtime/components/media/WebcastVideoPlayer.vue +1 -1
  48. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +8 -8
  49. package/dist/runtime/components/media/components/CeCreditNotification.vue +2 -2
  50. package/dist/runtime/components/media/components/ContentArea.vue +51 -14
  51. package/dist/runtime/components/media/components/ContentTabs.vue +2 -2
  52. package/dist/runtime/components/media/components/DocumentsPanel.vue +2 -2
  53. package/dist/runtime/components/media/components/MediaContainer.vue +3 -7
  54. package/dist/runtime/components/media/components/PresentersPanel.vue +69 -50
  55. package/dist/runtime/components/media/components/SessionReporting.vue +5 -4
  56. package/dist/runtime/components/media/components/SponsorsPanel.vue +3 -3
  57. package/dist/runtime/components/presenters/PresenterListing.vue +30 -20
  58. package/dist/runtime/components/presenters/PresenterModal.vue +26 -21
  59. package/dist/runtime/components/presenters/Presenters.vue +139 -0
  60. package/dist/runtime/components/profile/Profile.vue +10 -6
  61. package/dist/runtime/components/profile/components/Sidebar.vue +1 -1
  62. package/dist/runtime/components/profile/components/SidebarNavItem.vue +1 -1
  63. package/dist/runtime/components/profile/tabs/Favorites.vue +5 -4
  64. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +26 -16
  65. package/dist/runtime/components/registration/AlreadyRegisteredModal.vue +99 -0
  66. package/dist/runtime/components/registration/PaymentForm.vue +136 -0
  67. package/dist/runtime/components/registration/RegistrationForm.vue +417 -0
  68. package/dist/runtime/components/registration/RegistrationGroupSelect.vue +142 -0
  69. package/dist/runtime/components/registration/StripePaymentForm.vue +141 -0
  70. package/dist/runtime/composables/useAgenda.d.ts +12 -0
  71. package/dist/runtime/composables/useAgenda.mjs +101 -10
  72. package/dist/runtime/composables/useAuth.mjs +1 -1
  73. package/dist/runtime/composables/useConferenceHelpers.d.ts +5 -1
  74. package/dist/runtime/composables/useConferenceHelpers.mjs +15 -1
  75. package/dist/runtime/composables/useEventHooks.d.ts +26 -0
  76. package/dist/runtime/composables/useEventHooks.mjs +21 -0
  77. package/dist/runtime/composables/useEvents.d.ts +17 -1
  78. package/dist/runtime/composables/useEvents.mjs +29 -1
  79. package/dist/runtime/composables/useLogin.mjs +7 -3
  80. package/dist/runtime/composables/usePresentation.mjs +1 -1
  81. package/dist/runtime/composables/usePusher.d.ts +4 -0
  82. package/dist/runtime/composables/usePusher.mjs +38 -26
  83. package/dist/runtime/composables/useStream.mjs +7 -1
  84. package/dist/runtime/enums/general.d.ts +4 -1
  85. package/dist/runtime/enums/general.mjs +4 -1
  86. package/dist/runtime/models/authUser.d.ts +1 -0
  87. package/dist/runtime/models/conference.d.ts +14 -0
  88. package/dist/runtime/models/conversation.d.ts +2 -4
  89. package/dist/runtime/models/globalConfig.d.ts +6 -2
  90. package/dist/runtime/models/group.d.ts +32 -2
  91. package/dist/runtime/models/icons.d.ts +7 -0
  92. package/dist/runtime/models/templateConfig.d.ts +6 -0
  93. package/dist/runtime/models/user.d.ts +1 -0
  94. package/dist/runtime/models/virtualPagesConfig.d.ts +335 -0
  95. package/dist/runtime/models/virtualPagesConfig.mjs +0 -0
  96. package/dist/runtime/plugin.mjs +11 -1
  97. package/dist/runtime/store/affiliates.d.ts +3 -0
  98. package/dist/runtime/store/affiliates.mjs +38 -0
  99. package/dist/runtime/store/auth.mjs +6 -0
  100. package/dist/runtime/store/conferences.d.ts +3 -1
  101. package/dist/runtime/store/conferences.mjs +7 -2
  102. package/dist/runtime/store/conversations.d.ts +4040 -10
  103. package/dist/runtime/store/conversations.mjs +255 -22
  104. package/dist/runtime/store/modalPlayerConfig.d.ts +498 -0
  105. package/dist/runtime/store/modalPlayerConfig.mjs +58 -0
  106. package/dist/runtime/store/templateConfigs.d.ts +3 -2
  107. package/dist/runtime/store/templateConfigs.mjs +2 -1
  108. package/package.json +5 -2
  109. package/dist/runtime/components/media/components/PresentersPanel.vue.d.ts +0 -32
@@ -109,7 +109,11 @@ export default defineNuxtPlugin((nuxtApp) => {
109
109
  ogDescription: metaDesc,
110
110
  ogType: "website",
111
111
  ogUrl: canonicalUrl,
112
- ogImage: socialImage
112
+ ogImage: socialImage,
113
+ twitterCard: "summary_large_image",
114
+ twitterTitle: docTitle,
115
+ twitterDescription: metaDesc,
116
+ twitterImage: socialImage
113
117
  });
114
118
  });
115
119
  router.afterEach(() => {
@@ -133,6 +137,12 @@ export default defineNuxtPlugin((nuxtApp) => {
133
137
  {
134
138
  children: customCss
135
139
  }
140
+ ],
141
+ script: [
142
+ {
143
+ src: "https://cdn.jsdelivr.net/npm/add-to-calendar-button@2",
144
+ async: true
145
+ }
136
146
  ]
137
147
  });
138
148
  } else {
@@ -8,6 +8,9 @@ export declare const useAffiliatesStore: import("pinia").StoreDefinition<"affili
8
8
  getConferenceAffiliates: (state: AffiliatesState) => (conferenceId: number) => Sponsor[];
9
9
  }, {
10
10
  getAffiliates(conferenceId: number): Promise<unknown>;
11
+ getSponsors(conferenceId: number): Promise<unknown>;
12
+ getExhibitors(conferenceId: number): Promise<unknown>;
13
+ getAllAffiliates(conferenceId: number): Promise<unknown>;
11
14
  /**
12
15
  * no longer in use by nejm-template
13
16
  * replaced with conference.value.hasOwnProperty('affiliates')
@@ -28,6 +28,44 @@ export const useAffiliatesStore = defineStore("affiliates", {
28
28
  });
29
29
  });
30
30
  },
31
+ getSponsors(conferenceId) {
32
+ return new Promise((resolve, reject) => {
33
+ const request = useApi();
34
+ request(
35
+ `/conferences/${conferenceId}/affiliates?filter[role]=sponsor&orderBy=name&orderDir=asc`
36
+ ).then((response) => {
37
+ return response.data;
38
+ }).catch((error) => {
39
+ reject(error);
40
+ });
41
+ });
42
+ },
43
+ // TODO - correctly assign return type
44
+ getExhibitors(conferenceId) {
45
+ return new Promise((resolve, reject) => {
46
+ const request = useApi();
47
+ request(
48
+ `/conferences/${conferenceId}/affiliates?filter[role]=exhibitor&orderBy=name&orderDir=asc`
49
+ ).then((response) => {
50
+ return response.data;
51
+ }).catch((error) => {
52
+ reject(error);
53
+ });
54
+ });
55
+ },
56
+ // TODO - correctly assign return type
57
+ getAllAffiliates(conferenceId) {
58
+ return new Promise((resolve, reject) => {
59
+ const request = useApi();
60
+ request(
61
+ `/conferences/${conferenceId}/affiliates?orderBy=name&orderDir=asc`
62
+ ).then((response) => {
63
+ return response.data;
64
+ }).catch((error) => {
65
+ reject(error);
66
+ });
67
+ });
68
+ },
31
69
  /**
32
70
  * no longer in use by nejm-template
33
71
  * replaced with conference.value.hasOwnProperty('affiliates')
@@ -3,6 +3,9 @@ import { merge } from "lodash-es";
3
3
  import { DateTime } from "luxon";
4
4
  import { useApi } from "../composables/useApi.mjs";
5
5
  import { useConferencesStore } from "./conferences.mjs";
6
+ import {
7
+ loginEventHook
8
+ } from "../composables/useEventHooks.mjs";
6
9
  export const useAuthStore = defineStore("auth", {
7
10
  persist: {
8
11
  afterRestore(context) {
@@ -39,6 +42,7 @@ export const useAuthStore = defineStore("auth", {
39
42
  this.user = mergedUser;
40
43
  const { updateConferencesAccess } = useConferencesStore();
41
44
  updateConferencesAccess(this.user.conferences);
45
+ loginEventHook.trigger(true);
42
46
  resolve(response);
43
47
  }).catch((error) => {
44
48
  reject(error);
@@ -60,6 +64,7 @@ export const useAuthStore = defineStore("auth", {
60
64
  conferencesStore.getConferences().then(() => {
61
65
  conferencesStore.getCurrentConference(true);
62
66
  });
67
+ loginEventHook.trigger(false);
63
68
  resolve(response);
64
69
  }).catch((error) => {
65
70
  reject(error);
@@ -73,6 +78,7 @@ export const useAuthStore = defineStore("auth", {
73
78
  conferencesStore.getConferences().then(() => {
74
79
  conferencesStore.getCurrentConference(true);
75
80
  });
81
+ loginEventHook.trigger(false);
76
82
  resolve();
77
83
  });
78
84
  },
@@ -3,6 +3,7 @@ export interface ConferencesState {
3
3
  conferenceList: Conference[];
4
4
  currentConference: null | Conference;
5
5
  selectedConference: null | Conference;
6
+ featuredConference: null | Conference;
6
7
  }
7
8
  export declare const useConferencesStore: import("pinia").StoreDefinition<"conferences", ConferencesState, {
8
9
  upcomingEvents: (state: ConferencesState) => Conference[];
@@ -11,5 +12,6 @@ export declare const useConferencesStore: import("pinia").StoreDefinition<"confe
11
12
  getConferences(): Promise<Conference[]>;
12
13
  getSelectedConference(id: number, skipDetails?: boolean): Promise<Conference>;
13
14
  getCurrentConference(skipDetails?: boolean): Promise<Conference>;
14
- updateConferencesAccess(userConferences: any): void;
15
+ getRegisteredConferences(): Conference[];
16
+ updateConferencesAccess(userConferences: Conference[]): void;
15
17
  }>;
@@ -10,7 +10,8 @@ export const useConferencesStore = defineStore("conferences", {
10
10
  state: () => ({
11
11
  conferenceList: [],
12
12
  currentConference: null,
13
- selectedConference: null
13
+ selectedConference: null,
14
+ featuredConference: null
14
15
  }),
15
16
  getters: {
16
17
  upcomingEvents: (state) => {
@@ -60,7 +61,7 @@ export const useConferencesStore = defineStore("conferences", {
60
61
  getCurrentConference(skipDetails) {
61
62
  return new Promise((resolve, reject) => {
62
63
  const request = useApi();
63
- let conference = null;
64
+ let conference = {};
64
65
  const liveConference = this.conferenceList.find(
65
66
  (conf) => conf.state === ConferenceState.LIVE || conf.state === ConferenceState.MIXED
66
67
  );
@@ -98,11 +99,15 @@ export const useConferencesStore = defineStore("conferences", {
98
99
  );
99
100
  }
100
101
  this.currentConference = data;
102
+ this.featuredConference = data;
101
103
  resolve(this.currentConference);
102
104
  });
103
105
  }
104
106
  });
105
107
  },
108
+ getRegisteredConferences() {
109
+ return this.conferenceList.filter((item) => item.access == true);
110
+ },
106
111
  updateConferencesAccess(userConferences) {
107
112
  userConferences.forEach((userConf) => {
108
113
  const conf = find(this.conferenceList, { id: userConf.id });