@riverbankcms/sdk 0.60.0 → 0.60.3
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 +20 -3
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -3
- package/dist/_dts/api/src/bookingRecords.d.ts +8 -0
- package/dist/_dts/api/src/communications.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
- package/dist/_dts/api/src/endpoints.d.ts +18 -1
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/media.d.ts +1 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +45 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +24 -1
- package/dist/_dts/api/src/siteSettings.d.ts +7 -0
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/billing/src/plans/types.d.ts +27 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +173 -2
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -2
- package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.client.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
- package/dist/_dts/content-editor/src/index.d.ts +2 -2
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +9 -0
- package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -0
- package/dist/_dts/core/src/business-address.d.ts +38 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +22 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -5
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +7 -5
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/reorderControlMode.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +4 -0
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +14 -0
- package/dist/_dts/media-react/src/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +43 -20
- package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +11 -28
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +99 -0
- package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +41 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +15 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +106 -0
- package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +34 -0
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/useOnboardingConfirmationCheck.d.ts +4 -9
- package/dist/_dts/preview-next/src/constants.d.ts +0 -1
- package/dist/_dts/preview-next/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/onboarding-preview-planner.d.ts +89 -0
- package/dist/_dts/preview-next/src/route-contract.d.ts +37 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/components/Block.d.ts +7 -76
- package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +78 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/server.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +14 -0
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +17 -16
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +17 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +28 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +28 -0
- package/dist/_dts/theme-core/src/responsiveDisplay.d.ts +23 -0
- package/dist/_dts/theme-core/src/responsiveMode.d.ts +21 -0
- package/dist/_dts/theme-core/src/schema.d.ts +122 -10
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +109 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +193 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorErrors.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +43 -2
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/command-multi-select.d.ts +2 -2
- package/dist/cli/index.mjs +1590 -302
- package/dist/client/bookings.mjs +321 -144
- package/dist/client/client.mjs +4371 -2715
- package/dist/client/hooks.mjs +2826 -1675
- package/dist/client/rendering/client.mjs +3570 -2262
- package/dist/client/rendering/islands.mjs +1948 -756
- package/dist/client/rendering.mjs +42015 -40278
- package/dist/preview-next/before-render.mjs +5542 -0
- package/dist/preview-next/client/runtime.mjs +103364 -99924
- package/dist/preview-next/constants.mjs +0 -2
- package/dist/preview-next/index.mjs +0 -2
- package/dist/preview-next/middleware.mjs +5552 -1
- package/dist/server/components.mjs +11234 -9740
- package/dist/server/config-validation.mjs +3057 -1906
- package/dist/server/config.mjs +3057 -1906
- package/dist/server/data.mjs +2826 -1675
- package/dist/server/index.mjs +19 -2
- package/dist/server/next.mjs +3997 -2507
- package/dist/server/page-converter.mjs +2970 -1836
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +5960 -3200
- package/dist/server/rendering.mjs +12734 -11162
- package/dist/server/routing.mjs +3045 -1743
- package/dist/server/server.mjs +2827 -1676
- package/dist/server/theme-bridge.mjs +2074 -839
- package/dist/server/theme.mjs +1087 -492
- package/dist/styles/index.css +343 -299
- package/package.json +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
|
@@ -628,6 +628,13 @@ var init_location = __esm({
|
|
|
628
628
|
}
|
|
629
629
|
});
|
|
630
630
|
|
|
631
|
+
// ../core/src/business-address.ts
|
|
632
|
+
var init_business_address = __esm({
|
|
633
|
+
"../core/src/business-address.ts"() {
|
|
634
|
+
"use strict";
|
|
635
|
+
}
|
|
636
|
+
});
|
|
637
|
+
|
|
631
638
|
// ../core/src/assert-never.ts
|
|
632
639
|
var init_assert_never = __esm({
|
|
633
640
|
"../core/src/assert-never.ts"() {
|
|
@@ -712,6 +719,7 @@ var init_src = __esm({
|
|
|
712
719
|
init_person_records();
|
|
713
720
|
init_rectification();
|
|
714
721
|
init_location();
|
|
722
|
+
init_business_address();
|
|
715
723
|
init_result();
|
|
716
724
|
init_assert_never();
|
|
717
725
|
init_try_async();
|
|
@@ -2854,6 +2862,23 @@ var init_shared2 = __esm({
|
|
|
2854
2862
|
}
|
|
2855
2863
|
});
|
|
2856
2864
|
|
|
2865
|
+
// ../blocks/src/system/runtime/nodes/events/shared/eventCapacity.ts
|
|
2866
|
+
function getEventAvailability(event) {
|
|
2867
|
+
if (event.capacity == null) {
|
|
2868
|
+
return { available: null, isFull: false };
|
|
2869
|
+
}
|
|
2870
|
+
const available = event.availableSpots ?? event.capacity - event.registeredCount;
|
|
2871
|
+
if (available <= 0) {
|
|
2872
|
+
return { available: 0, isFull: true };
|
|
2873
|
+
}
|
|
2874
|
+
return { available, isFull: false };
|
|
2875
|
+
}
|
|
2876
|
+
var init_eventCapacity = __esm({
|
|
2877
|
+
"../blocks/src/system/runtime/nodes/events/shared/eventCapacity.ts"() {
|
|
2878
|
+
"use strict";
|
|
2879
|
+
}
|
|
2880
|
+
});
|
|
2881
|
+
|
|
2857
2882
|
// ../blocks/src/system/runtime/nodes/events/shared/utils.ts
|
|
2858
2883
|
function getContainerClass(layout, columns) {
|
|
2859
2884
|
if (layout === "compact") {
|
|
@@ -3078,7 +3103,7 @@ function formatEventPrice(event) {
|
|
|
3078
3103
|
}
|
|
3079
3104
|
}
|
|
3080
3105
|
function resolveEventCta(event, buttonText) {
|
|
3081
|
-
const
|
|
3106
|
+
const { isFull: isSoldOut } = getEventAvailability(event);
|
|
3082
3107
|
const defaultButtonText = event.kind === "course_session" ? "View course" : "View event";
|
|
3083
3108
|
const effectiveButtonText = buttonText ?? defaultButtonText;
|
|
3084
3109
|
if (isSoldOut) {
|
|
@@ -3094,6 +3119,7 @@ var init_utils = __esm({
|
|
|
3094
3119
|
"use strict";
|
|
3095
3120
|
init_src();
|
|
3096
3121
|
init_shared2();
|
|
3122
|
+
init_eventCapacity();
|
|
3097
3123
|
COLUMN_CLASSES = {
|
|
3098
3124
|
"2": "rb-sm-grid-cols-2",
|
|
3099
3125
|
"3": "rb-sm-grid-cols-2 rb-lg-grid-cols-3",
|
|
@@ -4633,6 +4659,7 @@ var init_EventCard = __esm({
|
|
|
4633
4659
|
init_media2();
|
|
4634
4660
|
init_media_server();
|
|
4635
4661
|
init_EventCardIcons();
|
|
4662
|
+
init_eventCapacity();
|
|
4636
4663
|
init_utils();
|
|
4637
4664
|
EventCard = ({
|
|
4638
4665
|
event,
|
|
@@ -4657,7 +4684,7 @@ var init_EventCard = __esm({
|
|
|
4657
4684
|
)}`;
|
|
4658
4685
|
const cta = resolveEventCta(event, buttonText);
|
|
4659
4686
|
const isSoldOut = cta.hidden;
|
|
4660
|
-
const spotsLeft = event
|
|
4687
|
+
const { available: spotsLeft } = getEventAvailability(event);
|
|
4661
4688
|
const cardClass = `card-${cardVariant}`;
|
|
4662
4689
|
const buttonClass = `${buttonVariant} button-${buttonVariant}`;
|
|
4663
4690
|
const title = event.title;
|
|
@@ -8116,6 +8143,978 @@ var init_api = __esm({
|
|
|
8116
8143
|
}
|
|
8117
8144
|
});
|
|
8118
8145
|
|
|
8146
|
+
// ../theme-core/src/buttons/types.ts
|
|
8147
|
+
import { z as z21 } from "zod";
|
|
8148
|
+
var VARIANT_ROLES, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, hoverColorSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, variantRoleSchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, buttonGlobalSettingsSchema, gradientDirectionSchema, buttonBackgroundSchema, effectApplicationSchema, buttonBorderSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, buttonVariantSchema, buttonSystemSchema;
|
|
8149
|
+
var init_types4 = __esm({
|
|
8150
|
+
"../theme-core/src/buttons/types.ts"() {
|
|
8151
|
+
"use strict";
|
|
8152
|
+
VARIANT_ROLES = [
|
|
8153
|
+
"primary",
|
|
8154
|
+
"secondary",
|
|
8155
|
+
"outline",
|
|
8156
|
+
"ghost",
|
|
8157
|
+
"link",
|
|
8158
|
+
"tertiary",
|
|
8159
|
+
"accent"
|
|
8160
|
+
];
|
|
8161
|
+
cornerStyleSchema = z21.enum(["square", "rounded", "pill"]);
|
|
8162
|
+
shadowSizeSchema = z21.enum(["none", "low", "medium", "high"]);
|
|
8163
|
+
textTransformSchema = z21.enum(["none", "uppercase", "lowercase", "capitalize"]);
|
|
8164
|
+
fontWeightSchema = z21.union([z21.literal(500), z21.literal(600), z21.literal(700)]);
|
|
8165
|
+
buttonTypographySchema = z21.enum(["body", "heading"]);
|
|
8166
|
+
letterSpacingSchema = z21.enum(["tight", "normal", "loose"]);
|
|
8167
|
+
hoverTransformSchema = z21.enum(["none", "lift", "scale", "press"]);
|
|
8168
|
+
hoverColorSchema = z21.enum(["none", "brighten", "darken", "saturate", "token"]);
|
|
8169
|
+
buttonPaddingPresetSchema = z21.enum(["compact", "default", "spacious"]);
|
|
8170
|
+
gradientStyleSchema = z21.enum(["linear", "radial", "conic"]);
|
|
8171
|
+
gradientSharpnessSchema = z21.enum(["smooth", "medium", "hard"]);
|
|
8172
|
+
prioritySchema = z21.union([z21.literal(1), z21.literal(2), z21.literal(3)]);
|
|
8173
|
+
variantRoleSchema = z21.enum(VARIANT_ROLES);
|
|
8174
|
+
buttonSizeNameSchema = z21.enum(["sm", "md", "lg", "xl"]);
|
|
8175
|
+
PADDING_TOKEN_PATTERN = /^(?:0|\d+(?:\.\d+)?(?:rem|em|px|%))$/;
|
|
8176
|
+
paddingShorthandSchema = z21.string().refine(
|
|
8177
|
+
(value) => {
|
|
8178
|
+
const parts = value.split(/\s+/).filter(Boolean);
|
|
8179
|
+
return parts.length === 2 && parts.every((token) => PADDING_TOKEN_PATTERN.test(token));
|
|
8180
|
+
},
|
|
8181
|
+
{
|
|
8182
|
+
message: 'Padding must be two space-separated CSS length tokens (e.g. "0.5rem 1rem"). Use `0` for zero.'
|
|
8183
|
+
}
|
|
8184
|
+
);
|
|
8185
|
+
buttonSizeConfigSchema = z21.object({
|
|
8186
|
+
padding: paddingShorthandSchema,
|
|
8187
|
+
fontSize: z21.string().optional()
|
|
8188
|
+
});
|
|
8189
|
+
buttonSizesSchema = z21.object({
|
|
8190
|
+
sm: buttonSizeConfigSchema,
|
|
8191
|
+
md: buttonSizeConfigSchema,
|
|
8192
|
+
lg: buttonSizeConfigSchema,
|
|
8193
|
+
xl: buttonSizeConfigSchema.optional()
|
|
8194
|
+
}).transform(({ sm, md, lg, xl }) => ({
|
|
8195
|
+
sm,
|
|
8196
|
+
md,
|
|
8197
|
+
lg,
|
|
8198
|
+
xl: xl ?? lg
|
|
8199
|
+
}));
|
|
8200
|
+
buttonGlobalSettingsSchema = z21.object({
|
|
8201
|
+
cornerStyle: cornerStyleSchema,
|
|
8202
|
+
cornerRadius: z21.number().min(0).max(24).optional(),
|
|
8203
|
+
shadow: shadowSizeSchema,
|
|
8204
|
+
textTransform: textTransformSchema,
|
|
8205
|
+
fontWeight: fontWeightSchema,
|
|
8206
|
+
/**
|
|
8207
|
+
* @deprecated Set per-variant via `variant.border.widthClass` instead.
|
|
8208
|
+
* Schema field is preserved so existing presets parse; the value is unread
|
|
8209
|
+
* by the current generator and will be removed once the legacy
|
|
8210
|
+
* `primitives/content/components/Button.tsx` slot exports are deleted.
|
|
8211
|
+
*/
|
|
8212
|
+
borderWidth: z21.union([z21.literal(1), z21.literal(2), z21.literal(3)]),
|
|
8213
|
+
// === Family-level typography ===
|
|
8214
|
+
// Typography source (body or heading) — selects which theme typography pool to inherit
|
|
8215
|
+
typography: buttonTypographySchema.optional(),
|
|
8216
|
+
// Font size for all variants in the family (Tailwind token, e.g. "text-xs", "text-sm")
|
|
8217
|
+
// Sized variants get this as default; fixed variants inherit unless they override.
|
|
8218
|
+
// Size class CSS may still override at run time for sized variants.
|
|
8219
|
+
fontSize: z21.string().optional(),
|
|
8220
|
+
// Letter spacing applied to all variants
|
|
8221
|
+
letterSpacing: letterSpacingSchema.optional(),
|
|
8222
|
+
// Italic style
|
|
8223
|
+
italic: z21.boolean().optional(),
|
|
8224
|
+
// Padding preset (applies to sized variants without a sizes config)
|
|
8225
|
+
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
8226
|
+
hoverTransform: hoverTransformSchema,
|
|
8227
|
+
hoverColor: hoverColorSchema,
|
|
8228
|
+
// When hoverColor is 'token', this specifies which token to use
|
|
8229
|
+
hoverColorToken: z21.string().optional(),
|
|
8230
|
+
// Gradient settings (if any variant uses gradients)
|
|
8231
|
+
gradientStyle: gradientStyleSchema.optional(),
|
|
8232
|
+
gradientAngle: z21.number().min(0).max(360).optional(),
|
|
8233
|
+
gradientSharpness: gradientSharpnessSchema.optional()
|
|
8234
|
+
});
|
|
8235
|
+
gradientDirectionSchema = z21.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
8236
|
+
buttonBackgroundSchema = z21.discriminatedUnion("type", [
|
|
8237
|
+
z21.object({ type: z21.literal("solid"), colorToken: z21.string() }),
|
|
8238
|
+
z21.object({
|
|
8239
|
+
type: z21.literal("gradient"),
|
|
8240
|
+
stops: z21.array(z21.string()).min(2),
|
|
8241
|
+
direction: gradientDirectionSchema
|
|
8242
|
+
}),
|
|
8243
|
+
z21.object({ type: z21.literal("transparent") })
|
|
8244
|
+
]);
|
|
8245
|
+
effectApplicationSchema = z21.object({
|
|
8246
|
+
effectId: z21.string(),
|
|
8247
|
+
options: z21.record(z21.string(), z21.any()).optional()
|
|
8248
|
+
});
|
|
8249
|
+
buttonBorderSchema = z21.object({
|
|
8250
|
+
widthClass: z21.string(),
|
|
8251
|
+
colorToken: z21.string()
|
|
8252
|
+
});
|
|
8253
|
+
variantShadowSchema = z21.object({
|
|
8254
|
+
elevation: z21.enum(["none", "low", "medium", "high"]),
|
|
8255
|
+
softness: z21.enum(["crisp", "soft", "hard"]).nullable(),
|
|
8256
|
+
position: z21.enum(["bottom", "bottom-right"]).default("bottom")
|
|
8257
|
+
});
|
|
8258
|
+
variantEffectsSchema = z21.object({
|
|
8259
|
+
base: z21.array(effectApplicationSchema).optional(),
|
|
8260
|
+
hover: z21.array(effectApplicationSchema).optional(),
|
|
8261
|
+
active: z21.array(effectApplicationSchema).optional(),
|
|
8262
|
+
focus: z21.array(effectApplicationSchema).optional()
|
|
8263
|
+
});
|
|
8264
|
+
variantSizeOverridesSchema = z21.object({
|
|
8265
|
+
sm: buttonSizeConfigSchema.optional(),
|
|
8266
|
+
md: buttonSizeConfigSchema.optional(),
|
|
8267
|
+
lg: buttonSizeConfigSchema.optional(),
|
|
8268
|
+
xl: buttonSizeConfigSchema.optional()
|
|
8269
|
+
});
|
|
8270
|
+
buttonVariantSchema = z21.object({
|
|
8271
|
+
id: z21.string(),
|
|
8272
|
+
name: z21.string().min(1).max(20),
|
|
8273
|
+
enabled: z21.boolean(),
|
|
8274
|
+
priority: prioritySchema,
|
|
8275
|
+
// Base appearance (token-based)
|
|
8276
|
+
background: buttonBackgroundSchema,
|
|
8277
|
+
textColorToken: z21.string(),
|
|
8278
|
+
/** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
|
|
8279
|
+
borderRadius: z21.string().optional(),
|
|
8280
|
+
// Optional shadow override (uses theme.shadow if not specified)
|
|
8281
|
+
shadow: variantShadowSchema.optional(),
|
|
8282
|
+
// Border (optional)
|
|
8283
|
+
border: buttonBorderSchema.optional(),
|
|
8284
|
+
// Hover background token (per-variant override, takes precedence over global hoverColorToken)
|
|
8285
|
+
hoverBackgroundToken: z21.string().optional(),
|
|
8286
|
+
// Effect composition
|
|
8287
|
+
effects: variantEffectsSchema.optional(),
|
|
8288
|
+
// Per-variant size overrides — see VariantSizeOverrides
|
|
8289
|
+
sizes: variantSizeOverridesSchema.optional()
|
|
8290
|
+
});
|
|
8291
|
+
buttonSystemSchema = z21.object({
|
|
8292
|
+
global: buttonGlobalSettingsSchema,
|
|
8293
|
+
variants: z21.array(buttonVariantSchema).min(1).max(6),
|
|
8294
|
+
sizes: buttonSizesSchema.optional()
|
|
8295
|
+
});
|
|
8296
|
+
}
|
|
8297
|
+
});
|
|
8298
|
+
|
|
8299
|
+
// ../theme-core/src/tokens/resolver.ts
|
|
8300
|
+
var init_resolver = __esm({
|
|
8301
|
+
"../theme-core/src/tokens/resolver.ts"() {
|
|
8302
|
+
"use strict";
|
|
8303
|
+
}
|
|
8304
|
+
});
|
|
8305
|
+
|
|
8306
|
+
// ../theme-core/src/buttons/effects/presets/background.ts
|
|
8307
|
+
var init_background = __esm({
|
|
8308
|
+
"../theme-core/src/buttons/effects/presets/background.ts"() {
|
|
8309
|
+
"use strict";
|
|
8310
|
+
}
|
|
8311
|
+
});
|
|
8312
|
+
|
|
8313
|
+
// ../theme-core/src/buttons/effects/cssUtils.ts
|
|
8314
|
+
var init_cssUtils = __esm({
|
|
8315
|
+
"../theme-core/src/buttons/effects/cssUtils.ts"() {
|
|
8316
|
+
"use strict";
|
|
8317
|
+
}
|
|
8318
|
+
});
|
|
8319
|
+
|
|
8320
|
+
// ../theme-core/src/buttons/effects/presets/shadow.ts
|
|
8321
|
+
var init_shadow = __esm({
|
|
8322
|
+
"../theme-core/src/buttons/effects/presets/shadow.ts"() {
|
|
8323
|
+
"use strict";
|
|
8324
|
+
init_cssUtils();
|
|
8325
|
+
}
|
|
8326
|
+
});
|
|
8327
|
+
|
|
8328
|
+
// ../theme-core/src/buttons/effects/presets/transform.ts
|
|
8329
|
+
var init_transform = __esm({
|
|
8330
|
+
"../theme-core/src/buttons/effects/presets/transform.ts"() {
|
|
8331
|
+
"use strict";
|
|
8332
|
+
init_cssUtils();
|
|
8333
|
+
}
|
|
8334
|
+
});
|
|
8335
|
+
|
|
8336
|
+
// ../theme-core/src/buttons/effects/presets/overlay.ts
|
|
8337
|
+
var init_overlay = __esm({
|
|
8338
|
+
"../theme-core/src/buttons/effects/presets/overlay.ts"() {
|
|
8339
|
+
"use strict";
|
|
8340
|
+
}
|
|
8341
|
+
});
|
|
8342
|
+
|
|
8343
|
+
// ../theme-core/src/buttons/effects/presets/text.ts
|
|
8344
|
+
var init_text = __esm({
|
|
8345
|
+
"../theme-core/src/buttons/effects/presets/text.ts"() {
|
|
8346
|
+
"use strict";
|
|
8347
|
+
}
|
|
8348
|
+
});
|
|
8349
|
+
|
|
8350
|
+
// ../theme-core/src/buttons/effects/presets/border.ts
|
|
8351
|
+
var init_border = __esm({
|
|
8352
|
+
"../theme-core/src/buttons/effects/presets/border.ts"() {
|
|
8353
|
+
"use strict";
|
|
8354
|
+
}
|
|
8355
|
+
});
|
|
8356
|
+
|
|
8357
|
+
// ../theme-core/src/buttons/effects/presets/animation.ts
|
|
8358
|
+
var init_animation = __esm({
|
|
8359
|
+
"../theme-core/src/buttons/effects/presets/animation.ts"() {
|
|
8360
|
+
"use strict";
|
|
8361
|
+
}
|
|
8362
|
+
});
|
|
8363
|
+
|
|
8364
|
+
// ../theme-core/src/interactive/effects/nav-underline.ts
|
|
8365
|
+
var init_nav_underline = __esm({
|
|
8366
|
+
"../theme-core/src/interactive/effects/nav-underline.ts"() {
|
|
8367
|
+
"use strict";
|
|
8368
|
+
}
|
|
8369
|
+
});
|
|
8370
|
+
|
|
8371
|
+
// ../theme-core/src/interactive/effects/nav-frosted.ts
|
|
8372
|
+
var init_nav_frosted = __esm({
|
|
8373
|
+
"../theme-core/src/interactive/effects/nav-frosted.ts"() {
|
|
8374
|
+
"use strict";
|
|
8375
|
+
}
|
|
8376
|
+
});
|
|
8377
|
+
|
|
8378
|
+
// ../theme-core/src/interactive/effects/index.ts
|
|
8379
|
+
var init_effects = __esm({
|
|
8380
|
+
"../theme-core/src/interactive/effects/index.ts"() {
|
|
8381
|
+
"use strict";
|
|
8382
|
+
init_nav_underline();
|
|
8383
|
+
init_nav_frosted();
|
|
8384
|
+
}
|
|
8385
|
+
});
|
|
8386
|
+
|
|
8387
|
+
// ../theme-core/src/buttons/effects/registry.ts
|
|
8388
|
+
var init_registry = __esm({
|
|
8389
|
+
"../theme-core/src/buttons/effects/registry.ts"() {
|
|
8390
|
+
"use strict";
|
|
8391
|
+
init_background();
|
|
8392
|
+
init_shadow();
|
|
8393
|
+
init_transform();
|
|
8394
|
+
init_overlay();
|
|
8395
|
+
init_text();
|
|
8396
|
+
init_border();
|
|
8397
|
+
init_animation();
|
|
8398
|
+
init_effects();
|
|
8399
|
+
}
|
|
8400
|
+
});
|
|
8401
|
+
|
|
8402
|
+
// ../theme-core/src/interactive/generateEffectsCSS.ts
|
|
8403
|
+
var init_generateEffectsCSS = __esm({
|
|
8404
|
+
"../theme-core/src/interactive/generateEffectsCSS.ts"() {
|
|
8405
|
+
"use strict";
|
|
8406
|
+
init_registry();
|
|
8407
|
+
}
|
|
8408
|
+
});
|
|
8409
|
+
|
|
8410
|
+
// ../theme-core/src/buttons/constants.ts
|
|
8411
|
+
var init_constants = __esm({
|
|
8412
|
+
"../theme-core/src/buttons/constants.ts"() {
|
|
8413
|
+
"use strict";
|
|
8414
|
+
}
|
|
8415
|
+
});
|
|
8416
|
+
|
|
8417
|
+
// ../theme-core/src/buttons/utils/contrast.ts
|
|
8418
|
+
var init_contrast2 = __esm({
|
|
8419
|
+
"../theme-core/src/buttons/utils/contrast.ts"() {
|
|
8420
|
+
"use strict";
|
|
8421
|
+
}
|
|
8422
|
+
});
|
|
8423
|
+
|
|
8424
|
+
// ../theme-core/src/buttons/generateDefaultButtonSystem.ts
|
|
8425
|
+
var init_generateDefaultButtonSystem = __esm({
|
|
8426
|
+
"../theme-core/src/buttons/generateDefaultButtonSystem.ts"() {
|
|
8427
|
+
"use strict";
|
|
8428
|
+
init_contrast2();
|
|
8429
|
+
}
|
|
8430
|
+
});
|
|
8431
|
+
|
|
8432
|
+
// ../theme-core/src/buttons/generateButtonCss.ts
|
|
8433
|
+
var BUTTON_SIZE_NAMES;
|
|
8434
|
+
var init_generateButtonCss = __esm({
|
|
8435
|
+
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
8436
|
+
"use strict";
|
|
8437
|
+
init_types4();
|
|
8438
|
+
init_resolver();
|
|
8439
|
+
init_generateEffectsCSS();
|
|
8440
|
+
init_constants();
|
|
8441
|
+
init_generateDefaultButtonSystem();
|
|
8442
|
+
BUTTON_SIZE_NAMES = buttonSizeNameSchema.options;
|
|
8443
|
+
}
|
|
8444
|
+
});
|
|
8445
|
+
|
|
8446
|
+
// ../theme-core/src/buttons/presets.ts
|
|
8447
|
+
var init_presets = __esm({
|
|
8448
|
+
"../theme-core/src/buttons/presets.ts"() {
|
|
8449
|
+
"use strict";
|
|
8450
|
+
}
|
|
8451
|
+
});
|
|
8452
|
+
|
|
8453
|
+
// ../theme-core/src/site-styles/compatibility.ts
|
|
8454
|
+
import { z as z22 } from "zod";
|
|
8455
|
+
var STYLE_AXIS_VALUES, styleTagsSchema;
|
|
8456
|
+
var init_compatibility = __esm({
|
|
8457
|
+
"../theme-core/src/site-styles/compatibility.ts"() {
|
|
8458
|
+
"use strict";
|
|
8459
|
+
STYLE_AXIS_VALUES = {
|
|
8460
|
+
tone: ["minimal", "classic", "bold"],
|
|
8461
|
+
energy: ["calm", "vibrant"],
|
|
8462
|
+
motion: ["subtle", "standard", "expressive"],
|
|
8463
|
+
era: ["editorial", "modern", "organic", "technical", "retro"]
|
|
8464
|
+
};
|
|
8465
|
+
styleTagsSchema = z22.object({
|
|
8466
|
+
tone: z22.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
8467
|
+
energy: z22.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
8468
|
+
motion: z22.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
8469
|
+
era: z22.enum(STYLE_AXIS_VALUES.era).optional()
|
|
8470
|
+
});
|
|
8471
|
+
}
|
|
8472
|
+
});
|
|
8473
|
+
|
|
8474
|
+
// ../theme-core/src/buttons/personalities/types.ts
|
|
8475
|
+
import { z as z23 } from "zod";
|
|
8476
|
+
function asButtonPersonalityId(value) {
|
|
8477
|
+
if (value.length === 0) {
|
|
8478
|
+
throw new Error("ButtonPersonalityId must be a non-empty string");
|
|
8479
|
+
}
|
|
8480
|
+
return value;
|
|
8481
|
+
}
|
|
8482
|
+
function defineButtonPersonality(input) {
|
|
8483
|
+
return {
|
|
8484
|
+
id: asButtonPersonalityId(input.id),
|
|
8485
|
+
name: input.name,
|
|
8486
|
+
description: input.description,
|
|
8487
|
+
tags: input.tags,
|
|
8488
|
+
buttonSystem: input.buttonSystem
|
|
8489
|
+
};
|
|
8490
|
+
}
|
|
8491
|
+
var buttonPersonalityIdSchema, buttonPersonalitySchema;
|
|
8492
|
+
var init_types5 = __esm({
|
|
8493
|
+
"../theme-core/src/buttons/personalities/types.ts"() {
|
|
8494
|
+
"use strict";
|
|
8495
|
+
init_types4();
|
|
8496
|
+
init_compatibility();
|
|
8497
|
+
buttonPersonalityIdSchema = z23.string().min(1).transform((value) => asButtonPersonalityId(value));
|
|
8498
|
+
buttonPersonalitySchema = z23.object({
|
|
8499
|
+
id: buttonPersonalityIdSchema,
|
|
8500
|
+
name: z23.string().min(1),
|
|
8501
|
+
description: z23.string().min(1),
|
|
8502
|
+
tags: styleTagsSchema,
|
|
8503
|
+
buttonSystem: buttonSystemSchema
|
|
8504
|
+
});
|
|
8505
|
+
}
|
|
8506
|
+
});
|
|
8507
|
+
|
|
8508
|
+
// ../theme-core/src/buttons/personalities/brushed-wash.ts
|
|
8509
|
+
var brushedWash;
|
|
8510
|
+
var init_brushed_wash = __esm({
|
|
8511
|
+
"../theme-core/src/buttons/personalities/brushed-wash.ts"() {
|
|
8512
|
+
"use strict";
|
|
8513
|
+
init_types5();
|
|
8514
|
+
brushedWash = defineButtonPersonality({
|
|
8515
|
+
id: "brushed-wash",
|
|
8516
|
+
name: "Brushed Wash",
|
|
8517
|
+
description: "Watercolour-gradient buttons with soft shadows and generous padding.",
|
|
8518
|
+
tags: { tone: "classic", energy: "vibrant", motion: "standard", era: "organic" },
|
|
8519
|
+
buttonSystem: {
|
|
8520
|
+
global: {
|
|
8521
|
+
cornerStyle: "rounded",
|
|
8522
|
+
shadow: "low",
|
|
8523
|
+
textTransform: "none",
|
|
8524
|
+
fontWeight: 500,
|
|
8525
|
+
borderWidth: 1,
|
|
8526
|
+
hoverTransform: "none",
|
|
8527
|
+
hoverColor: "none"
|
|
8528
|
+
},
|
|
8529
|
+
sizes: {
|
|
8530
|
+
sm: { padding: "0.75rem 2rem", fontSize: "text-sm" },
|
|
8531
|
+
md: { padding: "1rem 2.5rem" },
|
|
8532
|
+
lg: { padding: "1.25rem 3rem", fontSize: "text-lg" },
|
|
8533
|
+
xl: { padding: "1.625rem 3.75rem", fontSize: "text-xl" }
|
|
8534
|
+
},
|
|
8535
|
+
variants: [
|
|
8536
|
+
{
|
|
8537
|
+
id: "primary",
|
|
8538
|
+
name: "Primary",
|
|
8539
|
+
enabled: true,
|
|
8540
|
+
priority: 1,
|
|
8541
|
+
background: {
|
|
8542
|
+
type: "gradient",
|
|
8543
|
+
stops: ["primary", "accent"],
|
|
8544
|
+
direction: "to-r"
|
|
8545
|
+
},
|
|
8546
|
+
textColorToken: "primaryForeground",
|
|
8547
|
+
borderRadius: "rounded-lg",
|
|
8548
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
8549
|
+
effects: {
|
|
8550
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
|
|
8551
|
+
}
|
|
8552
|
+
},
|
|
8553
|
+
{
|
|
8554
|
+
id: "secondary",
|
|
8555
|
+
name: "Secondary",
|
|
8556
|
+
enabled: true,
|
|
8557
|
+
priority: 2,
|
|
8558
|
+
background: {
|
|
8559
|
+
type: "gradient",
|
|
8560
|
+
stops: ["secondary", "accent"],
|
|
8561
|
+
direction: "to-br"
|
|
8562
|
+
},
|
|
8563
|
+
textColorToken: "primaryForeground",
|
|
8564
|
+
borderRadius: "rounded-lg",
|
|
8565
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
8566
|
+
effects: {
|
|
8567
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
|
|
8568
|
+
}
|
|
8569
|
+
},
|
|
8570
|
+
{
|
|
8571
|
+
id: "outline",
|
|
8572
|
+
name: "Outline",
|
|
8573
|
+
enabled: true,
|
|
8574
|
+
priority: 3,
|
|
8575
|
+
background: { type: "transparent" },
|
|
8576
|
+
textColorToken: "primary",
|
|
8577
|
+
borderRadius: "rounded-lg",
|
|
8578
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
8579
|
+
effects: {
|
|
8580
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8581
|
+
}
|
|
8582
|
+
},
|
|
8583
|
+
{
|
|
8584
|
+
id: "ghost",
|
|
8585
|
+
name: "Ghost",
|
|
8586
|
+
enabled: true,
|
|
8587
|
+
priority: 3,
|
|
8588
|
+
background: { type: "transparent" },
|
|
8589
|
+
textColorToken: "text",
|
|
8590
|
+
borderRadius: "rounded-lg",
|
|
8591
|
+
effects: {
|
|
8592
|
+
hover: [
|
|
8593
|
+
{ effectId: "background-on-hover", options: { colorToken: "surface" } }
|
|
8594
|
+
]
|
|
8595
|
+
}
|
|
8596
|
+
}
|
|
8597
|
+
]
|
|
8598
|
+
}
|
|
8599
|
+
});
|
|
8600
|
+
}
|
|
8601
|
+
});
|
|
8602
|
+
|
|
8603
|
+
// ../theme-core/src/buttons/personalities/confident-chip.ts
|
|
8604
|
+
var confidentChip;
|
|
8605
|
+
var init_confident_chip = __esm({
|
|
8606
|
+
"../theme-core/src/buttons/personalities/confident-chip.ts"() {
|
|
8607
|
+
"use strict";
|
|
8608
|
+
init_types5();
|
|
8609
|
+
confidentChip = defineButtonPersonality({
|
|
8610
|
+
id: "confident-chip",
|
|
8611
|
+
name: "Confident Chip",
|
|
8612
|
+
description: "Mid-radius solid buttons with a crisp hover.",
|
|
8613
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "modern" },
|
|
8614
|
+
buttonSystem: {
|
|
8615
|
+
global: {
|
|
8616
|
+
cornerStyle: "rounded",
|
|
8617
|
+
shadow: "medium",
|
|
8618
|
+
textTransform: "none",
|
|
8619
|
+
fontWeight: 600,
|
|
8620
|
+
borderWidth: 1,
|
|
8621
|
+
hoverTransform: "none",
|
|
8622
|
+
hoverColor: "none"
|
|
8623
|
+
},
|
|
8624
|
+
variants: [
|
|
8625
|
+
{
|
|
8626
|
+
id: "primary",
|
|
8627
|
+
name: "Primary",
|
|
8628
|
+
enabled: true,
|
|
8629
|
+
priority: 1,
|
|
8630
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8631
|
+
textColorToken: "primaryForeground",
|
|
8632
|
+
borderRadius: "rounded-md",
|
|
8633
|
+
shadow: { elevation: "medium", softness: "soft", position: "bottom" },
|
|
8634
|
+
effects: {
|
|
8635
|
+
hover: [{ effectId: "darken-background", options: { amount: 60 } }],
|
|
8636
|
+
active: [{ effectId: "scale-down", options: { scale: "0.97" } }]
|
|
8637
|
+
}
|
|
8638
|
+
},
|
|
8639
|
+
{
|
|
8640
|
+
id: "secondary",
|
|
8641
|
+
name: "Secondary",
|
|
8642
|
+
enabled: true,
|
|
8643
|
+
priority: 2,
|
|
8644
|
+
background: { type: "solid", colorToken: "surface" },
|
|
8645
|
+
textColorToken: "text",
|
|
8646
|
+
borderRadius: "rounded-md",
|
|
8647
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
8648
|
+
effects: {
|
|
8649
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
8650
|
+
}
|
|
8651
|
+
},
|
|
8652
|
+
{
|
|
8653
|
+
id: "outline",
|
|
8654
|
+
name: "Outline",
|
|
8655
|
+
enabled: true,
|
|
8656
|
+
priority: 3,
|
|
8657
|
+
background: { type: "transparent" },
|
|
8658
|
+
textColorToken: "primary",
|
|
8659
|
+
borderRadius: "rounded-md",
|
|
8660
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
8661
|
+
effects: {
|
|
8662
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8663
|
+
}
|
|
8664
|
+
},
|
|
8665
|
+
{
|
|
8666
|
+
id: "ghost",
|
|
8667
|
+
name: "Ghost",
|
|
8668
|
+
enabled: true,
|
|
8669
|
+
priority: 3,
|
|
8670
|
+
background: { type: "transparent" },
|
|
8671
|
+
textColorToken: "primary",
|
|
8672
|
+
borderRadius: "rounded-md",
|
|
8673
|
+
effects: {
|
|
8674
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8675
|
+
}
|
|
8676
|
+
}
|
|
8677
|
+
]
|
|
8678
|
+
}
|
|
8679
|
+
});
|
|
8680
|
+
}
|
|
8681
|
+
});
|
|
8682
|
+
|
|
8683
|
+
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
8684
|
+
var editorialLink;
|
|
8685
|
+
var init_editorial_link = __esm({
|
|
8686
|
+
"../theme-core/src/buttons/personalities/editorial-link.ts"() {
|
|
8687
|
+
"use strict";
|
|
8688
|
+
init_types5();
|
|
8689
|
+
editorialLink = defineButtonPersonality({
|
|
8690
|
+
id: "editorial-link",
|
|
8691
|
+
name: "Editorial Link",
|
|
8692
|
+
description: "Link-style with a growing underline. Refined, typographic.",
|
|
8693
|
+
tags: { tone: "minimal", energy: "calm", motion: "subtle", era: "editorial" },
|
|
8694
|
+
buttonSystem: {
|
|
8695
|
+
global: {
|
|
8696
|
+
cornerStyle: "square",
|
|
8697
|
+
shadow: "none",
|
|
8698
|
+
textTransform: "none",
|
|
8699
|
+
fontWeight: 500,
|
|
8700
|
+
borderWidth: 1,
|
|
8701
|
+
hoverTransform: "none",
|
|
8702
|
+
hoverColor: "none"
|
|
8703
|
+
},
|
|
8704
|
+
variants: [
|
|
8705
|
+
{
|
|
8706
|
+
id: "primary",
|
|
8707
|
+
name: "Primary",
|
|
8708
|
+
enabled: true,
|
|
8709
|
+
priority: 1,
|
|
8710
|
+
background: { type: "transparent" },
|
|
8711
|
+
textColorToken: "text",
|
|
8712
|
+
borderRadius: "rounded-none",
|
|
8713
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8714
|
+
sizes: {
|
|
8715
|
+
sm: { padding: "0.25rem 0" },
|
|
8716
|
+
md: { padding: "0.5rem 0" },
|
|
8717
|
+
lg: { padding: "0.625rem 0" },
|
|
8718
|
+
xl: { padding: "0.75rem 0" }
|
|
8719
|
+
},
|
|
8720
|
+
effects: {
|
|
8721
|
+
base: [
|
|
8722
|
+
{ effectId: "border-bottom-grow", options: { height: 2, colorToken: "text", origin: "left" } }
|
|
8723
|
+
]
|
|
8724
|
+
}
|
|
8725
|
+
},
|
|
8726
|
+
{
|
|
8727
|
+
id: "secondary",
|
|
8728
|
+
name: "Secondary",
|
|
8729
|
+
enabled: true,
|
|
8730
|
+
priority: 2,
|
|
8731
|
+
background: { type: "transparent" },
|
|
8732
|
+
textColorToken: "mutedText",
|
|
8733
|
+
borderRadius: "rounded-none",
|
|
8734
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8735
|
+
sizes: {
|
|
8736
|
+
sm: { padding: "0.25rem 0" },
|
|
8737
|
+
md: { padding: "0.5rem 0" },
|
|
8738
|
+
lg: { padding: "0.625rem 0" },
|
|
8739
|
+
xl: { padding: "0.75rem 0" }
|
|
8740
|
+
},
|
|
8741
|
+
effects: {
|
|
8742
|
+
base: [
|
|
8743
|
+
{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "mutedText", origin: "left" } }
|
|
8744
|
+
]
|
|
8745
|
+
}
|
|
8746
|
+
},
|
|
8747
|
+
{
|
|
8748
|
+
id: "outline",
|
|
8749
|
+
name: "Outline",
|
|
8750
|
+
enabled: true,
|
|
8751
|
+
priority: 3,
|
|
8752
|
+
background: { type: "transparent" },
|
|
8753
|
+
textColorToken: "accent",
|
|
8754
|
+
borderRadius: "rounded-none",
|
|
8755
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8756
|
+
sizes: {
|
|
8757
|
+
sm: { padding: "0.25rem 0" },
|
|
8758
|
+
md: { padding: "0.5rem 0" },
|
|
8759
|
+
lg: { padding: "0.625rem 0" },
|
|
8760
|
+
xl: { padding: "0.75rem 0" }
|
|
8761
|
+
},
|
|
8762
|
+
effects: {
|
|
8763
|
+
base: [
|
|
8764
|
+
{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }
|
|
8765
|
+
]
|
|
8766
|
+
}
|
|
8767
|
+
},
|
|
8768
|
+
{
|
|
8769
|
+
id: "ghost",
|
|
8770
|
+
name: "Ghost",
|
|
8771
|
+
enabled: true,
|
|
8772
|
+
priority: 3,
|
|
8773
|
+
background: { type: "transparent" },
|
|
8774
|
+
textColorToken: "mutedText",
|
|
8775
|
+
borderRadius: "rounded-none",
|
|
8776
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8777
|
+
sizes: {
|
|
8778
|
+
sm: { padding: "0.25rem 0" },
|
|
8779
|
+
md: { padding: "0.5rem 0" },
|
|
8780
|
+
lg: { padding: "0.625rem 0" },
|
|
8781
|
+
xl: { padding: "0.75rem 0" }
|
|
8782
|
+
},
|
|
8783
|
+
effects: {
|
|
8784
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -20 } }]
|
|
8785
|
+
}
|
|
8786
|
+
}
|
|
8787
|
+
]
|
|
8788
|
+
}
|
|
8789
|
+
});
|
|
8790
|
+
}
|
|
8791
|
+
});
|
|
8792
|
+
|
|
8793
|
+
// ../theme-core/src/buttons/personalities/ink-stamp.ts
|
|
8794
|
+
var inkStamp;
|
|
8795
|
+
var init_ink_stamp = __esm({
|
|
8796
|
+
"../theme-core/src/buttons/personalities/ink-stamp.ts"() {
|
|
8797
|
+
"use strict";
|
|
8798
|
+
init_types5();
|
|
8799
|
+
inkStamp = defineButtonPersonality({
|
|
8800
|
+
id: "ink-stamp",
|
|
8801
|
+
name: "Ink Stamp",
|
|
8802
|
+
description: "Hand-stamped block-print buttons with a slight lift on hover.",
|
|
8803
|
+
tags: { tone: "bold", energy: "vibrant", motion: "standard", era: "organic" },
|
|
8804
|
+
buttonSystem: {
|
|
8805
|
+
global: {
|
|
8806
|
+
cornerStyle: "rounded",
|
|
8807
|
+
shadow: "none",
|
|
8808
|
+
textTransform: "uppercase",
|
|
8809
|
+
fontWeight: 600,
|
|
8810
|
+
borderWidth: 1,
|
|
8811
|
+
hoverTransform: "none",
|
|
8812
|
+
hoverColor: "none",
|
|
8813
|
+
letterSpacing: "loose"
|
|
8814
|
+
},
|
|
8815
|
+
sizes: {
|
|
8816
|
+
sm: { padding: "0.5rem 1.25rem", fontSize: "text-xs" },
|
|
8817
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-sm" },
|
|
8818
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-base" },
|
|
8819
|
+
xl: { padding: "1.125rem 2.75rem", fontSize: "text-lg" }
|
|
8820
|
+
},
|
|
8821
|
+
variants: [
|
|
8822
|
+
{
|
|
8823
|
+
id: "primary",
|
|
8824
|
+
name: "Primary",
|
|
8825
|
+
enabled: true,
|
|
8826
|
+
priority: 1,
|
|
8827
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8828
|
+
textColorToken: "primaryForeground",
|
|
8829
|
+
borderRadius: "rounded-md",
|
|
8830
|
+
effects: {
|
|
8831
|
+
hover: [
|
|
8832
|
+
{ effectId: "drop-shadow", options: { intensity: "medium" } },
|
|
8833
|
+
{ effectId: "scale-up", options: { scale: "1.02" } }
|
|
8834
|
+
],
|
|
8835
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
8836
|
+
}
|
|
8837
|
+
},
|
|
8838
|
+
{
|
|
8839
|
+
id: "secondary",
|
|
8840
|
+
name: "Secondary",
|
|
8841
|
+
enabled: true,
|
|
8842
|
+
priority: 2,
|
|
8843
|
+
background: { type: "transparent" },
|
|
8844
|
+
textColorToken: "primary",
|
|
8845
|
+
borderRadius: "rounded-md",
|
|
8846
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
8847
|
+
effects: {
|
|
8848
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8849
|
+
}
|
|
8850
|
+
},
|
|
8851
|
+
{
|
|
8852
|
+
id: "outline",
|
|
8853
|
+
name: "Outline",
|
|
8854
|
+
enabled: true,
|
|
8855
|
+
priority: 3,
|
|
8856
|
+
background: { type: "transparent" },
|
|
8857
|
+
textColorToken: "text",
|
|
8858
|
+
borderRadius: "rounded-md",
|
|
8859
|
+
border: { widthClass: "border-2", colorToken: "border" },
|
|
8860
|
+
effects: {
|
|
8861
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8862
|
+
}
|
|
8863
|
+
},
|
|
8864
|
+
{
|
|
8865
|
+
id: "ghost",
|
|
8866
|
+
name: "Ghost",
|
|
8867
|
+
enabled: true,
|
|
8868
|
+
priority: 3,
|
|
8869
|
+
background: { type: "transparent" },
|
|
8870
|
+
textColorToken: "accent",
|
|
8871
|
+
borderRadius: "rounded-none",
|
|
8872
|
+
sizes: {
|
|
8873
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
8874
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
8875
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
8876
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
8877
|
+
},
|
|
8878
|
+
effects: {
|
|
8879
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
8880
|
+
}
|
|
8881
|
+
}
|
|
8882
|
+
]
|
|
8883
|
+
}
|
|
8884
|
+
});
|
|
8885
|
+
}
|
|
8886
|
+
});
|
|
8887
|
+
|
|
8888
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
8889
|
+
var pebble;
|
|
8890
|
+
var init_pebble = __esm({
|
|
8891
|
+
"../theme-core/src/buttons/personalities/pebble.ts"() {
|
|
8892
|
+
"use strict";
|
|
8893
|
+
init_types5();
|
|
8894
|
+
pebble = defineButtonPersonality({
|
|
8895
|
+
id: "pebble",
|
|
8896
|
+
name: "Pebble",
|
|
8897
|
+
description: "Generous pill buttons with a soft hover lift.",
|
|
8898
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
8899
|
+
buttonSystem: {
|
|
8900
|
+
global: {
|
|
8901
|
+
cornerStyle: "pill",
|
|
8902
|
+
shadow: "none",
|
|
8903
|
+
textTransform: "none",
|
|
8904
|
+
fontWeight: 500,
|
|
8905
|
+
borderWidth: 2,
|
|
8906
|
+
hoverTransform: "none",
|
|
8907
|
+
hoverColor: "none"
|
|
8908
|
+
},
|
|
8909
|
+
sizes: {
|
|
8910
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
8911
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
8912
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
8913
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
8914
|
+
},
|
|
8915
|
+
variants: [
|
|
8916
|
+
{
|
|
8917
|
+
id: "primary",
|
|
8918
|
+
name: "Primary",
|
|
8919
|
+
enabled: true,
|
|
8920
|
+
priority: 1,
|
|
8921
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8922
|
+
textColorToken: "primaryForeground",
|
|
8923
|
+
borderRadius: "rounded-full",
|
|
8924
|
+
effects: {
|
|
8925
|
+
hover: [
|
|
8926
|
+
{ effectId: "scale-up", options: { scale: "1.03" } },
|
|
8927
|
+
{ effectId: "drop-shadow", options: { intensity: "medium" } }
|
|
8928
|
+
]
|
|
8929
|
+
}
|
|
8930
|
+
},
|
|
8931
|
+
{
|
|
8932
|
+
id: "secondary",
|
|
8933
|
+
name: "Secondary",
|
|
8934
|
+
enabled: true,
|
|
8935
|
+
priority: 2,
|
|
8936
|
+
background: { type: "transparent" },
|
|
8937
|
+
textColorToken: "primary",
|
|
8938
|
+
borderRadius: "rounded-full",
|
|
8939
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
8940
|
+
effects: {
|
|
8941
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
8942
|
+
}
|
|
8943
|
+
},
|
|
8944
|
+
{
|
|
8945
|
+
id: "outline",
|
|
8946
|
+
name: "Outline",
|
|
8947
|
+
enabled: true,
|
|
8948
|
+
priority: 3,
|
|
8949
|
+
background: { type: "transparent" },
|
|
8950
|
+
textColorToken: "text",
|
|
8951
|
+
borderRadius: "rounded-full",
|
|
8952
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
8953
|
+
effects: {
|
|
8954
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
8955
|
+
}
|
|
8956
|
+
},
|
|
8957
|
+
{
|
|
8958
|
+
id: "ghost",
|
|
8959
|
+
name: "Ghost",
|
|
8960
|
+
enabled: true,
|
|
8961
|
+
priority: 3,
|
|
8962
|
+
background: { type: "transparent" },
|
|
8963
|
+
textColorToken: "primary",
|
|
8964
|
+
borderRadius: "rounded-full",
|
|
8965
|
+
sizes: {
|
|
8966
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
8967
|
+
md: { padding: "0.5rem 1rem" },
|
|
8968
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
8969
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
8970
|
+
},
|
|
8971
|
+
effects: {
|
|
8972
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
8973
|
+
}
|
|
8974
|
+
}
|
|
8975
|
+
]
|
|
8976
|
+
}
|
|
8977
|
+
});
|
|
8978
|
+
}
|
|
8979
|
+
});
|
|
8980
|
+
|
|
8981
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
8982
|
+
var softPill;
|
|
8983
|
+
var init_soft_pill = __esm({
|
|
8984
|
+
"../theme-core/src/buttons/personalities/soft-pill.ts"() {
|
|
8985
|
+
"use strict";
|
|
8986
|
+
init_types5();
|
|
8987
|
+
softPill = defineButtonPersonality({
|
|
8988
|
+
id: "soft-pill",
|
|
8989
|
+
name: "Soft Pill",
|
|
8990
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
8991
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
8992
|
+
buttonSystem: {
|
|
8993
|
+
global: {
|
|
8994
|
+
cornerStyle: "pill",
|
|
8995
|
+
shadow: "low",
|
|
8996
|
+
textTransform: "none",
|
|
8997
|
+
fontWeight: 500,
|
|
8998
|
+
borderWidth: 2,
|
|
8999
|
+
hoverTransform: "lift",
|
|
9000
|
+
hoverColor: "none"
|
|
9001
|
+
},
|
|
9002
|
+
variants: [
|
|
9003
|
+
{
|
|
9004
|
+
id: "primary",
|
|
9005
|
+
name: "Primary",
|
|
9006
|
+
enabled: true,
|
|
9007
|
+
priority: 1,
|
|
9008
|
+
background: { type: "solid", colorToken: "primary" },
|
|
9009
|
+
textColorToken: "primaryForeground",
|
|
9010
|
+
borderRadius: "rounded-full",
|
|
9011
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
9012
|
+
effects: {
|
|
9013
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
9014
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
9015
|
+
}
|
|
9016
|
+
},
|
|
9017
|
+
{
|
|
9018
|
+
id: "secondary",
|
|
9019
|
+
name: "Secondary",
|
|
9020
|
+
enabled: true,
|
|
9021
|
+
priority: 2,
|
|
9022
|
+
background: { type: "transparent" },
|
|
9023
|
+
textColorToken: "primary",
|
|
9024
|
+
borderRadius: "rounded-full",
|
|
9025
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
9026
|
+
effects: {
|
|
9027
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
9028
|
+
}
|
|
9029
|
+
},
|
|
9030
|
+
{
|
|
9031
|
+
id: "outline",
|
|
9032
|
+
name: "Outline",
|
|
9033
|
+
enabled: true,
|
|
9034
|
+
priority: 3,
|
|
9035
|
+
background: { type: "transparent" },
|
|
9036
|
+
textColorToken: "text",
|
|
9037
|
+
borderRadius: "rounded-full",
|
|
9038
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
9039
|
+
effects: {
|
|
9040
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
9041
|
+
}
|
|
9042
|
+
},
|
|
9043
|
+
{
|
|
9044
|
+
id: "ghost",
|
|
9045
|
+
name: "Ghost",
|
|
9046
|
+
enabled: true,
|
|
9047
|
+
priority: 3,
|
|
9048
|
+
background: { type: "transparent" },
|
|
9049
|
+
textColorToken: "text",
|
|
9050
|
+
borderRadius: "rounded-full",
|
|
9051
|
+
effects: {
|
|
9052
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
9053
|
+
}
|
|
9054
|
+
}
|
|
9055
|
+
]
|
|
9056
|
+
}
|
|
9057
|
+
});
|
|
9058
|
+
}
|
|
9059
|
+
});
|
|
9060
|
+
|
|
9061
|
+
// ../theme-core/src/buttons/personalities/index.ts
|
|
9062
|
+
var buttonPersonalities, personalitiesById;
|
|
9063
|
+
var init_personalities = __esm({
|
|
9064
|
+
"../theme-core/src/buttons/personalities/index.ts"() {
|
|
9065
|
+
"use strict";
|
|
9066
|
+
init_brushed_wash();
|
|
9067
|
+
init_confident_chip();
|
|
9068
|
+
init_editorial_link();
|
|
9069
|
+
init_ink_stamp();
|
|
9070
|
+
init_pebble();
|
|
9071
|
+
init_soft_pill();
|
|
9072
|
+
init_types5();
|
|
9073
|
+
buttonPersonalities = [
|
|
9074
|
+
softPill,
|
|
9075
|
+
confidentChip,
|
|
9076
|
+
editorialLink,
|
|
9077
|
+
pebble,
|
|
9078
|
+
inkStamp,
|
|
9079
|
+
brushedWash
|
|
9080
|
+
];
|
|
9081
|
+
personalitiesById = new Map(
|
|
9082
|
+
buttonPersonalities.map((p) => [p.id, p])
|
|
9083
|
+
);
|
|
9084
|
+
}
|
|
9085
|
+
});
|
|
9086
|
+
|
|
9087
|
+
// ../theme-core/src/buttons/effects/types.ts
|
|
9088
|
+
var init_types6 = __esm({
|
|
9089
|
+
"../theme-core/src/buttons/effects/types.ts"() {
|
|
9090
|
+
"use strict";
|
|
9091
|
+
}
|
|
9092
|
+
});
|
|
9093
|
+
|
|
9094
|
+
// ../theme-core/src/buttons/core.ts
|
|
9095
|
+
var init_core = __esm({
|
|
9096
|
+
"../theme-core/src/buttons/core.ts"() {
|
|
9097
|
+
"use strict";
|
|
9098
|
+
}
|
|
9099
|
+
});
|
|
9100
|
+
|
|
9101
|
+
// ../theme-core/src/buttons/index.ts
|
|
9102
|
+
var init_buttons = __esm({
|
|
9103
|
+
"../theme-core/src/buttons/index.ts"() {
|
|
9104
|
+
"use strict";
|
|
9105
|
+
init_types4();
|
|
9106
|
+
init_generateButtonCss();
|
|
9107
|
+
init_generateDefaultButtonSystem();
|
|
9108
|
+
init_constants();
|
|
9109
|
+
init_presets();
|
|
9110
|
+
init_personalities();
|
|
9111
|
+
init_types6();
|
|
9112
|
+
init_registry();
|
|
9113
|
+
init_transform();
|
|
9114
|
+
init_core();
|
|
9115
|
+
}
|
|
9116
|
+
});
|
|
9117
|
+
|
|
8119
9118
|
// ../blocks/src/primitives/content/utils/sanitizeHref.ts
|
|
8120
9119
|
function normalizeInput(value) {
|
|
8121
9120
|
return value.replace(CONTROL_CHARS_PATTERN, "").trim();
|
|
@@ -8656,12 +9655,12 @@ var init_carousel_shared = __esm({
|
|
|
8656
9655
|
});
|
|
8657
9656
|
|
|
8658
9657
|
// ../theme-core/src/accordions/types.ts
|
|
8659
|
-
import { z as
|
|
9658
|
+
import { z as z24 } from "zod";
|
|
8660
9659
|
var accordionIconSchema, accordionSystemSchema;
|
|
8661
|
-
var
|
|
9660
|
+
var init_types7 = __esm({
|
|
8662
9661
|
"../theme-core/src/accordions/types.ts"() {
|
|
8663
9662
|
"use strict";
|
|
8664
|
-
accordionIconSchema =
|
|
9663
|
+
accordionIconSchema = z24.enum([
|
|
8665
9664
|
"plus-minus",
|
|
8666
9665
|
// + becomes - (swap or rotate 90°)
|
|
8667
9666
|
"chevron",
|
|
@@ -8673,49 +9672,49 @@ var init_types4 = __esm({
|
|
|
8673
9672
|
"circle-plus-minus"
|
|
8674
9673
|
// ⊕ becomes ⊖ (swap with fade)
|
|
8675
9674
|
]);
|
|
8676
|
-
accordionSystemSchema =
|
|
9675
|
+
accordionSystemSchema = z24.object({
|
|
8677
9676
|
// Visual styling (solid color only - gradients can be added later if needed)
|
|
8678
|
-
background:
|
|
8679
|
-
type:
|
|
8680
|
-
colorToken:
|
|
9677
|
+
background: z24.object({
|
|
9678
|
+
type: z24.literal("solid"),
|
|
9679
|
+
colorToken: z24.string()
|
|
8681
9680
|
}),
|
|
8682
9681
|
// Spacing (padding inside items)
|
|
8683
|
-
spacing:
|
|
9682
|
+
spacing: z24.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
|
|
8684
9683
|
// Border radius (null = inherit from theme.corners)
|
|
8685
|
-
corners:
|
|
9684
|
+
corners: z24.enum(["square", "soft", "rounded", "pill"]).nullable(),
|
|
8686
9685
|
// Border styling (null = inherit from theme.border)
|
|
8687
|
-
border:
|
|
8688
|
-
widthClass:
|
|
9686
|
+
border: z24.object({
|
|
9687
|
+
widthClass: z24.string(),
|
|
8689
9688
|
// e.g., 'border', 'border-2', 'border-0'
|
|
8690
|
-
colorToken:
|
|
9689
|
+
colorToken: z24.string()
|
|
8691
9690
|
}).nullable(),
|
|
8692
9691
|
// Shadow (null = inherit from theme.shadow)
|
|
8693
|
-
shadow:
|
|
8694
|
-
elevation:
|
|
8695
|
-
softness:
|
|
8696
|
-
position:
|
|
9692
|
+
shadow: z24.object({
|
|
9693
|
+
elevation: z24.enum(["none", "low", "medium", "high"]),
|
|
9694
|
+
softness: z24.enum(["soft", "crisp", "hard"]).nullable(),
|
|
9695
|
+
position: z24.enum(["bottom", "bottom-right"])
|
|
8697
9696
|
}).nullable(),
|
|
8698
9697
|
// Icon style and animation
|
|
8699
|
-
icon:
|
|
9698
|
+
icon: z24.object({
|
|
8700
9699
|
style: accordionIconSchema,
|
|
8701
|
-
position:
|
|
8702
|
-
size:
|
|
9700
|
+
position: z24.enum(["left", "right"]),
|
|
9701
|
+
size: z24.enum(["sm", "md", "lg"])
|
|
8703
9702
|
}),
|
|
8704
9703
|
// Trigger (question) styling
|
|
8705
|
-
trigger:
|
|
8706
|
-
textColorToken:
|
|
8707
|
-
fontWeight:
|
|
9704
|
+
trigger: z24.object({
|
|
9705
|
+
textColorToken: z24.string(),
|
|
9706
|
+
fontWeight: z24.enum(["regular", "medium", "semibold", "bold"]).nullable()
|
|
8708
9707
|
// null = inherit from theme
|
|
8709
9708
|
}),
|
|
8710
9709
|
// Hover state styling
|
|
8711
|
-
hover:
|
|
8712
|
-
backgroundColorToken:
|
|
8713
|
-
textColorToken:
|
|
8714
|
-
borderColorToken:
|
|
9710
|
+
hover: z24.object({
|
|
9711
|
+
backgroundColorToken: z24.string().optional(),
|
|
9712
|
+
textColorToken: z24.string().optional(),
|
|
9713
|
+
borderColorToken: z24.string().optional()
|
|
8715
9714
|
}),
|
|
8716
9715
|
// Content (answer) styling
|
|
8717
|
-
content:
|
|
8718
|
-
textColorToken:
|
|
9716
|
+
content: z24.object({
|
|
9717
|
+
textColorToken: z24.string()
|
|
8719
9718
|
})
|
|
8720
9719
|
});
|
|
8721
9720
|
}
|
|
@@ -9091,8 +10090,9 @@ function normalizeBoolean(value, fallback) {
|
|
|
9091
10090
|
return fallback;
|
|
9092
10091
|
}
|
|
9093
10092
|
function normalizeLocationMapValueRecord(record) {
|
|
10093
|
+
const addressText = typeof record.addressText === "string" ? record.addressText : typeof record.displayAddress === "string" ? record.displayAddress : null;
|
|
9094
10094
|
const normalized = {
|
|
9095
|
-
addressText: normalizeLocationAddressText(
|
|
10095
|
+
addressText: normalizeLocationAddressText(addressText),
|
|
9096
10096
|
lat: normalizeOptionalNumber(record.lat),
|
|
9097
10097
|
lng: normalizeOptionalNumber(record.lng)
|
|
9098
10098
|
};
|
|
@@ -9107,11 +10107,49 @@ function normalizeLocationMapValue(value) {
|
|
|
9107
10107
|
}
|
|
9108
10108
|
return normalizeLocationMapValueRecord(value);
|
|
9109
10109
|
}
|
|
9110
|
-
function
|
|
10110
|
+
function normalizeLocationMapSource(value) {
|
|
10111
|
+
return value === "business_address" || value === "venue" ? value : "custom";
|
|
10112
|
+
}
|
|
10113
|
+
function resolveLocationMapLocation(input) {
|
|
10114
|
+
const source = normalizeLocationMapSource(input.locationSource);
|
|
10115
|
+
if (source === "business_address") {
|
|
10116
|
+
const locationValue2 = normalizeLocationMapValue(input.businessAddress ?? input.location);
|
|
10117
|
+
return locationValue2 ? { kind: "business_address", locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_business_address" };
|
|
10118
|
+
}
|
|
10119
|
+
if (source === "venue") {
|
|
10120
|
+
const venueId = typeof input.venueId === "string" && input.venueId.trim() ? input.venueId.trim() : null;
|
|
10121
|
+
if (!venueId) {
|
|
10122
|
+
return { kind: "unresolved", source, reason: "missing_venue_id" };
|
|
10123
|
+
}
|
|
10124
|
+
const locationValue2 = input.venuesById ? normalizeLocationMapValue(input.venuesById[venueId] ?? null) : null;
|
|
10125
|
+
return locationValue2 ? { kind: "venue", venueId, locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_venue_location" };
|
|
10126
|
+
}
|
|
9111
10127
|
const locationValue = normalizeLocationMapValue(input.location);
|
|
10128
|
+
return locationValue ? { kind: "custom", locationValue } : { kind: "unresolved", source, reason: "missing_custom_location" };
|
|
10129
|
+
}
|
|
10130
|
+
function describeUnresolvedLocationMapLocation(resolvedLocation) {
|
|
10131
|
+
if (resolvedLocation.kind !== "unresolved") {
|
|
10132
|
+
return null;
|
|
10133
|
+
}
|
|
10134
|
+
switch (resolvedLocation.reason) {
|
|
10135
|
+
case "missing_business_address":
|
|
10136
|
+
return "Business address details are not configured yet.";
|
|
10137
|
+
case "missing_venue_id":
|
|
10138
|
+
return "Choose a venue to show this map.";
|
|
10139
|
+
case "missing_venue_location":
|
|
10140
|
+
return "The selected venue does not have location details yet.";
|
|
10141
|
+
case "missing_custom_location":
|
|
10142
|
+
return "Location details coming soon.";
|
|
10143
|
+
}
|
|
10144
|
+
}
|
|
10145
|
+
function normalizeLocationMapProps(input) {
|
|
10146
|
+
const resolvedLocation = resolveLocationMapLocation(input);
|
|
10147
|
+
const locationValue = resolvedLocation.kind === "unresolved" ? null : resolvedLocation.locationValue;
|
|
9112
10148
|
const directionsLabel = normalizeLocationAddressText(input.directionsLabel) ?? LOCATION_MAP_DEFAULTS.directionsLabel;
|
|
9113
10149
|
return {
|
|
10150
|
+
resolvedLocation,
|
|
9114
10151
|
locationValue,
|
|
10152
|
+
unresolvedMessage: describeUnresolvedLocationMapLocation(resolvedLocation),
|
|
9115
10153
|
addressText: locationValue?.addressText ?? null,
|
|
9116
10154
|
location: toLocationCoordinates(locationValue),
|
|
9117
10155
|
zoom: Math.min(
|
|
@@ -9173,11 +10211,12 @@ function LocationMapView({
|
|
|
9173
10211
|
showAddressText,
|
|
9174
10212
|
showDirections,
|
|
9175
10213
|
directionsLabel,
|
|
10214
|
+
unresolvedMessage,
|
|
9176
10215
|
renderMap
|
|
9177
10216
|
}) {
|
|
9178
10217
|
const directionsUrl = buildGoogleMapsDirectionsUrl({ addressText, location: location2 });
|
|
9179
10218
|
if (!location2 && !addressText && !directionsUrl) {
|
|
9180
|
-
return /* @__PURE__ */ jsx13("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: "Location details coming soon." });
|
|
10219
|
+
return /* @__PURE__ */ jsx13("p", { className: "rb-caption", style: textColorStyle("mutedText"), children: unresolvedMessage ?? "Location details coming soon." });
|
|
9181
10220
|
}
|
|
9182
10221
|
return /* @__PURE__ */ jsxs9("div", { className: "rb-flex rb-flex-col rb-gap-4 rb-text-left", children: [
|
|
9183
10222
|
location2 && renderMap ? renderMap({
|
|
@@ -9525,21 +10564,26 @@ function buildTimetableModel(input) {
|
|
|
9525
10564
|
for (const [dateKey, dayDrafts] of groupDraftsByDate(drafts)) {
|
|
9526
10565
|
cellsByDate.set(
|
|
9527
10566
|
dateKey,
|
|
9528
|
-
assignTimetableLanes(dayDrafts).map((draft) =>
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9533
|
-
|
|
9534
|
-
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
10567
|
+
assignTimetableLanes(dayDrafts).map((draft) => {
|
|
10568
|
+
const capacity = formatTimetableCapacity(draft.event);
|
|
10569
|
+
return {
|
|
10570
|
+
event: draft.event,
|
|
10571
|
+
startsAtMinutes: draft.startsAtMinutes,
|
|
10572
|
+
endsAtMinutes: draft.endsAtMinutes,
|
|
10573
|
+
topPercent: toRangePercent(draft.startsAtMinutes - rangeStartMinutes, rangeMinutes),
|
|
10574
|
+
heightPercent: Math.max(
|
|
10575
|
+
MIN_EVENT_HEIGHT_PERCENT,
|
|
10576
|
+
toRangePercent(draft.endsAtMinutes - draft.startsAtMinutes, rangeMinutes)
|
|
10577
|
+
),
|
|
10578
|
+
laneIndex: draft.laneIndex,
|
|
10579
|
+
laneCount: draft.laneCount,
|
|
10580
|
+
categoryColor: draft.event.eventCategory?.color || "rgb(var(--tb-accent))",
|
|
10581
|
+
timeLabel: formatEventTimeRange(draft.event),
|
|
10582
|
+
teacherLine: formatEventTeacherLine(draft.event),
|
|
10583
|
+
capacityLabel: capacity.label,
|
|
10584
|
+
isFull: capacity.isFull
|
|
10585
|
+
};
|
|
10586
|
+
})
|
|
9543
10587
|
);
|
|
9544
10588
|
}
|
|
9545
10589
|
return {
|
|
@@ -9672,6 +10716,12 @@ function formatShortDayLabel(date) {
|
|
|
9672
10716
|
const dayName = FULL_DAY_NAMES[date.getDay()] ?? "";
|
|
9673
10717
|
return `${dayName.slice(0, 3)} ${date.getDate()}`;
|
|
9674
10718
|
}
|
|
10719
|
+
function formatTimetableCapacity(event) {
|
|
10720
|
+
const { available, isFull } = getEventAvailability(event);
|
|
10721
|
+
if (available == null) return { label: null, isFull: false };
|
|
10722
|
+
if (isFull) return { label: "Full", isFull: true };
|
|
10723
|
+
return { label: `${available} spots left`, isFull: false };
|
|
10724
|
+
}
|
|
9675
10725
|
function formatEventTimeRange(event) {
|
|
9676
10726
|
const timeZone = event.timeZone ?? null;
|
|
9677
10727
|
return `${formatTime(event.startsAt, { timeZone })} - ${formatTime(event.endsAt, { timeZone })}`;
|
|
@@ -9684,6 +10734,7 @@ var init_timetableModel = __esm({
|
|
|
9684
10734
|
"../blocks/src/system/runtime/nodes/events/shared/timetableModel.ts"() {
|
|
9685
10735
|
"use strict";
|
|
9686
10736
|
init_src();
|
|
10737
|
+
init_eventCapacity();
|
|
9687
10738
|
init_utils();
|
|
9688
10739
|
DEFAULT_START_HOUR = 6;
|
|
9689
10740
|
DEFAULT_END_HOUR = 21;
|
|
@@ -9788,7 +10839,7 @@ function ze() {
|
|
|
9788
10839
|
/* @__PURE__ */ Te(P)
|
|
9789
10840
|
);
|
|
9790
10841
|
}
|
|
9791
|
-
function
|
|
10842
|
+
function z25(e) {
|
|
9792
10843
|
if (L) {
|
|
9793
10844
|
if (/* @__PURE__ */ Te(P) !== null)
|
|
9794
10845
|
throw Tt(), Je;
|
|
@@ -11817,12 +12868,12 @@ function ha(e, t) {
|
|
|
11817
12868
|
var mt = we(Dr, 2);
|
|
11818
12869
|
let Pr;
|
|
11819
12870
|
var We = X(mt);
|
|
11820
|
-
en(We), We.__change = ui,
|
|
12871
|
+
en(We), We.__change = ui, z25(mt);
|
|
11821
12872
|
var Ut = we(mt, 2), wi = X(Ut);
|
|
11822
12873
|
{
|
|
11823
12874
|
var pi = (n) => {
|
|
11824
12875
|
var u = na(), _ = Gr(u), y = X(_);
|
|
11825
|
-
Ge(y, () => c(re).verified),
|
|
12876
|
+
Ge(y, () => c(re).verified), z25(_);
|
|
11826
12877
|
var T = we(_, 2);
|
|
11827
12878
|
en(T), Pe(() => {
|
|
11828
12879
|
se(T, "name", V()), jo(T, c(Le));
|
|
@@ -11831,10 +12882,10 @@ function ha(e, t) {
|
|
|
11831
12882
|
{
|
|
11832
12883
|
var _ = (T) => {
|
|
11833
12884
|
var E = ia(), p = X(E);
|
|
11834
|
-
Ge(p, () => c(re).verifying),
|
|
12885
|
+
Ge(p, () => c(re).verifying), z25(E), ne(T, E);
|
|
11835
12886
|
}, y = (T) => {
|
|
11836
12887
|
var E = oa(), p = X(E);
|
|
11837
|
-
Ge(p, () => c(re).label),
|
|
12888
|
+
Ge(p, () => c(re).label), z25(E), Pe(() => se(E, "for", c(cr))), ne(T, E);
|
|
11838
12889
|
};
|
|
11839
12890
|
$e(
|
|
11840
12891
|
n,
|
|
@@ -11849,18 +12900,18 @@ function ha(e, t) {
|
|
|
11849
12900
|
c(C) === b.VERIFIED ? n(pi) : n(bi, false);
|
|
11850
12901
|
});
|
|
11851
12902
|
}
|
|
11852
|
-
|
|
12903
|
+
z25(Ut);
|
|
11853
12904
|
var yi = we(Ut, 2);
|
|
11854
12905
|
{
|
|
11855
12906
|
var Ei = (n) => {
|
|
11856
12907
|
var u = aa(), _ = X(u);
|
|
11857
|
-
se(_, "href", sr),
|
|
12908
|
+
se(_, "href", sr), z25(u), Pe(() => se(_, "aria-label", c(re).ariaLinkLabel)), ne(n, u);
|
|
11858
12909
|
};
|
|
11859
12910
|
$e(yi, (n) => {
|
|
11860
12911
|
(N() !== true || c(Dt)) && n(Ei);
|
|
11861
12912
|
});
|
|
11862
12913
|
}
|
|
11863
|
-
|
|
12914
|
+
z25(Mt);
|
|
11864
12915
|
var Or = we(Mt, 2);
|
|
11865
12916
|
{
|
|
11866
12917
|
var xi = (n) => {
|
|
@@ -11868,16 +12919,16 @@ function ha(e, t) {
|
|
|
11868
12919
|
{
|
|
11869
12920
|
var y = (E) => {
|
|
11870
12921
|
var p = la(), x = X(p);
|
|
11871
|
-
Ge(x, () => c(re).expired),
|
|
12922
|
+
Ge(x, () => c(re).expired), z25(p), Pe(() => se(p, "title", c(He))), ne(E, p);
|
|
11872
12923
|
}, T = (E) => {
|
|
11873
12924
|
var p = sa(), x = X(p);
|
|
11874
|
-
Ge(x, () => c(re).error),
|
|
12925
|
+
Ge(x, () => c(re).error), z25(p), Pe(() => se(p, "title", c(He))), ne(E, p);
|
|
11875
12926
|
};
|
|
11876
12927
|
$e(_, (E) => {
|
|
11877
12928
|
c(C) === b.EXPIRED ? E(y) : E(T, false);
|
|
11878
12929
|
});
|
|
11879
12930
|
}
|
|
11880
|
-
|
|
12931
|
+
z25(u), ne(n, u);
|
|
11881
12932
|
};
|
|
11882
12933
|
$e(Or, (n) => {
|
|
11883
12934
|
(c(He) || c(C) === b.EXPIRED) && n(xi);
|
|
@@ -11887,7 +12938,7 @@ function ha(e, t) {
|
|
|
11887
12938
|
{
|
|
11888
12939
|
var $i = (n) => {
|
|
11889
12940
|
var u = ua(), _ = X(u), y = X(_);
|
|
11890
|
-
Ge(y, () => c(re).footer),
|
|
12941
|
+
Ge(y, () => c(re).footer), z25(_), z25(u), ne(n, u);
|
|
11891
12942
|
};
|
|
11892
12943
|
$e(Fr, (n) => {
|
|
11893
12944
|
c(re).footer && (k() !== true || c(Dt)) && n($i);
|
|
@@ -11903,7 +12954,7 @@ function ha(e, t) {
|
|
|
11903
12954
|
v() && n(Ci);
|
|
11904
12955
|
});
|
|
11905
12956
|
}
|
|
11906
|
-
return
|
|
12957
|
+
return z25(ot), nn(ot, (n) => D(B, n), () => c(B)), Pe(
|
|
11907
12958
|
(n) => {
|
|
11908
12959
|
se(ot, "data-state", c(C)), se(ot, "data-floating", v()), Pr = Fo(mt, 1, "altcha-checkbox", null, Pr, n), se(We, "id", c(cr)), We.required = r2() !== "onsubmit" && (!v() || r2() !== "off");
|
|
11909
12960
|
},
|
|
@@ -14002,7 +15053,7 @@ var init_bookingPaymentOptionCopy = __esm({
|
|
|
14002
15053
|
|
|
14003
15054
|
// ../blocks/src/system/runtime/shared/types.ts
|
|
14004
15055
|
var DEFAULT_CURRENCY;
|
|
14005
|
-
var
|
|
15056
|
+
var init_types8 = __esm({
|
|
14006
15057
|
"../blocks/src/system/runtime/shared/types.ts"() {
|
|
14007
15058
|
"use strict";
|
|
14008
15059
|
DEFAULT_CURRENCY = "GBP";
|
|
@@ -14019,7 +15070,7 @@ function formatPrice(cents, currency = DEFAULT_CURRENCY, locale) {
|
|
|
14019
15070
|
var init_formatting = __esm({
|
|
14020
15071
|
"../blocks/src/system/runtime/shared/utils/formatting.ts"() {
|
|
14021
15072
|
"use strict";
|
|
14022
|
-
|
|
15073
|
+
init_types8();
|
|
14023
15074
|
}
|
|
14024
15075
|
});
|
|
14025
15076
|
|
|
@@ -16502,7 +17553,7 @@ var init_registrationStateMachine = __esm({
|
|
|
16502
17553
|
});
|
|
16503
17554
|
|
|
16504
17555
|
// ../blocks/src/system/runtime/nodes/event-registration/types.ts
|
|
16505
|
-
var
|
|
17556
|
+
var init_types9 = __esm({
|
|
16506
17557
|
"../blocks/src/system/runtime/nodes/event-registration/types.ts"() {
|
|
16507
17558
|
"use strict";
|
|
16508
17559
|
}
|
|
@@ -18016,7 +19067,7 @@ var init_VerifyingTimeoutStep = __esm({
|
|
|
18016
19067
|
var init_event_registration = __esm({
|
|
18017
19068
|
"../blocks/src/system/runtime/nodes/event-registration/index.ts"() {
|
|
18018
19069
|
"use strict";
|
|
18019
|
-
|
|
19070
|
+
init_types9();
|
|
18020
19071
|
init_utils3();
|
|
18021
19072
|
init_hooks();
|
|
18022
19073
|
init_sessionStorage();
|
|
@@ -21813,6 +22864,7 @@ function LocationMapClient(props) {
|
|
|
21813
22864
|
showAddressText: normalized.showAddressText,
|
|
21814
22865
|
showDirections: normalized.showDirections,
|
|
21815
22866
|
directionsLabel: normalized.directionsLabel,
|
|
22867
|
+
unresolvedMessage: normalized.unresolvedMessage,
|
|
21816
22868
|
renderMap: ({ addressText, className, height, location: location2, zoom }) => /* @__PURE__ */ jsx75(
|
|
21817
22869
|
LeafletStaticMap,
|
|
21818
22870
|
{
|
|
@@ -26970,30 +28022,22 @@ var init_CalendarDayCell = __esm({
|
|
|
26970
28022
|
|
|
26971
28023
|
// ../blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.tsx
|
|
26972
28024
|
import { Fragment as Fragment20, jsx as jsx94, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
26973
|
-
function formatCapacity(event) {
|
|
26974
|
-
if (event.capacity == null) {
|
|
26975
|
-
return null;
|
|
26976
|
-
}
|
|
26977
|
-
const available = event.availableSpots ?? event.capacity - event.registeredCount;
|
|
26978
|
-
if (available <= 0) {
|
|
26979
|
-
return "Full";
|
|
26980
|
-
}
|
|
26981
|
-
return `${available} spots left`;
|
|
26982
|
-
}
|
|
26983
28025
|
var AgendaEventCard;
|
|
26984
28026
|
var init_AgendaEventCard = __esm({
|
|
26985
28027
|
"../blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.tsx"() {
|
|
26986
28028
|
"use strict";
|
|
28029
|
+
init_eventCapacity();
|
|
26987
28030
|
init_utils();
|
|
26988
28031
|
AgendaEventCard = ({
|
|
26989
28032
|
event,
|
|
28033
|
+
showCapacity,
|
|
26990
28034
|
onClick
|
|
26991
28035
|
}) => {
|
|
26992
28036
|
const eventUrl = event.path;
|
|
26993
28037
|
const categoryColor = event.eventCategory?.color || "rgb(var(--tb-accent))";
|
|
26994
28038
|
const price = formatEventPrice(event);
|
|
26995
|
-
const
|
|
26996
|
-
const
|
|
28039
|
+
const { available, isFull } = getEventAvailability(event);
|
|
28040
|
+
const capacity = showCapacity && available != null ? isFull ? "Full" : `${available} spots left` : null;
|
|
26997
28041
|
const title = event.title;
|
|
26998
28042
|
const timeZone = event.timeZone ?? null;
|
|
26999
28043
|
const teacherLine = formatEventTeacherLine(event);
|
|
@@ -27073,6 +28117,7 @@ var init_WeekAgendaView = __esm({
|
|
|
27073
28117
|
viewDate,
|
|
27074
28118
|
events,
|
|
27075
28119
|
startOfWeek,
|
|
28120
|
+
showCapacity,
|
|
27076
28121
|
emptyMessage = "No events scheduled"
|
|
27077
28122
|
}) => {
|
|
27078
28123
|
const weekDays = getWeekCalendarDays(viewDate, startOfWeek);
|
|
@@ -27093,7 +28138,8 @@ var init_WeekAgendaView = __esm({
|
|
|
27093
28138
|
/* @__PURE__ */ jsx95("div", { className: "event-agenda-day-content", children: dayEvents.length === 0 ? /* @__PURE__ */ jsx95("p", { className: "event-agenda-day-empty", children: emptyMessage }) : /* @__PURE__ */ jsx95("div", { className: "event-agenda-day-events", children: dayEvents.map((event) => /* @__PURE__ */ jsx95(
|
|
27094
28139
|
AgendaEventCard,
|
|
27095
28140
|
{
|
|
27096
|
-
event
|
|
28141
|
+
event,
|
|
28142
|
+
showCapacity
|
|
27097
28143
|
},
|
|
27098
28144
|
event.occurrenceId || event.id
|
|
27099
28145
|
)) }) })
|
|
@@ -27110,6 +28156,7 @@ var init_WeekAgendaView = __esm({
|
|
|
27110
28156
|
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
27111
28157
|
function EventDetailModal({
|
|
27112
28158
|
event,
|
|
28159
|
+
showCapacity,
|
|
27113
28160
|
onClose,
|
|
27114
28161
|
cardVariant = "default",
|
|
27115
28162
|
buttonVariant = "primary",
|
|
@@ -27150,7 +28197,7 @@ function EventDetailModal({
|
|
|
27150
28197
|
showVenue: true,
|
|
27151
28198
|
showMap,
|
|
27152
28199
|
allowMap: true,
|
|
27153
|
-
showCapacity
|
|
28200
|
+
showCapacity
|
|
27154
28201
|
}
|
|
27155
28202
|
) })
|
|
27156
28203
|
}
|
|
@@ -27170,6 +28217,7 @@ import { jsx as jsx97, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
|
27170
28217
|
function DayEventsModal({
|
|
27171
28218
|
date,
|
|
27172
28219
|
events,
|
|
28220
|
+
showCapacity,
|
|
27173
28221
|
onClose,
|
|
27174
28222
|
onSelectEvent
|
|
27175
28223
|
}) {
|
|
@@ -27206,7 +28254,8 @@ function DayEventsModal({
|
|
|
27206
28254
|
AgendaEventCard,
|
|
27207
28255
|
{
|
|
27208
28256
|
event,
|
|
27209
|
-
onClick: onSelectEvent
|
|
28257
|
+
onClick: onSelectEvent,
|
|
28258
|
+
showCapacity
|
|
27210
28259
|
},
|
|
27211
28260
|
event.occurrenceId || event.id
|
|
27212
28261
|
)) })
|
|
@@ -27227,6 +28276,7 @@ var init_DayEventsModal = __esm({
|
|
|
27227
28276
|
// ../blocks/src/system/runtime/nodes/events/shared/EventModals.tsx
|
|
27228
28277
|
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
27229
28278
|
function EventModals({
|
|
28279
|
+
showCapacity,
|
|
27230
28280
|
cardVariant,
|
|
27231
28281
|
buttonVariant,
|
|
27232
28282
|
buttonText
|
|
@@ -27243,7 +28293,8 @@ function EventModals({
|
|
|
27243
28293
|
onClose: closeModal,
|
|
27244
28294
|
cardVariant,
|
|
27245
28295
|
buttonVariant,
|
|
27246
|
-
buttonText
|
|
28296
|
+
buttonText,
|
|
28297
|
+
showCapacity
|
|
27247
28298
|
}
|
|
27248
28299
|
);
|
|
27249
28300
|
}
|
|
@@ -27256,7 +28307,8 @@ function EventModals({
|
|
|
27256
28307
|
onClose: closeModal,
|
|
27257
28308
|
onSelectEvent: (event) => {
|
|
27258
28309
|
openEventModal(event);
|
|
27259
|
-
}
|
|
28310
|
+
},
|
|
28311
|
+
showCapacity
|
|
27260
28312
|
}
|
|
27261
28313
|
);
|
|
27262
28314
|
}
|
|
@@ -27659,7 +28711,8 @@ var init_EventCombined_client = __esm({
|
|
|
27659
28711
|
viewDate,
|
|
27660
28712
|
events: calendarEventsRaw,
|
|
27661
28713
|
startOfWeek,
|
|
27662
|
-
emptyMessage: "No events scheduled"
|
|
28714
|
+
emptyMessage: "No events scheduled",
|
|
28715
|
+
showCapacity: resolvedShowCapacity
|
|
27663
28716
|
}
|
|
27664
28717
|
) : /* @__PURE__ */ jsxs71("div", { className: "event-calendar-container", children: [
|
|
27665
28718
|
/* @__PURE__ */ jsx99("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx99("div", { className: "event-calendar-day-header", children: day }, day)) }),
|
|
@@ -27679,7 +28732,14 @@ var init_EventCombined_client = __esm({
|
|
|
27679
28732
|
] }),
|
|
27680
28733
|
calendarEventsRaw.length === 0 && !calendarLoading && /* @__PURE__ */ jsx99("p", { className: "event-calendar-empty", children: emptyMessage })
|
|
27681
28734
|
] }),
|
|
27682
|
-
/* @__PURE__ */ jsx99(
|
|
28735
|
+
/* @__PURE__ */ jsx99(
|
|
28736
|
+
EventModals,
|
|
28737
|
+
{
|
|
28738
|
+
buttonVariant,
|
|
28739
|
+
buttonText,
|
|
28740
|
+
showCapacity: resolvedShowCapacity
|
|
28741
|
+
}
|
|
28742
|
+
)
|
|
27683
28743
|
] })
|
|
27684
28744
|
]
|
|
27685
28745
|
}
|
|
@@ -27714,6 +28774,7 @@ var init_WeekTimetableView = __esm({
|
|
|
27714
28774
|
viewDate,
|
|
27715
28775
|
events,
|
|
27716
28776
|
startOfWeek,
|
|
28777
|
+
showCapacity,
|
|
27717
28778
|
emptyMessage = "No classes scheduled"
|
|
27718
28779
|
}) => {
|
|
27719
28780
|
const { openEventModal } = useEventModal();
|
|
@@ -27746,7 +28807,8 @@ var init_WeekTimetableView = __esm({
|
|
|
27746
28807
|
hours: model.hourTicks,
|
|
27747
28808
|
rangeMinutes: model.rangeMinutes,
|
|
27748
28809
|
selected: day.dateKey === selectedDayKey,
|
|
27749
|
-
onEventClick: openEventModal
|
|
28810
|
+
onEventClick: openEventModal,
|
|
28811
|
+
showCapacity
|
|
27750
28812
|
},
|
|
27751
28813
|
day.dateKey
|
|
27752
28814
|
))
|
|
@@ -27766,7 +28828,7 @@ var init_WeekTimetableView = __esm({
|
|
|
27766
28828
|
hour
|
|
27767
28829
|
)) })
|
|
27768
28830
|
] });
|
|
27769
|
-
TimetableDayColumn = ({ day, hours, rangeMinutes, selected, onEventClick }) => /* @__PURE__ */ jsxs72(
|
|
28831
|
+
TimetableDayColumn = ({ day, hours, rangeMinutes, selected, onEventClick, showCapacity }) => /* @__PURE__ */ jsxs72(
|
|
27770
28832
|
"section",
|
|
27771
28833
|
{
|
|
27772
28834
|
className: `event-timetable-day ${day.isToday ? "event-timetable-day--today" : ""}`,
|
|
@@ -27795,7 +28857,8 @@ var init_WeekTimetableView = __esm({
|
|
|
27795
28857
|
TimetableEventButton,
|
|
27796
28858
|
{
|
|
27797
28859
|
cell,
|
|
27798
|
-
onClick: onEventClick
|
|
28860
|
+
onClick: onEventClick,
|
|
28861
|
+
showCapacity
|
|
27799
28862
|
},
|
|
27800
28863
|
cell.event.occurrenceId || cell.event.id
|
|
27801
28864
|
))
|
|
@@ -27805,7 +28868,7 @@ var init_WeekTimetableView = __esm({
|
|
|
27805
28868
|
]
|
|
27806
28869
|
}
|
|
27807
28870
|
);
|
|
27808
|
-
TimetableEventButton = ({ cell, onClick }) => /* @__PURE__ */ jsxs72(
|
|
28871
|
+
TimetableEventButton = ({ cell, onClick, showCapacity }) => /* @__PURE__ */ jsxs72(
|
|
27809
28872
|
"button",
|
|
27810
28873
|
{
|
|
27811
28874
|
type: "button",
|
|
@@ -27823,7 +28886,14 @@ var init_WeekTimetableView = __esm({
|
|
|
27823
28886
|
/* @__PURE__ */ jsx100("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
|
|
27824
28887
|
/* @__PURE__ */ jsx100("span", { className: "event-timetable-event-title", children: cell.event.title }),
|
|
27825
28888
|
cell.teacherLine ? /* @__PURE__ */ jsx100("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
|
|
27826
|
-
cell.event.venue ? /* @__PURE__ */ jsx100("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null
|
|
28889
|
+
cell.event.venue ? /* @__PURE__ */ jsx100("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
|
|
28890
|
+
showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx100(
|
|
28891
|
+
"span",
|
|
28892
|
+
{
|
|
28893
|
+
className: cell.isFull ? "event-timetable-event-capacity event-timetable-event-capacity--full" : "event-timetable-event-capacity",
|
|
28894
|
+
children: cell.capacityLabel
|
|
28895
|
+
}
|
|
28896
|
+
) : null
|
|
27827
28897
|
]
|
|
27828
28898
|
}
|
|
27829
28899
|
);
|
|
@@ -28045,7 +29115,8 @@ var init_EventCalendar_client = __esm({
|
|
|
28045
29115
|
viewDate,
|
|
28046
29116
|
events,
|
|
28047
29117
|
startOfWeek: display.startOfWeek,
|
|
28048
|
-
emptyMessage: display.emptyMessage
|
|
29118
|
+
emptyMessage: display.emptyMessage,
|
|
29119
|
+
showCapacity: display.showCapacity
|
|
28049
29120
|
}
|
|
28050
29121
|
)
|
|
28051
29122
|
}
|
|
@@ -28054,7 +29125,8 @@ var init_EventCalendar_client = __esm({
|
|
|
28054
29125
|
EventModals,
|
|
28055
29126
|
{
|
|
28056
29127
|
buttonVariant: display.buttonVariant,
|
|
28057
|
-
buttonText: display.buttonText
|
|
29128
|
+
buttonText: display.buttonText,
|
|
29129
|
+
showCapacity: display.showCapacity
|
|
28058
29130
|
}
|
|
28059
29131
|
)
|
|
28060
29132
|
] });
|
|
@@ -28136,7 +29208,8 @@ var init_EventCalendar_client = __esm({
|
|
|
28136
29208
|
EventModals,
|
|
28137
29209
|
{
|
|
28138
29210
|
buttonVariant: display.buttonVariant,
|
|
28139
|
-
buttonText: display.buttonText
|
|
29211
|
+
buttonText: display.buttonText,
|
|
29212
|
+
showCapacity: display.showCapacity
|
|
28140
29213
|
}
|
|
28141
29214
|
)
|
|
28142
29215
|
] });
|
|
@@ -28660,153 +29733,9 @@ var init_generateCssVars = __esm({
|
|
|
28660
29733
|
});
|
|
28661
29734
|
|
|
28662
29735
|
// ../theme-core/src/styles/shadow.ts
|
|
28663
|
-
var init_shadow = __esm({
|
|
28664
|
-
"../theme-core/src/styles/shadow.ts"() {
|
|
28665
|
-
"use strict";
|
|
28666
|
-
}
|
|
28667
|
-
});
|
|
28668
|
-
|
|
28669
|
-
// ../theme-core/src/tokens/resolver.ts
|
|
28670
|
-
var init_resolver = __esm({
|
|
28671
|
-
"../theme-core/src/tokens/resolver.ts"() {
|
|
28672
|
-
"use strict";
|
|
28673
|
-
}
|
|
28674
|
-
});
|
|
28675
|
-
|
|
28676
|
-
// ../theme-core/src/buttons/effects/presets/background.ts
|
|
28677
|
-
var init_background = __esm({
|
|
28678
|
-
"../theme-core/src/buttons/effects/presets/background.ts"() {
|
|
28679
|
-
"use strict";
|
|
28680
|
-
}
|
|
28681
|
-
});
|
|
28682
|
-
|
|
28683
|
-
// ../theme-core/src/buttons/effects/cssUtils.ts
|
|
28684
|
-
var init_cssUtils = __esm({
|
|
28685
|
-
"../theme-core/src/buttons/effects/cssUtils.ts"() {
|
|
28686
|
-
"use strict";
|
|
28687
|
-
}
|
|
28688
|
-
});
|
|
28689
|
-
|
|
28690
|
-
// ../theme-core/src/buttons/effects/presets/shadow.ts
|
|
28691
29736
|
var init_shadow2 = __esm({
|
|
28692
|
-
"../theme-core/src/
|
|
28693
|
-
"use strict";
|
|
28694
|
-
init_cssUtils();
|
|
28695
|
-
}
|
|
28696
|
-
});
|
|
28697
|
-
|
|
28698
|
-
// ../theme-core/src/buttons/effects/presets/transform.ts
|
|
28699
|
-
var init_transform = __esm({
|
|
28700
|
-
"../theme-core/src/buttons/effects/presets/transform.ts"() {
|
|
28701
|
-
"use strict";
|
|
28702
|
-
init_cssUtils();
|
|
28703
|
-
}
|
|
28704
|
-
});
|
|
28705
|
-
|
|
28706
|
-
// ../theme-core/src/buttons/effects/presets/overlay.ts
|
|
28707
|
-
var init_overlay = __esm({
|
|
28708
|
-
"../theme-core/src/buttons/effects/presets/overlay.ts"() {
|
|
28709
|
-
"use strict";
|
|
28710
|
-
}
|
|
28711
|
-
});
|
|
28712
|
-
|
|
28713
|
-
// ../theme-core/src/buttons/effects/presets/text.ts
|
|
28714
|
-
var init_text = __esm({
|
|
28715
|
-
"../theme-core/src/buttons/effects/presets/text.ts"() {
|
|
28716
|
-
"use strict";
|
|
28717
|
-
}
|
|
28718
|
-
});
|
|
28719
|
-
|
|
28720
|
-
// ../theme-core/src/buttons/effects/presets/border.ts
|
|
28721
|
-
var init_border = __esm({
|
|
28722
|
-
"../theme-core/src/buttons/effects/presets/border.ts"() {
|
|
28723
|
-
"use strict";
|
|
28724
|
-
}
|
|
28725
|
-
});
|
|
28726
|
-
|
|
28727
|
-
// ../theme-core/src/buttons/effects/presets/animation.ts
|
|
28728
|
-
var init_animation = __esm({
|
|
28729
|
-
"../theme-core/src/buttons/effects/presets/animation.ts"() {
|
|
28730
|
-
"use strict";
|
|
28731
|
-
}
|
|
28732
|
-
});
|
|
28733
|
-
|
|
28734
|
-
// ../theme-core/src/interactive/effects/nav-underline.ts
|
|
28735
|
-
var init_nav_underline = __esm({
|
|
28736
|
-
"../theme-core/src/interactive/effects/nav-underline.ts"() {
|
|
28737
|
-
"use strict";
|
|
28738
|
-
}
|
|
28739
|
-
});
|
|
28740
|
-
|
|
28741
|
-
// ../theme-core/src/interactive/effects/nav-frosted.ts
|
|
28742
|
-
var init_nav_frosted = __esm({
|
|
28743
|
-
"../theme-core/src/interactive/effects/nav-frosted.ts"() {
|
|
28744
|
-
"use strict";
|
|
28745
|
-
}
|
|
28746
|
-
});
|
|
28747
|
-
|
|
28748
|
-
// ../theme-core/src/interactive/effects/index.ts
|
|
28749
|
-
var init_effects = __esm({
|
|
28750
|
-
"../theme-core/src/interactive/effects/index.ts"() {
|
|
28751
|
-
"use strict";
|
|
28752
|
-
init_nav_underline();
|
|
28753
|
-
init_nav_frosted();
|
|
28754
|
-
}
|
|
28755
|
-
});
|
|
28756
|
-
|
|
28757
|
-
// ../theme-core/src/buttons/effects/registry.ts
|
|
28758
|
-
var init_registry = __esm({
|
|
28759
|
-
"../theme-core/src/buttons/effects/registry.ts"() {
|
|
28760
|
-
"use strict";
|
|
28761
|
-
init_background();
|
|
28762
|
-
init_shadow2();
|
|
28763
|
-
init_transform();
|
|
28764
|
-
init_overlay();
|
|
28765
|
-
init_text();
|
|
28766
|
-
init_border();
|
|
28767
|
-
init_animation();
|
|
28768
|
-
init_effects();
|
|
28769
|
-
}
|
|
28770
|
-
});
|
|
28771
|
-
|
|
28772
|
-
// ../theme-core/src/interactive/generateEffectsCSS.ts
|
|
28773
|
-
var init_generateEffectsCSS = __esm({
|
|
28774
|
-
"../theme-core/src/interactive/generateEffectsCSS.ts"() {
|
|
28775
|
-
"use strict";
|
|
28776
|
-
init_registry();
|
|
28777
|
-
}
|
|
28778
|
-
});
|
|
28779
|
-
|
|
28780
|
-
// ../theme-core/src/buttons/constants.ts
|
|
28781
|
-
var init_constants = __esm({
|
|
28782
|
-
"../theme-core/src/buttons/constants.ts"() {
|
|
28783
|
-
"use strict";
|
|
28784
|
-
}
|
|
28785
|
-
});
|
|
28786
|
-
|
|
28787
|
-
// ../theme-core/src/buttons/utils/contrast.ts
|
|
28788
|
-
var init_contrast2 = __esm({
|
|
28789
|
-
"../theme-core/src/buttons/utils/contrast.ts"() {
|
|
28790
|
-
"use strict";
|
|
28791
|
-
}
|
|
28792
|
-
});
|
|
28793
|
-
|
|
28794
|
-
// ../theme-core/src/buttons/generateDefaultButtonSystem.ts
|
|
28795
|
-
var init_generateDefaultButtonSystem = __esm({
|
|
28796
|
-
"../theme-core/src/buttons/generateDefaultButtonSystem.ts"() {
|
|
28797
|
-
"use strict";
|
|
28798
|
-
init_contrast2();
|
|
28799
|
-
}
|
|
28800
|
-
});
|
|
28801
|
-
|
|
28802
|
-
// ../theme-core/src/buttons/generateButtonCss.ts
|
|
28803
|
-
var init_generateButtonCss = __esm({
|
|
28804
|
-
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
29737
|
+
"../theme-core/src/styles/shadow.ts"() {
|
|
28805
29738
|
"use strict";
|
|
28806
|
-
init_resolver();
|
|
28807
|
-
init_generateEffectsCSS();
|
|
28808
|
-
init_constants();
|
|
28809
|
-
init_generateDefaultButtonSystem();
|
|
28810
29739
|
}
|
|
28811
29740
|
});
|
|
28812
29741
|
|
|
@@ -28845,7 +29774,7 @@ var init_border2 = __esm({
|
|
|
28845
29774
|
var init_generateAccordionCss = __esm({
|
|
28846
29775
|
"../theme-core/src/accordions/generateAccordionCss.ts"() {
|
|
28847
29776
|
"use strict";
|
|
28848
|
-
|
|
29777
|
+
init_types7();
|
|
28849
29778
|
init_constants2();
|
|
28850
29779
|
init_border2();
|
|
28851
29780
|
}
|
|
@@ -28859,66 +29788,66 @@ var init_defaults = __esm({
|
|
|
28859
29788
|
});
|
|
28860
29789
|
|
|
28861
29790
|
// ../theme-core/src/inputs/types.ts
|
|
28862
|
-
import { z as
|
|
29791
|
+
import { z as z26 } from "zod";
|
|
28863
29792
|
var inputSystemSchema;
|
|
28864
|
-
var
|
|
29793
|
+
var init_types10 = __esm({
|
|
28865
29794
|
"../theme-core/src/inputs/types.ts"() {
|
|
28866
29795
|
"use strict";
|
|
28867
|
-
inputSystemSchema =
|
|
29796
|
+
inputSystemSchema = z26.object({
|
|
28868
29797
|
// Base styling (applied to all inputs)
|
|
28869
|
-
base:
|
|
28870
|
-
background:
|
|
28871
|
-
|
|
28872
|
-
type:
|
|
28873
|
-
colorToken:
|
|
29798
|
+
base: z26.object({
|
|
29799
|
+
background: z26.union([
|
|
29800
|
+
z26.object({
|
|
29801
|
+
type: z26.literal("solid"),
|
|
29802
|
+
colorToken: z26.string()
|
|
28874
29803
|
}),
|
|
28875
|
-
|
|
28876
|
-
type:
|
|
29804
|
+
z26.object({
|
|
29805
|
+
type: z26.literal("transparent")
|
|
28877
29806
|
})
|
|
28878
29807
|
]),
|
|
28879
|
-
textColorToken:
|
|
28880
|
-
border:
|
|
28881
|
-
widthClass:
|
|
29808
|
+
textColorToken: z26.string(),
|
|
29809
|
+
border: z26.object({
|
|
29810
|
+
widthClass: z26.string(),
|
|
28882
29811
|
// e.g., 'border', 'border-2'
|
|
28883
|
-
colorToken:
|
|
28884
|
-
style:
|
|
29812
|
+
colorToken: z26.string(),
|
|
29813
|
+
style: z26.enum(["all", "underline"]).optional()
|
|
28885
29814
|
}),
|
|
28886
|
-
corners:
|
|
29815
|
+
corners: z26.enum(["square", "soft", "rounded", "pill"]).nullable(),
|
|
28887
29816
|
// null = inherit from theme.corners
|
|
28888
|
-
shadow:
|
|
28889
|
-
elevation:
|
|
28890
|
-
softness:
|
|
29817
|
+
shadow: z26.object({
|
|
29818
|
+
elevation: z26.enum(["none", "low", "medium"]),
|
|
29819
|
+
softness: z26.enum(["soft", "crisp", "hard"]).nullable()
|
|
28891
29820
|
}).nullable(),
|
|
28892
|
-
spacing:
|
|
29821
|
+
spacing: z26.enum(["compact", "cozy", "medium", "comfortable"]),
|
|
28893
29822
|
// padding inside inputs
|
|
28894
|
-
fontSize:
|
|
29823
|
+
fontSize: z26.enum(["sm", "base", "lg"])
|
|
28895
29824
|
}),
|
|
28896
29825
|
// Label styling
|
|
28897
|
-
label:
|
|
28898
|
-
textColorToken:
|
|
28899
|
-
fontWeight:
|
|
28900
|
-
fontSize:
|
|
28901
|
-
textTransform:
|
|
28902
|
-
letterSpacing:
|
|
28903
|
-
opacity:
|
|
29826
|
+
label: z26.object({
|
|
29827
|
+
textColorToken: z26.string(),
|
|
29828
|
+
fontWeight: z26.enum(["regular", "medium", "semibold", "bold", "black"]),
|
|
29829
|
+
fontSize: z26.enum(["2xs", "xs", "sm", "base"]),
|
|
29830
|
+
textTransform: z26.enum(["none", "uppercase", "lowercase", "capitalize"]).optional(),
|
|
29831
|
+
letterSpacing: z26.enum(["normal", "wide", "wider", "widest"]).optional(),
|
|
29832
|
+
opacity: z26.number().min(0.2).max(1).optional()
|
|
28904
29833
|
}),
|
|
28905
29834
|
// Focus state
|
|
28906
|
-
focus:
|
|
28907
|
-
ringColorToken:
|
|
28908
|
-
ringWidth:
|
|
28909
|
-
borderColorToken:
|
|
29835
|
+
focus: z26.object({
|
|
29836
|
+
ringColorToken: z26.string(),
|
|
29837
|
+
ringWidth: z26.enum(["0", "1", "2", "3"]),
|
|
29838
|
+
borderColorToken: z26.string().optional()
|
|
28910
29839
|
// Change border color on focus
|
|
28911
29840
|
}),
|
|
28912
29841
|
// Error state (for validation feedback)
|
|
28913
|
-
error:
|
|
28914
|
-
borderColorToken:
|
|
28915
|
-
textColorToken:
|
|
29842
|
+
error: z26.object({
|
|
29843
|
+
borderColorToken: z26.string(),
|
|
29844
|
+
textColorToken: z26.string()
|
|
28916
29845
|
}),
|
|
28917
29846
|
// Disabled state
|
|
28918
|
-
disabled:
|
|
28919
|
-
backgroundColorToken:
|
|
28920
|
-
textColorToken:
|
|
28921
|
-
opacity:
|
|
29847
|
+
disabled: z26.object({
|
|
29848
|
+
backgroundColorToken: z26.string(),
|
|
29849
|
+
textColorToken: z26.string(),
|
|
29850
|
+
opacity: z26.number().min(0.3).max(0.7)
|
|
28922
29851
|
})
|
|
28923
29852
|
});
|
|
28924
29853
|
}
|
|
@@ -28928,7 +29857,7 @@ var init_types7 = __esm({
|
|
|
28928
29857
|
var init_generateInputCss = __esm({
|
|
28929
29858
|
"../theme-core/src/inputs/generateInputCss.ts"() {
|
|
28930
29859
|
"use strict";
|
|
28931
|
-
|
|
29860
|
+
init_types10();
|
|
28932
29861
|
init_constants();
|
|
28933
29862
|
init_border2();
|
|
28934
29863
|
}
|
|
@@ -28942,65 +29871,65 @@ var init_defaults2 = __esm({
|
|
|
28942
29871
|
});
|
|
28943
29872
|
|
|
28944
29873
|
// ../theme-core/src/interactive/baseSchema.ts
|
|
28945
|
-
import { z as
|
|
28946
|
-
var interactiveTypographySchema,
|
|
29874
|
+
import { z as z27 } from "zod";
|
|
29875
|
+
var interactiveTypographySchema, effectApplicationSchema2, effectCompositionSchema;
|
|
28947
29876
|
var init_baseSchema = __esm({
|
|
28948
29877
|
"../theme-core/src/interactive/baseSchema.ts"() {
|
|
28949
29878
|
"use strict";
|
|
28950
|
-
interactiveTypographySchema =
|
|
29879
|
+
interactiveTypographySchema = z27.object({
|
|
28951
29880
|
/** Font family source */
|
|
28952
|
-
typography:
|
|
29881
|
+
typography: z27.enum(["body", "heading"]).default("body"),
|
|
28953
29882
|
/** Font weight */
|
|
28954
|
-
fontWeight:
|
|
29883
|
+
fontWeight: z27.enum(["regular", "medium", "semibold", "bold"]).default("medium"),
|
|
28955
29884
|
/** Text transform */
|
|
28956
|
-
textTransform:
|
|
29885
|
+
textTransform: z27.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
28957
29886
|
/** Italic style */
|
|
28958
|
-
italic:
|
|
29887
|
+
italic: z27.boolean().default(false)
|
|
28959
29888
|
});
|
|
28960
|
-
|
|
29889
|
+
effectApplicationSchema2 = z27.object({
|
|
28961
29890
|
/** Effect preset ID */
|
|
28962
|
-
effectId:
|
|
29891
|
+
effectId: z27.string(),
|
|
28963
29892
|
/** User-provided customization options */
|
|
28964
|
-
options:
|
|
29893
|
+
options: z27.record(z27.string(), z27.any()).optional()
|
|
28965
29894
|
});
|
|
28966
|
-
effectCompositionSchema =
|
|
29895
|
+
effectCompositionSchema = z27.object({
|
|
28967
29896
|
/** Effects always applied */
|
|
28968
|
-
base:
|
|
29897
|
+
base: z27.array(effectApplicationSchema2).optional(),
|
|
28969
29898
|
/** Effects applied on hover */
|
|
28970
|
-
hover:
|
|
29899
|
+
hover: z27.array(effectApplicationSchema2).optional(),
|
|
28971
29900
|
/** Effects applied on active/pressed */
|
|
28972
|
-
active:
|
|
29901
|
+
active: z27.array(effectApplicationSchema2).optional(),
|
|
28973
29902
|
/** Effects applied on focus */
|
|
28974
|
-
focus:
|
|
29903
|
+
focus: z27.array(effectApplicationSchema2).optional()
|
|
28975
29904
|
});
|
|
28976
29905
|
}
|
|
28977
29906
|
});
|
|
28978
29907
|
|
|
28979
29908
|
// ../theme-core/src/navigation/types.ts
|
|
28980
|
-
import { z as
|
|
29909
|
+
import { z as z28 } from "zod";
|
|
28981
29910
|
var navLinkPaddingSchema, navLinkPaddingXSchema, navLinkBorderRadiusSchema, navLinkTextSizeSchema, navLinkLetterSpacingSchema, navLinkStyleSchema;
|
|
28982
|
-
var
|
|
29911
|
+
var init_types11 = __esm({
|
|
28983
29912
|
"../theme-core/src/navigation/types.ts"() {
|
|
28984
29913
|
"use strict";
|
|
28985
29914
|
init_baseSchema();
|
|
28986
|
-
navLinkPaddingSchema =
|
|
28987
|
-
navLinkPaddingXSchema =
|
|
28988
|
-
navLinkBorderRadiusSchema =
|
|
28989
|
-
navLinkTextSizeSchema =
|
|
28990
|
-
navLinkLetterSpacingSchema =
|
|
28991
|
-
navLinkStyleSchema =
|
|
29915
|
+
navLinkPaddingSchema = z28.enum(["none", "compact", "default"]);
|
|
29916
|
+
navLinkPaddingXSchema = z28.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
29917
|
+
navLinkBorderRadiusSchema = z28.enum(["none", "sm", "md", "full"]);
|
|
29918
|
+
navLinkTextSizeSchema = z28.enum(["xs", "sm", "base", "lg"]);
|
|
29919
|
+
navLinkLetterSpacingSchema = z28.enum(["normal", "wide", "wider", "widest"]);
|
|
29920
|
+
navLinkStyleSchema = z28.object({
|
|
28992
29921
|
/** Display name for the style */
|
|
28993
|
-
name:
|
|
29922
|
+
name: z28.string().min(1).max(30).optional(),
|
|
28994
29923
|
/** Typography settings (inherited from interactive base) */
|
|
28995
29924
|
...interactiveTypographySchema.shape,
|
|
28996
29925
|
/** Text color token */
|
|
28997
|
-
colorToken:
|
|
29926
|
+
colorToken: z28.string().default("text"),
|
|
28998
29927
|
/** Optional text size override */
|
|
28999
29928
|
textSize: navLinkTextSizeSchema.optional(),
|
|
29000
29929
|
/** Optional letter spacing override */
|
|
29001
29930
|
letterSpacing: navLinkLetterSpacingSchema.optional(),
|
|
29002
29931
|
/** Hover/active color token (for color-change effects) */
|
|
29003
|
-
hoverColorToken:
|
|
29932
|
+
hoverColorToken: z28.string().nullable().optional(),
|
|
29004
29933
|
/** Padding preset */
|
|
29005
29934
|
padding: navLinkPaddingSchema.default("compact"),
|
|
29006
29935
|
/** Horizontal padding override (overrides horizontal component of padding preset) */
|
|
@@ -29024,7 +29953,7 @@ var init_generateBaseCSS = __esm({
|
|
|
29024
29953
|
var init_generateNavLinkCSS = __esm({
|
|
29025
29954
|
"../theme-core/src/navigation/generateNavLinkCSS.ts"() {
|
|
29026
29955
|
"use strict";
|
|
29027
|
-
|
|
29956
|
+
init_types11();
|
|
29028
29957
|
init_generateBaseCSS();
|
|
29029
29958
|
init_generateEffectsCSS();
|
|
29030
29959
|
}
|
|
@@ -29032,7 +29961,7 @@ var init_generateNavLinkCSS = __esm({
|
|
|
29032
29961
|
|
|
29033
29962
|
// ../theme-core/src/navigation/presets.ts
|
|
29034
29963
|
var NAV_LINK_PRESETS, NAV_LINK_PRESET_IDS;
|
|
29035
|
-
var
|
|
29964
|
+
var init_presets2 = __esm({
|
|
29036
29965
|
"../theme-core/src/navigation/presets.ts"() {
|
|
29037
29966
|
"use strict";
|
|
29038
29967
|
NAV_LINK_PRESETS = {
|
|
@@ -29181,19 +30110,19 @@ var init_presets = __esm({
|
|
|
29181
30110
|
});
|
|
29182
30111
|
|
|
29183
30112
|
// ../theme-core/src/shared/componentStyles.ts
|
|
29184
|
-
import { z as
|
|
30113
|
+
import { z as z29 } from "zod";
|
|
29185
30114
|
var componentBorderSchema, componentShadowSchema;
|
|
29186
30115
|
var init_componentStyles = __esm({
|
|
29187
30116
|
"../theme-core/src/shared/componentStyles.ts"() {
|
|
29188
30117
|
"use strict";
|
|
29189
|
-
componentBorderSchema =
|
|
29190
|
-
width:
|
|
29191
|
-
style:
|
|
29192
|
-
colorToken:
|
|
30118
|
+
componentBorderSchema = z29.object({
|
|
30119
|
+
width: z29.enum(["none", "hairline", "thin", "medium", "thick"]).default("none"),
|
|
30120
|
+
style: z29.enum(["solid", "dashed"]).default("solid"),
|
|
30121
|
+
colorToken: z29.string().optional()
|
|
29193
30122
|
// defaults to "border" if not set
|
|
29194
30123
|
});
|
|
29195
|
-
componentShadowSchema =
|
|
29196
|
-
elevation:
|
|
30124
|
+
componentShadowSchema = z29.object({
|
|
30125
|
+
elevation: z29.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("sm")
|
|
29197
30126
|
});
|
|
29198
30127
|
}
|
|
29199
30128
|
});
|
|
@@ -29212,7 +30141,7 @@ var init_generateHeaderCss = __esm({
|
|
|
29212
30141
|
"use strict";
|
|
29213
30142
|
init_resolver();
|
|
29214
30143
|
init_generateNavLinkCSS();
|
|
29215
|
-
|
|
30144
|
+
init_presets2();
|
|
29216
30145
|
init_shared6();
|
|
29217
30146
|
init_breakpoints();
|
|
29218
30147
|
}
|
|
@@ -29232,7 +30161,7 @@ var init_generateFooterCss = __esm({
|
|
|
29232
30161
|
"use strict";
|
|
29233
30162
|
init_resolver();
|
|
29234
30163
|
init_generateNavLinkCSS();
|
|
29235
|
-
|
|
30164
|
+
init_presets2();
|
|
29236
30165
|
}
|
|
29237
30166
|
});
|
|
29238
30167
|
|
|
@@ -29886,7 +30815,7 @@ var init_blockOverrides = __esm({
|
|
|
29886
30815
|
});
|
|
29887
30816
|
|
|
29888
30817
|
// ../theme-core/src/customCss/validation.ts
|
|
29889
|
-
import { z as
|
|
30818
|
+
import { z as z30 } from "zod";
|
|
29890
30819
|
function isForbiddenSelectorPart(part) {
|
|
29891
30820
|
const normalized = part.toLowerCase().trim();
|
|
29892
30821
|
if (!normalized) return true;
|
|
@@ -29938,38 +30867,38 @@ var init_validation3 = __esm({
|
|
|
29938
30867
|
UNIVERSAL_SELECTOR = "*";
|
|
29939
30868
|
REMOTE_URL_PATTERN = /url\s*\(\s*['"]?(https?:|\/\/)/i;
|
|
29940
30869
|
JAVASCRIPT_URL_PATTERN = /javascript\s*:/i;
|
|
29941
|
-
selectorSchema =
|
|
30870
|
+
selectorSchema = z30.string().min(1, "Selector cannot be empty").max(200, "Selector too long (max 200 characters)").refine(
|
|
29942
30871
|
(s) => !containsForbiddenSelector(s),
|
|
29943
30872
|
{ message: "Global selectors (:root, html, body, *) are not allowed" }
|
|
29944
30873
|
);
|
|
29945
|
-
declarationValueSchema =
|
|
30874
|
+
declarationValueSchema = z30.string().max(500, "Declaration value too long (max 500 characters)").refine(
|
|
29946
30875
|
(v) => !containsRemoteUrl(v),
|
|
29947
30876
|
{ message: "Remote url() references are not allowed. Use local paths, data URIs, or fragment IDs." }
|
|
29948
30877
|
).refine(
|
|
29949
30878
|
(v) => !containsJavascriptUrl(v),
|
|
29950
30879
|
{ message: "javascript: URLs are not allowed" }
|
|
29951
30880
|
);
|
|
29952
|
-
declarationsSchema =
|
|
29953
|
-
|
|
30881
|
+
declarationsSchema = z30.record(
|
|
30882
|
+
z30.string().min(1).max(100),
|
|
29954
30883
|
// property name
|
|
29955
30884
|
declarationValueSchema
|
|
29956
30885
|
// property value
|
|
29957
30886
|
);
|
|
29958
|
-
customCssRuleSchema =
|
|
29959
|
-
id:
|
|
30887
|
+
customCssRuleSchema = z30.object({
|
|
30888
|
+
id: z30.string().min(1, "Rule ID is required").max(50, "Rule ID too long"),
|
|
29960
30889
|
selector: selectorSchema,
|
|
29961
30890
|
declarations: declarationsSchema
|
|
29962
30891
|
});
|
|
29963
30892
|
blockCustomCssRuleSchema = customCssRuleSchema.extend({
|
|
29964
|
-
blockKind:
|
|
30893
|
+
blockKind: z30.string().min(1, "Block kind is required").max(50, "Block kind too long")
|
|
29965
30894
|
});
|
|
29966
|
-
customCssRulesSchema =
|
|
29967
|
-
blockCustomCssRulesSchema =
|
|
30895
|
+
customCssRulesSchema = z30.array(customCssRuleSchema).optional();
|
|
30896
|
+
blockCustomCssRulesSchema = z30.array(blockCustomCssRuleSchema).optional();
|
|
29968
30897
|
}
|
|
29969
30898
|
});
|
|
29970
30899
|
|
|
29971
30900
|
// ../theme-core/src/customCss/atRuleValidation.ts
|
|
29972
|
-
import { z as
|
|
30901
|
+
import { z as z31 } from "zod";
|
|
29973
30902
|
function isValidKeyframeOffset(offset) {
|
|
29974
30903
|
const trimmed = offset.trim().toLowerCase();
|
|
29975
30904
|
if (trimmed === "from" || trimmed === "to") return true;
|
|
@@ -29990,75 +30919,75 @@ var init_atRuleValidation = __esm({
|
|
|
29990
30919
|
ANIMATION_NAME_PATTERN = /^[a-zA-Z_-][a-zA-Z0-9_-]*$/;
|
|
29991
30920
|
BLOCKED_AT_RULES = ["@import", "@charset"];
|
|
29992
30921
|
BLOCKED_AT_RULE_PATTERN = /@(?:import|charset)\b/i;
|
|
29993
|
-
ruleIdSchema =
|
|
29994
|
-
nestedRuleSchema =
|
|
30922
|
+
ruleIdSchema = z31.string().min(1, "Rule ID is required").max(50, "Rule ID too long");
|
|
30923
|
+
nestedRuleSchema = z31.object({
|
|
29995
30924
|
selector: selectorSchema,
|
|
29996
30925
|
declarations: declarationsSchema
|
|
29997
30926
|
});
|
|
29998
|
-
keyframeOffsetSchema =
|
|
30927
|
+
keyframeOffsetSchema = z31.string().transform((offset) => offset.trim()).refine(
|
|
29999
30928
|
(offset) => KEYFRAME_OFFSET_PATTERN.test(offset),
|
|
30000
30929
|
{ message: 'Invalid keyframe offset. Use percentages (0%, 50%, 100%) or "from"/"to"' }
|
|
30001
30930
|
).refine(
|
|
30002
30931
|
isValidKeyframeOffset,
|
|
30003
30932
|
{ message: "Keyframe offset must be between 0% and 100%" }
|
|
30004
30933
|
);
|
|
30005
|
-
animationNameSchema =
|
|
30934
|
+
animationNameSchema = z31.string().min(1, "Animation name is required").max(50, "Animation name too long").refine(
|
|
30006
30935
|
(name) => ANIMATION_NAME_PATTERN.test(name),
|
|
30007
30936
|
{ message: "Invalid animation name. Use letters, numbers, dashes, underscores (start with letter, dash, or underscore)" }
|
|
30008
30937
|
);
|
|
30009
|
-
keyframeSchema =
|
|
30938
|
+
keyframeSchema = z31.object({
|
|
30010
30939
|
offset: keyframeOffsetSchema,
|
|
30011
30940
|
declarations: declarationsSchema
|
|
30012
30941
|
});
|
|
30013
|
-
keyframesAtRuleSchema =
|
|
30942
|
+
keyframesAtRuleSchema = z31.object({
|
|
30014
30943
|
id: ruleIdSchema,
|
|
30015
|
-
type:
|
|
30944
|
+
type: z31.literal("keyframes"),
|
|
30016
30945
|
name: animationNameSchema,
|
|
30017
|
-
frames:
|
|
30946
|
+
frames: z31.array(keyframeSchema).min(1, "At least one keyframe is required")
|
|
30018
30947
|
});
|
|
30019
|
-
fontFaceDeclarationsSchema =
|
|
30948
|
+
fontFaceDeclarationsSchema = z31.record(z31.string().min(1).max(100), declarationValueSchema).refine(
|
|
30020
30949
|
(decls) => "fontFamily" in decls || "font-family" in decls,
|
|
30021
30950
|
{ message: "font-family is required in @font-face" }
|
|
30022
30951
|
);
|
|
30023
|
-
fontFaceAtRuleSchema =
|
|
30952
|
+
fontFaceAtRuleSchema = z31.object({
|
|
30024
30953
|
id: ruleIdSchema,
|
|
30025
|
-
type:
|
|
30954
|
+
type: z31.literal("font-face"),
|
|
30026
30955
|
declarations: fontFaceDeclarationsSchema
|
|
30027
30956
|
});
|
|
30028
|
-
mediaQuerySchema =
|
|
30029
|
-
mediaAtRuleSchema =
|
|
30957
|
+
mediaQuerySchema = z31.string().min(1, "Media query is required").max(200, "Media query too long");
|
|
30958
|
+
mediaAtRuleSchema = z31.object({
|
|
30030
30959
|
id: ruleIdSchema,
|
|
30031
|
-
type:
|
|
30960
|
+
type: z31.literal("media"),
|
|
30032
30961
|
query: mediaQuerySchema,
|
|
30033
|
-
rules:
|
|
30962
|
+
rules: z31.array(nestedRuleSchema).min(1, "At least one rule is required")
|
|
30034
30963
|
});
|
|
30035
|
-
supportsConditionSchema =
|
|
30036
|
-
supportsAtRuleSchema =
|
|
30964
|
+
supportsConditionSchema = z31.string().min(1, "Supports condition is required").max(200, "Supports condition too long");
|
|
30965
|
+
supportsAtRuleSchema = z31.object({
|
|
30037
30966
|
id: ruleIdSchema,
|
|
30038
|
-
type:
|
|
30967
|
+
type: z31.literal("supports"),
|
|
30039
30968
|
condition: supportsConditionSchema,
|
|
30040
|
-
rules:
|
|
30969
|
+
rules: z31.array(nestedRuleSchema).min(1, "At least one rule is required")
|
|
30041
30970
|
});
|
|
30042
|
-
rawCssSchema =
|
|
30971
|
+
rawCssSchema = z31.string().min(1, "CSS is required").max(5e3, "Raw CSS too long (max 5000 characters)").refine(
|
|
30043
30972
|
(css) => css.trim().startsWith("@"),
|
|
30044
30973
|
{ message: "Raw at-rule must start with @" }
|
|
30045
30974
|
).refine(
|
|
30046
30975
|
(css) => !containsBlockedAtRule(css),
|
|
30047
30976
|
{ message: `Blocked at-rules: ${BLOCKED_AT_RULES.join(", ")}. Use typed at-rules or local assets instead.` }
|
|
30048
30977
|
);
|
|
30049
|
-
rawAtRuleSchema =
|
|
30978
|
+
rawAtRuleSchema = z31.object({
|
|
30050
30979
|
id: ruleIdSchema,
|
|
30051
|
-
type:
|
|
30980
|
+
type: z31.literal("raw"),
|
|
30052
30981
|
css: rawCssSchema
|
|
30053
30982
|
});
|
|
30054
|
-
customCssAtRuleSchema =
|
|
30983
|
+
customCssAtRuleSchema = z31.discriminatedUnion("type", [
|
|
30055
30984
|
keyframesAtRuleSchema,
|
|
30056
30985
|
fontFaceAtRuleSchema,
|
|
30057
30986
|
mediaAtRuleSchema,
|
|
30058
30987
|
supportsAtRuleSchema,
|
|
30059
30988
|
rawAtRuleSchema
|
|
30060
30989
|
]);
|
|
30061
|
-
customCssAtRulesSchema =
|
|
30990
|
+
customCssAtRulesSchema = z31.array(customCssAtRuleSchema).optional();
|
|
30062
30991
|
}
|
|
30063
30992
|
});
|
|
30064
30993
|
|
|
@@ -30078,9 +31007,35 @@ var init_compile = __esm({
|
|
|
30078
31007
|
});
|
|
30079
31008
|
|
|
30080
31009
|
// ../theme-core/src/responsiveMode.ts
|
|
31010
|
+
function escapeRegExp(value) {
|
|
31011
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
31012
|
+
}
|
|
31013
|
+
function buildResponsiveScopeRulePatternSource() {
|
|
31014
|
+
return [
|
|
31015
|
+
"@scope",
|
|
31016
|
+
"\\(\\[",
|
|
31017
|
+
escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
|
|
31018
|
+
'="(?:viewport|container)"\\]\\)',
|
|
31019
|
+
"to",
|
|
31020
|
+
"\\((?::scope )?\\[",
|
|
31021
|
+
escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
|
|
31022
|
+
"\\]\\)",
|
|
31023
|
+
"\\{"
|
|
31024
|
+
].join("\\s*");
|
|
31025
|
+
}
|
|
31026
|
+
var THEME_RESPONSIVE_MODE_ATTR, RESPONSIVE_SCOPE_RULE_PATTERN, RESPONSIVE_SCOPE_RULE_AT_PATTERN;
|
|
30081
31027
|
var init_responsiveMode = __esm({
|
|
30082
31028
|
"../theme-core/src/responsiveMode.ts"() {
|
|
30083
31029
|
"use strict";
|
|
31030
|
+
THEME_RESPONSIVE_MODE_ATTR = "data-rb-responsive-mode";
|
|
31031
|
+
RESPONSIVE_SCOPE_RULE_PATTERN = new RegExp(
|
|
31032
|
+
buildResponsiveScopeRulePatternSource(),
|
|
31033
|
+
"g"
|
|
31034
|
+
);
|
|
31035
|
+
RESPONSIVE_SCOPE_RULE_AT_PATTERN = new RegExp(
|
|
31036
|
+
buildResponsiveScopeRulePatternSource(),
|
|
31037
|
+
"y"
|
|
31038
|
+
);
|
|
30084
31039
|
}
|
|
30085
31040
|
});
|
|
30086
31041
|
|
|
@@ -30127,7 +31082,7 @@ var init_buildThemeRuntime = __esm({
|
|
|
30127
31082
|
init_expandPalette();
|
|
30128
31083
|
init_fontFamily();
|
|
30129
31084
|
init_generateCssVars();
|
|
30130
|
-
|
|
31085
|
+
init_shadow2();
|
|
30131
31086
|
init_generateButtonCss();
|
|
30132
31087
|
init_generateCardCss();
|
|
30133
31088
|
init_generateAccordionCss();
|
|
@@ -31166,216 +32121,92 @@ function brandNonEmptyString(value, label) {
|
|
|
31166
32121
|
}
|
|
31167
32122
|
|
|
31168
32123
|
// ../theme-core/src/schema.ts
|
|
31169
|
-
import { z as
|
|
32124
|
+
import { z as z35 } from "zod";
|
|
31170
32125
|
|
|
31171
32126
|
// ../theme-core/src/lib/media.ts
|
|
31172
|
-
import
|
|
31173
|
-
var hotspotSchema2 =
|
|
31174
|
-
x:
|
|
31175
|
-
y:
|
|
31176
|
-
radius:
|
|
31177
|
-
});
|
|
31178
|
-
var rotationSchema2 =
|
|
31179
|
-
var rectSchema2 =
|
|
31180
|
-
var aspectCropSchema2 =
|
|
31181
|
-
aspect:
|
|
31182
|
-
rect:
|
|
31183
|
-
hotspot:
|
|
31184
|
-
rotation:
|
|
31185
|
-
});
|
|
31186
|
-
var transformSchema2 =
|
|
31187
|
-
aspectCrops:
|
|
32127
|
+
import z32 from "zod";
|
|
32128
|
+
var hotspotSchema2 = z32.object({
|
|
32129
|
+
x: z32.number().min(0).max(1),
|
|
32130
|
+
y: z32.number().min(0).max(1),
|
|
32131
|
+
radius: z32.number().optional()
|
|
32132
|
+
});
|
|
32133
|
+
var rotationSchema2 = z32.union([z32.literal(0), z32.literal(90), z32.literal(180), z32.literal(270)]);
|
|
32134
|
+
var rectSchema2 = z32.tuple([z32.number(), z32.number(), z32.number(), z32.number()]);
|
|
32135
|
+
var aspectCropSchema2 = z32.object({
|
|
32136
|
+
aspect: z32.preprocess((value) => value == null ? void 0 : value, z32.string().optional()),
|
|
32137
|
+
rect: z32.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
32138
|
+
hotspot: z32.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
32139
|
+
rotation: z32.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
32140
|
+
});
|
|
32141
|
+
var transformSchema2 = z32.object({
|
|
32142
|
+
aspectCrops: z32.preprocess((value) => {
|
|
31188
32143
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
31189
32144
|
return void 0;
|
|
31190
32145
|
}
|
|
31191
32146
|
return value;
|
|
31192
|
-
},
|
|
32147
|
+
}, z32.record(z32.string(), aspectCropSchema2.catch({}))).optional(),
|
|
31193
32148
|
rect: rectSchema2.optional(),
|
|
31194
32149
|
hotspot: hotspotSchema2.optional(),
|
|
31195
32150
|
rotation: rotationSchema2.optional()
|
|
31196
32151
|
});
|
|
31197
|
-
var mediaSchema2 =
|
|
31198
|
-
type:
|
|
31199
|
-
purpose:
|
|
31200
|
-
placeholder:
|
|
31201
|
-
assetId:
|
|
31202
|
-
identifier:
|
|
31203
|
-
src:
|
|
31204
|
-
alt:
|
|
31205
|
-
filename:
|
|
31206
|
-
mimeType:
|
|
31207
|
-
width:
|
|
31208
|
-
height:
|
|
31209
|
-
storageBucket:
|
|
31210
|
-
storagePath:
|
|
32152
|
+
var mediaSchema2 = z32.object({
|
|
32153
|
+
type: z32.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
32154
|
+
purpose: z32.string().optional(),
|
|
32155
|
+
placeholder: z32.boolean().default(true).optional(),
|
|
32156
|
+
assetId: z32.string().optional(),
|
|
32157
|
+
identifier: z32.string().optional(),
|
|
32158
|
+
src: z32.string().optional(),
|
|
32159
|
+
alt: z32.string().optional(),
|
|
32160
|
+
filename: z32.string().optional(),
|
|
32161
|
+
mimeType: z32.string().optional(),
|
|
32162
|
+
width: z32.number().optional(),
|
|
32163
|
+
height: z32.number().optional(),
|
|
32164
|
+
storageBucket: z32.string().optional(),
|
|
32165
|
+
storagePath: z32.string().optional(),
|
|
31211
32166
|
transform: transformSchema2.optional()
|
|
31212
32167
|
});
|
|
31213
32168
|
|
|
31214
|
-
// ../theme-core/src/
|
|
31215
|
-
|
|
31216
|
-
var cornerStyleSchema = z30.enum(["square", "rounded", "pill"]);
|
|
31217
|
-
var shadowSizeSchema = z30.enum(["none", "low", "medium", "high"]);
|
|
31218
|
-
var textTransformSchema = z30.enum(["none", "uppercase", "lowercase", "capitalize"]);
|
|
31219
|
-
var fontWeightSchema = z30.union([z30.literal(500), z30.literal(600), z30.literal(700)]);
|
|
31220
|
-
var buttonTypographySchema = z30.enum(["body", "heading"]);
|
|
31221
|
-
var hoverTransformSchema = z30.enum(["none", "lift", "scale", "press"]);
|
|
31222
|
-
var hoverColorSchema = z30.enum(["none", "brighten", "darken", "saturate", "token"]);
|
|
31223
|
-
var buttonPaddingPresetSchema = z30.enum(["compact", "default", "spacious"]);
|
|
31224
|
-
var gradientStyleSchema = z30.enum(["linear", "radial", "conic"]);
|
|
31225
|
-
var gradientSharpnessSchema = z30.enum(["smooth", "medium", "hard"]);
|
|
31226
|
-
var buttonSizeNameSchema = z30.enum(["sm", "md", "lg", "xl"]);
|
|
31227
|
-
var buttonSizeConfigSchema = z30.object({
|
|
31228
|
-
padding: z30.string(),
|
|
31229
|
-
fontSize: z30.string().optional()
|
|
31230
|
-
});
|
|
31231
|
-
var buttonSizesSchema = z30.object({
|
|
31232
|
-
sm: buttonSizeConfigSchema,
|
|
31233
|
-
md: buttonSizeConfigSchema,
|
|
31234
|
-
lg: buttonSizeConfigSchema,
|
|
31235
|
-
xl: buttonSizeConfigSchema.optional()
|
|
31236
|
-
});
|
|
31237
|
-
var backgroundTreatmentSchema = z30.enum(["solid", "gradient", "outline", "ghost"]);
|
|
31238
|
-
var outlineHoverEffectSchema = z30.enum([
|
|
31239
|
-
"border-glow",
|
|
31240
|
-
"border-shift",
|
|
31241
|
-
"border-grow",
|
|
31242
|
-
"fill-transition",
|
|
31243
|
-
"border-trace"
|
|
31244
|
-
]);
|
|
31245
|
-
var buttonGlobalSettingsSchema = z30.object({
|
|
31246
|
-
cornerStyle: cornerStyleSchema,
|
|
31247
|
-
cornerRadius: z30.number().min(0).max(24).optional(),
|
|
31248
|
-
shadow: shadowSizeSchema,
|
|
31249
|
-
textTransform: textTransformSchema,
|
|
31250
|
-
fontWeight: fontWeightSchema,
|
|
31251
|
-
borderWidth: z30.union([z30.literal(1), z30.literal(2), z30.literal(3)]),
|
|
31252
|
-
// Typography source (body or heading)
|
|
31253
|
-
typography: buttonTypographySchema.optional(),
|
|
31254
|
-
// Italic style
|
|
31255
|
-
italic: z30.boolean().optional(),
|
|
31256
|
-
// Padding preset (applies to all variants unless overridden)
|
|
31257
|
-
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
31258
|
-
hoverTransform: hoverTransformSchema,
|
|
31259
|
-
hoverColor: hoverColorSchema,
|
|
31260
|
-
// When hoverColor is 'token', this specifies which token to use
|
|
31261
|
-
hoverColorToken: z30.string().optional(),
|
|
31262
|
-
// Gradient settings (if any variant uses gradients)
|
|
31263
|
-
gradientStyle: gradientStyleSchema.optional(),
|
|
31264
|
-
gradientAngle: z30.number().min(0).max(360).optional(),
|
|
31265
|
-
gradientSharpness: gradientSharpnessSchema.optional()
|
|
31266
|
-
});
|
|
31267
|
-
var gradientDirectionSchema = z30.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
31268
|
-
var buttonBackgroundSchema = z30.discriminatedUnion("type", [
|
|
31269
|
-
z30.object({ type: z30.literal("solid"), colorToken: z30.string() }),
|
|
31270
|
-
z30.object({
|
|
31271
|
-
type: z30.literal("gradient"),
|
|
31272
|
-
stops: z30.array(z30.string()).min(2),
|
|
31273
|
-
direction: gradientDirectionSchema
|
|
31274
|
-
}),
|
|
31275
|
-
z30.object({ type: z30.literal("transparent") })
|
|
31276
|
-
]);
|
|
31277
|
-
var effectApplicationSchema2 = z30.object({
|
|
31278
|
-
effectId: z30.string(),
|
|
31279
|
-
options: z30.record(z30.string(), z30.any()).optional()
|
|
31280
|
-
});
|
|
31281
|
-
var buttonBorderSchema = z30.object({
|
|
31282
|
-
widthClass: z30.string(),
|
|
31283
|
-
colorToken: z30.string()
|
|
31284
|
-
});
|
|
31285
|
-
var buttonVariantLegacySchema = z30.object({
|
|
31286
|
-
id: z30.string(),
|
|
31287
|
-
name: z30.string().min(1).max(20),
|
|
31288
|
-
enabled: z30.boolean(),
|
|
31289
|
-
priority: z30.union([z30.literal(1), z30.literal(2), z30.literal(3)]),
|
|
31290
|
-
backgroundTreatment: backgroundTreatmentSchema,
|
|
31291
|
-
color: z30.string().optional(),
|
|
31292
|
-
gradientColors: z30.tuple([z30.string(), z30.string()]).optional(),
|
|
31293
|
-
borderColor: z30.string().optional(),
|
|
31294
|
-
outlineHoverEffect: outlineHoverEffectSchema.optional(),
|
|
31295
|
-
effectPreset: z30.string().optional()
|
|
31296
|
-
});
|
|
31297
|
-
var buttonVariantSchema = z30.object({
|
|
31298
|
-
id: z30.string(),
|
|
31299
|
-
name: z30.string().min(1).max(20),
|
|
31300
|
-
enabled: z30.boolean(),
|
|
31301
|
-
priority: z30.union([z30.literal(1), z30.literal(2), z30.literal(3)]),
|
|
31302
|
-
// Base appearance (token-based)
|
|
31303
|
-
background: buttonBackgroundSchema,
|
|
31304
|
-
textColorToken: z30.string(),
|
|
31305
|
-
borderRadius: z30.string(),
|
|
31306
|
-
// Optional shadow override (uses theme.shadow if not specified)
|
|
31307
|
-
shadow: z30.object({
|
|
31308
|
-
elevation: z30.enum(["none", "low", "medium", "high"]),
|
|
31309
|
-
softness: z30.enum(["crisp", "soft", "hard"]).nullable(),
|
|
31310
|
-
position: z30.enum(["bottom", "bottom-right"]).default("bottom")
|
|
31311
|
-
}).optional(),
|
|
31312
|
-
// Border (optional)
|
|
31313
|
-
border: buttonBorderSchema.optional(),
|
|
31314
|
-
// Padding (optional, defaults to "0.5rem 1rem")
|
|
31315
|
-
padding: z30.string().optional(),
|
|
31316
|
-
// Font size (optional, Tailwind text size class)
|
|
31317
|
-
fontSize: z30.string().optional(),
|
|
31318
|
-
// Hover background token (per-variant override, takes precedence over global hoverColorToken)
|
|
31319
|
-
hoverBackgroundToken: z30.string().optional(),
|
|
31320
|
-
// Effect composition
|
|
31321
|
-
effects: z30.object({
|
|
31322
|
-
base: z30.array(effectApplicationSchema2).optional(),
|
|
31323
|
-
hover: z30.array(effectApplicationSchema2).optional(),
|
|
31324
|
-
active: z30.array(effectApplicationSchema2).optional(),
|
|
31325
|
-
focus: z30.array(effectApplicationSchema2).optional()
|
|
31326
|
-
}).optional()
|
|
31327
|
-
});
|
|
31328
|
-
var buttonSystemSchema = z30.object({
|
|
31329
|
-
global: buttonGlobalSettingsSchema,
|
|
31330
|
-
variants: z30.array(buttonVariantSchema).min(1).max(6),
|
|
31331
|
-
sizes: buttonSizesSchema.optional()
|
|
31332
|
-
});
|
|
31333
|
-
|
|
31334
|
-
// ../theme-core/src/buttons/index.ts
|
|
31335
|
-
init_generateButtonCss();
|
|
31336
|
-
init_generateDefaultButtonSystem();
|
|
31337
|
-
init_constants();
|
|
31338
|
-
init_registry();
|
|
31339
|
-
init_transform();
|
|
32169
|
+
// ../theme-core/src/schema.ts
|
|
32170
|
+
init_buttons();
|
|
31340
32171
|
|
|
31341
32172
|
// ../theme-core/src/cards/types.ts
|
|
31342
|
-
import { z as
|
|
31343
|
-
var cardSpacingSchema =
|
|
31344
|
-
var gradientDirectionSchema2 =
|
|
31345
|
-
var cardBackgroundSchema =
|
|
31346
|
-
|
|
31347
|
-
|
|
31348
|
-
type:
|
|
31349
|
-
fromToken:
|
|
31350
|
-
toToken:
|
|
32173
|
+
import { z as z33 } from "zod";
|
|
32174
|
+
var cardSpacingSchema = z33.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
32175
|
+
var gradientDirectionSchema2 = z33.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
32176
|
+
var cardBackgroundSchema = z33.discriminatedUnion("type", [
|
|
32177
|
+
z33.object({ type: z33.literal("solid"), colorToken: z33.string() }),
|
|
32178
|
+
z33.object({
|
|
32179
|
+
type: z33.literal("gradient"),
|
|
32180
|
+
fromToken: z33.string(),
|
|
32181
|
+
toToken: z33.string(),
|
|
31351
32182
|
direction: gradientDirectionSchema2
|
|
31352
32183
|
}),
|
|
31353
|
-
|
|
32184
|
+
z33.object({ type: z33.literal("transparent") })
|
|
31354
32185
|
]);
|
|
31355
|
-
var cardBorderSchema =
|
|
31356
|
-
widthClass:
|
|
31357
|
-
colorToken:
|
|
31358
|
-
});
|
|
31359
|
-
var cardVariantSchema2 =
|
|
31360
|
-
id:
|
|
31361
|
-
name:
|
|
31362
|
-
enabled:
|
|
31363
|
-
priority:
|
|
32186
|
+
var cardBorderSchema = z33.object({
|
|
32187
|
+
widthClass: z33.string(),
|
|
32188
|
+
colorToken: z33.string()
|
|
32189
|
+
});
|
|
32190
|
+
var cardVariantSchema2 = z33.object({
|
|
32191
|
+
id: z33.string(),
|
|
32192
|
+
name: z33.string().min(1).max(20),
|
|
32193
|
+
enabled: z33.boolean(),
|
|
32194
|
+
priority: z33.union([z33.literal(1), z33.literal(2), z33.literal(3)]),
|
|
31364
32195
|
// Appearance (token-based)
|
|
31365
32196
|
background: cardBackgroundSchema,
|
|
31366
32197
|
spacing: cardSpacingSchema,
|
|
31367
32198
|
// Optional overrides (uses theme defaults if not specified)
|
|
31368
|
-
shadow:
|
|
31369
|
-
elevation:
|
|
31370
|
-
softness:
|
|
31371
|
-
position:
|
|
32199
|
+
shadow: z33.object({
|
|
32200
|
+
elevation: z33.enum(["none", "low", "medium", "high"]),
|
|
32201
|
+
softness: z33.enum(["crisp", "soft", "hard"]).nullable(),
|
|
32202
|
+
position: z33.enum(["bottom", "bottom-right"]).default("bottom")
|
|
31372
32203
|
}).optional(),
|
|
31373
|
-
corners:
|
|
32204
|
+
corners: z33.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
31374
32205
|
// Border (optional)
|
|
31375
32206
|
border: cardBorderSchema.optional()
|
|
31376
32207
|
});
|
|
31377
|
-
var cardSystemSchema =
|
|
31378
|
-
variants:
|
|
32208
|
+
var cardSystemSchema = z33.object({
|
|
32209
|
+
variants: z33.array(cardVariantSchema2).min(1).max(3)
|
|
31379
32210
|
});
|
|
31380
32211
|
|
|
31381
32212
|
// ../theme-core/src/cards/index.ts
|
|
@@ -31384,90 +32215,90 @@ init_generateCardCss();
|
|
|
31384
32215
|
init_generateDefaultCardSystem();
|
|
31385
32216
|
|
|
31386
32217
|
// ../theme-core/src/schema.ts
|
|
31387
|
-
init_types4();
|
|
31388
32218
|
init_types7();
|
|
32219
|
+
init_types10();
|
|
31389
32220
|
|
|
31390
32221
|
// ../theme-core/src/gradients/types.ts
|
|
31391
|
-
import { z as
|
|
31392
|
-
var gradientStopSchema =
|
|
31393
|
-
color:
|
|
32222
|
+
import { z as z34 } from "zod";
|
|
32223
|
+
var gradientStopSchema = z34.object({
|
|
32224
|
+
color: z34.string(),
|
|
31394
32225
|
// Theme color token name (e.g., 'primary-500')
|
|
31395
|
-
position:
|
|
32226
|
+
position: z34.number().min(0).max(100)
|
|
31396
32227
|
// Percentage 0-100
|
|
31397
32228
|
});
|
|
31398
|
-
var gradientConfigSchema =
|
|
31399
|
-
type:
|
|
31400
|
-
angle:
|
|
32229
|
+
var gradientConfigSchema = z34.object({
|
|
32230
|
+
type: z34.enum(["linear", "radial"]),
|
|
32231
|
+
angle: z34.number().min(0).max(360).optional(),
|
|
31401
32232
|
// For linear gradients (degrees)
|
|
31402
|
-
position:
|
|
32233
|
+
position: z34.string().optional(),
|
|
31403
32234
|
// For radial gradients ('center', 'top left', etc.)
|
|
31404
|
-
stops:
|
|
32235
|
+
stops: z34.array(gradientStopSchema).min(2)
|
|
31405
32236
|
});
|
|
31406
32237
|
|
|
31407
32238
|
// ../theme-core/src/schema.ts
|
|
31408
|
-
|
|
32239
|
+
init_types11();
|
|
31409
32240
|
init_validation3();
|
|
31410
32241
|
init_atRuleValidation();
|
|
31411
32242
|
init_shared6();
|
|
31412
|
-
var axesSchema =
|
|
31413
|
-
tone:
|
|
31414
|
-
energy:
|
|
31415
|
-
density:
|
|
31416
|
-
mediaBias:
|
|
31417
|
-
conversionBias:
|
|
31418
|
-
motion:
|
|
31419
|
-
});
|
|
31420
|
-
var colourHexString =
|
|
31421
|
-
var paletteColorSchema =
|
|
31422
|
-
name:
|
|
32243
|
+
var axesSchema = z35.object({
|
|
32244
|
+
tone: z35.enum(["minimal", "classic", "bold"]),
|
|
32245
|
+
energy: z35.enum(["calm", "vibrant"]),
|
|
32246
|
+
density: z35.enum(["airy", "regular", "compact"]),
|
|
32247
|
+
mediaBias: z35.enum(["text", "media", "mixed"]),
|
|
32248
|
+
conversionBias: z35.enum(["low", "med", "high"]),
|
|
32249
|
+
motion: z35.enum(["subtle", "standard", "expressive"])
|
|
32250
|
+
});
|
|
32251
|
+
var colourHexString = z35.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
32252
|
+
var paletteColorSchema = z35.object({
|
|
32253
|
+
name: z35.string().min(1),
|
|
31423
32254
|
hex: colourHexString
|
|
31424
32255
|
});
|
|
31425
|
-
var paletteMetaSchema =
|
|
31426
|
-
mode:
|
|
32256
|
+
var paletteMetaSchema = z35.object({
|
|
32257
|
+
mode: z35.enum(["light", "dark"])
|
|
31427
32258
|
});
|
|
31428
|
-
var paletteSchema =
|
|
31429
|
-
colors:
|
|
32259
|
+
var paletteSchema = z35.object({
|
|
32260
|
+
colors: z35.array(paletteColorSchema),
|
|
31430
32261
|
meta: paletteMetaSchema
|
|
31431
32262
|
});
|
|
31432
|
-
var typographyStyleSchema =
|
|
31433
|
-
family:
|
|
31434
|
-
weight:
|
|
31435
|
-
letterSpacing:
|
|
31436
|
-
lineHeight:
|
|
32263
|
+
var typographyStyleSchema = z35.object({
|
|
32264
|
+
family: z35.string().min(1),
|
|
32265
|
+
weight: z35.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
32266
|
+
letterSpacing: z35.enum(["tight", "normal", "loose"]),
|
|
32267
|
+
lineHeight: z35.enum(["normal", "relaxed", "loose"])
|
|
31437
32268
|
});
|
|
31438
32269
|
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
31439
|
-
size:
|
|
32270
|
+
size: z35.enum(["md", "lg", "xl"])
|
|
31440
32271
|
});
|
|
31441
|
-
var headingSizeSchema =
|
|
31442
|
-
var headingTypographyOverridesSchema =
|
|
31443
|
-
weight:
|
|
31444
|
-
letterSpacing:
|
|
32272
|
+
var headingSizeSchema = z35.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
32273
|
+
var headingTypographyOverridesSchema = z35.object({
|
|
32274
|
+
weight: z35.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
32275
|
+
letterSpacing: z35.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
31445
32276
|
size: headingSizeSchema.nullable().optional(),
|
|
31446
|
-
lineHeight:
|
|
31447
|
-
italic:
|
|
31448
|
-
colorToken:
|
|
32277
|
+
lineHeight: z35.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
32278
|
+
italic: z35.boolean().nullable().optional(),
|
|
32279
|
+
colorToken: z35.string().min(1).nullable().optional()
|
|
31449
32280
|
// Palette token name for heading color
|
|
31450
32281
|
});
|
|
31451
32282
|
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
31452
|
-
case:
|
|
31453
|
-
italic:
|
|
31454
|
-
colorToken:
|
|
32283
|
+
case: z35.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
32284
|
+
italic: z35.boolean().nullable(),
|
|
32285
|
+
colorToken: z35.string().min(1).nullable().optional()
|
|
31455
32286
|
// Palette token name for heading color
|
|
31456
32287
|
});
|
|
31457
|
-
var proseLinkUnderlineStyleSchema =
|
|
31458
|
-
var proseLinkUnderlineThicknessSchema =
|
|
31459
|
-
var proseLinkUnderlineOffsetSchema =
|
|
31460
|
-
var proseLinkStyleSchema =
|
|
31461
|
-
colorToken:
|
|
31462
|
-
hoverColorToken:
|
|
31463
|
-
underline:
|
|
31464
|
-
decorationColorToken:
|
|
31465
|
-
hoverDecorationColorToken:
|
|
32288
|
+
var proseLinkUnderlineStyleSchema = z35.enum(["solid", "dotted", "dashed"]);
|
|
32289
|
+
var proseLinkUnderlineThicknessSchema = z35.enum(["auto", "fromFont", "thin", "medium", "thick"]);
|
|
32290
|
+
var proseLinkUnderlineOffsetSchema = z35.enum(["auto", "tight", "normal", "loose"]);
|
|
32291
|
+
var proseLinkStyleSchema = z35.object({
|
|
32292
|
+
colorToken: z35.string().min(1).optional(),
|
|
32293
|
+
hoverColorToken: z35.string().min(1).optional(),
|
|
32294
|
+
underline: z35.boolean().optional(),
|
|
32295
|
+
decorationColorToken: z35.string().min(1).optional(),
|
|
32296
|
+
hoverDecorationColorToken: z35.string().min(1).optional(),
|
|
31466
32297
|
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
31467
32298
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
31468
32299
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
31469
32300
|
});
|
|
31470
|
-
var semanticSpacingSchema =
|
|
32301
|
+
var semanticSpacingSchema = z35.enum([
|
|
31471
32302
|
"none",
|
|
31472
32303
|
"compact",
|
|
31473
32304
|
"cozy",
|
|
@@ -31475,62 +32306,62 @@ var semanticSpacingSchema = z33.enum([
|
|
|
31475
32306
|
"comfortable",
|
|
31476
32307
|
"spacious"
|
|
31477
32308
|
]);
|
|
31478
|
-
var boxRoundedSchema =
|
|
31479
|
-
var boxBackgroundOverlaySchema =
|
|
31480
|
-
type:
|
|
31481
|
-
color:
|
|
31482
|
-
gradient:
|
|
31483
|
-
opacity:
|
|
31484
|
-
});
|
|
31485
|
-
var boxBackgroundSchema =
|
|
31486
|
-
type:
|
|
31487
|
-
color:
|
|
31488
|
-
gradient:
|
|
32309
|
+
var boxRoundedSchema = z35.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
32310
|
+
var boxBackgroundOverlaySchema = z35.object({
|
|
32311
|
+
type: z35.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
32312
|
+
color: z35.string().nullable().optional(),
|
|
32313
|
+
gradient: z35.string().nullable().optional(),
|
|
32314
|
+
opacity: z35.number().min(0).max(1).nullable().optional()
|
|
32315
|
+
});
|
|
32316
|
+
var boxBackgroundSchema = z35.object({
|
|
32317
|
+
type: z35.enum(["color", "gradient", "image"]).optional(),
|
|
32318
|
+
color: z35.string().nullable().optional(),
|
|
32319
|
+
gradient: z35.string().nullable().optional(),
|
|
31489
32320
|
image: mediaSchema2.nullable().optional(),
|
|
31490
|
-
objectFit:
|
|
31491
|
-
scale:
|
|
31492
|
-
position:
|
|
31493
|
-
opacity:
|
|
32321
|
+
objectFit: z35.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
|
|
32322
|
+
scale: z35.string().nullable().optional(),
|
|
32323
|
+
position: z35.string().nullable().optional(),
|
|
32324
|
+
opacity: z35.number().min(0).max(1).nullable().optional(),
|
|
31494
32325
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
31495
|
-
textColor:
|
|
31496
|
-
headingColor:
|
|
32326
|
+
textColor: z35.string().nullable().optional(),
|
|
32327
|
+
headingColor: z35.string().nullable().optional()
|
|
31497
32328
|
});
|
|
31498
|
-
var sectionStylesOverrideSchema =
|
|
32329
|
+
var sectionStylesOverrideSchema = z35.object({
|
|
31499
32330
|
background: boxBackgroundSchema.nullable().optional(),
|
|
31500
32331
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
31501
|
-
minHeight:
|
|
32332
|
+
minHeight: z35.enum(["none", "hero", "immersive"]).nullable().optional()
|
|
31502
32333
|
});
|
|
31503
|
-
var containerStylesOverrideSchema =
|
|
32334
|
+
var containerStylesOverrideSchema = z35.object({
|
|
31504
32335
|
background: boxBackgroundSchema.nullable().optional(),
|
|
31505
32336
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
31506
|
-
raised:
|
|
32337
|
+
raised: z35.boolean().nullable().optional(),
|
|
31507
32338
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
31508
|
-
fullWidth:
|
|
32339
|
+
fullWidth: z35.boolean().nullable().optional()
|
|
31509
32340
|
});
|
|
31510
|
-
var cardBorderOverrideSchema =
|
|
31511
|
-
enabled:
|
|
31512
|
-
width:
|
|
31513
|
-
colorToken:
|
|
32341
|
+
var cardBorderOverrideSchema = z35.object({
|
|
32342
|
+
enabled: z35.boolean().nullable().optional(),
|
|
32343
|
+
width: z35.enum(["none", "1", "2", "3"]).nullable().optional(),
|
|
32344
|
+
colorToken: z35.string().nullable().optional()
|
|
31514
32345
|
});
|
|
31515
|
-
var cardStylesOverrideSchema =
|
|
32346
|
+
var cardStylesOverrideSchema = z35.object({
|
|
31516
32347
|
background: boxBackgroundSchema.nullable().optional(),
|
|
31517
32348
|
border: cardBorderOverrideSchema.nullable().optional(),
|
|
31518
32349
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
31519
|
-
raised:
|
|
32350
|
+
raised: z35.boolean().nullable().optional(),
|
|
31520
32351
|
rounded: boxRoundedSchema.nullable().optional()
|
|
31521
32352
|
});
|
|
31522
|
-
var blockStyleOverridesSchema =
|
|
32353
|
+
var blockStyleOverridesSchema = z35.object({
|
|
31523
32354
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
31524
32355
|
containerStyles: containerStylesOverrideSchema.nullable().optional(),
|
|
31525
32356
|
cardStyles: cardStylesOverrideSchema.nullable().optional()
|
|
31526
32357
|
});
|
|
31527
|
-
var blockThemeOverrideSchema =
|
|
31528
|
-
typography:
|
|
32358
|
+
var blockThemeOverrideSchema = z35.object({
|
|
32359
|
+
typography: z35.object({
|
|
31529
32360
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
31530
32361
|
}).optional(),
|
|
31531
32362
|
styles: blockStyleOverridesSchema.optional()
|
|
31532
32363
|
});
|
|
31533
|
-
var typographyScaleSchema =
|
|
32364
|
+
var typographyScaleSchema = z35.enum([
|
|
31534
32365
|
// New intuitive names
|
|
31535
32366
|
"compact",
|
|
31536
32367
|
// ratio 1.2 (was minorThird)
|
|
@@ -31543,9 +32374,9 @@ var typographyScaleSchema = z33.enum([
|
|
|
31543
32374
|
"majorThird",
|
|
31544
32375
|
"perfectFourth"
|
|
31545
32376
|
]);
|
|
31546
|
-
var typographySchema =
|
|
32377
|
+
var typographySchema = z35.object({
|
|
31547
32378
|
body: bodyTypographyStyleSchema,
|
|
31548
|
-
headings:
|
|
32379
|
+
headings: z35.object({
|
|
31549
32380
|
default: headingTypographyStyleSchema,
|
|
31550
32381
|
h1: headingTypographyOverridesSchema,
|
|
31551
32382
|
h2: headingTypographyOverridesSchema,
|
|
@@ -31558,41 +32389,41 @@ var typographySchema = z33.object({
|
|
|
31558
32389
|
scale: typographyScaleSchema,
|
|
31559
32390
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
31560
32391
|
});
|
|
31561
|
-
var spaceSchema =
|
|
31562
|
-
var corners =
|
|
31563
|
-
var shadow =
|
|
31564
|
-
elevation:
|
|
31565
|
-
softness:
|
|
31566
|
-
position:
|
|
32392
|
+
var spaceSchema = z35.enum(["comfortable", "standard", "dense"]);
|
|
32393
|
+
var corners = z35.enum(["square", "soft", "rounded", "pill"]);
|
|
32394
|
+
var shadow = z35.object({
|
|
32395
|
+
elevation: z35.enum(["none", "low", "medium", "high"]),
|
|
32396
|
+
softness: z35.enum(["crisp", "soft", "hard"]).nullable(),
|
|
32397
|
+
position: z35.enum(["bottom", "bottom-right"]).default("bottom")
|
|
31567
32398
|
});
|
|
31568
|
-
var border =
|
|
31569
|
-
width:
|
|
31570
|
-
style:
|
|
32399
|
+
var border = z35.object({
|
|
32400
|
+
width: z35.enum(["none", "hairline", "thin", "thick"]),
|
|
32401
|
+
style: z35.enum(["solid", "dashed"])
|
|
31571
32402
|
});
|
|
31572
|
-
var motion =
|
|
31573
|
-
level:
|
|
31574
|
-
easing:
|
|
32403
|
+
var motion = z35.object({
|
|
32404
|
+
level: z35.enum(["off", "low", "medium", "high"]),
|
|
32405
|
+
easing: z35.enum(["standard", "snappy", "gentle"]).nullable()
|
|
31575
32406
|
});
|
|
31576
|
-
var buttonStyle =
|
|
32407
|
+
var buttonStyle = z35.object({
|
|
31577
32408
|
shape: corners
|
|
31578
32409
|
// Used for --radius-control CSS variable
|
|
31579
32410
|
});
|
|
31580
|
-
var cardStyle =
|
|
31581
|
-
elevation:
|
|
31582
|
-
border:
|
|
32411
|
+
var cardStyle = z35.object({
|
|
32412
|
+
elevation: z35.enum(["none", "low", "medium", "high"]),
|
|
32413
|
+
border: z35.enum(["none", "subtle", "defined"]),
|
|
31583
32414
|
shape: corners,
|
|
31584
|
-
headerStyle:
|
|
31585
|
-
mediaTreatment:
|
|
32415
|
+
headerStyle: z35.enum(["plain", "accentBar", "subtleBg"]).nullable(),
|
|
32416
|
+
mediaTreatment: z35.enum(["square", "rounded", "bleed"]).nullable()
|
|
31586
32417
|
});
|
|
31587
|
-
var inputStyle =
|
|
32418
|
+
var inputStyle = z35.object({
|
|
31588
32419
|
shape: corners,
|
|
31589
|
-
border:
|
|
31590
|
-
focus:
|
|
31591
|
-
label:
|
|
32420
|
+
border: z35.enum(["subtle", "defined", "underline"]),
|
|
32421
|
+
focus: z35.enum(["glow", "ring", "underline"]),
|
|
32422
|
+
label: z35.enum(["inside", "above"])
|
|
31592
32423
|
});
|
|
31593
|
-
var headerVariant =
|
|
31594
|
-
var headerPositioning =
|
|
31595
|
-
var headerNavStyle =
|
|
32424
|
+
var headerVariant = z35.enum(["classic", "centered", "transparent", "floating", "editorial"]);
|
|
32425
|
+
var headerPositioning = z35.enum(["static", "sticky", "fixed"]);
|
|
32426
|
+
var headerNavStyle = z35.enum([
|
|
31596
32427
|
"minimal",
|
|
31597
32428
|
"underline",
|
|
31598
32429
|
"underline-grow",
|
|
@@ -31601,82 +32432,82 @@ var headerNavStyle = z33.enum([
|
|
|
31601
32432
|
"frosted",
|
|
31602
32433
|
"solid"
|
|
31603
32434
|
]);
|
|
31604
|
-
var navFontWeight =
|
|
31605
|
-
var headerMaxWidth =
|
|
31606
|
-
var headerContainerSchema =
|
|
31607
|
-
rounded:
|
|
31608
|
-
border:
|
|
31609
|
-
shadow:
|
|
31610
|
-
padding:
|
|
31611
|
-
tint:
|
|
31612
|
-
opacity:
|
|
32435
|
+
var navFontWeight = z35.enum(["regular", "medium", "semibold", "bold"]);
|
|
32436
|
+
var headerMaxWidth = z35.enum(["container", "full"]);
|
|
32437
|
+
var headerContainerSchema = z35.object({
|
|
32438
|
+
rounded: z35.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
|
|
32439
|
+
border: z35.boolean().default(true),
|
|
32440
|
+
shadow: z35.boolean().default(true),
|
|
32441
|
+
padding: z35.enum(["sm", "md", "lg"]).default("md"),
|
|
32442
|
+
tint: z35.string().nullable().optional(),
|
|
32443
|
+
opacity: z35.number().min(0).max(1).default(0.12)
|
|
31613
32444
|
}).optional();
|
|
31614
32445
|
var headerBorderSchema = componentBorderSchema.extend({
|
|
31615
|
-
position:
|
|
32446
|
+
position: z35.enum(["bottom", "top", "both", "none"]).default("bottom")
|
|
31616
32447
|
}).optional();
|
|
31617
|
-
var logoStyleSchema =
|
|
31618
|
-
fontFamily:
|
|
31619
|
-
letterSpacing:
|
|
31620
|
-
gradient:
|
|
32448
|
+
var logoStyleSchema = z35.object({
|
|
32449
|
+
fontFamily: z35.enum(["heading", "body"]).default("heading"),
|
|
32450
|
+
letterSpacing: z35.enum(["normal", "wide", "wider", "widest"]).default("normal"),
|
|
32451
|
+
gradient: z35.boolean().default(false)
|
|
31621
32452
|
}).optional();
|
|
31622
|
-
var headerLogoTextSchema =
|
|
31623
|
-
mobileWrapLines:
|
|
31624
|
-
mobileMaxWidth:
|
|
31625
|
-
hideOnShrink:
|
|
32453
|
+
var headerLogoTextSchema = z35.object({
|
|
32454
|
+
mobileWrapLines: z35.union([z35.literal(1), z35.literal(2)]).optional(),
|
|
32455
|
+
mobileMaxWidth: z35.enum(["xs", "sm", "md"]).optional(),
|
|
32456
|
+
hideOnShrink: z35.boolean().optional()
|
|
31626
32457
|
}).optional();
|
|
31627
|
-
var navEffectsSchema =
|
|
31628
|
-
underlineGradient:
|
|
31629
|
-
glow:
|
|
31630
|
-
glowColor:
|
|
31631
|
-
neumorphic:
|
|
32458
|
+
var navEffectsSchema = z35.object({
|
|
32459
|
+
underlineGradient: z35.boolean().default(false),
|
|
32460
|
+
glow: z35.boolean().default(false),
|
|
32461
|
+
glowColor: z35.string().optional(),
|
|
32462
|
+
neumorphic: z35.boolean().default(false)
|
|
31632
32463
|
}).optional();
|
|
31633
|
-
var dropdownStyleSchema =
|
|
32464
|
+
var dropdownStyleSchema = z35.object({
|
|
31634
32465
|
// Container styling
|
|
31635
|
-
background:
|
|
32466
|
+
background: z35.string().default("surface"),
|
|
31636
32467
|
// color token
|
|
31637
|
-
textColor:
|
|
32468
|
+
textColor: z35.string().default("text"),
|
|
31638
32469
|
// color token
|
|
31639
|
-
borderColor:
|
|
32470
|
+
borderColor: z35.string().nullable().default("border"),
|
|
31640
32471
|
// null = no border
|
|
31641
|
-
shadow:
|
|
31642
|
-
borderRadius:
|
|
32472
|
+
shadow: z35.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
32473
|
+
borderRadius: z35.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
31643
32474
|
// Link hover states (explicit control)
|
|
31644
|
-
hoverBackground:
|
|
32475
|
+
hoverBackground: z35.string().nullable().optional(),
|
|
31645
32476
|
// color token, null = transparent
|
|
31646
|
-
hoverTextColor:
|
|
32477
|
+
hoverTextColor: z35.string().nullable().optional(),
|
|
31647
32478
|
// color token, null = inherit
|
|
31648
32479
|
// Typography
|
|
31649
|
-
textTransform:
|
|
31650
|
-
letterSpacing:
|
|
31651
|
-
fontWeight:
|
|
32480
|
+
textTransform: z35.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
32481
|
+
letterSpacing: z35.enum(["normal", "wide", "wider"]).default("normal"),
|
|
32482
|
+
fontWeight: z35.enum(["regular", "medium", "semibold", "bold"]).optional(),
|
|
31652
32483
|
// optional = inherit from navWeight
|
|
31653
|
-
textSize:
|
|
32484
|
+
textSize: z35.enum(["xs", "sm", "base", "lg"]).optional()
|
|
31654
32485
|
// optional = no override (browser default)
|
|
31655
32486
|
}).optional();
|
|
31656
|
-
var headerCtaGapSchema =
|
|
31657
|
-
var navContainerSchema =
|
|
31658
|
-
type:
|
|
31659
|
-
tint:
|
|
31660
|
-
opacity:
|
|
32487
|
+
var headerCtaGapSchema = z35.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
32488
|
+
var navContainerSchema = z35.object({
|
|
32489
|
+
type: z35.enum(["none", "pill", "glass"]).default("none"),
|
|
32490
|
+
tint: z35.string().nullable().optional(),
|
|
32491
|
+
opacity: z35.number().min(0).max(1).default(0.15)
|
|
31661
32492
|
}).default({ type: "none", tint: null, opacity: 0.15 });
|
|
31662
|
-
var headerBackgroundSchema =
|
|
31663
|
-
type:
|
|
31664
|
-
color:
|
|
32493
|
+
var headerBackgroundSchema = z35.object({
|
|
32494
|
+
type: z35.enum(["color", "gradient", "image"]),
|
|
32495
|
+
color: z35.string().nullable().optional(),
|
|
31665
32496
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
31666
32497
|
image: mediaSchema2.nullable().optional(),
|
|
31667
|
-
textColor:
|
|
32498
|
+
textColor: z35.string().nullable().optional()
|
|
31668
32499
|
});
|
|
31669
|
-
var headerSchema =
|
|
32500
|
+
var headerSchema = z35.object({
|
|
31670
32501
|
variant: headerVariant,
|
|
31671
32502
|
positioning: headerPositioning,
|
|
31672
|
-
shrinkOnScroll:
|
|
32503
|
+
shrinkOnScroll: z35.boolean(),
|
|
31673
32504
|
maxWidth: headerMaxWidth,
|
|
31674
32505
|
logoOverride: mediaSchema2.nullable().optional(),
|
|
31675
32506
|
background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
|
|
31676
|
-
textColor:
|
|
32507
|
+
textColor: z35.string().nullable().optional(),
|
|
31677
32508
|
// Site title and general header text
|
|
31678
32509
|
navStyle: headerNavStyle,
|
|
31679
|
-
navColor:
|
|
32510
|
+
navColor: z35.string().nullable().optional(),
|
|
31680
32511
|
// Nav links (inherits textColor if not set)
|
|
31681
32512
|
navWeight: navFontWeight.default("medium"),
|
|
31682
32513
|
// New fields for header system enhancement
|
|
@@ -31695,50 +32526,50 @@ var headerSchema = z33.object({
|
|
|
31695
32526
|
// Dropdown menu styling (nav dropdowns and mobile drawer)
|
|
31696
32527
|
dropdownStyle: dropdownStyleSchema
|
|
31697
32528
|
});
|
|
31698
|
-
var footerVariant =
|
|
31699
|
-
var footerMaxWidth =
|
|
31700
|
-
var footerMode =
|
|
31701
|
-
var footerNavLayoutMode =
|
|
31702
|
-
var footerNavLayoutAlign =
|
|
31703
|
-
var footerSpacing =
|
|
31704
|
-
var footerLogoPlacement =
|
|
31705
|
-
var footerLogoSize =
|
|
31706
|
-
var footerLogoMaxHeight =
|
|
31707
|
-
var footerBottomTextLinkStyleSchema =
|
|
31708
|
-
colorToken:
|
|
31709
|
-
hoverColorToken:
|
|
31710
|
-
decorationColorToken:
|
|
31711
|
-
underline:
|
|
31712
|
-
});
|
|
31713
|
-
var footerBottomBarSchema =
|
|
31714
|
-
enabled:
|
|
31715
|
-
fullBleed:
|
|
32529
|
+
var footerVariant = z35.enum(["simple", "columns", "split"]);
|
|
32530
|
+
var footerMaxWidth = z35.enum(["container", "full"]);
|
|
32531
|
+
var footerMode = z35.enum(["default", "blocks", "default+blocks", "none"]);
|
|
32532
|
+
var footerNavLayoutMode = z35.enum(["stack", "inline", "inline-wrap"]);
|
|
32533
|
+
var footerNavLayoutAlign = z35.enum(["start", "center", "end", "space-between"]);
|
|
32534
|
+
var footerSpacing = z35.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
32535
|
+
var footerLogoPlacement = z35.enum(["left", "right", "above", "below"]);
|
|
32536
|
+
var footerLogoSize = z35.enum(["sm", "md", "lg", "xl"]);
|
|
32537
|
+
var footerLogoMaxHeight = z35.enum(["sm", "md", "lg", "xl"]);
|
|
32538
|
+
var footerBottomTextLinkStyleSchema = z35.object({
|
|
32539
|
+
colorToken: z35.string().optional(),
|
|
32540
|
+
hoverColorToken: z35.string().nullable().optional(),
|
|
32541
|
+
decorationColorToken: z35.string().nullable().optional(),
|
|
32542
|
+
underline: z35.boolean().optional()
|
|
32543
|
+
});
|
|
32544
|
+
var footerBottomBarSchema = z35.object({
|
|
32545
|
+
enabled: z35.boolean().optional(),
|
|
32546
|
+
fullBleed: z35.boolean().optional(),
|
|
31716
32547
|
background: headerBackgroundSchema.optional(),
|
|
31717
|
-
textColor:
|
|
31718
|
-
textAlign:
|
|
32548
|
+
textColor: z35.string().nullable().optional(),
|
|
32549
|
+
textAlign: z35.enum(["left", "center", "right"]).optional(),
|
|
31719
32550
|
paddingY: footerSpacing.optional(),
|
|
31720
32551
|
paddingX: footerSpacing.optional(),
|
|
31721
|
-
borderTop:
|
|
31722
|
-
colorToken:
|
|
31723
|
-
width:
|
|
32552
|
+
borderTop: z35.object({
|
|
32553
|
+
colorToken: z35.string().nullable().optional(),
|
|
32554
|
+
width: z35.enum(["none", "thin", "medium", "thick"]).optional()
|
|
31724
32555
|
}).optional()
|
|
31725
32556
|
});
|
|
31726
|
-
var footerNavLayoutSchema =
|
|
32557
|
+
var footerNavLayoutSchema = z35.object({
|
|
31727
32558
|
layout: footerNavLayoutMode.optional(),
|
|
31728
32559
|
align: footerNavLayoutAlign.optional(),
|
|
31729
32560
|
gapX: footerSpacing.optional(),
|
|
31730
32561
|
gapY: footerSpacing.optional(),
|
|
31731
|
-
columns:
|
|
32562
|
+
columns: z35.number().int().min(1).max(6).optional()
|
|
31732
32563
|
});
|
|
31733
|
-
var footerLogoSchema =
|
|
31734
|
-
showLogo:
|
|
31735
|
-
showLogoText:
|
|
32564
|
+
var footerLogoSchema = z35.object({
|
|
32565
|
+
showLogo: z35.boolean().default(true),
|
|
32566
|
+
showLogoText: z35.boolean().optional(),
|
|
31736
32567
|
placement: footerLogoPlacement.optional(),
|
|
31737
32568
|
size: footerLogoSize.optional(),
|
|
31738
32569
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
31739
|
-
align:
|
|
32570
|
+
align: z35.enum(["start", "center", "end"]).optional()
|
|
31740
32571
|
});
|
|
31741
|
-
var footerSchema =
|
|
32572
|
+
var footerSchema = z35.object({
|
|
31742
32573
|
/**
|
|
31743
32574
|
* SDK-only footer rendering mode.
|
|
31744
32575
|
*
|
|
@@ -31747,11 +32578,11 @@ var footerSchema = z33.object({
|
|
|
31747
32578
|
mode: footerMode.optional(),
|
|
31748
32579
|
variant: footerVariant,
|
|
31749
32580
|
maxWidth: footerMaxWidth,
|
|
31750
|
-
showLogoText:
|
|
32581
|
+
showLogoText: z35.boolean().optional(),
|
|
31751
32582
|
background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
|
|
31752
32583
|
// Footer nav styling (independent from header)
|
|
31753
32584
|
navStyle: headerNavStyle.default("minimal"),
|
|
31754
|
-
navColor:
|
|
32585
|
+
navColor: z35.string().nullable().optional(),
|
|
31755
32586
|
navWeight: navFontWeight.default("medium"),
|
|
31756
32587
|
// Full nav link customization (overrides navStyle if set)
|
|
31757
32588
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
@@ -31762,15 +32593,15 @@ var footerSchema = z33.object({
|
|
|
31762
32593
|
logo: footerLogoSchema.optional(),
|
|
31763
32594
|
bottomBar: footerBottomBarSchema.optional()
|
|
31764
32595
|
});
|
|
31765
|
-
var containerPaddingPresetSchema =
|
|
31766
|
-
var layoutSchema =
|
|
31767
|
-
containerPadding:
|
|
32596
|
+
var containerPaddingPresetSchema = z35.enum(["tight", "compact", "default", "relaxed"]);
|
|
32597
|
+
var layoutSchema = z35.object({
|
|
32598
|
+
containerPadding: z35.object({
|
|
31768
32599
|
mobile: containerPaddingPresetSchema.optional(),
|
|
31769
32600
|
tablet: containerPaddingPresetSchema.optional(),
|
|
31770
32601
|
desktop: containerPaddingPresetSchema.optional()
|
|
31771
32602
|
}).optional()
|
|
31772
32603
|
}).optional();
|
|
31773
|
-
var heroTypographySizeSchema =
|
|
32604
|
+
var heroTypographySizeSchema = z35.enum([
|
|
31774
32605
|
"sm",
|
|
31775
32606
|
"base",
|
|
31776
32607
|
"lg",
|
|
@@ -31781,14 +32612,14 @@ var heroTypographySizeSchema = z33.enum([
|
|
|
31781
32612
|
"5xl",
|
|
31782
32613
|
"6xl"
|
|
31783
32614
|
]);
|
|
31784
|
-
var heroTypographyLineHeightSchema =
|
|
31785
|
-
var heroResponsiveTypographySchema =
|
|
32615
|
+
var heroTypographyLineHeightSchema = z35.enum(["tight", "snug", "normal", "relaxed"]);
|
|
32616
|
+
var heroResponsiveTypographySchema = z35.object({
|
|
31786
32617
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
31787
32618
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
31788
32619
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
31789
32620
|
subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
|
|
31790
32621
|
});
|
|
31791
|
-
var heroTypographySchema =
|
|
32622
|
+
var heroTypographySchema = z35.object({
|
|
31792
32623
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
31793
32624
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
31794
32625
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
@@ -31797,24 +32628,24 @@ var heroTypographySchema = z33.object({
|
|
|
31797
32628
|
microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
31798
32629
|
microSubheadlineSize: heroTypographySizeSchema.optional(),
|
|
31799
32630
|
microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
31800
|
-
responsive:
|
|
32631
|
+
responsive: z35.object({
|
|
31801
32632
|
tablet: heroResponsiveTypographySchema.optional(),
|
|
31802
32633
|
mobile: heroResponsiveTypographySchema.optional()
|
|
31803
32634
|
}).optional()
|
|
31804
32635
|
});
|
|
31805
|
-
var heroSchema =
|
|
32636
|
+
var heroSchema = z35.object({
|
|
31806
32637
|
typography: heroTypographySchema.optional()
|
|
31807
32638
|
}).optional();
|
|
31808
|
-
var gradientsSchema =
|
|
31809
|
-
button:
|
|
31810
|
-
hero:
|
|
31811
|
-
background:
|
|
31812
|
-
});
|
|
31813
|
-
var themeSchema =
|
|
31814
|
-
name:
|
|
31815
|
-
description:
|
|
31816
|
-
rationale:
|
|
31817
|
-
siteStyleId:
|
|
32639
|
+
var gradientsSchema = z35.object({
|
|
32640
|
+
button: z35.string().min(1).nullable().optional(),
|
|
32641
|
+
hero: z35.string().min(1).nullable().optional(),
|
|
32642
|
+
background: z35.string().min(1).nullable().optional()
|
|
32643
|
+
});
|
|
32644
|
+
var themeSchema = z35.object({
|
|
32645
|
+
name: z35.string().min(1).max(30),
|
|
32646
|
+
description: z35.string().min(1).max(400),
|
|
32647
|
+
rationale: z35.string().min(1).max(400),
|
|
32648
|
+
siteStyleId: z35.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
|
|
31818
32649
|
axes: axesSchema,
|
|
31819
32650
|
palette: paletteSchema,
|
|
31820
32651
|
typography: typographySchema,
|
|
@@ -31841,16 +32672,16 @@ var themeSchema = z33.object({
|
|
|
31841
32672
|
// Block-specific customization (Tier 3)
|
|
31842
32673
|
// blockCustomVars: Per-block CSS variable overrides as bare values
|
|
31843
32674
|
// Example: { "event-registration": { "--step-color": "#6d28d9" } }
|
|
31844
|
-
blockCustomVars:
|
|
31845
|
-
|
|
32675
|
+
blockCustomVars: z35.record(
|
|
32676
|
+
z35.string(),
|
|
31846
32677
|
// block kind (matches data-block attribute)
|
|
31847
|
-
|
|
32678
|
+
z35.record(z35.string(), z35.string())
|
|
31848
32679
|
// { '--var-name': 'value' }
|
|
31849
32680
|
).optional(),
|
|
31850
32681
|
// Structured block-kind theme overrides (v1: typography prose-link style only)
|
|
31851
32682
|
// Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
|
|
31852
|
-
blockOverrides:
|
|
31853
|
-
|
|
32683
|
+
blockOverrides: z35.record(
|
|
32684
|
+
z35.string(),
|
|
31854
32685
|
blockThemeOverrideSchema
|
|
31855
32686
|
).optional(),
|
|
31856
32687
|
// Structured custom CSS rules
|
|
@@ -31886,13 +32717,373 @@ var themeSchema = z33.object({
|
|
|
31886
32717
|
* }
|
|
31887
32718
|
* ```
|
|
31888
32719
|
*/
|
|
31889
|
-
styleGroups:
|
|
32720
|
+
styleGroups: z35.record(z35.string(), z35.array(z35.string())).optional()
|
|
31890
32721
|
});
|
|
31891
|
-
var themesTurnSchema =
|
|
31892
|
-
message:
|
|
31893
|
-
themes:
|
|
32722
|
+
var themesTurnSchema = z35.object({
|
|
32723
|
+
message: z35.string().min(1),
|
|
32724
|
+
themes: z35.array(themeSchema).length(3)
|
|
31894
32725
|
});
|
|
31895
32726
|
|
|
32727
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
32728
|
+
init_compatibility();
|
|
32729
|
+
import { z as z36 } from "zod";
|
|
32730
|
+
function asPaletteVariantId(value) {
|
|
32731
|
+
if (value.length === 0) {
|
|
32732
|
+
throw new Error("PaletteVariantId must be a non-empty string");
|
|
32733
|
+
}
|
|
32734
|
+
return value;
|
|
32735
|
+
}
|
|
32736
|
+
var paletteVariantIdSchema = z36.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
32737
|
+
var PALETTE_TOKEN_NAMES = [
|
|
32738
|
+
"primary",
|
|
32739
|
+
"primaryForeground",
|
|
32740
|
+
"secondary",
|
|
32741
|
+
"accent",
|
|
32742
|
+
"success",
|
|
32743
|
+
"warning",
|
|
32744
|
+
"destructive",
|
|
32745
|
+
"background",
|
|
32746
|
+
"surface",
|
|
32747
|
+
"surfaceAlt",
|
|
32748
|
+
"muted",
|
|
32749
|
+
"text",
|
|
32750
|
+
"border"
|
|
32751
|
+
];
|
|
32752
|
+
var paletteTokenNameSchema = z36.enum(PALETTE_TOKEN_NAMES);
|
|
32753
|
+
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
32754
|
+
var hexColorSchema = z36.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
32755
|
+
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
32756
|
+
name: paletteTokenNameSchema
|
|
32757
|
+
});
|
|
32758
|
+
var paletteVariantSchema = z36.object({
|
|
32759
|
+
id: paletteVariantIdSchema,
|
|
32760
|
+
name: z36.string().min(1),
|
|
32761
|
+
description: z36.string().min(1),
|
|
32762
|
+
tags: styleTagsSchema,
|
|
32763
|
+
mode: z36.enum(["light", "dark"]),
|
|
32764
|
+
colors: z36.array(variantPaletteColorSchema).min(1)
|
|
32765
|
+
});
|
|
32766
|
+
function definePaletteVariant(input) {
|
|
32767
|
+
return {
|
|
32768
|
+
id: asPaletteVariantId(input.id),
|
|
32769
|
+
name: input.name,
|
|
32770
|
+
description: input.description,
|
|
32771
|
+
tags: input.tags,
|
|
32772
|
+
mode: input.mode,
|
|
32773
|
+
colors: input.colors
|
|
32774
|
+
};
|
|
32775
|
+
}
|
|
32776
|
+
var paletteOverridesSchema = z36.object({
|
|
32777
|
+
primary: hexColorSchema.optional(),
|
|
32778
|
+
primaryForeground: hexColorSchema.optional(),
|
|
32779
|
+
secondary: hexColorSchema.optional(),
|
|
32780
|
+
accent: hexColorSchema.optional(),
|
|
32781
|
+
success: hexColorSchema.optional(),
|
|
32782
|
+
warning: hexColorSchema.optional(),
|
|
32783
|
+
destructive: hexColorSchema.optional(),
|
|
32784
|
+
background: hexColorSchema.optional(),
|
|
32785
|
+
surface: hexColorSchema.optional(),
|
|
32786
|
+
surfaceAlt: hexColorSchema.optional(),
|
|
32787
|
+
muted: hexColorSchema.optional(),
|
|
32788
|
+
text: hexColorSchema.optional(),
|
|
32789
|
+
border: hexColorSchema.optional()
|
|
32790
|
+
}).strict().transform((value) => value);
|
|
32791
|
+
|
|
32792
|
+
// ../theme-core/src/palette/variants/brand-led.ts
|
|
32793
|
+
var brandLedCool = definePaletteVariant({
|
|
32794
|
+
id: "brand-led-cool",
|
|
32795
|
+
name: "Brand-led \u2014 Cool",
|
|
32796
|
+
description: "Confident blue primary with slate neutrals.",
|
|
32797
|
+
tags: { tone: "classic", energy: "calm", era: "modern" },
|
|
32798
|
+
mode: "light",
|
|
32799
|
+
colors: [
|
|
32800
|
+
{ name: "primary", hex: "#2563eb" },
|
|
32801
|
+
{ name: "secondary", hex: "#64748b" },
|
|
32802
|
+
{ name: "accent", hex: "#0f766e" },
|
|
32803
|
+
{ name: "success", hex: "#16a34a" },
|
|
32804
|
+
{ name: "warning", hex: "#d97706" },
|
|
32805
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
32806
|
+
{ name: "background", hex: "#ffffff" },
|
|
32807
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32808
|
+
{ name: "surfaceAlt", hex: "#f8fafc" },
|
|
32809
|
+
{ name: "muted", hex: "#f1f5f9" },
|
|
32810
|
+
{ name: "text", hex: "#0f172a" },
|
|
32811
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
32812
|
+
{ name: "border", hex: "#cbd5e1" }
|
|
32813
|
+
]
|
|
32814
|
+
});
|
|
32815
|
+
var brandLedWarm = definePaletteVariant({
|
|
32816
|
+
id: "brand-led-warm",
|
|
32817
|
+
name: "Brand-led \u2014 Warm",
|
|
32818
|
+
description: "Sunset orange primary with warm grey neutrals.",
|
|
32819
|
+
tags: { tone: "classic", energy: "vibrant", era: "modern" },
|
|
32820
|
+
mode: "light",
|
|
32821
|
+
colors: [
|
|
32822
|
+
{ name: "primary", hex: "#ea580c" },
|
|
32823
|
+
{ name: "secondary", hex: "#78716c" },
|
|
32824
|
+
{ name: "accent", hex: "#a16207" },
|
|
32825
|
+
{ name: "success", hex: "#16a34a" },
|
|
32826
|
+
{ name: "warning", hex: "#d97706" },
|
|
32827
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
32828
|
+
{ name: "background", hex: "#fffaf3" },
|
|
32829
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32830
|
+
{ name: "surfaceAlt", hex: "#fbeee0" },
|
|
32831
|
+
{ name: "muted", hex: "#f4e2cd" },
|
|
32832
|
+
{ name: "text", hex: "#1c1917" },
|
|
32833
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
32834
|
+
{ name: "border", hex: "#d6c4ad" }
|
|
32835
|
+
]
|
|
32836
|
+
});
|
|
32837
|
+
var brandLedJewel = definePaletteVariant({
|
|
32838
|
+
id: "brand-led-jewel",
|
|
32839
|
+
name: "Brand-led \u2014 Jewel",
|
|
32840
|
+
description: "Deep emerald primary with rich neutrals.",
|
|
32841
|
+
tags: { tone: "bold", energy: "vibrant", era: "modern" },
|
|
32842
|
+
mode: "light",
|
|
32843
|
+
colors: [
|
|
32844
|
+
{ name: "primary", hex: "#047857" },
|
|
32845
|
+
{ name: "secondary", hex: "#4b5563" },
|
|
32846
|
+
{ name: "accent", hex: "#7c3aed" },
|
|
32847
|
+
{ name: "success", hex: "#15803d" },
|
|
32848
|
+
{ name: "warning", hex: "#b45309" },
|
|
32849
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
32850
|
+
{ name: "background", hex: "#ffffff" },
|
|
32851
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32852
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
32853
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
32854
|
+
{ name: "text", hex: "#0c0a09" },
|
|
32855
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
32856
|
+
{ name: "border", hex: "#a8a29e" }
|
|
32857
|
+
]
|
|
32858
|
+
});
|
|
32859
|
+
|
|
32860
|
+
// ../theme-core/src/palette/variants/high-contrast.ts
|
|
32861
|
+
var highContrastInk = definePaletteVariant({
|
|
32862
|
+
id: "high-contrast-ink",
|
|
32863
|
+
name: "High Contrast \u2014 Ink",
|
|
32864
|
+
description: "Near-black primary with cool greys.",
|
|
32865
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
32866
|
+
mode: "light",
|
|
32867
|
+
colors: [
|
|
32868
|
+
{ name: "primary", hex: "#111827" },
|
|
32869
|
+
{ name: "secondary", hex: "#374151" },
|
|
32870
|
+
{ name: "accent", hex: "#1d4ed8" },
|
|
32871
|
+
{ name: "success", hex: "#047857" },
|
|
32872
|
+
{ name: "warning", hex: "#b45309" },
|
|
32873
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
32874
|
+
{ name: "background", hex: "#ffffff" },
|
|
32875
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32876
|
+
{ name: "surfaceAlt", hex: "#f3f4f6" },
|
|
32877
|
+
{ name: "muted", hex: "#e5e7eb" },
|
|
32878
|
+
{ name: "text", hex: "#030712" },
|
|
32879
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
32880
|
+
{ name: "border", hex: "#6b7280" }
|
|
32881
|
+
]
|
|
32882
|
+
});
|
|
32883
|
+
var highContrastCharcoal = definePaletteVariant({
|
|
32884
|
+
id: "high-contrast-charcoal",
|
|
32885
|
+
name: "High Contrast \u2014 Charcoal",
|
|
32886
|
+
description: "Warm charcoal primary on a soft cream ground.",
|
|
32887
|
+
tags: { tone: "minimal", energy: "calm", era: "editorial" },
|
|
32888
|
+
mode: "light",
|
|
32889
|
+
colors: [
|
|
32890
|
+
{ name: "primary", hex: "#1f2937" },
|
|
32891
|
+
{ name: "secondary", hex: "#52525b" },
|
|
32892
|
+
{ name: "accent", hex: "#a16207" },
|
|
32893
|
+
{ name: "success", hex: "#15803d" },
|
|
32894
|
+
{ name: "warning", hex: "#b45309" },
|
|
32895
|
+
{ name: "destructive", hex: "#991b1b" },
|
|
32896
|
+
{ name: "background", hex: "#fafaf9" },
|
|
32897
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32898
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
32899
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
32900
|
+
{ name: "text", hex: "#0c0a09" },
|
|
32901
|
+
{ name: "primaryForeground", hex: "#fafaf9" },
|
|
32902
|
+
{ name: "border", hex: "#a8a29e" }
|
|
32903
|
+
]
|
|
32904
|
+
});
|
|
32905
|
+
var highContrastMonochrome = definePaletteVariant({
|
|
32906
|
+
id: "high-contrast-monochrome",
|
|
32907
|
+
name: "High Contrast \u2014 Monochrome",
|
|
32908
|
+
description: "Pure black-on-white with a single saturated accent.",
|
|
32909
|
+
tags: { tone: "bold", energy: "vibrant", era: "editorial" },
|
|
32910
|
+
mode: "light",
|
|
32911
|
+
colors: [
|
|
32912
|
+
{ name: "primary", hex: "#000000" },
|
|
32913
|
+
{ name: "secondary", hex: "#404040" },
|
|
32914
|
+
{ name: "accent", hex: "#dc2626" },
|
|
32915
|
+
{ name: "success", hex: "#000000" },
|
|
32916
|
+
{ name: "warning", hex: "#000000" },
|
|
32917
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
32918
|
+
{ name: "background", hex: "#ffffff" },
|
|
32919
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32920
|
+
{ name: "surfaceAlt", hex: "#f5f5f5" },
|
|
32921
|
+
{ name: "muted", hex: "#e5e5e5" },
|
|
32922
|
+
{ name: "text", hex: "#000000" },
|
|
32923
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
32924
|
+
{ name: "border", hex: "#525252" }
|
|
32925
|
+
]
|
|
32926
|
+
});
|
|
32927
|
+
|
|
32928
|
+
// ../theme-core/src/palette/variants/soft-natural.ts
|
|
32929
|
+
var softNaturalSage = definePaletteVariant({
|
|
32930
|
+
id: "soft-natural-sage",
|
|
32931
|
+
name: "Soft Natural \u2014 Sage",
|
|
32932
|
+
description: "Olive sage primary on an off-white ground.",
|
|
32933
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
32934
|
+
mode: "light",
|
|
32935
|
+
colors: [
|
|
32936
|
+
{ name: "primary", hex: "#3f6212" },
|
|
32937
|
+
{ name: "secondary", hex: "#6b7280" },
|
|
32938
|
+
{ name: "accent", hex: "#0f766e" },
|
|
32939
|
+
{ name: "success", hex: "#15803d" },
|
|
32940
|
+
{ name: "warning", hex: "#a16207" },
|
|
32941
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
32942
|
+
{ name: "background", hex: "#fbfdf7" },
|
|
32943
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32944
|
+
{ name: "surfaceAlt", hex: "#eef5e8" },
|
|
32945
|
+
{ name: "muted", hex: "#e7efdf" },
|
|
32946
|
+
{ name: "text", hex: "#1f2a1d" },
|
|
32947
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
32948
|
+
{ name: "border", hex: "#cbd8c0" }
|
|
32949
|
+
]
|
|
32950
|
+
});
|
|
32951
|
+
var softNaturalStone = definePaletteVariant({
|
|
32952
|
+
id: "soft-natural-stone",
|
|
32953
|
+
name: "Soft Natural \u2014 Stone",
|
|
32954
|
+
description: "River-stone grey-green primary with cool neutrals.",
|
|
32955
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
32956
|
+
mode: "light",
|
|
32957
|
+
colors: [
|
|
32958
|
+
{ name: "primary", hex: "#5a7a5d" },
|
|
32959
|
+
{ name: "secondary", hex: "#8a9a8c" },
|
|
32960
|
+
{ name: "accent", hex: "#c9b88f" },
|
|
32961
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
32962
|
+
{ name: "warning", hex: "#a89466" },
|
|
32963
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
32964
|
+
{ name: "background", hex: "#faf6ec" },
|
|
32965
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32966
|
+
{ name: "surfaceAlt", hex: "#f0ecdf" },
|
|
32967
|
+
{ name: "muted", hex: "#e6e1d0" },
|
|
32968
|
+
{ name: "text", hex: "#2f3d31" },
|
|
32969
|
+
{ name: "primaryForeground", hex: "#faf6ec" },
|
|
32970
|
+
{ name: "border", hex: "#c9c1ad" }
|
|
32971
|
+
]
|
|
32972
|
+
});
|
|
32973
|
+
var softNaturalWatercolor = definePaletteVariant({
|
|
32974
|
+
id: "soft-natural-watercolor",
|
|
32975
|
+
name: "Soft Natural \u2014 Watercolor",
|
|
32976
|
+
description: "Soft sand primary with watercolour sage accents.",
|
|
32977
|
+
tags: { tone: "classic", energy: "vibrant", era: "organic" },
|
|
32978
|
+
mode: "light",
|
|
32979
|
+
colors: [
|
|
32980
|
+
{ name: "primary", hex: "#a8825f" },
|
|
32981
|
+
{ name: "secondary", hex: "#88a888" },
|
|
32982
|
+
{ name: "accent", hex: "#c8a78e" },
|
|
32983
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
32984
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
32985
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
32986
|
+
{ name: "background", hex: "#fefdfa" },
|
|
32987
|
+
{ name: "surface", hex: "#ffffff" },
|
|
32988
|
+
{ name: "surfaceAlt", hex: "#f6f1e6" },
|
|
32989
|
+
{ name: "muted", hex: "#eee7d1" },
|
|
32990
|
+
{ name: "text", hex: "#4a3d30" },
|
|
32991
|
+
{ name: "primaryForeground", hex: "#fefdfa" },
|
|
32992
|
+
{ name: "border", hex: "#d8c9a8" }
|
|
32993
|
+
]
|
|
32994
|
+
});
|
|
32995
|
+
|
|
32996
|
+
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
32997
|
+
var warmNeutralClay = definePaletteVariant({
|
|
32998
|
+
id: "warm-neutral-clay",
|
|
32999
|
+
name: "Warm Neutral \u2014 Clay",
|
|
33000
|
+
description: "Terracotta primary on a cream ground.",
|
|
33001
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
33002
|
+
mode: "light",
|
|
33003
|
+
colors: [
|
|
33004
|
+
{ name: "primary", hex: "#8b5e34" },
|
|
33005
|
+
{ name: "secondary", hex: "#7c6f64" },
|
|
33006
|
+
{ name: "accent", hex: "#a15c38" },
|
|
33007
|
+
{ name: "success", hex: "#527853" },
|
|
33008
|
+
{ name: "warning", hex: "#b7791f" },
|
|
33009
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
33010
|
+
{ name: "background", hex: "#fffaf3" },
|
|
33011
|
+
{ name: "surface", hex: "#ffffff" },
|
|
33012
|
+
{ name: "surfaceAlt", hex: "#f5eadc" },
|
|
33013
|
+
{ name: "muted", hex: "#efe2d0" },
|
|
33014
|
+
{ name: "text", hex: "#2f241c" },
|
|
33015
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
33016
|
+
{ name: "border", hex: "#d8c6b3" }
|
|
33017
|
+
]
|
|
33018
|
+
});
|
|
33019
|
+
var warmNeutralCream = definePaletteVariant({
|
|
33020
|
+
id: "warm-neutral-cream",
|
|
33021
|
+
name: "Warm Neutral \u2014 Cream",
|
|
33022
|
+
description: "Soft sand primary with pale cream surfaces.",
|
|
33023
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
33024
|
+
mode: "light",
|
|
33025
|
+
colors: [
|
|
33026
|
+
{ name: "primary", hex: "#b08864" },
|
|
33027
|
+
{ name: "secondary", hex: "#9a8c7e" },
|
|
33028
|
+
{ name: "accent", hex: "#c2956a" },
|
|
33029
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
33030
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
33031
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
33032
|
+
{ name: "background", hex: "#fdf8ee" },
|
|
33033
|
+
{ name: "surface", hex: "#ffffff" },
|
|
33034
|
+
{ name: "surfaceAlt", hex: "#f4ebd9" },
|
|
33035
|
+
{ name: "muted", hex: "#ede3cf" },
|
|
33036
|
+
{ name: "text", hex: "#3b2f24" },
|
|
33037
|
+
{ name: "primaryForeground", hex: "#fdf8ee" },
|
|
33038
|
+
{ name: "border", hex: "#e0d2b8" }
|
|
33039
|
+
]
|
|
33040
|
+
});
|
|
33041
|
+
var warmNeutralForest = definePaletteVariant({
|
|
33042
|
+
id: "warm-neutral-forest",
|
|
33043
|
+
name: "Warm Neutral \u2014 Forest",
|
|
33044
|
+
description: "Deep forest green primary with earthy neutrals.",
|
|
33045
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
33046
|
+
mode: "light",
|
|
33047
|
+
colors: [
|
|
33048
|
+
{ name: "primary", hex: "#3d5840" },
|
|
33049
|
+
{ name: "secondary", hex: "#7a6f5d" },
|
|
33050
|
+
{ name: "accent", hex: "#b06b50" },
|
|
33051
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
33052
|
+
{ name: "warning", hex: "#b7791f" },
|
|
33053
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
33054
|
+
{ name: "background", hex: "#fbf8f0" },
|
|
33055
|
+
{ name: "surface", hex: "#ffffff" },
|
|
33056
|
+
{ name: "surfaceAlt", hex: "#f2ecdb" },
|
|
33057
|
+
{ name: "muted", hex: "#ebe3cc" },
|
|
33058
|
+
{ name: "text", hex: "#2a2a2a" },
|
|
33059
|
+
{ name: "primaryForeground", hex: "#fbf8f0" },
|
|
33060
|
+
{ name: "border", hex: "#cdc1a4" }
|
|
33061
|
+
]
|
|
33062
|
+
});
|
|
33063
|
+
|
|
33064
|
+
// ../theme-core/src/palette/variants/index.ts
|
|
33065
|
+
var paletteVariants = [
|
|
33066
|
+
// Brand-led family
|
|
33067
|
+
brandLedCool,
|
|
33068
|
+
brandLedWarm,
|
|
33069
|
+
brandLedJewel,
|
|
33070
|
+
// Warm-neutral family
|
|
33071
|
+
warmNeutralClay,
|
|
33072
|
+
warmNeutralCream,
|
|
33073
|
+
warmNeutralForest,
|
|
33074
|
+
// High-contrast family
|
|
33075
|
+
highContrastInk,
|
|
33076
|
+
highContrastCharcoal,
|
|
33077
|
+
highContrastMonochrome,
|
|
33078
|
+
// Soft-natural family
|
|
33079
|
+
softNaturalSage,
|
|
33080
|
+
softNaturalStone,
|
|
33081
|
+
softNaturalWatercolor
|
|
33082
|
+
];
|
|
33083
|
+
var paletteVariantsById = new Map(
|
|
33084
|
+
paletteVariants.map((v) => [v.id, v])
|
|
33085
|
+
);
|
|
33086
|
+
|
|
31896
33087
|
// ../theme-core/src/palette/utils/paletteAccess.ts
|
|
31897
33088
|
init_colorConversion();
|
|
31898
33089
|
|
|
@@ -33170,7 +34361,7 @@ var pipeline = new BasicPipeline().filter.register(
|
|
|
33170
34361
|
Vibrant.use(pipeline);
|
|
33171
34362
|
|
|
33172
34363
|
// ../theme-core/src/styles/buttons.ts
|
|
33173
|
-
|
|
34364
|
+
init_shadow2();
|
|
33174
34365
|
init_colorStyles();
|
|
33175
34366
|
|
|
33176
34367
|
// ../blocks/src/index.ts
|
|
@@ -33180,6 +34371,7 @@ init_generateShades();
|
|
|
33180
34371
|
init_expandPalette();
|
|
33181
34372
|
|
|
33182
34373
|
// ../blocks/src/index.ts
|
|
34374
|
+
init_buttons();
|
|
33183
34375
|
init_tokens2();
|
|
33184
34376
|
|
|
33185
34377
|
// ../theme-core/src/ThemeScope.tsx
|
|
@@ -33201,7 +34393,7 @@ init_buildThemeRuntime();
|
|
|
33201
34393
|
|
|
33202
34394
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
33203
34395
|
init_colorConversion();
|
|
33204
|
-
|
|
34396
|
+
init_shadow2();
|
|
33205
34397
|
|
|
33206
34398
|
// ../blocks/src/index.ts
|
|
33207
34399
|
init_blocks();
|