@designcrowd/library.brand-page 5.15.17-1 → 5.15.17-ast-previews

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 (28) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CmqEPo1y.js → CreatedOnBrandCrowd-de-de-DhqVq1R4.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-cH8A7qt0.js → CreatedOnBrandCrowd-en-us-gHKO7Euu.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-Bchs7pSq.js → CreatedOnBrandCrowd-es-es-BiqMA1-P.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CiHoh2Wr.js → CreatedOnBrandCrowd-fr-ca-DeD80sNd.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CiHoh2Wr.js → CreatedOnBrandCrowd-fr-fr-DeD80sNd.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BFvxv5MP.js → CreatedOnBrandCrowd-pt-br-FYtTRyJj.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BFvxv5MP.js → CreatedOnBrandCrowd-pt-pt-FYtTRyJj.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-pwSHJCGT.js → CreatedOnDcom-de-de-DiyaqKgn.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-B1KGPm73.js → CreatedOnDcom-en-us-BsH92alk.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-B2duoIP2.js → CreatedOnDcom-es-es-DXv36XgZ.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Ber32xnq.js → CreatedOnDcom-fr-ca-DwCGXfKv.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CkT4FW56.js → CreatedOnDcom-fr-fr-zHQ4Y1xm.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-DGPKprIJ.js → CreatedOnDcom-pt-br-CZoYGQlg.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-Dt4sertb.js → CreatedOnDcom-pt-pt-BZOFxo9Q.js} +1 -1
  15. package/lib/src/brand-page/utils/migration/migration-07.js +1 -1
  16. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +14 -14
  17. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +56 -70
  18. package/lib/src/css/library.brand-page-brandCrowd.min.css +30 -21
  19. package/lib/src/css/library.brand-page-brandPage.min.css +30 -21
  20. package/lib/src/css/library.brand-page-designCom.min.css +30 -21
  21. package/lib/src/css/library.brand-page-preview.min.css +30 -21
  22. package/lib/src/index.mjs +1 -1
  23. package/lib/src/{lib-D3mQ5YYy.js → lib-7x9ead9m.js} +9058 -9072
  24. package/package.json +2 -2
  25. package/src/brand-page/components/page/Page.vue +2 -2
  26. package/src/brand-page/utils/migration/migration-07.ts +6 -4
  27. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +70 -90
  28. package/src/brand-page-maker/components/template-preview/TemplatePreview.vue +16 -17
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-D3mQ5YYy.js";
2
+ import { _ as t } from "./lib-7x9ead9m.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-D3mQ5YYy.js";
2
+ import { _ as e } from "./lib-7x9ead9m.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-D3mQ5YYy.js";
2
+ import { _ as e } from "./lib-7x9ead9m.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-D3mQ5YYy.js";
2
+ import { _ as e } from "./lib-7x9ead9m.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-D3mQ5YYy.js";
2
+ import { _ as e } from "./lib-7x9ead9m.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-D3mQ5YYy.js";
2
+ import { _ as e } from "./lib-7x9ead9m.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-D3mQ5YYy.js";
2
+ import { _ as M } from "./lib-7x9ead9m.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-D3mQ5YYy.js";
2
+ import { _ as M } from "./lib-7x9ead9m.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,4 +1,4 @@
1
- import { BRAND_PAGE_TYPES, DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, PageFooterDesktop, PageFooterMobile, PageHeaderDesktop, PageHeaderMobile, } from '../..';
1
+ import { BRAND_PAGE_TYPES, DEFAULT_LOGO_HEIGHT, DEFAULT_LOGO_WIDTH, } from '../..';
2
2
  import { FabricRenderClient } from '../../../clients/fabric-render-client';
3
3
  import { calculateLogoDimensions } from '../logo.util';
4
4
  export const migration07 = async (migrationResult, options) => {
@@ -1,20 +1,17 @@
1
1
  /// <reference types="types/lodash-shims" />
2
2
  import type { PropType } from 'vue';
3
- import type { BrandPageContext, BrandPageViewModel, LogoImageModel, LogoTemplateImageModel, LogoTheme, UserPersonalisation } from '../../../brand-page';
3
+ import type { BrandPageViewModel, LogoImageModel, LogoTemplateImageModel, LogoTheme, UserPersonalisation } from '../../../brand-page';
4
4
  import type { TemplateSettingsTemplate } from '../../../shared/template-settings/models';
5
5
  import type { DebounceHandle } from 'lodash.debounce';
6
- interface TemplatePreviewData {
7
- containerStyle: BrandPageCssStyle;
6
+ export interface TemplatePreviewData {
7
+ containerStyle: Record<string, string>;
8
8
  debouncedOnResize?: DebounceHandle;
9
9
  resizeObserver?: ResizeObserver;
10
- viewModel?: BrandPageViewModel;
11
10
  resized: boolean;
12
11
  scale: number;
13
- mobileRenderHeight: number;
14
- desktopRenderHeight: number;
15
12
  renderHeight: number;
16
13
  renderWidth: number;
17
- rootStyles: BrandPageCssStyle;
14
+ imageLoadError: boolean;
18
15
  }
19
16
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
20
17
  logoImage: {
@@ -186,17 +183,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
186
183
  selectInitialCategories(payload: import("../../../shared/template-settings/models").InitialCategories): void;
187
184
  }>;
188
185
  }, TemplatePreviewData, {
189
- context(): BrandPageContext;
190
- previewViewport(): string;
191
- scaledContainerStyle(): BrandPageCssStyle;
192
- innerContainerStyle(): BrandPageCssStyle;
186
+ scaledContainerStyle(): Record<string, string>;
187
+ innerContainerStyle(): Record<string, string>;
188
+ previewImageUrl(): string;
189
+ themeFilterStyle(): Record<string, string>;
193
190
  isPersonalisable(): boolean;
194
- cssVariablesStyle(): Record<string, string>;
195
191
  }, {
196
192
  onOverlayClicked(): void;
197
193
  onResize(): void;
198
- onSetPreviewStyles(styles: BrandPageCssStyle): void;
199
- updateViewModel(forceUpdate?: boolean): Promise<void>;
194
+ onImageError(): void;
195
+ onImageLoad(): void;
196
+ generatePreviewImageUrl(): string;
197
+ getPreviewBaseUrl(): string;
198
+ regeneratePreview(): void;
199
+ generateFullViewModel(): Promise<BrandPageViewModel>;
200
200
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "template-selected"[], "template-selected", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
201
201
  logoImage: {
202
202
  type: PropType<LogoImageModel>;
@@ -1,7 +1,5 @@
1
1
  import { computed, defineComponent } from 'vue';
2
- import { BRAND_PAGE_TYPES, MEDIA_SIZES, VIEWPORTS } from '../../../brand-page';
3
2
  import { applyLogoThemeToBrandPageModel, applyUserPersonalisationToBrandPageModelAsync, getBrandPageViewModelFromBrandPageModel, } from '../../../brand-page/utils';
4
- import { STYLE_THEME_KEYS } from '../../../brand-page/constants';
5
3
  import debounce from 'lodash.debounce';
6
4
  import { MOBILE_HEIGHT, MOBILE_WIDTH } from '../../constants';
7
5
  import { useBrandPageMakerStore } from '../../stores';
@@ -66,51 +64,13 @@ export default defineComponent({
66
64
  debouncedOnResize: undefined,
67
65
  resized: false,
68
66
  scale: 1,
69
- mobileRenderHeight: 650,
70
- desktopRenderHeight: 900,
71
67
  renderHeight: 900,
72
68
  renderWidth: 400,
73
- rootStyles: {},
74
- viewModel: undefined,
69
+ imageLoadError: false,
75
70
  };
76
71
  return data;
77
72
  },
78
73
  computed: {
79
- context() {
80
- return {
81
- isTemplate: true,
82
- isPreview: true,
83
- isProduction: true,
84
- isDesignCom: false,
85
- isServerRender: false,
86
- brandPageSlug: '',
87
- brandPageToken: this.viewModel?.brandPageToken,
88
- runtimeEnvironment: '',
89
- stripePublishableKey: undefined,
90
- pageTitle: this.brandPageTitle,
91
- pages: this.viewModel?.pages || [],
92
- currentPageSlug: this.viewModel?.pages[0]?.slug || '',
93
- customDomain: undefined,
94
- brandPageType: this.viewModel?.brandPageType || BRAND_PAGE_TYPES.default,
95
- isBrandPage: this.viewModel?.brandPageType === BRAND_PAGE_TYPES.default,
96
- isBrandPageOrIsBrandContact: this.viewModel?.brandPageType === BRAND_PAGE_TYPES.default ||
97
- this.viewModel?.brandPageType === BRAND_PAGE_TYPES.brandContact,
98
- isBrandSite: this.viewModel?.brandPageType === BRAND_PAGE_TYPES.brandSite,
99
- isBrandContact: this.viewModel?.brandPageType === BRAND_PAGE_TYPES.brandContact,
100
- options: {
101
- disableNavigationSideMenu: true,
102
- mediaSizes: MEDIA_SIZES.sizeThumb,
103
- },
104
- isCapturingPreview: false,
105
- };
106
- },
107
- previewViewport() {
108
- if (!this.viewModel?.brandPageType ||
109
- this.viewModel?.brandPageType === BRAND_PAGE_TYPES.default) {
110
- return VIEWPORTS.mobile;
111
- }
112
- return VIEWPORTS.desktop;
113
- },
114
74
  scaledContainerStyle() {
115
75
  return {
116
76
  transform: 'scale(' + this.scale + ')',
@@ -121,44 +81,49 @@ export default defineComponent({
121
81
  return {
122
82
  width: `${this.renderWidth}px`,
123
83
  height: `${this.renderHeight}px`,
124
- ...this.rootStyles,
125
- backgroundAttachment: 'scroll',
126
84
  position: 'relative',
127
85
  };
128
86
  },
129
- isPersonalisable() {
130
- return this.template.isPersonalisable || false;
87
+ previewImageUrl() {
88
+ return this.generatePreviewImageUrl();
131
89
  },
132
- cssVariablesStyle() {
133
- if (!this.logoTheme) {
90
+ themeFilterStyle() {
91
+ if (!this.logoTheme?.logoBackgroundColor?.hsl) {
134
92
  return {};
135
93
  }
136
- const cssVariables = {};
137
- // Generate CSS variables for logo theme colors
138
- Object.entries(STYLE_THEME_KEYS).forEach(([key, value]) => {
139
- const themeColor = key.includes('Background')
140
- ? this.logoTheme.logoBackgroundColor
141
- : this.logoTheme.logoTextColor;
142
- if (themeColor?.rgb) {
143
- cssVariables[`--${value}`] = themeColor.rgb;
144
- }
145
- });
146
- return cssVariables;
94
+ const hue = this.logoTheme.logoBackgroundColor.hsl.h;
95
+ return {
96
+ filter: `hue-rotate(${hue}deg)`,
97
+ };
98
+ },
99
+ isPersonalisable() {
100
+ return this.template.isPersonalisable || false;
147
101
  },
148
102
  },
149
103
  watch: {
150
- logoTheme: {
104
+ template() {
105
+ this.regeneratePreview();
106
+ },
107
+ logoImage: {
151
108
  handler() {
152
- this.updateViewModel();
109
+ this.regeneratePreview();
153
110
  },
154
111
  deep: true,
155
112
  },
156
- template() {
157
- this.updateViewModel();
113
+ logoTemplateImage: {
114
+ handler() {
115
+ this.regeneratePreview();
116
+ },
117
+ deep: true,
118
+ },
119
+ logoTheme: {
120
+ handler() {
121
+ this.regeneratePreview();
122
+ },
123
+ deep: true,
158
124
  },
159
125
  },
160
126
  created() {
161
- this.updateViewModel(false);
162
127
  this.debouncedOnResize = debounce(this.onResize, DEBOUNCE_IN_MS);
163
128
  this.$nextTick(() => {
164
129
  this.resized = true;
@@ -192,10 +157,34 @@ export default defineComponent({
192
157
  this.scale = container.clientWidth / this.renderWidth;
193
158
  this.containerStyle.height = `${this.renderHeight * this.scale}px`;
194
159
  },
195
- onSetPreviewStyles(styles) {
196
- this.rootStyles = styles;
160
+ onImageError() {
161
+ console.warn(`Failed to load preview image for template ${this.template.id}`);
162
+ this.imageLoadError = true;
163
+ },
164
+ onImageLoad() {
165
+ this.imageLoadError = false;
166
+ },
167
+ generatePreviewImageUrl() {
168
+ const baseUrl = this.getPreviewBaseUrl();
169
+ const logoDraftToken = this.logoImage?.logoDraftToken ||
170
+ '0B660926-D94A-4E29-99D1-F07E67AA6E49';
171
+ return `${baseUrl}/preview/template/${this.template.id}/${logoDraftToken}?deviceType=mobile`;
172
+ },
173
+ getPreviewBaseUrl() {
174
+ let domainSuffix = '.brand.page';
175
+ if (this.brandPageMakerStore.brandPageType === 'brandSite') {
176
+ domainSuffix = '.brand.site';
177
+ }
178
+ else if (this.brandPageMakerStore.brandPageType === 'brandContact') {
179
+ domainSuffix = '.brand.contact';
180
+ }
181
+ return `https://preview-${window.location.hostname}${domainSuffix}`;
197
182
  },
198
- async updateViewModel(forceUpdate = true) {
183
+ regeneratePreview() {
184
+ this.imageLoadError = false;
185
+ this.$forceUpdate();
186
+ },
187
+ async generateFullViewModel() {
199
188
  let model = this.template.brandPageModel;
200
189
  if (this.logoImageBase64Url) {
201
190
  model = applyLogoImageBase64UrlToBrandPageTemplateModel(model, this.logoImageBase64Url);
@@ -211,10 +200,7 @@ export default defineComponent({
211
200
  model = result.model;
212
201
  }
213
202
  model = applyLogoThemeToBrandPageModel(this.logoTheme, model).model;
214
- this.viewModel = await getBrandPageViewModelFromBrandPageModel(model, undefined, false);
215
- if (forceUpdate) {
216
- this.$forceUpdate();
217
- }
203
+ return await getBrandPageViewModelFromBrandPageModel(model, undefined, false);
218
204
  },
219
205
  },
220
206
  });
@@ -7070,14 +7070,14 @@ body {
7070
7070
  line-height: 1.5;
7071
7071
  }
7072
7072
 
7073
- .brand-page-root[data-v-4eac537a] {
7073
+ .brand-page-root[data-v-d4cc0d12] {
7074
7074
  height: 100%;
7075
7075
  }
7076
- .sortable[data-v-4eac537a] {
7076
+ .sortable[data-v-d4cc0d12] {
7077
7077
  outline-color: #F7768C;
7078
7078
  outline-width: 0.2rem;
7079
7079
  }
7080
- .brand-page[data-v-4eac537a] {
7080
+ .brand-page[data-v-d4cc0d12] {
7081
7081
  -webkit-box-sizing: border-box;
7082
7082
  box-sizing: border-box;
7083
7083
  display: -webkit-box;
@@ -7089,7 +7089,7 @@ body {
7089
7089
  -ms-flex-direction: column;
7090
7090
  flex-direction: column;
7091
7091
  }
7092
- .brand-page__inner--default[data-v-4eac537a] {
7092
+ .brand-page__inner--default[data-v-d4cc0d12] {
7093
7093
  position: relative;
7094
7094
  z-index: 10;
7095
7095
  display: -webkit-box;
@@ -7101,16 +7101,16 @@ body {
7101
7101
  -ms-flex-direction: column;
7102
7102
  flex-direction: column;
7103
7103
  }
7104
- .brand-page__inner--desktop[data-v-4eac537a] {
7104
+ .brand-page__inner--desktop[data-v-d4cc0d12] {
7105
7105
  min-height: 100vh;
7106
7106
  }
7107
- .brand-site__header[data-v-4eac537a] {
7107
+ .brand-site__header[data-v-d4cc0d12] {
7108
7108
  container-type: inline-size;
7109
7109
  }
7110
- .brand-page__header[data-v-4eac537a] {
7110
+ .brand-page__header[data-v-d4cc0d12] {
7111
7111
  padding-top: var(--page-padding);
7112
7112
  }
7113
- .brand-page__content--default[data-v-4eac537a] {
7113
+ .brand-page__content--default[data-v-d4cc0d12] {
7114
7114
  margin-left: auto;
7115
7115
  margin-right: auto;
7116
7116
  margin-bottom: 2.5rem;
@@ -7127,7 +7127,7 @@ body {
7127
7127
  flex-direction: column;
7128
7128
  max-width: var(--page-max-width);
7129
7129
  }
7130
- .brand-page__content--desktop[data-v-4eac537a] {
7130
+ .brand-page__content--desktop[data-v-d4cc0d12] {
7131
7131
  margin-left: auto;
7132
7132
  margin-right: auto;
7133
7133
  display: -webkit-box;
@@ -7143,15 +7143,15 @@ body {
7143
7143
  flex-direction: column;
7144
7144
  max-width: 100%;
7145
7145
  }
7146
- .brand-page__content--inner[data-v-4eac537a] {
7146
+ .brand-page__content--inner[data-v-d4cc0d12] {
7147
7147
  padding-left: var(--page-padding);
7148
7148
  padding-right: var(--page-padding);
7149
7149
  }
7150
- .brand-page__content--inner--brandsite[data-v-4eac537a] {
7150
+ .brand-page__content--inner--brandsite[data-v-d4cc0d12] {
7151
7151
  max-width: var(--brandsite-max-width);
7152
7152
  margin: 0 auto;
7153
7153
  }
7154
- .brand-page__content--outline-selected[data-v-4eac537a] {
7154
+ .brand-page__content--outline-selected[data-v-d4cc0d12] {
7155
7155
  position: relative;
7156
7156
  z-index: 10;
7157
7157
  outline-color: #F7768C;
@@ -7159,20 +7159,20 @@ body {
7159
7159
  outline-style: dashed;
7160
7160
  outline-offset: -0.25rem;
7161
7161
  }
7162
- .brand-page__content--outline-footer-selected[data-v-4eac537a] {
7162
+ .brand-page__content--outline-footer-selected[data-v-d4cc0d12] {
7163
7163
  outline-color: #f7768c;
7164
7164
  outline-width: 0.2rem;
7165
7165
  outline-style: dashed;
7166
7166
  outline-offset: -0.25rem;
7167
7167
  }
7168
7168
  @media (max-width: 640px) {
7169
- .brand-page__content--inner--full-width[data-v-4eac537a] {
7169
+ .brand-page__content--inner--full-width[data-v-d4cc0d12] {
7170
7170
  padding-left: 0;
7171
7171
  padding-right: 0;
7172
7172
  }
7173
7173
  }
7174
7174
  @media (min-width: 640px) {
7175
- .brand-page__content--inner--full-width[data-v-4eac537a] {
7175
+ .brand-page__content--inner--full-width[data-v-d4cc0d12] {
7176
7176
  padding-left: var(--page-padding);
7177
7177
  padding-right: var(--page-padding);
7178
7178
  }
@@ -8630,11 +8630,11 @@ input[type='number'][data-v-28a532b4] {
8630
8630
  }
8631
8631
  }
8632
8632
 
8633
- .template-preview[data-v-c5fa6125] {
8633
+ .template-preview[data-v-6be0a701] {
8634
8634
  position: relative;
8635
8635
  background-attachment: initial !important
8636
8636
  }
8637
- .template-preview__overlay[data-v-c5fa6125] {
8637
+ .template-preview__overlay[data-v-6be0a701] {
8638
8638
  position: absolute;
8639
8639
  top: 0px;
8640
8640
  left: 0px;
@@ -8645,11 +8645,20 @@ input[type='number'][data-v-28a532b4] {
8645
8645
  cursor: pointer;
8646
8646
  opacity: 0
8647
8647
  }
8648
- .template-preview__page[data-v-c5fa6125] {
8649
- pointer-events: none
8648
+ .template-preview__image-container[data-v-6be0a701] {
8649
+ pointer-events: none;
8650
+ height: 100%;
8651
+ width: 100%
8650
8652
  }
8651
- .template-preview[data-v-c5fa6125] .c-shape-background {
8652
- position: absolute
8653
+ .template-preview__image[data-v-6be0a701] {
8654
+ height: 100%;
8655
+ width: 100%;
8656
+ -o-object-fit: cover;
8657
+ object-fit: cover;
8658
+ -webkit-transition: -webkit-filter 0.2s ease;
8659
+ transition: -webkit-filter 0.2s ease;
8660
+ transition: filter 0.2s ease;
8661
+ transition: filter 0.2s ease, -webkit-filter 0.2s ease
8653
8662
  }
8654
8663
 
8655
8664
  .section[data-v-0512603c] {
@@ -7398,14 +7398,14 @@ body {
7398
7398
  line-height: 1.5;
7399
7399
  }
7400
7400
 
7401
- .brand-page-root[data-v-4eac537a] {
7401
+ .brand-page-root[data-v-d4cc0d12] {
7402
7402
  height: 100%;
7403
7403
  }
7404
- .sortable[data-v-4eac537a] {
7404
+ .sortable[data-v-d4cc0d12] {
7405
7405
  outline-color: #F7768C;
7406
7406
  outline-width: 0.2rem;
7407
7407
  }
7408
- .brand-page[data-v-4eac537a] {
7408
+ .brand-page[data-v-d4cc0d12] {
7409
7409
  -webkit-box-sizing: border-box;
7410
7410
  box-sizing: border-box;
7411
7411
  display: -webkit-box;
@@ -7417,7 +7417,7 @@ body {
7417
7417
  -ms-flex-direction: column;
7418
7418
  flex-direction: column;
7419
7419
  }
7420
- .brand-page__inner--default[data-v-4eac537a] {
7420
+ .brand-page__inner--default[data-v-d4cc0d12] {
7421
7421
  position: relative;
7422
7422
  z-index: 10;
7423
7423
  display: -webkit-box;
@@ -7429,16 +7429,16 @@ body {
7429
7429
  -ms-flex-direction: column;
7430
7430
  flex-direction: column;
7431
7431
  }
7432
- .brand-page__inner--desktop[data-v-4eac537a] {
7432
+ .brand-page__inner--desktop[data-v-d4cc0d12] {
7433
7433
  min-height: 100vh;
7434
7434
  }
7435
- .brand-site__header[data-v-4eac537a] {
7435
+ .brand-site__header[data-v-d4cc0d12] {
7436
7436
  container-type: inline-size;
7437
7437
  }
7438
- .brand-page__header[data-v-4eac537a] {
7438
+ .brand-page__header[data-v-d4cc0d12] {
7439
7439
  padding-top: var(--page-padding);
7440
7440
  }
7441
- .brand-page__content--default[data-v-4eac537a] {
7441
+ .brand-page__content--default[data-v-d4cc0d12] {
7442
7442
  margin-left: auto;
7443
7443
  margin-right: auto;
7444
7444
  margin-bottom: 2.5rem;
@@ -7455,7 +7455,7 @@ body {
7455
7455
  flex-direction: column;
7456
7456
  max-width: var(--page-max-width);
7457
7457
  }
7458
- .brand-page__content--desktop[data-v-4eac537a] {
7458
+ .brand-page__content--desktop[data-v-d4cc0d12] {
7459
7459
  margin-left: auto;
7460
7460
  margin-right: auto;
7461
7461
  display: -webkit-box;
@@ -7471,15 +7471,15 @@ body {
7471
7471
  flex-direction: column;
7472
7472
  max-width: 100%;
7473
7473
  }
7474
- .brand-page__content--inner[data-v-4eac537a] {
7474
+ .brand-page__content--inner[data-v-d4cc0d12] {
7475
7475
  padding-left: var(--page-padding);
7476
7476
  padding-right: var(--page-padding);
7477
7477
  }
7478
- .brand-page__content--inner--brandsite[data-v-4eac537a] {
7478
+ .brand-page__content--inner--brandsite[data-v-d4cc0d12] {
7479
7479
  max-width: var(--brandsite-max-width);
7480
7480
  margin: 0 auto;
7481
7481
  }
7482
- .brand-page__content--outline-selected[data-v-4eac537a] {
7482
+ .brand-page__content--outline-selected[data-v-d4cc0d12] {
7483
7483
  position: relative;
7484
7484
  z-index: 10;
7485
7485
  outline-color: #F7768C;
@@ -7487,20 +7487,20 @@ body {
7487
7487
  outline-style: dashed;
7488
7488
  outline-offset: -0.25rem;
7489
7489
  }
7490
- .brand-page__content--outline-footer-selected[data-v-4eac537a] {
7490
+ .brand-page__content--outline-footer-selected[data-v-d4cc0d12] {
7491
7491
  outline-color: #f7768c;
7492
7492
  outline-width: 0.2rem;
7493
7493
  outline-style: dashed;
7494
7494
  outline-offset: -0.25rem;
7495
7495
  }
7496
7496
  @media (max-width: 640px) {
7497
- .brand-page__content--inner--full-width[data-v-4eac537a] {
7497
+ .brand-page__content--inner--full-width[data-v-d4cc0d12] {
7498
7498
  padding-left: 0;
7499
7499
  padding-right: 0;
7500
7500
  }
7501
7501
  }
7502
7502
  @media (min-width: 640px) {
7503
- .brand-page__content--inner--full-width[data-v-4eac537a] {
7503
+ .brand-page__content--inner--full-width[data-v-d4cc0d12] {
7504
7504
  padding-left: var(--page-padding);
7505
7505
  padding-right: var(--page-padding);
7506
7506
  }
@@ -8958,11 +8958,11 @@ input[type='number'][data-v-28a532b4] {
8958
8958
  }
8959
8959
  }
8960
8960
 
8961
- .template-preview[data-v-c5fa6125] {
8961
+ .template-preview[data-v-6be0a701] {
8962
8962
  position: relative;
8963
8963
  background-attachment: initial !important
8964
8964
  }
8965
- .template-preview__overlay[data-v-c5fa6125] {
8965
+ .template-preview__overlay[data-v-6be0a701] {
8966
8966
  position: absolute;
8967
8967
  top: 0px;
8968
8968
  left: 0px;
@@ -8973,11 +8973,20 @@ input[type='number'][data-v-28a532b4] {
8973
8973
  cursor: pointer;
8974
8974
  opacity: 0
8975
8975
  }
8976
- .template-preview__page[data-v-c5fa6125] {
8977
- pointer-events: none
8976
+ .template-preview__image-container[data-v-6be0a701] {
8977
+ pointer-events: none;
8978
+ height: 100%;
8979
+ width: 100%
8978
8980
  }
8979
- .template-preview[data-v-c5fa6125] .c-shape-background {
8980
- position: absolute
8981
+ .template-preview__image[data-v-6be0a701] {
8982
+ height: 100%;
8983
+ width: 100%;
8984
+ -o-object-fit: cover;
8985
+ object-fit: cover;
8986
+ -webkit-transition: -webkit-filter 0.2s ease;
8987
+ transition: -webkit-filter 0.2s ease;
8988
+ transition: filter 0.2s ease;
8989
+ transition: filter 0.2s ease, -webkit-filter 0.2s ease
8981
8990
  }
8982
8991
 
8983
8992
  .section[data-v-0512603c] {