@designcrowd/library.brand-page 5.17.6 → 5.17.7
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-BI2KuOEF.js → CreatedOnBrandCrowd-de-de-BUQFMhZb.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-BYLJCjLJ.js → CreatedOnBrandCrowd-en-us-QS-5r4XI.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-Y_D6cuGE.js → CreatedOnBrandCrowd-es-es-CP2iH-n0.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-CqCBRjYh.js → CreatedOnBrandCrowd-fr-ca-qfD4NmQZ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-CqCBRjYh.js → CreatedOnBrandCrowd-fr-fr-qfD4NmQZ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-Bt0YF6DA.js → CreatedOnBrandCrowd-pt-br-CfmaB7zE.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-Bt0YF6DA.js → CreatedOnBrandCrowd-pt-pt-CfmaB7zE.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-CEk8FBEG.js → CreatedOnDcom-de-de-BxSUWfGN.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-DWw4Tm2L.js → CreatedOnDcom-en-us-CSeUdR6v.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-DpG-8o98.js → CreatedOnDcom-es-es-g7rCfAtP.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-CEla7RmR.js → CreatedOnDcom-fr-ca-Bh_BTb-O.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-DRXeVTlV.js → CreatedOnDcom-fr-fr-Clgd_Ujm.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-Bzu_phZc.js → CreatedOnDcom-pt-br-Dlgk0myX.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-DWax8Er7.js → CreatedOnDcom-pt-pt-B14APfrn.js} +1 -1
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -1
- package/lib/src/brand-page/models/brand-page-context.model.js +5 -0
- package/lib/src/brand-page/models/index.d.ts +1 -0
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +62 -2
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +1 -0
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +30 -1
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +60 -2
- package/lib/src/brand-page-maker/composables/ai-chat/useAiChat.js +3 -1
- package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -1
- package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +6 -6
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.d.ts +2 -0
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +258 -0
- package/lib/src/brand-page-maker/constants/sidebar-constant.d.ts +1 -0
- package/lib/src/brand-page-maker/constants/sidebar-constant.js +8 -0
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +16 -0
- package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +14 -0
- package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +62 -3
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +2 -0
- package/lib/src/brand-page-maker/stores/index.d.ts +1 -0
- package/lib/src/brand-page-maker/stores/index.js +1 -0
- package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.d.ts +2 -0
- package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.js +9 -0
- package/lib/src/clients/ai-assistant-client.d.ts +8 -0
- package/lib/src/clients/ai-assistant-client.js +11 -1
- package/lib/src/composables/useSnapshot.js +33 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +19 -6
- package/lib/src/css/library.brand-page-brandPage.min.css +19 -6
- package/lib/src/css/library.brand-page-designCom.min.css +19 -6
- package/lib/src/css/library.brand-page-preview.min.css +19 -6
- package/lib/src/index.d.ts +1 -0
- package/lib/src/index.mjs +42 -41
- package/lib/src/{lib-DODSa6QK.js → lib-pOkCQP0J.js} +28820 -26841
- package/lib/src/lib.js +1 -0
- package/lib/src/metadata-builder/ai-metadata-executor.d.ts +1 -1
- package/lib/src/metadata-builder/ai-metadata-executor.js +68 -7
- package/lib/src/metadata-builder/builders/add-page-builder.d.ts +14 -0
- package/lib/src/metadata-builder/builders/add-page-builder.js +66 -0
- package/lib/src/metadata-builder/builders/remove-page-builder.d.ts +13 -0
- package/lib/src/metadata-builder/builders/remove-page-builder.js +50 -0
- package/lib/src/metadata-builder/builders/section-builders/about-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +17 -0
- package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +25 -0
- package/lib/src/metadata-builder/builders/section-builders/base-section-builder.d.ts +40 -0
- package/lib/src/metadata-builder/builders/section-builders/base-section-builder.js +108 -0
- package/lib/src/metadata-builder/builders/section-builders/button-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/button-section-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +27 -0
- package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.d.ts +13 -0
- package/lib/src/metadata-builder/builders/section-builders/delete-section-builder.js +37 -0
- package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/divider-section-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +76 -0
- package/lib/src/metadata-builder/builders/section-builders/image-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/image-section-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +158 -0
- package/lib/src/metadata-builder/builders/section-builders/index.d.ts +17 -0
- package/lib/src/metadata-builder/builders/section-builders/index.js +17 -0
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +17 -0
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/move-section-builder.d.ts +15 -0
- package/lib/src/metadata-builder/builders/section-builders/move-section-builder.js +62 -0
- package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +16 -0
- package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +162 -0
- package/lib/src/metadata-builder/builders/section-builders/social-links-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +50 -0
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +133 -0
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.d.ts +6 -0
- package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +154 -0
- package/lib/src/metadata-builder/builders/section-content-factory.d.ts +3 -0
- package/lib/src/metadata-builder/builders/section-content-factory.js +13 -0
- package/lib/src/metadata-builder/builders/section-field-maps.d.ts +12 -0
- package/lib/src/metadata-builder/builders/section-field-maps.js +180 -0
- package/lib/src/metadata-builder/builders/section-field-utils.d.ts +11 -0
- package/lib/src/metadata-builder/builders/section-field-utils.js +109 -0
- package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +6 -0
- package/lib/src/metadata-builder/helpers/rte.helpers.js +16 -1
- package/lib/src/metadata-builder/metadata-executor.js +71 -1
- package/lib/src/metadata-builder/models.d.ts +54 -0
- package/lib/src/metadata-builder/models.js +58 -0
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +51 -3
- package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +110 -13
- package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +285 -0
- package/lib/src/metadata-builder/parsers/section-tool-arguments.js +7 -0
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +60 -2
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +60 -2
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +60 -2
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +60 -2
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +90 -3
- package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +61 -2
- package/lib/src/shared/side-bar/components/SideBar.mixin.js +6 -0
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +60 -2
- package/lib/src/utils/minify-brand-page-metadata.d.ts +22 -0
- package/lib/src/utils/minify-brand-page-metadata.js +344 -0
- package/package.json +1 -1
- package/src/brand-page/models/brand-page-context.model.ts +12 -3
- package/src/brand-page/models/index.ts +1 -0
- package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +80 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +4 -0
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +9 -2
- package/src/brand-page-maker/composables/ai-chat/useAiChat.ts +4 -1
- package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +6 -6
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +363 -0
- package/src/brand-page-maker/constants/sidebar-constant.ts +8 -0
- package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +19 -0
- package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +3 -1
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +4 -0
- package/src/brand-page-maker/stores/index.ts +1 -0
- package/src/brand-page-maker/stores/snapshot/snapshot-store.ts +12 -0
- package/src/clients/ai-assistant-client.ts +17 -1
- package/src/composables/useSnapshot.ts +47 -0
- package/src/lib.ts +4 -0
- package/src/metadata-builder/ai-metadata-executor.ts +116 -26
- package/src/metadata-builder/builders/add-page-builder.ts +98 -0
- package/src/metadata-builder/builders/remove-page-builder.ts +83 -0
- package/src/metadata-builder/builders/section-builders/about-section-builder.ts +28 -0
- package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +45 -0
- package/src/metadata-builder/builders/section-builders/base-section-builder.ts +160 -0
- package/src/metadata-builder/builders/section-builders/button-section-builder.ts +24 -0
- package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +43 -0
- package/src/metadata-builder/builders/section-builders/delete-section-builder.ts +63 -0
- package/src/metadata-builder/builders/section-builders/divider-section-builder.ts +27 -0
- package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +111 -0
- package/src/metadata-builder/builders/section-builders/image-section-builder.ts +24 -0
- package/src/metadata-builder/builders/section-builders/images-section-builder.ts +223 -0
- package/src/metadata-builder/builders/section-builders/index.ts +21 -0
- package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +29 -0
- package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +27 -0
- package/src/metadata-builder/builders/section-builders/move-section-builder.ts +100 -0
- package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +27 -0
- package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +231 -0
- package/src/metadata-builder/builders/section-builders/social-links-builder.ts +79 -0
- package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +194 -0
- package/src/metadata-builder/builders/section-builders/text-section-builder.ts +234 -0
- package/src/metadata-builder/builders/section-content-factory.ts +20 -0
- package/src/metadata-builder/builders/section-field-maps.ts +235 -0
- package/src/metadata-builder/builders/section-field-utils.ts +157 -0
- package/src/metadata-builder/helpers/rte.helpers.ts +23 -1
- package/src/metadata-builder/metadata-executor.ts +96 -4
- package/src/metadata-builder/models.ts +62 -0
- package/src/metadata-builder/parsers/ai-toolcall-parser.ts +141 -17
- package/src/metadata-builder/parsers/section-tool-arguments.ts +417 -0
- package/src/shared/side-bar/components/SideBar.mixin.ts +10 -0
- package/src/utils/minify-brand-page-metadata.ts +407 -0
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed interfaces for website builder section tool arguments.
|
|
3
|
+
*
|
|
4
|
+
* Canonical reference: service.ai-pipelines/src/agents/website/section_schemas.py
|
|
5
|
+
* Every field defined there has a corresponding TS field here.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { ContentType } from '../../brand-page/models';
|
|
9
|
+
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Section type — the subset of ContentType the AI builder supports
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
/** Content types not supported by the AI builder. */
|
|
15
|
+
type UnsupportedContentType =
|
|
16
|
+
| 'logo'
|
|
17
|
+
| 'video'
|
|
18
|
+
| 'map'
|
|
19
|
+
| 'request-payment'
|
|
20
|
+
| 'support-me'
|
|
21
|
+
| 'shop-section'
|
|
22
|
+
| 'booking-section';
|
|
23
|
+
|
|
24
|
+
export type SectionType = Exclude<ContentType, UnsupportedContentType>;
|
|
25
|
+
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Shared style type (matches TEXT_STYLE_SCHEMA in section_schemas.py)
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
|
|
30
|
+
export interface TextStyleArguments {
|
|
31
|
+
fontSize?: string | null;
|
|
32
|
+
color?: string | null;
|
|
33
|
+
fontWeight?: string | null;
|
|
34
|
+
fontStyle?: string | null;
|
|
35
|
+
textAlign?: string | null;
|
|
36
|
+
textDecoration?: string | null;
|
|
37
|
+
backgroundColor?: string | null;
|
|
38
|
+
letterSpacing?: number | null;
|
|
39
|
+
lineHeight?: number | null;
|
|
40
|
+
fontFamily?: string | null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface BackgroundStyleArguments {
|
|
44
|
+
backgroundColor?: string | null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface CardStyleArguments {
|
|
48
|
+
backgroundColor?: string | null;
|
|
49
|
+
borderRadius?: string | null;
|
|
50
|
+
borderColor?: string | null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
// Per-section argument interfaces
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
|
|
57
|
+
export interface ProfileSectionArguments {
|
|
58
|
+
name?: string;
|
|
59
|
+
title?: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
avatar_image_url?: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface TextSectionItem {
|
|
65
|
+
/** 0-based index of existing item to update in-place */
|
|
66
|
+
item_index?: number;
|
|
67
|
+
/** 0-based position to insert a new item at */
|
|
68
|
+
insert_at?: number;
|
|
69
|
+
text?: string;
|
|
70
|
+
text_style?: TextStyleArguments;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface TextSectionArguments {
|
|
74
|
+
/** Single text field (BrandPage/BrandContact or shorthand for first item) */
|
|
75
|
+
text?: string;
|
|
76
|
+
text_style?: TextStyleArguments;
|
|
77
|
+
/** Multiple text items (BrandSite) */
|
|
78
|
+
items?: TextSectionItem[];
|
|
79
|
+
_replace_items?: boolean;
|
|
80
|
+
/** 0-based indices of items to remove */
|
|
81
|
+
_remove_item_indices?: number[];
|
|
82
|
+
/** New order as array of current 0-based indices */
|
|
83
|
+
_reorder_items?: number[];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export interface ImageSectionArguments {
|
|
87
|
+
image_url?: string;
|
|
88
|
+
image_title?: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export interface ImageGalleryItem {
|
|
92
|
+
/** 0-based index of existing item to update in-place */
|
|
93
|
+
item_index?: number;
|
|
94
|
+
/** 0-based position to insert a new item at */
|
|
95
|
+
insert_at?: number;
|
|
96
|
+
image_url?: string;
|
|
97
|
+
caption?: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export interface ImageGallerySectionArguments {
|
|
101
|
+
images?: ImageGalleryItem[];
|
|
102
|
+
gallery_type?: 'grid' | 'carousel' | 'masonry';
|
|
103
|
+
_replace_items?: boolean;
|
|
104
|
+
/** 0-based indices of items to remove */
|
|
105
|
+
_remove_item_indices?: number[];
|
|
106
|
+
/** New order as array of current 0-based indices */
|
|
107
|
+
_reorder_items?: number[];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface GeneralLinkSectionArguments {
|
|
111
|
+
title?: string;
|
|
112
|
+
url?: string;
|
|
113
|
+
icon_image_url?: string;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface WebsiteSectionArguments {
|
|
117
|
+
title?: string;
|
|
118
|
+
url?: string;
|
|
119
|
+
icon_image_url?: string;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface EmailSectionArguments {
|
|
123
|
+
title?: string;
|
|
124
|
+
email?: string;
|
|
125
|
+
icon_image_url?: string;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface PhoneSectionArguments {
|
|
129
|
+
title?: string;
|
|
130
|
+
phone_number?: string;
|
|
131
|
+
icon_image_url?: string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface FacebookSectionArguments {
|
|
135
|
+
title?: string;
|
|
136
|
+
url?: string;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface XSectionArguments {
|
|
140
|
+
title?: string;
|
|
141
|
+
url?: string;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface InstagramSectionArguments {
|
|
145
|
+
title?: string;
|
|
146
|
+
url?: string;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface YoutubeSectionArguments {
|
|
150
|
+
title?: string;
|
|
151
|
+
url?: string;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export interface LinkedinSectionArguments {
|
|
155
|
+
title?: string;
|
|
156
|
+
url?: string;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export interface PinterestSectionArguments {
|
|
160
|
+
title?: string;
|
|
161
|
+
url?: string;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface TwitchSectionArguments {
|
|
165
|
+
title?: string;
|
|
166
|
+
url?: string;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface TiktokSectionArguments {
|
|
170
|
+
title?: string;
|
|
171
|
+
url?: string;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface SocialLink {
|
|
175
|
+
/** 0-based index of existing item to update in-place */
|
|
176
|
+
item_index?: number;
|
|
177
|
+
/** 0-based position to insert a new item at */
|
|
178
|
+
insert_at?: number;
|
|
179
|
+
platform?:
|
|
180
|
+
| 'facebook'
|
|
181
|
+
| 'x'
|
|
182
|
+
| 'instagram'
|
|
183
|
+
| 'youtube'
|
|
184
|
+
| 'linkedin'
|
|
185
|
+
| 'pinterest'
|
|
186
|
+
| 'twitch'
|
|
187
|
+
| 'tiktok';
|
|
188
|
+
url?: string;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export interface SocialLinksSectionArguments {
|
|
192
|
+
links?: SocialLink[];
|
|
193
|
+
icon_style?: 'none' | 'square' | 'circle';
|
|
194
|
+
_replace_items?: boolean;
|
|
195
|
+
/** 0-based indices of items to remove */
|
|
196
|
+
_remove_item_indices?: number[];
|
|
197
|
+
/** New order as array of current 0-based indices */
|
|
198
|
+
_reorder_items?: number[];
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface MailingListSectionArguments {
|
|
202
|
+
title?: string;
|
|
203
|
+
button_text?: string;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export interface ContactFormFieldToggle {
|
|
207
|
+
/** Field ID matching FORM_FIELD_IDS (e.g., 'firstName', 'lastName', 'phoneNumber', 'message') */
|
|
208
|
+
field_id: string;
|
|
209
|
+
/** Whether the field is shown on the form */
|
|
210
|
+
enabled: boolean;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface ContactFormSectionArguments {
|
|
214
|
+
title?: string;
|
|
215
|
+
description?: string;
|
|
216
|
+
button_text?: string;
|
|
217
|
+
success_message?: string;
|
|
218
|
+
response_email?: string;
|
|
219
|
+
header_image_url?: string;
|
|
220
|
+
display_style?: 'preview' | 'collapsed';
|
|
221
|
+
layout_style?:
|
|
222
|
+
| 'center-card-aligned'
|
|
223
|
+
| 'centered'
|
|
224
|
+
| 'text-only'
|
|
225
|
+
| 'center-card-aligned-image'
|
|
226
|
+
| 'left-aligned-full-image'
|
|
227
|
+
| 'right-aligned-full-image';
|
|
228
|
+
title_style?: TextStyleArguments;
|
|
229
|
+
description_style?: TextStyleArguments;
|
|
230
|
+
button_text_style?: TextStyleArguments;
|
|
231
|
+
/** Toggle visibility of form fields */
|
|
232
|
+
fields?: ContactFormFieldToggle[];
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export interface BannerSectionArguments {
|
|
236
|
+
title?: string;
|
|
237
|
+
description?: string;
|
|
238
|
+
button_text?: string;
|
|
239
|
+
button_url?: string;
|
|
240
|
+
background_image_url?: string;
|
|
241
|
+
display_style?:
|
|
242
|
+
| 'left-aligned'
|
|
243
|
+
| 'right-aligned'
|
|
244
|
+
| 'centered'
|
|
245
|
+
| 'big-image'
|
|
246
|
+
| 'left-aligned-big-image'
|
|
247
|
+
| 'right-aligned-full-image'
|
|
248
|
+
| 'left-aligned-full-image'
|
|
249
|
+
| 'center-card-aligned-image'
|
|
250
|
+
| 'left-card-aligned-image';
|
|
251
|
+
title_style?: TextStyleArguments;
|
|
252
|
+
description_style?: TextStyleArguments;
|
|
253
|
+
button_text_style?: TextStyleArguments;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface AboutSectionArguments {
|
|
257
|
+
title?: string;
|
|
258
|
+
paragraph?: string;
|
|
259
|
+
about_image_url?: string;
|
|
260
|
+
display_style?:
|
|
261
|
+
| 'left-aligned'
|
|
262
|
+
| 'right-aligned'
|
|
263
|
+
| 'centered'
|
|
264
|
+
| 'text-only'
|
|
265
|
+
| 'left-aligned-full-image'
|
|
266
|
+
| 'right-aligned-full-image';
|
|
267
|
+
title_style?: TextStyleArguments;
|
|
268
|
+
paragraph_style?: TextStyleArguments;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export interface ImagesSectionItem {
|
|
272
|
+
/** 0-based index of existing item to update in-place */
|
|
273
|
+
item_index?: number;
|
|
274
|
+
/** 0-based position to insert a new item at */
|
|
275
|
+
insert_at?: number;
|
|
276
|
+
image_url?: string;
|
|
277
|
+
heading?: string;
|
|
278
|
+
text?: string;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export interface ImagesSectionArguments {
|
|
282
|
+
title?: string;
|
|
283
|
+
description?: string;
|
|
284
|
+
items?: ImagesSectionItem[];
|
|
285
|
+
display_style?:
|
|
286
|
+
| 'left-aligned'
|
|
287
|
+
| 'right-aligned'
|
|
288
|
+
| 'centered'
|
|
289
|
+
| 'media-only'
|
|
290
|
+
| 'center-card-aligned-image'
|
|
291
|
+
| 'alternate-image';
|
|
292
|
+
_replace_items?: boolean;
|
|
293
|
+
/** 0-based indices of items to remove */
|
|
294
|
+
_remove_item_indices?: number[];
|
|
295
|
+
/** New order as array of current 0-based indices */
|
|
296
|
+
_reorder_items?: number[];
|
|
297
|
+
title_style?: TextStyleArguments;
|
|
298
|
+
description_style?: TextStyleArguments;
|
|
299
|
+
heading_style?: TextStyleArguments;
|
|
300
|
+
paragraph_style?: TextStyleArguments;
|
|
301
|
+
aspect_ratio?: string;
|
|
302
|
+
are_images_full_width?: boolean;
|
|
303
|
+
background_style?: BackgroundStyleArguments;
|
|
304
|
+
card_style?: CardStyleArguments;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface TestimonialItem {
|
|
308
|
+
/** 0-based index of existing item to update in-place */
|
|
309
|
+
item_index?: number;
|
|
310
|
+
/** 0-based position to insert a new item at */
|
|
311
|
+
insert_at?: number;
|
|
312
|
+
testimonial?: string;
|
|
313
|
+
name?: string;
|
|
314
|
+
position?: string;
|
|
315
|
+
avatar_image_url?: string;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface TestimonialSectionArguments {
|
|
319
|
+
title?: string;
|
|
320
|
+
items?: TestimonialItem[];
|
|
321
|
+
display_style?: 'centered' | 'big-image' | 'columns';
|
|
322
|
+
_replace_items?: boolean;
|
|
323
|
+
/** 0-based indices of items to remove */
|
|
324
|
+
_remove_item_indices?: number[];
|
|
325
|
+
/** New order as array of current 0-based indices */
|
|
326
|
+
_reorder_items?: number[];
|
|
327
|
+
title_style?: TextStyleArguments;
|
|
328
|
+
testimonial_style?: TextStyleArguments;
|
|
329
|
+
name_style?: TextStyleArguments;
|
|
330
|
+
position_style?: TextStyleArguments;
|
|
331
|
+
background_style?: BackgroundStyleArguments;
|
|
332
|
+
card_style?: CardStyleArguments;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export interface ShapesSectionItem {
|
|
336
|
+
/** 0-based index of existing item to update in-place */
|
|
337
|
+
item_index?: number;
|
|
338
|
+
/** 0-based position to insert a new item at */
|
|
339
|
+
insert_at?: number;
|
|
340
|
+
icon_image_url?: string;
|
|
341
|
+
shape_url?: string;
|
|
342
|
+
keep_color?: boolean;
|
|
343
|
+
heading?: string;
|
|
344
|
+
text?: string;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
export interface ShapesSectionArguments {
|
|
348
|
+
title?: string;
|
|
349
|
+
description?: string;
|
|
350
|
+
items?: ShapesSectionItem[];
|
|
351
|
+
display_style?:
|
|
352
|
+
| 'left-aligned'
|
|
353
|
+
| 'right-aligned'
|
|
354
|
+
| 'centered'
|
|
355
|
+
| 'media-only'
|
|
356
|
+
| 'center-card-aligned-image'
|
|
357
|
+
| 'alternate-image';
|
|
358
|
+
_replace_items?: boolean;
|
|
359
|
+
/** 0-based indices of items to remove */
|
|
360
|
+
_remove_item_indices?: number[];
|
|
361
|
+
/** New order as array of current 0-based indices */
|
|
362
|
+
_reorder_items?: number[];
|
|
363
|
+
title_style?: TextStyleArguments;
|
|
364
|
+
description_style?: TextStyleArguments;
|
|
365
|
+
heading_style?: TextStyleArguments;
|
|
366
|
+
paragraph_style?: TextStyleArguments;
|
|
367
|
+
size?: string;
|
|
368
|
+
background_style?: BackgroundStyleArguments;
|
|
369
|
+
card_style?: CardStyleArguments;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
export interface DividerSectionArguments {
|
|
373
|
+
divider_style?: 'none' | 'thin' | 'thick';
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// ---------------------------------------------------------------------------
|
|
377
|
+
// Discriminated union of all per-section argument types (content fields only)
|
|
378
|
+
// ---------------------------------------------------------------------------
|
|
379
|
+
|
|
380
|
+
export type SectionToolArguments =
|
|
381
|
+
| ProfileSectionArguments
|
|
382
|
+
| TextSectionArguments
|
|
383
|
+
| ImageSectionArguments
|
|
384
|
+
| ImageGallerySectionArguments
|
|
385
|
+
| GeneralLinkSectionArguments
|
|
386
|
+
| WebsiteSectionArguments
|
|
387
|
+
| EmailSectionArguments
|
|
388
|
+
| PhoneSectionArguments
|
|
389
|
+
| FacebookSectionArguments
|
|
390
|
+
| XSectionArguments
|
|
391
|
+
| InstagramSectionArguments
|
|
392
|
+
| YoutubeSectionArguments
|
|
393
|
+
| LinkedinSectionArguments
|
|
394
|
+
| PinterestSectionArguments
|
|
395
|
+
| TwitchSectionArguments
|
|
396
|
+
| TiktokSectionArguments
|
|
397
|
+
| SocialLinksSectionArguments
|
|
398
|
+
| MailingListSectionArguments
|
|
399
|
+
| ContactFormSectionArguments
|
|
400
|
+
| BannerSectionArguments
|
|
401
|
+
| AboutSectionArguments
|
|
402
|
+
| ImagesSectionArguments
|
|
403
|
+
| TestimonialSectionArguments
|
|
404
|
+
| ShapesSectionArguments
|
|
405
|
+
| DividerSectionArguments;
|
|
406
|
+
|
|
407
|
+
// ---------------------------------------------------------------------------
|
|
408
|
+
// Outer tool call shape — common routing fields + nested section arguments
|
|
409
|
+
// ---------------------------------------------------------------------------
|
|
410
|
+
|
|
411
|
+
export interface SectionToolCallShape {
|
|
412
|
+
mode: 'create' | 'update';
|
|
413
|
+
type: string;
|
|
414
|
+
content_id?: string;
|
|
415
|
+
page_id?: string;
|
|
416
|
+
arguments: SectionToolArguments;
|
|
417
|
+
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@brand-page-maker/stores';
|
|
10
10
|
import { SIDE_BAR_CONTENT_ID } from '../../content-settings/constants';
|
|
11
11
|
import { useUiContentSettingsStore } from '../../content-settings/store';
|
|
12
|
+
import { SIDE_BAR_TAB_NAMES } from '@src/brand-page-maker/constants/sidebar-constant';
|
|
12
13
|
|
|
13
14
|
export default defineComponent({
|
|
14
15
|
props: {
|
|
@@ -47,6 +48,11 @@ export default defineComponent({
|
|
|
47
48
|
'side-bar-content': ref(null),
|
|
48
49
|
isPrepurchase: computed(() => brandPageContainerStore.isPrePurchase),
|
|
49
50
|
isBrandPageLoaded: computed(() => brandPageMakerStore.isBrandPageLoaded),
|
|
51
|
+
isAiWebsiteAssistantVisible: computed(
|
|
52
|
+
() =>
|
|
53
|
+
brandPageContainerStore.abTests.bp_5245_ai_website_assistant
|
|
54
|
+
?.isVariation,
|
|
55
|
+
),
|
|
50
56
|
};
|
|
51
57
|
},
|
|
52
58
|
data: () => ({ SIDE_BAR_CONTENT_ID, sideBarContentRef: 'side-bar-content' }),
|
|
@@ -101,6 +107,10 @@ export default defineComponent({
|
|
|
101
107
|
return false;
|
|
102
108
|
}
|
|
103
109
|
|
|
110
|
+
if (tab.name === SIDE_BAR_TAB_NAMES.AI_WEBSITE_BUILDER) {
|
|
111
|
+
return this.isAiWebsiteAssistantVisible;
|
|
112
|
+
}
|
|
113
|
+
|
|
104
114
|
return tab.isVisible;
|
|
105
115
|
},
|
|
106
116
|
contentScrollToTop() {
|