Input
Aşağıdaki alan düzeyi katalog tabloları İngilizce kalır — düzenleyici, API ve MCP’nin kullandığı makine tasarım şemasıyla birebir uyumludur.
Decoration and visibility use Dekorasyon ve görünürlük (BlockShell).
Presentational input bound to a document variable id. Pair with root.props.dataRequests and a Button runRequest/runMutation trigger. Control auto-picks from variable type (text/boolean/list) or override with email/tel/textarea/select. Select options come from the variable: type list with options[{id,label}] (not a block-level options prop). An array variable whose item type is text renders as a multi-value text field (add and remove rows) and stores a string array. An empty label renders nothing. The control is named by ariaLabel when that is set; otherwise it has no accessible name. labelHidden clips a non-empty label visually and keeps it for assistive tech. Optional controlStyle { fontSize, lineHeight, paddingX, paddingY, fontFamily, borderWidth, borderRadius, borderColorLight, borderColorDark, backgroundLight, backgroundDark } styles the control. borderColor and backgroundColor are aliases used when the light and dark keys are omitted. Width and radius take a theme token (none, sm, md, lg; radius also xl and full) or a px number. Omitted values keep the stylesheet: inherited font, padding 0.5rem 0.75rem, 1px border, and surface background. Shell appearance.border paints the block frame, not the control. A legacy search box uses an empty label, backgroundLight transparent, borderWidth 1, borderColorLight #cbd5e1, borderRadius 6, paddingX 10, and paddingY 8. rows sets the textarea row count and clears the default min-height. Legacy contact forms used 14px / 21px, padding 8px / 10px, and a row count near 123px. Consent / terms with a link: place VariableInputBlock (control checkbox) beside a RichTextBlock that holds the linked copy — do not expect a rich-text checkbox label on this block.
Fields
settings
Settings.
rows
Textarea row count. Omit to keep the default min-height. Legacy contact textareas used a row count near 123px with 21px line height and 10px vertical padding.
rows: 0controlStyle
Control Style.
labelGap
Space between the label and the control, in pixels. Omit to keep the stylesheet gap.
labelGap: 0field
variableId
Editor variable id to read/write.
field: {
variableId: ""
}label
Visible label. An empty string renders no label element. A non-empty label names the control. When the label is empty, ariaLabel is the accessible name.
field: {
label: "Title"
}labelHidden
When true, a non-empty label is clipped visually and kept for assistive tech. The control points at it with aria-labelledby.
field: {
labelHidden: ""
}ariaLabel
Accessible name used when the label is empty. Omitted when a visible or screen-reader label already names the control.
field: {
ariaLabel: "Menu"
}placeholder
Placeholder text.
field: {
placeholder: "Search…"
}required
HTML required attribute.
field: {
required: true
}control
auto|text|email|tel|textarea|number|checkbox|select — override HTML control. For select, variable must be type list with options[{id,label}].
field: {
control: ""
}maxLength
Optional max length for text controls.
field: {
maxLength: 0
}labelStyle
labelFontFamily
Label font family token (theme-body default).
labelStyle: {
labelFontFamily: ""
}labelFontSize
Label font size in px (default 14).
labelStyle: {
labelFontSize: 0
}labelColorLight
Label color override (light theme).
labelStyle: {
labelColorLight: ""
}labelColorDark
Label color override (dark theme).
labelStyle: {
labelColorDark: ""
}<details><summary>Default props</summary>
{
"shell": {
"visibility": {
"authVisibility": "all",
"routeLockVisibility": "all",
"roleVisibility": [],
"entryActionVisibility": "all",
"queryPageVisibility": "all",
"hideWhenEmpty": ""
},
"anchor": {
"anchorId": "",
"anchorKey": ""
},
"spacing": {
"padding": {
"value": "none",
"enabled": false
},
"margin": {
"enabled": false
}
},
"box": {
"enabled": false
},
"background": {
"enabled": false,
"width": "page",
"kind": "solid",
"solid": {
"color": {
"light": "",
"dark": ""
}
},
"gradient": {
"angle": 180,
"type": "linear",
"colors": [
{
"light": "",
"dark": "",
"offset": 50
},
{
"light": "",
"dark": "",
"offset": 50
}
],
"color1Light": "",
"color1Dark": "",
"color2Light": "",
"color2Dark": ""
},
"image": {
"src": "",
"mode": "cover",
"repeatSize": 100,
"position": "center"
},
"motion": {
"enabled": false,
"directionDeg": 0,
"speed": 20,
"rotateDegPerSec": 0,
"animationMode": "particle"
},
"video": {
"src": "",
"source": "file",
"youtubeUrl": "",
"fit": "cover",
"loop": true,
"repeatSize": 100
},
"particles": {
"shape": "circle",
"svgSrc": "",
"colorMode": "solid",
"colorLight": "#ffffff88",
"colorDark": "#ffffff66",
"size": 12,
"jitter": 0.2,
"count": 40,
"lifetimeSec": 4,
"speed": 40,
"animType": "fade",
"fromSide": "left",
"toSide": "right"
},
"grid": {
"style": "cells",
"motionDirectionDeg": 0,
"motionSpeed": 0,
"rotateDegPerSec": 0,
"hoverGrowLimitPct": 50,
"hoverRotateLimitDeg": 0,
"reactionTimeSec": 1,
"hoverGrow": true,
"hoverRotate": false,
"hoverColor": false,
"hoverColorLight": "#ffffff55",
"hoverColorDark": "#ffffff33",
"reactionSpeed": 1
},
"backdrop": {
"enabled": false,
"blurPx": 0,
"brightness": 1,
"contrast": 1,
"saturate": 1,
"grayscale": 0,
"sepia": 0,
"hueRotateDeg": 0
}
},
"pointerEvents": "auto",
"effects": {
"enabled": false,
"opacity": 1,
"blurPx": 0,
"brightness": 1,
"contrast": 1,
"saturate": 1,
"grayscale": 0,
"sepia": 0,
"hueRotateDeg": 0,
"dropShadowOffsetX": 0,
"dropShadowOffsetY": 0,
"dropShadowBlur": 0,
"dropShadowColorLight": "",
"dropShadowColorDark": "",
"mixBlendMode": "normal"
},
"animation": {
"scroll": {
"enabled": false,
"type": "fadeIn",
"duration": 600,
"delay": 0
},
"tilt": {
"enabled": false,
"intensity": 12
},
"wander": {
"enabled": false,
"speed": 40,
"jitter": 40,
"turnRadius": 50,
"turnSmoothness": 40,
"limits": "parent"
},
"transform": {
"enabled": false,
"rotateX": 0,
"rotateY": 0,
"rotateZ": 0,
"translateX": 0,
"translateY": 0,
"translateZ": 0,
"scale": 1
}
}
},
"appearance": {
"border": {
"enabled": false,
"style": "solid",
"colorLight": "",
"colorDark": ""
},
"shadow": {
"enabled": false,
"valueLight": "",
"valueDark": ""
}
},
"field": {
"variableId": "",
"label": "",
"placeholder": "",
"required": false,
"control": "auto"
},
"labelStyle": {
"labelFontFamily": "theme-body",
"labelFontSize": 14,
"labelColorLight": "",
"labelColorDark": ""
}
}</details>