pagepilot-visual-editor 1.0.4 → 1.0.6

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 (193) hide show
  1. package/README.md +277 -54
  2. package/dist/api/ApiClientContext.d.ts +17 -0
  3. package/dist/api/PagepilotApiClient.d.ts +63 -0
  4. package/dist/api/useTenantPlan.d.ts +25 -0
  5. package/dist/blocks-internal/block-button/src/index.d.ts +32 -1
  6. package/dist/blocks-internal/block-button-group/src/index.d.ts +20 -1
  7. package/dist/blocks-internal/block-columns-container/src/index.d.ts +38 -0
  8. package/dist/blocks-internal/block-container/src/index.d.ts +44 -5
  9. package/dist/blocks-internal/block-divider/src/index.d.ts +6 -0
  10. package/dist/blocks-internal/block-grid/src/index.d.ts +6 -0
  11. package/dist/blocks-internal/block-heading/src/index.d.ts +3 -2
  12. package/dist/blocks-internal/block-html/src/index.d.ts +6 -0
  13. package/dist/blocks-internal/block-iframe/src/index.d.ts +4 -0
  14. package/dist/blocks-internal/block-image/src/index.d.ts +17 -0
  15. package/dist/blocks-internal/block-logo/src/index.d.ts +20 -7
  16. package/dist/blocks-internal/block-stepper/src/index.d.ts +2 -2
  17. package/dist/blocks-internal/block-text/src/index.d.ts +1 -1
  18. package/dist/blocks-internal/block-video/src/index.d.ts +4 -0
  19. package/dist/blocks-internal/block-youtube-url/src/index.d.ts +4 -0
  20. package/dist/editor/Shell.d.ts +1 -1
  21. package/dist/editor/blockToggles.d.ts +1 -1
  22. package/dist/editor/publish/PagePublishDialog.d.ts +21 -0
  23. package/dist/editor/types.d.ts +63 -0
  24. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/ResponsiveModeContext.d.ts +12 -0
  25. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/blockStyleClipboard.d.ts +4 -4
  26. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/AppBannerPickerSidebarPanel.d.ts +19 -0
  27. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/DemoPickerSidebarPanel.d.ts +31 -0
  28. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/EmailLayoutSidebarPanel.d.ts +26 -0
  29. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/FaqPickerSidebarPanel.d.ts +18 -0
  30. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/FormsPickerSidebarPanel.d.ts +18 -0
  31. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/MenuPickerSidebarPanel.d.ts +34 -0
  32. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/PaginationSidebarPanel.d.ts +7 -0
  33. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/TableSidebarPanel.d.ts +9 -0
  34. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/TimerSidebarPanel.d.ts +7 -0
  35. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/CollapsibleSection.d.ts +8 -2
  36. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/MediaLibraryButton.d.ts +1 -1
  37. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/SectionWrapper.d.ts +2 -1
  38. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/deviceProp.d.ts +14 -0
  39. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/BaseColorInput.d.ts +4 -2
  40. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/Picker.d.ts +7 -1
  41. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/ColorInput/index.d.ts +3 -0
  42. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/PaddingInput.d.ts +4 -1
  43. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/RadiusInput.d.ts +13 -11
  44. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/SelectInput.d.ts +15 -0
  45. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/StepperInput.d.ts +19 -0
  46. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/inputs/WidthInputWithSelect.d.ts +4 -1
  47. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/sanitizeAgainstSchema.d.ts +11 -0
  48. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/helpers/style-inputs/MultiStylePropertyPanel.d.ts +2 -1
  49. package/dist/editor-sample/App/InspectorDrawer/EditorBehavior.d.ts +16 -0
  50. package/dist/editor-sample/App/InspectorDrawer/LayersPanelStyles.d.ts +2 -2
  51. package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/SectionsModal.d.ts +15 -0
  52. package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/TemplatePreviewDialog.d.ts +14 -0
  53. package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/TemplatesList.d.ts +45 -0
  54. package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/icons/index.d.ts +37 -1
  55. package/dist/editor-sample/App/InspectorDrawer/LayoutPanel/templateApplyHelpers.d.ts +101 -0
  56. package/dist/editor-sample/App/InspectorDrawer/PagePilotAiPanel.d.ts +1 -0
  57. package/dist/editor-sample/App/InspectorDrawer/SeoPanel/SeoFieldLabel.d.ts +7 -0
  58. package/dist/editor-sample/App/InspectorDrawer/SeoPanel/SeoPanel.styled.d.ts +12 -0
  59. package/dist/editor-sample/App/InspectorDrawer/SeoPanel/index.d.ts +6 -0
  60. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ApiResponseDialog.d.ts +10 -0
  61. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ArrayFieldEditor.d.ts +14 -0
  62. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/ContainerRepeatSection.d.ts +9 -0
  63. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/DataReferenceDialog.d.ts +15 -0
  64. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/DataReferencePanel.d.ts +20 -0
  65. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/GrowDirectionDialog.d.ts +13 -0
  66. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/RowCard.d.ts +23 -0
  67. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/SectionHeader.d.ts +13 -0
  68. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/VariablesPaywall.d.ts +1 -0
  69. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/constants.d.ts +2 -0
  70. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/dataReferenceUtils.d.ts +34 -0
  71. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/index.d.ts +1 -0
  72. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/repeatRowActions.d.ts +31 -0
  73. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/styles.d.ts +53 -0
  74. package/dist/editor-sample/App/InspectorDrawer/VariablesPanel/upgradeDialog.d.ts +4 -0
  75. package/dist/editor-sample/App/InspectorDrawer/components/MiniRichTextInput.d.ts +7 -0
  76. package/dist/editor-sample/App/InspectorDrawer/components/ScalarFieldInput.d.ts +10 -0
  77. package/dist/editor-sample/App/shared/editor.styles.d.ts +3 -3
  78. package/dist/editor-sample/documents/blocks/Accordion/AccordionPropsSchema.d.ts +6 -0
  79. package/dist/editor-sample/documents/blocks/AppBannerPicker/AppBannerEditor.d.ts +18 -0
  80. package/dist/editor-sample/documents/blocks/AppBannerPicker/AppBannerPropsSchema.d.ts +14 -0
  81. package/dist/editor-sample/documents/blocks/AppBannerPicker/appBanner.styled.d.ts +2 -0
  82. package/dist/editor-sample/documents/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +20 -1
  83. package/dist/editor-sample/documents/blocks/Carousel/CarouselPropsSchema.d.ts +7 -0
  84. package/dist/editor-sample/documents/blocks/ColumnsContainer/ColumnsContainerPropsSchema.d.ts +38 -0
  85. package/dist/editor-sample/documents/blocks/Container/ContainerPropsSchema.d.ts +56 -3
  86. package/dist/editor-sample/documents/blocks/DemoPicker/DemoEditor.d.ts +3 -0
  87. package/dist/editor-sample/documents/blocks/DemoPicker/DemoPropsSchema.d.ts +37 -0
  88. package/dist/editor-sample/documents/blocks/EmailLayout/EmailLayoutEditor.d.ts +2 -0
  89. package/dist/editor-sample/documents/blocks/{PagePilotLayout/PagePilotLayoutPropsSchema.d.ts → EmailLayout/EmailLayoutPropsSchema.d.ts} +51 -4
  90. package/dist/editor-sample/documents/blocks/FaqPicker/FaqEditor.d.ts +18 -0
  91. package/dist/editor-sample/documents/blocks/FaqPicker/FaqPickerPropsSchema.d.ts +14 -0
  92. package/dist/editor-sample/documents/blocks/FaqPicker/faqPicker.styled.d.ts +3 -0
  93. package/dist/editor-sample/documents/blocks/FlexColumns/FlexColumnsEditor.d.ts +6 -0
  94. package/dist/editor-sample/documents/blocks/FormsPicker/FormsEditor.d.ts +3 -0
  95. package/dist/editor-sample/documents/blocks/FormsPicker/FormsPropsSchema.d.ts +33 -0
  96. package/dist/editor-sample/documents/blocks/Grid/GridPropsSchema.d.ts +13 -2
  97. package/dist/editor-sample/documents/blocks/Marquee/MarqueePropsSchema.d.ts +12 -0
  98. package/dist/editor-sample/documents/blocks/MenuPicker/MenuEditor.d.ts +7 -0
  99. package/dist/editor-sample/documents/blocks/MenuPicker/MenuPropsSchema.d.ts +45 -0
  100. package/dist/editor-sample/documents/blocks/MenuPicker/mergeMenuItems.d.ts +13 -0
  101. package/dist/editor-sample/documents/blocks/Pagination/PaginationEditor.d.ts +2 -0
  102. package/dist/editor-sample/documents/blocks/Pagination/PaginationPropsSchema.d.ts +4 -0
  103. package/dist/editor-sample/documents/blocks/Table/TableCellEditor.d.ts +11 -0
  104. package/dist/editor-sample/documents/blocks/Table/TableEditor.d.ts +2 -0
  105. package/dist/editor-sample/documents/blocks/Table/TablePropsSchema.d.ts +1 -0
  106. package/dist/editor-sample/documents/blocks/TabsBlock/TabsBlockPropsSchema.d.ts +12 -0
  107. package/dist/editor-sample/documents/blocks/Timer/TimerEditor.d.ts +2 -0
  108. package/dist/editor-sample/documents/blocks/Timer/TimerPropsSchema.d.ts +38 -0
  109. package/dist/editor-sample/documents/blocks/Timer/timerMath.d.ts +9 -0
  110. package/dist/editor-sample/documents/blocks/Timer/variants/CircularProgressView.d.ts +9 -0
  111. package/dist/editor-sample/documents/blocks/Timer/variants/DigitalFlipView.d.ts +9 -0
  112. package/dist/editor-sample/documents/blocks/Timer/variants/TextInlineView.d.ts +9 -0
  113. package/dist/editor-sample/documents/blocks/helpers/BlockCategories.d.ts +1 -0
  114. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlockButton.d.ts +1 -1
  115. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/BlocksMenu.d.ts +1 -1
  116. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/DividerButton.d.ts +2 -1
  117. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/PlaceholderButton.d.ts +2 -1
  118. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/blockMenuStyles.d.ts +11 -0
  119. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/brandButtonDefaults.d.ts +4 -2
  120. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/buttons.d.ts +8 -0
  121. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/gridPresets.d.ts +17 -0
  122. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/AddBlockMenu/index.d.ts +3 -2
  123. package/dist/editor-sample/documents/blocks/helpers/EditorChildrenIds/index.d.ts +2 -1
  124. package/dist/editor-sample/documents/blocks/helpers/TStyle.d.ts +2 -0
  125. package/dist/editor-sample/documents/blocks/helpers/block-wrappers/saveAsTemplateUtils.d.ts +97 -0
  126. package/dist/editor-sample/documents/blocks/helpers/documentUtils.d.ts +96 -17
  127. package/dist/editor-sample/documents/blocks/helpers/responsiveStyle.d.ts +106 -0
  128. package/dist/editor-sample/documents/blocks/helpers/zod.d.ts +1 -1
  129. package/dist/editor-sample/documents/editor/EditorContext.d.ts +11 -2
  130. package/dist/editor-sample/documents/editor/core.d.ts +575 -16
  131. package/dist/editor-sample/documents/editor/templateVariables.d.ts +73 -0
  132. package/dist/email-builder-core/blocks/Accordion/AccordionPropsSchema.d.ts +6 -0
  133. package/dist/email-builder-core/blocks/AppBannerPicker/AppBannerPropsSchema.d.ts +16 -0
  134. package/dist/email-builder-core/blocks/AppBannerPicker/AppBannerReader.d.ts +3 -0
  135. package/dist/email-builder-core/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +20 -1
  136. package/dist/email-builder-core/blocks/Calendly/CalendlyPropsSchema.d.ts +4 -0
  137. package/dist/email-builder-core/blocks/Carousel/CarouselPropsSchema.d.ts +6 -0
  138. package/dist/email-builder-core/blocks/ColumnsContainer/ColumnsContainerPropsSchema.d.ts +38 -0
  139. package/dist/email-builder-core/blocks/Container/ContainerPropsSchema.d.ts +56 -3
  140. package/dist/email-builder-core/blocks/DemoPicker/DemoPropsSchema.d.ts +36 -0
  141. package/dist/email-builder-core/blocks/DemoPicker/DemoReader.d.ts +3 -0
  142. package/dist/email-builder-core/blocks/{PagePilotLayout/PagePilotLayoutPropsSchema.d.ts → EmailLayout/EmailLayoutPropsSchema.d.ts} +41 -2
  143. package/dist/email-builder-core/blocks/EmailLayout/EmailLayoutReader.d.ts +3 -0
  144. package/dist/email-builder-core/blocks/EmailLayout/emailLayoutResponsive.d.ts +46 -0
  145. package/dist/email-builder-core/blocks/FaqPicker/FaqPickerPropsSchema.d.ts +16 -0
  146. package/dist/email-builder-core/blocks/FaqPicker/FaqReader.d.ts +3 -0
  147. package/dist/email-builder-core/blocks/FlexColumns/FlexColumnsPropsSchema.d.ts +23 -2
  148. package/dist/email-builder-core/blocks/FlexColumns/FlexColumnsReader.d.ts +6 -0
  149. package/dist/email-builder-core/blocks/FlexColumns/flexColumnsHelpers.d.ts +71 -1
  150. package/dist/email-builder-core/blocks/FormsPicker/FormsPropsSchema.d.ts +19 -0
  151. package/dist/email-builder-core/blocks/FormsPicker/FormsReader.d.ts +3 -0
  152. package/dist/email-builder-core/blocks/Grid/GridPropsSchema.d.ts +12 -2
  153. package/dist/email-builder-core/blocks/Marquee/MarqueePropsSchema.d.ts +16 -0
  154. package/dist/email-builder-core/blocks/Marquee/MarqueeReader.d.ts +1 -1
  155. package/dist/email-builder-core/blocks/Marquee/marqueeMotion.d.ts +40 -0
  156. package/dist/email-builder-core/blocks/MenuPicker/MenuPropsSchema.d.ts +87 -0
  157. package/dist/email-builder-core/blocks/MenuPicker/MenuReader.d.ts +3 -0
  158. package/dist/email-builder-core/blocks/MenuPicker/menuResponsiveCss.d.ts +27 -0
  159. package/dist/email-builder-core/blocks/Pagination/PaginationPropsSchema.d.ts +119 -0
  160. package/dist/email-builder-core/blocks/Pagination/PaginationReader.d.ts +2 -0
  161. package/dist/email-builder-core/blocks/Pagination/paginationShared.d.ts +74 -0
  162. package/dist/email-builder-core/blocks/Table/TablePropsSchema.d.ts +48 -0
  163. package/dist/email-builder-core/blocks/Table/TableReader.d.ts +13 -0
  164. package/dist/email-builder-core/blocks/TabsBlock/TabsBlockPropsSchema.d.ts +12 -0
  165. package/dist/email-builder-core/blocks/Timer/TimerPropsSchema.d.ts +38 -0
  166. package/dist/email-builder-core/blocks/Timer/TimerReader.d.ts +2 -0
  167. package/dist/email-builder-core/blocks/Timer/variants/CircularProgressView.d.ts +11 -0
  168. package/dist/email-builder-core/blocks/Timer/variants/DigitalFlipView.d.ts +11 -0
  169. package/dist/email-builder-core/blocks/Timer/variants/TextInlineView.d.ts +11 -0
  170. package/dist/email-builder-core/blocks/responsiveBreakpoints.d.ts +32 -0
  171. package/dist/host-stubs/modules/_hostListShim.d.ts +18 -0
  172. package/dist/host-stubs/modules/appBannerV2/list/appBannerListActions.d.ts +1 -0
  173. package/dist/host-stubs/modules/appBannerV2/list/appBannerListSelectors.d.ts +1 -0
  174. package/dist/host-stubs/modules/demo/list/demoListActions.d.ts +1 -0
  175. package/dist/host-stubs/modules/demo/list/demoListSelectors.d.ts +1 -0
  176. package/dist/host-stubs/modules/faqGroup/list/faqGroupListActions.d.ts +1 -0
  177. package/dist/host-stubs/modules/faqGroup/list/faqGroupListSelectors.d.ts +1 -0
  178. package/dist/host-stubs/modules/forms/formsService.d.ts +9 -0
  179. package/dist/host-stubs/modules/menu/list/menuListActions.d.ts +1 -0
  180. package/dist/host-stubs/modules/menu/list/menuListSelectors.d.ts +1 -0
  181. package/dist/host-stubs/modules/store.d.ts +3 -0
  182. package/dist/host-stubs/react-redux.d.ts +3 -0
  183. package/dist/host-stubs/style/menu.styled.d.ts +73 -15
  184. package/dist/host-stubs/tanstack-react-query.d.ts +9 -0
  185. package/dist/host-stubs/view/shared/htmlSanitize.d.ts +15 -0
  186. package/dist/index.cjs +381 -817
  187. package/dist/index.d.ts +2 -0
  188. package/dist/index.js +64041 -101752
  189. package/dist/style.css +1 -1
  190. package/package.json +2 -10
  191. package/dist/editor-sample/App/InspectorDrawer/ConfigurationPanel/input-panels/PagePilotLayoutSidebarPanel.d.ts +0 -24
  192. package/dist/editor-sample/documents/blocks/PagePilotLayout/PagePilotLayoutEditor.d.ts +0 -2
  193. package/dist/email-builder-core/blocks/PagePilotLayout/PagePilotLayoutReader.d.ts +0 -3
@@ -26,8 +26,81 @@ export type TemplateFormField = {
26
26
  itemFields?: TemplateItemFieldDef[];
27
27
  sourceBlockId?: string;
28
28
  rowIds?: string[];
29
+ /**
30
+ * Set on a container-repeat array field driven from the Variables tab's
31
+ * "Repeatable container" flow: the id of the Grid/FlexColumns/ColumnsContainer
32
+ * whose EMPTY slots get stamped with clones of `sourceBlockId`'s subtree.
33
+ * (`sourceBlockId` = the block sitting in the container's first filled slot;
34
+ * `rowIds` = the stamped clones' roots, one per filled empty slot.)
35
+ */
36
+ containerId?: string;
37
+ /**
38
+ * Author flag set from "Set template details" → Template Fields: marks this
39
+ * field's content as intended to be repeated once the template is applied
40
+ * (e.g. across grid cells / carousel slides). Pure metadata — carried through
41
+ * from the saved template record, doesn't drive any runtime behavior itself.
42
+ */
43
+ repeatable?: boolean;
44
+ /**
45
+ * The id of the block template this repeatable field is bound to — captured
46
+ * when the field's block is saved via the Variables-panel "Save as New
47
+ * Template" shortcut. Gives a reference to WHICH template drives this grid so
48
+ * the "Change Template" flow can key-match form fields on replace, and the
49
+ * Data Reference tab knows the source template.
50
+ */
51
+ templateId?: string;
52
+ /**
53
+ * "Data Reference" binding for a repeatable field: where the repetition data
54
+ * comes from. `custom` = the manual rows editor (default). `api`/`menu` pull
55
+ * an array of objects whose keys map to this field's sub-field ids; each
56
+ * object seeds one repeated copy. `customJson` holds the pasted JSON text for
57
+ * the `custom-json` source. Only meaningful when `repeatable` is set.
58
+ */
59
+ dataSource?: {
60
+ /** `api` = fetch an array of objects from a REST endpoint. */
61
+ type: 'custom' | 'custom-json' | 'api' | 'menu';
62
+ /** Raw JSON text for `custom-json`. */
63
+ customJson?: string;
64
+ /** Endpoint URL for the `api` source. Persisted in config. */
65
+ apiUrl?: string;
66
+ /** HTTP method for the `api` source. Only GET works today; POST is planned. */
67
+ apiMethod?: 'GET' | 'POST';
68
+ /** Selected menu id for `menu`. */
69
+ menuId?: string;
70
+ };
29
71
  };
30
72
  export declare function buildRepeatRowIndex(document: TEditorConfiguration | null | undefined, fields: TemplateFormField[] | null | undefined): Map<string, TemplateArrayRow>;
73
+ /**
74
+ * Apply `sourceHtml`'s formatting shell to `targetHtml`'s text. If the source
75
+ * has no formatting, returns the target unchanged (keeps the copy's text as-is).
76
+ */
77
+ export declare function applyRowFormatting(sourceHtml: string, targetHtml: string): string;
78
+ /**
79
+ * For each container-repeat field whose source block sits inside `sourceRootId`'s
80
+ * subtree, copy row 0's per-sub-field FORMATTING onto every other row (keeping
81
+ * each row's text). Returns a new `fields` array; unrelated fields pass through.
82
+ */
83
+ export declare function syncRepeatRowFormatting(fields: TemplateFormField[], document: TEditorConfiguration | null | undefined, sourceRootId: string): TemplateFormField[];
84
+ /**
85
+ * When a Text/Heading/Button block's text is a SINGLE template token
86
+ * (`{{description}}` for a scalar field, or `{{this.sub}}` for a row sub-field
87
+ * bound to a container-repeat block), resolve what that token currently maps to
88
+ * so the inline editor can edit the real value instead of the raw token.
89
+ *
90
+ * Returns:
91
+ * - `value`: the current HTML/string the token resolves to (seed for editing)
92
+ * - `apply(next, forms)`: produces a new `forms` array with `next` written
93
+ * back to the right field / row cell. Callers persist the result via
94
+ * `setTemplateForms`.
95
+ *
96
+ * Returns `null` when the block text isn't a pure single token, or the token
97
+ * doesn't correspond to an editable field (then the caller keeps the existing
98
+ * "edit the raw source" behaviour).
99
+ */
100
+ export declare function resolveEditableTokenField(rawText: string, blockId: string, document: TEditorConfiguration | null | undefined, fields: TemplateFormField[] | null | undefined): {
101
+ value: string;
102
+ apply: (next: string, forms: TemplateFormField[]) => TemplateFormField[];
103
+ } | null;
31
104
  /**
32
105
  * Drop / repair form fields whose tokens or blocks were deleted from the editor
33
106
  * so the Variables tab stays in sync in real time.
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  export declare const AccordionPropsSchema: z.ZodObject<{
3
+ responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
4
+ tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
5
+ mobile: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
6
+ }, z.core.$strip>>>;
3
7
  style: z.ZodNullable<z.ZodOptional<z.ZodObject<{
4
8
  backgroundColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5
9
  borderColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -30,6 +34,8 @@ export declare const AccordionPropsSchema: z.ZodObject<{
30
34
  }, z.core.$strip>>>>;
31
35
  iconColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
32
36
  iconSize: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
37
+ defaultOpen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
38
+ activeBorderColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
33
39
  }, z.core.$strip>>>;
34
40
  }, z.core.$strip>;
35
41
  export type AccordionProps = z.infer<typeof AccordionPropsSchema>;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const AppBannerPropsSchema: z.ZodObject<{
3
+ style: z.ZodNullable<z.ZodOptional<z.ZodObject<{}, z.core.$loose>>>;
4
+ props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
5
+ bannerId: z.ZodDefault<z.ZodString>;
6
+ bannerName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ contentDocument: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
8
+ padding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
9
+ top: z.ZodNumber;
10
+ right: z.ZodNumber;
11
+ bottom: z.ZodNumber;
12
+ left: z.ZodNumber;
13
+ }, z.core.$strip>>>;
14
+ }, z.core.$strip>>>;
15
+ }, z.core.$strip>;
16
+ export type AppBannerPickerProps = z.infer<typeof AppBannerPropsSchema>;
@@ -0,0 +1,3 @@
1
+ import { AppBannerPickerProps } from './AppBannerPropsSchema';
2
+ declare const AppBannerReader: ({ props: p }: AppBannerPickerProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default AppBannerReader;
@@ -12,18 +12,37 @@ declare const ButtonGroupPropsSchema: z.ZodObject<{
12
12
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
13
13
  childrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
14
14
  direction: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
15
+ row: "row";
16
+ column: "column";
17
+ }>>>;
18
+ directionTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
19
+ row: "row";
15
20
  column: "column";
21
+ }>>>;
22
+ directionMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
16
23
  row: "row";
24
+ column: "column";
17
25
  }>>>;
18
26
  gap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
19
27
  alignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
20
28
  center: "center";
29
+ "space-between": "space-between";
30
+ start: "start";
21
31
  end: "end";
32
+ }>>>;
33
+ alignmentTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
34
+ center: "center";
35
+ "space-between": "space-between";
22
36
  start: "start";
37
+ end: "end";
38
+ }>>>;
39
+ alignmentMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
40
+ center: "center";
23
41
  "space-between": "space-between";
42
+ start: "start";
43
+ end: "end";
24
44
  }>>>;
25
45
  wrap: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
26
- fullWidthOnMobile: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
27
46
  ariaLabel: z.ZodNullable<z.ZodOptional<z.ZodString>>;
28
47
  }, z.core.$strip>>>;
29
48
  }, z.core.$strip>;
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  export declare const CalendlyPropsSchema: z.ZodObject<{
3
+ responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
4
+ tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
5
+ mobile: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
6
+ }, z.core.$strip>>>;
3
7
  style: z.ZodNullable<z.ZodOptional<z.ZodObject<{
4
8
  padding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
5
9
  top: z.ZodNumber;
@@ -18,6 +18,12 @@ export declare const CarouselPropsSchema: z.ZodObject<{
18
18
  right: z.ZodNumber;
19
19
  left: z.ZodNumber;
20
20
  }, z.core.$strip>>>;
21
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
22
+ top: z.ZodNumber;
23
+ bottom: z.ZodNumber;
24
+ right: z.ZodNumber;
25
+ left: z.ZodNumber;
26
+ }, z.core.$strip>>>;
21
27
  slideGap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
22
28
  arrowColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
23
29
  arrowBgColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -21,6 +21,12 @@ declare const ColumnsContainerPropsSchema: z.ZodObject<{
21
21
  right: z.ZodNumber;
22
22
  left: z.ZodNumber;
23
23
  }, z.core.$strip>>>;
24
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
25
+ top: z.ZodNumber;
26
+ bottom: z.ZodNumber;
27
+ right: z.ZodNumber;
28
+ left: z.ZodNumber;
29
+ }, z.core.$strip>>>;
24
30
  }, z.core.$strip>>>;
25
31
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
26
32
  columns: z.ZodTuple<[z.ZodObject<{
@@ -35,18 +41,50 @@ declare const ColumnsContainerPropsSchema: z.ZodObject<{
35
41
  fixed: "fixed";
36
42
  fit: "fit";
37
43
  }>>>;
44
+ widthTypeTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
45
+ fill: "fill";
46
+ fixed: "fixed";
47
+ fit: "fit";
48
+ }>>>;
49
+ widthTypeMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
50
+ fill: "fill";
51
+ fixed: "fixed";
52
+ fit: "fit";
53
+ }>>>;
38
54
  fixedWidths: z.ZodNullable<z.ZodOptional<z.ZodTuple<[z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>], null>>>;
55
+ fixedWidthsTablet: z.ZodNullable<z.ZodOptional<z.ZodTuple<[z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>], null>>>;
56
+ fixedWidthsMobile: z.ZodNullable<z.ZodOptional<z.ZodTuple<[z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>, z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>], null>>>;
39
57
  columnsCount: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>>;
40
58
  columnsGap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
59
+ columnsGapTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
60
+ columnsGapMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
41
61
  columnsDirection: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
42
62
  horizontal: "horizontal";
43
63
  vertical: "vertical";
44
64
  }>>>;
65
+ columnsDirectionTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
66
+ horizontal: "horizontal";
67
+ vertical: "vertical";
68
+ }>>>;
69
+ columnsDirectionMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
70
+ horizontal: "horizontal";
71
+ vertical: "vertical";
72
+ }>>>;
45
73
  contentAlignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
46
74
  top: "top";
47
75
  bottom: "bottom";
48
76
  middle: "middle";
49
77
  }>>>;
78
+ contentAlignmentTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
79
+ top: "top";
80
+ bottom: "bottom";
81
+ middle: "middle";
82
+ }>>>;
83
+ contentAlignmentMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
84
+ top: "top";
85
+ bottom: "bottom";
86
+ middle: "middle";
87
+ }>>>;
50
88
  }, z.core.$strip>>>;
51
89
  }, z.core.$strip>;
52
90
  export default ColumnsContainerPropsSchema;
@@ -4,6 +4,10 @@ export declare const ContainerPropsSchema: z.ZodObject<{
4
4
  backgroundColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
5
5
  backgroundImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
6
  backgroundSize: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ backgroundRepeat: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
8
+ repeat: "repeat";
9
+ "no-repeat": "no-repeat";
10
+ }>>>;
7
11
  borderColor: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodLiteral<"transparent">]>>>;
8
12
  borderRadius: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
9
13
  topLeft: z.ZodNumber;
@@ -17,6 +21,12 @@ export declare const ContainerPropsSchema: z.ZodObject<{
17
21
  right: z.ZodNumber;
18
22
  left: z.ZodNumber;
19
23
  }, z.core.$strip>>>;
24
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
25
+ top: z.ZodNumber;
26
+ bottom: z.ZodNumber;
27
+ right: z.ZodNumber;
28
+ left: z.ZodNumber;
29
+ }, z.core.$strip>>>;
20
30
  borderWidth: z.ZodNullable<z.ZodOptional<z.ZodObject<{
21
31
  top: z.ZodNumber;
22
32
  bottom: z.ZodNumber;
@@ -24,6 +34,10 @@ export declare const ContainerPropsSchema: z.ZodObject<{
24
34
  left: z.ZodNumber;
25
35
  }, z.core.$strip>>>;
26
36
  }, z.core.$strip>>>;
37
+ responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
38
+ tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
39
+ mobile: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
40
+ }, z.core.$strip>>>;
27
41
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
28
42
  childrenIds: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
29
43
  fullWidth: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -32,21 +46,60 @@ export declare const ContainerPropsSchema: z.ZodObject<{
32
46
  fixed: "fixed";
33
47
  fit: "fit";
34
48
  }>>>;
49
+ widthTypeTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
50
+ fill: "fill";
51
+ fixed: "fixed";
52
+ fit: "fit";
53
+ }>>>;
54
+ widthTypeMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
55
+ fill: "fill";
56
+ fixed: "fixed";
57
+ fit: "fit";
58
+ }>>>;
35
59
  width: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
60
+ widthUnit: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
61
+ px: "px";
62
+ "%": "%";
63
+ }>>>;
64
+ widthTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
65
+ widthMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
36
66
  height: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
67
+ heightTablet: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
68
+ heightMobile: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
37
69
  overflow: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
70
+ alignment: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
71
+ right: "right";
72
+ left: "left";
73
+ center: "center";
74
+ }>>>;
75
+ alignmentTablet: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
76
+ right: "right";
77
+ left: "left";
78
+ center: "center";
79
+ }>>>;
80
+ alignmentMobile: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
81
+ right: "right";
82
+ left: "left";
83
+ center: "center";
84
+ }>>>;
38
85
  tag: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
39
86
  div: "div";
87
+ section: "section";
40
88
  article: "article";
89
+ nav: "nav";
41
90
  aside: "aside";
42
- footer: "footer";
43
91
  header: "header";
92
+ footer: "footer";
44
93
  main: "main";
45
- nav: "nav";
46
- section: "section";
47
94
  }>>>;
48
95
  ariaLabel: z.ZodNullable<z.ZodOptional<z.ZodString>>;
49
96
  elementId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
97
+ showLink: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
98
+ linkHref: z.ZodNullable<z.ZodOptional<z.ZodString>>;
99
+ linkTarget: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
100
+ _self: "_self";
101
+ _blank: "_blank";
102
+ }>>>;
50
103
  }, z.core.$strip>>>;
51
104
  }, z.core.$strip>;
52
105
  export type ContainerProps = z.infer<typeof ContainerPropsSchema>;
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare const DemoPropsSchema: z.ZodObject<{
3
+ responsive: z.ZodNullable<z.ZodOptional<z.ZodObject<{
4
+ tablet: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
5
+ mobile: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
6
+ }, z.core.$strip>>>;
7
+ style: z.ZodNullable<z.ZodOptional<z.ZodObject<{
8
+ padding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
9
+ top: z.ZodNumber;
10
+ bottom: z.ZodNumber;
11
+ right: z.ZodNumber;
12
+ left: z.ZodNumber;
13
+ }, z.core.$strip>>>;
14
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
15
+ top: z.ZodNumber;
16
+ bottom: z.ZodNumber;
17
+ right: z.ZodNumber;
18
+ left: z.ZodNumber;
19
+ }, z.core.$strip>>>;
20
+ textAlign: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
21
+ right: "right";
22
+ left: "left";
23
+ center: "center";
24
+ }>>>;
25
+ }, z.core.$strip>>>;
26
+ props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
27
+ demoId: z.ZodDefault<z.ZodString>;
28
+ iframeSrc: z.ZodDefault<z.ZodString>;
29
+ width: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
30
+ height: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
31
+ borderRadius: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
32
+ borderColor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
33
+ borderWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
34
+ }, z.core.$strip>>>;
35
+ }, z.core.$strip>;
36
+ export type DemoPickerProps = z.infer<typeof DemoPropsSchema>;
@@ -0,0 +1,3 @@
1
+ import { DemoPickerProps } from './DemoPropsSchema';
2
+ declare const DemoReader: ({ style, props }: DemoPickerProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default DemoReader;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const PagePilotLayoutPropsSchema: z.ZodObject<{
2
+ export declare const EmailLayoutPropsSchema: z.ZodObject<{
3
3
  formFields: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
4
4
  id: z.ZodString;
5
5
  name: z.ZodString;
@@ -53,6 +53,40 @@ export declare const PagePilotLayoutPropsSchema: z.ZodObject<{
53
53
  right: z.ZodNumber;
54
54
  left: z.ZodNumber;
55
55
  }, z.core.$strip>>>;
56
+ margin: z.ZodNullable<z.ZodOptional<z.ZodObject<{
57
+ top: z.ZodNumber;
58
+ bottom: z.ZodNumber;
59
+ right: z.ZodNumber;
60
+ left: z.ZodNumber;
61
+ }, z.core.$strip>>>;
62
+ maxWidthTablet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
63
+ maxWidthMobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
64
+ maxHeightTablet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
65
+ maxHeightMobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
66
+ paddingTablet: z.ZodNullable<z.ZodOptional<z.ZodObject<{
67
+ top: z.ZodNumber;
68
+ bottom: z.ZodNumber;
69
+ right: z.ZodNumber;
70
+ left: z.ZodNumber;
71
+ }, z.core.$strip>>>;
72
+ paddingMobile: z.ZodNullable<z.ZodOptional<z.ZodObject<{
73
+ top: z.ZodNumber;
74
+ bottom: z.ZodNumber;
75
+ right: z.ZodNumber;
76
+ left: z.ZodNumber;
77
+ }, z.core.$strip>>>;
78
+ marginTablet: z.ZodNullable<z.ZodOptional<z.ZodObject<{
79
+ top: z.ZodNumber;
80
+ bottom: z.ZodNumber;
81
+ right: z.ZodNumber;
82
+ left: z.ZodNumber;
83
+ }, z.core.$strip>>>;
84
+ marginMobile: z.ZodNullable<z.ZodOptional<z.ZodObject<{
85
+ top: z.ZodNumber;
86
+ bottom: z.ZodNumber;
87
+ right: z.ZodNumber;
88
+ left: z.ZodNumber;
89
+ }, z.core.$strip>>>;
56
90
  borderWidth: z.ZodNullable<z.ZodOptional<z.ZodObject<{
57
91
  top: z.ZodNumber;
58
92
  bottom: z.ZodNumber;
@@ -99,5 +133,10 @@ export declare const PagePilotLayoutPropsSchema: z.ZodObject<{
99
133
  }, z.core.$loose>>>;
100
134
  linkHref: z.ZodDefault<z.ZodOptional<z.ZodString>>;
101
135
  backgroundImage: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodString>>>;
136
+ backgroundSize: z.ZodOptional<z.ZodNullable<z.ZodString>>;
137
+ backgroundRepeat: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
138
+ repeat: "repeat";
139
+ "no-repeat": "no-repeat";
140
+ }>>>;
102
141
  }, z.core.$strip>;
103
- export type PagePilotLayoutProps = z.infer<typeof PagePilotLayoutPropsSchema>;
142
+ export type EmailLayoutProps = z.infer<typeof EmailLayoutPropsSchema>;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { EmailLayoutProps } from './EmailLayoutPropsSchema';
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;
@@ -0,0 +1,46 @@
1
+ export type LayoutDevice = 'desktop' | 'tablet' | 'mobile';
2
+ export type Padding = {
3
+ top: number;
4
+ right: number;
5
+ bottom: number;
6
+ left: number;
7
+ };
8
+ export type Margin = {
9
+ top: number;
10
+ right: number;
11
+ bottom: number;
12
+ left: number;
13
+ };
14
+ /** The subset of EmailLayout props this module reads. */
15
+ export type ResponsiveLayoutProps = {
16
+ maxWidth?: string | null;
17
+ maxWidthTablet?: string | null;
18
+ maxWidthMobile?: string | null;
19
+ maxHeight?: string | null;
20
+ maxHeightTablet?: string | null;
21
+ maxHeightMobile?: string | null;
22
+ padding?: Padding | null;
23
+ paddingTablet?: Padding | null;
24
+ paddingMobile?: Padding | null;
25
+ margin?: Margin | null;
26
+ marginTablet?: Margin | null;
27
+ marginMobile?: Margin | null;
28
+ };
29
+ /** Everything the root layout needs, already resolved for one device. */
30
+ export type ResolvedLayout = {
31
+ maxWidth: string | null;
32
+ maxHeight: string | null;
33
+ padding: Padding | null;
34
+ margin: Margin | null;
35
+ };
36
+ /** The logical (unsuffixed) names of the root's per-device props. */
37
+ export declare const RESPONSIVE_LAYOUT_KEYS: readonly ["maxWidth", "maxHeight", "padding", "margin"];
38
+ /** Resolve one logical key for a device, walking mobile -> tablet -> desktop. */
39
+ export declare function resolveLayoutValue<K extends 'maxWidth' | 'maxHeight' | 'padding' | 'margin'>(props: ResponsiveLayoutProps | null | undefined, key: K, device: LayoutDevice): ResponsiveLayoutProps[K] | null;
40
+ /** The full effective layout for one device. */
41
+ export declare function resolveLayoutForDevice(props: ResponsiveLayoutProps | null | undefined, device: LayoutDevice): ResolvedLayout;
42
+ /** True when this device carries at least one authored override of its own. */
43
+ export declare function hasLayoutOverride(props: ResponsiveLayoutProps | null | undefined, device: Exclude<LayoutDevice, 'desktop'>): boolean;
44
+ /** Strip every override this device authored, so it inherits again. */
45
+ export declare function clearLayoutOverride<T extends ResponsiveLayoutProps>(props: T, device: Exclude<LayoutDevice, 'desktop'>): T;
46
+ export declare function buildLayoutResponsiveCss(instanceClass: string, props: ResponsiveLayoutProps | null | undefined, desktopWidthFallback?: string): string;
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const FaqPickerPropsSchema: z.ZodObject<{
3
+ style: z.ZodNullable<z.ZodOptional<z.ZodObject<{}, z.core.$loose>>>;
4
+ props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
5
+ faqGroupId: z.ZodDefault<z.ZodString>;
6
+ faqGroupName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ contentDocument: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
8
+ padding: z.ZodNullable<z.ZodOptional<z.ZodObject<{
9
+ top: z.ZodNumber;
10
+ right: z.ZodNumber;
11
+ bottom: z.ZodNumber;
12
+ left: z.ZodNumber;
13
+ }, z.core.$strip>>>;
14
+ }, z.core.$strip>>>;
15
+ }, z.core.$strip>;
16
+ export type FaqPickerProps = z.infer<typeof FaqPickerPropsSchema>;
@@ -0,0 +1,3 @@
1
+ import { FaqPickerProps } from './FaqPickerPropsSchema';
2
+ declare const FaqReader: ({ props: blockProps }: FaqPickerProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default FaqReader;
@@ -8,6 +8,12 @@ declare const FlexColumnsPropsSchema: z.ZodObject<{
8
8
  bottom: 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
+ right: z.ZodNumber;
14
+ bottom: z.ZodNumber;
15
+ left: z.ZodNumber;
16
+ }, z.core.$strip>>>;
11
17
  borderRadius: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
12
18
  topLeft: z.ZodNumber;
13
19
  topRight: z.ZodNumber;
@@ -23,21 +29,36 @@ declare const FlexColumnsPropsSchema: z.ZodObject<{
23
29
  }, z.core.$strip>>>;
24
30
  }, z.core.$strip>>>;
25
31
  props: z.ZodNullable<z.ZodOptional<z.ZodObject<{
26
- columnsCount: z.ZodNullable<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>>;
32
+ columnsCount: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
27
33
  columnsGap: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
28
34
  wrap: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
35
+ desktopLayout: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
36
+ wrap: "wrap";
37
+ row: "row";
38
+ }>>>;
39
+ mobileLayout: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
40
+ wrap: "wrap";
41
+ row: "row";
42
+ }>>>;
43
+ tabletLayout: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
44
+ wrap: "wrap";
45
+ row: "row";
46
+ }>>>;
29
47
  columnShrink: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
48
+ columnShrinkTablet: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
49
+ columnShrinkMobile: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodBoolean>>>;
30
50
  equalColumns: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
31
51
  columns: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
32
52
  childrenIds: z.ZodArray<z.ZodString>;
33
53
  }, z.core.$strip>>>>;
34
54
  align: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
35
55
  center: "center";
36
- "flex-end": "flex-end";
37
56
  "flex-start": "flex-start";
57
+ "flex-end": "flex-end";
38
58
  stretch: "stretch";
39
59
  }>>>;
40
60
  reverseColumns: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
61
+ repeatableEnabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
41
62
  }, z.core.$strip>>>;
42
63
  }, z.core.$strip>;
43
64
  export default FlexColumnsPropsSchema;
@@ -1,2 +1,8 @@
1
1
  import { FlexColumnsProps } from './FlexColumnsPropsSchema';
2
+ /**
3
+ * The published page is static HTML — no re-render per device — so ALL layout
4
+ * (including per-device shrink and row/stack) is expressed as CSS. The markup
5
+ * carries no sizing at all: `buildResponsiveRowCss` addresses columns by position,
6
+ * which is what lets a column shrink on mobile but not on desktop.
7
+ */
2
8
  export default function FlexColumnsReader({ style, props }: FlexColumnsProps): import("react/jsx-runtime").JSX.Element;