@designcrowd/library.brand-page 5.18.6-ast-padding-1 → 5.18.6
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/{CreatedOnBrandCrowd-de-de-CAtPZtwo.js → CreatedOnBrandCrowd-de-de-DlYq1LAT.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-Dcx4yFkK.js → CreatedOnBrandCrowd-en-us-BssRIQqn.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-DpodH0gD.js → CreatedOnBrandCrowd-es-es-BGF9pptH.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DZbMRJn-.js → CreatedOnBrandCrowd-fr-ca-Caupqu2Z.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-DZbMRJn-.js → CreatedOnBrandCrowd-fr-fr-Caupqu2Z.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-C3gBveLk.js → CreatedOnBrandCrowd-pt-br-s9q4uJ4u.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-C3gBveLk.js → CreatedOnBrandCrowd-pt-pt-s9q4uJ4u.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-DHNyyTV9.js → CreatedOnDcom-de-de-UnYnZbA7.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-BjqZ0Jmw.js → CreatedOnDcom-en-us-rDv6H12L.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-tiNjDJmH.js → CreatedOnDcom-es-es-DKPLaT6o.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-COUSI6w1.js → CreatedOnDcom-fr-ca-DAv34bG7.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-c3UCfh9A.js → CreatedOnDcom-fr-fr-DsOHnS8q.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-U1jbo_g5.js → CreatedOnDcom-pt-br-DpjDBCLj.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-BOW_n3bo.js → CreatedOnDcom-pt-pt-rFG0unf1.js} +1 -1
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +4 -8
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/image-gallery/ImageGallery.mixin.js +0 -4
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +1 -4
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +0 -4
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +1 -4
- package/lib/src/brand-page/components/video/Video.mixin.d.ts +0 -4
- package/lib/src/brand-page/components/video/Video.mixin.js +0 -4
- package/lib/src/brand-page/constants/misc.constants.d.ts +0 -30
- package/lib/src/brand-page/constants/misc.constants.js +0 -51
- package/lib/src/brand-page/models/content.model.d.ts +0 -2
- package/lib/src/brand-page/utils/index.d.ts +0 -1
- package/lib/src/brand-page/utils/index.js +0 -1
- package/lib/src/brand-page/utils/migration.util.js +0 -10
- package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +0 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +0 -12
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +0 -14
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +0 -37
- package/lib/src/brand-page-maker/convertors/about-display-style.convertor.js +1 -9
- package/lib/src/brand-page-maker/convertors/banner-align-display-style.convertor.js +1 -7
- package/lib/src/brand-page-maker/convertors/contact-layout-style.convertor.js +1 -6
- package/lib/src/brand-page-maker/models/content-settings.js +2 -36
- package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +0 -12
- package/lib/src/{bundled-translations-Chw0nsFv.js → bundled-translations-B5Fkt3qd.js} +9 -9
- package/lib/src/{bundled-translations.de-DE-cqBv7atZ.js → bundled-translations.de-DE-DpdVePM9.js} +1 -1
- package/lib/src/{bundled-translations.es-ES-D9VXftl_.js → bundled-translations.es-ES-BsIcrzZF.js} +9 -9
- package/lib/src/{bundled-translations.fr-CA-BYstWXcO.js → bundled-translations.fr-CA-G1XCp2Qh.js} +1 -1
- package/lib/src/{bundled-translations.fr-FR-D1H1hJD4.js → bundled-translations.fr-FR-BdwLXOnB.js} +1 -1
- package/lib/src/{bundled-translations.pt-BR-DqNFuNHX.js → bundled-translations.pt-BR-Bvn5ePe7.js} +1 -1
- package/lib/src/{bundled-translations.pt-PT-tOic0FfQ.js → bundled-translations.pt-PT-CDtkb2k1.js} +9 -9
- package/lib/src/bundles/bundled-translations.de-DE.json +0 -2
- package/lib/src/bundles/bundled-translations.es-ES.json +0 -2
- package/lib/src/bundles/bundled-translations.fr-CA.json +0 -2
- package/lib/src/bundles/bundled-translations.fr-FR.json +0 -2
- package/lib/src/bundles/bundled-translations.json +0 -2
- package/lib/src/bundles/bundled-translations.pt-BR.json +0 -2
- package/lib/src/bundles/bundled-translations.pt-PT.json +0 -2
- package/lib/src/css/library.brand-page-brandCrowd.min.css +116 -108
- package/lib/src/css/library.brand-page-brandPage.min.css +116 -108
- package/lib/src/css/library.brand-page-designCom.min.css +116 -108
- package/lib/src/css/library.brand-page-preview.min.css +116 -108
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-Bl7w5LQl.js → lib-ngdDRkSL.js} +19534 -19720
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +0 -14
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +0 -14
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +0 -12
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +0 -12
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +0 -12
- package/lib/src/shared/content-settings/components/slider-field/SliderField.mixin.js +0 -9
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +0 -12
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +0 -16
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +0 -14
- package/lib/src/utils/minify-brand-page-metadata.js +1 -11
- package/package.json +1 -1
- package/src/brand-page/components/about-section/AboutSection.vue +4 -10
- package/src/brand-page/components/banner-section/BannerSection.vue +4 -11
- package/src/brand-page/components/booking-section/BookingSection.vue +3 -11
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +6 -12
- package/src/brand-page/components/contact-form/ContactForm.vue +118 -115
- package/src/brand-page/components/image-gallery/ImageGallery.mixin.ts +0 -5
- package/src/brand-page/components/image-gallery/ImageGallery.vue +1 -1
- package/src/brand-page/components/mailing-list/MailingList.mixin.ts +1 -8
- package/src/brand-page/components/mailing-list/MailingList.vue +1 -1
- package/src/brand-page/components/map/Map.vue +1 -5
- package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +0 -5
- package/src/brand-page/components/payment/request-payment/RequestPayment.vue +0 -1
- package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +1 -8
- package/src/brand-page/components/payment/support-me/SupportMe.vue +0 -1
- package/src/brand-page/components/shop/Shop.vue +2 -7
- package/src/brand-page/components/social-links/SocialLinks.vue +3 -7
- package/src/brand-page/components/text/Text.vue +5 -12
- package/src/brand-page/components/text-media-section/TextMediaSection.vue +3 -11
- package/src/brand-page/components/video/Video.mixin.ts +0 -5
- package/src/brand-page/components/video/Video.vue +1 -1
- package/src/brand-page/constants/misc.constants.ts +0 -60
- package/src/brand-page/models/content.model.ts +0 -2
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -9
- package/src/brand-page/utils/index.ts +0 -1
- package/src/brand-page/utils/migration.util.test.ts +0 -145
- package/src/brand-page/utils/migration.util.ts +0 -11
- package/src/brand-page-maker/constants/config-settings-constant.ts +0 -43
- package/src/brand-page-maker/convertors/about-display-style.convertor.ts +0 -10
- package/src/brand-page-maker/convertors/banner-align-display-style.convertor.ts +0 -8
- package/src/brand-page-maker/convertors/contact-layout-style.convertor.ts +0 -8
- package/src/brand-page-maker/models/content-settings.ts +2 -38
- package/src/bundles/bundled-translations.de-DE.json +0 -2
- package/src/bundles/bundled-translations.es-ES.json +0 -2
- package/src/bundles/bundled-translations.fr-CA.json +0 -2
- package/src/bundles/bundled-translations.fr-FR.json +0 -2
- package/src/bundles/bundled-translations.json +0 -2
- package/src/bundles/bundled-translations.pt-BR.json +0 -2
- package/src/bundles/bundled-translations.pt-PT.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +0 -2
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -1
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +2 -2
- package/src/shared/content-settings/components/slider-field/SliderField.mixin.ts +0 -9
- package/src/utils/minify-brand-page-metadata.ts +1 -11
- package/lib/src/brand-page/utils/content-padding.util.d.ts +0 -13
- package/lib/src/brand-page/utils/content-padding.util.js +0 -10
- package/lib/src/brand-page/utils/migration/migration-17.d.ts +0 -2
- package/lib/src/brand-page/utils/migration/migration-17.js +0 -50
- package/src/brand-page/utils/content-padding.util.test.ts +0 -29
- package/src/brand-page/utils/content-padding.util.ts +0 -13
- package/src/brand-page/utils/migration/migration-17.ts +0 -73
- package/src/brand-page-maker/convertors/contact-layout-style.convertor.test.ts +0 -50
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
<div
|
|
8
8
|
:class="{
|
|
9
9
|
'about-container': context.isBrandSite,
|
|
10
|
-
'about-container--padding': !isFullImage,
|
|
10
|
+
'about-container--padding tw-py-10': !isFullImage,
|
|
11
11
|
'mobile-about-container--padding': isFullImage,
|
|
12
12
|
}"
|
|
13
|
-
:style="contentPaddingStyle"
|
|
14
13
|
>
|
|
15
14
|
<Media
|
|
16
15
|
v-if="
|
|
@@ -104,10 +103,7 @@
|
|
|
104
103
|
import { computed } from 'vue';
|
|
105
104
|
import type { AboutSectionViewModel } from '@brand-page/view-models';
|
|
106
105
|
import type { BrandPageContext } from '@brand-page/models';
|
|
107
|
-
import {
|
|
108
|
-
getRenderText,
|
|
109
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
110
|
-
} from '@brand-page/utils';
|
|
106
|
+
import { getRenderText } from '@brand-page/utils';
|
|
111
107
|
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
112
108
|
import Media from '../media/Media.vue';
|
|
113
109
|
import TextWrapper from '../text-wrapper/TextWrapper.vue';
|
|
@@ -127,10 +123,6 @@ const props = withDefaults(
|
|
|
127
123
|
},
|
|
128
124
|
);
|
|
129
125
|
|
|
130
|
-
const contentPaddingStyle = computed(() =>
|
|
131
|
-
toContentPaddingStyle(props.viewModel),
|
|
132
|
-
);
|
|
133
|
-
|
|
134
126
|
const isFullImage = computed(
|
|
135
127
|
() =>
|
|
136
128
|
props.viewModel.displayStyle === 'right-aligned-full-image' ||
|
|
@@ -209,6 +201,7 @@ const renderText = computed((): string => {
|
|
|
209
201
|
.device-wrapper--mobile .mobile-about-container--padding {
|
|
210
202
|
padding-left: var(--page-padding);
|
|
211
203
|
padding-right: var(--page-padding);
|
|
204
|
+
@apply tw-py-10;
|
|
212
205
|
}
|
|
213
206
|
.device-wrapper--mobile .text-grid-column {
|
|
214
207
|
@apply container-grid-columns;
|
|
@@ -282,6 +275,7 @@ const renderText = computed((): string => {
|
|
|
282
275
|
.mobile-about-container--padding {
|
|
283
276
|
padding-left: var(--page-padding);
|
|
284
277
|
padding-right: var(--page-padding);
|
|
278
|
+
@apply tw-py-10;
|
|
285
279
|
}
|
|
286
280
|
.about-container :deep(.container-image) {
|
|
287
281
|
aspect-ratio: 1/1;
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
viewModel.isBigImageType,
|
|
8
8
|
'c_banner--with-image-overlay tw-flex tw-flex-col': isDividedContent,
|
|
9
9
|
'tw-px-6': !isDividedContent,
|
|
10
|
+
'tw-py-8': !isDividedContent && !isStackedFullWidth,
|
|
10
11
|
}"
|
|
11
|
-
:style="
|
|
12
|
+
:style="viewModel.backgroundStyle"
|
|
12
13
|
style="container-type: inline-size"
|
|
13
14
|
>
|
|
14
15
|
<Media
|
|
@@ -200,7 +201,7 @@
|
|
|
200
201
|
<div
|
|
201
202
|
class="!tw-text-center tw-flex tw-flex-col tw-gap-5"
|
|
202
203
|
:class="{
|
|
203
|
-
'tw-px-6': isDividedContent,
|
|
204
|
+
'tw-px-6 tw-py-8': isDividedContent,
|
|
204
205
|
}"
|
|
205
206
|
>
|
|
206
207
|
<TextWrapper
|
|
@@ -331,11 +332,7 @@ import type {
|
|
|
331
332
|
} from '@brand-page/view-models';
|
|
332
333
|
import type { BrandPageContext } from '@brand-page/models';
|
|
333
334
|
import { hasValidButton } from '../../../utils/validator.util';
|
|
334
|
-
import {
|
|
335
|
-
getRenderText,
|
|
336
|
-
escapeContentText,
|
|
337
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
338
|
-
} from '@brand-page/utils';
|
|
335
|
+
import { getRenderText, escapeContentText } from '@brand-page/utils';
|
|
339
336
|
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
340
337
|
import {
|
|
341
338
|
ALIGN_CENTERED,
|
|
@@ -493,10 +490,6 @@ const layout = computed<BannerLayoutConfig>(
|
|
|
493
490
|
() => BANNER_LAYOUTS[props.viewModel.displayStyle] ?? DEFAULT_LAYOUT,
|
|
494
491
|
);
|
|
495
492
|
|
|
496
|
-
const contentPaddingStyle = computed(() =>
|
|
497
|
-
toContentPaddingStyle(props.viewModel),
|
|
498
|
-
);
|
|
499
|
-
|
|
500
493
|
const displayAlignClass = computed(() => layout.value.alignClass);
|
|
501
494
|
const isHorizontalAligned = computed(() => !!layout.value.hasSideImage);
|
|
502
495
|
const isDividedContent = computed(() => layout.value.layout === 'divided');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section data-component="booking-section">
|
|
3
3
|
<div
|
|
4
|
-
class="tw-relative tw-px-6"
|
|
5
|
-
:style="
|
|
4
|
+
class="tw-relative tw-px-6 tw-py-8"
|
|
5
|
+
:style="viewModel.backgroundStyle"
|
|
6
6
|
style="container-type: inline-size"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
@@ -45,11 +45,7 @@ import type {
|
|
|
45
45
|
ButtonViewModel,
|
|
46
46
|
} from '@brand-page/view-models';
|
|
47
47
|
import type { BrandPageContext } from '@brand-page/models';
|
|
48
|
-
import {
|
|
49
|
-
getRenderText,
|
|
50
|
-
escapeContentText,
|
|
51
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
52
|
-
} from '@brand-page/utils';
|
|
48
|
+
import { getRenderText, escapeContentText } from '@brand-page/utils';
|
|
53
49
|
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
54
50
|
import { hasValidButton as shouldShowButtonUtil } from '../../../utils/validator.util';
|
|
55
51
|
import Button from '../button/Button.vue';
|
|
@@ -75,10 +71,6 @@ const props = defineProps({
|
|
|
75
71
|
},
|
|
76
72
|
});
|
|
77
73
|
|
|
78
|
-
const contentPaddingStyle = computed(() =>
|
|
79
|
-
toContentPaddingStyle(props.viewModel),
|
|
80
|
-
);
|
|
81
|
-
|
|
82
74
|
const renderText = computed((): string => {
|
|
83
75
|
if (!props.viewModel.description) {
|
|
84
76
|
return '';
|
|
@@ -25,10 +25,7 @@ import {
|
|
|
25
25
|
RECAPTCHA_ACTION_CONTACT_FORM,
|
|
26
26
|
TEXT_ONLY,
|
|
27
27
|
} from '../../constants';
|
|
28
|
-
import {
|
|
29
|
-
getRenderText,
|
|
30
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
31
|
-
} from '@brand-page/utils';
|
|
28
|
+
import { getRenderText } from '@brand-page/utils';
|
|
32
29
|
import { hasRTEContent } from '@brand-page-maker/utils';
|
|
33
30
|
import { useReCaptcha } from '../../composables/recaptcha.composable';
|
|
34
31
|
|
|
@@ -100,10 +97,6 @@ export default defineComponent({
|
|
|
100
97
|
return buttonTextStyle;
|
|
101
98
|
},
|
|
102
99
|
|
|
103
|
-
contentPaddingStyle(): { paddingTop: string; paddingBottom: string } {
|
|
104
|
-
return toContentPaddingStyle(this.viewModel);
|
|
105
|
-
},
|
|
106
|
-
|
|
107
100
|
hasCard(): boolean {
|
|
108
101
|
return (
|
|
109
102
|
this.viewModel.layoutStyle === ALIGN_CARD_CENTER ||
|
|
@@ -116,10 +109,11 @@ export default defineComponent({
|
|
|
116
109
|
},
|
|
117
110
|
|
|
118
111
|
hasBgColor(): boolean {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
112
|
+
return (
|
|
113
|
+
this.viewModel.layoutStyle === ALIGN_CARD_CENTER ||
|
|
114
|
+
this.viewModel.layoutStyle === TEXT_ONLY ||
|
|
115
|
+
this.viewModel.layoutStyle === ALIGN_CENTERED
|
|
116
|
+
);
|
|
123
117
|
},
|
|
124
118
|
|
|
125
119
|
isCenteredLayout(): boolean {
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section data-component="contact-form">
|
|
3
3
|
<div
|
|
4
|
-
:class="{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
:class="{
|
|
5
|
+
'tw-flex': isCenteredLayout && !hasBgImage,
|
|
6
|
+
'tw-block': !viewModel.layoutStyle,
|
|
7
|
+
'tw-relative': hasBgImage,
|
|
8
|
+
}"
|
|
9
|
+
:style="hasBgColor ? viewModel.backgroundStyle : {}"
|
|
9
10
|
>
|
|
11
|
+
<Media
|
|
12
|
+
v-if="hasBgImage && isCenteredLayout"
|
|
13
|
+
:image-url="viewModel.imageUrl"
|
|
14
|
+
:color-replacements="viewModel.colorReplacements"
|
|
15
|
+
:context="context"
|
|
16
|
+
:media-type="viewModel.mediaType"
|
|
17
|
+
:role="viewModel.role"
|
|
18
|
+
:size="viewModel.size"
|
|
19
|
+
:content-index="contentIndex"
|
|
20
|
+
img-classes="tw-w-full tw-h-full tw-object-cover tw-absolute tw-left-0 tw-top-0 tw-overflow-hidden"
|
|
21
|
+
/>
|
|
10
22
|
<Collapsible
|
|
11
23
|
v-if="
|
|
12
24
|
!viewModel.layoutStyle ||
|
|
@@ -96,125 +108,110 @@
|
|
|
96
108
|
</Collapsible>
|
|
97
109
|
<div
|
|
98
110
|
v-else-if="isCenteredLayout"
|
|
99
|
-
|
|
111
|
+
class="contact-container tw-py-4"
|
|
112
|
+
:class="{
|
|
113
|
+
'tw-px-6 tw-py-8': hasCard,
|
|
114
|
+
'tw-py-6': !hasCard,
|
|
115
|
+
'tw-w-full': !hasBgImage,
|
|
116
|
+
}"
|
|
100
117
|
>
|
|
101
|
-
<Media
|
|
102
|
-
v-if="hasBgImage"
|
|
103
|
-
:image-url="viewModel.imageUrl"
|
|
104
|
-
:color-replacements="viewModel.colorReplacements"
|
|
105
|
-
:context="context"
|
|
106
|
-
:media-type="viewModel.mediaType"
|
|
107
|
-
:role="viewModel.role"
|
|
108
|
-
:size="viewModel.size"
|
|
109
|
-
:content-index="contentIndex"
|
|
110
|
-
img-classes="tw-w-full tw-h-full tw-object-cover tw-absolute tw-left-0 tw-top-0 tw-overflow-hidden"
|
|
111
|
-
/>
|
|
112
118
|
<div
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
'tw-px-6': hasCard,
|
|
116
|
-
'tw-py-8': hasBgImage,
|
|
117
|
-
'tw-w-full': !hasBgImage,
|
|
118
|
-
}"
|
|
119
|
+
:style="hasCard ? viewModel.cardStyle : {}"
|
|
120
|
+
class="tw-relative tw-block tw-px-6 tw-py-8 tw-rounded-2xl"
|
|
119
121
|
>
|
|
120
|
-
<
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
122
|
+
<form v-if="!hasSubmitted" @submit.prevent="submitContactForm">
|
|
123
|
+
<TextWrapper
|
|
124
|
+
v-if="viewModel.title"
|
|
125
|
+
:text-style="viewModel.titleStyle"
|
|
126
|
+
:text="viewModel.title"
|
|
127
|
+
element="h1"
|
|
128
|
+
class="tw-mb-4 tw-text-base"
|
|
129
|
+
/>
|
|
130
|
+
<TextWrapper
|
|
131
|
+
v-if="renderText"
|
|
132
|
+
:text-style="viewModel.descriptionStyle"
|
|
133
|
+
:text="renderText"
|
|
134
|
+
element="div"
|
|
135
|
+
class="tw-mb-4 tw-text-base"
|
|
136
|
+
/>
|
|
137
|
+
<div v-if="!isSubmitting" class="tw-grid tw-grid-cols-2 tw-gap-4">
|
|
138
|
+
<div
|
|
139
|
+
v-for="(value, index) in values"
|
|
140
|
+
:key="index"
|
|
141
|
+
class="tw-text-secondary-500 c-col-span-2"
|
|
142
|
+
:class="{
|
|
143
|
+
'tw-col-span-2':
|
|
144
|
+
value.field.type === 'text-area' || isMobileDevice,
|
|
145
|
+
}"
|
|
146
|
+
>
|
|
147
|
+
<TextInput
|
|
148
|
+
v-if="value.field.type !== 'text-area'"
|
|
149
|
+
v-model="value.value"
|
|
150
|
+
:placeholder="`${value.field.name}${
|
|
151
|
+
value.field.required ? '*' : ''
|
|
152
|
+
}`"
|
|
153
|
+
:label="`${value.field.name}${value.field.required ? '*' : ''}`"
|
|
154
|
+
:show-label-screen-reader-only="true"
|
|
155
|
+
size="sm"
|
|
156
|
+
:error="!!value.error"
|
|
157
|
+
:type="getTextInputTypeByFieldType(value.field.type)"
|
|
158
|
+
class="tw-w-full"
|
|
159
|
+
@input="onValueChange(index)"
|
|
160
|
+
/>
|
|
161
|
+
<Textarea
|
|
162
|
+
v-if="value.field.type === 'text-area'"
|
|
163
|
+
v-model="value.value"
|
|
164
|
+
:placeholder="`${value.field.name}${
|
|
165
|
+
value.field.required ? '*' : ''
|
|
166
|
+
}`"
|
|
167
|
+
:label="`${value.field.name}${value.field.required ? '*' : ''}`"
|
|
168
|
+
:show-label-screen-reader-only="true"
|
|
169
|
+
size="sm"
|
|
170
|
+
:error="!!value.error"
|
|
171
|
+
:resize="false"
|
|
172
|
+
class="tw-w-full"
|
|
173
|
+
@input="onValueChange(index)"
|
|
174
|
+
/>
|
|
175
|
+
<p v-if="!!value.error" class="form-error">
|
|
176
|
+
{{ value.error }}
|
|
177
|
+
</p>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="tw-flex tw-w-full tw-justify-center tw-col-span-2">
|
|
180
|
+
<button
|
|
181
|
+
v-if="isSubmitButtonVisible"
|
|
182
|
+
class="tw-block tw-border-0 tw-py-2 tw-select-none tw-text-base tw-text-center tw-w-fit hover:tw-cursor-pointer tw-px-8 tw-py-3 c-button-full"
|
|
183
|
+
:style="submitButtonStyle"
|
|
184
|
+
:class="{ 'tw-w-full': isMobileDevice }"
|
|
148
185
|
>
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
value.field.required ? '*' : ''
|
|
154
|
-
}`"
|
|
155
|
-
:label="`${value.field.name}${value.field.required ? '*' : ''}`"
|
|
156
|
-
:show-label-screen-reader-only="true"
|
|
157
|
-
size="sm"
|
|
158
|
-
:error="!!value.error"
|
|
159
|
-
:type="getTextInputTypeByFieldType(value.field.type)"
|
|
160
|
-
class="tw-w-full"
|
|
161
|
-
@input="onValueChange(index)"
|
|
162
|
-
/>
|
|
163
|
-
<Textarea
|
|
164
|
-
v-if="value.field.type === 'text-area'"
|
|
165
|
-
v-model="value.value"
|
|
166
|
-
:placeholder="`${value.field.name}${
|
|
167
|
-
value.field.required ? '*' : ''
|
|
168
|
-
}`"
|
|
169
|
-
:label="`${value.field.name}${value.field.required ? '*' : ''}`"
|
|
170
|
-
:show-label-screen-reader-only="true"
|
|
171
|
-
size="sm"
|
|
172
|
-
:error="!!value.error"
|
|
173
|
-
:resize="false"
|
|
174
|
-
class="tw-w-full"
|
|
175
|
-
@input="onValueChange(index)"
|
|
186
|
+
<TextWrapper
|
|
187
|
+
:text-style="submitButtonTextStyle"
|
|
188
|
+
:text="viewModel.buttonText"
|
|
189
|
+
class="tw-text-center tw-text-base"
|
|
176
190
|
/>
|
|
177
|
-
|
|
178
|
-
{{ value.error }}
|
|
179
|
-
</p>
|
|
180
|
-
</div>
|
|
181
|
-
<div class="tw-flex tw-w-full tw-justify-center tw-col-span-2">
|
|
182
|
-
<button
|
|
183
|
-
v-if="isSubmitButtonVisible"
|
|
184
|
-
class="tw-block tw-border-0 tw-py-2 tw-select-none tw-text-base tw-text-center tw-w-fit hover:tw-cursor-pointer tw-px-8 tw-py-3 c-button-full"
|
|
185
|
-
:style="submitButtonStyle"
|
|
186
|
-
:class="{ 'tw-w-full': isMobileDevice }"
|
|
187
|
-
>
|
|
188
|
-
<TextWrapper
|
|
189
|
-
:text-style="submitButtonTextStyle"
|
|
190
|
-
:text="viewModel.buttonText"
|
|
191
|
-
class="tw-text-center tw-text-base"
|
|
192
|
-
/>
|
|
193
|
-
</button>
|
|
194
|
-
</div>
|
|
195
|
-
</div>
|
|
196
|
-
<div v-else class="tw-w-full tw-flex tw-justify-center">
|
|
197
|
-
<Loader />
|
|
191
|
+
</button>
|
|
198
192
|
</div>
|
|
199
|
-
<p
|
|
200
|
-
v-if="hasSubmitError"
|
|
201
|
-
class="tw-text-center tw-mt-2 form-error"
|
|
202
|
-
>
|
|
203
|
-
{{ submitError }}
|
|
204
|
-
</p>
|
|
205
|
-
</form>
|
|
206
|
-
<div v-else :style="successMessageColorStyle">
|
|
207
|
-
<TextWrapper
|
|
208
|
-
v-if="viewModel.successMessage"
|
|
209
|
-
:text="renderSuccessText"
|
|
210
|
-
element="p"
|
|
211
|
-
:class="'tw-my-0.5'"
|
|
212
|
-
/>
|
|
213
193
|
</div>
|
|
194
|
+
<div v-else class="tw-w-full tw-flex tw-justify-center">
|
|
195
|
+
<Loader />
|
|
196
|
+
</div>
|
|
197
|
+
<p v-if="hasSubmitError" class="tw-text-center tw-mt-2 form-error">
|
|
198
|
+
{{ submitError }}
|
|
199
|
+
</p>
|
|
200
|
+
</form>
|
|
201
|
+
<div v-else :style="successMessageColorStyle">
|
|
202
|
+
<TextWrapper
|
|
203
|
+
v-if="viewModel.successMessage"
|
|
204
|
+
:text="renderSuccessText"
|
|
205
|
+
element="p"
|
|
206
|
+
:class="'tw-my-0.5'"
|
|
207
|
+
/>
|
|
214
208
|
</div>
|
|
215
209
|
</div>
|
|
216
210
|
</div>
|
|
217
|
-
<div
|
|
211
|
+
<div
|
|
212
|
+
v-else-if="isTextOnly"
|
|
213
|
+
class="tw-px-6 tw-py-8 tw-gap-2 contact-container"
|
|
214
|
+
>
|
|
218
215
|
<span v-if="!hasSubmitted" class="tw-grid tw-grid-cols-2">
|
|
219
216
|
<div
|
|
220
217
|
v-if="!isSubmitting"
|
|
@@ -353,7 +350,10 @@
|
|
|
353
350
|
}"
|
|
354
351
|
>
|
|
355
352
|
<div
|
|
356
|
-
class="tw-flex tw-flex-col tw-gap-2 tw-px-8 tw-
|
|
353
|
+
class="tw-flex tw-flex-col tw-gap-2 tw-px-8 tw-w-full tw-justify-center c-py-6"
|
|
354
|
+
:class="{
|
|
355
|
+
'tw-py-6': isMobileDevice,
|
|
356
|
+
}"
|
|
357
357
|
>
|
|
358
358
|
<span v-if="!hasSubmitted">
|
|
359
359
|
<TextWrapper
|
|
@@ -516,6 +516,9 @@ export default {
|
|
|
516
516
|
.c-text-padding {
|
|
517
517
|
@apply tw-px-0 tw-col-span-2;
|
|
518
518
|
}
|
|
519
|
+
.c-py-6 {
|
|
520
|
+
@apply tw-py-6;
|
|
521
|
+
}
|
|
519
522
|
.c-divided-container {
|
|
520
523
|
@apply tw-flex-col;
|
|
521
524
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
2
|
import type { PropType } from 'vue';
|
|
3
3
|
import type { ImageGalleryViewModel } from '@brand-page/view-models';
|
|
4
|
-
import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
|
|
5
4
|
import ComponentCommonMixin from '../mixins/component-common.mixin';
|
|
6
5
|
import ImageModalMixin from '../mixins/image-modal.mixin';
|
|
7
6
|
import type { ImageGalleryImageClickPayload } from './models';
|
|
@@ -35,10 +34,6 @@ export default defineComponent({
|
|
|
35
34
|
};
|
|
36
35
|
},
|
|
37
36
|
computed: {
|
|
38
|
-
contentPaddingStyle(): { paddingTop: string; paddingBottom: string } {
|
|
39
|
-
return toContentPaddingStyle(this.viewModel);
|
|
40
|
-
},
|
|
41
|
-
|
|
42
37
|
getContainerStyle(): BrandPageCssStyle {
|
|
43
38
|
if (this.galleryType === 'carousel') {
|
|
44
39
|
const maxWidth = this.containerClientWidth
|
|
@@ -2,10 +2,7 @@ import { defineComponent } from 'vue';
|
|
|
2
2
|
import type { PropType } from 'vue';
|
|
3
3
|
import type { MailingListViewModel } from '@brand-page/view-models';
|
|
4
4
|
import brandPageClient from '../../clients/brand-page.client';
|
|
5
|
-
import {
|
|
6
|
-
getEmailValidationError,
|
|
7
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
8
|
-
} from '@brand-page/utils';
|
|
5
|
+
import { getEmailValidationError } from '@brand-page/utils';
|
|
9
6
|
import type { BrandPageContext } from '@brand-page/models';
|
|
10
7
|
import {
|
|
11
8
|
contentSettingsTr,
|
|
@@ -64,10 +61,6 @@ export default defineComponent({
|
|
|
64
61
|
}
|
|
65
62
|
},
|
|
66
63
|
computed: {
|
|
67
|
-
contentPaddingStyle(): { paddingTop: string; paddingBottom: string } {
|
|
68
|
-
return toContentPaddingStyle(this.viewModel);
|
|
69
|
-
},
|
|
70
|
-
|
|
71
64
|
hasNameError(): boolean {
|
|
72
65
|
return !!this.nameError;
|
|
73
66
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div data-component="map"
|
|
2
|
+
<div data-component="map">
|
|
3
3
|
<div
|
|
4
4
|
class="c-map"
|
|
5
5
|
:class="{
|
|
@@ -22,7 +22,6 @@ import Placeholder from '../placeholder/Placeholder.vue';
|
|
|
22
22
|
import type { MapViewModel } from '@brand-page/view-models';
|
|
23
23
|
import type { BrandPageContext } from '@brand-page/models';
|
|
24
24
|
import { mapTr } from '@src/composables/useTranslate';
|
|
25
|
-
import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
|
|
26
25
|
import { computed } from 'vue';
|
|
27
26
|
|
|
28
27
|
interface Props {
|
|
@@ -38,9 +37,6 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
38
37
|
});
|
|
39
38
|
|
|
40
39
|
const placeId = computed(() => props.viewModel?.address?.placeId);
|
|
41
|
-
const contentPaddingStyle = computed(() =>
|
|
42
|
-
toContentPaddingStyle(props.viewModel),
|
|
43
|
-
);
|
|
44
40
|
</script>
|
|
45
41
|
<style scoped>
|
|
46
42
|
.c-map {
|
|
@@ -14,7 +14,6 @@ import type { RequestPaymentViewModel } from '../../../view-models';
|
|
|
14
14
|
import type { PaymentRequestDetails } from '../Payment.mixin';
|
|
15
15
|
import { DEFAULT_CURRENCY_SYMBOL } from '../../../constants';
|
|
16
16
|
import { addOpacityToHex } from '../../../utils/color.util';
|
|
17
|
-
import { contentPaddingStyle as toContentPaddingStyle } from '../../../utils';
|
|
18
17
|
import { RGBAtoHex } from '@utils/helpers';
|
|
19
18
|
|
|
20
19
|
const MAX_CUSTOM_REQUEST_CHARS = 500;
|
|
@@ -43,10 +42,6 @@ export default defineComponent({
|
|
|
43
42
|
};
|
|
44
43
|
},
|
|
45
44
|
computed: {
|
|
46
|
-
contentPaddingStyle(): { paddingTop: string; paddingBottom: string } {
|
|
47
|
-
return toContentPaddingStyle(this.viewModel);
|
|
48
|
-
},
|
|
49
|
-
|
|
50
45
|
isCustomerRequestDetailsValid(): boolean {
|
|
51
46
|
return (
|
|
52
47
|
!this.viewModel.requestPaymentConfig.isCustomerRequestDetailsEnabled ||
|
|
@@ -4,10 +4,7 @@ import { SUPPORT_ME_CUSTOM_PRODUCT_NAME } from '../../../constants';
|
|
|
4
4
|
import type { BrandPageContext, PaymentOption } from '../../../models';
|
|
5
5
|
import type { SupportMeViewModel } from '../../../view-models';
|
|
6
6
|
import type { PaymentRequestDetails } from '../Payment.mixin';
|
|
7
|
-
import {
|
|
8
|
-
isPaymentAmountValid,
|
|
9
|
-
contentPaddingStyle as toContentPaddingStyle,
|
|
10
|
-
} from '../../../utils';
|
|
7
|
+
import { isPaymentAmountValid } from '../../../utils';
|
|
11
8
|
import {
|
|
12
9
|
DEFAULT_CURRENCY_SYMBOL,
|
|
13
10
|
DEFAULT_CURRENCY_CODE,
|
|
@@ -36,10 +33,6 @@ export default defineComponent({
|
|
|
36
33
|
};
|
|
37
34
|
},
|
|
38
35
|
computed: {
|
|
39
|
-
contentPaddingStyle(): { paddingTop: string; paddingBottom: string } {
|
|
40
|
-
return toContentPaddingStyle(this.viewModel);
|
|
41
|
-
},
|
|
42
|
-
|
|
43
36
|
isCustomAmountFieldVisible(): boolean {
|
|
44
37
|
return this.viewModel.supportMeConfig.paymentOptions.some(
|
|
45
38
|
(o) => o.name === SUPPORT_ME_CUSTOM_PRODUCT_NAME,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
<section>
|
|
3
3
|
<div
|
|
4
4
|
v-if="shouldShowContainer"
|
|
5
|
-
class="tw-relative outer-container"
|
|
5
|
+
class="tw-relative outer-container tw-py-4"
|
|
6
6
|
:class="{
|
|
7
7
|
'tw-my-8': context.isBrandSite,
|
|
8
8
|
'tw-mb-4': context.isBrandPageOrIsBrandContact,
|
|
9
9
|
}"
|
|
10
|
-
:style="
|
|
10
|
+
:style="backgroundStyle"
|
|
11
11
|
>
|
|
12
12
|
<div class="tw-p-4 inner-container">
|
|
13
13
|
<div class="tw-flex tw-flex-col tw-gap-2">
|
|
@@ -140,7 +140,6 @@ import brandPageClient from '../../clients/brand-page.client';
|
|
|
140
140
|
import raygunUtil from '@brand-page/utils/raygun.util';
|
|
141
141
|
import { shopTr } from '@src/composables/useTranslate';
|
|
142
142
|
import { useShopConfigStore } from '@shared/ecommerce-settings/store/shop-settings-store';
|
|
143
|
-
import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
|
|
144
143
|
|
|
145
144
|
const props = withDefaults(
|
|
146
145
|
defineProps<{
|
|
@@ -261,10 +260,6 @@ const itemStyle = computed((): BrandPageCssStyle => {
|
|
|
261
260
|
};
|
|
262
261
|
});
|
|
263
262
|
|
|
264
|
-
const contentPaddingStyle = computed(() =>
|
|
265
|
-
toContentPaddingStyle(props.viewModel),
|
|
266
|
-
);
|
|
267
|
-
|
|
268
263
|
const backgroundStyle = computed((): any => {
|
|
269
264
|
return props.viewModel.backgroundStyle;
|
|
270
265
|
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div data-component="social-links">
|
|
3
3
|
<div
|
|
4
|
+
class="tw-pb-8"
|
|
4
5
|
:class="{
|
|
5
6
|
'tw-mb-4': context.isBrandPageOrIsBrandContact,
|
|
6
7
|
}"
|
|
7
|
-
:style="
|
|
8
|
+
:style="containerStyles"
|
|
8
9
|
style="container-type: inline-size"
|
|
9
10
|
>
|
|
10
11
|
<TextWrapper
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
:text="title"
|
|
14
15
|
element="h1"
|
|
15
16
|
:class="textAlignClass"
|
|
16
|
-
class="tw-
|
|
17
|
+
class="tw-py-8"
|
|
17
18
|
/>
|
|
18
19
|
<SocialLinksItems
|
|
19
20
|
:id="id"
|
|
@@ -33,7 +34,6 @@ import TextWrapper from '../text-wrapper/TextWrapper.vue';
|
|
|
33
34
|
import type { SocialLinksViewModel } from 'src/brand-page/view-models';
|
|
34
35
|
import { SOCIAL_LINKS_ICON_DISPLAY_STYLES } from '@brand-page/models';
|
|
35
36
|
import type { BrandPageContext, LinksItem } from '@brand-page/models';
|
|
36
|
-
import { contentPaddingStyle as toContentPaddingStyle } from '@brand-page/utils';
|
|
37
37
|
import { computed } from 'vue';
|
|
38
38
|
|
|
39
39
|
const props = withDefaults(
|
|
@@ -51,10 +51,6 @@ const containerStyles = computed((): BrandPageCssStyle => {
|
|
|
51
51
|
return props.viewModel.backgroundStyles || {};
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
-
const contentPaddingStyle = computed(() =>
|
|
55
|
-
toContentPaddingStyle(props.viewModel),
|
|
56
|
-
);
|
|
57
|
-
|
|
58
54
|
const iconStyle = computed((): BrandPageCssStyle => {
|
|
59
55
|
return props.viewModel.iconFillStyles || {};
|
|
60
56
|
});
|