PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / decision-tree / block.json

block.json in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/decision-tree/block.json

264 lines 7.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "$schema": "https://schemas.wp.org/trunk/block.json",
3 "apiVersion": 3,
4 "name": "blockenberg/decision-tree",
5 "version": "1.0.0",
6 "title": "Decision Tree",
7 "category": "bkbg-charts",
8 "icon": "networking",
9 "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.",
10 "keywords": [
11 "decision",
12 "tree",
13 "quiz",
14 "flowchart",
15 "branching",
16 "interactive",
17 "yes no"
18 ],
19 "textdomain": "blockenberg",
20 "editorScript": "bkbg-decision-tree-editor",
21 "style": "bkbg-decision-tree-style",
22 "viewScript": "bkbg-decision-tree-frontend",
23 "supports": {
24 "html": false,
25 "align": [
26 "wide",
27 "full"
28 ]
29 },
30 "attributes": {
31 "title": {
32 "type": "string",
33 "default": "Find Your Perfect Stack"
34 },
35 "showTitle": {
36 "type": "boolean",
37 "default": true
38 },
39 "subtitle": {
40 "type": "string",
41 "default": "Answer a few questions to find the right technology for your project"
42 },
43 "showSubtitle": {
44 "type": "boolean",
45 "default": true
46 },
47 "rootId": {
48 "type": "string",
49 "default": "q1"
50 },
51 "nodes": {
52 "type": "array",
53 "default": [
54 {
55 "id": "q1",
56 "type": "question",
57 "text": "Do you need real-time data updates (live feeds, chat, dashboards)?",
58 "yesId": "q2",
59 "noId": "q3",
60 "yesLabel": "Yes, real-time",
61 "noLabel": "No, periodic"
62 },
63 {
64 "id": "q2",
65 "type": "question",
66 "text": "Will it handle more than 10,000 concurrent users?",
67 "yesId": "r1",
68 "noId": "r2",
69 "yesLabel": "Yes, large scale",
70 "noLabel": "No, smaller"
71 },
72 {
73 "id": "q3",
74 "type": "question",
75 "text": "Do you have a backend team to manage infrastructure?",
76 "yesId": "q4",
77 "noId": "r3",
78 "yesLabel": "Yes, we do",
79 "noLabel": "No, just me"
80 },
81 {
82 "id": "q4",
83 "type": "question",
84 "text": "Do you need offline support or mobile app parity?",
85 "yesId": "r4",
86 "noId": "r5",
87 "yesLabel": "Yes, offline too",
88 "noLabel": "No, web only"
89 },
90 {
91 "id": "r1",
92 "type": "result",
93 "text": "Go with WebSockets + a message broker (Redis / Kafka). Horizontally scalable, battle-tested for high throughput.",
94 "resultColor": "#6c3fb5"
95 },
96 {
97 "id": "r2",
98 "type": "result",
99 "text": "Server-Sent Events (SSE) is perfect — simpler than WebSockets, native browser support, great for one-way streams.",
100 "resultColor": "#3b82f6"
101 },
102 {
103 "id": "r3",
104 "type": "result",
105 "text": "A managed BaaS like Supabase or Firebase will get you moving fast without ops overhead.",
106 "resultColor": "#10b981"
107 },
108 {
109 "id": "r4",
110 "type": "result",
111 "text": "Consider a PWA with local-first sync (CRDTs / PocketBase). Works offline and syncs when reconnected.",
112 "resultColor": "#f59e0b"
113 },
114 {
115 "id": "r5",
116 "type": "result",
117 "text": "A classic REST API with polling or webhooks is simple, debuggable, and will serve you well for most use-cases.",
118 "resultColor": "#06b6d4"
119 }
120 ]
121 },
122 "showBreadcrumb": {
123 "type": "boolean",
124 "default": true
125 },
126 "showProgress": {
127 "type": "boolean",
128 "default": true
129 },
130 "yesIcon": {
131 "type": "string",
132 "default": ""
133 },
134 "yesIconType": {
135 "type": "string",
136 "default": "custom-char"
137 },
138 "yesIconDashicon": {
139 "type": "string",
140 "default": "yes"
141 },
142 "yesIconImageUrl": {
143 "type": "string",
144 "default": ""
145 },
146 "noIcon": {
147 "type": "string",
148 "default": ""
149 },
150 "noIconType": {
151 "type": "string",
152 "default": "custom-char"
153 },
154 "noIconDashicon": {
155 "type": "string",
156 "default": "no"
157 },
158 "noIconImageUrl": {
159 "type": "string",
160 "default": ""
161 },
162 "bgColor": {
163 "type": "string",
164 "default": "#ffffff"
165 },
166 "cardBg": {
167 "type": "string",
168 "default": "#f8fafc"
169 },
170 "cardBorder": {
171 "type": "string",
172 "default": "#e2e8f0"
173 },
174 "titleColor": {
175 "type": "string",
176 "default": "#0f172a"
177 },
178 "subtitleColor": {
179 "type": "string",
180 "default": "#64748b"
181 },
182 "questionColor": {
183 "type": "string",
184 "default": "#0f172a"
185 },
186 "yesBg": {
187 "type": "string",
188 "default": "#22c55e"
189 },
190 "yesText": {
191 "type": "string",
192 "default": "#ffffff"
193 },
194 "noBg": {
195 "type": "string",
196 "default": "#ef4444"
197 },
198 "noText": {
199 "type": "string",
200 "default": "#ffffff"
201 },
202 "backBg": {
203 "type": "string",
204 "default": "#f1f5f9"
205 },
206 "backText": {
207 "type": "string",
208 "default": "#374151"
209 },
210 "breadcrumbColor": {
211 "type": "string",
212 "default": "#94a3b8"
213 },
214 "resultTextColor": {
215 "type": "string",
216 "default": "#ffffff"
217 },
218 "borderRadius": {
219 "type": "integer",
220 "default": 16
221 },
222 "cardRadius": {
223 "type": "integer",
224 "default": 12
225 },
226 "paddingTop": {
227 "type": "integer",
228 "default": 48
229 },
230 "paddingBottom": {
231 "type": "integer",
232 "default": 48
233 },
234 "titleSize": {
235 "type": "integer",
236 "default": 24
237 },
238 "subtitleFontSize": {
239 "type": "number",
240 "default": 16
241 },
242 "questionSize": {
243 "type": "integer",
244 "default": 18
245 },
246 "fontSize": {
247 "type": "integer",
248 "default": 15
249 },
250 "breadcrumbFontSize": {
251 "type": "number",
252 "default": 12
253 },
254 "typoTitle": {
255 "type": "object",
256 "default": {}
257 },
258 "typoSubtitle": {
259 "type": "object",
260 "default": {}
261 }
262 }
263 }
264