@riverbankcms/sdk 0.60.3 → 0.60.6
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/_dts/api/src/bookingVerticals.d.ts +1 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -39
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
- package/dist/_dts/core/src/participants.d.ts +32 -1
- package/dist/_dts/core/src/rectification.d.ts +79 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +6 -6
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +17 -15
- package/dist/_dts/sdk/src/client/types.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +86 -5
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +10 -10
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +200 -4
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +10 -10
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +33 -9
- package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -194
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +12 -14
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
- package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
- package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
- package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
- package/dist/_dts/ui/src/palette/index.d.ts +14 -0
- package/dist/cli/index.mjs +1023 -923
- package/dist/client/client.mjs +3410 -3221
- package/dist/client/hooks.mjs +1625 -1564
- package/dist/client/rendering/client.mjs +132 -37
- package/dist/client/rendering/islands.mjs +91 -30
- package/dist/client/rendering.mjs +1237 -1049
- package/dist/preview-next/client/runtime.mjs +3095 -2736
- package/dist/server/components.mjs +2381 -2255
- package/dist/server/config-validation.mjs +1625 -1564
- package/dist/server/config.mjs +1625 -1564
- package/dist/server/data.mjs +1625 -1564
- package/dist/server/index.mjs +4 -3
- package/dist/server/next.mjs +3233 -3106
- package/dist/server/page-converter.mjs +1625 -1564
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2381 -2255
- package/dist/server/rendering.mjs +2381 -2255
- package/dist/server/routing.mjs +2340 -2271
- package/dist/server/server.mjs +1629 -1567
- package/dist/server/theme-bridge.mjs +130 -126
- package/dist/server/theme.mjs +131 -129
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +0 -109
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
4
|
-
get: (a, b2) => (typeof require !== "undefined" ? require : a)[b2]
|
|
5
|
-
}) : x)(function(x) {
|
|
6
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
7
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
8
|
-
});
|
|
9
3
|
var __esm = (fn2, res) => function __init() {
|
|
10
4
|
return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
|
|
11
5
|
};
|
|
@@ -510,7 +504,10 @@ function createBlockApi(config) {
|
|
|
510
504
|
url = appendQuery(url, queryParams);
|
|
511
505
|
}
|
|
512
506
|
const authHeaders = getAuthHeaders(selectedAuth);
|
|
513
|
-
const headers = {
|
|
507
|
+
const headers = {
|
|
508
|
+
Accept: "application/json",
|
|
509
|
+
...authHeaders
|
|
510
|
+
};
|
|
514
511
|
if (body !== void 0) {
|
|
515
512
|
headers["Content-Type"] = "application/json";
|
|
516
513
|
}
|
|
@@ -3531,11 +3528,11 @@ var init_presets = __esm({
|
|
|
3531
3528
|
}
|
|
3532
3529
|
});
|
|
3533
3530
|
|
|
3534
|
-
// ../theme-core/src/site-styles/
|
|
3531
|
+
// ../theme-core/src/site-styles/styleTags.ts
|
|
3535
3532
|
import { z as z2 } from "zod";
|
|
3536
3533
|
var STYLE_AXIS_VALUES, styleTagsSchema;
|
|
3537
|
-
var
|
|
3538
|
-
"../theme-core/src/site-styles/
|
|
3534
|
+
var init_styleTags = __esm({
|
|
3535
|
+
"../theme-core/src/site-styles/styleTags.ts"() {
|
|
3539
3536
|
"use strict";
|
|
3540
3537
|
STYLE_AXIS_VALUES = {
|
|
3541
3538
|
tone: ["minimal", "classic", "bold"],
|
|
@@ -3574,7 +3571,7 @@ var init_types2 = __esm({
|
|
|
3574
3571
|
"../theme-core/src/buttons/personalities/types.ts"() {
|
|
3575
3572
|
"use strict";
|
|
3576
3573
|
init_types();
|
|
3577
|
-
|
|
3574
|
+
init_styleTags();
|
|
3578
3575
|
buttonPersonalityIdSchema = z3.string().min(1).transform((value) => asButtonPersonalityId(value));
|
|
3579
3576
|
buttonPersonalitySchema = z3.object({
|
|
3580
3577
|
id: buttonPersonalityIdSchema,
|
|
@@ -4827,6 +4824,7 @@ var init_assertNever = __esm({
|
|
|
4827
4824
|
var init_participants = __esm({
|
|
4828
4825
|
"../core/src/participants.ts"() {
|
|
4829
4826
|
"use strict";
|
|
4827
|
+
init_branded();
|
|
4830
4828
|
init_result();
|
|
4831
4829
|
}
|
|
4832
4830
|
});
|
|
@@ -6047,7 +6045,7 @@ function getServerStorage() {
|
|
|
6047
6045
|
_serverStorageChecked = true;
|
|
6048
6046
|
try {
|
|
6049
6047
|
const globalWithNonWebpackRequire = globalThis;
|
|
6050
|
-
const nonWebpackRequire = typeof globalWithNonWebpackRequire.__non_webpack_require__ === "function" ? globalWithNonWebpackRequire.__non_webpack_require__ :
|
|
6048
|
+
const nonWebpackRequire = typeof globalWithNonWebpackRequire.__non_webpack_require__ === "function" ? globalWithNonWebpackRequire.__non_webpack_require__ : new Function("id", "return require(id)");
|
|
6051
6049
|
const asyncHooks = nonWebpackRequire("async_hooks");
|
|
6052
6050
|
const AsyncLocalStorage = asyncHooks.AsyncLocalStorage;
|
|
6053
6051
|
if (AsyncLocalStorage) {
|
|
@@ -7844,6 +7842,19 @@ var init_media2 = __esm({
|
|
|
7844
7842
|
}
|
|
7845
7843
|
});
|
|
7846
7844
|
|
|
7845
|
+
// ../blocks/src/system/runtime/shared/themedButtonClass.ts
|
|
7846
|
+
function themedButtonClass(spec) {
|
|
7847
|
+
const { variant, size, extraClassName } = spec;
|
|
7848
|
+
const normalizedVariant = variant.trim();
|
|
7849
|
+
const variantClasses = normalizedVariant ? [normalizedVariant, `button-${normalizedVariant}`] : [];
|
|
7850
|
+
return [...variantClasses, `btn-${size}`, extraClassName].filter(Boolean).join(" ");
|
|
7851
|
+
}
|
|
7852
|
+
var init_themedButtonClass = __esm({
|
|
7853
|
+
"../blocks/src/system/runtime/shared/themedButtonClass.ts"() {
|
|
7854
|
+
"use strict";
|
|
7855
|
+
}
|
|
7856
|
+
});
|
|
7857
|
+
|
|
7847
7858
|
// ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
7848
7859
|
import { jsx as jsx13, jsxs } from "react/jsx-runtime";
|
|
7849
7860
|
function isDownloadableMediaType(type) {
|
|
@@ -7917,7 +7928,11 @@ function FileDownloadNode({
|
|
|
7917
7928
|
{
|
|
7918
7929
|
href,
|
|
7919
7930
|
download: filename,
|
|
7920
|
-
className:
|
|
7931
|
+
className: themedButtonClass({
|
|
7932
|
+
variant,
|
|
7933
|
+
size: "md",
|
|
7934
|
+
extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
|
|
7935
|
+
}),
|
|
7921
7936
|
children: [
|
|
7922
7937
|
/* @__PURE__ */ jsx13(Download, { "aria-hidden": "true" }),
|
|
7923
7938
|
label
|
|
@@ -7933,6 +7948,7 @@ var init_file_download = __esm({
|
|
|
7933
7948
|
init_lucide_react();
|
|
7934
7949
|
init_colorStyles();
|
|
7935
7950
|
init_media2();
|
|
7951
|
+
init_themedButtonClass();
|
|
7936
7952
|
init_media();
|
|
7937
7953
|
FILE_DOWNLOAD_BUTTON_VARIANTS = ["primary", "secondary", "outline", "link"];
|
|
7938
7954
|
}
|
|
@@ -11518,6 +11534,7 @@ var init_EventCard = __esm({
|
|
|
11518
11534
|
init_EventCardIcons();
|
|
11519
11535
|
init_eventCapacity();
|
|
11520
11536
|
init_utils();
|
|
11537
|
+
init_themedButtonClass();
|
|
11521
11538
|
EventCard = ({
|
|
11522
11539
|
event,
|
|
11523
11540
|
cardVariant = "default",
|
|
@@ -11543,7 +11560,7 @@ var init_EventCard = __esm({
|
|
|
11543
11560
|
const isSoldOut = cta.hidden;
|
|
11544
11561
|
const { available: spotsLeft } = getEventAvailability(event);
|
|
11545
11562
|
const cardClass = `card-${cardVariant}`;
|
|
11546
|
-
const buttonClass =
|
|
11563
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
11547
11564
|
const title = event.title;
|
|
11548
11565
|
const summary = event.presentation?.summary ?? event.description;
|
|
11549
11566
|
const image = event.presentation?.image ?? null;
|
|
@@ -11625,6 +11642,7 @@ var init_EventCompactRow = __esm({
|
|
|
11625
11642
|
"use strict";
|
|
11626
11643
|
init_utils();
|
|
11627
11644
|
init_EventCardIcons();
|
|
11645
|
+
init_themedButtonClass();
|
|
11628
11646
|
EventCompactRow = ({
|
|
11629
11647
|
event,
|
|
11630
11648
|
buttonVariant = "primary",
|
|
@@ -11636,7 +11654,7 @@ var init_EventCompactRow = __esm({
|
|
|
11636
11654
|
const price = formatEventPrice(event);
|
|
11637
11655
|
const teacherLine = formatEventTeacherLine(event);
|
|
11638
11656
|
const cta = resolveEventCta(event, buttonText);
|
|
11639
|
-
const buttonClass =
|
|
11657
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "sm" });
|
|
11640
11658
|
return /* @__PURE__ */ jsxs17("div", { className: "event-compact-row", children: [
|
|
11641
11659
|
/* @__PURE__ */ jsxs17("div", { className: "event-compact-row-content", children: [
|
|
11642
11660
|
/* @__PURE__ */ jsxs17("div", { className: "event-compact-row-top", children: [
|
|
@@ -11708,6 +11726,7 @@ var init_EventSpotlight = __esm({
|
|
|
11708
11726
|
"../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx"() {
|
|
11709
11727
|
"use strict";
|
|
11710
11728
|
init_shared3();
|
|
11729
|
+
init_themedButtonClass();
|
|
11711
11730
|
EventSpotlight = ({
|
|
11712
11731
|
events,
|
|
11713
11732
|
layout = "grid",
|
|
@@ -11729,7 +11748,7 @@ var init_EventSpotlight = __esm({
|
|
|
11729
11748
|
}
|
|
11730
11749
|
const containerClass = getContainerClass(layout, columns);
|
|
11731
11750
|
const cardOrientation = getCardOrientation(layout);
|
|
11732
|
-
const buttonClass =
|
|
11751
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
11733
11752
|
return /* @__PURE__ */ jsxs19("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
|
|
11734
11753
|
/* @__PURE__ */ jsx33("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx33(
|
|
11735
11754
|
EventCard,
|
|
@@ -13151,7 +13170,8 @@ function ctaButton(opts) {
|
|
|
13151
13170
|
},
|
|
13152
13171
|
size: {
|
|
13153
13172
|
$bind: {
|
|
13154
|
-
from: sizePath
|
|
13173
|
+
from: sizePath,
|
|
13174
|
+
fallback: opts?.sizeFallback ?? "md"
|
|
13155
13175
|
}
|
|
13156
13176
|
},
|
|
13157
13177
|
...opts?.className ? { className: opts.className } : {},
|
|
@@ -24039,7 +24059,10 @@ function renderCalendarGrid(display) {
|
|
|
24039
24059
|
"button",
|
|
24040
24060
|
{
|
|
24041
24061
|
type: "button",
|
|
24042
|
-
className:
|
|
24062
|
+
className: themedButtonClass({
|
|
24063
|
+
variant: display.buttonVariant,
|
|
24064
|
+
size: "sm"
|
|
24065
|
+
}),
|
|
24043
24066
|
children: "Today"
|
|
24044
24067
|
}
|
|
24045
24068
|
)
|
|
@@ -24122,7 +24145,10 @@ function renderTimetableSsr(display) {
|
|
|
24122
24145
|
"button",
|
|
24123
24146
|
{
|
|
24124
24147
|
type: "button",
|
|
24125
|
-
className:
|
|
24148
|
+
className: themedButtonClass({
|
|
24149
|
+
variant: display.buttonVariant,
|
|
24150
|
+
size: "sm"
|
|
24151
|
+
}),
|
|
24126
24152
|
children: "Today"
|
|
24127
24153
|
}
|
|
24128
24154
|
)
|
|
@@ -24247,6 +24273,7 @@ var init_EventCalendar_server = __esm({
|
|
|
24247
24273
|
init_renderEventListItem();
|
|
24248
24274
|
init_utils();
|
|
24249
24275
|
init_timetableModel();
|
|
24276
|
+
init_themedButtonClass();
|
|
24250
24277
|
EventCalendarSSR = (props2) => {
|
|
24251
24278
|
const islandProps = buildEventCalendarInteractiveIslandProps(props2);
|
|
24252
24279
|
const display = islandProps.render.display;
|
|
@@ -24377,6 +24404,7 @@ var init_form_server = __esm({
|
|
|
24377
24404
|
"use strict";
|
|
24378
24405
|
init_clsx();
|
|
24379
24406
|
init_ssr();
|
|
24407
|
+
init_themedButtonClass();
|
|
24380
24408
|
init_form_interactive();
|
|
24381
24409
|
FormNodeSSR = ({
|
|
24382
24410
|
blockId,
|
|
@@ -24510,7 +24538,18 @@ var init_form_server = __esm({
|
|
|
24510
24538
|
}
|
|
24511
24539
|
return renderField(group.field);
|
|
24512
24540
|
}),
|
|
24513
|
-
/* @__PURE__ */ jsx46("div", { className: "fb-actions", children: /* @__PURE__ */ jsx46("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx46(
|
|
24541
|
+
/* @__PURE__ */ jsx46("div", { className: "fb-actions", children: /* @__PURE__ */ jsx46("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx46(
|
|
24542
|
+
"button",
|
|
24543
|
+
{
|
|
24544
|
+
type: "submit",
|
|
24545
|
+
className: themedButtonClass({
|
|
24546
|
+
variant: "primary",
|
|
24547
|
+
size: "md",
|
|
24548
|
+
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
24549
|
+
}),
|
|
24550
|
+
children: display.submitLabel
|
|
24551
|
+
}
|
|
24552
|
+
) }) })
|
|
24514
24553
|
]
|
|
24515
24554
|
}
|
|
24516
24555
|
)
|
|
@@ -24592,7 +24631,14 @@ function NewsletterFormSSR({
|
|
|
24592
24631
|
),
|
|
24593
24632
|
/* @__PURE__ */ jsxs32("div", { className: "newsletter-form-fields", children: [
|
|
24594
24633
|
fields3.map(renderField),
|
|
24595
|
-
/* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
|
|
24634
|
+
/* @__PURE__ */ jsx47("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx47(
|
|
24635
|
+
"button",
|
|
24636
|
+
{
|
|
24637
|
+
type: "submit",
|
|
24638
|
+
className: themedButtonClass({ variant: "primary", size: "md" }),
|
|
24639
|
+
children: display.buttonLabel
|
|
24640
|
+
}
|
|
24641
|
+
) })
|
|
24596
24642
|
] }),
|
|
24597
24643
|
display.privacyNote && /* @__PURE__ */ jsx47("p", { className: "newsletter-privacy-note", children: display.privacyNote })
|
|
24598
24644
|
] })
|
|
@@ -24606,6 +24652,7 @@ var init_newsletter_form_server = __esm({
|
|
|
24606
24652
|
"use strict";
|
|
24607
24653
|
init_clsx();
|
|
24608
24654
|
init_ssr();
|
|
24655
|
+
init_themedButtonClass();
|
|
24609
24656
|
init_newsletter_form_interactive();
|
|
24610
24657
|
newsletter_form_server_default = NewsletterFormSSR;
|
|
24611
24658
|
}
|
|
@@ -32894,6 +32941,7 @@ var init_PaymentSelectionStep = __esm({
|
|
|
32894
32941
|
init_lucide_react();
|
|
32895
32942
|
init_utils3();
|
|
32896
32943
|
init_spinner();
|
|
32944
|
+
init_themedButtonClass();
|
|
32897
32945
|
init_CheckIcon2();
|
|
32898
32946
|
init_SelectableOptionCard();
|
|
32899
32947
|
PaymentSelectionStep = ({
|
|
@@ -32994,7 +33042,7 @@ var init_PaymentSelectionStep = __esm({
|
|
|
32994
33042
|
"button",
|
|
32995
33043
|
{
|
|
32996
33044
|
type: "button",
|
|
32997
|
-
className: "primary
|
|
33045
|
+
className: themedButtonClass({ variant: "primary", size: "md" }),
|
|
32998
33046
|
disabled: !email.trim(),
|
|
32999
33047
|
onClick: onRequestLogin,
|
|
33000
33048
|
children: "Email me a login link"
|
|
@@ -34718,7 +34766,7 @@ function EventRegistrationWizard(props2) {
|
|
|
34718
34766
|
} = props2;
|
|
34719
34767
|
const maxTicketsNum = parseInt(maxTickets, 10) || 5;
|
|
34720
34768
|
const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
34721
|
-
const buttonClass =
|
|
34769
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
34722
34770
|
const wizard = useEventRegistrationWizard({
|
|
34723
34771
|
anchorId: EVENT_REGISTRATION_ANCHOR_ID,
|
|
34724
34772
|
occurrenceContext: occurrenceContext ?? null,
|
|
@@ -34855,6 +34903,7 @@ var init_EventRegistrationWizard = __esm({
|
|
|
34855
34903
|
init_useEventRegistrationWizard();
|
|
34856
34904
|
init_MagicLinkForm();
|
|
34857
34905
|
init_spinner();
|
|
34906
|
+
init_themedButtonClass();
|
|
34858
34907
|
init_event_registration2();
|
|
34859
34908
|
EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
|
|
34860
34909
|
EVENT_PORTAL_AUTH_COPY = {
|
|
@@ -35300,7 +35349,7 @@ function ErrorStep2({
|
|
|
35300
35349
|
buttonVariant = "primary",
|
|
35301
35350
|
onRetry
|
|
35302
35351
|
}) {
|
|
35303
|
-
const buttonClass =
|
|
35352
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
35304
35353
|
return /* @__PURE__ */ jsxs73("div", { className: "cr-error", role: "alert", children: [
|
|
35305
35354
|
/* @__PURE__ */ jsx100(StateIcon, { variant: "error", children: /* @__PURE__ */ jsx100(CrossIcon, {}) }),
|
|
35306
35355
|
/* @__PURE__ */ jsx100("h3", { className: "cr-error__title", children: "Enrollment Failed" }),
|
|
@@ -35312,6 +35361,7 @@ var init_ErrorStep2 = __esm({
|
|
|
35312
35361
|
"../blocks/src/system/runtime/nodes/course-registration/ErrorStep.tsx"() {
|
|
35313
35362
|
"use strict";
|
|
35314
35363
|
init_shared6();
|
|
35364
|
+
init_themedButtonClass();
|
|
35315
35365
|
}
|
|
35316
35366
|
});
|
|
35317
35367
|
|
|
@@ -35323,7 +35373,7 @@ function VerifyingTimeoutStep2({
|
|
|
35323
35373
|
onCheckAgain,
|
|
35324
35374
|
supportEmail
|
|
35325
35375
|
}) {
|
|
35326
|
-
const buttonClass =
|
|
35376
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
35327
35377
|
return /* @__PURE__ */ jsxs74("div", { className: "cr-error", role: "alert", children: [
|
|
35328
35378
|
/* @__PURE__ */ jsx101(StateIcon, { variant: "warning", children: /* @__PURE__ */ jsx101(ClockIcon, {}) }),
|
|
35329
35379
|
/* @__PURE__ */ jsx101("h3", { className: "cr-error__title", children: "Payment Verification Taking Longer" }),
|
|
@@ -35340,6 +35390,7 @@ var init_VerifyingTimeoutStep2 = __esm({
|
|
|
35340
35390
|
"../blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.tsx"() {
|
|
35341
35391
|
"use strict";
|
|
35342
35392
|
init_shared6();
|
|
35393
|
+
init_themedButtonClass();
|
|
35343
35394
|
}
|
|
35344
35395
|
});
|
|
35345
35396
|
|
|
@@ -35351,7 +35402,7 @@ function PaymentFailedStep2({
|
|
|
35351
35402
|
buttonVariant = "primary",
|
|
35352
35403
|
onRetry
|
|
35353
35404
|
}) {
|
|
35354
|
-
const buttonClass =
|
|
35405
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
35355
35406
|
return /* @__PURE__ */ jsxs75("div", { className: "cr-payment-failed", role: "alert", children: [
|
|
35356
35407
|
/* @__PURE__ */ jsx102(StateIcon, { variant: "error", children: /* @__PURE__ */ jsx102(CrossIcon, {}) }),
|
|
35357
35408
|
/* @__PURE__ */ jsx102("h3", { className: "cr-payment-failed__title", children: "Payment Failed" }),
|
|
@@ -35363,6 +35414,7 @@ var init_PaymentFailedStep2 = __esm({
|
|
|
35363
35414
|
"../blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.tsx"() {
|
|
35364
35415
|
"use strict";
|
|
35365
35416
|
init_shared6();
|
|
35417
|
+
init_themedButtonClass();
|
|
35366
35418
|
}
|
|
35367
35419
|
});
|
|
35368
35420
|
|
|
@@ -36355,7 +36407,7 @@ function CourseRegistrationWizard(props2) {
|
|
|
36355
36407
|
handleRetry,
|
|
36356
36408
|
handleBookingModeChange
|
|
36357
36409
|
} = useCourseRegistrationWizard(props2);
|
|
36358
|
-
const buttonClass =
|
|
36410
|
+
const buttonClass = themedButtonClass({ variant: buttonVariant, size: "md" });
|
|
36359
36411
|
if (scopedCourses.length === 0) {
|
|
36360
36412
|
return /* @__PURE__ */ jsx106(
|
|
36361
36413
|
"div",
|
|
@@ -36765,6 +36817,7 @@ var init_CourseRegistrationWizard = __esm({
|
|
|
36765
36817
|
init_PaymentFailedStep2();
|
|
36766
36818
|
init_VerifyingTimeoutStep2();
|
|
36767
36819
|
init_spinner();
|
|
36820
|
+
init_themedButtonClass();
|
|
36768
36821
|
}
|
|
36769
36822
|
});
|
|
36770
36823
|
|
|
@@ -41154,6 +41207,7 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
41154
41207
|
init_EventCompactRow();
|
|
41155
41208
|
init_EmptyState();
|
|
41156
41209
|
init_EventListing_view();
|
|
41210
|
+
init_themedButtonClass();
|
|
41157
41211
|
EventPaginatedListView = ({
|
|
41158
41212
|
filters,
|
|
41159
41213
|
display,
|
|
@@ -41196,7 +41250,10 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
41196
41250
|
{
|
|
41197
41251
|
type: "button",
|
|
41198
41252
|
onClick: loadMore,
|
|
41199
|
-
className:
|
|
41253
|
+
className: themedButtonClass({
|
|
41254
|
+
variant: display.buttonVariant,
|
|
41255
|
+
size: "md"
|
|
41256
|
+
}),
|
|
41200
41257
|
children: "Try again"
|
|
41201
41258
|
}
|
|
41202
41259
|
)
|
|
@@ -41207,11 +41264,25 @@ var init_EventPaginatedListView_client = __esm({
|
|
|
41207
41264
|
type: "button",
|
|
41208
41265
|
onClick: loadMore,
|
|
41209
41266
|
disabled: loading,
|
|
41210
|
-
className:
|
|
41267
|
+
className: themedButtonClass({
|
|
41268
|
+
variant: display.buttonVariant,
|
|
41269
|
+
size: "md",
|
|
41270
|
+
extraClassName: loading ? "rb-opacity-50 rb-cursor-wait" : null
|
|
41271
|
+
}),
|
|
41211
41272
|
children: loading ? "Loading..." : loadMoreText
|
|
41212
41273
|
}
|
|
41213
41274
|
) }) : null,
|
|
41214
|
-
paginationMode === "seeAllLink" && seeAllUrl && hasMore ? /* @__PURE__ */ jsx124("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx124(
|
|
41275
|
+
paginationMode === "seeAllLink" && seeAllUrl && hasMore ? /* @__PURE__ */ jsx124("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx124(
|
|
41276
|
+
"a",
|
|
41277
|
+
{
|
|
41278
|
+
href: seeAllUrl,
|
|
41279
|
+
className: themedButtonClass({
|
|
41280
|
+
variant: display.buttonVariant,
|
|
41281
|
+
size: "md"
|
|
41282
|
+
}),
|
|
41283
|
+
children: loadMoreText
|
|
41284
|
+
}
|
|
41285
|
+
) }) : null
|
|
41215
41286
|
] }),
|
|
41216
41287
|
renderEventCard: (event) => display.listLayout === "compact" ? /* @__PURE__ */ jsx124(
|
|
41217
41288
|
EventCompactRow,
|
|
@@ -42555,6 +42626,7 @@ var init_EventCombined_client = __esm({
|
|
|
42555
42626
|
init_EventModalContext();
|
|
42556
42627
|
init_EventModals();
|
|
42557
42628
|
init_utils();
|
|
42629
|
+
init_themedButtonClass();
|
|
42558
42630
|
EventCombinedClient = ({
|
|
42559
42631
|
events: initialEvents,
|
|
42560
42632
|
siteId,
|
|
@@ -42880,7 +42952,7 @@ var init_EventCombined_client = __esm({
|
|
|
42880
42952
|
{
|
|
42881
42953
|
type: "button",
|
|
42882
42954
|
onClick: goToToday,
|
|
42883
|
-
className:
|
|
42955
|
+
className: themedButtonClass({ variant: buttonVariant, size: "sm" }),
|
|
42884
42956
|
children: "Today"
|
|
42885
42957
|
}
|
|
42886
42958
|
)
|
|
@@ -43197,6 +43269,7 @@ var init_EventCalendar_client = __esm({
|
|
|
43197
43269
|
init_EventModalContext();
|
|
43198
43270
|
init_EventModals();
|
|
43199
43271
|
init_WeekTimetableView();
|
|
43272
|
+
init_themedButtonClass();
|
|
43200
43273
|
EventCalendarClient = ({
|
|
43201
43274
|
render
|
|
43202
43275
|
}) => {
|
|
@@ -43485,7 +43558,10 @@ var init_EventCalendar_client = __esm({
|
|
|
43485
43558
|
{
|
|
43486
43559
|
type: "button",
|
|
43487
43560
|
onClick: onToday,
|
|
43488
|
-
className:
|
|
43561
|
+
className: themedButtonClass({
|
|
43562
|
+
variant: display.buttonVariant,
|
|
43563
|
+
size: "sm"
|
|
43564
|
+
}),
|
|
43489
43565
|
children: "Today"
|
|
43490
43566
|
}
|
|
43491
43567
|
)
|
|
@@ -43498,7 +43574,10 @@ var init_EventCalendar_client = __esm({
|
|
|
43498
43574
|
{
|
|
43499
43575
|
type: "button",
|
|
43500
43576
|
onClick: onToday,
|
|
43501
|
-
className:
|
|
43577
|
+
className: themedButtonClass({
|
|
43578
|
+
variant: display.buttonVariant,
|
|
43579
|
+
size: "sm"
|
|
43580
|
+
}),
|
|
43502
43581
|
children: "Try again"
|
|
43503
43582
|
}
|
|
43504
43583
|
)
|
|
@@ -43593,6 +43672,7 @@ var init_form_client = __esm({
|
|
|
43593
43672
|
init_client2();
|
|
43594
43673
|
init_src3();
|
|
43595
43674
|
init_useFormSubmission();
|
|
43675
|
+
init_themedButtonClass();
|
|
43596
43676
|
FormNodeClient = ({
|
|
43597
43677
|
render
|
|
43598
43678
|
}) => {
|
|
@@ -43730,7 +43810,19 @@ var init_form_client = __esm({
|
|
|
43730
43810
|
return renderField(group.field);
|
|
43731
43811
|
}),
|
|
43732
43812
|
showSpamProtection && /* @__PURE__ */ jsx137(AltchaWidget, { challengeUrl: getChallengeUrl(), onSolutionChange: setAltchaSolution }),
|
|
43733
|
-
/* @__PURE__ */ jsx137("div", { className: "fb-actions", children: /* @__PURE__ */ jsx137("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx137(
|
|
43813
|
+
/* @__PURE__ */ jsx137("div", { className: "fb-actions", children: /* @__PURE__ */ jsx137("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx137(
|
|
43814
|
+
"button",
|
|
43815
|
+
{
|
|
43816
|
+
type: "submit",
|
|
43817
|
+
className: themedButtonClass({
|
|
43818
|
+
variant: "primary",
|
|
43819
|
+
size: "md",
|
|
43820
|
+
extraClassName: "rb-w-full rb-sm-w-auto"
|
|
43821
|
+
}),
|
|
43822
|
+
disabled: state.tag === "submitting",
|
|
43823
|
+
children: state.tag === "submitting" ? "Submitting..." : render.display.submitLabel
|
|
43824
|
+
}
|
|
43825
|
+
) }) })
|
|
43734
43826
|
] });
|
|
43735
43827
|
};
|
|
43736
43828
|
}
|
|
@@ -43849,7 +43941,7 @@ function NewsletterFormClient({
|
|
|
43849
43941
|
"button",
|
|
43850
43942
|
{
|
|
43851
43943
|
type: "submit",
|
|
43852
|
-
className: "primary
|
|
43944
|
+
className: themedButtonClass({ variant: "primary", size: "md" }),
|
|
43853
43945
|
disabled: isSubmitting,
|
|
43854
43946
|
children: isSubmitting ? "Subscribing..." : render.display.buttonLabel
|
|
43855
43947
|
}
|
|
@@ -43867,6 +43959,7 @@ var init_newsletter_form_client = __esm({
|
|
|
43867
43959
|
init_client2();
|
|
43868
43960
|
init_src3();
|
|
43869
43961
|
init_api();
|
|
43962
|
+
init_themedButtonClass();
|
|
43870
43963
|
}
|
|
43871
43964
|
});
|
|
43872
43965
|
|
|
@@ -58788,35 +58881,61 @@ function buildFieldSchema(field, allowNull, allowIncomplete = false) {
|
|
|
58788
58881
|
}
|
|
58789
58882
|
return finalizeSchema(schema, required, allowNull, allowIncomplete);
|
|
58790
58883
|
}
|
|
58884
|
+
function buildFriendlyStringSchema(field) {
|
|
58885
|
+
return z40.string({
|
|
58886
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
58887
|
+
});
|
|
58888
|
+
}
|
|
58791
58889
|
function buildTextSchema(field) {
|
|
58792
58890
|
const ui = field.ui ?? {};
|
|
58793
58891
|
const inputType = ui?.inputType;
|
|
58794
58892
|
let schema;
|
|
58795
58893
|
if (inputType === "number") {
|
|
58796
|
-
schema = z40.coerce.number(
|
|
58797
|
-
|
|
58798
|
-
|
|
58894
|
+
schema = z40.coerce.number({
|
|
58895
|
+
error: (issue) => issue.input === void 0 ? `${field.label} is required` : `${field.label} needs a number`
|
|
58896
|
+
});
|
|
58897
|
+
if (typeof ui?.min === "number") {
|
|
58898
|
+
schema = schema.min(
|
|
58899
|
+
ui.min,
|
|
58900
|
+
`${field.label} must be ${ui.min} or more`
|
|
58901
|
+
);
|
|
58902
|
+
}
|
|
58903
|
+
if (typeof ui?.max === "number") {
|
|
58904
|
+
schema = schema.max(
|
|
58905
|
+
ui.max,
|
|
58906
|
+
`${field.label} must be ${ui.max} or less`
|
|
58907
|
+
);
|
|
58908
|
+
}
|
|
58799
58909
|
} else {
|
|
58800
|
-
schema =
|
|
58910
|
+
schema = buildFriendlyStringSchema(field);
|
|
58801
58911
|
if (inputType === "email") {
|
|
58802
|
-
schema = schema.email(
|
|
58912
|
+
schema = schema.email("Enter a valid email address");
|
|
58803
58913
|
}
|
|
58804
58914
|
if (inputType === "tel") {
|
|
58805
58915
|
const TEL_RE = /^[+()0-9\s\-]{3,}$/;
|
|
58806
|
-
schema = schema.regex(
|
|
58916
|
+
schema = schema.regex(
|
|
58917
|
+
TEL_RE,
|
|
58918
|
+
"Enter a valid phone number"
|
|
58919
|
+
);
|
|
58807
58920
|
}
|
|
58808
58921
|
if (ui?.pattern) {
|
|
58809
58922
|
try {
|
|
58810
58923
|
const re = new RegExp(ui.pattern);
|
|
58811
|
-
schema = schema.regex(
|
|
58924
|
+
schema = schema.regex(
|
|
58925
|
+
re,
|
|
58926
|
+
`${field.label} is not in the right format`
|
|
58927
|
+
);
|
|
58812
58928
|
} catch {
|
|
58813
58929
|
}
|
|
58814
58930
|
}
|
|
58815
58931
|
if (field.maxLength) {
|
|
58816
|
-
schema = schema.max(
|
|
58932
|
+
schema = schema.max(
|
|
58933
|
+
field.maxLength,
|
|
58934
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
58935
|
+
);
|
|
58817
58936
|
}
|
|
58818
58937
|
if (field.required) {
|
|
58819
|
-
schema = schema.min(1, `${field.label} is required`).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
58938
|
+
schema = schema.min(1, { message: `${field.label} is required` }).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
58820
58939
|
}
|
|
58821
58940
|
}
|
|
58822
58941
|
return schema;
|
|
@@ -58826,19 +58945,22 @@ function buildRichTextSchema2() {
|
|
|
58826
58945
|
}
|
|
58827
58946
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
58828
58947
|
function buildSlugSchema(field) {
|
|
58829
|
-
const message = `${field.label}
|
|
58830
|
-
let schema =
|
|
58948
|
+
const message = `${field.label} can only use lowercase letters, numbers, and dashes`;
|
|
58949
|
+
let schema = buildFriendlyStringSchema(field).regex(SLUG_PATTERN, message);
|
|
58831
58950
|
if (field.maxLength) {
|
|
58832
|
-
schema = schema.max(
|
|
58951
|
+
schema = schema.max(
|
|
58952
|
+
field.maxLength,
|
|
58953
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
58954
|
+
);
|
|
58833
58955
|
}
|
|
58834
58956
|
if (field.required) {
|
|
58835
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
58957
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
58836
58958
|
}
|
|
58837
58959
|
return schema;
|
|
58838
58960
|
}
|
|
58839
58961
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
58840
58962
|
function buildUrlSchema(field) {
|
|
58841
|
-
const message =
|
|
58963
|
+
const message = "Enter a valid web address";
|
|
58842
58964
|
const validate = (value) => {
|
|
58843
58965
|
if (!value) {
|
|
58844
58966
|
return !field.required;
|
|
@@ -58848,14 +58970,16 @@ function buildUrlSchema(field) {
|
|
|
58848
58970
|
}
|
|
58849
58971
|
try {
|
|
58850
58972
|
const parsed = new URL(value);
|
|
58851
|
-
return ALLOWED_URL_PROTOCOLS.includes(
|
|
58973
|
+
return ALLOWED_URL_PROTOCOLS.includes(
|
|
58974
|
+
parsed.protocol
|
|
58975
|
+
);
|
|
58852
58976
|
} catch {
|
|
58853
58977
|
return false;
|
|
58854
58978
|
}
|
|
58855
58979
|
};
|
|
58856
|
-
let schema =
|
|
58980
|
+
let schema = buildFriendlyStringSchema(field).trim().refine(validate, message);
|
|
58857
58981
|
if (field.required) {
|
|
58858
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
58982
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
58859
58983
|
}
|
|
58860
58984
|
return schema;
|
|
58861
58985
|
}
|
|
@@ -58908,10 +59032,13 @@ function buildSelectSchema(field) {
|
|
|
58908
59032
|
switch (source.kind) {
|
|
58909
59033
|
case "sdk":
|
|
58910
59034
|
case "site":
|
|
58911
|
-
return
|
|
59035
|
+
return buildFriendlyStringSchema(field);
|
|
58912
59036
|
case "static": {
|
|
58913
59037
|
const values = field.options.map((option) => option.value);
|
|
58914
|
-
return
|
|
59038
|
+
return buildFriendlyStringSchema(field).refine(
|
|
59039
|
+
(value) => values.includes(value),
|
|
59040
|
+
`Choose one of the available options for ${field.label}`
|
|
59041
|
+
);
|
|
58915
59042
|
}
|
|
58916
59043
|
default:
|
|
58917
59044
|
return assertNeverSelectSource2(source);
|
|
@@ -58919,14 +59046,16 @@ function buildSelectSchema(field) {
|
|
|
58919
59046
|
})();
|
|
58920
59047
|
if (field.multiple) {
|
|
58921
59048
|
const arraySchema = z40.array(singleValueSchema);
|
|
58922
|
-
return field.required ? arraySchema : arraySchema.nullable();
|
|
59049
|
+
return field.required ? arraySchema.min(1, { message: "This field is required" }) : arraySchema.nullable();
|
|
58923
59050
|
}
|
|
58924
59051
|
return field.required ? singleValueSchema : singleValueSchema.nullable();
|
|
58925
59052
|
}
|
|
58926
59053
|
function buildReferenceSchema(field) {
|
|
58927
|
-
let schema = z40.string(
|
|
59054
|
+
let schema = z40.string({
|
|
59055
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
59056
|
+
});
|
|
58928
59057
|
if (field.required) {
|
|
58929
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
59058
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
58930
59059
|
}
|
|
58931
59060
|
return schema;
|
|
58932
59061
|
}
|
|
@@ -59301,649 +59430,56 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
59301
59430
|
}
|
|
59302
59431
|
}
|
|
59303
59432
|
|
|
59304
|
-
// ../theme-core/src/site-styles/index.ts
|
|
59305
|
-
init_compatibility();
|
|
59306
|
-
|
|
59307
|
-
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
59308
|
-
var generatedContentFrames = [
|
|
59309
|
-
plainFrame,
|
|
59310
|
-
panelFrame("inset"),
|
|
59311
|
-
panelFrame("raised"),
|
|
59312
|
-
flushPanelFrame({ bleed: "start" })
|
|
59313
|
-
];
|
|
59314
|
-
var userContentFrames = [
|
|
59315
|
-
...generatedContentFrames,
|
|
59316
|
-
panelFrame("editorial"),
|
|
59317
|
-
flushPanelFrame({ bleed: "end" }),
|
|
59318
|
-
flushPanelFrame({ bleed: "both" })
|
|
59319
|
-
];
|
|
59320
|
-
var generatedDesignOptionCatalog = {
|
|
59321
|
-
source: "generated",
|
|
59322
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
59323
|
-
contentFrames: generatedContentFrames,
|
|
59324
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
59325
|
-
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
59326
|
-
emphases: ["low", "medium", "high"],
|
|
59327
|
-
detachedCustom: false
|
|
59328
|
-
};
|
|
59329
|
-
var userDesignOptionCatalog = {
|
|
59330
|
-
source: "user",
|
|
59331
|
-
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
59332
|
-
contentFrames: userContentFrames,
|
|
59333
|
-
itemSurfaces: [
|
|
59334
|
-
...generatedDesignOptionCatalog.itemSurfaces,
|
|
59335
|
-
"inset",
|
|
59336
|
-
"editorial"
|
|
59337
|
-
],
|
|
59338
|
-
transitions: [
|
|
59339
|
-
...generatedDesignOptionCatalog.transitions,
|
|
59340
|
-
"wave-edge",
|
|
59341
|
-
"angle-edge"
|
|
59342
|
-
],
|
|
59343
|
-
emphases: generatedDesignOptionCatalog.emphases,
|
|
59344
|
-
detachedCustom: false
|
|
59345
|
-
};
|
|
59346
|
-
var advancedDesignOptionCatalog = {
|
|
59347
|
-
source: "advanced",
|
|
59348
|
-
sectionSurfaces: userDesignOptionCatalog.sectionSurfaces,
|
|
59349
|
-
contentFrames: userDesignOptionCatalog.contentFrames,
|
|
59350
|
-
itemSurfaces: userDesignOptionCatalog.itemSurfaces,
|
|
59351
|
-
transitions: userDesignOptionCatalog.transitions,
|
|
59352
|
-
emphases: userDesignOptionCatalog.emphases,
|
|
59353
|
-
detachedCustom: true
|
|
59354
|
-
};
|
|
59355
|
-
|
|
59356
59433
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
59357
|
-
|
|
59358
|
-
"site-style:calm-studio",
|
|
59359
|
-
"site-style:clear-professional",
|
|
59360
|
-
"site-style:warm-editorial",
|
|
59361
|
-
"site-style:bright-community",
|
|
59362
|
-
"site-style:quiet-luxury",
|
|
59363
|
-
"site-style:practical-services",
|
|
59364
|
-
"site-style:modern-wellness",
|
|
59365
|
-
"site-style:bold-launch"
|
|
59366
|
-
];
|
|
59367
|
-
var quietBudget = {
|
|
59368
|
-
accentDensity: "low",
|
|
59369
|
-
panelDensity: "medium",
|
|
59370
|
-
transitionMix: "quiet",
|
|
59371
|
-
primaryCtaLimit: 2,
|
|
59372
|
-
mediaDensity: "medium",
|
|
59373
|
-
decorativeRepetition: "low"
|
|
59374
|
-
};
|
|
59375
|
-
var balancedBudget = {
|
|
59376
|
-
accentDensity: "medium",
|
|
59377
|
-
panelDensity: "medium",
|
|
59378
|
-
transitionMix: "balanced",
|
|
59379
|
-
primaryCtaLimit: 3,
|
|
59380
|
-
mediaDensity: "medium",
|
|
59381
|
-
decorativeRepetition: "medium"
|
|
59382
|
-
};
|
|
59383
|
-
var expressiveBudget = {
|
|
59384
|
-
accentDensity: "high",
|
|
59385
|
-
panelDensity: "high",
|
|
59386
|
-
transitionMix: "expressive",
|
|
59387
|
-
primaryCtaLimit: 3,
|
|
59388
|
-
mediaDensity: "high",
|
|
59389
|
-
decorativeRepetition: "medium"
|
|
59390
|
-
};
|
|
59391
|
-
function uniqueContentFrameKinds() {
|
|
59392
|
-
const kinds = [...new Set(
|
|
59393
|
-
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
59394
|
-
)];
|
|
59395
|
-
const firstKind = kinds[0];
|
|
59396
|
-
if (!firstKind) {
|
|
59397
|
-
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
59398
|
-
}
|
|
59399
|
-
return [firstKind, ...kinds.slice(1)];
|
|
59400
|
-
}
|
|
59401
|
-
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
59402
|
-
function defineCuratedSiteStyle(input) {
|
|
59403
|
-
return {
|
|
59404
|
-
id: asSiteStyleId(input.id),
|
|
59405
|
-
name: input.name,
|
|
59406
|
-
description: input.description,
|
|
59407
|
-
generationBrief: input.generationBrief,
|
|
59408
|
-
selectionKeywords: input.selectionKeywords ?? [],
|
|
59409
|
-
template: {
|
|
59410
|
-
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
59411
|
-
name: input.name,
|
|
59412
|
-
version: 1,
|
|
59413
|
-
tokenRecipes: input.tokenRecipes,
|
|
59414
|
-
compositionBudget: input.compositionBudget,
|
|
59415
|
-
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
59416
|
-
supportedContentFrames: generatedContentFrameKinds,
|
|
59417
|
-
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
59418
|
-
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
59419
|
-
},
|
|
59420
|
-
// The library IDs are already branded at construction (`asButtonPersonalityId`
|
|
59421
|
-
// / `asPaletteVariantId`); the closed-union input type guarantees only
|
|
59422
|
-
// shipped IDs reach this branch.
|
|
59423
|
-
defaultButtonPersonalityId: input.defaultButtonPersonalityId,
|
|
59424
|
-
acceptedButtons: input.acceptedButtons,
|
|
59425
|
-
defaultPaletteVariantId: input.defaultPaletteVariantId,
|
|
59426
|
-
acceptedPalettes: input.acceptedPalettes
|
|
59427
|
-
};
|
|
59428
|
-
}
|
|
59429
|
-
var curatedSiteStyles = [
|
|
59430
|
-
defineCuratedSiteStyle({
|
|
59431
|
-
id: "site-style:calm-studio",
|
|
59432
|
-
name: "Calm Studio",
|
|
59433
|
-
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
59434
|
-
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
59435
|
-
tokenRecipes: {
|
|
59436
|
-
palette: "soft-natural",
|
|
59437
|
-
contrast: "standard",
|
|
59438
|
-
radius: "soft",
|
|
59439
|
-
shadow: "subtle",
|
|
59440
|
-
typography: "friendly-sans",
|
|
59441
|
-
spacing: "airy",
|
|
59442
|
-
motion: "subtle"
|
|
59443
|
-
},
|
|
59444
|
-
compositionBudget: quietBudget,
|
|
59445
|
-
defaultButtonPersonalityId: "soft-pill",
|
|
59446
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "editorial"] },
|
|
59447
|
-
defaultPaletteVariantId: "soft-natural-sage",
|
|
59448
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
|
|
59449
|
-
}),
|
|
59450
|
-
defineCuratedSiteStyle({
|
|
59451
|
-
id: "site-style:clear-professional",
|
|
59452
|
-
name: "Clear Professional",
|
|
59453
|
-
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
59454
|
-
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
59455
|
-
tokenRecipes: {
|
|
59456
|
-
palette: "brand-led",
|
|
59457
|
-
contrast: "strong",
|
|
59458
|
-
radius: "soft",
|
|
59459
|
-
shadow: "subtle",
|
|
59460
|
-
typography: "clean-sans",
|
|
59461
|
-
spacing: "regular",
|
|
59462
|
-
motion: "subtle"
|
|
59463
|
-
},
|
|
59464
|
-
compositionBudget: balancedBudget,
|
|
59465
|
-
defaultButtonPersonalityId: "confident-chip",
|
|
59466
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["modern", "editorial"] },
|
|
59467
|
-
defaultPaletteVariantId: "brand-led-cool",
|
|
59468
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["modern", "editorial"] }
|
|
59469
|
-
}),
|
|
59470
|
-
defineCuratedSiteStyle({
|
|
59471
|
-
id: "site-style:warm-editorial",
|
|
59472
|
-
name: "Warm Editorial",
|
|
59473
|
-
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
59474
|
-
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
59475
|
-
tokenRecipes: {
|
|
59476
|
-
palette: "warm-neutral",
|
|
59477
|
-
contrast: "standard",
|
|
59478
|
-
radius: "square",
|
|
59479
|
-
shadow: "none",
|
|
59480
|
-
typography: "serif-editorial",
|
|
59481
|
-
spacing: "airy",
|
|
59482
|
-
motion: "subtle"
|
|
59483
|
-
},
|
|
59484
|
-
compositionBudget: balancedBudget,
|
|
59485
|
-
defaultButtonPersonalityId: "editorial-link",
|
|
59486
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
|
|
59487
|
-
defaultPaletteVariantId: "warm-neutral-cream",
|
|
59488
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
|
|
59489
|
-
}),
|
|
59490
|
-
defineCuratedSiteStyle({
|
|
59491
|
-
id: "site-style:bright-community",
|
|
59492
|
-
name: "Bright Community",
|
|
59493
|
-
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
59494
|
-
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
59495
|
-
tokenRecipes: {
|
|
59496
|
-
palette: "brand-led",
|
|
59497
|
-
contrast: "standard",
|
|
59498
|
-
radius: "rounded",
|
|
59499
|
-
shadow: "subtle",
|
|
59500
|
-
typography: "friendly-sans",
|
|
59501
|
-
spacing: "regular",
|
|
59502
|
-
motion: "expressive"
|
|
59503
|
-
},
|
|
59504
|
-
compositionBudget: balancedBudget,
|
|
59505
|
-
defaultButtonPersonalityId: "pebble",
|
|
59506
|
-
acceptedButtons: { tone: ["classic", "bold"], era: ["organic", "modern"] },
|
|
59507
|
-
defaultPaletteVariantId: "brand-led-warm",
|
|
59508
|
-
acceptedPalettes: { tone: ["classic", "bold"], era: ["modern", "organic"] }
|
|
59509
|
-
}),
|
|
59510
|
-
defineCuratedSiteStyle({
|
|
59511
|
-
id: "site-style:quiet-luxury",
|
|
59512
|
-
name: "Quiet Luxury",
|
|
59513
|
-
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
59514
|
-
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
59515
|
-
selectionKeywords: [
|
|
59516
|
-
"luxury",
|
|
59517
|
-
"premium",
|
|
59518
|
-
"boutique",
|
|
59519
|
-
"bespoke",
|
|
59520
|
-
"exclusive"
|
|
59521
|
-
],
|
|
59522
|
-
tokenRecipes: {
|
|
59523
|
-
palette: "high-contrast",
|
|
59524
|
-
contrast: "strong",
|
|
59525
|
-
radius: "square",
|
|
59526
|
-
shadow: "none",
|
|
59527
|
-
typography: "classic-serif",
|
|
59528
|
-
spacing: "airy",
|
|
59529
|
-
motion: "none"
|
|
59530
|
-
},
|
|
59531
|
-
compositionBudget: quietBudget,
|
|
59532
|
-
defaultButtonPersonalityId: "editorial-link",
|
|
59533
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
|
|
59534
|
-
defaultPaletteVariantId: "high-contrast-charcoal",
|
|
59535
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
|
|
59536
|
-
}),
|
|
59537
|
-
defineCuratedSiteStyle({
|
|
59538
|
-
id: "site-style:practical-services",
|
|
59539
|
-
name: "Practical Services",
|
|
59540
|
-
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
59541
|
-
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
59542
|
-
selectionKeywords: [
|
|
59543
|
-
"repair",
|
|
59544
|
-
"plumb",
|
|
59545
|
-
"electric",
|
|
59546
|
-
"cleaning",
|
|
59547
|
-
"landscap",
|
|
59548
|
-
"contractor"
|
|
59549
|
-
],
|
|
59550
|
-
tokenRecipes: {
|
|
59551
|
-
palette: "brand-led",
|
|
59552
|
-
contrast: "maximum",
|
|
59553
|
-
radius: "soft",
|
|
59554
|
-
shadow: "subtle",
|
|
59555
|
-
typography: "clean-sans",
|
|
59556
|
-
spacing: "compact",
|
|
59557
|
-
motion: "none"
|
|
59558
|
-
},
|
|
59559
|
-
compositionBudget: quietBudget,
|
|
59560
|
-
defaultButtonPersonalityId: "confident-chip",
|
|
59561
|
-
acceptedButtons: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] },
|
|
59562
|
-
defaultPaletteVariantId: "brand-led-cool",
|
|
59563
|
-
acceptedPalettes: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] }
|
|
59564
|
-
}),
|
|
59565
|
-
defineCuratedSiteStyle({
|
|
59566
|
-
id: "site-style:modern-wellness",
|
|
59567
|
-
name: "Modern Wellness",
|
|
59568
|
-
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
59569
|
-
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
59570
|
-
tokenRecipes: {
|
|
59571
|
-
palette: "soft-natural",
|
|
59572
|
-
contrast: "standard",
|
|
59573
|
-
radius: "rounded",
|
|
59574
|
-
shadow: "subtle",
|
|
59575
|
-
typography: "clean-sans",
|
|
59576
|
-
spacing: "airy",
|
|
59577
|
-
motion: "subtle"
|
|
59578
|
-
},
|
|
59579
|
-
compositionBudget: balancedBudget,
|
|
59580
|
-
defaultButtonPersonalityId: "soft-pill",
|
|
59581
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "modern"] },
|
|
59582
|
-
defaultPaletteVariantId: "soft-natural-sage",
|
|
59583
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
|
|
59584
|
-
}),
|
|
59585
|
-
defineCuratedSiteStyle({
|
|
59586
|
-
id: "site-style:bold-launch",
|
|
59587
|
-
name: "Bold Launch",
|
|
59588
|
-
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
59589
|
-
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
59590
|
-
selectionKeywords: [
|
|
59591
|
-
"launch",
|
|
59592
|
-
"campaign",
|
|
59593
|
-
"preorder",
|
|
59594
|
-
"pre-order",
|
|
59595
|
-
"waitlist",
|
|
59596
|
-
"drop"
|
|
59597
|
-
],
|
|
59598
|
-
tokenRecipes: {
|
|
59599
|
-
palette: "high-contrast",
|
|
59600
|
-
contrast: "maximum",
|
|
59601
|
-
radius: "pill",
|
|
59602
|
-
shadow: "layered",
|
|
59603
|
-
typography: "clean-sans",
|
|
59604
|
-
spacing: "regular",
|
|
59605
|
-
motion: "expressive"
|
|
59606
|
-
},
|
|
59607
|
-
compositionBudget: expressiveBudget,
|
|
59608
|
-
defaultButtonPersonalityId: "ink-stamp",
|
|
59609
|
-
acceptedButtons: { tone: ["classic", "bold"], era: ["editorial", "organic", "modern"] },
|
|
59610
|
-
defaultPaletteVariantId: "high-contrast-monochrome",
|
|
59611
|
-
acceptedPalettes: { tone: ["bold"], era: ["editorial", "modern"] }
|
|
59612
|
-
})
|
|
59613
|
-
];
|
|
59614
|
-
var curatedSiteStylesById = new Map(
|
|
59615
|
-
curatedSiteStyles.map((style) => [style.id, style])
|
|
59616
|
-
);
|
|
59617
|
-
|
|
59618
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
59619
|
-
import { z as z41 } from "zod";
|
|
59620
|
-
|
|
59621
|
-
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
59622
|
-
var themeV2RuntimeStyleFieldNames = [
|
|
59623
|
-
"_frameStyles",
|
|
59624
|
-
"_sectionStyles",
|
|
59625
|
-
"_containerStyles",
|
|
59626
|
-
"_cardStyles",
|
|
59627
|
-
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
59628
|
-
// override object, but normal editors should still never see it directly.
|
|
59629
|
-
"styleGroup"
|
|
59630
|
-
];
|
|
59631
|
-
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
59632
|
-
"_contentCardStyles",
|
|
59633
|
-
"_textCardStyles"
|
|
59634
|
-
];
|
|
59635
|
-
var themeV2NormalEditorRawStyleFieldNames = [
|
|
59636
|
-
...themeV2RuntimeStyleFieldNames,
|
|
59637
|
-
...themeV2BlockSpecificRawStyleFieldNames
|
|
59638
|
-
];
|
|
59639
|
-
var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
59640
|
-
themeV2NormalEditorRawStyleFieldNames
|
|
59641
|
-
);
|
|
59642
|
-
|
|
59643
|
-
// ../theme-core/src/site-styles/designState.ts
|
|
59644
|
-
var themeV2DesignStateSchemaVersion = 1;
|
|
59645
|
-
var designResolutionPolicySchema = z41.enum(["generated", "user", "admin", "sdk"]);
|
|
59646
|
-
var runtimeStyleFieldNameSchema = z41.enum(themeV2RuntimeStyleFieldNames);
|
|
59647
|
-
var nonEmptyRuntimeStyleFieldNamesSchema = z41.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
59648
|
-
fields3[0],
|
|
59649
|
-
...fields3.slice(1)
|
|
59650
|
-
]);
|
|
59651
|
-
var heroLegibilityStrategySchema = z41.enum([
|
|
59652
|
-
"none",
|
|
59653
|
-
"scrim-gradient",
|
|
59654
|
-
"solid-panel"
|
|
59655
|
-
]);
|
|
59656
|
-
function uniqueNonEmpty(values) {
|
|
59657
|
-
const uniqueValues = [...new Set(values)];
|
|
59658
|
-
const firstValue = uniqueValues[0];
|
|
59659
|
-
if (!firstValue) {
|
|
59660
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
59661
|
-
}
|
|
59662
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
59663
|
-
}
|
|
59664
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
59665
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
59666
|
-
);
|
|
59667
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
59668
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
59669
|
-
);
|
|
59670
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
59671
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
59672
|
-
);
|
|
59673
|
-
var contentFrameIntentSchema = z41.discriminatedUnion("kind", [
|
|
59674
|
-
z41.object({ kind: z41.literal("plain") }).strict(),
|
|
59675
|
-
z41.object({
|
|
59676
|
-
kind: z41.literal("panel"),
|
|
59677
|
-
treatment: z41.enum(userPanelTreatments)
|
|
59678
|
-
}).strict(),
|
|
59679
|
-
z41.object({
|
|
59680
|
-
kind: z41.literal("flush-panel"),
|
|
59681
|
-
treatment: z41.enum(userFlushTreatments),
|
|
59682
|
-
bleed: z41.enum(userFlushBleeds)
|
|
59683
|
-
}).strict()
|
|
59684
|
-
]);
|
|
59685
|
-
var blockDesignPlanSchema = z41.object({
|
|
59686
|
-
blockId: z41.string().min(1).transform(asDesignBlockId),
|
|
59687
|
-
blockKind: z41.string().min(1),
|
|
59688
|
-
purpose: z41.string().min(1),
|
|
59689
|
-
sectionSurface: z41.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
59690
|
-
contentFrame: contentFrameIntentSchema,
|
|
59691
|
-
itemSurface: z41.enum(userDesignOptionCatalog.itemSurfaces),
|
|
59692
|
-
transitionAfter: z41.enum(userDesignOptionCatalog.transitions),
|
|
59693
|
-
emphasis: z41.enum(userDesignOptionCatalog.emphases),
|
|
59694
|
-
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
59695
|
-
}).strict();
|
|
59696
|
-
var styleAuthoritySchema = z41.discriminatedUnion("kind", [
|
|
59697
|
-
z41.object({
|
|
59698
|
-
kind: z41.literal("theme-v2"),
|
|
59699
|
-
source: designResolutionPolicySchema,
|
|
59700
|
-
siteStyleId: z41.string().min(1).transform(asSiteStyleId),
|
|
59701
|
-
templateId: z41.string().min(1).transform(asDesignSystemTemplateId),
|
|
59702
|
-
templateVersion: z41.number().int().nonnegative(),
|
|
59703
|
-
resolverVersion: z41.number().int().nonnegative()
|
|
59704
|
-
}).strict(),
|
|
59705
|
-
z41.object({
|
|
59706
|
-
kind: z41.literal("legacy-raw"),
|
|
59707
|
-
reason: z41.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
59708
|
-
}).strict(),
|
|
59709
|
-
z41.object({
|
|
59710
|
-
kind: z41.literal("advanced-detached"),
|
|
59711
|
-
reason: z41.literal("detached-custom-runtime-fields")
|
|
59712
|
-
}).strict()
|
|
59713
|
-
]);
|
|
59714
|
-
var blockRuntimeStyleAuthoritySchema = z41.object({
|
|
59715
|
-
unit: z41.literal("block-runtime-fields"),
|
|
59716
|
-
blockId: z41.string().min(1).transform(asDesignBlockId),
|
|
59717
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
59718
|
-
authority: styleAuthoritySchema
|
|
59719
|
-
}).strict();
|
|
59720
|
-
var persistedPageDesignStateV1Schema = z41.object({
|
|
59721
|
-
schemaVersion: z41.literal(themeV2DesignStateSchemaVersion),
|
|
59722
|
-
siteStyleId: z41.string().min(1).transform(asSiteStyleId),
|
|
59723
|
-
templateId: z41.string().min(1).transform(asDesignSystemTemplateId),
|
|
59724
|
-
templateVersion: z41.number().int().nonnegative(),
|
|
59725
|
-
resolverVersion: z41.number().int().nonnegative(),
|
|
59726
|
-
rhythmPresetId: z41.string().min(1),
|
|
59727
|
-
blocks: z41.array(blockDesignPlanSchema),
|
|
59728
|
-
styleAuthorities: z41.array(blockRuntimeStyleAuthoritySchema)
|
|
59729
|
-
}).strict();
|
|
59730
|
-
|
|
59731
|
-
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
59732
|
-
import { z as z42 } from "zod";
|
|
59733
|
-
function uniqueNonEmpty2(values) {
|
|
59734
|
-
const uniqueValues = [...new Set(values)];
|
|
59735
|
-
const firstValue = uniqueValues[0];
|
|
59736
|
-
if (!firstValue) {
|
|
59737
|
-
throw new Error("Expected at least one generated schema option.");
|
|
59738
|
-
}
|
|
59739
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
59740
|
-
}
|
|
59741
|
-
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
59742
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
59743
|
-
);
|
|
59744
|
-
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
59745
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
59746
|
-
);
|
|
59747
|
-
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
59748
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
59749
|
-
);
|
|
59750
|
-
var generatedPanelFrameSchema = z42.object({
|
|
59751
|
-
kind: z42.literal("panel"),
|
|
59752
|
-
treatment: z42.enum(generatedPanelTreatments)
|
|
59753
|
-
}).strict();
|
|
59754
|
-
var generatedFlushPanelFrameSchema = z42.object({
|
|
59755
|
-
kind: z42.literal("flush-panel"),
|
|
59756
|
-
treatment: z42.enum(generatedFlushTreatments),
|
|
59757
|
-
bleed: z42.enum(generatedFlushBleeds)
|
|
59758
|
-
}).strict();
|
|
59759
|
-
var generatedContentFrameIntentSchema = z42.discriminatedUnion("kind", [
|
|
59760
|
-
z42.object({ kind: z42.literal("plain") }).strict(),
|
|
59761
|
-
generatedPanelFrameSchema,
|
|
59762
|
-
generatedFlushPanelFrameSchema
|
|
59763
|
-
]);
|
|
59764
|
-
var generatedSiteStyleIdSchema = z42.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
59765
|
-
function generatedChoiceSchema(valueSchema) {
|
|
59766
|
-
return z42.discriminatedUnion("kind", [
|
|
59767
|
-
z42.object({
|
|
59768
|
-
source: z42.literal("generated"),
|
|
59769
|
-
kind: z42.literal("auto")
|
|
59770
|
-
}).strict(),
|
|
59771
|
-
z42.object({
|
|
59772
|
-
source: z42.literal("generated"),
|
|
59773
|
-
kind: z42.literal("explicit"),
|
|
59774
|
-
value: valueSchema
|
|
59775
|
-
}).strict()
|
|
59776
|
-
]);
|
|
59777
|
-
}
|
|
59778
|
-
var generatedBlockDesignIntentSchema = z42.object({
|
|
59779
|
-
sectionSurface: generatedChoiceSchema(
|
|
59780
|
-
z42.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
59781
|
-
),
|
|
59782
|
-
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
59783
|
-
itemSurface: generatedChoiceSchema(
|
|
59784
|
-
z42.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
59785
|
-
),
|
|
59786
|
-
transitionAfter: generatedChoiceSchema(
|
|
59787
|
-
z42.enum(generatedDesignOptionCatalog.transitions)
|
|
59788
|
-
),
|
|
59789
|
-
emphasis: generatedChoiceSchema(
|
|
59790
|
-
z42.enum(generatedDesignOptionCatalog.emphases)
|
|
59791
|
-
)
|
|
59792
|
-
}).strict();
|
|
59793
|
-
var generatedMediaCompositionIntentSchema = z42.enum([
|
|
59794
|
-
"none",
|
|
59795
|
-
"supporting",
|
|
59796
|
-
"dominant"
|
|
59797
|
-
]);
|
|
59798
|
-
var generatedDecorativeCompositionIntentSchema = z42.enum([
|
|
59799
|
-
"none",
|
|
59800
|
-
"supporting"
|
|
59801
|
-
]);
|
|
59802
|
-
var generatedHeroLegibilityStrategySchema = z42.enum([
|
|
59803
|
-
"none",
|
|
59804
|
-
"scrim-gradient"
|
|
59805
|
-
]);
|
|
59806
|
-
var generatedBlockMediaIntentSchema = z42.object({
|
|
59807
|
-
media: generatedMediaCompositionIntentSchema,
|
|
59808
|
-
decorative: generatedDecorativeCompositionIntentSchema,
|
|
59809
|
-
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
59810
|
-
}).strict();
|
|
59811
|
-
var generatedBoundaryIntentSchema = z42.object({
|
|
59812
|
-
transitionAfter: generatedChoiceSchema(
|
|
59813
|
-
z42.enum(generatedDesignOptionCatalog.transitions)
|
|
59814
|
-
)
|
|
59815
|
-
}).strict();
|
|
59816
|
-
var generatedPageDesignBlockIntentSchema = z42.object({
|
|
59817
|
-
blockId: z42.string().min(1),
|
|
59818
|
-
blockKind: z42.string().min(1),
|
|
59819
|
-
purpose: z42.string().min(1),
|
|
59820
|
-
design: generatedBlockDesignIntentSchema,
|
|
59821
|
-
mediaIntent: generatedBlockMediaIntentSchema,
|
|
59822
|
-
boundaryIntent: generatedBoundaryIntentSchema
|
|
59823
|
-
}).strict();
|
|
59824
|
-
var generatedPageDesignIntentSchema = z42.object({
|
|
59825
|
-
siteStyleId: generatedSiteStyleIdSchema,
|
|
59826
|
-
blocks: z42.array(generatedPageDesignBlockIntentSchema)
|
|
59827
|
-
}).strict();
|
|
59434
|
+
init_personalities();
|
|
59828
59435
|
|
|
59829
|
-
// ../theme-core/src/
|
|
59830
|
-
|
|
59831
|
-
|
|
59832
|
-
var pageDesignUserPinnedAppearanceChoiceSchema = z43.object({
|
|
59833
|
-
kind: z43.literal("user-pinned"),
|
|
59834
|
-
value: z43.string().min(1).transform(asAppearancePresetId)
|
|
59835
|
-
}).strict();
|
|
59836
|
-
var pageDesignUserPinnedBoundaryChoiceSchema = z43.object({
|
|
59837
|
-
kind: z43.literal("user-pinned"),
|
|
59838
|
-
value: z43.string().min(1).transform(asBoundaryOptionId)
|
|
59839
|
-
}).strict();
|
|
59840
|
-
var pageDesignBlockLookPinSchema = z43.object({
|
|
59841
|
-
blockId: z43.string().min(1).transform(asDesignBlockId),
|
|
59842
|
-
blockKind: z43.string().min(1),
|
|
59843
|
-
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
59844
|
-
}).strict();
|
|
59845
|
-
var pageDesignBoundaryPinSchema = z43.object({
|
|
59846
|
-
boundaryId: z43.string().min(1).transform(asDesignBoundaryId),
|
|
59847
|
-
previousBlockId: z43.string().min(1).transform(asDesignBlockId),
|
|
59848
|
-
nextBlockId: z43.string().min(1).transform(asDesignBlockId),
|
|
59849
|
-
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
59850
|
-
}).strict().superRefine((pin, ctx) => {
|
|
59851
|
-
const expectedBoundaryId = makeBoundaryId(
|
|
59852
|
-
pin.previousBlockId,
|
|
59853
|
-
pin.nextBlockId
|
|
59854
|
-
);
|
|
59855
|
-
if (pin.boundaryId !== expectedBoundaryId) {
|
|
59856
|
-
ctx.addIssue({
|
|
59857
|
-
code: z43.ZodIssueCode.custom,
|
|
59858
|
-
path: ["boundaryId"],
|
|
59859
|
-
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
59860
|
-
});
|
|
59861
|
-
}
|
|
59862
|
-
});
|
|
59863
|
-
var pageDesignIntentV1Schema = z43.object({
|
|
59864
|
-
schemaVersion: z43.literal(pageDesignIntentSchemaVersion),
|
|
59865
|
-
siteStyleId: z43.string().min(1).transform(asSiteStyleId),
|
|
59866
|
-
pageFlowPresetId: z43.string().min(1).transform(asPageFlowPresetId),
|
|
59867
|
-
blockLookPins: z43.array(pageDesignBlockLookPinSchema),
|
|
59868
|
-
boundaryPins: z43.array(pageDesignBoundaryPinSchema)
|
|
59869
|
-
}).strict().superRefine((intent, ctx) => {
|
|
59870
|
-
addDuplicateStringIssues(ctx, {
|
|
59871
|
-
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
59872
|
-
path: ["blockLookPins"],
|
|
59873
|
-
label: "block Look pin"
|
|
59874
|
-
});
|
|
59875
|
-
addDuplicateStringIssues(ctx, {
|
|
59876
|
-
values: intent.boundaryPins.map(
|
|
59877
|
-
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
59878
|
-
),
|
|
59879
|
-
path: ["boundaryPins"],
|
|
59880
|
-
label: "boundary pin"
|
|
59881
|
-
});
|
|
59882
|
-
});
|
|
59883
|
-
function addDuplicateStringIssues(ctx, input) {
|
|
59884
|
-
const seen = /* @__PURE__ */ new Set();
|
|
59885
|
-
const duplicates = /* @__PURE__ */ new Set();
|
|
59886
|
-
for (const value of input.values) {
|
|
59887
|
-
if (seen.has(value)) {
|
|
59888
|
-
duplicates.add(value);
|
|
59889
|
-
}
|
|
59890
|
-
seen.add(value);
|
|
59891
|
-
}
|
|
59892
|
-
for (const duplicate of duplicates) {
|
|
59893
|
-
ctx.addIssue({
|
|
59894
|
-
code: z43.ZodIssueCode.custom,
|
|
59895
|
-
path: [...input.path],
|
|
59896
|
-
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
59897
|
-
});
|
|
59898
|
-
}
|
|
59899
|
-
}
|
|
59900
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
59901
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
59902
|
-
}
|
|
59436
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
59437
|
+
init_styleTags();
|
|
59438
|
+
import { z as z45 } from "zod";
|
|
59903
59439
|
|
|
59904
59440
|
// ../theme-core/src/schema.ts
|
|
59905
|
-
import { z as
|
|
59441
|
+
import { z as z44 } from "zod";
|
|
59906
59442
|
|
|
59907
59443
|
// ../theme-core/src/lib/media.ts
|
|
59908
|
-
import
|
|
59909
|
-
var hotspotSchema2 =
|
|
59910
|
-
x:
|
|
59911
|
-
y:
|
|
59912
|
-
radius:
|
|
59913
|
-
});
|
|
59914
|
-
var rotationSchema2 =
|
|
59915
|
-
var rectSchema2 =
|
|
59916
|
-
var aspectCropSchema2 =
|
|
59917
|
-
aspect:
|
|
59918
|
-
rect:
|
|
59919
|
-
hotspot:
|
|
59920
|
-
rotation:
|
|
59921
|
-
});
|
|
59922
|
-
var transformSchema2 =
|
|
59923
|
-
aspectCrops:
|
|
59444
|
+
import z41 from "zod";
|
|
59445
|
+
var hotspotSchema2 = z41.object({
|
|
59446
|
+
x: z41.number().min(0).max(1),
|
|
59447
|
+
y: z41.number().min(0).max(1),
|
|
59448
|
+
radius: z41.number().optional()
|
|
59449
|
+
});
|
|
59450
|
+
var rotationSchema2 = z41.union([z41.literal(0), z41.literal(90), z41.literal(180), z41.literal(270)]);
|
|
59451
|
+
var rectSchema2 = z41.tuple([z41.number(), z41.number(), z41.number(), z41.number()]);
|
|
59452
|
+
var aspectCropSchema2 = z41.object({
|
|
59453
|
+
aspect: z41.preprocess((value) => value == null ? void 0 : value, z41.string().optional()),
|
|
59454
|
+
rect: z41.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
59455
|
+
hotspot: z41.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
59456
|
+
rotation: z41.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
59457
|
+
});
|
|
59458
|
+
var transformSchema2 = z41.object({
|
|
59459
|
+
aspectCrops: z41.preprocess((value) => {
|
|
59924
59460
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
59925
59461
|
return void 0;
|
|
59926
59462
|
}
|
|
59927
59463
|
return value;
|
|
59928
|
-
},
|
|
59464
|
+
}, z41.record(z41.string(), aspectCropSchema2.catch({}))).optional(),
|
|
59929
59465
|
rect: rectSchema2.optional(),
|
|
59930
59466
|
hotspot: hotspotSchema2.optional(),
|
|
59931
59467
|
rotation: rotationSchema2.optional()
|
|
59932
59468
|
});
|
|
59933
|
-
var mediaSchema2 =
|
|
59934
|
-
type:
|
|
59935
|
-
purpose:
|
|
59936
|
-
placeholder:
|
|
59937
|
-
assetId:
|
|
59938
|
-
identifier:
|
|
59939
|
-
src:
|
|
59940
|
-
alt:
|
|
59941
|
-
filename:
|
|
59942
|
-
mimeType:
|
|
59943
|
-
width:
|
|
59944
|
-
height:
|
|
59945
|
-
storageBucket:
|
|
59946
|
-
storagePath:
|
|
59469
|
+
var mediaSchema2 = z41.object({
|
|
59470
|
+
type: z41.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
59471
|
+
purpose: z41.string().optional(),
|
|
59472
|
+
placeholder: z41.boolean().default(true).optional(),
|
|
59473
|
+
assetId: z41.string().optional(),
|
|
59474
|
+
identifier: z41.string().optional(),
|
|
59475
|
+
src: z41.string().optional(),
|
|
59476
|
+
alt: z41.string().optional(),
|
|
59477
|
+
filename: z41.string().optional(),
|
|
59478
|
+
mimeType: z41.string().optional(),
|
|
59479
|
+
width: z41.number().optional(),
|
|
59480
|
+
height: z41.number().optional(),
|
|
59481
|
+
storageBucket: z41.string().optional(),
|
|
59482
|
+
storagePath: z41.string().optional(),
|
|
59947
59483
|
transform: transformSchema2.optional()
|
|
59948
59484
|
});
|
|
59949
59485
|
|
|
@@ -59951,43 +59487,43 @@ var mediaSchema2 = z44.object({
|
|
|
59951
59487
|
init_buttons();
|
|
59952
59488
|
|
|
59953
59489
|
// ../theme-core/src/cards/types.ts
|
|
59954
|
-
import { z as
|
|
59955
|
-
var cardSpacingSchema =
|
|
59956
|
-
var gradientDirectionSchema2 =
|
|
59957
|
-
var cardBackgroundSchema =
|
|
59958
|
-
|
|
59959
|
-
|
|
59960
|
-
type:
|
|
59961
|
-
fromToken:
|
|
59962
|
-
toToken:
|
|
59490
|
+
import { z as z42 } from "zod";
|
|
59491
|
+
var cardSpacingSchema = z42.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
59492
|
+
var gradientDirectionSchema2 = z42.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
59493
|
+
var cardBackgroundSchema = z42.discriminatedUnion("type", [
|
|
59494
|
+
z42.object({ type: z42.literal("solid"), colorToken: z42.string() }),
|
|
59495
|
+
z42.object({
|
|
59496
|
+
type: z42.literal("gradient"),
|
|
59497
|
+
fromToken: z42.string(),
|
|
59498
|
+
toToken: z42.string(),
|
|
59963
59499
|
direction: gradientDirectionSchema2
|
|
59964
59500
|
}),
|
|
59965
|
-
|
|
59501
|
+
z42.object({ type: z42.literal("transparent") })
|
|
59966
59502
|
]);
|
|
59967
|
-
var cardBorderSchema =
|
|
59968
|
-
widthClass:
|
|
59969
|
-
colorToken:
|
|
59970
|
-
});
|
|
59971
|
-
var cardVariantSchema2 =
|
|
59972
|
-
id:
|
|
59973
|
-
name:
|
|
59974
|
-
enabled:
|
|
59975
|
-
priority:
|
|
59503
|
+
var cardBorderSchema = z42.object({
|
|
59504
|
+
widthClass: z42.string(),
|
|
59505
|
+
colorToken: z42.string()
|
|
59506
|
+
});
|
|
59507
|
+
var cardVariantSchema2 = z42.object({
|
|
59508
|
+
id: z42.string(),
|
|
59509
|
+
name: z42.string().min(1).max(20),
|
|
59510
|
+
enabled: z42.boolean(),
|
|
59511
|
+
priority: z42.union([z42.literal(1), z42.literal(2), z42.literal(3)]),
|
|
59976
59512
|
// Appearance (token-based)
|
|
59977
59513
|
background: cardBackgroundSchema,
|
|
59978
59514
|
spacing: cardSpacingSchema,
|
|
59979
59515
|
// Optional overrides (uses theme defaults if not specified)
|
|
59980
|
-
shadow:
|
|
59981
|
-
elevation:
|
|
59982
|
-
softness:
|
|
59983
|
-
position:
|
|
59516
|
+
shadow: z42.object({
|
|
59517
|
+
elevation: z42.enum(["none", "low", "medium", "high"]),
|
|
59518
|
+
softness: z42.enum(["crisp", "soft", "hard"]).nullable(),
|
|
59519
|
+
position: z42.enum(["bottom", "bottom-right"]).default("bottom")
|
|
59984
59520
|
}).optional(),
|
|
59985
|
-
corners:
|
|
59521
|
+
corners: z42.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
59986
59522
|
// Border (optional)
|
|
59987
59523
|
border: cardBorderSchema.optional()
|
|
59988
59524
|
});
|
|
59989
|
-
var cardSystemSchema =
|
|
59990
|
-
variants:
|
|
59525
|
+
var cardSystemSchema = z42.object({
|
|
59526
|
+
variants: z42.array(cardVariantSchema2).min(1).max(3)
|
|
59991
59527
|
});
|
|
59992
59528
|
|
|
59993
59529
|
// ../theme-core/src/cards/index.ts
|
|
@@ -60000,20 +59536,20 @@ init_types5();
|
|
|
60000
59536
|
init_types12();
|
|
60001
59537
|
|
|
60002
59538
|
// ../theme-core/src/gradients/types.ts
|
|
60003
|
-
import { z as
|
|
60004
|
-
var gradientStopSchema =
|
|
60005
|
-
color:
|
|
59539
|
+
import { z as z43 } from "zod";
|
|
59540
|
+
var gradientStopSchema = z43.object({
|
|
59541
|
+
color: z43.string(),
|
|
60006
59542
|
// Theme color token name (e.g., 'primary-500')
|
|
60007
|
-
position:
|
|
59543
|
+
position: z43.number().min(0).max(100)
|
|
60008
59544
|
// Percentage 0-100
|
|
60009
59545
|
});
|
|
60010
|
-
var gradientConfigSchema =
|
|
60011
|
-
type:
|
|
60012
|
-
angle:
|
|
59546
|
+
var gradientConfigSchema = z43.object({
|
|
59547
|
+
type: z43.enum(["linear", "radial"]),
|
|
59548
|
+
angle: z43.number().min(0).max(360).optional(),
|
|
60013
59549
|
// For linear gradients (degrees)
|
|
60014
|
-
position:
|
|
59550
|
+
position: z43.string().optional(),
|
|
60015
59551
|
// For radial gradients ('center', 'top left', etc.)
|
|
60016
|
-
stops:
|
|
59552
|
+
stops: z43.array(gradientStopSchema).min(2)
|
|
60017
59553
|
});
|
|
60018
59554
|
|
|
60019
59555
|
// ../theme-core/src/schema.ts
|
|
@@ -60021,65 +59557,65 @@ init_types13();
|
|
|
60021
59557
|
init_validation3();
|
|
60022
59558
|
init_atRuleValidation();
|
|
60023
59559
|
init_shared7();
|
|
60024
|
-
var axesSchema =
|
|
60025
|
-
tone:
|
|
60026
|
-
energy:
|
|
60027
|
-
density:
|
|
60028
|
-
mediaBias:
|
|
60029
|
-
conversionBias:
|
|
60030
|
-
motion:
|
|
60031
|
-
});
|
|
60032
|
-
var colourHexString =
|
|
60033
|
-
var paletteColorSchema =
|
|
60034
|
-
name:
|
|
59560
|
+
var axesSchema = z44.object({
|
|
59561
|
+
tone: z44.enum(["minimal", "classic", "bold"]),
|
|
59562
|
+
energy: z44.enum(["calm", "vibrant"]),
|
|
59563
|
+
density: z44.enum(["airy", "regular", "compact"]),
|
|
59564
|
+
mediaBias: z44.enum(["text", "media", "mixed"]),
|
|
59565
|
+
conversionBias: z44.enum(["low", "med", "high"]),
|
|
59566
|
+
motion: z44.enum(["subtle", "standard", "expressive"])
|
|
59567
|
+
});
|
|
59568
|
+
var colourHexString = z44.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
59569
|
+
var paletteColorSchema = z44.object({
|
|
59570
|
+
name: z44.string().min(1),
|
|
60035
59571
|
hex: colourHexString
|
|
60036
59572
|
});
|
|
60037
|
-
var paletteMetaSchema =
|
|
60038
|
-
mode:
|
|
59573
|
+
var paletteMetaSchema = z44.object({
|
|
59574
|
+
mode: z44.enum(["light", "dark"])
|
|
60039
59575
|
});
|
|
60040
|
-
var paletteSchema =
|
|
60041
|
-
colors:
|
|
59576
|
+
var paletteSchema = z44.object({
|
|
59577
|
+
colors: z44.array(paletteColorSchema),
|
|
60042
59578
|
meta: paletteMetaSchema
|
|
60043
59579
|
});
|
|
60044
|
-
var typographyStyleSchema =
|
|
60045
|
-
family:
|
|
60046
|
-
weight:
|
|
60047
|
-
letterSpacing:
|
|
60048
|
-
lineHeight:
|
|
59580
|
+
var typographyStyleSchema = z44.object({
|
|
59581
|
+
family: z44.string().min(1),
|
|
59582
|
+
weight: z44.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
59583
|
+
letterSpacing: z44.enum(["tight", "normal", "loose"]),
|
|
59584
|
+
lineHeight: z44.enum(["normal", "relaxed", "loose"])
|
|
60049
59585
|
});
|
|
60050
59586
|
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
60051
|
-
size:
|
|
59587
|
+
size: z44.enum(["md", "lg", "xl"])
|
|
60052
59588
|
});
|
|
60053
|
-
var headingSizeSchema =
|
|
60054
|
-
var headingTypographyOverridesSchema =
|
|
60055
|
-
weight:
|
|
60056
|
-
letterSpacing:
|
|
59589
|
+
var headingSizeSchema = z44.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
59590
|
+
var headingTypographyOverridesSchema = z44.object({
|
|
59591
|
+
weight: z44.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
59592
|
+
letterSpacing: z44.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
60057
59593
|
size: headingSizeSchema.nullable().optional(),
|
|
60058
|
-
lineHeight:
|
|
60059
|
-
italic:
|
|
60060
|
-
colorToken:
|
|
59594
|
+
lineHeight: z44.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
59595
|
+
italic: z44.boolean().nullable().optional(),
|
|
59596
|
+
colorToken: z44.string().min(1).nullable().optional()
|
|
60061
59597
|
// Palette token name for heading color
|
|
60062
59598
|
});
|
|
60063
59599
|
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
60064
|
-
case:
|
|
60065
|
-
italic:
|
|
60066
|
-
colorToken:
|
|
59600
|
+
case: z44.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
59601
|
+
italic: z44.boolean().nullable(),
|
|
59602
|
+
colorToken: z44.string().min(1).nullable().optional()
|
|
60067
59603
|
// Palette token name for heading color
|
|
60068
59604
|
});
|
|
60069
|
-
var proseLinkUnderlineStyleSchema =
|
|
60070
|
-
var proseLinkUnderlineThicknessSchema =
|
|
60071
|
-
var proseLinkUnderlineOffsetSchema =
|
|
60072
|
-
var proseLinkStyleSchema =
|
|
60073
|
-
colorToken:
|
|
60074
|
-
hoverColorToken:
|
|
60075
|
-
underline:
|
|
60076
|
-
decorationColorToken:
|
|
60077
|
-
hoverDecorationColorToken:
|
|
59605
|
+
var proseLinkUnderlineStyleSchema = z44.enum(["solid", "dotted", "dashed"]);
|
|
59606
|
+
var proseLinkUnderlineThicknessSchema = z44.enum(["auto", "fromFont", "thin", "medium", "thick"]);
|
|
59607
|
+
var proseLinkUnderlineOffsetSchema = z44.enum(["auto", "tight", "normal", "loose"]);
|
|
59608
|
+
var proseLinkStyleSchema = z44.object({
|
|
59609
|
+
colorToken: z44.string().min(1).optional(),
|
|
59610
|
+
hoverColorToken: z44.string().min(1).optional(),
|
|
59611
|
+
underline: z44.boolean().optional(),
|
|
59612
|
+
decorationColorToken: z44.string().min(1).optional(),
|
|
59613
|
+
hoverDecorationColorToken: z44.string().min(1).optional(),
|
|
60078
59614
|
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
60079
59615
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
60080
59616
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
60081
59617
|
});
|
|
60082
|
-
var semanticSpacingSchema =
|
|
59618
|
+
var semanticSpacingSchema = z44.enum([
|
|
60083
59619
|
"none",
|
|
60084
59620
|
"compact",
|
|
60085
59621
|
"cozy",
|
|
@@ -60087,62 +59623,62 @@ var semanticSpacingSchema = z47.enum([
|
|
|
60087
59623
|
"comfortable",
|
|
60088
59624
|
"spacious"
|
|
60089
59625
|
]);
|
|
60090
|
-
var boxRoundedSchema =
|
|
60091
|
-
var boxBackgroundOverlaySchema =
|
|
60092
|
-
type:
|
|
60093
|
-
color:
|
|
60094
|
-
gradient:
|
|
60095
|
-
opacity:
|
|
60096
|
-
});
|
|
60097
|
-
var boxBackgroundSchema =
|
|
60098
|
-
type:
|
|
60099
|
-
color:
|
|
60100
|
-
gradient:
|
|
59626
|
+
var boxRoundedSchema = z44.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
59627
|
+
var boxBackgroundOverlaySchema = z44.object({
|
|
59628
|
+
type: z44.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
59629
|
+
color: z44.string().nullable().optional(),
|
|
59630
|
+
gradient: z44.string().nullable().optional(),
|
|
59631
|
+
opacity: z44.number().min(0).max(1).nullable().optional()
|
|
59632
|
+
});
|
|
59633
|
+
var boxBackgroundSchema = z44.object({
|
|
59634
|
+
type: z44.enum(["color", "gradient", "image"]).optional(),
|
|
59635
|
+
color: z44.string().nullable().optional(),
|
|
59636
|
+
gradient: z44.string().nullable().optional(),
|
|
60101
59637
|
image: mediaSchema2.nullable().optional(),
|
|
60102
|
-
objectFit:
|
|
60103
|
-
scale:
|
|
60104
|
-
position:
|
|
60105
|
-
opacity:
|
|
59638
|
+
objectFit: z44.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
|
|
59639
|
+
scale: z44.string().nullable().optional(),
|
|
59640
|
+
position: z44.string().nullable().optional(),
|
|
59641
|
+
opacity: z44.number().min(0).max(1).nullable().optional(),
|
|
60106
59642
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
60107
|
-
textColor:
|
|
60108
|
-
headingColor:
|
|
59643
|
+
textColor: z44.string().nullable().optional(),
|
|
59644
|
+
headingColor: z44.string().nullable().optional()
|
|
60109
59645
|
});
|
|
60110
|
-
var sectionStylesOverrideSchema =
|
|
59646
|
+
var sectionStylesOverrideSchema = z44.object({
|
|
60111
59647
|
background: boxBackgroundSchema.nullable().optional(),
|
|
60112
59648
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
60113
|
-
minHeight:
|
|
59649
|
+
minHeight: z44.enum(["none", "hero", "immersive"]).nullable().optional()
|
|
60114
59650
|
});
|
|
60115
|
-
var containerStylesOverrideSchema =
|
|
59651
|
+
var containerStylesOverrideSchema = z44.object({
|
|
60116
59652
|
background: boxBackgroundSchema.nullable().optional(),
|
|
60117
59653
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
60118
|
-
raised:
|
|
59654
|
+
raised: z44.boolean().nullable().optional(),
|
|
60119
59655
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
60120
|
-
fullWidth:
|
|
59656
|
+
fullWidth: z44.boolean().nullable().optional()
|
|
60121
59657
|
});
|
|
60122
|
-
var cardBorderOverrideSchema =
|
|
60123
|
-
enabled:
|
|
60124
|
-
width:
|
|
60125
|
-
colorToken:
|
|
59658
|
+
var cardBorderOverrideSchema = z44.object({
|
|
59659
|
+
enabled: z44.boolean().nullable().optional(),
|
|
59660
|
+
width: z44.enum(["none", "1", "2", "3"]).nullable().optional(),
|
|
59661
|
+
colorToken: z44.string().nullable().optional()
|
|
60126
59662
|
});
|
|
60127
|
-
var cardStylesOverrideSchema =
|
|
59663
|
+
var cardStylesOverrideSchema = z44.object({
|
|
60128
59664
|
background: boxBackgroundSchema.nullable().optional(),
|
|
60129
59665
|
border: cardBorderOverrideSchema.nullable().optional(),
|
|
60130
59666
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
60131
|
-
raised:
|
|
59667
|
+
raised: z44.boolean().nullable().optional(),
|
|
60132
59668
|
rounded: boxRoundedSchema.nullable().optional()
|
|
60133
59669
|
});
|
|
60134
|
-
var blockStyleOverridesSchema =
|
|
59670
|
+
var blockStyleOverridesSchema = z44.object({
|
|
60135
59671
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
60136
59672
|
containerStyles: containerStylesOverrideSchema.nullable().optional(),
|
|
60137
59673
|
cardStyles: cardStylesOverrideSchema.nullable().optional()
|
|
60138
59674
|
});
|
|
60139
|
-
var blockThemeOverrideSchema =
|
|
60140
|
-
typography:
|
|
59675
|
+
var blockThemeOverrideSchema = z44.object({
|
|
59676
|
+
typography: z44.object({
|
|
60141
59677
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
60142
59678
|
}).optional(),
|
|
60143
59679
|
styles: blockStyleOverridesSchema.optional()
|
|
60144
59680
|
});
|
|
60145
|
-
var typographyScaleSchema =
|
|
59681
|
+
var typographyScaleSchema = z44.enum([
|
|
60146
59682
|
// New intuitive names
|
|
60147
59683
|
"compact",
|
|
60148
59684
|
// ratio 1.2 (was minorThird)
|
|
@@ -60155,9 +59691,9 @@ var typographyScaleSchema = z47.enum([
|
|
|
60155
59691
|
"majorThird",
|
|
60156
59692
|
"perfectFourth"
|
|
60157
59693
|
]);
|
|
60158
|
-
var typographySchema =
|
|
59694
|
+
var typographySchema = z44.object({
|
|
60159
59695
|
body: bodyTypographyStyleSchema,
|
|
60160
|
-
headings:
|
|
59696
|
+
headings: z44.object({
|
|
60161
59697
|
default: headingTypographyStyleSchema,
|
|
60162
59698
|
h1: headingTypographyOverridesSchema,
|
|
60163
59699
|
h2: headingTypographyOverridesSchema,
|
|
@@ -60170,41 +59706,41 @@ var typographySchema = z47.object({
|
|
|
60170
59706
|
scale: typographyScaleSchema,
|
|
60171
59707
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
60172
59708
|
});
|
|
60173
|
-
var spaceSchema =
|
|
60174
|
-
var corners =
|
|
60175
|
-
var shadow =
|
|
60176
|
-
elevation:
|
|
60177
|
-
softness:
|
|
60178
|
-
position:
|
|
59709
|
+
var spaceSchema = z44.enum(["comfortable", "standard", "dense"]);
|
|
59710
|
+
var corners = z44.enum(["square", "soft", "rounded", "pill"]);
|
|
59711
|
+
var shadow = z44.object({
|
|
59712
|
+
elevation: z44.enum(["none", "low", "medium", "high"]),
|
|
59713
|
+
softness: z44.enum(["crisp", "soft", "hard"]).nullable(),
|
|
59714
|
+
position: z44.enum(["bottom", "bottom-right"]).default("bottom")
|
|
60179
59715
|
});
|
|
60180
|
-
var border =
|
|
60181
|
-
width:
|
|
60182
|
-
style:
|
|
59716
|
+
var border = z44.object({
|
|
59717
|
+
width: z44.enum(["none", "hairline", "thin", "thick"]),
|
|
59718
|
+
style: z44.enum(["solid", "dashed"])
|
|
60183
59719
|
});
|
|
60184
|
-
var motion =
|
|
60185
|
-
level:
|
|
60186
|
-
easing:
|
|
59720
|
+
var motion = z44.object({
|
|
59721
|
+
level: z44.enum(["off", "low", "medium", "high"]),
|
|
59722
|
+
easing: z44.enum(["standard", "snappy", "gentle"]).nullable()
|
|
60187
59723
|
});
|
|
60188
|
-
var buttonStyle =
|
|
59724
|
+
var buttonStyle = z44.object({
|
|
60189
59725
|
shape: corners
|
|
60190
59726
|
// Used for --radius-control CSS variable
|
|
60191
59727
|
});
|
|
60192
|
-
var cardStyle =
|
|
60193
|
-
elevation:
|
|
60194
|
-
border:
|
|
59728
|
+
var cardStyle = z44.object({
|
|
59729
|
+
elevation: z44.enum(["none", "low", "medium", "high"]),
|
|
59730
|
+
border: z44.enum(["none", "subtle", "defined"]),
|
|
60195
59731
|
shape: corners,
|
|
60196
|
-
headerStyle:
|
|
60197
|
-
mediaTreatment:
|
|
59732
|
+
headerStyle: z44.enum(["plain", "accentBar", "subtleBg"]).nullable(),
|
|
59733
|
+
mediaTreatment: z44.enum(["square", "rounded", "bleed"]).nullable()
|
|
60198
59734
|
});
|
|
60199
|
-
var inputStyle =
|
|
59735
|
+
var inputStyle = z44.object({
|
|
60200
59736
|
shape: corners,
|
|
60201
|
-
border:
|
|
60202
|
-
focus:
|
|
60203
|
-
label:
|
|
59737
|
+
border: z44.enum(["subtle", "defined", "underline"]),
|
|
59738
|
+
focus: z44.enum(["glow", "ring", "underline"]),
|
|
59739
|
+
label: z44.enum(["inside", "above"])
|
|
60204
59740
|
});
|
|
60205
|
-
var headerVariant =
|
|
60206
|
-
var headerPositioning =
|
|
60207
|
-
var headerNavStyle =
|
|
59741
|
+
var headerVariant = z44.enum(["classic", "centered", "transparent", "floating", "editorial"]);
|
|
59742
|
+
var headerPositioning = z44.enum(["static", "sticky", "fixed"]);
|
|
59743
|
+
var headerNavStyle = z44.enum([
|
|
60208
59744
|
"minimal",
|
|
60209
59745
|
"underline",
|
|
60210
59746
|
"underline-grow",
|
|
@@ -60213,82 +59749,82 @@ var headerNavStyle = z47.enum([
|
|
|
60213
59749
|
"frosted",
|
|
60214
59750
|
"solid"
|
|
60215
59751
|
]);
|
|
60216
|
-
var navFontWeight =
|
|
60217
|
-
var headerMaxWidth =
|
|
60218
|
-
var headerContainerSchema =
|
|
60219
|
-
rounded:
|
|
60220
|
-
border:
|
|
60221
|
-
shadow:
|
|
60222
|
-
padding:
|
|
60223
|
-
tint:
|
|
60224
|
-
opacity:
|
|
59752
|
+
var navFontWeight = z44.enum(["regular", "medium", "semibold", "bold"]);
|
|
59753
|
+
var headerMaxWidth = z44.enum(["container", "full"]);
|
|
59754
|
+
var headerContainerSchema = z44.object({
|
|
59755
|
+
rounded: z44.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
|
|
59756
|
+
border: z44.boolean().default(true),
|
|
59757
|
+
shadow: z44.boolean().default(true),
|
|
59758
|
+
padding: z44.enum(["sm", "md", "lg"]).default("md"),
|
|
59759
|
+
tint: z44.string().nullable().optional(),
|
|
59760
|
+
opacity: z44.number().min(0).max(1).default(0.12)
|
|
60225
59761
|
}).optional();
|
|
60226
59762
|
var headerBorderSchema = componentBorderSchema.extend({
|
|
60227
|
-
position:
|
|
59763
|
+
position: z44.enum(["bottom", "top", "both", "none"]).default("bottom")
|
|
60228
59764
|
}).optional();
|
|
60229
|
-
var logoStyleSchema =
|
|
60230
|
-
fontFamily:
|
|
60231
|
-
letterSpacing:
|
|
60232
|
-
gradient:
|
|
59765
|
+
var logoStyleSchema = z44.object({
|
|
59766
|
+
fontFamily: z44.enum(["heading", "body"]).default("heading"),
|
|
59767
|
+
letterSpacing: z44.enum(["normal", "wide", "wider", "widest"]).default("normal"),
|
|
59768
|
+
gradient: z44.boolean().default(false)
|
|
60233
59769
|
}).optional();
|
|
60234
|
-
var headerLogoTextSchema =
|
|
60235
|
-
mobileWrapLines:
|
|
60236
|
-
mobileMaxWidth:
|
|
60237
|
-
hideOnShrink:
|
|
59770
|
+
var headerLogoTextSchema = z44.object({
|
|
59771
|
+
mobileWrapLines: z44.union([z44.literal(1), z44.literal(2)]).optional(),
|
|
59772
|
+
mobileMaxWidth: z44.enum(["xs", "sm", "md"]).optional(),
|
|
59773
|
+
hideOnShrink: z44.boolean().optional()
|
|
60238
59774
|
}).optional();
|
|
60239
|
-
var navEffectsSchema =
|
|
60240
|
-
underlineGradient:
|
|
60241
|
-
glow:
|
|
60242
|
-
glowColor:
|
|
60243
|
-
neumorphic:
|
|
59775
|
+
var navEffectsSchema = z44.object({
|
|
59776
|
+
underlineGradient: z44.boolean().default(false),
|
|
59777
|
+
glow: z44.boolean().default(false),
|
|
59778
|
+
glowColor: z44.string().optional(),
|
|
59779
|
+
neumorphic: z44.boolean().default(false)
|
|
60244
59780
|
}).optional();
|
|
60245
|
-
var dropdownStyleSchema =
|
|
59781
|
+
var dropdownStyleSchema = z44.object({
|
|
60246
59782
|
// Container styling
|
|
60247
|
-
background:
|
|
59783
|
+
background: z44.string().default("surface"),
|
|
60248
59784
|
// color token
|
|
60249
|
-
textColor:
|
|
59785
|
+
textColor: z44.string().default("text"),
|
|
60250
59786
|
// color token
|
|
60251
|
-
borderColor:
|
|
59787
|
+
borderColor: z44.string().nullable().default("border"),
|
|
60252
59788
|
// null = no border
|
|
60253
|
-
shadow:
|
|
60254
|
-
borderRadius:
|
|
59789
|
+
shadow: z44.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
59790
|
+
borderRadius: z44.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
60255
59791
|
// Link hover states (explicit control)
|
|
60256
|
-
hoverBackground:
|
|
59792
|
+
hoverBackground: z44.string().nullable().optional(),
|
|
60257
59793
|
// color token, null = transparent
|
|
60258
|
-
hoverTextColor:
|
|
59794
|
+
hoverTextColor: z44.string().nullable().optional(),
|
|
60259
59795
|
// color token, null = inherit
|
|
60260
59796
|
// Typography
|
|
60261
|
-
textTransform:
|
|
60262
|
-
letterSpacing:
|
|
60263
|
-
fontWeight:
|
|
59797
|
+
textTransform: z44.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
59798
|
+
letterSpacing: z44.enum(["normal", "wide", "wider"]).default("normal"),
|
|
59799
|
+
fontWeight: z44.enum(["regular", "medium", "semibold", "bold"]).optional(),
|
|
60264
59800
|
// optional = inherit from navWeight
|
|
60265
|
-
textSize:
|
|
59801
|
+
textSize: z44.enum(["xs", "sm", "base", "lg"]).optional()
|
|
60266
59802
|
// optional = no override (browser default)
|
|
60267
59803
|
}).optional();
|
|
60268
|
-
var headerCtaGapSchema =
|
|
60269
|
-
var navContainerSchema =
|
|
60270
|
-
type:
|
|
60271
|
-
tint:
|
|
60272
|
-
opacity:
|
|
59804
|
+
var headerCtaGapSchema = z44.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
59805
|
+
var navContainerSchema = z44.object({
|
|
59806
|
+
type: z44.enum(["none", "pill", "glass"]).default("none"),
|
|
59807
|
+
tint: z44.string().nullable().optional(),
|
|
59808
|
+
opacity: z44.number().min(0).max(1).default(0.15)
|
|
60273
59809
|
}).default({ type: "none", tint: null, opacity: 0.15 });
|
|
60274
|
-
var headerBackgroundSchema =
|
|
60275
|
-
type:
|
|
60276
|
-
color:
|
|
59810
|
+
var headerBackgroundSchema = z44.object({
|
|
59811
|
+
type: z44.enum(["color", "gradient", "image"]),
|
|
59812
|
+
color: z44.string().nullable().optional(),
|
|
60277
59813
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
60278
59814
|
image: mediaSchema2.nullable().optional(),
|
|
60279
|
-
textColor:
|
|
59815
|
+
textColor: z44.string().nullable().optional()
|
|
60280
59816
|
});
|
|
60281
|
-
var headerSchema =
|
|
59817
|
+
var headerSchema = z44.object({
|
|
60282
59818
|
variant: headerVariant,
|
|
60283
59819
|
positioning: headerPositioning,
|
|
60284
|
-
shrinkOnScroll:
|
|
59820
|
+
shrinkOnScroll: z44.boolean(),
|
|
60285
59821
|
maxWidth: headerMaxWidth,
|
|
60286
59822
|
logoOverride: mediaSchema2.nullable().optional(),
|
|
60287
59823
|
background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
|
|
60288
|
-
textColor:
|
|
59824
|
+
textColor: z44.string().nullable().optional(),
|
|
60289
59825
|
// Site title and general header text
|
|
60290
59826
|
navStyle: headerNavStyle,
|
|
60291
|
-
navColor:
|
|
59827
|
+
navColor: z44.string().nullable().optional(),
|
|
60292
59828
|
// Nav links (inherits textColor if not set)
|
|
60293
59829
|
navWeight: navFontWeight.default("medium"),
|
|
60294
59830
|
// New fields for header system enhancement
|
|
@@ -60307,50 +59843,50 @@ var headerSchema = z47.object({
|
|
|
60307
59843
|
// Dropdown menu styling (nav dropdowns and mobile drawer)
|
|
60308
59844
|
dropdownStyle: dropdownStyleSchema
|
|
60309
59845
|
});
|
|
60310
|
-
var footerVariant =
|
|
60311
|
-
var footerMaxWidth =
|
|
60312
|
-
var footerMode =
|
|
60313
|
-
var footerNavLayoutMode =
|
|
60314
|
-
var footerNavLayoutAlign =
|
|
60315
|
-
var footerSpacing =
|
|
60316
|
-
var footerLogoPlacement =
|
|
60317
|
-
var footerLogoSize =
|
|
60318
|
-
var footerLogoMaxHeight =
|
|
60319
|
-
var footerBottomTextLinkStyleSchema =
|
|
60320
|
-
colorToken:
|
|
60321
|
-
hoverColorToken:
|
|
60322
|
-
decorationColorToken:
|
|
60323
|
-
underline:
|
|
60324
|
-
});
|
|
60325
|
-
var footerBottomBarSchema =
|
|
60326
|
-
enabled:
|
|
60327
|
-
fullBleed:
|
|
59846
|
+
var footerVariant = z44.enum(["simple", "columns", "split"]);
|
|
59847
|
+
var footerMaxWidth = z44.enum(["container", "full"]);
|
|
59848
|
+
var footerMode = z44.enum(["default", "blocks", "default+blocks", "none"]);
|
|
59849
|
+
var footerNavLayoutMode = z44.enum(["stack", "inline", "inline-wrap"]);
|
|
59850
|
+
var footerNavLayoutAlign = z44.enum(["start", "center", "end", "space-between"]);
|
|
59851
|
+
var footerSpacing = z44.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
59852
|
+
var footerLogoPlacement = z44.enum(["left", "right", "above", "below"]);
|
|
59853
|
+
var footerLogoSize = z44.enum(["sm", "md", "lg", "xl"]);
|
|
59854
|
+
var footerLogoMaxHeight = z44.enum(["sm", "md", "lg", "xl"]);
|
|
59855
|
+
var footerBottomTextLinkStyleSchema = z44.object({
|
|
59856
|
+
colorToken: z44.string().optional(),
|
|
59857
|
+
hoverColorToken: z44.string().nullable().optional(),
|
|
59858
|
+
decorationColorToken: z44.string().nullable().optional(),
|
|
59859
|
+
underline: z44.boolean().optional()
|
|
59860
|
+
});
|
|
59861
|
+
var footerBottomBarSchema = z44.object({
|
|
59862
|
+
enabled: z44.boolean().optional(),
|
|
59863
|
+
fullBleed: z44.boolean().optional(),
|
|
60328
59864
|
background: headerBackgroundSchema.optional(),
|
|
60329
|
-
textColor:
|
|
60330
|
-
textAlign:
|
|
59865
|
+
textColor: z44.string().nullable().optional(),
|
|
59866
|
+
textAlign: z44.enum(["left", "center", "right"]).optional(),
|
|
60331
59867
|
paddingY: footerSpacing.optional(),
|
|
60332
59868
|
paddingX: footerSpacing.optional(),
|
|
60333
|
-
borderTop:
|
|
60334
|
-
colorToken:
|
|
60335
|
-
width:
|
|
59869
|
+
borderTop: z44.object({
|
|
59870
|
+
colorToken: z44.string().nullable().optional(),
|
|
59871
|
+
width: z44.enum(["none", "thin", "medium", "thick"]).optional()
|
|
60336
59872
|
}).optional()
|
|
60337
59873
|
});
|
|
60338
|
-
var footerNavLayoutSchema =
|
|
59874
|
+
var footerNavLayoutSchema = z44.object({
|
|
60339
59875
|
layout: footerNavLayoutMode.optional(),
|
|
60340
59876
|
align: footerNavLayoutAlign.optional(),
|
|
60341
59877
|
gapX: footerSpacing.optional(),
|
|
60342
59878
|
gapY: footerSpacing.optional(),
|
|
60343
|
-
columns:
|
|
59879
|
+
columns: z44.number().int().min(1).max(6).optional()
|
|
60344
59880
|
});
|
|
60345
|
-
var footerLogoSchema =
|
|
60346
|
-
showLogo:
|
|
60347
|
-
showLogoText:
|
|
59881
|
+
var footerLogoSchema = z44.object({
|
|
59882
|
+
showLogo: z44.boolean().default(true),
|
|
59883
|
+
showLogoText: z44.boolean().optional(),
|
|
60348
59884
|
placement: footerLogoPlacement.optional(),
|
|
60349
59885
|
size: footerLogoSize.optional(),
|
|
60350
59886
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
60351
|
-
align:
|
|
59887
|
+
align: z44.enum(["start", "center", "end"]).optional()
|
|
60352
59888
|
});
|
|
60353
|
-
var footerSchema =
|
|
59889
|
+
var footerSchema = z44.object({
|
|
60354
59890
|
/**
|
|
60355
59891
|
* SDK-only footer rendering mode.
|
|
60356
59892
|
*
|
|
@@ -60359,11 +59895,11 @@ var footerSchema = z47.object({
|
|
|
60359
59895
|
mode: footerMode.optional(),
|
|
60360
59896
|
variant: footerVariant,
|
|
60361
59897
|
maxWidth: footerMaxWidth,
|
|
60362
|
-
showLogoText:
|
|
59898
|
+
showLogoText: z44.boolean().optional(),
|
|
60363
59899
|
background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
|
|
60364
59900
|
// Footer nav styling (independent from header)
|
|
60365
59901
|
navStyle: headerNavStyle.default("minimal"),
|
|
60366
|
-
navColor:
|
|
59902
|
+
navColor: z44.string().nullable().optional(),
|
|
60367
59903
|
navWeight: navFontWeight.default("medium"),
|
|
60368
59904
|
// Full nav link customization (overrides navStyle if set)
|
|
60369
59905
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
@@ -60374,15 +59910,15 @@ var footerSchema = z47.object({
|
|
|
60374
59910
|
logo: footerLogoSchema.optional(),
|
|
60375
59911
|
bottomBar: footerBottomBarSchema.optional()
|
|
60376
59912
|
});
|
|
60377
|
-
var containerPaddingPresetSchema =
|
|
60378
|
-
var layoutSchema =
|
|
60379
|
-
containerPadding:
|
|
59913
|
+
var containerPaddingPresetSchema = z44.enum(["tight", "compact", "default", "relaxed"]);
|
|
59914
|
+
var layoutSchema = z44.object({
|
|
59915
|
+
containerPadding: z44.object({
|
|
60380
59916
|
mobile: containerPaddingPresetSchema.optional(),
|
|
60381
59917
|
tablet: containerPaddingPresetSchema.optional(),
|
|
60382
59918
|
desktop: containerPaddingPresetSchema.optional()
|
|
60383
59919
|
}).optional()
|
|
60384
59920
|
}).optional();
|
|
60385
|
-
var heroTypographySizeSchema =
|
|
59921
|
+
var heroTypographySizeSchema = z44.enum([
|
|
60386
59922
|
"sm",
|
|
60387
59923
|
"base",
|
|
60388
59924
|
"lg",
|
|
@@ -60393,14 +59929,14 @@ var heroTypographySizeSchema = z47.enum([
|
|
|
60393
59929
|
"5xl",
|
|
60394
59930
|
"6xl"
|
|
60395
59931
|
]);
|
|
60396
|
-
var heroTypographyLineHeightSchema =
|
|
60397
|
-
var heroResponsiveTypographySchema =
|
|
59932
|
+
var heroTypographyLineHeightSchema = z44.enum(["tight", "snug", "normal", "relaxed"]);
|
|
59933
|
+
var heroResponsiveTypographySchema = z44.object({
|
|
60398
59934
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
60399
59935
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
60400
59936
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
60401
59937
|
subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
|
|
60402
59938
|
});
|
|
60403
|
-
var heroTypographySchema =
|
|
59939
|
+
var heroTypographySchema = z44.object({
|
|
60404
59940
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
60405
59941
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
60406
59942
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
@@ -60409,24 +59945,24 @@ var heroTypographySchema = z47.object({
|
|
|
60409
59945
|
microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
60410
59946
|
microSubheadlineSize: heroTypographySizeSchema.optional(),
|
|
60411
59947
|
microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
60412
|
-
responsive:
|
|
59948
|
+
responsive: z44.object({
|
|
60413
59949
|
tablet: heroResponsiveTypographySchema.optional(),
|
|
60414
59950
|
mobile: heroResponsiveTypographySchema.optional()
|
|
60415
59951
|
}).optional()
|
|
60416
59952
|
});
|
|
60417
|
-
var heroSchema =
|
|
59953
|
+
var heroSchema = z44.object({
|
|
60418
59954
|
typography: heroTypographySchema.optional()
|
|
60419
59955
|
}).optional();
|
|
60420
|
-
var gradientsSchema =
|
|
60421
|
-
button:
|
|
60422
|
-
hero:
|
|
60423
|
-
background:
|
|
60424
|
-
});
|
|
60425
|
-
var themeSchema =
|
|
60426
|
-
name:
|
|
60427
|
-
description:
|
|
60428
|
-
rationale:
|
|
60429
|
-
siteStyleId:
|
|
59956
|
+
var gradientsSchema = z44.object({
|
|
59957
|
+
button: z44.string().min(1).nullable().optional(),
|
|
59958
|
+
hero: z44.string().min(1).nullable().optional(),
|
|
59959
|
+
background: z44.string().min(1).nullable().optional()
|
|
59960
|
+
});
|
|
59961
|
+
var themeSchema = z44.object({
|
|
59962
|
+
name: z44.string().min(1).max(30),
|
|
59963
|
+
description: z44.string().min(1).max(400),
|
|
59964
|
+
rationale: z44.string().min(1).max(400),
|
|
59965
|
+
siteStyleId: z44.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
|
|
60430
59966
|
axes: axesSchema,
|
|
60431
59967
|
palette: paletteSchema,
|
|
60432
59968
|
typography: typographySchema,
|
|
@@ -60453,16 +59989,16 @@ var themeSchema = z47.object({
|
|
|
60453
59989
|
// Block-specific customization (Tier 3)
|
|
60454
59990
|
// blockCustomVars: Per-block CSS variable overrides as bare values
|
|
60455
59991
|
// Example: { "event-registration": { "--step-color": "#6d28d9" } }
|
|
60456
|
-
blockCustomVars:
|
|
60457
|
-
|
|
59992
|
+
blockCustomVars: z44.record(
|
|
59993
|
+
z44.string(),
|
|
60458
59994
|
// block kind (matches data-block attribute)
|
|
60459
|
-
|
|
59995
|
+
z44.record(z44.string(), z44.string())
|
|
60460
59996
|
// { '--var-name': 'value' }
|
|
60461
59997
|
).optional(),
|
|
60462
59998
|
// Structured block-kind theme overrides (v1: typography prose-link style only)
|
|
60463
59999
|
// Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
|
|
60464
|
-
blockOverrides:
|
|
60465
|
-
|
|
60000
|
+
blockOverrides: z44.record(
|
|
60001
|
+
z44.string(),
|
|
60466
60002
|
blockThemeOverrideSchema
|
|
60467
60003
|
).optional(),
|
|
60468
60004
|
// Structured custom CSS rules
|
|
@@ -60498,130 +60034,21 @@ var themeSchema = z47.object({
|
|
|
60498
60034
|
* }
|
|
60499
60035
|
* ```
|
|
60500
60036
|
*/
|
|
60501
|
-
styleGroups:
|
|
60037
|
+
styleGroups: z44.record(z44.string(), z44.array(z44.string())).optional()
|
|
60502
60038
|
});
|
|
60503
|
-
var themesTurnSchema =
|
|
60504
|
-
message:
|
|
60505
|
-
themes:
|
|
60039
|
+
var themesTurnSchema = z44.object({
|
|
60040
|
+
message: z44.string().min(1),
|
|
60041
|
+
themes: z44.array(themeSchema).length(3)
|
|
60506
60042
|
});
|
|
60507
60043
|
|
|
60508
|
-
// ../theme-core/src/mock-themes/modern-minimal.ts
|
|
60509
|
-
var modernMinimalTheme = {
|
|
60510
|
-
name: "Modern Minimal",
|
|
60511
|
-
description: "Clean, monochromatic design with subtle styling and modern typography",
|
|
60512
|
-
rationale: "Perfect for professional services, portfolios, and content-focused sites that need a clean, trustworthy appearance",
|
|
60513
|
-
axes: {
|
|
60514
|
-
tone: "minimal",
|
|
60515
|
-
energy: "calm",
|
|
60516
|
-
density: "airy",
|
|
60517
|
-
mediaBias: "text",
|
|
60518
|
-
conversionBias: "low",
|
|
60519
|
-
motion: "subtle"
|
|
60520
|
-
},
|
|
60521
|
-
palette: {
|
|
60522
|
-
colors: [
|
|
60523
|
-
{ name: "primary", hex: "#1f2937" },
|
|
60524
|
-
{ name: "secondary", hex: "#6b7280" },
|
|
60525
|
-
{ name: "accent", hex: "#3b82f6" },
|
|
60526
|
-
{ name: "success", hex: "#10b981" },
|
|
60527
|
-
{ name: "warning", hex: "#f59e0b" },
|
|
60528
|
-
{ name: "destructive", hex: "#ef4444" },
|
|
60529
|
-
{ name: "background", hex: "#ffffff" },
|
|
60530
|
-
{ name: "surface", hex: "#ffffff" },
|
|
60531
|
-
{ name: "text", hex: "#1f2937" },
|
|
60532
|
-
{ name: "border", hex: "#e5e7eb" }
|
|
60533
|
-
],
|
|
60534
|
-
meta: { mode: "light" }
|
|
60535
|
-
},
|
|
60536
|
-
typography: {
|
|
60537
|
-
headings: {
|
|
60538
|
-
default: {
|
|
60539
|
-
family: "Inter, system-ui, sans-serif",
|
|
60540
|
-
weight: "medium",
|
|
60541
|
-
letterSpacing: "tight",
|
|
60542
|
-
lineHeight: "normal",
|
|
60543
|
-
case: "normal",
|
|
60544
|
-
italic: null
|
|
60545
|
-
},
|
|
60546
|
-
h1: {
|
|
60547
|
-
weight: "semibold",
|
|
60548
|
-
letterSpacing: "tight",
|
|
60549
|
-
size: "xl",
|
|
60550
|
-
lineHeight: "normal",
|
|
60551
|
-
italic: null
|
|
60552
|
-
},
|
|
60553
|
-
h2: {
|
|
60554
|
-
weight: "medium",
|
|
60555
|
-
letterSpacing: "normal",
|
|
60556
|
-
size: "lg",
|
|
60557
|
-
lineHeight: "normal",
|
|
60558
|
-
italic: null
|
|
60559
|
-
},
|
|
60560
|
-
h3: {
|
|
60561
|
-
weight: "medium",
|
|
60562
|
-
letterSpacing: "normal",
|
|
60563
|
-
size: "md",
|
|
60564
|
-
lineHeight: "normal",
|
|
60565
|
-
italic: null
|
|
60566
|
-
}
|
|
60567
|
-
},
|
|
60568
|
-
body: {
|
|
60569
|
-
family: "Inter, system-ui, sans-serif",
|
|
60570
|
-
weight: "regular",
|
|
60571
|
-
size: "md",
|
|
60572
|
-
letterSpacing: "normal",
|
|
60573
|
-
lineHeight: "relaxed"
|
|
60574
|
-
},
|
|
60575
|
-
scale: "minorThird"
|
|
60576
|
-
},
|
|
60577
|
-
space: "comfortable",
|
|
60578
|
-
corners: "rounded",
|
|
60579
|
-
border: {
|
|
60580
|
-
width: "hairline",
|
|
60581
|
-
style: "solid"
|
|
60582
|
-
},
|
|
60583
|
-
shadow: {
|
|
60584
|
-
elevation: "low",
|
|
60585
|
-
softness: "soft",
|
|
60586
|
-
position: "bottom"
|
|
60587
|
-
},
|
|
60588
|
-
motion: {
|
|
60589
|
-
level: "low",
|
|
60590
|
-
easing: "standard"
|
|
60591
|
-
},
|
|
60592
|
-
header: {
|
|
60593
|
-
variant: "classic",
|
|
60594
|
-
positioning: "static",
|
|
60595
|
-
shrinkOnScroll: false,
|
|
60596
|
-
maxWidth: "container",
|
|
60597
|
-
logoOverride: null,
|
|
60598
|
-
background: { type: "color", color: "surface" },
|
|
60599
|
-
navStyle: "minimal",
|
|
60600
|
-
navWeight: "medium",
|
|
60601
|
-
navContainer: { type: "none", opacity: 0, tint: null }
|
|
60602
|
-
},
|
|
60603
|
-
footer: {
|
|
60604
|
-
variant: "simple",
|
|
60605
|
-
maxWidth: "container",
|
|
60606
|
-
background: { type: "color", color: "surface" },
|
|
60607
|
-
navStyle: "minimal",
|
|
60608
|
-
navWeight: "medium"
|
|
60609
|
-
}
|
|
60610
|
-
};
|
|
60611
|
-
|
|
60612
|
-
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
60613
|
-
init_personalities();
|
|
60614
|
-
|
|
60615
60044
|
// ../theme-core/src/palette/variants/types.ts
|
|
60616
|
-
init_compatibility();
|
|
60617
|
-
import { z as z48 } from "zod";
|
|
60618
60045
|
function asPaletteVariantId(value) {
|
|
60619
60046
|
if (value.length === 0) {
|
|
60620
60047
|
throw new Error("PaletteVariantId must be a non-empty string");
|
|
60621
60048
|
}
|
|
60622
60049
|
return value;
|
|
60623
60050
|
}
|
|
60624
|
-
var paletteVariantIdSchema =
|
|
60051
|
+
var paletteVariantIdSchema = z45.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
60625
60052
|
var PALETTE_TOKEN_NAMES = [
|
|
60626
60053
|
"primary",
|
|
60627
60054
|
"primaryForeground",
|
|
@@ -60637,19 +60064,19 @@ var PALETTE_TOKEN_NAMES = [
|
|
|
60637
60064
|
"text",
|
|
60638
60065
|
"border"
|
|
60639
60066
|
];
|
|
60640
|
-
var paletteTokenNameSchema =
|
|
60067
|
+
var paletteTokenNameSchema = z45.enum(PALETTE_TOKEN_NAMES);
|
|
60641
60068
|
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
60642
|
-
var hexColorSchema =
|
|
60069
|
+
var hexColorSchema = z45.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
60643
60070
|
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
60644
60071
|
name: paletteTokenNameSchema
|
|
60645
60072
|
});
|
|
60646
|
-
var paletteVariantSchema =
|
|
60073
|
+
var paletteVariantSchema = z45.object({
|
|
60647
60074
|
id: paletteVariantIdSchema,
|
|
60648
|
-
name:
|
|
60649
|
-
description:
|
|
60075
|
+
name: z45.string().min(1),
|
|
60076
|
+
description: z45.string().min(1),
|
|
60650
60077
|
tags: styleTagsSchema,
|
|
60651
|
-
mode:
|
|
60652
|
-
colors:
|
|
60078
|
+
mode: z45.enum(["light", "dark"]),
|
|
60079
|
+
colors: z45.array(variantPaletteColorSchema).min(1)
|
|
60653
60080
|
});
|
|
60654
60081
|
function definePaletteVariant(input) {
|
|
60655
60082
|
return {
|
|
@@ -60661,7 +60088,7 @@ function definePaletteVariant(input) {
|
|
|
60661
60088
|
colors: input.colors
|
|
60662
60089
|
};
|
|
60663
60090
|
}
|
|
60664
|
-
var paletteOverridesSchema =
|
|
60091
|
+
var paletteOverridesSchema = z45.object({
|
|
60665
60092
|
primary: hexColorSchema.optional(),
|
|
60666
60093
|
primaryForeground: hexColorSchema.optional(),
|
|
60667
60094
|
secondary: hexColorSchema.optional(),
|
|
@@ -60972,7 +60399,763 @@ var paletteVariantsById = new Map(
|
|
|
60972
60399
|
paletteVariants.map((v) => [v.id, v])
|
|
60973
60400
|
);
|
|
60974
60401
|
|
|
60402
|
+
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
60403
|
+
var generatedContentFrames = [
|
|
60404
|
+
plainFrame,
|
|
60405
|
+
panelFrame("inset"),
|
|
60406
|
+
panelFrame("raised"),
|
|
60407
|
+
flushPanelFrame({ bleed: "start" })
|
|
60408
|
+
];
|
|
60409
|
+
var userContentFrames = [
|
|
60410
|
+
...generatedContentFrames,
|
|
60411
|
+
panelFrame("editorial"),
|
|
60412
|
+
flushPanelFrame({ bleed: "end" }),
|
|
60413
|
+
flushPanelFrame({ bleed: "both" })
|
|
60414
|
+
];
|
|
60415
|
+
var generatedDesignOptionCatalog = {
|
|
60416
|
+
source: "generated",
|
|
60417
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
60418
|
+
contentFrames: generatedContentFrames,
|
|
60419
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
60420
|
+
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
60421
|
+
emphases: ["low", "medium", "high"],
|
|
60422
|
+
detachedCustom: false
|
|
60423
|
+
};
|
|
60424
|
+
var userDesignOptionCatalog = {
|
|
60425
|
+
source: "user",
|
|
60426
|
+
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
60427
|
+
contentFrames: userContentFrames,
|
|
60428
|
+
itemSurfaces: [
|
|
60429
|
+
...generatedDesignOptionCatalog.itemSurfaces,
|
|
60430
|
+
"inset",
|
|
60431
|
+
"editorial"
|
|
60432
|
+
],
|
|
60433
|
+
transitions: [
|
|
60434
|
+
...generatedDesignOptionCatalog.transitions,
|
|
60435
|
+
"wave-edge",
|
|
60436
|
+
"angle-edge"
|
|
60437
|
+
],
|
|
60438
|
+
emphases: generatedDesignOptionCatalog.emphases,
|
|
60439
|
+
detachedCustom: false
|
|
60440
|
+
};
|
|
60441
|
+
var advancedDesignOptionCatalog = {
|
|
60442
|
+
source: "advanced",
|
|
60443
|
+
sectionSurfaces: userDesignOptionCatalog.sectionSurfaces,
|
|
60444
|
+
contentFrames: userDesignOptionCatalog.contentFrames,
|
|
60445
|
+
itemSurfaces: userDesignOptionCatalog.itemSurfaces,
|
|
60446
|
+
transitions: userDesignOptionCatalog.transitions,
|
|
60447
|
+
emphases: userDesignOptionCatalog.emphases,
|
|
60448
|
+
detachedCustom: true
|
|
60449
|
+
};
|
|
60450
|
+
|
|
60451
|
+
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
60452
|
+
var curatedSiteStyleIdValues = [
|
|
60453
|
+
"site-style:calm-studio",
|
|
60454
|
+
"site-style:clear-professional",
|
|
60455
|
+
"site-style:warm-editorial",
|
|
60456
|
+
"site-style:bright-community",
|
|
60457
|
+
"site-style:quiet-luxury",
|
|
60458
|
+
"site-style:practical-services",
|
|
60459
|
+
"site-style:modern-wellness",
|
|
60460
|
+
"site-style:bold-launch"
|
|
60461
|
+
];
|
|
60462
|
+
var quietBudget = {
|
|
60463
|
+
accentDensity: "low",
|
|
60464
|
+
panelDensity: "medium",
|
|
60465
|
+
transitionMix: "quiet",
|
|
60466
|
+
primaryCtaLimit: 2,
|
|
60467
|
+
mediaDensity: "medium",
|
|
60468
|
+
decorativeRepetition: "low"
|
|
60469
|
+
};
|
|
60470
|
+
var balancedBudget = {
|
|
60471
|
+
accentDensity: "medium",
|
|
60472
|
+
panelDensity: "medium",
|
|
60473
|
+
transitionMix: "balanced",
|
|
60474
|
+
primaryCtaLimit: 3,
|
|
60475
|
+
mediaDensity: "medium",
|
|
60476
|
+
decorativeRepetition: "medium"
|
|
60477
|
+
};
|
|
60478
|
+
var expressiveBudget = {
|
|
60479
|
+
accentDensity: "high",
|
|
60480
|
+
panelDensity: "high",
|
|
60481
|
+
transitionMix: "expressive",
|
|
60482
|
+
primaryCtaLimit: 3,
|
|
60483
|
+
mediaDensity: "high",
|
|
60484
|
+
decorativeRepetition: "medium"
|
|
60485
|
+
};
|
|
60486
|
+
function uniqueContentFrameKinds() {
|
|
60487
|
+
const kinds = [...new Set(
|
|
60488
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
60489
|
+
)];
|
|
60490
|
+
const firstKind = kinds[0];
|
|
60491
|
+
if (!firstKind) {
|
|
60492
|
+
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
60493
|
+
}
|
|
60494
|
+
return [firstKind, ...kinds.slice(1)];
|
|
60495
|
+
}
|
|
60496
|
+
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
60497
|
+
function defineCuratedSiteStyle(input) {
|
|
60498
|
+
return {
|
|
60499
|
+
id: asSiteStyleId(input.id),
|
|
60500
|
+
name: input.name,
|
|
60501
|
+
description: input.description,
|
|
60502
|
+
generationBrief: input.generationBrief,
|
|
60503
|
+
selectionKeywords: input.selectionKeywords ?? [],
|
|
60504
|
+
template: {
|
|
60505
|
+
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
60506
|
+
name: input.name,
|
|
60507
|
+
version: 1,
|
|
60508
|
+
tokenRecipes: input.tokenRecipes,
|
|
60509
|
+
compositionBudget: input.compositionBudget,
|
|
60510
|
+
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
60511
|
+
supportedContentFrames: generatedContentFrameKinds,
|
|
60512
|
+
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
60513
|
+
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
60514
|
+
},
|
|
60515
|
+
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
60516
|
+
paletteVariantChoices: input.paletteVariantChoices
|
|
60517
|
+
};
|
|
60518
|
+
}
|
|
60519
|
+
function buttonChoice(id, note) {
|
|
60520
|
+
return note ? { id: asButtonPersonalityId(id), note } : { id: asButtonPersonalityId(id) };
|
|
60521
|
+
}
|
|
60522
|
+
function paletteChoice(id, note) {
|
|
60523
|
+
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
60524
|
+
}
|
|
60525
|
+
var curatedSiteStyles = [
|
|
60526
|
+
defineCuratedSiteStyle({
|
|
60527
|
+
id: "site-style:calm-studio",
|
|
60528
|
+
name: "Calm Studio",
|
|
60529
|
+
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
60530
|
+
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
60531
|
+
tokenRecipes: {
|
|
60532
|
+
palette: "soft-natural",
|
|
60533
|
+
contrast: "standard",
|
|
60534
|
+
radius: "soft",
|
|
60535
|
+
shadow: "subtle",
|
|
60536
|
+
typography: "friendly-sans",
|
|
60537
|
+
spacing: "airy",
|
|
60538
|
+
motion: "subtle"
|
|
60539
|
+
},
|
|
60540
|
+
compositionBudget: quietBudget,
|
|
60541
|
+
buttonPersonalityChoices: [
|
|
60542
|
+
buttonChoice("soft-pill"),
|
|
60543
|
+
buttonChoice("pebble"),
|
|
60544
|
+
buttonChoice("editorial-link"),
|
|
60545
|
+
buttonChoice("brushed-wash")
|
|
60546
|
+
],
|
|
60547
|
+
paletteVariantChoices: [
|
|
60548
|
+
paletteChoice("soft-natural-sage"),
|
|
60549
|
+
paletteChoice("soft-natural-stone"),
|
|
60550
|
+
paletteChoice("warm-neutral-clay"),
|
|
60551
|
+
paletteChoice("soft-natural-watercolor")
|
|
60552
|
+
]
|
|
60553
|
+
}),
|
|
60554
|
+
defineCuratedSiteStyle({
|
|
60555
|
+
id: "site-style:clear-professional",
|
|
60556
|
+
name: "Clear Professional",
|
|
60557
|
+
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
60558
|
+
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
60559
|
+
tokenRecipes: {
|
|
60560
|
+
palette: "brand-led",
|
|
60561
|
+
contrast: "strong",
|
|
60562
|
+
radius: "soft",
|
|
60563
|
+
shadow: "subtle",
|
|
60564
|
+
typography: "clean-sans",
|
|
60565
|
+
spacing: "regular",
|
|
60566
|
+
motion: "subtle"
|
|
60567
|
+
},
|
|
60568
|
+
compositionBudget: balancedBudget,
|
|
60569
|
+
buttonPersonalityChoices: [
|
|
60570
|
+
buttonChoice("confident-chip"),
|
|
60571
|
+
buttonChoice("soft-pill"),
|
|
60572
|
+
buttonChoice("editorial-link")
|
|
60573
|
+
],
|
|
60574
|
+
paletteVariantChoices: [
|
|
60575
|
+
paletteChoice("brand-led-cool"),
|
|
60576
|
+
paletteChoice("high-contrast-ink"),
|
|
60577
|
+
paletteChoice("brand-led-jewel")
|
|
60578
|
+
]
|
|
60579
|
+
}),
|
|
60580
|
+
defineCuratedSiteStyle({
|
|
60581
|
+
id: "site-style:warm-editorial",
|
|
60582
|
+
name: "Warm Editorial",
|
|
60583
|
+
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
60584
|
+
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
60585
|
+
tokenRecipes: {
|
|
60586
|
+
palette: "warm-neutral",
|
|
60587
|
+
contrast: "standard",
|
|
60588
|
+
radius: "square",
|
|
60589
|
+
shadow: "none",
|
|
60590
|
+
typography: "serif-editorial",
|
|
60591
|
+
spacing: "airy",
|
|
60592
|
+
motion: "subtle"
|
|
60593
|
+
},
|
|
60594
|
+
compositionBudget: balancedBudget,
|
|
60595
|
+
buttonPersonalityChoices: [
|
|
60596
|
+
buttonChoice("editorial-link"),
|
|
60597
|
+
buttonChoice("soft-pill"),
|
|
60598
|
+
buttonChoice("brushed-wash")
|
|
60599
|
+
],
|
|
60600
|
+
paletteVariantChoices: [
|
|
60601
|
+
paletteChoice("warm-neutral-cream"),
|
|
60602
|
+
paletteChoice("warm-neutral-clay"),
|
|
60603
|
+
paletteChoice("warm-neutral-forest"),
|
|
60604
|
+
paletteChoice("soft-natural-stone")
|
|
60605
|
+
]
|
|
60606
|
+
}),
|
|
60607
|
+
defineCuratedSiteStyle({
|
|
60608
|
+
id: "site-style:bright-community",
|
|
60609
|
+
name: "Bright Community",
|
|
60610
|
+
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
60611
|
+
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
60612
|
+
tokenRecipes: {
|
|
60613
|
+
palette: "brand-led",
|
|
60614
|
+
contrast: "standard",
|
|
60615
|
+
radius: "rounded",
|
|
60616
|
+
shadow: "subtle",
|
|
60617
|
+
typography: "friendly-sans",
|
|
60618
|
+
spacing: "regular",
|
|
60619
|
+
motion: "expressive"
|
|
60620
|
+
},
|
|
60621
|
+
compositionBudget: balancedBudget,
|
|
60622
|
+
buttonPersonalityChoices: [
|
|
60623
|
+
buttonChoice("pebble"),
|
|
60624
|
+
buttonChoice("brushed-wash"),
|
|
60625
|
+
buttonChoice("confident-chip")
|
|
60626
|
+
],
|
|
60627
|
+
paletteVariantChoices: [
|
|
60628
|
+
paletteChoice("brand-led-warm"),
|
|
60629
|
+
paletteChoice("brand-led-jewel"),
|
|
60630
|
+
paletteChoice("soft-natural-watercolor")
|
|
60631
|
+
]
|
|
60632
|
+
}),
|
|
60633
|
+
defineCuratedSiteStyle({
|
|
60634
|
+
id: "site-style:quiet-luxury",
|
|
60635
|
+
name: "Quiet Luxury",
|
|
60636
|
+
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
60637
|
+
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
60638
|
+
selectionKeywords: [
|
|
60639
|
+
"luxury",
|
|
60640
|
+
"premium",
|
|
60641
|
+
"boutique",
|
|
60642
|
+
"bespoke",
|
|
60643
|
+
"exclusive"
|
|
60644
|
+
],
|
|
60645
|
+
tokenRecipes: {
|
|
60646
|
+
palette: "high-contrast",
|
|
60647
|
+
contrast: "strong",
|
|
60648
|
+
radius: "square",
|
|
60649
|
+
shadow: "none",
|
|
60650
|
+
typography: "classic-serif",
|
|
60651
|
+
spacing: "airy",
|
|
60652
|
+
motion: "none"
|
|
60653
|
+
},
|
|
60654
|
+
compositionBudget: quietBudget,
|
|
60655
|
+
buttonPersonalityChoices: [
|
|
60656
|
+
buttonChoice("editorial-link"),
|
|
60657
|
+
buttonChoice("confident-chip"),
|
|
60658
|
+
buttonChoice("soft-pill")
|
|
60659
|
+
],
|
|
60660
|
+
paletteVariantChoices: [
|
|
60661
|
+
paletteChoice("high-contrast-charcoal"),
|
|
60662
|
+
paletteChoice("high-contrast-ink"),
|
|
60663
|
+
paletteChoice("warm-neutral-cream")
|
|
60664
|
+
]
|
|
60665
|
+
}),
|
|
60666
|
+
defineCuratedSiteStyle({
|
|
60667
|
+
id: "site-style:practical-services",
|
|
60668
|
+
name: "Practical Services",
|
|
60669
|
+
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
60670
|
+
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
60671
|
+
selectionKeywords: [
|
|
60672
|
+
"repair",
|
|
60673
|
+
"plumb",
|
|
60674
|
+
"electric",
|
|
60675
|
+
"cleaning",
|
|
60676
|
+
"landscap",
|
|
60677
|
+
"contractor"
|
|
60678
|
+
],
|
|
60679
|
+
tokenRecipes: {
|
|
60680
|
+
palette: "brand-led",
|
|
60681
|
+
contrast: "maximum",
|
|
60682
|
+
radius: "soft",
|
|
60683
|
+
shadow: "subtle",
|
|
60684
|
+
typography: "clean-sans",
|
|
60685
|
+
spacing: "compact",
|
|
60686
|
+
motion: "none"
|
|
60687
|
+
},
|
|
60688
|
+
compositionBudget: quietBudget,
|
|
60689
|
+
buttonPersonalityChoices: [
|
|
60690
|
+
buttonChoice("confident-chip"),
|
|
60691
|
+
buttonChoice("pebble"),
|
|
60692
|
+
buttonChoice("ink-stamp")
|
|
60693
|
+
],
|
|
60694
|
+
paletteVariantChoices: [
|
|
60695
|
+
paletteChoice("brand-led-cool"),
|
|
60696
|
+
paletteChoice("high-contrast-ink"),
|
|
60697
|
+
paletteChoice("brand-led-warm")
|
|
60698
|
+
]
|
|
60699
|
+
}),
|
|
60700
|
+
defineCuratedSiteStyle({
|
|
60701
|
+
id: "site-style:modern-wellness",
|
|
60702
|
+
name: "Modern Wellness",
|
|
60703
|
+
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
60704
|
+
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
60705
|
+
tokenRecipes: {
|
|
60706
|
+
palette: "soft-natural",
|
|
60707
|
+
contrast: "standard",
|
|
60708
|
+
radius: "rounded",
|
|
60709
|
+
shadow: "subtle",
|
|
60710
|
+
typography: "clean-sans",
|
|
60711
|
+
spacing: "airy",
|
|
60712
|
+
motion: "subtle"
|
|
60713
|
+
},
|
|
60714
|
+
compositionBudget: balancedBudget,
|
|
60715
|
+
buttonPersonalityChoices: [
|
|
60716
|
+
buttonChoice("soft-pill"),
|
|
60717
|
+
buttonChoice("pebble"),
|
|
60718
|
+
buttonChoice("confident-chip")
|
|
60719
|
+
],
|
|
60720
|
+
paletteVariantChoices: [
|
|
60721
|
+
paletteChoice("soft-natural-sage"),
|
|
60722
|
+
paletteChoice("soft-natural-stone"),
|
|
60723
|
+
paletteChoice("warm-neutral-forest")
|
|
60724
|
+
]
|
|
60725
|
+
}),
|
|
60726
|
+
defineCuratedSiteStyle({
|
|
60727
|
+
id: "site-style:bold-launch",
|
|
60728
|
+
name: "Bold Launch",
|
|
60729
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
60730
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
60731
|
+
selectionKeywords: [
|
|
60732
|
+
"launch",
|
|
60733
|
+
"campaign",
|
|
60734
|
+
"preorder",
|
|
60735
|
+
"pre-order",
|
|
60736
|
+
"waitlist",
|
|
60737
|
+
"drop"
|
|
60738
|
+
],
|
|
60739
|
+
tokenRecipes: {
|
|
60740
|
+
palette: "high-contrast",
|
|
60741
|
+
contrast: "maximum",
|
|
60742
|
+
radius: "pill",
|
|
60743
|
+
shadow: "layered",
|
|
60744
|
+
typography: "clean-sans",
|
|
60745
|
+
spacing: "regular",
|
|
60746
|
+
motion: "expressive"
|
|
60747
|
+
},
|
|
60748
|
+
compositionBudget: expressiveBudget,
|
|
60749
|
+
buttonPersonalityChoices: [
|
|
60750
|
+
buttonChoice("ink-stamp"),
|
|
60751
|
+
buttonChoice("confident-chip"),
|
|
60752
|
+
buttonChoice("brushed-wash"),
|
|
60753
|
+
buttonChoice("pebble")
|
|
60754
|
+
],
|
|
60755
|
+
paletteVariantChoices: [
|
|
60756
|
+
paletteChoice("high-contrast-monochrome"),
|
|
60757
|
+
paletteChoice("high-contrast-ink"),
|
|
60758
|
+
paletteChoice("brand-led-jewel"),
|
|
60759
|
+
paletteChoice("brand-led-warm")
|
|
60760
|
+
]
|
|
60761
|
+
})
|
|
60762
|
+
];
|
|
60763
|
+
var curatedSiteStylesById = new Map(
|
|
60764
|
+
curatedSiteStyles.map((style) => [style.id, style])
|
|
60765
|
+
);
|
|
60766
|
+
|
|
60767
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
60768
|
+
import { z as z46 } from "zod";
|
|
60769
|
+
|
|
60770
|
+
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
60771
|
+
var themeV2RuntimeStyleFieldNames = [
|
|
60772
|
+
"_frameStyles",
|
|
60773
|
+
"_sectionStyles",
|
|
60774
|
+
"_containerStyles",
|
|
60775
|
+
"_cardStyles",
|
|
60776
|
+
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
60777
|
+
// override object, but normal editors should still never see it directly.
|
|
60778
|
+
"styleGroup"
|
|
60779
|
+
];
|
|
60780
|
+
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
60781
|
+
"_contentCardStyles",
|
|
60782
|
+
"_textCardStyles"
|
|
60783
|
+
];
|
|
60784
|
+
var themeV2NormalEditorRawStyleFieldNames = [
|
|
60785
|
+
...themeV2RuntimeStyleFieldNames,
|
|
60786
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
60787
|
+
];
|
|
60788
|
+
var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
60789
|
+
themeV2NormalEditorRawStyleFieldNames
|
|
60790
|
+
);
|
|
60791
|
+
|
|
60792
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
60793
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
60794
|
+
var designResolutionPolicySchema = z46.enum(["generated", "user", "admin", "sdk"]);
|
|
60795
|
+
var runtimeStyleFieldNameSchema = z46.enum(themeV2RuntimeStyleFieldNames);
|
|
60796
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z46.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
60797
|
+
fields3[0],
|
|
60798
|
+
...fields3.slice(1)
|
|
60799
|
+
]);
|
|
60800
|
+
var heroLegibilityStrategySchema = z46.enum([
|
|
60801
|
+
"none",
|
|
60802
|
+
"scrim-gradient",
|
|
60803
|
+
"solid-panel"
|
|
60804
|
+
]);
|
|
60805
|
+
function uniqueNonEmpty(values) {
|
|
60806
|
+
const uniqueValues = [...new Set(values)];
|
|
60807
|
+
const firstValue = uniqueValues[0];
|
|
60808
|
+
if (!firstValue) {
|
|
60809
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
60810
|
+
}
|
|
60811
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
60812
|
+
}
|
|
60813
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
60814
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
60815
|
+
);
|
|
60816
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
60817
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
60818
|
+
);
|
|
60819
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
60820
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
60821
|
+
);
|
|
60822
|
+
var contentFrameIntentSchema = z46.discriminatedUnion("kind", [
|
|
60823
|
+
z46.object({ kind: z46.literal("plain") }).strict(),
|
|
60824
|
+
z46.object({
|
|
60825
|
+
kind: z46.literal("panel"),
|
|
60826
|
+
treatment: z46.enum(userPanelTreatments)
|
|
60827
|
+
}).strict(),
|
|
60828
|
+
z46.object({
|
|
60829
|
+
kind: z46.literal("flush-panel"),
|
|
60830
|
+
treatment: z46.enum(userFlushTreatments),
|
|
60831
|
+
bleed: z46.enum(userFlushBleeds)
|
|
60832
|
+
}).strict()
|
|
60833
|
+
]);
|
|
60834
|
+
var blockDesignPlanSchema = z46.object({
|
|
60835
|
+
blockId: z46.string().min(1).transform(asDesignBlockId),
|
|
60836
|
+
blockKind: z46.string().min(1),
|
|
60837
|
+
purpose: z46.string().min(1),
|
|
60838
|
+
sectionSurface: z46.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
60839
|
+
contentFrame: contentFrameIntentSchema,
|
|
60840
|
+
itemSurface: z46.enum(userDesignOptionCatalog.itemSurfaces),
|
|
60841
|
+
transitionAfter: z46.enum(userDesignOptionCatalog.transitions),
|
|
60842
|
+
emphasis: z46.enum(userDesignOptionCatalog.emphases),
|
|
60843
|
+
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
60844
|
+
}).strict();
|
|
60845
|
+
var styleAuthoritySchema = z46.discriminatedUnion("kind", [
|
|
60846
|
+
z46.object({
|
|
60847
|
+
kind: z46.literal("theme-v2"),
|
|
60848
|
+
source: designResolutionPolicySchema,
|
|
60849
|
+
siteStyleId: z46.string().min(1).transform(asSiteStyleId),
|
|
60850
|
+
templateId: z46.string().min(1).transform(asDesignSystemTemplateId),
|
|
60851
|
+
templateVersion: z46.number().int().nonnegative(),
|
|
60852
|
+
resolverVersion: z46.number().int().nonnegative()
|
|
60853
|
+
}).strict(),
|
|
60854
|
+
z46.object({
|
|
60855
|
+
kind: z46.literal("legacy-raw"),
|
|
60856
|
+
reason: z46.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
60857
|
+
}).strict(),
|
|
60858
|
+
z46.object({
|
|
60859
|
+
kind: z46.literal("advanced-detached"),
|
|
60860
|
+
reason: z46.literal("detached-custom-runtime-fields")
|
|
60861
|
+
}).strict()
|
|
60862
|
+
]);
|
|
60863
|
+
var blockRuntimeStyleAuthoritySchema = z46.object({
|
|
60864
|
+
unit: z46.literal("block-runtime-fields"),
|
|
60865
|
+
blockId: z46.string().min(1).transform(asDesignBlockId),
|
|
60866
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
60867
|
+
authority: styleAuthoritySchema
|
|
60868
|
+
}).strict();
|
|
60869
|
+
var persistedPageDesignStateV1Schema = z46.object({
|
|
60870
|
+
schemaVersion: z46.literal(themeV2DesignStateSchemaVersion),
|
|
60871
|
+
siteStyleId: z46.string().min(1).transform(asSiteStyleId),
|
|
60872
|
+
templateId: z46.string().min(1).transform(asDesignSystemTemplateId),
|
|
60873
|
+
templateVersion: z46.number().int().nonnegative(),
|
|
60874
|
+
resolverVersion: z46.number().int().nonnegative(),
|
|
60875
|
+
rhythmPresetId: z46.string().min(1),
|
|
60876
|
+
blocks: z46.array(blockDesignPlanSchema),
|
|
60877
|
+
styleAuthorities: z46.array(blockRuntimeStyleAuthoritySchema)
|
|
60878
|
+
}).strict();
|
|
60879
|
+
|
|
60880
|
+
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
60881
|
+
import { z as z47 } from "zod";
|
|
60882
|
+
function uniqueNonEmpty2(values) {
|
|
60883
|
+
const uniqueValues = [...new Set(values)];
|
|
60884
|
+
const firstValue = uniqueValues[0];
|
|
60885
|
+
if (!firstValue) {
|
|
60886
|
+
throw new Error("Expected at least one generated schema option.");
|
|
60887
|
+
}
|
|
60888
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
60889
|
+
}
|
|
60890
|
+
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
60891
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
60892
|
+
);
|
|
60893
|
+
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
60894
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
60895
|
+
);
|
|
60896
|
+
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
60897
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
60898
|
+
);
|
|
60899
|
+
var generatedPanelFrameSchema = z47.object({
|
|
60900
|
+
kind: z47.literal("panel"),
|
|
60901
|
+
treatment: z47.enum(generatedPanelTreatments)
|
|
60902
|
+
}).strict();
|
|
60903
|
+
var generatedFlushPanelFrameSchema = z47.object({
|
|
60904
|
+
kind: z47.literal("flush-panel"),
|
|
60905
|
+
treatment: z47.enum(generatedFlushTreatments),
|
|
60906
|
+
bleed: z47.enum(generatedFlushBleeds)
|
|
60907
|
+
}).strict();
|
|
60908
|
+
var generatedContentFrameIntentSchema = z47.discriminatedUnion("kind", [
|
|
60909
|
+
z47.object({ kind: z47.literal("plain") }).strict(),
|
|
60910
|
+
generatedPanelFrameSchema,
|
|
60911
|
+
generatedFlushPanelFrameSchema
|
|
60912
|
+
]);
|
|
60913
|
+
var generatedSiteStyleIdSchema = z47.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
60914
|
+
function generatedChoiceSchema(valueSchema) {
|
|
60915
|
+
return z47.discriminatedUnion("kind", [
|
|
60916
|
+
z47.object({
|
|
60917
|
+
source: z47.literal("generated"),
|
|
60918
|
+
kind: z47.literal("auto")
|
|
60919
|
+
}).strict(),
|
|
60920
|
+
z47.object({
|
|
60921
|
+
source: z47.literal("generated"),
|
|
60922
|
+
kind: z47.literal("explicit"),
|
|
60923
|
+
value: valueSchema
|
|
60924
|
+
}).strict()
|
|
60925
|
+
]);
|
|
60926
|
+
}
|
|
60927
|
+
var generatedBlockDesignIntentSchema = z47.object({
|
|
60928
|
+
sectionSurface: generatedChoiceSchema(
|
|
60929
|
+
z47.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
60930
|
+
),
|
|
60931
|
+
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
60932
|
+
itemSurface: generatedChoiceSchema(
|
|
60933
|
+
z47.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
60934
|
+
),
|
|
60935
|
+
transitionAfter: generatedChoiceSchema(
|
|
60936
|
+
z47.enum(generatedDesignOptionCatalog.transitions)
|
|
60937
|
+
),
|
|
60938
|
+
emphasis: generatedChoiceSchema(
|
|
60939
|
+
z47.enum(generatedDesignOptionCatalog.emphases)
|
|
60940
|
+
)
|
|
60941
|
+
}).strict();
|
|
60942
|
+
var generatedMediaCompositionIntentSchema = z47.enum([
|
|
60943
|
+
"none",
|
|
60944
|
+
"supporting",
|
|
60945
|
+
"dominant"
|
|
60946
|
+
]);
|
|
60947
|
+
var generatedDecorativeCompositionIntentSchema = z47.enum([
|
|
60948
|
+
"none",
|
|
60949
|
+
"supporting"
|
|
60950
|
+
]);
|
|
60951
|
+
var generatedHeroLegibilityStrategySchema = z47.enum([
|
|
60952
|
+
"none",
|
|
60953
|
+
"scrim-gradient"
|
|
60954
|
+
]);
|
|
60955
|
+
var generatedBlockMediaIntentSchema = z47.object({
|
|
60956
|
+
media: generatedMediaCompositionIntentSchema,
|
|
60957
|
+
decorative: generatedDecorativeCompositionIntentSchema,
|
|
60958
|
+
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
60959
|
+
}).strict();
|
|
60960
|
+
var generatedBoundaryIntentSchema = z47.object({
|
|
60961
|
+
transitionAfter: generatedChoiceSchema(
|
|
60962
|
+
z47.enum(generatedDesignOptionCatalog.transitions)
|
|
60963
|
+
)
|
|
60964
|
+
}).strict();
|
|
60965
|
+
var generatedPageDesignBlockIntentSchema = z47.object({
|
|
60966
|
+
blockId: z47.string().min(1),
|
|
60967
|
+
blockKind: z47.string().min(1),
|
|
60968
|
+
purpose: z47.string().min(1),
|
|
60969
|
+
design: generatedBlockDesignIntentSchema,
|
|
60970
|
+
mediaIntent: generatedBlockMediaIntentSchema,
|
|
60971
|
+
boundaryIntent: generatedBoundaryIntentSchema
|
|
60972
|
+
}).strict();
|
|
60973
|
+
var generatedPageDesignIntentSchema = z47.object({
|
|
60974
|
+
siteStyleId: generatedSiteStyleIdSchema,
|
|
60975
|
+
blocks: z47.array(generatedPageDesignBlockIntentSchema)
|
|
60976
|
+
}).strict();
|
|
60977
|
+
|
|
60978
|
+
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
60979
|
+
import { z as z48 } from "zod";
|
|
60980
|
+
var pageDesignIntentSchemaVersion = 1;
|
|
60981
|
+
var pageDesignUserPinnedAppearanceChoiceSchema = z48.object({
|
|
60982
|
+
kind: z48.literal("user-pinned"),
|
|
60983
|
+
value: z48.string().min(1).transform(asAppearancePresetId)
|
|
60984
|
+
}).strict();
|
|
60985
|
+
var pageDesignUserPinnedBoundaryChoiceSchema = z48.object({
|
|
60986
|
+
kind: z48.literal("user-pinned"),
|
|
60987
|
+
value: z48.string().min(1).transform(asBoundaryOptionId)
|
|
60988
|
+
}).strict();
|
|
60989
|
+
var pageDesignBlockLookPinSchema = z48.object({
|
|
60990
|
+
blockId: z48.string().min(1).transform(asDesignBlockId),
|
|
60991
|
+
blockKind: z48.string().min(1),
|
|
60992
|
+
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
60993
|
+
}).strict();
|
|
60994
|
+
var pageDesignBoundaryPinSchema = z48.object({
|
|
60995
|
+
boundaryId: z48.string().min(1).transform(asDesignBoundaryId),
|
|
60996
|
+
previousBlockId: z48.string().min(1).transform(asDesignBlockId),
|
|
60997
|
+
nextBlockId: z48.string().min(1).transform(asDesignBlockId),
|
|
60998
|
+
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
60999
|
+
}).strict().superRefine((pin, ctx) => {
|
|
61000
|
+
const expectedBoundaryId = makeBoundaryId(
|
|
61001
|
+
pin.previousBlockId,
|
|
61002
|
+
pin.nextBlockId
|
|
61003
|
+
);
|
|
61004
|
+
if (pin.boundaryId !== expectedBoundaryId) {
|
|
61005
|
+
ctx.addIssue({
|
|
61006
|
+
code: z48.ZodIssueCode.custom,
|
|
61007
|
+
path: ["boundaryId"],
|
|
61008
|
+
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
61009
|
+
});
|
|
61010
|
+
}
|
|
61011
|
+
});
|
|
61012
|
+
var pageDesignIntentV1Schema = z48.object({
|
|
61013
|
+
schemaVersion: z48.literal(pageDesignIntentSchemaVersion),
|
|
61014
|
+
siteStyleId: z48.string().min(1).transform(asSiteStyleId),
|
|
61015
|
+
pageFlowPresetId: z48.string().min(1).transform(asPageFlowPresetId),
|
|
61016
|
+
blockLookPins: z48.array(pageDesignBlockLookPinSchema),
|
|
61017
|
+
boundaryPins: z48.array(pageDesignBoundaryPinSchema)
|
|
61018
|
+
}).strict().superRefine((intent, ctx) => {
|
|
61019
|
+
addDuplicateStringIssues(ctx, {
|
|
61020
|
+
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
61021
|
+
path: ["blockLookPins"],
|
|
61022
|
+
label: "block Look pin"
|
|
61023
|
+
});
|
|
61024
|
+
addDuplicateStringIssues(ctx, {
|
|
61025
|
+
values: intent.boundaryPins.map(
|
|
61026
|
+
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
61027
|
+
),
|
|
61028
|
+
path: ["boundaryPins"],
|
|
61029
|
+
label: "boundary pin"
|
|
61030
|
+
});
|
|
61031
|
+
});
|
|
61032
|
+
function addDuplicateStringIssues(ctx, input) {
|
|
61033
|
+
const seen = /* @__PURE__ */ new Set();
|
|
61034
|
+
const duplicates = /* @__PURE__ */ new Set();
|
|
61035
|
+
for (const value of input.values) {
|
|
61036
|
+
if (seen.has(value)) {
|
|
61037
|
+
duplicates.add(value);
|
|
61038
|
+
}
|
|
61039
|
+
seen.add(value);
|
|
61040
|
+
}
|
|
61041
|
+
for (const duplicate of duplicates) {
|
|
61042
|
+
ctx.addIssue({
|
|
61043
|
+
code: z48.ZodIssueCode.custom,
|
|
61044
|
+
path: [...input.path],
|
|
61045
|
+
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
61046
|
+
});
|
|
61047
|
+
}
|
|
61048
|
+
}
|
|
61049
|
+
function boundaryKey(previousBlockId, nextBlockId) {
|
|
61050
|
+
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
61051
|
+
}
|
|
61052
|
+
|
|
61053
|
+
// ../theme-core/src/mock-themes/modern-minimal.ts
|
|
61054
|
+
var modernMinimalTheme = {
|
|
61055
|
+
name: "Modern Minimal",
|
|
61056
|
+
description: "Clean, monochromatic design with subtle styling and modern typography",
|
|
61057
|
+
rationale: "Perfect for professional services, portfolios, and content-focused sites that need a clean, trustworthy appearance",
|
|
61058
|
+
axes: {
|
|
61059
|
+
tone: "minimal",
|
|
61060
|
+
energy: "calm",
|
|
61061
|
+
density: "airy",
|
|
61062
|
+
mediaBias: "text",
|
|
61063
|
+
conversionBias: "low",
|
|
61064
|
+
motion: "subtle"
|
|
61065
|
+
},
|
|
61066
|
+
palette: {
|
|
61067
|
+
colors: [
|
|
61068
|
+
{ name: "primary", hex: "#1f2937" },
|
|
61069
|
+
{ name: "secondary", hex: "#6b7280" },
|
|
61070
|
+
{ name: "accent", hex: "#3b82f6" },
|
|
61071
|
+
{ name: "success", hex: "#10b981" },
|
|
61072
|
+
{ name: "warning", hex: "#f59e0b" },
|
|
61073
|
+
{ name: "destructive", hex: "#ef4444" },
|
|
61074
|
+
{ name: "background", hex: "#ffffff" },
|
|
61075
|
+
{ name: "surface", hex: "#ffffff" },
|
|
61076
|
+
{ name: "text", hex: "#1f2937" },
|
|
61077
|
+
{ name: "border", hex: "#e5e7eb" }
|
|
61078
|
+
],
|
|
61079
|
+
meta: { mode: "light" }
|
|
61080
|
+
},
|
|
61081
|
+
typography: {
|
|
61082
|
+
headings: {
|
|
61083
|
+
default: {
|
|
61084
|
+
family: "Inter, system-ui, sans-serif",
|
|
61085
|
+
weight: "medium",
|
|
61086
|
+
letterSpacing: "tight",
|
|
61087
|
+
lineHeight: "normal",
|
|
61088
|
+
case: "normal",
|
|
61089
|
+
italic: null
|
|
61090
|
+
},
|
|
61091
|
+
h1: {
|
|
61092
|
+
weight: "semibold",
|
|
61093
|
+
letterSpacing: "tight",
|
|
61094
|
+
size: "xl",
|
|
61095
|
+
lineHeight: "normal",
|
|
61096
|
+
italic: null
|
|
61097
|
+
},
|
|
61098
|
+
h2: {
|
|
61099
|
+
weight: "medium",
|
|
61100
|
+
letterSpacing: "normal",
|
|
61101
|
+
size: "lg",
|
|
61102
|
+
lineHeight: "normal",
|
|
61103
|
+
italic: null
|
|
61104
|
+
},
|
|
61105
|
+
h3: {
|
|
61106
|
+
weight: "medium",
|
|
61107
|
+
letterSpacing: "normal",
|
|
61108
|
+
size: "md",
|
|
61109
|
+
lineHeight: "normal",
|
|
61110
|
+
italic: null
|
|
61111
|
+
}
|
|
61112
|
+
},
|
|
61113
|
+
body: {
|
|
61114
|
+
family: "Inter, system-ui, sans-serif",
|
|
61115
|
+
weight: "regular",
|
|
61116
|
+
size: "md",
|
|
61117
|
+
letterSpacing: "normal",
|
|
61118
|
+
lineHeight: "relaxed"
|
|
61119
|
+
},
|
|
61120
|
+
scale: "minorThird"
|
|
61121
|
+
},
|
|
61122
|
+
space: "comfortable",
|
|
61123
|
+
corners: "rounded",
|
|
61124
|
+
border: {
|
|
61125
|
+
width: "hairline",
|
|
61126
|
+
style: "solid"
|
|
61127
|
+
},
|
|
61128
|
+
shadow: {
|
|
61129
|
+
elevation: "low",
|
|
61130
|
+
softness: "soft",
|
|
61131
|
+
position: "bottom"
|
|
61132
|
+
},
|
|
61133
|
+
motion: {
|
|
61134
|
+
level: "low",
|
|
61135
|
+
easing: "standard"
|
|
61136
|
+
},
|
|
61137
|
+
header: {
|
|
61138
|
+
variant: "classic",
|
|
61139
|
+
positioning: "static",
|
|
61140
|
+
shrinkOnScroll: false,
|
|
61141
|
+
maxWidth: "container",
|
|
61142
|
+
logoOverride: null,
|
|
61143
|
+
background: { type: "color", color: "surface" },
|
|
61144
|
+
navStyle: "minimal",
|
|
61145
|
+
navWeight: "medium",
|
|
61146
|
+
navContainer: { type: "none", opacity: 0, tint: null }
|
|
61147
|
+
},
|
|
61148
|
+
footer: {
|
|
61149
|
+
variant: "simple",
|
|
61150
|
+
maxWidth: "container",
|
|
61151
|
+
background: { type: "color", color: "surface" },
|
|
61152
|
+
navStyle: "minimal",
|
|
61153
|
+
navWeight: "medium"
|
|
61154
|
+
}
|
|
61155
|
+
};
|
|
61156
|
+
|
|
60975
61157
|
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
61158
|
+
init_personalities();
|
|
60976
61159
|
function defineDesignRuntimeRules(rules) {
|
|
60977
61160
|
return rules;
|
|
60978
61161
|
}
|
|
@@ -61268,6 +61451,9 @@ var pageFlowPresets = [
|
|
|
61268
61451
|
}
|
|
61269
61452
|
];
|
|
61270
61453
|
|
|
61454
|
+
// ../theme-core/src/site-styles/index.ts
|
|
61455
|
+
init_styleTags();
|
|
61456
|
+
|
|
61271
61457
|
// ../theme-core/src/site-styles/tokenRecipes.ts
|
|
61272
61458
|
import { z as z50 } from "zod";
|
|
61273
61459
|
var themeTokenRecipeOptions = {
|
|
@@ -63293,14 +63479,16 @@ var headerCta = ctaButton({
|
|
|
63293
63479
|
whenPath: "menu.ctaItem.label",
|
|
63294
63480
|
variantPath: "menu.ctaItem.variant",
|
|
63295
63481
|
linkPath: "menu.ctaItem.link",
|
|
63296
|
-
|
|
63482
|
+
sizeFallback: "sm",
|
|
63483
|
+
className: `header-cta ${desktopOnlyDisplay("inline-flex")} rb-ml-6`
|
|
63297
63484
|
});
|
|
63298
63485
|
var mobileCta = ctaButton({
|
|
63299
63486
|
basePath: "menu.ctaItem",
|
|
63300
63487
|
whenPath: "menu.ctaItem.label",
|
|
63301
63488
|
variantPath: "menu.ctaItem.variant",
|
|
63302
63489
|
linkPath: "menu.ctaItem.link",
|
|
63303
|
-
|
|
63490
|
+
sizeFallback: "md",
|
|
63491
|
+
className: "nav-mobile-cta rb-w-full"
|
|
63304
63492
|
});
|
|
63305
63493
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
63306
63494
|
{
|