Blocks & components
Sample documentation (demo only)
This is an incomplete, outdated docs snapshot shipped with the playground — screenshots were removed on purpose.
For the full, current manuals go to voodflow.com/docs.
Voodflow\Voodbuilder\Support\Editor\AbstractSiteFooterVariantBlock
- File:
Support/Editor/AbstractSiteFooterVariantBlock.php - Kind:
class - Implements:
EditorConfigurableBlock - Responsibility: Rich content / landing block: Abstract Site Footer Variant Block.
Methods
public static function variant(): string- Variant.
public static function defaultColumns(): int- Default Columns.
public static function getId(): string- Block id used in the editor catalog.
public static function getLabel(): string- Block label shown in the editor catalog.
public static function defaultConfig(): array- Default configuration array for a configurable block.
public static function normalizeConfig(array $config): array- Normalize/validate block config before persist or render.
public static function toHtml(array $config, array $context): string- Render block HTML for published/output contexts.
public static function toPreviewHtml(array $config, array $context): string- Render block HTML for the editor canvas preview.
protected static function renderShell(array $config, bool $preview): string- Render Shell.
Voodflow\Voodbuilder\Support\Editor\AbstractSiteNavVariantBlock
- File:
Support/Editor/AbstractSiteNavVariantBlock.php - Kind:
class - Implements:
EditorConfigurableBlock - Responsibility: Rich content / landing block: Abstract Site Nav Variant Block.
Methods
public static function variant(): string- Variant.
public static function getId(): string- Block id used in the editor catalog.
public static function getLabel(): string- Block label shown in the editor catalog.
public static function defaultConfig(): array- Default configuration array for a configurable block.
public static function normalizeConfig(array $config): array- Normalize/validate block config before persist or render.
public static function toHtml(array $config, array $context): string- Render block HTML for published/output contexts.
public static function toPreviewHtml(array $config, array $context): string- Render block HTML for the editor canvas preview.
protected static function renderShell(array $config, bool $preview): string- Render Shell.
Voodflow\Voodbuilder\Support\Editor\ComponentAuthoringBridge
- File:
Support/Editor/ComponentAuthoringBridge.php - Kind:
class - Responsibility: Components authoring unlock via voodflow/voodbuilder-components.
Methods
public static function isEnabled(): bool- Boolean predicate
isEnabled.
- Boolean predicate
public static function canUseLibrary(): bool- Boolean predicate
canUseLibrary.
- Boolean predicate
public static function canImport(): bool- Boolean predicate
canImport.
- Boolean predicate
public static function canExport(): bool- Boolean predicate
canExport.
- Boolean predicate
public static function canCodeImport(): bool- Boolean predicate
canCodeImport.
- Boolean predicate
public static function authorizeLibrary(): void- Performs
authorizeLibraryside effects.
- Performs
public static function authorizeImport(): void- Performs
authorizeImportside effects.
- Performs
public static function authorizeExport(): void- Performs
authorizeExportside effects.
- Performs
public static function authorizeCodeImport(): void- Performs
authorizeCodeImportside effects.
- Performs
public static function editionAllows(string $capability): bool- Soft edition hints for hosts without the companion (upsell UI only).
Voodflow\Voodbuilder\Support\Editor\ComponentRuntimeBridge
- File:
Support/Editor/ComponentRuntimeBridge.php - Kind:
class - Responsibility: Optional hooks into voodflow/voodbuilder-components when the companion plugin is installed.
Methods
public static function moduleEnabled(): bool- Module Enabled.
public static function globalClassCss(): ?string- Global Class Css.
public static function componentCssForHtml(string $html): ?string- Component Css For Html.
public static function renderComponentHtml(string $html, ?SitePage $page): string- Render Component Html.
public static function syncComponentCssLibraryFromPageHtml(string $html): void- Performs
syncComponentCssLibraryFromPageHtmlside effects.
- Performs
Voodflow\Voodbuilder\Support\Editor\DefaultEditorBlocks
- File:
Support/Editor/DefaultEditorBlocks.php - Kind:
class - Responsibility:
DefaultEditorBlocks— class inSupport/Editor/DefaultEditorBlocks.php.
Methods
public static function register(EditorBlockRegistry $registry): void- Performs
registerside effects.
- Performs
Voodflow\Voodbuilder\Support\Editor\EditorBlockPreview
- File:
Support/Editor/EditorBlockPreview.php - Kind:
class - Responsibility: Editor Block Preview.
Methods
public static function render(string $blockId, array $config = []): ?string- Render stored markup for the current context.
protected static function renderWrappedBlock(string $blockId, array $config): ?string- Render Wrapped Block.
public static function wrapHtml(string $html): ?string- Wrap Html.
public static function wrapSiteChromeHtml(string $html, string $blockId = ''): ?string- Wrap Site Chrome Html.
Voodflow\Voodbuilder\Support\Editor\EditorBlockThumbnail
- File:
Support/Editor/EditorBlockThumbnail.php - Kind:
class - Responsibility: Editor Block Thumbnail.
Methods
public static function wrap(string $innerSvg): string- Wrap.
public static function forBlockId(string $blockId): string- For Block Id.
protected static function heroSvg(): string- Hero Svg.
protected static function sectionSvg(): string- Section Svg.
protected static function ctaSvg(): string- Cta Svg.
protected static function headerSvg(): string- Header Svg.
protected static function footerASvg(): string- Footer A Svg.
protected static function footerBSvg(): string- Footer B Svg.
protected static function footerColumnsSvg(): string- Footer Columns Svg.
protected static function footerDSvg(): string- Footer D Svg.
protected static function footerCenteredSvg(): string- Footer Centered Svg.
protected static function footerNewsletterSvg(): string- Footer Newsletter Svg.
protected static function tutorialsSvg(): string- Tutorials Svg.
protected static function genericSvg(): string- Generic Svg.
Voodflow\Voodbuilder\Support\Editor\EditorComponentPageHtml
- File:
Support/Editor/EditorComponentPageHtml.php - Kind:
class - Responsibility: Editor Component Page Html.
Methods
public static function componentIds(string $pageHtml): array- Component Ids.
public static function htmlForPageTailwindCompile(string $pageHtml): string- Page HTML for page-level Tailwind compile/checks (no component instances).
public static function htmlExcludingSiteChrome(string $pageHtml): string- Page HTML without embedded site header/footer chrome (styled by theme.css).
public static function htmlExcludingComponentInstances(string $pageHtml): string- Page HTML without component instance subtrees (for page-level Tailwind CSS checks/compile).
protected static function serializeBodyChildren(DOMDocument $document): string- Serialize Body Children.
public static function instanceInnerHtml(string $pageHtml, string $componentId): ?string- Instance Inner Html.
protected static function serializeElementChildren(DOMDocument $document, DOMElement $element): string- Serialize Element Children.
protected static function loadDocument(string $html): DOMDocument- Load Document.
protected static function escapeXPathLiteral(string $value): string- Escape X Path Literal.
Voodflow\Voodbuilder\Support\Editor\EditorDefaultBlockConfig
- File:
Support/Editor/EditorDefaultBlockConfig.php - Kind:
class - Responsibility: Editor Default Block Config.
Methods
public static function needsEventId(string $blockId): bool- Needs Event Id.
public static function mergeEventId(array $config, string $blockId, ?int $eventId): array- Merge Event Id.
public static function defaults(): array- Defaults.
public static function firstPublishedEventId(): ?int- First Published Event Id.
Voodflow\Voodbuilder\Support\Editor\EditorDynamicBlockRenderer
- File:
Support/Editor/EditorDynamicBlockRenderer.php - Kind:
class - Responsibility: Editor Dynamic Block Renderer.
Methods
public function __construct( protected EditorDynamicBlockRegistry $registry, protected EditorServerBlockRegistry $serverRegistry, )- Constructor.
public function render(string $html, ?SitePage $page = null, bool $canvasPreview = false): string- Render stored markup for the current context.
protected function loadDocument(string $html): DOMDocument- Load Document.
protected function dynamicNodes(DOMDocument $document): array- Dynamic Nodes.
protected function replaceNode( DOMDocument $document, DOMElement $node, ?int $eventId, array $renderData, bool $canvasPreview = false, ): void- Performs
replaceNodeside effects.
- Performs
protected function hoistMisplacedChromeBlocksFromNav(DOMDocument $document, DOMElement $nav): void- Lift footer / reading-progress nodes nested under a nav block so a Blade remount cannot wipe them (layout editor save/load regression).
protected function isHoistableChromeElement(DOMElement $element): bool- Boolean predicate
isHoistableChromeElement.
- Boolean predicate
protected function replaceNodeInnerHtmlForEditor(DOMDocument $document, DOMElement $node, string $rendered): void- Keep data-voodbuilder-block / config on the original node for the visual editor. Published HTML still strips those attributes (see stripPublishedBlockWrapperAttributes).
protected function unwrapMatchingRootTag(DOMElement $node, string $html): string- When the dynamic root is already a section/footer (smart wrap), the Blade preview returns the same outer tag — use its children to avoid section > section.
protected function unwrapEditorPreviewRoot(string $html): string- If preview HTML already includes a block wrapper, use its children to avoid nesting.
protected function stripPublishedBlockWrapperAttributes(string $html): string- Strip Published Block Wrapper Attributes.
protected function stripPublishedAttributesFromNode(DOMElement $node): void- Performs
stripPublishedAttributesFromNodeside effects.
- Performs
protected function isColumnFooterBlock(string $blockId): bool- Boolean predicate
isColumnFooterBlock.
- Boolean predicate
protected function captureAuthorContentWidthShells(DOMElement $node): array- Capture Author Content Width Shells.
protected function restoreAuthorContentWidthShells(DOMElement $node, array $shells): void- Performs
restoreAuthorContentWidthShellsside effects.
- Performs
protected function applyAuthorContentWidthShellsToHtml(string $html, array $shells): string- Apply Author Content Width Shells To Html.
protected function applyContentWidthShellToElement(DOMElement $element, array $shell): void- Performs
applyContentWidthShellToElementside effects.
- Performs
protected function contentWidthShellElements(DOMNode $root): array- Content Width Shell Elements.
protected function mergeAuthorContentWidthClasses(string $author, string $fresh): string- Merge Author Content Width Classes.
protected function mergeAuthorContentWidthStyles(string $author, string $fresh): string- Merge Author Content Width Styles.
protected function captureAuthorChromeMenuSlotClasses(DOMElement $node): array- Stable keys matching JS captureChromeMenuSlotAuthorClasses so typography utilities (e.g. uppercase) survive Blade remount of site_nav_* blocks.
protected function restoreAuthorChromeMenuSlotClasses(DOMElement $node, array $authorByKey): void- Performs
restoreAuthorChromeMenuSlotClassesside effects.
- Performs
protected function applyAuthorChromeMenuSlotClassesToHtml(string $html, array $authorByKey): string- Apply Author Chrome Menu Slot Classes To Html.
protected function applyChromeMenuSlotAuthorToElement(DOMElement $element, array $author): void- Performs
applyChromeMenuSlotAuthorToElementside effects.
- Performs
protected function mergeAuthorChromeMenuSlotClasses(string $author, string $fresh): string- Merge Author Chrome Menu Slot Classes.
protected function chromeMenuSlotAuthorKey(DOMElement $element, int $desktopNavIndex): string- Chrome Menu Slot Author Key.
protected function chromeMenuSlotElements(DOMNode $root): array- Chrome Menu Slot Elements.
protected function captureHiddenLayerNames(DOMElement $node): array- Layer names eye-hidden by the author (data-vb-layer-hidden or display:none).
protected function layerNamesIncludeCustomNodes(array $names, array $config): bool- Layer Names Include Custom Nodes.
protected function applyHiddenLayerNamesToHtml(string $html, array $names): string- Re-apply Layers eye-hide after Blade remount (match by data-voodbuilder-layer-name).
protected function captureAuthorRootChrome(DOMElement $node): array- Grapes Style rules (e.g.
#ifmoo4{background-image:…}) and anchors need the author rootidto survive Blade remount. Also keep inline style / fade attrs.
- Grapes Style rules (e.g.
protected function restoreAuthorRootChrome(DOMElement $node, array $chrome): void- Performs
restoreAuthorRootChromeside effects.
- Performs
protected function mergeAuthorRootStyles(string $author, string $fresh): string- Author background paint / positioning wins; other fresh declarations fill gaps.
protected function applyAuthorRootChromeToHtml(string $html, array $chrome): string- Apply Author Root Chrome To Html.
protected function captureAuthorStructuralClasses(DOMElement $node): array- Capture Author Structural Classes.
protected function restoreAuthorStructuralClasses(DOMElement $node, array $author): void- Performs
restoreAuthorStructuralClassesside effects.
- Performs
protected function applyAuthorStructuralClassesToHtml(string $html, array $author): string- Apply Author Structural Classes To Html.
protected function replaceNodeWithRenderedHtml(DOMDocument $document, DOMElement $node, string $rendered): void- Performs
replaceNodeWithRenderedHtmlside effects.
- Performs
protected function renderBlockId(string $blockId, array $config, array $data, bool $canvasPreview = false): ?string- Render Block Id.
protected function decodeConfig(string $raw): array- Decode Config.
protected function hasDynamicSlots(DOMElement $node): bool- Boolean predicate
hasDynamicSlots.
- Boolean predicate
protected function footerNeedsFullRender(DOMElement $node, string $blockId): bool- Footer Needs Full Render.
protected function footerHasLegacyInlineMenu(DOMElement $node): bool- Footer Has Legacy Inline Menu.
protected function extractBodyHtml(DOMDocument $document): ?string- Extract Body Html.
Voodflow\Voodbuilder\Support\Editor\EditorFooterBlockShell
- File:
Support/Editor/EditorFooterBlockShell.php - Kind:
class - Responsibility: Editor Footer Block Shell.
Methods
public static function compose(string $blockId, array $config, string $innerHtml): string- Compose.
Voodflow\Voodbuilder\Support\Editor\EditorLegacySiteBlockMap
- File:
Support/Editor/EditorLegacySiteBlockMap.php - Kind:
class - Responsibility: Maps deprecated Editor site chrome block IDs to their replacements.
Methods
public static function resolve(string $blockId): ?string- Resolve a runtime value for the given field / context.
Voodflow\Voodbuilder\Support\Editor\EditorRichContentBlockAdapter
- File:
Support/Editor/EditorRichContentBlockAdapter.php - Kind:
class - Responsibility: Editor Rich Content Block Adapter.
Methods
public static function toDefinition( string $blockClass, string $category, ?int $eventId = null, ): EditorBlockDefinition- Convert / serialize via
toDefinition.
- Convert / serialize via
public static function editorPreviewHtml(string $blockClass, array $config): string- Editor Preview Html.
public static function prepareBlockHtml(string $html): string- Prepare Block Html.
public static function fallbackEditorHtml(string $label): string- Fallback Editor Html.
public static function wrap(string $blockId, array $config, string $innerHtml): string- Wrap.
protected static function stampDynamicAttrsOnSingleRoot( string $blockId, string $encodedConfig, string $hydrateSlots, string $innerHtml, ): ?string- Prefer a single outer section/footer/header as the dynamic root so Layers stays flat (no div > section nesting). Falls back to a wrapper div.
public static function previewMedia(string $html, string $label): string- Preview Media.
public static function renderData(?int $eventId = null, ?SitePage $page = null): array- Render Data.
Voodflow\Voodbuilder\Support\Editor\EditorServerBlockAdapter
- File:
Support/Editor/EditorServerBlockAdapter.php - Kind:
class - Responsibility: Editor Server Block Adapter.
Methods
public static function toDefinition( string $blockClass, string $category, ?int $eventId = null, ): EditorBlockDefinition- Convert / serialize via
toDefinition.
- Convert / serialize via
public static function configFor(string $blockClass, ?int $eventId = null): array- Config For.
public static function editorPreviewHtml(string $blockClass, array $config, ?int $eventId = null): string- Editor Preview Html.
Voodflow\Voodbuilder\Support\Editor\SectionItemCountAnnotator
- File:
Support/Editor/SectionItemCountAnnotator.php - Kind:
class - Responsibility: Marks repeating item roots on section blocks so the editor can expose an item-count setting.
Methods
public static function isRedundant(string $blockId): bool- Boolean predicate
isRedundant.
- Boolean predicate
public static function rules(): array- Rules.
public static function annotate(string $html, string $blockId): string- Annotate.
Voodflow\Voodbuilder\Support\Editor\SiteFooterBlocks
- File:
Support/Editor/SiteFooterBlocks.php - Kind:
class - Responsibility: Site Footer Blocks.
Methods
public static function isFooterBlockId(string $blockId): bool- Boolean predicate
isFooterBlockId.
- Boolean predicate
public static function blockClasses(): array- Block Classes.
Voodflow\Voodbuilder\Support\Editor\SiteFooterCenteredBlock
- File:
Support/Editor/SiteFooterCenteredBlock.php - Kind:
class - Extends:
AbstractSiteFooterVariantBlock - Responsibility: Rich content / landing block: Site Footer Centered Block.
Methods
public static function variant(): string- Variant.
public static function defaultColumns(): int- Default Columns.
Voodflow\Voodbuilder\Support\Editor\SiteFooterColumnsNewsletterBlock
- File:
Support/Editor/SiteFooterColumnsNewsletterBlock.php - Kind:
class - Extends:
AbstractSiteFooterVariantBlock - Responsibility: Rich content / landing block: Site Footer Columns Newsletter Block.
Methods
public static function variant(): string- Variant.
public static function defaultColumns(): int- Default Columns.
Voodflow\Voodbuilder\Support\Editor\SiteFooterColumnsSimpleBlock
- File:
Support/Editor/SiteFooterColumnsSimpleBlock.php - Kind:
class - Extends:
AbstractSiteFooterVariantBlock - Responsibility: Rich content / landing block: Site Footer Columns Simple Block.
Methods
public static function variant(): string- Variant.
public static function defaultColumns(): int- Default Columns.
Voodflow\Voodbuilder\Support\Editor\SiteFooterSocialBlock
- File:
Support/Editor/SiteFooterSocialBlock.php - Kind:
class - Extends:
AbstractSiteFooterVariantBlock - Responsibility: Rich content / landing block: Site Footer Social Block.
Methods
public static function variant(): string- Variant.
public static function defaultColumns(): int- Default Columns.
Voodflow\Voodbuilder\Support\Editor\SiteNavBlocks
- File:
Support/Editor/SiteNavBlocks.php - Kind:
class - Responsibility: Site Nav Blocks.
Methods
public static function isNavBlockId(string $blockId): bool- Boolean predicate
isNavBlockId.
- Boolean predicate
public static function blockClasses(): array- Block Classes.
Voodflow\Voodbuilder\Support\Editor\SiteNavCenteredLinksBlock
- File:
Support/Editor/SiteNavCenteredLinksBlock.php - Kind:
class - Extends:
AbstractSiteNavVariantBlock - Responsibility: Rich content / landing block: Site Nav Centered Links Block.
Methods
public static function variant(): string- Variant.
Voodflow\Voodbuilder\Support\Editor\SiteNavMenuLeftBlock
- File:
Support/Editor/SiteNavMenuLeftBlock.php - Kind:
class - Extends:
AbstractSiteNavVariantBlock - Responsibility: Rich content / landing block: Site Nav Menu Left Block.
Methods
public static function variant(): string- Variant.
Voodflow\Voodbuilder\Support\Editor\SiteNavSimpleBlock
- File:
Support/Editor/SiteNavSimpleBlock.php - Kind:
class - Extends:
AbstractSiteNavVariantBlock - Responsibility: Rich content / landing block: Site Nav Simple Block.
Methods
public static function variant(): string- Variant.
Voodflow\Voodbuilder\Support\Editor\SiteNavWithActionBlock
- File:
Support/Editor/SiteNavWithActionBlock.php - Kind:
class - Extends:
AbstractSiteNavVariantBlock - Responsibility: Rich content / landing block: Site Nav With Action Block.
Methods
public static function variant(): string- Variant.
Voodflow\Voodbuilder\Support\Editor\SiteNavWithSearchBlock
- File:
Support/Editor/SiteNavWithSearchBlock.php - Kind:
class - Extends:
AbstractSiteNavVariantBlock - Responsibility: Rich content / landing block: Site Nav With Search Block.
Methods
public static function variant(): string- Variant.
Voodflow\Voodbuilder\Support\Editor\VoodbuilderEditorBlockConfigs
- File:
Support/Editor/VoodbuilderEditorBlockConfigs.php - Kind:
class - Responsibility: Default editor block config for blocks shipped by voodbuilder core.
Methods
public static function register(): void- Performs
registerside effects.
- Performs
Voodflow\Voodbuilder\Support\Editor\VoodbuilderLanding01Sections
- File:
Support/Editor/VoodbuilderLanding01Sections.php - Kind:
class - Responsibility: Community landing sections retained in Core (articles + CTA). Companion sections (hero, features, solution, testimonials) live in Elements.
Methods
public static function registerBlocks(): void- Performs
registerBlocksside effects.
- Performs
public static function blockDefinitions(): array- Block Definitions.
public static function pageHtml(): string- Page Html.
public static function articles(): string- Articles.
public static function cta(): string- Cta.
Voodflow\Voodbuilder\Support\Editor\VoodbuilderLanding02Sections
- File:
Support/Editor/VoodbuilderLanding02Sections.php - Kind:
class - Responsibility: Community landing section retained in Core (FAQ accordion). Companion sections live in Elements.
Methods
public static function registerBlocks(): void- Performs
registerBlocksside effects.
- Performs
public static function blockDefinitions(): array- Block Definitions.
public static function pageHtml(): string- Page Html.
public static function faq(): string- Faq.
Voodflow\Voodbuilder\Support\Editor\VoodbuilderLandingEditorBlocks
- File:
Support/Editor/VoodbuilderLandingEditorBlocks.php - Kind:
class - Responsibility: Voodbuilder Landing Editor Blocks.
Methods
public static function register(): void- Performs
registerside effects.
- Performs
protected static function registerFooterLayoutVariants(): void- Performs
registerFooterLayoutVariantsside effects.
- Performs
protected static function registerNavbarLayoutVariants(): void- Performs
registerNavbarLayoutVariantsside effects.
- Performs
Voodflow\Voodbuilder\Support\Editor\VoodbuilderMediaSections
- File:
Support/Editor/VoodbuilderMediaSections.php - Kind:
class - Responsibility: Community media section retained in Core (background image hero). Companion media (bg-video, sliders) live in Elements.
Methods
public static function registerBlocks(): void- Performs
registerBlocksside effects.
- Performs
public static function blockDefinitions(): array- Block Definitions.
public static function backgroundImage(): string- Background Image.
Voodflow\Voodbuilder\Support\Editor\VoodbuilderSectionEditorBlocks
- File:
Support/Editor/VoodbuilderSectionEditorBlocks.php - Kind:
class - Responsibility: Voodbuilder Section Editor Blocks.
Methods
public static function register(EditorBlockRegistry $registry, ?string $theme = null): void- Performs
registerside effects.
- Performs
public static function catalogPath(): string- Catalog Path.
public static function utilitiesCssEntry(): string- Utilities Css Entry.
public static function isAvailable(): bool- Boolean predicate
isAvailable.
- Boolean predicate
protected static function shouldRegisterBlock(array $definition): bool- Should Register Block.
protected static function blockLabel(array $definition): string- Block Label.
protected static function prepareBlockHtml(string $html, string $blockId = ''): string- Prepare Block Html.