@mulmocast/deck 0.2.0 → 0.3.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/lib/layouts/big_quote.js +4 -1
- package/lib/layouts/columns.js +3 -2
- package/lib/layouts/stats.js +3 -0
- package/lib/layouts/title.js +6 -1
- package/lib/schema.d.ts +456 -0
- package/lib/schema.js +14 -0
- package/lib/utils.d.ts +25 -1
- package/lib/utils.js +30 -1
- package/package.json +1 -1
package/lib/layouts/big_quote.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { renderInlineMarkup, accentBar, resolveAccent } from "../utils.js";
|
|
1
|
+
import { renderInlineMarkup, accentBar, resolveAccent, renderEyebrow } from "../utils.js";
|
|
2
2
|
export const layoutBigQuote = (data) => {
|
|
3
3
|
const accent = resolveAccent(data.accentColor);
|
|
4
|
+
const eyebrowHtml = renderEyebrow(data.eyebrow, accent);
|
|
4
5
|
const parts = [];
|
|
5
6
|
parts.push(`<div class="flex flex-col items-center justify-center h-full px-20">`);
|
|
7
|
+
if (eyebrowHtml)
|
|
8
|
+
parts.push(` <div class="mb-6">${eyebrowHtml}</div>`);
|
|
6
9
|
parts.push(` ${accentBar(accent, "w-24 mb-8")}`);
|
|
7
10
|
parts.push(` <blockquote class="text-[32px] text-d-text font-title italic text-center leading-relaxed">`);
|
|
8
11
|
parts.push(` “${renderInlineMarkup(data.quote)}”`);
|
package/lib/layouts/columns.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { renderInlineMarkup, c, cardWrap, numBadge, iconSquare, slideHeader, renderOptionalCallout, resolveAccent } from "../utils.js";
|
|
1
|
+
import { renderInlineMarkup, c, cardWrap, numBadge, iconSquare, slideHeader, renderOptionalCallout, resolveAccent, renderNumLabel } from "../utils.js";
|
|
2
2
|
import { renderCardContentBlocks } from "../blocks.js";
|
|
3
3
|
const buildColumnCard = (col) => {
|
|
4
4
|
const accent = resolveAccent(col.accentColor);
|
|
@@ -19,7 +19,8 @@ const buildColumnCard = (col) => {
|
|
|
19
19
|
if (col.label) {
|
|
20
20
|
inner.push(`<p class="text-sm font-bold text-${c(accent)} font-body">${renderInlineMarkup(col.label)}</p>`);
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
const numPrefix = renderNumLabel(col.numLabel, accent);
|
|
23
|
+
inner.push(`<h3 class="text-2xl font-title font-bold text-d-text mt-1">${numPrefix}${renderInlineMarkup(col.title)}</h3>`);
|
|
23
24
|
}
|
|
24
25
|
if (col.content) {
|
|
25
26
|
const centerCls = col.icon ? "text-center" : "";
|
package/lib/layouts/stats.js
CHANGED
|
@@ -9,6 +9,9 @@ export const layoutStats = (data) => {
|
|
|
9
9
|
const color = resolveItemColor(stat.color, data.accentColor);
|
|
10
10
|
parts.push(`<div class="flex-1 bg-d-card rounded-lg shadow-lg p-10 text-center">`);
|
|
11
11
|
parts.push(` <div class="h-[3px] bg-${c(color)} rounded-full w-12 mx-auto mb-6"></div>`);
|
|
12
|
+
if (stat.numLabel) {
|
|
13
|
+
parts.push(` <p class="font-accent font-extrabold text-${c(color)} text-sm tracking-wider mb-2">${renderInlineMarkup(stat.numLabel)}</p>`);
|
|
14
|
+
}
|
|
12
15
|
parts.push(` <p class="text-[52px] font-bold text-${c(color)} font-body leading-none">${renderInlineMarkup(stat.value)}</p>`);
|
|
13
16
|
parts.push(` <p class="text-lg text-d-muted font-body mt-4">${renderInlineMarkup(stat.label)}</p>`);
|
|
14
17
|
if (stat.change) {
|
package/lib/layouts/title.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { renderInlineMarkup, accentBar } from "../utils.js";
|
|
1
|
+
import { renderInlineMarkup, accentBar, renderEyebrow, renderChipRow, resolveAccent } from "../utils.js";
|
|
2
2
|
export const layoutTitle = (data) => {
|
|
3
|
+
const accent = resolveAccent(data.accentColor);
|
|
4
|
+
const eyebrowHtml = renderEyebrow(data.eyebrow, accent);
|
|
5
|
+
const chipsHtml = renderChipRow(data.chips);
|
|
3
6
|
return [
|
|
4
7
|
accentBar("primary"),
|
|
5
8
|
`<div class="absolute -top-20 -right-8 w-[360px] h-[360px] rounded-full bg-d-primary opacity-10"></div>`,
|
|
6
9
|
`<div class="absolute -bottom-12 -left-16 w-[280px] h-[280px] rounded-full bg-d-accent opacity-10"></div>`,
|
|
7
10
|
`<div class="flex flex-col justify-center h-full px-16 relative z-10">`,
|
|
11
|
+
eyebrowHtml ? ` <div class="mb-4">${eyebrowHtml}</div>` : "",
|
|
8
12
|
` <h1 class="text-[60px] leading-tight font-title font-bold text-d-text">${renderInlineMarkup(data.title)}</h1>`,
|
|
9
13
|
data.subtitle ? ` <p class="text-2xl text-d-muted mt-6 font-body">${renderInlineMarkup(data.subtitle)}</p>` : "",
|
|
10
14
|
data.author ? ` <p class="text-lg text-d-dim mt-10 font-body">${renderInlineMarkup(data.author)}</p>` : "",
|
|
11
15
|
data.note
|
|
12
16
|
? ` <div class="bg-d-card px-4 py-2 mt-6 inline-block rounded"><p class="text-sm text-d-dim font-body">${renderInlineMarkup(data.note)}</p></div>`
|
|
13
17
|
: "",
|
|
18
|
+
chipsHtml,
|
|
14
19
|
`</div>`,
|
|
15
20
|
accentBar("accent", "absolute bottom-0 left-0 right-0"),
|
|
16
21
|
]
|
package/lib/schema.d.ts
CHANGED
|
@@ -895,6 +895,7 @@ export declare const cardSchema: z.ZodObject<{
|
|
|
895
895
|
footer: z.ZodOptional<z.ZodString>;
|
|
896
896
|
label: z.ZodOptional<z.ZodString>;
|
|
897
897
|
num: z.ZodOptional<z.ZodNumber>;
|
|
898
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
898
899
|
icon: z.ZodOptional<z.ZodString>;
|
|
899
900
|
}, z.core.$strip>;
|
|
900
901
|
export declare const slideStyleSchema: z.ZodObject<{
|
|
@@ -904,11 +905,25 @@ export declare const slideStyleSchema: z.ZodObject<{
|
|
|
904
905
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
905
906
|
footer: z.ZodOptional<z.ZodString>;
|
|
906
907
|
}, z.core.$strip>;
|
|
908
|
+
/** Optional kicker/category label rendered at the top of a slide (small uppercase pill). */
|
|
909
|
+
export declare const eyebrowSchema: z.ZodObject<{
|
|
910
|
+
label: z.ZodString;
|
|
911
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
912
|
+
primary: "primary";
|
|
913
|
+
accent: "accent";
|
|
914
|
+
success: "success";
|
|
915
|
+
warning: "warning";
|
|
916
|
+
danger: "danger";
|
|
917
|
+
info: "info";
|
|
918
|
+
highlight: "highlight";
|
|
919
|
+
}>>;
|
|
920
|
+
}, z.core.$strip>;
|
|
907
921
|
export declare const titleSlideSchema: z.ZodObject<{
|
|
908
922
|
title: z.ZodString;
|
|
909
923
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
910
924
|
author: z.ZodOptional<z.ZodString>;
|
|
911
925
|
note: z.ZodOptional<z.ZodString>;
|
|
926
|
+
chips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
912
927
|
accentColor: z.ZodOptional<z.ZodEnum<{
|
|
913
928
|
primary: "primary";
|
|
914
929
|
accent: "accent";
|
|
@@ -925,6 +940,18 @@ export declare const titleSlideSchema: z.ZodObject<{
|
|
|
925
940
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
926
941
|
footer: z.ZodOptional<z.ZodString>;
|
|
927
942
|
}, z.core.$strip>>;
|
|
943
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
944
|
+
label: z.ZodString;
|
|
945
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
946
|
+
primary: "primary";
|
|
947
|
+
accent: "accent";
|
|
948
|
+
success: "success";
|
|
949
|
+
warning: "warning";
|
|
950
|
+
danger: "danger";
|
|
951
|
+
info: "info";
|
|
952
|
+
highlight: "highlight";
|
|
953
|
+
}>>;
|
|
954
|
+
}, z.core.$strip>>;
|
|
928
955
|
layout: z.ZodLiteral<"title">;
|
|
929
956
|
}, z.core.$strip>;
|
|
930
957
|
export declare const columnsSlideSchema: z.ZodObject<{
|
|
@@ -1203,6 +1230,7 @@ export declare const columnsSlideSchema: z.ZodObject<{
|
|
|
1203
1230
|
footer: z.ZodOptional<z.ZodString>;
|
|
1204
1231
|
label: z.ZodOptional<z.ZodString>;
|
|
1205
1232
|
num: z.ZodOptional<z.ZodNumber>;
|
|
1233
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
1206
1234
|
icon: z.ZodOptional<z.ZodString>;
|
|
1207
1235
|
}, z.core.$strip>>;
|
|
1208
1236
|
showArrows: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1241,6 +1269,18 @@ export declare const columnsSlideSchema: z.ZodObject<{
|
|
|
1241
1269
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
1242
1270
|
footer: z.ZodOptional<z.ZodString>;
|
|
1243
1271
|
}, z.core.$strip>>;
|
|
1272
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
1273
|
+
label: z.ZodString;
|
|
1274
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
1275
|
+
primary: "primary";
|
|
1276
|
+
accent: "accent";
|
|
1277
|
+
success: "success";
|
|
1278
|
+
warning: "warning";
|
|
1279
|
+
danger: "danger";
|
|
1280
|
+
info: "info";
|
|
1281
|
+
highlight: "highlight";
|
|
1282
|
+
}>>;
|
|
1283
|
+
}, z.core.$strip>>;
|
|
1244
1284
|
layout: z.ZodLiteral<"columns">;
|
|
1245
1285
|
}, z.core.$strip>;
|
|
1246
1286
|
export declare const comparisonPanelSchema: z.ZodObject<{
|
|
@@ -2094,6 +2134,18 @@ export declare const comparisonSlideSchema: z.ZodObject<{
|
|
|
2094
2134
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
2095
2135
|
footer: z.ZodOptional<z.ZodString>;
|
|
2096
2136
|
}, z.core.$strip>>;
|
|
2137
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
2138
|
+
label: z.ZodString;
|
|
2139
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
2140
|
+
primary: "primary";
|
|
2141
|
+
accent: "accent";
|
|
2142
|
+
success: "success";
|
|
2143
|
+
warning: "warning";
|
|
2144
|
+
danger: "danger";
|
|
2145
|
+
info: "info";
|
|
2146
|
+
highlight: "highlight";
|
|
2147
|
+
}>>;
|
|
2148
|
+
}, z.core.$strip>>;
|
|
2097
2149
|
layout: z.ZodLiteral<"comparison">;
|
|
2098
2150
|
}, z.core.$strip>;
|
|
2099
2151
|
export declare const gridItemSchema: z.ZodObject<{
|
|
@@ -2663,6 +2715,18 @@ export declare const gridSlideSchema: z.ZodObject<{
|
|
|
2663
2715
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
2664
2716
|
footer: z.ZodOptional<z.ZodString>;
|
|
2665
2717
|
}, z.core.$strip>>;
|
|
2718
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
2719
|
+
label: z.ZodString;
|
|
2720
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
2721
|
+
primary: "primary";
|
|
2722
|
+
accent: "accent";
|
|
2723
|
+
success: "success";
|
|
2724
|
+
warning: "warning";
|
|
2725
|
+
danger: "danger";
|
|
2726
|
+
info: "info";
|
|
2727
|
+
highlight: "highlight";
|
|
2728
|
+
}>>;
|
|
2729
|
+
}, z.core.$strip>>;
|
|
2666
2730
|
layout: z.ZodLiteral<"grid">;
|
|
2667
2731
|
}, z.core.$strip>;
|
|
2668
2732
|
export declare const bigQuoteSlideSchema: z.ZodObject<{
|
|
@@ -2685,6 +2749,18 @@ export declare const bigQuoteSlideSchema: z.ZodObject<{
|
|
|
2685
2749
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
2686
2750
|
footer: z.ZodOptional<z.ZodString>;
|
|
2687
2751
|
}, z.core.$strip>>;
|
|
2752
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
2753
|
+
label: z.ZodString;
|
|
2754
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
2755
|
+
primary: "primary";
|
|
2756
|
+
accent: "accent";
|
|
2757
|
+
success: "success";
|
|
2758
|
+
warning: "warning";
|
|
2759
|
+
danger: "danger";
|
|
2760
|
+
info: "info";
|
|
2761
|
+
highlight: "highlight";
|
|
2762
|
+
}>>;
|
|
2763
|
+
}, z.core.$strip>>;
|
|
2688
2764
|
layout: z.ZodLiteral<"bigQuote">;
|
|
2689
2765
|
}, z.core.$strip>;
|
|
2690
2766
|
export declare const statItemSchema: z.ZodObject<{
|
|
@@ -2700,6 +2776,7 @@ export declare const statItemSchema: z.ZodObject<{
|
|
|
2700
2776
|
highlight: "highlight";
|
|
2701
2777
|
}>>;
|
|
2702
2778
|
change: z.ZodOptional<z.ZodString>;
|
|
2779
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
2703
2780
|
}, z.core.$strip>;
|
|
2704
2781
|
export declare const statsSlideSchema: z.ZodObject<{
|
|
2705
2782
|
title: z.ZodString;
|
|
@@ -2718,6 +2795,7 @@ export declare const statsSlideSchema: z.ZodObject<{
|
|
|
2718
2795
|
highlight: "highlight";
|
|
2719
2796
|
}>>;
|
|
2720
2797
|
change: z.ZodOptional<z.ZodString>;
|
|
2798
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
2721
2799
|
}, z.core.$strip>>;
|
|
2722
2800
|
callout: z.ZodOptional<z.ZodObject<{
|
|
2723
2801
|
text: z.ZodString;
|
|
@@ -2753,6 +2831,18 @@ export declare const statsSlideSchema: z.ZodObject<{
|
|
|
2753
2831
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
2754
2832
|
footer: z.ZodOptional<z.ZodString>;
|
|
2755
2833
|
}, z.core.$strip>>;
|
|
2834
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
2835
|
+
label: z.ZodString;
|
|
2836
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
2837
|
+
primary: "primary";
|
|
2838
|
+
accent: "accent";
|
|
2839
|
+
success: "success";
|
|
2840
|
+
warning: "warning";
|
|
2841
|
+
danger: "danger";
|
|
2842
|
+
info: "info";
|
|
2843
|
+
highlight: "highlight";
|
|
2844
|
+
}>>;
|
|
2845
|
+
}, z.core.$strip>>;
|
|
2756
2846
|
layout: z.ZodLiteral<"stats">;
|
|
2757
2847
|
}, z.core.$strip>;
|
|
2758
2848
|
export declare const timelineItemSchema: z.ZodObject<{
|
|
@@ -2805,6 +2895,18 @@ export declare const timelineSlideSchema: z.ZodObject<{
|
|
|
2805
2895
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
2806
2896
|
footer: z.ZodOptional<z.ZodString>;
|
|
2807
2897
|
}, z.core.$strip>>;
|
|
2898
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
2899
|
+
label: z.ZodString;
|
|
2900
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
2901
|
+
primary: "primary";
|
|
2902
|
+
accent: "accent";
|
|
2903
|
+
success: "success";
|
|
2904
|
+
warning: "warning";
|
|
2905
|
+
danger: "danger";
|
|
2906
|
+
info: "info";
|
|
2907
|
+
highlight: "highlight";
|
|
2908
|
+
}>>;
|
|
2909
|
+
}, z.core.$strip>>;
|
|
2808
2910
|
layout: z.ZodLiteral<"timeline">;
|
|
2809
2911
|
}, z.core.$strip>;
|
|
2810
2912
|
export declare const splitPanelSchema: z.ZodObject<{
|
|
@@ -3664,6 +3766,18 @@ export declare const splitSlideSchema: z.ZodObject<{
|
|
|
3664
3766
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
3665
3767
|
footer: z.ZodOptional<z.ZodString>;
|
|
3666
3768
|
}, z.core.$strip>>;
|
|
3769
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
3770
|
+
label: z.ZodString;
|
|
3771
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
3772
|
+
primary: "primary";
|
|
3773
|
+
accent: "accent";
|
|
3774
|
+
success: "success";
|
|
3775
|
+
warning: "warning";
|
|
3776
|
+
danger: "danger";
|
|
3777
|
+
info: "info";
|
|
3778
|
+
highlight: "highlight";
|
|
3779
|
+
}>>;
|
|
3780
|
+
}, z.core.$strip>>;
|
|
3667
3781
|
layout: z.ZodLiteral<"split">;
|
|
3668
3782
|
}, z.core.$strip>;
|
|
3669
3783
|
export declare const matrixCellSchema: z.ZodObject<{
|
|
@@ -4240,6 +4354,18 @@ export declare const matrixSlideSchema: z.ZodObject<{
|
|
|
4240
4354
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4241
4355
|
footer: z.ZodOptional<z.ZodString>;
|
|
4242
4356
|
}, z.core.$strip>>;
|
|
4357
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
4358
|
+
label: z.ZodString;
|
|
4359
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
4360
|
+
primary: "primary";
|
|
4361
|
+
accent: "accent";
|
|
4362
|
+
success: "success";
|
|
4363
|
+
warning: "warning";
|
|
4364
|
+
danger: "danger";
|
|
4365
|
+
info: "info";
|
|
4366
|
+
highlight: "highlight";
|
|
4367
|
+
}>>;
|
|
4368
|
+
}, z.core.$strip>>;
|
|
4243
4369
|
layout: z.ZodLiteral<"matrix">;
|
|
4244
4370
|
}, z.core.$strip>;
|
|
4245
4371
|
export declare const tableSlideSchema: z.ZodObject<{
|
|
@@ -4297,6 +4423,18 @@ export declare const tableSlideSchema: z.ZodObject<{
|
|
|
4297
4423
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4298
4424
|
footer: z.ZodOptional<z.ZodString>;
|
|
4299
4425
|
}, z.core.$strip>>;
|
|
4426
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
4427
|
+
label: z.ZodString;
|
|
4428
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
4429
|
+
primary: "primary";
|
|
4430
|
+
accent: "accent";
|
|
4431
|
+
success: "success";
|
|
4432
|
+
warning: "warning";
|
|
4433
|
+
danger: "danger";
|
|
4434
|
+
info: "info";
|
|
4435
|
+
highlight: "highlight";
|
|
4436
|
+
}>>;
|
|
4437
|
+
}, z.core.$strip>>;
|
|
4300
4438
|
layout: z.ZodLiteral<"table">;
|
|
4301
4439
|
}, z.core.$strip>;
|
|
4302
4440
|
export declare const waterfallItemSchema: z.ZodObject<{
|
|
@@ -4366,6 +4504,18 @@ export declare const waterfallSlideSchema: z.ZodObject<{
|
|
|
4366
4504
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4367
4505
|
footer: z.ZodOptional<z.ZodString>;
|
|
4368
4506
|
}, z.core.$strip>>;
|
|
4507
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
4508
|
+
label: z.ZodString;
|
|
4509
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
4510
|
+
primary: "primary";
|
|
4511
|
+
accent: "accent";
|
|
4512
|
+
success: "success";
|
|
4513
|
+
warning: "warning";
|
|
4514
|
+
danger: "danger";
|
|
4515
|
+
info: "info";
|
|
4516
|
+
highlight: "highlight";
|
|
4517
|
+
}>>;
|
|
4518
|
+
}, z.core.$strip>>;
|
|
4369
4519
|
layout: z.ZodLiteral<"waterfall">;
|
|
4370
4520
|
}, z.core.$strip>;
|
|
4371
4521
|
export declare const funnelStageSchema: z.ZodObject<{
|
|
@@ -4434,6 +4584,18 @@ export declare const funnelSlideSchema: z.ZodObject<{
|
|
|
4434
4584
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4435
4585
|
footer: z.ZodOptional<z.ZodString>;
|
|
4436
4586
|
}, z.core.$strip>>;
|
|
4587
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
4588
|
+
label: z.ZodString;
|
|
4589
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
4590
|
+
primary: "primary";
|
|
4591
|
+
accent: "accent";
|
|
4592
|
+
success: "success";
|
|
4593
|
+
warning: "warning";
|
|
4594
|
+
danger: "danger";
|
|
4595
|
+
info: "info";
|
|
4596
|
+
highlight: "highlight";
|
|
4597
|
+
}>>;
|
|
4598
|
+
}, z.core.$strip>>;
|
|
4437
4599
|
layout: z.ZodLiteral<"funnel">;
|
|
4438
4600
|
}, z.core.$strip>;
|
|
4439
4601
|
export declare const slideBrandingLogoSchema: z.ZodObject<{
|
|
@@ -4501,6 +4663,7 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4501
4663
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
4502
4664
|
author: z.ZodOptional<z.ZodString>;
|
|
4503
4665
|
note: z.ZodOptional<z.ZodString>;
|
|
4666
|
+
chips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
4504
4667
|
accentColor: z.ZodOptional<z.ZodEnum<{
|
|
4505
4668
|
primary: "primary";
|
|
4506
4669
|
accent: "accent";
|
|
@@ -4517,6 +4680,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4517
4680
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4518
4681
|
footer: z.ZodOptional<z.ZodString>;
|
|
4519
4682
|
}, z.core.$strip>>;
|
|
4683
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
4684
|
+
label: z.ZodString;
|
|
4685
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
4686
|
+
primary: "primary";
|
|
4687
|
+
accent: "accent";
|
|
4688
|
+
success: "success";
|
|
4689
|
+
warning: "warning";
|
|
4690
|
+
danger: "danger";
|
|
4691
|
+
info: "info";
|
|
4692
|
+
highlight: "highlight";
|
|
4693
|
+
}>>;
|
|
4694
|
+
}, z.core.$strip>>;
|
|
4520
4695
|
layout: z.ZodLiteral<"title">;
|
|
4521
4696
|
}, z.core.$strip>, z.ZodObject<{
|
|
4522
4697
|
title: z.ZodString;
|
|
@@ -4794,6 +4969,7 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4794
4969
|
footer: z.ZodOptional<z.ZodString>;
|
|
4795
4970
|
label: z.ZodOptional<z.ZodString>;
|
|
4796
4971
|
num: z.ZodOptional<z.ZodNumber>;
|
|
4972
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
4797
4973
|
icon: z.ZodOptional<z.ZodString>;
|
|
4798
4974
|
}, z.core.$strip>>;
|
|
4799
4975
|
showArrows: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -4832,6 +5008,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4832
5008
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
4833
5009
|
footer: z.ZodOptional<z.ZodString>;
|
|
4834
5010
|
}, z.core.$strip>>;
|
|
5011
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
5012
|
+
label: z.ZodString;
|
|
5013
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
5014
|
+
primary: "primary";
|
|
5015
|
+
accent: "accent";
|
|
5016
|
+
success: "success";
|
|
5017
|
+
warning: "warning";
|
|
5018
|
+
danger: "danger";
|
|
5019
|
+
info: "info";
|
|
5020
|
+
highlight: "highlight";
|
|
5021
|
+
}>>;
|
|
5022
|
+
}, z.core.$strip>>;
|
|
4835
5023
|
layout: z.ZodLiteral<"columns">;
|
|
4836
5024
|
}, z.core.$strip>, z.ZodObject<{
|
|
4837
5025
|
title: z.ZodString;
|
|
@@ -5413,6 +5601,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5413
5601
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
5414
5602
|
footer: z.ZodOptional<z.ZodString>;
|
|
5415
5603
|
}, z.core.$strip>>;
|
|
5604
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
5605
|
+
label: z.ZodString;
|
|
5606
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
5607
|
+
primary: "primary";
|
|
5608
|
+
accent: "accent";
|
|
5609
|
+
success: "success";
|
|
5610
|
+
warning: "warning";
|
|
5611
|
+
danger: "danger";
|
|
5612
|
+
info: "info";
|
|
5613
|
+
highlight: "highlight";
|
|
5614
|
+
}>>;
|
|
5615
|
+
}, z.core.$strip>>;
|
|
5416
5616
|
layout: z.ZodLiteral<"comparison">;
|
|
5417
5617
|
}, z.core.$strip>, z.ZodObject<{
|
|
5418
5618
|
title: z.ZodString;
|
|
@@ -5708,6 +5908,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5708
5908
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
5709
5909
|
footer: z.ZodOptional<z.ZodString>;
|
|
5710
5910
|
}, z.core.$strip>>;
|
|
5911
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
5912
|
+
label: z.ZodString;
|
|
5913
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
5914
|
+
primary: "primary";
|
|
5915
|
+
accent: "accent";
|
|
5916
|
+
success: "success";
|
|
5917
|
+
warning: "warning";
|
|
5918
|
+
danger: "danger";
|
|
5919
|
+
info: "info";
|
|
5920
|
+
highlight: "highlight";
|
|
5921
|
+
}>>;
|
|
5922
|
+
}, z.core.$strip>>;
|
|
5711
5923
|
layout: z.ZodLiteral<"grid">;
|
|
5712
5924
|
}, z.core.$strip>, z.ZodObject<{
|
|
5713
5925
|
quote: z.ZodString;
|
|
@@ -5729,6 +5941,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5729
5941
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
5730
5942
|
footer: z.ZodOptional<z.ZodString>;
|
|
5731
5943
|
}, z.core.$strip>>;
|
|
5944
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
5945
|
+
label: z.ZodString;
|
|
5946
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
5947
|
+
primary: "primary";
|
|
5948
|
+
accent: "accent";
|
|
5949
|
+
success: "success";
|
|
5950
|
+
warning: "warning";
|
|
5951
|
+
danger: "danger";
|
|
5952
|
+
info: "info";
|
|
5953
|
+
highlight: "highlight";
|
|
5954
|
+
}>>;
|
|
5955
|
+
}, z.core.$strip>>;
|
|
5732
5956
|
layout: z.ZodLiteral<"bigQuote">;
|
|
5733
5957
|
}, z.core.$strip>, z.ZodObject<{
|
|
5734
5958
|
title: z.ZodString;
|
|
@@ -5747,6 +5971,7 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5747
5971
|
highlight: "highlight";
|
|
5748
5972
|
}>>;
|
|
5749
5973
|
change: z.ZodOptional<z.ZodString>;
|
|
5974
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
5750
5975
|
}, z.core.$strip>>;
|
|
5751
5976
|
callout: z.ZodOptional<z.ZodObject<{
|
|
5752
5977
|
text: z.ZodString;
|
|
@@ -5782,6 +6007,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5782
6007
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
5783
6008
|
footer: z.ZodOptional<z.ZodString>;
|
|
5784
6009
|
}, z.core.$strip>>;
|
|
6010
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
6011
|
+
label: z.ZodString;
|
|
6012
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
6013
|
+
primary: "primary";
|
|
6014
|
+
accent: "accent";
|
|
6015
|
+
success: "success";
|
|
6016
|
+
warning: "warning";
|
|
6017
|
+
danger: "danger";
|
|
6018
|
+
info: "info";
|
|
6019
|
+
highlight: "highlight";
|
|
6020
|
+
}>>;
|
|
6021
|
+
}, z.core.$strip>>;
|
|
5785
6022
|
layout: z.ZodLiteral<"stats">;
|
|
5786
6023
|
}, z.core.$strip>, z.ZodObject<{
|
|
5787
6024
|
title: z.ZodString;
|
|
@@ -5818,6 +6055,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5818
6055
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
5819
6056
|
footer: z.ZodOptional<z.ZodString>;
|
|
5820
6057
|
}, z.core.$strip>>;
|
|
6058
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
6059
|
+
label: z.ZodString;
|
|
6060
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
6061
|
+
primary: "primary";
|
|
6062
|
+
accent: "accent";
|
|
6063
|
+
success: "success";
|
|
6064
|
+
warning: "warning";
|
|
6065
|
+
danger: "danger";
|
|
6066
|
+
info: "info";
|
|
6067
|
+
highlight: "highlight";
|
|
6068
|
+
}>>;
|
|
6069
|
+
}, z.core.$strip>>;
|
|
5821
6070
|
layout: z.ZodLiteral<"timeline">;
|
|
5822
6071
|
}, z.core.$strip>, z.ZodObject<{
|
|
5823
6072
|
left: z.ZodOptional<z.ZodObject<{
|
|
@@ -6396,6 +6645,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6396
6645
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6397
6646
|
footer: z.ZodOptional<z.ZodString>;
|
|
6398
6647
|
}, z.core.$strip>>;
|
|
6648
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
6649
|
+
label: z.ZodString;
|
|
6650
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
6651
|
+
primary: "primary";
|
|
6652
|
+
accent: "accent";
|
|
6653
|
+
success: "success";
|
|
6654
|
+
warning: "warning";
|
|
6655
|
+
danger: "danger";
|
|
6656
|
+
info: "info";
|
|
6657
|
+
highlight: "highlight";
|
|
6658
|
+
}>>;
|
|
6659
|
+
}, z.core.$strip>>;
|
|
6399
6660
|
layout: z.ZodLiteral<"split">;
|
|
6400
6661
|
}, z.core.$strip>, z.ZodObject<{
|
|
6401
6662
|
title: z.ZodString;
|
|
@@ -6700,6 +6961,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6700
6961
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6701
6962
|
footer: z.ZodOptional<z.ZodString>;
|
|
6702
6963
|
}, z.core.$strip>>;
|
|
6964
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
6965
|
+
label: z.ZodString;
|
|
6966
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
6967
|
+
primary: "primary";
|
|
6968
|
+
accent: "accent";
|
|
6969
|
+
success: "success";
|
|
6970
|
+
warning: "warning";
|
|
6971
|
+
danger: "danger";
|
|
6972
|
+
info: "info";
|
|
6973
|
+
highlight: "highlight";
|
|
6974
|
+
}>>;
|
|
6975
|
+
}, z.core.$strip>>;
|
|
6703
6976
|
layout: z.ZodLiteral<"matrix">;
|
|
6704
6977
|
}, z.core.$strip>, z.ZodObject<{
|
|
6705
6978
|
title: z.ZodString;
|
|
@@ -6756,6 +7029,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6756
7029
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6757
7030
|
footer: z.ZodOptional<z.ZodString>;
|
|
6758
7031
|
}, z.core.$strip>>;
|
|
7032
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
7033
|
+
label: z.ZodString;
|
|
7034
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
7035
|
+
primary: "primary";
|
|
7036
|
+
accent: "accent";
|
|
7037
|
+
success: "success";
|
|
7038
|
+
warning: "warning";
|
|
7039
|
+
danger: "danger";
|
|
7040
|
+
info: "info";
|
|
7041
|
+
highlight: "highlight";
|
|
7042
|
+
}>>;
|
|
7043
|
+
}, z.core.$strip>>;
|
|
6759
7044
|
layout: z.ZodLiteral<"table">;
|
|
6760
7045
|
}, z.core.$strip>, z.ZodObject<{
|
|
6761
7046
|
title: z.ZodString;
|
|
@@ -6809,6 +7094,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6809
7094
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6810
7095
|
footer: z.ZodOptional<z.ZodString>;
|
|
6811
7096
|
}, z.core.$strip>>;
|
|
7097
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
7098
|
+
label: z.ZodString;
|
|
7099
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
7100
|
+
primary: "primary";
|
|
7101
|
+
accent: "accent";
|
|
7102
|
+
success: "success";
|
|
7103
|
+
warning: "warning";
|
|
7104
|
+
danger: "danger";
|
|
7105
|
+
info: "info";
|
|
7106
|
+
highlight: "highlight";
|
|
7107
|
+
}>>;
|
|
7108
|
+
}, z.core.$strip>>;
|
|
6812
7109
|
layout: z.ZodLiteral<"funnel">;
|
|
6813
7110
|
}, z.core.$strip>, z.ZodObject<{
|
|
6814
7111
|
title: z.ZodString;
|
|
@@ -6863,6 +7160,18 @@ export declare const slideLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6863
7160
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6864
7161
|
footer: z.ZodOptional<z.ZodString>;
|
|
6865
7162
|
}, z.core.$strip>>;
|
|
7163
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
7164
|
+
label: z.ZodString;
|
|
7165
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
7166
|
+
primary: "primary";
|
|
7167
|
+
accent: "accent";
|
|
7168
|
+
success: "success";
|
|
7169
|
+
warning: "warning";
|
|
7170
|
+
danger: "danger";
|
|
7171
|
+
info: "info";
|
|
7172
|
+
highlight: "highlight";
|
|
7173
|
+
}>>;
|
|
7174
|
+
}, z.core.$strip>>;
|
|
6866
7175
|
layout: z.ZodLiteral<"waterfall">;
|
|
6867
7176
|
}, z.core.$strip>], "layout">;
|
|
6868
7177
|
/** Media schema registered in mulmoImageAssetSchema */
|
|
@@ -6898,6 +7207,7 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
6898
7207
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
6899
7208
|
author: z.ZodOptional<z.ZodString>;
|
|
6900
7209
|
note: z.ZodOptional<z.ZodString>;
|
|
7210
|
+
chips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6901
7211
|
accentColor: z.ZodOptional<z.ZodEnum<{
|
|
6902
7212
|
primary: "primary";
|
|
6903
7213
|
accent: "accent";
|
|
@@ -6914,6 +7224,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
6914
7224
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
6915
7225
|
footer: z.ZodOptional<z.ZodString>;
|
|
6916
7226
|
}, z.core.$strip>>;
|
|
7227
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
7228
|
+
label: z.ZodString;
|
|
7229
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
7230
|
+
primary: "primary";
|
|
7231
|
+
accent: "accent";
|
|
7232
|
+
success: "success";
|
|
7233
|
+
warning: "warning";
|
|
7234
|
+
danger: "danger";
|
|
7235
|
+
info: "info";
|
|
7236
|
+
highlight: "highlight";
|
|
7237
|
+
}>>;
|
|
7238
|
+
}, z.core.$strip>>;
|
|
6917
7239
|
layout: z.ZodLiteral<"title">;
|
|
6918
7240
|
}, z.core.$strip>, z.ZodObject<{
|
|
6919
7241
|
title: z.ZodString;
|
|
@@ -7191,6 +7513,7 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
7191
7513
|
footer: z.ZodOptional<z.ZodString>;
|
|
7192
7514
|
label: z.ZodOptional<z.ZodString>;
|
|
7193
7515
|
num: z.ZodOptional<z.ZodNumber>;
|
|
7516
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
7194
7517
|
icon: z.ZodOptional<z.ZodString>;
|
|
7195
7518
|
}, z.core.$strip>>;
|
|
7196
7519
|
showArrows: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -7229,6 +7552,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
7229
7552
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7230
7553
|
footer: z.ZodOptional<z.ZodString>;
|
|
7231
7554
|
}, z.core.$strip>>;
|
|
7555
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
7556
|
+
label: z.ZodString;
|
|
7557
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
7558
|
+
primary: "primary";
|
|
7559
|
+
accent: "accent";
|
|
7560
|
+
success: "success";
|
|
7561
|
+
warning: "warning";
|
|
7562
|
+
danger: "danger";
|
|
7563
|
+
info: "info";
|
|
7564
|
+
highlight: "highlight";
|
|
7565
|
+
}>>;
|
|
7566
|
+
}, z.core.$strip>>;
|
|
7232
7567
|
layout: z.ZodLiteral<"columns">;
|
|
7233
7568
|
}, z.core.$strip>, z.ZodObject<{
|
|
7234
7569
|
title: z.ZodString;
|
|
@@ -7810,6 +8145,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
7810
8145
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7811
8146
|
footer: z.ZodOptional<z.ZodString>;
|
|
7812
8147
|
}, z.core.$strip>>;
|
|
8148
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
8149
|
+
label: z.ZodString;
|
|
8150
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
8151
|
+
primary: "primary";
|
|
8152
|
+
accent: "accent";
|
|
8153
|
+
success: "success";
|
|
8154
|
+
warning: "warning";
|
|
8155
|
+
danger: "danger";
|
|
8156
|
+
info: "info";
|
|
8157
|
+
highlight: "highlight";
|
|
8158
|
+
}>>;
|
|
8159
|
+
}, z.core.$strip>>;
|
|
7813
8160
|
layout: z.ZodLiteral<"comparison">;
|
|
7814
8161
|
}, z.core.$strip>, z.ZodObject<{
|
|
7815
8162
|
title: z.ZodString;
|
|
@@ -8105,6 +8452,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8105
8452
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8106
8453
|
footer: z.ZodOptional<z.ZodString>;
|
|
8107
8454
|
}, z.core.$strip>>;
|
|
8455
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
8456
|
+
label: z.ZodString;
|
|
8457
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
8458
|
+
primary: "primary";
|
|
8459
|
+
accent: "accent";
|
|
8460
|
+
success: "success";
|
|
8461
|
+
warning: "warning";
|
|
8462
|
+
danger: "danger";
|
|
8463
|
+
info: "info";
|
|
8464
|
+
highlight: "highlight";
|
|
8465
|
+
}>>;
|
|
8466
|
+
}, z.core.$strip>>;
|
|
8108
8467
|
layout: z.ZodLiteral<"grid">;
|
|
8109
8468
|
}, z.core.$strip>, z.ZodObject<{
|
|
8110
8469
|
quote: z.ZodString;
|
|
@@ -8126,6 +8485,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8126
8485
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8127
8486
|
footer: z.ZodOptional<z.ZodString>;
|
|
8128
8487
|
}, z.core.$strip>>;
|
|
8488
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
8489
|
+
label: z.ZodString;
|
|
8490
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
8491
|
+
primary: "primary";
|
|
8492
|
+
accent: "accent";
|
|
8493
|
+
success: "success";
|
|
8494
|
+
warning: "warning";
|
|
8495
|
+
danger: "danger";
|
|
8496
|
+
info: "info";
|
|
8497
|
+
highlight: "highlight";
|
|
8498
|
+
}>>;
|
|
8499
|
+
}, z.core.$strip>>;
|
|
8129
8500
|
layout: z.ZodLiteral<"bigQuote">;
|
|
8130
8501
|
}, z.core.$strip>, z.ZodObject<{
|
|
8131
8502
|
title: z.ZodString;
|
|
@@ -8144,6 +8515,7 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8144
8515
|
highlight: "highlight";
|
|
8145
8516
|
}>>;
|
|
8146
8517
|
change: z.ZodOptional<z.ZodString>;
|
|
8518
|
+
numLabel: z.ZodOptional<z.ZodString>;
|
|
8147
8519
|
}, z.core.$strip>>;
|
|
8148
8520
|
callout: z.ZodOptional<z.ZodObject<{
|
|
8149
8521
|
text: z.ZodString;
|
|
@@ -8179,6 +8551,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8179
8551
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8180
8552
|
footer: z.ZodOptional<z.ZodString>;
|
|
8181
8553
|
}, z.core.$strip>>;
|
|
8554
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
8555
|
+
label: z.ZodString;
|
|
8556
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
8557
|
+
primary: "primary";
|
|
8558
|
+
accent: "accent";
|
|
8559
|
+
success: "success";
|
|
8560
|
+
warning: "warning";
|
|
8561
|
+
danger: "danger";
|
|
8562
|
+
info: "info";
|
|
8563
|
+
highlight: "highlight";
|
|
8564
|
+
}>>;
|
|
8565
|
+
}, z.core.$strip>>;
|
|
8182
8566
|
layout: z.ZodLiteral<"stats">;
|
|
8183
8567
|
}, z.core.$strip>, z.ZodObject<{
|
|
8184
8568
|
title: z.ZodString;
|
|
@@ -8215,6 +8599,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8215
8599
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8216
8600
|
footer: z.ZodOptional<z.ZodString>;
|
|
8217
8601
|
}, z.core.$strip>>;
|
|
8602
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
8603
|
+
label: z.ZodString;
|
|
8604
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
8605
|
+
primary: "primary";
|
|
8606
|
+
accent: "accent";
|
|
8607
|
+
success: "success";
|
|
8608
|
+
warning: "warning";
|
|
8609
|
+
danger: "danger";
|
|
8610
|
+
info: "info";
|
|
8611
|
+
highlight: "highlight";
|
|
8612
|
+
}>>;
|
|
8613
|
+
}, z.core.$strip>>;
|
|
8218
8614
|
layout: z.ZodLiteral<"timeline">;
|
|
8219
8615
|
}, z.core.$strip>, z.ZodObject<{
|
|
8220
8616
|
left: z.ZodOptional<z.ZodObject<{
|
|
@@ -8793,6 +9189,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
8793
9189
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8794
9190
|
footer: z.ZodOptional<z.ZodString>;
|
|
8795
9191
|
}, z.core.$strip>>;
|
|
9192
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
9193
|
+
label: z.ZodString;
|
|
9194
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
9195
|
+
primary: "primary";
|
|
9196
|
+
accent: "accent";
|
|
9197
|
+
success: "success";
|
|
9198
|
+
warning: "warning";
|
|
9199
|
+
danger: "danger";
|
|
9200
|
+
info: "info";
|
|
9201
|
+
highlight: "highlight";
|
|
9202
|
+
}>>;
|
|
9203
|
+
}, z.core.$strip>>;
|
|
8796
9204
|
layout: z.ZodLiteral<"split">;
|
|
8797
9205
|
}, z.core.$strip>, z.ZodObject<{
|
|
8798
9206
|
title: z.ZodString;
|
|
@@ -9097,6 +9505,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
9097
9505
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
9098
9506
|
footer: z.ZodOptional<z.ZodString>;
|
|
9099
9507
|
}, z.core.$strip>>;
|
|
9508
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
9509
|
+
label: z.ZodString;
|
|
9510
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
9511
|
+
primary: "primary";
|
|
9512
|
+
accent: "accent";
|
|
9513
|
+
success: "success";
|
|
9514
|
+
warning: "warning";
|
|
9515
|
+
danger: "danger";
|
|
9516
|
+
info: "info";
|
|
9517
|
+
highlight: "highlight";
|
|
9518
|
+
}>>;
|
|
9519
|
+
}, z.core.$strip>>;
|
|
9100
9520
|
layout: z.ZodLiteral<"matrix">;
|
|
9101
9521
|
}, z.core.$strip>, z.ZodObject<{
|
|
9102
9522
|
title: z.ZodString;
|
|
@@ -9153,6 +9573,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
9153
9573
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
9154
9574
|
footer: z.ZodOptional<z.ZodString>;
|
|
9155
9575
|
}, z.core.$strip>>;
|
|
9576
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
9577
|
+
label: z.ZodString;
|
|
9578
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
9579
|
+
primary: "primary";
|
|
9580
|
+
accent: "accent";
|
|
9581
|
+
success: "success";
|
|
9582
|
+
warning: "warning";
|
|
9583
|
+
danger: "danger";
|
|
9584
|
+
info: "info";
|
|
9585
|
+
highlight: "highlight";
|
|
9586
|
+
}>>;
|
|
9587
|
+
}, z.core.$strip>>;
|
|
9156
9588
|
layout: z.ZodLiteral<"table">;
|
|
9157
9589
|
}, z.core.$strip>, z.ZodObject<{
|
|
9158
9590
|
title: z.ZodString;
|
|
@@ -9206,6 +9638,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
9206
9638
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
9207
9639
|
footer: z.ZodOptional<z.ZodString>;
|
|
9208
9640
|
}, z.core.$strip>>;
|
|
9641
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
9642
|
+
label: z.ZodString;
|
|
9643
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
9644
|
+
primary: "primary";
|
|
9645
|
+
accent: "accent";
|
|
9646
|
+
success: "success";
|
|
9647
|
+
warning: "warning";
|
|
9648
|
+
danger: "danger";
|
|
9649
|
+
info: "info";
|
|
9650
|
+
highlight: "highlight";
|
|
9651
|
+
}>>;
|
|
9652
|
+
}, z.core.$strip>>;
|
|
9209
9653
|
layout: z.ZodLiteral<"funnel">;
|
|
9210
9654
|
}, z.core.$strip>, z.ZodObject<{
|
|
9211
9655
|
title: z.ZodString;
|
|
@@ -9260,6 +9704,18 @@ export declare const mulmoSlideMediaSchema: z.ZodObject<{
|
|
|
9260
9704
|
bgOpacity: z.ZodOptional<z.ZodNumber>;
|
|
9261
9705
|
footer: z.ZodOptional<z.ZodString>;
|
|
9262
9706
|
}, z.core.$strip>>;
|
|
9707
|
+
eyebrow: z.ZodOptional<z.ZodObject<{
|
|
9708
|
+
label: z.ZodString;
|
|
9709
|
+
color: z.ZodOptional<z.ZodEnum<{
|
|
9710
|
+
primary: "primary";
|
|
9711
|
+
accent: "accent";
|
|
9712
|
+
success: "success";
|
|
9713
|
+
warning: "warning";
|
|
9714
|
+
danger: "danger";
|
|
9715
|
+
info: "info";
|
|
9716
|
+
highlight: "highlight";
|
|
9717
|
+
}>>;
|
|
9718
|
+
}, z.core.$strip>>;
|
|
9263
9719
|
layout: z.ZodLiteral<"waterfall">;
|
|
9264
9720
|
}, z.core.$strip>], "layout">;
|
|
9265
9721
|
reference: z.ZodOptional<z.ZodString>;
|
package/lib/schema.js
CHANGED
|
@@ -170,6 +170,8 @@ export const cardSchema = z.object({
|
|
|
170
170
|
footer: z.string().optional(),
|
|
171
171
|
label: z.string().optional(),
|
|
172
172
|
num: z.number().optional(),
|
|
173
|
+
/** Optional accent-colored typographic prefix before the card title (e.g. "01", "Ⅱ", "★"). */
|
|
174
|
+
numLabel: z.string().optional(),
|
|
173
175
|
icon: z.string().optional(),
|
|
174
176
|
});
|
|
175
177
|
// ═══════════════════════════════════════════════════════════
|
|
@@ -183,10 +185,18 @@ export const slideStyleSchema = z.object({
|
|
|
183
185
|
bgOpacity: z.number().optional(),
|
|
184
186
|
footer: z.string().optional(),
|
|
185
187
|
});
|
|
188
|
+
/** Optional kicker/category label rendered at the top of a slide (small uppercase pill). */
|
|
189
|
+
export const eyebrowSchema = z.object({
|
|
190
|
+
label: z.string(),
|
|
191
|
+
/** Color token (e.g. "primary", "amber", "success"). Falls back to slide.accentColor / theme primary when absent. */
|
|
192
|
+
color: accentColorKeySchema.optional(),
|
|
193
|
+
});
|
|
186
194
|
/** Common slide properties shared across all layouts */
|
|
187
195
|
const slideBaseFields = {
|
|
188
196
|
accentColor: accentColorKeySchema.optional(),
|
|
189
197
|
style: slideStyleSchema.optional(),
|
|
198
|
+
/** Optional eyebrow (small uppercase pill) shown at the top of the slide above the header/title. */
|
|
199
|
+
eyebrow: eyebrowSchema.optional(),
|
|
190
200
|
};
|
|
191
201
|
// ═══════════════════════════════════════════════════════════
|
|
192
202
|
// Layouts
|
|
@@ -199,6 +209,8 @@ export const titleSlideSchema = z.object({
|
|
|
199
209
|
subtitle: z.string().optional(),
|
|
200
210
|
author: z.string().optional(),
|
|
201
211
|
note: z.string().optional(),
|
|
212
|
+
/** Optional row of small pill badges shown below the subtitle / note (e.g. ["🚀 deploy or die", "⚡ weekly output"]). */
|
|
213
|
+
chips: z.array(z.string()).optional(),
|
|
202
214
|
});
|
|
203
215
|
// ─── columns ───
|
|
204
216
|
export const columnsSlideSchema = z.object({
|
|
@@ -261,6 +273,8 @@ export const statItemSchema = z.object({
|
|
|
261
273
|
label: z.string(),
|
|
262
274
|
color: accentColorKeySchema.optional(),
|
|
263
275
|
change: z.string().optional(),
|
|
276
|
+
/** Optional accent-colored typographic prefix shown above the value (e.g. "01"). */
|
|
277
|
+
numLabel: z.string().optional(),
|
|
264
278
|
});
|
|
265
279
|
export const statsSlideSchema = z.object({
|
|
266
280
|
layout: z.literal("stats"),
|
package/lib/utils.d.ts
CHANGED
|
@@ -47,19 +47,39 @@ export declare const renderCalloutBar: (obj: {
|
|
|
47
47
|
align?: string;
|
|
48
48
|
leftBar?: boolean;
|
|
49
49
|
}) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Render an eyebrow pill (small uppercase letter-spaced category label).
|
|
52
|
+
* Renders nothing when `eyebrow` is undefined, so callers can pass through unconditionally.
|
|
53
|
+
*/
|
|
54
|
+
export declare const renderEyebrow: (eyebrow: {
|
|
55
|
+
label: string;
|
|
56
|
+
color?: string;
|
|
57
|
+
} | undefined, defaultColor?: string) => string;
|
|
58
|
+
/** Render a chip-row (small bordered pill badges, e.g. tags below a title). Empty / undefined input renders nothing. */
|
|
59
|
+
export declare const renderChipRow: (chips: string[] | undefined) => string;
|
|
60
|
+
/** Render an accent-colored typographic prefix (e.g. "01") to be placed before a card / stat title. */
|
|
61
|
+
export declare const renderNumLabel: (label: string | undefined, colorKey?: string) => string;
|
|
50
62
|
/** Render header text elements (stepLabel + title + subtitle) without wrapping div */
|
|
51
63
|
export declare const renderHeaderText: (data: {
|
|
52
64
|
accentColor?: string;
|
|
53
65
|
stepLabel?: string;
|
|
54
66
|
title: string;
|
|
55
67
|
subtitle?: string;
|
|
68
|
+
eyebrow?: {
|
|
69
|
+
label: string;
|
|
70
|
+
color?: string;
|
|
71
|
+
};
|
|
56
72
|
}) => string;
|
|
57
|
-
/** Render the common slide header (accent bar + title + subtitle) */
|
|
73
|
+
/** Render the common slide header (accent bar + title + subtitle, plus optional eyebrow pill) */
|
|
58
74
|
export declare const slideHeader: (data: {
|
|
59
75
|
accentColor?: string;
|
|
60
76
|
stepLabel?: string;
|
|
61
77
|
title: string;
|
|
62
78
|
subtitle?: string;
|
|
79
|
+
eyebrow?: {
|
|
80
|
+
label: string;
|
|
81
|
+
color?: string;
|
|
82
|
+
};
|
|
63
83
|
}) => string;
|
|
64
84
|
/** Render accent bar + vertically-centered wrapper with header text (used by stats, timeline) */
|
|
65
85
|
export declare const centeredSlideHeader: (data: {
|
|
@@ -67,6 +87,10 @@ export declare const centeredSlideHeader: (data: {
|
|
|
67
87
|
stepLabel?: string;
|
|
68
88
|
title: string;
|
|
69
89
|
subtitle?: string;
|
|
90
|
+
eyebrow?: {
|
|
91
|
+
label: string;
|
|
92
|
+
color?: string;
|
|
93
|
+
};
|
|
70
94
|
}) => string;
|
|
71
95
|
/** Generate a unique ID with the given prefix (e.g. "chart-0", "mermaid-1") */
|
|
72
96
|
export declare const generateSlideId: (prefix: string) => string;
|
package/lib/utils.js
CHANGED
|
@@ -155,10 +155,39 @@ export const renderCalloutBar = (obj) => {
|
|
|
155
155
|
<div class="px-4 py-3 text-sm font-body flex-1">${inner}</div>
|
|
156
156
|
</div>`;
|
|
157
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* Render an eyebrow pill (small uppercase letter-spaced category label).
|
|
160
|
+
* Renders nothing when `eyebrow` is undefined, so callers can pass through unconditionally.
|
|
161
|
+
*/
|
|
162
|
+
export const renderEyebrow = (eyebrow, defaultColor) => {
|
|
163
|
+
if (!eyebrow)
|
|
164
|
+
return "";
|
|
165
|
+
const color = c(eyebrow.color ?? defaultColor ?? "primary");
|
|
166
|
+
return `<span class="inline-flex items-center gap-2 font-accent font-extrabold uppercase tracking-[0.16em] text-[12px] px-3 py-1 rounded-full border border-d-textDim/30 bg-${color}/10 text-${color}">${renderInlineMarkup(eyebrow.label)}</span>`;
|
|
167
|
+
};
|
|
168
|
+
/** Render a chip-row (small bordered pill badges, e.g. tags below a title). Empty / undefined input renders nothing. */
|
|
169
|
+
export const renderChipRow = (chips) => {
|
|
170
|
+
if (!chips || chips.length === 0)
|
|
171
|
+
return "";
|
|
172
|
+
const items = chips
|
|
173
|
+
.map((label) => `<span class="text-sm px-3 py-1.5 rounded-full border border-d-textDim/30 bg-d-card/40 text-d-text">${renderInlineMarkup(label)}</span>`)
|
|
174
|
+
.join("");
|
|
175
|
+
return `<div class="flex gap-2 flex-wrap mt-4">${items}</div>`;
|
|
176
|
+
};
|
|
177
|
+
/** Render an accent-colored typographic prefix (e.g. "01") to be placed before a card / stat title. */
|
|
178
|
+
export const renderNumLabel = (label, colorKey) => {
|
|
179
|
+
if (!label)
|
|
180
|
+
return "";
|
|
181
|
+
const color = c(colorKey ?? "primary");
|
|
182
|
+
return `<span class="font-accent font-extrabold text-${color} mr-2">${renderInlineMarkup(label)}</span>`;
|
|
183
|
+
};
|
|
158
184
|
/** Render header text elements (stepLabel + title + subtitle) without wrapping div */
|
|
159
185
|
export const renderHeaderText = (data) => {
|
|
160
186
|
const accent = resolveAccent(data.accentColor);
|
|
161
187
|
const lines = [];
|
|
188
|
+
const eyebrowHtml = renderEyebrow(data.eyebrow, accent);
|
|
189
|
+
if (eyebrowHtml)
|
|
190
|
+
lines.push(`<div class="mb-2">${eyebrowHtml}</div>`);
|
|
162
191
|
if (data.stepLabel) {
|
|
163
192
|
lines.push(`<p class="text-sm font-bold text-${c(accent)} font-body">${renderInlineMarkup(data.stepLabel)}</p>`);
|
|
164
193
|
}
|
|
@@ -168,7 +197,7 @@ export const renderHeaderText = (data) => {
|
|
|
168
197
|
}
|
|
169
198
|
return lines.join("\n");
|
|
170
199
|
};
|
|
171
|
-
/** Render the common slide header (accent bar + title + subtitle) */
|
|
200
|
+
/** Render the common slide header (accent bar + title + subtitle, plus optional eyebrow pill) */
|
|
172
201
|
export const slideHeader = (data) => {
|
|
173
202
|
const accent = resolveAccent(data.accentColor);
|
|
174
203
|
return [accentBar(accent), `<div class="px-12 pt-5 shrink-0">`, renderHeaderText(data), `</div>`].join("\n");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mulmocast/deck",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "MulmoCast deck DSL: JSON-described semantic slide layouts (stats, comparison, timeline, ...) rendered to Tailwind-based HTML",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|