List of controls supported by gb_blocks service while registering Gutenberg blocks

These are the controls currently supported by the gb-blocks service while registering controls for a Gutenberg block

Control Key (type) Core Datatype Element Description
text String Standard single-line textual form field input.
textarea String Multi-line textual box element optimized for extensive paragraph narratives.
number Number Integer or float numeric entry control.
small-number Number Compact numeric utility input with explicit min/max scale attributes.
select String Dropdown selector box element populating static dropdown configurations.
toggle Boolean True/false binary switch element representing application flags.
radio String Mutually exclusive radio selection groups.
checkbox Array Multiple selection array field grouping lists of items.
single-checkbox Boolean Standalone singular checkbox form interface element.
image Object Media attachment selector capturing ID, Source URL, and Alternative text object trees.
file Object / Array (New) Flexible media asset selector for specific MIME types (e.g., PDF, Video) supporting single/multiple file configurations.
post-select String / Array (New) REST-driven selector to fetch post assets. Supports multiple selections and explicit rest_base mappings for non-standard plurals.
taxonomy-select String / Array (New) REST-driven selector for taxonomy items. Requires rest_base overrides for special taxonomy names (e.g., post_tag $\rightarrow$ tags).
filtered-post-select String / Array (New) Advanced query selector enabling fixed filtering, fully interactive dropdown filters, or mixed query constraints.
attributes-repeater Array Row item builder tracking variable sets of explicit metadata properties (name, type, value).
row_repeater Array Dynamic nested layout matrix looping configured fields dynamically across multiple rows. It supports three distinct structural presentation modes (table, card, and card-collapsed) as well as responsive column column-width modifiers (full, half, third, quarter) for sub-fields
innerblocks String Area allowing insertion of child Gutenberg layout sub-components inside the primary block frame.
title String Specialized semantic input field explicitly targeted for Title mappings.
purpose String Semantic multi-line text input field mapped explicitly for structural explanations.
query String High-capacity multi-line input block explicitly intended for typing database syntax queries.
date String Standard system calendar input utilizing standardized string patterns.
service String Input targeting technical path pointers to executable logic targets.
awesome_code String High-volume multi-line input canvas tailored for writing code.
env_path String Dedicated text control designed to map precise runtime dot-notation location mappings.

 

Here is how you register them, each filed used by your block. The “sections”  allows you to register the tabs, that are visible in the blocks

Detailed Control Documentation & Examples

All control definitions are structured as structured JSON nodes within a [fields new] block entry inside a section template layout.

Simple Text Inputs (type: "text")

Multi-line Text Area (type: "textarea")

Full-Sized Numbers (type: "number")

Captures unrestricted float or integer values.

 

Small Range Numbers (type: "small-number")

A constrained slider style input enforcing minimum and maximum numerical parameters.

 

Selection Dropdowns (type: "select")

Populates a standardized single-choice select dropdown picklist.

Binary Toggle Switch (type: "toggle")

Renders a stylized true/false dashboard toggle control.

WordPress Media Library Images (type: "image")

Triggers the native WordPress Media Upload modal frame to save a complete image object metadata tree (id, url, alt, title).

Attributes Definition Repeater (type: "attributes-repeater")

An input field group built explicitly for mapping sets of raw key-value structural custom attributes (name, type, value).

Custom Column Field Matrices (type: "row_repeater")

Allows complex item sets to loop dynamically inside predefined parameters via sub-field configurations. It supports three distinct structural presentation modes (table, card, and card-collapsed) as well as responsive column column-width modifiers (full, half, third, quarter) for sub-fields.

Table Layout (layout: "table")

  • Best Used For: 3–4 concise, short metadata inputs (e.g., small numbers, simple flags, standard strings).

  • Mechanics: Renders fields side-by-side inside a compact grid-row matrix arrangement. This is the default structural presentation mode if no explicit layout parameter is supplied

Card Layout (layout: "card")

  • Best Used For: Larger content sets (4–8 interactive input parameters) containing high-volume controls like textarea, image, or script fields.

  • Mechanics: Bundles each repeater item row inside an independent visual pane. Sub-fields accept responsive width modifiers (width) to align side-by-side or occupy full rows within the card container:

    • "full": Spans across the entire row width.

    • "half": Occupies $50\%$ of the row width (Default sub-field fallback assignment).

    • "third": Occupies $33.33\%$ of the row width.

    • "quarter": Occupies $24\%$ of the row width.

Collapsed Card Layout (layout: "card-collapsed")

  • Best Used For: High-volume entry records (e.g., hundreds of rows) or complex nodes with many fields per row.

  • Mechanics: Renders each item row as a collapsed accordion pane. It requires the summary_field property to determine which sub-field variable value is mapped to the header label for identification.

 

Core Gutenberg Nested Areas (type: "innerblocks")

Embeds a native layout container inside your block configuration frame, allowing other system blocks to be placed inside it.

Custom Header Field Title Type (type: "title")

A semantic optimization variations text element explicitly tailored for layout block headlines.

Structural Description Field (type: "purpose")

A descriptive text area designed explicitly for adding clarifying code notes.

Deep Database Query Inputs (type: "query")

A clean multi-line input panel built to safely take query definitions.

Standard Calendar Selectors (type: "date")

A calendar prompt utilizing standard date selector field values.

Executable Service Address Routing (type: "service")

Captures internal service paths used for dynamic backend execution routing.

Structural Script Blocks (type: "awesome_code")

An expansive text area with optimized scaling rules for pasting dynamic application templates.

Dot-Notation Location Maps (type: "env_path")

An input tailored for setting precise environment lookup paths.

Multi-Choice Exclusions (type: "radio")

Renders grouped, mutually exclusive options.

Checkbox Matrix Arrays (type: "checkbox")

Renders lists enabling multi-option array collection outputs.

Isolated Standalone Checkbox (type: "single-checkbox")

Renders an independent checkbox field saving simple boolean options.

File Upload Fields (type: "file")

Used for selecting media items from the media library that are not images, with strict MIME type constraints.

Variant A: Single PDF Selection

Variant B: Multiple Video Selection

Relationship Selectors (type: "post-select" & type: "taxonomy-select")

These fetch relational entities from the WordPress REST API into the visual block setup workspace.

Core Endpoint Routing Resolution Mechanics

  • post-select: By default, the system appends an "s" to the target post type slug to find its endpoint (e.g., post becomes posts, page becomes pages). If a Custom Post Type does not follow standard English pluralization, you must explicitly declare the rest_base property (e.g., post_type: "alumni" requires "rest_base": "alumni"; post_type: "person" requires "rest_base": "people").

  • taxonomy-select: No automatic pluralization occurs. The taxonomy slug is queried exactly as declared. However, special native taxonomies require explicit overrides; for instance, the built-in post_tag slug requires "rest_base": "tags".

Variant A: Single Post Selection

Variant B: Multiple Page Selection with Explicit Custom Pluralization Override

Variant C: Multi-Select Categories

Variant D: Multi-Select Tags with REST-Base Override

Hierarchical Cascading Selectors (type: "filtered-post-select")

Enables advanced lookup capabilities by querying items based on taxonomies before selecting a post. It operates in three distinct configuration modes:

Variant A: Fixed Filter Mode (Silent Pre-Filtering)

The search results immediately restrict listings to the specified term constraints. No filter selection dropdown interfaces are shown to the editor user.

Variant B: Interactive Filter Mode (Dynamic User UI Dropdowns)

Renders dynamic selection inputs ahead of the main post results list. The editor user uses these inputs to adjust the query scope dynamically.

Variant C: Mixed Filter Mode (Combined Fixed Rules + Interactive UI)

Enforces a hardcoded structural filter context silently while exposing additional secondary options as user-facing dropdown elements.

Sample code to parse repeater fields

This code securely parses the dynamic repeater rows by iterating over the configuration parameters using the framework’s strict loop patterns.


 

Updated on Jun 24, 2026