mulmocast 2.1.39 → 2.1.40

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.
Files changed (54) hide show
  1. package/README.md +43 -0
  2. package/lib/actions/pdf.js +18 -15
  3. package/lib/slide/blocks.d.ts +5 -0
  4. package/lib/slide/blocks.js +97 -0
  5. package/lib/slide/index.d.ts +5 -0
  6. package/lib/slide/index.js +7 -0
  7. package/lib/slide/layouts/big_quote.d.ts +2 -0
  8. package/lib/slide/layouts/big_quote.js +19 -0
  9. package/lib/slide/layouts/columns.d.ts +2 -0
  10. package/lib/slide/layouts/columns.js +56 -0
  11. package/lib/slide/layouts/comparison.d.ts +2 -0
  12. package/lib/slide/layouts/comparison.js +28 -0
  13. package/lib/slide/layouts/funnel.d.ts +2 -0
  14. package/lib/slide/layouts/funnel.js +27 -0
  15. package/lib/slide/layouts/grid.d.ts +2 -0
  16. package/lib/slide/layouts/grid.js +43 -0
  17. package/lib/slide/layouts/index.d.ts +3 -0
  18. package/lib/slide/layouts/index.js +43 -0
  19. package/lib/slide/layouts/matrix.d.ts +2 -0
  20. package/lib/slide/layouts/matrix.js +53 -0
  21. package/lib/slide/layouts/split.d.ts +2 -0
  22. package/lib/slide/layouts/split.js +38 -0
  23. package/lib/slide/layouts/stats.d.ts +2 -0
  24. package/lib/slide/layouts/stats.js +23 -0
  25. package/lib/slide/layouts/table.d.ts +2 -0
  26. package/lib/slide/layouts/table.js +46 -0
  27. package/lib/slide/layouts/timeline.d.ts +2 -0
  28. package/lib/slide/layouts/timeline.js +24 -0
  29. package/lib/slide/layouts/title.d.ts +2 -0
  30. package/lib/slide/layouts/title.js +17 -0
  31. package/lib/slide/render.d.ts +3 -0
  32. package/lib/slide/render.js +29 -0
  33. package/lib/slide/schema.d.ts +4009 -0
  34. package/lib/slide/schema.js +330 -0
  35. package/lib/slide/utils.d.ts +32 -0
  36. package/lib/slide/utils.js +112 -0
  37. package/lib/types/schema.d.ts +4487 -38
  38. package/lib/types/schema.js +11 -0
  39. package/lib/types/slide.d.ts +4009 -0
  40. package/lib/types/slide.js +330 -0
  41. package/lib/utils/context.d.ts +1169 -9
  42. package/lib/utils/image_plugins/index.js +14 -1
  43. package/lib/utils/image_plugins/slide.d.ts +5 -0
  44. package/lib/utils/image_plugins/slide.js +35 -0
  45. package/package.json +8 -8
  46. package/scripts/test/golden_age_of_discovery.json +270 -0
  47. package/scripts/test/test_slide_01.json +105 -0
  48. package/scripts/test/test_slide_11.json +144 -0
  49. package/scripts/test/test_slide_12.json +887 -0
  50. package/scripts/test/test_slide_showcase_corporate.json +497 -0
  51. package/scripts/test/test_slide_showcase_creative.json +545 -0
  52. package/scripts/test/test_slide_showcase_minimal.json +501 -0
  53. package/scripts/test/test_slide_showcase_pop.json +547 -0
  54. package/scripts/test/test_slide_showcase_warm.json +486 -0
@@ -0,0 +1,486 @@
1
+ {
2
+ "$mulmocast": { "version": "1.1" },
3
+ "lang": "en",
4
+ "title": "Slide Showcase - Warm Sunny Style",
5
+ "beats": [
6
+ {
7
+ "text": "Title slide in warm sunny palette",
8
+ "image": {
9
+ "type": "slide",
10
+ "theme": {
11
+ "colors": {
12
+ "bg": "FFFBEB",
13
+ "bgCard": "FFFFFF",
14
+ "bgCardAlt": "FEF3C7",
15
+ "text": "1C1917",
16
+ "textMuted": "57534E",
17
+ "textDim": "A8A29E",
18
+ "primary": "EA580C",
19
+ "accent": "D946EF",
20
+ "success": "16A34A",
21
+ "warning": "CA8A04",
22
+ "danger": "DC2626",
23
+ "info": "0284C7",
24
+ "highlight": "E11D48"
25
+ },
26
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
27
+ },
28
+ "slide": {
29
+ "layout": "title",
30
+ "title": "Summer Retreat\n2026",
31
+ "subtitle": "Warm tones, golden accents — a palette inspired by sunshine and nature",
32
+ "author": "Outdoor Adventures Co. | July 2026",
33
+ "note": "This warm, earthy theme uses orange primary, amber warnings, and natural green for a welcoming, energetic feel."
34
+ }
35
+ }
36
+ },
37
+ {
38
+ "text": "Trip planning columns",
39
+ "image": {
40
+ "type": "slide",
41
+ "theme": {
42
+ "colors": {
43
+ "bg": "FFFBEB",
44
+ "bgCard": "FFFFFF",
45
+ "bgCardAlt": "FEF3C7",
46
+ "text": "1C1917",
47
+ "textMuted": "57534E",
48
+ "textDim": "A8A29E",
49
+ "primary": "EA580C",
50
+ "accent": "D946EF",
51
+ "success": "16A34A",
52
+ "warning": "CA8A04",
53
+ "danger": "DC2626",
54
+ "info": "0284C7",
55
+ "highlight": "E11D48"
56
+ },
57
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
58
+ },
59
+ "slide": {
60
+ "layout": "columns",
61
+ "accentColor": "primary",
62
+ "stepLabel": "ITINERARY",
63
+ "title": "Three Days of Adventure",
64
+ "subtitle": "Pack your bags and get ready for an unforgettable experience",
65
+ "showArrows": true,
66
+ "columns": [
67
+ {
68
+ "title": "Day 1: Arrive",
69
+ "num": 1,
70
+ "accentColor": "primary",
71
+ "content": [
72
+ { "type": "text", "value": "Check in, meet the team, and settle into the lakeside cabins." },
73
+ { "type": "bullets", "items": ["Airport shuttle at 10am", "Welcome lunch", "Icebreaker games", "Sunset campfire"] }
74
+ ]
75
+ },
76
+ {
77
+ "title": "Day 2: Explore",
78
+ "num": 2,
79
+ "accentColor": "success",
80
+ "content": [
81
+ { "type": "text", "value": "Full day of outdoor activities and team building challenges." },
82
+ { "type": "bullets", "items": ["Mountain hike", "Kayaking race", "Cooking class", "Stargazing"] }
83
+ ]
84
+ },
85
+ {
86
+ "title": "Day 3: Reflect",
87
+ "num": 3,
88
+ "accentColor": "info",
89
+ "content": [
90
+ { "type": "text", "value": "Morning yoga, team retrospective, and farewell brunch." },
91
+ { "type": "bullets", "items": ["Sunrise yoga", "Strategy session", "Photo slideshow", "Departure at 3pm"] }
92
+ ]
93
+ }
94
+ ],
95
+ "callout": { "label": "Weather", "text": "Forecast: Sunny, 28°C — pack sunscreen and comfortable shoes!", "color": "warning", "leftBar": true }
96
+ }
97
+ }
98
+ },
99
+ {
100
+ "text": "Budget stats",
101
+ "image": {
102
+ "type": "slide",
103
+ "theme": {
104
+ "colors": {
105
+ "bg": "FFFBEB",
106
+ "bgCard": "FFFFFF",
107
+ "bgCardAlt": "FEF3C7",
108
+ "text": "1C1917",
109
+ "textMuted": "57534E",
110
+ "textDim": "A8A29E",
111
+ "primary": "EA580C",
112
+ "accent": "D946EF",
113
+ "success": "16A34A",
114
+ "warning": "CA8A04",
115
+ "danger": "DC2626",
116
+ "info": "0284C7",
117
+ "highlight": "E11D48"
118
+ },
119
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
120
+ },
121
+ "slide": {
122
+ "layout": "stats",
123
+ "accentColor": "primary",
124
+ "title": "Retreat at a Glance",
125
+ "subtitle": "Everything you need to know in four numbers",
126
+ "stats": [
127
+ { "value": "42", "label": "Team Members", "color": "primary" },
128
+ { "value": "3", "label": "Days", "color": "success" },
129
+ { "value": "12", "label": "Activities", "color": "info" },
130
+ { "value": "$850", "label": "Per Person", "color": "warning", "change": "-15%" }
131
+ ]
132
+ }
133
+ }
134
+ },
135
+ {
136
+ "text": "Indoor vs outdoor comparison",
137
+ "image": {
138
+ "type": "slide",
139
+ "theme": {
140
+ "colors": {
141
+ "bg": "FFFBEB",
142
+ "bgCard": "FFFFFF",
143
+ "bgCardAlt": "FEF3C7",
144
+ "text": "1C1917",
145
+ "textMuted": "57534E",
146
+ "textDim": "A8A29E",
147
+ "primary": "EA580C",
148
+ "accent": "D946EF",
149
+ "success": "16A34A",
150
+ "warning": "CA8A04",
151
+ "danger": "DC2626",
152
+ "info": "0284C7",
153
+ "highlight": "E11D48"
154
+ },
155
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
156
+ },
157
+ "slide": {
158
+ "layout": "comparison",
159
+ "accentColor": "primary",
160
+ "title": "Venue Options",
161
+ "subtitle": "We evaluated two outstanding locations",
162
+ "left": {
163
+ "title": "Lake Tahoe Lodge",
164
+ "accentColor": "info",
165
+ "content": [
166
+ { "type": "bullets", "items": ["Waterfront cabins", "Private beach", "Kayak & paddleboard included", "On-site restaurant"] },
167
+ { "type": "metric", "value": "$850", "label": "Per person", "color": "info" },
168
+ { "type": "callout", "text": "Best for water activities and relaxation", "style": "info" }
169
+ ],
170
+ "footer": "Capacity: 50 guests"
171
+ },
172
+ "right": {
173
+ "title": "Mountain View Ranch",
174
+ "accentColor": "primary",
175
+ "content": [
176
+ { "type": "bullets", "items": ["Mountain cabins", "Hiking trails", "Horse riding", "Outdoor amphitheater"] },
177
+ { "type": "metric", "value": "$780", "label": "Per person", "color": "primary" },
178
+ { "type": "callout", "text": "Best for hiking and adventure activities", "style": "info" }
179
+ ],
180
+ "footer": "Capacity: 80 guests"
181
+ },
182
+ "callout": { "label": "Selected", "text": "Lake Tahoe Lodge — voted by 68% of the team", "color": "success", "leftBar": true }
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "text": "Activity categories grid",
188
+ "image": {
189
+ "type": "slide",
190
+ "theme": {
191
+ "colors": {
192
+ "bg": "FFFBEB",
193
+ "bgCard": "FFFFFF",
194
+ "bgCardAlt": "FEF3C7",
195
+ "text": "1C1917",
196
+ "textMuted": "57534E",
197
+ "textDim": "A8A29E",
198
+ "primary": "EA580C",
199
+ "accent": "D946EF",
200
+ "success": "16A34A",
201
+ "warning": "CA8A04",
202
+ "danger": "DC2626",
203
+ "info": "0284C7",
204
+ "highlight": "E11D48"
205
+ },
206
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
207
+ },
208
+ "slide": {
209
+ "layout": "grid",
210
+ "accentColor": "primary",
211
+ "title": "Activities Menu",
212
+ "subtitle": "Something for everyone — choose your adventure",
213
+ "gridColumns": 3,
214
+ "items": [
215
+ { "title": "Water Sports", "icon": "W", "accentColor": "info", "description": "Kayaking, paddleboarding, swimming" },
216
+ { "title": "Hiking", "icon": "H", "accentColor": "success", "description": "Mountain trails, nature walks" },
217
+ { "title": "Cooking", "icon": "C", "accentColor": "primary", "description": "BBQ masterclass, local cuisine" },
218
+ { "title": "Wellness", "icon": "Y", "accentColor": "accent", "description": "Yoga, meditation, spa" },
219
+ { "title": "Games", "icon": "G", "accentColor": "warning", "description": "Volleyball, trivia, escape room" },
220
+ { "title": "Creative", "icon": "A", "accentColor": "highlight", "description": "Photography, painting, crafts" }
221
+ ]
222
+ }
223
+ }
224
+ },
225
+ {
226
+ "text": "Quote from last year's attendee",
227
+ "image": {
228
+ "type": "slide",
229
+ "theme": {
230
+ "colors": {
231
+ "bg": "FFFBEB",
232
+ "bgCard": "FFFFFF",
233
+ "bgCardAlt": "FEF3C7",
234
+ "text": "1C1917",
235
+ "textMuted": "57534E",
236
+ "textDim": "A8A29E",
237
+ "primary": "EA580C",
238
+ "accent": "D946EF",
239
+ "success": "16A34A",
240
+ "warning": "CA8A04",
241
+ "danger": "DC2626",
242
+ "info": "0284C7",
243
+ "highlight": "E11D48"
244
+ },
245
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
246
+ },
247
+ "slide": {
248
+ "layout": "bigQuote",
249
+ "accentColor": "primary",
250
+ "quote": "The retreat was the highlight of my year. I came back with new friends, fresh ideas, and a sunburn.",
251
+ "author": "Alex Chen",
252
+ "role": "Senior Developer, 2025 Retreat Attendee"
253
+ }
254
+ }
255
+ },
256
+ {
257
+ "text": "Preparation timeline",
258
+ "image": {
259
+ "type": "slide",
260
+ "theme": {
261
+ "colors": {
262
+ "bg": "FFFBEB",
263
+ "bgCard": "FFFFFF",
264
+ "bgCardAlt": "FEF3C7",
265
+ "text": "1C1917",
266
+ "textMuted": "57534E",
267
+ "textDim": "A8A29E",
268
+ "primary": "EA580C",
269
+ "accent": "D946EF",
270
+ "success": "16A34A",
271
+ "warning": "CA8A04",
272
+ "danger": "DC2626",
273
+ "info": "0284C7",
274
+ "highlight": "E11D48"
275
+ },
276
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
277
+ },
278
+ "slide": {
279
+ "layout": "timeline",
280
+ "accentColor": "primary",
281
+ "stepLabel": "COUNTDOWN",
282
+ "title": "Preparation Checklist",
283
+ "subtitle": "Key dates leading up to the retreat",
284
+ "items": [
285
+ { "date": "April", "title": "Survey", "description": "Activity preferences\nDietary requirements", "color": "primary", "done": true },
286
+ { "date": "May", "title": "Booking", "description": "Venue confirmed\nTravel arranged", "color": "success", "done": true },
287
+ { "date": "June", "title": "Planning", "description": "Schedule finalized\nTeam assignments", "color": "info" },
288
+ { "date": "July 1", "title": "Packing List", "description": "Gear checklist sent\nFAQ document", "color": "warning" },
289
+ { "date": "July 15", "title": "Departure!", "description": "Bus leaves at 8am\nAdventure begins!", "color": "highlight" }
290
+ ]
291
+ }
292
+ }
293
+ },
294
+ {
295
+ "text": "Scenery split with image",
296
+ "image": {
297
+ "type": "slide",
298
+ "theme": {
299
+ "colors": {
300
+ "bg": "FFFBEB",
301
+ "bgCard": "FFFFFF",
302
+ "bgCardAlt": "FEF3C7",
303
+ "text": "1C1917",
304
+ "textMuted": "57534E",
305
+ "textDim": "A8A29E",
306
+ "primary": "EA580C",
307
+ "accent": "D946EF",
308
+ "success": "16A34A",
309
+ "warning": "CA8A04",
310
+ "danger": "DC2626",
311
+ "info": "0284C7",
312
+ "highlight": "E11D48"
313
+ },
314
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
315
+ },
316
+ "slide": {
317
+ "layout": "split",
318
+ "accentColor": "primary",
319
+ "left": {
320
+ "ratio": 50,
321
+ "content": [{ "type": "image", "src": "https://picsum.photos/seed/lakesunset/600/500", "alt": "Lake at sunset", "fit": "cover" }]
322
+ },
323
+ "right": {
324
+ "title": "The Venue",
325
+ "label": "LAKE TAHOE",
326
+ "accentColor": "primary",
327
+ "ratio": 50,
328
+ "content": [
329
+ { "type": "text", "value": "Crystal-clear waters surrounded by pine forests and mountain peaks.", "bold": true },
330
+ { "type": "divider", "color": "primary" },
331
+ { "type": "bullets", "items": ["6,225 ft elevation", "Year-round activities", "Wildlife sanctuary nearby", "Dark sky certified area"] },
332
+ { "type": "callout", "label": "Fun fact", "text": "Lake Tahoe is deep enough to cover a 14-story building", "color": "info" }
333
+ ]
334
+ }
335
+ }
336
+ }
337
+ },
338
+ {
339
+ "text": "Satisfaction matrix",
340
+ "image": {
341
+ "type": "slide",
342
+ "theme": {
343
+ "colors": {
344
+ "bg": "FFFBEB",
345
+ "bgCard": "FFFFFF",
346
+ "bgCardAlt": "FEF3C7",
347
+ "text": "1C1917",
348
+ "textMuted": "57534E",
349
+ "textDim": "A8A29E",
350
+ "primary": "EA580C",
351
+ "accent": "D946EF",
352
+ "success": "16A34A",
353
+ "warning": "CA8A04",
354
+ "danger": "DC2626",
355
+ "info": "0284C7",
356
+ "highlight": "E11D48"
357
+ },
358
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
359
+ },
360
+ "slide": {
361
+ "layout": "matrix",
362
+ "accentColor": "primary",
363
+ "title": "Last Year's Feedback",
364
+ "subtitle": "What worked and what to improve",
365
+ "xAxis": { "low": "Needs Improvement", "high": "Excellent" },
366
+ "yAxis": { "low": "Less Popular", "high": "Most Popular" },
367
+ "cells": [
368
+ { "label": "Loved & Great", "accentColor": "success", "items": ["Campfire evenings", "Kayak race", "BBQ dinner"] },
369
+ { "label": "Loved but Improve", "accentColor": "primary", "items": ["Morning yoga timing", "Hiking difficulty", "Photo contest"] },
370
+ { "label": "Meh but Good", "accentColor": "info", "items": ["Trivia night", "Craft workshop", "Bird watching"] },
371
+ { "label": "Skip Next Time", "accentColor": "warning", "items": ["3-hour lecture", "5am wake-up call"] }
372
+ ]
373
+ }
374
+ }
375
+ },
376
+ {
377
+ "text": "Packing list table",
378
+ "image": {
379
+ "type": "slide",
380
+ "theme": {
381
+ "colors": {
382
+ "bg": "FFFBEB",
383
+ "bgCard": "FFFFFF",
384
+ "bgCardAlt": "FEF3C7",
385
+ "text": "1C1917",
386
+ "textMuted": "57534E",
387
+ "textDim": "A8A29E",
388
+ "primary": "EA580C",
389
+ "accent": "D946EF",
390
+ "success": "16A34A",
391
+ "warning": "CA8A04",
392
+ "danger": "DC2626",
393
+ "info": "0284C7",
394
+ "highlight": "E11D48"
395
+ },
396
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
397
+ },
398
+ "slide": {
399
+ "layout": "table",
400
+ "accentColor": "primary",
401
+ "title": "What to Bring",
402
+ "subtitle": "Essential items organized by category",
403
+ "headers": ["Category", "Required", "Optional", "Provided"],
404
+ "rowHeaders": true,
405
+ "striped": true,
406
+ "rows": [
407
+ ["Clothing", "Hiking shoes, swimwear", "Rain jacket", "Retreat t-shirt"],
408
+ ["Gear", "Sunscreen, water bottle", "Camera, binoculars", "Towels, life vests"],
409
+ ["Tech", "Phone charger", "Laptop", "WiFi, projector"],
410
+ ["Health", "Medications, ID", "First aid kit", "On-site nurse"],
411
+ ["Fun", "Board games", "Musical instrument", "Volleyball, kayaks"]
412
+ ]
413
+ }
414
+ }
415
+ },
416
+ {
417
+ "text": "RSVP funnel",
418
+ "image": {
419
+ "type": "slide",
420
+ "theme": {
421
+ "colors": {
422
+ "bg": "FFFBEB",
423
+ "bgCard": "FFFFFF",
424
+ "bgCardAlt": "FEF3C7",
425
+ "text": "1C1917",
426
+ "textMuted": "57534E",
427
+ "textDim": "A8A29E",
428
+ "primary": "EA580C",
429
+ "accent": "D946EF",
430
+ "success": "16A34A",
431
+ "warning": "CA8A04",
432
+ "danger": "DC2626",
433
+ "info": "0284C7",
434
+ "highlight": "E11D48"
435
+ },
436
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
437
+ },
438
+ "slide": {
439
+ "layout": "funnel",
440
+ "accentColor": "primary",
441
+ "title": "RSVP Status",
442
+ "subtitle": "Response breakdown as of today",
443
+ "stages": [
444
+ { "label": "Invited", "value": "52", "description": "All full-time employees", "color": "primary" },
445
+ { "label": "Responded", "value": "48", "description": "92% response rate", "color": "info" },
446
+ { "label": "Attending", "value": "42", "description": "81% attendance rate", "color": "success" },
447
+ { "label": "Need Travel", "value": "18", "description": "Flights booked for remote team", "color": "warning" }
448
+ ],
449
+ "callout": { "label": "Deadline", "text": "Final RSVP by June 15 — contact HR for special arrangements", "color": "primary", "leftBar": true }
450
+ }
451
+ }
452
+ },
453
+ {
454
+ "text": "Closing with sunset background",
455
+ "image": {
456
+ "type": "slide",
457
+ "theme": {
458
+ "colors": {
459
+ "bg": "FFFBEB",
460
+ "bgCard": "FFFFFF",
461
+ "bgCardAlt": "FEF3C7",
462
+ "text": "1C1917",
463
+ "textMuted": "57534E",
464
+ "textDim": "A8A29E",
465
+ "primary": "EA580C",
466
+ "accent": "D946EF",
467
+ "success": "16A34A",
468
+ "warning": "CA8A04",
469
+ "danger": "DC2626",
470
+ "info": "0284C7",
471
+ "highlight": "E11D48"
472
+ },
473
+ "fonts": { "title": "Georgia", "body": "Calibri", "mono": "Consolas" }
474
+ },
475
+ "slide": {
476
+ "layout": "title",
477
+ "accentColor": "primary",
478
+ "title": "See You at\nthe Lake!",
479
+ "subtitle": "July 15-17, 2026 | Lake Tahoe Lodge",
480
+ "author": "RSVP: retreat@adventureco.com",
481
+ "style": { "bgColor": "FEF3C7", "footer": "Warm Sunny Showcase | MulmoCast Slide DSL" }
482
+ }
483
+ }
484
+ }
485
+ ]
486
+ }