@riverbankcms/sdk 0.125.0 → 0.126.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/{PreviewEditorSidebar-BezDOtQ7.mjs → PreviewEditorSidebar-DcYJxTgc.mjs} +67 -266
- package/dist/{PreviewEditorUI-CgSqmfo2.mjs → PreviewEditorUI-Ctt1yTJr.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BH-3-jSj.mjs → PreviewQueryProvider-DgFDIwvK.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Co3AHfj0.mjs → SdkPreviewModeRuntime-CvW1vdQ4.mjs} +27 -27
- package/dist/{SiteChromeCustomizeContext-BHF-KANn.mjs → SiteChromeCustomizeContext-C87qlKWw.mjs} +412 -1301
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1354 -202
- package/dist/_dts/api/src/common/envelope.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +0 -2
- package/dist/_dts/api/src/endpoints.d.ts +0 -7
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +42 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +11 -9
- package/dist/_dts/api/src/siteOperations.d.ts +18 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +15 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +182 -19
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +1 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -2
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -12
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -13
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -100
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +11 -21
- package/dist/_dts/sdk/src/cli/commands/event.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +12 -0
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +17 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -10
- package/dist/_dts/sdk/src/cli/migrations/events.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +24 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -28
- package/dist/_dts/sdk/src/config/index.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -20
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commandContract.d.ts +33 -5
- package/dist/_dts/site-commands/src/commandDomain.d.ts +2 -2
- package/dist/_dts/site-commands/src/commands.d.ts +38 -9
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +28 -1
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/concretePalette.d.ts +20 -0
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -17
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -6
- package/dist/_dts/theme-core/src/palette/schema.d.ts +39 -0
- package/dist/_dts/theme-core/src/schema.d.ts +38 -26
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -6
- package/dist/cli/index.mjs +612 -522
- package/dist/cli/init-docs/content/cli-reference.md +6 -3
- package/dist/cli/init-docs/content/content-management.md +24 -13
- package/dist/client/{DiscountCodeDisclosure-CyPpekBp.mjs → DiscountCodeDisclosure-DS0AuFWW.mjs} +1 -1
- package/dist/client/{EventCombined.client-zywit-60.mjs → EventCombined.client-DtMxLr7q.mjs} +2 -2
- package/dist/client/{EventListing.client-J2nLhkKT.mjs → EventListing.client-BdLSRNg1.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CSubXWt6.mjs → LeafletStaticMap-BrpC6vsT.mjs} +1 -1
- package/dist/client/{MagicLinkForm-DDLIfiq9.mjs → MagicLinkForm-Bt3IuLMy.mjs} +1 -1
- package/dist/client/{StepIndicator-DE8EvHIp.mjs → StepIndicator-CBYPFVoy.mjs} +2 -2
- package/dist/client/{accordion-Ct5T5NiA.mjs → accordion-BqqwPJWM.mjs} +1 -1
- package/dist/client/{bookingForm-DMxtLPxw.mjs → bookingForm-SneP3yxC.mjs} +5 -6
- package/dist/client/bookings.mjs +190 -24
- package/dist/client/{carousel--FMqgvob.mjs → carousel-BTIR9L3I.mjs} +1 -1
- package/dist/client/{cart-BKX1bWiU.mjs → cart-bqiqd8SX.mjs} +3 -3
- package/dist/client/{checkout-B_jxi4WW.mjs → checkout-WbTFV5v4.mjs} +3 -3
- package/dist/client/client.mjs +156 -220
- package/dist/client/{courseRegistration-DH4MlkRD.mjs → courseRegistration-BcemLAdN.mjs} +6 -7
- package/dist/client/{eventCalendar-BQILwAcL.mjs → eventCalendar-CsxIw0V_.mjs} +4 -4
- package/dist/client/{eventCombined-DFFW_Vmo.mjs → eventCombined-B6XMoHfa.mjs} +2 -2
- package/dist/client/{eventDetails-B045CTSJ.mjs → eventDetails-BJaoPPfo.mjs} +3 -3
- package/dist/client/{eventListing-BDMYNVzS.mjs → eventListing-DgwdYHRT.mjs} +2 -2
- package/dist/client/{eventRegistration-CQ2-BSnB.mjs → eventRegistration-C0O3folu.mjs} +30 -22
- package/dist/client/{form-DJKuyZgN.mjs → form-Bk9txGFt.mjs} +1 -1
- package/dist/client/{headerSection-DeTjfiDo.mjs → headerSection-yIBt0yTv.mjs} +2 -2
- package/dist/client/hooks.mjs +50 -102
- package/dist/client/{locationMap-i2wDA8gB.mjs → locationMap-C-3KIpv-.mjs} +2 -2
- package/dist/client/{newsletterForm-DKiueauk.mjs → newsletterForm-CzB8g8h2.mjs} +1 -1
- package/dist/client/{pricing-C01J3Epx.mjs → pricing-C1QeDes_.mjs} +1 -1
- package/dist/client/{productDetail-Dfc1sZaX.mjs → productDetail-w7SBp5uc.mjs} +3 -3
- package/dist/client/{productList-BXbvXWTF.mjs → productList-D0tGKHGf.mjs} +3 -3
- package/dist/client/{propsDecoder-CIR5DQ1l.mjs → propsDecoder-Bcin2DB3.mjs} +167 -11
- package/dist/client/rendering/client.mjs +219 -276
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +128 -185
- package/dist/client/{useDiscountCodeUi-Bcyh4508.mjs → scrollToBlock-h-o_STf_.mjs} +18 -2
- package/dist/client/{shop-BbNwPKM-.mjs → shop-BGzmL8O_.mjs} +5 -6
- package/dist/client/{shop-commerce-XO-XMFEt.mjs → shop-commerce-lX8QxjX-.mjs} +4 -4
- package/dist/client/{shop-commerce-store-Byh6OUGK.mjs → shop-commerce-store-CEurARtu.mjs} +1 -1
- package/dist/client/{shopShared-Bbq39mwr.mjs → shopShared-DXxH8xxw.mjs} +2 -2
- package/dist/client/{useEventFilters-C8OOJ3el.mjs → useEventFilters-B591g9vd.mjs} +2 -2
- package/dist/client/{usePolling-CyJVo9kF.mjs → usePolling-BvnChV4m.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +0 -7
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +0 -7
- package/dist/{previewAuthStore-CJX21dGi.mjs → previewAuthStore-Dev9CdG9.mjs} +0 -7
- package/dist/{sdk-runtime-BGhyuE-E.mjs → sdk-runtime-M__i3Jce.mjs} +2 -2
- package/dist/{separator-BFs-Kmv5.mjs → separator-VSlnI9bc.mjs} +1 -1
- package/dist/server/components.mjs +87 -139
- package/dist/server/config-validation.mjs +50 -102
- package/dist/server/config.mjs +50 -102
- package/dist/server/data.mjs +50 -102
- package/dist/server/index.mjs +1 -8
- package/dist/server/next.mjs +91 -150
- package/dist/server/page-converter.mjs +50 -102
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +50 -102
- package/dist/server/rendering.mjs +88 -140
- package/dist/server/routing.mjs +71 -147
- package/dist/server/server.mjs +51 -110
- package/dist/server/theme-bridge.mjs +172 -162
- package/dist/server/theme.mjs +167 -11
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/palette/editorState.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +0 -64
- package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +0 -81
- package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +0 -75
- package/dist/_dts/theme-core/src/palette/selection.d.ts +0 -74
- package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +0 -34
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
|
@@ -1177,6 +1177,21 @@ const themeColorTokenSchema = z$1.string().min(1).refine((value) => Boolean(isTh
|
|
|
1177
1177
|
//#region ../theme-core/src/palette/colors.ts
|
|
1178
1178
|
const HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
1179
1179
|
const NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
1180
|
+
const THEME_PALETTE_COLOR_ORDER = [
|
|
1181
|
+
"primary",
|
|
1182
|
+
"secondary",
|
|
1183
|
+
"accent",
|
|
1184
|
+
"success",
|
|
1185
|
+
"warning",
|
|
1186
|
+
"destructive",
|
|
1187
|
+
"background",
|
|
1188
|
+
"surface",
|
|
1189
|
+
"surfaceAlt",
|
|
1190
|
+
"muted",
|
|
1191
|
+
"text",
|
|
1192
|
+
"primaryForeground",
|
|
1193
|
+
"border"
|
|
1194
|
+
];
|
|
1180
1195
|
const hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
1181
1196
|
const paletteModeSchema = z$1.enum(["light", "dark"]);
|
|
1182
1197
|
const PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
|
|
@@ -1254,6 +1269,12 @@ function requirePaletteColorsFromEntries(entries) {
|
|
|
1254
1269
|
if (result.ok) return result.colors;
|
|
1255
1270
|
throw new Error(`Invalid complete palette: ${result.error.kind}`);
|
|
1256
1271
|
}
|
|
1272
|
+
function paletteColorEntries(colors) {
|
|
1273
|
+
return THEME_PALETTE_COLOR_ORDER.map((name) => ({
|
|
1274
|
+
name,
|
|
1275
|
+
hex: colors[name]
|
|
1276
|
+
}));
|
|
1277
|
+
}
|
|
1257
1278
|
function paletteColorFingerprint(colors) {
|
|
1258
1279
|
return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
|
|
1259
1280
|
}
|
|
@@ -2587,13 +2608,6 @@ const warmDarkKirtanGold = defineCuratedPalette({
|
|
|
2587
2608
|
});
|
|
2588
2609
|
//#endregion
|
|
2589
2610
|
//#region ../theme-core/src/palette/curated/index.ts
|
|
2590
|
-
/**
|
|
2591
|
-
* Curated palette library.
|
|
2592
|
-
*
|
|
2593
|
-
* Authoring keys are readable source aliases. Value keys are derived from the
|
|
2594
|
-
* complete mode and semantic colours and are the only curated identity used at
|
|
2595
|
-
* persistence and runtime boundaries.
|
|
2596
|
-
*/
|
|
2597
2611
|
function admitCuratedPaletteDefinition(definition) {
|
|
2598
2612
|
return {
|
|
2599
2613
|
...definition,
|
|
@@ -2620,11 +2634,8 @@ const curatedPalettes = [
|
|
|
2620
2634
|
admitCuratedPaletteDefinition(warmDarkEmber),
|
|
2621
2635
|
admitCuratedPaletteDefinition(warmDarkKirtanGold)
|
|
2622
2636
|
];
|
|
2623
|
-
|
|
2637
|
+
new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
|
|
2624
2638
|
const curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
|
|
2625
|
-
function findCuratedPalette(valueKey) {
|
|
2626
|
-
return curatedPalettesByValueKey.get(valueKey);
|
|
2627
|
-
}
|
|
2628
2639
|
function findCuratedPaletteByAuthoringKey(authoringKey) {
|
|
2629
2640
|
return curatedPalettesByAuthoringKey.get(authoringKey);
|
|
2630
2641
|
}
|
|
@@ -2633,87 +2644,6 @@ function requireCuratedPaletteValueKey(authoringKey) {
|
|
|
2633
2644
|
if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
|
|
2634
2645
|
return palette.valueKey;
|
|
2635
2646
|
}
|
|
2636
|
-
/** Parses a raw persisted key into catalogue-proven curated membership. */
|
|
2637
|
-
const knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
|
|
2638
|
-
const valueKey = parsePaletteValueKey(value);
|
|
2639
|
-
if (!valueKey) {
|
|
2640
|
-
ctx.addIssue({
|
|
2641
|
-
code: "custom",
|
|
2642
|
-
message: "Invalid canonical palette value key"
|
|
2643
|
-
});
|
|
2644
|
-
return z$1.NEVER;
|
|
2645
|
-
}
|
|
2646
|
-
const palette = findCuratedPalette(valueKey);
|
|
2647
|
-
if (!palette) {
|
|
2648
|
-
ctx.addIssue({
|
|
2649
|
-
code: "custom",
|
|
2650
|
-
message: "Unknown curated palette value key"
|
|
2651
|
-
});
|
|
2652
|
-
return z$1.NEVER;
|
|
2653
|
-
}
|
|
2654
|
-
return palette.valueKey;
|
|
2655
|
-
});
|
|
2656
|
-
//#endregion
|
|
2657
|
-
//#region ../theme-core/src/palette/selection.ts
|
|
2658
|
-
const sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
|
|
2659
|
-
const sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
|
|
2660
|
-
const paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
2661
|
-
kind: z$1.literal("curated"),
|
|
2662
|
-
valueKey: knownCuratedPaletteValueKeySchema
|
|
2663
|
-
}), z$1.object({
|
|
2664
|
-
kind: z$1.literal("site"),
|
|
2665
|
-
paletteId: sitePaletteIdSchema
|
|
2666
|
-
})]);
|
|
2667
|
-
const onboardingPaletteOriginSchema = z$1.object({
|
|
2668
|
-
kind: z$1.literal("onboarding"),
|
|
2669
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
2670
|
-
});
|
|
2671
|
-
const curatedForkPaletteOriginSchema = z$1.object({
|
|
2672
|
-
kind: z$1.literal("curated-fork"),
|
|
2673
|
-
sourceValueKey: paletteValueKeySchema
|
|
2674
|
-
});
|
|
2675
|
-
const manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
|
|
2676
|
-
const legacyCustomizedPaletteOriginSchema = z$1.object({
|
|
2677
|
-
kind: z$1.literal("legacy-customized"),
|
|
2678
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
2679
|
-
});
|
|
2680
|
-
const sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
|
|
2681
|
-
onboardingPaletteOriginSchema,
|
|
2682
|
-
curatedForkPaletteOriginSchema,
|
|
2683
|
-
manualPaletteOriginSchema,
|
|
2684
|
-
legacyCustomizedPaletteOriginSchema
|
|
2685
|
-
]);
|
|
2686
|
-
const editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
2687
|
-
kind: z$1.literal("curated-fork"),
|
|
2688
|
-
sourceValueKey: knownCuratedPaletteValueKeySchema
|
|
2689
|
-
}), manualPaletteOriginSchema]);
|
|
2690
|
-
z$1.object({
|
|
2691
|
-
id: sitePaletteIdSchema,
|
|
2692
|
-
colors: paletteColorsSchema,
|
|
2693
|
-
mode: paletteModeSchema,
|
|
2694
|
-
origin: sitePaletteOriginSchema,
|
|
2695
|
-
version: sitePaletteVersionSchema
|
|
2696
|
-
});
|
|
2697
|
-
z$1.discriminatedUnion("kind", [
|
|
2698
|
-
z$1.object({ kind: z$1.literal("preserve") }),
|
|
2699
|
-
z$1.object({
|
|
2700
|
-
kind: z$1.literal("select"),
|
|
2701
|
-
selection: paletteSelectionSchema
|
|
2702
|
-
}),
|
|
2703
|
-
z$1.object({
|
|
2704
|
-
kind: z$1.literal("create-site"),
|
|
2705
|
-
colors: paletteColorsSchema,
|
|
2706
|
-
mode: paletteModeSchema,
|
|
2707
|
-
origin: editorSitePaletteOriginSchema
|
|
2708
|
-
}),
|
|
2709
|
-
z$1.object({
|
|
2710
|
-
kind: z$1.literal("update-site"),
|
|
2711
|
-
paletteId: sitePaletteIdSchema,
|
|
2712
|
-
expectedVersion: sitePaletteVersionSchema,
|
|
2713
|
-
colors: paletteColorsSchema,
|
|
2714
|
-
mode: paletteModeSchema
|
|
2715
|
-
})
|
|
2716
|
-
]);
|
|
2717
2647
|
//#endregion
|
|
2718
2648
|
//#region ../theme-core/src/lib/media.ts
|
|
2719
2649
|
const hotspotSchema$1 = z.object({
|
|
@@ -2772,6 +2702,34 @@ const mediaSchema$1 = z.object({
|
|
|
2772
2702
|
transform: transformSchema$1.optional()
|
|
2773
2703
|
});
|
|
2774
2704
|
//#endregion
|
|
2705
|
+
//#region ../theme-core/src/palette/schema.ts
|
|
2706
|
+
const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
2707
|
+
const paletteColorSchema = z$1.object({
|
|
2708
|
+
name: z$1.string().min(1),
|
|
2709
|
+
hex: colourHexString
|
|
2710
|
+
});
|
|
2711
|
+
const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
2712
|
+
const paletteSchema = z$1.object({
|
|
2713
|
+
colors: z$1.array(paletteColorSchema),
|
|
2714
|
+
meta: paletteMetaSchema
|
|
2715
|
+
}).transform((palette, ctx) => {
|
|
2716
|
+
const colors = paletteColorsFromEntries(palette.colors);
|
|
2717
|
+
if (!colors.ok) {
|
|
2718
|
+
ctx.addIssue({
|
|
2719
|
+
code: "custom",
|
|
2720
|
+
message: `Invalid complete palette: ${colors.error.kind}`
|
|
2721
|
+
});
|
|
2722
|
+
return z$1.NEVER;
|
|
2723
|
+
}
|
|
2724
|
+
return {
|
|
2725
|
+
colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
|
|
2726
|
+
name: String(name),
|
|
2727
|
+
hex: String(hex)
|
|
2728
|
+
})),
|
|
2729
|
+
meta: palette.meta
|
|
2730
|
+
};
|
|
2731
|
+
});
|
|
2732
|
+
//#endregion
|
|
2775
2733
|
//#region ../theme-core/src/buttons/types.ts
|
|
2776
2734
|
/**
|
|
2777
2735
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -5966,16 +5924,6 @@ const axesSchema = z$1.object({
|
|
|
5966
5924
|
"expressive"
|
|
5967
5925
|
])
|
|
5968
5926
|
});
|
|
5969
|
-
const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
5970
|
-
const paletteColorSchema = z$1.object({
|
|
5971
|
-
name: z$1.string().min(1),
|
|
5972
|
-
hex: colourHexString
|
|
5973
|
-
});
|
|
5974
|
-
const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
5975
|
-
const paletteSchema = z$1.object({
|
|
5976
|
-
colors: z$1.array(paletteColorSchema),
|
|
5977
|
-
meta: paletteMetaSchema
|
|
5978
|
-
});
|
|
5979
5927
|
const typographyStyleSchema = z$1.object({
|
|
5980
5928
|
family: z$1.string().min(1),
|
|
5981
5929
|
weight: z$1.enum([
|
package/dist/server/prebuild.mjs
CHANGED
|
@@ -6388,6 +6388,21 @@ const themeColorTokenSchema = z$1.string().min(1).refine((value) => Boolean(isTh
|
|
|
6388
6388
|
//#region ../theme-core/src/palette/colors.ts
|
|
6389
6389
|
const HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
6390
6390
|
const NORMALIZABLE_HEX_REGEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
6391
|
+
const THEME_PALETTE_COLOR_ORDER = [
|
|
6392
|
+
"primary",
|
|
6393
|
+
"secondary",
|
|
6394
|
+
"accent",
|
|
6395
|
+
"success",
|
|
6396
|
+
"warning",
|
|
6397
|
+
"destructive",
|
|
6398
|
+
"background",
|
|
6399
|
+
"surface",
|
|
6400
|
+
"surfaceAlt",
|
|
6401
|
+
"muted",
|
|
6402
|
+
"text",
|
|
6403
|
+
"primaryForeground",
|
|
6404
|
+
"border"
|
|
6405
|
+
];
|
|
6391
6406
|
const hexColorSchema = z$1.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
6392
6407
|
const paletteModeSchema = z$1.enum(["light", "dark"]);
|
|
6393
6408
|
const PALETTE_VALUE_KEY_PREFIX = "palette-value:v1|";
|
|
@@ -6465,6 +6480,12 @@ function requirePaletteColorsFromEntries(entries) {
|
|
|
6465
6480
|
if (result.ok) return result.colors;
|
|
6466
6481
|
throw new Error(`Invalid complete palette: ${result.error.kind}`);
|
|
6467
6482
|
}
|
|
6483
|
+
function paletteColorEntries(colors) {
|
|
6484
|
+
return THEME_PALETTE_COLOR_ORDER.map((name) => ({
|
|
6485
|
+
name,
|
|
6486
|
+
hex: colors[name]
|
|
6487
|
+
}));
|
|
6488
|
+
}
|
|
6468
6489
|
function paletteColorFingerprint(colors) {
|
|
6469
6490
|
return PALETTE_TOKEN_NAMES.map((name) => `${name}:${colors[name]}`).join("|");
|
|
6470
6491
|
}
|
|
@@ -7798,13 +7819,6 @@ const warmDarkKirtanGold = defineCuratedPalette({
|
|
|
7798
7819
|
});
|
|
7799
7820
|
//#endregion
|
|
7800
7821
|
//#region ../theme-core/src/palette/curated/index.ts
|
|
7801
|
-
/**
|
|
7802
|
-
* Curated palette library.
|
|
7803
|
-
*
|
|
7804
|
-
* Authoring keys are readable source aliases. Value keys are derived from the
|
|
7805
|
-
* complete mode and semantic colours and are the only curated identity used at
|
|
7806
|
-
* persistence and runtime boundaries.
|
|
7807
|
-
*/
|
|
7808
7822
|
function admitCuratedPaletteDefinition(definition) {
|
|
7809
7823
|
return {
|
|
7810
7824
|
...definition,
|
|
@@ -7831,11 +7845,8 @@ const curatedPalettes = [
|
|
|
7831
7845
|
admitCuratedPaletteDefinition(warmDarkEmber),
|
|
7832
7846
|
admitCuratedPaletteDefinition(warmDarkKirtanGold)
|
|
7833
7847
|
];
|
|
7834
|
-
|
|
7848
|
+
new Map(curatedPalettes.map((palette) => [palette.valueKey, palette]));
|
|
7835
7849
|
const curatedPalettesByAuthoringKey = new Map(curatedPalettes.map((palette) => [palette.authoringKey, palette]));
|
|
7836
|
-
function findCuratedPalette(valueKey) {
|
|
7837
|
-
return curatedPalettesByValueKey.get(valueKey);
|
|
7838
|
-
}
|
|
7839
7850
|
function findCuratedPaletteByAuthoringKey(authoringKey) {
|
|
7840
7851
|
return curatedPalettesByAuthoringKey.get(authoringKey);
|
|
7841
7852
|
}
|
|
@@ -7844,87 +7855,6 @@ function requireCuratedPaletteValueKey(authoringKey) {
|
|
|
7844
7855
|
if (!palette) throw new Error(`Unknown curated palette authoring key "${authoringKey}"`);
|
|
7845
7856
|
return palette.valueKey;
|
|
7846
7857
|
}
|
|
7847
|
-
/** Parses a raw persisted key into catalogue-proven curated membership. */
|
|
7848
|
-
const knownCuratedPaletteValueKeySchema = z$1.string().transform((value, ctx) => {
|
|
7849
|
-
const valueKey = parsePaletteValueKey(value);
|
|
7850
|
-
if (!valueKey) {
|
|
7851
|
-
ctx.addIssue({
|
|
7852
|
-
code: "custom",
|
|
7853
|
-
message: "Invalid canonical palette value key"
|
|
7854
|
-
});
|
|
7855
|
-
return z$1.NEVER;
|
|
7856
|
-
}
|
|
7857
|
-
const palette = findCuratedPalette(valueKey);
|
|
7858
|
-
if (!palette) {
|
|
7859
|
-
ctx.addIssue({
|
|
7860
|
-
code: "custom",
|
|
7861
|
-
message: "Unknown curated palette value key"
|
|
7862
|
-
});
|
|
7863
|
-
return z$1.NEVER;
|
|
7864
|
-
}
|
|
7865
|
-
return palette.valueKey;
|
|
7866
|
-
});
|
|
7867
|
-
//#endregion
|
|
7868
|
-
//#region ../theme-core/src/palette/selection.ts
|
|
7869
|
-
const sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
|
|
7870
|
-
const sitePaletteVersionSchema = z$1.number().int().nonnegative().transform((value) => value);
|
|
7871
|
-
const paletteSelectionSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
7872
|
-
kind: z$1.literal("curated"),
|
|
7873
|
-
valueKey: knownCuratedPaletteValueKeySchema
|
|
7874
|
-
}), z$1.object({
|
|
7875
|
-
kind: z$1.literal("site"),
|
|
7876
|
-
paletteId: sitePaletteIdSchema
|
|
7877
|
-
})]);
|
|
7878
|
-
const onboardingPaletteOriginSchema = z$1.object({
|
|
7879
|
-
kind: z$1.literal("onboarding"),
|
|
7880
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
7881
|
-
});
|
|
7882
|
-
const curatedForkPaletteOriginSchema = z$1.object({
|
|
7883
|
-
kind: z$1.literal("curated-fork"),
|
|
7884
|
-
sourceValueKey: paletteValueKeySchema
|
|
7885
|
-
});
|
|
7886
|
-
const manualPaletteOriginSchema = z$1.object({ kind: z$1.literal("manual") });
|
|
7887
|
-
const legacyCustomizedPaletteOriginSchema = z$1.object({
|
|
7888
|
-
kind: z$1.literal("legacy-customized"),
|
|
7889
|
-
sourceKey: z$1.string().min(1).nullable()
|
|
7890
|
-
});
|
|
7891
|
-
const sitePaletteOriginSchema = z$1.discriminatedUnion("kind", [
|
|
7892
|
-
onboardingPaletteOriginSchema,
|
|
7893
|
-
curatedForkPaletteOriginSchema,
|
|
7894
|
-
manualPaletteOriginSchema,
|
|
7895
|
-
legacyCustomizedPaletteOriginSchema
|
|
7896
|
-
]);
|
|
7897
|
-
const editorSitePaletteOriginSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
7898
|
-
kind: z$1.literal("curated-fork"),
|
|
7899
|
-
sourceValueKey: knownCuratedPaletteValueKeySchema
|
|
7900
|
-
}), manualPaletteOriginSchema]);
|
|
7901
|
-
z$1.object({
|
|
7902
|
-
id: sitePaletteIdSchema,
|
|
7903
|
-
colors: paletteColorsSchema,
|
|
7904
|
-
mode: paletteModeSchema,
|
|
7905
|
-
origin: sitePaletteOriginSchema,
|
|
7906
|
-
version: sitePaletteVersionSchema
|
|
7907
|
-
});
|
|
7908
|
-
z$1.discriminatedUnion("kind", [
|
|
7909
|
-
z$1.object({ kind: z$1.literal("preserve") }),
|
|
7910
|
-
z$1.object({
|
|
7911
|
-
kind: z$1.literal("select"),
|
|
7912
|
-
selection: paletteSelectionSchema
|
|
7913
|
-
}),
|
|
7914
|
-
z$1.object({
|
|
7915
|
-
kind: z$1.literal("create-site"),
|
|
7916
|
-
colors: paletteColorsSchema,
|
|
7917
|
-
mode: paletteModeSchema,
|
|
7918
|
-
origin: editorSitePaletteOriginSchema
|
|
7919
|
-
}),
|
|
7920
|
-
z$1.object({
|
|
7921
|
-
kind: z$1.literal("update-site"),
|
|
7922
|
-
paletteId: sitePaletteIdSchema,
|
|
7923
|
-
expectedVersion: sitePaletteVersionSchema,
|
|
7924
|
-
colors: paletteColorsSchema,
|
|
7925
|
-
mode: paletteModeSchema
|
|
7926
|
-
})
|
|
7927
|
-
]);
|
|
7928
7858
|
//#endregion
|
|
7929
7859
|
//#region ../theme-core/src/tokens/tokens.ts
|
|
7930
7860
|
const defaultThemeTokens = {
|
|
@@ -12707,6 +12637,34 @@ const mediaSchema$1 = z.object({
|
|
|
12707
12637
|
transform: transformSchema$1.optional()
|
|
12708
12638
|
});
|
|
12709
12639
|
//#endregion
|
|
12640
|
+
//#region ../theme-core/src/palette/schema.ts
|
|
12641
|
+
const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
12642
|
+
const paletteColorSchema = z$1.object({
|
|
12643
|
+
name: z$1.string().min(1),
|
|
12644
|
+
hex: colourHexString
|
|
12645
|
+
});
|
|
12646
|
+
const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
12647
|
+
const paletteSchema = z$1.object({
|
|
12648
|
+
colors: z$1.array(paletteColorSchema),
|
|
12649
|
+
meta: paletteMetaSchema
|
|
12650
|
+
}).transform((palette, ctx) => {
|
|
12651
|
+
const colors = paletteColorsFromEntries(palette.colors);
|
|
12652
|
+
if (!colors.ok) {
|
|
12653
|
+
ctx.addIssue({
|
|
12654
|
+
code: "custom",
|
|
12655
|
+
message: `Invalid complete palette: ${colors.error.kind}`
|
|
12656
|
+
});
|
|
12657
|
+
return z$1.NEVER;
|
|
12658
|
+
}
|
|
12659
|
+
return {
|
|
12660
|
+
colors: paletteColorEntries(colors.colors).map(({ name, hex }) => ({
|
|
12661
|
+
name: String(name),
|
|
12662
|
+
hex: String(hex)
|
|
12663
|
+
})),
|
|
12664
|
+
meta: palette.meta
|
|
12665
|
+
};
|
|
12666
|
+
});
|
|
12667
|
+
//#endregion
|
|
12710
12668
|
//#region ../theme-core/src/surfaces/foregroundRoles.ts
|
|
12711
12669
|
const SURFACE_FOREGROUND_ROLES = [
|
|
12712
12670
|
"text",
|
|
@@ -16797,16 +16755,6 @@ const axesSchema = z$1.object({
|
|
|
16797
16755
|
"expressive"
|
|
16798
16756
|
])
|
|
16799
16757
|
});
|
|
16800
|
-
const colourHexString = z$1.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
16801
|
-
const paletteColorSchema = z$1.object({
|
|
16802
|
-
name: z$1.string().min(1),
|
|
16803
|
-
hex: colourHexString
|
|
16804
|
-
});
|
|
16805
|
-
const paletteMetaSchema = z$1.object({ mode: z$1.enum(["light", "dark"]) });
|
|
16806
|
-
const paletteSchema = z$1.object({
|
|
16807
|
-
colors: z$1.array(paletteColorSchema),
|
|
16808
|
-
meta: paletteMetaSchema
|
|
16809
|
-
});
|
|
16810
16758
|
const typographyStyleSchema = z$1.object({
|
|
16811
16759
|
family: z$1.string().min(1),
|
|
16812
16760
|
weight: z$1.enum([
|