@designcrowd/library.brand-page 6.2.2 → 6.2.3-ast-faq
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-7P2gNr-R.js → CreatedOnBrandCrowd-de-de-BRisMzFY.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-Dl7BymW6.js → CreatedOnBrandCrowd-en-us-CDDsL9GX.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-CO4FvWVw.js → CreatedOnBrandCrowd-es-es-BkZrEo4j.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-DHNqakQu.js → CreatedOnBrandCrowd-fr-ca-sx_ury7R.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-DHNqakQu.js → CreatedOnBrandCrowd-fr-fr-sx_ury7R.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-CGUC-ZbP.js → CreatedOnBrandCrowd-pt-br-DCWiAfkU.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-CGUC-ZbP.js → CreatedOnBrandCrowd-pt-pt-DCWiAfkU.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-Dvds-Vmy.js → CreatedOnDcom-de-de-C1S7f22L.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-fd3C-8Tp.js → CreatedOnDcom-en-us-DgTlWaXE.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-DTXZW35-.js → CreatedOnDcom-es-es-CxSQJe_V.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-DRCYOKPs.js → CreatedOnDcom-fr-ca-Bbam2tt6.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-DpIB8x2x.js → CreatedOnDcom-fr-fr-Cb0XDRPL.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-Esnxy8wX.js → CreatedOnDcom-pt-br-BjdX3-E3.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-CaiVHFXR.js → CreatedOnDcom-pt-pt-BXpbfopB.js} +1 -1
- package/lib/src/brand-page/constants/misc.constants.d.ts +8 -0
- package/lib/src/brand-page/constants/misc.constants.js +7 -0
- package/lib/src/brand-page/constants/styles.constants.d.ts +2 -0
- package/lib/src/brand-page/constants/styles.constants.js +2 -0
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +0 -2
- package/lib/src/brand-page/models/brand-page-context.model.js +0 -12
- 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 +19 -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/model.util.d.ts +2 -1
- package/lib/src/brand-page/utils/model.util.js +3 -0
- package/lib/src/brand-page/utils/view-model.util.d.ts +2 -0
- package/lib/src/brand-page/utils/view-model.util.js +24 -0
- package/lib/src/brand-page/view-models.d.ts +9 -2
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +0 -1
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.js +0 -9
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +10 -42
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +10 -42
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +0 -14
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +0 -42
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +13 -0
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +64 -30
- 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 -2
- package/lib/src/brand-page-maker/convertors/faq-display-style.convertor.d.ts +3 -0
- package/lib/src/brand-page-maker/convertors/faq-display-style.convertor.js +47 -0
- package/lib/src/brand-page-maker/models/content-settings-configs.d.ts +22 -1
- package/lib/src/brand-page-maker/models/content-settings-configs.js +1 -0
- package/lib/src/brand-page-maker/models/content-settings.d.ts +4 -1
- package/lib/src/brand-page-maker/models/content-settings.js +45 -1
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +0 -42
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +1 -0
- package/lib/src/brand-page-maker/utils/apply-color-strategy.js +47 -17
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +6 -0
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +24 -1
- package/lib/src/brand-page-maker/validators/field.validator.js +2 -0
- package/lib/src/bundled-translations-DY9YvuL-.js +179 -0
- package/lib/src/bundles/bundled-translations.json +20 -2
- package/lib/src/composables/useTranslate.d.ts +1 -1
- package/lib/src/composables/useTranslate.js +1 -1
- package/lib/src/css/library.brand-page-brandCrowd.min.css +143 -36
- package/lib/src/css/library.brand-page-brandPage.min.css +143 -36
- package/lib/src/css/library.brand-page-designCom.min.css +143 -36
- package/lib/src/css/library.brand-page-preview.min.css +143 -36
- package/lib/src/index.mjs +159 -158
- package/lib/src/{lib-V7aqfuiB.js → lib-DwpSAbLZ.js} +26889 -26178
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +1 -1
- package/lib/src/shared/color-strategies/color-strategies.js +4 -0
- package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +12 -0
- package/lib/src/shared/color-strategies/rte-field-pairs.js +10 -0
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +10 -0
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +11 -1
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +10 -0
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +10 -0
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +10 -0
- package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +14 -1
- package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +11 -1
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +0 -42
- package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +12 -0
- package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.js +5 -0
- package/lib/src/shared/content-settings/models.d.ts +6 -0
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +14 -1
- package/lib/src/shared/content-settings/store/content-settings-store.js +24 -2
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +0 -42
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +10 -42
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +10 -42
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +0 -56
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +0 -42
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +0 -42
- package/package.json +2 -2
- package/src/brand-page/components/faq-section/FaqSection.test.ts +292 -0
- package/src/brand-page/components/faq-section/FaqSection.vue +299 -0
- package/src/brand-page/components/page/PageComponent.vue +2 -0
- package/src/brand-page/components/section-heading/SectionHeading.vue +52 -0
- package/src/brand-page/components/text-wrapper/TextWrapper.test.ts +33 -0
- package/src/brand-page/constants/misc.constants.ts +12 -0
- package/src/brand-page/constants/styles.constants.ts +2 -0
- package/src/brand-page/models/brand-page-context.model.ts +0 -23
- package/src/brand-page/models/content.model.ts +1 -0
- package/src/brand-page/models/index.ts +21 -0
- package/src/brand-page/utils/content-callback-util.ts +5 -0
- package/src/brand-page/utils/model.util.ts +7 -0
- package/src/brand-page/utils/view-model.util.test.ts +96 -0
- package/src/brand-page/utils/view-model.util.ts +49 -0
- package/src/brand-page/view-models.ts +12 -1
- package/src/brand-page-maker/components/action-bar/ActionBar.mixin.ts +0 -10
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.test.ts +8 -49
- package/src/brand-page-maker/components/action-bar/ActionBarNavigation.vue +1 -1
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.test.ts +165 -0
- package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +37 -49
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +87 -30
- package/src/brand-page-maker/constants/config-settings-constant.ts +108 -0
- package/src/brand-page-maker/constants/faq-section-config.test.ts +151 -0
- package/src/brand-page-maker/convertors/faq-display-style.convertor.ts +59 -0
- package/src/brand-page-maker/convertors/i18n/converter.json +4 -1
- package/src/brand-page-maker/models/content-settings-configs.ts +24 -0
- package/src/brand-page-maker/models/content-settings.ts +57 -0
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +2 -0
- package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +4063 -895
- package/src/brand-page-maker/utils/apply-color-strategy.test.ts +104 -2
- package/src/brand-page-maker/utils/apply-color-strategy.ts +77 -19
- package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +110 -0
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +66 -0
- package/src/brand-page-maker/validators/field.validator.ts +2 -0
- package/src/bundles/bundled-translations.json +20 -2
- package/src/composables/useTranslate.ts +2 -1
- package/src/metadata-builder/builders/item-id-utils.test.ts +24 -0
- package/src/metadata-builder/parsers/section-tool-arguments.ts +2 -1
- package/src/metadata-builder/parsers/section-tool-map.test.ts +12 -0
- package/src/shared/color-strategies/color-strategies.ts +4 -0
- package/src/shared/color-strategies/rte-field-pairs.ts +23 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +17 -1
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +3 -0
- package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +11 -1
- package/src/shared/content-settings/components/items-field/ItemsField.vue +8 -2
- package/src/shared/content-settings/components/list-items-field/ListItemsField.test.ts +429 -0
- package/src/shared/content-settings/components/list-items-field/ListItemsField.vue +262 -0
- package/src/shared/content-settings/components/textarea-field/TextareaField.mixin.ts +6 -0
- package/src/shared/content-settings/components/textarea-field/TextareaField.vue +1 -0
- package/src/shared/content-settings/models.ts +7 -0
- package/src/shared/content-settings/store/content-settings-store.test.ts +70 -0
- package/src/shared/content-settings/store/content-settings-store.ts +37 -3
- package/src/shared/ecommerce-settings/util/refreshDuplicatedMetadata.test.ts +19 -0
- package/src/shared/page-settings/store/page-settings-store.test.ts +0 -71
- package/src/utils/minify-brand-page-metadata.test.ts +35 -0
- package/lib/src/bundled-translations-BYUfWBT3.js +0 -179
|
@@ -3,6 +3,7 @@ import type {
|
|
|
3
3
|
BrandPageType,
|
|
4
4
|
Content,
|
|
5
5
|
ContentType,
|
|
6
|
+
TextStyleDeclaration,
|
|
6
7
|
} from '@brand-page';
|
|
7
8
|
import type { ContentReplaceImageSettings } from '@shared/content-settings/models';
|
|
8
9
|
import type { UIUserFeatures } from '@src/constants/ui';
|
|
@@ -86,6 +87,7 @@ export const ITEM_FIELD_TYPES = {
|
|
|
86
87
|
'color-replacements': 'color-replacements',
|
|
87
88
|
'testimonial-items': 'testimonial-items',
|
|
88
89
|
'text-items': 'text-items',
|
|
90
|
+
'list-items': 'list-items',
|
|
89
91
|
'page-dropdown': 'page-dropdown',
|
|
90
92
|
'personalisation-override': 'personalisation-override',
|
|
91
93
|
} as const;
|
|
@@ -154,6 +156,28 @@ export interface ContentSettingsField<TContent> {
|
|
|
154
156
|
* Defaults to `${fieldName}Style` when not specified.
|
|
155
157
|
*/
|
|
156
158
|
styleName?: string;
|
|
159
|
+
|
|
160
|
+
/** `list-items` only: the per-item inputs, in order. The first `text` input labels the row. */
|
|
161
|
+
itemFields?: ListItemFieldSchema[];
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface ListItemFieldSchema {
|
|
165
|
+
key: string;
|
|
166
|
+
/** The plain input used when the rich-text editor is unavailable. */
|
|
167
|
+
kind: 'text' | 'textarea';
|
|
168
|
+
title: string;
|
|
169
|
+
placeholder?: string;
|
|
170
|
+
maxLength?: number;
|
|
171
|
+
/**
|
|
172
|
+
* The item field that holds this text's style. Set it to make the text rich text —
|
|
173
|
+
* the same editor as a section title, writing this item's own style — whenever the
|
|
174
|
+
* section allows rich text. Without rich text, a font-style control edits it instead.
|
|
175
|
+
*/
|
|
176
|
+
styleKey?: string;
|
|
177
|
+
/** Style a first item starts with; later items copy the last item's style. */
|
|
178
|
+
defaultStyle?: () => TextStyleDeclaration;
|
|
179
|
+
/** Value a newly added item starts with. */
|
|
180
|
+
defaultValue?: () => string;
|
|
157
181
|
}
|
|
158
182
|
|
|
159
183
|
export interface ContentSettingsMultiField<TContent, TField> extends Omit<
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
SENSITIVE_CONTENT_TYPES,
|
|
27
27
|
CONTACT_FORM_LAYOUT_DEFAULT_PADDING,
|
|
28
28
|
TESTIMONIAL_DEFAULT_PADDING,
|
|
29
|
+
FAQ_DISPLAY_STYLES,
|
|
29
30
|
} from '@brand-page';
|
|
30
31
|
import type {
|
|
31
32
|
ButtonContent,
|
|
@@ -53,6 +54,8 @@ import type {
|
|
|
53
54
|
SupportMeContent,
|
|
54
55
|
ShopContent,
|
|
55
56
|
BookingSectionContent,
|
|
57
|
+
TextStyleDeclaration,
|
|
58
|
+
FaqSectionContent,
|
|
56
59
|
} from '@brand-page';
|
|
57
60
|
import * as uuid from 'uuid';
|
|
58
61
|
import type { CreateInitialContentFunction } from './content-settings-configs';
|
|
@@ -671,6 +674,60 @@ export const createInitialBookingSectionContent: CreateInitialContentFunction<
|
|
|
671
674
|
};
|
|
672
675
|
};
|
|
673
676
|
|
|
677
|
+
// Questions follow the Headings role, answers the Paragraphs role.
|
|
678
|
+
export const createInitialFaqQuestionStyle = (
|
|
679
|
+
applyAutoScale = false,
|
|
680
|
+
): TextStyleDeclaration => ({
|
|
681
|
+
applyAutoScale,
|
|
682
|
+
textStyleType: TEXT_STYLE_TYPES.headings,
|
|
683
|
+
textAlign: 'left',
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
export const createInitialFaqAnswerStyle = (
|
|
687
|
+
applyAutoScale = false,
|
|
688
|
+
): TextStyleDeclaration => ({
|
|
689
|
+
applyAutoScale,
|
|
690
|
+
textStyleType: TEXT_STYLE_TYPES.paragraphs,
|
|
691
|
+
textAlign: 'left',
|
|
692
|
+
});
|
|
693
|
+
|
|
694
|
+
export const createInitialFaqSectionContent: CreateInitialContentFunction<
|
|
695
|
+
FaqSectionContent
|
|
696
|
+
> = (options?: CreateInitialContentOptions) => {
|
|
697
|
+
const applyAutoScale = options?.brandPageType === BRAND_PAGE_TYPES.brandSite;
|
|
698
|
+
|
|
699
|
+
return {
|
|
700
|
+
id: uuid.v4(),
|
|
701
|
+
type: 'faq-section',
|
|
702
|
+
title: contentSettingsTr(`defaultFaqTitle`),
|
|
703
|
+
description: contentSettingsTr(`defaultFaqDescription`),
|
|
704
|
+
displayStyle: FAQ_DISPLAY_STYLES.centered,
|
|
705
|
+
topPadding: 32,
|
|
706
|
+
bottomPadding: 32,
|
|
707
|
+
// One sample item; the design's four are only there to show a longer list.
|
|
708
|
+
items: [
|
|
709
|
+
{
|
|
710
|
+
id: uuid.v4(),
|
|
711
|
+
question: contentSettingsTr(`defaultFaqQuestion`),
|
|
712
|
+
questionStyle: createInitialFaqQuestionStyle(applyAutoScale),
|
|
713
|
+
answer: contentSettingsTr(`defaultFaqAnswer`),
|
|
714
|
+
answerStyle: createInitialFaqAnswerStyle(applyAutoScale),
|
|
715
|
+
},
|
|
716
|
+
],
|
|
717
|
+
titleStyle: {
|
|
718
|
+
applyAutoScale,
|
|
719
|
+
textStyleType: TEXT_STYLE_TYPES.titles,
|
|
720
|
+
textAlign: 'center',
|
|
721
|
+
},
|
|
722
|
+
descriptionStyle: {
|
|
723
|
+
applyAutoScale,
|
|
724
|
+
textStyleType: TEXT_STYLE_TYPES.paragraphs,
|
|
725
|
+
textAlign: 'center',
|
|
726
|
+
},
|
|
727
|
+
backgroundStyle: {},
|
|
728
|
+
};
|
|
729
|
+
};
|
|
730
|
+
|
|
674
731
|
export const createInitialImagesSectionContent: CreateInitialContentFunction<
|
|
675
732
|
ImagesSectionContent
|
|
676
733
|
> = (options?: CreateInitialContentOptions) => {
|
|
@@ -2109,6 +2109,8 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
2109
2109
|
setVideoUrlsWithToken: videoStore.setVideoUrlsWithToken,
|
|
2110
2110
|
isCustomDomain: false,
|
|
2111
2111
|
brandPageSlug: brandPageContainerStore.brandPageSlug,
|
|
2112
|
+
activeItemIdByContentId:
|
|
2113
|
+
useUiContentSettingsStore().activeItemIdByContentId,
|
|
2112
2114
|
},
|
|
2113
2115
|
);
|
|
2114
2116
|
},
|