plotleaf 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -1
- package/dist/assets/base.js +1 -1
- package/dist/assets/charts.js +17 -17
- package/dist/assets/styles.css +131 -0
- package/dist/cli.js +1343 -919
- package/examples/interactions/control-views.json +412 -0
- package/examples/interactions/regional-views.json +409 -0
- package/examples/interactions/report.md +30 -0
- package/examples/report.md +11 -1
- package/package.json +3 -1
- package/schema/components.json +377 -2
- package/skills/plotleaf/SKILL.md +61 -1
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
{
|
|
2
|
+
"inputs": [
|
|
3
|
+
{
|
|
4
|
+
"id": "region",
|
|
5
|
+
"label": "Region",
|
|
6
|
+
"type": "select",
|
|
7
|
+
"default": "all",
|
|
8
|
+
"options": [
|
|
9
|
+
{
|
|
10
|
+
"value": "all",
|
|
11
|
+
"label": "All regions"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"value": "emea",
|
|
15
|
+
"label": "EMEA"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"value": "unlaunched",
|
|
19
|
+
"label": "Unlaunched"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "period",
|
|
25
|
+
"label": "Reporting period",
|
|
26
|
+
"type": "date-range",
|
|
27
|
+
"default": {
|
|
28
|
+
"start": "2026-11-01",
|
|
29
|
+
"end": "2026-11-07"
|
|
30
|
+
},
|
|
31
|
+
"options": [
|
|
32
|
+
{
|
|
33
|
+
"value": {
|
|
34
|
+
"start": "2026-11-01",
|
|
35
|
+
"end": "2026-11-07"
|
|
36
|
+
},
|
|
37
|
+
"label": "1\u20137 November"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"value": {
|
|
41
|
+
"start": "2026-11-08",
|
|
42
|
+
"end": "2026-11-14"
|
|
43
|
+
},
|
|
44
|
+
"label": "8\u201314 November"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"views": [
|
|
50
|
+
{
|
|
51
|
+
"id": "all-1",
|
|
52
|
+
"label": "All regions / 1\u20137 November",
|
|
53
|
+
"when": {
|
|
54
|
+
"region": "all",
|
|
55
|
+
"period": {
|
|
56
|
+
"start": "2026-11-01",
|
|
57
|
+
"end": "2026-11-07"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"markdown": "### All regions \u00b7 1\u20137 November\n\nThis prepared subset uses its own counts and denominators.\n\n:::grid{columns=\"3\"}\n::metric{label=\"Orders\" value=\"12480\" comparison=\"Prepared period\" direction=\"flat\" sentiment=\"neutral\"}\n::metric{label=\"Revenue\" value=\"824160\" format=\"currency:USD\"}\n::metric{label=\"Activated\" value=\"7612\"}\n:::\n\n::::grid{columns=\"2\"}\n::area{data=\"./series.json\" x=\"date\" y=\"orders\" xType=\"date\" title=\"Orders in selected view\"}\n::funnel{data=\"./funnel.json\" stage=\"stage\" value=\"teams\" total=\"baseline\" share=\"share\" status=\"status\" title=\"Selected-view funnel\"}\n::::\n\n::donut{data=\"./plans.json\" category=\"plan\" value=\"teams\" title=\"Selected-view plan mix\"}\n\n:::table{data=\"./accounts.json\" title=\"Selected-view accounts\"}\n::column{field=\"account\" label=\"Account\"}\n::column{field=\"orders\" label=\"Orders\"}\n::column{field=\"weekly\" label=\"Weekly orders\" kind=\"sparkline\"}\n:::\n",
|
|
61
|
+
"datasets": {
|
|
62
|
+
"series.json": [
|
|
63
|
+
{
|
|
64
|
+
"date": "2026-11-01",
|
|
65
|
+
"orders": 1732
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"date": "2026-11-02",
|
|
69
|
+
"orders": 1762
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"date": "2026-11-03",
|
|
73
|
+
"orders": 1782
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"date": "2026-11-04",
|
|
77
|
+
"orders": 1862
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"funnel.json": [
|
|
81
|
+
{
|
|
82
|
+
"stage": "Visited",
|
|
83
|
+
"teams": 37440,
|
|
84
|
+
"baseline": 37440,
|
|
85
|
+
"share": 1,
|
|
86
|
+
"status": "on-target"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"stage": "Ordered",
|
|
90
|
+
"teams": 12480,
|
|
91
|
+
"baseline": 37440,
|
|
92
|
+
"share": 0.3333333333333333,
|
|
93
|
+
"status": "on-target"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"stage": "Activated",
|
|
97
|
+
"teams": 7612,
|
|
98
|
+
"baseline": 37440,
|
|
99
|
+
"share": 0.2033119658119658,
|
|
100
|
+
"status": "below-target"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"plans.json": [
|
|
104
|
+
{
|
|
105
|
+
"plan": "Pro",
|
|
106
|
+
"teams": 5075
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"plan": "Team",
|
|
110
|
+
"teams": 2537
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"accounts.json": [
|
|
114
|
+
{
|
|
115
|
+
"account": "All regions account A",
|
|
116
|
+
"orders": 6240,
|
|
117
|
+
"weekly": [
|
|
118
|
+
10,
|
|
119
|
+
null,
|
|
120
|
+
18
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"account": "All regions account B",
|
|
125
|
+
"orders": 6240,
|
|
126
|
+
"weekly": [
|
|
127
|
+
7,
|
|
128
|
+
11,
|
|
129
|
+
15
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "all-2",
|
|
137
|
+
"label": "All regions / 8\u201314 November",
|
|
138
|
+
"when": {
|
|
139
|
+
"region": "all",
|
|
140
|
+
"period": {
|
|
141
|
+
"start": "2026-11-08",
|
|
142
|
+
"end": "2026-11-14"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"markdown": "### All regions \u00b7 8\u201314 November\n\nThis prepared subset uses its own counts and denominators.\n\n:::grid{columns=\"3\"}\n::metric{label=\"Orders\" value=\"14520\" comparison=\"Prepared period\" direction=\"flat\" sentiment=\"neutral\"}\n::metric{label=\"Revenue\" value=\"958320\" format=\"currency:USD\"}\n::metric{label=\"Activated\" value=\"8960\"}\n:::\n\n::::grid{columns=\"2\"}\n::area{data=\"./series.json\" x=\"date\" y=\"orders\" xType=\"date\" title=\"Orders in selected view\"}\n::funnel{data=\"./funnel.json\" stage=\"stage\" value=\"teams\" total=\"baseline\" share=\"share\" status=\"status\" title=\"Selected-view funnel\"}\n::::\n\n::donut{data=\"./plans.json\" category=\"plan\" value=\"teams\" title=\"Selected-view plan mix\"}\n\n:::table{data=\"./accounts.json\" title=\"Selected-view accounts\"}\n::column{field=\"account\" label=\"Account\"}\n::column{field=\"orders\" label=\"Orders\"}\n::column{field=\"weekly\" label=\"Weekly orders\" kind=\"sparkline\"}\n:::\n",
|
|
146
|
+
"datasets": {
|
|
147
|
+
"series.json": [
|
|
148
|
+
{
|
|
149
|
+
"date": "2026-11-08",
|
|
150
|
+
"orders": 2024
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"date": "2026-11-09",
|
|
154
|
+
"orders": 2054
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"date": "2026-11-10",
|
|
158
|
+
"orders": 2074
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"date": "2026-11-11",
|
|
162
|
+
"orders": 2154
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"funnel.json": [
|
|
166
|
+
{
|
|
167
|
+
"stage": "Visited",
|
|
168
|
+
"teams": 43560,
|
|
169
|
+
"baseline": 43560,
|
|
170
|
+
"share": 1,
|
|
171
|
+
"status": "on-target"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"stage": "Ordered",
|
|
175
|
+
"teams": 14520,
|
|
176
|
+
"baseline": 43560,
|
|
177
|
+
"share": 0.3333333333333333,
|
|
178
|
+
"status": "on-target"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"stage": "Activated",
|
|
182
|
+
"teams": 8960,
|
|
183
|
+
"baseline": 43560,
|
|
184
|
+
"share": 0.2056932966023875,
|
|
185
|
+
"status": "below-target"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"plans.json": [
|
|
189
|
+
{
|
|
190
|
+
"plan": "Pro",
|
|
191
|
+
"teams": 5974
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"plan": "Team",
|
|
195
|
+
"teams": 2986
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"accounts.json": [
|
|
199
|
+
{
|
|
200
|
+
"account": "All regions account A",
|
|
201
|
+
"orders": 7260,
|
|
202
|
+
"weekly": [
|
|
203
|
+
14,
|
|
204
|
+
null,
|
|
205
|
+
22
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"account": "All regions account B",
|
|
210
|
+
"orders": 7260,
|
|
211
|
+
"weekly": [
|
|
212
|
+
11,
|
|
213
|
+
15,
|
|
214
|
+
19
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"id": "emea-1",
|
|
222
|
+
"label": "EMEA / 1\u20137 November",
|
|
223
|
+
"when": {
|
|
224
|
+
"region": "emea",
|
|
225
|
+
"period": {
|
|
226
|
+
"start": "2026-11-01",
|
|
227
|
+
"end": "2026-11-07"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"markdown": "### EMEA \u00b7 1\u20137 November\n\nThis prepared subset uses its own counts and denominators.\n\n:::grid{columns=\"3\"}\n::metric{label=\"Orders\" value=\"4200\" comparison=\"Prepared period\" direction=\"flat\" sentiment=\"neutral\"}\n::metric{label=\"Revenue\" value=\"277200\" format=\"currency:USD\"}\n::metric{label=\"Activated\" value=\"2520\"}\n:::\n\n::::grid{columns=\"2\"}\n::area{data=\"./series.json\" x=\"date\" y=\"orders\" xType=\"date\" title=\"Orders in selected view\"}\n::funnel{data=\"./funnel.json\" stage=\"stage\" value=\"teams\" total=\"baseline\" share=\"share\" status=\"status\" title=\"Selected-view funnel\"}\n::::\n\n::donut{data=\"./plans.json\" category=\"plan\" value=\"teams\" title=\"Selected-view plan mix\"}\n\n:::table{data=\"./accounts.json\" title=\"Selected-view accounts\"}\n::column{field=\"account\" label=\"Account\"}\n::column{field=\"orders\" label=\"Orders\"}\n::column{field=\"weekly\" label=\"Weekly orders\" kind=\"sparkline\"}\n:::\n",
|
|
231
|
+
"datasets": {
|
|
232
|
+
"series.json": [
|
|
233
|
+
{
|
|
234
|
+
"date": "2026-11-01",
|
|
235
|
+
"orders": 550
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"date": "2026-11-02",
|
|
239
|
+
"orders": 580
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"date": "2026-11-03",
|
|
243
|
+
"orders": 600
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"date": "2026-11-04",
|
|
247
|
+
"orders": 680
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"funnel.json": [
|
|
251
|
+
{
|
|
252
|
+
"stage": "Visited",
|
|
253
|
+
"teams": 12600,
|
|
254
|
+
"baseline": 12600,
|
|
255
|
+
"share": 1,
|
|
256
|
+
"status": "on-target"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"stage": "Ordered",
|
|
260
|
+
"teams": 4200,
|
|
261
|
+
"baseline": 12600,
|
|
262
|
+
"share": 0.3333333333333333,
|
|
263
|
+
"status": "on-target"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"stage": "Activated",
|
|
267
|
+
"teams": 2520,
|
|
268
|
+
"baseline": 12600,
|
|
269
|
+
"share": 0.2,
|
|
270
|
+
"status": "below-target"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"plans.json": [
|
|
274
|
+
{
|
|
275
|
+
"plan": "Pro",
|
|
276
|
+
"teams": 1680
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"plan": "Team",
|
|
280
|
+
"teams": 840
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"accounts.json": [
|
|
284
|
+
{
|
|
285
|
+
"account": "EMEA account A",
|
|
286
|
+
"orders": 2100,
|
|
287
|
+
"weekly": [
|
|
288
|
+
10,
|
|
289
|
+
null,
|
|
290
|
+
18
|
|
291
|
+
]
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"account": "EMEA account B",
|
|
295
|
+
"orders": 2100,
|
|
296
|
+
"weekly": [
|
|
297
|
+
7,
|
|
298
|
+
11,
|
|
299
|
+
15
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
]
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"id": "emea-2",
|
|
307
|
+
"label": "EMEA / 8\u201314 November",
|
|
308
|
+
"when": {
|
|
309
|
+
"region": "emea",
|
|
310
|
+
"period": {
|
|
311
|
+
"start": "2026-11-08",
|
|
312
|
+
"end": "2026-11-14"
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"markdown": "### EMEA \u00b7 8\u201314 November\n\nThis prepared subset uses its own counts and denominators.\n\n:::grid{columns=\"3\"}\n::metric{label=\"Orders\" value=\"5100\" comparison=\"Prepared period\" direction=\"flat\" sentiment=\"neutral\"}\n::metric{label=\"Revenue\" value=\"336600\" format=\"currency:USD\"}\n::metric{label=\"Activated\" value=\"3264\"}\n:::\n\n::::grid{columns=\"2\"}\n::area{data=\"./series.json\" x=\"date\" y=\"orders\" xType=\"date\" title=\"Orders in selected view\"}\n::funnel{data=\"./funnel.json\" stage=\"stage\" value=\"teams\" total=\"baseline\" share=\"share\" status=\"status\" title=\"Selected-view funnel\"}\n::::\n\n::donut{data=\"./plans.json\" category=\"plan\" value=\"teams\" title=\"Selected-view plan mix\"}\n\n:::table{data=\"./accounts.json\" title=\"Selected-view accounts\"}\n::column{field=\"account\" label=\"Account\"}\n::column{field=\"orders\" label=\"Orders\"}\n::column{field=\"weekly\" label=\"Weekly orders\" kind=\"sparkline\"}\n:::\n",
|
|
316
|
+
"datasets": {
|
|
317
|
+
"series.json": [
|
|
318
|
+
{
|
|
319
|
+
"date": "2026-11-08",
|
|
320
|
+
"orders": 678
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"date": "2026-11-09",
|
|
324
|
+
"orders": 708
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"date": "2026-11-10",
|
|
328
|
+
"orders": 728
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"date": "2026-11-11",
|
|
332
|
+
"orders": 808
|
|
333
|
+
}
|
|
334
|
+
],
|
|
335
|
+
"funnel.json": [
|
|
336
|
+
{
|
|
337
|
+
"stage": "Visited",
|
|
338
|
+
"teams": 15300,
|
|
339
|
+
"baseline": 15300,
|
|
340
|
+
"share": 1,
|
|
341
|
+
"status": "on-target"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"stage": "Ordered",
|
|
345
|
+
"teams": 5100,
|
|
346
|
+
"baseline": 15300,
|
|
347
|
+
"share": 0.3333333333333333,
|
|
348
|
+
"status": "on-target"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"stage": "Activated",
|
|
352
|
+
"teams": 3264,
|
|
353
|
+
"baseline": 15300,
|
|
354
|
+
"share": 0.21333333333333335,
|
|
355
|
+
"status": "below-target"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"plans.json": [
|
|
359
|
+
{
|
|
360
|
+
"plan": "Pro",
|
|
361
|
+
"teams": 2176
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"plan": "Team",
|
|
365
|
+
"teams": 1088
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"accounts.json": [
|
|
369
|
+
{
|
|
370
|
+
"account": "EMEA account A",
|
|
371
|
+
"orders": 2550,
|
|
372
|
+
"weekly": [
|
|
373
|
+
14,
|
|
374
|
+
null,
|
|
375
|
+
22
|
|
376
|
+
]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"account": "EMEA account B",
|
|
380
|
+
"orders": 2550,
|
|
381
|
+
"weekly": [
|
|
382
|
+
11,
|
|
383
|
+
15,
|
|
384
|
+
19
|
|
385
|
+
]
|
|
386
|
+
}
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"id": "unlaunched-1",
|
|
392
|
+
"label": "Unlaunched / 1\u20137 November",
|
|
393
|
+
"when": {
|
|
394
|
+
"region": "unlaunched",
|
|
395
|
+
"period": {
|
|
396
|
+
"start": "2026-11-01",
|
|
397
|
+
"end": "2026-11-07"
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
"markdown": "### Unlaunched \u00b7 1\u20137 November\n\nNo observations are available. No conversion rate or denominator is invented.\n\n:::grid{columns=\"3\"}\n::metric{label=\"Orders\" value=\"0\" comparison=\"Prepared period\" direction=\"flat\" sentiment=\"neutral\"}\n::metric{label=\"Revenue\" value=\"0\" format=\"currency:USD\"}\n::metric{label=\"Activated\" value=\"0\"}\n:::\n\n::::grid{columns=\"2\"}\n::area{data=\"./series.json\" x=\"date\" y=\"orders\" xType=\"date\" title=\"Orders in selected view\"}\n::funnel{data=\"./funnel.json\" stage=\"stage\" value=\"teams\" total=\"baseline\" share=\"share\" status=\"status\" title=\"Selected-view funnel\"}\n::::\n\n::donut{data=\"./plans.json\" category=\"plan\" value=\"teams\" title=\"Selected-view plan mix\"}\n\n:::table{data=\"./accounts.json\" title=\"Selected-view accounts\"}\n::column{field=\"account\" label=\"Account\"}\n::column{field=\"orders\" label=\"Orders\"}\n::column{field=\"weekly\" label=\"Weekly orders\" kind=\"sparkline\"}\n:::\n",
|
|
401
|
+
"datasets": {
|
|
402
|
+
"series.json": [],
|
|
403
|
+
"funnel.json": [],
|
|
404
|
+
"plans.json": [],
|
|
405
|
+
"accounts.json": []
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Regional performance
|
|
3
|
+
description: Fictional prepared views with scoped offline controls.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Regional performance
|
|
7
|
+
|
|
8
|
+
All values are fictional, prepared for this example. Controls select complete,
|
|
9
|
+
agent-prepared views; the engine does not calculate metrics or denominators.
|
|
10
|
+
|
|
11
|
+
## Region and reporting period
|
|
12
|
+
|
|
13
|
+
These controls affect only the regional exploration below. Reporting periods are
|
|
14
|
+
inclusive calendar dates. No prepared view exists for Unlaunched / 8–14 November.
|
|
15
|
+
|
|
16
|
+
::explore{data="./regional-views.json" title="Regional performance explorer"}
|
|
17
|
+
|
|
18
|
+
## Other native controls
|
|
19
|
+
|
|
20
|
+
This independent exploration demonstrates segmented choices, a toggle, literal
|
|
21
|
+
text and number inputs. Text accepts `all` or `notebook`; quantity accepts `10` or
|
|
22
|
+
`20`. Other values show an unavailable state rather than stale results.
|
|
23
|
+
|
|
24
|
+
::explore{data="./control-views.json" title="Prepared catalogue scenarios"}
|
|
25
|
+
|
|
26
|
+
## Interpretation
|
|
27
|
+
|
|
28
|
+
Switching a prepared view changes its metrics, comparisons, charts, funnel, tables
|
|
29
|
+
and data alternatives together. Static prose outside an exploration stays fixed.
|
|
30
|
+
All selectable data remains readable in the downloaded report, even when hidden.
|
package/examples/report.md
CHANGED
|
@@ -92,5 +92,15 @@ Weekly order lines share the same vertical scale, so their heights are comparabl
|
|
|
92
92
|
- **The natural tote reuses its image.** The portable report embeds each unique illustration once.
|
|
93
93
|
|
|
94
94
|
:::callout{title="About these examples"}
|
|
95
|
-
All datasets, comparisons, statuses, findings and product illustrations are fictional. Store totals cover 1–7 November 2026; the onboarding and catalogue sections identify their separate periods and populations. Comparisons are prepared by the author, not inferred by the renderer. No live
|
|
95
|
+
All datasets, comparisons, statuses, findings and product illustrations are fictional. Store totals cover 1–7 November 2026; the onboarding and catalogue sections identify their separate periods and populations. Comparisons are prepared by the author, not inferred by the renderer. The explorations below select separately prepared views. Static store totals above remain unchanged. No live data connections or subtotal calculations are implied.
|
|
96
96
|
:::
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
## Explore prepared regional views
|
|
100
|
+
|
|
101
|
+
The controls in each exploration affect only that exploration. Store totals,
|
|
102
|
+
findings and the earlier examples above stay fixed. All values remain fictional.
|
|
103
|
+
|
|
104
|
+
::explore{data="./interactions/regional-views.json" title="Regional performance explorer"}
|
|
105
|
+
|
|
106
|
+
::explore{data="./interactions/control-views.json" title="Prepared catalogue scenarios"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plotleaf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Beautiful, interactive reports from Markdown and JSON. Built for agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
"dist/assets/notices.txt",
|
|
28
28
|
"schema/components.json",
|
|
29
29
|
"examples/report.md",
|
|
30
|
+
"examples/interactions/*.md",
|
|
31
|
+
"examples/interactions/*.json",
|
|
30
32
|
"examples/storefront/*.md",
|
|
31
33
|
"examples/storefront/*.json",
|
|
32
34
|
"examples/adoption/*.md",
|