# blockenberg/2.0.7/blocks/decision-tree/block.json

Blockenberg — 600+ Advanced Gutenberg Blocks &amp; AI Agent for WordPress Block Editor, version 2.0.7. 264 lines.

- Page: https://pluginprobe.com/plugins/blockenberg/2.0.7/code/blocks/decision-tree/block.json
- Raw: https://pluginprobe.com/plugins/blockenberg/2.0.7/raw/blocks/decision-tree/block.json
- Modified: 2026-03-06T12:32:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/blockenberg/2.0.7/code/blocks/decision-tree/block.json#L10-L20`.

```json
{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 3,
    "name": "blockenberg/decision-tree",
    "version": "1.0.0",
    "title": "Decision Tree",
    "category": "bkbg-charts",
    "icon": "networking",
    "description": "Interactive step-by-step decision tree. Visitors answer yes/no (or custom) questions and follow branches to a personalised result. Fully editable node graph with breadcrumb trail and back navigation.",
    "keywords": [
        "decision",
        "tree",
        "quiz",
        "flowchart",
        "branching",
        "interactive",
        "yes no"
    ],
    "textdomain": "blockenberg",
    "editorScript": "bkbg-decision-tree-editor",
    "style": "bkbg-decision-tree-style",
    "viewScript": "bkbg-decision-tree-frontend",
    "supports": {
        "html": false,
        "align": [
            "wide",
            "full"
        ]
    },
    "attributes": {
        "title": {
            "type": "string",
            "default": "Find Your Perfect Stack"
        },
        "showTitle": {
            "type": "boolean",
            "default": true
        },
        "subtitle": {
            "type": "string",
            "default": "Answer a few questions to find the right technology for your project"
        },
        "showSubtitle": {
            "type": "boolean",
            "default": true
        },
        "rootId": {
            "type": "string",
            "default": "q1"
        },
        "nodes": {
            "type": "array",
            "default": [
                {
                    "id": "q1",
                    "type": "question",
                    "text": "Do you need real-time data updates (live feeds, chat, dashboards)?",
                    "yesId": "q2",
                    "noId": "q3",
                    "yesLabel": "Yes, real-time",
                    "noLabel": "No, periodic"
                },
                {
                    "id": "q2",
                    "type": "question",
                    "text": "Will it handle more than 10,000 concurrent users?",
                    "yesId": "r1",
                    "noId": "r2",
                    "yesLabel": "Yes, large scale",
                    "noLabel": "No, smaller"
                },
                {
                    "id": "q3",
                    "type": "question",
                    "text": "Do you have a backend team to manage infrastructure?",
                    "yesId": "q4",
                    "noId": "r3",
                    "yesLabel": "Yes, we do",
                    "noLabel": "No, just me"
                },
                {
                    "id": "q4",
                    "type": "question",
                    "text": "Do you need offline support or mobile app parity?",
                    "yesId": "r4",
                    "noId": "r5",
                    "yesLabel": "Yes, offline too",
                    "noLabel": "No, web only"
                },
                {
                    "id": "r1",
                    "type": "result",
                    "text": "Go with WebSockets + a message broker (Redis / Kafka). Horizontally scalable, battle-tested for high throughput.",
                    "resultColor": "#6c3fb5"
                },
                {
                    "id": "r2",
                    "type": "result",
                    "text": "Server-Sent Events (SSE) is perfect — simpler than WebSockets, native browser support, great for one-way streams.",
                    "resultColor": "#3b82f6"
                },
                {
                    "id": "r3",
                    "type": "result",
                    "text": "A managed BaaS like Supabase or Firebase will get you moving fast without ops overhead.",
                    "resultColor": "#10b981"
                },
                {
                    "id": "r4",
                    "type": "result",
                    "text": "Consider a PWA with local-first sync (CRDTs / PocketBase). Works offline and syncs when reconnected.",
                    "resultColor": "#f59e0b"
                },
                {
                    "id": "r5",
                    "type": "result",
                    "text": "A classic REST API with polling or webhooks is simple, debuggable, and will serve you well for most use-cases.",
                    "resultColor": "#06b6d4"
                }
            ]
        },
        "showBreadcrumb": {
            "type": "boolean",
            "default": true
        },
        "showProgress": {
            "type": "boolean",
            "default": true
        },
        "yesIcon": {
            "type": "string",
            "default": "✓"
        },
        "yesIconType": {
            "type": "string",
            "default": "custom-char"
        },
        "yesIconDashicon": {
            "type": "string",
            "default": "yes"
        },
        "yesIconImageUrl": {
            "type": "string",
            "default": ""
        },
        "noIcon": {
            "type": "string",
            "default": "✕"
        },
        "noIconType": {
            "type": "string",
            "default": "custom-char"
        },
        "noIconDashicon": {
            "type": "string",
            "default": "no"
        },
        "noIconImageUrl": {
            "type": "string",
            "default": ""
        },
        "bgColor": {
            "type": "string",
            "default": "#ffffff"
        },
        "cardBg": {
            "type": "string",
            "default": "#f8fafc"
        },
        "cardBorder": {
            "type": "string",
            "default": "#e2e8f0"
        },
        "titleColor": {
            "type": "string",
            "default": "#0f172a"
        },
        "subtitleColor": {
            "type": "string",
            "default": "#64748b"
        },
        "questionColor": {
            "type": "string",
            "default": "#0f172a"
        },
        "yesBg": {
            "type": "string",
            "default": "#22c55e"
        },
        "yesText": {
            "type": "string",
            "default": "#ffffff"
        },
        "noBg": {
            "type": "string",
            "default": "#ef4444"
        },
        "noText": {
            "type": "string",
            "default": "#ffffff"
        },
        "backBg": {
            "type": "string",
            "default": "#f1f5f9"
        },
        "backText": {
            "type": "string",
            "default": "#374151"
        },
        "breadcrumbColor": {
            "type": "string",
            "default": "#94a3b8"
        },
        "resultTextColor": {
            "type": "string",
            "default": "#ffffff"
        },
        "borderRadius": {
            "type": "integer",
            "default": 16
        },
        "cardRadius": {
            "type": "integer",
            "default": 12
        },
        "paddingTop": {
            "type": "integer",
            "default": 48
        },
        "paddingBottom": {
            "type": "integer",
            "default": 48
        },
        "titleSize": {
            "type": "integer",
            "default": 24
        },
        "subtitleFontSize": {
            "type": "number",
            "default": 16
        },
        "questionSize": {
            "type": "integer",
            "default": 18
        },
        "fontSize": {
            "type": "integer",
            "default": 15
        },
        "breadcrumbFontSize": {
            "type": "number",
            "default": 12
        },
        "typoTitle": {
            "type": "object",
            "default": {}
        },
        "typoSubtitle": {
            "type": "object",
            "default": {}
        }
    }
}

```
