@riverbankcms/sdk 0.96.0 → 0.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/{PreviewEditorSidebar-46VT4QVU.mjs → PreviewEditorSidebar-TPOKCCKY.mjs} +3 -3
- package/dist/{PreviewEditorUI-JD75GE5F.mjs → PreviewEditorUI-Y347GLC2.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-OGTXRQ4M.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -36
- package/dist/_dts/api/src/billing.d.ts +2 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +35 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +246 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +109 -40
- package/dist/_dts/api/src/endpoints.d.ts +88 -0
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -1
- package/dist/_dts/api/src/siteOperations.d.ts +65 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +7 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +151 -0
- package/dist/_dts/billing/src/subscriptions/store.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +8 -1
- package/dist/_dts/blocks/src/bindings/types.d.ts +0 -4
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +7 -0
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -12
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/weekly-slot-availability.d.ts +34 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +4 -1
- package/dist/_dts/blocks/src/system/node/builder.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/schema.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/components/booking/DatePicker.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/components/booking/TimeSlotSelector.d.ts +10 -4
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/StepIndicator.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +133 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.controller.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.client.state.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.server.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/weekly-slot-availability.view.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +31 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/{nodes/event-registration → shared/components}/SelectableOptionCard.d.ts +11 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +16 -5
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +5 -0
- package/dist/_dts/blocks/src/utils/date-formatting.d.ts +18 -2
- package/dist/_dts/content-editor/src/primitives/PreviewInlineTextEditor.d.ts +1 -1
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +1 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +5 -5
- package/dist/_dts/content-model/src/templates/types.d.ts +2 -6
- package/dist/_dts/core/src/branded.d.ts +8 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +767 -20
- package/dist/_dts/field-primitives/src/bindings/index.d.ts +8 -0
- package/dist/_dts/sdk/src/__mocks__/next-cache.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +9 -3
- package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +34 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/config-loader.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +16 -14
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -4
- package/dist/_dts/sdk/src/cli/env-scope.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +6 -7
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +6 -18
- package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +2 -4
- package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +32 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +27 -0
- package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +63 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +13 -2
- package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +51 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +21 -0
- package/dist/_dts/sdk/src/client/index.d.ts +6 -0
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +1 -1
- package/dist/_dts/sdk/src/client/types.d.ts +18 -2
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/bindings.d.ts +3 -7
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +13 -0
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +6 -1
- package/dist/_dts/sdk/src/next/route-outcome-proxy.d.ts +3 -3
- package/dist/_dts/sdk/src/next/types.d.ts +19 -0
- package/dist/_dts/sdk/src/prebuild/loader.d.ts +8 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +174 -78
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +4 -4
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +58 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +8 -0
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +7 -7
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +18 -66
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
- package/dist/_dts/sdk/src/routing/resolveRoute.d.ts +18 -0
- package/dist/_dts/sdk/src/test/apiClient.d.ts +17 -0
- package/dist/_dts/sdk/src/test/bunDom.setup.d.ts +1 -0
- package/dist/_dts/sdk/src/test/env.d.ts +4 -0
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +3 -3
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/interactive/generateBaseCSS.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/contextualColors.d.ts +6 -0
- package/dist/_dts/theme-core/src/status/index.d.ts +1 -0
- package/dist/{chunk-VHIMXQ7Z.mjs → chunk-4HXF2QLH.mjs} +2 -2
- package/dist/{chunk-VTPPVAOL.mjs → chunk-EMJIT3ZJ.mjs} +1 -1
- package/dist/{chunk-4TLTV7OB.mjs → chunk-PM7HGDHM.mjs} +2 -2
- package/dist/{chunk-XMATDBXO.mjs → chunk-XO34WBBP.mjs} +2139 -1348
- package/dist/{chunk-EL55VV6Q.mjs → chunk-YGTTEVUM.mjs} +31 -10
- package/dist/{chunk-7ED5UNHL.mjs → chunk-YWTCCOSF.mjs} +117 -0
- package/dist/cli/index.mjs +2690 -1503
- package/dist/cli/init-docs/content/cli-reference.md +29 -1
- package/dist/cli/init-docs/content/getting-started.md +8 -0
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +3 -1
- package/dist/cli/init-docs/content/workflow-preview-mode.md +6 -0
- package/dist/cli/init-docs/content/workflow-remote-setup.md +51 -0
- package/dist/client/{accordion-GUNXIIZR.mjs → accordion-QSUEYL4L.mjs} +2 -2
- package/dist/client/{bookingForm-AOU4VHP5.mjs → bookingForm-QYGAHPDP.mjs} +376 -302
- package/dist/client/bookings.mjs +795 -429
- package/dist/client/{carousel-4QSX2JPC.mjs → carousel-SM2LEWAU.mjs} +3 -3
- package/dist/client/{cart-JKN6C4ZB.mjs → cart-3N3SFKNQ.mjs} +7 -7
- package/dist/client/{checkout-YY6YMITW.mjs → checkout-YFAYPKPZ.mjs} +7 -7
- package/dist/client/{chunk-SY543WZ3.mjs → chunk-5DLGREUB.mjs} +1 -1
- package/dist/client/{chunk-A3YN7M3G.mjs → chunk-CLZ7NBSP.mjs} +147 -75
- package/dist/client/{chunk-GWCRCJLB.mjs → chunk-CYJ3MUFP.mjs} +18 -6
- package/dist/client/{chunk-JNE6UI6U.mjs → chunk-H3H3ODO7.mjs} +1 -1
- package/dist/client/{chunk-CPKMJVBD.mjs → chunk-HPEQ4YWW.mjs} +83 -109
- package/dist/client/{chunk-PCHACQEB.mjs → chunk-IIUIKJ4K.mjs} +15 -7
- package/dist/client/{chunk-TNGL2WJF.mjs → chunk-IOAHWAQG.mjs} +18 -0
- package/dist/client/{chunk-6H27K6AA.mjs → chunk-JTKBF3W2.mjs} +10 -4
- package/dist/client/{chunk-OLAOAZEO.mjs → chunk-K7KTSACR.mjs} +1 -1
- package/dist/client/{chunk-BFCJZODD.mjs → chunk-R32M5HFS.mjs} +6 -6
- package/dist/client/{chunk-VJROUYOQ.mjs → chunk-WEVT46PX.mjs} +3 -3
- package/dist/client/{chunk-H7A6PUGM.mjs → chunk-ZU65LTI3.mjs} +1 -1
- package/dist/client/client.mjs +5052 -4083
- package/dist/client/{courseRegistration-UU2KMPSQ.mjs → courseRegistration-LYBE7VVK.mjs} +7 -7
- package/dist/client/{eventCalendar-WIVNS2TM.mjs → eventCalendar-FMTB75X6.mjs} +9 -9
- package/dist/client/{eventCombined-P3G5MW4J.mjs → eventCombined-E4LUCJXT.mjs} +9 -9
- package/dist/client/{eventDetails-2VHJ2RDG.mjs → eventDetails-GELSRR4Z.mjs} +9 -9
- package/dist/client/{eventListing-TGO6JI3R.mjs → eventListing-TB623B6R.mjs} +9 -9
- package/dist/client/{eventRegistration-B46HEJES.mjs → eventRegistration-NRIKHXTI.mjs} +9 -9
- package/dist/client/{form-VKRTFUNQ.mjs → form-Y4U4IAXE.mjs} +3 -3
- package/dist/client/{headerSection-XUX4ZJLO.mjs → headerSection-QSOVV5P7.mjs} +3 -3
- package/dist/client/hooks.mjs +1776 -1355
- package/dist/client/{locationMap-NQFI5MJO.mjs → locationMap-QYCAHH7H.mjs} +3 -3
- package/dist/client/{newsletterForm-P2GETCQK.mjs → newsletterForm-NWHY5TBY.mjs} +3 -3
- package/dist/client/{productDetail-7NQ7O5IF.mjs → productDetail-FYDMU2CE.mjs} +7 -7
- package/dist/client/{productList-RX6ZJ7BL.mjs → productList-D76CGACQ.mjs} +7 -7
- package/dist/client/rendering/client.mjs +2990 -2470
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3236 -2236
- package/dist/client/{shop-BHN5AKY6.mjs → shop-SOUACT5N.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +117 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +117 -0
- package/dist/{sdk-runtime-X2LXQ5IC.mjs → sdk-runtime-XPVE3LBA.mjs} +6 -6
- package/dist/server/components.mjs +3115 -2484
- package/dist/server/config-template-validation.mjs +6 -2
- package/dist/server/config-validation.mjs +1961 -1580
- package/dist/server/config.mjs +1961 -1580
- package/dist/server/data.mjs +1762 -1352
- package/dist/server/index.mjs +266 -33
- package/dist/server/next/middleware.mjs +2 -2
- package/dist/server/next.mjs +3399 -2504
- package/dist/server/page-converter.mjs +1553 -1295
- package/dist/server/prebuild-loader.mjs +42 -23
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3151 -2489
- package/dist/server/rendering.mjs +3363 -2555
- package/dist/server/routing.mjs +1877 -1388
- package/dist/server/server.mjs +2057 -1402
- package/dist/server/theme-bridge.mjs +597 -505
- package/dist/server/theme.mjs +5 -4
- package/dist/styles/index.css +499 -490
- package/package.json +6 -4
- package/dist/SdkPreviewModeRuntime-MJUSYUFB.mjs +0 -8
|
@@ -831,15 +831,16 @@ var joyStamp = defineButtonPersonality({
|
|
|
831
831
|
// 700, matching the mockup's chunky button labels.
|
|
832
832
|
typography: "heading",
|
|
833
833
|
fontWeight: 700,
|
|
834
|
+
fontSize: "text-lg",
|
|
834
835
|
borderWidth: 2,
|
|
835
836
|
hoverTransform: "none",
|
|
836
837
|
hoverColor: "none"
|
|
837
838
|
},
|
|
838
839
|
sizes: {
|
|
839
|
-
sm: { padding: "0.625rem 1.25rem", fontSize: "text-
|
|
840
|
-
md: { padding: "0.875rem 1.75rem", fontSize: "text-
|
|
841
|
-
lg: { padding: "1.125rem 2.25rem", fontSize: "text-
|
|
842
|
-
xl: { padding: "1.25rem 2.75rem", fontSize: "text-
|
|
840
|
+
sm: { padding: "0.625rem 1.25rem", fontSize: "text-base" },
|
|
841
|
+
md: { padding: "0.875rem 1.75rem", fontSize: "text-lg" },
|
|
842
|
+
lg: { padding: "1.125rem 2.25rem", fontSize: "text-xl" },
|
|
843
|
+
xl: { padding: "1.25rem 2.75rem", fontSize: "text-2xl" }
|
|
843
844
|
},
|
|
844
845
|
variants: [
|
|
845
846
|
{
|
|
@@ -1441,6 +1442,16 @@ var cardSystemSchema = z6.object({
|
|
|
1441
1442
|
variants: z6.array(cardVariantSchema).min(1).max(3)
|
|
1442
1443
|
});
|
|
1443
1444
|
|
|
1445
|
+
// ../theme-core/src/status/contextualColors.ts
|
|
1446
|
+
var STATUS_MUTED_COLOR_VAR = "--rb-status-muted-color";
|
|
1447
|
+
var DEFAULT_STATUS_MUTED_COLOR = "rgb(var(--tb-mutedText))";
|
|
1448
|
+
function statusMutedColorValue() {
|
|
1449
|
+
return `var(${STATUS_MUTED_COLOR_VAR}, ${DEFAULT_STATUS_MUTED_COLOR})`;
|
|
1450
|
+
}
|
|
1451
|
+
function statusMutedColorDeclaration() {
|
|
1452
|
+
return `color: ${statusMutedColorValue()};`;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1444
1455
|
// ../theme-core/src/cards/core.ts
|
|
1445
1456
|
var CORNER_RADIUS_MAP3 = {
|
|
1446
1457
|
square: "0",
|
|
@@ -7227,7 +7238,7 @@ ${root} .status-error { color: rgb(var(--tb-destructive)); }
|
|
|
7227
7238
|
${root} .status-success { color: rgb(var(--tb-success)); }
|
|
7228
7239
|
${root} .status-warning { color: rgb(var(--tb-warning)); }
|
|
7229
7240
|
${root} .status-info { color: rgb(var(--tb-info)); }
|
|
7230
|
-
${root} .status-muted {
|
|
7241
|
+
${root} .status-muted { ${statusMutedColorDeclaration()} }`);
|
|
7231
7242
|
cssBlocks.push(`/* Alert containers */
|
|
7232
7243
|
${root} .alert {
|
|
7233
7244
|
padding: 1rem;
|
|
@@ -7423,6 +7434,34 @@ ${root} {
|
|
|
7423
7434
|
/* Order summary */
|
|
7424
7435
|
--er-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
7425
7436
|
--er-summary-border: rgb(var(--tb-border));
|
|
7437
|
+
|
|
7438
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
7439
|
+
Route the shared --rb-reg-* contract through this block's documented
|
|
7440
|
+
Tier 3 vars so existing --er-* overrides keep working unchanged. */
|
|
7441
|
+
--rb-reg-radius: var(--er-radius);
|
|
7442
|
+
--rb-reg-border: var(--er-border);
|
|
7443
|
+
--rb-reg-border-hover: var(--er-border-hover);
|
|
7444
|
+
--rb-reg-border-selected: var(--er-border-selected);
|
|
7445
|
+
--rb-reg-bg-selected: var(--er-payment-bg-selected);
|
|
7446
|
+
--rb-reg-option-bg: var(--er-control-bg);
|
|
7447
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
7448
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
7449
|
+
--rb-reg-on-surface: var(--er-on-surface);
|
|
7450
|
+
--rb-reg-on-surface-muted: var(--er-on-surface-muted);
|
|
7451
|
+
--rb-reg-on-surface-subtle: var(--er-on-surface-subtle);
|
|
7452
|
+
--rb-reg-on-surface-faint: var(--er-on-surface-faint);
|
|
7453
|
+
--rb-reg-check-bg: var(--er-check-bg);
|
|
7454
|
+
--rb-reg-check-text: var(--er-check-text);
|
|
7455
|
+
--rb-reg-step-active: var(--er-step-active);
|
|
7456
|
+
--rb-reg-step-completed: var(--er-step-completed);
|
|
7457
|
+
--rb-reg-step-inactive: var(--er-step-inactive);
|
|
7458
|
+
--rb-reg-step-text: var(--er-step-text);
|
|
7459
|
+
--rb-reg-step-text-active: var(--er-step-text-active);
|
|
7460
|
+
--rb-reg-step-connector: var(--er-step-connector);
|
|
7461
|
+
--rb-reg-summary-bg: var(--er-surface-muted);
|
|
7462
|
+
--rb-reg-summary-border: var(--er-border);
|
|
7463
|
+
--rb-reg-focus-ring: var(--er-focus-ring);
|
|
7464
|
+
--rb-reg-shell-line: var(--er-shell-line);
|
|
7426
7465
|
}
|
|
7427
7466
|
`;
|
|
7428
7467
|
}
|
|
@@ -7555,25 +7594,40 @@ ${root} {
|
|
|
7555
7594
|
--ab-info-bg: rgba(var(--tb-info), 0.1);
|
|
7556
7595
|
--ab-info-text: rgb(var(--tb-info));
|
|
7557
7596
|
|
|
7558
|
-
/*
|
|
7597
|
+
/* Muted summary state */
|
|
7559
7598
|
--ab-muted-bg: rgba(var(--tb-text), 0.05);
|
|
7560
|
-
--ab-muted-text: rgba(var(--tb-text), 0.6);
|
|
7561
|
-
--ab-spinner-color: rgb(var(--tb-primary));
|
|
7562
7599
|
|
|
7563
|
-
/*
|
|
7564
|
-
--ab-input-border: rgb(var(--tb-border));
|
|
7600
|
+
/* Focus ring used by shared registration-surface controls */
|
|
7565
7601
|
--ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
7566
7602
|
|
|
7567
|
-
/*
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
--
|
|
7572
|
-
--
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
--
|
|
7576
|
-
--
|
|
7603
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
7604
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
7605
|
+
(palette tokens where no --ab-* var exists) so --ab-* overrides keep
|
|
7606
|
+
working as the block adopts the shared classes. */
|
|
7607
|
+
--rb-reg-radius: var(--ab-card-radius, var(--rb-block-radius));
|
|
7608
|
+
--rb-reg-border: var(--ab-card-border);
|
|
7609
|
+
--rb-reg-border-hover: var(--ab-card-border-hover);
|
|
7610
|
+
--rb-reg-border-selected: var(--ab-card-border-selected);
|
|
7611
|
+
--rb-reg-bg-selected: var(--ab-card-bg-selected);
|
|
7612
|
+
--rb-reg-option-bg: transparent;
|
|
7613
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
7614
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
7615
|
+
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
7616
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
7617
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
7618
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
7619
|
+
--rb-reg-check-bg: var(--ab-check-bg);
|
|
7620
|
+
--rb-reg-check-text: var(--ab-check-text);
|
|
7621
|
+
--rb-reg-step-active: rgb(var(--tb-primary));
|
|
7622
|
+
--rb-reg-step-completed: rgb(var(--tb-success));
|
|
7623
|
+
--rb-reg-step-inactive: rgb(var(--tb-mutedText));
|
|
7624
|
+
--rb-reg-step-text: rgb(255 255 255);
|
|
7625
|
+
--rb-reg-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
7626
|
+
--rb-reg-step-connector: rgba(var(--tb-border), 0.5);
|
|
7627
|
+
--rb-reg-summary-bg: var(--ab-muted-bg);
|
|
7628
|
+
--rb-reg-summary-border: var(--ab-card-border);
|
|
7629
|
+
--rb-reg-focus-ring: var(--ab-input-focus-ring);
|
|
7630
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
7577
7631
|
}
|
|
7578
7632
|
`;
|
|
7579
7633
|
}
|
|
@@ -7864,6 +7918,35 @@ ${root} {
|
|
|
7864
7918
|
/* Summary */
|
|
7865
7919
|
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
7866
7920
|
--cr-summary-border: rgb(var(--tb-border));
|
|
7921
|
+
|
|
7922
|
+
/* Shared registration-surface mappings (issue 1174).
|
|
7923
|
+
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
7924
|
+
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
7925
|
+
keep working unchanged. */
|
|
7926
|
+
--rb-reg-radius: var(--rb-block-radius);
|
|
7927
|
+
--rb-reg-border: var(--cr-border);
|
|
7928
|
+
--rb-reg-border-hover: var(--cr-border-hover);
|
|
7929
|
+
--rb-reg-border-selected: var(--cr-border-selected);
|
|
7930
|
+
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
7931
|
+
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
7932
|
+
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
7933
|
+
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
7934
|
+
--rb-reg-on-surface: var(--cr-on-surface);
|
|
7935
|
+
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
7936
|
+
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
7937
|
+
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
7938
|
+
--rb-reg-check-bg: var(--cr-check-bg);
|
|
7939
|
+
--rb-reg-check-text: var(--cr-check-text);
|
|
7940
|
+
--rb-reg-step-active: var(--cr-step-active);
|
|
7941
|
+
--rb-reg-step-completed: var(--cr-step-completed);
|
|
7942
|
+
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
7943
|
+
--rb-reg-step-text: var(--cr-step-text);
|
|
7944
|
+
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
7945
|
+
--rb-reg-step-connector: var(--cr-step-connector);
|
|
7946
|
+
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
7947
|
+
--rb-reg-summary-border: var(--cr-summary-border);
|
|
7948
|
+
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
7949
|
+
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
7867
7950
|
}
|
|
7868
7951
|
`;
|
|
7869
7952
|
}
|
|
@@ -11216,13 +11299,36 @@ var containerResponsiveThemeCss = `/*
|
|
|
11216
11299
|
*/
|
|
11217
11300
|
|
|
11218
11301
|
/* =============================================================================
|
|
11219
|
-
* Shared: Registration
|
|
11220
|
-
*
|
|
11302
|
+
* Shared: Registration Surface (issue 1174)
|
|
11303
|
+
*
|
|
11304
|
+
* Wizard-surface primitives shared by the event-registration,
|
|
11305
|
+
* course-registration and appointment-booking blocks: surface container,
|
|
11306
|
+
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
11307
|
+
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
11308
|
+
*
|
|
11309
|
+
* Uses:
|
|
11310
|
+
* - Tier 1 vars: --tb-* (from theme palette) as inline fallbacks
|
|
11311
|
+
* - Tier 2 vars: --rb-block-radius, --rb-block-transition (from theme scope)
|
|
11312
|
+
* - Shared vars: --rb-reg-* (mapped per block by the Tier 3 var generators;
|
|
11313
|
+
* canonical name list in blocks/registrationSurfaceVars.ts)
|
|
11314
|
+
*
|
|
11315
|
+
* Defaults intentionally match the event-registration (issue 1089) values; blocks
|
|
11316
|
+
* that need to preserve a different look override in their own block CSS,
|
|
11317
|
+
* which is imported after this file (cascade order is the override contract \u2014
|
|
11318
|
+
* all selectors here are zero-specificity \`:where()\`).
|
|
11319
|
+
*
|
|
11320
|
+
* Layout-only \`.rb-state-icon\` rules (formerly registration-shared.css) live
|
|
11321
|
+
* here too; block CSS provides the \`.rb-state-icon--{variant}\` colors.
|
|
11221
11322
|
*
|
|
11222
|
-
*
|
|
11223
|
-
*
|
|
11323
|
+
* Naming: component-like primitives follow the existing bare \`rb-\` shared
|
|
11324
|
+
* precedent (\`.rb-state-icon\`, \`.rb-tile\`): \`.rb-option-card\`, \`.rb-step-*\`,
|
|
11325
|
+
* \`.rb-wizard-actions\`, \`.rb-on-surface\`, \`.rb-shell-*\`. Container/layout
|
|
11326
|
+
* pieces that would otherwise collide with the global \`.rb-*\` utility layer
|
|
11327
|
+
* are namespaced \`rb-reg-*\` (\`.rb-reg-surface\`, \`.rb-reg-stack\`, ...). All of
|
|
11328
|
+
* them are scoped to the three registration blocks either way.
|
|
11224
11329
|
* ============================================================================= */
|
|
11225
11330
|
|
|
11331
|
+
/* Terminal state icon (layout only \u2014 colors are per-block) */
|
|
11226
11332
|
:where(.theme-scope) .rb-state-icon {
|
|
11227
11333
|
width: 4rem;
|
|
11228
11334
|
height: 4rem;
|
|
@@ -11238,6 +11344,273 @@ var containerResponsiveThemeCss = `/*
|
|
|
11238
11344
|
height: 2rem;
|
|
11239
11345
|
}
|
|
11240
11346
|
|
|
11347
|
+
/* Surface container */
|
|
11348
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
11349
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
11350
|
+
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
11351
|
+
padding: clamp(1rem, 2vw, 1.5rem);
|
|
11352
|
+
background: var(--rb-reg-surface-bg, rgb(var(--tb-surface, 248 250 252)));
|
|
11353
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
11354
|
+
transition: border-color var(--rb-block-transition, 150ms) ease;
|
|
11355
|
+
width: 100%;
|
|
11356
|
+
max-width: 800px;
|
|
11357
|
+
margin-inline: 0;
|
|
11358
|
+
}
|
|
11359
|
+
|
|
11360
|
+
/* Selectable option card */
|
|
11361
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
11362
|
+
position: relative;
|
|
11363
|
+
display: flex;
|
|
11364
|
+
align-items: flex-start;
|
|
11365
|
+
gap: 0.75rem;
|
|
11366
|
+
padding: 1rem;
|
|
11367
|
+
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
11368
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
11369
|
+
background: var(--rb-reg-option-bg, transparent);
|
|
11370
|
+
color: inherit;
|
|
11371
|
+
cursor: pointer;
|
|
11372
|
+
text-align: left;
|
|
11373
|
+
transition: border-color var(--rb-block-transition, 150ms) ease,
|
|
11374
|
+
background-color var(--rb-block-transition, 150ms) ease,
|
|
11375
|
+
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
11376
|
+
}
|
|
11377
|
+
|
|
11378
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
11379
|
+
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
11380
|
+
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
11381
|
+
}
|
|
11382
|
+
|
|
11383
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
11384
|
+
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
11385
|
+
outline-offset: 2px;
|
|
11386
|
+
}
|
|
11387
|
+
|
|
11388
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
11389
|
+
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
11390
|
+
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
11391
|
+
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
11392
|
+
}
|
|
11393
|
+
|
|
11394
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
11395
|
+
cursor: not-allowed;
|
|
11396
|
+
opacity: 0.7;
|
|
11397
|
+
}
|
|
11398
|
+
|
|
11399
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
11400
|
+
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
11401
|
+
box-shadow: none;
|
|
11402
|
+
}
|
|
11403
|
+
|
|
11404
|
+
/* Check indicator */
|
|
11405
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
11406
|
+
flex-shrink: 0;
|
|
11407
|
+
width: 1.25rem;
|
|
11408
|
+
height: 1.25rem;
|
|
11409
|
+
border-radius: 50%;
|
|
11410
|
+
background: var(--rb-reg-check-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
11411
|
+
display: flex;
|
|
11412
|
+
align-items: center;
|
|
11413
|
+
justify-content: center;
|
|
11414
|
+
}
|
|
11415
|
+
|
|
11416
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
11417
|
+
width: 0.75rem;
|
|
11418
|
+
height: 0.75rem;
|
|
11419
|
+
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
11420
|
+
}
|
|
11421
|
+
|
|
11422
|
+
/* Step indicator */
|
|
11423
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
11424
|
+
margin-bottom: 1.5rem;
|
|
11425
|
+
}
|
|
11426
|
+
|
|
11427
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
11428
|
+
display: flex;
|
|
11429
|
+
align-items: center;
|
|
11430
|
+
justify-content: center;
|
|
11431
|
+
gap: 0.5rem;
|
|
11432
|
+
list-style: none;
|
|
11433
|
+
padding: 0;
|
|
11434
|
+
margin: 0;
|
|
11435
|
+
}
|
|
11436
|
+
|
|
11437
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
11438
|
+
display: flex;
|
|
11439
|
+
align-items: center;
|
|
11440
|
+
gap: 0.5rem;
|
|
11441
|
+
}
|
|
11442
|
+
|
|
11443
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
11444
|
+
width: 1.75rem;
|
|
11445
|
+
height: 1.75rem;
|
|
11446
|
+
border-radius: 50%;
|
|
11447
|
+
display: flex;
|
|
11448
|
+
align-items: center;
|
|
11449
|
+
justify-content: center;
|
|
11450
|
+
font-size: 0.75rem;
|
|
11451
|
+
font-weight: 600;
|
|
11452
|
+
background: var(--rb-reg-step-inactive, rgb(var(--tb-mutedText, 100 116 139)));
|
|
11453
|
+
color: var(--rb-reg-step-text, rgb(var(--tb-primaryForeground, 255 255 255)));
|
|
11454
|
+
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
11455
|
+
}
|
|
11456
|
+
|
|
11457
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
11458
|
+
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
11459
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
11460
|
+
}
|
|
11461
|
+
|
|
11462
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
11463
|
+
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
11464
|
+
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
11465
|
+
}
|
|
11466
|
+
|
|
11467
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
11468
|
+
width: 0.75rem;
|
|
11469
|
+
height: 0.75rem;
|
|
11470
|
+
}
|
|
11471
|
+
|
|
11472
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
11473
|
+
width: 2rem;
|
|
11474
|
+
height: 2px;
|
|
11475
|
+
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
11476
|
+
}
|
|
11477
|
+
|
|
11478
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
11479
|
+
font-size: 0.75rem;
|
|
11480
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
11481
|
+
display: none;
|
|
11482
|
+
}
|
|
11483
|
+
|
|
11484
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
11485
|
+
font-weight: 500;
|
|
11486
|
+
}
|
|
11487
|
+
|
|
11488
|
+
@container rb-site (min-width: 640px) {
|
|
11489
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
11490
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
11491
|
+
display: inline;
|
|
11492
|
+
}
|
|
11493
|
+
}
|
|
11494
|
+
}
|
|
11495
|
+
|
|
11496
|
+
/* Wizard actions row */
|
|
11497
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
11498
|
+
display: flex;
|
|
11499
|
+
justify-content: space-between;
|
|
11500
|
+
align-items: center;
|
|
11501
|
+
gap: 1rem;
|
|
11502
|
+
margin-top: 1.5rem;
|
|
11503
|
+
}
|
|
11504
|
+
|
|
11505
|
+
/* When there's only one action (no back button), push it to the right */
|
|
11506
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
11507
|
+
margin-inline-start: auto;
|
|
11508
|
+
}
|
|
11509
|
+
|
|
11510
|
+
/* On-surface text ramp */
|
|
11511
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
11512
|
+
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
11513
|
+
}
|
|
11514
|
+
|
|
11515
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
11516
|
+
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
11517
|
+
}
|
|
11518
|
+
|
|
11519
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
11520
|
+
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
11521
|
+
}
|
|
11522
|
+
|
|
11523
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
11524
|
+
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
11525
|
+
}
|
|
11526
|
+
|
|
11527
|
+
/* Layout stacks */
|
|
11528
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
11529
|
+
display: flex;
|
|
11530
|
+
flex-direction: column;
|
|
11531
|
+
gap: 1rem;
|
|
11532
|
+
}
|
|
11533
|
+
|
|
11534
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
11535
|
+
gap: 0.75rem;
|
|
11536
|
+
}
|
|
11537
|
+
|
|
11538
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
11539
|
+
display: flex;
|
|
11540
|
+
align-items: center;
|
|
11541
|
+
gap: 1rem;
|
|
11542
|
+
}
|
|
11543
|
+
|
|
11544
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
11545
|
+
justify-content: space-between;
|
|
11546
|
+
align-items: flex-start;
|
|
11547
|
+
}
|
|
11548
|
+
|
|
11549
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
11550
|
+
display: grid;
|
|
11551
|
+
gap: 0.75rem;
|
|
11552
|
+
}
|
|
11553
|
+
|
|
11554
|
+
/* Summary box */
|
|
11555
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
11556
|
+
padding: 1rem;
|
|
11557
|
+
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
11558
|
+
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
11559
|
+
background: var(--rb-reg-summary-bg, rgba(var(--tb-muted, 241 245 249), 0.42));
|
|
11560
|
+
}
|
|
11561
|
+
|
|
11562
|
+
/* Skeleton shell lines */
|
|
11563
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
11564
|
+
height: 0.75rem;
|
|
11565
|
+
border-radius: 9999px;
|
|
11566
|
+
background: linear-gradient(
|
|
11567
|
+
90deg,
|
|
11568
|
+
var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22)),
|
|
11569
|
+
rgba(var(--tb-primary, 17 24 39), 0.12),
|
|
11570
|
+
var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22))
|
|
11571
|
+
);
|
|
11572
|
+
}
|
|
11573
|
+
|
|
11574
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
11575
|
+
width: min(26rem, 82%);
|
|
11576
|
+
}
|
|
11577
|
+
|
|
11578
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
11579
|
+
width: min(19rem, 68%);
|
|
11580
|
+
}
|
|
11581
|
+
|
|
11582
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
11583
|
+
width: min(14rem, 52%);
|
|
11584
|
+
}
|
|
11585
|
+
|
|
11586
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
11587
|
+
width: min(10rem, 42%);
|
|
11588
|
+
}
|
|
11589
|
+
|
|
11590
|
+
/* Skeleton block (rectangular placeholder, pulses) */
|
|
11591
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
11592
|
+
height: 2.5rem;
|
|
11593
|
+
width: 100%;
|
|
11594
|
+
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
11595
|
+
background: var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22));
|
|
11596
|
+
animation: rb-reg-pulse 1.5s ease-in-out infinite;
|
|
11597
|
+
}
|
|
11598
|
+
|
|
11599
|
+
@keyframes rb-reg-pulse {
|
|
11600
|
+
0%, 100% {
|
|
11601
|
+
opacity: 1;
|
|
11602
|
+
}
|
|
11603
|
+
50% {
|
|
11604
|
+
opacity: 0.5;
|
|
11605
|
+
}
|
|
11606
|
+
}
|
|
11607
|
+
|
|
11608
|
+
@media (prefers-reduced-motion: reduce) {
|
|
11609
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="course-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
11610
|
+
animation: none;
|
|
11611
|
+
}
|
|
11612
|
+
}
|
|
11613
|
+
|
|
11241
11614
|
/* =============================================================================
|
|
11242
11615
|
* Block: Event Registration (pilot #76)
|
|
11243
11616
|
* Uses CSS vars: --er-* (Tier 3) and --rb-block-* (Tier 2)
|
|
@@ -11261,18 +11634,9 @@ var containerResponsiveThemeCss = `/*
|
|
|
11261
11634
|
--er-on-surface-disabled-detail: rgba(var(--tb-onSurface, var(--tb-text)), 0.68);
|
|
11262
11635
|
}
|
|
11263
11636
|
|
|
11264
|
-
/* Container
|
|
11265
|
-
|
|
11266
|
-
|
|
11267
|
-
border: 1px solid var(--er-border);
|
|
11268
|
-
padding: clamp(1rem, 2vw, 1.5rem);
|
|
11269
|
-
background: rgb(var(--tb-surface));
|
|
11270
|
-
color: var(--er-on-surface);
|
|
11271
|
-
transition: border-color var(--rb-block-transition) ease;
|
|
11272
|
-
width: 100%;
|
|
11273
|
-
max-width: 800px;
|
|
11274
|
-
margin-inline: 0;
|
|
11275
|
-
}
|
|
11637
|
+
/* Container: styled by the shared .rb-reg-surface (registration-surface.css);
|
|
11638
|
+
.er-container remains in markup as a hook and for the overlay/embedded
|
|
11639
|
+
variants below. */
|
|
11276
11640
|
|
|
11277
11641
|
/* SSR shell / required-island fallback */
|
|
11278
11642
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell {
|
|
@@ -11317,32 +11681,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
11317
11681
|
padding: 1rem;
|
|
11318
11682
|
}
|
|
11319
11683
|
|
|
11320
|
-
|
|
11321
|
-
|
|
11322
|
-
border-radius: 9999px;
|
|
11323
|
-
background: linear-gradient(
|
|
11324
|
-
90deg,
|
|
11325
|
-
var(--er-shell-line),
|
|
11326
|
-
rgba(var(--tb-primary), 0.12),
|
|
11327
|
-
var(--er-shell-line)
|
|
11328
|
-
);
|
|
11329
|
-
}
|
|
11330
|
-
|
|
11331
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--lg {
|
|
11332
|
-
width: min(26rem, 82%);
|
|
11333
|
-
}
|
|
11334
|
-
|
|
11335
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--md {
|
|
11336
|
-
width: min(19rem, 68%);
|
|
11337
|
-
}
|
|
11338
|
-
|
|
11339
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--sm {
|
|
11340
|
-
width: min(14rem, 52%);
|
|
11341
|
-
}
|
|
11342
|
-
|
|
11343
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__line--xs {
|
|
11344
|
-
width: min(10rem, 42%);
|
|
11345
|
-
}
|
|
11684
|
+
/* Shell skeleton lines: styled by the shared .rb-shell-line family
|
|
11685
|
+
(registration-surface.css); legacy classes remain in markup as hooks. */
|
|
11346
11686
|
|
|
11347
11687
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-registration-shell__summary {
|
|
11348
11688
|
align-items: center;
|
|
@@ -11419,13 +11759,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
11419
11759
|
color: var(--er-capacity-soldout-text);
|
|
11420
11760
|
}
|
|
11421
11761
|
|
|
11422
|
-
/* Selected event summary
|
|
11423
|
-
|
|
11424
|
-
padding: 1rem;
|
|
11425
|
-
border-radius: calc(var(--rb-block-radius) * 0.75);
|
|
11426
|
-
border: 1px solid var(--er-border);
|
|
11427
|
-
background: var(--er-surface-muted);
|
|
11428
|
-
}
|
|
11762
|
+
/* Selected event summary: superseded by the shared .rb-reg-summary
|
|
11763
|
+
(registration-surface.css); no markup emitted .er-event-summary anymore. */
|
|
11429
11764
|
|
|
11430
11765
|
/* Ticket counter */
|
|
11431
11766
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-ticket-counter-group {
|
|
@@ -11631,7 +11966,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
11631
11966
|
opacity: 1;
|
|
11632
11967
|
}
|
|
11633
11968
|
|
|
11634
|
-
/* State icon color variants (layout from registration-
|
|
11969
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
11635
11970
|
:where(.theme-scope) :where([data-block="event-registration"]) .rb-state-icon--success {
|
|
11636
11971
|
background: var(--er-success-bg);
|
|
11637
11972
|
color: var(--er-success-text);
|
|
@@ -11787,16 +12122,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
11787
12122
|
text-align: center;
|
|
11788
12123
|
}
|
|
11789
12124
|
|
|
11790
|
-
/* Layout
|
|
11791
|
-
|
|
11792
|
-
display: flex;
|
|
11793
|
-
flex-direction: column;
|
|
11794
|
-
gap: 1rem;
|
|
11795
|
-
}
|
|
11796
|
-
|
|
11797
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-stack--sm {
|
|
11798
|
-
gap: 0.75rem;
|
|
11799
|
-
}
|
|
12125
|
+
/* Layout stacks/rows: styled by the shared .rb-reg-stack / .rb-reg-row
|
|
12126
|
+
(registration-surface.css); legacy classes remain in markup as hooks. */
|
|
11800
12127
|
|
|
11801
12128
|
/* Event/date selection rows */
|
|
11802
12129
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-event-grid {
|
|
@@ -11805,17 +12132,6 @@ var containerResponsiveThemeCss = `/*
|
|
|
11805
12132
|
gap: 0;
|
|
11806
12133
|
}
|
|
11807
12134
|
|
|
11808
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-row {
|
|
11809
|
-
display: flex;
|
|
11810
|
-
align-items: center;
|
|
11811
|
-
gap: 1rem;
|
|
11812
|
-
}
|
|
11813
|
-
|
|
11814
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-row--between {
|
|
11815
|
-
justify-content: space-between;
|
|
11816
|
-
align-items: flex-start;
|
|
11817
|
-
}
|
|
11818
|
-
|
|
11819
12135
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-center {
|
|
11820
12136
|
text-align: center;
|
|
11821
12137
|
padding: 2rem;
|
|
@@ -11827,18 +12143,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
11827
12143
|
margin-bottom: 1rem;
|
|
11828
12144
|
}
|
|
11829
12145
|
|
|
11830
|
-
:
|
|
11831
|
-
|
|
11832
|
-
justify-content: space-between;
|
|
11833
|
-
align-items: center;
|
|
11834
|
-
gap: 1rem;
|
|
11835
|
-
margin-top: 1.5rem;
|
|
11836
|
-
}
|
|
11837
|
-
|
|
11838
|
-
/* When there's only one button (no back), push to the right */
|
|
11839
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-actions > :only-child {
|
|
11840
|
-
margin-inline-start: auto;
|
|
11841
|
-
}
|
|
12146
|
+
/* Actions row: styled by the shared .rb-wizard-actions (registration-surface.css);
|
|
12147
|
+
.er-actions remains in markup as a hook. */
|
|
11842
12148
|
|
|
11843
12149
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-button-with-spinner {
|
|
11844
12150
|
display: inline-flex;
|
|
@@ -12090,23 +12396,8 @@ var containerResponsiveThemeCss = `/*
|
|
|
12090
12396
|
color: var(--er-on-surface-faint);
|
|
12091
12397
|
}
|
|
12092
12398
|
|
|
12093
|
-
/* Checkmark indicator
|
|
12094
|
-
|
|
12095
|
-
flex-shrink: 0;
|
|
12096
|
-
width: 1.25rem;
|
|
12097
|
-
height: 1.25rem;
|
|
12098
|
-
border-radius: 50%;
|
|
12099
|
-
background: var(--er-check-bg);
|
|
12100
|
-
display: flex;
|
|
12101
|
-
align-items: center;
|
|
12102
|
-
justify-content: center;
|
|
12103
|
-
}
|
|
12104
|
-
|
|
12105
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-check svg {
|
|
12106
|
-
width: 0.75rem;
|
|
12107
|
-
height: 0.75rem;
|
|
12108
|
-
color: var(--er-check-text);
|
|
12109
|
-
}
|
|
12399
|
+
/* Checkmark indicator: styled by the shared .rb-option-check
|
|
12400
|
+
(registration-surface.css); .er-check remains in markup as a hook. */
|
|
12110
12401
|
|
|
12111
12402
|
/* Payment summary */
|
|
12112
12403
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-payment-summary {
|
|
@@ -12154,78 +12445,12 @@ var containerResponsiveThemeCss = `/*
|
|
|
12154
12445
|
margin-bottom: 1.5rem;
|
|
12155
12446
|
}
|
|
12156
12447
|
|
|
12157
|
-
:
|
|
12158
|
-
|
|
12159
|
-
|
|
12160
|
-
|
|
12161
|
-
|
|
12162
|
-
|
|
12163
|
-
padding: 0;
|
|
12164
|
-
margin: 0;
|
|
12165
|
-
}
|
|
12166
|
-
|
|
12167
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step {
|
|
12168
|
-
display: flex;
|
|
12169
|
-
align-items: center;
|
|
12170
|
-
gap: 0.5rem;
|
|
12171
|
-
}
|
|
12172
|
-
|
|
12173
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle {
|
|
12174
|
-
width: 1.75rem;
|
|
12175
|
-
height: 1.75rem;
|
|
12176
|
-
border-radius: 50%;
|
|
12177
|
-
display: flex;
|
|
12178
|
-
align-items: center;
|
|
12179
|
-
justify-content: center;
|
|
12180
|
-
font-size: 0.75rem;
|
|
12181
|
-
font-weight: 600;
|
|
12182
|
-
background: var(--er-step-inactive);
|
|
12183
|
-
color: var(--er-step-text);
|
|
12184
|
-
transition: background-color var(--rb-block-transition) ease;
|
|
12185
|
-
}
|
|
12186
|
-
|
|
12187
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle--active {
|
|
12188
|
-
background: var(--er-step-active);
|
|
12189
|
-
color: var(--er-step-text-active);
|
|
12190
|
-
}
|
|
12191
|
-
|
|
12192
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-circle--completed {
|
|
12193
|
-
background: var(--er-step-completed);
|
|
12194
|
-
color: var(--er-step-text-active);
|
|
12195
|
-
}
|
|
12196
|
-
|
|
12197
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-check {
|
|
12198
|
-
width: 0.75rem;
|
|
12199
|
-
height: 0.75rem;
|
|
12200
|
-
}
|
|
12201
|
-
|
|
12202
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-connector {
|
|
12203
|
-
width: 2rem;
|
|
12204
|
-
height: 2px;
|
|
12205
|
-
background: var(--er-step-connector);
|
|
12206
|
-
}
|
|
12207
|
-
|
|
12208
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-connector--completed {
|
|
12209
|
-
background: var(--er-step-connector);
|
|
12210
|
-
}
|
|
12211
|
-
|
|
12212
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label {
|
|
12213
|
-
font-size: 0.75rem;
|
|
12214
|
-
color: var(--er-on-surface);
|
|
12215
|
-
display: none;
|
|
12216
|
-
}
|
|
12217
|
-
|
|
12218
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label--active {
|
|
12219
|
-
font-weight: 500;
|
|
12220
|
-
}
|
|
12221
|
-
|
|
12222
|
-
@container rb-site (min-width: 640px) {
|
|
12223
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
12224
|
-
:where(.theme-scope) :where([data-block="event-registration"]) .er-step-label {
|
|
12225
|
-
display: inline;
|
|
12226
|
-
}
|
|
12227
|
-
}
|
|
12228
|
-
}
|
|
12448
|
+
/* Step indicator internals: styled by the shared .rb-steps / .rb-step-*
|
|
12449
|
+
family (registration-surface.css) via the --rb-reg-step-* mappings in the
|
|
12450
|
+
event-registration var generator; er-* classes remain in markup as hooks.
|
|
12451
|
+
Note: .er-steps-nav above is intentionally retained \u2014 its source position
|
|
12452
|
+
keeps the wizard's 1.5rem step margin winning over the SSR shell's
|
|
12453
|
+
1.25rem .er-registration-shell__steps override. */
|
|
12229
12454
|
|
|
12230
12455
|
/* Sticky order summary */
|
|
12231
12456
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-summary {
|
|
@@ -14458,69 +14683,34 @@ var containerResponsiveThemeCss = `/*
|
|
|
14458
14683
|
|
|
14459
14684
|
/* =============================================================================
|
|
14460
14685
|
* Block: Appointment Booking
|
|
14686
|
+
*
|
|
14687
|
+
* Structural styling comes from the shared registration-surface layer
|
|
14688
|
+
* (registration-surface.css): surface container, option cards + check,
|
|
14689
|
+
* step indicator, wizard actions, on-surface text ramp, stacks, summary box
|
|
14690
|
+
* and skeleton shell. Colors flow through the --rb-reg-* contract, mapped
|
|
14691
|
+
* from this block's --ab-* Tier 3 vars by its var generator.
|
|
14692
|
+
*
|
|
14693
|
+
* Inputs use the theme-generated form-* classes; feedback boxes use the
|
|
14694
|
+
* theme-generated alert / alert-{tone} classes. Only genuinely
|
|
14695
|
+
* booking-specific rules live here.
|
|
14696
|
+
*
|
|
14461
14697
|
* Uses:
|
|
14462
|
-
* - Tier 1 vars: --tb
|
|
14463
|
-
* - Tier 2 vars: --rb-block-radius, --rb-block-transition (from theme scope)
|
|
14698
|
+
* - Tier 1 vars: --tb-* (from theme palette)
|
|
14464
14699
|
* - Tier 3 vars: --ab-* (from appointment-booking var generator)
|
|
14465
14700
|
* =============================================================================
|
|
14466
14701
|
*/
|
|
14467
14702
|
|
|
14468
|
-
/*
|
|
14469
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-container {
|
|
14470
|
-
width: 100%;
|
|
14471
|
-
}
|
|
14472
|
-
|
|
14473
|
-
/* Stack layout utilities */
|
|
14474
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack {
|
|
14475
|
-
display: flex;
|
|
14476
|
-
flex-direction: column;
|
|
14477
|
-
gap: 1.5rem;
|
|
14478
|
-
}
|
|
14479
|
-
|
|
14480
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack--sm {
|
|
14481
|
-
display: flex;
|
|
14482
|
-
flex-direction: column;
|
|
14483
|
-
gap: 0.75rem;
|
|
14484
|
-
}
|
|
14485
|
-
|
|
14486
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-stack--xs {
|
|
14487
|
-
display: flex;
|
|
14488
|
-
flex-direction: column;
|
|
14489
|
-
gap: 0.5rem;
|
|
14490
|
-
}
|
|
14491
|
-
|
|
14492
|
-
/* Row layout */
|
|
14493
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-row {
|
|
14494
|
-
display: flex;
|
|
14495
|
-
align-items: center;
|
|
14496
|
-
gap: 0.75rem;
|
|
14497
|
-
}
|
|
14498
|
-
|
|
14499
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-row--between {
|
|
14500
|
-
justify-content: space-between;
|
|
14501
|
-
}
|
|
14502
|
-
|
|
14503
|
-
/* Grid layout */
|
|
14504
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-grid {
|
|
14505
|
-
display: grid;
|
|
14506
|
-
gap: 0.75rem;
|
|
14507
|
-
}
|
|
14508
|
-
|
|
14509
|
-
/* Center layout */
|
|
14510
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-center {
|
|
14511
|
-
text-align: center;
|
|
14512
|
-
padding: 2rem;
|
|
14513
|
-
}
|
|
14514
|
-
|
|
14515
|
-
/* Typography */
|
|
14703
|
+
/* Typography helpers */
|
|
14516
14704
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-title {
|
|
14517
14705
|
font-size: 1.5rem;
|
|
14518
|
-
font-weight:
|
|
14706
|
+
font-weight: 600;
|
|
14707
|
+
line-height: 1.3;
|
|
14519
14708
|
}
|
|
14520
14709
|
|
|
14521
14710
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-subtitle {
|
|
14522
|
-
font-size: 0.
|
|
14523
|
-
font-weight:
|
|
14711
|
+
font-size: 0.9375rem;
|
|
14712
|
+
font-weight: 600;
|
|
14713
|
+
line-height: 1.3;
|
|
14524
14714
|
}
|
|
14525
14715
|
|
|
14526
14716
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text {
|
|
@@ -14531,211 +14721,111 @@ var containerResponsiveThemeCss = `/*
|
|
|
14531
14721
|
font-size: 0.75rem;
|
|
14532
14722
|
}
|
|
14533
14723
|
|
|
14534
|
-
|
|
14535
|
-
|
|
14536
|
-
|
|
14537
|
-
|
|
14538
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-text--faint {
|
|
14539
|
-
opacity: var(--ab-text-faint-opacity, 0.4);
|
|
14540
|
-
}
|
|
14541
|
-
|
|
14542
|
-
/* Selection cards (service, resource, time slot) */
|
|
14543
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card {
|
|
14544
|
-
position: relative;
|
|
14545
|
-
padding: 1rem;
|
|
14546
|
-
border: 2px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
14547
|
-
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
14548
|
-
text-align: left;
|
|
14549
|
-
background: transparent;
|
|
14550
|
-
cursor: pointer;
|
|
14551
|
-
transition: border-color var(--rb-block-transition, 150ms) ease, background-color var(--rb-block-transition, 150ms) ease;
|
|
14552
|
-
}
|
|
14553
|
-
|
|
14554
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card:hover {
|
|
14555
|
-
border-color: var(--ab-card-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
14556
|
-
}
|
|
14557
|
-
|
|
14558
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-card--selected {
|
|
14559
|
-
border-color: var(--ab-card-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
14560
|
-
background-color: var(--ab-card-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.05));
|
|
14561
|
-
}
|
|
14562
|
-
|
|
14563
|
-
/* Checkmark indicator */
|
|
14564
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check {
|
|
14565
|
-
flex-shrink: 0;
|
|
14566
|
-
width: 1.25rem;
|
|
14567
|
-
height: 1.25rem;
|
|
14568
|
-
border-radius: 50%;
|
|
14569
|
-
background-color: var(--ab-check-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
14570
|
-
display: flex;
|
|
14571
|
-
align-items: center;
|
|
14572
|
-
justify-content: center;
|
|
14573
|
-
}
|
|
14574
|
-
|
|
14575
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-check svg {
|
|
14576
|
-
width: 0.75rem;
|
|
14577
|
-
height: 0.75rem;
|
|
14578
|
-
color: var(--ab-check-text, rgb(var(--tb-background, 255 255 255)));
|
|
14579
|
-
}
|
|
14580
|
-
|
|
14581
|
-
/* Info box (service summary) */
|
|
14582
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-info-box {
|
|
14583
|
-
padding: 1rem;
|
|
14584
|
-
border: 1px solid var(--ab-card-border, rgb(var(--tb-border, 226 232 240)));
|
|
14585
|
-
border-radius: var(--ab-card-radius, var(--rb-block-radius, 1rem));
|
|
14586
|
-
background-color: var(--ab-muted-bg, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
14724
|
+
/* Centered state (loading / terminal panels) */
|
|
14725
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-center {
|
|
14726
|
+
text-align: center;
|
|
14727
|
+
padding: 2rem;
|
|
14587
14728
|
}
|
|
14588
14729
|
|
|
14589
|
-
/*
|
|
14590
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
14591
|
-
|
|
14592
|
-
|
|
14593
|
-
font-
|
|
14730
|
+
/* Terminal state title (below the state icon) */
|
|
14731
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-terminal-title {
|
|
14732
|
+
margin: 0.75rem 0 0.5rem 0;
|
|
14733
|
+
font-size: 1.125rem;
|
|
14734
|
+
font-weight: 700;
|
|
14594
14735
|
}
|
|
14595
14736
|
|
|
14596
|
-
|
|
14597
|
-
|
|
14737
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
14738
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--success {
|
|
14739
|
+
background: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
|
|
14598
14740
|
color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
|
|
14599
14741
|
}
|
|
14600
14742
|
|
|
14601
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .
|
|
14602
|
-
background
|
|
14743
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--error {
|
|
14744
|
+
background: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
|
|
14603
14745
|
color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
|
|
14604
14746
|
}
|
|
14605
14747
|
|
|
14606
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .
|
|
14607
|
-
background
|
|
14608
|
-
color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
|
|
14609
|
-
}
|
|
14610
|
-
|
|
14611
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-alert--info {
|
|
14612
|
-
background-color: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
|
|
14748
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--info {
|
|
14749
|
+
background: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
|
|
14613
14750
|
color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
|
|
14614
14751
|
}
|
|
14615
14752
|
|
|
14616
|
-
|
|
14617
|
-
:
|
|
14618
|
-
|
|
14619
|
-
font-size: 0.875rem;
|
|
14620
|
-
font-weight: 500;
|
|
14621
|
-
margin-bottom: 0.5rem;
|
|
14753
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--warning {
|
|
14754
|
+
background: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
|
|
14755
|
+
color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
|
|
14622
14756
|
}
|
|
14623
14757
|
|
|
14624
|
-
|
|
14625
|
-
|
|
14626
|
-
|
|
14758
|
+
/* Payment option summary rows (label/value lines inside an option card) */
|
|
14759
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-option-rows {
|
|
14760
|
+
display: grid;
|
|
14761
|
+
gap: 0.125rem;
|
|
14627
14762
|
}
|
|
14628
14763
|
|
|
14629
|
-
|
|
14630
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
14631
|
-
:
|
|
14632
|
-
|
|
14633
|
-
|
|
14634
|
-
border: 1px solid var(--ab-input-border, rgb(var(--tb-border, 226 232 240)));
|
|
14635
|
-
border-radius: var(--ab-input-radius, var(--rb-input-radius, var(--radius-control, var(--rb-block-radius, 1rem))));
|
|
14636
|
-
background: transparent;
|
|
14637
|
-
font-size: 0.875rem;
|
|
14638
|
-
transition: border-color var(--rb-block-transition, 150ms) ease, box-shadow var(--rb-block-transition, 150ms) ease;
|
|
14764
|
+
/* Date/time pill grids (selection pills extend .rb-option-card) */
|
|
14765
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-grid {
|
|
14766
|
+
display: flex;
|
|
14767
|
+
flex-wrap: wrap;
|
|
14768
|
+
gap: 0.5rem;
|
|
14639
14769
|
}
|
|
14640
14770
|
|
|
14641
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
14642
|
-
|
|
14643
|
-
|
|
14644
|
-
|
|
14645
|
-
|
|
14646
|
-
|
|
14771
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-date-pill {
|
|
14772
|
+
flex-direction: column;
|
|
14773
|
+
align-items: center;
|
|
14774
|
+
gap: 0.125rem;
|
|
14775
|
+
padding: 0.5rem 0.875rem;
|
|
14776
|
+
min-width: 4.25rem;
|
|
14777
|
+
text-align: center;
|
|
14647
14778
|
}
|
|
14648
14779
|
|
|
14649
|
-
|
|
14650
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn {
|
|
14651
|
-
display: inline-flex;
|
|
14780
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-time-pill {
|
|
14652
14781
|
align-items: center;
|
|
14653
14782
|
justify-content: center;
|
|
14654
|
-
padding: 0.5rem
|
|
14655
|
-
|
|
14783
|
+
padding: 0.5rem 0.875rem;
|
|
14784
|
+
min-width: 5.5rem;
|
|
14656
14785
|
font-size: 0.875rem;
|
|
14657
14786
|
font-weight: 500;
|
|
14658
|
-
|
|
14659
|
-
transition: background-color var(--rb-block-transition, 150ms) ease, border-color var(--rb-block-transition, 150ms) ease;
|
|
14660
|
-
}
|
|
14661
|
-
|
|
14662
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary {
|
|
14663
|
-
flex: 1;
|
|
14664
|
-
background-color: var(--ab-btn-primary-bg, rgb(var(--tb-primary, 17 24 39)));
|
|
14665
|
-
color: var(--ab-btn-primary-text, rgb(var(--tb-primaryForeground, 255 255 255)));
|
|
14666
|
-
border: none;
|
|
14667
|
-
}
|
|
14668
|
-
|
|
14669
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--primary:hover:not(:disabled) {
|
|
14670
|
-
background-color: var(--ab-btn-primary-hover, rgba(var(--tb-primary, 17 24 39), 0.9));
|
|
14671
|
-
}
|
|
14672
|
-
|
|
14673
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary {
|
|
14674
|
-
background: transparent;
|
|
14675
|
-
border: 1px solid var(--ab-btn-secondary-border, rgb(var(--tb-border, 226 232 240)));
|
|
14676
|
-
}
|
|
14677
|
-
|
|
14678
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--secondary:hover:not(:disabled) {
|
|
14679
|
-
background-color: var(--ab-btn-secondary-hover, rgba(var(--tb-foreground, var(--tb-text, 15 23 42)), 0.05));
|
|
14680
|
-
}
|
|
14681
|
-
|
|
14682
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link {
|
|
14683
|
-
background: transparent;
|
|
14684
|
-
border: none;
|
|
14685
|
-
padding: 0;
|
|
14686
|
-
text-decoration: underline;
|
|
14687
|
-
}
|
|
14688
|
-
|
|
14689
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn--link:hover {
|
|
14690
|
-
text-decoration: none;
|
|
14691
|
-
}
|
|
14692
|
-
|
|
14693
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-btn:disabled {
|
|
14694
|
-
opacity: 0.5;
|
|
14695
|
-
cursor: not-allowed;
|
|
14696
|
-
}
|
|
14697
|
-
|
|
14698
|
-
/* Actions row */
|
|
14699
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-actions {
|
|
14700
|
-
display: flex;
|
|
14701
|
-
gap: 0.75rem;
|
|
14702
|
-
margin-top: 1.5rem;
|
|
14787
|
+
text-align: center;
|
|
14703
14788
|
}
|
|
14704
14789
|
|
|
14705
|
-
|
|
14706
|
-
|
|
14707
|
-
|
|
14708
|
-
|
|
14709
|
-
|
|
14710
|
-
|
|
14711
|
-
|
|
14790
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-caption {
|
|
14791
|
+
font-size: 0.6875rem;
|
|
14792
|
+
font-weight: 600;
|
|
14793
|
+
letter-spacing: 0;
|
|
14794
|
+
line-height: 1.2;
|
|
14795
|
+
text-transform: uppercase;
|
|
14796
|
+
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
14712
14797
|
}
|
|
14713
14798
|
|
|
14714
|
-
|
|
14715
|
-
|
|
14716
|
-
|
|
14717
|
-
|
|
14718
|
-
50% {
|
|
14719
|
-
opacity: 0.5;
|
|
14720
|
-
}
|
|
14799
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-value {
|
|
14800
|
+
font-size: 1.125rem;
|
|
14801
|
+
font-weight: 600;
|
|
14802
|
+
line-height: 1.2;
|
|
14721
14803
|
}
|
|
14722
14804
|
|
|
14723
|
-
/*
|
|
14724
|
-
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-
|
|
14725
|
-
|
|
14726
|
-
flex-direction: column;
|
|
14727
|
-
gap: 0.5rem;
|
|
14805
|
+
/* SSR shell skeleton (mirrors the hydrated layout to reduce hydration jump) */
|
|
14806
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-shell {
|
|
14807
|
+
min-height: 18rem;
|
|
14728
14808
|
}
|
|
14729
14809
|
|
|
14730
|
-
|
|
14731
|
-
:
|
|
14732
|
-
|
|
14810
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-shell-button {
|
|
14811
|
+
display: inline-flex;
|
|
14812
|
+
min-height: 2.5rem;
|
|
14813
|
+
align-items: center;
|
|
14814
|
+
justify-content: center;
|
|
14815
|
+
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.6);
|
|
14816
|
+
background: rgb(var(--tb-primary, 17 24 39));
|
|
14817
|
+
color: rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255)));
|
|
14818
|
+
padding: 0.625rem 1rem;
|
|
14819
|
+
font-size: 0.875rem;
|
|
14820
|
+
font-weight: 600;
|
|
14821
|
+
line-height: 1.2;
|
|
14822
|
+
text-align: center;
|
|
14823
|
+
white-space: nowrap;
|
|
14733
14824
|
}
|
|
14734
14825
|
|
|
14735
|
-
/*
|
|
14826
|
+
/* Inline text-link button (e.g. "Load more dates") */
|
|
14736
14827
|
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-link {
|
|
14737
14828
|
display: inline;
|
|
14738
|
-
margin-left: 0.5rem;
|
|
14739
14829
|
color: rgb(var(--tb-primary, 17 24 39));
|
|
14740
14830
|
background: none;
|
|
14741
14831
|
border: none;
|
|
@@ -14749,91 +14839,9 @@ var containerResponsiveThemeCss = `/*
|
|
|
14749
14839
|
text-decoration: none;
|
|
14750
14840
|
}
|
|
14751
14841
|
|
|
14752
|
-
/*
|
|
14753
|
-
|
|
14754
|
-
|
|
14755
|
-
* Uses:
|
|
14756
|
-
* - Tier 1 vars: --tb-border, --tb-surface, --tb-success, --tb-destructive
|
|
14757
|
-
* - Tier 2 vars: --rb-block-radius
|
|
14758
|
-
* - Tier 3 vars: --fb-success-*, --fb-error-*, --fb-empty-*
|
|
14759
|
-
*
|
|
14760
|
-
* Note: Form input styling (form-input, form-select, etc.) is handled by
|
|
14761
|
-
* the input CSS generator. These styles are for form container/state only.
|
|
14762
|
-
* ============================================================================= */
|
|
14763
|
-
|
|
14764
|
-
/* Form container */
|
|
14765
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-form {
|
|
14766
|
-
display: flex;
|
|
14767
|
-
flex-direction: column;
|
|
14768
|
-
gap: 1rem;
|
|
14769
|
-
}
|
|
14770
|
-
|
|
14771
|
-
/* Two-column row (opt-in per field via schema layout) */
|
|
14772
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-row-2 {
|
|
14773
|
-
display: grid;
|
|
14774
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
14775
|
-
gap: 1rem;
|
|
14776
|
-
}
|
|
14777
|
-
|
|
14778
|
-
/* Field wrapper */
|
|
14779
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-field {
|
|
14780
|
-
display: flex;
|
|
14781
|
-
flex-direction: column;
|
|
14782
|
-
gap: 0.25rem;
|
|
14783
|
-
}
|
|
14784
|
-
|
|
14785
|
-
/* Fieldset (for radio groups) */
|
|
14786
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-fieldset {
|
|
14787
|
-
display: flex;
|
|
14788
|
-
flex-direction: column;
|
|
14789
|
-
gap: 0.5rem;
|
|
14790
|
-
border: none;
|
|
14791
|
-
padding: 0;
|
|
14792
|
-
margin: 0;
|
|
14793
|
-
}
|
|
14794
|
-
|
|
14795
|
-
/* Inline field (checkbox, radio with label) */
|
|
14796
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-inline {
|
|
14797
|
-
display: flex;
|
|
14798
|
-
align-items: center;
|
|
14799
|
-
gap: 0.5rem;
|
|
14800
|
-
}
|
|
14801
|
-
|
|
14802
|
-
/* Success state */
|
|
14803
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-success {
|
|
14804
|
-
background-color: var(--fb-success-bg);
|
|
14805
|
-
color: var(--fb-success-text);
|
|
14806
|
-
border: 1px solid var(--fb-success-border);
|
|
14807
|
-
border-radius: var(--rb-block-radius);
|
|
14808
|
-
padding: 1rem;
|
|
14809
|
-
font-size: 0.875rem;
|
|
14810
|
-
}
|
|
14811
|
-
|
|
14812
|
-
/* Error banner */
|
|
14813
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-error {
|
|
14814
|
-
background-color: var(--fb-error-bg);
|
|
14815
|
-
color: var(--fb-error-text);
|
|
14816
|
-
border: 1px solid var(--fb-error-border);
|
|
14817
|
-
border-radius: var(--rb-block-radius);
|
|
14818
|
-
padding: 0.75rem;
|
|
14819
|
-
font-size: 0.875rem;
|
|
14820
|
-
margin-bottom: 0.5rem;
|
|
14821
|
-
}
|
|
14822
|
-
|
|
14823
|
-
/* Empty state (no form data) */
|
|
14824
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-empty {
|
|
14825
|
-
background-color: var(--fb-empty-bg);
|
|
14826
|
-
color: var(--fb-empty-text);
|
|
14827
|
-
border: 1px dashed var(--fb-empty-border);
|
|
14828
|
-
border-radius: var(--rb-block-radius);
|
|
14829
|
-
padding: 1.5rem;
|
|
14830
|
-
font-size: 0.875rem;
|
|
14831
|
-
text-align: center;
|
|
14832
|
-
}
|
|
14833
|
-
|
|
14834
|
-
/* Form actions (submit button container) */
|
|
14835
|
-
:where(.theme-scope) :where([data-block="form"]) .fb-actions {
|
|
14836
|
-
margin-top: 0.5rem;
|
|
14842
|
+
/* Altcha wrapper */
|
|
14843
|
+
:where(.theme-scope) :where([data-block="appointment-booking"]) .ab-altcha {
|
|
14844
|
+
margin-top: 1rem;
|
|
14837
14845
|
}
|
|
14838
14846
|
|
|
14839
14847
|
/* =============================================================================
|
|
@@ -15091,6 +15099,93 @@ var containerResponsiveThemeCss = `/*
|
|
|
15091
15099
|
color: var(--section-text-color, rgb(var(--tb-text)));
|
|
15092
15100
|
}
|
|
15093
15101
|
|
|
15102
|
+
/* =============================================================================
|
|
15103
|
+
* Form Block (fb-*)
|
|
15104
|
+
*
|
|
15105
|
+
* Uses:
|
|
15106
|
+
* - Tier 1 vars: --tb-border, --tb-surface, --tb-success, --tb-destructive
|
|
15107
|
+
* - Tier 2 vars: --rb-block-radius
|
|
15108
|
+
* - Tier 3 vars: --fb-success-*, --fb-error-*, --fb-empty-*
|
|
15109
|
+
*
|
|
15110
|
+
* Note: Form input styling (form-input, form-select, etc.) is handled by
|
|
15111
|
+
* the input CSS generator. These styles are for form container/state only.
|
|
15112
|
+
* ============================================================================= */
|
|
15113
|
+
|
|
15114
|
+
/* Form container */
|
|
15115
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-form {
|
|
15116
|
+
display: flex;
|
|
15117
|
+
flex-direction: column;
|
|
15118
|
+
gap: 1rem;
|
|
15119
|
+
}
|
|
15120
|
+
|
|
15121
|
+
/* Two-column row (opt-in per field via schema layout) */
|
|
15122
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-row-2 {
|
|
15123
|
+
display: grid;
|
|
15124
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
15125
|
+
gap: 1rem;
|
|
15126
|
+
}
|
|
15127
|
+
|
|
15128
|
+
/* Field wrapper */
|
|
15129
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-field {
|
|
15130
|
+
display: flex;
|
|
15131
|
+
flex-direction: column;
|
|
15132
|
+
gap: 0.25rem;
|
|
15133
|
+
}
|
|
15134
|
+
|
|
15135
|
+
/* Fieldset (for radio groups) */
|
|
15136
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-fieldset {
|
|
15137
|
+
display: flex;
|
|
15138
|
+
flex-direction: column;
|
|
15139
|
+
gap: 0.5rem;
|
|
15140
|
+
border: none;
|
|
15141
|
+
padding: 0;
|
|
15142
|
+
margin: 0;
|
|
15143
|
+
}
|
|
15144
|
+
|
|
15145
|
+
/* Inline field (checkbox, radio with label) */
|
|
15146
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-inline {
|
|
15147
|
+
display: flex;
|
|
15148
|
+
align-items: center;
|
|
15149
|
+
gap: 0.5rem;
|
|
15150
|
+
}
|
|
15151
|
+
|
|
15152
|
+
/* Success state */
|
|
15153
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-success {
|
|
15154
|
+
background-color: var(--fb-success-bg);
|
|
15155
|
+
color: var(--fb-success-text);
|
|
15156
|
+
border: 1px solid var(--fb-success-border);
|
|
15157
|
+
border-radius: var(--rb-block-radius);
|
|
15158
|
+
padding: 1rem;
|
|
15159
|
+
font-size: 0.875rem;
|
|
15160
|
+
}
|
|
15161
|
+
|
|
15162
|
+
/* Error banner */
|
|
15163
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-error {
|
|
15164
|
+
background-color: var(--fb-error-bg);
|
|
15165
|
+
color: var(--fb-error-text);
|
|
15166
|
+
border: 1px solid var(--fb-error-border);
|
|
15167
|
+
border-radius: var(--rb-block-radius);
|
|
15168
|
+
padding: 0.75rem;
|
|
15169
|
+
font-size: 0.875rem;
|
|
15170
|
+
margin-bottom: 0.5rem;
|
|
15171
|
+
}
|
|
15172
|
+
|
|
15173
|
+
/* Empty state (no form data) */
|
|
15174
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-empty {
|
|
15175
|
+
background-color: var(--fb-empty-bg);
|
|
15176
|
+
color: var(--fb-empty-text);
|
|
15177
|
+
border: 1px dashed var(--fb-empty-border);
|
|
15178
|
+
border-radius: var(--rb-block-radius);
|
|
15179
|
+
padding: 1.5rem;
|
|
15180
|
+
font-size: 0.875rem;
|
|
15181
|
+
text-align: center;
|
|
15182
|
+
}
|
|
15183
|
+
|
|
15184
|
+
/* Form actions (submit button container) */
|
|
15185
|
+
:where(.theme-scope) :where([data-block="form"]) .fb-actions {
|
|
15186
|
+
margin-top: 0.5rem;
|
|
15187
|
+
}
|
|
15188
|
+
|
|
15094
15189
|
/* =============================================================================
|
|
15095
15190
|
* Block-Level Override Utilities
|
|
15096
15191
|
*
|
|
@@ -16707,14 +16802,11 @@ var containerResponsiveThemeCss = `/*
|
|
|
16707
16802
|
--cr-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
16708
16803
|
}
|
|
16709
16804
|
|
|
16710
|
-
/* Container
|
|
16805
|
+
/* Container: base styling comes from the shared .rb-reg-surface
|
|
16806
|
+
(registration-surface.css); these overrides preserve course
|
|
16807
|
+
registration's pre-extraction look (fixed padding, centered). */
|
|
16711
16808
|
:where(.theme-scope) :where([data-block="course-registration"]) .cr-container {
|
|
16712
|
-
border-radius: var(--rb-block-radius);
|
|
16713
|
-
border: 1px solid var(--cr-border);
|
|
16714
16809
|
padding: 1.5rem;
|
|
16715
|
-
background: rgb(var(--tb-surface));
|
|
16716
|
-
color: var(--cr-on-surface);
|
|
16717
|
-
max-width: 50rem; /* 800px */
|
|
16718
16810
|
margin-inline: auto;
|
|
16719
16811
|
}
|
|
16720
16812
|
|
|
@@ -17391,7 +17483,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
17391
17483
|
padding: 2rem 1rem;
|
|
17392
17484
|
}
|
|
17393
17485
|
|
|
17394
|
-
/* State icon color variants (layout from registration-
|
|
17486
|
+
/* State icon color variants (layout from registration-surface.css) */
|
|
17395
17487
|
:where(.theme-scope) :where([data-block="course-registration"]) .rb-state-icon--success {
|
|
17396
17488
|
background: var(--cr-success-bg);
|
|
17397
17489
|
color: var(--cr-success-text);
|