pagepilot-visual-editor 1.0.30 → 1.0.34
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/CHANGELOG.md +39 -0
- package/dist/blocks-internal/block-button/src/index.d.ts +6 -0
- package/dist/blocks-internal/block-heading/src/index.d.ts +2 -2
- package/dist/blocks-internal/block-list/src/index.d.ts +1 -1
- package/dist/editor-sample/App/InspectorDrawer/BehaviourPanel.d.ts +1 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/MenuPickerSidebarPanel.d.ts +1 -1
- package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/VariableLinkHint.d.ts +34 -3
- package/dist/editor-sample/App/InspectorDrawer/LayersPanelStyles.d.ts +1 -1
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/ChangeDesignFlow.d.ts +12 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/ChangeTemplateCompareDialog.d.ts +23 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/ChangeTemplateVariablesPane.d.ts +14 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/SectionsModal.d.ts +5 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/templateCategory.d.ts +1 -0
- package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/templateHelpers.d.ts +22 -62
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/AiGenerateButton.d.ts +5 -1
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/EditVariableDialog.d.ts +9 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ItemsArrayRepeatSection.d.ts +2 -3
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/RowCard.d.ts +6 -2
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ScalarFieldRow.d.ts +3 -1
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/aiFill.d.ts +42 -3
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/useAutoRegisterTokenFields.d.ts +13 -0
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/variableEditActions.d.ts +32 -0
- package/dist/editor-sample/App/InspectorDrawer/components/DateFieldControls.d.ts +2 -1
- package/dist/editor-sample/App/InspectorDrawer/components/DateTimeFieldControls.d.ts +2 -1
- package/dist/editor-sample/App/InspectorDrawer/components/MiniRichTextInput.d.ts +1 -0
- package/dist/editor-sample/App/InspectorDrawer/components/RichTextAiButton.d.ts +7 -0
- package/dist/editor-sample/App/InspectorDrawer/components/ScalarFieldInput.d.ts +2 -1
- package/dist/editor-sample/App/InspectorDrawer/components/TimeFieldControls.d.ts +2 -1
- package/dist/editor-sample/App/TemplatePanel/pageGuide/iframeSrcDoc.d.ts +3 -6
- package/dist/editor-sample/App/shared/PagePreviewFrame.d.ts +17 -2
- package/dist/editor-sample/App/shared/SectionsDropdown.d.ts +2 -2
- package/dist/editor-sample/App/shared/editor.styles.d.ts +2 -2
- package/dist/editor-sample/App/shared/pageSections.d.ts +7 -0
- package/dist/editor-sample/documents/blocks/EmailLayout/EmailLayoutPropsSchema.d.ts +4 -0
- package/dist/editor-sample/documents/blocks/MenuPicker/MenuPropsSchema.d.ts +8 -0
- package/dist/editor-sample/documents/blocks/MenuPicker/menuBlockLabel.d.ts +4 -0
- package/dist/editor-sample/documents/blocks/Table/TableImportDialog.styles.d.ts +6 -6
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/ScopePickerMenu.d.ts +3 -2
- package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/index.d.ts +2 -1
- package/dist/editor-sample/documents/blocks/helpers/InlineTextToolbar/popovers/TableResizeOverlay.d.ts +17 -0
- package/dist/editor-sample/documents/blocks/helpers/block-wrappers/saveAsTemplateUtils.d.ts +18 -6
- package/dist/editor-sample/documents/blocks/helpers/documentUtils.d.ts +28 -2
- package/dist/editor-sample/documents/blocks/helpers/responsiveStyle.d.ts +1 -1
- package/dist/editor-sample/documents/blocks/helpers/variableBinding.d.ts +0 -2
- package/dist/editor-sample/documents/editor/EditorContext.d.ts +10 -0
- package/dist/editor-sample/documents/editor/changeSectionDesign.d.ts +36 -0
- package/dist/editor-sample/documents/editor/core.d.ts +23 -2
- package/dist/editor-sample/documents/editor/sectionScope.d.ts +73 -0
- package/dist/editor-sample/documents/editor/templateVariables.d.ts +31 -14
- package/dist/email-builder-core/blocks/Container/ContainerReader.d.ts +1 -1
- package/dist/email-builder-core/blocks/EmailLayout/EmailLayoutPropsSchema.d.ts +4 -0
- package/dist/email-builder-core/blocks/FlexColumns/FlexColumnsPropsSchema.d.ts +3 -0
- package/dist/email-builder-core/blocks/FlexColumns/flexColumnsHelpers.d.ts +4 -2
- package/dist/email-builder-core/blocks/MenuPicker/MenuColumns.d.ts +15 -0
- package/dist/email-builder-core/blocks/MenuPicker/MenuPropsSchema.d.ts +16 -0
- package/dist/email-builder-core/renderers/themeTokens.d.ts +100 -4
- package/dist/host-stubs/modules/allSlugs/allSlugsActions.d.ts +1 -0
- package/dist/host-stubs/modules/allSlugs/allSlugsSelectors.d.ts +1 -0
- package/dist/host-stubs/modules/content/view/contentViewSelectors.d.ts +4 -0
- package/dist/host-stubs/modules/shared/axios/authAxios.d.ts +1 -0
- package/dist/host-stubs/modules/websiteV2/propagateFromPage.d.ts +4 -0
- package/dist/host-stubs/view/page/form/dialog/PageVariablesPreview.d.ts +5 -0
- package/dist/host-stubs/view/shared/styles/Table.styles.d.ts +1 -1
- package/dist/host-stubs/view/template/form/fields/renameFieldTokens.d.ts +26 -0
- package/dist/host-stubs/view/template/form/fields/types.d.ts +101 -0
- package/dist/{index-DVx38kGU.cjs → index-BksEeUhc.cjs} +340 -332
- package/dist/{index-B8pdGALF.js → index-Bqru3CFh.js} +59714 -56281
- package/dist/{index-C-KL2oQP.cjs → index-BszXspnA.cjs} +1 -1
- package/dist/{index-CStZQ7E0.js → index-CI-ydHOL.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/render.cjs +176 -168
- package/dist/render.js +4542 -4134
- package/dist/{xlsx-bYU68TCR.js → xlsx-BJAjl_m-.js} +1 -1
- package/dist/{xlsx-DUs4Mvqq.cjs → xlsx-D2eLxkb-.cjs} +1 -1
- package/package.json +1 -1
- package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/AiFillAllDialog.d.ts +0 -21
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* (our injected integration block, stray <script>/<noscript> tags).
|
|
5
|
-
*/
|
|
6
|
-
export declare function buildIframeSrcDoc(pageHtml: string): string;
|
|
1
|
+
export declare function buildIframeSrcDoc(pageHtml: string, opts?: {
|
|
2
|
+
ppTheme?: 'light' | 'dark';
|
|
3
|
+
}): string;
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import { TReaderDocument } from '../../../email-builder-core/index.ts';
|
|
2
|
-
export
|
|
2
|
+
export type PreviewPpTheme = 'light' | 'dark';
|
|
3
|
+
/** Resolve the editor preview preference to a concrete theme for iframes (they cannot inherit). */
|
|
4
|
+
export declare function resolvePreviewTheme(pref: 'light' | 'dark' | 'follow'): PreviewPpTheme;
|
|
5
|
+
/**
|
|
6
|
+
* `resolvePreviewTheme` for components that bake the result into an iframe's
|
|
7
|
+
* HTML. In `follow` mode the plain function reads `<html data-theme>` only once
|
|
8
|
+
* per render, so a memoized srcDoc keeps the OLD theme after the app switches
|
|
9
|
+
* light/dark (the live canvas updates, the static iframe doesn't). Reading the
|
|
10
|
+
* MUI palette mode makes the caller re-render — and the HTML rebuild — whenever
|
|
11
|
+
* the app theme changes.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useResolvedPreviewTheme(): PreviewPpTheme;
|
|
14
|
+
export declare function ensureFullHtmlDocument(html: string, opts?: {
|
|
15
|
+
ppTheme?: PreviewPpTheme;
|
|
16
|
+
}): string;
|
|
3
17
|
export declare function getBodyMarkup(html: string): string;
|
|
4
|
-
export declare function PagePreviewFrame({ savedContent, document, fallbackHeight, }: {
|
|
18
|
+
export declare function PagePreviewFrame({ savedContent, document, fallbackHeight, onInternalNavigate, }: {
|
|
5
19
|
savedContent?: string | null;
|
|
6
20
|
document: TReaderDocument;
|
|
7
21
|
fallbackHeight?: number | string;
|
|
22
|
+
onInternalNavigate?: (href: string) => void;
|
|
8
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
24
|
export default PagePreviewFrame;
|
|
@@ -3,8 +3,8 @@ type Props = {
|
|
|
3
3
|
sections: PageSection[];
|
|
4
4
|
activeSectionIndex: number;
|
|
5
5
|
onSelectSection: (index: number) => void;
|
|
6
|
-
onDeleteSection
|
|
7
|
-
onEditSection
|
|
6
|
+
onDeleteSection?: (index: number) => void;
|
|
7
|
+
onEditSection?: (index: number) => void;
|
|
8
8
|
onReorderSections?: (fromIndex: number, toIndex: number) => void;
|
|
9
9
|
};
|
|
10
10
|
declare const SectionsDropdown: ({ sections, activeSectionIndex, onSelectSection, onDeleteSection, onEditSection, onReorderSections, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const TruncatedEditorTitle: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
2
|
-
export declare const SettingLabelTypography: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
1
|
+
export declare const TruncatedEditorTitle: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
2
|
+
export declare const SettingLabelTypography: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
3
3
|
export declare const widthUnitSelectSx: {
|
|
4
4
|
'& .MuiOutlinedInput-notchedOutline': {
|
|
5
5
|
border: string;
|
|
@@ -24,5 +24,12 @@ export declare const isExternalSection: (section: Partial<PageSection> | undefin
|
|
|
24
24
|
* Identifier is auto-generated as `${sectionType}-${Date.now()}`.
|
|
25
25
|
*/
|
|
26
26
|
export declare const createPageSectionFromDraft: (draft: SectionDraft, defaultDocument: TEditorConfiguration) => PageSection;
|
|
27
|
+
/**
|
|
28
|
+
* Turns a multi-section page template's `sections` into page sections, giving
|
|
29
|
+
* each internal section's root the `formFields` tagged for it (`stepIndex` =
|
|
30
|
+
* section index, tag stripped). `existing` sections at the same index keep
|
|
31
|
+
* their `_id` / `identifier` so applying onto a saved page updates in place.
|
|
32
|
+
*/
|
|
33
|
+
export declare const buildSectionsFromTemplate: (templateSections: PageSection[], formFields?: any[], existing?: PageSection[]) => PageSection[];
|
|
27
34
|
/** Writes the live editor document back into the active section before switching or saving. */
|
|
28
35
|
export declare const mergeCurrentDocumentIntoSections: (sections: PageSection[], activeSectionIndex: number, document: TEditorConfiguration) => PageSection[];
|
|
@@ -100,6 +100,10 @@ declare const EmailLayoutPropsSchema: z.ZodObject<{
|
|
|
100
100
|
}, z.core.$strip>>>;
|
|
101
101
|
canvasColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
|
|
102
102
|
textColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
|
|
103
|
+
hostTheme: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
104
|
+
light: "light";
|
|
105
|
+
follow: "follow";
|
|
106
|
+
}>>>;
|
|
103
107
|
fontFamily: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
104
108
|
MODERN_SANS: "MODERN_SANS";
|
|
105
109
|
BOOK_SANS: "BOOK_SANS";
|
|
@@ -2,6 +2,10 @@ import { z } from 'zod';
|
|
|
2
2
|
declare const MenuPropsSchema: z.ZodObject<{
|
|
3
3
|
menuId: z.ZodDefault<z.ZodString>;
|
|
4
4
|
useCustomMenu: z.ZodDefault<z.ZodBoolean>;
|
|
5
|
+
navRole: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
footer: "footer";
|
|
7
|
+
header: "header";
|
|
8
|
+
}>>>;
|
|
5
9
|
stickyNav: z.ZodDefault<z.ZodBoolean>;
|
|
6
10
|
stickyNavTablet: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
7
11
|
stickyNavMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -13,6 +17,7 @@ declare const MenuPropsSchema: z.ZodObject<{
|
|
|
13
17
|
orientation: z.ZodDefault<z.ZodEnum<{
|
|
14
18
|
vertical: "vertical";
|
|
15
19
|
horizontal: "horizontal";
|
|
20
|
+
columns: "columns";
|
|
16
21
|
}>>;
|
|
17
22
|
menuItems: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
|
|
18
23
|
startChildrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
@@ -29,6 +34,9 @@ declare const MenuPropsSchema: z.ZodObject<{
|
|
|
29
34
|
submenuBackgroundColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
30
35
|
submenuRadius: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
31
36
|
submenuIconSize: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
37
|
+
submenuTextColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
38
|
+
submenuFontSize: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
39
|
+
submenuFontWeight: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
32
40
|
submenuPadding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
33
41
|
top: z.ZodNumber;
|
|
34
42
|
right: z.ZodNumber;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const StyledDialog: import('@emotion/styled').StyledComponent<import('@mui/material').DialogProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
2
|
-
export declare const StyledDialogTitle: import('@emotion/styled').StyledComponent<import('@mui/material').DialogTitleOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
2
|
+
export declare const StyledDialogTitle: import('@emotion/styled').StyledComponent<import('@mui/material').DialogTitleOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
3
3
|
export declare const CloseButton: import('@emotion/styled').StyledComponent<import('@mui/material').SvgIconOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').SVGProps<SVGSVGElement>, "style" | "children" | "className" | "fontSize" | "color" | "classes" | "htmlColor" | "inheritViewBox" | "shapeRendering" | "sx" | "titleAccess" | "viewBox"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
4
4
|
export declare const TabsBar: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
5
5
|
export declare const StyledTabs: import('@emotion/styled').StyledComponent<import('@mui/material').TabsOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "value" | "style" | "children" | "className" | "orientation" | "textColor" | "action" | "variant" | "classes" | "sx" | "aria-label" | "aria-labelledby" | "onChange" | "slots" | "slotProps" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "visibleScrollbar"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
6
6
|
export declare const StyledDialogContent: import('@emotion/styled').StyledComponent<import('@mui/material').DialogContentProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
7
|
-
export declare const HelperText: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
8
|
-
export declare const FileSummaryText: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
7
|
+
export declare const HelperText: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
8
|
+
export declare const FileSummaryText: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
9
9
|
export declare const ErrorAlert: import('@emotion/styled').StyledComponent<import('@mui/material').AlertProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
10
10
|
export declare const PasteTextFieldSx: {
|
|
11
11
|
readonly '& textarea': {
|
|
@@ -15,15 +15,15 @@ export declare const PasteTextFieldSx: {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const UploadDropzone: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
17
17
|
export declare const UploadIcon: import('@emotion/styled').StyledComponent<import('@mui/material').SvgIconOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').SVGProps<SVGSVGElement>, "style" | "children" | "className" | "fontSize" | "color" | "classes" | "htmlColor" | "inheritViewBox" | "shapeRendering" | "sx" | "titleAccess" | "viewBox"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
18
|
-
export declare const ChooseFileLabel: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
18
|
+
export declare const ChooseFileLabel: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
19
19
|
export declare const SheetPickerWrap: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
20
20
|
export declare const SheetPickerCard: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & {
|
|
21
21
|
selected?: boolean;
|
|
22
22
|
}, {}, {}>;
|
|
23
|
-
export declare const SheetPickerLabel: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
23
|
+
export declare const SheetPickerLabel: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & {
|
|
24
24
|
selected?: boolean;
|
|
25
25
|
}, {}, {}>;
|
|
26
|
-
export declare const SheetPickerMeta: 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" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "
|
|
26
|
+
export declare const SheetPickerMeta: import('@emotion/styled').StyledComponent<import('@mui/material').TypographyOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "border" | "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "fontSize" | "fontFamily" | "fontWeight" | "fontStyle" | "textAlign" | "marginBottom" | "width" | "height" | "borderRadius" | "borderColor" | "gap" | "p" | "color" | "flex" | "display" | "position" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "px" | "boxShadow" | "overflow" | "variant" | "paddingX" | "paddingY" | "marginX" | "marginY" | "maxWidth" | "maxHeight" | "classes" | "sx" | "letterSpacing" | "order" | "visibility" | "zIndex" | "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" | "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" | "py" | "typography" | "displayPrint" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & {
|
|
27
27
|
selected?: boolean;
|
|
28
28
|
}, {}, {}>;
|
|
29
29
|
export declare const StyledDialogActions: import('@emotion/styled').StyledComponent<import('@mui/material').DialogActionsProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
@@ -7,8 +7,9 @@ export type ScopeOption = {
|
|
|
7
7
|
};
|
|
8
8
|
type Props = {
|
|
9
9
|
anchorEl: HTMLElement | null;
|
|
10
|
-
options: [
|
|
10
|
+
options: ScopeOption[];
|
|
11
11
|
onClose: () => void;
|
|
12
|
+
title?: string;
|
|
12
13
|
};
|
|
13
|
-
export default function ScopePickerMenu({ anchorEl, options, onClose }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default function ScopePickerMenu({ anchorEl, options, onClose, title }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
export {};
|
package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ type Props = {
|
|
|
11
11
|
containerNeighbors?: ContainerNeighbor[];
|
|
12
12
|
onInsertIntoContainer?: (block: TEditorBlock, containerId: string, insertAt: 'start' | 'end') => void;
|
|
13
13
|
insertAboveCallback?: (block: TEditorBlock) => void;
|
|
14
|
+
onEditContent?: () => void;
|
|
14
15
|
};
|
|
15
|
-
export default function AddBlockButton({ onSelect, onPaste, placeholder, suppressAdd, containerNeighbors, onInsertIntoContainer, insertAboveCallback, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default function AddBlockButton({ onSelect, onPaste, placeholder, suppressAdd, containerNeighbors, onInsertIntoContainer, insertAboveCallback, onEditContent, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
editorEl: HTMLElement | null;
|
|
4
|
+
open: boolean;
|
|
5
|
+
/** Called after any DOM mutation so the editor can sync localDraft. */
|
|
6
|
+
onMutate: () => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Resize handles for <table>s inside the rich-text editor: drag a column
|
|
10
|
+
* border to resize the two adjacent columns, drag the right edge to resize
|
|
11
|
+
* the whole table, or use the width presets under the table. Column widths
|
|
12
|
+
* live on the first row's cells with `table-layout: fixed`, so every row
|
|
13
|
+
* follows them and the stored HTML renders the same once published.
|
|
14
|
+
* Portal'd to document.body so it escapes overflow/transform parents.
|
|
15
|
+
*/
|
|
16
|
+
export declare function TableResizeOverlay({ editorEl, open, onMutate }: Props): React.ReactPortal;
|
|
17
|
+
export {};
|
|
@@ -33,14 +33,26 @@ export type BlockTemplateConfiguration = {
|
|
|
33
33
|
* type's own child-id layout) into a flat `{ id: block }` map.
|
|
34
34
|
*/
|
|
35
35
|
export declare function collectBlockSubtree(document: BlockMap, rootBlockId: string): BlockMap;
|
|
36
|
+
/** `firstName` → "First Name" for a human-readable field label. */
|
|
37
|
+
export declare const humanize: (id: string) => string;
|
|
38
|
+
export declare function extractFormFieldsFromBlocks(blocks: BlockMap, rootBlockId: string): FormField[];
|
|
36
39
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
40
|
+
* Scalar `{{id}}` tokens present in the live document that have no matching
|
|
41
|
+
* root form field yet — returned as ready-to-append field objects. Lets the
|
|
42
|
+
* Variables panel surface a freshly-typed token immediately instead of only
|
|
43
|
+
* after "Save as template" runs `extractFormFieldsFromBlocks`.
|
|
44
|
+
* Repeat (array) fields are never auto-created here; they come from the
|
|
45
|
+
* explicit repeatable-container flow.
|
|
42
46
|
*/
|
|
43
|
-
export declare function
|
|
47
|
+
export declare function detectMissingScalarFields(document: BlockMap, forms: FormField[]): FormField[];
|
|
48
|
+
/**
|
|
49
|
+
* Add every `{{this.sub}}` token found inside a container-repeat field's own
|
|
50
|
+
* blocks (source + row subtrees) to that field's `itemFields`, so a row token
|
|
51
|
+
* typed after the repeat was set up shows in the Variables panel and survives
|
|
52
|
+
* save. Blocks belonging to a nested repeat are skipped — their tokens are
|
|
53
|
+
* that inner field's. Returns `forms` itself when nothing was added.
|
|
54
|
+
*/
|
|
55
|
+
export declare function mergeDetectedRowSubFields(document: BlockMap, forms: FormField[]): FormField[];
|
|
44
56
|
/**
|
|
45
57
|
* Convert one live root field into an authoring field for the template dialog.
|
|
46
58
|
* Only the DEFINITION is kept (id, name, type, itemFields, target blocks);
|
|
@@ -36,6 +36,13 @@ export declare const addRepeatRow: (documentTree: Record<string, any>, sourceBlo
|
|
|
36
36
|
* arrays. Used to delete a repeat row's cloned container subtree.
|
|
37
37
|
*/
|
|
38
38
|
export declare function removeSubtree(documentTree: Record<string, any>, idsToRemove: Set<string>): Record<string, any>;
|
|
39
|
+
/**
|
|
40
|
+
* removeSubtree for deleted repeat rows. Tabs are the exception to the
|
|
41
|
+
* "slot stays" rule: each repeat row owns a whole tab (label + panel), so
|
|
42
|
+
* deleting the row must drop the tab item itself — otherwise a blank-panel tab
|
|
43
|
+
* with a stale label is left behind. At least one tab is always kept.
|
|
44
|
+
*/
|
|
45
|
+
export declare function removeRepeatRowSubtrees(documentTree: Record<string, any>, cloneRootIds: string[], idsToRemove: Set<string>): Record<string, any>;
|
|
39
46
|
export type RepeatableSlot = {
|
|
40
47
|
childrenIds: string[];
|
|
41
48
|
};
|
|
@@ -69,6 +76,18 @@ export type ItemsArrayInfo = {
|
|
|
69
76
|
};
|
|
70
77
|
/** True if the block's repeatable content is a flat `props.items` array (no child blocks). */
|
|
71
78
|
export declare function isItemsArrayBlockType(type: string | undefined): boolean;
|
|
79
|
+
/** The `data.props` key an items-array block keeps its items under. */
|
|
80
|
+
export declare function getItemsArrayPropKey(type: string | undefined): string;
|
|
81
|
+
/** A block's current items array (empty when missing). */
|
|
82
|
+
export declare function readItemsArray(block: any): Record<string, any>[];
|
|
83
|
+
type ItemSubField = {
|
|
84
|
+
id: string;
|
|
85
|
+
mapsTo?: string;
|
|
86
|
+
};
|
|
87
|
+
/** Items → field rows: row keys are sub-field ids, read from each sub's `mapsTo` item key. */
|
|
88
|
+
export declare function itemsToRows(items: Record<string, any>[], itemFields: ItemSubField[] | null | undefined): Record<string, string>[];
|
|
89
|
+
/** Field rows → items: writes each row value onto its sub's `mapsTo` key, keeping other item keys. */
|
|
90
|
+
export declare function rowsToItems(rows: Record<string, any>[], existingItems: Record<string, any>[], itemFields: ItemSubField[] | null | undefined): Record<string, any>[];
|
|
72
91
|
/**
|
|
73
92
|
* Describe an items-array block's current items. Returns null when the block
|
|
74
93
|
* isn't a supported items-array type. Used by the Variables tab to decide
|
|
@@ -95,8 +114,8 @@ export type VariableGroup = {
|
|
|
95
114
|
*/
|
|
96
115
|
fieldNames: string[];
|
|
97
116
|
/**
|
|
98
|
-
* True when the block is a repeatable container
|
|
99
|
-
*
|
|
117
|
+
* True when the block is a repeatable container that owns no variables —
|
|
118
|
+
* no field and no row tokens (the Repeat toggle alone doesn't count). It owns nothing to edit,
|
|
100
119
|
* but its Repeat toggle is only reachable from its own screen, so it is
|
|
101
120
|
* listed separately rather than dropped. See `isVariableBoundBlock`.
|
|
102
121
|
*/
|
|
@@ -280,6 +299,12 @@ export declare const duplicateBlock: (documentTree: Record<string, any>, rootId:
|
|
|
280
299
|
updatedDocument: Record<string, any>;
|
|
281
300
|
newRootId: string;
|
|
282
301
|
};
|
|
302
|
+
/**
|
|
303
|
+
* Re-point a repeat field at its copied blocks. Items-array fields (MenuPicker
|
|
304
|
+
* custom menu) follow their block; container-repeat fields keep a row per
|
|
305
|
+
* copied row block. Null when the field's blocks weren't copied.
|
|
306
|
+
*/
|
|
307
|
+
export declare function cloneRepeatField(f: any, idMap: Record<string, string>): any | null;
|
|
283
308
|
export declare const cloneCopiedBlocks: (copiedConfig: {
|
|
284
309
|
rootBlockId: string;
|
|
285
310
|
blocks: Record<string, any>;
|
|
@@ -314,3 +339,4 @@ export declare function sanitizeAgainstKnownTypes(doc: Record<string, any>, know
|
|
|
314
339
|
removedTypes: string[];
|
|
315
340
|
changed: boolean;
|
|
316
341
|
};
|
|
342
|
+
export {};
|
|
@@ -31,7 +31,7 @@ export declare const RESPONSIVE_PROP_KEYS: readonly ["contentAlignment", "horizo
|
|
|
31
31
|
* {@link nativeKeysForBlock} to get the right set for a block type — never test
|
|
32
32
|
* against this flat list directly.
|
|
33
33
|
*/
|
|
34
|
-
export declare const NATIVE_DEVICE_PROP_KEYS: readonly ["columnsCount", "columnsCountTablet", "columnsCountMobile", "rowsCount", "rowsCountTablet", "rowsCountMobile", "columnsGap", "columnsGapTablet", "columnsGapMobile", "rowsGap", "desktopLayout", "tabletLayout", "mobileLayout", "columnShrink", "columnShrinkTablet", "columnShrinkMobile", "columnsDirection", "columnsDirectionTablet", "columnsDirectionMobile", "widthType", "widthTypeTablet", "widthTypeMobile", "size", "sizeTablet", "sizeMobile", "fixedWidths", "fixedWidthsTablet", "fixedWidthsMobile", "contentAlignmentTablet", "contentAlignmentMobile", "slidesPerView", "slidesPerViewTablet", "slidesPerViewMobile", "width", "widthTablet", "widthMobile", "widthUnit", "widthUnitTablet", "widthUnitMobile", "height", "heightTablet", "heightMobile", "url", "urlTablet", "urlMobile", "iconName", "iconNameTablet", "iconNameMobile", "iconFillColor", "iconFillColorTablet", "iconFillColorMobile", "enableScroll", "enableScrollTablet", "enableScrollMobile", "orientation", "orientationTablet", "orientationMobile", "dropdown", "dropdownTablet", "dropdownMobile", "direction", "directionTablet", "directionMobile", "gapTablet", "gapMobile", "alignmentTablet", "alignmentMobile", "rotation", "rotationTablet", "rotationMobile", "burgerDropdownBackgroundColor", "stickyNavTablet", "stickyNavMobile"];
|
|
34
|
+
export declare const NATIVE_DEVICE_PROP_KEYS: readonly ["columnsCount", "columnsCountTablet", "columnsCountMobile", "rowsCount", "rowsCountTablet", "rowsCountMobile", "columnsGap", "columnsGapTablet", "columnsGapMobile", "rowsGap", "desktopLayout", "tabletLayout", "mobileLayout", "columnShrink", "columnShrinkTablet", "columnShrinkMobile", "columnSpan", "columnSpanTablet", "columnSpanMobile", "columnsDirection", "columnsDirectionTablet", "columnsDirectionMobile", "widthType", "widthTypeTablet", "widthTypeMobile", "size", "sizeTablet", "sizeMobile", "fixedWidths", "fixedWidthsTablet", "fixedWidthsMobile", "contentAlignmentTablet", "contentAlignmentMobile", "slidesPerView", "slidesPerViewTablet", "slidesPerViewMobile", "width", "widthTablet", "widthMobile", "widthUnit", "widthUnitTablet", "widthUnitMobile", "height", "heightTablet", "heightMobile", "url", "urlTablet", "urlMobile", "iconName", "iconNameTablet", "iconNameMobile", "iconFillColor", "iconFillColorTablet", "iconFillColorMobile", "enableScroll", "enableScrollTablet", "enableScrollMobile", "orientation", "orientationTablet", "orientationMobile", "dropdown", "dropdownTablet", "dropdownMobile", "direction", "directionTablet", "directionMobile", "gapTablet", "gapMobile", "alignmentTablet", "alignmentMobile", "rotation", "rotationTablet", "rotationMobile", "burgerDropdownBackgroundColor", "stickyNavTablet", "stickyNavMobile"];
|
|
35
35
|
/**
|
|
36
36
|
* The native per-device prop keys that apply to `blockType`. Unambiguous keys
|
|
37
37
|
* are always native; ambiguous ones only for the block types that actually
|
|
@@ -8,7 +8,5 @@ export declare function getBlockScalarTokenIds(block: any): string[];
|
|
|
8
8
|
/** Every token-bearing string on a single block. */
|
|
9
9
|
export declare function blockTokenStrings(block: any): string[];
|
|
10
10
|
export declare function subtreeHasRowTokens(documentTree: Record<string, any>, rootId: string): boolean;
|
|
11
|
-
/** True if the author has switched the block's Repeat toggle on. */
|
|
12
|
-
export declare function hasRepeatEnabled(block: any): boolean;
|
|
13
11
|
export declare function isVariableBoundBlock(documentTree: Record<string, any>, blockId: string, fieldOwnerIds: Set<string>): boolean;
|
|
14
12
|
export declare function classifyVariableBlock(documentTree: Record<string, any>, blockId: string, fieldOwnerIds: Set<string>): 'bound' | 'candidate' | 'none';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PageTypes } from '../../App/hooks/constants';
|
|
2
2
|
import { TEditorConfiguration } from './core';
|
|
3
3
|
import { TemplateFormField, TemplateArrayRow } from './templateVariables';
|
|
4
|
+
export type PreviewHostTheme = 'light' | 'dark' | 'follow';
|
|
4
5
|
type TValue = {
|
|
5
6
|
document: TEditorConfiguration;
|
|
6
7
|
record: any | null;
|
|
@@ -8,6 +9,7 @@ type TValue = {
|
|
|
8
9
|
selectedSidebarTab: 'block-configuration' | 'styles' | 'behaviour' | 'layout' | 'settings' | 'background' | 'page-pilot-ai' | 'layers' | 'brand' | 'seo' | 'variables' | 'research';
|
|
9
10
|
selectedMainTab: 'editor' | 'preview' | 'json' | 'html';
|
|
10
11
|
selectedScreenSize: 'desktop' | 'mobile' | 'tablet';
|
|
12
|
+
previewHostTheme: PreviewHostTheme;
|
|
11
13
|
zoomLevel: number;
|
|
12
14
|
minimapVisible: boolean;
|
|
13
15
|
sidebarEditingDevice: 'desktop' | 'mobile' | 'tablet';
|
|
@@ -123,6 +125,8 @@ export declare function useSelectedBlockId(): string;
|
|
|
123
125
|
* re-renders A and B, not every other block on the canvas.
|
|
124
126
|
*/
|
|
125
127
|
export declare function useIsBlockSelected(id: string): boolean;
|
|
128
|
+
export declare function usePreviewHostTheme(): PreviewHostTheme;
|
|
129
|
+
export declare function setPreviewHostTheme(previewHostTheme: PreviewHostTheme): void;
|
|
126
130
|
export declare function useSelectedScreenSize(): "desktop" | "tablet" | "mobile";
|
|
127
131
|
export declare const ZOOM_MIN = 25;
|
|
128
132
|
export declare const ZOOM_MAX = 100;
|
|
@@ -194,6 +198,12 @@ export declare function useInlineEditing(): {
|
|
|
194
198
|
blockId: string | null;
|
|
195
199
|
draft: string;
|
|
196
200
|
};
|
|
201
|
+
/**
|
|
202
|
+
* Boolean selector — true only while THIS block is the one being inline-edited.
|
|
203
|
+
* Prefer over useInlineEditing() in per-block components so starting/stopping
|
|
204
|
+
* an edit doesn't re-render every Text/Heading/Button on the canvas.
|
|
205
|
+
*/
|
|
206
|
+
export declare function useIsBlockInlineEditing(id: string): boolean;
|
|
197
207
|
export declare function useHoveredBlockId(): string;
|
|
198
208
|
/**
|
|
199
209
|
* Boolean selector — returns true only when THIS block is the hovered one.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { TemplateSource } from './sectionScope';
|
|
2
|
+
/**
|
|
3
|
+
* "Change design": swap one section on the page for another block template
|
|
4
|
+
* while keeping the section's content.
|
|
5
|
+
*
|
|
6
|
+
* The new design takes the old section's place and its field scope (`__<n>`),
|
|
7
|
+
* and each of its fields takes the old value with the same plain id. A repeat
|
|
8
|
+
* list keeps all of its rows — the new design's row blocks are added/removed
|
|
9
|
+
* (growing its grid if needed) to match. Values the new design has no field
|
|
10
|
+
* for are dropped, so a section only ever carries its current design's data.
|
|
11
|
+
*
|
|
12
|
+
* Pure: returns the next document; the caller commits it.
|
|
13
|
+
*/
|
|
14
|
+
type Doc = Record<string, any>;
|
|
15
|
+
type Field = Record<string, any>;
|
|
16
|
+
export type ChangeSectionDesignResult = {
|
|
17
|
+
doc: Doc;
|
|
18
|
+
newRootIds: string[];
|
|
19
|
+
/** Plain ids of fields whose value came from the old design. */
|
|
20
|
+
carried: string[];
|
|
21
|
+
/** Plain ids of old values the new design has no field for (removed). */
|
|
22
|
+
dropped: string[];
|
|
23
|
+
/** Repeat fields that couldn't get a row block for every row. */
|
|
24
|
+
capacityLimited: string[];
|
|
25
|
+
};
|
|
26
|
+
export declare function changeSectionDesign({ doc, sectionRootId, configuration, templateFields, source, }: {
|
|
27
|
+
doc: Doc;
|
|
28
|
+
/** Top-level block of the section being replaced. */
|
|
29
|
+
sectionRootId: string;
|
|
30
|
+
/** The new block template's configuration ({ rootBlockId, blocks, childrenIds? }). */
|
|
31
|
+
configuration: any;
|
|
32
|
+
/** The new template's authored formFields. */
|
|
33
|
+
templateFields: Field[];
|
|
34
|
+
source: TemplateSource;
|
|
35
|
+
}): ChangeSectionDesignResult | null;
|
|
36
|
+
export {};
|
|
@@ -51,6 +51,12 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
51
51
|
normal: "normal";
|
|
52
52
|
bold: "bold";
|
|
53
53
|
}>>>;
|
|
54
|
+
textDecoration: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
55
|
+
none: "none";
|
|
56
|
+
underline: "underline";
|
|
57
|
+
"line-through": "line-through";
|
|
58
|
+
"underline line-through": "underline line-through";
|
|
59
|
+
}>>>;
|
|
54
60
|
textAlign: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
55
61
|
right: "right";
|
|
56
62
|
left: "left";
|
|
@@ -990,6 +996,9 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
990
996
|
columnShrink: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
|
|
991
997
|
columnShrinkTablet: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
|
|
992
998
|
columnShrinkMobile: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
|
|
999
|
+
columnSpan: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>>;
|
|
1000
|
+
columnSpanTablet: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>>;
|
|
1001
|
+
columnSpanMobile: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>>;
|
|
993
1002
|
equalColumns: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
994
1003
|
columns: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
995
1004
|
childrenIds: z.ZodArray<z.ZodString>;
|
|
@@ -1134,8 +1143,8 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
1134
1143
|
h6: "h6";
|
|
1135
1144
|
}>>>;
|
|
1136
1145
|
linkType: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
1137
|
-
link: "link";
|
|
1138
1146
|
text: "text";
|
|
1147
|
+
link: "link";
|
|
1139
1148
|
}>>>;
|
|
1140
1149
|
url: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
1141
1150
|
openInNewTab: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -1870,6 +1879,10 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
1870
1879
|
}, z.core.$strip>>>;
|
|
1871
1880
|
canvasColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
|
|
1872
1881
|
textColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
|
|
1882
|
+
hostTheme: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
1883
|
+
light: "light";
|
|
1884
|
+
follow: "follow";
|
|
1885
|
+
}>>>;
|
|
1873
1886
|
fontFamily: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
1874
1887
|
MODERN_SANS: "MODERN_SANS";
|
|
1875
1888
|
BOOK_SANS: "BOOK_SANS";
|
|
@@ -2164,8 +2177,8 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
2164
2177
|
"upper-roman": "upper-roman";
|
|
2165
2178
|
}>>>;
|
|
2166
2179
|
numberSuffix: z.ZodPreprocess<z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
2167
|
-
".": ".";
|
|
2168
2180
|
")": ")";
|
|
2181
|
+
".": ".";
|
|
2169
2182
|
}>>>>;
|
|
2170
2183
|
startNumber: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
2171
2184
|
markerColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
|
|
@@ -2239,6 +2252,10 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
2239
2252
|
MenuPicker: z.ZodObject<{
|
|
2240
2253
|
menuId: z.ZodDefault<z.ZodString>;
|
|
2241
2254
|
useCustomMenu: z.ZodDefault<z.ZodBoolean>;
|
|
2255
|
+
navRole: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
|
|
2256
|
+
footer: "footer";
|
|
2257
|
+
header: "header";
|
|
2258
|
+
}>>>;
|
|
2242
2259
|
stickyNav: z.ZodDefault<z.ZodBoolean>;
|
|
2243
2260
|
stickyNavTablet: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2244
2261
|
stickyNavMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -2250,6 +2267,7 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
2250
2267
|
orientation: z.ZodDefault<z.ZodEnum<{
|
|
2251
2268
|
vertical: "vertical";
|
|
2252
2269
|
horizontal: "horizontal";
|
|
2270
|
+
columns: "columns";
|
|
2253
2271
|
}>>;
|
|
2254
2272
|
menuItems: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
|
|
2255
2273
|
startChildrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
@@ -2266,6 +2284,9 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
|
|
|
2266
2284
|
submenuBackgroundColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2267
2285
|
submenuRadius: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
2268
2286
|
submenuIconSize: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
2287
|
+
submenuTextColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2288
|
+
submenuFontSize: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2289
|
+
submenuFontWeight: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2269
2290
|
submenuPadding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
2270
2291
|
top: z.ZodNumber;
|
|
2271
2292
|
right: z.ZodNumber;
|