@riverbankcms/sdk 0.107.0 → 0.109.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 +21 -1
- package/dist/{PreviewEditorSidebar-DpAbAl08.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +48 -28
- package/dist/{PreviewEditorUI-O7cn6Xxv.mjs → PreviewEditorUI-B7OL4sfR.mjs} +10 -9
- package/dist/{PreviewQueryProvider-D0tnKl0t.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CVB7urtl.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +633 -220
- package/dist/{SiteChromeCustomizeContext-C_sizso-.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +5764 -1556
- package/dist/_dts/ai/src/contracts/proposals.d.ts +15383 -11388
- package/dist/_dts/api/src/blocks.d.ts +41 -7
- package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +177 -127
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/cache-tags.d.ts +3 -0
- package/dist/_dts/api/src/common/envelope.d.ts +7 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +19 -1
- package/dist/_dts/api/src/courses.d.ts +1 -0
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/endpoints.d.ts +134 -0
- package/dist/_dts/api/src/footer-settings.d.ts +1 -0
- package/dist/_dts/api/src/footerSettings.d.ts +8 -0
- package/dist/_dts/api/src/index.d.ts +7 -4
- package/dist/_dts/api/src/navigation/contracts.d.ts +3 -3
- package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
- package/dist/_dts/api/src/previewContentContract.d.ts +4 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +309 -1
- package/dist/_dts/api/src/siteBanner.d.ts +2 -2
- package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +144 -60
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +35 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +74 -28
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
- package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +0 -1
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +1 -22
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +9 -48
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +8 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +2 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +5 -0
- package/dist/_dts/blocks/src/system/icons/svg.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +33 -2
- package/dist/_dts/blocks/src/system/node/fragments/backgroundLayer.d.ts +13 -0
- package/dist/_dts/blocks/src/system/node/fragments/footerNav.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/fragments/styledContainer.d.ts +4 -4
- package/dist/_dts/blocks/src/system/node/fragments/styledSection.d.ts +3 -12
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/blocks/src/system/types/link.d.ts +3 -3
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +27 -8
- package/dist/_dts/content-editor/src/footerComposer.d.ts +56 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +5 -5
- package/dist/_dts/content-editor/src/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +3 -1
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +20 -36
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +5 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +11 -0
- package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
- package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
- package/dist/_dts/content-model/src/definitions/shared.d.ts +3 -0
- package/dist/_dts/content-model/src/index.d.ts +3 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/editor-state.d.ts +4 -0
- package/dist/_dts/core/src/footer-composition.d.ts +143 -0
- package/dist/_dts/core/src/index.d.ts +2 -0
- package/dist/_dts/core/src/public-profile.d.ts +73 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -205
- package/dist/_dts/db/src/schemas/forms.d.ts +10 -10
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +5 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +1 -0
- package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
- package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
- package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
- package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
- package/dist/_dts/path-utils/src/index.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewErrorMessages.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
- package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
- package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
- package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
- package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
- package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
- package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
- package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/blocks.d.ts +14 -1
- package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
- package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +2 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +58 -20
- package/dist/_dts/sdk/src/config/content-types.d.ts +2 -0
- package/dist/_dts/sdk/src/config/content-validation.d.ts +4 -0
- package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
- package/dist/_dts/sdk/src/navigation/index.d.ts +2 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +900 -827
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
- package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +45 -33
- package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +104 -86
- package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/footer/mode.d.ts +15 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
- package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +117 -150
- package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
- package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1264 -138
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +12 -1
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +29 -8
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
- package/dist/cli/index.mjs +68552 -66955
- package/dist/cli/init-docs/content/cli-reference.md +50 -7
- package/dist/cli/init-docs/content/content-management.md +7 -4
- package/dist/cli/init-docs/content/workflow-publish.md +5 -1
- package/dist/client/{DiscountCodeDisclosure-BwGkvmVH.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
- package/dist/client/{EventCombined.client-JnWE6Hzc.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
- package/dist/client/{EventListing.client-DQewc_kg.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DPAU3SFt.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
- package/dist/client/{MagicLinkForm-D4kpWCbW.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
- package/dist/client/{StepIndicator-CBlkb4rA.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
- package/dist/client/{accordion-DAIBVpTS.mjs → accordion-CeGreumd.mjs} +1 -1
- package/dist/client/{bookingForm-DZ-4l5_1.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
- package/dist/client/bookings.mjs +637 -328
- package/dist/client/{buttons-DJgynGHQ.mjs → buttons-DoFV7KDL.mjs} +618 -306
- package/dist/client/{carousel-D-SLfX8r.mjs → carousel-B2jDtogf.mjs} +1 -1
- package/dist/client/{cart-CEgbgJhX.mjs → cart-D-jZ-vaY.mjs} +3 -3
- package/dist/client/{checkout-CXWrCRAA.mjs → checkout-Dza-LA7N.mjs} +3 -3
- package/dist/client/client.mjs +2497 -1216
- package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
- package/dist/client/{courseRegistration-DVmLrRVz.mjs → courseRegistration-TYkNychb.mjs} +7 -7
- package/dist/client/{eventCalendar-DCuyPY_c.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
- package/dist/client/{eventCombined-kP2CA2D4.mjs → eventCombined-mNrpryE9.mjs} +2 -2
- package/dist/client/{eventDetails-DU0LeF5e.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
- package/dist/client/{eventListing-CcHF87BI.mjs → eventListing-YhKN018y.mjs} +2 -2
- package/dist/client/{eventRegistration-DJnR0yFH.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
- package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
- package/dist/client/{form-CH1lCusH.mjs → form-AcAL45rA.mjs} +2 -2
- package/dist/client/{headerSection-CBPFZoku.mjs → headerSection-uEC52ueD.mjs} +3 -3
- package/dist/client/hooks.mjs +1249 -841
- package/dist/client/{locationMap-Cx1hBg5n.mjs → locationMap-_wJDSUYe.mjs} +3 -3
- package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
- package/dist/client/{newsletterForm-1ZL_ti9u.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
- package/dist/client/{pricing-BIbzmV0G.mjs → pricing-BSYVghwo.mjs} +1 -1
- package/dist/client/{productDetail-BTh5gHBV.mjs → productDetail-Dyk90sMs.mjs} +3 -3
- package/dist/client/{productList-Cc7OMrqN.mjs → productList-BCKThwAI.mjs} +3 -3
- package/dist/client/{propsDecoder-oR-M-ISN.mjs → propsDecoder-CkXxkdSR.mjs} +96 -33
- package/dist/client/rendering/client.mjs +1278 -523
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2308 -1028
- package/dist/client/{shop-CQ_YbCnn.mjs → shop-DeltVH10.mjs} +6 -6
- package/dist/client/{shop-commerce-BM-AoD3M.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DFMQhU5p.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
- package/dist/client/{shopShared-D0SKO2Cu.mjs → shopShared-B8v-lH_F.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-CrG4_ARt.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
- package/dist/client/{useEventFilters-CxK8Fekl.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
- package/dist/client/{usePolling-jcVryNgZ.mjs → usePolling-Cmh14fc7.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +213 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +213 -0
- package/dist/{previewAuthStore-BPcJPzdz.mjs → previewAuthStore-CTO7CRPk.mjs} +213 -0
- package/dist/{sdk-runtime-C39Rsk-x.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
- package/dist/{separator-BoMSQnsP.mjs → separator-CI5wZNXT.mjs} +1 -1
- package/dist/server/components.mjs +2370 -1132
- package/dist/server/config-validation.mjs +1256 -842
- package/dist/server/config.mjs +1256 -843
- package/dist/server/data.mjs +1249 -841
- package/dist/server/date-time.mjs +386 -0
- package/dist/server/index.mjs +214 -1
- package/dist/server/navigation.mjs +9 -3
- package/dist/server/next.mjs +3421 -1949
- package/dist/server/page-converter.mjs +1236 -659
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2074 -1060
- package/dist/server/rendering.mjs +2370 -1132
- package/dist/server/routing.mjs +1543 -1062
- package/dist/server/server.mjs +1464 -843
- package/dist/server/theme-bridge.mjs +1581 -474
- package/dist/server/theme.mjs +614 -305
- package/dist/styles/index.css +12 -1
- package/package.json +7 -1
- package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
- package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
- package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
package/dist/server/server.mjs
CHANGED
|
@@ -44,6 +44,12 @@ function parsePublicProductCategorySelector(value) {
|
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
46
|
//#region ../api/src/apiEndpointTypes.ts
|
|
47
|
+
function allowedDemoMutationPolicy() {
|
|
48
|
+
return {
|
|
49
|
+
classification: "allowed",
|
|
50
|
+
publicMessage: ""
|
|
51
|
+
};
|
|
52
|
+
}
|
|
47
53
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
48
54
|
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
49
55
|
return {
|
|
@@ -71,6 +77,7 @@ const TAG_TEMPLATES = {
|
|
|
71
77
|
siteRouteOutcomes: "riverbank:site:{siteId}:route-outcomes",
|
|
72
78
|
routeById: "riverbank:route:{routeId}",
|
|
73
79
|
pageById: "riverbank:page:{pageId}",
|
|
80
|
+
pageSurfaceById: "riverbank:page-surface:{pageSurfaceId}",
|
|
74
81
|
workflowRunById: "riverbank:workflow-run:{runId}",
|
|
75
82
|
siteForms: "riverbank:site:{siteId}:forms",
|
|
76
83
|
formById: "riverbank:form:{formId}",
|
|
@@ -96,6 +103,7 @@ const TAG_TEMPLATES = {
|
|
|
96
103
|
const DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
97
104
|
const DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
98
105
|
const DEMO_MUTATION_INTERNAL_ONLY = blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
106
|
+
const DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
99
107
|
const API_ENDPOINTS$1 = {
|
|
100
108
|
aiContentUpdateChat: {
|
|
101
109
|
path: "/ai/content-update-chat",
|
|
@@ -2234,6 +2242,49 @@ const API_ENDPOINTS$1 = {
|
|
|
2234
2242
|
auth: "user",
|
|
2235
2243
|
responseKind: "json"
|
|
2236
2244
|
},
|
|
2245
|
+
updatePageSurfaceDraftContent: {
|
|
2246
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
|
|
2247
|
+
method: "PUT",
|
|
2248
|
+
errors: [
|
|
2249
|
+
"validation:invalid_input",
|
|
2250
|
+
"resource:not_found",
|
|
2251
|
+
"resource:conflict",
|
|
2252
|
+
"server:internal_error"
|
|
2253
|
+
],
|
|
2254
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById],
|
|
2255
|
+
auth: "user",
|
|
2256
|
+
responseKind: "json"
|
|
2257
|
+
},
|
|
2258
|
+
discardPageSurfaceDraftContent: {
|
|
2259
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
|
|
2260
|
+
method: "DELETE",
|
|
2261
|
+
errors: [
|
|
2262
|
+
"validation:invalid_input",
|
|
2263
|
+
"resource:not_found",
|
|
2264
|
+
"resource:conflict",
|
|
2265
|
+
"server:internal_error"
|
|
2266
|
+
],
|
|
2267
|
+
tags: [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById],
|
|
2268
|
+
auth: "user",
|
|
2269
|
+
responseKind: "json"
|
|
2270
|
+
},
|
|
2271
|
+
updatePageSurfaceRouteMetadata: {
|
|
2272
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
|
|
2273
|
+
method: "PATCH",
|
|
2274
|
+
errors: [
|
|
2275
|
+
"validation:invalid_input",
|
|
2276
|
+
"resource:not_found",
|
|
2277
|
+
"resource:conflict",
|
|
2278
|
+
"server:internal_error"
|
|
2279
|
+
],
|
|
2280
|
+
tags: [
|
|
2281
|
+
TAG_TEMPLATES.siteCollection,
|
|
2282
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
2283
|
+
TAG_TEMPLATES.pageSurfaceById
|
|
2284
|
+
],
|
|
2285
|
+
auth: "user",
|
|
2286
|
+
responseKind: "json"
|
|
2287
|
+
},
|
|
2237
2288
|
runSdkWorkflow: {
|
|
2238
2289
|
path: "/sites/{siteId}/content/{type}/{entryId}/workflows/{workflowId}/run",
|
|
2239
2290
|
method: "POST",
|
|
@@ -2614,6 +2665,50 @@ const API_ENDPOINTS$1 = {
|
|
|
2614
2665
|
errors: [],
|
|
2615
2666
|
responseKind: "json"
|
|
2616
2667
|
},
|
|
2668
|
+
getFooterComposition: {
|
|
2669
|
+
path: "/sites/{siteId}/settings/footer-composition",
|
|
2670
|
+
method: "GET",
|
|
2671
|
+
revalidate: 120,
|
|
2672
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2673
|
+
auth: "user",
|
|
2674
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
2675
|
+
responseKind: "json"
|
|
2676
|
+
},
|
|
2677
|
+
updateFooterComposition: {
|
|
2678
|
+
path: "/sites/{siteId}/settings/footer-composition",
|
|
2679
|
+
method: "POST",
|
|
2680
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2681
|
+
auth: "user",
|
|
2682
|
+
demoMutation: DEMO_MUTATION_ALLOWED,
|
|
2683
|
+
errors: [
|
|
2684
|
+
"validation:invalid_input",
|
|
2685
|
+
"resource:not_found",
|
|
2686
|
+
"server:internal_error"
|
|
2687
|
+
],
|
|
2688
|
+
responseKind: "json"
|
|
2689
|
+
},
|
|
2690
|
+
getPublicProfile: {
|
|
2691
|
+
path: "/sites/{siteId}/settings/public-profile",
|
|
2692
|
+
method: "GET",
|
|
2693
|
+
revalidate: 120,
|
|
2694
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2695
|
+
auth: "user",
|
|
2696
|
+
errors: ["resource:not_found", "server:internal_error"],
|
|
2697
|
+
responseKind: "json"
|
|
2698
|
+
},
|
|
2699
|
+
updatePublicProfile: {
|
|
2700
|
+
path: "/sites/{siteId}/settings/public-profile",
|
|
2701
|
+
method: "POST",
|
|
2702
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2703
|
+
auth: "user",
|
|
2704
|
+
demoMutation: DEMO_MUTATION_ALLOWED,
|
|
2705
|
+
errors: [
|
|
2706
|
+
"validation:invalid_input",
|
|
2707
|
+
"resource:not_found",
|
|
2708
|
+
"server:internal_error"
|
|
2709
|
+
],
|
|
2710
|
+
responseKind: "json"
|
|
2711
|
+
},
|
|
2617
2712
|
updateSiteLayoutSettings: {
|
|
2618
2713
|
path: "/sites/{siteId}/settings/layout",
|
|
2619
2714
|
method: "POST",
|
|
@@ -3686,6 +3781,76 @@ const API_ENDPOINTS$1 = {
|
|
|
3686
3781
|
responseKind: "json",
|
|
3687
3782
|
errors: ["resource:not_found"]
|
|
3688
3783
|
},
|
|
3784
|
+
listPageSurfaceContentSlots: {
|
|
3785
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots",
|
|
3786
|
+
method: "GET",
|
|
3787
|
+
tags: [
|
|
3788
|
+
TAG_TEMPLATES.siteCollection,
|
|
3789
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3790
|
+
"surface-slots",
|
|
3791
|
+
"blocks"
|
|
3792
|
+
],
|
|
3793
|
+
auth: "user",
|
|
3794
|
+
responseKind: "json",
|
|
3795
|
+
errors: [
|
|
3796
|
+
"resource:not_found",
|
|
3797
|
+
"resource:conflict",
|
|
3798
|
+
"server:internal_error"
|
|
3799
|
+
]
|
|
3800
|
+
},
|
|
3801
|
+
createPageSurfaceSlotBlock: {
|
|
3802
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks",
|
|
3803
|
+
method: "POST",
|
|
3804
|
+
tags: [
|
|
3805
|
+
TAG_TEMPLATES.siteCollection,
|
|
3806
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3807
|
+
"surface-slot-{slotKey}",
|
|
3808
|
+
"blocks"
|
|
3809
|
+
],
|
|
3810
|
+
auth: "user",
|
|
3811
|
+
responseKind: "json",
|
|
3812
|
+
errors: [
|
|
3813
|
+
"validation:invalid_input",
|
|
3814
|
+
"resource:not_found",
|
|
3815
|
+
"resource:conflict",
|
|
3816
|
+
"server:internal_error"
|
|
3817
|
+
]
|
|
3818
|
+
},
|
|
3819
|
+
reorderPageSurfaceSlotBlocks: {
|
|
3820
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks/reorder",
|
|
3821
|
+
method: "POST",
|
|
3822
|
+
tags: [
|
|
3823
|
+
TAG_TEMPLATES.siteCollection,
|
|
3824
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3825
|
+
"surface-slot-{slotKey}",
|
|
3826
|
+
"blocks"
|
|
3827
|
+
],
|
|
3828
|
+
auth: "user",
|
|
3829
|
+
responseKind: "json",
|
|
3830
|
+
errors: [
|
|
3831
|
+
"validation:invalid_input",
|
|
3832
|
+
"resource:not_found",
|
|
3833
|
+
"resource:conflict",
|
|
3834
|
+
"server:internal_error"
|
|
3835
|
+
]
|
|
3836
|
+
},
|
|
3837
|
+
deletePageSurfaceSlotBlock: {
|
|
3838
|
+
path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/slots/{slotKey}/blocks/{blockId}",
|
|
3839
|
+
method: "DELETE",
|
|
3840
|
+
tags: [
|
|
3841
|
+
TAG_TEMPLATES.siteCollection,
|
|
3842
|
+
TAG_TEMPLATES.pageSurfaceById,
|
|
3843
|
+
"surface-slot-{slotKey}",
|
|
3844
|
+
"blocks"
|
|
3845
|
+
],
|
|
3846
|
+
auth: "user",
|
|
3847
|
+
responseKind: "json",
|
|
3848
|
+
errors: [
|
|
3849
|
+
"resource:not_found",
|
|
3850
|
+
"resource:conflict",
|
|
3851
|
+
"server:internal_error"
|
|
3852
|
+
]
|
|
3853
|
+
},
|
|
3689
3854
|
createBlock: {
|
|
3690
3855
|
path: "/sites/{siteId}/pages/{pageId}/blocks",
|
|
3691
3856
|
method: "POST",
|
|
@@ -6169,6 +6334,41 @@ const API_ENDPOINTS$1 = {
|
|
|
6169
6334
|
auth: "service",
|
|
6170
6335
|
responseKind: "json"
|
|
6171
6336
|
},
|
|
6337
|
+
sdkCatalogTheme: {
|
|
6338
|
+
path: "/sdk/{siteId}/catalog/theme",
|
|
6339
|
+
method: "GET",
|
|
6340
|
+
errors: ["server:internal_error"],
|
|
6341
|
+
auth: "service",
|
|
6342
|
+
responseKind: "json"
|
|
6343
|
+
},
|
|
6344
|
+
sdkCatalogBlocks: {
|
|
6345
|
+
path: "/sdk/{siteId}/catalog/blocks",
|
|
6346
|
+
method: "GET",
|
|
6347
|
+
errors: ["server:internal_error"],
|
|
6348
|
+
auth: "service",
|
|
6349
|
+
responseKind: "json"
|
|
6350
|
+
},
|
|
6351
|
+
sdkCatalogContentTypes: {
|
|
6352
|
+
path: "/sdk/{siteId}/catalog/content-types",
|
|
6353
|
+
method: "GET",
|
|
6354
|
+
errors: ["server:internal_error"],
|
|
6355
|
+
auth: "service",
|
|
6356
|
+
responseKind: "json"
|
|
6357
|
+
},
|
|
6358
|
+
sdkCapabilities: {
|
|
6359
|
+
path: "/sdk/{siteId}/capabilities",
|
|
6360
|
+
method: "GET",
|
|
6361
|
+
errors: ["server:internal_error"],
|
|
6362
|
+
auth: "service",
|
|
6363
|
+
responseKind: "json"
|
|
6364
|
+
},
|
|
6365
|
+
sdkListDemoContent: {
|
|
6366
|
+
path: "/sdk/{siteId}/demo-content",
|
|
6367
|
+
method: "GET",
|
|
6368
|
+
errors: ["server:internal_error"],
|
|
6369
|
+
auth: "service",
|
|
6370
|
+
responseKind: "json"
|
|
6371
|
+
},
|
|
6172
6372
|
sdkPullPages: {
|
|
6173
6373
|
path: "/sdk/{siteId}/pull/pages",
|
|
6174
6374
|
method: "GET",
|
|
@@ -6298,6 +6498,19 @@ const API_ENDPOINTS$1 = {
|
|
|
6298
6498
|
auth: "service",
|
|
6299
6499
|
responseKind: "json"
|
|
6300
6500
|
},
|
|
6501
|
+
sdkPatchPageBlock: {
|
|
6502
|
+
path: "/sdk/{siteId}/pages/{identifier}/blocks/{blockIdentifier}",
|
|
6503
|
+
method: "PATCH",
|
|
6504
|
+
errors: [
|
|
6505
|
+
"validation:invalid_input",
|
|
6506
|
+
"resource:not_found",
|
|
6507
|
+
"resource:conflict",
|
|
6508
|
+
"billing:plan_limit_exceeded",
|
|
6509
|
+
"server:internal_error"
|
|
6510
|
+
],
|
|
6511
|
+
auth: "service",
|
|
6512
|
+
responseKind: "json"
|
|
6513
|
+
},
|
|
6301
6514
|
sdkReorderPageBlocks: {
|
|
6302
6515
|
path: "/sdk/{siteId}/pages/{identifier}/blocks/reorder",
|
|
6303
6516
|
method: "POST",
|
|
@@ -7190,17 +7403,17 @@ function buildEndpointURL(baseURL, endpoint) {
|
|
|
7190
7403
|
function isFormDataBody(value) {
|
|
7191
7404
|
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
7192
7405
|
}
|
|
7193
|
-
function isUnknownArray(value) {
|
|
7406
|
+
function isUnknownArray$1(value) {
|
|
7194
7407
|
return Array.isArray(value);
|
|
7195
7408
|
}
|
|
7196
7409
|
function appendQueryParam(queryParams, key, value) {
|
|
7197
7410
|
if (value === void 0 || value === null) return;
|
|
7198
|
-
if (isUnknownArray(value)) {
|
|
7411
|
+
if (isUnknownArray$1(value)) {
|
|
7199
7412
|
const stack = [...value].reverse();
|
|
7200
7413
|
while (stack.length > 0) {
|
|
7201
7414
|
const item = stack.pop();
|
|
7202
7415
|
if (item === void 0 || item === null) continue;
|
|
7203
|
-
if (isUnknownArray(item)) {
|
|
7416
|
+
if (isUnknownArray$1(item)) {
|
|
7204
7417
|
stack.push(...[...item].reverse());
|
|
7205
7418
|
continue;
|
|
7206
7419
|
}
|
|
@@ -7573,7 +7786,7 @@ var SimpleCache = class {
|
|
|
7573
7786
|
* 1. This constant
|
|
7574
7787
|
* 2. The "version" field in package.json
|
|
7575
7788
|
*/
|
|
7576
|
-
const SDK_VERSION = "0.
|
|
7789
|
+
const SDK_VERSION = "0.109.0";
|
|
7577
7790
|
//#endregion
|
|
7578
7791
|
//#region src/client/error.ts
|
|
7579
7792
|
let _Symbol$for;
|
|
@@ -10174,19 +10387,29 @@ function isRecord$12(value) {
|
|
|
10174
10387
|
//#region ../core/src/booking-date-time.ts
|
|
10175
10388
|
const DEFAULT_LOCALE = "en-US";
|
|
10176
10389
|
const FALLBACK_TIMEZONE = "UTC";
|
|
10390
|
+
const DATE_TIME_FORMATTER_CACHE_LIMIT = 100;
|
|
10391
|
+
const dateTimeFormatterCache = /* @__PURE__ */ new Map();
|
|
10392
|
+
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
10177
10393
|
function isValidTimeZone(timeZone) {
|
|
10394
|
+
const cached = timeZoneValidityCache.get(timeZone);
|
|
10395
|
+
if (cached !== void 0) return cached;
|
|
10396
|
+
let isValid;
|
|
10178
10397
|
try {
|
|
10179
10398
|
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
10180
|
-
|
|
10399
|
+
isValid = true;
|
|
10181
10400
|
} catch {
|
|
10182
|
-
|
|
10401
|
+
isValid = false;
|
|
10183
10402
|
}
|
|
10403
|
+
if (timeZoneValidityCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) timeZoneValidityCache.clear();
|
|
10404
|
+
timeZoneValidityCache.set(timeZone, isValid);
|
|
10405
|
+
return isValid;
|
|
10184
10406
|
}
|
|
10185
10407
|
function getSafeTimeZone(timeZone) {
|
|
10186
10408
|
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
10187
10409
|
return normalized.length > 0 && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
10188
10410
|
}
|
|
10189
10411
|
function parseStrictBookingTimeZone(timeZone) {
|
|
10412
|
+
if (typeof timeZone !== "string") return null;
|
|
10190
10413
|
const normalized = timeZone.trim();
|
|
10191
10414
|
if (normalized.length === 0 || !isValidTimeZone(normalized)) return null;
|
|
10192
10415
|
return normalized;
|
|
@@ -10199,10 +10422,19 @@ function formatParseError(error) {
|
|
|
10199
10422
|
}
|
|
10200
10423
|
}
|
|
10201
10424
|
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
10202
|
-
return new Map(
|
|
10425
|
+
return new Map(getCachedDateTimeFormatter(locale, timeZone, format).formatToParts(date).map((part) => [part.type, part.value]));
|
|
10426
|
+
}
|
|
10427
|
+
function getCachedDateTimeFormatter(locale, timeZone, format) {
|
|
10428
|
+
const key = `${locale}\u0000${timeZone}\u0000${JSON.stringify(Object.entries(format).sort(([left], [right]) => left.localeCompare(right)))}`;
|
|
10429
|
+
const cached = dateTimeFormatterCache.get(key);
|
|
10430
|
+
if (cached !== void 0) return cached;
|
|
10431
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
10203
10432
|
...format,
|
|
10204
10433
|
timeZone
|
|
10205
|
-
})
|
|
10434
|
+
});
|
|
10435
|
+
if (dateTimeFormatterCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) dateTimeFormatterCache.clear();
|
|
10436
|
+
dateTimeFormatterCache.set(key, formatter);
|
|
10437
|
+
return formatter;
|
|
10206
10438
|
}
|
|
10207
10439
|
function getZonedDateTimeParts(date, timeZone) {
|
|
10208
10440
|
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
@@ -10245,23 +10477,9 @@ function toUtcIsoDateTimeString(value) {
|
|
|
10245
10477
|
return parsed.value;
|
|
10246
10478
|
}
|
|
10247
10479
|
function parseScheduledBookingDateTime(input) {
|
|
10480
|
+
let startsAt;
|
|
10248
10481
|
try {
|
|
10249
|
-
|
|
10250
|
-
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
10251
|
-
if (timeZone === null) return {
|
|
10252
|
-
ok: false,
|
|
10253
|
-
field: "timeZone",
|
|
10254
|
-
reason: "invalid_time_zone",
|
|
10255
|
-
value: input.timeZone
|
|
10256
|
-
};
|
|
10257
|
-
return {
|
|
10258
|
-
ok: true,
|
|
10259
|
-
value: {
|
|
10260
|
-
startsAt,
|
|
10261
|
-
timeZone,
|
|
10262
|
-
locale: input.locale
|
|
10263
|
-
}
|
|
10264
|
-
};
|
|
10482
|
+
startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
10265
10483
|
} catch {
|
|
10266
10484
|
return {
|
|
10267
10485
|
ok: false,
|
|
@@ -10270,6 +10488,21 @@ function parseScheduledBookingDateTime(input) {
|
|
|
10270
10488
|
value: input.startsAt
|
|
10271
10489
|
};
|
|
10272
10490
|
}
|
|
10491
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
10492
|
+
if (timeZone === null) return {
|
|
10493
|
+
ok: false,
|
|
10494
|
+
field: "timeZone",
|
|
10495
|
+
reason: "invalid_time_zone",
|
|
10496
|
+
value: typeof input.timeZone === "string" ? input.timeZone : ""
|
|
10497
|
+
};
|
|
10498
|
+
return {
|
|
10499
|
+
ok: true,
|
|
10500
|
+
value: {
|
|
10501
|
+
startsAt,
|
|
10502
|
+
timeZone,
|
|
10503
|
+
locale: input.locale
|
|
10504
|
+
}
|
|
10505
|
+
};
|
|
10273
10506
|
}
|
|
10274
10507
|
function toScheduledBookingDateTime(input) {
|
|
10275
10508
|
const result = parseScheduledBookingDateTime(input);
|
|
@@ -13399,6 +13632,111 @@ const mediaSchema$1 = z.object({
|
|
|
13399
13632
|
transform: transformSchema$1.optional()
|
|
13400
13633
|
});
|
|
13401
13634
|
//#endregion
|
|
13635
|
+
//#region ../theme-core/src/buttons/effectClassification.ts
|
|
13636
|
+
/**
|
|
13637
|
+
* Exhaustive live policy for every registered effect id.
|
|
13638
|
+
*
|
|
13639
|
+
* The resolver consumes the transition payload directly, so adding an effect
|
|
13640
|
+
* cannot update classification without also defining its runtime behavior.
|
|
13641
|
+
*/
|
|
13642
|
+
const BUTTON_EFFECT_POLICIES = {
|
|
13643
|
+
"darken-background": {
|
|
13644
|
+
classification: "colour-transition",
|
|
13645
|
+
transition: {
|
|
13646
|
+
kind: "adjust-shade",
|
|
13647
|
+
direction: "darker"
|
|
13648
|
+
}
|
|
13649
|
+
},
|
|
13650
|
+
"lighten-background": {
|
|
13651
|
+
classification: "colour-transition",
|
|
13652
|
+
transition: {
|
|
13653
|
+
kind: "adjust-shade",
|
|
13654
|
+
direction: "lighter"
|
|
13655
|
+
}
|
|
13656
|
+
},
|
|
13657
|
+
"background-on-hover": {
|
|
13658
|
+
classification: "colour-transition",
|
|
13659
|
+
transition: { kind: "replace-background" }
|
|
13660
|
+
},
|
|
13661
|
+
"background-on-hover-alpha": {
|
|
13662
|
+
classification: "unsupported-colour",
|
|
13663
|
+
reason: "alpha_requires_surface"
|
|
13664
|
+
},
|
|
13665
|
+
"fade-background": {
|
|
13666
|
+
classification: "unsupported-colour",
|
|
13667
|
+
reason: "changes_element_opacity"
|
|
13668
|
+
},
|
|
13669
|
+
"opacity-reduce": {
|
|
13670
|
+
classification: "unsupported-colour",
|
|
13671
|
+
reason: "changes_element_opacity"
|
|
13672
|
+
},
|
|
13673
|
+
"gradient-text": {
|
|
13674
|
+
classification: "unsupported-colour",
|
|
13675
|
+
reason: "changes_foreground"
|
|
13676
|
+
},
|
|
13677
|
+
"text-color-change": {
|
|
13678
|
+
classification: "unsupported-colour",
|
|
13679
|
+
reason: "changes_foreground"
|
|
13680
|
+
},
|
|
13681
|
+
"border-color-change": {
|
|
13682
|
+
classification: "unsupported-colour",
|
|
13683
|
+
reason: "changes_border"
|
|
13684
|
+
},
|
|
13685
|
+
"aurora-glow": {
|
|
13686
|
+
classification: "unsupported-background-overlay",
|
|
13687
|
+
reason: "unresolved_background_overlay"
|
|
13688
|
+
},
|
|
13689
|
+
"cosmic-stardust": {
|
|
13690
|
+
classification: "unsupported-background-overlay",
|
|
13691
|
+
reason: "unresolved_background_overlay"
|
|
13692
|
+
},
|
|
13693
|
+
"gradient-border-fill": {
|
|
13694
|
+
classification: "unsupported-background-overlay",
|
|
13695
|
+
reason: "unresolved_background_overlay"
|
|
13696
|
+
},
|
|
13697
|
+
"animated-gradient-border-fill": {
|
|
13698
|
+
classification: "unsupported-background-overlay",
|
|
13699
|
+
reason: "unresolved_background_overlay"
|
|
13700
|
+
},
|
|
13701
|
+
"nav-underline": {
|
|
13702
|
+
classification: "not-button",
|
|
13703
|
+
reason: "not_button_effect"
|
|
13704
|
+
},
|
|
13705
|
+
"nav-frosted-base": {
|
|
13706
|
+
classification: "not-button",
|
|
13707
|
+
reason: "not_button_effect"
|
|
13708
|
+
},
|
|
13709
|
+
"nav-frosted-hover": {
|
|
13710
|
+
classification: "not-button",
|
|
13711
|
+
reason: "not_button_effect"
|
|
13712
|
+
},
|
|
13713
|
+
"nav-frosted-active": {
|
|
13714
|
+
classification: "not-button",
|
|
13715
|
+
reason: "not_button_effect"
|
|
13716
|
+
},
|
|
13717
|
+
"animated-gradient": { classification: "non-colour" },
|
|
13718
|
+
"border-glow": { classification: "non-colour" },
|
|
13719
|
+
"drop-shadow": { classification: "non-colour" },
|
|
13720
|
+
"inner-shadow": { classification: "non-colour" },
|
|
13721
|
+
"neumorphic-shadow": { classification: "non-colour" },
|
|
13722
|
+
"outer-glow": { classification: "non-colour" },
|
|
13723
|
+
"retro-3d-shadow": { classification: "non-colour" },
|
|
13724
|
+
"scale-up": { classification: "non-colour" },
|
|
13725
|
+
"scale-down": { classification: "non-colour" },
|
|
13726
|
+
lift: { classification: "non-colour" },
|
|
13727
|
+
"press-down": { classification: "non-colour" },
|
|
13728
|
+
pop: { classification: "non-colour" },
|
|
13729
|
+
"border-bottom-grow": { classification: "non-colour" },
|
|
13730
|
+
"sketchy-border": { classification: "non-colour" },
|
|
13731
|
+
"pulse-animation": { classification: "non-colour" }
|
|
13732
|
+
};
|
|
13733
|
+
function getButtonEffectPolicy(effectId) {
|
|
13734
|
+
return Object.prototype.hasOwnProperty.call(BUTTON_EFFECT_POLICIES, effectId) ? BUTTON_EFFECT_POLICIES[effectId] : null;
|
|
13735
|
+
}
|
|
13736
|
+
function classifyButtonEffectId(effectId) {
|
|
13737
|
+
return getButtonEffectPolicy(effectId)?.classification ?? "unknown";
|
|
13738
|
+
}
|
|
13739
|
+
//#endregion
|
|
13402
13740
|
//#region ../theme-core/src/buttons/types.ts
|
|
13403
13741
|
/**
|
|
13404
13742
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -13415,6 +13753,20 @@ const VARIANT_ROLES = [
|
|
|
13415
13753
|
"tertiary",
|
|
13416
13754
|
"accent"
|
|
13417
13755
|
];
|
|
13756
|
+
function parseOpaqueButtonColourToken(value) {
|
|
13757
|
+
const token = parseThemeColorToken(value);
|
|
13758
|
+
if (token === null) return null;
|
|
13759
|
+
const parts = parseColorTokenParts(token);
|
|
13760
|
+
return parts.kind === "token" && parts.opacityPercent === null ? token : null;
|
|
13761
|
+
}
|
|
13762
|
+
function unsafeAsOpaqueButtonColourToken(value) {
|
|
13763
|
+
return value;
|
|
13764
|
+
}
|
|
13765
|
+
const opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => parseOpaqueButtonColourToken(value) !== null, "Button colour tokens must be opaque").transform((value) => {
|
|
13766
|
+
const token = parseOpaqueButtonColourToken(value);
|
|
13767
|
+
if (token === null) throw new Error("Invariant: opaque button token passed its schema");
|
|
13768
|
+
return token;
|
|
13769
|
+
});
|
|
13418
13770
|
const cornerStyleSchema = z$1.enum([
|
|
13419
13771
|
"square",
|
|
13420
13772
|
"rounded",
|
|
@@ -13516,7 +13868,7 @@ const buttonSizesSchema = z$1.object({
|
|
|
13516
13868
|
lg,
|
|
13517
13869
|
xl: xl ?? lg
|
|
13518
13870
|
}));
|
|
13519
|
-
const
|
|
13871
|
+
const canonicalButtonGlobalSettingsSchema = z$1.object({
|
|
13520
13872
|
cornerStyle: cornerStyleSchema,
|
|
13521
13873
|
cornerRadius: z$1.number().min(0).max(24).optional(),
|
|
13522
13874
|
/**
|
|
@@ -13547,11 +13899,12 @@ const buttonGlobalSettingsSchema = z$1.object({
|
|
|
13547
13899
|
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
13548
13900
|
hoverTransform: hoverTransformSchema,
|
|
13549
13901
|
hoverColor: hoverColorSchema,
|
|
13550
|
-
hoverColorToken:
|
|
13902
|
+
hoverColorToken: opaqueButtonColourTokenSchema.optional(),
|
|
13551
13903
|
gradientStyle: gradientStyleSchema.optional(),
|
|
13552
13904
|
gradientAngle: z$1.number().min(0).max(360).optional(),
|
|
13553
13905
|
gradientSharpness: gradientSharpnessSchema.optional()
|
|
13554
13906
|
});
|
|
13907
|
+
const buttonGlobalSettingsSchema = z$1.preprocess(normalizeLegacyButtonGlobalInput, canonicalButtonGlobalSettingsSchema);
|
|
13555
13908
|
const gradientDirectionSchema$1 = z$1.enum([
|
|
13556
13909
|
"to-r",
|
|
13557
13910
|
"to-l",
|
|
@@ -13565,27 +13918,33 @@ const gradientDirectionSchema$1 = z$1.enum([
|
|
|
13565
13918
|
const buttonBackgroundSchema = z$1.discriminatedUnion("type", [
|
|
13566
13919
|
z$1.object({
|
|
13567
13920
|
type: z$1.literal("solid"),
|
|
13568
|
-
colorToken:
|
|
13921
|
+
colorToken: opaqueButtonColourTokenSchema
|
|
13569
13922
|
}),
|
|
13570
13923
|
z$1.object({
|
|
13571
13924
|
type: z$1.literal("gradient"),
|
|
13572
|
-
stops: z$1.array(
|
|
13573
|
-
|
|
13925
|
+
stops: z$1.array(opaqueButtonColourTokenSchema).min(2).transform((stops) => {
|
|
13926
|
+
const [first, second, ...rest] = stops;
|
|
13927
|
+
if (first === void 0 || second === void 0) throw new Error("Invariant: gradient stops passed the minimum length schema");
|
|
13928
|
+
return [
|
|
13929
|
+
first,
|
|
13930
|
+
second,
|
|
13931
|
+
...rest
|
|
13932
|
+
];
|
|
13933
|
+
}),
|
|
13934
|
+
direction: gradientDirectionSchema$1,
|
|
13935
|
+
foregroundToken: opaqueButtonColourTokenSchema
|
|
13574
13936
|
}),
|
|
13575
|
-
z$1.object({
|
|
13937
|
+
z$1.object({
|
|
13938
|
+
type: z$1.literal("surface"),
|
|
13939
|
+
role: z$1.literal("link")
|
|
13940
|
+
})
|
|
13576
13941
|
]);
|
|
13577
13942
|
const effectApplicationSchema$1 = z$1.object({
|
|
13578
13943
|
effectId: z$1.string(),
|
|
13579
|
-
options: z$1.record(z$1.string(), z$1.
|
|
13580
|
-
});
|
|
13581
|
-
const buttonBorderSchema = z$1.object({
|
|
13582
|
-
widthClass: z$1.string(),
|
|
13583
|
-
colorToken: themeColorTokenSchema
|
|
13584
|
-
});
|
|
13585
|
-
const buttonVariantAffordanceSchema = z$1.object({
|
|
13586
|
-
iconId: z$1.string().min(1),
|
|
13587
|
-
colorToken: themeColorTokenSchema.optional()
|
|
13944
|
+
options: z$1.record(z$1.string(), z$1.json()).optional()
|
|
13588
13945
|
});
|
|
13946
|
+
const buttonBorderSchema = z$1.object({ widthClass: z$1.string() });
|
|
13947
|
+
const buttonVariantAffordanceSchema = z$1.object({ iconId: z$1.string().min(1) });
|
|
13589
13948
|
const variantShadowSchema = z$1.object({
|
|
13590
13949
|
elevation: z$1.enum([
|
|
13591
13950
|
"none",
|
|
@@ -13626,27 +13985,170 @@ const variantSizeOverridesSchema = z$1.object({
|
|
|
13626
13985
|
* default (e.g. link-style variants declaring zero horizontal padding at
|
|
13627
13986
|
* every size).
|
|
13628
13987
|
*/
|
|
13629
|
-
const
|
|
13988
|
+
const canonicalButtonVariantSchema = z$1.object({
|
|
13630
13989
|
id: z$1.string(),
|
|
13631
13990
|
name: z$1.string().min(1).max(20),
|
|
13632
13991
|
enabled: z$1.boolean(),
|
|
13633
13992
|
priority: prioritySchema,
|
|
13634
13993
|
background: buttonBackgroundSchema,
|
|
13635
|
-
textColorToken: themeColorTokenSchema,
|
|
13636
13994
|
/** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
|
|
13637
13995
|
borderRadius: z$1.string().optional(),
|
|
13638
13996
|
shadow: variantShadowSchema.optional(),
|
|
13639
13997
|
border: buttonBorderSchema.optional(),
|
|
13640
|
-
hoverBackgroundToken:
|
|
13998
|
+
hoverBackgroundToken: opaqueButtonColourTokenSchema.optional(),
|
|
13641
13999
|
effects: variantEffectsSchema.optional(),
|
|
13642
14000
|
sizes: variantSizeOverridesSchema.optional(),
|
|
13643
14001
|
affordance: buttonVariantAffordanceSchema.optional()
|
|
13644
14002
|
});
|
|
14003
|
+
/**
|
|
14004
|
+
* Temporary persisted-theme admission boundary for issue #1206.
|
|
14005
|
+
*
|
|
14006
|
+
* Production inventory on 2026-07-22 found 22 rows using the old independent
|
|
14007
|
+
* `textColorToken`/border colour shape. New source and all downstream code use
|
|
14008
|
+
* only the canonical relationship. Delete this preprocessor after the reviewed
|
|
14009
|
+
* production rewrite reports zero legacy rows.
|
|
14010
|
+
*/
|
|
14011
|
+
const buttonVariantSchema = z$1.preprocess(normalizeLegacyButtonVariantInput, canonicalButtonVariantSchema);
|
|
13645
14012
|
const buttonSystemSchema = z$1.object({
|
|
13646
14013
|
global: buttonGlobalSettingsSchema,
|
|
13647
14014
|
variants: z$1.array(buttonVariantSchema).min(1).max(6),
|
|
13648
14015
|
sizes: buttonSizesSchema.optional()
|
|
13649
14016
|
});
|
|
14017
|
+
function normalizeLegacyButtonVariantInput(input) {
|
|
14018
|
+
if (!isUnknownRecord(input)) return input;
|
|
14019
|
+
const background = input.background;
|
|
14020
|
+
if (!isUnknownRecord(background)) return input;
|
|
14021
|
+
if (!(background.type === "transparent" || Object.prototype.hasOwnProperty.call(input, "textColorToken") || isUnknownRecord(input.border) && Object.prototype.hasOwnProperty.call(input.border, "colorToken") || hasLegacyButtonEffects(input.effects) || hasLegacyAlphaToken(input, background))) return input;
|
|
14022
|
+
const { textColorToken, ...withoutLegacyText } = input;
|
|
14023
|
+
const normalizedBorder = isUnknownRecord(input.border) && typeof input.border.widthClass === "string" ? { widthClass: input.border.widthClass } : input.border;
|
|
14024
|
+
const normalizedAffordance = isUnknownRecord(input.affordance) && typeof input.affordance.iconId === "string" ? { iconId: input.affordance.iconId } : input.affordance;
|
|
14025
|
+
const normalizedEffects = normalizeLegacyButtonEffects(input.effects, background.type);
|
|
14026
|
+
const hoverBackgroundToken = stripLegacyTokenAlpha(input.hoverBackgroundToken);
|
|
14027
|
+
if (background.type === "transparent") return {
|
|
14028
|
+
...withoutLegacyText,
|
|
14029
|
+
background: {
|
|
14030
|
+
type: "surface",
|
|
14031
|
+
role: "link"
|
|
14032
|
+
},
|
|
14033
|
+
border: normalizedBorder,
|
|
14034
|
+
affordance: normalizedAffordance,
|
|
14035
|
+
effects: normalizedEffects,
|
|
14036
|
+
hoverBackgroundToken
|
|
14037
|
+
};
|
|
14038
|
+
if (background.type === "gradient") {
|
|
14039
|
+
const stops = Array.isArray(background.stops) ? background.stops.map(stripLegacyTokenAlpha) : background.stops;
|
|
14040
|
+
return {
|
|
14041
|
+
...withoutLegacyText,
|
|
14042
|
+
background: {
|
|
14043
|
+
...background,
|
|
14044
|
+
stops,
|
|
14045
|
+
foregroundToken: stripLegacyTokenAlpha(background.foregroundToken ?? textColorToken)
|
|
14046
|
+
},
|
|
14047
|
+
border: normalizedBorder,
|
|
14048
|
+
affordance: normalizedAffordance,
|
|
14049
|
+
effects: normalizedEffects,
|
|
14050
|
+
hoverBackgroundToken
|
|
14051
|
+
};
|
|
14052
|
+
}
|
|
14053
|
+
return {
|
|
14054
|
+
...withoutLegacyText,
|
|
14055
|
+
background: background.type === "solid" ? {
|
|
14056
|
+
...background,
|
|
14057
|
+
colorToken: stripLegacyTokenAlpha(background.colorToken)
|
|
14058
|
+
} : background,
|
|
14059
|
+
border: normalizedBorder,
|
|
14060
|
+
affordance: normalizedAffordance,
|
|
14061
|
+
effects: normalizedEffects,
|
|
14062
|
+
hoverBackgroundToken
|
|
14063
|
+
};
|
|
14064
|
+
}
|
|
14065
|
+
function normalizeLegacyButtonGlobalInput(input) {
|
|
14066
|
+
if (!isUnknownRecord(input)) return input;
|
|
14067
|
+
const hoverColorToken = stripLegacyTokenAlpha(input.hoverColorToken);
|
|
14068
|
+
return hoverColorToken === input.hoverColorToken ? input : {
|
|
14069
|
+
...input,
|
|
14070
|
+
hoverColorToken
|
|
14071
|
+
};
|
|
14072
|
+
}
|
|
14073
|
+
function hasLegacyAlphaToken(input, background) {
|
|
14074
|
+
const stops = isUnknownArray(background.stops) ? background.stops : [];
|
|
14075
|
+
return [
|
|
14076
|
+
input.hoverBackgroundToken,
|
|
14077
|
+
background.colorToken,
|
|
14078
|
+
background.foregroundToken,
|
|
14079
|
+
...stops
|
|
14080
|
+
].some((token) => stripLegacyTokenAlpha(token) !== token);
|
|
14081
|
+
}
|
|
14082
|
+
function stripLegacyTokenAlpha(value) {
|
|
14083
|
+
if (typeof value !== "string") return value;
|
|
14084
|
+
const slashIndex = value.indexOf("/");
|
|
14085
|
+
return slashIndex < 0 ? value : value.slice(0, slashIndex);
|
|
14086
|
+
}
|
|
14087
|
+
function hasLegacyButtonEffects(input) {
|
|
14088
|
+
if (!isUnknownRecord(input)) return false;
|
|
14089
|
+
return [
|
|
14090
|
+
"base",
|
|
14091
|
+
"hover",
|
|
14092
|
+
"active",
|
|
14093
|
+
"focus"
|
|
14094
|
+
].some((state) => {
|
|
14095
|
+
const effects = input[state];
|
|
14096
|
+
return Array.isArray(effects) && effects.some((effect) => {
|
|
14097
|
+
if (!isUnknownRecord(effect) || typeof effect.effectId !== "string") return true;
|
|
14098
|
+
const classification = classifyButtonEffectId(effect.effectId);
|
|
14099
|
+
if (classification !== "colour-transition" && classification !== "non-colour") return true;
|
|
14100
|
+
return effect.effectId === "background-on-hover" && isUnknownRecord(effect.options) && stripLegacyTokenAlpha(effect.options.colorToken) !== effect.options.colorToken;
|
|
14101
|
+
});
|
|
14102
|
+
});
|
|
14103
|
+
}
|
|
14104
|
+
function normalizeLegacyButtonEffects(input, backgroundType) {
|
|
14105
|
+
if (!isUnknownRecord(input)) return input;
|
|
14106
|
+
const normalized = {};
|
|
14107
|
+
for (const state of [
|
|
14108
|
+
"base",
|
|
14109
|
+
"hover",
|
|
14110
|
+
"active",
|
|
14111
|
+
"focus"
|
|
14112
|
+
]) {
|
|
14113
|
+
const effects = input[state];
|
|
14114
|
+
if (!Array.isArray(effects)) continue;
|
|
14115
|
+
const safeEffects = effects.flatMap((effect) => {
|
|
14116
|
+
if (!isUnknownRecord(effect) || typeof effect.effectId !== "string") return [];
|
|
14117
|
+
const classification = classifyButtonEffectId(effect.effectId);
|
|
14118
|
+
if (classification === "non-colour") return [effect];
|
|
14119
|
+
if (classification !== "colour-transition") return [];
|
|
14120
|
+
if (effect.effectId === "background-on-hover") {
|
|
14121
|
+
const options = isUnknownRecord(effect.options) ? effect.options : null;
|
|
14122
|
+
const colorToken = options === null ? null : parseOpaqueButtonColourToken(stripLegacyTokenAlpha(options.colorToken));
|
|
14123
|
+
return colorToken === null ? [] : [{
|
|
14124
|
+
...effect,
|
|
14125
|
+
options: {
|
|
14126
|
+
...options,
|
|
14127
|
+
colorToken
|
|
14128
|
+
}
|
|
14129
|
+
}];
|
|
14130
|
+
}
|
|
14131
|
+
if (backgroundType !== "solid") return [];
|
|
14132
|
+
const rawAmount = isUnknownRecord(effect.options) ? effect.options.amount : void 0;
|
|
14133
|
+
const amount = typeof rawAmount === "number" && rawAmount > 0 ? Math.max(100, Math.round(rawAmount / 100) * 100) : 100;
|
|
14134
|
+
return [{
|
|
14135
|
+
...effect,
|
|
14136
|
+
options: {
|
|
14137
|
+
...isUnknownRecord(effect.options) ? effect.options : {},
|
|
14138
|
+
amount
|
|
14139
|
+
}
|
|
14140
|
+
}];
|
|
14141
|
+
});
|
|
14142
|
+
if (safeEffects.length > 0) normalized[state] = safeEffects;
|
|
14143
|
+
}
|
|
14144
|
+
return Object.keys(normalized).length === 0 ? void 0 : normalized;
|
|
14145
|
+
}
|
|
14146
|
+
function isUnknownRecord(value) {
|
|
14147
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14148
|
+
}
|
|
14149
|
+
function isUnknownArray(value) {
|
|
14150
|
+
return Array.isArray(value);
|
|
14151
|
+
}
|
|
13650
14152
|
buttonSizeNameSchema.options;
|
|
13651
14153
|
//#endregion
|
|
13652
14154
|
//#region ../theme-core/src/buttons/personalities/types.ts
|
|
@@ -13673,7 +14175,7 @@ function defineButtonPersonality(input) {
|
|
|
13673
14175
|
name: input.name,
|
|
13674
14176
|
description: input.description,
|
|
13675
14177
|
tags: input.tags,
|
|
13676
|
-
buttonSystem: input.buttonSystem
|
|
14178
|
+
buttonSystem: buttonSystemSchema.parse(input.buttonSystem)
|
|
13677
14179
|
};
|
|
13678
14180
|
}
|
|
13679
14181
|
//#endregion
|
|
@@ -13726,19 +14228,15 @@ const brushedWash = defineButtonPersonality({
|
|
|
13726
14228
|
background: {
|
|
13727
14229
|
type: "gradient",
|
|
13728
14230
|
stops: ["primary", "accent"],
|
|
13729
|
-
direction: "to-r"
|
|
14231
|
+
direction: "to-r",
|
|
14232
|
+
foregroundToken: "primaryForeground"
|
|
13730
14233
|
},
|
|
13731
|
-
textColorToken: "primaryForeground",
|
|
13732
14234
|
borderRadius: "rounded-lg",
|
|
13733
14235
|
shadow: {
|
|
13734
14236
|
elevation: "low",
|
|
13735
14237
|
softness: "soft",
|
|
13736
14238
|
position: "bottom"
|
|
13737
|
-
}
|
|
13738
|
-
effects: { hover: [{
|
|
13739
|
-
effectId: "opacity-reduce",
|
|
13740
|
-
options: { reduction: -15 }
|
|
13741
|
-
}] }
|
|
14239
|
+
}
|
|
13742
14240
|
},
|
|
13743
14241
|
{
|
|
13744
14242
|
id: "secondary",
|
|
@@ -13748,32 +14246,27 @@ const brushedWash = defineButtonPersonality({
|
|
|
13748
14246
|
background: {
|
|
13749
14247
|
type: "gradient",
|
|
13750
14248
|
stops: ["secondary", "accent"],
|
|
13751
|
-
direction: "to-br"
|
|
14249
|
+
direction: "to-br",
|
|
14250
|
+
foregroundToken: "primaryForeground"
|
|
13752
14251
|
},
|
|
13753
|
-
textColorToken: "primaryForeground",
|
|
13754
14252
|
borderRadius: "rounded-lg",
|
|
13755
14253
|
shadow: {
|
|
13756
14254
|
elevation: "low",
|
|
13757
14255
|
softness: "soft",
|
|
13758
14256
|
position: "bottom"
|
|
13759
|
-
}
|
|
13760
|
-
effects: { hover: [{
|
|
13761
|
-
effectId: "opacity-reduce",
|
|
13762
|
-
options: { reduction: -15 }
|
|
13763
|
-
}] }
|
|
14257
|
+
}
|
|
13764
14258
|
},
|
|
13765
14259
|
{
|
|
13766
14260
|
id: "outline",
|
|
13767
14261
|
name: "Outline",
|
|
13768
14262
|
enabled: true,
|
|
13769
14263
|
priority: 3,
|
|
13770
|
-
background: {
|
|
13771
|
-
|
|
13772
|
-
|
|
13773
|
-
border: {
|
|
13774
|
-
widthClass: "border",
|
|
13775
|
-
colorToken: "primary"
|
|
14264
|
+
background: {
|
|
14265
|
+
type: "surface",
|
|
14266
|
+
role: "link"
|
|
13776
14267
|
},
|
|
14268
|
+
borderRadius: "rounded-lg",
|
|
14269
|
+
border: { widthClass: "border" },
|
|
13777
14270
|
effects: { hover: [{
|
|
13778
14271
|
effectId: "background-on-hover",
|
|
13779
14272
|
options: { colorToken: "surface" }
|
|
@@ -13784,8 +14277,10 @@ const brushedWash = defineButtonPersonality({
|
|
|
13784
14277
|
name: "Ghost",
|
|
13785
14278
|
enabled: true,
|
|
13786
14279
|
priority: 3,
|
|
13787
|
-
background: {
|
|
13788
|
-
|
|
14280
|
+
background: {
|
|
14281
|
+
type: "surface",
|
|
14282
|
+
role: "link"
|
|
14283
|
+
},
|
|
13789
14284
|
borderRadius: "rounded-lg",
|
|
13790
14285
|
effects: { hover: [{
|
|
13791
14286
|
effectId: "background-on-hover",
|
|
@@ -13831,7 +14326,6 @@ const confidentChip = defineButtonPersonality({
|
|
|
13831
14326
|
type: "solid",
|
|
13832
14327
|
colorToken: "primary"
|
|
13833
14328
|
},
|
|
13834
|
-
textColorToken: "primaryForeground",
|
|
13835
14329
|
borderRadius: "rounded-md",
|
|
13836
14330
|
shadow: {
|
|
13837
14331
|
elevation: "medium",
|
|
@@ -13841,7 +14335,7 @@ const confidentChip = defineButtonPersonality({
|
|
|
13841
14335
|
effects: {
|
|
13842
14336
|
hover: [{
|
|
13843
14337
|
effectId: "darken-background",
|
|
13844
|
-
options: { amount:
|
|
14338
|
+
options: { amount: 100 }
|
|
13845
14339
|
}],
|
|
13846
14340
|
active: [{
|
|
13847
14341
|
effectId: "scale-down",
|
|
@@ -13858,12 +14352,8 @@ const confidentChip = defineButtonPersonality({
|
|
|
13858
14352
|
type: "solid",
|
|
13859
14353
|
colorToken: "surface"
|
|
13860
14354
|
},
|
|
13861
|
-
textColorToken: "text",
|
|
13862
14355
|
borderRadius: "rounded-md",
|
|
13863
|
-
border: {
|
|
13864
|
-
widthClass: "border",
|
|
13865
|
-
colorToken: "border"
|
|
13866
|
-
},
|
|
14356
|
+
border: { widthClass: "border" },
|
|
13867
14357
|
effects: { hover: [{
|
|
13868
14358
|
effectId: "background-on-hover",
|
|
13869
14359
|
options: { colorToken: "background" }
|
|
@@ -13874,13 +14364,12 @@ const confidentChip = defineButtonPersonality({
|
|
|
13874
14364
|
name: "Outline",
|
|
13875
14365
|
enabled: true,
|
|
13876
14366
|
priority: 3,
|
|
13877
|
-
background: {
|
|
13878
|
-
|
|
13879
|
-
|
|
13880
|
-
border: {
|
|
13881
|
-
widthClass: "border",
|
|
13882
|
-
colorToken: "primary"
|
|
14367
|
+
background: {
|
|
14368
|
+
type: "surface",
|
|
14369
|
+
role: "link"
|
|
13883
14370
|
},
|
|
14371
|
+
borderRadius: "rounded-md",
|
|
14372
|
+
border: { widthClass: "border" },
|
|
13884
14373
|
effects: { hover: [{
|
|
13885
14374
|
effectId: "background-on-hover",
|
|
13886
14375
|
options: { colorToken: "surface" }
|
|
@@ -13891,8 +14380,10 @@ const confidentChip = defineButtonPersonality({
|
|
|
13891
14380
|
name: "Ghost",
|
|
13892
14381
|
enabled: true,
|
|
13893
14382
|
priority: 3,
|
|
13894
|
-
background: {
|
|
13895
|
-
|
|
14383
|
+
background: {
|
|
14384
|
+
type: "surface",
|
|
14385
|
+
role: "link"
|
|
14386
|
+
},
|
|
13896
14387
|
borderRadius: "rounded-md",
|
|
13897
14388
|
effects: { hover: [{
|
|
13898
14389
|
effectId: "background-on-hover",
|
|
@@ -13955,7 +14446,6 @@ const earthPill = defineButtonPersonality({
|
|
|
13955
14446
|
type: "solid",
|
|
13956
14447
|
colorToken: "primary"
|
|
13957
14448
|
},
|
|
13958
|
-
textColorToken: "primaryForeground",
|
|
13959
14449
|
borderRadius: "rounded-full",
|
|
13960
14450
|
shadow: {
|
|
13961
14451
|
elevation: "low",
|
|
@@ -13981,13 +14471,12 @@ const earthPill = defineButtonPersonality({
|
|
|
13981
14471
|
name: "Secondary",
|
|
13982
14472
|
enabled: true,
|
|
13983
14473
|
priority: 2,
|
|
13984
|
-
background: {
|
|
13985
|
-
|
|
13986
|
-
|
|
13987
|
-
border: {
|
|
13988
|
-
widthClass: "border",
|
|
13989
|
-
colorToken: "primary"
|
|
14474
|
+
background: {
|
|
14475
|
+
type: "surface",
|
|
14476
|
+
role: "link"
|
|
13990
14477
|
},
|
|
14478
|
+
borderRadius: "rounded-full",
|
|
14479
|
+
border: { widthClass: "border" },
|
|
13991
14480
|
effects: { hover: [{
|
|
13992
14481
|
effectId: "background-on-hover",
|
|
13993
14482
|
options: { colorToken: "muted" }
|
|
@@ -13998,13 +14487,12 @@ const earthPill = defineButtonPersonality({
|
|
|
13998
14487
|
name: "Outline",
|
|
13999
14488
|
enabled: true,
|
|
14000
14489
|
priority: 3,
|
|
14001
|
-
background: {
|
|
14002
|
-
|
|
14003
|
-
|
|
14004
|
-
border: {
|
|
14005
|
-
widthClass: "border",
|
|
14006
|
-
colorToken: "border"
|
|
14490
|
+
background: {
|
|
14491
|
+
type: "surface",
|
|
14492
|
+
role: "link"
|
|
14007
14493
|
},
|
|
14494
|
+
borderRadius: "rounded-full",
|
|
14495
|
+
border: { widthClass: "border" },
|
|
14008
14496
|
effects: { hover: [{
|
|
14009
14497
|
effectId: "background-on-hover",
|
|
14010
14498
|
options: { colorToken: "surfaceAlt" }
|
|
@@ -14015,8 +14503,10 @@ const earthPill = defineButtonPersonality({
|
|
|
14015
14503
|
name: "Ghost",
|
|
14016
14504
|
enabled: true,
|
|
14017
14505
|
priority: 3,
|
|
14018
|
-
background: {
|
|
14019
|
-
|
|
14506
|
+
background: {
|
|
14507
|
+
type: "surface",
|
|
14508
|
+
role: "link"
|
|
14509
|
+
},
|
|
14020
14510
|
borderRadius: "rounded-full",
|
|
14021
14511
|
shadow: {
|
|
14022
14512
|
elevation: "none",
|
|
@@ -14037,11 +14527,7 @@ const earthPill = defineButtonPersonality({
|
|
|
14037
14527
|
padding: "0.625rem 0",
|
|
14038
14528
|
fontSize: "text-xl"
|
|
14039
14529
|
}
|
|
14040
|
-
}
|
|
14041
|
-
effects: { hover: [{
|
|
14042
|
-
effectId: "opacity-reduce",
|
|
14043
|
-
options: { reduction: 25 }
|
|
14044
|
-
}] }
|
|
14530
|
+
}
|
|
14045
14531
|
}
|
|
14046
14532
|
]
|
|
14047
14533
|
}
|
|
@@ -14077,8 +14563,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
14077
14563
|
name: "Primary",
|
|
14078
14564
|
enabled: true,
|
|
14079
14565
|
priority: 1,
|
|
14080
|
-
background: {
|
|
14081
|
-
|
|
14566
|
+
background: {
|
|
14567
|
+
type: "surface",
|
|
14568
|
+
role: "link"
|
|
14569
|
+
},
|
|
14082
14570
|
borderRadius: "rounded-none",
|
|
14083
14571
|
sizes: {
|
|
14084
14572
|
sm: { padding: "0.25rem 0" },
|
|
@@ -14100,8 +14588,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
14100
14588
|
name: "Secondary",
|
|
14101
14589
|
enabled: true,
|
|
14102
14590
|
priority: 2,
|
|
14103
|
-
background: {
|
|
14104
|
-
|
|
14591
|
+
background: {
|
|
14592
|
+
type: "surface",
|
|
14593
|
+
role: "link"
|
|
14594
|
+
},
|
|
14105
14595
|
borderRadius: "rounded-none",
|
|
14106
14596
|
sizes: {
|
|
14107
14597
|
sm: { padding: "0.25rem 0" },
|
|
@@ -14123,8 +14613,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
14123
14613
|
name: "Outline",
|
|
14124
14614
|
enabled: true,
|
|
14125
14615
|
priority: 3,
|
|
14126
|
-
background: {
|
|
14127
|
-
|
|
14616
|
+
background: {
|
|
14617
|
+
type: "surface",
|
|
14618
|
+
role: "link"
|
|
14619
|
+
},
|
|
14128
14620
|
borderRadius: "rounded-none",
|
|
14129
14621
|
sizes: {
|
|
14130
14622
|
sm: { padding: "0.25rem 0" },
|
|
@@ -14146,19 +14638,17 @@ const editorialLink = defineButtonPersonality({
|
|
|
14146
14638
|
name: "Ghost",
|
|
14147
14639
|
enabled: true,
|
|
14148
14640
|
priority: 3,
|
|
14149
|
-
background: {
|
|
14150
|
-
|
|
14641
|
+
background: {
|
|
14642
|
+
type: "surface",
|
|
14643
|
+
role: "link"
|
|
14644
|
+
},
|
|
14151
14645
|
borderRadius: "rounded-none",
|
|
14152
14646
|
sizes: {
|
|
14153
14647
|
sm: { padding: "0.25rem 0" },
|
|
14154
14648
|
md: { padding: "0.5rem 0" },
|
|
14155
14649
|
lg: { padding: "0.625rem 0" },
|
|
14156
14650
|
xl: { padding: "0.75rem 0" }
|
|
14157
|
-
}
|
|
14158
|
-
effects: { hover: [{
|
|
14159
|
-
effectId: "opacity-reduce",
|
|
14160
|
-
options: { reduction: -20 }
|
|
14161
|
-
}] }
|
|
14651
|
+
}
|
|
14162
14652
|
}
|
|
14163
14653
|
]
|
|
14164
14654
|
}
|
|
@@ -14220,12 +14710,8 @@ const flatInk = defineButtonPersonality({
|
|
|
14220
14710
|
type: "solid",
|
|
14221
14711
|
colorToken: "primary"
|
|
14222
14712
|
},
|
|
14223
|
-
textColorToken: "primaryForeground",
|
|
14224
14713
|
borderRadius: "rounded-lg",
|
|
14225
|
-
affordance: {
|
|
14226
|
-
iconId: "ArrowRight",
|
|
14227
|
-
colorToken: "accent"
|
|
14228
|
-
},
|
|
14714
|
+
affordance: { iconId: "ArrowRight" },
|
|
14229
14715
|
effects: { hover: [{
|
|
14230
14716
|
effectId: "lift",
|
|
14231
14717
|
options: { translateY: "-2px" }
|
|
@@ -14239,13 +14725,12 @@ const flatInk = defineButtonPersonality({
|
|
|
14239
14725
|
name: "Secondary",
|
|
14240
14726
|
enabled: true,
|
|
14241
14727
|
priority: 2,
|
|
14242
|
-
background: {
|
|
14243
|
-
|
|
14244
|
-
|
|
14245
|
-
border: {
|
|
14246
|
-
widthClass: "border",
|
|
14247
|
-
colorToken: "border"
|
|
14728
|
+
background: {
|
|
14729
|
+
type: "surface",
|
|
14730
|
+
role: "link"
|
|
14248
14731
|
},
|
|
14732
|
+
borderRadius: "rounded-lg",
|
|
14733
|
+
border: { widthClass: "border" },
|
|
14249
14734
|
effects: { hover: [{
|
|
14250
14735
|
effectId: "lift",
|
|
14251
14736
|
options: { translateY: "-2px" }
|
|
@@ -14263,12 +14748,8 @@ const flatInk = defineButtonPersonality({
|
|
|
14263
14748
|
type: "solid",
|
|
14264
14749
|
colorToken: "accent"
|
|
14265
14750
|
},
|
|
14266
|
-
textColorToken: "accentForeground",
|
|
14267
14751
|
borderRadius: "rounded-lg",
|
|
14268
|
-
affordance: {
|
|
14269
|
-
iconId: "ArrowRight",
|
|
14270
|
-
colorToken: "accentForeground"
|
|
14271
|
-
},
|
|
14752
|
+
affordance: { iconId: "ArrowRight" },
|
|
14272
14753
|
effects: { hover: [{
|
|
14273
14754
|
effectId: "lift",
|
|
14274
14755
|
options: { translateY: "-2px" }
|
|
@@ -14331,7 +14812,6 @@ const inkStamp = defineButtonPersonality({
|
|
|
14331
14812
|
type: "solid",
|
|
14332
14813
|
colorToken: "primary"
|
|
14333
14814
|
},
|
|
14334
|
-
textColorToken: "primaryForeground",
|
|
14335
14815
|
borderRadius: "rounded-md",
|
|
14336
14816
|
effects: {
|
|
14337
14817
|
hover: [{
|
|
@@ -14352,13 +14832,12 @@ const inkStamp = defineButtonPersonality({
|
|
|
14352
14832
|
name: "Secondary",
|
|
14353
14833
|
enabled: true,
|
|
14354
14834
|
priority: 2,
|
|
14355
|
-
background: {
|
|
14356
|
-
|
|
14357
|
-
|
|
14358
|
-
border: {
|
|
14359
|
-
widthClass: "border-2",
|
|
14360
|
-
colorToken: "primary"
|
|
14835
|
+
background: {
|
|
14836
|
+
type: "surface",
|
|
14837
|
+
role: "link"
|
|
14361
14838
|
},
|
|
14839
|
+
borderRadius: "rounded-md",
|
|
14840
|
+
border: { widthClass: "border-2" },
|
|
14362
14841
|
effects: { hover: [{
|
|
14363
14842
|
effectId: "background-on-hover",
|
|
14364
14843
|
options: { colorToken: "surface" }
|
|
@@ -14369,13 +14848,12 @@ const inkStamp = defineButtonPersonality({
|
|
|
14369
14848
|
name: "Outline",
|
|
14370
14849
|
enabled: true,
|
|
14371
14850
|
priority: 3,
|
|
14372
|
-
background: {
|
|
14373
|
-
|
|
14374
|
-
|
|
14375
|
-
border: {
|
|
14376
|
-
widthClass: "border-2",
|
|
14377
|
-
colorToken: "border"
|
|
14851
|
+
background: {
|
|
14852
|
+
type: "surface",
|
|
14853
|
+
role: "link"
|
|
14378
14854
|
},
|
|
14855
|
+
borderRadius: "rounded-md",
|
|
14856
|
+
border: { widthClass: "border-2" },
|
|
14379
14857
|
effects: { hover: [{
|
|
14380
14858
|
effectId: "background-on-hover",
|
|
14381
14859
|
options: { colorToken: "surface" }
|
|
@@ -14386,8 +14864,10 @@ const inkStamp = defineButtonPersonality({
|
|
|
14386
14864
|
name: "Ghost",
|
|
14387
14865
|
enabled: true,
|
|
14388
14866
|
priority: 3,
|
|
14389
|
-
background: {
|
|
14390
|
-
|
|
14867
|
+
background: {
|
|
14868
|
+
type: "surface",
|
|
14869
|
+
role: "link"
|
|
14870
|
+
},
|
|
14391
14871
|
borderRadius: "rounded-none",
|
|
14392
14872
|
sizes: {
|
|
14393
14873
|
sm: {
|
|
@@ -14480,7 +14960,6 @@ const joyStamp = defineButtonPersonality({
|
|
|
14480
14960
|
type: "solid",
|
|
14481
14961
|
colorToken: "primary"
|
|
14482
14962
|
},
|
|
14483
|
-
textColorToken: "primaryForeground",
|
|
14484
14963
|
borderRadius: "rounded-full",
|
|
14485
14964
|
shadow: {
|
|
14486
14965
|
elevation: "high",
|
|
@@ -14494,13 +14973,12 @@ const joyStamp = defineButtonPersonality({
|
|
|
14494
14973
|
name: "Secondary",
|
|
14495
14974
|
enabled: true,
|
|
14496
14975
|
priority: 2,
|
|
14497
|
-
background: {
|
|
14498
|
-
|
|
14499
|
-
|
|
14500
|
-
border: {
|
|
14501
|
-
widthClass: "border-2",
|
|
14502
|
-
colorToken: "text"
|
|
14976
|
+
background: {
|
|
14977
|
+
type: "surface",
|
|
14978
|
+
role: "link"
|
|
14503
14979
|
},
|
|
14980
|
+
borderRadius: "rounded-full",
|
|
14981
|
+
border: { widthClass: "border-2" },
|
|
14504
14982
|
shadow: {
|
|
14505
14983
|
elevation: "high",
|
|
14506
14984
|
softness: "hard",
|
|
@@ -14565,12 +15043,8 @@ const ornateRitual = defineButtonPersonality({
|
|
|
14565
15043
|
type: "solid",
|
|
14566
15044
|
colorToken: "primary"
|
|
14567
15045
|
},
|
|
14568
|
-
textColorToken: "primaryForeground",
|
|
14569
15046
|
borderRadius: "rounded-md",
|
|
14570
|
-
border: {
|
|
14571
|
-
widthClass: "border",
|
|
14572
|
-
colorToken: "primary"
|
|
14573
|
-
},
|
|
15047
|
+
border: { widthClass: "border" },
|
|
14574
15048
|
effects: {
|
|
14575
15049
|
hover: [{
|
|
14576
15050
|
effectId: "background-on-hover",
|
|
@@ -14591,12 +15065,8 @@ const ornateRitual = defineButtonPersonality({
|
|
|
14591
15065
|
type: "solid",
|
|
14592
15066
|
colorToken: "secondary"
|
|
14593
15067
|
},
|
|
14594
|
-
textColorToken: "primaryForeground",
|
|
14595
15068
|
borderRadius: "rounded-md",
|
|
14596
|
-
border: {
|
|
14597
|
-
widthClass: "border",
|
|
14598
|
-
colorToken: "primary"
|
|
14599
|
-
},
|
|
15069
|
+
border: { widthClass: "border" },
|
|
14600
15070
|
effects: { hover: [{
|
|
14601
15071
|
effectId: "background-on-hover",
|
|
14602
15072
|
options: { colorToken: "surface" }
|
|
@@ -14607,13 +15077,12 @@ const ornateRitual = defineButtonPersonality({
|
|
|
14607
15077
|
name: "Outline",
|
|
14608
15078
|
enabled: true,
|
|
14609
15079
|
priority: 3,
|
|
14610
|
-
background: {
|
|
14611
|
-
|
|
14612
|
-
|
|
14613
|
-
border: {
|
|
14614
|
-
widthClass: "border",
|
|
14615
|
-
colorToken: "primary"
|
|
15080
|
+
background: {
|
|
15081
|
+
type: "surface",
|
|
15082
|
+
role: "link"
|
|
14616
15083
|
},
|
|
15084
|
+
borderRadius: "rounded-md",
|
|
15085
|
+
border: { widthClass: "border" },
|
|
14617
15086
|
effects: { hover: [{
|
|
14618
15087
|
effectId: "background-on-hover",
|
|
14619
15088
|
options: { colorToken: "muted" }
|
|
@@ -14624,8 +15093,10 @@ const ornateRitual = defineButtonPersonality({
|
|
|
14624
15093
|
name: "Ghost",
|
|
14625
15094
|
enabled: true,
|
|
14626
15095
|
priority: 3,
|
|
14627
|
-
background: {
|
|
14628
|
-
|
|
15096
|
+
background: {
|
|
15097
|
+
type: "surface",
|
|
15098
|
+
role: "link"
|
|
15099
|
+
},
|
|
14629
15100
|
borderRadius: "rounded-none",
|
|
14630
15101
|
sizes: {
|
|
14631
15102
|
sm: {
|
|
@@ -14707,14 +15178,10 @@ const pebble = defineButtonPersonality({
|
|
|
14707
15178
|
type: "solid",
|
|
14708
15179
|
colorToken: "primary"
|
|
14709
15180
|
},
|
|
14710
|
-
textColorToken: "primaryForeground",
|
|
14711
15181
|
borderRadius: "rounded-full",
|
|
14712
15182
|
effects: { hover: [{
|
|
14713
|
-
effectId: "background
|
|
14714
|
-
options: {
|
|
14715
|
-
colorToken: "primary",
|
|
14716
|
-
opacity: 88
|
|
14717
|
-
}
|
|
15183
|
+
effectId: "darken-background",
|
|
15184
|
+
options: { amount: 100 }
|
|
14718
15185
|
}] }
|
|
14719
15186
|
},
|
|
14720
15187
|
{
|
|
@@ -14722,13 +15189,12 @@ const pebble = defineButtonPersonality({
|
|
|
14722
15189
|
name: "Secondary",
|
|
14723
15190
|
enabled: true,
|
|
14724
15191
|
priority: 2,
|
|
14725
|
-
background: {
|
|
14726
|
-
|
|
14727
|
-
|
|
14728
|
-
border: {
|
|
14729
|
-
widthClass: "border-2",
|
|
14730
|
-
colorToken: "accent"
|
|
15192
|
+
background: {
|
|
15193
|
+
type: "surface",
|
|
15194
|
+
role: "link"
|
|
14731
15195
|
},
|
|
15196
|
+
borderRadius: "rounded-full",
|
|
15197
|
+
border: { widthClass: "border-2" },
|
|
14732
15198
|
effects: { hover: [{
|
|
14733
15199
|
effectId: "background-on-hover",
|
|
14734
15200
|
options: { colorToken: "accent" }
|
|
@@ -14739,13 +15205,12 @@ const pebble = defineButtonPersonality({
|
|
|
14739
15205
|
name: "Outline",
|
|
14740
15206
|
enabled: true,
|
|
14741
15207
|
priority: 3,
|
|
14742
|
-
background: {
|
|
14743
|
-
|
|
14744
|
-
|
|
14745
|
-
border: {
|
|
14746
|
-
widthClass: "border",
|
|
14747
|
-
colorToken: "border"
|
|
15208
|
+
background: {
|
|
15209
|
+
type: "surface",
|
|
15210
|
+
role: "link"
|
|
14748
15211
|
},
|
|
15212
|
+
borderRadius: "rounded-full",
|
|
15213
|
+
border: { widthClass: "border" },
|
|
14749
15214
|
effects: { hover: [{
|
|
14750
15215
|
effectId: "background-on-hover",
|
|
14751
15216
|
options: { colorToken: "surface" }
|
|
@@ -14756,8 +15221,10 @@ const pebble = defineButtonPersonality({
|
|
|
14756
15221
|
name: "Ghost",
|
|
14757
15222
|
enabled: true,
|
|
14758
15223
|
priority: 3,
|
|
14759
|
-
background: {
|
|
14760
|
-
|
|
15224
|
+
background: {
|
|
15225
|
+
type: "surface",
|
|
15226
|
+
role: "link"
|
|
15227
|
+
},
|
|
14761
15228
|
borderRadius: "rounded-full",
|
|
14762
15229
|
sizes: {
|
|
14763
15230
|
sm: {
|
|
@@ -14773,11 +15240,7 @@ const pebble = defineButtonPersonality({
|
|
|
14773
15240
|
padding: "0.75rem 1.5rem",
|
|
14774
15241
|
fontSize: "text-xl"
|
|
14775
15242
|
}
|
|
14776
|
-
}
|
|
14777
|
-
effects: { hover: [{
|
|
14778
|
-
effectId: "opacity-reduce",
|
|
14779
|
-
options: { reduction: 30 }
|
|
14780
|
-
}] }
|
|
15243
|
+
}
|
|
14781
15244
|
}
|
|
14782
15245
|
]
|
|
14783
15246
|
}
|
|
@@ -14839,15 +15302,11 @@ const quietArrow = defineButtonPersonality({
|
|
|
14839
15302
|
type: "solid",
|
|
14840
15303
|
colorToken: "primary"
|
|
14841
15304
|
},
|
|
14842
|
-
textColorToken: "primaryForeground",
|
|
14843
15305
|
borderRadius: "rounded-xl",
|
|
14844
15306
|
affordance: { iconId: "ArrowRight" },
|
|
14845
15307
|
effects: { hover: [{
|
|
14846
|
-
effectId: "background
|
|
14847
|
-
options: {
|
|
14848
|
-
colorToken: "primary",
|
|
14849
|
-
opacity: 90
|
|
14850
|
-
}
|
|
15308
|
+
effectId: "darken-background",
|
|
15309
|
+
options: { amount: 100 }
|
|
14851
15310
|
}] }
|
|
14852
15311
|
},
|
|
14853
15312
|
{
|
|
@@ -14855,13 +15314,12 @@ const quietArrow = defineButtonPersonality({
|
|
|
14855
15314
|
name: "Secondary",
|
|
14856
15315
|
enabled: true,
|
|
14857
15316
|
priority: 2,
|
|
14858
|
-
background: {
|
|
14859
|
-
|
|
14860
|
-
|
|
14861
|
-
border: {
|
|
14862
|
-
widthClass: "border",
|
|
14863
|
-
colorToken: "primary"
|
|
15317
|
+
background: {
|
|
15318
|
+
type: "surface",
|
|
15319
|
+
role: "link"
|
|
14864
15320
|
},
|
|
15321
|
+
borderRadius: "rounded-xl",
|
|
15322
|
+
border: { widthClass: "border" },
|
|
14865
15323
|
affordance: { iconId: "ArrowRight" },
|
|
14866
15324
|
effects: { hover: [{
|
|
14867
15325
|
effectId: "background-on-hover",
|
|
@@ -14873,21 +15331,22 @@ const quietArrow = defineButtonPersonality({
|
|
|
14873
15331
|
name: "Outline",
|
|
14874
15332
|
enabled: true,
|
|
14875
15333
|
priority: 3,
|
|
14876
|
-
background: {
|
|
14877
|
-
|
|
15334
|
+
background: {
|
|
15335
|
+
type: "surface",
|
|
15336
|
+
role: "link"
|
|
15337
|
+
},
|
|
14878
15338
|
borderRadius: "rounded-xl",
|
|
14879
|
-
border: {
|
|
14880
|
-
widthClass: "border",
|
|
14881
|
-
colorToken: "primary"
|
|
14882
|
-
}
|
|
15339
|
+
border: { widthClass: "border" }
|
|
14883
15340
|
},
|
|
14884
15341
|
{
|
|
14885
15342
|
id: "ghost",
|
|
14886
15343
|
name: "Ghost",
|
|
14887
15344
|
enabled: true,
|
|
14888
15345
|
priority: 3,
|
|
14889
|
-
background: {
|
|
14890
|
-
|
|
15346
|
+
background: {
|
|
15347
|
+
type: "surface",
|
|
15348
|
+
role: "link"
|
|
15349
|
+
},
|
|
14891
15350
|
borderRadius: "rounded-xl"
|
|
14892
15351
|
}
|
|
14893
15352
|
]
|
|
@@ -14951,7 +15410,6 @@ const showtimePill = defineButtonPersonality({
|
|
|
14951
15410
|
type: "solid",
|
|
14952
15411
|
colorToken: "primary"
|
|
14953
15412
|
},
|
|
14954
|
-
textColorToken: "background",
|
|
14955
15413
|
borderRadius: "rounded-full",
|
|
14956
15414
|
effects: { hover: [{ effectId: "pop" }] }
|
|
14957
15415
|
},
|
|
@@ -14960,13 +15418,12 @@ const showtimePill = defineButtonPersonality({
|
|
|
14960
15418
|
name: "Secondary",
|
|
14961
15419
|
enabled: true,
|
|
14962
15420
|
priority: 2,
|
|
14963
|
-
background: {
|
|
14964
|
-
|
|
14965
|
-
|
|
14966
|
-
border: {
|
|
14967
|
-
widthClass: "border-2",
|
|
14968
|
-
colorToken: "primary"
|
|
15421
|
+
background: {
|
|
15422
|
+
type: "surface",
|
|
15423
|
+
role: "link"
|
|
14969
15424
|
},
|
|
15425
|
+
borderRadius: "rounded-full",
|
|
15426
|
+
border: { widthClass: "border-2" },
|
|
14970
15427
|
effects: { hover: [{ effectId: "pop" }] }
|
|
14971
15428
|
},
|
|
14972
15429
|
{
|
|
@@ -14978,7 +15435,6 @@ const showtimePill = defineButtonPersonality({
|
|
|
14978
15435
|
type: "solid",
|
|
14979
15436
|
colorToken: "secondary"
|
|
14980
15437
|
},
|
|
14981
|
-
textColorToken: "primary",
|
|
14982
15438
|
borderRadius: "rounded-full",
|
|
14983
15439
|
effects: { hover: [{ effectId: "pop" }] }
|
|
14984
15440
|
},
|
|
@@ -14991,12 +15447,8 @@ const showtimePill = defineButtonPersonality({
|
|
|
14991
15447
|
type: "solid",
|
|
14992
15448
|
colorToken: "background"
|
|
14993
15449
|
},
|
|
14994
|
-
textColorToken: "primary",
|
|
14995
15450
|
borderRadius: "rounded-full",
|
|
14996
|
-
border: {
|
|
14997
|
-
widthClass: "border-2",
|
|
14998
|
-
colorToken: "primary"
|
|
14999
|
-
},
|
|
15451
|
+
border: { widthClass: "border-2" },
|
|
15000
15452
|
effects: { hover: [{
|
|
15001
15453
|
effectId: "background-on-hover",
|
|
15002
15454
|
options: { colorToken: "surface" }
|
|
@@ -15007,13 +15459,12 @@ const showtimePill = defineButtonPersonality({
|
|
|
15007
15459
|
name: "Outline",
|
|
15008
15460
|
enabled: true,
|
|
15009
15461
|
priority: 3,
|
|
15010
|
-
background: {
|
|
15011
|
-
|
|
15012
|
-
|
|
15013
|
-
border: {
|
|
15014
|
-
widthClass: "border-2",
|
|
15015
|
-
colorToken: "primary"
|
|
15462
|
+
background: {
|
|
15463
|
+
type: "surface",
|
|
15464
|
+
role: "link"
|
|
15016
15465
|
},
|
|
15466
|
+
borderRadius: "rounded-full",
|
|
15467
|
+
border: { widthClass: "border-2" },
|
|
15017
15468
|
effects: { hover: [{
|
|
15018
15469
|
effectId: "background-on-hover",
|
|
15019
15470
|
options: { colorToken: "background" }
|
|
@@ -15024,8 +15475,10 @@ const showtimePill = defineButtonPersonality({
|
|
|
15024
15475
|
name: "Ghost",
|
|
15025
15476
|
enabled: true,
|
|
15026
15477
|
priority: 3,
|
|
15027
|
-
background: {
|
|
15028
|
-
|
|
15478
|
+
background: {
|
|
15479
|
+
type: "surface",
|
|
15480
|
+
role: "link"
|
|
15481
|
+
},
|
|
15029
15482
|
borderRadius: "rounded-full",
|
|
15030
15483
|
effects: { hover: [{
|
|
15031
15484
|
effectId: "background-on-hover",
|
|
@@ -15036,104 +15489,151 @@ const showtimePill = defineButtonPersonality({
|
|
|
15036
15489
|
}
|
|
15037
15490
|
});
|
|
15038
15491
|
//#endregion
|
|
15039
|
-
//#region ../theme-core/src/buttons/personalities/
|
|
15040
|
-
|
|
15041
|
-
|
|
15042
|
-
|
|
15043
|
-
|
|
15044
|
-
|
|
15045
|
-
|
|
15046
|
-
|
|
15047
|
-
|
|
15048
|
-
|
|
15049
|
-
|
|
15492
|
+
//#region ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
15493
|
+
/**
|
|
15494
|
+
* Soft Pill — rounded-full pill buttons with a hover lift. The default for
|
|
15495
|
+
* Calm Studio and Modern Wellness; reads as quietly modern and welcoming.
|
|
15496
|
+
*/
|
|
15497
|
+
const softPill = defineButtonPersonality({
|
|
15498
|
+
id: "soft-pill",
|
|
15499
|
+
name: "Soft Pill",
|
|
15500
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
15501
|
+
tags: {
|
|
15502
|
+
tone: "classic",
|
|
15503
|
+
energy: "calm",
|
|
15504
|
+
motion: "subtle",
|
|
15505
|
+
era: "organic"
|
|
15506
|
+
},
|
|
15507
|
+
buttonSystem: {
|
|
15508
|
+
global: {
|
|
15509
|
+
cornerStyle: "pill",
|
|
15510
|
+
shadow: "low",
|
|
15511
|
+
textTransform: "none",
|
|
15512
|
+
fontWeight: 500,
|
|
15513
|
+
borderWidth: 2,
|
|
15514
|
+
hoverTransform: "lift",
|
|
15515
|
+
hoverColor: "none"
|
|
15050
15516
|
},
|
|
15051
|
-
|
|
15052
|
-
|
|
15053
|
-
|
|
15054
|
-
|
|
15055
|
-
|
|
15056
|
-
|
|
15057
|
-
|
|
15058
|
-
|
|
15059
|
-
|
|
15517
|
+
variants: [
|
|
15518
|
+
{
|
|
15519
|
+
id: "primary",
|
|
15520
|
+
name: "Primary",
|
|
15521
|
+
enabled: true,
|
|
15522
|
+
priority: 1,
|
|
15523
|
+
background: {
|
|
15524
|
+
type: "solid",
|
|
15525
|
+
colorToken: "primary"
|
|
15526
|
+
},
|
|
15527
|
+
borderRadius: "rounded-full",
|
|
15528
|
+
shadow: {
|
|
15529
|
+
elevation: "low",
|
|
15530
|
+
softness: "soft",
|
|
15531
|
+
position: "bottom"
|
|
15532
|
+
},
|
|
15533
|
+
effects: {
|
|
15534
|
+
hover: [{
|
|
15535
|
+
effectId: "lift",
|
|
15536
|
+
options: { translateY: "-1px" }
|
|
15537
|
+
}],
|
|
15538
|
+
active: [{
|
|
15539
|
+
effectId: "scale-down",
|
|
15540
|
+
options: { scale: "0.98" }
|
|
15541
|
+
}]
|
|
15542
|
+
}
|
|
15060
15543
|
},
|
|
15061
|
-
|
|
15062
|
-
|
|
15063
|
-
|
|
15064
|
-
|
|
15065
|
-
|
|
15066
|
-
|
|
15067
|
-
|
|
15068
|
-
|
|
15069
|
-
colorToken: "primary"
|
|
15070
|
-
},
|
|
15071
|
-
textColorToken: "primaryForeground",
|
|
15072
|
-
borderRadius: "rounded-full",
|
|
15073
|
-
shadow: {
|
|
15074
|
-
elevation: "low",
|
|
15075
|
-
softness: "soft",
|
|
15076
|
-
position: "bottom"
|
|
15077
|
-
},
|
|
15078
|
-
effects: {
|
|
15079
|
-
hover: [{
|
|
15080
|
-
effectId: "lift",
|
|
15081
|
-
options: { translateY: "-1px" }
|
|
15082
|
-
}],
|
|
15083
|
-
active: [{
|
|
15084
|
-
effectId: "scale-down",
|
|
15085
|
-
options: { scale: "0.98" }
|
|
15086
|
-
}]
|
|
15087
|
-
}
|
|
15544
|
+
{
|
|
15545
|
+
id: "secondary",
|
|
15546
|
+
name: "Secondary",
|
|
15547
|
+
enabled: true,
|
|
15548
|
+
priority: 2,
|
|
15549
|
+
background: {
|
|
15550
|
+
type: "surface",
|
|
15551
|
+
role: "link"
|
|
15088
15552
|
},
|
|
15089
|
-
|
|
15090
|
-
|
|
15091
|
-
|
|
15092
|
-
|
|
15093
|
-
|
|
15094
|
-
|
|
15095
|
-
|
|
15096
|
-
|
|
15097
|
-
|
|
15098
|
-
|
|
15099
|
-
|
|
15100
|
-
|
|
15101
|
-
|
|
15102
|
-
|
|
15103
|
-
|
|
15104
|
-
}] }
|
|
15553
|
+
borderRadius: "rounded-full",
|
|
15554
|
+
border: { widthClass: "border-2" },
|
|
15555
|
+
effects: { hover: [{
|
|
15556
|
+
effectId: "background-on-hover",
|
|
15557
|
+
options: { colorToken: "surface" }
|
|
15558
|
+
}] }
|
|
15559
|
+
},
|
|
15560
|
+
{
|
|
15561
|
+
id: "outline",
|
|
15562
|
+
name: "Outline",
|
|
15563
|
+
enabled: true,
|
|
15564
|
+
priority: 3,
|
|
15565
|
+
background: {
|
|
15566
|
+
type: "surface",
|
|
15567
|
+
role: "link"
|
|
15105
15568
|
},
|
|
15106
|
-
|
|
15107
|
-
|
|
15108
|
-
|
|
15109
|
-
|
|
15110
|
-
|
|
15111
|
-
|
|
15112
|
-
|
|
15113
|
-
|
|
15114
|
-
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15121
|
-
}] }
|
|
15569
|
+
borderRadius: "rounded-full",
|
|
15570
|
+
border: { widthClass: "border" },
|
|
15571
|
+
effects: { hover: [{
|
|
15572
|
+
effectId: "background-on-hover",
|
|
15573
|
+
options: { colorToken: "surface" }
|
|
15574
|
+
}] }
|
|
15575
|
+
},
|
|
15576
|
+
{
|
|
15577
|
+
id: "ghost",
|
|
15578
|
+
name: "Ghost",
|
|
15579
|
+
enabled: true,
|
|
15580
|
+
priority: 3,
|
|
15581
|
+
background: {
|
|
15582
|
+
type: "surface",
|
|
15583
|
+
role: "link"
|
|
15122
15584
|
},
|
|
15123
|
-
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
|
|
15585
|
+
borderRadius: "rounded-full",
|
|
15586
|
+
effects: { hover: [{
|
|
15587
|
+
effectId: "background-on-hover",
|
|
15588
|
+
options: { colorToken: "surface" }
|
|
15589
|
+
}] }
|
|
15590
|
+
}
|
|
15591
|
+
]
|
|
15592
|
+
}
|
|
15593
|
+
});
|
|
15594
|
+
//#endregion
|
|
15595
|
+
//#region ../theme-core/src/buttons/personalities/two-tone-pill.ts
|
|
15596
|
+
const solidSecondary = {
|
|
15597
|
+
id: "secondary",
|
|
15598
|
+
name: "Secondary",
|
|
15599
|
+
enabled: true,
|
|
15600
|
+
priority: 2,
|
|
15601
|
+
background: {
|
|
15602
|
+
type: "solid",
|
|
15603
|
+
colorToken: unsafeAsOpaqueButtonColourToken("secondary")
|
|
15604
|
+
},
|
|
15605
|
+
borderRadius: "rounded-full",
|
|
15606
|
+
shadow: {
|
|
15607
|
+
elevation: "none",
|
|
15608
|
+
softness: null,
|
|
15609
|
+
position: "bottom"
|
|
15610
|
+
},
|
|
15611
|
+
effects: {
|
|
15612
|
+
hover: [{
|
|
15613
|
+
effectId: "background-on-hover-alpha",
|
|
15614
|
+
options: {
|
|
15615
|
+
colorToken: "secondary",
|
|
15616
|
+
opacity: 88
|
|
15617
|
+
}
|
|
15618
|
+
}],
|
|
15619
|
+
active: [{
|
|
15620
|
+
effectId: "scale-down",
|
|
15621
|
+
options: { scale: "0.98" }
|
|
15622
|
+
}]
|
|
15623
|
+
}
|
|
15624
|
+
};
|
|
15625
|
+
//#endregion
|
|
15626
|
+
//#region ../theme-core/src/buttons/personalities/index.ts
|
|
15627
|
+
const buttonPersonalities = [
|
|
15628
|
+
softPill,
|
|
15629
|
+
defineButtonPersonality({
|
|
15630
|
+
id: "two-tone-pill",
|
|
15631
|
+
name: "Two-tone Pill",
|
|
15632
|
+
description: "Rounded pills with distinct solid primary and secondary brand colours.",
|
|
15633
|
+
tags: softPill.tags,
|
|
15634
|
+
buttonSystem: {
|
|
15635
|
+
...softPill.buttonSystem,
|
|
15636
|
+
variants: softPill.buttonSystem.variants.map((variant) => variant.id === "secondary" ? solidSecondary : variant)
|
|
15137
15637
|
}
|
|
15138
15638
|
}),
|
|
15139
15639
|
earthPill,
|
|
@@ -15149,6 +15649,27 @@ const buttonPersonalities = [
|
|
|
15149
15649
|
quietArrow
|
|
15150
15650
|
];
|
|
15151
15651
|
new Map(buttonPersonalities.map((p) => [p.id, p]));
|
|
15652
|
+
buttonPersonalities.map((personality) => ({
|
|
15653
|
+
id: personality.id,
|
|
15654
|
+
name: personality.name,
|
|
15655
|
+
description: personality.description,
|
|
15656
|
+
category: presetCategory(personality),
|
|
15657
|
+
buttonSystem: personality.buttonSystem,
|
|
15658
|
+
compatibility: {
|
|
15659
|
+
...personality.tags.tone ? { tones: [personality.tags.tone] } : {},
|
|
15660
|
+
...personality.tags.energy ? { energies: [personality.tags.energy] } : {}
|
|
15661
|
+
}
|
|
15662
|
+
}));
|
|
15663
|
+
function presetCategory(personality) {
|
|
15664
|
+
switch (personality.tags.era) {
|
|
15665
|
+
case "retro": return "retro";
|
|
15666
|
+
case "editorial": return "minimal";
|
|
15667
|
+
case "organic": return "artistic";
|
|
15668
|
+
case "modern": return personality.tags.tone === "bold" ? "modern" : "technical";
|
|
15669
|
+
case "technical": return "technical";
|
|
15670
|
+
case void 0: return "modern";
|
|
15671
|
+
}
|
|
15672
|
+
}
|
|
15152
15673
|
//#endregion
|
|
15153
15674
|
//#region ../theme-core/src/cards/types.ts
|
|
15154
15675
|
const cardVariantRoleValues = ["default", "alternative"];
|
|
@@ -16667,6 +17188,7 @@ const navFontWeight = z$1.enum([
|
|
|
16667
17188
|
"bold"
|
|
16668
17189
|
]);
|
|
16669
17190
|
const headerMaxWidth = z$1.enum(["container", "full"]);
|
|
17191
|
+
const headerBarFrame = z$1.enum(["full-bleed", "inset-shell"]);
|
|
16670
17192
|
const headerContainerSchema = z$1.object({
|
|
16671
17193
|
rounded: z$1.enum([
|
|
16672
17194
|
"none",
|
|
@@ -16811,6 +17333,7 @@ const headerSchema = z$1.object({
|
|
|
16811
17333
|
positioning: headerPositioning,
|
|
16812
17334
|
shrinkOnScroll: z$1.boolean(),
|
|
16813
17335
|
maxWidth: headerMaxWidth,
|
|
17336
|
+
barFrame: headerBarFrame.optional(),
|
|
16814
17337
|
logoOverride: mediaSchema$1.nullable().optional(),
|
|
16815
17338
|
background: headerBackgroundSchema.default({
|
|
16816
17339
|
type: "color",
|
|
@@ -16820,6 +17343,7 @@ const headerSchema = z$1.object({
|
|
|
16820
17343
|
navStyle: headerNavStyle,
|
|
16821
17344
|
navColor: themeColorTokenSchema.nullable().optional(),
|
|
16822
17345
|
navWeight: navFontWeight.default("medium"),
|
|
17346
|
+
navFontRole: z$1.enum(["body", "heading"]).optional(),
|
|
16823
17347
|
navTypography: z$1.enum(["body", "heading"]).optional(),
|
|
16824
17348
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
16825
17349
|
navPlacement: z$1.enum(["end", "center"]).optional(),
|
|
@@ -16835,7 +17359,21 @@ const headerSchema = z$1.object({
|
|
|
16835
17359
|
ctaTreatment: headerCtaTreatmentSchema.optional(),
|
|
16836
17360
|
ctaVariant: z$1.string().min(1).optional(),
|
|
16837
17361
|
dropdownStyle: dropdownStyleSchema
|
|
16838
|
-
});
|
|
17362
|
+
}).transform(normaliseHeaderNavFontRole);
|
|
17363
|
+
/**
|
|
17364
|
+
* Normalises the legacy `navTypography` font-role alias into the canonical
|
|
17365
|
+
* `navFontRole` field so persisted themes migrate at the parse boundary without
|
|
17366
|
+
* a data migration. `navFontRole` always wins when both are present; the legacy
|
|
17367
|
+
* field is dropped so we never carry a dual write forward.
|
|
17368
|
+
*/
|
|
17369
|
+
function normaliseHeaderNavFontRole(header) {
|
|
17370
|
+
if (header.navTypography === void 0) return header;
|
|
17371
|
+
const { navTypography, ...rest } = header;
|
|
17372
|
+
return header.navFontRole === void 0 ? {
|
|
17373
|
+
...rest,
|
|
17374
|
+
navFontRole: navTypography
|
|
17375
|
+
} : rest;
|
|
17376
|
+
}
|
|
16839
17377
|
const footerVariant = z$1.enum([
|
|
16840
17378
|
"simple",
|
|
16841
17379
|
"columns",
|
|
@@ -18609,6 +19147,241 @@ const originalJoyCardSystem = { variants: [{
|
|
|
18609
19147
|
const serifDisplayQuote = { style: "serif-display" };
|
|
18610
19148
|
/** Punchy quotation mark in the secondary accent colour. Bold / accent styles. */
|
|
18611
19149
|
const accentGlyphQuote = { style: "accent-glyph" };
|
|
19150
|
+
/**
|
|
19151
|
+
* Curated library of gradient presets.
|
|
19152
|
+
* All gradients use theme color tokens, so they adapt to the site's palette.
|
|
19153
|
+
*/
|
|
19154
|
+
const GRADIENT_PRESETS = [
|
|
19155
|
+
{
|
|
19156
|
+
id: "primary-secondary",
|
|
19157
|
+
name: "Primary to Secondary",
|
|
19158
|
+
description: "Blend your primary and secondary brand colors",
|
|
19159
|
+
type: "linear",
|
|
19160
|
+
angle: 135,
|
|
19161
|
+
stops: [{
|
|
19162
|
+
color: "primary-500",
|
|
19163
|
+
position: 0
|
|
19164
|
+
}, {
|
|
19165
|
+
color: "secondary-500",
|
|
19166
|
+
position: 100
|
|
19167
|
+
}]
|
|
19168
|
+
},
|
|
19169
|
+
{
|
|
19170
|
+
id: "primary-accent",
|
|
19171
|
+
name: "Primary to Accent",
|
|
19172
|
+
description: "Energetic gradient from primary to accent",
|
|
19173
|
+
type: "linear",
|
|
19174
|
+
angle: 135,
|
|
19175
|
+
stops: [{
|
|
19176
|
+
color: "primary-500",
|
|
19177
|
+
position: 0
|
|
19178
|
+
}, {
|
|
19179
|
+
color: "accent-500",
|
|
19180
|
+
position: 100
|
|
19181
|
+
}]
|
|
19182
|
+
},
|
|
19183
|
+
{
|
|
19184
|
+
id: "secondary-accent",
|
|
19185
|
+
name: "Secondary to Accent",
|
|
19186
|
+
description: "Vibrant secondary to accent blend",
|
|
19187
|
+
type: "linear",
|
|
19188
|
+
angle: 135,
|
|
19189
|
+
stops: [{
|
|
19190
|
+
color: "secondary-500",
|
|
19191
|
+
position: 0
|
|
19192
|
+
}, {
|
|
19193
|
+
color: "accent-500",
|
|
19194
|
+
position: 100
|
|
19195
|
+
}]
|
|
19196
|
+
},
|
|
19197
|
+
{
|
|
19198
|
+
id: "primary-light-dark",
|
|
19199
|
+
name: "Primary Light to Dark",
|
|
19200
|
+
description: "Subtle primary color fade",
|
|
19201
|
+
type: "linear",
|
|
19202
|
+
angle: 180,
|
|
19203
|
+
stops: [{
|
|
19204
|
+
color: "primary-500",
|
|
19205
|
+
position: 0
|
|
19206
|
+
}, {
|
|
19207
|
+
color: "primary-900",
|
|
19208
|
+
position: 100
|
|
19209
|
+
}]
|
|
19210
|
+
},
|
|
19211
|
+
{
|
|
19212
|
+
id: "primary-dark-light",
|
|
19213
|
+
name: "Primary Dark to Light",
|
|
19214
|
+
description: "Reverse primary fade",
|
|
19215
|
+
type: "linear",
|
|
19216
|
+
angle: 180,
|
|
19217
|
+
stops: [{
|
|
19218
|
+
color: "primary-900",
|
|
19219
|
+
position: 0
|
|
19220
|
+
}, {
|
|
19221
|
+
color: "primary-50",
|
|
19222
|
+
position: 100
|
|
19223
|
+
}]
|
|
19224
|
+
},
|
|
19225
|
+
{
|
|
19226
|
+
id: "secondary-light-dark",
|
|
19227
|
+
name: "Secondary Light to Dark",
|
|
19228
|
+
description: "Subtle secondary color fade",
|
|
19229
|
+
type: "linear",
|
|
19230
|
+
angle: 180,
|
|
19231
|
+
stops: [{
|
|
19232
|
+
color: "secondary-500",
|
|
19233
|
+
position: 0
|
|
19234
|
+
}, {
|
|
19235
|
+
color: "secondary-900",
|
|
19236
|
+
position: 100
|
|
19237
|
+
}]
|
|
19238
|
+
},
|
|
19239
|
+
{
|
|
19240
|
+
id: "accent-light-dark",
|
|
19241
|
+
name: "Accent Light to Dark",
|
|
19242
|
+
description: "Accent color depth fade",
|
|
19243
|
+
type: "linear",
|
|
19244
|
+
angle: 180,
|
|
19245
|
+
stops: [{
|
|
19246
|
+
color: "accent-500",
|
|
19247
|
+
position: 0
|
|
19248
|
+
}, {
|
|
19249
|
+
color: "accent-900",
|
|
19250
|
+
position: 100
|
|
19251
|
+
}]
|
|
19252
|
+
},
|
|
19253
|
+
{
|
|
19254
|
+
id: "background-surface",
|
|
19255
|
+
name: "Background to Surface",
|
|
19256
|
+
description: "Subtle depth using base colors",
|
|
19257
|
+
type: "linear",
|
|
19258
|
+
angle: 180,
|
|
19259
|
+
stops: [{
|
|
19260
|
+
color: "background",
|
|
19261
|
+
position: 0
|
|
19262
|
+
}, {
|
|
19263
|
+
color: "surface",
|
|
19264
|
+
position: 100
|
|
19265
|
+
}]
|
|
19266
|
+
},
|
|
19267
|
+
{
|
|
19268
|
+
id: "neutral-fade",
|
|
19269
|
+
name: "Neutral Gradient",
|
|
19270
|
+
description: "Elegant neutral color fade",
|
|
19271
|
+
type: "linear",
|
|
19272
|
+
angle: 180,
|
|
19273
|
+
stops: [{
|
|
19274
|
+
color: "neutral-900",
|
|
19275
|
+
position: 0
|
|
19276
|
+
}, {
|
|
19277
|
+
color: "neutral-50",
|
|
19278
|
+
position: 100
|
|
19279
|
+
}]
|
|
19280
|
+
},
|
|
19281
|
+
{
|
|
19282
|
+
id: "primary-glow",
|
|
19283
|
+
name: "Primary glow",
|
|
19284
|
+
description: "A soft top-centred glow using your primary palette",
|
|
19285
|
+
type: "radial",
|
|
19286
|
+
shape: "ellipse",
|
|
19287
|
+
position: "top center",
|
|
19288
|
+
stops: [{
|
|
19289
|
+
color: "primary-900",
|
|
19290
|
+
position: 0
|
|
19291
|
+
}, {
|
|
19292
|
+
color: "primary-950",
|
|
19293
|
+
position: 100
|
|
19294
|
+
}],
|
|
19295
|
+
foreground: {
|
|
19296
|
+
textColor: "onPrimary900",
|
|
19297
|
+
headingColor: "onPrimary900",
|
|
19298
|
+
linkColor: "onPrimary900",
|
|
19299
|
+
supportingColor: "onPrimary900"
|
|
19300
|
+
}
|
|
19301
|
+
},
|
|
19302
|
+
{
|
|
19303
|
+
id: "accent-glow",
|
|
19304
|
+
name: "Accent glow",
|
|
19305
|
+
description: "A soft top-centred glow using your accent palette",
|
|
19306
|
+
type: "radial",
|
|
19307
|
+
shape: "ellipse",
|
|
19308
|
+
position: "top center",
|
|
19309
|
+
stops: [{
|
|
19310
|
+
color: "accent-900",
|
|
19311
|
+
position: 0
|
|
19312
|
+
}, {
|
|
19313
|
+
color: "accent-950",
|
|
19314
|
+
position: 100
|
|
19315
|
+
}],
|
|
19316
|
+
foreground: {
|
|
19317
|
+
textColor: "onAccent900",
|
|
19318
|
+
headingColor: "onAccent900",
|
|
19319
|
+
linkColor: "onAccent900",
|
|
19320
|
+
supportingColor: "onAccent900"
|
|
19321
|
+
}
|
|
19322
|
+
},
|
|
19323
|
+
{
|
|
19324
|
+
id: "primary-secondary-accent",
|
|
19325
|
+
name: "Brand Trio",
|
|
19326
|
+
description: "All three brand colors in harmony",
|
|
19327
|
+
type: "linear",
|
|
19328
|
+
angle: 135,
|
|
19329
|
+
stops: [
|
|
19330
|
+
{
|
|
19331
|
+
color: "primary-500",
|
|
19332
|
+
position: 0
|
|
19333
|
+
},
|
|
19334
|
+
{
|
|
19335
|
+
color: "secondary-500",
|
|
19336
|
+
position: 50
|
|
19337
|
+
},
|
|
19338
|
+
{
|
|
19339
|
+
color: "accent-500",
|
|
19340
|
+
position: 100
|
|
19341
|
+
}
|
|
19342
|
+
]
|
|
19343
|
+
}
|
|
19344
|
+
].map((preset) => ({
|
|
19345
|
+
...preset,
|
|
19346
|
+
id: preset.id,
|
|
19347
|
+
stops: preset.stops
|
|
19348
|
+
}));
|
|
19349
|
+
const GRADIENT_PRESET_IDS = GRADIENT_PRESETS.map((preset) => preset.id);
|
|
19350
|
+
const gradientPresetIdSet = new Set(GRADIENT_PRESET_IDS);
|
|
19351
|
+
const gradientPresetById = Object.fromEntries(GRADIENT_PRESETS.map((preset) => [preset.id, preset]));
|
|
19352
|
+
function parseGradientPresetId(value) {
|
|
19353
|
+
if (typeof value !== "string") return null;
|
|
19354
|
+
const normalized = value.trim();
|
|
19355
|
+
if (!gradientPresetIdSet.has(normalized)) return null;
|
|
19356
|
+
return normalized;
|
|
19357
|
+
}
|
|
19358
|
+
function getGradientPreset(id) {
|
|
19359
|
+
return gradientPresetById[id];
|
|
19360
|
+
}
|
|
19361
|
+
//#endregion
|
|
19362
|
+
//#region ../theme-core/src/gradients/utils.ts
|
|
19363
|
+
/**
|
|
19364
|
+
* Convert a GradientConfig to a CSS gradient string
|
|
19365
|
+
*
|
|
19366
|
+
* @param config - The gradient configuration using theme tokens
|
|
19367
|
+
* @param tokens - Map of theme color tokens to hex values
|
|
19368
|
+
* @returns CSS gradient string (e.g., "linear-gradient(180deg, #3b82f6 0%, #f59e0b 100%)")
|
|
19369
|
+
*/
|
|
19370
|
+
function gradientToCss(config, tokens) {
|
|
19371
|
+
const stops = config.stops.map((stop) => {
|
|
19372
|
+
return `${tokens[stop.color] ?? "#000000"} ${stop.position}%`;
|
|
19373
|
+
}).join(", ");
|
|
19374
|
+
const type = config.type ?? "linear";
|
|
19375
|
+
if (type === "radial") {
|
|
19376
|
+
const position = config.position ?? "center";
|
|
19377
|
+
return `radial-gradient(${config.shape ?? "circle"} at ${position}, ${stops})`;
|
|
19378
|
+
}
|
|
19379
|
+
if (type === "conic") {
|
|
19380
|
+
const position = config.position ?? "center";
|
|
19381
|
+
return `conic-gradient(from ${config.angle ?? 0}deg at ${position}, ${stops})`;
|
|
19382
|
+
}
|
|
19383
|
+
return `linear-gradient(${config.angle ?? 180}deg, ${stops})`;
|
|
19384
|
+
}
|
|
18612
19385
|
//#endregion
|
|
18613
19386
|
//#region ../theme-core/src/site-styles/headerLooks.ts
|
|
18614
19387
|
function asHeaderLookId(value) {
|
|
@@ -18743,7 +19516,7 @@ const overlayLogoAccommodations = [
|
|
|
18743
19516
|
* optional nested styling fields that would otherwise leak from another Look.
|
|
18744
19517
|
*/
|
|
18745
19518
|
function baseHeader(theme) {
|
|
18746
|
-
const { navLinkStyle: _navLinkStyle, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
19519
|
+
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
18747
19520
|
return {
|
|
18748
19521
|
...header,
|
|
18749
19522
|
navContainer: {
|
|
@@ -18892,6 +19665,17 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
18892
19665
|
navTypography: "brand-caps",
|
|
18893
19666
|
moods: ["expressive"]
|
|
18894
19667
|
},
|
|
19668
|
+
{
|
|
19669
|
+
id: asHeaderStyleId("brand-capsule"),
|
|
19670
|
+
label: "Brand Capsule",
|
|
19671
|
+
description: "Solid brand chrome designed as a floating capsule, with quiet-caps nav, a soft pill active state, and an inverted CTA pill.",
|
|
19672
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
19673
|
+
navInteraction: "pill-background",
|
|
19674
|
+
surface: "brand-solid",
|
|
19675
|
+
defaultDepth: "shadow",
|
|
19676
|
+
navTypography: "quiet-caps",
|
|
19677
|
+
moods: ["expressive", "professional"]
|
|
19678
|
+
},
|
|
18895
19679
|
{
|
|
18896
19680
|
id: asHeaderStyleId("serif-line"),
|
|
18897
19681
|
label: "Serif Line",
|
|
@@ -18985,6 +19769,7 @@ const headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
18985
19769
|
"brand-bar",
|
|
18986
19770
|
"brand-underline",
|
|
18987
19771
|
"brand-pill",
|
|
19772
|
+
"brand-capsule",
|
|
18988
19773
|
"serif-line",
|
|
18989
19774
|
"flat-tabs"
|
|
18990
19775
|
])],
|
|
@@ -19022,6 +19807,11 @@ headerStyleRepairChain([
|
|
|
19022
19807
|
"brand-pill",
|
|
19023
19808
|
"brand-bar",
|
|
19024
19809
|
"minimal"
|
|
19810
|
+
]), headerStyleRepairChain([
|
|
19811
|
+
"brand-capsule",
|
|
19812
|
+
"brand-pill",
|
|
19813
|
+
"brand-bar",
|
|
19814
|
+
"minimal"
|
|
19025
19815
|
]), headerStyleRepairChain([
|
|
19026
19816
|
"pill-nav",
|
|
19027
19817
|
"soft-bar",
|
|
@@ -20635,6 +21425,19 @@ z$1.object({
|
|
|
20635
21425
|
}).strict();
|
|
20636
21426
|
//#endregion
|
|
20637
21427
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
21428
|
+
function defineSectionForegroundRuntimeTokens(input) {
|
|
21429
|
+
return {
|
|
21430
|
+
textColor: requireThemeColorToken(input.textColor),
|
|
21431
|
+
headingColor: requireThemeColorToken(input.headingColor),
|
|
21432
|
+
linkColor: requireThemeColorToken(input.linkColor),
|
|
21433
|
+
supportingColor: requireThemeColorToken(input.supportingColor)
|
|
21434
|
+
};
|
|
21435
|
+
}
|
|
21436
|
+
function requireThemeColorToken(value) {
|
|
21437
|
+
const token = parseThemeColorToken(value);
|
|
21438
|
+
if (!token) throw new Error(`Invalid section foreground Theme color token: ${String(value)}`);
|
|
21439
|
+
return token;
|
|
21440
|
+
}
|
|
20638
21441
|
function defineDesignRuntimeRules(rules) {
|
|
20639
21442
|
return rules;
|
|
20640
21443
|
}
|
|
@@ -20905,24 +21708,24 @@ const kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
20905
21708
|
type: "color",
|
|
20906
21709
|
color: "muted"
|
|
20907
21710
|
},
|
|
20908
|
-
foreground: {
|
|
21711
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
20909
21712
|
textColor: "text",
|
|
20910
21713
|
headingColor: "primary",
|
|
20911
21714
|
linkColor: "primary",
|
|
20912
21715
|
supportingColor: "text"
|
|
20913
|
-
}
|
|
21716
|
+
})
|
|
20914
21717
|
},
|
|
20915
21718
|
"brand-depth-band": {
|
|
20916
21719
|
background: {
|
|
20917
21720
|
type: "color",
|
|
20918
21721
|
color: "primary-800"
|
|
20919
21722
|
},
|
|
20920
|
-
foreground: {
|
|
21723
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
20921
21724
|
textColor: "text",
|
|
20922
21725
|
headingColor: "primary",
|
|
20923
21726
|
linkColor: "primary",
|
|
20924
21727
|
supportingColor: "text"
|
|
20925
|
-
}
|
|
21728
|
+
})
|
|
20926
21729
|
},
|
|
20927
21730
|
"hero-image": {
|
|
20928
21731
|
background: {
|
|
@@ -20930,12 +21733,32 @@ const kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
20930
21733
|
opacity: 1,
|
|
20931
21734
|
position: "center center"
|
|
20932
21735
|
},
|
|
20933
|
-
foreground: {
|
|
21736
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
20934
21737
|
textColor: "text",
|
|
20935
21738
|
headingColor: "primary",
|
|
20936
21739
|
linkColor: "primary",
|
|
20937
21740
|
supportingColor: "text"
|
|
20938
|
-
}
|
|
21741
|
+
})
|
|
21742
|
+
}
|
|
21743
|
+
}
|
|
21744
|
+
});
|
|
21745
|
+
const primaryGlowGradientPresetId = parseGradientPresetId("primary-glow");
|
|
21746
|
+
if (!primaryGlowGradientPresetId) throw new Error("Expected primary-glow in the Theme Core gradient catalog");
|
|
21747
|
+
const fulcrumDesignRuntimeRules = defineDesignRuntimeRules({
|
|
21748
|
+
...defaultDesignRuntimeRules,
|
|
21749
|
+
sectionSurfaces: {
|
|
21750
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
21751
|
+
"accent-band": {
|
|
21752
|
+
background: {
|
|
21753
|
+
type: "gradient",
|
|
21754
|
+
gradientPresetId: primaryGlowGradientPresetId
|
|
21755
|
+
},
|
|
21756
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
21757
|
+
textColor: "primaryForeground",
|
|
21758
|
+
headingColor: "primaryForeground",
|
|
21759
|
+
linkColor: "primaryForeground",
|
|
21760
|
+
supportingColor: "primaryForeground"
|
|
21761
|
+
})
|
|
20939
21762
|
}
|
|
20940
21763
|
}
|
|
20941
21764
|
});
|
|
@@ -21259,6 +22082,7 @@ const curatedSiteStyles = [
|
|
|
21259
22082
|
],
|
|
21260
22083
|
buttonPersonalityChoices: [
|
|
21261
22084
|
buttonChoice("soft-pill"),
|
|
22085
|
+
buttonChoice("two-tone-pill"),
|
|
21262
22086
|
buttonChoice("pebble"),
|
|
21263
22087
|
buttonChoice("editorial-link"),
|
|
21264
22088
|
buttonChoice("brushed-wash")
|
|
@@ -22322,6 +23146,8 @@ const curatedSiteStyles = [
|
|
|
22322
23146
|
},
|
|
22323
23147
|
compositionBudget: quietBudget,
|
|
22324
23148
|
typography: fulcrumTypography,
|
|
23149
|
+
designRuntimeRules: fulcrumDesignRuntimeRules,
|
|
23150
|
+
recommendedAppearancePresetIds: ["cta-accent-band"],
|
|
22325
23151
|
themeOverrides: {
|
|
22326
23152
|
shadow: { colorToken: "primary" },
|
|
22327
23153
|
accordions: {
|
|
@@ -22438,6 +23264,7 @@ const curatedSiteStyles = [
|
|
|
22438
23264
|
],
|
|
22439
23265
|
buttonPersonalityChoices: [
|
|
22440
23266
|
buttonChoice("quiet-arrow"),
|
|
23267
|
+
buttonChoice("two-tone-pill"),
|
|
22441
23268
|
buttonChoice("flat-ink"),
|
|
22442
23269
|
buttonChoice("editorial-link")
|
|
22443
23270
|
],
|
|
@@ -22693,213 +23520,6 @@ z$1.object({
|
|
|
22693
23520
|
spacing: z$1.enum(themeTokenRecipeOptions.spacing),
|
|
22694
23521
|
motion: z$1.enum(themeTokenRecipeOptions.motion)
|
|
22695
23522
|
});
|
|
22696
|
-
//#endregion
|
|
22697
|
-
//#region ../theme-core/src/gradients/presets.ts
|
|
22698
|
-
/**
|
|
22699
|
-
* Curated library of gradient presets
|
|
22700
|
-
* All gradients use theme color tokens, so they adapt to the site's palette
|
|
22701
|
-
*/
|
|
22702
|
-
const GRADIENT_PRESETS = [
|
|
22703
|
-
{
|
|
22704
|
-
id: "primary-secondary",
|
|
22705
|
-
name: "Primary to Secondary",
|
|
22706
|
-
description: "Blend your primary and secondary brand colors",
|
|
22707
|
-
type: "linear",
|
|
22708
|
-
angle: 135,
|
|
22709
|
-
stops: [{
|
|
22710
|
-
color: "primary-500",
|
|
22711
|
-
position: 0
|
|
22712
|
-
}, {
|
|
22713
|
-
color: "secondary-500",
|
|
22714
|
-
position: 100
|
|
22715
|
-
}]
|
|
22716
|
-
},
|
|
22717
|
-
{
|
|
22718
|
-
id: "primary-accent",
|
|
22719
|
-
name: "Primary to Accent",
|
|
22720
|
-
description: "Energetic gradient from primary to accent",
|
|
22721
|
-
type: "linear",
|
|
22722
|
-
angle: 135,
|
|
22723
|
-
stops: [{
|
|
22724
|
-
color: "primary-500",
|
|
22725
|
-
position: 0
|
|
22726
|
-
}, {
|
|
22727
|
-
color: "accent-500",
|
|
22728
|
-
position: 100
|
|
22729
|
-
}]
|
|
22730
|
-
},
|
|
22731
|
-
{
|
|
22732
|
-
id: "secondary-accent",
|
|
22733
|
-
name: "Secondary to Accent",
|
|
22734
|
-
description: "Vibrant secondary to accent blend",
|
|
22735
|
-
type: "linear",
|
|
22736
|
-
angle: 135,
|
|
22737
|
-
stops: [{
|
|
22738
|
-
color: "secondary-500",
|
|
22739
|
-
position: 0
|
|
22740
|
-
}, {
|
|
22741
|
-
color: "accent-500",
|
|
22742
|
-
position: 100
|
|
22743
|
-
}]
|
|
22744
|
-
},
|
|
22745
|
-
{
|
|
22746
|
-
id: "primary-light-dark",
|
|
22747
|
-
name: "Primary Light to Dark",
|
|
22748
|
-
description: "Subtle primary color fade",
|
|
22749
|
-
type: "linear",
|
|
22750
|
-
angle: 180,
|
|
22751
|
-
stops: [{
|
|
22752
|
-
color: "primary-500",
|
|
22753
|
-
position: 0
|
|
22754
|
-
}, {
|
|
22755
|
-
color: "primary-900",
|
|
22756
|
-
position: 100
|
|
22757
|
-
}]
|
|
22758
|
-
},
|
|
22759
|
-
{
|
|
22760
|
-
id: "primary-dark-light",
|
|
22761
|
-
name: "Primary Dark to Light",
|
|
22762
|
-
description: "Reverse primary fade",
|
|
22763
|
-
type: "linear",
|
|
22764
|
-
angle: 180,
|
|
22765
|
-
stops: [{
|
|
22766
|
-
color: "primary-900",
|
|
22767
|
-
position: 0
|
|
22768
|
-
}, {
|
|
22769
|
-
color: "primary-50",
|
|
22770
|
-
position: 100
|
|
22771
|
-
}]
|
|
22772
|
-
},
|
|
22773
|
-
{
|
|
22774
|
-
id: "secondary-light-dark",
|
|
22775
|
-
name: "Secondary Light to Dark",
|
|
22776
|
-
description: "Subtle secondary color fade",
|
|
22777
|
-
type: "linear",
|
|
22778
|
-
angle: 180,
|
|
22779
|
-
stops: [{
|
|
22780
|
-
color: "secondary-500",
|
|
22781
|
-
position: 0
|
|
22782
|
-
}, {
|
|
22783
|
-
color: "secondary-900",
|
|
22784
|
-
position: 100
|
|
22785
|
-
}]
|
|
22786
|
-
},
|
|
22787
|
-
{
|
|
22788
|
-
id: "accent-light-dark",
|
|
22789
|
-
name: "Accent Light to Dark",
|
|
22790
|
-
description: "Accent color depth fade",
|
|
22791
|
-
type: "linear",
|
|
22792
|
-
angle: 180,
|
|
22793
|
-
stops: [{
|
|
22794
|
-
color: "accent-500",
|
|
22795
|
-
position: 0
|
|
22796
|
-
}, {
|
|
22797
|
-
color: "accent-900",
|
|
22798
|
-
position: 100
|
|
22799
|
-
}]
|
|
22800
|
-
},
|
|
22801
|
-
{
|
|
22802
|
-
id: "background-surface",
|
|
22803
|
-
name: "Background to Surface",
|
|
22804
|
-
description: "Subtle depth using base colors",
|
|
22805
|
-
type: "linear",
|
|
22806
|
-
angle: 180,
|
|
22807
|
-
stops: [{
|
|
22808
|
-
color: "background",
|
|
22809
|
-
position: 0
|
|
22810
|
-
}, {
|
|
22811
|
-
color: "surface",
|
|
22812
|
-
position: 100
|
|
22813
|
-
}]
|
|
22814
|
-
},
|
|
22815
|
-
{
|
|
22816
|
-
id: "neutral-fade",
|
|
22817
|
-
name: "Neutral Gradient",
|
|
22818
|
-
description: "Elegant neutral color fade",
|
|
22819
|
-
type: "linear",
|
|
22820
|
-
angle: 180,
|
|
22821
|
-
stops: [{
|
|
22822
|
-
color: "neutral-900",
|
|
22823
|
-
position: 0
|
|
22824
|
-
}, {
|
|
22825
|
-
color: "neutral-50",
|
|
22826
|
-
position: 100
|
|
22827
|
-
}]
|
|
22828
|
-
},
|
|
22829
|
-
{
|
|
22830
|
-
id: "primary-radial",
|
|
22831
|
-
name: "Primary Spotlight",
|
|
22832
|
-
description: "Radial primary gradient from center",
|
|
22833
|
-
type: "radial",
|
|
22834
|
-
position: "center",
|
|
22835
|
-
stops: [{
|
|
22836
|
-
color: "primary-500",
|
|
22837
|
-
position: 0
|
|
22838
|
-
}, {
|
|
22839
|
-
color: "primary-900",
|
|
22840
|
-
position: 100
|
|
22841
|
-
}]
|
|
22842
|
-
},
|
|
22843
|
-
{
|
|
22844
|
-
id: "accent-radial",
|
|
22845
|
-
name: "Accent Spotlight",
|
|
22846
|
-
description: "Radial accent gradient from center",
|
|
22847
|
-
type: "radial",
|
|
22848
|
-
position: "center",
|
|
22849
|
-
stops: [{
|
|
22850
|
-
color: "accent-500",
|
|
22851
|
-
position: 0
|
|
22852
|
-
}, {
|
|
22853
|
-
color: "accent-900",
|
|
22854
|
-
position: 100
|
|
22855
|
-
}]
|
|
22856
|
-
},
|
|
22857
|
-
{
|
|
22858
|
-
id: "primary-secondary-accent",
|
|
22859
|
-
name: "Brand Trio",
|
|
22860
|
-
description: "All three brand colors in harmony",
|
|
22861
|
-
type: "linear",
|
|
22862
|
-
angle: 135,
|
|
22863
|
-
stops: [
|
|
22864
|
-
{
|
|
22865
|
-
color: "primary-500",
|
|
22866
|
-
position: 0
|
|
22867
|
-
},
|
|
22868
|
-
{
|
|
22869
|
-
color: "secondary-500",
|
|
22870
|
-
position: 50
|
|
22871
|
-
},
|
|
22872
|
-
{
|
|
22873
|
-
color: "accent-500",
|
|
22874
|
-
position: 100
|
|
22875
|
-
}
|
|
22876
|
-
]
|
|
22877
|
-
}
|
|
22878
|
-
];
|
|
22879
|
-
//#endregion
|
|
22880
|
-
//#region ../theme-core/src/gradients/utils.ts
|
|
22881
|
-
/**
|
|
22882
|
-
* Convert a GradientConfig to a CSS gradient string
|
|
22883
|
-
*
|
|
22884
|
-
* @param config - The gradient configuration using theme tokens
|
|
22885
|
-
* @param tokens - Map of theme color tokens to hex values
|
|
22886
|
-
* @returns CSS gradient string (e.g., "linear-gradient(180deg, #3b82f6 0%, #f59e0b 100%)")
|
|
22887
|
-
*/
|
|
22888
|
-
function gradientToCss(config, tokens) {
|
|
22889
|
-
const stops = config.stops.map((stop) => {
|
|
22890
|
-
return `${tokens[stop.color] ?? "#000000"} ${stop.position}%`;
|
|
22891
|
-
}).join(", ");
|
|
22892
|
-
const type = config.type ?? "linear";
|
|
22893
|
-
if (type === "radial") {
|
|
22894
|
-
const position = config.position ?? "center";
|
|
22895
|
-
return `radial-gradient(${config.shape ?? "circle"} at ${position}, ${stops})`;
|
|
22896
|
-
}
|
|
22897
|
-
if (type === "conic") {
|
|
22898
|
-
const position = config.position ?? "center";
|
|
22899
|
-
return `conic-gradient(from ${config.angle ?? 0}deg at ${position}, ${stops})`;
|
|
22900
|
-
}
|
|
22901
|
-
return `linear-gradient(${config.angle ?? 180}deg, ${stops})`;
|
|
22902
|
-
}
|
|
22903
23523
|
const BREAKPOINT_LG = 1024;
|
|
22904
23524
|
const BREAKPOINT_XL = 1280;
|
|
22905
23525
|
const BREAKPOINT_LG_DOWN = BREAKPOINT_LG - 1;
|
|
@@ -23866,6 +24486,20 @@ const blockCategoryEnum = z$1.enum([
|
|
|
23866
24486
|
"layout",
|
|
23867
24487
|
"interactive"
|
|
23868
24488
|
]);
|
|
24489
|
+
const blockContentSourceSchema = z$1.object({
|
|
24490
|
+
kind: z$1.enum([
|
|
24491
|
+
"inline",
|
|
24492
|
+
"entries",
|
|
24493
|
+
"mixed"
|
|
24494
|
+
]),
|
|
24495
|
+
contentType: z$1.string().min(1).optional()
|
|
24496
|
+
}).superRefine((value, ctx) => {
|
|
24497
|
+
if (value.kind === "inline" && value.contentType) ctx.addIssue({
|
|
24498
|
+
code: z$1.ZodIssueCode.custom,
|
|
24499
|
+
path: ["contentType"],
|
|
24500
|
+
message: "contentType is not allowed when contentSource.kind is \"inline\""
|
|
24501
|
+
});
|
|
24502
|
+
});
|
|
23869
24503
|
z$1.object({
|
|
23870
24504
|
name: z$1.string().min(1),
|
|
23871
24505
|
version: z$1.string().min(1),
|
|
@@ -23896,6 +24530,12 @@ z$1.object({
|
|
|
23896
24530
|
}).optional()).optional(),
|
|
23897
24531
|
category: blockCategoryEnum.optional(),
|
|
23898
24532
|
contentTypes: z$1.array(z$1.string()).optional(),
|
|
24533
|
+
/**
|
|
24534
|
+
* Explicit content-source classification (inline / entries / mixed). Optional at the
|
|
24535
|
+
* schema level for backward compatibility with SDK-defined custom blocks, but every
|
|
24536
|
+
* registered SYSTEM block must declare it (enforced by a registry-wide test).
|
|
24537
|
+
*/
|
|
24538
|
+
contentSource: blockContentSourceSchema.optional(),
|
|
23899
24539
|
tags: z$1.array(z$1.string()).optional(),
|
|
23900
24540
|
icon: z$1.string().optional()
|
|
23901
24541
|
});
|
|
@@ -24872,6 +25512,7 @@ function devValidate(node) {
|
|
|
24872
25512
|
}
|
|
24873
25513
|
//#endregion
|
|
24874
25514
|
//#region ../blocks/src/system/node/fragments/backgroundLayer.ts
|
|
25515
|
+
const BACKGROUND_FRAME_BASE_CLASS = "rb-background-frame rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-isolate rb-pointer-events-none";
|
|
24875
25516
|
/**
|
|
24876
25517
|
* Creates background layer nodes for rendering backgrounds from field data.
|
|
24877
25518
|
*
|
|
@@ -24937,6 +25578,34 @@ function backgroundLayer(path, options = {}) {
|
|
|
24937
25578
|
];
|
|
24938
25579
|
}
|
|
24939
25580
|
/**
|
|
25581
|
+
* Wrap decorative background layers in their own clipping frame.
|
|
25582
|
+
*
|
|
25583
|
+
* Foreground content remains outside this frame, so editor outlines, focus
|
|
25584
|
+
* rings, and floating controls are never clipped by a visual background.
|
|
25585
|
+
* Backgrounds that explicitly opt into overflow keep that behavior within
|
|
25586
|
+
* the decorative layer rather than changing the content root.
|
|
25587
|
+
*/
|
|
25588
|
+
function backgroundFrame(path, options = {}) {
|
|
25589
|
+
const { leadingNodes = [], ...layerOptions } = options;
|
|
25590
|
+
const framedLayerOptions = {
|
|
25591
|
+
...layerOptions,
|
|
25592
|
+
styleClassName: layerOptions.styleClassName ?? "background-style rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none",
|
|
25593
|
+
imageClassName: layerOptions.imageClassName ?? "rb-absolute rb-z-0",
|
|
25594
|
+
overlayClassName: layerOptions.overlayClassName ?? "background-overlay rb-absolute rb-inset-0 rb-z-0 rb-h-full rb-w-full rb-pointer-events-none"
|
|
25595
|
+
};
|
|
25596
|
+
return el("div", {
|
|
25597
|
+
className: { $bind: {
|
|
25598
|
+
from: path,
|
|
25599
|
+
transforms: [{
|
|
25600
|
+
id: "background.resolveFrameClassName",
|
|
25601
|
+
options: { baseClass: BACKGROUND_FRAME_BASE_CLASS }
|
|
25602
|
+
}],
|
|
25603
|
+
fallback: `${BACKGROUND_FRAME_BASE_CLASS} rb-overflow-hidden`
|
|
25604
|
+
} },
|
|
25605
|
+
style: { borderRadius: "inherit" }
|
|
25606
|
+
}, [...leadingNodes, ...backgroundLayer(path, framedLayerOptions)]);
|
|
25607
|
+
}
|
|
25608
|
+
/**
|
|
24940
25609
|
* Creates a media node for rendering background image/video media with conditional rendering.
|
|
24941
25610
|
*
|
|
24942
25611
|
* This helper creates a media element that:
|
|
@@ -25098,8 +25767,8 @@ function sectionContainer(children, opts) {
|
|
|
25098
25767
|
* - content
|
|
25099
25768
|
*/
|
|
25100
25769
|
function styledContainer(config) {
|
|
25101
|
-
const { children, rootType = "div", rootProps, bindFrom = "_containerStyles", baseClassName = "rb-relative rb-isolate rb-overflow-
|
|
25102
|
-
const
|
|
25770
|
+
const { children, rootType = "div", rootProps, bindFrom = "_containerStyles", baseClassName = "rb-relative rb-isolate rb-overflow-visible", imageClassName = "rb-absolute rb-z-0", constrainWidth = true } = config;
|
|
25771
|
+
const backgroundNode = backgroundFrame(`${bindFrom}.background`, { imageClassName });
|
|
25103
25772
|
const childrenArray = Array.isArray(children) ? children : [children];
|
|
25104
25773
|
const { className: _ignoredClassName, style: _ignoredStyle, ...safeRootProps } = rootProps ?? {};
|
|
25105
25774
|
return el(rootType, {
|
|
@@ -25122,7 +25791,7 @@ function styledContainer(config) {
|
|
|
25122
25791
|
}],
|
|
25123
25792
|
fallback: constrainWidth ? `${baseClassName} rb-container` : baseClassName
|
|
25124
25793
|
} }
|
|
25125
|
-
}, [
|
|
25794
|
+
}, [backgroundNode, ...childrenArray]);
|
|
25126
25795
|
}
|
|
25127
25796
|
//#endregion
|
|
25128
25797
|
//#region ../blocks/src/system/spacing.ts
|
|
@@ -25255,7 +25924,7 @@ const DEFAULT_SECTION_SPACING = "medium";
|
|
|
25255
25924
|
* - Creating a section wrapper with background theme
|
|
25256
25925
|
* - Adding background color/gradient/image layers
|
|
25257
25926
|
* - Binding className to section styles with transform
|
|
25258
|
-
* -
|
|
25927
|
+
* - Keeping foreground overflow visible while decorative backgrounds clip independently
|
|
25259
25928
|
* - Wrapping content children
|
|
25260
25929
|
*
|
|
25261
25930
|
* Use this helper to eliminate 25+ lines of boilerplate section setup code.
|
|
@@ -25291,8 +25960,8 @@ const DEFAULT_SECTION_SPACING = "medium";
|
|
|
25291
25960
|
* });
|
|
25292
25961
|
*/
|
|
25293
25962
|
function styledSection(config) {
|
|
25294
|
-
const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-
|
|
25295
|
-
const
|
|
25963
|
+
const { children, baseClass = "rb-px-6", spacing = DEFAULT_SECTION_SPACING, background = "background", bindFrom = "_sectionStyles", imageClassName = "rb-absolute rb-z-0", renderBackgroundImage = true, backgroundImageLoading, backgroundImageFetchPriority, fullWidthPath } = config;
|
|
25964
|
+
const renderedBackgroundNode = backgroundFrame(`${bindFrom}.background`, {
|
|
25296
25965
|
imageClassName,
|
|
25297
25966
|
fallbackToken: background,
|
|
25298
25967
|
omitImageLayer: !renderBackgroundImage,
|
|
@@ -25315,13 +25984,8 @@ function styledSection(config) {
|
|
|
25315
25984
|
fullWidthPath
|
|
25316
25985
|
}
|
|
25317
25986
|
}]
|
|
25318
|
-
} },
|
|
25319
|
-
allowOverflow: allowOverflow ? true : { $bind: {
|
|
25320
|
-
from: `${bindFrom}.background`,
|
|
25321
|
-
transforms: [{ id: "background.resolveAllowOverflow" }],
|
|
25322
|
-
fallback: false
|
|
25323
25987
|
} }
|
|
25324
|
-
}, [
|
|
25988
|
+
}, [renderedBackgroundNode, ...childrenArray]);
|
|
25325
25989
|
}
|
|
25326
25990
|
//#endregion
|
|
25327
25991
|
//#region ../blocks/src/system/node/fragments/ctaButton.ts
|
|
@@ -26182,9 +26846,12 @@ function responsiveTwoColumn({ image, text, ratioFrom, imagePositionFrom, gapCla
|
|
|
26182
26846
|
//#endregion
|
|
26183
26847
|
//#region ../blocks/src/system/node/fragments/styledCard.ts
|
|
26184
26848
|
function styledCard(children, opts, ...mods) {
|
|
26185
|
-
const baseClassName = opts.baseClassName ?? "rb-relative rb-isolate rb-overflow-
|
|
26186
|
-
const defaultBackgroundLayer = el("div", {
|
|
26187
|
-
|
|
26849
|
+
const baseClassName = opts.baseClassName ?? "rb-relative rb-isolate rb-overflow-visible rb-border";
|
|
26850
|
+
const defaultBackgroundLayer = el("div", {
|
|
26851
|
+
className: "rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-pointer-events-none rb-bg-surface",
|
|
26852
|
+
style: { borderRadius: "inherit" }
|
|
26853
|
+
});
|
|
26854
|
+
const backgroundNode = backgroundFrame(opts.backgroundFrom);
|
|
26188
26855
|
const style = {
|
|
26189
26856
|
...opts.style ?? {},
|
|
26190
26857
|
borderColor: { $bind: {
|
|
@@ -26211,7 +26878,7 @@ function styledCard(children, opts, ...mods) {
|
|
|
26211
26878
|
...style ? { style } : {}
|
|
26212
26879
|
}, [
|
|
26213
26880
|
defaultBackgroundLayer,
|
|
26214
|
-
|
|
26881
|
+
backgroundNode,
|
|
26215
26882
|
...children
|
|
26216
26883
|
], ...mods);
|
|
26217
26884
|
}
|
|
@@ -26991,9 +27658,15 @@ function createButtonGroup(options = {}) {
|
|
|
26991
27658
|
//#endregion
|
|
26992
27659
|
//#region ../blocks/src/system/fields/ctas.ts
|
|
26993
27660
|
function createCtasRepeater(options = {}) {
|
|
26994
|
-
const { id = "ctas", label = "Calls to action", itemLabel = "CTA", minItems = 0, maxItems, button } = options;
|
|
27661
|
+
const { id = "ctas", label = "Calls to action", itemLabel = "CTA", minItems = 0, maxItems, button, defaultValue } = options;
|
|
27662
|
+
const fieldId = id;
|
|
27663
|
+
const buttonField = createButtonGroup({
|
|
27664
|
+
showGroupLabel: false,
|
|
27665
|
+
...button ?? {},
|
|
27666
|
+
flattenInRepeater: true
|
|
27667
|
+
});
|
|
26995
27668
|
return {
|
|
26996
|
-
id,
|
|
27669
|
+
id: fieldId,
|
|
26997
27670
|
type: "repeater",
|
|
26998
27671
|
label,
|
|
26999
27672
|
itemLabel,
|
|
@@ -27002,11 +27675,8 @@ function createCtasRepeater(options = {}) {
|
|
|
27002
27675
|
maxItems,
|
|
27003
27676
|
required: false,
|
|
27004
27677
|
allowConversion: true,
|
|
27005
|
-
|
|
27006
|
-
|
|
27007
|
-
...button ?? {},
|
|
27008
|
-
flattenInRepeater: true
|
|
27009
|
-
})] }
|
|
27678
|
+
...defaultValue !== void 0 ? { defaultValue: [...defaultValue] } : {},
|
|
27679
|
+
schema: { fields: [buttonField] }
|
|
27010
27680
|
};
|
|
27011
27681
|
}
|
|
27012
27682
|
//#endregion
|
|
@@ -27056,6 +27726,7 @@ const heroCtaRowFragment = defineFragment({
|
|
|
27056
27726
|
label: "Calls to action",
|
|
27057
27727
|
itemLabel: "CTA",
|
|
27058
27728
|
maxItems: 3,
|
|
27729
|
+
defaultValue: [],
|
|
27059
27730
|
button: {
|
|
27060
27731
|
variants: [
|
|
27061
27732
|
{
|
|
@@ -27123,7 +27794,7 @@ const ctaCopyFragment = defineFragment({
|
|
|
27123
27794
|
eyebrowPath: "content.eyebrow",
|
|
27124
27795
|
titlePath: "content.title",
|
|
27125
27796
|
className: "cta-heading"
|
|
27126
|
-
}), richText({ className: "cta-content rb-prose rb-mx-auto rb-max-w-none" }, when("content
|
|
27797
|
+
}), richText({ className: "cta-content rb-prose rb-mx-auto rb-max-w-none" }, when("content"), bind("content"))]
|
|
27127
27798
|
});
|
|
27128
27799
|
//#endregion
|
|
27129
27800
|
//#region ../blocks/src/system/fragments/library/testimonialsHeading.ts
|
|
@@ -27220,7 +27891,7 @@ function buildTestimonialCard(...mods) {
|
|
|
27220
27891
|
}, props({ value: "“" })), richText({ className: "rb-prose rb-max-w-none" }, bind("testimonial.content.body"), when("testimonial.content.body"))]), el("div", { className: "rb-testimonial-attribution" }, buildAttributionNodes())])], {
|
|
27221
27892
|
stylesFrom: "content._cardStyles",
|
|
27222
27893
|
backgroundFrom: "content._cardStyles.background",
|
|
27223
|
-
baseClassName: "rb-testimonial-card rb-relative rb-isolate rb-flex rb-h-full rb-flex-col rb-overflow-
|
|
27894
|
+
baseClassName: "rb-testimonial-card rb-relative rb-isolate rb-flex rb-h-full rb-flex-col rb-overflow-visible rb-p-8"
|
|
27224
27895
|
}, ...mods);
|
|
27225
27896
|
}
|
|
27226
27897
|
/**
|
|
@@ -27692,39 +28363,6 @@ const formEmbedFragment = defineFragment({
|
|
|
27692
28363
|
}
|
|
27693
28364
|
});
|
|
27694
28365
|
//#endregion
|
|
27695
|
-
//#region ../blocks/src/system/fragments/library/footerBottomText.ts
|
|
27696
|
-
const footerBottomTextFragment = defineFragment({
|
|
27697
|
-
id: "footerBottomText",
|
|
27698
|
-
title: "Footer Text",
|
|
27699
|
-
description: "Rich text content for the main footer body and optional bottom bar.",
|
|
27700
|
-
fields: [{
|
|
27701
|
-
id: "bodyText",
|
|
27702
|
-
type: "richText",
|
|
27703
|
-
label: "Body text",
|
|
27704
|
-
description: "Appears in the main footer area.",
|
|
27705
|
-
ui: { variant: "limited" }
|
|
27706
|
-
}, {
|
|
27707
|
-
id: "bottomText",
|
|
27708
|
-
type: "richText",
|
|
27709
|
-
label: "Bottom bar text",
|
|
27710
|
-
description: "Appears in the optional footer bottom bar.",
|
|
27711
|
-
ui: { variant: "limited" }
|
|
27712
|
-
}],
|
|
27713
|
-
layout: [richText({
|
|
27714
|
-
className: "rb-prose rb-prose-sm rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
27715
|
-
style: textColorStyle("text/80")
|
|
27716
|
-
}, when("bodyText"), bind("bodyText", { transforms: [{
|
|
27717
|
-
id: "content.interpolateRichTextTokens",
|
|
27718
|
-
options: { tokens: ["year", "site_name"] }
|
|
27719
|
-
}] })), richText({
|
|
27720
|
-
className: "rb-prose rb-prose-sm rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
27721
|
-
style: textColorStyle("text/80")
|
|
27722
|
-
}, when("bottomText"), bind("bottomText", { transforms: [{
|
|
27723
|
-
id: "content.interpolateRichTextTokens",
|
|
27724
|
-
options: { tokens: ["year", "site_name"] }
|
|
27725
|
-
}] }))]
|
|
27726
|
-
});
|
|
27727
|
-
//#endregion
|
|
27728
28366
|
//#region ../blocks/src/system/fragments/library/singleButton.ts
|
|
27729
28367
|
const singleButtonFragment = defineFragment({
|
|
27730
28368
|
id: "singleButton",
|
|
@@ -27897,7 +28535,7 @@ function createFaqAccordionLayout(options = {}) {
|
|
|
27897
28535
|
options: {
|
|
27898
28536
|
axis: "all",
|
|
27899
28537
|
includeSpacing: false,
|
|
27900
|
-
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-
|
|
28538
|
+
baseClass: "rb-faq-item rb-relative rb-isolate rb-overflow-visible"
|
|
27901
28539
|
}
|
|
27902
28540
|
}]
|
|
27903
28541
|
},
|
|
@@ -28888,6 +29526,7 @@ function createBlockManifest(config) {
|
|
|
28888
29526
|
previewCustomize: config.previewCustomize,
|
|
28889
29527
|
category: config.category,
|
|
28890
29528
|
contentTypes: config.contentTypes ? [...config.contentTypes] : void 0,
|
|
29529
|
+
contentSource: config.contentSource,
|
|
28891
29530
|
tags: config.tags ? [...config.tags] : [],
|
|
28892
29531
|
icon: config.icon ?? "Box",
|
|
28893
29532
|
layout,
|
|
@@ -29021,7 +29660,6 @@ function splitLayoutWith(children) {
|
|
|
29021
29660
|
}
|
|
29022
29661
|
}),
|
|
29023
29662
|
renderBackgroundImage: false,
|
|
29024
|
-
allowOverflow: true,
|
|
29025
29663
|
baseClass: ""
|
|
29026
29664
|
});
|
|
29027
29665
|
}
|
|
@@ -29034,6 +29672,7 @@ const heroBlockDefinition = { manifest: createBlockManifest({
|
|
|
29034
29672
|
title: "Hero",
|
|
29035
29673
|
titleSource: "headline",
|
|
29036
29674
|
category: "layout",
|
|
29675
|
+
contentSource: { kind: "inline" },
|
|
29037
29676
|
includeContainerStyles: true,
|
|
29038
29677
|
promotedFields: ["_sectionStyles.background.image"],
|
|
29039
29678
|
fragments: [
|
|
@@ -29307,6 +29946,7 @@ const introBlockDefinition = { manifest: createBlockManifest({
|
|
|
29307
29946
|
id: "block.intro",
|
|
29308
29947
|
title: "Intro",
|
|
29309
29948
|
category: "layout",
|
|
29949
|
+
contentSource: { kind: "inline" },
|
|
29310
29950
|
includeContainerStyles: true,
|
|
29311
29951
|
titleSource: "title",
|
|
29312
29952
|
previewCustomize: { quickFieldPriority: [
|
|
@@ -29492,6 +30132,7 @@ const bodyTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
29492
30132
|
title: "Body Text",
|
|
29493
30133
|
titleSource: "heading",
|
|
29494
30134
|
category: "content",
|
|
30135
|
+
contentSource: { kind: "inline" },
|
|
29495
30136
|
fragments: [{
|
|
29496
30137
|
fragment: bodyCopyFragment,
|
|
29497
30138
|
fieldPriority: 0
|
|
@@ -29548,6 +30189,10 @@ const blogPostBlockDefinition = {
|
|
|
29548
30189
|
description: "Highlights a single blog post with title, image, and excerpt.",
|
|
29549
30190
|
category: "blog",
|
|
29550
30191
|
contentTypes: ["post"],
|
|
30192
|
+
contentSource: {
|
|
30193
|
+
kind: "entries",
|
|
30194
|
+
contentType: "post"
|
|
30195
|
+
},
|
|
29551
30196
|
tags: [
|
|
29552
30197
|
"blog",
|
|
29553
30198
|
"post",
|
|
@@ -29649,7 +30294,7 @@ function postCard(children, ...mods) {
|
|
|
29649
30294
|
return styledCard(children, {
|
|
29650
30295
|
stylesFrom: "content._cardStyles",
|
|
29651
30296
|
backgroundFrom: "content._cardStyles.background",
|
|
29652
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
30297
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border rb-flex rb-flex-col rb-h-full"
|
|
29653
30298
|
}, ...mods);
|
|
29654
30299
|
}
|
|
29655
30300
|
const gridPostCard = postCard([postImageLink("rb-h-48 rb-w-full rb-object-cover rb-transition-transform rb-hover-scale-105", {
|
|
@@ -29685,7 +30330,7 @@ const stackPostCard = styledCard([inline({
|
|
|
29685
30330
|
])])], {
|
|
29686
30331
|
stylesFrom: "content._cardStyles",
|
|
29687
30332
|
backgroundFrom: "content._cardStyles.background",
|
|
29688
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
30333
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border"
|
|
29689
30334
|
}, repeat("data.posts", "post"));
|
|
29690
30335
|
const emptyState$2 = {
|
|
29691
30336
|
...styledCard([text({
|
|
@@ -29694,7 +30339,7 @@ const emptyState$2 = {
|
|
|
29694
30339
|
}, bind("content.emptyMessage", { fallback: "No posts published yet." }))], {
|
|
29695
30340
|
stylesFrom: "content._cardStyles",
|
|
29696
30341
|
backgroundFrom: "content._cardStyles.background",
|
|
29697
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
30342
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible rb-border rb-border-dashed rb-p-8 rb-text-center"
|
|
29698
30343
|
}),
|
|
29699
30344
|
$when: {
|
|
29700
30345
|
when: { from: "data.posts[0]" },
|
|
@@ -29704,7 +30349,7 @@ const emptyState$2 = {
|
|
|
29704
30349
|
function blogListingShell(children) {
|
|
29705
30350
|
return styledSection({
|
|
29706
30351
|
children: styledContainer({
|
|
29707
|
-
baseClassName: "rb-relative rb-isolate rb-overflow-
|
|
30352
|
+
baseClassName: "rb-relative rb-isolate rb-overflow-visible",
|
|
29708
30353
|
children
|
|
29709
30354
|
}),
|
|
29710
30355
|
baseClass: ""
|
|
@@ -29845,6 +30490,10 @@ const blogListingManifest = createBlockManifest({
|
|
|
29845
30490
|
],
|
|
29846
30491
|
description: "Display a collection of blog posts in grid or stack layout.",
|
|
29847
30492
|
contentTypes: ["post"],
|
|
30493
|
+
contentSource: {
|
|
30494
|
+
kind: "entries",
|
|
30495
|
+
contentType: "post"
|
|
30496
|
+
},
|
|
29848
30497
|
tags: [
|
|
29849
30498
|
"blog",
|
|
29850
30499
|
"posts",
|
|
@@ -29887,6 +30536,7 @@ const ctaFullBlockDefinition = { manifest: createBlockManifest({
|
|
|
29887
30536
|
id: "block.cta-full",
|
|
29888
30537
|
title: "Full-width CTA",
|
|
29889
30538
|
category: "marketing",
|
|
30539
|
+
contentSource: { kind: "inline" },
|
|
29890
30540
|
fragments: [{
|
|
29891
30541
|
fragment: ctaCopyFragment,
|
|
29892
30542
|
fieldPriority: 0
|
|
@@ -29920,6 +30570,7 @@ const singleButtonBlockDefinition = { manifest: createBlockManifest({
|
|
|
29920
30570
|
id: "block.single-button",
|
|
29921
30571
|
title: "Single Button",
|
|
29922
30572
|
category: "marketing",
|
|
30573
|
+
contentSource: { kind: "inline" },
|
|
29923
30574
|
fragments: [{
|
|
29924
30575
|
fragment: singleButtonFragment,
|
|
29925
30576
|
fieldPriority: 0
|
|
@@ -30116,7 +30767,7 @@ const copyLayout = fragmentLayoutNode$1(formCopyFragment.layout);
|
|
|
30116
30767
|
const formSurface = styledContainer({
|
|
30117
30768
|
bindFrom: "_containerStyles",
|
|
30118
30769
|
constrainWidth: false,
|
|
30119
|
-
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-
|
|
30770
|
+
baseClassName: "rb-form-surface rb-relative rb-isolate rb-overflow-visible",
|
|
30120
30771
|
children: fragmentLayoutNode$1(formEmbedFragment.layout)
|
|
30121
30772
|
});
|
|
30122
30773
|
function createFormLayout(variant) {
|
|
@@ -30180,6 +30831,7 @@ const formManifest = createBlockManifest({
|
|
|
30180
30831
|
paletteHidden: false
|
|
30181
30832
|
},
|
|
30182
30833
|
category: "interactive",
|
|
30834
|
+
contentSource: { kind: "inline" },
|
|
30183
30835
|
tags: [
|
|
30184
30836
|
"form",
|
|
30185
30837
|
"contact",
|
|
@@ -30242,6 +30894,7 @@ const contactNewsletterBlockDefinition = {
|
|
|
30242
30894
|
titleSource: "contactTitle",
|
|
30243
30895
|
description: "Two-column newsletter signup and contact form section.",
|
|
30244
30896
|
category: "interactive",
|
|
30897
|
+
contentSource: { kind: "inline" },
|
|
30245
30898
|
layout: contactNewsletterLayout,
|
|
30246
30899
|
defaultVariant: "default",
|
|
30247
30900
|
variants: { default: contactNewsletterLayout },
|
|
@@ -30445,6 +31098,7 @@ const faqBlockDefinition = { manifest: createBlockManifest({
|
|
|
30445
31098
|
title: "FAQ",
|
|
30446
31099
|
titleSource: "title",
|
|
30447
31100
|
category: "content",
|
|
31101
|
+
contentSource: { kind: "inline" },
|
|
30448
31102
|
includeContainerStyles: true,
|
|
30449
31103
|
fragments: [{
|
|
30450
31104
|
fragment: faqHeadingFragment,
|
|
@@ -31333,6 +31987,7 @@ const headerRootClassTransform = {
|
|
|
31333
31987
|
];
|
|
31334
31988
|
const variant = header?.variant;
|
|
31335
31989
|
if (variant && VALID_VARIANTS.includes(variant)) classes.push(`header-variant-${variant}`);
|
|
31990
|
+
if (header?.barFrame === "inset-shell" && variant === "classic") classes.push("header-bar-frame-inset-shell");
|
|
31336
31991
|
return joinClasses(classes);
|
|
31337
31992
|
}
|
|
31338
31993
|
};
|
|
@@ -31856,7 +32511,7 @@ function desktopOnlyDisplay(display) {
|
|
|
31856
32511
|
}
|
|
31857
32512
|
//#endregion
|
|
31858
32513
|
//#region ../blocks/src/system/blocks/site-header.ts
|
|
31859
|
-
const whenTransformed
|
|
32514
|
+
const whenTransformed = (from, transformId, equals = true) => (node) => ({
|
|
31860
32515
|
...node,
|
|
31861
32516
|
$when: {
|
|
31862
32517
|
when: {
|
|
@@ -31884,7 +32539,7 @@ const logoRow = link({
|
|
|
31884
32539
|
text({
|
|
31885
32540
|
as: "strong",
|
|
31886
32541
|
className: "header-logo-text rb-truncate"
|
|
31887
|
-
}, whenTransformed
|
|
32542
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
31888
32543
|
]);
|
|
31889
32544
|
const centeredLogoRow = link({
|
|
31890
32545
|
href: "/",
|
|
@@ -31904,7 +32559,7 @@ const centeredLogoRow = link({
|
|
|
31904
32559
|
text({
|
|
31905
32560
|
as: "strong",
|
|
31906
32561
|
className: "header-logo-text"
|
|
31907
|
-
}, whenTransformed
|
|
32562
|
+
}, whenTransformed("$root.theme.header.logo", "layout.headerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
31908
32563
|
]);
|
|
31909
32564
|
const createNavRow = (className, align = "end") => navRow({
|
|
31910
32565
|
className: `${className} header-nav-row`,
|
|
@@ -32036,7 +32691,7 @@ const classicLayout = inline({
|
|
|
32036
32691
|
logoRow,
|
|
32037
32692
|
createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
|
|
32038
32693
|
headerCta
|
|
32039
|
-
], whenTransformed
|
|
32694
|
+
], whenTransformed("$root.theme.header", "layout.classicNavMode", "inline"));
|
|
32040
32695
|
const classicCenteredNavLayout = inline({
|
|
32041
32696
|
className: bindProp("$root.theme.header.maxWidth", {
|
|
32042
32697
|
transforms: pipe(tx("layout.maxWidthClass", { base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6` })),
|
|
@@ -32047,7 +32702,7 @@ const classicCenteredNavLayout = inline({
|
|
|
32047
32702
|
logoRow,
|
|
32048
32703
|
createNavRow(`rb-flex-1 rb-justify-center ${desktopOnlyDisplay("flex")} rb-gap-6`, "center"),
|
|
32049
32704
|
headerCta
|
|
32050
|
-
], whenTransformed
|
|
32705
|
+
], whenTransformed("$root.theme.header", "layout.classicNavMode", "centered"));
|
|
32051
32706
|
const centeredLayout = stack({
|
|
32052
32707
|
gap: "md",
|
|
32053
32708
|
align: "center",
|
|
@@ -32087,6 +32742,7 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
32087
32742
|
id: "block.site-header",
|
|
32088
32743
|
title: "Site Header",
|
|
32089
32744
|
category: "layout",
|
|
32745
|
+
contentSource: { kind: "inline" },
|
|
32090
32746
|
additionalFields: [{
|
|
32091
32747
|
id: "mode",
|
|
32092
32748
|
type: "select",
|
|
@@ -32110,7 +32766,6 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
32110
32766
|
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
32111
32767
|
fallback: "background"
|
|
32112
32768
|
}),
|
|
32113
|
-
allowOverflow: true,
|
|
32114
32769
|
className: bindProp("$root.theme.header", {
|
|
32115
32770
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
32116
32771
|
fallback: "header-root rb-z-40 rb-w-full transition-theme"
|
|
@@ -32160,218 +32815,155 @@ const footerNavGroupsLayout = stack({
|
|
|
32160
32815
|
linkRequired: true,
|
|
32161
32816
|
target: { $bind: { from: "entry.target" } },
|
|
32162
32817
|
rel: { $bind: { from: "entry.rel" } }
|
|
32163
|
-
}, [text({ as: "span" }, bind("entry.label"))], repeat("group.children", "entry"))])], repeat("footerMenu.groups", "group"))],
|
|
32818
|
+
}, [text({ as: "span" }, bind("entry.label"))], repeat("group.children", "entry"))])], repeat("footerMenu.groups", "group"))], whenCollectionHasItems("footerMenu.groups"));
|
|
32164
32819
|
//#endregion
|
|
32165
32820
|
//#region ../blocks/src/system/blocks/site-footer.ts
|
|
32166
|
-
const
|
|
32167
|
-
|
|
32168
|
-
...node,
|
|
32169
|
-
$when: {
|
|
32170
|
-
when: {
|
|
32171
|
-
from,
|
|
32172
|
-
transforms: [{ id: transformId }]
|
|
32173
|
-
},
|
|
32174
|
-
equals
|
|
32175
|
-
}
|
|
32176
|
-
});
|
|
32177
|
-
const bottomBarTextLayout = () => {
|
|
32178
|
-
const bottomTextNode = footerTextLayout()[1];
|
|
32179
|
-
return bottomTextNode ? [bottomTextNode] : [];
|
|
32180
|
-
};
|
|
32181
|
-
const bodyTextLayout = () => {
|
|
32182
|
-
const bodyTextNode = footerTextLayout()[0];
|
|
32183
|
-
return bodyTextNode ? [bodyTextNode] : [];
|
|
32184
|
-
};
|
|
32185
|
-
const businessAddressLayout = () => [text({
|
|
32186
|
-
as: "p",
|
|
32187
|
-
className: "rb-caption rb-opacity-80"
|
|
32188
|
-
}, bind("site.businessAddress.displayAddress"), when("content.showBusinessAddress", { equals: true }))];
|
|
32189
|
-
const inlineBottomTextLayout = () => {
|
|
32190
|
-
const bottomTextNode = footerTextLayout()[1];
|
|
32191
|
-
if (!bottomTextNode) return [];
|
|
32192
|
-
return [when("$root.theme.footer.bottomBar.enabled", {
|
|
32193
|
-
equals: true,
|
|
32194
|
-
not: true
|
|
32195
|
-
})(bottomTextNode)];
|
|
32196
|
-
};
|
|
32197
|
-
const simpleFooterLayout = stack({
|
|
32198
|
-
gap: "md",
|
|
32199
|
-
align: "start",
|
|
32200
|
-
className: { $bind: {
|
|
32201
|
-
from: "$root.theme.footer",
|
|
32202
|
-
transforms: [{ id: "layout.footerSimpleRootClass" }],
|
|
32203
|
-
fallback: "rb-container rb-flex rb-w-full rb-flex-col rb-items-start rb-gap-4 rb-py-10 rb-text-left"
|
|
32204
|
-
} }
|
|
32205
|
-
}, [
|
|
32206
|
-
link({
|
|
32207
|
-
href: "/",
|
|
32208
|
-
className: { $bind: {
|
|
32209
|
-
from: "$root.theme.footer.logo",
|
|
32210
|
-
transforms: [{
|
|
32211
|
-
id: "layout.footerLogoClass",
|
|
32212
|
-
options: { requireExplicitShow: true }
|
|
32213
|
-
}],
|
|
32214
|
-
fallback: "rb-hidden"
|
|
32215
|
-
} }
|
|
32216
|
-
}, [
|
|
32217
|
-
media({ className: { $bind: {
|
|
32218
|
-
from: "$root.theme.footer.logo",
|
|
32219
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32220
|
-
fallback: "rb-w-auto"
|
|
32221
|
-
} } }, when("content.logo"), bind("content.logo")),
|
|
32222
|
-
stack({ className: "rb-contents" }, [media({ className: { $bind: {
|
|
32223
|
-
from: "$root.theme.footer.logo",
|
|
32224
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32225
|
-
fallback: "rb-w-auto"
|
|
32226
|
-
} } }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
32227
|
-
text({
|
|
32228
|
-
as: "strong",
|
|
32229
|
-
className: "footer-logo-text rb-nav-text"
|
|
32230
|
-
}, whenTransformed("$root.theme.footer", "layout.footerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
32231
|
-
]),
|
|
32232
|
-
footerNav({
|
|
32233
|
-
collectionPath: "footerMenu.items",
|
|
32234
|
-
mode: "flatten",
|
|
32235
|
-
className: { $bind: {
|
|
32236
|
-
from: "$root.theme.footer.navLayout",
|
|
32237
|
-
transforms: [{ id: "layout.footerSimpleNavClass" }],
|
|
32238
|
-
fallback: "footer-nav rb-flex rb-flex-wrap rb-justify-start rb-gap-x-6 rb-gap-y-3"
|
|
32239
|
-
} },
|
|
32240
|
-
linkClassName: "footer-nav-link rb-inline-flex rb-items-center rb-px-4 rb-py-2 rb-nav-text transition-theme-standard"
|
|
32241
|
-
}),
|
|
32242
|
-
...bodyTextLayout(),
|
|
32243
|
-
...businessAddressLayout(),
|
|
32244
|
-
...inlineBottomTextLayout()
|
|
32245
|
-
], when("$root.theme.footer.variant", { equals: "simple" }));
|
|
32246
|
-
const columnsFooterLayout = stack({
|
|
32247
|
-
gap: "xl",
|
|
32248
|
-
align: "start",
|
|
32821
|
+
const brandLogo = link({
|
|
32822
|
+
href: "/",
|
|
32249
32823
|
className: { $bind: {
|
|
32250
|
-
from: "$root.theme.footer.
|
|
32824
|
+
from: "$root.theme.footer.logo",
|
|
32251
32825
|
transforms: [{
|
|
32252
|
-
id: "layout.
|
|
32253
|
-
options: { base: "
|
|
32826
|
+
id: "layout.footerLogoClass",
|
|
32827
|
+
options: { base: "footer-logo rb-inline-flex rb-items-center rb-gap-3 rb-no-underline" }
|
|
32254
32828
|
}],
|
|
32255
|
-
fallback: "
|
|
32829
|
+
fallback: "footer-logo rb-inline-flex rb-items-center rb-gap-3 rb-no-underline"
|
|
32256
32830
|
} }
|
|
32257
|
-
}, [
|
|
32258
|
-
|
|
32259
|
-
|
|
32260
|
-
|
|
32261
|
-
|
|
32262
|
-
|
|
32263
|
-
|
|
32264
|
-
|
|
32265
|
-
|
|
32266
|
-
|
|
32267
|
-
|
|
32268
|
-
|
|
32269
|
-
|
|
32270
|
-
|
|
32271
|
-
|
|
32272
|
-
|
|
32273
|
-
|
|
32274
|
-
gap: "xl",
|
|
32275
|
-
align: "start",
|
|
32831
|
+
}, [media({ className: { $bind: {
|
|
32832
|
+
from: "$root.theme.footer.logo",
|
|
32833
|
+
transforms: [{
|
|
32834
|
+
id: "layout.footerLogoMediaClass",
|
|
32835
|
+
options: { base: "rb-h-10 rb-w-auto" }
|
|
32836
|
+
}],
|
|
32837
|
+
fallback: "rb-h-10 rb-w-auto"
|
|
32838
|
+
} } }, when("module.showLogo", { equals: true }), when("content.logo"), bind("content.logo")), text({
|
|
32839
|
+
as: "strong",
|
|
32840
|
+
className: "footer-logo-text rb-nav-text"
|
|
32841
|
+
}, when("module.showTitle", { equals: true }), bind("site.title", { fallback: "Your Site" }))], when("module.kind", { equals: "brand" }));
|
|
32842
|
+
const navigation = stack({
|
|
32843
|
+
gap: "md",
|
|
32844
|
+
className: "rb-w-full"
|
|
32845
|
+
}, [footerNavGroupsLayout, footerNav({
|
|
32846
|
+
collectionPath: "footerMenu.items",
|
|
32847
|
+
mode: "links-only",
|
|
32276
32848
|
className: { $bind: {
|
|
32277
|
-
from: "
|
|
32278
|
-
|
|
32279
|
-
|
|
32280
|
-
|
|
32281
|
-
|
|
32282
|
-
|
|
32283
|
-
|
|
32849
|
+
from: "module.navigationClassName",
|
|
32850
|
+
fallback: "footer-nav rb-flex rb-flex-wrap rb-gap-x-6 rb-gap-y-3"
|
|
32851
|
+
} },
|
|
32852
|
+
linkClassName: "footer-nav-link rb-nav-text transition-theme-standard"
|
|
32853
|
+
})], when("module.kind", { equals: "navigation" }));
|
|
32854
|
+
const legalNavigation = footerNav({
|
|
32855
|
+
collectionPath: "legalFooterMenu.items",
|
|
32856
|
+
mode: "links-only",
|
|
32857
|
+
className: "rb-flex rb-flex-wrap rb-gap-x-4 rb-gap-y-2",
|
|
32858
|
+
linkClassName: "footer-nav-link rb-caption transition-theme-standard"
|
|
32859
|
+
});
|
|
32860
|
+
const address = text({
|
|
32861
|
+
as: "address",
|
|
32862
|
+
className: "rb-not-italic rb-opacity-80"
|
|
32863
|
+
}, when("module.kind", { equals: "business-address" }), bind("module.address"));
|
|
32864
|
+
const contact = stack({
|
|
32865
|
+
gap: "sm",
|
|
32866
|
+
className: "rb-items-start"
|
|
32867
|
+
}, [link({
|
|
32868
|
+
href: { $bind: { from: "contactLink.href" } },
|
|
32869
|
+
className: "rb-nav-text rb-break-words transition-theme-standard"
|
|
32870
|
+
}, [text({ as: "span" }, bind("contactLink.label"))], repeat("module.contactLinks", "contactLink"))], when("module.kind", { equals: "contact" }));
|
|
32871
|
+
const hours = stack({
|
|
32872
|
+
gap: "sm",
|
|
32873
|
+
className: "rb-w-full"
|
|
32874
|
+
}, [inline({ className: "rb-flex rb-w-full rb-justify-between rb-gap-4" }, [text({
|
|
32875
|
+
as: "span",
|
|
32876
|
+
className: "rb-label"
|
|
32877
|
+
}, bind("hoursDay.weekday")), text({
|
|
32878
|
+
as: "span",
|
|
32879
|
+
className: "rb-caption rb-opacity-80"
|
|
32880
|
+
}, bind("hoursDay.hours"))], repeat("module.openingHours", "hoursDay")), text({
|
|
32881
|
+
as: "p",
|
|
32882
|
+
className: "rb-caption rb-opacity-70"
|
|
32883
|
+
}, bind("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
|
|
32884
|
+
const socials = inline({ className: "rb-flex rb-flex-wrap rb-gap-x-5 rb-gap-y-3" }, [link({
|
|
32885
|
+
href: { $bind: { from: "social.href" } },
|
|
32886
|
+
target: "_blank",
|
|
32887
|
+
rel: "noreferrer noopener",
|
|
32888
|
+
"aria-label": { $bind: { from: "social.label" } },
|
|
32889
|
+
className: "rb-nav-text transition-theme-standard"
|
|
32890
|
+
}, [icon({ className: "rb-h-5 rb-w-5" }, bind("social.icon"), when("social.icon")), text({ as: "span" }, bind("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
|
|
32891
|
+
const authoredCopy = richText({
|
|
32892
|
+
className: "rb-prose rb-prose-sm rb-max-w-none",
|
|
32893
|
+
style: textColorStyle("text/80")
|
|
32894
|
+
}, when("module.content"), bind("module.content", { transforms: [{
|
|
32895
|
+
id: "content.interpolateRichTextTokens",
|
|
32896
|
+
options: { tokens: ["year", "site_name"] }
|
|
32897
|
+
}] }));
|
|
32898
|
+
const footerGroup = stack({
|
|
32899
|
+
gap: "md",
|
|
32900
|
+
align: "stretch",
|
|
32901
|
+
className: "rb-min-w-0",
|
|
32902
|
+
"data-footer-group": { $bind: { from: "group.kind" } }
|
|
32903
|
+
}, [stack({
|
|
32904
|
+
gap: "md",
|
|
32905
|
+
align: "start",
|
|
32906
|
+
"data-preview-footer-module-id": { $bind: { from: "module.id" } }
|
|
32284
32907
|
}, [
|
|
32285
|
-
|
|
32286
|
-
|
|
32287
|
-
|
|
32288
|
-
|
|
32289
|
-
}
|
|
32290
|
-
|
|
32291
|
-
|
|
32292
|
-
|
|
32293
|
-
|
|
32294
|
-
|
|
32295
|
-
|
|
32296
|
-
|
|
32297
|
-
|
|
32298
|
-
|
|
32299
|
-
|
|
32300
|
-
|
|
32301
|
-
|
|
32302
|
-
|
|
32303
|
-
|
|
32304
|
-
|
|
32305
|
-
}
|
|
32306
|
-
|
|
32307
|
-
|
|
32308
|
-
|
|
32309
|
-
|
|
32310
|
-
|
|
32311
|
-
|
|
32312
|
-
from: "$root.theme.footer.logo",
|
|
32313
|
-
transforms: [{ id: "layout.footerLogoMediaClass" }],
|
|
32314
|
-
fallback: "rb-w-auto"
|
|
32315
|
-
} } }, when("site.logo"), bind("site.logo"))], when("content.logo", { not: true })),
|
|
32316
|
-
text({
|
|
32317
|
-
as: "strong",
|
|
32318
|
-
className: "footer-logo-text rb-nav-text"
|
|
32319
|
-
}, whenTransformed("$root.theme.footer", "layout.footerLogoTextVisible"), bind("site.title", { fallback: "Your Site" }))
|
|
32320
|
-
])]),
|
|
32321
|
-
...businessAddressLayout(),
|
|
32322
|
-
...inlineBottomTextLayout()
|
|
32323
|
-
], when("$root.theme.footer.variant", { equals: "split" }));
|
|
32324
|
-
const footerLayout = section({
|
|
32325
|
-
background: "background",
|
|
32908
|
+
text({
|
|
32909
|
+
as: "h2",
|
|
32910
|
+
className: "rb-label",
|
|
32911
|
+
style: textColorStyle("text/70")
|
|
32912
|
+
}, bind("module.heading"), when("module.heading")),
|
|
32913
|
+
brandLogo,
|
|
32914
|
+
navigation,
|
|
32915
|
+
stack({
|
|
32916
|
+
gap: "sm",
|
|
32917
|
+
className: "rb-w-full"
|
|
32918
|
+
}, [legalNavigation], when("module.kind", { equals: "legal-navigation" })),
|
|
32919
|
+
address,
|
|
32920
|
+
contact,
|
|
32921
|
+
hours,
|
|
32922
|
+
socials,
|
|
32923
|
+
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
32924
|
+
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
32925
|
+
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
32926
|
+
const footerMainRegion = stack({
|
|
32927
|
+
className: { $bind: { from: "region.className" } },
|
|
32928
|
+
"data-footer-region": { $bind: { from: "region.kind" } }
|
|
32929
|
+
}, [footerGroup], when("region.kind", { equals: "main" }), repeat("content.footerRuntime.regions", "region"));
|
|
32930
|
+
const footerBottomRegion = stack({ className: { $bind: {
|
|
32931
|
+
from: "$root.theme.footer",
|
|
32932
|
+
transforms: [{ id: "layout.footerBottomBarContainerClass" }],
|
|
32933
|
+
fallback: "rb-w-full"
|
|
32934
|
+
} } }, [stack({
|
|
32326
32935
|
className: { $bind: {
|
|
32327
32936
|
from: "$root.theme.footer",
|
|
32328
|
-
transforms: [{ id: "layout.
|
|
32329
|
-
fallback: "rb-w-full rb-border-t
|
|
32937
|
+
transforms: [{ id: "layout.footerBottomBarClass" }],
|
|
32938
|
+
fallback: "rb-w-full rb-border-t rb-px-6 rb-py-6 rb-text-center"
|
|
32330
32939
|
} },
|
|
32331
32940
|
style: { $bind: {
|
|
32332
32941
|
from: "$root.theme.footer",
|
|
32333
|
-
transforms: [{ id: "layout.
|
|
32334
|
-
|
|
32335
|
-
|
|
32336
|
-
}, [
|
|
32337
|
-
simpleFooterLayout,
|
|
32338
|
-
columnsFooterLayout,
|
|
32339
|
-
splitFooterLayout,
|
|
32340
|
-
stack({
|
|
32341
|
-
className: { $bind: {
|
|
32342
|
-
from: "$root.theme.footer",
|
|
32343
|
-
transforms: [{ id: "layout.footerBottomBarClass" }],
|
|
32344
|
-
fallback: "rb-w-full rb-border-t rb-py-5"
|
|
32345
|
-
} },
|
|
32346
|
-
style: { $bind: {
|
|
32347
|
-
from: "$root.theme.footer",
|
|
32348
|
-
transforms: [{ id: "layout.footerBottomBarStyle" }]
|
|
32349
|
-
} }
|
|
32350
|
-
}, [stack({ className: { $bind: {
|
|
32351
|
-
from: "$root.theme.footer",
|
|
32352
|
-
transforms: [{ id: "layout.footerBottomBarContainerClass" }],
|
|
32353
|
-
fallback: "rb-container"
|
|
32354
|
-
} } }, [...bottomBarTextLayout()])], when("$root.theme.footer.bottomBar.enabled", { equals: true }))
|
|
32355
|
-
]);
|
|
32942
|
+
transforms: [{ id: "layout.footerBottomBarStyle" }]
|
|
32943
|
+
} },
|
|
32944
|
+
"data-footer-region": "bottom"
|
|
32945
|
+
}, [footerGroup])], when("region.kind", { equals: "bottom" }), repeat("content.footerRuntime.regions", "region"));
|
|
32356
32946
|
const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
32357
32947
|
id: "block.site-footer",
|
|
32358
32948
|
title: "Site Footer",
|
|
32359
32949
|
category: "layout",
|
|
32360
|
-
|
|
32361
|
-
fragment: footerBottomTextFragment,
|
|
32362
|
-
fieldPriority: 0
|
|
32363
|
-
}],
|
|
32950
|
+
contentSource: { kind: "inline" },
|
|
32364
32951
|
skipSectionStyles: true,
|
|
32365
|
-
|
|
32366
|
-
|
|
32367
|
-
|
|
32368
|
-
|
|
32369
|
-
|
|
32370
|
-
|
|
32371
|
-
|
|
32372
|
-
|
|
32373
|
-
|
|
32374
|
-
|
|
32952
|
+
layout: section({
|
|
32953
|
+
background: "background",
|
|
32954
|
+
className: { $bind: {
|
|
32955
|
+
from: "$root.theme.footer",
|
|
32956
|
+
transforms: [{ id: "layout.footerRootClass" }],
|
|
32957
|
+
fallback: "rb-w-full rb-border-t transition-theme"
|
|
32958
|
+
} },
|
|
32959
|
+
style: { $bind: {
|
|
32960
|
+
from: "$root.theme.footer",
|
|
32961
|
+
transforms: [{ id: "layout.footerRootStyle" }],
|
|
32962
|
+
fallback: mergeStyles(backgroundColorStyle("surface"), surfaceForegroundStyle({ text: "rgb(var(--tb-text))" }), borderColorStyle("border"))
|
|
32963
|
+
} },
|
|
32964
|
+
"data-footer-membership": { $bind: { from: "content.footerRuntime.membershipKey" } }
|
|
32965
|
+
}, [footerMainRegion, footerBottomRegion]),
|
|
32966
|
+
description: "Site-wide composed footer with canonical shared details.",
|
|
32375
32967
|
styleTokens: { spacing: "md" },
|
|
32376
32968
|
paletteHidden: true
|
|
32377
32969
|
}) };
|
|
@@ -32505,6 +33097,7 @@ const testimonialsBlockDefinition = {
|
|
|
32505
33097
|
id: "block.testimonials",
|
|
32506
33098
|
title: "Testimonials",
|
|
32507
33099
|
category: "marketing",
|
|
33100
|
+
contentSource: { kind: "inline" },
|
|
32508
33101
|
includeContainerStyles: true,
|
|
32509
33102
|
previewCustomize: { quickFieldPriority: [
|
|
32510
33103
|
"avatarLayout",
|
|
@@ -32663,6 +33256,7 @@ const columnsBlockDefinition = { manifest: createBlockManifest({
|
|
|
32663
33256
|
id: "block.columns",
|
|
32664
33257
|
title: "Columns",
|
|
32665
33258
|
category: "layout",
|
|
33259
|
+
contentSource: { kind: "inline" },
|
|
32666
33260
|
additionalFields: [
|
|
32667
33261
|
parseFieldDefinition({
|
|
32668
33262
|
id: "equalHeight",
|
|
@@ -32849,7 +33443,7 @@ const repeatedItemsNode = repeaterFragmentLayout({
|
|
|
32849
33443
|
id: "boxStyles.all",
|
|
32850
33444
|
options: {
|
|
32851
33445
|
axis: "all",
|
|
32852
|
-
baseClass: "rb-collection-item rb-relative rb-isolate rb-overflow-
|
|
33446
|
+
baseClass: "rb-collection-item rb-relative rb-isolate rb-overflow-visible rb-border"
|
|
32853
33447
|
}
|
|
32854
33448
|
}]
|
|
32855
33449
|
},
|
|
@@ -32896,6 +33490,7 @@ const collectionBlockDefinition = { manifest: createBlockManifest({
|
|
|
32896
33490
|
id: "block.collection",
|
|
32897
33491
|
title: "Collection",
|
|
32898
33492
|
category: "layout",
|
|
33493
|
+
contentSource: { kind: "inline" },
|
|
32899
33494
|
additionalFields: [
|
|
32900
33495
|
parseFieldDefinition({
|
|
32901
33496
|
id: "layout",
|
|
@@ -33132,6 +33727,7 @@ const featureCardsBlockDefinition = { manifest: createBlockManifest({
|
|
|
33132
33727
|
id: "block.feature-cards",
|
|
33133
33728
|
title: "Feature Cards",
|
|
33134
33729
|
category: "layout",
|
|
33730
|
+
contentSource: { kind: "inline" },
|
|
33135
33731
|
includeContainerStyles: true,
|
|
33136
33732
|
titleSource: "title",
|
|
33137
33733
|
additionalFields: [
|
|
@@ -33515,6 +34111,7 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
33515
34111
|
id: "block.media-text",
|
|
33516
34112
|
title: "Media and Text",
|
|
33517
34113
|
category: "layout",
|
|
34114
|
+
contentSource: { kind: "inline" },
|
|
33518
34115
|
includeContainerStyles: true,
|
|
33519
34116
|
titleSource: "title",
|
|
33520
34117
|
previewCustomize: { quickFieldPriority: [
|
|
@@ -33915,6 +34512,7 @@ const appointmentBookingBlockDefinition = {
|
|
|
33915
34512
|
paletteHidden: false
|
|
33916
34513
|
},
|
|
33917
34514
|
category: "interactive",
|
|
34515
|
+
contentSource: { kind: "inline" },
|
|
33918
34516
|
tags: [
|
|
33919
34517
|
"booking",
|
|
33920
34518
|
"appointment",
|
|
@@ -34079,6 +34677,7 @@ const weeklySlotAvailabilityManifest = createBlockManifest({
|
|
|
34079
34677
|
paletteHidden: false
|
|
34080
34678
|
},
|
|
34081
34679
|
category: "interactive",
|
|
34680
|
+
contentSource: { kind: "inline" },
|
|
34082
34681
|
tags: [
|
|
34083
34682
|
"booking",
|
|
34084
34683
|
"appointment",
|
|
@@ -35671,6 +36270,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
35671
36270
|
titleSource: "heading",
|
|
35672
36271
|
description: "Multi-step event registration form",
|
|
35673
36272
|
category: "interactive",
|
|
36273
|
+
contentSource: { kind: "inline" },
|
|
35674
36274
|
tags: [
|
|
35675
36275
|
"events",
|
|
35676
36276
|
"registration",
|
|
@@ -35777,15 +36377,9 @@ const eventRegistrationBlockDefinition = {
|
|
|
35777
36377
|
defaultValue: "Complete Registration",
|
|
35778
36378
|
maxLength: 40
|
|
35779
36379
|
},
|
|
35780
|
-
{
|
|
35781
|
-
id: "buttonVariant",
|
|
35782
|
-
type: "select",
|
|
35783
|
-
label: "Button style",
|
|
36380
|
+
createButtonVariantField({
|
|
35784
36381
|
description: "Choose a button style from your theme",
|
|
35785
|
-
|
|
35786
|
-
multiple: false,
|
|
35787
|
-
defaultValue: "primary",
|
|
35788
|
-
options: [
|
|
36382
|
+
variants: [
|
|
35789
36383
|
{
|
|
35790
36384
|
value: "primary",
|
|
35791
36385
|
label: "Primary"
|
|
@@ -35798,9 +36392,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
35798
36392
|
value: "outline",
|
|
35799
36393
|
label: "Outline"
|
|
35800
36394
|
}
|
|
35801
|
-
]
|
|
35802
|
-
|
|
35803
|
-
}
|
|
36395
|
+
]
|
|
36396
|
+
})
|
|
35804
36397
|
],
|
|
35805
36398
|
layout: [styledSection({
|
|
35806
36399
|
baseClass: "",
|
|
@@ -35993,6 +36586,7 @@ const courseRegistrationBlockDefinition = {
|
|
|
35993
36586
|
titleSource: "heading",
|
|
35994
36587
|
description: "Enrollment form for multi-session courses",
|
|
35995
36588
|
category: "interactive",
|
|
36589
|
+
contentSource: { kind: "inline" },
|
|
35996
36590
|
tags: [
|
|
35997
36591
|
"courses",
|
|
35998
36592
|
"enrollment",
|
|
@@ -36106,15 +36700,9 @@ const courseRegistrationBlockDefinition = {
|
|
|
36106
36700
|
defaultValue: "Sign up",
|
|
36107
36701
|
maxLength: 40
|
|
36108
36702
|
},
|
|
36109
|
-
{
|
|
36110
|
-
id: "buttonVariant",
|
|
36111
|
-
type: "select",
|
|
36112
|
-
label: "Button style",
|
|
36703
|
+
createButtonVariantField({
|
|
36113
36704
|
description: "Choose a button style from your theme",
|
|
36114
|
-
|
|
36115
|
-
multiple: false,
|
|
36116
|
-
defaultValue: "primary",
|
|
36117
|
-
options: [
|
|
36705
|
+
variants: [
|
|
36118
36706
|
{
|
|
36119
36707
|
value: "primary",
|
|
36120
36708
|
label: "Primary"
|
|
@@ -36127,9 +36715,8 @@ const courseRegistrationBlockDefinition = {
|
|
|
36127
36715
|
value: "outline",
|
|
36128
36716
|
label: "Outline"
|
|
36129
36717
|
}
|
|
36130
|
-
]
|
|
36131
|
-
|
|
36132
|
-
}
|
|
36718
|
+
]
|
|
36719
|
+
})
|
|
36133
36720
|
],
|
|
36134
36721
|
layout: [styledSection({
|
|
36135
36722
|
baseClass: "",
|
|
@@ -36209,6 +36796,7 @@ const eventDetailsManifest = createBlockManifest({
|
|
|
36209
36796
|
titleSource: "heading",
|
|
36210
36797
|
description: "Date/time, venue, map, and other dates for an event",
|
|
36211
36798
|
category: "content",
|
|
36799
|
+
contentSource: { kind: "entries" },
|
|
36212
36800
|
tags: [
|
|
36213
36801
|
"events",
|
|
36214
36802
|
"venue",
|
|
@@ -36414,6 +37002,7 @@ const courseDetailsBlockDefinition = {
|
|
|
36414
37002
|
titleSource: "heading",
|
|
36415
37003
|
description: "Schedule, venue, price, and enrollment status for a course",
|
|
36416
37004
|
category: "content",
|
|
37005
|
+
contentSource: { kind: "entries" },
|
|
36417
37006
|
tags: [
|
|
36418
37007
|
"courses",
|
|
36419
37008
|
"schedule",
|
|
@@ -36705,6 +37294,7 @@ const eventSpotlightBlockDefinition = {
|
|
|
36705
37294
|
paletteHidden: false
|
|
36706
37295
|
},
|
|
36707
37296
|
category: "content",
|
|
37297
|
+
contentSource: { kind: "entries" },
|
|
36708
37298
|
tags: [
|
|
36709
37299
|
"events",
|
|
36710
37300
|
"featured",
|
|
@@ -37251,6 +37841,7 @@ const eventListingBlockDefinition = {
|
|
|
37251
37841
|
paletteHidden: true
|
|
37252
37842
|
},
|
|
37253
37843
|
category: "interactive",
|
|
37844
|
+
contentSource: { kind: "entries" },
|
|
37254
37845
|
tags: [
|
|
37255
37846
|
"events",
|
|
37256
37847
|
"listing",
|
|
@@ -38423,6 +39014,7 @@ const eventCalendarBlockDefinition = {
|
|
|
38423
39014
|
paletteHidden: false
|
|
38424
39015
|
},
|
|
38425
39016
|
category: "interactive",
|
|
39017
|
+
contentSource: { kind: "entries" },
|
|
38426
39018
|
tags: [
|
|
38427
39019
|
"events",
|
|
38428
39020
|
"calendar",
|
|
@@ -38820,6 +39412,7 @@ const recurringScheduleBlockDefinition = {
|
|
|
38820
39412
|
titleSource: "heading",
|
|
38821
39413
|
description: "A compact weekly schedule with one row per recurring series.",
|
|
38822
39414
|
category: "interactive",
|
|
39415
|
+
contentSource: { kind: "entries" },
|
|
38823
39416
|
icon: "CalendarDays",
|
|
38824
39417
|
tags: [
|
|
38825
39418
|
"schedule",
|
|
@@ -39237,7 +39830,10 @@ const offeringsPreviewFields = [
|
|
|
39237
39830
|
label: "Link"
|
|
39238
39831
|
}
|
|
39239
39832
|
],
|
|
39240
|
-
ui: {
|
|
39833
|
+
ui: {
|
|
39834
|
+
intent: "display",
|
|
39835
|
+
widget: "buttonVariant"
|
|
39836
|
+
}
|
|
39241
39837
|
},
|
|
39242
39838
|
{
|
|
39243
39839
|
id: "buttonText",
|
|
@@ -39290,6 +39886,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
39290
39886
|
paletteHidden: false
|
|
39291
39887
|
},
|
|
39292
39888
|
category: "content",
|
|
39889
|
+
contentSource: { kind: "mixed" },
|
|
39293
39890
|
tags: [
|
|
39294
39891
|
"offerings",
|
|
39295
39892
|
"events",
|
|
@@ -39458,6 +40055,7 @@ const embedManifest = createBlockManifest({
|
|
|
39458
40055
|
id: "block.embed",
|
|
39459
40056
|
title: "Embed Content",
|
|
39460
40057
|
category: "content",
|
|
40058
|
+
contentSource: { kind: "entries" },
|
|
39461
40059
|
titleSource: "heading",
|
|
39462
40060
|
additionalFields: [
|
|
39463
40061
|
parseFieldDefinition({
|
|
@@ -39945,6 +40543,7 @@ const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
|
39945
40543
|
id: "block.image-gallery",
|
|
39946
40544
|
title: "Image Gallery",
|
|
39947
40545
|
category: "content",
|
|
40546
|
+
contentSource: { kind: "inline" },
|
|
39948
40547
|
previewCustomize: { quickFieldPriority: [
|
|
39949
40548
|
"aspectRatio",
|
|
39950
40549
|
"slidesToShow",
|
|
@@ -40597,6 +41196,7 @@ const videoGridBlockDefinition = { manifest: createBlockManifest({
|
|
|
40597
41196
|
id: "block.video-grid",
|
|
40598
41197
|
title: "Video Grid",
|
|
40599
41198
|
category: "media",
|
|
41199
|
+
contentSource: { kind: "inline" },
|
|
40600
41200
|
skipSectionStyles: true,
|
|
40601
41201
|
additionalFields: parseFieldDefinitions([
|
|
40602
41202
|
{
|
|
@@ -40767,6 +41367,7 @@ const audioPlayerBlockDefinition = { manifest: createBlockManifest({
|
|
|
40767
41367
|
title: "Audio Player",
|
|
40768
41368
|
titleSource: "title",
|
|
40769
41369
|
category: "media",
|
|
41370
|
+
contentSource: { kind: "inline" },
|
|
40770
41371
|
description: "Add a branded audio player for a single track.",
|
|
40771
41372
|
tags: [
|
|
40772
41373
|
"audio",
|
|
@@ -40878,6 +41479,7 @@ const fileDownloadBlockDefinition = { manifest: createBlockManifest({
|
|
|
40878
41479
|
title: "File Download",
|
|
40879
41480
|
titleSource: ["title", "file.filename"],
|
|
40880
41481
|
category: "media",
|
|
41482
|
+
contentSource: { kind: "inline" },
|
|
40881
41483
|
description: "Add a simple public download link for a document, ZIP, or audio file.",
|
|
40882
41484
|
tags: [
|
|
40883
41485
|
"file",
|
|
@@ -41822,6 +42424,7 @@ const shopBlockDefinition = {
|
|
|
41822
42424
|
paletteHidden: false
|
|
41823
42425
|
},
|
|
41824
42426
|
category: "interactive",
|
|
42427
|
+
contentSource: { kind: "entries" },
|
|
41825
42428
|
tags: [
|
|
41826
42429
|
"shop",
|
|
41827
42430
|
"passes",
|
|
@@ -42021,6 +42624,7 @@ const productListBlockDefinition = {
|
|
|
42021
42624
|
paletteHidden: false
|
|
42022
42625
|
},
|
|
42023
42626
|
category: "interactive",
|
|
42627
|
+
contentSource: { kind: "entries" },
|
|
42024
42628
|
tags: [
|
|
42025
42629
|
"shop",
|
|
42026
42630
|
"products",
|
|
@@ -42162,6 +42766,7 @@ const productDetailBlockDefinition = {
|
|
|
42162
42766
|
paletteHidden: false
|
|
42163
42767
|
},
|
|
42164
42768
|
category: "interactive",
|
|
42769
|
+
contentSource: { kind: "entries" },
|
|
42165
42770
|
tags: [
|
|
42166
42771
|
"shop",
|
|
42167
42772
|
"product",
|
|
@@ -42278,6 +42883,7 @@ const cartBlockDefinition = {
|
|
|
42278
42883
|
paletteHidden: false
|
|
42279
42884
|
},
|
|
42280
42885
|
category: "interactive",
|
|
42886
|
+
contentSource: { kind: "inline" },
|
|
42281
42887
|
tags: [
|
|
42282
42888
|
"shop",
|
|
42283
42889
|
"cart",
|
|
@@ -42360,6 +42966,7 @@ const checkoutBlockDefinition = {
|
|
|
42360
42966
|
paletteHidden: false
|
|
42361
42967
|
},
|
|
42362
42968
|
category: "interactive",
|
|
42969
|
+
contentSource: { kind: "inline" },
|
|
42363
42970
|
tags: [
|
|
42364
42971
|
"shop",
|
|
42365
42972
|
"checkout",
|
|
@@ -42563,6 +43170,7 @@ const giftingBlockDefinition = {
|
|
|
42563
43170
|
paletteHidden: false
|
|
42564
43171
|
},
|
|
42565
43172
|
category: "interactive",
|
|
43173
|
+
contentSource: { kind: "entries" },
|
|
42566
43174
|
tags: [
|
|
42567
43175
|
"gifting",
|
|
42568
43176
|
"gift cards",
|
|
@@ -42926,6 +43534,7 @@ const newsletterSignupBlockDefinition = {
|
|
|
42926
43534
|
titleSource: "title",
|
|
42927
43535
|
description: "Newsletter subscription form with configurable field presets.",
|
|
42928
43536
|
category: "interactive",
|
|
43537
|
+
contentSource: { kind: "inline" },
|
|
42929
43538
|
fragments: [{
|
|
42930
43539
|
fragment: newsletterCopyFragment,
|
|
42931
43540
|
fieldPriority: 0
|
|
@@ -43107,6 +43716,7 @@ const teamMembersBlockDefinition = {
|
|
|
43107
43716
|
id: "block.team-members",
|
|
43108
43717
|
title: "Team Members",
|
|
43109
43718
|
category: "content",
|
|
43719
|
+
contentSource: { kind: "mixed" },
|
|
43110
43720
|
titleSource: "heading",
|
|
43111
43721
|
additionalFields: [
|
|
43112
43722
|
parseFieldDefinition({
|
|
@@ -43527,6 +44137,7 @@ const locationMapBlockDefinition = {
|
|
|
43527
44137
|
titleSource: "heading",
|
|
43528
44138
|
description: "Show a business location with an interactive map and directions link.",
|
|
43529
44139
|
category: "content",
|
|
44140
|
+
contentSource: { kind: "inline" },
|
|
43530
44141
|
tags: [
|
|
43531
44142
|
"map",
|
|
43532
44143
|
"location",
|
|
@@ -44642,9 +45253,9 @@ function appendBackgroundMediaClasses(baseClassName, input) {
|
|
|
44642
45253
|
].filter(Boolean).join(" ");
|
|
44643
45254
|
}
|
|
44644
45255
|
function gradientPresetCss(value) {
|
|
44645
|
-
|
|
44646
|
-
|
|
44647
|
-
|
|
45256
|
+
const presetId = parseGradientPresetId(value);
|
|
45257
|
+
if (!presetId) return null;
|
|
45258
|
+
const preset = getGradientPreset(presetId);
|
|
44648
45259
|
return gradientToCss(preset, Object.fromEntries(preset.stops.map((stop) => [stop.color, `rgb(var(--tb-${stop.color}))`])));
|
|
44649
45260
|
}
|
|
44650
45261
|
const backgroundTransforms = [
|
|
@@ -44683,16 +45294,17 @@ const backgroundTransforms = [
|
|
|
44683
45294
|
run: (value, _options, context) => resolveSurfaceForegroundStyles(value, context)
|
|
44684
45295
|
},
|
|
44685
45296
|
{
|
|
44686
|
-
id: "background.
|
|
45297
|
+
id: "background.resolveFrameClassName",
|
|
44687
45298
|
kind: "formatter",
|
|
44688
|
-
summary: "Resolve
|
|
44689
|
-
run: (value) => {
|
|
44690
|
-
|
|
45299
|
+
summary: "Resolve clipping on a decorative background frame without clipping foreground content",
|
|
45300
|
+
run: (value, options) => {
|
|
45301
|
+
const baseClass = options?.baseClass?.trim() ?? "";
|
|
45302
|
+
if (!value || typeof value !== "object") return `${baseClass} rb-overflow-hidden`.trim();
|
|
44691
45303
|
const input = value;
|
|
44692
|
-
if (input.overflow === true) return
|
|
45304
|
+
if (input.overflow === true) return `${baseClass} rb-overflow-visible`.trim();
|
|
44693
45305
|
const objectFit = isString(input.objectFit) ? input.objectFit.trim() : null;
|
|
44694
45306
|
const scale = isString(input.scale) ? input.scale.trim() : isNumber(input.scale) ? String(input.scale) : null;
|
|
44695
|
-
return Boolean((objectFit === "custom" || objectFit === "original") && scale && scale.trim().length > 0);
|
|
45307
|
+
return `${baseClass} ${Boolean((objectFit === "custom" || objectFit === "original") && scale && scale.trim().length > 0) ? "rb-overflow-visible" : "rb-overflow-hidden"}`.trim();
|
|
44696
45308
|
}
|
|
44697
45309
|
},
|
|
44698
45310
|
{
|
|
@@ -45760,6 +46372,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
|
45760
46372
|
"already_refunded",
|
|
45761
46373
|
"idempotency_amount_mismatch",
|
|
45762
46374
|
"idempotency_method_mismatch",
|
|
46375
|
+
"idempotency_receipt_mismatch",
|
|
45763
46376
|
"refund_in_progress"
|
|
45764
46377
|
],
|
|
45765
46378
|
"invalid_amount",
|
|
@@ -45772,7 +46385,12 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
|
|
|
45772
46385
|
"payment_intent_not_found",
|
|
45773
46386
|
"stripe_error",
|
|
45774
46387
|
"stale_pending_missing_context",
|
|
45775
|
-
"non_refundable_deposit_remaining"
|
|
46388
|
+
"non_refundable_deposit_remaining",
|
|
46389
|
+
"deposit_refund_override_required",
|
|
46390
|
+
"refund_revoke_requires_full_line_refund",
|
|
46391
|
+
"payment_receipt_not_found",
|
|
46392
|
+
"payment_receipt_not_refundable",
|
|
46393
|
+
"payment_receipt_attribution_required"
|
|
45776
46394
|
];
|
|
45777
46395
|
[...CANONICAL_REFUND_PLANNER_ERROR_CODES];
|
|
45778
46396
|
//#endregion
|
|
@@ -45785,7 +46403,10 @@ const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
|
45785
46403
|
"missing_credit_customer",
|
|
45786
46404
|
"deposit_refund_override_required",
|
|
45787
46405
|
"refund_revoke_requires_full_line_refund",
|
|
45788
|
-
"unified_order_link_required"
|
|
46406
|
+
"unified_order_link_required",
|
|
46407
|
+
"payment_receipt_not_found",
|
|
46408
|
+
"payment_receipt_not_refundable",
|
|
46409
|
+
"payment_receipt_attribution_required"
|
|
45789
46410
|
];
|
|
45790
46411
|
const EVENT_ATTENDEE_REFUND_INVALID_CODES = ["manual_booking_not_refundable", ...STANDARD_LINE_ITEM_REFUND_INVALID_CODES];
|
|
45791
46412
|
[...CANONICAL_ADMIN_REFUND_FAILURE_CODES];
|