pagepilot-visual-editor 1.0.26 → 1.0.28

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/blocks-internal/block-button/src/index.d.ts +10 -9
  3. package/dist/blocks-internal/block-button/src/styles.d.ts +5 -0
  4. package/dist/blocks-internal/block-button-group/src/index.d.ts +6 -0
  5. package/dist/blocks-internal/block-container/src/index.d.ts +5 -5
  6. package/dist/blocks-internal/block-heading/src/index.d.ts +30 -1
  7. package/dist/blocks-internal/block-image/src/index.d.ts +46 -11
  8. package/dist/blocks-internal/block-logo/src/index.d.ts +17 -11
  9. package/dist/blocks-internal/block-text/src/index.d.ts +25 -0
  10. package/dist/blocks-internal/block-video/src/index.d.ts +6 -0
  11. package/dist/blocks-internal/block-youtube-url/src/index.d.ts +6 -0
  12. package/dist/editor-sample/App/InspectorDrawer/LayersPanelStyles.d.ts +2 -2
  13. package/dist/editor-sample/App/shared/editor.styles.d.ts +3 -3
  14. package/dist/editor-sample/documents/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +6 -0
  15. package/dist/editor-sample/documents/blocks/Container/ContainerPropsSchema.d.ts +1 -1
  16. package/dist/editor-sample/documents/blocks/Table/TableImportDialog.styles.d.ts +7 -7
  17. package/dist/editor-sample/documents/blocks/helpers/responsiveStyle.d.ts +3 -16
  18. package/dist/editor-sample/documents/editor/EditorContext.d.ts +2 -2
  19. package/dist/editor-sample/documents/editor/core.d.ts +123 -27
  20. package/dist/email-builder-core/Reader/resolveResponsiveBlock.d.ts +17 -0
  21. package/dist/email-builder-core/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +6 -0
  22. package/dist/email-builder-core/blocks/Container/ContainerPropsSchema.d.ts +6 -4
  23. package/dist/email-builder-core/blocks/Container/ContainerReader.d.ts +1 -1
  24. package/dist/email-builder-core/blocks/EmailLayout/EmailLayoutReader.d.ts +1 -1
  25. package/dist/email-builder-core/blocks/MenuPicker/MenuPropsSchema.d.ts +12 -0
  26. package/dist/email-builder-core/blocks/MenuPicker/menuResponsiveCss.d.ts +1 -0
  27. package/dist/email-builder-core/blocks/Timer/TimerPropsSchema.d.ts +2 -0
  28. package/dist/email-builder-core/blocks/Timer/variants/CircularProgressView.d.ts +2 -1
  29. package/dist/email-builder-core/blocks/helpers/blockStyleHelpers.d.ts +37 -1
  30. package/dist/email-builder-core/renderers/animationCss.d.ts +5 -5
  31. package/dist/email-builder-core/renderers/pageScripts.d.ts +1 -11
  32. package/dist/email-builder-core/renderers/renderToStaticMarkup.d.ts +4 -2
  33. package/dist/email-builder-core/renderers/themeTokens.d.ts +130 -0
  34. package/dist/host-stubs/modules/settings/settingsSelectors.d.ts +5 -0
  35. package/dist/host-stubs/style/menu.styled.d.ts +5 -1
  36. package/dist/host-stubs/view/branding/brandDefaultFont.d.ts +3 -0
  37. package/dist/host-stubs/view/shared/editors/highlightCode.d.ts +1 -0
  38. package/dist/{index-BNqa-SV3.cjs → index-Br_dDd3Z.cjs} +359 -1226
  39. package/dist/{index-C4zNSWXe.js → index-Cp5AeqH5.js} +1 -1
  40. package/dist/{index-Dk7bp7l0.js → index-DcN8zC8_.js} +24173 -24385
  41. package/dist/{index-Cu-dtp0Q.cjs → index-SYmY8c1I.cjs} +1 -1
  42. package/dist/index.cjs +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/render-core/repeatRowManagement.d.ts +96 -0
  45. package/dist/render-core/stubs/editorContext.d.ts +3 -1
  46. package/dist/render.cjs +266 -1133
  47. package/dist/render.d.ts +2 -0
  48. package/dist/render.js +8969 -8627
  49. package/dist/renderToStaticHtml.d.ts +9 -1
  50. package/dist/{xlsx-Cd1etxFW.js → xlsx-Bk2GErZO.js} +1 -1
  51. package/dist/{xlsx-C6JQXDb3.cjs → xlsx-vznvhtjT.cjs} +1 -1
  52. package/package.json +1 -1
@@ -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" | "p" | "color" | "fontFamily" | "fontSize" | "fontWeight" | "fontStyle" | "textAlign" | "flex" | "display" | "position" | "border" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "width" | "px" | "height" | "borderRadius" | "borderColor" | "boxShadow" | "overflow" | "marginBottom" | "variant" | "gap" | "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
- 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" | "color" | "fontSize" | "classes" | "htmlColor" | "inheritViewBox" | "shapeRendering" | "sx" | "titleAccess" | "viewBox"> & 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" | "border" | "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
+ 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
- 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" | "textColor" | "action" | "orientation" | "variant" | "slots" | "classes" | "sx" | "aria-label" | "aria-labelledby" | "onChange" | "slotProps" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "visibleScrollbar"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
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" | "slots" | "classes" | "sx" | "aria-label" | "aria-labelledby" | "onChange" | "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" | "p" | "color" | "fontFamily" | "fontSize" | "fontWeight" | "fontStyle" | "textAlign" | "flex" | "display" | "position" | "border" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "width" | "px" | "height" | "borderRadius" | "borderColor" | "boxShadow" | "overflow" | "marginBottom" | "variant" | "gap" | "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>, "top" | "bottom" | "right" | "left" | "padding" | "margin" | "style" | "lineHeight" | "children" | "className" | "p" | "color" | "fontFamily" | "fontSize" | "fontWeight" | "fontStyle" | "textAlign" | "flex" | "display" | "position" | "border" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "width" | "px" | "height" | "borderRadius" | "borderColor" | "boxShadow" | "overflow" | "marginBottom" | "variant" | "gap" | "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>, {}, {}>;
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" | "border" | "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>, "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" | "border" | "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': {
@@ -14,6 +14,6 @@ export declare const PasteTextFieldSx: {
14
14
  };
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
- 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" | "color" | "fontSize" | "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" | "p" | "color" | "fontFamily" | "fontSize" | "fontWeight" | "fontStyle" | "textAlign" | "flex" | "display" | "position" | "border" | "paddingBottom" | "align" | "bgcolor" | "borderTop" | "width" | "px" | "height" | "borderRadius" | "borderColor" | "boxShadow" | "overflow" | "marginBottom" | "variant" | "gap" | "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>, {}, {}>;
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" | "border" | "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 StyledDialogActions: import('@emotion/styled').StyledComponent<import('@mui/material').DialogActionsProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
@@ -12,22 +12,9 @@ export type TResponsiveBlockData = {
12
12
  responsive?: TResponsiveOverrides | null;
13
13
  [key: string]: any;
14
14
  };
15
- /**
16
- * Viewport widths (px) each device tab represents. These match the actual
17
- * `@media (max-width: …)` breakpoints emitted by the responsive blocks (Grid,
18
- * FlexColumns, Carousel, Pagination — see their *Reader.tsx / *helpers.ts), so
19
- * the number shown in the sidebar is the real breakpoint, not an approximation.
20
- */
21
15
  export declare const DEVICE_VIEWPORT_WIDTH: Record<TDeviceType, number>;
22
- /**
23
- * The ONLY properties that may differ per device. Content (text, url, id,
24
- * image src, actions) and appearance that should stay consistent (colours,
25
- * borders) are intentionally excluded — they're edited once on Desktop and
26
- * shared across breakpoints. A per-device edit that isn't in these allowlists
27
- * is dropped by {@link applyDeviceEdit}, so overrides can never carry content.
28
- */
29
- export declare const RESPONSIVE_STYLE_KEYS: readonly ["fontSize", "fontFamily", "fontWeight", "fontStyle", "textDecoration", "lineHeight", "textAlign", "buttonTextAlign", "padding", "margin", "marginBottom", "width", "height", "borderRadius", "activeFontSize", "showActiveBorder", "tabGap", "contentGap", "navWidth", "starSize", "starGap", "itemGap", "viewportHeight", "arrowSize", "dotSize", "slideGap", "buttonSize", "buttonGap", "buttonRadius", "controlGap", "backgroundImage", "backgroundSize", "backgroundRepeat"];
30
- export declare const RESPONSIVE_PROP_KEYS: readonly ["contentAlignment", "horizontalAlignment", "width", "fontSize", "fontFamily", "fontWeight", "padding", "margin", "blockPadding", "gap", "borderRadius", "iconSize", "lineHeight", "speed", "pauseOnHover", "fadeEdges", "dotSize", "dotSpacing", "numericFontSize", "numericPosition"];
16
+ export declare const RESPONSIVE_STYLE_KEYS: readonly ["fontSize", "fontFamily", "fontWeight", "fontStyle", "textDecoration", "lineHeight", "lineClamp", "textAlign", "buttonTextAlign", "padding", "margin", "marginBottom", "width", "height", "borderRadius", "borderColor", "borderWidth", "activeFontSize", "showActiveBorder", "tabGap", "contentGap", "navWidth", "starSize", "starGap", "itemGap", "viewportHeight", "arrowSize", "dotSize", "slideGap", "buttonSize", "buttonGap", "buttonRadius", "controlGap", "backgroundImage", "backgroundSize", "backgroundRepeat"];
17
+ export declare const RESPONSIVE_PROP_KEYS: readonly ["contentAlignment", "horizontalAlignment", "width", "fontSize", "fontFamily", "fontWeight", "padding", "margin", "blockPadding", "blockMargin", "gap", "borderRadius", "iconSize", "lineHeight", "speed", "pauseOnHover", "fadeEdges", "dotSize", "dotSpacing", "numericFontSize", "numericPosition"];
31
18
  /**
32
19
  * NATIVE per-device props: a few layout blocks (Grid / FlexColumns / Pagination)
33
20
  * are already truly responsive via `@media` CSS keyed off dedicated props. Their
@@ -44,7 +31,7 @@ export declare const RESPONSIVE_PROP_KEYS: readonly ["contentAlignment", "horizo
44
31
  * {@link nativeKeysForBlock} to get the right set for a block type — never test
45
32
  * against this flat list directly.
46
33
  */
47
- 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", "height", "heightTablet", "heightMobile", "url", "urlTablet", "urlMobile", "iconName", "iconNameTablet", "iconNameMobile", "iconFillColor", "iconFillColorTablet", "iconFillColorMobile", "enableScroll", "enableScrollTablet", "enableScrollMobile", "orientation", "orientationTablet", "orientationMobile", "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", "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"];
48
35
  /**
49
36
  * The native per-device prop keys that apply to `blockType`. Unambiguous keys
50
37
  * are always native; ambiguous ones only for the block types that actually
@@ -112,7 +112,7 @@ export declare function useSelectedBlockId(): string;
112
112
  * re-renders A and B, not every other block on the canvas.
113
113
  */
114
114
  export declare function useIsBlockSelected(id: string): boolean;
115
- export declare function useSelectedScreenSize(): "mobile" | "tablet" | "desktop";
115
+ export declare function useSelectedScreenSize(): "desktop" | "tablet" | "mobile";
116
116
  export declare function useZoomLevel(): number;
117
117
  /**
118
118
  * View-only state — deliberately does NOT go through pushToUndoStack, so
@@ -125,7 +125,7 @@ export declare function resetZoom(): void;
125
125
  export declare function useMinimapVisible(): boolean;
126
126
  export declare function toggleMinimapVisible(): void;
127
127
  /** Which device's properties the sidebar is currently editing (see ResponsiveDeviceTabs). */
128
- export declare function useSidebarEditingDevice(): "mobile" | "tablet" | "desktop";
128
+ export declare function useSidebarEditingDevice(): "desktop" | "tablet" | "mobile";
129
129
  export declare function setSidebarEditingDevice(sidebarEditingDevice: TValue['sidebarEditingDevice']): void;
130
130
  export declare function useSelectedMainTab(): "html" | "editor" | "preview" | "json";
131
131
  export declare function useActiveStepIndex(): number;
@@ -85,6 +85,14 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
85
85
  left: z.ZodNumber;
86
86
  }, z.core.$strip>>>;
87
87
  borderColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
88
+ boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
89
+ color: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
90
+ offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
91
+ offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
92
+ blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
93
+ spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
94
+ inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
95
+ }, z.core.$strip>>>;
88
96
  buttonTextColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
89
97
  fullWidth: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
90
98
  widthType: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
@@ -142,6 +150,7 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
142
150
  actionPayload: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
143
151
  iconEnabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
144
152
  iconName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
153
+ iconUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
145
154
  iconAlignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
146
155
  right: "right";
147
156
  left: "left";
@@ -174,14 +183,6 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
174
183
  delay: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
175
184
  disableOnMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
176
185
  }, z.core.$strip>>>;
177
- boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
178
- color: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
179
- offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
180
- offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
181
- blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
182
- spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
183
- inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
184
- }, z.core.$strip>>>;
185
186
  }, z.core.$strip>>>;
186
187
  responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
187
188
  tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
@@ -223,7 +224,7 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
223
224
  left: z.ZodNumber;
224
225
  }, z.core.$strip>>>;
225
226
  boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
226
- color: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
227
+ color: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>>;
227
228
  offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
228
229
  offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
229
230
  blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
@@ -1302,6 +1303,12 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1302
1303
  right: z.ZodNumber;
1303
1304
  left: z.ZodNumber;
1304
1305
  }, z.core.$strip>>>;
1306
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1307
+ top: z.ZodNumber;
1308
+ bottom: z.ZodNumber;
1309
+ right: z.ZodNumber;
1310
+ left: z.ZodNumber;
1311
+ }, z.core.$strip>>>;
1305
1312
  }, z.core.$strip>>>;
1306
1313
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1307
1314
  childrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
@@ -1359,6 +1366,31 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1359
1366
  }>>>;
1360
1367
  url: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1361
1368
  openInNewTab: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1369
+ animation: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1370
+ type: z.ZodEnum<{
1371
+ none: "none";
1372
+ "fade-in": "fade-in";
1373
+ "slide-left": "slide-left";
1374
+ "slide-right": "slide-right";
1375
+ "slide-up": "slide-up";
1376
+ "slide-down": "slide-down";
1377
+ "zoom-in": "zoom-in";
1378
+ bounce: "bounce";
1379
+ }>;
1380
+ trigger: z.ZodEnum<{
1381
+ load: "load";
1382
+ scroll: "scroll";
1383
+ hover: "hover";
1384
+ click: "click";
1385
+ }>;
1386
+ speed: z.ZodEnum<{
1387
+ slow: "slow";
1388
+ medium: "medium";
1389
+ fast: "fast";
1390
+ }>;
1391
+ delay: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1392
+ disableOnMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1393
+ }, z.core.$strip>>>;
1362
1394
  }, z.core.$strip>>>;
1363
1395
  style: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1364
1396
  color: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
@@ -1434,6 +1466,10 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1434
1466
  left: z.ZodNumber;
1435
1467
  }, z.core.$strip>>>;
1436
1468
  }, z.core.$strip>>>;
1469
+ responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1470
+ tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1471
+ mobile: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
1472
+ }, z.core.$strip>>>;
1437
1473
  }, z.core.$strip>;
1438
1474
  Html: z.ZodObject<{
1439
1475
  style: z.ZodNullable<z.ZodOptional<z.ZodObject<{
@@ -1501,6 +1537,12 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1501
1537
  right: z.ZodNumber;
1502
1538
  left: z.ZodNumber;
1503
1539
  }, z.core.$strip>>>;
1540
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1541
+ top: z.ZodNumber;
1542
+ bottom: z.ZodNumber;
1543
+ right: z.ZodNumber;
1544
+ left: z.ZodNumber;
1545
+ }, z.core.$strip>>>;
1504
1546
  backgroundColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1505
1547
  textAlign: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1506
1548
  right: "right";
@@ -1514,6 +1556,14 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1514
1556
  px: "px";
1515
1557
  "%": "%";
1516
1558
  }>>>;
1559
+ widthUnitTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1560
+ px: "px";
1561
+ "%": "%";
1562
+ }>>>;
1563
+ widthUnitMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1564
+ px: "px";
1565
+ "%": "%";
1566
+ }>>>;
1517
1567
  widthTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1518
1568
  widthMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1519
1569
  height: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
@@ -1524,12 +1574,27 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1524
1574
  fixed: "fixed";
1525
1575
  fit: "fit";
1526
1576
  }>>>;
1577
+ widthTypeTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1578
+ fill: "fill";
1579
+ fixed: "fixed";
1580
+ fit: "fit";
1581
+ }>>>;
1582
+ widthTypeMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1583
+ fill: "fill";
1584
+ fixed: "fixed";
1585
+ fit: "fit";
1586
+ }>>>;
1527
1587
  url: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1528
1588
  urlTablet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1529
1589
  urlMobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1530
1590
  alt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1531
1591
  decorative: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1592
+ showLink: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1532
1593
  linkHref: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1594
+ linkTarget: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1595
+ _self: "_self";
1596
+ _blank: "_blank";
1597
+ }>>>;
1533
1598
  contentAlignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1534
1599
  top: "top";
1535
1600
  bottom: "bottom";
@@ -1548,11 +1613,19 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1548
1613
  right: z.ZodNumber;
1549
1614
  left: z.ZodNumber;
1550
1615
  }, z.core.$strip>>>;
1616
+ boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1617
+ color: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1618
+ offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1619
+ offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1620
+ blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1621
+ spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1622
+ inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1623
+ }, z.core.$strip>>>;
1624
+ iconName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1625
+ iconFillColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1551
1626
  rotation: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1552
1627
  rotationTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1553
1628
  rotationMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1554
- iconName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1555
- iconFillColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1556
1629
  animation: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1557
1630
  type: z.ZodEnum<{
1558
1631
  none: "none";
@@ -1590,14 +1663,6 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1590
1663
  linear: "linear";
1591
1664
  }>>>;
1592
1665
  }, z.core.$strip>>>;
1593
- boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1594
- color: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
1595
- offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1596
- offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1597
- blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1598
- spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1599
- inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1600
- }, z.core.$strip>>>;
1601
1666
  }, z.core.$strip>>>;
1602
1667
  }, z.core.$strip>;
1603
1668
  Logo: z.ZodObject<{
@@ -1608,6 +1673,12 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1608
1673
  right: z.ZodNumber;
1609
1674
  left: z.ZodNumber;
1610
1675
  }, z.core.$strip>>>;
1676
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1677
+ top: z.ZodNumber;
1678
+ bottom: z.ZodNumber;
1679
+ right: z.ZodNumber;
1680
+ left: z.ZodNumber;
1681
+ }, z.core.$strip>>>;
1611
1682
  backgroundColor: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1612
1683
  textAlign: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
1613
1684
  right: "right";
@@ -1643,6 +1714,14 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1643
1714
  right: z.ZodNumber;
1644
1715
  left: z.ZodNumber;
1645
1716
  }, z.core.$strip>>>;
1717
+ boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1718
+ color: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>;
1719
+ offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1720
+ offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1721
+ blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1722
+ spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1723
+ inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1724
+ }, z.core.$strip>>>;
1646
1725
  iconName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1647
1726
  iconNameTablet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1648
1727
  iconNameMobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -1674,14 +1753,6 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1674
1753
  delay: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1675
1754
  disableOnMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1676
1755
  }, z.core.$strip>>>;
1677
- boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1678
- color: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
1679
- offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1680
- offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1681
- blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1682
- spread: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1683
- inset: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1684
- }, z.core.$strip>>>;
1685
1756
  }, z.core.$strip>>>;
1686
1757
  }, z.core.$strip>;
1687
1758
  IFrame: z.ZodObject<{
@@ -1818,6 +1889,31 @@ export declare const EditorBlock: ({ type, data }: import('@usewaypoint/document
1818
1889
  summernote: "summernote";
1819
1890
  quill: "quill";
1820
1891
  }>>>;
1892
+ animation: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1893
+ type: z.ZodEnum<{
1894
+ none: "none";
1895
+ "fade-in": "fade-in";
1896
+ "slide-left": "slide-left";
1897
+ "slide-right": "slide-right";
1898
+ "slide-up": "slide-up";
1899
+ "slide-down": "slide-down";
1900
+ "zoom-in": "zoom-in";
1901
+ bounce: "bounce";
1902
+ }>;
1903
+ trigger: z.ZodEnum<{
1904
+ load: "load";
1905
+ scroll: "scroll";
1906
+ hover: "hover";
1907
+ click: "click";
1908
+ }>;
1909
+ speed: z.ZodEnum<{
1910
+ slow: "slow";
1911
+ medium: "medium";
1912
+ fast: "fast";
1913
+ }>;
1914
+ delay: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
1915
+ disableOnMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
1916
+ }, z.core.$strip>>>;
1821
1917
  }, z.core.$strip>>>;
1822
1918
  }, z.core.$strip>;
1823
1919
  EmailLayout: z.ZodObject<{
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Reader-side responsive resolution — PUBLISHED BAKE / static HTML path.
3
+ * -----------------------------------------------------------------------
4
+ * The published page is static HTML with no runtime device detection, so it
5
+ * can't "swap" values based on an editor-only toggle — whatever renders here
6
+ * is what EVERY visitor gets, regardless of their actual screen width. So this
7
+ * NO LONGER swaps `data.style`/`data.props` by a selected device: the block
8
+ * always renders its DESKTOP base here. Per-device differences are instead
9
+ * emitted as real `@media` CSS (see responsiveCss.ts) scoped to the block's
10
+ * wrapper id, applied alongside — genuinely responsive in any real browser.
11
+ *
12
+ * `hidden` visibility (`data.responsive[device].hidden`) still can't be a pure
13
+ * CSS `display:none` toggle without knowing the block's id ahead of render, so
14
+ * ReaderBlock (core.tsx) reads it separately via `isHiddenOnDevice` per device
15
+ * and emits its own `@media` display:none rule — see buildVisibilityCss.
16
+ */
17
+ export declare function resolveResponsiveBlock(block: any): any;
@@ -8,6 +8,12 @@ declare const ButtonGroupPropsSchema: z.ZodObject<{
8
8
  right: z.ZodNumber;
9
9
  left: z.ZodNumber;
10
10
  }, z.core.$strip>>>;
11
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
12
+ top: z.ZodNumber;
13
+ bottom: z.ZodNumber;
14
+ right: z.ZodNumber;
15
+ left: z.ZodNumber;
16
+ }, z.core.$strip>>>;
11
17
  }, z.core.$strip>>>;
12
18
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
13
19
  childrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
@@ -34,7 +34,7 @@ export declare const ContainerPropsSchema: z.ZodObject<{
34
34
  left: z.ZodNumber;
35
35
  }, z.core.$strip>>>;
36
36
  boxShadow: z.ZodNullable<z.ZodOptional<z.ZodObject<{
37
- color: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
37
+ color: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>>>;
38
38
  offsetX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
39
39
  offsetY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
40
40
  blur: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
@@ -72,8 +72,8 @@ export declare const ContainerPropsSchema: z.ZodObject<{
72
72
  widthTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
73
73
  widthMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
74
74
  height: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
75
- heightTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
76
- heightMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
75
+ heightTablet: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"auto">]>>>;
76
+ heightMobile: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"auto">]>>>;
77
77
  overflow: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
78
78
  alignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
79
79
  right: "right";
@@ -147,4 +147,6 @@ export declare const ContainerPropsSchema: z.ZodObject<{
147
147
  }, z.core.$strip>>>;
148
148
  }, z.core.$strip>>>;
149
149
  }, z.core.$strip>;
150
- export type ContainerProps = z.infer<typeof ContainerPropsSchema>;
150
+ export type ContainerProps = z.infer<typeof ContainerPropsSchema> & {
151
+ blockId?: string;
152
+ };
@@ -1,2 +1,2 @@
1
1
  import { ContainerProps } from './ContainerPropsSchema';
2
- export default function ContainerReader({ style, props }: ContainerProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function ContainerReader({ style, props, blockId }: ContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import { default as React } from 'react';
2
2
  import { EmailLayoutProps } from './EmailLayoutPropsSchema';
3
- export default function EmailLayoutReader(props: EmailLayoutProps): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>>;
3
+ export default function EmailLayoutReader(props: EmailLayoutProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>> | import("react/jsx-runtime").JSX.Element;
@@ -52,6 +52,12 @@ declare const MenuPropsInnerSchema: z.ZodObject<{
52
52
  bottom: z.ZodNumber;
53
53
  left: z.ZodNumber;
54
54
  }, z.core.$strip>>>;
55
+ blockMargin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
56
+ top: z.ZodNumber;
57
+ right: z.ZodNumber;
58
+ bottom: z.ZodNumber;
59
+ left: z.ZodNumber;
60
+ }, z.core.$strip>>>;
55
61
  gap: z.ZodDefault<z.ZodString>;
56
62
  showIcons: z.ZodDefault<z.ZodBoolean>;
57
63
  iconSize: z.ZodDefault<z.ZodString>;
@@ -115,6 +121,12 @@ export declare const MenuPropsSchema: z.ZodObject<{
115
121
  bottom: z.ZodNumber;
116
122
  left: z.ZodNumber;
117
123
  }, z.core.$strip>>>;
124
+ blockMargin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
125
+ top: z.ZodNumber;
126
+ right: z.ZodNumber;
127
+ bottom: z.ZodNumber;
128
+ left: z.ZodNumber;
129
+ }, z.core.$strip>>>;
118
130
  gap: z.ZodDefault<z.ZodString>;
119
131
  showIcons: z.ZodDefault<z.ZodBoolean>;
120
132
  iconSize: z.ZodDefault<z.ZodString>;
@@ -24,4 +24,5 @@
24
24
  */
25
25
  export declare function buildMenuResponsiveCss(menuKey: string, opts?: {
26
26
  dropdownBackground?: string | null;
27
+ hasSubmenuItemPadding?: boolean;
27
28
  }): string;
@@ -5,6 +5,7 @@ export declare const TimerPropsSchema: z.ZodObject<{
5
5
  textColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
6
6
  accentColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
7
  numberColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
+ numberFontWeight: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
9
  borderColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
9
10
  borderRadius: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodObject<{
10
11
  topLeft: z.ZodNumber;
@@ -39,6 +40,7 @@ export declare const TimerPropsSchema: z.ZodObject<{
39
40
  showZeros: "showZeros";
40
41
  }>>;
41
42
  expiredMessage: z.ZodDefault<z.ZodString>;
43
+ showConfetti: z.ZodDefault<z.ZodBoolean>;
42
44
  }, z.core.$strip>>>;
43
45
  }, z.core.$strip>;
44
46
  export type TimerProps = z.infer<typeof TimerPropsSchema>;
@@ -7,6 +7,7 @@ type Props = {
7
7
  accentColor?: string | null;
8
8
  textColor?: string | null;
9
9
  numberColor?: string | null;
10
+ numberFontWeight?: string | null;
10
11
  };
11
- export default function CircularProgressView({ days, hours, minutes, seconds, showLabels, accentColor, textColor, numberColor, }: Props): import("react/jsx-runtime").JSX.Element;
12
+ export default function CircularProgressView({ days, hours, minutes, seconds, showLabels, accentColor, textColor, numberColor, numberFontWeight, }: Props): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -4,8 +4,44 @@ type TPadding = {
4
4
  bottom: number;
5
5
  left: number;
6
6
  } | null | undefined;
7
+ type TMargin = {
8
+ top: number;
9
+ right: number;
10
+ bottom: number;
11
+ left: number;
12
+ } | null | undefined;
13
+ /**
14
+ * True when a color value is a CSS gradient rather than a solid color.
15
+ *
16
+ * This is the single source of truth for that question. It matters far beyond
17
+ * cosmetics: several blocks branch on it to decide WHICH CSS PROPERTIES to
18
+ * emit, not merely which value to set (e.g. gradient text is painted via
19
+ * `background-image` + `background-clip: text` + transparent `color`, while a
20
+ * solid color is just `color`). Previously this regex was copy-pasted into
21
+ * nine render sites, so any divergence silently changed which branch a block
22
+ * took.
23
+ *
24
+ * Callers MUST classify the RAW AUTHORED value with this before substituting a
25
+ * themed `var(--ahd-c-N, ...)` token in its place — a tokenized string does not
26
+ * match this pattern, so classifying after substitution would flip a gradient
27
+ * into the solid branch and render it as flat transparent text.
28
+ */
29
+ export declare function isGradientColor(value: string | null | undefined): value is string;
30
+ /**
31
+ * Reduce a color to something `box-shadow` can actually paint.
32
+ *
33
+ * CSS box-shadow doesn't accept gradients, so an author-picked gradient would
34
+ * otherwise make the shadow vanish entirely. Fall back to the gradient's first
35
+ * color stop to keep a (solid) shadow.
36
+ *
37
+ * Note this deliberately matches on `gradient` anywhere in the string rather
38
+ * than using `isGradientColor`: shadow colors reach here from several schemas
39
+ * and may be a bare gradient fragment rather than a full, anchored
40
+ * `linear-gradient(...)` value.
41
+ */
42
+ export declare function resolveShadowColor(color: string): string;
7
43
  export declare function formatPadding(p: TPadding): string | undefined;
8
- export declare function formatMargin(m: TPadding): string | undefined;
44
+ export declare function formatMargin(m: TMargin): string | undefined;
9
45
  /**
10
46
  * Pick the visible text for a trigger with an optional "show text" toggle.
11
47
  * - When `showText` is false → returns null (caller should render no text).