pagepilot-visual-editor 1.0.5 → 1.0.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/README.md +276 -30
- package/dist/api/ApiClientContext.d.ts +17 -0
- package/dist/api/PagepilotApiClient.d.ts +63 -0
- package/dist/api/useTenantPlan.d.ts +25 -0
- package/dist/blocks-internal/block-button/src/index.d.ts +32 -1
- package/dist/blocks-internal/block-button-group/src/index.d.ts +20 -1
- package/dist/blocks-internal/block-columns-container/src/index.d.ts +38 -0
- package/dist/blocks-internal/block-container/src/index.d.ts +44 -5
- package/dist/blocks-internal/block-divider/src/index.d.ts +6 -0
- package/dist/blocks-internal/block-grid/src/index.d.ts +6 -0
- package/dist/blocks-internal/block-heading/src/index.d.ts +3 -2
- package/dist/blocks-internal/block-html/src/index.d.ts +6 -0
- package/dist/blocks-internal/block-iframe/src/index.d.ts +4 -0
- package/dist/blocks-internal/block-image/src/index.d.ts +19 -0
- package/dist/blocks-internal/block-logo/src/index.d.ts +20 -7
- package/dist/blocks-internal/block-stepper/src/index.d.ts +2 -2
- package/dist/blocks-internal/block-text/src/index.d.ts +1 -1
- package/dist/blocks-internal/block-video/src/index.d.ts +4 -0
- package/dist/blocks-internal/block-youtube-url/src/index.d.ts +4 -0
- package/dist/editor/Shell.d.ts +1 -1
- package/dist/editor/blockToggles.d.ts +1 -1
- package/dist/editor/publish/PagePublishDialog.d.ts +21 -0
- package/dist/editor/types.d.ts +70 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/ResponsiveDeviceTabs.d.ts +8 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/ResponsiveEditingBanner.d.ts +13 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/ResponsiveModeContext.d.ts +12 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/blockStyleClipboard.d.ts +4 -4
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/AppBannerPickerSidebarPanel.d.ts +19 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/DemoPickerSidebarPanel.d.ts +31 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/EmailLayoutSidebarPanel.d.ts +26 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/FaqPickerSidebarPanel.d.ts +18 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/FormsPickerSidebarPanel.d.ts +18 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/MenuPickerSidebarPanel.d.ts +34 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/PaginationSidebarPanel.d.ts +7 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/TableSidebarPanel.d.ts +9 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/TimerSidebarPanel.d.ts +7 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/CollapsibleSection.d.ts +8 -2
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/MediaLibraryButton.d.ts +1 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/SectionWrapper.d.ts +2 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/deviceProp.d.ts +14 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/BaseColorInput.d.ts +4 -2
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/Picker.d.ts +7 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/index.d.ts +3 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/PaddingInput.d.ts +4 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/RadiusInput.d.ts +13 -11
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/SelectInput.d.ts +15 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/StepperInput.d.ts +19 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/WidthInputWithSelect.d.ts +4 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/sanitizeAgainstSchema.d.ts +11 -0
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/style-inputs/MultiStylePropertyPanel.d.ts +2 -1
- package/dist/editor-sample/App/InspectorDrawer/EditorBehavior.d.ts +16 -0
- package/dist/editor-sample/App/InspectorDrawer/LayersPanelStyles.d.ts +2 -2
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/SectionsModal.d.ts +15 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/TemplatePreviewDialog.d.ts +14 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/TemplatesList.d.ts +45 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/icons/index.d.ts +37 -1
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/templateApplyHelpers.d.ts +101 -0
- package/dist/editor-sample/App/InspectorDrawer/PagePilotAiPanel.d.ts +1 -0
- package/dist/editor-sample/App/InspectorDrawer/SeoPanel/SeoFieldLabel.d.ts +7 -0
- package/dist/editor-sample/App/InspectorDrawer/SeoPanel/SeoPanel.styled.d.ts +12 -0
- package/dist/editor-sample/App/InspectorDrawer/SeoPanel/index.d.ts +6 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ApiResponseDialog.d.ts +10 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ArrayFieldEditor.d.ts +14 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ContainerRepeatSection.d.ts +9 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/DataReferenceDialog.d.ts +15 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/DataReferencePanel.d.ts +20 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/GrowDirectionDialog.d.ts +13 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/RowCard.d.ts +23 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/SectionHeader.d.ts +13 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/VariablesPaywall.d.ts +1 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/constants.d.ts +2 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/dataReferenceUtils.d.ts +34 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/index.d.ts +1 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/repeatRowActions.d.ts +31 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/styles.d.ts +53 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/upgradeDialog.d.ts +4 -0
- package/dist/editor-sample/App/InspectorDrawer/components/MiniRichTextInput.d.ts +7 -0
- package/dist/editor-sample/App/InspectorDrawer/components/ScalarFieldInput.d.ts +10 -0
- package/dist/editor-sample/App/shared/editor.styles.d.ts +3 -3
- package/dist/editor-sample/documents/blocks/Accordion/AccordionPropsSchema.d.ts +6 -0
- package/dist/editor-sample/documents/blocks/AppBannerPicker/AppBannerEditor.d.ts +18 -0
- package/dist/editor-sample/documents/blocks/AppBannerPicker/AppBannerPropsSchema.d.ts +14 -0
- package/dist/editor-sample/documents/blocks/AppBannerPicker/appBanner.styled.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +20 -1
- package/dist/editor-sample/documents/blocks/Carousel/CarouselPropsSchema.d.ts +7 -0
- package/dist/editor-sample/documents/blocks/ColumnsContainer/ColumnsContainerPropsSchema.d.ts +38 -0
- package/dist/editor-sample/documents/blocks/Container/ContainerPropsSchema.d.ts +56 -3
- package/dist/editor-sample/documents/blocks/DemoPicker/DemoEditor.d.ts +3 -0
- package/dist/editor-sample/documents/blocks/DemoPicker/DemoPropsSchema.d.ts +37 -0
- package/dist/editor-sample/documents/blocks/EmailLayout/EmailLayoutEditor.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/{PagePilotLayout/PagePilotLayoutPropsSchema.d.ts → EmailLayout/EmailLayoutPropsSchema.d.ts} +51 -4
- package/dist/editor-sample/documents/blocks/FaqPicker/FaqEditor.d.ts +18 -0
- package/dist/editor-sample/documents/blocks/FaqPicker/FaqPickerPropsSchema.d.ts +14 -0
- package/dist/editor-sample/documents/blocks/FaqPicker/faqPicker.styled.d.ts +3 -0
- package/dist/editor-sample/documents/blocks/FlexColumns/FlexColumnsEditor.d.ts +6 -0
- package/dist/editor-sample/documents/blocks/FormsPicker/FormsEditor.d.ts +3 -0
- package/dist/editor-sample/documents/blocks/FormsPicker/FormsPropsSchema.d.ts +33 -0
- package/dist/editor-sample/documents/blocks/Grid/GridPropsSchema.d.ts +13 -2
- package/dist/editor-sample/documents/blocks/Marquee/MarqueePropsSchema.d.ts +12 -0
- package/dist/editor-sample/documents/blocks/MenuPicker/MenuEditor.d.ts +7 -0
- package/dist/editor-sample/documents/blocks/MenuPicker/MenuPropsSchema.d.ts +45 -0
- package/dist/editor-sample/documents/blocks/MenuPicker/mergeMenuItems.d.ts +13 -0
- package/dist/editor-sample/documents/blocks/Pagination/PaginationEditor.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/Pagination/PaginationPropsSchema.d.ts +4 -0
- package/dist/editor-sample/documents/blocks/Table/TableCellEditor.d.ts +11 -0
- package/dist/editor-sample/documents/blocks/Table/TableEditor.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/Table/TablePropsSchema.d.ts +1 -0
- package/dist/editor-sample/documents/blocks/TabsBlock/TabsBlockPropsSchema.d.ts +12 -0
- package/dist/editor-sample/documents/blocks/Timer/TimerEditor.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/Timer/TimerPropsSchema.d.ts +38 -0
- package/dist/editor-sample/documents/blocks/Timer/timerMath.d.ts +9 -0
- package/dist/editor-sample/documents/blocks/Timer/variants/CircularProgressView.d.ts +9 -0
- package/dist/editor-sample/documents/blocks/Timer/variants/DigitalFlipView.d.ts +9 -0
- package/dist/editor-sample/documents/blocks/Timer/variants/TextInlineView.d.ts +9 -0
- package/dist/editor-sample/documents/blocks/helpers/BlockCategories.d.ts +1 -0
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlockButton.d.ts +1 -1
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlocksMenu.d.ts +1 -1
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/DividerButton.d.ts +2 -1
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/PlaceholderButton.d.ts +2 -1
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/blockMenuStyles.d.ts +11 -0
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/brandButtonDefaults.d.ts +4 -2
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/buttons.d.ts +8 -0
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/gridPresets.d.ts +17 -0
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/index.d.ts +3 -2
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/index.d.ts +2 -1
- package/dist/editor-sample/documents/blocks/helpers/TStyle.d.ts +2 -0
- package/dist/editor-sample/documents/blocks/helpers/block-wrappers/saveAsTemplateUtils.d.ts +97 -0
- package/dist/editor-sample/documents/blocks/helpers/documentUtils.d.ts +96 -17
- package/dist/editor-sample/documents/blocks/helpers/responsiveInstanceCss.d.ts +6 -0
- package/dist/editor-sample/documents/blocks/helpers/responsiveStyle.d.ts +106 -0
- package/dist/editor-sample/documents/blocks/helpers/zod.d.ts +1 -1
- package/dist/editor-sample/documents/editor/EditorContext.d.ts +11 -2
- package/dist/editor-sample/documents/editor/core.d.ts +577 -16
- package/dist/editor-sample/documents/editor/templateVariables.d.ts +73 -0
- package/dist/email-builder-core/blocks/Accordion/AccordionPropsSchema.d.ts +6 -0
- package/dist/email-builder-core/blocks/AppBannerPicker/AppBannerPropsSchema.d.ts +16 -0
- package/dist/email-builder-core/blocks/AppBannerPicker/AppBannerReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +20 -1
- package/dist/email-builder-core/blocks/Calendly/CalendlyPropsSchema.d.ts +4 -0
- package/dist/email-builder-core/blocks/Carousel/CarouselPropsSchema.d.ts +6 -0
- package/dist/email-builder-core/blocks/ColumnsContainer/ColumnsContainerPropsSchema.d.ts +38 -0
- package/dist/email-builder-core/blocks/Container/ContainerPropsSchema.d.ts +56 -3
- package/dist/email-builder-core/blocks/DemoPicker/DemoPropsSchema.d.ts +36 -0
- package/dist/email-builder-core/blocks/DemoPicker/DemoReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/{PagePilotLayout/PagePilotLayoutPropsSchema.d.ts → EmailLayout/EmailLayoutPropsSchema.d.ts} +41 -2
- package/dist/email-builder-core/blocks/EmailLayout/EmailLayoutReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/EmailLayout/emailLayoutResponsive.d.ts +46 -0
- package/dist/email-builder-core/blocks/FaqPicker/FaqPickerPropsSchema.d.ts +16 -0
- package/dist/email-builder-core/blocks/FaqPicker/FaqReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/FlexColumns/FlexColumnsPropsSchema.d.ts +23 -2
- package/dist/email-builder-core/blocks/FlexColumns/FlexColumnsReader.d.ts +6 -0
- package/dist/email-builder-core/blocks/FlexColumns/flexColumnsHelpers.d.ts +71 -1
- package/dist/email-builder-core/blocks/FormsPicker/FormsPropsSchema.d.ts +19 -0
- package/dist/email-builder-core/blocks/FormsPicker/FormsReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/Grid/GridPropsSchema.d.ts +12 -2
- package/dist/email-builder-core/blocks/Marquee/MarqueePropsSchema.d.ts +16 -0
- package/dist/email-builder-core/blocks/Marquee/MarqueeReader.d.ts +1 -1
- package/dist/email-builder-core/blocks/Marquee/marqueeMotion.d.ts +40 -0
- package/dist/email-builder-core/blocks/MenuPicker/MenuPropsSchema.d.ts +87 -0
- package/dist/email-builder-core/blocks/MenuPicker/MenuReader.d.ts +3 -0
- package/dist/email-builder-core/blocks/MenuPicker/menuResponsiveCss.d.ts +27 -0
- package/dist/email-builder-core/blocks/Pagination/PaginationPropsSchema.d.ts +119 -0
- package/dist/email-builder-core/blocks/Pagination/PaginationReader.d.ts +2 -0
- package/dist/email-builder-core/blocks/Pagination/paginationShared.d.ts +74 -0
- package/dist/email-builder-core/blocks/Table/TablePropsSchema.d.ts +48 -0
- package/dist/email-builder-core/blocks/Table/TableReader.d.ts +13 -0
- package/dist/email-builder-core/blocks/TabsBlock/TabsBlockPropsSchema.d.ts +12 -0
- package/dist/email-builder-core/blocks/Timer/TimerPropsSchema.d.ts +38 -0
- package/dist/email-builder-core/blocks/Timer/TimerReader.d.ts +2 -0
- package/dist/email-builder-core/blocks/Timer/variants/CircularProgressView.d.ts +11 -0
- package/dist/email-builder-core/blocks/Timer/variants/DigitalFlipView.d.ts +11 -0
- package/dist/email-builder-core/blocks/Timer/variants/TextInlineView.d.ts +11 -0
- package/dist/email-builder-core/blocks/responsiveBreakpoints.d.ts +32 -0
- package/dist/host-stubs/modules/_hostListShim.d.ts +18 -0
- package/dist/host-stubs/modules/appBannerV2/list/appBannerListActions.d.ts +1 -0
- package/dist/host-stubs/modules/appBannerV2/list/appBannerListSelectors.d.ts +1 -0
- package/dist/host-stubs/modules/demo/list/demoListActions.d.ts +1 -0
- package/dist/host-stubs/modules/demo/list/demoListSelectors.d.ts +1 -0
- package/dist/host-stubs/modules/faqGroup/list/faqGroupListActions.d.ts +1 -0
- package/dist/host-stubs/modules/faqGroup/list/faqGroupListSelectors.d.ts +1 -0
- package/dist/host-stubs/modules/forms/formsService.d.ts +9 -0
- package/dist/host-stubs/modules/menu/list/menuListActions.d.ts +1 -0
- package/dist/host-stubs/modules/menu/list/menuListSelectors.d.ts +1 -0
- package/dist/host-stubs/modules/store.d.ts +3 -0
- package/dist/host-stubs/react-redux.d.ts +3 -0
- package/dist/host-stubs/style/menu.styled.d.ts +73 -15
- package/dist/host-stubs/tanstack-react-query.d.ts +9 -0
- package/dist/host-stubs/view/media/IconLibrary/ChooseImageDialog.d.ts +10 -0
- package/dist/host-stubs/view/media/IconLibrary/IconGrid.d.ts +8 -0
- package/dist/host-stubs/view/media/IconLibrary/IconGridCell.d.ts +8 -0
- package/dist/host-stubs/view/media/IconLibrary/IconLibraryModal.d.ts +6 -0
- package/dist/host-stubs/view/media/IconLibrary/IconProvider.d.ts +4 -0
- package/dist/host-stubs/view/media/IconLibrary/IconSearch.d.ts +6 -0
- package/dist/host-stubs/view/media/IconLibrary/iconLoaders.d.ts +6 -0
- package/dist/host-stubs/view/media/IconLibrary/iconNames.d.ts +1 -0
- package/dist/host-stubs/view/media/IconLibrary/index.d.ts +6 -0
- package/dist/host-stubs/view/shared/htmlSanitize.d.ts +15 -0
- package/dist/index.cjs +375 -346
- package/dist/index.d.ts +2 -0
- package/dist/index.js +56722 -40238
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/PagePilotLayoutSidebarPanel.d.ts +0 -24
- package/dist/editor-sample/documents/blocks/PagePilotLayout/PagePilotLayoutEditor.d.ts +0 -2
- package/dist/email-builder-core/blocks/PagePilotLayout/PagePilotLayoutReader.d.ts +0 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shared "style painter" clipboard for the inspector.
|
|
3
3
|
*
|
|
4
4
|
* Two block shapes live in the editor:
|
|
5
|
-
* -
|
|
5
|
+
* - EmailLayout (the section root): style fields live flat on `data`
|
|
6
6
|
* (canvasColor, fontFamily, padding, borderRadius, …)
|
|
7
7
|
* - Every other block (Text, Heading, Button, Container, …): style fields
|
|
8
8
|
* live under `data.style`, content under `data.props`.
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* sessionStorage is intentional: persists across section/block selection
|
|
21
21
|
* changes within the editor session, gone after the tab closes.
|
|
22
22
|
*/
|
|
23
|
-
export type ClipboardKind = '
|
|
23
|
+
export type ClipboardKind = 'EmailLayout' | 'Block';
|
|
24
24
|
export type StyleClipboard = {
|
|
25
25
|
kind: ClipboardKind;
|
|
26
26
|
/**
|
|
@@ -57,7 +57,7 @@ export type StyleClipboard = {
|
|
|
57
57
|
/** Section root: a curated whitelist of "visual" fields. We deliberately skip
|
|
58
58
|
* content-ish fields (backgroundImage, CTA text/link, language, demo positioning). */
|
|
59
59
|
export declare const PAGE_PILOT_LAYOUT_STYLE_FIELDS: readonly ["canvasColor", "fontFamily", "textColor", "borderRadius", "borderColor", "borderWidth", "maxWidth", "maxHeight", "padding", "margin", "backdropColor", "ctaButtonBgColor", "ctaButtonTextColor", "ctaButtonPosition"];
|
|
60
|
-
export declare function
|
|
60
|
+
export declare function pickEmailLayoutStyle(data: Record<string, any>): Record<string, any>;
|
|
61
61
|
export declare function readClipboard(): StyleClipboard | null;
|
|
62
62
|
export declare function writeClipboard(c: StyleClipboard): void;
|
|
63
63
|
/**
|
|
@@ -69,7 +69,7 @@ export declare function writeClipboard(c: StyleClipboard): void;
|
|
|
69
69
|
export declare function clearClipboard(): void;
|
|
70
70
|
/**
|
|
71
71
|
* Decide what to copy off a given block.
|
|
72
|
-
* -
|
|
72
|
+
* - EmailLayout → curated flat fields
|
|
73
73
|
* - any other block → the entire `data.style` object (if any)
|
|
74
74
|
*
|
|
75
75
|
* Returns null if the block has no copyable style (e.g. a block whose data has
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type PaddingValue = {
|
|
2
|
+
top: number;
|
|
3
|
+
right: number;
|
|
4
|
+
bottom: number;
|
|
5
|
+
left: number;
|
|
6
|
+
};
|
|
7
|
+
type Props = {
|
|
8
|
+
data: {
|
|
9
|
+
props: {
|
|
10
|
+
bannerId: string;
|
|
11
|
+
bannerName?: string | null;
|
|
12
|
+
contentHtml?: string | null;
|
|
13
|
+
padding?: PaddingValue | null;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
setData: (data: any) => void;
|
|
17
|
+
};
|
|
18
|
+
declare const AppBannerPickerSidebarPanel: ({ data, setData }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default AppBannerPickerSidebarPanel;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
data: {
|
|
3
|
+
style?: {
|
|
4
|
+
padding?: {
|
|
5
|
+
top: number;
|
|
6
|
+
bottom: number;
|
|
7
|
+
right: number;
|
|
8
|
+
left: number;
|
|
9
|
+
} | null;
|
|
10
|
+
margin?: {
|
|
11
|
+
top: number;
|
|
12
|
+
bottom: number;
|
|
13
|
+
right: number;
|
|
14
|
+
left: number;
|
|
15
|
+
} | null;
|
|
16
|
+
textAlign?: 'left' | 'center' | 'right' | null;
|
|
17
|
+
} | null;
|
|
18
|
+
props: {
|
|
19
|
+
demoId: string;
|
|
20
|
+
iframeSrc?: string;
|
|
21
|
+
width?: string | null;
|
|
22
|
+
height?: string | null;
|
|
23
|
+
borderRadius?: number | null;
|
|
24
|
+
borderColor?: string | null;
|
|
25
|
+
borderWidth?: number | null;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
setData: (data: any) => void;
|
|
29
|
+
};
|
|
30
|
+
declare const DemoPickerSidebarPanel: React.FC<Props>;
|
|
31
|
+
export default DemoPickerSidebarPanel;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { EmailLayoutProps } from '../../../../documents/blocks/EmailLayout/EmailLayoutPropsSchema';
|
|
3
|
+
type EmailLayoutSidebarFieldsProps = {
|
|
4
|
+
record: any;
|
|
5
|
+
data: EmailLayoutProps;
|
|
6
|
+
setData: (v: EmailLayoutProps) => void;
|
|
7
|
+
isTypeDemo: boolean;
|
|
8
|
+
onBackgroundChange?: (url: string | null) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const ColorCode: ({ hex }: {
|
|
11
|
+
hex?: string | null;
|
|
12
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
type SettingRowProps = {
|
|
14
|
+
label: ReactNode;
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
divider?: boolean;
|
|
17
|
+
background?: boolean;
|
|
18
|
+
mt?: number;
|
|
19
|
+
maxHeight?: number;
|
|
20
|
+
tooltip?: string;
|
|
21
|
+
/** Hide this row on the Tablet/Mobile device tabs (shared/content control). */
|
|
22
|
+
hideOnResponsive?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export declare const SettingRow: ({ label, children, divider, background, mt, maxHeight, tooltip, hideOnResponsive, }: SettingRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare function EmailLayoutSidebarFields({ data, setData, isTypeDemo, record, onBackgroundChange, }: EmailLayoutSidebarFieldsProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export default EmailLayoutSidebarFields;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type PaddingValue = {
|
|
2
|
+
top: number;
|
|
3
|
+
right: number;
|
|
4
|
+
bottom: number;
|
|
5
|
+
left: number;
|
|
6
|
+
};
|
|
7
|
+
type Props = {
|
|
8
|
+
data: {
|
|
9
|
+
props: {
|
|
10
|
+
faqGroupId: string;
|
|
11
|
+
faqGroupName?: string | null;
|
|
12
|
+
padding?: PaddingValue | null;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
setData: (data: any) => void;
|
|
16
|
+
};
|
|
17
|
+
declare const FaqPickerSidebarPanel: ({ data, setData }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export default FaqPickerSidebarPanel;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
data: {
|
|
3
|
+
style?: any;
|
|
4
|
+
props: {
|
|
5
|
+
formId: string;
|
|
6
|
+
formName?: string;
|
|
7
|
+
iframeSrc?: string;
|
|
8
|
+
width: string;
|
|
9
|
+
height: string;
|
|
10
|
+
heightTablet?: string | null;
|
|
11
|
+
heightMobile?: string | null;
|
|
12
|
+
alignment?: 'left' | 'center' | 'right';
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
setData: (data: any) => void;
|
|
16
|
+
};
|
|
17
|
+
declare const FormsPickerSidebarPanel: React.FC<Props>;
|
|
18
|
+
export default FormsPickerSidebarPanel;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
data: {
|
|
4
|
+
props: {
|
|
5
|
+
menuId: string;
|
|
6
|
+
useCustomMenu?: boolean;
|
|
7
|
+
stickyNav?: boolean;
|
|
8
|
+
position: 'left' | 'center' | 'right';
|
|
9
|
+
orientation: 'horizontal' | 'vertical';
|
|
10
|
+
menuItems?: any[];
|
|
11
|
+
layout?: 'menu-only' | 'logo-menu' | 'menu-cta' | 'logo-menu-cta';
|
|
12
|
+
startChildrenIds?: string[];
|
|
13
|
+
endChildrenIds?: string[];
|
|
14
|
+
backgroundColor?: string;
|
|
15
|
+
textColor?: string;
|
|
16
|
+
fontSize?: string;
|
|
17
|
+
fontFamily?: string | null;
|
|
18
|
+
fontWeight?: string;
|
|
19
|
+
padding?: string;
|
|
20
|
+
blockPadding?: {
|
|
21
|
+
top: number;
|
|
22
|
+
right: number;
|
|
23
|
+
bottom: number;
|
|
24
|
+
left: number;
|
|
25
|
+
} | null;
|
|
26
|
+
gap?: string;
|
|
27
|
+
showIcons?: boolean;
|
|
28
|
+
iconSize?: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
setData: (data: any) => void;
|
|
32
|
+
};
|
|
33
|
+
declare const MenuPickerSidebarPanel: React.FC<Props>;
|
|
34
|
+
export default MenuPickerSidebarPanel;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PaginationProps } from '../../../../documents/blocks/Pagination/PaginationPropsSchema';
|
|
2
|
+
type Props = {
|
|
3
|
+
data: PaginationProps;
|
|
4
|
+
setData: (v: PaginationProps) => void;
|
|
5
|
+
};
|
|
6
|
+
export default function PaginationSidebarPanel({ data, setData }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TableProps } from '../../../../../email-builder-core/blocks/Table/TablePropsSchema';
|
|
2
|
+
type Props = {
|
|
3
|
+
data: TableProps;
|
|
4
|
+
setStructure: (patch: Partial<NonNullable<TableProps['props']>>) => void;
|
|
5
|
+
setAppearance: (patch: Partial<NonNullable<TableProps['style']>>) => void;
|
|
6
|
+
setSharedStyle: (patch: Partial<NonNullable<TableProps['style']>>) => void;
|
|
7
|
+
};
|
|
8
|
+
export default function TableSidebarPanel({ data, setStructure, setAppearance, setSharedStyle }: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TimerProps } from '../../../../documents/blocks/Timer/TimerPropsSchema';
|
|
2
|
+
type Props = {
|
|
3
|
+
data: TimerProps;
|
|
4
|
+
setData: (v: TimerProps) => void;
|
|
5
|
+
};
|
|
6
|
+
export default function TimerSidebarPanel({ data, setData }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { SxProps, Theme } from '@mui/material';
|
|
3
3
|
type CollapsibleSectionProps = {
|
|
4
|
-
title:
|
|
4
|
+
title: React.ReactNode;
|
|
5
5
|
open: boolean;
|
|
6
6
|
onToggle: () => void;
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
collapsible?: boolean;
|
|
9
9
|
showBorder?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* When true, this whole section is hidden on the Tablet/Mobile device tabs —
|
|
12
|
+
* for content or shared-appearance sections (Tab Items, Slides, Menu Items,
|
|
13
|
+
* colour groups, …) that are the same on every device.
|
|
14
|
+
*/
|
|
15
|
+
hideOnResponsive?: boolean;
|
|
10
16
|
sx?: SxProps<Theme>;
|
|
11
17
|
};
|
|
12
|
-
export default function CollapsibleSection({ title, open, onToggle, children, collapsible, showBorder, sx }: CollapsibleSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export default function CollapsibleSection({ title, open, onToggle, children, collapsible, showBorder, hideOnResponsive, sx }: CollapsibleSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
13
19
|
export {};
|
|
@@ -3,6 +3,7 @@ import { BoxProps } from '@mui/material';
|
|
|
3
3
|
type SectionWrapperProps = Omit<BoxProps, 'borderBottom'> & {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
borderBottom?: boolean;
|
|
6
|
+
hideOnResponsive?: boolean;
|
|
6
7
|
};
|
|
7
|
-
export default function SectionWrapper({ children, sx, borderBottom, ...props }: SectionWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default function SectionWrapper({ children, sx, borderBottom, hideOnResponsive, ...props }: SectionWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TDeviceType } from '../../../../../documents/blocks/helpers/responsiveStyle';
|
|
2
|
+
/** The prop key that stores `base` for `device` (e.g. columnsCount → columnsCountMobile). */
|
|
3
|
+
export declare function deviceKey(base: string, device: TDeviceType): string;
|
|
4
|
+
/**
|
|
5
|
+
* Effective value of a per-device prop for the active device, falling back the
|
|
6
|
+
* way the readers do: tablet inherits desktop; mobile inherits its own default
|
|
7
|
+
* (passed via `mobileDefault`, e.g. 1 column) then desktop.
|
|
8
|
+
*/
|
|
9
|
+
export declare function deviceValue(props: any, base: string, device: TDeviceType, opts?: {
|
|
10
|
+
mobileDefault?: any;
|
|
11
|
+
desktopDefault?: any;
|
|
12
|
+
}): any;
|
|
13
|
+
/** True when the active device has its own value for the prop (an override). */
|
|
14
|
+
export declare function deviceHasOwn(props: any, base: string, device: TDeviceType): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type Props = {
|
|
1
|
+
type Props = ({
|
|
2
2
|
nullable: true;
|
|
3
3
|
label: string;
|
|
4
4
|
onChange: (value: string | null) => void;
|
|
@@ -8,6 +8,8 @@ type Props = {
|
|
|
8
8
|
label: string;
|
|
9
9
|
onChange: (value: string) => void;
|
|
10
10
|
defaultValue: string;
|
|
11
|
+
}) & {
|
|
12
|
+
solidOnly?: boolean;
|
|
11
13
|
};
|
|
12
|
-
export default function ColorInput({ label, defaultValue, onChange, nullable }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default function ColorInput({ label, defaultValue, onChange, nullable, solidOnly }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
export {};
|
|
@@ -23,6 +23,12 @@ type Props = {
|
|
|
23
23
|
* chain that proved unreliable across nested flex/grid layouts.
|
|
24
24
|
*/
|
|
25
25
|
bodyMaxHeight?: number;
|
|
26
|
+
/**
|
|
27
|
+
* When true, hides the Solid / Gradient toggle so callers that only support
|
|
28
|
+
* solid colors (e.g. CSS border-color, which can't render gradients) don't
|
|
29
|
+
* expose an option that would silently be ignored.
|
|
30
|
+
*/
|
|
31
|
+
solidOnly?: boolean;
|
|
26
32
|
};
|
|
27
|
-
export default function Picker({ value, onChange, onApply, onTransparent, onClose, noneLabel, hideBrandColors, defaultValue, stickyActions, bodyMaxHeight }: Props): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export default function Picker({ value, onChange, onApply, onTransparent, onClose, noneLabel, hideBrandColors, defaultValue, stickyActions, bodyMaxHeight, solidOnly }: Props): import("react/jsx-runtime").JSX.Element;
|
|
28
34
|
export {};
|
|
@@ -2,12 +2,15 @@ type Props = {
|
|
|
2
2
|
label: string;
|
|
3
3
|
onChange: (value: string) => void;
|
|
4
4
|
defaultValue: string;
|
|
5
|
+
solidOnly?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export default function ColorInput(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
type NullableProps = {
|
|
8
9
|
label: string;
|
|
9
10
|
onChange: (value: null | string) => void;
|
|
10
11
|
defaultValue: null | string;
|
|
12
|
+
solidOnly?: boolean;
|
|
11
13
|
};
|
|
12
14
|
export declare function NullableColorInput(props: NullableProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function PerDeviceNullableColorInput(props: NullableProps): import("react/jsx-runtime").JSX.Element;
|
|
13
16
|
export {};
|
|
@@ -5,11 +5,14 @@ type TPaddingValue = {
|
|
|
5
5
|
bottom: number | '';
|
|
6
6
|
left: number | '';
|
|
7
7
|
};
|
|
8
|
+
type TSide = keyof TPaddingValue;
|
|
8
9
|
type Props = {
|
|
9
10
|
label: string;
|
|
10
11
|
defaultValue?: TPaddingValue | null;
|
|
11
12
|
onChange: (value: TPaddingValue) => void;
|
|
12
13
|
sx?: SxProps<Theme>;
|
|
14
|
+
hideOnResponsive?: boolean;
|
|
15
|
+
sides?: TSide[];
|
|
13
16
|
};
|
|
14
|
-
export default function PaddingInput({ label, defaultValue, onChange, sx }: Props): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default function PaddingInput({ label, defaultValue, onChange, sx, hideOnResponsive, sides, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
18
|
export {};
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
+
type TRadiusCorner = number | '';
|
|
1
2
|
type TRadiusValue = {
|
|
2
|
-
topLeft:
|
|
3
|
-
topRight:
|
|
4
|
-
bottomRight:
|
|
5
|
-
bottomLeft:
|
|
3
|
+
topLeft: TRadiusCorner;
|
|
4
|
+
topRight: TRadiusCorner;
|
|
5
|
+
bottomRight: TRadiusCorner;
|
|
6
|
+
bottomLeft: TRadiusCorner;
|
|
6
7
|
};
|
|
7
|
-
type
|
|
8
|
-
topLeft:
|
|
9
|
-
topRight:
|
|
10
|
-
bottomRight:
|
|
11
|
-
bottomLeft:
|
|
8
|
+
type TRadiusValueLoose = {
|
|
9
|
+
topLeft: any;
|
|
10
|
+
topRight: any;
|
|
11
|
+
bottomRight: any;
|
|
12
|
+
bottomLeft: any;
|
|
12
13
|
};
|
|
13
14
|
type Props = {
|
|
14
15
|
label: string;
|
|
15
|
-
defaultValue?:
|
|
16
|
+
defaultValue?: TRadiusValueLoose | null;
|
|
16
17
|
onChange: (value: TRadiusValue) => void;
|
|
18
|
+
hideOnResponsive?: boolean;
|
|
17
19
|
};
|
|
18
|
-
export default function RadiusInput({ label, defaultValue, onChange }: Props): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default function RadiusInput({ label, defaultValue, onChange, hideOnResponsive }: Props): import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type SelectOption = {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
};
|
|
5
|
+
type SelectInputProps = {
|
|
6
|
+
label: string;
|
|
7
|
+
options: SelectOption[];
|
|
8
|
+
defaultValue: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
fullWidth?: boolean;
|
|
11
|
+
variant?: 'outlined' | 'standard' | 'filled';
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
};
|
|
14
|
+
export default function SelectInput({ label, options, defaultValue, onChange, fullWidth, variant, placeholder, }: SelectInputProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type StepperInputProps = {
|
|
2
|
+
/** Current value. */
|
|
3
|
+
value: number;
|
|
4
|
+
/** Fired with the new (clamped) value on − / +. */
|
|
5
|
+
onChange: (value: number) => void;
|
|
6
|
+
/** Lower bound (inclusive). Defaults to 1. */
|
|
7
|
+
min?: number;
|
|
8
|
+
/** Optional upper bound (inclusive). Omit for no cap. */
|
|
9
|
+
max?: number;
|
|
10
|
+
/** Increment/decrement step. Defaults to 1. */
|
|
11
|
+
step?: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Compact "− N +" numeric stepper used where a count has no fixed small range
|
|
15
|
+
* (e.g. grid columns/rows, flex columns) — replaces the old 1–5 toggle buttons
|
|
16
|
+
* so authors aren't capped. Buttons disable at the min/max bounds.
|
|
17
|
+
*/
|
|
18
|
+
export default function StepperInput({ value, onChange, min, max, step, }: StepperInputProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
type WidthType = 'fixed' | 'fill' | 'fit';
|
|
2
|
+
type WidthUnit = 'px' | '%';
|
|
2
3
|
type WidthInputWithSelectProps = {
|
|
3
4
|
label: string;
|
|
4
5
|
width: number;
|
|
5
6
|
widthType: WidthType;
|
|
6
7
|
onWidthChange: (value: number) => void;
|
|
7
8
|
onWidthTypeChange: (value: WidthType) => void;
|
|
9
|
+
widthUnit?: WidthUnit;
|
|
10
|
+
onWidthUnitChange?: (value: WidthUnit) => void;
|
|
8
11
|
minWidth?: number;
|
|
9
12
|
};
|
|
10
|
-
export default function WidthInputWithSelect({ label, width, widthType, onWidthChange, onWidthTypeChange, minWidth, }: WidthInputWithSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export default function WidthInputWithSelect({ label, width, widthType, onWidthChange, onWidthTypeChange, widthUnit, onWidthUnitChange, minWidth, }: WidthInputWithSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
11
14
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Style-panel `updateData` calls validate a whole merged block object in one
|
|
4
|
+
* `safeParse`. That means a single stale/invalid field anywhere in the object
|
|
5
|
+
* fails validation for the entire object, silently dropping whatever field the
|
|
6
|
+
* user just touched along with it. This walks a failed `z.object()` (recursing
|
|
7
|
+
* into nested `z.object()` shapes, e.g. `props`/`style`) and drops only the
|
|
8
|
+
* keys that individually fail their own schema, so a legitimate edit isn't
|
|
9
|
+
* blocked by an unrelated poisoned field elsewhere on the same block.
|
|
10
|
+
*/
|
|
11
|
+
export declare function sanitizeAgainstSchema<T extends z.ZodTypeAny>(schema: T, value: unknown): unknown;
|
|
@@ -3,6 +3,7 @@ type MultiStylePropertyPanelProps = {
|
|
|
3
3
|
names: (keyof TStyle)[];
|
|
4
4
|
value: TStyle | undefined | null;
|
|
5
5
|
onChange: (style: TStyle) => void;
|
|
6
|
+
hideOnResponsive?: (keyof TStyle)[];
|
|
6
7
|
};
|
|
7
|
-
export default function MultiStylePropertyPanel({ names, value, onChange }: MultiStylePropertyPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default function MultiStylePropertyPanel({ names, value, onChange, hideOnResponsive, }: MultiStylePropertyPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -5,6 +5,22 @@ export interface EditorPanelToggles {
|
|
|
5
5
|
layout?: boolean;
|
|
6
6
|
inspect?: boolean;
|
|
7
7
|
layers?: boolean;
|
|
8
|
+
/** SEO settings panel (meta title / description / social preview / tags / …). */
|
|
9
|
+
seo?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Template Variables panel — dynamic tokens, repeatable containers,
|
|
12
|
+
* data references. Gated behind `apiConfig`'s tenant plan (Pro or above)
|
|
13
|
+
* via the built-in paywall. Auto-hidden when the current page has no
|
|
14
|
+
* template fields AND no repeatable container is selected.
|
|
15
|
+
*/
|
|
16
|
+
variables?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Pagepilot AI panel — AI-driven page generation surface. Currently
|
|
19
|
+
* renders a "Coming soon" placeholder; the full generator (prompt +
|
|
20
|
+
* model picker + voice input) will land in a future release. Hidden
|
|
21
|
+
* entirely by passing `pagepilot: false`.
|
|
22
|
+
*/
|
|
23
|
+
pagepilot?: boolean;
|
|
8
24
|
}
|
|
9
25
|
interface EditorBehaviorProps {
|
|
10
26
|
record: any;
|
|
@@ -4,10 +4,10 @@ export declare const PanelRoot: import('@emotion/styled').StyledComponent<import
|
|
|
4
4
|
export declare const PanelHeader: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<Theme>> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
5
5
|
export declare const PanelContent: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<Theme>> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
6
6
|
export declare const HeaderBox: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<Theme>> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
7
|
-
export declare const HeaderTitle: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "top" | "bottom" | "right" | "left" | "fontSize" | "fontFamily" | "fontWeight" | "textAlign" | "padding" | "style" | "borderRadius" | "borderColor" | "width" | "
|
|
7
|
+
export declare const HeaderTitle: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "children" | "top" | "bottom" | "right" | "left" | "fontSize" | "fontFamily" | "fontWeight" | "textAlign" | "padding" | "style" | "borderRadius" | "borderColor" | "width" | "px" | "margin" | "height" | "overflow" | "marginBottom" | "color" | "position" | "gap" | "align" | "fontStyle" | "paddingX" | "paddingY" | "marginX" | "marginY" | "lineHeight" | "maxWidth" | "maxHeight" | "boxShadow" | "borderTop" | "border" | "flex" | "py" | "className" | "p" | "bgcolor" | "display" | "zIndex" | "typography" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "alignContent" | "alignItems" | "alignSelf" | "boxSizing" | "columnGap" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "marginBlockEnd" | "marginBlockStart" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "minHeight" | "minWidth" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "rowGap" | "textOverflow" | "textTransform" | "whiteSpace" | "borderBottom" | "borderLeft" | "borderRight" | "gridArea" | "gridColumn" | "gridRow" | "marginBlock" | "marginInline" | "paddingBlock" | "paddingInline" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "pt" | "pr" | "pb" | "pl" | "displayPrint" | "variant" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
8
8
|
export declare const ClipboardBar: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<Theme>> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
9
9
|
export declare const ActionSpan: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
|
|
10
|
-
export declare const ActionButton: import('@emotion/styled').StyledComponent<import('@mui/material').ButtonOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style" | "fullWidth" | "size" | "action" | "
|
|
10
|
+
export declare const ActionButton: import('@emotion/styled').StyledComponent<import('@mui/material').ButtonOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "style" | "fullWidth" | "size" | "action" | "color" | "className" | "href" | "disabled" | "tabIndex" | "loading" | "classes" | "sx" | "variant" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "loadingIndicator" | "disableElevation" | "endIcon" | "loadingPosition" | "startIcon"> & import('@mui/system').MUIStyledCommonProps<Theme>, {}, {}>;
|
|
11
11
|
export declare const connectorVLineSx: (depth: number, isLast: boolean, INDENT: number) => SxProps<Theme>;
|
|
12
12
|
export declare const connectorHLineSx: (depth: number, INDENT: number) => SxProps<Theme>;
|
|
13
13
|
export declare const rowSx: (depth: number, INDENT: number, isSelected: boolean, dropPos: "before" | "after" | "inside" | null) => SxProps<Theme>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface SectionsModalProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
/**
|
|
5
|
+
* Kept for API parity with ahd-fe. Ignored in the standalone build —
|
|
6
|
+
* every click goes through `applyIndividualBlockTemplate` /
|
|
7
|
+
* `applyFullDocumentTemplate` regardless of caller. The `onInsert`
|
|
8
|
+
* splice path in ahd-fe requires a `remapBlocks` step we don't want
|
|
9
|
+
* to duplicate here; the helper-based path already handles both
|
|
10
|
+
* individual-block and full-doc templates correctly.
|
|
11
|
+
*/
|
|
12
|
+
onInsert?: (block: any, preassignedId?: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export default function SectionsModal({ open, onClose }: SectionsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TemplatePreviewDialogProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
template: any | null;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onUse: (id: string) => void;
|
|
6
|
+
onUseStyles: (id: string) => void;
|
|
7
|
+
onAppend: (id: string) => void;
|
|
8
|
+
loading: boolean;
|
|
9
|
+
styleLoading: boolean;
|
|
10
|
+
appendLoading: boolean;
|
|
11
|
+
/** True when the template is gated to a plan the tenant doesn't have. */
|
|
12
|
+
locked?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export default function TemplatePreviewDialog({ open, template, onClose, onUse, onUseStyles, onAppend, loading, styleLoading, appendLoading, locked, }: TemplatePreviewDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PagepilotApiClient, PageListResponse } from '../../../../api/PagepilotApiClient';
|
|
2
|
+
export interface TemplateRow {
|
|
3
|
+
id: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
tags?: string[] | string;
|
|
6
|
+
type?: string;
|
|
7
|
+
configuration?: any;
|
|
8
|
+
media?: any[];
|
|
9
|
+
previewImage?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
interface TemplatesListProps {
|
|
13
|
+
/** Fetch a paginated slice from the templates endpoint. */
|
|
14
|
+
fetchPage: (offset: number, limit: number) => Promise<PageListResponse>;
|
|
15
|
+
/** Fetch a single template's full record (with `configuration`). */
|
|
16
|
+
fetchOne: (id: string) => Promise<TemplateRow>;
|
|
17
|
+
/** Optional delete handler — shown as a hover-icon on each card. */
|
|
18
|
+
onDelete?: (id: string) => Promise<void>;
|
|
19
|
+
/** Placeholder shown in the search field. */
|
|
20
|
+
searchPlaceholder?: string;
|
|
21
|
+
/** Empty-state message when there are no results. */
|
|
22
|
+
emptyMessage?: string;
|
|
23
|
+
/** Empty-state message when a search returned no results. */
|
|
24
|
+
emptySearchMessage?: string;
|
|
25
|
+
}
|
|
26
|
+
export default function TemplatesList({ fetchPage, fetchOne, onDelete, searchPlaceholder, emptyMessage, emptySearchMessage, }: TemplatesListProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* Bind a TemplatesList to the global-template endpoint. Filters to
|
|
29
|
+
* `type: 'page'` on the wire so the browsable list only shows templates
|
|
30
|
+
* that are shape-compatible with the page canvas — matches ahd-fe's own
|
|
31
|
+
* page-editor Templates tab (see `useInfiniteGlobalTemplates({ type })`).
|
|
32
|
+
*
|
|
33
|
+
* Works with or without an authed client. When `client` is provided the
|
|
34
|
+
* call goes through the authed path (same origin + Bearer token). Without
|
|
35
|
+
* a client it falls back to the public no-auth `/global-template` fetch,
|
|
36
|
+
* so the tab is usable in a lean editor embed that doesn't wire apiConfig.
|
|
37
|
+
*/
|
|
38
|
+
export declare function GlobalTemplatesList({ client, }: {
|
|
39
|
+
client?: PagepilotApiClient | null;
|
|
40
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
/** Bind a TemplatesList to the per-tenant `mytemplate` endpoint. */
|
|
42
|
+
export declare function SavedTemplatesList({ client }: {
|
|
43
|
+
client: PagepilotApiClient;
|
|
44
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -12,4 +12,40 @@ declare const SpacerIcon: (props?: SvgIconProps) => import("react/jsx-runtime").
|
|
|
12
12
|
declare const HeadingIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
declare const StepperIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
declare const DragIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
|
|
15
|
+
declare const QuillEditorIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare const MarkDownIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const VideoBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare const LogoBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare const FlexColumnsIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare const ColumnsIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
declare const GridBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
declare const ContainerBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare const SpacerBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare const ButtonBlockIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare const ButtonGroupIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
declare const TabsIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare const AccordionIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare const YoutubeUrlIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
declare const MenuPickerIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
declare const IframeIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare const FormIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
declare const SkipToMainIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* Generic layout-preset glyph: draws one outlined rect per cell, positioned
|
|
35
|
+
* on a `cols`x`rows` grid using the same (colStart, colSpan, rowStart,
|
|
36
|
+
* rowSpan) placement data used by the real Grid preset, so the icon always
|
|
37
|
+
* matches the preset's actual shape.
|
|
38
|
+
*/
|
|
39
|
+
export type PresetIconCell = {
|
|
40
|
+
colStart: number;
|
|
41
|
+
colSpan: number;
|
|
42
|
+
rowStart: number;
|
|
43
|
+
rowSpan: number;
|
|
44
|
+
};
|
|
45
|
+
export declare const GridPresetIcon: (props: SvgIconProps & {
|
|
46
|
+
cols: number;
|
|
47
|
+
rows: number;
|
|
48
|
+
cells: PresetIconCell[];
|
|
49
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
declare const TableIcon: (props?: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export { ContainerIcon, GridIcon, ImageIcon, TextIcon, ButtonIcon, HtmlIcon, VideoIcon, DividerIcon, DragIcon, HeadingIcon, StepperIcon, AvatarIcon, SpacerIcon, QuillEditorIcon, MarkDownIcon, VideoBlockIcon, LogoBlockIcon, FlexColumnsIcon, ColumnsIcon, GridBlockIcon, ContainerBlockIcon, SpacerBlockIcon, ButtonBlockIcon, ButtonGroupIcon, TabsIcon, AccordionIcon, YoutubeUrlIcon, MenuPickerIcon, IframeIcon, FormIcon, SkipToMainIcon, TableIcon, };
|