@designcrowd/library.brand-page 5.12.4 → 5.12.5-ast-booking
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-BXfAb_Ly.js → CreatedOnBrandCrowd-de-de-B5KouJJt.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BvCOvRuk.js → CreatedOnBrandCrowd-en-us-CDBIOkYS.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-eAe6KBvm.js → CreatedOnBrandCrowd-es-es-B2uv6JJc.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DVSPg9Qi.js → CreatedOnBrandCrowd-fr-fr-DwFtmsuM.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-W42s3fa-.js → CreatedOnBrandCrowd-pt-pt-Umqbw3cI.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-B_S0e0e_.js → CreatedOnDcom-de-de-CzZVKMix.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-Bi-x7Vfr.js → CreatedOnDcom-en-us-DewdA5AU.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-BlLjTmrS.js → CreatedOnDcom-es-es-CZve73aI.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-D2UQl6bI.js → CreatedOnDcom-fr-fr-BQlgLAmh.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-D-x98ymB.js → CreatedOnDcom-pt-pt-BkShsjOl.js} +1 -1
- package/lib/src/brand-page/components/icon/Icon.mixin.d.ts +7 -0
- package/lib/src/brand-page/components/icon/Icon.mixin.js +14 -0
- package/lib/src/brand-page/models/content.model.d.ts +1 -0
- package/lib/src/brand-page/models/content.model.js +1 -0
- package/lib/src/brand-page/models/index.d.ts +16 -0
- package/lib/src/brand-page/utils/content-callback-util.d.ts +2 -1
- package/lib/src/brand-page/utils/content-callback-util.js +3 -0
- package/lib/src/brand-page/utils/style.util.js +1 -1
- package/lib/src/brand-page/utils/view-model.util.d.ts +3 -2
- package/lib/src/brand-page/utils/view-model.util.js +14 -0
- package/lib/src/brand-page/view-models.d.ts +6 -2
- package/lib/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.d.ts +4 -4
- package/lib/src/brand-page-maker/assessors/banner-section-field.assessor.d.ts +4 -4
- package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +2 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +18 -18
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +20 -20
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +3 -2
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +29 -2
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +4 -0
- package/lib/src/brand-page-maker/composables/useEventTracker.js +4 -0
- package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +2 -1
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +101 -1
- package/lib/src/brand-page-maker/models/content-settings.d.ts +2 -1
- package/lib/src/brand-page-maker/models/content-settings.js +28 -0
- package/lib/src/brand-page-maker/validators/section-button.validator.d.ts +3 -3
- package/lib/src/{bundled-translations-C4LWPXSH.js → bundled-translations-BZJKPEb9.js} +42 -40
- package/lib/src/{bundled-translations-yNXD14vd.js → bundled-translations-CD8h4dNr.js} +15 -13
- package/lib/src/{bundled-translations.de-DE-JcuQ3w62.js → bundled-translations.de-DE-djs407Ih.js} +5 -3
- package/lib/src/{bundled-translations.es-ES-CxAmhY4A.js → bundled-translations.es-ES-JjQoQaM7.js} +9 -7
- package/lib/src/{bundled-translations.fr-FR-ClTzpDVd.js → bundled-translations.fr-FR-rUuRWfsM.js} +5 -3
- package/lib/src/{bundled-translations.pt-PT-CaCaJJ12.js → bundled-translations.pt-PT-BiSQEFmA.js} +5 -3
- package/lib/src/bundles/bundled-translations.json +8 -1
- package/lib/src/composables/useTranslate.d.ts +2 -1
- package/lib/src/composables/useTranslate.js +2 -1
- package/lib/src/constants/brand-page-maker.js +7 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +44 -39
- package/lib/src/css/library.brand-page-brandPage.min.css +44 -39
- package/lib/src/css/library.brand-page-designCom.min.css +44 -39
- package/lib/src/css/library.brand-page-preview.min.css +44 -39
- package/lib/src/index.mjs +176 -175
- package/lib/src/{lib-CmlX0vVm.js → lib-BTapaSjP.js} +26355 -25856
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +20 -20
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +21 -21
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +20 -20
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +18 -18
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -1
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +18 -18
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +11 -0
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +5 -0
- package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +39 -2
- package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.js +32 -0
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +18 -18
- package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.d.ts +3 -2
- package/lib/src/shared/font-family-selector/FontFamilySelector.mixin.js +17 -10
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +22 -22
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +20 -20
- package/package.json +2 -2
- package/src/brand-page/components/booking-section/BookingSection.vue +240 -0
- package/src/brand-page/components/icon/Icon.mixin.ts +14 -0
- package/src/brand-page/components/icon/Icon.vue +7 -0
- package/src/brand-page/components/icon/icons/AppleMusic.vue +12 -0
- package/src/brand-page/components/icon/icons/Discord.vue +1 -1
- package/src/brand-page/components/icon/icons/Messenger.vue +14 -0
- package/src/brand-page/components/icon/icons/Patreon.vue +12 -0
- package/src/brand-page/components/icon/icons/Reddit.vue +5 -0
- package/src/brand-page/components/icon/icons/Substack.vue +12 -0
- package/src/brand-page/components/icon/icons/Telegram.vue +5 -0
- package/src/brand-page/components/icon/icons/Threads.vue +5 -0
- package/src/brand-page/components/icon/icons/Twitter.vue +1 -1
- package/src/brand-page/components/page/PageComponent.vue +2 -0
- package/src/brand-page/models/content.model.ts +1 -0
- package/src/brand-page/models/index.ts +17 -0
- package/src/brand-page/utils/content-callback-util.ts +7 -0
- package/src/brand-page/utils/style.util.ts +1 -1
- package/src/brand-page/utils/view-model.util.ts +27 -0
- package/src/brand-page/view-models.ts +10 -1
- package/src/brand-page-maker/assessors/banner-section-description-visibility.assessor.ts +7 -4
- package/src/brand-page-maker/assessors/banner-section-field.assessor.ts +7 -4
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +3 -1
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +37 -2
- package/src/brand-page-maker/composables/useEventTracker.ts +4 -0
- package/src/brand-page-maker/constants/config-settings-constant.ts +107 -0
- package/src/brand-page-maker/models/content-settings.ts +32 -0
- package/src/brand-page-maker/validators/section-button.validator.ts +7 -6
- package/src/bundles/bundled-translations.json +8 -1
- package/src/composables/useTranslate.ts +2 -0
- package/src/constants/brand-page-maker.ts +7 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +5 -1
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +1 -1
- package/src/shared/content-settings/components/text-field/TextField.vue +1 -0
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +5 -0
- package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +1 -0
- package/src/shared/content-settings/components/textarea-field/TextareaField.vue +1 -0
- package/src/shared/content-settings/components/url-field/UrlField.mixin.ts +38 -0
- package/src/shared/content-settings/components/url-field/UrlField.vue +12 -0
- package/src/shared/content-settings/components/url-field/i18n/url-field.json +5 -0
- package/src/shared/font-family-selector/FontFamilySelector.mixin.ts +22 -14
- package/src/brand-page/components/logo/test.json +0 -866
- package/src/brand-page/components/logo/test2.json +0 -765
- package/src/brand-page/components/logo/test3.json +0 -749
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ import type { DebounceHandle } from 'lodash.debounce';
|
|
|
5
5
|
declare const _default: import("vue").DefineComponent<{}, {
|
|
6
6
|
items: import("vue").ComputedRef<{
|
|
7
7
|
id: string;
|
|
8
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
8
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
9
9
|
settings: {
|
|
10
10
|
content: {
|
|
11
11
|
id: string;
|
|
12
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
12
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
13
13
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
14
14
|
imageUrlOverride?: string | undefined;
|
|
15
15
|
imageUrlsOverride?: string | undefined;
|
|
@@ -73,7 +73,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
73
73
|
contentErrorCount(): number;
|
|
74
74
|
getContent(state: {
|
|
75
75
|
addContentOptions: {
|
|
76
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
76
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
77
77
|
category: string;
|
|
78
78
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
79
79
|
displayName: string;
|
|
@@ -84,11 +84,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
84
84
|
}[];
|
|
85
85
|
items: {
|
|
86
86
|
id: string;
|
|
87
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
87
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
88
88
|
settings: {
|
|
89
89
|
content: {
|
|
90
90
|
id: string;
|
|
91
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
91
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
92
92
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
93
93
|
imageUrlOverride?: string | undefined;
|
|
94
94
|
imageUrlsOverride?: string | undefined;
|
|
@@ -122,7 +122,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
122
122
|
} & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => Content | undefined;
|
|
123
123
|
getFieldSettings(state: {
|
|
124
124
|
addContentOptions: {
|
|
125
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
125
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
126
126
|
category: string;
|
|
127
127
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
128
128
|
displayName: string;
|
|
@@ -133,11 +133,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
133
133
|
}[];
|
|
134
134
|
items: {
|
|
135
135
|
id: string;
|
|
136
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
136
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
137
137
|
settings: {
|
|
138
138
|
content: {
|
|
139
139
|
id: string;
|
|
140
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
140
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
141
141
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
142
142
|
imageUrlOverride?: string | undefined;
|
|
143
143
|
imageUrlsOverride?: string | undefined;
|
|
@@ -171,7 +171,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
171
171
|
} & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string, fieldName: string) => import("../../../shared/content-settings/models").ContentItemFieldSettings | undefined;
|
|
172
172
|
getItem(state: {
|
|
173
173
|
addContentOptions: {
|
|
174
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
174
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
175
175
|
category: string;
|
|
176
176
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
177
177
|
displayName: string;
|
|
@@ -182,11 +182,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
182
182
|
}[];
|
|
183
183
|
items: {
|
|
184
184
|
id: string;
|
|
185
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
185
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
186
186
|
settings: {
|
|
187
187
|
content: {
|
|
188
188
|
id: string;
|
|
189
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
189
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
190
190
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
191
191
|
imageUrlOverride?: string | undefined;
|
|
192
192
|
imageUrlsOverride?: string | undefined;
|
|
@@ -220,7 +220,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
220
220
|
} & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => ContentItem<any> | undefined;
|
|
221
221
|
getValue(state: {
|
|
222
222
|
addContentOptions: {
|
|
223
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
223
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
224
224
|
category: string;
|
|
225
225
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
226
226
|
displayName: string;
|
|
@@ -231,11 +231,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
231
231
|
}[];
|
|
232
232
|
items: {
|
|
233
233
|
id: string;
|
|
234
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
234
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
235
235
|
settings: {
|
|
236
236
|
content: {
|
|
237
237
|
id: string;
|
|
238
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
238
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
239
239
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
240
240
|
imageUrlOverride?: string | undefined;
|
|
241
241
|
imageUrlsOverride?: string | undefined;
|
|
@@ -269,7 +269,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
269
269
|
} & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string, fieldName: string) => string | Content | undefined;
|
|
270
270
|
getItemState(state: {
|
|
271
271
|
addContentOptions: {
|
|
272
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
272
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
273
273
|
category: string;
|
|
274
274
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
275
275
|
displayName: string;
|
|
@@ -280,11 +280,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
280
280
|
}[];
|
|
281
281
|
items: {
|
|
282
282
|
id: string;
|
|
283
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
283
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
284
284
|
settings: {
|
|
285
285
|
content: {
|
|
286
286
|
id: string;
|
|
287
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
287
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
288
288
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
289
289
|
imageUrlOverride?: string | undefined;
|
|
290
290
|
imageUrlsOverride?: string | undefined;
|
|
@@ -318,7 +318,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
318
318
|
} & import("pinia").PiniaCustomStateProperties<import("../../../shared/content-settings/store").ContentSettingsState>): (id: string) => import("../../../shared/content-settings/models").ContentSettingsItemState;
|
|
319
319
|
getItemGroupState(state: {
|
|
320
320
|
addContentOptions: {
|
|
321
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
321
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
322
322
|
category: string;
|
|
323
323
|
createInitialContent: (options: import("../../../shared/content-settings/models").CreateInitialContentOptions) => Content;
|
|
324
324
|
displayName: string;
|
|
@@ -329,11 +329,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
329
329
|
}[];
|
|
330
330
|
items: {
|
|
331
331
|
id: string;
|
|
332
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
332
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
333
333
|
settings: {
|
|
334
334
|
content: {
|
|
335
335
|
id: string;
|
|
336
|
-
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section";
|
|
336
|
+
type: "website" | "image" | "facebook" | "twitter" | "email" | "phone" | "logo" | "general-link" | "profile" | "video" | "text" | "instagram" | "youtube" | "linkedin" | "pinterest" | "twitch" | "tiktok" | "map" | "image-gallery" | "mailing-list" | "request-payment" | "support-me" | "contact-form" | "banner-section" | "about-section" | "divider-section" | "images-section" | "testimonial-section" | "social-links" | "shapes-section" | "shop-section" | "booking-section";
|
|
337
337
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
338
338
|
imageUrlOverride?: string | undefined;
|
|
339
339
|
imageUrlsOverride?: string | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ModelRef, type ComputedRef, type Ref, type WritableComputedRef } from 'vue';
|
|
2
2
|
import { Editor } from '@tiptap/vue-3';
|
|
3
3
|
import type { StyleTextFontFamilyOption } from '../../../shared/style-settings/models';
|
|
4
|
-
import type { TextStyles } from '../../../brand-page';
|
|
4
|
+
import type { HyperlinkType, TextStyles } from '../../../brand-page';
|
|
5
5
|
import { type TextItem, type TextStyleDeclaration } from '../../../brand-page';
|
|
6
6
|
import type { ButtonGroupOption } from '../../../brand-page-maker/models/button-group.model';
|
|
7
7
|
interface UseRichTextEditorReturn {
|
|
@@ -70,6 +70,7 @@ export declare const useRichTextEditor: (model: ModelRef<any>, props: {
|
|
|
70
70
|
placeholder: string;
|
|
71
71
|
textItemIndex: number;
|
|
72
72
|
item: TextItem;
|
|
73
|
+
contentType: string;
|
|
73
74
|
}, emit: (event: 'focus' | 'blur' | 'update:modelValue', ...args: any[]) => void, fontSettings: {
|
|
74
75
|
selectedTextStyle: string;
|
|
75
76
|
selectedFont: string;
|
|
@@ -77,5 +78,5 @@ export declare const useRichTextEditor: (model: ModelRef<any>, props: {
|
|
|
77
78
|
selectedFontSizePx: number;
|
|
78
79
|
selectedTextColor: string;
|
|
79
80
|
selectedBackgroundColor: string;
|
|
80
|
-
}, fontStyleDropdownRef: Ref<DropdownInstance | undefined, DropdownInstance | undefined>, selectedGlobalTextStyles: WritableComputedRef<TextStyles, string>, onSelectTextStyleType: (option: ButtonGroupOption) => void, updateRichTextEditor: Ref<boolean>, textStyleTypeOptions: ButtonGroupOption[], markedText: Ref<string>, isHyperlinkPopupOpen: Ref<boolean>) => UseRichTextEditorReturn;
|
|
81
|
+
}, fontStyleDropdownRef: Ref<DropdownInstance | undefined, DropdownInstance | undefined>, selectedGlobalTextStyles: WritableComputedRef<TextStyles, string>, onSelectTextStyleType: (option: ButtonGroupOption) => void, updateRichTextEditor: Ref<boolean>, textStyleTypeOptions: ButtonGroupOption[], markedText: Ref<string>, isHyperlinkPopupOpen: Ref<boolean>, selectedLinkTypeValue: Ref<HyperlinkType>) => UseRichTextEditorReturn;
|
|
81
82
|
export {};
|
|
@@ -18,7 +18,7 @@ import { useFont } from './font';
|
|
|
18
18
|
import { useSpacing } from './spacing';
|
|
19
19
|
import Color from 'color';
|
|
20
20
|
import { buildInitialMarks, emToPx, isStyleChanged, pxToEm, sanitiseClientSideRTE, skipStyleDetection, } from '../../../brand-page-maker/utils';
|
|
21
|
-
import {} from '../../../brand-page';
|
|
21
|
+
import { HYPERLINK_TYPE, } from '../../../brand-page';
|
|
22
22
|
import { letterSpacingValueConvertor, colorConvertor, backgroundColorConvertor, } from '../../../brand-page-maker/convertors';
|
|
23
23
|
import { useUiContentSettingsStore } from '../../../shared/content-settings/store';
|
|
24
24
|
import { AllSelection } from 'prosemirror-state';
|
|
@@ -27,6 +27,7 @@ import { AutoLink } from './extensions/AutoLink';
|
|
|
27
27
|
import { useHyperlink } from './hyperlink';
|
|
28
28
|
import { useBubbleMenu } from './bubbleMenu';
|
|
29
29
|
import { hasLogoColorVar, isLogoColor, getRTEColor, } from '../../utils/rich-text-editor.util';
|
|
30
|
+
import { useEventTracker, EVENTS } from '../useEventTracker';
|
|
30
31
|
export const useExternalRichTextEditor = () => {
|
|
31
32
|
const externalEditor = new Editor({
|
|
32
33
|
editable: false,
|
|
@@ -69,7 +70,7 @@ export const useExternalRichTextEditor = () => {
|
|
|
69
70
|
externalEditor,
|
|
70
71
|
};
|
|
71
72
|
};
|
|
72
|
-
export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDropdownRef, selectedGlobalTextStyles, onSelectTextStyleType, updateRichTextEditor, textStyleTypeOptions, markedText, isHyperlinkPopupOpen) => {
|
|
73
|
+
export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDropdownRef, selectedGlobalTextStyles, onSelectTextStyleType, updateRichTextEditor, textStyleTypeOptions, markedText, isHyperlinkPopupOpen, selectedLinkTypeValue) => {
|
|
73
74
|
const editor = new Editor({
|
|
74
75
|
content: model.value ?? '',
|
|
75
76
|
editable: !props.readOnly,
|
|
@@ -206,6 +207,7 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
206
207
|
},
|
|
207
208
|
});
|
|
208
209
|
const contentSettingStore = useUiContentSettingsStore();
|
|
210
|
+
const eventTracker = useEventTracker();
|
|
209
211
|
const { toggleBold, toggleItalic, toggleUnderline, toggleStrike, toggleTextColor, toggleBackgroundColor, toggleBoldAll, toggleItalicAll, toggleUnderlineAll, toggleStrikeAll, toggleTextColorAll, unsetAllMarks, } = createFormattingActions(editor);
|
|
210
212
|
const { currentAlignment, toggleTextAlign, idx: currentAlignmentIndex, keys: alignmentKeys, } = useTextAlign(editor);
|
|
211
213
|
const { selectedFont, toggleFont, toggleFontSize, toggleFontAll, toggleFontSizeAll, } = useFont(editor, fontSettings, fontStyleDropdownRef);
|
|
@@ -505,8 +507,18 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
505
507
|
emit('blur');
|
|
506
508
|
};
|
|
507
509
|
const handleHyperlink = (action, data) => {
|
|
510
|
+
const linkType = selectedLinkTypeValue.value === HYPERLINK_TYPE.page
|
|
511
|
+
? 'internal_link'
|
|
512
|
+
: 'external_link';
|
|
508
513
|
switch (action) {
|
|
509
514
|
case 'toggle':
|
|
515
|
+
eventTracker.sendWebsiteEvent({
|
|
516
|
+
eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_CLICK,
|
|
517
|
+
eventProps: {
|
|
518
|
+
link_type: linkType,
|
|
519
|
+
content_type: props.contentType,
|
|
520
|
+
},
|
|
521
|
+
});
|
|
510
522
|
isHyperlinkPopupOpen.value = !isHyperlinkPopupOpen.value;
|
|
511
523
|
if (isHyperlinkPopupOpen.value) {
|
|
512
524
|
if (data?.href && data?.text) {
|
|
@@ -534,6 +546,14 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
534
546
|
}
|
|
535
547
|
break;
|
|
536
548
|
case 'apply':
|
|
549
|
+
// Track Mixpanel event for hyperlink attachment
|
|
550
|
+
eventTracker.sendWebsiteEvent({
|
|
551
|
+
eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_ADD,
|
|
552
|
+
eventProps: {
|
|
553
|
+
link_type: linkType,
|
|
554
|
+
content_type: props.contentType,
|
|
555
|
+
},
|
|
556
|
+
});
|
|
537
557
|
const url = hyperlinkValue.value.value;
|
|
538
558
|
const text = markedText.value;
|
|
539
559
|
if (!url.trim()) {
|
|
@@ -548,6 +568,13 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
548
568
|
isHyperlinkPopupOpen.value = false;
|
|
549
569
|
break;
|
|
550
570
|
case 'remove':
|
|
571
|
+
eventTracker.sendWebsiteEvent({
|
|
572
|
+
eventName: EVENTS.WEBSITE_MAKER_HYPERLINK_REMOVE,
|
|
573
|
+
eventProps: {
|
|
574
|
+
link_type: linkType,
|
|
575
|
+
content_type: props.contentType,
|
|
576
|
+
},
|
|
577
|
+
});
|
|
551
578
|
removeHyperlinkFromComposable();
|
|
552
579
|
isHyperlinkPopupOpen.value = false;
|
|
553
580
|
break;
|
|
@@ -32,6 +32,10 @@ export declare const EVENTS: {
|
|
|
32
32
|
WEBSITE_MAKER_TEMPLATE_SELECT: string;
|
|
33
33
|
WEBSITE_MAKER_TEMPLATE_CATEGORY_SELECT: string;
|
|
34
34
|
WEBSITE_SIDEBAR_TAB_CLICKED: string;
|
|
35
|
+
WEBSITE_MAKER_HYPERLINK_ADD: string;
|
|
36
|
+
WEBSITE_MAKER_HYPERLINK_REMOVE: string;
|
|
37
|
+
WEBSITE_MAKER_HYPERLINK_CLICK: string;
|
|
38
|
+
WEBSITE_MAKER_HYPERLINK_EDIT: string;
|
|
35
39
|
};
|
|
36
40
|
export declare const SELECT_LOCATIONS: {
|
|
37
41
|
MAKER_PREVIEW: string;
|
|
@@ -15,6 +15,10 @@ export const EVENTS = {
|
|
|
15
15
|
WEBSITE_MAKER_TEMPLATE_SELECT: 'website_maker_template_select',
|
|
16
16
|
WEBSITE_MAKER_TEMPLATE_CATEGORY_SELECT: 'website_maker_template_category_select',
|
|
17
17
|
WEBSITE_SIDEBAR_TAB_CLICKED: 'website_sidebar_tab_clicked',
|
|
18
|
+
WEBSITE_MAKER_HYPERLINK_ADD: 'website_maker_hyperlink_add',
|
|
19
|
+
WEBSITE_MAKER_HYPERLINK_REMOVE: 'website_maker_hyperlink_remove',
|
|
20
|
+
WEBSITE_MAKER_HYPERLINK_CLICK: 'website_maker_hyperlink_click',
|
|
21
|
+
WEBSITE_MAKER_HYPERLINK_EDIT: 'website_maker_hyperlink_edit',
|
|
18
22
|
};
|
|
19
23
|
export const SELECT_LOCATIONS = {
|
|
20
24
|
MAKER_PREVIEW: 'maker_preview',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LogoContent, FacebookContent, GeneralLinkContent, PhoneContent, EmailContent, ImageContent, InstagramContent, LinkedInContent, PinterestContent, ProfileContent, TextContent, TiktokContent, TwitchContent, TwitterContent, VideoContent, WebsiteContent, YoutubeContent, ContentType, MapContent, ImageGalleryContent, MailingListContent, RequestPaymentContent, SupportMeContent, ContactFormContent, BannerSectionContent, SocialLinksContent, ImagesSectionContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, ShopContent } from '../../brand-page';
|
|
1
|
+
import type { LogoContent, FacebookContent, GeneralLinkContent, PhoneContent, EmailContent, ImageContent, InstagramContent, LinkedInContent, PinterestContent, ProfileContent, TextContent, TiktokContent, TwitchContent, TwitterContent, VideoContent, WebsiteContent, YoutubeContent, ContentType, MapContent, ImageGalleryContent, MailingListContent, RequestPaymentContent, SupportMeContent, ContactFormContent, BannerSectionContent, SocialLinksContent, ImagesSectionContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, ShopContent, BookingSectionContent } from '../../brand-page';
|
|
2
2
|
import type { ContentSettingsConfig, ContentSettingsField, ContentSettingsMultiField } from '../models';
|
|
3
3
|
export declare const LOGO_SETTINGS_CONFIG: () => ContentSettingsConfig<Omit<LogoContent, 'version' | 'logoVariation' | 'logoImageHeight' | 'logoImageWidth' | 'logoLastUpdate' | 'logoImageBase64Url'>>;
|
|
4
4
|
export declare const GENERAL_LINK_CONTENT_SETTINGS_CONFIG: () => ContentSettingsConfig<GeneralLinkContent>;
|
|
@@ -47,4 +47,5 @@ export declare const SHAPES_SECTION_SETTINGS_CONFIG: () => ContentSettingsConfig
|
|
|
47
47
|
export declare const SHOP_SECTION_SETTINGS_CONFIG: () => ContentSettingsConfig<ShopContent, {
|
|
48
48
|
paymentConfig: any;
|
|
49
49
|
}>;
|
|
50
|
+
export declare const BOOKING_SECTION_SETTINGS_CONFIG: () => ContentSettingsConfig<BookingSectionContent>;
|
|
50
51
|
export declare const CONTENT_SETTINGS_CONFIGS: () => Record<ContentType, ContentSettingsConfig<any>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SOCIAL_LINKS_ICON_DISPLAY_STYLES, BRAND_PAGE_TYPES, DIVIDER_STYLES, MEDIA_TYPES, BUTTON_LINK_TYPE, FONT_SIZE_BODY, LINE_HEIGHT_BODY, MIN_TEXT_SIZE_PX, MAX_TEXT_SIZE_PX, TEXT_COLUMNS, DEFAULT_SHAPE_SIZE, PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, } from '../../brand-page';
|
|
2
|
-
import { createInitialButtonContent, createInitialImageContent, createInitialProfileContent, createInitialTextContent, createInitialVideoContent, createInitialLogoContent, createInitialMapContent, createInitialImageGalleryContent, createInitialGeneralLinkContent, createInitialMailingListContent, createInitialRequestPaymentContent, createInitialSupportMeContent, createInitialContactFormContent, CONTENT_SETTINGS_DISPLAY_MODES, createInitialBannerSectionContent, createInitialSocialLinksContent, createInitialImagesSectionContent, createInitialTestimonialSectionContent, createInitialAboutSectionContent, createInitialDividerSectionContent, createInitialShapesSectionContent, VARIANT_DISPLAY_MODES, createInitialShopContent, } from '../models';
|
|
2
|
+
import { createInitialButtonContent, createInitialImageContent, createInitialProfileContent, createInitialTextContent, createInitialVideoContent, createInitialLogoContent, createInitialMapContent, createInitialImageGalleryContent, createInitialGeneralLinkContent, createInitialMailingListContent, createInitialRequestPaymentContent, createInitialSupportMeContent, createInitialContactFormContent, CONTENT_SETTINGS_DISPLAY_MODES, createInitialBannerSectionContent, createInitialSocialLinksContent, createInitialImagesSectionContent, createInitialTestimonialSectionContent, createInitialAboutSectionContent, createInitialDividerSectionContent, createInitialShapesSectionContent, VARIANT_DISPLAY_MODES, createInitialShopContent, createInitialBookingSectionContent, } from '../models';
|
|
3
3
|
import { colorConvertor, backgroundColorConvertor, borderColorConvertor, displayStyleConvertor, galleryTypeConvertor, imageAspectRatioConvertor, textAlignmentOptionsConvertor, videoContentStateConvertor, fillColorConvertor, bannerAlignDisplayStyleConvertor, aboutDisplayStyleConvertor, dividerStyleConvertor, shapeSizeOptionsConvertor, buttonLinkStyleConvertor, textSizeValueConvertor, textColumnStyleConvertor, contactLayoutStyleConvertor, paymentLinkDisplayStyleConvertor, shopDisplayConvertor, shopAspectRatioConvertor, } from '../convertors';
|
|
4
4
|
import { ALIGN_CENTERED, DISPLAY_STYLE_COLLAPSED, DISPLAY_STYLE_PREVIEW, } from '../../brand-page';
|
|
5
5
|
import { imageFieldVisibilityAssessor, imageOptionVisibilityAssessor, imageGalleryFieldVisibilityAssessor, cardFillVisibilityAssessor, mediaSectionItemsFieldTypeAssessor, dividerToggleFieldVisibilityAssessor, shapeSectionItemsFieldTypeAssessor, colorReplacementVisibilityTypeAssessor, colorReplacementProfileVisibilityTypeAssessor, colorReplacementIconVisibilityTypeAssessor, imagesSectionCardStyleVisibilityAssessor, contactBackgroundDisplayTypeVisibilityAssessor, contactCardDisplayTypeVisibilityAssessor, imageUrlVisibilityAssessor, displayTypeVisibilityAssessor, logoFieldVisibilityAssessor, shapesSectionCardStyleVisibilityAssessor, shopImageOptionVisibilityAssessor, shopItemColorVisibility, personalisationOverrideVisibility, } from '../assessors';
|
|
@@ -2560,6 +2560,105 @@ export const SHOP_SECTION_SETTINGS_CONFIG = () => ({
|
|
|
2560
2560
|
isLocked: false,
|
|
2561
2561
|
type: 'shop-section',
|
|
2562
2562
|
});
|
|
2563
|
+
export const BOOKING_SECTION_SETTINGS_CONFIG = () => ({
|
|
2564
|
+
type: 'booking-section',
|
|
2565
|
+
category: 'sections',
|
|
2566
|
+
createInitialContent: createInitialBookingSectionContent,
|
|
2567
|
+
displayMode: CONTENT_SETTINGS_DISPLAY_MODES.focused,
|
|
2568
|
+
defaultIconName: 'calendar',
|
|
2569
|
+
displayName: contentSettingsTr(`bookingSectionDisplayName`),
|
|
2570
|
+
fieldGroups: [
|
|
2571
|
+
{
|
|
2572
|
+
id: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2573
|
+
displayName: contentSettingsTr(`settingsDisplayName`),
|
|
2574
|
+
isCollapsed: false,
|
|
2575
|
+
},
|
|
2576
|
+
{
|
|
2577
|
+
id: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
|
|
2578
|
+
displayName: contentSettingsTr(`styleDisplayName`),
|
|
2579
|
+
isCollapsed: true,
|
|
2580
|
+
},
|
|
2581
|
+
],
|
|
2582
|
+
fields: {
|
|
2583
|
+
titleStyle: DEFAULT_TITLE_STYLE_SETTINGS_FILED_WITH_TITLE(),
|
|
2584
|
+
descriptionStyle: DEFAULT_DESCRIPTION_STYLE_FILED(),
|
|
2585
|
+
buttonTextStyle: DEFAULT_BUTTON_TEXT_STYLE_FIELD(),
|
|
2586
|
+
title: {
|
|
2587
|
+
type: 'text',
|
|
2588
|
+
placeholder: contentSettingsTr(`titlePlaceholder`),
|
|
2589
|
+
title: contentSettingsTr(`titleTitle`),
|
|
2590
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2591
|
+
maxLength: 200,
|
|
2592
|
+
},
|
|
2593
|
+
titleOverride: {
|
|
2594
|
+
type: 'personalisation-override',
|
|
2595
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2596
|
+
visibilityAssessor: (c, b) => personalisationOverrideVisibility(c, b, 'title'),
|
|
2597
|
+
},
|
|
2598
|
+
description: {
|
|
2599
|
+
type: 'textarea',
|
|
2600
|
+
placeholder: contentSettingsTr(`descriptionPlaceholder`),
|
|
2601
|
+
title: contentSettingsTr(`descriptionTitle`),
|
|
2602
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2603
|
+
maxLength: 1000,
|
|
2604
|
+
},
|
|
2605
|
+
descriptionOverride: {
|
|
2606
|
+
type: 'personalisation-override',
|
|
2607
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2608
|
+
visibilityAssessor: (c, b) => personalisationOverrideVisibility(c, b, 'description'),
|
|
2609
|
+
},
|
|
2610
|
+
buttonText: {
|
|
2611
|
+
type: 'text',
|
|
2612
|
+
placeholder: contentSettingsTr(`getStartedPlaceholder`),
|
|
2613
|
+
title: contentSettingsTr(`buttonTitle`),
|
|
2614
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2615
|
+
maxLength: 60,
|
|
2616
|
+
},
|
|
2617
|
+
buttonTextOverride: {
|
|
2618
|
+
type: 'personalisation-override',
|
|
2619
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2620
|
+
visibilityAssessor: (c, b) => personalisationOverrideVisibility(c, b, 'buttonText'),
|
|
2621
|
+
},
|
|
2622
|
+
backgroundStyle: {
|
|
2623
|
+
type: 'color',
|
|
2624
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.style,
|
|
2625
|
+
defaultValue: {},
|
|
2626
|
+
isInline: true,
|
|
2627
|
+
showToggle: false,
|
|
2628
|
+
title: contentSettingsTr(`backgroundColorTitle`),
|
|
2629
|
+
valueConvertor: backgroundColorConvertor,
|
|
2630
|
+
},
|
|
2631
|
+
buttonLinkType: {
|
|
2632
|
+
type: 'radio',
|
|
2633
|
+
role: 'multi',
|
|
2634
|
+
defaultValue: BUTTON_LINK_TYPE.url,
|
|
2635
|
+
title: contentSettingsTr(`buttonLinkTitle`),
|
|
2636
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2637
|
+
optionsConvertor: buttonLinkStyleConvertor,
|
|
2638
|
+
visibilityAssessor: bannerLinkTypeVisibilityAssessor,
|
|
2639
|
+
},
|
|
2640
|
+
pageSlug: {
|
|
2641
|
+
type: 'page-dropdown',
|
|
2642
|
+
placeholder: contentSettingsTr(`selectAPagePlaceholder`),
|
|
2643
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2644
|
+
visibilityAssessor: bannerSectionPageVisibilityAssessor,
|
|
2645
|
+
validator: pageValidator,
|
|
2646
|
+
defaultValue: '',
|
|
2647
|
+
},
|
|
2648
|
+
url: {
|
|
2649
|
+
type: 'url',
|
|
2650
|
+
groupId: SETTINGS_STYLE_FIELD_GROUP_IDS.settings,
|
|
2651
|
+
fieldTypeAssessor: bannerSectionFieldTypeAssessor,
|
|
2652
|
+
roleAssessor: bannerSectionRoleTypeAssessor,
|
|
2653
|
+
placeholderAssessor: bannerPlaceholderFieldTypeAssessor,
|
|
2654
|
+
visibilityAssessor: bannerSectionUrlVisibilityAssessor,
|
|
2655
|
+
validator: urlValidator,
|
|
2656
|
+
defaultValue: '',
|
|
2657
|
+
},
|
|
2658
|
+
},
|
|
2659
|
+
isEnabled: true,
|
|
2660
|
+
isLocked: false,
|
|
2661
|
+
});
|
|
2563
2662
|
export const CONTENT_SETTINGS_CONFIGS = () => ({
|
|
2564
2663
|
logo: LOGO_SETTINGS_CONFIG(),
|
|
2565
2664
|
'general-link': GENERAL_LINK_CONTENT_SETTINGS_CONFIG(),
|
|
@@ -2592,4 +2691,5 @@ export const CONTENT_SETTINGS_CONFIGS = () => ({
|
|
|
2592
2691
|
'divider-section': DIVIDER_SECTION_SETTINGS_CONFIG(),
|
|
2593
2692
|
'shapes-section': SHAPES_SECTION_SETTINGS_CONFIG(),
|
|
2594
2693
|
'shop-section': SHOP_SECTION_SETTINGS_CONFIG(),
|
|
2694
|
+
'booking-section': BOOKING_SECTION_SETTINGS_CONFIG(),
|
|
2595
2695
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BrandPageModel } from '../../brand-page';
|
|
2
|
-
import type { ButtonContent, ContentType, ImageContent, ProfileContent, TextContent, VideoContent, LogoContent, LogoTheme, MapContent, ImageGalleryContent, GeneralLinkContent, MailingListContent, RequestPaymentContent, ContactFormContent, BannerSectionContent, SocialLinksContent, ImagesSectionContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, BrandPageType, SupportMeContent, ShopContent } from '../../brand-page';
|
|
2
|
+
import type { ButtonContent, ContentType, ImageContent, ProfileContent, TextContent, VideoContent, LogoContent, LogoTheme, MapContent, ImageGalleryContent, GeneralLinkContent, MailingListContent, RequestPaymentContent, ContactFormContent, BannerSectionContent, SocialLinksContent, ImagesSectionContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, BrandPageType, SupportMeContent, ShopContent, BookingSectionContent } from '../../brand-page';
|
|
3
3
|
import type { CreateInitialContentFunction } from './content-settings-configs';
|
|
4
4
|
import type { CreateInitialContentOptions } from '../../shared/content-settings/models';
|
|
5
5
|
export declare const createInitialButtonContent: (type: ContentType, iconUrl: string, options?: CreateInitialContentOptions) => () => ButtonContent;
|
|
@@ -17,6 +17,7 @@ export declare const createInitialShopContent: (options?: CreateInitialContentOp
|
|
|
17
17
|
export declare const createInitialSupportMeContent: (options?: CreateInitialContentOptions) => SupportMeContent;
|
|
18
18
|
export declare const createInitialContactFormContent: CreateInitialContentFunction<ContactFormContent>;
|
|
19
19
|
export declare const createInitialBannerSectionContent: CreateInitialContentFunction<BannerSectionContent>;
|
|
20
|
+
export declare const createInitialBookingSectionContent: CreateInitialContentFunction<BookingSectionContent>;
|
|
20
21
|
export declare const createInitialImagesSectionContent: CreateInitialContentFunction<ImagesSectionContent>;
|
|
21
22
|
export declare const createInitialTestimonialSectionContent: CreateInitialContentFunction<TestimonialSectionContent>;
|
|
22
23
|
export declare const createInitialAboutSectionContent: CreateInitialContentFunction<AboutSectionContent>;
|
|
@@ -418,6 +418,34 @@ export const createInitialBannerSectionContent = (options) => {
|
|
|
418
418
|
overlayOpacity: 50,
|
|
419
419
|
};
|
|
420
420
|
};
|
|
421
|
+
export const createInitialBookingSectionContent = (options) => {
|
|
422
|
+
return {
|
|
423
|
+
id: uuid.v4(),
|
|
424
|
+
title: contentSettingsTr(`defaultBookingTitle`),
|
|
425
|
+
description: contentSettingsTr(`defaultBookingDescription`),
|
|
426
|
+
buttonText: contentSettingsTr(`bookNowLabel`),
|
|
427
|
+
url: '',
|
|
428
|
+
type: 'booking-section',
|
|
429
|
+
descriptionStyle: {
|
|
430
|
+
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
431
|
+
textStyleType: TEXT_STYLE_TYPES.paragraphs,
|
|
432
|
+
textAlign: 'center',
|
|
433
|
+
},
|
|
434
|
+
titleStyle: {
|
|
435
|
+
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
436
|
+
textStyleType: TEXT_STYLE_TYPES.titles,
|
|
437
|
+
textAlign: 'center',
|
|
438
|
+
},
|
|
439
|
+
backgroundStyle: {},
|
|
440
|
+
pageSlug: '',
|
|
441
|
+
buttonLinkType: BUTTON_LINK_TYPE.url,
|
|
442
|
+
buttonTextStyle: {
|
|
443
|
+
applyAutoScale: options?.brandPageType === BRAND_PAGE_TYPES.brandSite,
|
|
444
|
+
textStyleType: TEXT_STYLE_TYPES.buttons,
|
|
445
|
+
textAlign: 'center',
|
|
446
|
+
},
|
|
447
|
+
};
|
|
448
|
+
};
|
|
421
449
|
export const createInitialImagesSectionContent = (options) => {
|
|
422
450
|
return {
|
|
423
451
|
id: uuid.v4(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type BannerSectionContent } from '../../brand-page/models';
|
|
1
|
+
import { type BannerSectionContent, type BookingSectionContent } from '../../brand-page/models';
|
|
2
2
|
import type { ContentValidator } from '../models';
|
|
3
3
|
export declare const textValidator: ContentValidator<BannerSectionContent>;
|
|
4
|
-
export declare const urlValidator: ContentValidator<BannerSectionContent>;
|
|
5
|
-
export declare const pageValidator: ContentValidator<BannerSectionContent>;
|
|
4
|
+
export declare const urlValidator: ContentValidator<BannerSectionContent | BookingSectionContent>;
|
|
5
|
+
export declare const pageValidator: ContentValidator<BannerSectionContent | BookingSectionContent>;
|