@techrox/page-studio-blocks 1.1.0 → 1.1.1

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/dist/index.js CHANGED
@@ -72,6 +72,14 @@ var Hero = {
72
72
  { label: "Landing (gradient halo)", value: "landing" },
73
73
  { label: "Simple (plain section)", value: "simple" }
74
74
  ]
75
+ },
76
+ background: {
77
+ type: "radio",
78
+ label: "Background",
79
+ options: [
80
+ { label: "Light", value: "light" },
81
+ { label: "Dark", value: "dark" }
82
+ ]
75
83
  }
76
84
  },
77
85
  defaultProps: {
@@ -83,7 +91,8 @@ var Hero = {
83
91
  secondary_cta_label: "Learn more",
84
92
  secondary_cta_href: "/about",
85
93
  align: "left",
86
- variant: "landing"
94
+ variant: "landing",
95
+ background: "light"
87
96
  },
88
97
  render: ({
89
98
  eyebrow,
@@ -94,10 +103,11 @@ var Hero = {
94
103
  secondary_cta_label,
95
104
  secondary_cta_href,
96
105
  align,
97
- variant
106
+ variant,
107
+ background
98
108
  }) => {
99
109
  const isLanding = variant === "landing";
100
- const sectionClass = isLanding ? "tps-hero" : "tps-section";
110
+ const sectionClass = `${isLanding ? "tps-hero" : "tps-section"}${background === "dark" ? " tps-section-dark" : ""}`;
101
111
  const innerClass = isLanding ? "tps-hero-inner" : "tps-container";
102
112
  return /* @__PURE__ */ jsx2(
103
113
  "section",
@@ -173,7 +183,8 @@ var StatsStrip = {
173
183
  label: "Background",
174
184
  options: [
175
185
  { label: "Soft", value: "soft" },
176
- { label: "White", value: "white" }
186
+ { label: "White", value: "white" },
187
+ { label: "Dark", value: "dark" }
177
188
  ]
178
189
  }
179
190
  },
@@ -189,7 +200,7 @@ var StatsStrip = {
189
200
  render: ({ items, background }) => /* @__PURE__ */ jsx3(
190
201
  "section",
191
202
  {
192
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
203
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
193
204
  style: { paddingTop: 32, paddingBottom: 32 },
194
205
  children: /* @__PURE__ */ jsx3("div", { className: "tps-container", children: /* @__PURE__ */ jsx3(
195
206
  "div",
@@ -255,7 +266,8 @@ var SectionHeader = {
255
266
  label: "Background",
256
267
  options: [
257
268
  { label: "White", value: "white" },
258
- { label: "Soft", value: "soft" }
269
+ { label: "Soft", value: "soft" },
270
+ { label: "Dark", value: "dark" }
259
271
  ]
260
272
  },
261
273
  spacing: {
@@ -281,7 +293,7 @@ var SectionHeader = {
281
293
  return /* @__PURE__ */ jsx4(
282
294
  "section",
283
295
  {
284
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
296
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
285
297
  style: { paddingTop: pad, paddingBottom: pad },
286
298
  children: /* @__PURE__ */ jsxs3(
287
299
  "div",
@@ -415,7 +427,8 @@ var PillarsRow = {
415
427
  label: "Background",
416
428
  options: [
417
429
  { label: "White", value: "white" },
418
- { label: "Soft", value: "soft" }
430
+ { label: "Soft", value: "soft" },
431
+ { label: "Dark", value: "dark" }
419
432
  ]
420
433
  }
421
434
  },
@@ -443,7 +456,7 @@ var PillarsRow = {
443
456
  render: ({ items, columns, background }) => /* @__PURE__ */ jsx6(
444
457
  "section",
445
458
  {
446
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
459
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
447
460
  style: { paddingTop: 56, paddingBottom: 56 },
448
461
  children: /* @__PURE__ */ jsx6("div", { className: "tps-container", children: /* @__PURE__ */ jsx6(
449
462
  "div",
@@ -459,7 +472,7 @@ var PillarsRow = {
459
472
  "div",
460
473
  {
461
474
  style: {
462
- background: "#fff",
475
+ background: "var(--tps-bg)",
463
476
  border: "1px solid var(--tps-line)",
464
477
  borderRadius: "var(--tps-radius)",
465
478
  padding: 32
@@ -504,7 +517,8 @@ var ApproachSteps = {
504
517
  label: "Background",
505
518
  options: [
506
519
  { label: "White", value: "white" },
507
- { label: "Soft", value: "soft" }
520
+ { label: "Soft", value: "soft" },
521
+ { label: "Dark", value: "dark" }
508
522
  ]
509
523
  }
510
524
  },
@@ -520,7 +534,7 @@ var ApproachSteps = {
520
534
  render: ({ items, background }) => /* @__PURE__ */ jsx7(
521
535
  "section",
522
536
  {
523
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
537
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
524
538
  style: { paddingTop: 56, paddingBottom: 56 },
525
539
  children: /* @__PURE__ */ jsx7("div", { className: "tps-container", children: /* @__PURE__ */ jsx7(
526
540
  "div",
@@ -574,7 +588,8 @@ var ServicesGrid = {
574
588
  label: "Background",
575
589
  options: [
576
590
  { label: "White", value: "white" },
577
- { label: "Soft", value: "soft" }
591
+ { label: "Soft", value: "soft" },
592
+ { label: "Dark", value: "dark" }
578
593
  ]
579
594
  }
580
595
  },
@@ -590,7 +605,7 @@ var ServicesGrid = {
590
605
  return /* @__PURE__ */ jsx8(
591
606
  "section",
592
607
  {
593
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
608
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
594
609
  style: { paddingTop: 56, paddingBottom: 56 },
595
610
  children: /* @__PURE__ */ jsxs6("div", { className: "tps-container", children: [
596
611
  (eyebrow || heading) && /* @__PURE__ */ jsxs6("div", { style: { marginBottom: 32 }, children: [
@@ -612,7 +627,7 @@ var ServicesGrid = {
612
627
  style: {
613
628
  display: "block",
614
629
  padding: 24,
615
- background: "#fff",
630
+ background: "var(--tps-bg)",
616
631
  border: "1px solid var(--tps-line)",
617
632
  borderRadius: "var(--tps-radius)",
618
633
  textDecoration: "none",
@@ -670,13 +685,8 @@ var CTABanner = {
670
685
  return /* @__PURE__ */ jsx9(
671
686
  "section",
672
687
  {
673
- className: `tps-section ${!dark ? "tps-section-soft" : ""}`,
674
- style: {
675
- paddingTop: 80,
676
- paddingBottom: 80,
677
- background: dark ? "#0F172A" : void 0,
678
- color: dark ? "#fff" : void 0
679
- },
688
+ className: `tps-section ${!dark ? "tps-section-soft" : "tps-section-dark"}`,
689
+ style: { paddingTop: 80, paddingBottom: 80 },
680
690
  children: /* @__PURE__ */ jsxs7("div", { className: "tps-container", style: { textAlign: "center", maxWidth: 720 }, children: [
681
691
  tagline && /* @__PURE__ */ jsx9(
682
692
  "div",
@@ -685,7 +695,7 @@ var CTABanner = {
685
695
  fontSize: 12,
686
696
  fontWeight: 700,
687
697
  letterSpacing: 2,
688
- color: dark ? "#F59E0B" : "var(--tps-accent-dark)",
698
+ color: dark ? "var(--tps-accent)" : "var(--tps-accent-dark)",
689
699
  marginBottom: 12
690
700
  },
691
701
  children: tagline
@@ -695,18 +705,10 @@ var CTABanner = {
695
705
  "h2",
696
706
  {
697
707
  className: "tps-h2",
698
- style: { color: dark ? "#fff" : void 0 },
699
708
  dangerouslySetInnerHTML: { __html: heading_html }
700
709
  }
701
710
  ),
702
- body && /* @__PURE__ */ jsx9(
703
- "p",
704
- {
705
- className: "tps-lede",
706
- style: { margin: "16px auto 32px", color: dark ? "rgba(255,255,255,0.85)" : void 0 },
707
- children: body
708
- }
709
- ),
711
+ body && /* @__PURE__ */ jsx9("p", { className: "tps-lede", style: { margin: "16px auto 32px" }, children: body }),
710
712
  button_label && /* @__PURE__ */ jsx9(StudioLink, { href: button_href || "/contact", children: /* @__PURE__ */ jsxs7(Button2, { type: "primary", size: "large", children: [
711
713
  button_label,
712
714
  " ",
@@ -839,7 +841,8 @@ var TwoColumn = {
839
841
  label: "Background",
840
842
  options: [
841
843
  { label: "White", value: "white" },
842
- { label: "Soft", value: "soft" }
844
+ { label: "Soft", value: "soft" },
845
+ { label: "Dark", value: "dark" }
843
846
  ]
844
847
  }
845
848
  },
@@ -853,7 +856,7 @@ var TwoColumn = {
853
856
  render: ({ left_heading, left_body, right_heading, right_body, background }) => /* @__PURE__ */ jsx11(
854
857
  "section",
855
858
  {
856
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
859
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
857
860
  style: { paddingTop: 56, paddingBottom: 56 },
858
861
  children: /* @__PURE__ */ jsx11("div", { className: "tps-container", children: /* @__PURE__ */ jsxs9(
859
862
  "div",
@@ -1154,7 +1157,10 @@ function ContactSectionRender({
1154
1157
  {
1155
1158
  size: "large",
1156
1159
  placeholder: "Select the stage that best describes you",
1157
- options: stagesList.map((s) => ({ value: s, label: s }))
1160
+ options: stagesList.map((s) => {
1161
+ const v = typeof s === "string" ? s : s?.text || String(s);
1162
+ return { value: v, label: v };
1163
+ })
1158
1164
  }
1159
1165
  ) }),
1160
1166
  /* @__PURE__ */ jsx14(Form.Item, { label: "Which capabilities interest you?", name: "interest", children: /* @__PURE__ */ jsx14(
@@ -1288,7 +1294,8 @@ var ImageText = {
1288
1294
  label: "Background",
1289
1295
  options: [
1290
1296
  { label: "White", value: "white" },
1291
- { label: "Soft", value: "soft" }
1297
+ { label: "Soft", value: "soft" },
1298
+ { label: "Dark", value: "dark" }
1292
1299
  ]
1293
1300
  }
1294
1301
  },
@@ -1332,7 +1339,7 @@ var ImageText = {
1332
1339
  style: {
1333
1340
  width: "100%",
1334
1341
  aspectRatio: "4 / 3",
1335
- background: "#E2E8F0",
1342
+ background: "var(--tps-line)",
1336
1343
  borderRadius: "var(--tps-radius)",
1337
1344
  display: "flex",
1338
1345
  alignItems: "center",
@@ -1356,7 +1363,7 @@ var ImageText = {
1356
1363
  return /* @__PURE__ */ jsx15(
1357
1364
  "section",
1358
1365
  {
1359
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
1366
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
1360
1367
  style: { paddingTop: 56, paddingBottom: 56 },
1361
1368
  children: /* @__PURE__ */ jsx15("div", { className: "tps-container", children: /* @__PURE__ */ jsx15(
1362
1369
  "div",
@@ -1415,7 +1422,8 @@ var VideoEmbed = {
1415
1422
  label: "Background",
1416
1423
  options: [
1417
1424
  { label: "White", value: "white" },
1418
- { label: "Soft", value: "soft" }
1425
+ { label: "Soft", value: "soft" },
1426
+ { label: "Dark", value: "dark" }
1419
1427
  ]
1420
1428
  }
1421
1429
  },
@@ -1431,7 +1439,7 @@ var VideoEmbed = {
1431
1439
  return /* @__PURE__ */ jsx16(
1432
1440
  "section",
1433
1441
  {
1434
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
1442
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
1435
1443
  style: { paddingTop: 48, paddingBottom: 48 },
1436
1444
  children: /* @__PURE__ */ jsxs12("div", { className: "tps-container", style: { maxWidth: max_width }, children: [
1437
1445
  /* @__PURE__ */ jsx16(
@@ -1521,7 +1529,8 @@ var LogoStrip = {
1521
1529
  label: "Background",
1522
1530
  options: [
1523
1531
  { label: "White", value: "white" },
1524
- { label: "Soft", value: "soft" }
1532
+ { label: "Soft", value: "soft" },
1533
+ { label: "Dark", value: "dark" }
1525
1534
  ]
1526
1535
  }
1527
1536
  },
@@ -1539,7 +1548,7 @@ var LogoStrip = {
1539
1548
  render: ({ heading, items, background }) => /* @__PURE__ */ jsx17(
1540
1549
  "section",
1541
1550
  {
1542
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
1551
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
1543
1552
  style: { paddingTop: 40, paddingBottom: 40 },
1544
1553
  children: /* @__PURE__ */ jsxs13("div", { className: "tps-container", style: { textAlign: "center" }, children: [
1545
1554
  heading && /* @__PURE__ */ jsx17(
@@ -1784,7 +1793,8 @@ var TestimonialGrid = {
1784
1793
  label: "Background",
1785
1794
  options: [
1786
1795
  { label: "White", value: "white" },
1787
- { label: "Soft", value: "soft" }
1796
+ { label: "Soft", value: "soft" },
1797
+ { label: "Dark", value: "dark" }
1788
1798
  ]
1789
1799
  }
1790
1800
  },
@@ -1817,7 +1827,7 @@ var TestimonialGrid = {
1817
1827
  render: ({ eyebrow, heading, items, columns, background }) => /* @__PURE__ */ jsx19(
1818
1828
  "section",
1819
1829
  {
1820
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
1830
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
1821
1831
  style: { paddingTop: 64, paddingBottom: 64 },
1822
1832
  children: /* @__PURE__ */ jsxs15("div", { className: "tps-container", children: [
1823
1833
  (eyebrow || heading) && /* @__PURE__ */ jsxs15("div", { style: { textAlign: "center", marginBottom: 40 }, children: [
@@ -1836,7 +1846,7 @@ var TestimonialGrid = {
1836
1846
  "div",
1837
1847
  {
1838
1848
  style: {
1839
- background: "#fff",
1849
+ background: "var(--tps-bg)",
1840
1850
  border: "1px solid var(--tps-line)",
1841
1851
  borderRadius: "var(--tps-radius)",
1842
1852
  padding: 28,
@@ -1927,7 +1937,8 @@ var FAQ = {
1927
1937
  label: "Background",
1928
1938
  options: [
1929
1939
  { label: "White", value: "white" },
1930
- { label: "Soft", value: "soft" }
1940
+ { label: "Soft", value: "soft" },
1941
+ { label: "Dark", value: "dark" }
1931
1942
  ]
1932
1943
  }
1933
1944
  },
@@ -1953,7 +1964,7 @@ var FAQ = {
1953
1964
  render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx20(
1954
1965
  "section",
1955
1966
  {
1956
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
1967
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
1957
1968
  style: { paddingTop: 56, paddingBottom: 56 },
1958
1969
  children: /* @__PURE__ */ jsxs16("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
1959
1970
  (eyebrow || heading) && /* @__PURE__ */ jsxs16("div", { style: { marginBottom: 32 }, children: [
@@ -1978,7 +1989,7 @@ var FAQ = {
1978
1989
  }
1979
1990
  ),
1980
1991
  style: {
1981
- background: "#fff",
1992
+ background: "var(--tps-bg)",
1982
1993
  border: "1px solid var(--tps-line)",
1983
1994
  borderRadius: "var(--tps-radius)",
1984
1995
  marginBottom: 12,
@@ -2019,7 +2030,8 @@ var Timeline = {
2019
2030
  label: "Background",
2020
2031
  options: [
2021
2032
  { label: "White", value: "white" },
2022
- { label: "Soft", value: "soft" }
2033
+ { label: "Soft", value: "soft" },
2034
+ { label: "Dark", value: "dark" }
2023
2035
  ]
2024
2036
  }
2025
2037
  },
@@ -2037,7 +2049,7 @@ var Timeline = {
2037
2049
  render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx21(
2038
2050
  "section",
2039
2051
  {
2040
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
2052
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
2041
2053
  style: { paddingTop: 56, paddingBottom: 56 },
2042
2054
  children: /* @__PURE__ */ jsxs17("div", { className: "tps-container", style: { maxWidth: 720 }, children: [
2043
2055
  (eyebrow || heading) && /* @__PURE__ */ jsxs17("div", { style: { marginBottom: 32 }, children: [
@@ -2089,7 +2101,7 @@ var Timeline = {
2089
2101
  height: 12,
2090
2102
  borderRadius: "50%",
2091
2103
  background: "var(--tps-primary)",
2092
- boxShadow: "0 0 0 4px #fff"
2104
+ boxShadow: "0 0 0 4px var(--tps-bg)"
2093
2105
  }
2094
2106
  }
2095
2107
  ),
@@ -2310,7 +2322,8 @@ var TeamGrid = {
2310
2322
  label: "Background",
2311
2323
  options: [
2312
2324
  { label: "White", value: "white" },
2313
- { label: "Soft", value: "soft" }
2325
+ { label: "Soft", value: "soft" },
2326
+ { label: "Dark", value: "dark" }
2314
2327
  ]
2315
2328
  }
2316
2329
  },
@@ -2346,7 +2359,7 @@ var TeamGrid = {
2346
2359
  render: ({ eyebrow, heading, columns, members, background }) => /* @__PURE__ */ jsx23(
2347
2360
  "section",
2348
2361
  {
2349
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
2362
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
2350
2363
  style: { paddingTop: 64, paddingBottom: 64 },
2351
2364
  children: /* @__PURE__ */ jsxs19("div", { className: "tps-container", children: [
2352
2365
  (eyebrow || heading) && /* @__PURE__ */ jsxs19("div", { style: { marginBottom: 40 }, children: [
@@ -2365,7 +2378,7 @@ var TeamGrid = {
2365
2378
  "div",
2366
2379
  {
2367
2380
  style: {
2368
- background: "#fff",
2381
+ background: "var(--tps-bg)",
2369
2382
  border: "1px solid var(--tps-line)",
2370
2383
  borderRadius: "var(--tps-radius)",
2371
2384
  overflow: "hidden"
@@ -2377,7 +2390,7 @@ var TeamGrid = {
2377
2390
  style: {
2378
2391
  width: "100%",
2379
2392
  aspectRatio: "4 / 3",
2380
- background: m.image_url ? `url(${m.image_url}) center/cover` : "#E2E8F0",
2393
+ background: m.image_url ? `url(${m.image_url}) center/cover` : "var(--tps-line)",
2381
2394
  display: "flex",
2382
2395
  alignItems: "center",
2383
2396
  justifyContent: "center",
@@ -2577,6 +2590,15 @@ var ArticleFeatured = {
2577
2590
  { label: "Right", value: "right" },
2578
2591
  { label: "Left", value: "left" }
2579
2592
  ]
2593
+ },
2594
+ background: {
2595
+ type: "radio",
2596
+ label: "Background",
2597
+ options: [
2598
+ { label: "White", value: "white" },
2599
+ { label: "Soft", value: "soft" },
2600
+ { label: "Dark", value: "dark" }
2601
+ ]
2580
2602
  }
2581
2603
  },
2582
2604
  defaultProps: {
@@ -2591,7 +2613,8 @@ var ArticleFeatured = {
2591
2613
  read_minutes: "6 min",
2592
2614
  link_label: "Read more",
2593
2615
  link_href: "#",
2594
- image_position: "right"
2616
+ image_position: "right",
2617
+ background: "white"
2595
2618
  },
2596
2619
  render: ({
2597
2620
  eyebrow,
@@ -2605,7 +2628,8 @@ var ArticleFeatured = {
2605
2628
  read_minutes,
2606
2629
  link_label,
2607
2630
  link_href,
2608
- image_position
2631
+ image_position,
2632
+ background
2609
2633
  }) => {
2610
2634
  const image = /* @__PURE__ */ jsx25(
2611
2635
  "div",
@@ -2696,27 +2720,34 @@ var ArticleFeatured = {
2696
2720
  /* @__PURE__ */ jsx25(ArrowRightOutlined6, {})
2697
2721
  ] }) })
2698
2722
  ] });
2699
- return /* @__PURE__ */ jsx25("section", { className: "tps-section", style: { paddingTop: 64, paddingBottom: 64 }, children: /* @__PURE__ */ jsxs21("div", { className: "tps-container", children: [
2700
- eyebrow && /* @__PURE__ */ jsx25("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ jsx25("span", { className: "tps-eyebrow", children: eyebrow }) }),
2701
- /* @__PURE__ */ jsx25(
2702
- "div",
2703
- {
2704
- style: {
2705
- display: "grid",
2706
- gridTemplateColumns: "repeat(auto-fit, minmax(min(320px, 100%), 1fr))",
2707
- gap: 48,
2708
- alignItems: "center"
2709
- },
2710
- children: image_position === "left" ? /* @__PURE__ */ jsxs21(Fragment3, { children: [
2711
- image,
2712
- text
2713
- ] }) : /* @__PURE__ */ jsxs21(Fragment3, { children: [
2714
- text,
2715
- image
2716
- ] })
2717
- }
2718
- )
2719
- ] }) });
2723
+ return /* @__PURE__ */ jsx25(
2724
+ "section",
2725
+ {
2726
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
2727
+ style: { paddingTop: 64, paddingBottom: 64 },
2728
+ children: /* @__PURE__ */ jsxs21("div", { className: "tps-container", children: [
2729
+ eyebrow && /* @__PURE__ */ jsx25("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ jsx25("span", { className: "tps-eyebrow", children: eyebrow }) }),
2730
+ /* @__PURE__ */ jsx25(
2731
+ "div",
2732
+ {
2733
+ style: {
2734
+ display: "grid",
2735
+ gridTemplateColumns: "repeat(auto-fit, minmax(min(320px, 100%), 1fr))",
2736
+ gap: 48,
2737
+ alignItems: "center"
2738
+ },
2739
+ children: image_position === "left" ? /* @__PURE__ */ jsxs21(Fragment3, { children: [
2740
+ image,
2741
+ text
2742
+ ] }) : /* @__PURE__ */ jsxs21(Fragment3, { children: [
2743
+ text,
2744
+ image
2745
+ ] })
2746
+ }
2747
+ )
2748
+ ] })
2749
+ }
2750
+ );
2720
2751
  }
2721
2752
  };
2722
2753
 
@@ -2763,7 +2794,8 @@ var ArticleGrid = {
2763
2794
  label: "Background",
2764
2795
  options: [
2765
2796
  { label: "White", value: "white" },
2766
- { label: "Soft", value: "soft" }
2797
+ { label: "Soft", value: "soft" },
2798
+ { label: "Dark", value: "dark" }
2767
2799
  ]
2768
2800
  }
2769
2801
  },
@@ -2805,7 +2837,7 @@ var ArticleGrid = {
2805
2837
  render: ({ eyebrow, heading, columns, items, background }) => /* @__PURE__ */ jsx26(
2806
2838
  "section",
2807
2839
  {
2808
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
2840
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
2809
2841
  style: { paddingTop: 64, paddingBottom: 64 },
2810
2842
  children: /* @__PURE__ */ jsxs22("div", { className: "tps-container", children: [
2811
2843
  (eyebrow || heading) && /* @__PURE__ */ jsxs22("div", { style: { marginBottom: 40 }, children: [
@@ -2827,7 +2859,7 @@ var ArticleGrid = {
2827
2859
  style: {
2828
2860
  display: "flex",
2829
2861
  flexDirection: "column",
2830
- background: "#fff",
2862
+ background: "var(--tps-bg)",
2831
2863
  border: "1px solid var(--tps-line)",
2832
2864
  borderRadius: "var(--tps-radius)",
2833
2865
  overflow: "hidden",
@@ -2843,7 +2875,7 @@ var ArticleGrid = {
2843
2875
  style: {
2844
2876
  width: "100%",
2845
2877
  aspectRatio: "16 / 10",
2846
- background: a.image_url ? `url(${a.image_url}) center/cover no-repeat` : "#E2E8F0"
2878
+ background: a.image_url ? `url(${a.image_url}) center/cover no-repeat` : "var(--tps-line)"
2847
2879
  }
2848
2880
  }
2849
2881
  ),
@@ -2925,7 +2957,8 @@ var ArticleList = {
2925
2957
  label: "Background",
2926
2958
  options: [
2927
2959
  { label: "White", value: "white" },
2928
- { label: "Soft", value: "soft" }
2960
+ { label: "Soft", value: "soft" },
2961
+ { label: "Dark", value: "dark" }
2929
2962
  ]
2930
2963
  }
2931
2964
  },
@@ -2943,7 +2976,7 @@ var ArticleList = {
2943
2976
  render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx27(
2944
2977
  "section",
2945
2978
  {
2946
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
2979
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
2947
2980
  style: { paddingTop: 56, paddingBottom: 56 },
2948
2981
  children: /* @__PURE__ */ jsxs23("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
2949
2982
  (eyebrow || heading) && /* @__PURE__ */ jsxs23("div", { style: { marginBottom: 32 }, children: [
@@ -3101,7 +3134,8 @@ var IconCards = {
3101
3134
  label: "Background",
3102
3135
  options: [
3103
3136
  { label: "White", value: "white" },
3104
- { label: "Soft", value: "soft" }
3137
+ { label: "Soft", value: "soft" },
3138
+ { label: "Dark", value: "dark" }
3105
3139
  ]
3106
3140
  }
3107
3141
  },
@@ -3120,7 +3154,7 @@ var IconCards = {
3120
3154
  render: ({ eyebrow, heading, columns, items, background }) => /* @__PURE__ */ jsx28(
3121
3155
  "section",
3122
3156
  {
3123
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
3157
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
3124
3158
  style: { paddingTop: 56, paddingBottom: 56 },
3125
3159
  children: /* @__PURE__ */ jsxs24("div", { className: "tps-container", children: [
3126
3160
  (eyebrow || heading) && /* @__PURE__ */ jsxs24("div", { style: { marginBottom: 40 }, children: [
@@ -3142,7 +3176,7 @@ var IconCards = {
3142
3176
  {
3143
3177
  style: {
3144
3178
  padding: 24,
3145
- background: "#fff",
3179
+ background: "var(--tps-bg)",
3146
3180
  border: "1px solid var(--tps-line)",
3147
3181
  borderRadius: "var(--tps-radius)"
3148
3182
  },
@@ -3229,35 +3263,15 @@ var MetricCards = {
3229
3263
  background: "white"
3230
3264
  },
3231
3265
  render: ({ eyebrow, heading, items, background }) => {
3232
- const dark = background === "dark";
3233
3266
  return /* @__PURE__ */ jsx29(
3234
3267
  "section",
3235
3268
  {
3236
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
3237
- style: {
3238
- paddingTop: 64,
3239
- paddingBottom: 64,
3240
- background: dark ? "#0F172A" : void 0,
3241
- color: dark ? "#fff" : void 0
3242
- },
3269
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
3270
+ style: { paddingTop: 64, paddingBottom: 64 },
3243
3271
  children: /* @__PURE__ */ jsxs25("div", { className: "tps-container", children: [
3244
3272
  (eyebrow || heading) && /* @__PURE__ */ jsxs25("div", { style: { marginBottom: 40 }, children: [
3245
- eyebrow && /* @__PURE__ */ jsx29(
3246
- "span",
3247
- {
3248
- className: "tps-eyebrow",
3249
- style: { color: dark ? "#F59E0B" : void 0 },
3250
- children: eyebrow
3251
- }
3252
- ),
3253
- heading && /* @__PURE__ */ jsx29(
3254
- "h2",
3255
- {
3256
- className: "tps-h2",
3257
- style: { marginTop: 8, color: dark ? "#fff" : void 0 },
3258
- children: heading
3259
- }
3260
- )
3273
+ eyebrow && /* @__PURE__ */ jsx29("span", { className: "tps-eyebrow", children: eyebrow }),
3274
+ heading && /* @__PURE__ */ jsx29("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
3261
3275
  ] }),
3262
3276
  /* @__PURE__ */ jsx29(
3263
3277
  "div",
@@ -3272,8 +3286,8 @@ var MetricCards = {
3272
3286
  {
3273
3287
  style: {
3274
3288
  padding: 28,
3275
- background: dark ? "rgba(255,255,255,0.04)" : "#fff",
3276
- border: dark ? "1px solid rgba(255,255,255,0.08)" : "1px solid var(--tps-line)",
3289
+ background: "var(--tps-bg)",
3290
+ border: "1px solid var(--tps-line)",
3277
3291
  borderRadius: "var(--tps-radius)"
3278
3292
  },
3279
3293
  children: [
@@ -3283,7 +3297,7 @@ var MetricCards = {
3283
3297
  style: {
3284
3298
  fontSize: "clamp(28px, 6vw, 44px)",
3285
3299
  fontWeight: 800,
3286
- color: dark ? "#fff" : "var(--tps-primary)",
3300
+ color: "var(--tps-primary)",
3287
3301
  letterSpacing: "-0.02em",
3288
3302
  lineHeight: 1.05,
3289
3303
  marginBottom: 12
@@ -3296,7 +3310,7 @@ var MetricCards = {
3296
3310
  {
3297
3311
  style: {
3298
3312
  fontSize: 14,
3299
- color: dark ? "rgba(255,255,255,0.85)" : "var(--tps-ink-2)",
3313
+ color: "var(--tps-ink-2)",
3300
3314
  lineHeight: 1.55,
3301
3315
  marginBottom: m.delta ? 12 : 0
3302
3316
  },
@@ -3375,7 +3389,8 @@ var ImageOverlayCards = {
3375
3389
  label: "Background",
3376
3390
  options: [
3377
3391
  { label: "White", value: "white" },
3378
- { label: "Soft", value: "soft" }
3392
+ { label: "Soft", value: "soft" },
3393
+ { label: "Dark", value: "dark" }
3379
3394
  ]
3380
3395
  }
3381
3396
  },
@@ -3393,7 +3408,7 @@ var ImageOverlayCards = {
3393
3408
  render: ({ eyebrow, heading, columns, items, background }) => /* @__PURE__ */ jsx30(
3394
3409
  "section",
3395
3410
  {
3396
- className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`,
3411
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
3397
3412
  style: { paddingTop: 64, paddingBottom: 64 },
3398
3413
  children: /* @__PURE__ */ jsxs26("div", { className: "tps-container", children: [
3399
3414
  (eyebrow || heading) && /* @__PURE__ */ jsxs26("div", { style: { marginBottom: 40 }, children: [
@@ -3546,7 +3561,7 @@ var PricingTable = {
3546
3561
  background: {
3547
3562
  type: "radio",
3548
3563
  label: "Background",
3549
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
3564
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
3550
3565
  }
3551
3566
  },
3552
3567
  defaultProps: {
@@ -3559,7 +3574,7 @@ var PricingTable = {
3559
3574
  ],
3560
3575
  background: "soft"
3561
3576
  },
3562
- render: ({ eyebrow, heading, tiers, background }) => /* @__PURE__ */ jsx31("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 64, paddingBottom: 64 }, children: /* @__PURE__ */ jsxs27("div", { className: "tps-container", children: [
3577
+ render: ({ eyebrow, heading, tiers, background }) => /* @__PURE__ */ jsx31("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 64, paddingBottom: 64 }, children: /* @__PURE__ */ jsxs27("div", { className: "tps-container", children: [
3563
3578
  (eyebrow || heading) && /* @__PURE__ */ jsxs27("div", { style: { textAlign: "center", marginBottom: 40 }, children: [
3564
3579
  eyebrow && /* @__PURE__ */ jsx31("span", { className: "tps-eyebrow", children: eyebrow }),
3565
3580
  heading && /* @__PURE__ */ jsx31("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -3569,7 +3584,7 @@ var PricingTable = {
3569
3584
  return /* @__PURE__ */ jsxs27("div", { style: {
3570
3585
  position: "relative",
3571
3586
  padding: 28,
3572
- background: t.highlighted ? "var(--tps-primary)" : "#fff",
3587
+ background: t.highlighted ? "var(--tps-primary)" : "var(--tps-bg)",
3573
3588
  color: t.highlighted ? "#fff" : "var(--tps-ink)",
3574
3589
  border: t.highlighted ? "none" : "1px solid var(--tps-line)",
3575
3590
  borderRadius: "var(--tps-radius)",
@@ -3627,7 +3642,7 @@ var PricingComparison = {
3627
3642
  background: {
3628
3643
  type: "radio",
3629
3644
  label: "Background",
3630
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
3645
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
3631
3646
  }
3632
3647
  },
3633
3648
  defaultProps: {
@@ -3646,12 +3661,12 @@ var PricingComparison = {
3646
3661
  },
3647
3662
  render: ({ eyebrow, heading, tiers, rows, background }) => {
3648
3663
  const tierList = tiers || [];
3649
- return /* @__PURE__ */ jsx32("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs28("div", { className: "tps-container", style: { maxWidth: 940 }, children: [
3664
+ return /* @__PURE__ */ jsx32("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs28("div", { className: "tps-container", style: { maxWidth: 940 }, children: [
3650
3665
  (eyebrow || heading) && /* @__PURE__ */ jsxs28("div", { style: { marginBottom: 32, textAlign: "center" }, children: [
3651
3666
  eyebrow && /* @__PURE__ */ jsx32("span", { className: "tps-eyebrow", children: eyebrow }),
3652
3667
  heading && /* @__PURE__ */ jsx32("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
3653
3668
  ] }),
3654
- /* @__PURE__ */ jsx32("div", { style: { overflowX: "auto", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", background: "#fff" }, children: /* @__PURE__ */ jsxs28("table", { style: { width: "100%", borderCollapse: "collapse" }, children: [
3669
+ /* @__PURE__ */ jsx32("div", { style: { overflowX: "auto", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", background: "var(--tps-bg)" }, children: /* @__PURE__ */ jsxs28("table", { style: { width: "100%", borderCollapse: "collapse" }, children: [
3655
3670
  /* @__PURE__ */ jsx32("thead", { children: /* @__PURE__ */ jsxs28("tr", { children: [
3656
3671
  /* @__PURE__ */ jsx32("th", { style: { textAlign: "left", padding: "14px 16px", fontSize: 13, fontWeight: 700, color: "var(--tps-muted)", borderBottom: "1px solid var(--tps-line)" }, children: "Feature" }),
3657
3672
  tierList.map((t, i) => /* @__PURE__ */ jsx32("th", { style: { textAlign: "center", padding: "14px 16px", fontSize: 13, fontWeight: 700, color: "var(--tps-ink)", borderBottom: "1px solid var(--tps-line)" }, children: t.name }, i))
@@ -3694,7 +3709,7 @@ var AwardsBar = {
3694
3709
  background: {
3695
3710
  type: "radio",
3696
3711
  label: "Background",
3697
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
3712
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
3698
3713
  }
3699
3714
  },
3700
3715
  defaultProps: {
@@ -3706,7 +3721,7 @@ var AwardsBar = {
3706
3721
  ],
3707
3722
  background: "white"
3708
3723
  },
3709
- render: ({ heading, items, background }) => /* @__PURE__ */ jsx33("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs29("div", { className: "tps-container", style: { textAlign: "center" }, children: [
3724
+ render: ({ heading, items, background }) => /* @__PURE__ */ jsx33("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs29("div", { className: "tps-container", style: { textAlign: "center" }, children: [
3710
3725
  heading && /* @__PURE__ */ jsx33("h3", { style: { fontSize: 13, fontWeight: 700, letterSpacing: 1.5, color: "var(--tps-muted)", textTransform: "uppercase", marginBottom: 32 }, children: heading }),
3711
3726
  /* @__PURE__ */ jsx33("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(220px, 100%), 1fr))", gap: 24 }, children: (items || []).map((a, i) => /* @__PURE__ */ jsxs29("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: 8, padding: 16 }, children: [
3712
3727
  /* @__PURE__ */ jsx33(TrophyOutlined2, { style: { fontSize: 28, color: "var(--tps-accent)" } }),
@@ -3824,7 +3839,7 @@ var ImageGallery = {
3824
3839
  background: {
3825
3840
  type: "radio",
3826
3841
  label: "Background",
3827
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
3842
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
3828
3843
  }
3829
3844
  },
3830
3845
  defaultProps: {
@@ -3838,7 +3853,7 @@ var ImageGallery = {
3838
3853
  ],
3839
3854
  background: "white"
3840
3855
  },
3841
- render: ({ eyebrow, heading, columns, items, background }) => /* @__PURE__ */ jsx35("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs31("div", { className: "tps-container", children: [
3856
+ render: ({ eyebrow, heading, columns, items, background }) => /* @__PURE__ */ jsx35("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs31("div", { className: "tps-container", children: [
3842
3857
  (eyebrow || heading) && /* @__PURE__ */ jsxs31("div", { style: { marginBottom: 32 }, children: [
3843
3858
  eyebrow && /* @__PURE__ */ jsx35("span", { className: "tps-eyebrow", children: eyebrow }),
3844
3859
  heading && /* @__PURE__ */ jsx35("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -3851,7 +3866,7 @@ var ImageGallery = {
3851
3866
  alt: img.alt || "",
3852
3867
  style: { borderRadius: "var(--tps-radius)", objectFit: "cover", aspectRatio: "4 / 3", width: "100%" }
3853
3868
  }
3854
- ) : /* @__PURE__ */ jsx35("div", { style: { aspectRatio: "4 / 3", background: "#E2E8F0", borderRadius: "var(--tps-radius)", display: "flex", alignItems: "center", justifyContent: "center", color: "#94A3B8", fontSize: 12 }, children: "Image" }),
3869
+ ) : /* @__PURE__ */ jsx35("div", { style: { aspectRatio: "4 / 3", background: "var(--tps-line)", borderRadius: "var(--tps-radius)", display: "flex", alignItems: "center", justifyContent: "center", color: "#94A3B8", fontSize: 12 }, children: "Image" }),
3855
3870
  img.caption && /* @__PURE__ */ jsx35("figcaption", { style: { marginTop: 6, fontSize: 12, color: "var(--tps-muted)" }, children: img.caption })
3856
3871
  ] }, i)) }) })
3857
3872
  ] }) })
@@ -3904,7 +3919,7 @@ var InlineCTA = {
3904
3919
  background: {
3905
3920
  type: "radio",
3906
3921
  label: "Background",
3907
- options: [{ label: "Soft", value: "soft" }, { label: "Primary", value: "primary" }]
3922
+ options: [{ label: "Soft", value: "soft" }, { label: "Primary", value: "primary" }, { label: "Dark", value: "dark" }]
3908
3923
  }
3909
3924
  },
3910
3925
  defaultProps: {
@@ -3916,7 +3931,7 @@ var InlineCTA = {
3916
3931
  },
3917
3932
  render: ({ headline, body, button_label, button_href, background }) => {
3918
3933
  const primary = background === "primary";
3919
- return /* @__PURE__ */ jsx37("section", { className: "tps-section", style: { paddingTop: 24, paddingBottom: 24 }, children: /* @__PURE__ */ jsx37("div", { className: "tps-container", children: /* @__PURE__ */ jsxs33("div", { style: {
3934
+ return /* @__PURE__ */ jsx37("section", { className: `tps-section${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 24, paddingBottom: 24 }, children: /* @__PURE__ */ jsx37("div", { className: "tps-container", children: /* @__PURE__ */ jsxs33("div", { style: {
3920
3935
  display: "flex",
3921
3936
  flexWrap: "wrap",
3922
3937
  alignItems: "center",
@@ -4060,7 +4075,7 @@ var KeyValueList = {
4060
4075
  background: {
4061
4076
  type: "radio",
4062
4077
  label: "Background",
4063
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4078
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4064
4079
  }
4065
4080
  },
4066
4081
  defaultProps: {
@@ -4074,7 +4089,7 @@ var KeyValueList = {
4074
4089
  ],
4075
4090
  background: "white"
4076
4091
  },
4077
- render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx41("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs37("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4092
+ render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx41("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs37("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4078
4093
  (eyebrow || heading) && /* @__PURE__ */ jsxs37("div", { style: { marginBottom: 24 }, children: [
4079
4094
  eyebrow && /* @__PURE__ */ jsx41("span", { className: "tps-eyebrow", children: eyebrow }),
4080
4095
  heading && /* @__PURE__ */ jsx41("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -4106,7 +4121,7 @@ var StepsVertical = {
4106
4121
  background: {
4107
4122
  type: "radio",
4108
4123
  label: "Background",
4109
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4124
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4110
4125
  }
4111
4126
  },
4112
4127
  defaultProps: {
@@ -4120,7 +4135,7 @@ var StepsVertical = {
4120
4135
  ],
4121
4136
  background: "white"
4122
4137
  },
4123
- render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx42("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs38("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4138
+ render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx42("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs38("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4124
4139
  (eyebrow || heading) && /* @__PURE__ */ jsxs38("div", { style: { marginBottom: 32 }, children: [
4125
4140
  eyebrow && /* @__PURE__ */ jsx42("span", { className: "tps-eyebrow", children: eyebrow }),
4126
4141
  heading && /* @__PURE__ */ jsx42("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -4156,7 +4171,7 @@ var TabsBlock = {
4156
4171
  background: {
4157
4172
  type: "radio",
4158
4173
  label: "Background",
4159
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4174
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4160
4175
  }
4161
4176
  },
4162
4177
  defaultProps: {
@@ -4169,7 +4184,7 @@ var TabsBlock = {
4169
4184
  ],
4170
4185
  background: "white"
4171
4186
  },
4172
- render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx43("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs39("div", { className: "tps-container", style: { maxWidth: 920 }, children: [
4187
+ render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx43("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs39("div", { className: "tps-container", style: { maxWidth: 920 }, children: [
4173
4188
  (eyebrow || heading) && /* @__PURE__ */ jsxs39("div", { style: { marginBottom: 32 }, children: [
4174
4189
  eyebrow && /* @__PURE__ */ jsx43("span", { className: "tps-eyebrow", children: eyebrow }),
4175
4190
  heading && /* @__PURE__ */ jsx43("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -4213,7 +4228,7 @@ var AccordionBlock = {
4213
4228
  background: {
4214
4229
  type: "radio",
4215
4230
  label: "Background",
4216
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4231
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4217
4232
  }
4218
4233
  },
4219
4234
  defaultProps: {
@@ -4226,7 +4241,7 @@ var AccordionBlock = {
4226
4241
  multiple_open: false,
4227
4242
  background: "white"
4228
4243
  },
4229
- render: ({ eyebrow, heading, items, multiple_open, background }) => /* @__PURE__ */ jsx44("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs40("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4244
+ render: ({ eyebrow, heading, items, multiple_open, background }) => /* @__PURE__ */ jsx44("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs40("div", { className: "tps-container", style: { maxWidth: 820 }, children: [
4230
4245
  (eyebrow || heading) && /* @__PURE__ */ jsxs40("div", { style: { marginBottom: 24 }, children: [
4231
4246
  eyebrow && /* @__PURE__ */ jsx44("span", { className: "tps-eyebrow", children: eyebrow }),
4232
4247
  heading && /* @__PURE__ */ jsx44("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
@@ -4242,7 +4257,7 @@ var AccordionBlock = {
4242
4257
  key: String(i),
4243
4258
  label: /* @__PURE__ */ jsx44("span", { style: { fontSize: 15, fontWeight: 600, color: "var(--tps-ink)" }, children: it.title }),
4244
4259
  children: /* @__PURE__ */ jsx44("div", { style: { color: "var(--tps-ink-2)", lineHeight: 1.7 }, dangerouslySetInnerHTML: { __html: it.content_html || "" } }),
4245
- style: { background: "#fff", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", marginBottom: 10, overflow: "hidden" }
4260
+ style: { background: "var(--tps-bg)", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", marginBottom: 10, overflow: "hidden" }
4246
4261
  }))
4247
4262
  }
4248
4263
  )
@@ -4297,7 +4312,7 @@ var SocialLinks = {
4297
4312
  background: {
4298
4313
  type: "radio",
4299
4314
  label: "Background",
4300
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4315
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4301
4316
  }
4302
4317
  },
4303
4318
  defaultProps: {
@@ -4310,7 +4325,7 @@ var SocialLinks = {
4310
4325
  ],
4311
4326
  background: "white"
4312
4327
  },
4313
- render: ({ label, align, items, background }) => /* @__PURE__ */ jsx45("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 32, paddingBottom: 32 }, children: /* @__PURE__ */ jsxs41("div", { className: "tps-container", style: { textAlign: align }, children: [
4328
+ render: ({ label, align, items, background }) => /* @__PURE__ */ jsx45("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 32, paddingBottom: 32 }, children: /* @__PURE__ */ jsxs41("div", { className: "tps-container", style: { textAlign: align }, children: [
4314
4329
  label && /* @__PURE__ */ jsx45("div", { style: { fontSize: 12, fontWeight: 700, letterSpacing: 1.5, color: "var(--tps-muted)", textTransform: "uppercase", marginBottom: 12 }, children: label }),
4315
4330
  /* @__PURE__ */ jsx45("div", { style: { display: "inline-flex", gap: 14 }, children: (items || []).filter((l) => l.href).map((l, i) => {
4316
4331
  const Icon = (NETWORKS[l.network] || NETWORKS.linkedin).icon;
@@ -4345,7 +4360,7 @@ var ContactInfo = {
4345
4360
  background: {
4346
4361
  type: "radio",
4347
4362
  label: "Background",
4348
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
4363
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4349
4364
  }
4350
4365
  },
4351
4366
  defaultProps: {
@@ -4357,12 +4372,12 @@ var ContactInfo = {
4357
4372
  hours: "Mon\u2013Fri \xB7 09:00\u201318:00",
4358
4373
  background: "soft"
4359
4374
  },
4360
- render: ({ eyebrow, heading, email, phone, address, hours, background }) => /* @__PURE__ */ jsx46("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs42("div", { className: "tps-container", style: { maxWidth: 720 }, children: [
4375
+ render: ({ eyebrow, heading, email, phone, address, hours, background }) => /* @__PURE__ */ jsx46("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs42("div", { className: "tps-container", style: { maxWidth: 720 }, children: [
4361
4376
  (eyebrow || heading) && /* @__PURE__ */ jsxs42("div", { style: { marginBottom: 24 }, children: [
4362
4377
  eyebrow && /* @__PURE__ */ jsx46("span", { className: "tps-eyebrow", children: eyebrow }),
4363
4378
  heading && /* @__PURE__ */ jsx46("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
4364
4379
  ] }),
4365
- /* @__PURE__ */ jsx46("div", { style: { background: "#fff", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", padding: 28 }, children: /* @__PURE__ */ jsxs42("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(200px, 100%), 1fr))", gap: 20 }, children: [
4380
+ /* @__PURE__ */ jsx46("div", { style: { background: "var(--tps-bg)", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)", padding: 28 }, children: /* @__PURE__ */ jsxs42("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(200px, 100%), 1fr))", gap: 20 }, children: [
4366
4381
  email && /* @__PURE__ */ jsxs42("div", { children: [
4367
4382
  /* @__PURE__ */ jsxs42("div", { style: { display: "flex", alignItems: "center", gap: 8, color: "var(--tps-muted)", fontSize: 12, fontWeight: 700, letterSpacing: 1, textTransform: "uppercase", marginBottom: 6 }, children: [
4368
4383
  /* @__PURE__ */ jsx46(MailOutlined3, {}),
@@ -4423,9 +4438,935 @@ var MapEmbed = {
4423
4438
  ] }) })
4424
4439
  };
4425
4440
 
4441
+ // src/blocks/_FormBlockBase.jsx
4442
+ import { useState as useState5 } from "react";
4443
+ import { Form as Form4, Row as Row2, Col as Col2, Button as Button10, App as AntdApp3 } from "antd";
4444
+ import { SendOutlined as SendOutlined2, CheckCircleOutlined as CheckCircleOutlined2 } from "@ant-design/icons";
4445
+
4446
+ // src/blocks/_DynamicFormField.jsx
4447
+ import {
4448
+ Form as Form3,
4449
+ Input as Input3,
4450
+ Select as Select2,
4451
+ Radio,
4452
+ Checkbox,
4453
+ DatePicker,
4454
+ Rate,
4455
+ InputNumber,
4456
+ Upload,
4457
+ Button as Button9
4458
+ } from "antd";
4459
+ import { UploadOutlined } from "@ant-design/icons";
4460
+ import { jsx as jsx48 } from "react/jsx-runtime";
4461
+ var COUNTRY_OPTIONS = [
4462
+ { value: "AU", label: "Australia" },
4463
+ { value: "AT", label: "Austria" },
4464
+ { value: "BE", label: "Belgium" },
4465
+ { value: "BR", label: "Brazil" },
4466
+ { value: "CA", label: "Canada" },
4467
+ { value: "CN", label: "China" },
4468
+ { value: "DK", label: "Denmark" },
4469
+ { value: "EG", label: "Egypt" },
4470
+ { value: "FI", label: "Finland" },
4471
+ { value: "FR", label: "France" },
4472
+ { value: "DE", label: "Germany" },
4473
+ { value: "GH", label: "Ghana" },
4474
+ { value: "GR", label: "Greece" },
4475
+ { value: "HK", label: "Hong Kong" },
4476
+ { value: "IN", label: "India" },
4477
+ { value: "ID", label: "Indonesia" },
4478
+ { value: "IE", label: "Ireland" },
4479
+ { value: "IL", label: "Israel" },
4480
+ { value: "IT", label: "Italy" },
4481
+ { value: "JP", label: "Japan" },
4482
+ { value: "KE", label: "Kenya" },
4483
+ { value: "MY", label: "Malaysia" },
4484
+ { value: "MX", label: "Mexico" },
4485
+ { value: "NL", label: "Netherlands" },
4486
+ { value: "NZ", label: "New Zealand" },
4487
+ { value: "NG", label: "Nigeria" },
4488
+ { value: "NO", label: "Norway" },
4489
+ { value: "PK", label: "Pakistan" },
4490
+ { value: "PH", label: "Philippines" },
4491
+ { value: "PL", label: "Poland" },
4492
+ { value: "PT", label: "Portugal" },
4493
+ { value: "QA", label: "Qatar" },
4494
+ { value: "SA", label: "Saudi Arabia" },
4495
+ { value: "SG", label: "Singapore" },
4496
+ { value: "ZA", label: "South Africa" },
4497
+ { value: "KR", label: "South Korea" },
4498
+ { value: "ES", label: "Spain" },
4499
+ { value: "SE", label: "Sweden" },
4500
+ { value: "CH", label: "Switzerland" },
4501
+ { value: "TW", label: "Taiwan" },
4502
+ { value: "TH", label: "Thailand" },
4503
+ { value: "TR", label: "Turkey" },
4504
+ { value: "AE", label: "UAE" },
4505
+ { value: "GB", label: "United Kingdom" },
4506
+ { value: "US", label: "United States" },
4507
+ { value: "VN", label: "Vietnam" }
4508
+ ];
4509
+ var GENDER_OPTIONS = [
4510
+ { value: "male", label: "Male" },
4511
+ { value: "female", label: "Female" },
4512
+ { value: "nonbinary", label: "Non-binary" },
4513
+ { value: "prefer_not", label: "Prefer not to say" }
4514
+ ];
4515
+ function parseOptions(str) {
4516
+ if (!str) return [];
4517
+ return str.split("\n").map((s) => s.trim()).filter(Boolean).map((s) => ({ value: s, label: s }));
4518
+ }
4519
+ function buildRules(field) {
4520
+ const isRequired = field.required === "yes" || field.required === true;
4521
+ const rules = [];
4522
+ if (isRequired) {
4523
+ rules.push({ required: true, message: `${field.label || "This field"} is required` });
4524
+ }
4525
+ switch (field.validation) {
4526
+ case "email":
4527
+ rules.push({ type: "email", message: "Enter a valid email address" });
4528
+ break;
4529
+ case "url":
4530
+ rules.push({ type: "url", message: "Enter a valid URL" });
4531
+ break;
4532
+ case "phone":
4533
+ rules.push({ pattern: /^\+?[\d\s\-().]{7,20}$/, message: "Enter a valid phone number" });
4534
+ break;
4535
+ case "number_positive":
4536
+ rules.push({ type: "number", min: 0, message: "Must be a positive number" });
4537
+ break;
4538
+ case "min6":
4539
+ rules.push({ min: 6, message: "Must be at least 6 characters" });
4540
+ break;
4541
+ case "min8":
4542
+ rules.push({ min: 8, message: "Must be at least 8 characters" });
4543
+ break;
4544
+ default:
4545
+ break;
4546
+ }
4547
+ return rules;
4548
+ }
4549
+ function DynamicFormField({ field }) {
4550
+ const {
4551
+ field_type = "text",
4552
+ field_key,
4553
+ label,
4554
+ placeholder,
4555
+ help_text,
4556
+ options,
4557
+ default_value
4558
+ } = field;
4559
+ if (!field_key) return null;
4560
+ const rules = buildRules(field);
4561
+ const opts = parseOptions(options);
4562
+ const lg = { size: "large" };
4563
+ if (field_type === "upload") {
4564
+ return /* @__PURE__ */ jsx48(
4565
+ Form3.Item,
4566
+ {
4567
+ name: field_key,
4568
+ label,
4569
+ valuePropName: "fileList",
4570
+ getValueFromEvent: (e) => Array.isArray(e) ? e : e?.fileList,
4571
+ rules,
4572
+ help: help_text || void 0,
4573
+ children: /* @__PURE__ */ jsx48(Upload, { beforeUpload: () => false, children: /* @__PURE__ */ jsx48(Button9, { icon: /* @__PURE__ */ jsx48(UploadOutlined, {}), children: placeholder || "Choose file" }) })
4574
+ }
4575
+ );
4576
+ }
4577
+ if (field_type === "checkbox") {
4578
+ const isRequired = field.required === "yes" || field.required === true;
4579
+ return /* @__PURE__ */ jsx48(
4580
+ Form3.Item,
4581
+ {
4582
+ name: field_key,
4583
+ valuePropName: "checked",
4584
+ rules: isRequired ? [
4585
+ {
4586
+ validator: (_, value) => value ? Promise.resolve() : Promise.reject(
4587
+ new Error(help_text || `${label || "This field"} is required`)
4588
+ )
4589
+ }
4590
+ ] : [],
4591
+ style: { marginBottom: 16 },
4592
+ children: /* @__PURE__ */ jsx48(Checkbox, { children: label })
4593
+ }
4594
+ );
4595
+ }
4596
+ const initialValue = field_type === "date" || field_type === "rating" ? void 0 : default_value || void 0;
4597
+ let control;
4598
+ switch (field_type) {
4599
+ case "email":
4600
+ control = /* @__PURE__ */ jsx48(Input3, { ...lg, placeholder, type: "email" });
4601
+ break;
4602
+ case "tel":
4603
+ control = /* @__PURE__ */ jsx48(Input3, { ...lg, placeholder, type: "tel" });
4604
+ break;
4605
+ case "textarea":
4606
+ control = /* @__PURE__ */ jsx48(Input3.TextArea, { rows: 4, placeholder });
4607
+ break;
4608
+ case "number":
4609
+ control = /* @__PURE__ */ jsx48(InputNumber, { size: "large", style: { width: "100%" }, placeholder });
4610
+ break;
4611
+ case "currency":
4612
+ control = /* @__PURE__ */ jsx48(
4613
+ InputNumber,
4614
+ {
4615
+ size: "large",
4616
+ style: { width: "100%" },
4617
+ placeholder,
4618
+ prefix: "$",
4619
+ precision: 2,
4620
+ formatter: (v) => `${v}`.replace(/\B(?=(\d{3})+(?!\d))/g, ","),
4621
+ parser: (v) => v?.replace(/[^\d.]/g, "")
4622
+ }
4623
+ );
4624
+ break;
4625
+ case "select":
4626
+ control = /* @__PURE__ */ jsx48(Select2, { ...lg, placeholder, options: opts });
4627
+ break;
4628
+ case "multiselect":
4629
+ control = /* @__PURE__ */ jsx48(Select2, { ...lg, mode: "multiple", placeholder, options: opts });
4630
+ break;
4631
+ case "radio":
4632
+ control = /* @__PURE__ */ jsx48(Radio.Group, { options: opts });
4633
+ break;
4634
+ case "checkbox_group":
4635
+ control = /* @__PURE__ */ jsx48(Checkbox.Group, { options: opts });
4636
+ break;
4637
+ case "date":
4638
+ control = /* @__PURE__ */ jsx48(DatePicker, { size: "large", style: { width: "100%" }, placeholder });
4639
+ break;
4640
+ case "rating":
4641
+ control = /* @__PURE__ */ jsx48(Rate, {});
4642
+ break;
4643
+ case "country":
4644
+ control = /* @__PURE__ */ jsx48(
4645
+ Select2,
4646
+ {
4647
+ ...lg,
4648
+ showSearch: true,
4649
+ placeholder: placeholder || "Select country",
4650
+ options: COUNTRY_OPTIONS,
4651
+ filterOption: (input, opt) => opt.label.toLowerCase().includes(input.toLowerCase())
4652
+ }
4653
+ );
4654
+ break;
4655
+ case "gender":
4656
+ control = /* @__PURE__ */ jsx48(Select2, { ...lg, placeholder: placeholder || "Select gender", options: GENDER_OPTIONS });
4657
+ break;
4658
+ case "otp":
4659
+ control = /* @__PURE__ */ jsx48(Input3.OTP, { length: 6 });
4660
+ break;
4661
+ default:
4662
+ control = /* @__PURE__ */ jsx48(Input3, { ...lg, placeholder });
4663
+ }
4664
+ return /* @__PURE__ */ jsx48(
4665
+ Form3.Item,
4666
+ {
4667
+ label,
4668
+ name: field_key,
4669
+ rules,
4670
+ help: help_text || void 0,
4671
+ initialValue,
4672
+ children: control
4673
+ }
4674
+ );
4675
+ }
4676
+
4677
+ // src/blocks/_FormBlockBase.jsx
4678
+ import { jsx as jsx49, jsxs as jsxs44 } from "react/jsx-runtime";
4679
+ var FORM_FIELD_ARRAY_DEF = {
4680
+ type: "array",
4681
+ label: "Form fields",
4682
+ arrayFields: {
4683
+ field_type: {
4684
+ type: "select",
4685
+ label: "Field type",
4686
+ options: [
4687
+ { value: "text", label: "Text" },
4688
+ { value: "email", label: "Email" },
4689
+ { value: "tel", label: "Phone" },
4690
+ { value: "textarea", label: "Long text" },
4691
+ { value: "number", label: "Number" },
4692
+ { value: "currency", label: "Currency" },
4693
+ { value: "select", label: "Dropdown (single)" },
4694
+ { value: "multiselect", label: "Dropdown (multiple)" },
4695
+ { value: "radio", label: "Radio buttons" },
4696
+ { value: "checkbox", label: "Checkbox / agree" },
4697
+ { value: "checkbox_group", label: "Checkbox group" },
4698
+ { value: "date", label: "Date picker" },
4699
+ { value: "rating", label: "Star rating" },
4700
+ { value: "upload", label: "File upload" },
4701
+ { value: "country", label: "Country select" },
4702
+ { value: "gender", label: "Gender select" },
4703
+ { value: "otp", label: "OTP code" }
4704
+ ]
4705
+ },
4706
+ field_key: { type: "text", label: "Field key (unique identifier)" },
4707
+ label: { type: "text", label: "Label" },
4708
+ placeholder: { type: "text", label: "Placeholder text" },
4709
+ required: {
4710
+ type: "radio",
4711
+ label: "Required",
4712
+ options: [
4713
+ { value: "no", label: "No" },
4714
+ { value: "yes", label: "Yes" }
4715
+ ]
4716
+ },
4717
+ width: {
4718
+ type: "radio",
4719
+ label: "Width",
4720
+ options: [
4721
+ { value: "full", label: "Full width" },
4722
+ { value: "half", label: "Half width" }
4723
+ ]
4724
+ },
4725
+ options: {
4726
+ type: "textarea",
4727
+ label: "Options \u2014 one per line (dropdown, radio, checkboxes)"
4728
+ },
4729
+ default_value: { type: "text", label: "Default value" },
4730
+ help_text: { type: "text", label: "Help / hint text" },
4731
+ validation: {
4732
+ type: "select",
4733
+ label: "Validation preset",
4734
+ options: [
4735
+ { value: "none", label: "None" },
4736
+ { value: "email", label: "Email format" },
4737
+ { value: "phone", label: "Phone format" },
4738
+ { value: "url", label: "URL / website" },
4739
+ { value: "number_positive", label: "Positive number" },
4740
+ { value: "min6", label: "Min. 6 characters" },
4741
+ { value: "min8", label: "Min. 8 characters" }
4742
+ ]
4743
+ }
4744
+ },
4745
+ getItemSummary: (item, i) => `${item?.label || item?.field_key || `Field ${i + 1}`} (${item?.field_type || "text"})`,
4746
+ defaultItemProps: {
4747
+ field_type: "text",
4748
+ field_key: "",
4749
+ label: "New field",
4750
+ placeholder: "",
4751
+ required: "no",
4752
+ width: "full",
4753
+ options: "",
4754
+ default_value: "",
4755
+ help_text: "",
4756
+ validation: "none"
4757
+ }
4758
+ };
4759
+ var COMMON_FORM_FIELDS = {
4760
+ form_heading: { type: "text", label: "Heading" },
4761
+ form_lede: { type: "textarea", label: "Lede" },
4762
+ form_submit_label: { type: "text", label: "Submit button label" },
4763
+ form_privacy_html: { type: "textarea", label: "Privacy footer (HTML allowed)" },
4764
+ success_heading: { type: "text", label: "Success heading" },
4765
+ success_body: { type: "textarea", label: "Success body" },
4766
+ background: {
4767
+ type: "radio",
4768
+ label: "Background",
4769
+ options: [
4770
+ { label: "White", value: "white" },
4771
+ { label: "Soft", value: "soft" },
4772
+ { label: "Dark", value: "dark" }
4773
+ ]
4774
+ },
4775
+ fields: FORM_FIELD_ARRAY_DEF
4776
+ };
4777
+ var COMMON_FORM_DEFAULTS = {
4778
+ form_heading: "",
4779
+ form_lede: "",
4780
+ form_submit_label: "Submit",
4781
+ form_privacy_html: "We respect your privacy. Your information is kept secure and never sold.",
4782
+ success_heading: "Thank you.",
4783
+ success_body: "We've received your submission and will be in touch shortly.",
4784
+ background: "white"
4785
+ };
4786
+ function groupIntoRows(fields) {
4787
+ const rows = [];
4788
+ let buffer = [];
4789
+ for (const f of fields) {
4790
+ if (!f?.field_key) continue;
4791
+ if (f.width === "half") {
4792
+ buffer.push(f);
4793
+ if (buffer.length === 2) {
4794
+ rows.push(buffer);
4795
+ buffer = [];
4796
+ }
4797
+ } else {
4798
+ if (buffer.length > 0) {
4799
+ rows.push(buffer);
4800
+ buffer = [];
4801
+ }
4802
+ rows.push([f]);
4803
+ }
4804
+ }
4805
+ if (buffer.length > 0) rows.push(buffer);
4806
+ return rows;
4807
+ }
4808
+ function SuccessState({ heading, body, onReset }) {
4809
+ return /* @__PURE__ */ jsxs44("div", { style: { textAlign: "center", padding: "48px 24px" }, children: [
4810
+ /* @__PURE__ */ jsx49(
4811
+ CheckCircleOutlined2,
4812
+ {
4813
+ style: { fontSize: 48, color: "var(--tps-primary, #0b60d8)", marginBottom: 20 }
4814
+ }
4815
+ ),
4816
+ heading && /* @__PURE__ */ jsx49("h3", { className: "tps-h3", style: { marginBottom: 12 }, children: heading }),
4817
+ body && /* @__PURE__ */ jsx49("p", { className: "tps-lede", style: { margin: "0 auto 24px", maxWidth: 480 }, children: body }),
4818
+ /* @__PURE__ */ jsx49(Button10, { type: "link", onClick: onReset, style: { padding: 0 }, children: "Submit another response" })
4819
+ ] });
4820
+ }
4821
+ function FormBlockBase({
4822
+ form_heading,
4823
+ form_lede,
4824
+ form_submit_label,
4825
+ form_privacy_html,
4826
+ success_heading,
4827
+ success_body,
4828
+ background = "white",
4829
+ fields = []
4830
+ }) {
4831
+ const [form] = Form4.useForm();
4832
+ const { message } = AntdApp3.useApp();
4833
+ const { submitLead, track } = useStudio();
4834
+ const [submitting, setSubmitting] = useState5(false);
4835
+ const [submitted, setSubmitted] = useState5(false);
4836
+ const [started, setStarted] = useState5(false);
4837
+ const validFields = Array.isArray(fields) ? fields.filter((f) => f?.field_key && f?.field_type) : [];
4838
+ const rows = groupIntoRows(validFields);
4839
+ const onFinish = async (values) => {
4840
+ setSubmitting(true);
4841
+ try {
4842
+ await submitLead({ ...values, source: "form_block" });
4843
+ track("form_submit");
4844
+ form.resetFields();
4845
+ setSubmitted(true);
4846
+ } catch (err) {
4847
+ message.error(err?.message || "Something went wrong. Please try again.");
4848
+ } finally {
4849
+ setSubmitting(false);
4850
+ }
4851
+ };
4852
+ const onValuesChange = () => {
4853
+ if (!started) {
4854
+ setStarted(true);
4855
+ track("form_start");
4856
+ }
4857
+ };
4858
+ return /* @__PURE__ */ jsx49(
4859
+ "section",
4860
+ {
4861
+ className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`,
4862
+ children: /* @__PURE__ */ jsxs44("div", { className: "tps-container", children: [
4863
+ (form_heading || form_lede) && /* @__PURE__ */ jsxs44("div", { style: { marginBottom: 40, maxWidth: 640 }, children: [
4864
+ form_heading && /* @__PURE__ */ jsx49("h2", { className: "tps-h2", children: form_heading }),
4865
+ form_lede && /* @__PURE__ */ jsx49("p", { className: "tps-lede", style: { marginBottom: 0 }, children: form_lede })
4866
+ ] }),
4867
+ /* @__PURE__ */ jsx49("div", { className: "tps-form-card", style: { maxWidth: 720 }, children: submitted ? /* @__PURE__ */ jsx49(
4868
+ SuccessState,
4869
+ {
4870
+ heading: success_heading,
4871
+ body: success_body,
4872
+ onReset: () => setSubmitted(false)
4873
+ }
4874
+ ) : /* @__PURE__ */ jsxs44(
4875
+ Form4,
4876
+ {
4877
+ form,
4878
+ layout: "vertical",
4879
+ onFinish,
4880
+ onValuesChange,
4881
+ requiredMark: false,
4882
+ children: [
4883
+ rows.map((row, ri) => /* @__PURE__ */ jsx49(Row2, { gutter: 16, children: row.map((field) => /* @__PURE__ */ jsx49(Col2, { xs: 24, sm: row.length > 1 ? 12 : 24, children: /* @__PURE__ */ jsx49(DynamicFormField, { field }) }, field.field_key)) }, ri)),
4884
+ /* @__PURE__ */ jsx49(Form4.Item, { style: { marginTop: 8, marginBottom: 0 }, children: /* @__PURE__ */ jsx49(
4885
+ Button10,
4886
+ {
4887
+ type: "primary",
4888
+ size: "large",
4889
+ htmlType: "submit",
4890
+ loading: submitting,
4891
+ icon: /* @__PURE__ */ jsx49(SendOutlined2, {}),
4892
+ style: { minWidth: 180, height: 48, fontWeight: 600 },
4893
+ children: form_submit_label || "Submit"
4894
+ }
4895
+ ) }),
4896
+ form_privacy_html && /* @__PURE__ */ jsx49(
4897
+ "p",
4898
+ {
4899
+ style: {
4900
+ fontSize: 13,
4901
+ color: "var(--tps-muted)",
4902
+ marginTop: 16,
4903
+ marginBottom: 0
4904
+ },
4905
+ dangerouslySetInnerHTML: { __html: form_privacy_html }
4906
+ }
4907
+ )
4908
+ ]
4909
+ }
4910
+ ) })
4911
+ ] })
4912
+ }
4913
+ );
4914
+ }
4915
+
4916
+ // src/blocks/FormContact.jsx
4917
+ import { jsx as jsx50 } from "react/jsx-runtime";
4918
+ var FormContact = {
4919
+ label: "Contact form",
4920
+ fields: COMMON_FORM_FIELDS,
4921
+ defaultProps: {
4922
+ ...COMMON_FORM_DEFAULTS,
4923
+ form_heading: "Get in touch",
4924
+ form_lede: "Have a question or want to work together? Fill in the form and we'll get back to you within one business day.",
4925
+ form_submit_label: "Send message",
4926
+ fields: [
4927
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
4928
+ { field_type: "email", field_key: "email", label: "Work email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
4929
+ { field_type: "tel", field_key: "phone", label: "Phone", placeholder: "+1 555 000 0000", required: "no", width: "half", validation: "phone", options: "", default_value: "", help_text: "Optional" },
4930
+ { field_type: "text", field_key: "organization", label: "Organization", placeholder: "Your company", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
4931
+ { field_type: "textarea", field_key: "message", label: "Message", placeholder: "What's on your mind?", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" }
4932
+ ]
4933
+ },
4934
+ render: (props) => /* @__PURE__ */ jsx50(FormBlockBase, { ...props })
4935
+ };
4936
+
4937
+ // src/blocks/FormLeadCapture.jsx
4938
+ import { jsx as jsx51 } from "react/jsx-runtime";
4939
+ var FormLeadCapture = {
4940
+ label: "Lead capture form",
4941
+ fields: COMMON_FORM_FIELDS,
4942
+ defaultProps: {
4943
+ ...COMMON_FORM_DEFAULTS,
4944
+ form_heading: "Tell us about your project",
4945
+ form_lede: "Share a few details and we'll come prepared with ideas specific to your situation.",
4946
+ form_submit_label: "Start the conversation",
4947
+ fields: [
4948
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
4949
+ { field_type: "email", field_key: "email", label: "Work email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
4950
+ { field_type: "text", field_key: "company", label: "Company", placeholder: "Your organisation", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
4951
+ { field_type: "tel", field_key: "phone", label: "Phone", placeholder: "+1 555 000 0000", required: "no", width: "half", validation: "phone", options: "", default_value: "", help_text: "Optional" },
4952
+ {
4953
+ field_type: "select",
4954
+ field_key: "stage",
4955
+ label: "Where are you in your journey?",
4956
+ placeholder: "Select the stage that fits best",
4957
+ required: "no",
4958
+ width: "full",
4959
+ validation: "none",
4960
+ options: "Just exploring\nStarting a new project\nImproving an existing process\nNeed help with strategy\nOther",
4961
+ default_value: "",
4962
+ help_text: ""
4963
+ },
4964
+ {
4965
+ field_type: "multiselect",
4966
+ field_key: "interests",
4967
+ label: "Which capabilities interest you?",
4968
+ placeholder: "Pick one or more (optional)",
4969
+ required: "no",
4970
+ width: "full",
4971
+ validation: "none",
4972
+ options: "Product design\nEngineering\nData & analytics\nMarketing\nStrategy\nOther",
4973
+ default_value: "",
4974
+ help_text: ""
4975
+ },
4976
+ { field_type: "textarea", field_key: "message", label: "Anything else to share?", placeholder: "Current systems, target markets, challenges\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "" }
4977
+ ]
4978
+ },
4979
+ render: (props) => /* @__PURE__ */ jsx51(FormBlockBase, { ...props })
4980
+ };
4981
+
4982
+ // src/blocks/FormNewsletter.jsx
4983
+ import { jsx as jsx52 } from "react/jsx-runtime";
4984
+ var FormNewsletter = {
4985
+ label: "Newsletter form",
4986
+ fields: COMMON_FORM_FIELDS,
4987
+ defaultProps: {
4988
+ ...COMMON_FORM_DEFAULTS,
4989
+ form_heading: "Stay in the loop",
4990
+ form_lede: "Join our newsletter for updates, articles, and early access to new features.",
4991
+ form_submit_label: "Subscribe",
4992
+ success_heading: "You're subscribed.",
4993
+ success_body: "Thank you for subscribing. Check your inbox for a confirmation email.",
4994
+ fields: [
4995
+ { field_type: "text", field_key: "full_name", label: "Name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
4996
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@example.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
4997
+ { field_type: "checkbox", field_key: "consent", label: "I agree to receive marketing emails. Unsubscribe any time.", placeholder: "", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" }
4998
+ ]
4999
+ },
5000
+ render: (props) => /* @__PURE__ */ jsx52(FormBlockBase, { ...props })
5001
+ };
5002
+
5003
+ // src/blocks/FormFeedback.jsx
5004
+ import { jsx as jsx53 } from "react/jsx-runtime";
5005
+ var FormFeedback = {
5006
+ label: "Feedback form",
5007
+ fields: COMMON_FORM_FIELDS,
5008
+ defaultProps: {
5009
+ ...COMMON_FORM_DEFAULTS,
5010
+ form_heading: "Share your feedback",
5011
+ form_lede: "Your honest opinion helps us improve. Takes less than two minutes.",
5012
+ form_submit_label: "Submit feedback",
5013
+ success_heading: "Feedback received.",
5014
+ success_body: "Thank you \u2014 every response shapes what we build next.",
5015
+ fields: [
5016
+ { field_type: "rating", field_key: "rating", label: "Overall rating", placeholder: "", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "1 = poor, 5 = excellent" },
5017
+ {
5018
+ field_type: "select",
5019
+ field_key: "category",
5020
+ label: "Feedback category",
5021
+ placeholder: "What's this about?",
5022
+ required: "no",
5023
+ width: "full",
5024
+ validation: "none",
5025
+ options: "Product quality\nCustomer support\nWebsite experience\nPricing\nOther",
5026
+ default_value: "",
5027
+ help_text: ""
5028
+ },
5029
+ { field_type: "textarea", field_key: "comments", label: "Your comments", placeholder: "Tell us what you loved or what we could do better\u2026", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5030
+ { field_type: "text", field_key: "full_name", label: "Name", placeholder: "Your name", required: "no", width: "half", validation: "none", options: "", default_value: "", help_text: "Optional" },
5031
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@example.com", required: "no", width: "half", validation: "email", options: "", default_value: "", help_text: "Optional \u2014 if you'd like a reply" }
5032
+ ]
5033
+ },
5034
+ render: (props) => /* @__PURE__ */ jsx53(FormBlockBase, { ...props })
5035
+ };
5036
+
5037
+ // src/blocks/FormSurvey.jsx
5038
+ import { jsx as jsx54 } from "react/jsx-runtime";
5039
+ var FormSurvey = {
5040
+ label: "Survey form",
5041
+ fields: COMMON_FORM_FIELDS,
5042
+ defaultProps: {
5043
+ ...COMMON_FORM_DEFAULTS,
5044
+ form_heading: "Quick survey",
5045
+ form_lede: "Three questions, under two minutes. Your answers help us get better.",
5046
+ form_submit_label: "Submit survey",
5047
+ success_heading: "Survey submitted.",
5048
+ success_body: "Thank you for taking the time. Your input is genuinely valued.",
5049
+ fields: [
5050
+ { field_type: "rating", field_key: "satisfaction", label: "How satisfied are you overall?", placeholder: "", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "1 = very dissatisfied \xB7 5 = very satisfied" },
5051
+ {
5052
+ field_type: "radio",
5053
+ field_key: "recommend",
5054
+ label: "Would you recommend us to a colleague?",
5055
+ placeholder: "",
5056
+ required: "yes",
5057
+ width: "full",
5058
+ validation: "none",
5059
+ options: "Definitely yes\nProbably yes\nNot sure\nProbably not\nDefinitely not",
5060
+ default_value: "",
5061
+ help_text: ""
5062
+ },
5063
+ { field_type: "textarea", field_key: "improvements", label: "What could we do better?", placeholder: "Any suggestions are welcome\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional" },
5064
+ { field_type: "text", field_key: "full_name", label: "Name", placeholder: "Your name", required: "no", width: "half", validation: "none", options: "", default_value: "", help_text: "Optional" },
5065
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@example.com", required: "no", width: "half", validation: "email", options: "", default_value: "", help_text: "Optional" }
5066
+ ]
5067
+ },
5068
+ render: (props) => /* @__PURE__ */ jsx54(FormBlockBase, { ...props })
5069
+ };
5070
+
5071
+ // src/blocks/FormBooking.jsx
5072
+ import { jsx as jsx55 } from "react/jsx-runtime";
5073
+ var FormBooking = {
5074
+ label: "Booking / demo form",
5075
+ fields: COMMON_FORM_FIELDS,
5076
+ defaultProps: {
5077
+ ...COMMON_FORM_DEFAULTS,
5078
+ form_heading: "Book a demo",
5079
+ form_lede: "Pick a date and time that works for you. We'll send a calendar invite within a few hours.",
5080
+ form_submit_label: "Request booking",
5081
+ success_heading: "Request received.",
5082
+ success_body: "We'll confirm your booking by email within a few hours.",
5083
+ fields: [
5084
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5085
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5086
+ { field_type: "text", field_key: "company", label: "Company", placeholder: "Your organisation", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5087
+ { field_type: "date", field_key: "preferred_date", label: "Preferred date", placeholder: "Pick a date", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5088
+ {
5089
+ field_type: "select",
5090
+ field_key: "preferred_time",
5091
+ label: "Preferred time",
5092
+ placeholder: "Select a slot",
5093
+ required: "yes",
5094
+ width: "half",
5095
+ validation: "none",
5096
+ options: "Morning (9 am \u2013 12 pm)\nAfternoon (12 pm \u2013 5 pm)\nEvening (5 pm \u2013 7 pm)",
5097
+ default_value: "",
5098
+ help_text: ""
5099
+ },
5100
+ { field_type: "textarea", field_key: "notes", label: "Anything to prepare?", placeholder: "Topics, questions, or context that would help us tailor the session\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional" }
5101
+ ]
5102
+ },
5103
+ render: (props) => /* @__PURE__ */ jsx55(FormBlockBase, { ...props })
5104
+ };
5105
+
5106
+ // src/blocks/FormRegistration.jsx
5107
+ import { jsx as jsx56 } from "react/jsx-runtime";
5108
+ var FormRegistration = {
5109
+ label: "Registration form",
5110
+ fields: COMMON_FORM_FIELDS,
5111
+ defaultProps: {
5112
+ ...COMMON_FORM_DEFAULTS,
5113
+ form_heading: "Register for the event",
5114
+ form_lede: "Secure your spot. We'll email your confirmation and joining instructions.",
5115
+ form_submit_label: "Register now",
5116
+ success_heading: "You're registered.",
5117
+ success_body: "Check your inbox for a confirmation email with all the details.",
5118
+ fields: [
5119
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5120
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5121
+ { field_type: "tel", field_key: "phone", label: "Phone", placeholder: "+1 555 000 0000", required: "no", width: "half", validation: "phone", options: "", default_value: "", help_text: "Optional" },
5122
+ { field_type: "text", field_key: "company", label: "Organisation", placeholder: "Your company", required: "no", width: "half", validation: "none", options: "", default_value: "", help_text: "Optional" },
5123
+ {
5124
+ field_type: "select",
5125
+ field_key: "role",
5126
+ label: "Your role",
5127
+ placeholder: "Select your role",
5128
+ required: "no",
5129
+ width: "half",
5130
+ validation: "none",
5131
+ options: "Developer\nDesigner\nProduct manager\nMarketer\nFounder / exec\nStudent\nOther",
5132
+ default_value: "",
5133
+ help_text: ""
5134
+ },
5135
+ {
5136
+ field_type: "select",
5137
+ field_key: "tshirt_size",
5138
+ label: "T-shirt size",
5139
+ placeholder: "Select size",
5140
+ required: "no",
5141
+ width: "half",
5142
+ validation: "none",
5143
+ options: "XS\nS\nM\nL\nXL\nXXL",
5144
+ default_value: "",
5145
+ help_text: "Optional \u2014 if swag is included"
5146
+ },
5147
+ {
5148
+ field_type: "select",
5149
+ field_key: "dietary",
5150
+ label: "Dietary requirements",
5151
+ placeholder: "Select one",
5152
+ required: "no",
5153
+ width: "full",
5154
+ validation: "none",
5155
+ options: "No restrictions\nVegetarian\nVegan\nGluten-free\nHalal\nKosher\nOther",
5156
+ default_value: "No restrictions",
5157
+ help_text: ""
5158
+ },
5159
+ { field_type: "textarea", field_key: "notes", label: "Additional notes", placeholder: "Accessibility needs, questions, or anything else\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional" }
5160
+ ]
5161
+ },
5162
+ render: (props) => /* @__PURE__ */ jsx56(FormBlockBase, { ...props })
5163
+ };
5164
+
5165
+ // src/blocks/FormQuoteRequest.jsx
5166
+ import { jsx as jsx57 } from "react/jsx-runtime";
5167
+ var FormQuoteRequest = {
5168
+ label: "Quote request form",
5169
+ fields: COMMON_FORM_FIELDS,
5170
+ defaultProps: {
5171
+ ...COMMON_FORM_DEFAULTS,
5172
+ form_heading: "Request a quote",
5173
+ form_lede: "Tell us about your project and we'll put together a tailored proposal within two business days.",
5174
+ form_submit_label: "Request quote",
5175
+ success_heading: "Request received.",
5176
+ success_body: "We'll review your requirements and send a tailored proposal within two business days.",
5177
+ fields: [
5178
+ { field_type: "text", field_key: "company", label: "Company", placeholder: "Your organisation", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5179
+ { field_type: "text", field_key: "full_name", label: "Your name", placeholder: "Full name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5180
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5181
+ { field_type: "tel", field_key: "phone", label: "Phone", placeholder: "+1 555 000 0000", required: "no", width: "half", validation: "phone", options: "", default_value: "", help_text: "Optional" },
5182
+ {
5183
+ field_type: "select",
5184
+ field_key: "project_type",
5185
+ label: "Project type",
5186
+ placeholder: "What are you building?",
5187
+ required: "yes",
5188
+ width: "half",
5189
+ validation: "none",
5190
+ options: "Website\nMobile app\nWeb application\nBranding\nMarketing campaign\nData / analytics\nOther",
5191
+ default_value: "",
5192
+ help_text: ""
5193
+ },
5194
+ {
5195
+ field_type: "select",
5196
+ field_key: "budget",
5197
+ label: "Budget range",
5198
+ placeholder: "Approximate budget",
5199
+ required: "no",
5200
+ width: "half",
5201
+ validation: "none",
5202
+ options: "Under $5k\n$5k \u2013 $20k\n$20k \u2013 $50k\n$50k \u2013 $100k\n$100k+\nNot sure yet",
5203
+ default_value: "",
5204
+ help_text: ""
5205
+ },
5206
+ {
5207
+ field_type: "select",
5208
+ field_key: "timeline",
5209
+ label: "Desired timeline",
5210
+ placeholder: "When do you need this?",
5211
+ required: "no",
5212
+ width: "full",
5213
+ validation: "none",
5214
+ options: "As soon as possible\n1 \u2013 3 months\n3 \u2013 6 months\n6+ months\nFlexible",
5215
+ default_value: "",
5216
+ help_text: ""
5217
+ },
5218
+ { field_type: "textarea", field_key: "requirements", label: "Project requirements", placeholder: "Describe what you need \u2014 features, integrations, constraints, goals\u2026", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" }
5219
+ ]
5220
+ },
5221
+ render: (props) => /* @__PURE__ */ jsx57(FormBlockBase, { ...props })
5222
+ };
5223
+
5224
+ // src/blocks/FormApplication.jsx
5225
+ import { jsx as jsx58 } from "react/jsx-runtime";
5226
+ var FormApplication = {
5227
+ label: "Application form",
5228
+ fields: COMMON_FORM_FIELDS,
5229
+ defaultProps: {
5230
+ ...COMMON_FORM_DEFAULTS,
5231
+ form_heading: "Apply now",
5232
+ form_lede: "Tell us about yourself. We read every application carefully.",
5233
+ form_submit_label: "Submit application",
5234
+ success_heading: "Application submitted.",
5235
+ success_body: "Thanks for applying. We'll review your application and be in touch within 5\u20137 business days.",
5236
+ fields: [
5237
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5238
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@example.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5239
+ { field_type: "tel", field_key: "phone", label: "Phone", placeholder: "+1 555 000 0000", required: "no", width: "half", validation: "phone", options: "", default_value: "", help_text: "Optional" },
5240
+ { field_type: "text", field_key: "linkedin", label: "LinkedIn", placeholder: "linkedin.com/in/you", required: "no", width: "half", validation: "url", options: "", default_value: "", help_text: "Optional" },
5241
+ { field_type: "text", field_key: "portfolio", label: "Portfolio / website", placeholder: "https://yoursite.com", required: "no", width: "half", validation: "url", options: "", default_value: "", help_text: "Optional" },
5242
+ {
5243
+ field_type: "select",
5244
+ field_key: "role",
5245
+ label: "Role applying for",
5246
+ placeholder: "Select a role",
5247
+ required: "yes",
5248
+ width: "half",
5249
+ validation: "none",
5250
+ options: "Engineering\nDesign\nProduct\nMarketing\nOperations\nOther",
5251
+ default_value: "",
5252
+ help_text: ""
5253
+ },
5254
+ { field_type: "textarea", field_key: "cover_note", label: "Cover note", placeholder: "Why are you interested? What would you bring to the role?", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5255
+ { field_type: "upload", field_key: "cv", label: "CV / r\xE9sum\xE9", placeholder: "Upload CV (PDF preferred)", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "PDF, DOC, or DOCX \u2014 max 5 MB" }
5256
+ ]
5257
+ },
5258
+ render: (props) => /* @__PURE__ */ jsx58(FormBlockBase, { ...props })
5259
+ };
5260
+
5261
+ // src/blocks/FormSupport.jsx
5262
+ import { jsx as jsx59 } from "react/jsx-runtime";
5263
+ var FormSupport = {
5264
+ label: "Support ticket form",
5265
+ fields: COMMON_FORM_FIELDS,
5266
+ defaultProps: {
5267
+ ...COMMON_FORM_DEFAULTS,
5268
+ form_heading: "Open a support ticket",
5269
+ form_lede: "Describe the issue and we'll get back to you as quickly as we can.",
5270
+ form_submit_label: "Submit ticket",
5271
+ success_heading: "Ticket submitted.",
5272
+ success_body: "We've logged your request. Expect a reply to your email within one business day.",
5273
+ fields: [
5274
+ { field_type: "text", field_key: "full_name", label: "Name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5275
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@company.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5276
+ {
5277
+ field_type: "select",
5278
+ field_key: "category",
5279
+ label: "Category",
5280
+ placeholder: "What's this about?",
5281
+ required: "yes",
5282
+ width: "half",
5283
+ validation: "none",
5284
+ options: "Technical issue\nBilling\nAccount access\nFeature request\nGeneral enquiry\nOther",
5285
+ default_value: "",
5286
+ help_text: ""
5287
+ },
5288
+ {
5289
+ field_type: "select",
5290
+ field_key: "priority",
5291
+ label: "Priority",
5292
+ placeholder: "How urgent is this?",
5293
+ required: "yes",
5294
+ width: "half",
5295
+ validation: "none",
5296
+ options: "Low\nMedium\nHigh\nUrgent",
5297
+ default_value: "Medium",
5298
+ help_text: ""
5299
+ },
5300
+ { field_type: "text", field_key: "subject", label: "Subject", placeholder: "One-line summary of the issue", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5301
+ { field_type: "textarea", field_key: "description", label: "Description", placeholder: "Steps to reproduce, error messages, expected vs actual behaviour\u2026", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5302
+ { field_type: "upload", field_key: "attachment", label: "Attachment", placeholder: "Upload a screenshot or file", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional \u2014 screenshots, logs, or related files" }
5303
+ ]
5304
+ },
5305
+ render: (props) => /* @__PURE__ */ jsx59(FormBlockBase, { ...props })
5306
+ };
5307
+
5308
+ // src/blocks/FormWaitlist.jsx
5309
+ import { jsx as jsx60 } from "react/jsx-runtime";
5310
+ var FormWaitlist = {
5311
+ label: "Waitlist form",
5312
+ fields: COMMON_FORM_FIELDS,
5313
+ defaultProps: {
5314
+ ...COMMON_FORM_DEFAULTS,
5315
+ form_heading: "Join the waitlist",
5316
+ form_lede: "We're rolling out access in batches. Sign up and we'll let you know when your spot is ready.",
5317
+ form_submit_label: "Join waitlist",
5318
+ success_heading: "You're on the list.",
5319
+ success_body: "We'll email you as soon as your spot is available. No spam, ever.",
5320
+ fields: [
5321
+ { field_type: "text", field_key: "full_name", label: "Name", placeholder: "Your name", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5322
+ { field_type: "email", field_key: "email", label: "Email", placeholder: "you@example.com", required: "yes", width: "half", validation: "email", options: "", default_value: "", help_text: "" },
5323
+ { field_type: "text", field_key: "company", label: "Company", placeholder: "Your organisation", required: "no", width: "half", validation: "none", options: "", default_value: "", help_text: "Optional" },
5324
+ {
5325
+ field_type: "select",
5326
+ field_key: "role",
5327
+ label: "Your role",
5328
+ placeholder: "Select your role",
5329
+ required: "no",
5330
+ width: "half",
5331
+ validation: "none",
5332
+ options: "Founder\nProduct manager\nDeveloper\nDesigner\nMarketer\nOther",
5333
+ default_value: "",
5334
+ help_text: ""
5335
+ },
5336
+ { field_type: "textarea", field_key: "use_case", label: "How would you use it?", placeholder: "A sentence or two about your intended use case\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional \u2014 helps us prioritise access" }
5337
+ ]
5338
+ },
5339
+ render: (props) => /* @__PURE__ */ jsx60(FormBlockBase, { ...props })
5340
+ };
5341
+
5342
+ // src/blocks/FormAddress.jsx
5343
+ import { jsx as jsx61 } from "react/jsx-runtime";
5344
+ var FormAddress = {
5345
+ label: "Address form",
5346
+ fields: COMMON_FORM_FIELDS,
5347
+ defaultProps: {
5348
+ ...COMMON_FORM_DEFAULTS,
5349
+ form_heading: "Your address",
5350
+ form_lede: "Please provide your delivery or billing address.",
5351
+ form_submit_label: "Save address",
5352
+ success_heading: "Address saved.",
5353
+ success_body: "Your address details have been recorded.",
5354
+ fields: [
5355
+ { field_type: "text", field_key: "full_name", label: "Full name", placeholder: "Recipient name", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5356
+ { field_type: "text", field_key: "line1", label: "Address line 1", placeholder: "Street address", required: "yes", width: "full", validation: "none", options: "", default_value: "", help_text: "" },
5357
+ { field_type: "text", field_key: "line2", label: "Address line 2", placeholder: "Apartment, suite, unit\u2026", required: "no", width: "full", validation: "none", options: "", default_value: "", help_text: "Optional" },
5358
+ { field_type: "text", field_key: "city", label: "City", placeholder: "City", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5359
+ { field_type: "text", field_key: "state", label: "State / region", placeholder: "State or region", required: "no", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5360
+ { field_type: "country", field_key: "country", label: "Country", placeholder: "Select country", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" },
5361
+ { field_type: "text", field_key: "pincode", label: "Postal / ZIP code", placeholder: "Postal code", required: "yes", width: "half", validation: "none", options: "", default_value: "", help_text: "" }
5362
+ ]
5363
+ },
5364
+ render: (props) => /* @__PURE__ */ jsx61(FormBlockBase, { ...props })
5365
+ };
5366
+
4426
5367
  // src/blocks/EventsList.jsx
4427
5368
  import { CalendarOutlined, EnvironmentOutlined as EnvironmentOutlined2 } from "@ant-design/icons";
4428
- import { jsx as jsx48, jsxs as jsxs44 } from "react/jsx-runtime";
5369
+ import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
4429
5370
  var EventsList = {
4430
5371
  label: "Events list",
4431
5372
  fields: {
@@ -4449,7 +5390,7 @@ var EventsList = {
4449
5390
  background: {
4450
5391
  type: "radio",
4451
5392
  label: "Background",
4452
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
5393
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4453
5394
  }
4454
5395
  },
4455
5396
  defaultProps: {
@@ -4462,29 +5403,29 @@ var EventsList = {
4462
5403
  ],
4463
5404
  background: "white"
4464
5405
  },
4465
- render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx48("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs44("div", { className: "tps-container", style: { maxWidth: 920 }, children: [
4466
- (eyebrow || heading) && /* @__PURE__ */ jsxs44("div", { style: { marginBottom: 32 }, children: [
4467
- eyebrow && /* @__PURE__ */ jsx48("span", { className: "tps-eyebrow", children: eyebrow }),
4468
- heading && /* @__PURE__ */ jsx48("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
5406
+ render: ({ eyebrow, heading, items, background }) => /* @__PURE__ */ jsx62("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs45("div", { className: "tps-container", style: { maxWidth: 920 }, children: [
5407
+ (eyebrow || heading) && /* @__PURE__ */ jsxs45("div", { style: { marginBottom: 32 }, children: [
5408
+ eyebrow && /* @__PURE__ */ jsx62("span", { className: "tps-eyebrow", children: eyebrow }),
5409
+ heading && /* @__PURE__ */ jsx62("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
4469
5410
  ] }),
4470
- /* @__PURE__ */ jsx48("ul", { style: { listStyle: "none", padding: 0, margin: 0, display: "flex", flexDirection: "column", gap: 12 }, children: (items || []).map((e, i) => /* @__PURE__ */ jsxs44("li", { className: "tps-row-stack", style: { display: "grid", gridTemplateColumns: "88px 1fr auto", gap: 24, alignItems: "center", padding: 20, background: "#fff", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)" }, children: [
4471
- /* @__PURE__ */ jsxs44("div", { style: { background: "rgba(15,118,110,0.08)", color: "var(--tps-primary)", padding: "12px 8px", borderRadius: "var(--tps-radius)", textAlign: "center", fontWeight: 700, fontSize: 13, lineHeight: 1.2, letterSpacing: 0.5 }, children: [
4472
- /* @__PURE__ */ jsx48(CalendarOutlined, { style: { display: "block", marginBottom: 4 } }),
5411
+ /* @__PURE__ */ jsx62("ul", { style: { listStyle: "none", padding: 0, margin: 0, display: "flex", flexDirection: "column", gap: 12 }, children: (items || []).map((e, i) => /* @__PURE__ */ jsxs45("li", { className: "tps-row-stack", style: { display: "grid", gridTemplateColumns: "88px 1fr auto", gap: 24, alignItems: "center", padding: 20, background: "var(--tps-bg)", border: "1px solid var(--tps-line)", borderRadius: "var(--tps-radius)" }, children: [
5412
+ /* @__PURE__ */ jsxs45("div", { style: { background: "rgba(15,118,110,0.08)", color: "var(--tps-primary)", padding: "12px 8px", borderRadius: "var(--tps-radius)", textAlign: "center", fontWeight: 700, fontSize: 13, lineHeight: 1.2, letterSpacing: 0.5 }, children: [
5413
+ /* @__PURE__ */ jsx62(CalendarOutlined, { style: { display: "block", marginBottom: 4 } }),
4473
5414
  e.date_short
4474
5415
  ] }),
4475
- /* @__PURE__ */ jsxs44("div", { children: [
4476
- /* @__PURE__ */ jsx48("h3", { style: { fontSize: 17, fontWeight: 700, margin: "0 0 4px" }, children: e.title }),
4477
- e.body && /* @__PURE__ */ jsx48("p", { style: { color: "var(--tps-muted)", margin: "0 0 6px", fontSize: 14, lineHeight: 1.5 }, children: e.body }),
4478
- /* @__PURE__ */ jsxs44("div", { style: { display: "flex", gap: 14, fontSize: 12, color: "var(--tps-muted)" }, children: [
4479
- /* @__PURE__ */ jsx48("span", { children: e.date_long }),
4480
- e.venue && /* @__PURE__ */ jsxs44("span", { children: [
4481
- /* @__PURE__ */ jsx48(EnvironmentOutlined2, {}),
5416
+ /* @__PURE__ */ jsxs45("div", { children: [
5417
+ /* @__PURE__ */ jsx62("h3", { style: { fontSize: 17, fontWeight: 700, margin: "0 0 4px" }, children: e.title }),
5418
+ e.body && /* @__PURE__ */ jsx62("p", { style: { color: "var(--tps-muted)", margin: "0 0 6px", fontSize: 14, lineHeight: 1.5 }, children: e.body }),
5419
+ /* @__PURE__ */ jsxs45("div", { style: { display: "flex", gap: 14, fontSize: 12, color: "var(--tps-muted)" }, children: [
5420
+ /* @__PURE__ */ jsx62("span", { children: e.date_long }),
5421
+ e.venue && /* @__PURE__ */ jsxs45("span", { children: [
5422
+ /* @__PURE__ */ jsx62(EnvironmentOutlined2, {}),
4482
5423
  " ",
4483
5424
  e.venue
4484
5425
  ] })
4485
5426
  ] })
4486
5427
  ] }),
4487
- e.cta_label && /* @__PURE__ */ jsxs44(StudioLink, { href: e.cta_href || "#", style: { color: "var(--tps-primary)", fontWeight: 700, fontSize: 14, textDecoration: "none", whiteSpace: "nowrap" }, children: [
5428
+ e.cta_label && /* @__PURE__ */ jsxs45(StudioLink, { href: e.cta_href || "#", style: { color: "var(--tps-primary)", fontWeight: 700, fontSize: 14, textDecoration: "none", whiteSpace: "nowrap" }, children: [
4488
5429
  e.cta_label,
4489
5430
  " \u2192"
4490
5431
  ] })
@@ -4493,7 +5434,7 @@ var EventsList = {
4493
5434
  };
4494
5435
 
4495
5436
  // src/blocks/Divider.jsx
4496
- import { jsx as jsx49, jsxs as jsxs45 } from "react/jsx-runtime";
5437
+ import { jsx as jsx63, jsxs as jsxs46 } from "react/jsx-runtime";
4497
5438
  var Divider = {
4498
5439
  label: "Divider",
4499
5440
  fields: {
@@ -4519,15 +5460,15 @@ var Divider = {
4519
5460
  }
4520
5461
  },
4521
5462
  defaultProps: { label: "", style: "hairline", spacing: 48 },
4522
- render: ({ label, style, spacing }) => /* @__PURE__ */ jsx49("section", { style: { padding: `${spacing}px 24px` }, children: /* @__PURE__ */ jsx49("div", { className: "tps-container", style: { maxWidth: 820 }, children: style === "dot" ? /* @__PURE__ */ jsx49("div", { style: { display: "flex", justifyContent: "center", gap: 8 }, children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx49("span", { style: { width: 4, height: 4, borderRadius: "50%", background: "#CBD5E1" } }, i)) }) : label ? /* @__PURE__ */ jsxs45("div", { style: { display: "flex", alignItems: "center", gap: 12 }, children: [
4523
- /* @__PURE__ */ jsx49("span", { style: { flex: 1, height: style === "thick" ? 2 : 1, borderTop: style === "dashed" ? `1px dashed #CBD5E1` : "none", background: style !== "dashed" ? "#E2E8F0" : "none" } }),
4524
- /* @__PURE__ */ jsx49("span", { style: { fontSize: 11, fontWeight: 700, letterSpacing: 1.5, color: "#94A3B8", textTransform: "uppercase" }, children: label }),
4525
- /* @__PURE__ */ jsx49("span", { style: { flex: 1, height: style === "thick" ? 2 : 1, borderTop: style === "dashed" ? `1px dashed #CBD5E1` : "none", background: style !== "dashed" ? "#E2E8F0" : "none" } })
4526
- ] }) : /* @__PURE__ */ jsx49("hr", { style: { margin: 0, border: 0, borderTop: style === "dashed" ? "1px dashed #CBD5E1" : `${style === "thick" ? 2 : 1}px solid #E2E8F0` } }) }) })
5463
+ render: ({ label, style, spacing }) => /* @__PURE__ */ jsx63("section", { style: { padding: `${spacing}px 24px` }, children: /* @__PURE__ */ jsx63("div", { className: "tps-container", style: { maxWidth: 820 }, children: style === "dot" ? /* @__PURE__ */ jsx63("div", { style: { display: "flex", justifyContent: "center", gap: 8 }, children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx63("span", { style: { width: 4, height: 4, borderRadius: "50%", background: "#CBD5E1" } }, i)) }) : label ? /* @__PURE__ */ jsxs46("div", { style: { display: "flex", alignItems: "center", gap: 12 }, children: [
5464
+ /* @__PURE__ */ jsx63("span", { style: { flex: 1, height: style === "thick" ? 2 : 1, borderTop: style === "dashed" ? `1px dashed #CBD5E1` : "none", background: style !== "dashed" ? "#E2E8F0" : "none" } }),
5465
+ /* @__PURE__ */ jsx63("span", { style: { fontSize: 11, fontWeight: 700, letterSpacing: 1.5, color: "#94A3B8", textTransform: "uppercase" }, children: label }),
5466
+ /* @__PURE__ */ jsx63("span", { style: { flex: 1, height: style === "thick" ? 2 : 1, borderTop: style === "dashed" ? `1px dashed #CBD5E1` : "none", background: style !== "dashed" ? "#E2E8F0" : "none" } })
5467
+ ] }) : /* @__PURE__ */ jsx63("hr", { style: { margin: 0, border: 0, borderTop: style === "dashed" ? "1px dashed #CBD5E1" : `${style === "thick" ? 2 : 1}px solid #E2E8F0` } }) }) })
4527
5468
  };
4528
5469
 
4529
5470
  // src/blocks/ThreeColumn.jsx
4530
- import { jsx as jsx50, jsxs as jsxs46 } from "react/jsx-runtime";
5471
+ import { jsx as jsx64, jsxs as jsxs47 } from "react/jsx-runtime";
4531
5472
  var ThreeColumn = {
4532
5473
  label: "Three columns",
4533
5474
  fields: {
@@ -4546,7 +5487,7 @@ var ThreeColumn = {
4546
5487
  background: {
4547
5488
  type: "radio",
4548
5489
  label: "Background",
4549
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
5490
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4550
5491
  }
4551
5492
  },
4552
5493
  defaultProps: {
@@ -4559,20 +5500,20 @@ var ThreeColumn = {
4559
5500
  ],
4560
5501
  background: "white"
4561
5502
  },
4562
- render: ({ eyebrow, heading, columns, background }) => /* @__PURE__ */ jsx50("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs46("div", { className: "tps-container", children: [
4563
- (eyebrow || heading) && /* @__PURE__ */ jsxs46("div", { style: { marginBottom: 32 }, children: [
4564
- eyebrow && /* @__PURE__ */ jsx50("span", { className: "tps-eyebrow", children: eyebrow }),
4565
- heading && /* @__PURE__ */ jsx50("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
5503
+ render: ({ eyebrow, heading, columns, background }) => /* @__PURE__ */ jsx64("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 56, paddingBottom: 56 }, children: /* @__PURE__ */ jsxs47("div", { className: "tps-container", children: [
5504
+ (eyebrow || heading) && /* @__PURE__ */ jsxs47("div", { style: { marginBottom: 32 }, children: [
5505
+ eyebrow && /* @__PURE__ */ jsx64("span", { className: "tps-eyebrow", children: eyebrow }),
5506
+ heading && /* @__PURE__ */ jsx64("h2", { className: "tps-h2", style: { marginTop: 8 }, children: heading })
4566
5507
  ] }),
4567
- /* @__PURE__ */ jsx50("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(260px, 100%), 1fr))", gap: 32 }, children: (columns || []).map((c, i) => /* @__PURE__ */ jsxs46("div", { children: [
4568
- /* @__PURE__ */ jsx50("h3", { style: { fontSize: 18, fontWeight: 700, margin: "0 0 8px" }, children: c.title }),
4569
- /* @__PURE__ */ jsx50("p", { style: { color: "var(--tps-muted)", lineHeight: 1.7, fontSize: 15, margin: 0 }, children: c.body })
5508
+ /* @__PURE__ */ jsx64("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(260px, 100%), 1fr))", gap: 32 }, children: (columns || []).map((c, i) => /* @__PURE__ */ jsxs47("div", { children: [
5509
+ /* @__PURE__ */ jsx64("h3", { style: { fontSize: 18, fontWeight: 700, margin: "0 0 8px" }, children: c.title }),
5510
+ /* @__PURE__ */ jsx64("p", { style: { color: "var(--tps-muted)", lineHeight: 1.7, fontSize: 15, margin: 0 }, children: c.body })
4570
5511
  ] }, i)) })
4571
5512
  ] }) })
4572
5513
  };
4573
5514
 
4574
5515
  // src/blocks/PressMentions.jsx
4575
- import { jsx as jsx51, jsxs as jsxs47 } from "react/jsx-runtime";
5516
+ import { jsx as jsx65, jsxs as jsxs48 } from "react/jsx-runtime";
4576
5517
  var PressMentions = {
4577
5518
  label: "Press mentions",
4578
5519
  fields: {
@@ -4592,7 +5533,7 @@ var PressMentions = {
4592
5533
  background: {
4593
5534
  type: "radio",
4594
5535
  label: "Background",
4595
- options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }]
5536
+ options: [{ label: "White", value: "white" }, { label: "Soft", value: "soft" }, { label: "Dark", value: "dark" }]
4596
5537
  }
4597
5538
  },
4598
5539
  defaultProps: {
@@ -4604,17 +5545,17 @@ var PressMentions = {
4604
5545
  ],
4605
5546
  background: "soft"
4606
5547
  },
4607
- render: ({ heading, items, background }) => /* @__PURE__ */ jsx51("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs47("div", { className: "tps-container", style: { textAlign: "center" }, children: [
4608
- heading && /* @__PURE__ */ jsx51("div", { style: { fontSize: 11, fontWeight: 700, letterSpacing: 2, color: "var(--tps-muted)", marginBottom: 28, textTransform: "uppercase" }, children: heading }),
4609
- /* @__PURE__ */ jsx51("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "center", alignItems: "center", gap: 40 }, children: (items || []).map((p, i) => {
4610
- const inner = p.image_url ? /* @__PURE__ */ jsx51("img", { src: p.image_url, alt: p.name, style: { height: 28, opacity: 0.7, filter: "grayscale(100%)" } }) : /* @__PURE__ */ jsx51("span", { style: { fontFamily: "Georgia, serif", fontSize: 18, fontWeight: 600, color: "var(--tps-ink)", fontStyle: "italic" }, children: p.name });
4611
- return p.link ? /* @__PURE__ */ jsx51("a", { href: p.link, target: "_blank", rel: "noreferrer", children: inner }, i) : /* @__PURE__ */ jsx51("span", { children: inner }, i);
5548
+ render: ({ heading, items, background }) => /* @__PURE__ */ jsx65("section", { className: `tps-section ${background === "soft" ? "tps-section-soft" : ""}${background === "dark" ? " tps-section-dark" : ""}`, style: { paddingTop: 48, paddingBottom: 48 }, children: /* @__PURE__ */ jsxs48("div", { className: "tps-container", style: { textAlign: "center" }, children: [
5549
+ heading && /* @__PURE__ */ jsx65("div", { style: { fontSize: 11, fontWeight: 700, letterSpacing: 2, color: "var(--tps-muted)", marginBottom: 28, textTransform: "uppercase" }, children: heading }),
5550
+ /* @__PURE__ */ jsx65("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "center", alignItems: "center", gap: 40 }, children: (items || []).map((p, i) => {
5551
+ const inner = p.image_url ? /* @__PURE__ */ jsx65("img", { src: p.image_url, alt: p.name, style: { height: 28, opacity: 0.7, filter: "grayscale(100%)" } }) : /* @__PURE__ */ jsx65("span", { style: { fontFamily: "Georgia, serif", fontSize: 18, fontWeight: 600, color: "var(--tps-ink)", fontStyle: "italic" }, children: p.name });
5552
+ return p.link ? /* @__PURE__ */ jsx65("a", { href: p.link, target: "_blank", rel: "noreferrer", children: inner }, i) : /* @__PURE__ */ jsx65("span", { children: inner }, i);
4612
5553
  }) })
4613
5554
  ] }) })
4614
5555
  };
4615
5556
 
4616
5557
  // src/blocks/Container.jsx
4617
- import { jsx as jsx52, jsxs as jsxs48 } from "react/jsx-runtime";
5558
+ import { jsx as jsx66, jsxs as jsxs49 } from "react/jsx-runtime";
4618
5559
  var Container = {
4619
5560
  label: "Container box",
4620
5561
  fields: {
@@ -4651,10 +5592,10 @@ var Container = {
4651
5592
  dark: { bg: "#0F172A", fg: "#fff", border: "none" },
4652
5593
  white: { bg: "#fff", fg: "var(--tps-ink)", border: "1px solid var(--tps-line)" }
4653
5594
  }[background] || { bg: "var(--tps-bg-soft)", fg: "var(--tps-ink)", border: "1px solid var(--tps-line)" };
4654
- return /* @__PURE__ */ jsx52("section", { className: "tps-section", style: { paddingTop: 32, paddingBottom: 32 }, children: /* @__PURE__ */ jsx52("div", { className: "tps-container", style: { maxWidth: 820 }, children: /* @__PURE__ */ jsxs48("div", { style: { background: bg.bg, color: bg.fg, border: bg.border, borderRadius: "var(--tps-radius)", padding: 32, textAlign: align }, children: [
4655
- eyebrow && /* @__PURE__ */ jsx52("span", { className: "tps-eyebrow", style: { color: background === "dark" ? "#F59E0B" : void 0 }, children: eyebrow }),
4656
- heading && /* @__PURE__ */ jsx52("h3", { style: { fontSize: 22, fontWeight: 700, margin: "8px 0 14px" }, children: heading }),
4657
- body_html && /* @__PURE__ */ jsx52("div", { style: { lineHeight: 1.7, fontSize: 15, opacity: background === "dark" ? 0.92 : 1 }, dangerouslySetInnerHTML: { __html: body_html } })
5595
+ return /* @__PURE__ */ jsx66("section", { className: "tps-section", style: { paddingTop: 32, paddingBottom: 32 }, children: /* @__PURE__ */ jsx66("div", { className: "tps-container", style: { maxWidth: 820 }, children: /* @__PURE__ */ jsxs49("div", { style: { background: bg.bg, color: bg.fg, border: bg.border, borderRadius: "var(--tps-radius)", padding: 32, textAlign: align }, children: [
5596
+ eyebrow && /* @__PURE__ */ jsx66("span", { className: "tps-eyebrow", style: { color: background === "dark" ? "#F59E0B" : void 0 }, children: eyebrow }),
5597
+ heading && /* @__PURE__ */ jsx66("h3", { style: { fontSize: 22, fontWeight: 700, margin: "8px 0 14px" }, children: heading }),
5598
+ body_html && /* @__PURE__ */ jsx66("div", { style: { lineHeight: 1.7, fontSize: 15, opacity: background === "dark" ? 0.92 : 1 }, dangerouslySetInnerHTML: { __html: body_html } })
4658
5599
  ] }) }) });
4659
5600
  }
4660
5601
  };
@@ -4675,39 +5616,71 @@ function withReveal(component, animation = "fade-up") {
4675
5616
  return { ...component, render: RenderWrapped };
4676
5617
  }
4677
5618
 
5619
+ // src/withTheme.jsx
5620
+ import { cloneElement as cloneElement2, isValidElement as isValidElement2 } from "react";
5621
+ var THEME_OPTIONS = [
5622
+ { label: "Inherit", value: "" },
5623
+ { label: "Light", value: "light" },
5624
+ { label: "Dark", value: "dark" }
5625
+ ];
5626
+ var themeField = {
5627
+ type: "select",
5628
+ label: "Theme",
5629
+ options: THEME_OPTIONS
5630
+ };
5631
+ function withTheme(component) {
5632
+ const fields = { ...component.fields || {}, theme: themeField };
5633
+ const defaultProps = { theme: "", ...component.defaultProps || {} };
5634
+ const RenderThemed = (props) => {
5635
+ const node = component.render(props);
5636
+ const theme = props?.theme;
5637
+ if (!theme || !isValidElement2(node)) return node;
5638
+ return cloneElement2(node, { "data-tps-theme": theme });
5639
+ };
5640
+ return { ...component, fields, defaultProps, render: RenderThemed };
5641
+ }
5642
+
4678
5643
  // src/BlockThumbnail.jsx
4679
- import { useState as useState5, useEffect as useEffect2 } from "react";
4680
- import { Fragment as Fragment5, jsx as jsx53, jsxs as jsxs49 } from "react/jsx-runtime";
4681
- var BG = "#F8FAFC";
4682
- var BORDER = "#E2E8F0";
4683
- var TEXT = "#0F172A";
4684
- var MUTED = "#94A3B8";
4685
- var DEFAULT_BRAND_COLORS = {
5644
+ import { useState as useState6, useEffect as useEffect2 } from "react";
5645
+ import { Fragment as Fragment5, jsx as jsx67, jsxs as jsxs50 } from "react/jsx-runtime";
5646
+ var DEFAULT_COLORS = {
4686
5647
  PRIMARY: "#0b60d8",
4687
5648
  PRIMARY_SOFT: "#dbeafe",
4688
- ACCENT: "#F59E0B"
5649
+ ACCENT: "#F59E0B",
5650
+ BG: "#F8FAFC",
5651
+ BG_SOFT: "#F1F5F9",
5652
+ CARD: "#ffffff",
5653
+ BORDER: "#E2E8F0",
5654
+ TEXT: "#0F172A",
5655
+ MUTED: "#94A3B8"
4689
5656
  };
4690
- function readBrandColors() {
4691
- if (typeof window === "undefined") return DEFAULT_BRAND_COLORS;
5657
+ function readColors() {
5658
+ if (typeof window === "undefined") return DEFAULT_COLORS;
4692
5659
  const root = document.querySelector("[data-brand]") || document.documentElement;
4693
5660
  const style = getComputedStyle(root);
4694
5661
  const get = (name, fallback) => style.getPropertyValue(name).trim() || fallback;
4695
5662
  return {
4696
- PRIMARY: get("--tps-primary", DEFAULT_BRAND_COLORS.PRIMARY),
4697
- PRIMARY_SOFT: get("--tps-primary-soft", DEFAULT_BRAND_COLORS.PRIMARY_SOFT),
4698
- ACCENT: get("--tps-accent", DEFAULT_BRAND_COLORS.ACCENT)
5663
+ PRIMARY: get("--tps-primary", DEFAULT_COLORS.PRIMARY),
5664
+ PRIMARY_SOFT: get("--tps-primary-soft", DEFAULT_COLORS.PRIMARY_SOFT),
5665
+ ACCENT: get("--tps-accent", DEFAULT_COLORS.ACCENT),
5666
+ BG: get("--tps-bg-section", DEFAULT_COLORS.BG),
5667
+ BG_SOFT: get("--tps-bg-soft", DEFAULT_COLORS.BG_SOFT),
5668
+ CARD: get("--tps-bg", DEFAULT_COLORS.CARD),
5669
+ BORDER: get("--tps-line", DEFAULT_COLORS.BORDER),
5670
+ TEXT: get("--tps-ink", DEFAULT_COLORS.TEXT),
5671
+ MUTED: get("--tps-muted", DEFAULT_COLORS.MUTED)
4699
5672
  };
4700
5673
  }
4701
- function useBrandColors() {
4702
- const [colors, setColors] = useState5(readBrandColors);
5674
+ function useThemeColors() {
5675
+ const [colors, setColors] = useState6(readColors);
4703
5676
  useEffect2(() => {
4704
- setColors(readBrandColors());
5677
+ setColors(readColors());
4705
5678
  if (typeof window === "undefined") return;
4706
5679
  const target = document.querySelector("[data-brand]") || document.documentElement;
4707
- const observer = new MutationObserver(() => setColors(readBrandColors()));
5680
+ const observer = new MutationObserver(() => setColors(readColors()));
4708
5681
  observer.observe(target, {
4709
5682
  attributes: true,
4710
- attributeFilter: ["data-brand", "style", "class"]
5683
+ attributeFilter: ["data-brand", "data-tps-theme", "style", "class"]
4711
5684
  });
4712
5685
  return () => observer.disconnect();
4713
5686
  }, []);
@@ -4715,8 +5688,9 @@ function useBrandColors() {
4715
5688
  }
4716
5689
  var FRAME_W = 120;
4717
5690
  var FRAME_H = 70;
4718
- function Frame({ children, soft = false }) {
4719
- return /* @__PURE__ */ jsxs49(
5691
+ function getPreviews(c) {
5692
+ const { PRIMARY, PRIMARY_SOFT, ACCENT, BG, BG_SOFT, CARD, BORDER, TEXT, MUTED } = c;
5693
+ const Frame = ({ children, soft = false }) => /* @__PURE__ */ jsxs50(
4720
5694
  "svg",
4721
5695
  {
4722
5696
  viewBox: `0 0 ${FRAME_W} ${FRAME_H}`,
@@ -4725,7 +5699,7 @@ function Frame({ children, soft = false }) {
4725
5699
  preserveAspectRatio: "xMidYMid meet",
4726
5700
  style: { display: "block", borderRadius: 4 },
4727
5701
  children: [
4728
- /* @__PURE__ */ jsx53(
5702
+ /* @__PURE__ */ jsx67(
4729
5703
  "rect",
4730
5704
  {
4731
5705
  x: "0.5",
@@ -4733,7 +5707,7 @@ function Frame({ children, soft = false }) {
4733
5707
  width: FRAME_W - 1,
4734
5708
  height: FRAME_H - 1,
4735
5709
  rx: "3",
4736
- fill: soft ? "#F1F5F9" : BG,
5710
+ fill: soft ? BG_SOFT : BG,
4737
5711
  stroke: BORDER,
4738
5712
  strokeWidth: "1"
4739
5713
  }
@@ -4742,28 +5716,25 @@ function Frame({ children, soft = false }) {
4742
5716
  ]
4743
5717
  }
4744
5718
  );
4745
- }
4746
- function getPreviews(c) {
4747
- const { PRIMARY, PRIMARY_SOFT, ACCENT } = c;
4748
5719
  return {
4749
- Hero: /* @__PURE__ */ jsxs49(Frame, { children: [
4750
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "20", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
4751
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "22", width: "92", height: "6", rx: "1.5", fill: TEXT }),
4752
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "32", width: "80", height: "3", rx: "1", fill: MUTED }),
4753
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "38", width: "60", height: "3", rx: "1", fill: MUTED }),
4754
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "50", width: "32", height: "9", rx: "2", fill: PRIMARY }),
4755
- /* @__PURE__ */ jsx53("rect", { x: "50", y: "50", width: "32", height: "9", rx: "2", fill: "none", stroke: TEXT, strokeWidth: "0.8" })
5720
+ Hero: /* @__PURE__ */ jsxs50(Frame, { children: [
5721
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "20", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5722
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "22", width: "92", height: "6", rx: "1.5", fill: TEXT }),
5723
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "32", width: "80", height: "3", rx: "1", fill: MUTED }),
5724
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "38", width: "60", height: "3", rx: "1", fill: MUTED }),
5725
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "50", width: "32", height: "9", rx: "2", fill: PRIMARY }),
5726
+ /* @__PURE__ */ jsx67("rect", { x: "50", y: "50", width: "32", height: "9", rx: "2", fill: "none", stroke: TEXT, strokeWidth: "0.8" })
4756
5727
  ] }),
4757
- SectionHeader: /* @__PURE__ */ jsxs49(Frame, { children: [
4758
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "22", width: "18", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
4759
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "30", width: "78", height: "6", rx: "1.5", fill: TEXT }),
4760
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "42", width: "64", height: "3", rx: "1", fill: MUTED })
5728
+ SectionHeader: /* @__PURE__ */ jsxs50(Frame, { children: [
5729
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "22", width: "18", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5730
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "30", width: "78", height: "6", rx: "1.5", fill: TEXT }),
5731
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "42", width: "64", height: "3", rx: "1", fill: MUTED })
4761
5732
  ] }),
4762
- StatsStrip: /* @__PURE__ */ jsx53(Frame, { soft: true, children: [14, 38, 62, 86].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
4763
- /* @__PURE__ */ jsx53("rect", { x, y: "22", width: "20", height: "6", rx: "1.5", fill: PRIMARY, opacity: "0.85" }),
4764
- /* @__PURE__ */ jsx53("rect", { x: x + 2, y: "32", width: "16", height: "3", rx: "1", fill: MUTED })
5733
+ StatsStrip: /* @__PURE__ */ jsx67(Frame, { soft: true, children: [14, 38, 62, 86].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
5734
+ /* @__PURE__ */ jsx67("rect", { x, y: "22", width: "20", height: "6", rx: "1.5", fill: PRIMARY, opacity: "0.85" }),
5735
+ /* @__PURE__ */ jsx67("rect", { x: x + 2, y: "32", width: "16", height: "3", rx: "1", fill: MUTED })
4765
5736
  ] }, i)) }),
4766
- RichText: /* @__PURE__ */ jsx53(Frame, { children: [14, 21, 28, 35, 42, 49, 56].map((y, i) => /* @__PURE__ */ jsx53(
5737
+ RichText: /* @__PURE__ */ jsx67(Frame, { children: [14, 21, 28, 35, 42, 49, 56].map((y, i) => /* @__PURE__ */ jsx67(
4767
5738
  "rect",
4768
5739
  {
4769
5740
  x: "14",
@@ -4776,8 +5747,8 @@ function getPreviews(c) {
4776
5747
  },
4777
5748
  i
4778
5749
  )) }),
4779
- PillarsRow: /* @__PURE__ */ jsx53(Frame, { soft: true, children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
4780
- /* @__PURE__ */ jsx53(
5750
+ PillarsRow: /* @__PURE__ */ jsx67(Frame, { soft: true, children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
5751
+ /* @__PURE__ */ jsx67(
4781
5752
  "rect",
4782
5753
  {
4783
5754
  x,
@@ -4785,19 +5756,19 @@ function getPreviews(c) {
4785
5756
  width: "32",
4786
5757
  height: "42",
4787
5758
  rx: "2",
4788
- fill: "#fff",
5759
+ fill: CARD,
4789
5760
  stroke: BORDER,
4790
5761
  strokeWidth: "0.8"
4791
5762
  }
4792
5763
  ),
4793
- /* @__PURE__ */ jsx53("circle", { cx: x + 8, cy: "22", r: "3", fill: PRIMARY, opacity: "0.85" }),
4794
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "30", width: "20", height: "3", rx: "1", fill: TEXT }),
4795
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "36", width: "24", height: "2", rx: "1", fill: MUTED }),
4796
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "40", width: "22", height: "2", rx: "1", fill: MUTED }),
4797
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "44", width: "18", height: "2", rx: "1", fill: MUTED })
5764
+ /* @__PURE__ */ jsx67("circle", { cx: x + 8, cy: "22", r: "3", fill: PRIMARY, opacity: "0.85" }),
5765
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "30", width: "20", height: "3", rx: "1", fill: TEXT }),
5766
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "36", width: "24", height: "2", rx: "1", fill: MUTED }),
5767
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "40", width: "22", height: "2", rx: "1", fill: MUTED }),
5768
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "44", width: "18", height: "2", rx: "1", fill: MUTED })
4798
5769
  ] }, i)) }),
4799
- ApproachSteps: /* @__PURE__ */ jsx53(Frame, { children: [10, 38, 66, 94].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
4800
- /* @__PURE__ */ jsx53(
5770
+ ApproachSteps: /* @__PURE__ */ jsx67(Frame, { children: [10, 38, 66, 94].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
5771
+ /* @__PURE__ */ jsx67(
4801
5772
  "text",
4802
5773
  {
4803
5774
  x,
@@ -4809,19 +5780,19 @@ function getPreviews(c) {
4809
5780
  children: `0${i + 1}`
4810
5781
  }
4811
5782
  ),
4812
- /* @__PURE__ */ jsx53("rect", { x, y: "28", width: "20", height: "3.5", rx: "1", fill: TEXT }),
4813
- /* @__PURE__ */ jsx53("rect", { x, y: "36", width: "22", height: "2", rx: "1", fill: MUTED }),
4814
- /* @__PURE__ */ jsx53("rect", { x, y: "40", width: "18", height: "2", rx: "1", fill: MUTED })
5783
+ /* @__PURE__ */ jsx67("rect", { x, y: "28", width: "20", height: "3.5", rx: "1", fill: TEXT }),
5784
+ /* @__PURE__ */ jsx67("rect", { x, y: "36", width: "22", height: "2", rx: "1", fill: MUTED }),
5785
+ /* @__PURE__ */ jsx67("rect", { x, y: "40", width: "18", height: "2", rx: "1", fill: MUTED })
4815
5786
  ] }, i)) }),
4816
- ServicesGrid: /* @__PURE__ */ jsx53(Frame, { children: [
5787
+ ServicesGrid: /* @__PURE__ */ jsx67(Frame, { children: [
4817
5788
  [10, 12],
4818
5789
  [44, 12],
4819
5790
  [78, 12],
4820
5791
  [10, 38],
4821
5792
  [44, 38],
4822
5793
  [78, 38]
4823
- ].map(([x, y], i) => /* @__PURE__ */ jsxs49("g", { children: [
4824
- /* @__PURE__ */ jsx53(
5794
+ ].map(([x, y], i) => /* @__PURE__ */ jsxs50("g", { children: [
5795
+ /* @__PURE__ */ jsx67(
4825
5796
  "rect",
4826
5797
  {
4827
5798
  x,
@@ -4829,27 +5800,27 @@ function getPreviews(c) {
4829
5800
  width: "32",
4830
5801
  height: "20",
4831
5802
  rx: "2",
4832
- fill: "#fff",
5803
+ fill: CARD,
4833
5804
  stroke: BORDER,
4834
5805
  strokeWidth: "0.8"
4835
5806
  }
4836
5807
  ),
4837
- /* @__PURE__ */ jsx53("circle", { cx: x + 5, cy: y + 6, r: "2", fill: PRIMARY, opacity: "0.85" }),
4838
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: y + 11, width: "22", height: "2", rx: "1", fill: TEXT }),
4839
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: y + 15, width: "18", height: "2", rx: "1", fill: MUTED })
5808
+ /* @__PURE__ */ jsx67("circle", { cx: x + 5, cy: y + 6, r: "2", fill: PRIMARY, opacity: "0.85" }),
5809
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: y + 11, width: "22", height: "2", rx: "1", fill: TEXT }),
5810
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: y + 15, width: "18", height: "2", rx: "1", fill: MUTED })
4840
5811
  ] }, i)) }),
4841
- CTABanner: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
4842
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "16", width: "14", height: "2.5", rx: "1", fill: ACCENT }),
4843
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "22", width: "74", height: "6", rx: "1.5", fill: TEXT }),
4844
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "32", width: "92", height: "3", rx: "1", fill: MUTED }),
4845
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "44", width: "40", height: "11", rx: "2", fill: PRIMARY })
5812
+ CTABanner: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
5813
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "16", width: "14", height: "2.5", rx: "1", fill: ACCENT }),
5814
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "22", width: "74", height: "6", rx: "1.5", fill: TEXT }),
5815
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "32", width: "92", height: "3", rx: "1", fill: MUTED }),
5816
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "44", width: "40", height: "11", rx: "2", fill: PRIMARY })
4846
5817
  ] }),
4847
- PrinciplesList: /* @__PURE__ */ jsxs49(Frame, { children: [
4848
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "14", width: "14", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.7" }),
4849
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "20", width: "40", height: "5", rx: "1.5", fill: TEXT }),
4850
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "30", width: "36", height: "2", rx: "1", fill: MUTED }),
4851
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "34", width: "34", height: "2", rx: "1", fill: MUTED }),
4852
- /* @__PURE__ */ jsx53(
5818
+ PrinciplesList: /* @__PURE__ */ jsxs50(Frame, { children: [
5819
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "14", width: "14", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5820
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "20", width: "40", height: "5", rx: "1.5", fill: TEXT }),
5821
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "30", width: "36", height: "2", rx: "1", fill: MUTED }),
5822
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "34", width: "34", height: "2", rx: "1", fill: MUTED }),
5823
+ /* @__PURE__ */ jsx67(
4853
5824
  "rect",
4854
5825
  {
4855
5826
  x: "60",
@@ -4861,26 +5832,26 @@ function getPreviews(c) {
4861
5832
  opacity: "0.5"
4862
5833
  }
4863
5834
  ),
4864
- [20, 30, 40, 50].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
4865
- /* @__PURE__ */ jsx53("circle", { cx: "66", cy: y + 2, r: "2", fill: PRIMARY }),
4866
- /* @__PURE__ */ jsx53("rect", { x: "71", y: y + 1, width: "32", height: "2", rx: "1", fill: TEXT, opacity: "0.8" })
5835
+ [20, 30, 40, 50].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
5836
+ /* @__PURE__ */ jsx67("circle", { cx: "66", cy: y + 2, r: "2", fill: PRIMARY }),
5837
+ /* @__PURE__ */ jsx67("rect", { x: "71", y: y + 1, width: "32", height: "2", rx: "1", fill: TEXT, opacity: "0.8" })
4867
5838
  ] }, i))
4868
5839
  ] }),
4869
- TwoColumn: /* @__PURE__ */ jsxs49(Frame, { children: [
4870
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "14", width: "48", height: "3.5", rx: "1", fill: TEXT }),
4871
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "22", width: "42", height: "2", rx: "1", fill: MUTED }),
4872
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "26", width: "46", height: "2", rx: "1", fill: MUTED }),
4873
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "30", width: "40", height: "2", rx: "1", fill: MUTED }),
4874
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "14", width: "48", height: "3.5", rx: "1", fill: TEXT }),
4875
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "22", width: "42", height: "2", rx: "1", fill: MUTED }),
4876
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "26", width: "46", height: "2", rx: "1", fill: MUTED }),
4877
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "30", width: "40", height: "2", rx: "1", fill: MUTED })
5840
+ TwoColumn: /* @__PURE__ */ jsxs50(Frame, { children: [
5841
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "14", width: "48", height: "3.5", rx: "1", fill: TEXT }),
5842
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "22", width: "42", height: "2", rx: "1", fill: MUTED }),
5843
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "26", width: "46", height: "2", rx: "1", fill: MUTED }),
5844
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "30", width: "40", height: "2", rx: "1", fill: MUTED }),
5845
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "14", width: "48", height: "3.5", rx: "1", fill: TEXT }),
5846
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "22", width: "42", height: "2", rx: "1", fill: MUTED }),
5847
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "26", width: "46", height: "2", rx: "1", fill: MUTED }),
5848
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "30", width: "40", height: "2", rx: "1", fill: MUTED })
4878
5849
  ] }),
4879
- ContactSection: /* @__PURE__ */ jsxs49(Frame, { children: [
4880
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "10", width: "20", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
4881
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "16", width: "80", height: "5", rx: "1.5", fill: TEXT }),
4882
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "28", width: "34", height: "32", rx: "2", fill: PRIMARY_SOFT, opacity: "0.5" }),
4883
- /* @__PURE__ */ jsx53(
5850
+ ContactSection: /* @__PURE__ */ jsxs50(Frame, { children: [
5851
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "10", width: "20", height: "3", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5852
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "16", width: "80", height: "5", rx: "1.5", fill: TEXT }),
5853
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "28", width: "34", height: "32", rx: "2", fill: PRIMARY_SOFT, opacity: "0.5" }),
5854
+ /* @__PURE__ */ jsx67(
4884
5855
  "rect",
4885
5856
  {
4886
5857
  x: "50",
@@ -4888,18 +5859,18 @@ function getPreviews(c) {
4888
5859
  width: "60",
4889
5860
  height: "32",
4890
5861
  rx: "2",
4891
- fill: "#fff",
5862
+ fill: CARD,
4892
5863
  stroke: BORDER,
4893
5864
  strokeWidth: "0.8"
4894
5865
  }
4895
5866
  ),
4896
- /* @__PURE__ */ jsx53("rect", { x: "54", y: "32", width: "24", height: "3", rx: "1", fill: MUTED }),
4897
- /* @__PURE__ */ jsx53("rect", { x: "54", y: "38", width: "52", height: "3", rx: "1", fill: "#fff", stroke: BORDER, strokeWidth: "0.5" }),
4898
- /* @__PURE__ */ jsx53("rect", { x: "54", y: "44", width: "52", height: "3", rx: "1", fill: "#fff", stroke: BORDER, strokeWidth: "0.5" }),
4899
- /* @__PURE__ */ jsx53("rect", { x: "54", y: "50", width: "20", height: "6", rx: "1.5", fill: PRIMARY })
5867
+ /* @__PURE__ */ jsx67("rect", { x: "54", y: "32", width: "24", height: "3", rx: "1", fill: MUTED }),
5868
+ /* @__PURE__ */ jsx67("rect", { x: "54", y: "38", width: "52", height: "3", rx: "1", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
5869
+ /* @__PURE__ */ jsx67("rect", { x: "54", y: "44", width: "52", height: "3", rx: "1", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
5870
+ /* @__PURE__ */ jsx67("rect", { x: "54", y: "50", width: "20", height: "6", rx: "1.5", fill: PRIMARY })
4900
5871
  ] }),
4901
- Spacer: /* @__PURE__ */ jsxs49(Frame, { children: [
4902
- /* @__PURE__ */ jsx53(
5872
+ Spacer: /* @__PURE__ */ jsxs50(Frame, { children: [
5873
+ /* @__PURE__ */ jsx67(
4903
5874
  "line",
4904
5875
  {
4905
5876
  x1: "14",
@@ -4911,7 +5882,7 @@ function getPreviews(c) {
4911
5882
  strokeDasharray: "3 2"
4912
5883
  }
4913
5884
  ),
4914
- /* @__PURE__ */ jsx53(
5885
+ /* @__PURE__ */ jsx67(
4915
5886
  "text",
4916
5887
  {
4917
5888
  x: "60",
@@ -4924,8 +5895,8 @@ function getPreviews(c) {
4924
5895
  }
4925
5896
  )
4926
5897
  ] }),
4927
- RawHtml: /* @__PURE__ */ jsxs49(Frame, { children: [
4928
- /* @__PURE__ */ jsx53(
5898
+ RawHtml: /* @__PURE__ */ jsxs50(Frame, { children: [
5899
+ /* @__PURE__ */ jsx67(
4929
5900
  "text",
4930
5901
  {
4931
5902
  x: "14",
@@ -4937,31 +5908,31 @@ function getPreviews(c) {
4937
5908
  children: "</>"
4938
5909
  }
4939
5910
  ),
4940
- /* @__PURE__ */ jsx53("rect", { x: "56", y: "22", width: "50", height: "2", rx: "1", fill: MUTED }),
4941
- /* @__PURE__ */ jsx53("rect", { x: "56", y: "28", width: "42", height: "2", rx: "1", fill: MUTED }),
4942
- /* @__PURE__ */ jsx53("rect", { x: "56", y: "34", width: "48", height: "2", rx: "1", fill: MUTED }),
4943
- /* @__PURE__ */ jsx53("rect", { x: "56", y: "40", width: "40", height: "2", rx: "1", fill: MUTED }),
4944
- /* @__PURE__ */ jsx53("rect", { x: "56", y: "46", width: "44", height: "2", rx: "1", fill: MUTED })
5911
+ /* @__PURE__ */ jsx67("rect", { x: "56", y: "22", width: "50", height: "2", rx: "1", fill: MUTED }),
5912
+ /* @__PURE__ */ jsx67("rect", { x: "56", y: "28", width: "42", height: "2", rx: "1", fill: MUTED }),
5913
+ /* @__PURE__ */ jsx67("rect", { x: "56", y: "34", width: "48", height: "2", rx: "1", fill: MUTED }),
5914
+ /* @__PURE__ */ jsx67("rect", { x: "56", y: "40", width: "40", height: "2", rx: "1", fill: MUTED }),
5915
+ /* @__PURE__ */ jsx67("rect", { x: "56", y: "46", width: "44", height: "2", rx: "1", fill: MUTED })
4945
5916
  ] }),
4946
- ImageText: /* @__PURE__ */ jsxs49(Frame, { children: [
4947
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "14", width: "44", height: "42", rx: "2", fill: PRIMARY_SOFT }),
4948
- /* @__PURE__ */ jsx53("line", { x1: "20", y1: "22", x2: "44", y2: "48", stroke: PRIMARY, strokeWidth: "0.6", opacity: "0.6" }),
4949
- /* @__PURE__ */ jsx53("line", { x1: "44", y1: "22", x2: "20", y2: "48", stroke: PRIMARY, strokeWidth: "0.6", opacity: "0.6" }),
4950
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "18", width: "14", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.7" }),
4951
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "24", width: "44", height: "5", rx: "1.5", fill: TEXT }),
4952
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "34", width: "46", height: "2", rx: "1", fill: MUTED }),
4953
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "38", width: "40", height: "2", rx: "1", fill: MUTED }),
4954
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "42", width: "42", height: "2", rx: "1", fill: MUTED }),
4955
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "50", width: "28", height: "6", rx: "1.5", fill: PRIMARY })
5917
+ ImageText: /* @__PURE__ */ jsxs50(Frame, { children: [
5918
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "14", width: "44", height: "42", rx: "2", fill: PRIMARY_SOFT }),
5919
+ /* @__PURE__ */ jsx67("line", { x1: "20", y1: "22", x2: "44", y2: "48", stroke: PRIMARY, strokeWidth: "0.6", opacity: "0.6" }),
5920
+ /* @__PURE__ */ jsx67("line", { x1: "44", y1: "22", x2: "20", y2: "48", stroke: PRIMARY, strokeWidth: "0.6", opacity: "0.6" }),
5921
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "18", width: "14", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5922
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "24", width: "44", height: "5", rx: "1.5", fill: TEXT }),
5923
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "34", width: "46", height: "2", rx: "1", fill: MUTED }),
5924
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "38", width: "40", height: "2", rx: "1", fill: MUTED }),
5925
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "42", width: "42", height: "2", rx: "1", fill: MUTED }),
5926
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "50", width: "28", height: "6", rx: "1.5", fill: PRIMARY })
4956
5927
  ] }),
4957
- VideoEmbed: /* @__PURE__ */ jsxs49(Frame, { children: [
4958
- /* @__PURE__ */ jsx53("rect", { x: "20", y: "16", width: "80", height: "38", rx: "2", fill: "#0F172A" }),
4959
- /* @__PURE__ */ jsx53("polygon", { points: "55,26 55,44 70,35", fill: "#fff", opacity: "0.95" }),
4960
- /* @__PURE__ */ jsx53("rect", { x: "40", y: "60", width: "40", height: "2", rx: "1", fill: MUTED })
5928
+ VideoEmbed: /* @__PURE__ */ jsxs50(Frame, { children: [
5929
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: "16", width: "80", height: "38", rx: "2", fill: "#0F172A" }),
5930
+ /* @__PURE__ */ jsx67("polygon", { points: "55,26 55,44 70,35", fill: "#ffffff", opacity: "0.95" }),
5931
+ /* @__PURE__ */ jsx67("rect", { x: "40", y: "60", width: "40", height: "2", rx: "1", fill: MUTED })
4961
5932
  ] }),
4962
- LogoStrip: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
4963
- /* @__PURE__ */ jsx53("rect", { x: "48", y: "14", width: "24", height: "2", rx: "1", fill: MUTED }),
4964
- [14, 36, 58, 80, 102].map((cx, i) => /* @__PURE__ */ jsx53(
5933
+ LogoStrip: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
5934
+ /* @__PURE__ */ jsx67("rect", { x: "48", y: "14", width: "24", height: "2", rx: "1", fill: MUTED }),
5935
+ [14, 36, 58, 80, 102].map((cx, i) => /* @__PURE__ */ jsx67(
4965
5936
  "rect",
4966
5937
  {
4967
5938
  x: cx - 8,
@@ -4969,15 +5940,15 @@ function getPreviews(c) {
4969
5940
  width: "16",
4970
5941
  height: "10",
4971
5942
  rx: "2",
4972
- fill: "#fff",
5943
+ fill: CARD,
4973
5944
  stroke: BORDER,
4974
5945
  strokeWidth: "0.5"
4975
5946
  },
4976
5947
  i
4977
5948
  ))
4978
5949
  ] }),
4979
- TestimonialQuote: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
4980
- /* @__PURE__ */ jsx53(
5950
+ TestimonialQuote: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
5951
+ /* @__PURE__ */ jsx67(
4981
5952
  "text",
4982
5953
  {
4983
5954
  x: "20",
@@ -4989,15 +5960,15 @@ function getPreviews(c) {
4989
5960
  children: '"'
4990
5961
  }
4991
5962
  ),
4992
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "28", width: "92", height: "3", rx: "1", fill: TEXT }),
4993
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "34", width: "86", height: "3", rx: "1", fill: TEXT }),
4994
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "40", width: "60", height: "3", rx: "1", fill: TEXT }),
4995
- /* @__PURE__ */ jsx53("circle", { cx: "42", cy: "56", r: "4", fill: PRIMARY }),
4996
- /* @__PURE__ */ jsx53("rect", { x: "50", y: "52", width: "22", height: "2.5", rx: "1", fill: TEXT }),
4997
- /* @__PURE__ */ jsx53("rect", { x: "50", y: "56", width: "34", height: "2", rx: "1", fill: MUTED })
5963
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "28", width: "92", height: "3", rx: "1", fill: TEXT }),
5964
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "34", width: "86", height: "3", rx: "1", fill: TEXT }),
5965
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "40", width: "60", height: "3", rx: "1", fill: TEXT }),
5966
+ /* @__PURE__ */ jsx67("circle", { cx: "42", cy: "56", r: "4", fill: PRIMARY }),
5967
+ /* @__PURE__ */ jsx67("rect", { x: "50", y: "52", width: "22", height: "2.5", rx: "1", fill: TEXT }),
5968
+ /* @__PURE__ */ jsx67("rect", { x: "50", y: "56", width: "34", height: "2", rx: "1", fill: MUTED })
4998
5969
  ] }),
4999
- TestimonialGrid: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5000
- /* @__PURE__ */ jsx53(
5970
+ TestimonialGrid: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
5971
+ /* @__PURE__ */ jsx67(
5001
5972
  "rect",
5002
5973
  {
5003
5974
  x,
@@ -5005,21 +5976,21 @@ function getPreviews(c) {
5005
5976
  width: "32",
5006
5977
  height: "42",
5007
5978
  rx: "2",
5008
- fill: "#fff",
5979
+ fill: CARD,
5009
5980
  stroke: BORDER,
5010
5981
  strokeWidth: "0.8"
5011
5982
  }
5012
5983
  ),
5013
- /* @__PURE__ */ jsx53("text", { x: x + 4, y: "22", fontSize: "6", fontFamily: "Georgia", fill: PRIMARY, opacity: "0.6", children: '"' }),
5014
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "24", width: "22", height: "2", rx: "1", fill: TEXT }),
5015
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "28", width: "24", height: "2", rx: "1", fill: TEXT }),
5016
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "32", width: "20", height: "2", rx: "1", fill: TEXT }),
5017
- /* @__PURE__ */ jsx53("circle", { cx: x + 7, cy: "46", r: "3", fill: PRIMARY }),
5018
- /* @__PURE__ */ jsx53("rect", { x: x + 12, y: "44", width: "14", height: "2", rx: "1", fill: TEXT }),
5019
- /* @__PURE__ */ jsx53("rect", { x: x + 12, y: "48", width: "18", height: "1.5", rx: "0.5", fill: MUTED })
5984
+ /* @__PURE__ */ jsx67("text", { x: x + 4, y: "22", fontSize: "6", fontFamily: "Georgia", fill: PRIMARY, opacity: "0.6", children: '"' }),
5985
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "24", width: "22", height: "2", rx: "1", fill: TEXT }),
5986
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "28", width: "24", height: "2", rx: "1", fill: TEXT }),
5987
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "32", width: "20", height: "2", rx: "1", fill: TEXT }),
5988
+ /* @__PURE__ */ jsx67("circle", { cx: x + 7, cy: "46", r: "3", fill: PRIMARY }),
5989
+ /* @__PURE__ */ jsx67("rect", { x: x + 12, y: "44", width: "14", height: "2", rx: "1", fill: TEXT }),
5990
+ /* @__PURE__ */ jsx67("rect", { x: x + 12, y: "48", width: "18", height: "1.5", rx: "0.5", fill: MUTED })
5020
5991
  ] }, i)) }),
5021
- FAQ: /* @__PURE__ */ jsx53(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5022
- /* @__PURE__ */ jsx53(
5992
+ FAQ: /* @__PURE__ */ jsx67(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
5993
+ /* @__PURE__ */ jsx67(
5023
5994
  "rect",
5024
5995
  {
5025
5996
  x: "14",
@@ -5027,14 +5998,14 @@ function getPreviews(c) {
5027
5998
  width: "92",
5028
5999
  height: "10",
5029
6000
  rx: "2",
5030
- fill: i === 0 ? PRIMARY_SOFT : "#fff",
6001
+ fill: i === 0 ? PRIMARY_SOFT : CARD,
5031
6002
  stroke: BORDER,
5032
6003
  strokeWidth: "0.6",
5033
6004
  opacity: i === 0 ? 0.7 : 1
5034
6005
  }
5035
6006
  ),
5036
- /* @__PURE__ */ jsx53("rect", { x: "20", y: y + 4, width: "50", height: "2", rx: "1", fill: TEXT }),
5037
- /* @__PURE__ */ jsx53(
6007
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: y + 4, width: "50", height: "2", rx: "1", fill: TEXT }),
6008
+ /* @__PURE__ */ jsx67(
5038
6009
  "text",
5039
6010
  {
5040
6011
  x: "98",
@@ -5047,21 +6018,21 @@ function getPreviews(c) {
5047
6018
  }
5048
6019
  )
5049
6020
  ] }, i)) }),
5050
- Timeline: /* @__PURE__ */ jsxs49(Frame, { children: [
5051
- /* @__PURE__ */ jsx53("line", { x1: "22", y1: "14", x2: "22", y2: "58", stroke: BORDER, strokeWidth: "1" }),
5052
- [16, 32, 48].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5053
- /* @__PURE__ */ jsx53("circle", { cx: "22", cy: y, r: "3", fill: PRIMARY }),
5054
- /* @__PURE__ */ jsx53("rect", { x: "32", y: y - 5, width: "14", height: "2", rx: "1", fill: ACCENT }),
5055
- /* @__PURE__ */ jsx53("rect", { x: "32", y: y - 1, width: "40", height: "3", rx: "1", fill: TEXT }),
5056
- /* @__PURE__ */ jsx53("rect", { x: "32", y: y + 4, width: "60", height: "2", rx: "1", fill: MUTED })
6021
+ Timeline: /* @__PURE__ */ jsxs50(Frame, { children: [
6022
+ /* @__PURE__ */ jsx67("line", { x1: "22", y1: "14", x2: "22", y2: "58", stroke: BORDER, strokeWidth: "1" }),
6023
+ [16, 32, 48].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6024
+ /* @__PURE__ */ jsx67("circle", { cx: "22", cy: y, r: "3", fill: PRIMARY }),
6025
+ /* @__PURE__ */ jsx67("rect", { x: "32", y: y - 5, width: "14", height: "2", rx: "1", fill: ACCENT }),
6026
+ /* @__PURE__ */ jsx67("rect", { x: "32", y: y - 1, width: "40", height: "3", rx: "1", fill: TEXT }),
6027
+ /* @__PURE__ */ jsx67("rect", { x: "32", y: y + 4, width: "60", height: "2", rx: "1", fill: MUTED })
5057
6028
  ] }, i))
5058
6029
  ] }),
5059
- NewsletterSignup: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
5060
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "22", height: "2.5", rx: "1", fill: ACCENT }),
5061
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "20", width: "76", height: "5", rx: "1.5", fill: TEXT }),
5062
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "30", width: "92", height: "2", rx: "1", fill: MUTED }),
5063
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "34", width: "80", height: "2", rx: "1", fill: MUTED }),
5064
- /* @__PURE__ */ jsx53(
6030
+ NewsletterSignup: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
6031
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "22", height: "2.5", rx: "1", fill: ACCENT }),
6032
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "20", width: "76", height: "5", rx: "1.5", fill: TEXT }),
6033
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "30", width: "92", height: "2", rx: "1", fill: MUTED }),
6034
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "34", width: "80", height: "2", rx: "1", fill: MUTED }),
6035
+ /* @__PURE__ */ jsx67(
5065
6036
  "rect",
5066
6037
  {
5067
6038
  x: "14",
@@ -5069,15 +6040,15 @@ function getPreviews(c) {
5069
6040
  width: "64",
5070
6041
  height: "9",
5071
6042
  rx: "2",
5072
- fill: "#fff",
6043
+ fill: CARD,
5073
6044
  stroke: BORDER,
5074
6045
  strokeWidth: "0.6"
5075
6046
  }
5076
6047
  ),
5077
- /* @__PURE__ */ jsx53("rect", { x: "82", y: "44", width: "24", height: "9", rx: "2", fill: PRIMARY })
6048
+ /* @__PURE__ */ jsx67("rect", { x: "82", y: "44", width: "24", height: "9", rx: "2", fill: PRIMARY })
5078
6049
  ] }),
5079
- TeamGrid: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5080
- /* @__PURE__ */ jsx53(
6050
+ TeamGrid: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6051
+ /* @__PURE__ */ jsx67(
5081
6052
  "rect",
5082
6053
  {
5083
6054
  x,
@@ -5085,25 +6056,25 @@ function getPreviews(c) {
5085
6056
  width: "32",
5086
6057
  height: "48",
5087
6058
  rx: "2",
5088
- fill: "#fff",
6059
+ fill: CARD,
5089
6060
  stroke: BORDER,
5090
6061
  strokeWidth: "0.6"
5091
6062
  }
5092
6063
  ),
5093
- /* @__PURE__ */ jsx53("rect", { x, y: "12", width: "32", height: "22", rx: "2", fill: PRIMARY_SOFT }),
5094
- /* @__PURE__ */ jsx53("circle", { cx: x + 16, cy: "22", r: "6", fill: PRIMARY, opacity: "0.7" }),
5095
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "38", width: "20", height: "2.5", rx: "1", fill: TEXT }),
5096
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "44", width: "14", height: "2", rx: "1", fill: ACCENT }),
5097
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "50", width: "22", height: "1.5", rx: "0.5", fill: MUTED }),
5098
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "54", width: "18", height: "1.5", rx: "0.5", fill: MUTED })
6064
+ /* @__PURE__ */ jsx67("rect", { x, y: "12", width: "32", height: "22", rx: "2", fill: PRIMARY_SOFT }),
6065
+ /* @__PURE__ */ jsx67("circle", { cx: x + 16, cy: "22", r: "6", fill: PRIMARY, opacity: "0.7" }),
6066
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "38", width: "20", height: "2.5", rx: "1", fill: TEXT }),
6067
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "44", width: "14", height: "2", rx: "1", fill: ACCENT }),
6068
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "50", width: "22", height: "1.5", rx: "0.5", fill: MUTED }),
6069
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "54", width: "18", height: "1.5", rx: "0.5", fill: MUTED })
5099
6070
  ] }, i)) }),
5100
- Banner: /* @__PURE__ */ jsxs49(Frame, { children: [
5101
- /* @__PURE__ */ jsx53("rect", { x: "0", y: "26", width: FRAME_W, height: "18", fill: PRIMARY_SOFT }),
5102
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "32", width: "14", height: "6", rx: "1.5", fill: PRIMARY }),
5103
- /* @__PURE__ */ jsx53("rect", { x: "32", y: "33", width: "32", height: "3", rx: "1", fill: TEXT }),
5104
- /* @__PURE__ */ jsx53("rect", { x: "32", y: "38", width: "22", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5105
- /* @__PURE__ */ jsx53("rect", { x: "80", y: "33", width: "22", height: "3", rx: "1", fill: PRIMARY }),
5106
- /* @__PURE__ */ jsx53(
6071
+ Banner: /* @__PURE__ */ jsxs50(Frame, { children: [
6072
+ /* @__PURE__ */ jsx67("rect", { x: "0", y: "26", width: FRAME_W, height: "18", fill: PRIMARY_SOFT }),
6073
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "32", width: "14", height: "6", rx: "1.5", fill: PRIMARY }),
6074
+ /* @__PURE__ */ jsx67("rect", { x: "32", y: "33", width: "32", height: "3", rx: "1", fill: TEXT }),
6075
+ /* @__PURE__ */ jsx67("rect", { x: "32", y: "38", width: "22", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
6076
+ /* @__PURE__ */ jsx67("rect", { x: "80", y: "33", width: "22", height: "3", rx: "1", fill: PRIMARY }),
6077
+ /* @__PURE__ */ jsx67(
5107
6078
  "text",
5108
6079
  {
5109
6080
  x: "100",
@@ -5116,19 +6087,19 @@ function getPreviews(c) {
5116
6087
  }
5117
6088
  )
5118
6089
  ] }),
5119
- ArticleFeatured: /* @__PURE__ */ jsxs49(Frame, { children: [
5120
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "14", width: "44", height: "42", rx: "2", fill: PRIMARY_SOFT }),
5121
- /* @__PURE__ */ jsx53("line", { x1: "68", y1: "22", x2: "100", y2: "48", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
5122
- /* @__PURE__ */ jsx53("line", { x1: "100", y1: "22", x2: "68", y2: "48", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
5123
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "20", height: "4", rx: "1", fill: PRIMARY }),
5124
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "22", width: "40", height: "5", rx: "1.5", fill: TEXT }),
5125
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "30", width: "44", height: "2", rx: "1", fill: MUTED }),
5126
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "34", width: "38", height: "2", rx: "1", fill: MUTED }),
5127
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "42", width: "32", height: "2", rx: "1", fill: MUTED, opacity: "0.7" }),
5128
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "50", width: "22", height: "6", rx: "1.5", fill: PRIMARY })
6090
+ ArticleFeatured: /* @__PURE__ */ jsxs50(Frame, { children: [
6091
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "14", width: "44", height: "42", rx: "2", fill: PRIMARY_SOFT }),
6092
+ /* @__PURE__ */ jsx67("line", { x1: "68", y1: "22", x2: "100", y2: "48", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
6093
+ /* @__PURE__ */ jsx67("line", { x1: "100", y1: "22", x2: "68", y2: "48", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
6094
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "20", height: "4", rx: "1", fill: PRIMARY }),
6095
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "22", width: "40", height: "5", rx: "1.5", fill: TEXT }),
6096
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "30", width: "44", height: "2", rx: "1", fill: MUTED }),
6097
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "34", width: "38", height: "2", rx: "1", fill: MUTED }),
6098
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "42", width: "32", height: "2", rx: "1", fill: MUTED, opacity: "0.7" }),
6099
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "50", width: "22", height: "6", rx: "1.5", fill: PRIMARY })
5129
6100
  ] }),
5130
- ArticleGrid: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5131
- /* @__PURE__ */ jsx53(
6101
+ ArticleGrid: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6102
+ /* @__PURE__ */ jsx67(
5132
6103
  "rect",
5133
6104
  {
5134
6105
  x,
@@ -5136,20 +6107,20 @@ function getPreviews(c) {
5136
6107
  width: "32",
5137
6108
  height: "48",
5138
6109
  rx: "2",
5139
- fill: "#fff",
6110
+ fill: CARD,
5140
6111
  stroke: BORDER,
5141
6112
  strokeWidth: "0.6"
5142
6113
  }
5143
6114
  ),
5144
- /* @__PURE__ */ jsx53("rect", { x, y: "12", width: "32", height: "20", rx: "2", fill: PRIMARY_SOFT }),
5145
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "36", width: "10", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5146
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "40", width: "22", height: "3", rx: "1", fill: TEXT }),
5147
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "46", width: "20", height: "1.5", rx: "0.5", fill: MUTED }),
5148
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "49", width: "18", height: "1.5", rx: "0.5", fill: MUTED }),
5149
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "55", width: "14", height: "1.5", rx: "0.5", fill: MUTED, opacity: "0.7" })
6115
+ /* @__PURE__ */ jsx67("rect", { x, y: "12", width: "32", height: "20", rx: "2", fill: PRIMARY_SOFT }),
6116
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "36", width: "10", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
6117
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "40", width: "22", height: "3", rx: "1", fill: TEXT }),
6118
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "46", width: "20", height: "1.5", rx: "0.5", fill: MUTED }),
6119
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "49", width: "18", height: "1.5", rx: "0.5", fill: MUTED }),
6120
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "55", width: "14", height: "1.5", rx: "0.5", fill: MUTED, opacity: "0.7" })
5150
6121
  ] }, i)) }),
5151
- ArticleList: /* @__PURE__ */ jsx53(Frame, { children: [14, 28, 42, 56].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5152
- /* @__PURE__ */ jsx53(
6122
+ ArticleList: /* @__PURE__ */ jsx67(Frame, { children: [14, 28, 42, 56].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6123
+ /* @__PURE__ */ jsx67(
5153
6124
  "line",
5154
6125
  {
5155
6126
  x1: "14",
@@ -5160,18 +6131,18 @@ function getPreviews(c) {
5160
6131
  strokeWidth: "0.5"
5161
6132
  }
5162
6133
  ),
5163
- /* @__PURE__ */ jsx53("rect", { x: "14", y, width: "14", height: "2", rx: "1", fill: MUTED }),
5164
- /* @__PURE__ */ jsx53("rect", { x: "34", y: y - 1, width: "10", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
5165
- /* @__PURE__ */ jsx53("rect", { x: "48", y: y - 1, width: "50", height: "2.5", rx: "1", fill: TEXT }),
5166
- /* @__PURE__ */ jsx53("text", { x: "106", y: y + 1, fontSize: "6", fill: MUTED, textAnchor: "end", fontFamily: "system-ui", children: "\u2192" })
6134
+ /* @__PURE__ */ jsx67("rect", { x: "14", y, width: "14", height: "2", rx: "1", fill: MUTED }),
6135
+ /* @__PURE__ */ jsx67("rect", { x: "34", y: y - 1, width: "10", height: "2", rx: "1", fill: PRIMARY, opacity: "0.7" }),
6136
+ /* @__PURE__ */ jsx67("rect", { x: "48", y: y - 1, width: "50", height: "2.5", rx: "1", fill: TEXT }),
6137
+ /* @__PURE__ */ jsx67("text", { x: "106", y: y + 1, fontSize: "6", fill: MUTED, textAnchor: "end", fontFamily: "system-ui", children: "\u2192" })
5167
6138
  ] }, i)) }),
5168
- IconCards: /* @__PURE__ */ jsx53(Frame, { children: [
6139
+ IconCards: /* @__PURE__ */ jsx67(Frame, { children: [
5169
6140
  [10, 12],
5170
6141
  [38, 12],
5171
6142
  [66, 12],
5172
6143
  [94, 12]
5173
- ].map(([x, y], i) => /* @__PURE__ */ jsxs49("g", { children: [
5174
- /* @__PURE__ */ jsx53(
6144
+ ].map(([x, y], i) => /* @__PURE__ */ jsxs50("g", { children: [
6145
+ /* @__PURE__ */ jsx67(
5175
6146
  "rect",
5176
6147
  {
5177
6148
  x: x - 4,
@@ -5179,24 +6150,24 @@ function getPreviews(c) {
5179
6150
  width: "24",
5180
6151
  height: "46",
5181
6152
  rx: "2",
5182
- fill: "#fff",
6153
+ fill: CARD,
5183
6154
  stroke: BORDER,
5184
6155
  strokeWidth: "0.6"
5185
6156
  }
5186
6157
  ),
5187
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 4, width: "10", height: "10", rx: "2", fill: PRIMARY_SOFT }),
5188
- /* @__PURE__ */ jsx53("circle", { cx: x + 4, cy: y + 9, r: "2.5", fill: PRIMARY }),
5189
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 18, width: "14", height: "2", rx: "1", fill: TEXT }),
5190
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 24, width: "16", height: "1.5", rx: "0.5", fill: MUTED }),
5191
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 28, width: "14", height: "1.5", rx: "0.5", fill: MUTED })
6158
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 4, width: "10", height: "10", rx: "2", fill: PRIMARY_SOFT }),
6159
+ /* @__PURE__ */ jsx67("circle", { cx: x + 4, cy: y + 9, r: "2.5", fill: PRIMARY }),
6160
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 18, width: "14", height: "2", rx: "1", fill: TEXT }),
6161
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 24, width: "16", height: "1.5", rx: "0.5", fill: MUTED }),
6162
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 28, width: "14", height: "1.5", rx: "0.5", fill: MUTED })
5192
6163
  ] }, i)) }),
5193
- MetricCards: /* @__PURE__ */ jsx53(Frame, { children: [
6164
+ MetricCards: /* @__PURE__ */ jsx67(Frame, { children: [
5194
6165
  [10, 12],
5195
6166
  [38, 12],
5196
6167
  [66, 12],
5197
6168
  [94, 12]
5198
- ].map(([x, y], i) => /* @__PURE__ */ jsxs49("g", { children: [
5199
- /* @__PURE__ */ jsx53(
6169
+ ].map(([x, y], i) => /* @__PURE__ */ jsxs50("g", { children: [
6170
+ /* @__PURE__ */ jsx67(
5200
6171
  "rect",
5201
6172
  {
5202
6173
  x: x - 4,
@@ -5204,12 +6175,12 @@ function getPreviews(c) {
5204
6175
  width: "24",
5205
6176
  height: "46",
5206
6177
  rx: "2",
5207
- fill: "#fff",
6178
+ fill: CARD,
5208
6179
  stroke: BORDER,
5209
6180
  strokeWidth: "0.6"
5210
6181
  }
5211
6182
  ),
5212
- /* @__PURE__ */ jsx53(
6183
+ /* @__PURE__ */ jsx67(
5213
6184
  "text",
5214
6185
  {
5215
6186
  x: x + 8,
@@ -5222,9 +6193,9 @@ function getPreviews(c) {
5222
6193
  children: ["80%", "8wk", "4.8", "0"][i]
5223
6194
  }
5224
6195
  ),
5225
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 25, width: "20", height: "1.5", rx: "0.5", fill: MUTED }),
5226
- /* @__PURE__ */ jsx53("rect", { x: x - 1, y: y + 29, width: "16", height: "1.5", rx: "0.5", fill: MUTED }),
5227
- /* @__PURE__ */ jsx53(
6196
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 25, width: "20", height: "1.5", rx: "0.5", fill: MUTED }),
6197
+ /* @__PURE__ */ jsx67("rect", { x: x - 1, y: y + 29, width: "16", height: "1.5", rx: "0.5", fill: MUTED }),
6198
+ /* @__PURE__ */ jsx67(
5228
6199
  "rect",
5229
6200
  {
5230
6201
  x,
@@ -5237,175 +6208,308 @@ function getPreviews(c) {
5237
6208
  }
5238
6209
  )
5239
6210
  ] }, i)) }),
5240
- ImageOverlayCards: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5241
- /* @__PURE__ */ jsx53("defs", { children: /* @__PURE__ */ jsxs49("linearGradient", { id: `oc-grad-${i}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
5242
- /* @__PURE__ */ jsx53("stop", { offset: "0%", stopColor: PRIMARY, stopOpacity: "0.3" }),
5243
- /* @__PURE__ */ jsx53("stop", { offset: "100%", stopColor: "#0F172A" })
6211
+ ImageOverlayCards: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6212
+ /* @__PURE__ */ jsx67("defs", { children: /* @__PURE__ */ jsxs50("linearGradient", { id: `oc-grad-${i}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
6213
+ /* @__PURE__ */ jsx67("stop", { offset: "0%", stopColor: PRIMARY, stopOpacity: "0.3" }),
6214
+ /* @__PURE__ */ jsx67("stop", { offset: "100%", stopColor: "#0F172A" })
5244
6215
  ] }) }),
5245
- /* @__PURE__ */ jsx53("rect", { x, y: "12", width: "32", height: "48", rx: "2", fill: `url(#oc-grad-${i})` }),
5246
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "38", width: "10", height: "2", rx: "1", fill: ACCENT }),
5247
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "44", width: "22", height: "3", rx: "1", fill: "#fff" }),
5248
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "50", width: "20", height: "1.5", rx: "0.5", fill: "#fff", opacity: "0.85" }),
5249
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "53", width: "14", height: "1.5", rx: "0.5", fill: "#fff", opacity: "0.85" })
6216
+ /* @__PURE__ */ jsx67("rect", { x, y: "12", width: "32", height: "48", rx: "2", fill: `url(#oc-grad-${i})` }),
6217
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "38", width: "10", height: "2", rx: "1", fill: ACCENT }),
6218
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "44", width: "22", height: "3", rx: "1", fill: "#ffffff" }),
6219
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "50", width: "20", height: "1.5", rx: "0.5", fill: "#ffffff", opacity: "0.85" }),
6220
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "53", width: "14", height: "1.5", rx: "0.5", fill: "#ffffff", opacity: "0.85" })
5250
6221
  ] }, i)) }),
5251
- PricingTable: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5252
- /* @__PURE__ */ jsx53("rect", { x, y: "10", width: "32", height: "50", rx: "2", fill: i === 1 ? PRIMARY : "#fff", stroke: BORDER, strokeWidth: "0.6" }),
5253
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "14", width: "14", height: "2", rx: "1", fill: i === 1 ? "#fff" : MUTED }),
5254
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "20", width: "18", height: "6", rx: "1.5", fill: i === 1 ? "#fff" : TEXT }),
5255
- [32, 38, 44].map((y, j) => /* @__PURE__ */ jsx53("rect", { x: x + 4, y, width: "22", height: "1.5", rx: "0.5", fill: i === 1 ? "#fff" : MUTED, opacity: i === 1 ? 0.9 : 0.7 }, j)),
5256
- /* @__PURE__ */ jsx53("rect", { x: x + 4, y: "52", width: "22", height: "5", rx: "1.5", fill: i === 1 ? "#fff" : PRIMARY })
6222
+ PricingTable: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6223
+ /* @__PURE__ */ jsx67("rect", { x, y: "10", width: "32", height: "50", rx: "2", fill: i === 1 ? PRIMARY : CARD, stroke: BORDER, strokeWidth: "0.6" }),
6224
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "14", width: "14", height: "2", rx: "1", fill: i === 1 ? "#fff" : MUTED }),
6225
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "20", width: "18", height: "6", rx: "1.5", fill: i === 1 ? "#fff" : TEXT }),
6226
+ [32, 38, 44].map((y, j) => /* @__PURE__ */ jsx67("rect", { x: x + 4, y, width: "22", height: "1.5", rx: "0.5", fill: i === 1 ? "#fff" : MUTED, opacity: i === 1 ? 0.9 : 0.7 }, j)),
6227
+ /* @__PURE__ */ jsx67("rect", { x: x + 4, y: "52", width: "22", height: "5", rx: "1.5", fill: i === 1 ? "#fff" : PRIMARY })
5257
6228
  ] }, i)) }),
5258
- PricingComparison: /* @__PURE__ */ jsxs49(Frame, { children: [
5259
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "14", width: "100", height: "6", fill: PRIMARY_SOFT }),
5260
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "16", width: "22", height: "2", rx: "1", fill: TEXT }),
5261
- /* @__PURE__ */ jsx53("rect", { x: "42", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
5262
- /* @__PURE__ */ jsx53("rect", { x: "62", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
5263
- /* @__PURE__ */ jsx53("rect", { x: "82", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
5264
- [26, 34, 42, 50].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5265
- /* @__PURE__ */ jsx53("rect", { x: "14", y, width: "22", height: "1.5", rx: "0.5", fill: MUTED }),
5266
- [42, 62, 82].map((cx, j) => /* @__PURE__ */ jsx53("text", { x: cx + 7, y: y + 2, fontSize: "5", fill: (i + j) % 2 ? PRIMARY : MUTED, textAnchor: "middle", fontFamily: "system-ui", children: (i + j) % 2 ? "\u2713" : "\xB7" }, j))
6229
+ PricingComparison: /* @__PURE__ */ jsxs50(Frame, { children: [
6230
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "14", width: "100", height: "6", fill: PRIMARY_SOFT }),
6231
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "16", width: "22", height: "2", rx: "1", fill: TEXT }),
6232
+ /* @__PURE__ */ jsx67("rect", { x: "42", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
6233
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
6234
+ /* @__PURE__ */ jsx67("rect", { x: "82", y: "16", width: "14", height: "2", rx: "1", fill: TEXT }),
6235
+ [26, 34, 42, 50].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6236
+ /* @__PURE__ */ jsx67("rect", { x: "14", y, width: "22", height: "1.5", rx: "0.5", fill: MUTED }),
6237
+ [42, 62, 82].map((cx, j) => /* @__PURE__ */ jsx67("text", { x: cx + 7, y: y + 2, fontSize: "5", fill: (i + j) % 2 ? PRIMARY : MUTED, textAnchor: "middle", fontFamily: "system-ui", children: (i + j) % 2 ? "\u2713" : "\xB7" }, j))
5267
6238
  ] }, i))
5268
6239
  ] }),
5269
- AwardsBar: /* @__PURE__ */ jsx53(Frame, { children: [24, 60, 96].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5270
- /* @__PURE__ */ jsx53("circle", { cx: x, cy: "22", r: "6", fill: ACCENT, opacity: "0.85" }),
5271
- /* @__PURE__ */ jsx53("rect", { x: x - 12, y: "32", width: "24", height: "2.5", rx: "1", fill: TEXT }),
5272
- /* @__PURE__ */ jsx53("rect", { x: x - 8, y: "38", width: "16", height: "2", rx: "1", fill: MUTED }),
5273
- /* @__PURE__ */ jsx53("rect", { x: x - 5, y: "44", width: "10", height: "1.5", rx: "0.5", fill: MUTED, opacity: "0.6" })
6240
+ AwardsBar: /* @__PURE__ */ jsx67(Frame, { children: [24, 60, 96].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6241
+ /* @__PURE__ */ jsx67("circle", { cx: x, cy: "22", r: "6", fill: ACCENT, opacity: "0.85" }),
6242
+ /* @__PURE__ */ jsx67("rect", { x: x - 12, y: "32", width: "24", height: "2.5", rx: "1", fill: TEXT }),
6243
+ /* @__PURE__ */ jsx67("rect", { x: x - 8, y: "38", width: "16", height: "2", rx: "1", fill: MUTED }),
6244
+ /* @__PURE__ */ jsx67("rect", { x: x - 5, y: "44", width: "10", height: "1.5", rx: "0.5", fill: MUTED, opacity: "0.6" })
5274
6245
  ] }, i)) }),
5275
- CountUpStats: /* @__PURE__ */ jsx53(Frame, { soft: true, children: [24, 60, 96].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5276
- /* @__PURE__ */ jsxs49("text", { x, y: "28", fontSize: "14", fontWeight: "800", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: [
6246
+ CountUpStats: /* @__PURE__ */ jsx67(Frame, { soft: true, children: [24, 60, 96].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6247
+ /* @__PURE__ */ jsxs50("text", { x, y: "28", fontSize: "14", fontWeight: "800", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: [
5277
6248
  ["80", "50", "14"][i],
5278
6249
  ["%", "+", ""][i]
5279
6250
  ] }),
5280
- /* @__PURE__ */ jsx53("rect", { x: x - 16, y: "36", width: "32", height: "2", rx: "1", fill: MUTED }),
5281
- /* @__PURE__ */ jsx53("rect", { x: x - 12, y: "42", width: "24", height: "2", rx: "1", fill: MUTED, opacity: "0.7" })
6251
+ /* @__PURE__ */ jsx67("rect", { x: x - 16, y: "36", width: "32", height: "2", rx: "1", fill: MUTED }),
6252
+ /* @__PURE__ */ jsx67("rect", { x: x - 12, y: "42", width: "24", height: "2", rx: "1", fill: MUTED, opacity: "0.7" })
5282
6253
  ] }, i)) }),
5283
- ImageGallery: /* @__PURE__ */ jsx53(Frame, { children: [
6254
+ ImageGallery: /* @__PURE__ */ jsx67(Frame, { children: [
5284
6255
  [10, 12, 32, 22],
5285
6256
  [44, 12, 32, 22],
5286
6257
  [78, 12, 32, 22],
5287
6258
  [10, 36, 32, 22],
5288
6259
  [44, 36, 32, 22],
5289
6260
  [78, 36, 32, 22]
5290
- ].map(([x, y, w, h], i) => /* @__PURE__ */ jsx53("rect", { x, y, width: w, height: h, rx: "2", fill: PRIMARY_SOFT, stroke: BORDER, strokeWidth: "0.5" }, i)) }),
5291
- ImageCaption: /* @__PURE__ */ jsxs49(Frame, { children: [
5292
- /* @__PURE__ */ jsx53("rect", { x: "20", y: "12", width: "80", height: "34", rx: "2", fill: PRIMARY_SOFT, stroke: BORDER, strokeWidth: "0.6" }),
5293
- /* @__PURE__ */ jsx53("line", { x1: "30", y1: "20", x2: "90", y2: "38", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
5294
- /* @__PURE__ */ jsx53("line", { x1: "90", y1: "20", x2: "30", y2: "38", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
5295
- /* @__PURE__ */ jsx53("rect", { x: "34", y: "52", width: "52", height: "2", rx: "1", fill: MUTED }),
5296
- /* @__PURE__ */ jsx53("rect", { x: "42", y: "56", width: "36", height: "2", rx: "1", fill: MUTED, opacity: "0.7" })
6261
+ ].map(([x, y, w, h], i) => /* @__PURE__ */ jsx67("rect", { x, y, width: w, height: h, rx: "2", fill: PRIMARY_SOFT, stroke: BORDER, strokeWidth: "0.5" }, i)) }),
6262
+ ImageCaption: /* @__PURE__ */ jsxs50(Frame, { children: [
6263
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: "12", width: "80", height: "34", rx: "2", fill: PRIMARY_SOFT, stroke: BORDER, strokeWidth: "0.6" }),
6264
+ /* @__PURE__ */ jsx67("line", { x1: "30", y1: "20", x2: "90", y2: "38", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
6265
+ /* @__PURE__ */ jsx67("line", { x1: "90", y1: "20", x2: "30", y2: "38", stroke: PRIMARY, strokeWidth: "0.4", opacity: "0.4" }),
6266
+ /* @__PURE__ */ jsx67("rect", { x: "34", y: "52", width: "52", height: "2", rx: "1", fill: MUTED }),
6267
+ /* @__PURE__ */ jsx67("rect", { x: "42", y: "56", width: "36", height: "2", rx: "1", fill: MUTED, opacity: "0.7" })
5297
6268
  ] }),
5298
- InlineCTA: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
5299
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "22", width: "100", height: "26", rx: "3", fill: "#fff", stroke: BORDER, strokeWidth: "0.6" }),
5300
- /* @__PURE__ */ jsx53("rect", { x: "16", y: "28", width: "50", height: "3.5", rx: "1", fill: TEXT }),
5301
- /* @__PURE__ */ jsx53("rect", { x: "16", y: "36", width: "58", height: "2", rx: "1", fill: MUTED }),
5302
- /* @__PURE__ */ jsx53("rect", { x: "80", y: "30", width: "24", height: "10", rx: "2", fill: PRIMARY })
6269
+ InlineCTA: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
6270
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "22", width: "100", height: "26", rx: "3", fill: CARD, stroke: BORDER, strokeWidth: "0.6" }),
6271
+ /* @__PURE__ */ jsx67("rect", { x: "16", y: "28", width: "50", height: "3.5", rx: "1", fill: TEXT }),
6272
+ /* @__PURE__ */ jsx67("rect", { x: "16", y: "36", width: "58", height: "2", rx: "1", fill: MUTED }),
6273
+ /* @__PURE__ */ jsx67("rect", { x: "80", y: "30", width: "24", height: "10", rx: "2", fill: PRIMARY })
5303
6274
  ] }),
5304
- AnnouncementBar: /* @__PURE__ */ jsxs49(Frame, { children: [
5305
- /* @__PURE__ */ jsx53("rect", { x: "0", y: "20", width: FRAME_W, height: "14", fill: "#0F172A" }),
5306
- /* @__PURE__ */ jsx53("rect", { x: "30", y: "25", width: "38", height: "2", rx: "1", fill: "#fff" }),
5307
- /* @__PURE__ */ jsx53("rect", { x: "72", y: "25", width: "22", height: "2", rx: "1", fill: ACCENT })
6275
+ AnnouncementBar: /* @__PURE__ */ jsxs50(Frame, { children: [
6276
+ /* @__PURE__ */ jsx67("rect", { x: "0", y: "20", width: FRAME_W, height: "14", fill: "#0F172A" }),
6277
+ /* @__PURE__ */ jsx67("rect", { x: "30", y: "25", width: "38", height: "2", rx: "1", fill: "#ffffff" }),
6278
+ /* @__PURE__ */ jsx67("rect", { x: "72", y: "25", width: "22", height: "2", rx: "1", fill: ACCENT })
5308
6279
  ] }),
5309
- Quote: /* @__PURE__ */ jsxs49(Frame, { children: [
5310
- /* @__PURE__ */ jsx53("text", { x: "14", y: "24", fontSize: "14", fontFamily: "Georgia", fill: PRIMARY, opacity: "0.6", children: '"' }),
5311
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "24", width: "80", height: "3.5", rx: "1", fill: TEXT }),
5312
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "32", width: "74", height: "3.5", rx: "1", fill: TEXT }),
5313
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "40", width: "58", height: "3.5", rx: "1", fill: TEXT }),
5314
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "50", width: "22", height: "2", rx: "1", fill: MUTED })
6280
+ Quote: /* @__PURE__ */ jsxs50(Frame, { children: [
6281
+ /* @__PURE__ */ jsx67("text", { x: "14", y: "24", fontSize: "14", fontFamily: "Georgia", fill: PRIMARY, opacity: "0.6", children: '"' }),
6282
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "24", width: "80", height: "3.5", rx: "1", fill: TEXT }),
6283
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "32", width: "74", height: "3.5", rx: "1", fill: TEXT }),
6284
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "40", width: "58", height: "3.5", rx: "1", fill: TEXT }),
6285
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "50", width: "22", height: "2", rx: "1", fill: MUTED })
5315
6286
  ] }),
5316
- CodeBlock: /* @__PURE__ */ jsxs49(Frame, { children: [
5317
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "12", width: "100", height: "48", rx: "2", fill: "#0F172A" }),
5318
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "12", width: "100", height: "8", fill: "#1E293B" }),
5319
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "20", height: "3", rx: "0.5", fill: MUTED }),
5320
- /* @__PURE__ */ jsx53("text", { x: "14", y: "29", fontSize: "6", fill: "#7DD3FC", fontFamily: "ui-monospace, monospace", children: "$ make" }),
5321
- /* @__PURE__ */ jsx53("text", { x: "14", y: "38", fontSize: "6", fill: "#86EFAC", fontFamily: "ui-monospace, monospace", children: " build" }),
5322
- /* @__PURE__ */ jsx53("text", { x: "14", y: "47", fontSize: "6", fill: "#FCA5A5", fontFamily: "ui-monospace, monospace", children: " deploy" }),
5323
- /* @__PURE__ */ jsx53("text", { x: "14", y: "56", fontSize: "6", fill: "#E2E8F0", fontFamily: "ui-monospace, monospace", children: `{ ok: true }` })
6287
+ CodeBlock: /* @__PURE__ */ jsxs50(Frame, { children: [
6288
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "12", width: "100", height: "48", rx: "2", fill: "#0F172A" }),
6289
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "12", width: "100", height: "8", fill: "#1E293B" }),
6290
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "20", height: "3", rx: "0.5", fill: MUTED }),
6291
+ /* @__PURE__ */ jsx67("text", { x: "14", y: "29", fontSize: "6", fill: "#7DD3FC", fontFamily: "ui-monospace, monospace", children: "$ make" }),
6292
+ /* @__PURE__ */ jsx67("text", { x: "14", y: "38", fontSize: "6", fill: "#86EFAC", fontFamily: "ui-monospace, monospace", children: " build" }),
6293
+ /* @__PURE__ */ jsx67("text", { x: "14", y: "47", fontSize: "6", fill: "#FCA5A5", fontFamily: "ui-monospace, monospace", children: " deploy" }),
6294
+ /* @__PURE__ */ jsx67("text", { x: "14", y: "56", fontSize: "6", fill: "#E2E8F0", fontFamily: "ui-monospace, monospace", children: `{ ok: true }` })
5324
6295
  ] }),
5325
- KeyValueList: /* @__PURE__ */ jsx53(Frame, { children: [18, 30, 42, 54].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5326
- /* @__PURE__ */ jsx53("line", { x1: "14", y1: y - 6, x2: "106", y2: y - 6, stroke: BORDER, strokeWidth: "0.5" }),
5327
- /* @__PURE__ */ jsx53("rect", { x: "14", y: y - 2, width: "28", height: "2", rx: "1", fill: MUTED }),
5328
- /* @__PURE__ */ jsx53("rect", { x: "50", y: y - 2, width: "50", height: "2", rx: "1", fill: TEXT })
6296
+ KeyValueList: /* @__PURE__ */ jsx67(Frame, { children: [18, 30, 42, 54].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6297
+ /* @__PURE__ */ jsx67("line", { x1: "14", y1: y - 6, x2: "106", y2: y - 6, stroke: BORDER, strokeWidth: "0.5" }),
6298
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: y - 2, width: "28", height: "2", rx: "1", fill: MUTED }),
6299
+ /* @__PURE__ */ jsx67("rect", { x: "50", y: y - 2, width: "50", height: "2", rx: "1", fill: TEXT })
5329
6300
  ] }, i)) }),
5330
- StepsVertical: /* @__PURE__ */ jsxs49(Frame, { children: [
5331
- /* @__PURE__ */ jsx53("line", { x1: "22", y1: "14", x2: "22", y2: "58", stroke: BORDER, strokeWidth: "0.6" }),
5332
- [16, 32, 48].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5333
- /* @__PURE__ */ jsx53("circle", { cx: "22", cy: y, r: "5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.7" }),
5334
- /* @__PURE__ */ jsx53("text", { x: "22", y: y + 1.5, fontSize: "5", fontWeight: "700", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: i + 1 }),
5335
- /* @__PURE__ */ jsx53("rect", { x: "34", y: y - 2, width: "28", height: "3", rx: "1", fill: TEXT }),
5336
- /* @__PURE__ */ jsx53("rect", { x: "34", y: y + 4, width: "48", height: "2", rx: "1", fill: MUTED })
6301
+ StepsVertical: /* @__PURE__ */ jsxs50(Frame, { children: [
6302
+ /* @__PURE__ */ jsx67("line", { x1: "22", y1: "14", x2: "22", y2: "58", stroke: BORDER, strokeWidth: "0.6" }),
6303
+ [16, 32, 48].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6304
+ /* @__PURE__ */ jsx67("circle", { cx: "22", cy: y, r: "5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.7" }),
6305
+ /* @__PURE__ */ jsx67("text", { x: "22", y: y + 1.5, fontSize: "5", fontWeight: "700", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: i + 1 }),
6306
+ /* @__PURE__ */ jsx67("rect", { x: "34", y: y - 2, width: "28", height: "3", rx: "1", fill: TEXT }),
6307
+ /* @__PURE__ */ jsx67("rect", { x: "34", y: y + 4, width: "48", height: "2", rx: "1", fill: MUTED })
5337
6308
  ] }, i))
5338
6309
  ] }),
5339
- TabsBlock: /* @__PURE__ */ jsxs49(Frame, { children: [
5340
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "20", height: "6", rx: "1", fill: PRIMARY }),
5341
- /* @__PURE__ */ jsx53("rect", { x: "36", y: "14", width: "20", height: "6", rx: "1", fill: "#fff", stroke: BORDER, strokeWidth: "0.5" }),
5342
- /* @__PURE__ */ jsx53("rect", { x: "58", y: "14", width: "20", height: "6", rx: "1", fill: "#fff", stroke: BORDER, strokeWidth: "0.5" }),
5343
- /* @__PURE__ */ jsx53("line", { x1: "14", y1: "22", x2: "106", y2: "22", stroke: BORDER, strokeWidth: "0.5" }),
5344
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "28", width: "78", height: "2", rx: "1", fill: TEXT }),
5345
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "34", width: "86", height: "2", rx: "1", fill: MUTED }),
5346
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "40", width: "80", height: "2", rx: "1", fill: MUTED }),
5347
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "46", width: "60", height: "2", rx: "1", fill: MUTED })
6310
+ TabsBlock: /* @__PURE__ */ jsxs50(Frame, { children: [
6311
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "20", height: "6", rx: "1", fill: PRIMARY }),
6312
+ /* @__PURE__ */ jsx67("rect", { x: "36", y: "14", width: "20", height: "6", rx: "1", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6313
+ /* @__PURE__ */ jsx67("rect", { x: "58", y: "14", width: "20", height: "6", rx: "1", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6314
+ /* @__PURE__ */ jsx67("line", { x1: "14", y1: "22", x2: "106", y2: "22", stroke: BORDER, strokeWidth: "0.5" }),
6315
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "28", width: "78", height: "2", rx: "1", fill: TEXT }),
6316
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "34", width: "86", height: "2", rx: "1", fill: MUTED }),
6317
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "40", width: "80", height: "2", rx: "1", fill: MUTED }),
6318
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "46", width: "60", height: "2", rx: "1", fill: MUTED })
5348
6319
  ] }),
5349
- AccordionBlock: /* @__PURE__ */ jsx53(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5350
- /* @__PURE__ */ jsx53("rect", { x: "14", y, width: "92", height: "10", rx: "2", fill: i === 0 ? PRIMARY_SOFT : "#fff", stroke: BORDER, strokeWidth: "0.5" }),
5351
- /* @__PURE__ */ jsx53("rect", { x: "20", y: y + 4, width: "44", height: "2.5", rx: "1", fill: TEXT }),
5352
- /* @__PURE__ */ jsx53("text", { x: "100", y: y + 7, fontSize: "6", fill: MUTED, textAnchor: "middle", fontFamily: "system-ui", children: i === 0 ? "\u2212" : "+" }),
5353
- i === 0 && /* @__PURE__ */ jsxs49(Fragment5, { children: [
5354
- /* @__PURE__ */ jsx53("rect", { x: "20", y: y + 12, width: "68", height: "1.5", rx: "0.5", fill: MUTED }),
5355
- /* @__PURE__ */ jsx53("rect", { x: "20", y: y + 16, width: "60", height: "1.5", rx: "0.5", fill: MUTED })
6320
+ AccordionBlock: /* @__PURE__ */ jsx67(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6321
+ /* @__PURE__ */ jsx67("rect", { x: "14", y, width: "92", height: "10", rx: "2", fill: i === 0 ? PRIMARY_SOFT : CARD, stroke: BORDER, strokeWidth: "0.5" }),
6322
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: y + 4, width: "44", height: "2.5", rx: "1", fill: TEXT }),
6323
+ /* @__PURE__ */ jsx67("text", { x: "100", y: y + 7, fontSize: "6", fill: MUTED, textAnchor: "middle", fontFamily: "system-ui", children: i === 0 ? "\u2212" : "+" }),
6324
+ i === 0 && /* @__PURE__ */ jsxs50(Fragment5, { children: [
6325
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: y + 12, width: "68", height: "1.5", rx: "0.5", fill: MUTED }),
6326
+ /* @__PURE__ */ jsx67("rect", { x: "20", y: y + 16, width: "60", height: "1.5", rx: "0.5", fill: MUTED })
5356
6327
  ] })
5357
6328
  ] }, i)) }),
5358
- SocialLinks: /* @__PURE__ */ jsxs49(Frame, { children: [
5359
- /* @__PURE__ */ jsx53("rect", { x: "40", y: "22", width: "40", height: "2", rx: "1", fill: MUTED }),
5360
- [42, 54, 66, 78].map((x, i) => /* @__PURE__ */ jsx53("circle", { cx: x, cy: "42", r: "5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5" }, i))
6329
+ SocialLinks: /* @__PURE__ */ jsxs50(Frame, { children: [
6330
+ /* @__PURE__ */ jsx67("rect", { x: "40", y: "22", width: "40", height: "2", rx: "1", fill: MUTED }),
6331
+ [42, 54, 66, 78].map((x, i) => /* @__PURE__ */ jsx67("circle", { cx: x, cy: "42", r: "5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5" }, i))
5361
6332
  ] }),
5362
- ContactInfo: /* @__PURE__ */ jsxs49(Frame, { children: [
5363
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "14", width: "100", height: "46", rx: "2", fill: "#fff", stroke: BORDER, strokeWidth: "0.6" }),
5364
- [[18, 22], [62, 22], [18, 42], [62, 42]].map(([x, y], i) => /* @__PURE__ */ jsxs49("g", { children: [
5365
- /* @__PURE__ */ jsx53("circle", { cx: x + 4, cy: y + 4, r: "2.5", fill: PRIMARY, opacity: "0.7" }),
5366
- /* @__PURE__ */ jsx53("rect", { x: x + 10, y, width: "14", height: "2", rx: "1", fill: MUTED }),
5367
- /* @__PURE__ */ jsx53("rect", { x: x + 10, y: y + 4, width: "22", height: "2.5", rx: "1", fill: TEXT })
6333
+ ContactInfo: /* @__PURE__ */ jsxs50(Frame, { children: [
6334
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "14", width: "100", height: "46", rx: "2", fill: CARD, stroke: BORDER, strokeWidth: "0.6" }),
6335
+ [[18, 22], [62, 22], [18, 42], [62, 42]].map(([x, y], i) => /* @__PURE__ */ jsxs50("g", { children: [
6336
+ /* @__PURE__ */ jsx67("circle", { cx: x + 4, cy: y + 4, r: "2.5", fill: PRIMARY, opacity: "0.7" }),
6337
+ /* @__PURE__ */ jsx67("rect", { x: x + 10, y, width: "14", height: "2", rx: "1", fill: MUTED }),
6338
+ /* @__PURE__ */ jsx67("rect", { x: x + 10, y: y + 4, width: "22", height: "2.5", rx: "1", fill: TEXT })
5368
6339
  ] }, i))
5369
6340
  ] }),
5370
- MapEmbed: /* @__PURE__ */ jsxs49(Frame, { children: [
5371
- /* @__PURE__ */ jsx53("rect", { x: "10", y: "12", width: "100", height: "44", rx: "2", fill: "#DCFCE7", stroke: BORDER, strokeWidth: "0.5" }),
5372
- /* @__PURE__ */ jsx53("path", { d: "M 14 28 Q 30 14 50 28 T 90 28 L 106 22", stroke: MUTED, strokeWidth: "0.5", fill: "none" }),
5373
- /* @__PURE__ */ jsx53("path", { d: "M 14 42 Q 40 32 70 44 L 106 38", stroke: MUTED, strokeWidth: "0.5", fill: "none" }),
5374
- /* @__PURE__ */ jsx53("circle", { cx: "60", cy: "32", r: "3", fill: "#DC2626" }),
5375
- /* @__PURE__ */ jsx53("path", { d: "M 60 35 L 58 40 L 62 40 Z", fill: "#DC2626" })
6341
+ MapEmbed: /* @__PURE__ */ jsxs50(Frame, { children: [
6342
+ /* @__PURE__ */ jsx67("rect", { x: "10", y: "12", width: "100", height: "44", rx: "2", fill: "#DCFCE7", stroke: BORDER, strokeWidth: "0.5" }),
6343
+ /* @__PURE__ */ jsx67("path", { d: "M 14 28 Q 30 14 50 28 T 90 28 L 106 22", stroke: MUTED, strokeWidth: "0.5", fill: "none" }),
6344
+ /* @__PURE__ */ jsx67("path", { d: "M 14 42 Q 40 32 70 44 L 106 38", stroke: MUTED, strokeWidth: "0.5", fill: "none" }),
6345
+ /* @__PURE__ */ jsx67("circle", { cx: "60", cy: "32", r: "3", fill: "#DC2626" }),
6346
+ /* @__PURE__ */ jsx67("path", { d: "M 60 35 L 58 40 L 62 40 Z", fill: "#DC2626" })
5376
6347
  ] }),
5377
- EventsList: /* @__PURE__ */ jsx53(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs49("g", { children: [
5378
- /* @__PURE__ */ jsx53("rect", { x: "14", y, width: "92", height: "11", rx: "2", fill: "#fff", stroke: BORDER, strokeWidth: "0.5" }),
5379
- /* @__PURE__ */ jsx53("rect", { x: "18", y: y + 2, width: "14", height: "7", rx: "1", fill: PRIMARY_SOFT }),
5380
- /* @__PURE__ */ jsx53("text", { x: "25", y: y + 7, fontSize: "4", fontWeight: "700", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: ["MAR", "APR", "MAY"][i] }),
5381
- /* @__PURE__ */ jsx53("rect", { x: "36", y: y + 3, width: "40", height: "2", rx: "1", fill: TEXT }),
5382
- /* @__PURE__ */ jsx53("rect", { x: "36", y: y + 7, width: "50", height: "1.5", rx: "0.5", fill: MUTED }),
5383
- /* @__PURE__ */ jsx53("text", { x: "100", y: y + 7, fontSize: "5", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: "\u2192" })
6348
+ EventsList: /* @__PURE__ */ jsx67(Frame, { children: [14, 30, 46].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6349
+ /* @__PURE__ */ jsx67("rect", { x: "14", y, width: "92", height: "11", rx: "2", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6350
+ /* @__PURE__ */ jsx67("rect", { x: "18", y: y + 2, width: "14", height: "7", rx: "1", fill: PRIMARY_SOFT }),
6351
+ /* @__PURE__ */ jsx67("text", { x: "25", y: y + 7, fontSize: "4", fontWeight: "700", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: ["MAR", "APR", "MAY"][i] }),
6352
+ /* @__PURE__ */ jsx67("rect", { x: "36", y: y + 3, width: "40", height: "2", rx: "1", fill: TEXT }),
6353
+ /* @__PURE__ */ jsx67("rect", { x: "36", y: y + 7, width: "50", height: "1.5", rx: "0.5", fill: MUTED }),
6354
+ /* @__PURE__ */ jsx67("text", { x: "100", y: y + 7, fontSize: "5", fill: PRIMARY, textAnchor: "middle", fontFamily: "system-ui", children: "\u2192" })
5384
6355
  ] }, i)) }),
5385
- Divider: /* @__PURE__ */ jsxs49(Frame, { children: [
5386
- /* @__PURE__ */ jsx53("line", { x1: "14", y1: "35", x2: "50", y2: "35", stroke: BORDER, strokeWidth: "0.8" }),
5387
- /* @__PURE__ */ jsx53("text", { x: "60", y: "38", fontSize: "6", fill: MUTED, textAnchor: "middle", fontWeight: "700", fontFamily: "system-ui", children: "\u2014 OR \u2014" }),
5388
- /* @__PURE__ */ jsx53("line", { x1: "70", y1: "35", x2: "106", y2: "35", stroke: BORDER, strokeWidth: "0.8" })
6356
+ Divider: /* @__PURE__ */ jsxs50(Frame, { children: [
6357
+ /* @__PURE__ */ jsx67("line", { x1: "14", y1: "35", x2: "50", y2: "35", stroke: BORDER, strokeWidth: "0.8" }),
6358
+ /* @__PURE__ */ jsx67("text", { x: "60", y: "38", fontSize: "6", fill: MUTED, textAnchor: "middle", fontWeight: "700", fontFamily: "system-ui", children: "\u2014 OR \u2014" }),
6359
+ /* @__PURE__ */ jsx67("line", { x1: "70", y1: "35", x2: "106", y2: "35", stroke: BORDER, strokeWidth: "0.8" })
5389
6360
  ] }),
5390
- ThreeColumn: /* @__PURE__ */ jsx53(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs49("g", { children: [
5391
- /* @__PURE__ */ jsx53("rect", { x, y: "14", width: "32", height: "3.5", rx: "1", fill: TEXT }),
5392
- /* @__PURE__ */ jsx53("rect", { x, y: "22", width: "28", height: "2", rx: "1", fill: MUTED }),
5393
- /* @__PURE__ */ jsx53("rect", { x, y: "26", width: "32", height: "2", rx: "1", fill: MUTED }),
5394
- /* @__PURE__ */ jsx53("rect", { x, y: "30", width: "26", height: "2", rx: "1", fill: MUTED }),
5395
- /* @__PURE__ */ jsx53("rect", { x, y: "34", width: "30", height: "2", rx: "1", fill: MUTED }),
5396
- /* @__PURE__ */ jsx53("rect", { x, y: "38", width: "22", height: "2", rx: "1", fill: MUTED })
6361
+ ThreeColumn: /* @__PURE__ */ jsx67(Frame, { children: [10, 44, 78].map((x, i) => /* @__PURE__ */ jsxs50("g", { children: [
6362
+ /* @__PURE__ */ jsx67("rect", { x, y: "14", width: "32", height: "3.5", rx: "1", fill: TEXT }),
6363
+ /* @__PURE__ */ jsx67("rect", { x, y: "22", width: "28", height: "2", rx: "1", fill: MUTED }),
6364
+ /* @__PURE__ */ jsx67("rect", { x, y: "26", width: "32", height: "2", rx: "1", fill: MUTED }),
6365
+ /* @__PURE__ */ jsx67("rect", { x, y: "30", width: "26", height: "2", rx: "1", fill: MUTED }),
6366
+ /* @__PURE__ */ jsx67("rect", { x, y: "34", width: "30", height: "2", rx: "1", fill: MUTED }),
6367
+ /* @__PURE__ */ jsx67("rect", { x, y: "38", width: "22", height: "2", rx: "1", fill: MUTED })
5397
6368
  ] }, i)) }),
5398
- PressMentions: /* @__PURE__ */ jsxs49(Frame, { soft: true, children: [
5399
- /* @__PURE__ */ jsx53("rect", { x: "40", y: "14", width: "40", height: "2", rx: "1", fill: MUTED }),
5400
- [20, 50, 80].map((cx, i) => /* @__PURE__ */ jsx53("text", { x: cx, y: "42", fontSize: "9", fontFamily: "Georgia", fontStyle: "italic", fontWeight: "600", fill: MUTED, textAnchor: "middle", children: ["Forbes", "WSJ", "TechCrunch"][i] }, i))
6369
+ PressMentions: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
6370
+ /* @__PURE__ */ jsx67("rect", { x: "40", y: "14", width: "40", height: "2", rx: "1", fill: MUTED }),
6371
+ [20, 50, 80].map((cx, i) => /* @__PURE__ */ jsx67("text", { x: cx, y: "42", fontSize: "9", fontFamily: "Georgia", fontStyle: "italic", fontWeight: "600", fill: MUTED, textAnchor: "middle", children: ["Forbes", "WSJ", "TechCrunch"][i] }, i))
6372
+ ] }),
6373
+ Container: /* @__PURE__ */ jsxs50(Frame, { children: [
6374
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "14", width: "92", height: "46", rx: "3", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5", strokeDasharray: "2 2" }),
6375
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "22", width: "20", height: "2.5", rx: "1", fill: PRIMARY }),
6376
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "30", width: "60", height: "4", rx: "1.5", fill: TEXT }),
6377
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "40", width: "76", height: "2", rx: "1", fill: MUTED }),
6378
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "44", width: "68", height: "2", rx: "1", fill: MUTED }),
6379
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "48", width: "50", height: "2", rx: "1", fill: MUTED })
6380
+ ] }),
6381
+ // ── Form blocks ──────────────────────────────────────────────────────────
6382
+ FormContact: /* @__PURE__ */ jsxs50(Frame, { children: [
6383
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "46", height: "3", rx: "1", fill: TEXT }),
6384
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6385
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6386
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6387
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "27", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6388
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "92", height: "18", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6389
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "59", width: "28", height: "8", rx: "2", fill: PRIMARY })
6390
+ ] }),
6391
+ FormLeadCapture: /* @__PURE__ */ jsxs50(Frame, { children: [
6392
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "52", height: "3", rx: "1", fill: TEXT }),
6393
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6394
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6395
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6396
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "31.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6397
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "92", height: "6", rx: "1.5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5", opacity: "0.7" }),
6398
+ /* @__PURE__ */ jsx67("rect", { x: "17", y: "39.5", width: "14", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.8" }),
6399
+ /* @__PURE__ */ jsx67("rect", { x: "33", y: "39.5", width: "18", height: "2.5", rx: "1", fill: PRIMARY, opacity: "0.8" }),
6400
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "47", width: "92", height: "11", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6401
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "62", width: "32", height: "6", rx: "2", fill: PRIMARY })
6402
+ ] }),
6403
+ FormNewsletter: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
6404
+ /* @__PURE__ */ jsx67("rect", { x: "28", y: "9", width: "64", height: "4", rx: "1.5", fill: TEXT }),
6405
+ /* @__PURE__ */ jsx67("rect", { x: "28", y: "17", width: "60", height: "2.5", rx: "1", fill: MUTED }),
6406
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "28", width: "60", height: "8", rx: "2", fill: CARD, stroke: BORDER, strokeWidth: "0.6" }),
6407
+ /* @__PURE__ */ jsx67("rect", { x: "78", y: "28", width: "28", height: "8", rx: "2", fill: PRIMARY }),
6408
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "42", width: "5", height: "5", rx: "1", fill: CARD, stroke: BORDER, strokeWidth: "0.6" }),
6409
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "43", width: "50", height: "2", rx: "1", fill: MUTED }),
6410
+ /* @__PURE__ */ jsx67("rect", { x: "22", y: "48", width: "38", height: "2", rx: "1", fill: MUTED })
6411
+ ] }),
6412
+ FormFeedback: /* @__PURE__ */ jsxs50(Frame, { children: [
6413
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "44", height: "3", rx: "1", fill: TEXT }),
6414
+ [14, 22, 30, 38, 46].map((x, i) => /* @__PURE__ */ jsx67("text", { x, y: "22", fontSize: "8", fill: i < 4 ? ACCENT : BORDER, fontFamily: "system-ui", children: "\u2605" }, i)),
6415
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "28", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6416
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "32.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6417
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "38", width: "92", height: "18", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6418
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "60", width: "30", height: "7", rx: "2", fill: PRIMARY })
6419
+ ] }),
6420
+ FormSurvey: /* @__PURE__ */ jsxs50(Frame, { children: [
6421
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "40", height: "3", rx: "1", fill: TEXT }),
6422
+ [14, 22, 30, 38, 46].map((x, i) => /* @__PURE__ */ jsx67("text", { x, y: "21", fontSize: "8", fill: i < 3 ? ACCENT : BORDER, fontFamily: "system-ui", children: "\u2605" }, i)),
6423
+ [27, 35, 43, 51].map((y, i) => /* @__PURE__ */ jsxs50("g", { children: [
6424
+ /* @__PURE__ */ jsx67("circle", { cx: "19", cy: y, r: "2.5", fill: i === 0 ? PRIMARY_SOFT : CARD, stroke: i === 0 ? PRIMARY : BORDER, strokeWidth: "0.7" }),
6425
+ i === 0 && /* @__PURE__ */ jsx67("circle", { cx: "19", cy: y, r: "1.2", fill: PRIMARY }),
6426
+ /* @__PURE__ */ jsx67("rect", { x: "25", y: y - 1.5, width: "30", height: "2.5", rx: "1", fill: MUTED })
6427
+ ] }, i)),
6428
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "57", width: "92", height: "10", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" })
6429
+ ] }),
6430
+ FormBooking: /* @__PURE__ */ jsxs50(Frame, { children: [
6431
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "36", height: "3", rx: "1", fill: TEXT }),
6432
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6433
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6434
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6435
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "42", height: "6", rx: "1.5", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5", opacity: "0.8" }),
6436
+ /* @__PURE__ */ jsx67("rect", { x: "16", y: "39", width: "8", height: "4", rx: "0.5", fill: PRIMARY, opacity: "0.7" }),
6437
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "37", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6438
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "41.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6439
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "47", width: "92", height: "12", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6440
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "63", width: "30", height: "6", rx: "2", fill: PRIMARY })
6441
+ ] }),
6442
+ FormRegistration: /* @__PURE__ */ jsxs50(Frame, { children: [
6443
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "8", width: "50", height: "3", rx: "1", fill: TEXT }),
6444
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "16", width: "42", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6445
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "16", width: "44", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6446
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "25", width: "42", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6447
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "25", width: "44", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6448
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "34", width: "42", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6449
+ /* @__PURE__ */ jsx67("text", { x: "49", y: "38.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6450
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "34", width: "44", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6451
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "38.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6452
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "43", width: "92", height: "5.5", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6453
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "47.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6454
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "53", width: "92", height: "8", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6455
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "63", width: "28", height: "6", rx: "2", fill: PRIMARY })
6456
+ ] }),
6457
+ FormQuoteRequest: /* @__PURE__ */ jsxs50(Frame, { children: [
6458
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "44", height: "3", rx: "1", fill: TEXT }),
6459
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6460
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6461
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6462
+ /* @__PURE__ */ jsx67("text", { x: "49", y: "31.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6463
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "27", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6464
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "31.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6465
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6466
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "41.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6467
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "47", width: "92", height: "14", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6468
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "63", width: "30", height: "5", rx: "1.5", fill: PRIMARY })
6469
+ ] }),
6470
+ FormApplication: /* @__PURE__ */ jsxs50(Frame, { children: [
6471
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "36", height: "3", rx: "1", fill: TEXT }),
6472
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6473
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6474
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6475
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "27", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6476
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "92", height: "12", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6477
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "53", width: "92", height: "11", rx: "2", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5", strokeDasharray: "2 2" }),
6478
+ /* @__PURE__ */ jsx67("text", { x: "38", y: "61", fontSize: "6", fill: PRIMARY, fontFamily: "system-ui", opacity: "0.85", children: "\u2191 Upload CV" })
6479
+ ] }),
6480
+ FormSupport: /* @__PURE__ */ jsxs50(Frame, { children: [
6481
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "52", height: "3", rx: "1", fill: TEXT }),
6482
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6483
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "17", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6484
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6485
+ /* @__PURE__ */ jsx67("text", { x: "49", y: "31.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6486
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "27", width: "44", height: "6", rx: "1.5", fill: ACCENT, opacity: "0.15", stroke: ACCENT, strokeWidth: "0.5" }),
6487
+ /* @__PURE__ */ jsx67("rect", { x: "65", y: "29.5", width: "18", height: "2", rx: "1", fill: MUTED }),
6488
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6489
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "47", width: "92", height: "16", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6490
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "65", width: "28", height: "5", rx: "1.5", fill: PRIMARY })
6491
+ ] }),
6492
+ FormWaitlist: /* @__PURE__ */ jsxs50(Frame, { soft: true, children: [
6493
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "44", height: "3", rx: "1", fill: TEXT }),
6494
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "15", width: "70", height: "2.5", rx: "1", fill: MUTED }),
6495
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "23", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6496
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "23", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6497
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "33", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6498
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "33", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6499
+ /* @__PURE__ */ jsx67("text", { x: "100", y: "37.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6500
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "43", width: "92", height: "14", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6501
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "61", width: "28", height: "7", rx: "2", fill: PRIMARY })
5401
6502
  ] }),
5402
- Container: /* @__PURE__ */ jsxs49(Frame, { children: [
5403
- /* @__PURE__ */ jsx53("rect", { x: "14", y: "14", width: "92", height: "46", rx: "3", fill: PRIMARY_SOFT, stroke: PRIMARY, strokeWidth: "0.5", strokeDasharray: "2 2" }),
5404
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "22", width: "20", height: "2.5", rx: "1", fill: PRIMARY }),
5405
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "30", width: "60", height: "4", rx: "1.5", fill: TEXT }),
5406
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "40", width: "76", height: "2", rx: "1", fill: MUTED }),
5407
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "44", width: "68", height: "2", rx: "1", fill: MUTED }),
5408
- /* @__PURE__ */ jsx53("rect", { x: "22", y: "48", width: "50", height: "2", rx: "1", fill: MUTED })
6503
+ FormAddress: /* @__PURE__ */ jsxs50(Frame, { children: [
6504
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "9", width: "38", height: "3", rx: "1", fill: TEXT }),
6505
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "17", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6506
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "27", width: "92", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6507
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "37", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6508
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "37", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6509
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "47", width: "42", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6510
+ /* @__PURE__ */ jsx67("text", { x: "49", y: "51.5", fontSize: "5", fill: MUTED, fontFamily: "system-ui", children: "\u25BC" }),
6511
+ /* @__PURE__ */ jsx67("rect", { x: "62", y: "47", width: "44", height: "6", rx: "1.5", fill: CARD, stroke: BORDER, strokeWidth: "0.5" }),
6512
+ /* @__PURE__ */ jsx67("rect", { x: "14", y: "57", width: "28", height: "8", rx: "2", fill: PRIMARY })
5409
6513
  ] })
5410
6514
  };
5411
6515
  }
@@ -5460,27 +6564,65 @@ var BLOCK_DESCRIPTIONS = {
5460
6564
  Divider: "Horizontal divider with optional centered label. Hairline / dashed / thick / dot styles.",
5461
6565
  ThreeColumn: "Generic 3-col text layout. Lighter than PillarsRow.",
5462
6566
  PressMentions: '"As featured in" press logos. Italic serif text fallback when no logos.',
5463
- Container: "Decorative box (soft / primary / dark / white) wrapping a single titled callout."
6567
+ Container: "Decorative box (soft / primary / dark / white) wrapping a single titled callout.",
6568
+ FormContact: "Lightweight contact form \u2014 name, email, phone, company, message. No hero or sidebar.",
6569
+ FormLeadCapture: "Lead-gen form with journey-stage select, capability multi-select, and notes.",
6570
+ FormNewsletter: "Newsletter signup with name, email, and consent checkbox.",
6571
+ FormFeedback: "Customer feedback \u2014 star rating, category select, free-text comment, optional contact.",
6572
+ FormSurvey: "Configurable survey \u2014 defaults to NPS-style with rating, recommend radio, and open text.",
6573
+ FormBooking: "Demo / appointment request \u2014 name, email, company, date picker, time slot, notes.",
6574
+ FormRegistration: "Event registration \u2014 name, contact, role, t-shirt size, dietary select.",
6575
+ FormQuoteRequest: "Quote request \u2014 company, project type, budget range, timeline, requirements.",
6576
+ FormApplication: "Job / programme application \u2014 contact, LinkedIn, portfolio, role, cover note, CV upload.",
6577
+ FormSupport: "Support ticket \u2014 name, email, category, priority, subject, description, attachment.",
6578
+ FormWaitlist: "Product waitlist \u2014 name, email, company, role, intended use case.",
6579
+ FormAddress: "Address / location form \u2014 name, street, city, state, country select, postal code."
5464
6580
  };
5465
6581
  function BlockThumbnail({ name }) {
5466
- const colors = useBrandColors();
6582
+ const colors = useThemeColors();
5467
6583
  const previews = getPreviews(colors);
5468
- return previews[name] || /* @__PURE__ */ jsx53(Frame, { children: /* @__PURE__ */ jsx53(
5469
- "text",
6584
+ if (previews[name]) return previews[name];
6585
+ return /* @__PURE__ */ jsxs50(
6586
+ "svg",
5470
6587
  {
5471
- x: "60",
5472
- y: "40",
5473
- fontSize: "8",
5474
- fill: MUTED,
5475
- textAnchor: "middle",
5476
- fontFamily: "system-ui",
5477
- children: name
6588
+ viewBox: `0 0 ${FRAME_W} ${FRAME_H}`,
6589
+ width: "100%",
6590
+ height: "auto",
6591
+ preserveAspectRatio: "xMidYMid meet",
6592
+ style: { display: "block", borderRadius: 4 },
6593
+ children: [
6594
+ /* @__PURE__ */ jsx67(
6595
+ "rect",
6596
+ {
6597
+ x: "0.5",
6598
+ y: "0.5",
6599
+ width: FRAME_W - 1,
6600
+ height: FRAME_H - 1,
6601
+ rx: "3",
6602
+ fill: colors.BG,
6603
+ stroke: colors.BORDER,
6604
+ strokeWidth: "1"
6605
+ }
6606
+ ),
6607
+ /* @__PURE__ */ jsx67(
6608
+ "text",
6609
+ {
6610
+ x: "60",
6611
+ y: "40",
6612
+ fontSize: "8",
6613
+ fill: colors.MUTED,
6614
+ textAnchor: "middle",
6615
+ fontFamily: "system-ui",
6616
+ children: name
6617
+ }
6618
+ )
6619
+ ]
5478
6620
  }
5479
- ) });
6621
+ );
5480
6622
  }
5481
6623
 
5482
6624
  // src/config.jsx
5483
- import { jsx as jsx54, jsxs as jsxs50 } from "react/jsx-runtime";
6625
+ import { jsx as jsx68, jsxs as jsxs51 } from "react/jsx-runtime";
5484
6626
  var DEFAULT_REVEAL = {
5485
6627
  Hero: "fade-up",
5486
6628
  SectionHeader: "fade-up",
@@ -5503,6 +6645,18 @@ var DEFAULT_REVEAL = {
5503
6645
  VideoEmbed: "scale-in",
5504
6646
  ContactSection: "fade-up",
5505
6647
  NewsletterSignup: "fade-up",
6648
+ FormContact: "fade-up",
6649
+ FormLeadCapture: "fade-up",
6650
+ FormNewsletter: "fade-up",
6651
+ FormFeedback: "fade-up",
6652
+ FormSurvey: "fade-up",
6653
+ FormBooking: "fade-up",
6654
+ FormRegistration: "fade-up",
6655
+ FormQuoteRequest: "fade-up",
6656
+ FormApplication: "fade-up",
6657
+ FormSupport: "fade-up",
6658
+ FormWaitlist: "fade-up",
6659
+ FormAddress: "fade-up",
5506
6660
  ArticleFeatured: "fade-up",
5507
6661
  ArticleGrid: "fade-up",
5508
6662
  ArticleList: "fade-up",
@@ -5556,6 +6710,18 @@ var defaultBlocks = {
5556
6710
  VideoEmbed,
5557
6711
  ContactSection,
5558
6712
  NewsletterSignup,
6713
+ FormContact,
6714
+ FormLeadCapture,
6715
+ FormNewsletter,
6716
+ FormFeedback,
6717
+ FormSurvey,
6718
+ FormBooking,
6719
+ FormRegistration,
6720
+ FormQuoteRequest,
6721
+ FormApplication,
6722
+ FormSupport,
6723
+ FormWaitlist,
6724
+ FormAddress,
5559
6725
  ArticleFeatured,
5560
6726
  ArticleGrid,
5561
6727
  ArticleList,
@@ -5616,7 +6782,24 @@ var defaultCategories = {
5616
6782
  components: ["VideoEmbed", "ImageGallery", "ImageCaption", "MapEmbed"]
5617
6783
  },
5618
6784
  Forms: {
5619
- components: ["ContactSection", "NewsletterSignup", "ContactInfo", "SocialLinks"]
6785
+ components: [
6786
+ "ContactSection",
6787
+ "NewsletterSignup",
6788
+ "ContactInfo",
6789
+ "SocialLinks",
6790
+ "FormContact",
6791
+ "FormLeadCapture",
6792
+ "FormNewsletter",
6793
+ "FormFeedback",
6794
+ "FormSurvey",
6795
+ "FormBooking",
6796
+ "FormRegistration",
6797
+ "FormQuoteRequest",
6798
+ "FormApplication",
6799
+ "FormSupport",
6800
+ "FormWaitlist",
6801
+ "FormAddress"
6802
+ ]
5620
6803
  },
5621
6804
  Layout: {
5622
6805
  components: ["Spacer", "Divider", "RawHtml"]
@@ -5629,11 +6812,11 @@ var defaultOverrides = {
5629
6812
  drawerItem: ({ name }) => {
5630
6813
  const label = prettyName(name);
5631
6814
  const desc = BLOCK_DESCRIPTIONS[name] || "";
5632
- return /* @__PURE__ */ jsxs50("div", { className: "tps-block-card", title: desc, children: [
5633
- /* @__PURE__ */ jsx54("div", { className: "tps-block-card__preview", children: /* @__PURE__ */ jsx54(BlockThumbnail, { name }) }),
5634
- /* @__PURE__ */ jsxs50("div", { className: "tps-block-card__text", children: [
5635
- /* @__PURE__ */ jsx54("div", { className: "tps-block-card__name", children: label }),
5636
- desc && /* @__PURE__ */ jsx54("div", { className: "tps-block-card__desc", children: desc })
6815
+ return /* @__PURE__ */ jsxs51("div", { className: "tps-block-card", title: desc, children: [
6816
+ /* @__PURE__ */ jsx68("div", { className: "tps-block-card__preview", children: /* @__PURE__ */ jsx68(BlockThumbnail, { name }) }),
6817
+ /* @__PURE__ */ jsxs51("div", { className: "tps-block-card__text", children: [
6818
+ /* @__PURE__ */ jsx68("div", { className: "tps-block-card__name", children: label }),
6819
+ desc && /* @__PURE__ */ jsx68("div", { className: "tps-block-card__desc", children: desc })
5637
6820
  ] })
5638
6821
  ] });
5639
6822
  }
@@ -5692,7 +6875,8 @@ function createPuckConfig({
5692
6875
  const animation = reveal && reveal[name];
5693
6876
  const override = defaults && defaults[name];
5694
6877
  const withDefaults = override ? { ...block, defaultProps: { ...block.defaultProps || {}, ...override } } : block;
5695
- components[name] = animation ? withReveal(withDefaults, animation) : withDefaults;
6878
+ const themed = withTheme(withDefaults);
6879
+ components[name] = animation ? withReveal(themed, animation) : themed;
5696
6880
  }
5697
6881
  return { components, categories, root };
5698
6882
  }
@@ -5716,6 +6900,18 @@ export {
5716
6900
  Divider,
5717
6901
  EventsList,
5718
6902
  FAQ,
6903
+ FormAddress,
6904
+ FormApplication,
6905
+ FormBooking,
6906
+ FormContact,
6907
+ FormFeedback,
6908
+ FormLeadCapture,
6909
+ FormNewsletter,
6910
+ FormQuoteRequest,
6911
+ FormRegistration,
6912
+ FormSupport,
6913
+ FormSurvey,
6914
+ FormWaitlist,
5719
6915
  Hero,
5720
6916
  IconCards,
5721
6917
  ImageCaption,
@@ -5744,6 +6940,7 @@ export {
5744
6940
  StatsStrip,
5745
6941
  StepsVertical,
5746
6942
  StudioLink,
6943
+ THEME_OPTIONS,
5747
6944
  TabsBlock,
5748
6945
  TeamGrid,
5749
6946
  TestimonialGrid,
@@ -5759,7 +6956,9 @@ export {
5759
6956
  defaultOverrides,
5760
6957
  emptyPuckData,
5761
6958
  normalizePuckData,
6959
+ themeField,
5762
6960
  useStudio,
5763
- withReveal
6961
+ withReveal,
6962
+ withTheme
5764
6963
  };
5765
6964
  //# sourceMappingURL=index.js.map