@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
@@ -7,6 +7,10 @@ declare global {
7
7
  }
8
8
  }
9
9
  export type usePusherMethods = {
10
+ /**
11
+ * Create Echo instance
12
+ */
13
+ echoInstance(): Echo;
10
14
  /**
11
15
  * Join the Pusher presence channel to be detected as online
12
16
  */
@@ -1,52 +1,64 @@
1
1
  import Pusher from "pusher-js";
2
2
  import Echo from "laravel-echo";
3
3
  import { storeToRefs } from "pinia";
4
+ import { useV3plusCommonModule } from "#imports";
4
5
  import { useAuthStore } from "../store/auth.mjs";
5
6
  import { useAttendeeListStore } from "../store/attendeeList.mjs";
6
7
  import { usePortalStore } from "../store/portal.mjs";
7
- const {
8
- setOnlineUsers,
9
- setOnlineUser,
10
- removeOnlineUser,
11
- setUserOnline,
12
- setRemoteUserOnline,
13
- setRemoteUserOffline
14
- } = useAttendeeListStore();
15
- const { user } = storeToRefs(useAuthStore());
16
- const { onlineUsers } = storeToRefs(useAttendeeListStore());
17
- const { data: portal } = storeToRefs(usePortalStore());
18
8
  export const usePusher = () => {
19
- const joinPresenceChannel = () => {
9
+ const echoInstance = () => {
10
+ const commonModule = useV3plusCommonModule();
11
+ const { user } = storeToRefs(useAuthStore());
20
12
  const token = "Bearer " + user.value?.token;
21
13
  window.Pusher = Pusher;
22
- window.Echo = new Echo({
14
+ const echo = window.Echo = new Echo({
23
15
  key: "276111d83646e96796ed",
24
16
  broadcaster: "pusher",
25
17
  cluster: "us2",
26
18
  forceTLS: true,
27
- authEndpoint: "https://staging.v3plusportal.com/broadcasting/auth",
19
+ encrypted: true,
20
+ authEndpoint: "https://rubiconportals.com/broadcasting/auth",
21
+ csrfToken: user.value?.token,
28
22
  auth: {
29
23
  headers: {
30
- authorization: token
24
+ "X-Portal-Token": commonModule.options.portalHash,
25
+ Authorization: token,
26
+ Accept: "application/json"
31
27
  }
32
28
  }
33
29
  });
34
- console.log(`presence.${portal.value?.id}`);
35
- window.Echo.join(`presence.${portal.value?.id}`).here((users) => {
36
- console.log("users here:", users);
30
+ return echo;
31
+ };
32
+ const joinPresenceChannel = () => {
33
+ const {
34
+ setOnlineUsers,
35
+ setOnlineUser,
36
+ removeOnlineUser,
37
+ setUserOnline,
38
+ setRemoteUserOnline,
39
+ setRemoteUserOffline
40
+ } = useAttendeeListStore();
41
+ const { onlineUsers } = storeToRefs(useAttendeeListStore());
42
+ const { data: portal } = storeToRefs(usePortalStore());
43
+ const echo = echoInstance();
44
+ echo.join(`presence.${portal.value?.id}`).here((users) => {
45
+ console.log("Users here:", users);
37
46
  setOnlineUsers(users);
38
47
  setUserOnline();
39
- }).joining((user2) => {
40
- console.log("user joining:", user2);
41
- setOnlineUser(user2);
42
- setRemoteUserOnline(user2.id);
43
- }).leaving((user2) => {
44
- console.log("user leaving:", user2);
45
- removeOnlineUser(user2.id);
46
- setRemoteUserOffline(user2.id);
48
+ }).joining((user) => {
49
+ console.log("User joining:", user);
50
+ setOnlineUser(user);
51
+ setRemoteUserOnline(user.id);
52
+ }).leaving((user) => {
53
+ console.log("User leaving:", user);
54
+ removeOnlineUser(user.id);
55
+ setRemoteUserOffline(user.id);
56
+ }).error((error) => {
57
+ console.log("Echo error:", error);
47
58
  });
48
59
  };
49
60
  return {
61
+ echoInstance,
50
62
  joinPresenceChannel
51
63
  };
52
64
  };
@@ -1,12 +1,15 @@
1
- import { ref, unref, computed, onMounted, onBeforeUnmount } from "vue";
1
+ import { inject, ref, unref, computed, onMounted, onBeforeUnmount } from "vue";
2
2
  import { storeToRefs } from "pinia";
3
3
  import { useRoute } from "vue-router";
4
4
  import { isEqual } from "lodash-es";
5
5
  import { usePresentationsStore } from "../store/presentations.mjs";
6
6
  export const useStream = (_region, _prefix, _confId, _callback) => {
7
+ console.log("confId", _confId);
7
8
  const region = unref(_region);
8
9
  const prefix = unref(_prefix);
9
10
  const confId = unref(_confId);
11
+ const isModal = inject("isModalStream", false);
12
+ const modalChannel = inject("modalPresentationChannel", ref(2));
10
13
  const route = ref(useRoute());
11
14
  const { currentPresentation } = storeToRefs(usePresentationsStore());
12
15
  const currentStreamData = ref({});
@@ -54,6 +57,9 @@ export const useStream = (_region, _prefix, _confId, _callback) => {
54
57
  return String(route.value.name).includes("stream-test");
55
58
  });
56
59
  const webcastChannel = computed(() => {
60
+ if (isModal) {
61
+ return modalChannel.value != void 0 ? modalChannel.value.toString() : "2";
62
+ }
57
63
  return isStreamTest.value ? "stream-test" : route.value.params.channelid ? route.value.params.channelid : route.value.params.id;
58
64
  });
59
65
  const jsonPrefix = computed(() => {
@@ -6,9 +6,12 @@ export declare enum Position {
6
6
  MIDDLE = "middle"
7
7
  }
8
8
  export declare enum SelectedContent {
9
- OVERVIEW = "overview",
10
9
  AGENDA = "agenda",
10
+ DOCUMENTS = "documents",
11
11
  HTML = "html",
12
+ PRESENTERS = "presenters",
13
+ OVERVIEW = "overview",
14
+ SPONSORS = "sponsors",
12
15
  TRACK_HTML = "track_html",
13
16
  URL = "url"
14
17
  }
@@ -7,9 +7,12 @@ export var Position = /* @__PURE__ */ ((Position2) => {
7
7
  return Position2;
8
8
  })(Position || {});
9
9
  export var SelectedContent = /* @__PURE__ */ ((SelectedContent2) => {
10
- SelectedContent2["OVERVIEW"] = "overview";
11
10
  SelectedContent2["AGENDA"] = "agenda";
11
+ SelectedContent2["DOCUMENTS"] = "documents";
12
12
  SelectedContent2["HTML"] = "html";
13
+ SelectedContent2["PRESENTERS"] = "presenters";
14
+ SelectedContent2["OVERVIEW"] = "overview";
15
+ SelectedContent2["SPONSORS"] = "sponsors";
13
16
  SelectedContent2["TRACK_HTML"] = "track_html";
14
17
  SelectedContent2["URL"] = "url";
15
18
  return SelectedContent2;
@@ -1,4 +1,5 @@
1
1
  export type AuthUser = {
2
+ uid?: string;
2
3
  id?: string;
3
4
  email?: string;
4
5
  name?: string;
@@ -1,6 +1,7 @@
1
1
  import type { Document } from "./document";
2
2
  import type { Link } from "./link";
3
3
  import type { Video } from "./video";
4
+ import type { TemplateConfig } from "./templateConfig";
4
5
  export declare enum ConferenceState {
5
6
  LIVE = "live",
6
7
  MIXED = "mixed",
@@ -38,6 +39,11 @@ export type Presenter = {
38
39
  youtube_url?: string | null;
39
40
  presentationId?: number | null;
40
41
  };
42
+ export type PresenterWithPivot = Presenter & {
43
+ pivot?: {
44
+ [key: string]: any;
45
+ };
46
+ };
41
47
  export type Group = {
42
48
  ce_enabled?: boolean;
43
49
  code?: string;
@@ -53,6 +59,7 @@ export type Group = {
53
59
  export type Affiliate = {
54
60
  id?: number;
55
61
  name?: string;
62
+ booth?: string;
56
63
  code?: string;
57
64
  label?: string;
58
65
  photo?: string;
@@ -62,6 +69,7 @@ export type Affiliate = {
62
69
  role?: string;
63
70
  documents?: Array<Document>;
64
71
  links?: Array<Link>;
72
+ template_config?: TemplateConfig;
65
73
  videos?: Array<Video>;
66
74
  affiliate_content?: {
67
75
  html_vanity_page?: string;
@@ -106,6 +114,12 @@ export type Presentation = {
106
114
  tracks?: Array<Track>;
107
115
  documents?: Array<Document>;
108
116
  };
117
+ export type VirtualPresentation = Presentation & {
118
+ track?: {
119
+ channel: number | string;
120
+ };
121
+ access?: boolean;
122
+ };
109
123
  export type Track = {
110
124
  access?: boolean;
111
125
  channel?: number;
@@ -1,12 +1,10 @@
1
1
  import type { User } from "./user";
2
- export type MessagesRead = {
3
- user?: User | null;
4
- };
2
+ export type MessagesRead = User[] | null;
5
3
  export type Message = {
6
4
  id?: number;
7
5
  user?: User | null;
8
6
  message?: string | null;
9
- messages_read?: MessagesRead | null;
7
+ messages_read?: MessagesRead;
10
8
  created_at?: string | null;
11
9
  };
12
10
  export type Conversation = {
@@ -78,5 +78,9 @@ export interface Global {
78
78
  view_now_button_alias: TextVariable;
79
79
  view_preview_button_alias: TextVariable;
80
80
  }
81
- export type GlobalConfigKey = `${keyof Global & (string | number)}`;
82
- export type GlobalConfigKeyType<T extends keyof Global> = Global[T];
81
+ export interface VirtualGlobal extends Global {
82
+ site_search?: ToggleVariable;
83
+ allow_favorites?: ToggleVariable;
84
+ }
85
+ export type GlobalConfigKey = `${keyof VirtualGlobal & (string | number)}`;
86
+ export type GlobalConfigKeyType<T extends keyof VirtualGlobal> = VirtualGlobal[T];
@@ -1,14 +1,44 @@
1
+ export type Merchant = {
2
+ id: number;
3
+ account_id: string;
4
+ };
5
+ export type RegistrationField = {
6
+ id: number;
7
+ registration_form_id: number;
8
+ name: string;
9
+ label: string;
10
+ placeholder: null | string;
11
+ type: string;
12
+ order: number;
13
+ value: null | string | number;
14
+ validation: [];
15
+ options: [];
16
+ };
17
+ export type RegistrationForm = {
18
+ id: number;
19
+ portal_id: number;
20
+ name: string;
21
+ description: null | string;
22
+ fields?: RegistrationField[];
23
+ };
1
24
  export type Group = {
2
25
  cc_enabled?: boolean;
26
+ ce_enabled?: boolean;
3
27
  code?: string;
4
28
  created_at?: string;
5
- description?: string | null;
29
+ description?: null | string;
6
30
  enabled?: boolean;
7
31
  id?: number;
8
32
  merchant_id?: null | string | number;
9
33
  name?: string;
10
34
  portal_id?: number;
11
- price?: null | string;
35
+ post_reg_login?: number;
36
+ price?: null | number;
37
+ promo_code?: null | string;
12
38
  registration_form_id?: number;
39
+ registration_message?: null | string;
40
+ type?: string;
13
41
  updated_at?: string;
42
+ merchant?: Merchant;
43
+ registration_form?: RegistrationForm;
14
44
  };
@@ -4,7 +4,9 @@ export type Icon = {
4
4
  component: VNode;
5
5
  };
6
6
  export type Icons = {
7
+ bell: Icon;
7
8
  caret: Icon;
9
+ chat: Icon;
8
10
  check: Icon;
9
11
  chevron: Icon;
10
12
  chevron2down: Icon;
@@ -14,14 +16,19 @@ export type Icons = {
14
16
  close: Icon;
15
17
  downarrow: Icon;
16
18
  facebook: Icon;
19
+ favoriteFilled: Icon;
20
+ favorite: Icon;
17
21
  info: Icon;
18
22
  linkedin: Icon;
23
+ minus: Icon;
19
24
  newwindow: Icon;
25
+ notification: Icon;
20
26
  offline: Icon;
21
27
  online: Icon;
22
28
  person: Icon;
23
29
  playarrow: Icon;
24
30
  twitter: Icon;
31
+ video: Icon;
25
32
  website: Icon;
26
33
  youtube: Icon;
27
34
  zoom: Icon;
@@ -1,3 +1,8 @@
1
+ export type Meta = {
2
+ name: string;
3
+ description: string;
4
+ id: number;
5
+ };
1
6
  export type Global = {
2
7
  [key: string]: {
3
8
  class?: string;
@@ -38,6 +43,7 @@ export type Setting = {
38
43
  value?: string;
39
44
  };
40
45
  export type TemplateConfig = {
46
+ meta?: Meta;
41
47
  global?: Global;
42
48
  misc?: Misc;
43
49
  pages?: Array<Pages>;
@@ -13,5 +13,6 @@ export type User = {
13
13
  video_chat?: boolean | null;
14
14
  type?: string;
15
15
  groups?: Group[];
16
+ group_ids?: number[];
16
17
  conferences?: Conference[];
17
18
  };
@@ -0,0 +1,335 @@
1
+ import type { ColorVariable, HTMLVariable, ToggleVariable, SelectVariable, NumberVariable, ImageVariable, TextVariable, TogglePlusLabelVariable, HotspotVariable } from "../@types/configVariables";
2
+ export type ArchiveContentTabsVariable = {
3
+ label: string;
4
+ name: string;
5
+ type: string;
6
+ value: Array<{
7
+ content: string;
8
+ label: string;
9
+ type: string;
10
+ }>;
11
+ };
12
+ export type PlayerContentTabsVariable = {
13
+ label: string;
14
+ name: string;
15
+ type: string;
16
+ value: Array<{
17
+ content: string;
18
+ label: string;
19
+ type: string;
20
+ }>;
21
+ };
22
+ export type AgendaPlayerPageConfigs = {
23
+ agenda_grouped_track_color_1: ColorVariable;
24
+ agenda_grouped_track_color_2: ColorVariable;
25
+ agenda_grouped_track_color_3: ColorVariable;
26
+ agenda_grouped_track_color_4: ColorVariable;
27
+ agenda_grouped_track_text_color: ColorVariable;
28
+ agenda_html_header: HTMLVariable;
29
+ agenda_presenter_color: ColorVariable;
30
+ agenda_tab_active_bg_color: ColorVariable;
31
+ agenda_tab_bg_color: ColorVariable;
32
+ agenda_tab_color: ColorVariable;
33
+ agenda_tab_sponsor_bg_color: ColorVariable;
34
+ agenda_track_bg_color: ColorVariable;
35
+ agenda_track_group_bg_color: ColorVariable;
36
+ session_end_times: ToggleVariable;
37
+ session_times: ToggleVariable;
38
+ session_desc_link: SelectVariable;
39
+ session_desc_link_text: TextVariable;
40
+ agendas_full_access: ToggleVariable;
41
+ tab_dates: ToggleVariable;
42
+ use_accordion: ToggleVariable;
43
+ use_presenter_modal: ToggleVariable;
44
+ sponsors: ToggleVariable;
45
+ add_to_google_calendar: ToggleVariable;
46
+ add_to_microsoft_calendar: ToggleVariable;
47
+ group_tracks: SelectVariable;
48
+ use_zoom_icon: ToggleVariable;
49
+ use_play_icon: ToggleVariable;
50
+ live_play_icon: ToggleVariable;
51
+ pre_recorded_play_icon: ToggleVariable;
52
+ zoom_text: TextVariable;
53
+ live_stream_text: TextVariable;
54
+ pre_recorded_text: TextVariable;
55
+ };
56
+ export type ArchivePlayerPageConfigs = {
57
+ archive_content_tabs: ArchiveContentTabsVariable;
58
+ featured_sponsor_level: SelectVariable;
59
+ player_position: SelectVariable;
60
+ preview_duration: NumberVariable;
61
+ preview_enabled: ToggleVariable;
62
+ section_header_image: ImageVariable;
63
+ video_only_width: NumberVariable;
64
+ video_slide_width: NumberVariable;
65
+ };
66
+ export type ExhibitorPageConfigs = {
67
+ layout_format: SelectVariable;
68
+ section_header_image: ImageVariable;
69
+ };
70
+ export type MainPageConfigs = {
71
+ background: ImageVariable;
72
+ Row01_spot_01: HotspotVariable;
73
+ Row01_spot_02: HotspotVariable;
74
+ Row01_spot_03: HotspotVariable;
75
+ Row01_spot_0234: HotspotVariable;
76
+ Row01_spot_04: HotspotVariable;
77
+ Row01_spot_05: HotspotVariable;
78
+ Row02_spot_06: HotspotVariable;
79
+ Row02_spot_06a: HotspotVariable;
80
+ Row02_spot_07: HotspotVariable;
81
+ Row02_spot_08: HotspotVariable;
82
+ Row02_spot_09: HotspotVariable;
83
+ Row02_spot_10: HotspotVariable;
84
+ Row02_spot_10a: HotspotVariable;
85
+ Row02_spot_11: HotspotVariable;
86
+ Row03_spot_12: HotspotVariable;
87
+ Row03_spot_13: HotspotVariable;
88
+ Row03_spot_14: HotspotVariable;
89
+ Row03_spot_15: HotspotVariable;
90
+ Row03_spot_16: HotspotVariable;
91
+ Row04_spot_17: HotspotVariable;
92
+ Row04_spot_18: HotspotVariable;
93
+ Row04_spot_19: HotspotVariable;
94
+ SideNav_R_1: HotspotVariable;
95
+ SideNav_R_2: HotspotVariable;
96
+ SideNav_R_3: HotspotVariable;
97
+ SideNav_R_4: HotspotVariable;
98
+ SideNav_R_5: HotspotVariable;
99
+ SideNav_L_1: HotspotVariable;
100
+ SideNav_L_2: HotspotVariable;
101
+ SideNav_L_3: HotspotVariable;
102
+ SideNav_L_4: HotspotVariable;
103
+ SideNav_L_5: HotspotVariable;
104
+ };
105
+ export type EntryWayConfigs = {
106
+ background: ImageVariable;
107
+ Row01_spot01: HotspotVariable;
108
+ Row02_spot02: HotspotVariable;
109
+ Row02_spot03: HotspotVariable;
110
+ Row03_spot04: HotspotVariable;
111
+ Row04_spot05: HotspotVariable;
112
+ Row04_spot06: HotspotVariable;
113
+ Row04_spot07: HotspotVariable;
114
+ };
115
+ export type ExhibitHallConfigs = {
116
+ background: ImageVariable;
117
+ modular_layout: ToggleVariable;
118
+ Row01_spot01: HotspotVariable;
119
+ Row01_spot02: HotspotVariable;
120
+ Row01_spot03: HotspotVariable;
121
+ Row01_spot04: HotspotVariable;
122
+ Row01_spot05: HotspotVariable;
123
+ Row01_spot06: HotspotVariable;
124
+ Row01_spot07: HotspotVariable;
125
+ Row02_spot08: HotspotVariable;
126
+ Row02_spot09: HotspotVariable;
127
+ Row02_spot10: HotspotVariable;
128
+ Row02_spot11: HotspotVariable;
129
+ Row02_spot12: HotspotVariable;
130
+ Row02_spot13: HotspotVariable;
131
+ Row03_spot14: HotspotVariable;
132
+ Row03_spot15: HotspotVariable;
133
+ Row03_spot16: HotspotVariable;
134
+ Row04_spot17: HotspotVariable;
135
+ Row04_spot18: HotspotVariable;
136
+ hotspot_border_color: ColorVariable;
137
+ modular_row_1: HotspotVariable;
138
+ modular_row_2: HotspotVariable;
139
+ modular_row_3: HotspotVariable;
140
+ modular_row_4: HotspotVariable;
141
+ modular_row_5: HotspotVariable;
142
+ modular_row_6: HotspotVariable;
143
+ modular_row_7: HotspotVariable;
144
+ modular_row_8: HotspotVariable;
145
+ modular_row_9: HotspotVariable;
146
+ modular_row_10: HotspotVariable;
147
+ };
148
+ export type AffiliateBoothSmallConfigs = {
149
+ background: ImageVariable;
150
+ custom_js: HTMLVariable;
151
+ Spot_01_Top_Banner_1: HotspotVariable;
152
+ Spot_02_Top_Banner_2: HotspotVariable;
153
+ Spot_03_Monitor_screen: HotspotVariable;
154
+ Spot_04_Shelf_Left_Top: HotspotVariable;
155
+ Spot_05_Shelf_Left_Middle: HotspotVariable;
156
+ Spot_06_Shelf_Left_Bottom: HotspotVariable;
157
+ Spot_07_Shelf_Right_Top: HotspotVariable;
158
+ Spot_08_Shelf_Right_Middle: HotspotVariable;
159
+ Spot_09_Shelf_Right_Bottom: HotspotVariable;
160
+ Spot_10_Floor_Banner_left: HotspotVariable;
161
+ Spot_11_Counter_Left: HotspotVariable;
162
+ Spot_12_Counter_Right: HotspotVariable;
163
+ Spot_13_Counter_Left_and_Right: HotspotVariable;
164
+ Spot_14_Floor_Banner_Right: HotspotVariable;
165
+ Blue_Stool_Left: ToggleVariable;
166
+ Blue_Stool_Right: ToggleVariable;
167
+ Plant_Right: ToggleVariable;
168
+ Plant_Left: ToggleVariable;
169
+ Booth_Rep_4_Right_Facing: ToggleVariable;
170
+ Booth_Rep_4_Left_Facing: ToggleVariable;
171
+ Booth_Rep_3_Right_Facing: ToggleVariable;
172
+ Booth_Rep_3_Left_Facing: ToggleVariable;
173
+ Booth_Rep_2_Right_Facing: ToggleVariable;
174
+ Booth_Rep_2_Left_Facing: ToggleVariable;
175
+ Booth_Rep_1_Right_Facing: ToggleVariable;
176
+ Booth_Rep_1_Left_Facing: ToggleVariable;
177
+ };
178
+ export type AffiliateBoothMedConfigs = {
179
+ background: ImageVariable;
180
+ custom_js: HTMLVariable;
181
+ Row01_spot01: HotspotVariable;
182
+ Row01_spot02: HotspotVariable;
183
+ Row02_spot03: HotspotVariable;
184
+ Row02_spot04: HotspotVariable;
185
+ Row02_spot05: HotspotVariable;
186
+ Row03_spot06: HotspotVariable;
187
+ Row03_spot07: HotspotVariable;
188
+ Row03_spot08: HotspotVariable;
189
+ Row03_spot09: HotspotVariable;
190
+ Row03_spot10: HotspotVariable;
191
+ Row03_spot11: HotspotVariable;
192
+ Row04_spot12: HotspotVariable;
193
+ Row04_spot13: HotspotVariable;
194
+ Row04_spot14: HotspotVariable;
195
+ Row04_spot15: HotspotVariable;
196
+ Row04_spot16: HotspotVariable;
197
+ Row04_spot17: HotspotVariable;
198
+ Row04_spot18: HotspotVariable;
199
+ Row04_spot19: HotspotVariable;
200
+ acc_booth_rep: ToggleVariable;
201
+ acc_booth_seat: ToggleVariable;
202
+ };
203
+ export type AffiliateBoothLgConfigs = {
204
+ background: ImageVariable;
205
+ custom_js: HTMLVariable;
206
+ Row01_spot01: HotspotVariable;
207
+ Row02_spot02: HotspotVariable;
208
+ Row02_spot03: HotspotVariable;
209
+ Row02_spot04: HotspotVariable;
210
+ Row03_spot05: HotspotVariable;
211
+ Row03_spot06: HotspotVariable;
212
+ Row03_spot07: HotspotVariable;
213
+ Row03_spot08: HotspotVariable;
214
+ Row03_spot09: HotspotVariable;
215
+ Row03_spot10: HotspotVariable;
216
+ Row03_spot11: HotspotVariable;
217
+ Row03_spot12: HotspotVariable;
218
+ Row03_spot13: HotspotVariable;
219
+ Row03_spot14: HotspotVariable;
220
+ Row03_spot15: HotspotVariable;
221
+ Row04_spot16: HotspotVariable;
222
+ Row04_spot17: HotspotVariable;
223
+ Row04_spot18: HotspotVariable;
224
+ Arch_left: ToggleVariable;
225
+ Arch_right: ToggleVariable;
226
+ };
227
+ export type AuditoriumConfigs = {
228
+ background: ImageVariable;
229
+ Row01_spot01: HotspotVariable;
230
+ Row01_spot02: HotspotVariable;
231
+ Row01_spot03: HotspotVariable;
232
+ Row01_spot04: HotspotVariable;
233
+ Row01_spot05: HotspotVariable;
234
+ Row02_spot06: HotspotVariable;
235
+ Row02_spot07: HotspotVariable;
236
+ Row02_spot08: HotspotVariable;
237
+ Row02_spot09: HotspotVariable;
238
+ };
239
+ export type NetworkingConfigs = {
240
+ background: ImageVariable;
241
+ Row01_spot01: HotspotVariable;
242
+ Row01_spot02: HotspotVariable;
243
+ Row02_spot03: HotspotVariable;
244
+ Row03_spot04: HotspotVariable;
245
+ Row03_spot05: HotspotVariable;
246
+ Row03_spot06: HotspotVariable;
247
+ Row04_spot07: HotspotVariable;
248
+ Row04_spot08: HotspotVariable;
249
+ };
250
+ export type ResourcesConfigs = {
251
+ background: ImageVariable;
252
+ Row01_spot01: HotspotVariable;
253
+ Row01_spot02: HotspotVariable;
254
+ Row02_spot03: HotspotVariable;
255
+ Row03_spot04: HotspotVariable;
256
+ Row03_spot05: HotspotVariable;
257
+ Row03_spot06: HotspotVariable;
258
+ Row04_spot07: HotspotVariable;
259
+ Row04_spot08: HotspotVariable;
260
+ };
261
+ export type AttendeesConfigs = MainPageConfigs;
262
+ export type MeetingsConfigs = MainPageConfigs;
263
+ export type PresentersConfigs = MainPageConfigs;
264
+ export type SpotlightConfigs = MainPageConfigs;
265
+ export type Spotlight1Configs = MainPageConfigs;
266
+ export type Spotlight2Configs = MainPageConfigs;
267
+ export type PresenterPageConfigs = {
268
+ layout_format: SelectVariable;
269
+ presenter_1_alias: TogglePlusLabelVariable;
270
+ presenter_2_alias: TogglePlusLabelVariable;
271
+ presenter_3_alias: TogglePlusLabelVariable;
272
+ presenter_4_alias: TogglePlusLabelVariable;
273
+ presenter_5_alias: TogglePlusLabelVariable;
274
+ presenter_6_alias: TogglePlusLabelVariable;
275
+ presenter_7_alias: TogglePlusLabelVariable;
276
+ presenter_8_alias: TogglePlusLabelVariable;
277
+ presenter_9_alias: TogglePlusLabelVariable;
278
+ presenter_10_alias: TogglePlusLabelVariable;
279
+ presenter_11_alias: TogglePlusLabelVariable;
280
+ presenter_image_width: NumberVariable;
281
+ presenter_name_color: ColorVariable;
282
+ presenters_presenter_1_conferences: TextVariable;
283
+ presenters_presenter_2_conferences: TextVariable;
284
+ section_header_image: ImageVariable;
285
+ sort_by_level: ToggleVariable;
286
+ title: ColorVariable;
287
+ };
288
+ export type RegistrationPageConfigs = {
289
+ registration_html: HTMLVariable;
290
+ };
291
+ export type SponsorsPageConfigs = {
292
+ layout_format: SelectVariable;
293
+ section_header_image: ImageVariable;
294
+ };
295
+ export type SupportPageConfigs = {
296
+ live_support_url: TextVariable;
297
+ section_header_image: ImageVariable;
298
+ support_faq: ToggleVariable;
299
+ support_form: ToggleVariable;
300
+ support_html: ToggleVariable;
301
+ };
302
+ export type WebcastPageConfigs = {
303
+ chatroom_id: TextVariable;
304
+ featured_sponsor_level: SelectVariable;
305
+ player_position: SelectVariable;
306
+ section_header_image: ImageVariable;
307
+ session_title_visible: ToggleVariable;
308
+ video_only_width: NumberVariable;
309
+ video_slide_width: NumberVariable;
310
+ webcast_content_tabs: PlayerContentTabsVariable;
311
+ };
312
+ export interface VirtualPages {
313
+ agenda: AgendaPlayerPageConfigs;
314
+ archive_player: ArchivePlayerPageConfigs;
315
+ attendees: AttendeesConfigs;
316
+ auditorium: AuditoriumConfigs;
317
+ exhibitors: ExhibitorPageConfigs;
318
+ entryway: EntryWayConfigs;
319
+ exhibit_hall: ExhibitHallConfigs;
320
+ main: MainPageConfigs;
321
+ meetings: MeetingsConfigs;
322
+ networking: NetworkingConfigs;
323
+ presenters: PresenterPageConfigs;
324
+ registration: RegistrationPageConfigs;
325
+ resources: ResourcesConfigs;
326
+ sponsors: SponsorsPageConfigs;
327
+ spotlight: SpotlightConfigs;
328
+ spotlight_1: SpotlightConfigs;
329
+ spotlight_2: SpotlightConfigs;
330
+ support: SupportPageConfigs;
331
+ webcast: WebcastPageConfigs;
332
+ }
333
+ export type NestedKeyOf<ObjectType extends object> = {
334
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends AgendaPlayerPageConfigs | ArchivePlayerPageConfigs | ExhibitorPageConfigs | MainPageConfigs | EntryWayConfigs | ExhibitHallConfigs | AffiliateBoothSmallConfigs | AffiliateBoothMedConfigs | AffiliateBoothLgConfigs | AuditoriumConfigs | NetworkingConfigs | ResourcesConfigs | AttendeesConfigs | MeetingsConfigs | PresentersConfigs | SpotlightConfigs | Spotlight1Configs | Spotlight2Configs | PresenterPageConfigs | RegistrationPageConfigs | SponsorsPageConfigs | SupportPageConfigs | WebcastPageConfigs ? "" | `${Key}.${NestedKeyOf<ObjectType[Key]>}` : `${Key}`;
335
+ }[keyof ObjectType & (string | number)];
File without changes