@designcrowd/library.brand-page 5.4.33 → 5.4.35

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.
package/lib/src/lib.js CHANGED
@@ -5,7 +5,7 @@ export * from './brand-page/models';
5
5
  export * from './brand-page/view-models';
6
6
  export * from './shared/models';
7
7
  // constants
8
- export { DEFAULT_FONT_FAMILY_KEY, DEFAULT_LOGO_TEXT_COLOR_RGB, DEFAULT_LOGO_BACKGROUND_COLOR_RGB, FONT_FAMILY_CONFIGS, isGoogleType, isUrlType, } from './brand-page/constants';
8
+ export { DEFAULT_FONT_FAMILY_KEY, DEFAULT_LOGO_TEXT_COLOR_RGB, DEFAULT_LOGO_BACKGROUND_COLOR_RGB, FONT_FAMILY_CONFIGS, isGoogleType, isUrlType, HEADER_DISPLAY, NAVIGATION_DISPLAY, } from './brand-page/constants';
9
9
  export * from './brand-page-maker/constants';
10
10
  export * as BackgroundShapeStarterKit from './brand-page-maker/components/brand-page-maker/starter-kits/background-shapes';
11
11
  export * as BackgroundColorsStarterKit from './brand-page-maker/components/brand-page-maker/starter-kits/background-colors';
@@ -19,7 +19,6 @@ export { BrandPageMaker, SeoPageSettings, UrlSettings, GoogleAnalytics, PublishB
19
19
  import LogoRender from './brand-page/components/logo/LogoRender.vue';
20
20
  export { LogoRender };
21
21
  export { default as Page } from './brand-page/components/page/Page.vue';
22
- export { setServerOnlyComponent } from './brand-page/components/server-only';
23
22
  export { default as CookieConsent } from './brand-page/components/cookie-consent/CookieConsent.vue';
24
23
  // functions
25
24
  export { getBrandPageViewModelFromBrandPageModel, migrateBrandPageModel, } from './brand-page/utils';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designcrowd/library.brand-page",
3
3
  "description": "A collection of Maker/Designer applications",
4
- "version": "5.4.33",
4
+ "version": "5.4.35",
5
5
  "author": "Design.com Eng",
6
6
  "license": "UNLICENSED",
7
7
  "type": "module",
@@ -67,7 +67,7 @@
67
67
  "@ckpack/vue-color": "1.4.1",
68
68
  "@designcrowd/bc-shared-experience-library": "3.0.27",
69
69
  "@designcrowd/design-system-configuration": "2.0.2",
70
- "@designcrowd/image-maker": "4.0.29",
70
+ "@designcrowd/image-maker": "4.0.30",
71
71
  "@designcrowd/shared-component-library": "2.0.31",
72
72
  "axios": "1.6.7",
73
73
  "blueimp-load-image": "5.16.0",
@@ -116,6 +116,7 @@
116
116
  "vue-router": "4.2.5",
117
117
  "vue-select": "4.0.0-beta.6",
118
118
  "vue-server-renderer": "2.7.16",
119
+ "vue3-lazy-hydration": "1.2.1",
119
120
  "vue3-shortkey": "4.0.0",
120
121
  "vuedraggable": "4.1.0",
121
122
  "vuex": "4.1.0",
@@ -11,11 +11,16 @@
11
11
  params: routes[0].routeParams,
12
12
  }"
13
13
  >
14
- <server-only
15
- v-if="context.isServerRender"
16
- name="LogoRender"
17
- :props="logoRenderProps"
18
- />
14
+ <LazyHydrationWrapper v-if="context.isServerRender">
15
+ <LogoRender
16
+ :is-preview="context.isPreview"
17
+ :is-brand-site="context.brandPageType === 'brandSite'"
18
+ :is-server-render="context.isServerRender"
19
+ :has-margin-bottom="hasMarginBottom"
20
+ :alt-text="altText"
21
+ :view-model="viewModel"
22
+ />
23
+ </LazyHydrationWrapper>
19
24
  <LogoRender
20
25
  v-else
21
26
  :is-preview="context.isPreview"
@@ -33,11 +38,16 @@
33
38
  context.brandPageType === 'default'
34
39
  "
35
40
  >
36
- <server-only
37
- v-if="context.isServerRender"
38
- name="LogoRender"
39
- :props="logoRenderProps"
40
- />
41
+ <LazyHydrationWrapper v-if="context.isServerRender">
42
+ <LogoRender
43
+ :is-preview="context.isPreview"
44
+ :is-brand-site="context.brandPageType === 'brandSite'"
45
+ :is-server-render="context.isServerRender"
46
+ :has-margin-bottom="hasMarginBottom"
47
+ :alt-text="altText"
48
+ :view-model="viewModel"
49
+ />
50
+ </LazyHydrationWrapper>
41
51
  <LogoRender
42
52
  v-else
43
53
  :is-preview="context.isPreview"
@@ -52,7 +62,6 @@
52
62
  </template>
53
63
  <script setup lang="ts">
54
64
  import LogoRender from './LogoRender.vue';
55
- import { getServerOnlyComponent } from '../server-only';
56
65
  import { type PropType, computed } from 'vue';
57
66
  import type { LogoViewModel } from '../../view-models';
58
67
  import type { BrandPageContext } from '../../models';
@@ -60,8 +69,7 @@ import {
60
69
  getRouteNameByPageIndex,
61
70
  getRouteParamsByPage,
62
71
  } from '../../utils/route.util';
63
-
64
- const ServerOnly = getServerOnlyComponent();
72
+ import { LazyHydrationWrapper } from 'vue3-lazy-hydration';
65
73
 
66
74
  const props = defineProps({
67
75
  isPreview: {
@@ -92,17 +100,6 @@ const altText = computed(() =>
92
100
  props.context.pageTitle ? `${props.context.pageTitle}'s logo` : 'logo',
93
101
  );
94
102
 
95
- const logoRenderProps = computed(() => {
96
- return {
97
- 'is-preview': props.context.isPreview,
98
- 'is-server-render': props.context.isServerRender,
99
- 'is-brand-site': props.context.brandPageType === 'brandSite',
100
- 'has-margin-bottom': props.hasMarginBottom,
101
- 'alt-text': altText.value,
102
- 'view-model': props.viewModel,
103
- };
104
- });
105
-
106
103
  const routes = computed(
107
104
  () =>
108
105
  props.context.pages?.map((p, i) => {
@@ -107,7 +107,7 @@ watch(props, updateLogoImageSvgUrlAsync, { deep: true });
107
107
  onServerPrefetch(updateLogoImageSvgUrlAsync);
108
108
 
109
109
  onMounted(async () => {
110
- if (props.isPreview && !logoImageSvgUrl.value) {
110
+ if (!logoImageSvgUrl.value) {
111
111
  await updateLogoImageSvgUrlAsync();
112
112
  }
113
113
  });
@@ -102,6 +102,10 @@ export class FabricRenderClient {
102
102
  }
103
103
  }
104
104
 
105
+ public static overrideInstance(instance: any): void {
106
+ FabricRenderClient._staticClient = instance;
107
+ }
108
+
105
109
  public static getInstance(): FabricRenderClient {
106
110
  return FabricRenderClient._staticClient;
107
111
  }
package/src/lib.ts CHANGED
@@ -19,6 +19,8 @@ export {
19
19
  type GoogleFontFamilyConfig,
20
20
  isGoogleType,
21
21
  isUrlType,
22
+ HEADER_DISPLAY,
23
+ NAVIGATION_DISPLAY,
22
24
  } from './brand-page/constants';
23
25
  export * from './brand-page-maker/constants';
24
26
  export * as BackgroundShapeStarterKit from './brand-page-maker/components/brand-page-maker/starter-kits/background-shapes';
@@ -41,7 +43,6 @@ export {
41
43
  import LogoRender from './brand-page/components/logo/LogoRender.vue';
42
44
  export { LogoRender };
43
45
  export { default as Page } from './brand-page/components/page/Page.vue';
44
- export { setServerOnlyComponent } from './brand-page/components/server-only';
45
46
 
46
47
  export { default as CookieConsent } from './brand-page/components/cookie-consent/CookieConsent.vue';
47
48
 
@@ -1,6 +0,0 @@
1
- /**
2
- * Return a component that is only rendered on the server.
3
- */
4
- import { type Component } from 'vue';
5
- export declare const setServerOnlyComponent: (component: Component) => void;
6
- export declare const getServerOnlyComponent: () => Component;
@@ -1,12 +0,0 @@
1
- /**
2
- * Return a component that is only rendered on the server.
3
- */
4
- import {} from 'vue';
5
- import ClientSideNuxtIslandStub from './ClientSideNuxtIslandStub.vue';
6
- let _nuxtIslandComponent = ClientSideNuxtIslandStub;
7
- export const setServerOnlyComponent = (component) => {
8
- _nuxtIslandComponent = component;
9
- };
10
- export const getServerOnlyComponent = () => {
11
- return _nuxtIslandComponent;
12
- };
@@ -1,8 +0,0 @@
1
- <!-- A stub for nuxt island component where brand page maker does not provide until it is migrated to nuxt -->
2
- <template>
3
- <p>Stub</p>
4
- </template>
5
-
6
- <script setup lang="ts">
7
- defineProps<{ name: string; props: any }>();
8
- </script>
@@ -1,17 +0,0 @@
1
- /**
2
- * Return a component that is only rendered on the server.
3
- */
4
-
5
- import { type Component } from 'vue';
6
-
7
- import ClientSideNuxtIslandStub from './ClientSideNuxtIslandStub.vue';
8
-
9
- let _nuxtIslandComponent: Component = ClientSideNuxtIslandStub;
10
-
11
- export const setServerOnlyComponent = (component: Component) => {
12
- _nuxtIslandComponent = component;
13
- };
14
-
15
- export const getServerOnlyComponent = () => {
16
- return _nuxtIslandComponent;
17
- };