@riverbankcms/sdk 0.108.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-BBT-kZAM.mjs → PreviewEditorSidebar-DWqwfy3_.mjs} +7 -22
- package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-B7OL4sfR.mjs} +3 -3
- package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-D0y2l8JN.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-D8Gt9Gbe.mjs} +212 -153
- package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DUpalEdL.mjs} +1919 -1032
- package/dist/_dts/ai/src/contracts/proposals.d.ts +11244 -10741
- 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 +2 -17
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/common/envelope.d.ts +7 -0
- 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 +35 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +247 -1
- package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +1 -5
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +33 -27
- 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/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-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/manifest/schema.d.ts +31 -0
- 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 +1 -1
- 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/sentinels.d.ts +36 -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/db/src/generated/supabase/database.types.d.ts +3071 -3157
- 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/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -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/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/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 +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +43 -19
- package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +893 -823
- package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
- 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/types.d.ts +44 -32
- 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 +101 -83
- package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
- 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/mock-themes/all.d.ts +87 -126
- package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
- package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
- 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 +112 -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/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/styleTags.d.ts +2 -2
- package/dist/cli/index.mjs +67956 -66745
- 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-D6TOf6Hi.mjs → DiscountCodeDisclosure-DU1ygxU2.mjs} +1 -1
- package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-DB5zagCo.mjs} +3 -3
- package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CTX9JHBL.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BYImhgiB.mjs} +1 -1
- package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-CRkw_M3l.mjs} +2 -2
- package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-BnmVBJJh.mjs} +2 -2
- package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-CeGreumd.mjs} +1 -1
- package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-CSzFNrpN.mjs} +6 -6
- package/dist/client/bookings.mjs +512 -252
- package/dist/client/{buttons-EBjyslaX.mjs → buttons-DoFV7KDL.mjs} +493 -230
- package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-B2jDtogf.mjs} +1 -1
- package/dist/client/{cart-BQcbXIVD.mjs → cart-D-jZ-vaY.mjs} +3 -3
- package/dist/client/{checkout-DEmpGRJu.mjs → checkout-Dza-LA7N.mjs} +3 -3
- package/dist/client/client.mjs +1673 -785
- package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-CrgzoXsm.mjs} +1 -30
- package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-TYkNychb.mjs} +7 -7
- package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-BI_90SsT.mjs} +5 -5
- package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-mNrpryE9.mjs} +2 -2
- package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-D4GVlCIY.mjs} +3 -3
- package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-YhKN018y.mjs} +2 -2
- package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-CdHGtilr.mjs} +7 -7
- package/dist/client/foregroundContract-xICPq59x.mjs +31 -0
- package/dist/client/{form-LY2xIbwg.mjs → form-AcAL45rA.mjs} +2 -2
- package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-uEC52ueD.mjs} +3 -3
- package/dist/client/hooks.mjs +890 -497
- package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-_wJDSUYe.mjs} +3 -3
- package/dist/client/{media-DHtSxS5V.mjs → media-BK0O3b-U.mjs} +3 -2
- package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-DrArsb2B.mjs} +2 -2
- package/dist/client/{pricing-DDq80oYc.mjs → pricing-BSYVghwo.mjs} +1 -1
- package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-Dyk90sMs.mjs} +3 -3
- package/dist/client/{productList-PwYlZn0y.mjs → productList-BCKThwAI.mjs} +3 -3
- package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-CkXxkdSR.mjs} +63 -24
- package/dist/client/rendering/client.mjs +1034 -486
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1832 -760
- package/dist/client/{shop-CMwZPYME.mjs → shop-DeltVH10.mjs} +6 -6
- package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-BD9Jsm2Z.mjs} +6 -6
- package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-CmXD6FDS.mjs} +1 -1
- package/dist/client/{shopShared-D2naaOes.mjs → shopShared-B8v-lH_F.mjs} +2 -2
- package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-DbWJN8ld.mjs} +1 -1
- package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-EJIMUnqT.mjs} +46 -69
- package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-Cmh14fc7.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +35 -0
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +35 -0
- package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-CTO7CRPk.mjs} +35 -0
- package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-Dou0GAav.mjs} +2 -2
- package/dist/{separator-5ahRBC85.mjs → separator-CI5wZNXT.mjs} +1 -1
- package/dist/server/components.mjs +1832 -784
- package/dist/server/config-validation.mjs +890 -497
- package/dist/server/config.mjs +890 -497
- package/dist/server/data.mjs +890 -497
- package/dist/server/date-time.mjs +386 -0
- package/dist/server/index.mjs +36 -1
- package/dist/server/next.mjs +1868 -785
- package/dist/server/page-converter.mjs +849 -285
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1553 -718
- package/dist/server/rendering.mjs +1832 -784
- package/dist/server/routing.mjs +933 -522
- package/dist/server/server.mjs +929 -501
- package/dist/server/theme-bridge.mjs +1408 -392
- package/dist/server/theme.mjs +471 -228
- package/dist/styles/index.css +5 -0
- 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
|
@@ -2917,6 +2917,111 @@ const mediaSchema$1 = z.object({
|
|
|
2917
2917
|
transform: transformSchema$1.optional()
|
|
2918
2918
|
});
|
|
2919
2919
|
//#endregion
|
|
2920
|
+
//#region ../theme-core/src/buttons/effectClassification.ts
|
|
2921
|
+
/**
|
|
2922
|
+
* Exhaustive live policy for every registered effect id.
|
|
2923
|
+
*
|
|
2924
|
+
* The resolver consumes the transition payload directly, so adding an effect
|
|
2925
|
+
* cannot update classification without also defining its runtime behavior.
|
|
2926
|
+
*/
|
|
2927
|
+
const BUTTON_EFFECT_POLICIES = {
|
|
2928
|
+
"darken-background": {
|
|
2929
|
+
classification: "colour-transition",
|
|
2930
|
+
transition: {
|
|
2931
|
+
kind: "adjust-shade",
|
|
2932
|
+
direction: "darker"
|
|
2933
|
+
}
|
|
2934
|
+
},
|
|
2935
|
+
"lighten-background": {
|
|
2936
|
+
classification: "colour-transition",
|
|
2937
|
+
transition: {
|
|
2938
|
+
kind: "adjust-shade",
|
|
2939
|
+
direction: "lighter"
|
|
2940
|
+
}
|
|
2941
|
+
},
|
|
2942
|
+
"background-on-hover": {
|
|
2943
|
+
classification: "colour-transition",
|
|
2944
|
+
transition: { kind: "replace-background" }
|
|
2945
|
+
},
|
|
2946
|
+
"background-on-hover-alpha": {
|
|
2947
|
+
classification: "unsupported-colour",
|
|
2948
|
+
reason: "alpha_requires_surface"
|
|
2949
|
+
},
|
|
2950
|
+
"fade-background": {
|
|
2951
|
+
classification: "unsupported-colour",
|
|
2952
|
+
reason: "changes_element_opacity"
|
|
2953
|
+
},
|
|
2954
|
+
"opacity-reduce": {
|
|
2955
|
+
classification: "unsupported-colour",
|
|
2956
|
+
reason: "changes_element_opacity"
|
|
2957
|
+
},
|
|
2958
|
+
"gradient-text": {
|
|
2959
|
+
classification: "unsupported-colour",
|
|
2960
|
+
reason: "changes_foreground"
|
|
2961
|
+
},
|
|
2962
|
+
"text-color-change": {
|
|
2963
|
+
classification: "unsupported-colour",
|
|
2964
|
+
reason: "changes_foreground"
|
|
2965
|
+
},
|
|
2966
|
+
"border-color-change": {
|
|
2967
|
+
classification: "unsupported-colour",
|
|
2968
|
+
reason: "changes_border"
|
|
2969
|
+
},
|
|
2970
|
+
"aurora-glow": {
|
|
2971
|
+
classification: "unsupported-background-overlay",
|
|
2972
|
+
reason: "unresolved_background_overlay"
|
|
2973
|
+
},
|
|
2974
|
+
"cosmic-stardust": {
|
|
2975
|
+
classification: "unsupported-background-overlay",
|
|
2976
|
+
reason: "unresolved_background_overlay"
|
|
2977
|
+
},
|
|
2978
|
+
"gradient-border-fill": {
|
|
2979
|
+
classification: "unsupported-background-overlay",
|
|
2980
|
+
reason: "unresolved_background_overlay"
|
|
2981
|
+
},
|
|
2982
|
+
"animated-gradient-border-fill": {
|
|
2983
|
+
classification: "unsupported-background-overlay",
|
|
2984
|
+
reason: "unresolved_background_overlay"
|
|
2985
|
+
},
|
|
2986
|
+
"nav-underline": {
|
|
2987
|
+
classification: "not-button",
|
|
2988
|
+
reason: "not_button_effect"
|
|
2989
|
+
},
|
|
2990
|
+
"nav-frosted-base": {
|
|
2991
|
+
classification: "not-button",
|
|
2992
|
+
reason: "not_button_effect"
|
|
2993
|
+
},
|
|
2994
|
+
"nav-frosted-hover": {
|
|
2995
|
+
classification: "not-button",
|
|
2996
|
+
reason: "not_button_effect"
|
|
2997
|
+
},
|
|
2998
|
+
"nav-frosted-active": {
|
|
2999
|
+
classification: "not-button",
|
|
3000
|
+
reason: "not_button_effect"
|
|
3001
|
+
},
|
|
3002
|
+
"animated-gradient": { classification: "non-colour" },
|
|
3003
|
+
"border-glow": { classification: "non-colour" },
|
|
3004
|
+
"drop-shadow": { classification: "non-colour" },
|
|
3005
|
+
"inner-shadow": { classification: "non-colour" },
|
|
3006
|
+
"neumorphic-shadow": { classification: "non-colour" },
|
|
3007
|
+
"outer-glow": { classification: "non-colour" },
|
|
3008
|
+
"retro-3d-shadow": { classification: "non-colour" },
|
|
3009
|
+
"scale-up": { classification: "non-colour" },
|
|
3010
|
+
"scale-down": { classification: "non-colour" },
|
|
3011
|
+
lift: { classification: "non-colour" },
|
|
3012
|
+
"press-down": { classification: "non-colour" },
|
|
3013
|
+
pop: { classification: "non-colour" },
|
|
3014
|
+
"border-bottom-grow": { classification: "non-colour" },
|
|
3015
|
+
"sketchy-border": { classification: "non-colour" },
|
|
3016
|
+
"pulse-animation": { classification: "non-colour" }
|
|
3017
|
+
};
|
|
3018
|
+
function getButtonEffectPolicy(effectId) {
|
|
3019
|
+
return Object.prototype.hasOwnProperty.call(BUTTON_EFFECT_POLICIES, effectId) ? BUTTON_EFFECT_POLICIES[effectId] : null;
|
|
3020
|
+
}
|
|
3021
|
+
function classifyButtonEffectId(effectId) {
|
|
3022
|
+
return getButtonEffectPolicy(effectId)?.classification ?? "unknown";
|
|
3023
|
+
}
|
|
3024
|
+
//#endregion
|
|
2920
3025
|
//#region ../theme-core/src/buttons/types.ts
|
|
2921
3026
|
/**
|
|
2922
3027
|
* Standard semantic variant roles a theme exposes.
|
|
@@ -2933,6 +3038,20 @@ const VARIANT_ROLES = [
|
|
|
2933
3038
|
"tertiary",
|
|
2934
3039
|
"accent"
|
|
2935
3040
|
];
|
|
3041
|
+
function parseOpaqueButtonColourToken(value) {
|
|
3042
|
+
const token = parseThemeColorToken(value);
|
|
3043
|
+
if (token === null) return null;
|
|
3044
|
+
const parts = parseColorTokenParts(token);
|
|
3045
|
+
return parts.kind === "token" && parts.opacityPercent === null ? token : null;
|
|
3046
|
+
}
|
|
3047
|
+
function unsafeAsOpaqueButtonColourToken(value) {
|
|
3048
|
+
return value;
|
|
3049
|
+
}
|
|
3050
|
+
const opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => parseOpaqueButtonColourToken(value) !== null, "Button colour tokens must be opaque").transform((value) => {
|
|
3051
|
+
const token = parseOpaqueButtonColourToken(value);
|
|
3052
|
+
if (token === null) throw new Error("Invariant: opaque button token passed its schema");
|
|
3053
|
+
return token;
|
|
3054
|
+
});
|
|
2936
3055
|
const cornerStyleSchema = z$1.enum([
|
|
2937
3056
|
"square",
|
|
2938
3057
|
"rounded",
|
|
@@ -3034,7 +3153,7 @@ const buttonSizesSchema = z$1.object({
|
|
|
3034
3153
|
lg,
|
|
3035
3154
|
xl: xl ?? lg
|
|
3036
3155
|
}));
|
|
3037
|
-
const
|
|
3156
|
+
const canonicalButtonGlobalSettingsSchema = z$1.object({
|
|
3038
3157
|
cornerStyle: cornerStyleSchema,
|
|
3039
3158
|
cornerRadius: z$1.number().min(0).max(24).optional(),
|
|
3040
3159
|
/**
|
|
@@ -3065,11 +3184,12 @@ const buttonGlobalSettingsSchema = z$1.object({
|
|
|
3065
3184
|
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
3066
3185
|
hoverTransform: hoverTransformSchema,
|
|
3067
3186
|
hoverColor: hoverColorSchema,
|
|
3068
|
-
hoverColorToken:
|
|
3187
|
+
hoverColorToken: opaqueButtonColourTokenSchema.optional(),
|
|
3069
3188
|
gradientStyle: gradientStyleSchema.optional(),
|
|
3070
3189
|
gradientAngle: z$1.number().min(0).max(360).optional(),
|
|
3071
3190
|
gradientSharpness: gradientSharpnessSchema.optional()
|
|
3072
3191
|
});
|
|
3192
|
+
const buttonGlobalSettingsSchema = z$1.preprocess(normalizeLegacyButtonGlobalInput, canonicalButtonGlobalSettingsSchema);
|
|
3073
3193
|
const gradientDirectionSchema$1 = z$1.enum([
|
|
3074
3194
|
"to-r",
|
|
3075
3195
|
"to-l",
|
|
@@ -3083,27 +3203,33 @@ const gradientDirectionSchema$1 = z$1.enum([
|
|
|
3083
3203
|
const buttonBackgroundSchema = z$1.discriminatedUnion("type", [
|
|
3084
3204
|
z$1.object({
|
|
3085
3205
|
type: z$1.literal("solid"),
|
|
3086
|
-
colorToken:
|
|
3206
|
+
colorToken: opaqueButtonColourTokenSchema
|
|
3087
3207
|
}),
|
|
3088
3208
|
z$1.object({
|
|
3089
3209
|
type: z$1.literal("gradient"),
|
|
3090
|
-
stops: z$1.array(
|
|
3091
|
-
|
|
3210
|
+
stops: z$1.array(opaqueButtonColourTokenSchema).min(2).transform((stops) => {
|
|
3211
|
+
const [first, second, ...rest] = stops;
|
|
3212
|
+
if (first === void 0 || second === void 0) throw new Error("Invariant: gradient stops passed the minimum length schema");
|
|
3213
|
+
return [
|
|
3214
|
+
first,
|
|
3215
|
+
second,
|
|
3216
|
+
...rest
|
|
3217
|
+
];
|
|
3218
|
+
}),
|
|
3219
|
+
direction: gradientDirectionSchema$1,
|
|
3220
|
+
foregroundToken: opaqueButtonColourTokenSchema
|
|
3092
3221
|
}),
|
|
3093
|
-
z$1.object({
|
|
3222
|
+
z$1.object({
|
|
3223
|
+
type: z$1.literal("surface"),
|
|
3224
|
+
role: z$1.literal("link")
|
|
3225
|
+
})
|
|
3094
3226
|
]);
|
|
3095
3227
|
const effectApplicationSchema$1 = z$1.object({
|
|
3096
3228
|
effectId: z$1.string(),
|
|
3097
|
-
options: z$1.record(z$1.string(), z$1.
|
|
3098
|
-
});
|
|
3099
|
-
const buttonBorderSchema = z$1.object({
|
|
3100
|
-
widthClass: z$1.string(),
|
|
3101
|
-
colorToken: themeColorTokenSchema
|
|
3102
|
-
});
|
|
3103
|
-
const buttonVariantAffordanceSchema = z$1.object({
|
|
3104
|
-
iconId: z$1.string().min(1),
|
|
3105
|
-
colorToken: themeColorTokenSchema.optional()
|
|
3229
|
+
options: z$1.record(z$1.string(), z$1.json()).optional()
|
|
3106
3230
|
});
|
|
3231
|
+
const buttonBorderSchema = z$1.object({ widthClass: z$1.string() });
|
|
3232
|
+
const buttonVariantAffordanceSchema = z$1.object({ iconId: z$1.string().min(1) });
|
|
3107
3233
|
const variantShadowSchema = z$1.object({
|
|
3108
3234
|
elevation: z$1.enum([
|
|
3109
3235
|
"none",
|
|
@@ -3144,27 +3270,170 @@ const variantSizeOverridesSchema = z$1.object({
|
|
|
3144
3270
|
* default (e.g. link-style variants declaring zero horizontal padding at
|
|
3145
3271
|
* every size).
|
|
3146
3272
|
*/
|
|
3147
|
-
const
|
|
3273
|
+
const canonicalButtonVariantSchema = z$1.object({
|
|
3148
3274
|
id: z$1.string(),
|
|
3149
3275
|
name: z$1.string().min(1).max(20),
|
|
3150
3276
|
enabled: z$1.boolean(),
|
|
3151
3277
|
priority: prioritySchema,
|
|
3152
3278
|
background: buttonBackgroundSchema,
|
|
3153
|
-
textColorToken: themeColorTokenSchema,
|
|
3154
3279
|
/** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
|
|
3155
3280
|
borderRadius: z$1.string().optional(),
|
|
3156
3281
|
shadow: variantShadowSchema.optional(),
|
|
3157
3282
|
border: buttonBorderSchema.optional(),
|
|
3158
|
-
hoverBackgroundToken:
|
|
3283
|
+
hoverBackgroundToken: opaqueButtonColourTokenSchema.optional(),
|
|
3159
3284
|
effects: variantEffectsSchema.optional(),
|
|
3160
3285
|
sizes: variantSizeOverridesSchema.optional(),
|
|
3161
3286
|
affordance: buttonVariantAffordanceSchema.optional()
|
|
3162
3287
|
});
|
|
3288
|
+
/**
|
|
3289
|
+
* Temporary persisted-theme admission boundary for issue #1206.
|
|
3290
|
+
*
|
|
3291
|
+
* Production inventory on 2026-07-22 found 22 rows using the old independent
|
|
3292
|
+
* `textColorToken`/border colour shape. New source and all downstream code use
|
|
3293
|
+
* only the canonical relationship. Delete this preprocessor after the reviewed
|
|
3294
|
+
* production rewrite reports zero legacy rows.
|
|
3295
|
+
*/
|
|
3296
|
+
const buttonVariantSchema = z$1.preprocess(normalizeLegacyButtonVariantInput, canonicalButtonVariantSchema);
|
|
3163
3297
|
const buttonSystemSchema = z$1.object({
|
|
3164
3298
|
global: buttonGlobalSettingsSchema,
|
|
3165
3299
|
variants: z$1.array(buttonVariantSchema).min(1).max(6),
|
|
3166
3300
|
sizes: buttonSizesSchema.optional()
|
|
3167
3301
|
});
|
|
3302
|
+
function normalizeLegacyButtonVariantInput(input) {
|
|
3303
|
+
if (!isUnknownRecord(input)) return input;
|
|
3304
|
+
const background = input.background;
|
|
3305
|
+
if (!isUnknownRecord(background)) return input;
|
|
3306
|
+
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;
|
|
3307
|
+
const { textColorToken, ...withoutLegacyText } = input;
|
|
3308
|
+
const normalizedBorder = isUnknownRecord(input.border) && typeof input.border.widthClass === "string" ? { widthClass: input.border.widthClass } : input.border;
|
|
3309
|
+
const normalizedAffordance = isUnknownRecord(input.affordance) && typeof input.affordance.iconId === "string" ? { iconId: input.affordance.iconId } : input.affordance;
|
|
3310
|
+
const normalizedEffects = normalizeLegacyButtonEffects(input.effects, background.type);
|
|
3311
|
+
const hoverBackgroundToken = stripLegacyTokenAlpha(input.hoverBackgroundToken);
|
|
3312
|
+
if (background.type === "transparent") return {
|
|
3313
|
+
...withoutLegacyText,
|
|
3314
|
+
background: {
|
|
3315
|
+
type: "surface",
|
|
3316
|
+
role: "link"
|
|
3317
|
+
},
|
|
3318
|
+
border: normalizedBorder,
|
|
3319
|
+
affordance: normalizedAffordance,
|
|
3320
|
+
effects: normalizedEffects,
|
|
3321
|
+
hoverBackgroundToken
|
|
3322
|
+
};
|
|
3323
|
+
if (background.type === "gradient") {
|
|
3324
|
+
const stops = Array.isArray(background.stops) ? background.stops.map(stripLegacyTokenAlpha) : background.stops;
|
|
3325
|
+
return {
|
|
3326
|
+
...withoutLegacyText,
|
|
3327
|
+
background: {
|
|
3328
|
+
...background,
|
|
3329
|
+
stops,
|
|
3330
|
+
foregroundToken: stripLegacyTokenAlpha(background.foregroundToken ?? textColorToken)
|
|
3331
|
+
},
|
|
3332
|
+
border: normalizedBorder,
|
|
3333
|
+
affordance: normalizedAffordance,
|
|
3334
|
+
effects: normalizedEffects,
|
|
3335
|
+
hoverBackgroundToken
|
|
3336
|
+
};
|
|
3337
|
+
}
|
|
3338
|
+
return {
|
|
3339
|
+
...withoutLegacyText,
|
|
3340
|
+
background: background.type === "solid" ? {
|
|
3341
|
+
...background,
|
|
3342
|
+
colorToken: stripLegacyTokenAlpha(background.colorToken)
|
|
3343
|
+
} : background,
|
|
3344
|
+
border: normalizedBorder,
|
|
3345
|
+
affordance: normalizedAffordance,
|
|
3346
|
+
effects: normalizedEffects,
|
|
3347
|
+
hoverBackgroundToken
|
|
3348
|
+
};
|
|
3349
|
+
}
|
|
3350
|
+
function normalizeLegacyButtonGlobalInput(input) {
|
|
3351
|
+
if (!isUnknownRecord(input)) return input;
|
|
3352
|
+
const hoverColorToken = stripLegacyTokenAlpha(input.hoverColorToken);
|
|
3353
|
+
return hoverColorToken === input.hoverColorToken ? input : {
|
|
3354
|
+
...input,
|
|
3355
|
+
hoverColorToken
|
|
3356
|
+
};
|
|
3357
|
+
}
|
|
3358
|
+
function hasLegacyAlphaToken(input, background) {
|
|
3359
|
+
const stops = isUnknownArray(background.stops) ? background.stops : [];
|
|
3360
|
+
return [
|
|
3361
|
+
input.hoverBackgroundToken,
|
|
3362
|
+
background.colorToken,
|
|
3363
|
+
background.foregroundToken,
|
|
3364
|
+
...stops
|
|
3365
|
+
].some((token) => stripLegacyTokenAlpha(token) !== token);
|
|
3366
|
+
}
|
|
3367
|
+
function stripLegacyTokenAlpha(value) {
|
|
3368
|
+
if (typeof value !== "string") return value;
|
|
3369
|
+
const slashIndex = value.indexOf("/");
|
|
3370
|
+
return slashIndex < 0 ? value : value.slice(0, slashIndex);
|
|
3371
|
+
}
|
|
3372
|
+
function hasLegacyButtonEffects(input) {
|
|
3373
|
+
if (!isUnknownRecord(input)) return false;
|
|
3374
|
+
return [
|
|
3375
|
+
"base",
|
|
3376
|
+
"hover",
|
|
3377
|
+
"active",
|
|
3378
|
+
"focus"
|
|
3379
|
+
].some((state) => {
|
|
3380
|
+
const effects = input[state];
|
|
3381
|
+
return Array.isArray(effects) && effects.some((effect) => {
|
|
3382
|
+
if (!isUnknownRecord(effect) || typeof effect.effectId !== "string") return true;
|
|
3383
|
+
const classification = classifyButtonEffectId(effect.effectId);
|
|
3384
|
+
if (classification !== "colour-transition" && classification !== "non-colour") return true;
|
|
3385
|
+
return effect.effectId === "background-on-hover" && isUnknownRecord(effect.options) && stripLegacyTokenAlpha(effect.options.colorToken) !== effect.options.colorToken;
|
|
3386
|
+
});
|
|
3387
|
+
});
|
|
3388
|
+
}
|
|
3389
|
+
function normalizeLegacyButtonEffects(input, backgroundType) {
|
|
3390
|
+
if (!isUnknownRecord(input)) return input;
|
|
3391
|
+
const normalized = {};
|
|
3392
|
+
for (const state of [
|
|
3393
|
+
"base",
|
|
3394
|
+
"hover",
|
|
3395
|
+
"active",
|
|
3396
|
+
"focus"
|
|
3397
|
+
]) {
|
|
3398
|
+
const effects = input[state];
|
|
3399
|
+
if (!Array.isArray(effects)) continue;
|
|
3400
|
+
const safeEffects = effects.flatMap((effect) => {
|
|
3401
|
+
if (!isUnknownRecord(effect) || typeof effect.effectId !== "string") return [];
|
|
3402
|
+
const classification = classifyButtonEffectId(effect.effectId);
|
|
3403
|
+
if (classification === "non-colour") return [effect];
|
|
3404
|
+
if (classification !== "colour-transition") return [];
|
|
3405
|
+
if (effect.effectId === "background-on-hover") {
|
|
3406
|
+
const options = isUnknownRecord(effect.options) ? effect.options : null;
|
|
3407
|
+
const colorToken = options === null ? null : parseOpaqueButtonColourToken(stripLegacyTokenAlpha(options.colorToken));
|
|
3408
|
+
return colorToken === null ? [] : [{
|
|
3409
|
+
...effect,
|
|
3410
|
+
options: {
|
|
3411
|
+
...options,
|
|
3412
|
+
colorToken
|
|
3413
|
+
}
|
|
3414
|
+
}];
|
|
3415
|
+
}
|
|
3416
|
+
if (backgroundType !== "solid") return [];
|
|
3417
|
+
const rawAmount = isUnknownRecord(effect.options) ? effect.options.amount : void 0;
|
|
3418
|
+
const amount = typeof rawAmount === "number" && rawAmount > 0 ? Math.max(100, Math.round(rawAmount / 100) * 100) : 100;
|
|
3419
|
+
return [{
|
|
3420
|
+
...effect,
|
|
3421
|
+
options: {
|
|
3422
|
+
...isUnknownRecord(effect.options) ? effect.options : {},
|
|
3423
|
+
amount
|
|
3424
|
+
}
|
|
3425
|
+
}];
|
|
3426
|
+
});
|
|
3427
|
+
if (safeEffects.length > 0) normalized[state] = safeEffects;
|
|
3428
|
+
}
|
|
3429
|
+
return Object.keys(normalized).length === 0 ? void 0 : normalized;
|
|
3430
|
+
}
|
|
3431
|
+
function isUnknownRecord(value) {
|
|
3432
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3433
|
+
}
|
|
3434
|
+
function isUnknownArray(value) {
|
|
3435
|
+
return Array.isArray(value);
|
|
3436
|
+
}
|
|
3168
3437
|
buttonSizeNameSchema.options;
|
|
3169
3438
|
//#endregion
|
|
3170
3439
|
//#region ../theme-core/src/buttons/personalities/types.ts
|
|
@@ -3191,7 +3460,7 @@ function defineButtonPersonality(input) {
|
|
|
3191
3460
|
name: input.name,
|
|
3192
3461
|
description: input.description,
|
|
3193
3462
|
tags: input.tags,
|
|
3194
|
-
buttonSystem: input.buttonSystem
|
|
3463
|
+
buttonSystem: buttonSystemSchema.parse(input.buttonSystem)
|
|
3195
3464
|
};
|
|
3196
3465
|
}
|
|
3197
3466
|
//#endregion
|
|
@@ -3244,19 +3513,15 @@ const brushedWash = defineButtonPersonality({
|
|
|
3244
3513
|
background: {
|
|
3245
3514
|
type: "gradient",
|
|
3246
3515
|
stops: ["primary", "accent"],
|
|
3247
|
-
direction: "to-r"
|
|
3516
|
+
direction: "to-r",
|
|
3517
|
+
foregroundToken: "primaryForeground"
|
|
3248
3518
|
},
|
|
3249
|
-
textColorToken: "primaryForeground",
|
|
3250
3519
|
borderRadius: "rounded-lg",
|
|
3251
3520
|
shadow: {
|
|
3252
3521
|
elevation: "low",
|
|
3253
3522
|
softness: "soft",
|
|
3254
3523
|
position: "bottom"
|
|
3255
|
-
}
|
|
3256
|
-
effects: { hover: [{
|
|
3257
|
-
effectId: "opacity-reduce",
|
|
3258
|
-
options: { reduction: -15 }
|
|
3259
|
-
}] }
|
|
3524
|
+
}
|
|
3260
3525
|
},
|
|
3261
3526
|
{
|
|
3262
3527
|
id: "secondary",
|
|
@@ -3266,32 +3531,27 @@ const brushedWash = defineButtonPersonality({
|
|
|
3266
3531
|
background: {
|
|
3267
3532
|
type: "gradient",
|
|
3268
3533
|
stops: ["secondary", "accent"],
|
|
3269
|
-
direction: "to-br"
|
|
3534
|
+
direction: "to-br",
|
|
3535
|
+
foregroundToken: "primaryForeground"
|
|
3270
3536
|
},
|
|
3271
|
-
textColorToken: "primaryForeground",
|
|
3272
3537
|
borderRadius: "rounded-lg",
|
|
3273
3538
|
shadow: {
|
|
3274
3539
|
elevation: "low",
|
|
3275
3540
|
softness: "soft",
|
|
3276
3541
|
position: "bottom"
|
|
3277
|
-
}
|
|
3278
|
-
effects: { hover: [{
|
|
3279
|
-
effectId: "opacity-reduce",
|
|
3280
|
-
options: { reduction: -15 }
|
|
3281
|
-
}] }
|
|
3542
|
+
}
|
|
3282
3543
|
},
|
|
3283
3544
|
{
|
|
3284
3545
|
id: "outline",
|
|
3285
3546
|
name: "Outline",
|
|
3286
3547
|
enabled: true,
|
|
3287
3548
|
priority: 3,
|
|
3288
|
-
background: {
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
border: {
|
|
3292
|
-
widthClass: "border",
|
|
3293
|
-
colorToken: "primary"
|
|
3549
|
+
background: {
|
|
3550
|
+
type: "surface",
|
|
3551
|
+
role: "link"
|
|
3294
3552
|
},
|
|
3553
|
+
borderRadius: "rounded-lg",
|
|
3554
|
+
border: { widthClass: "border" },
|
|
3295
3555
|
effects: { hover: [{
|
|
3296
3556
|
effectId: "background-on-hover",
|
|
3297
3557
|
options: { colorToken: "surface" }
|
|
@@ -3302,8 +3562,10 @@ const brushedWash = defineButtonPersonality({
|
|
|
3302
3562
|
name: "Ghost",
|
|
3303
3563
|
enabled: true,
|
|
3304
3564
|
priority: 3,
|
|
3305
|
-
background: {
|
|
3306
|
-
|
|
3565
|
+
background: {
|
|
3566
|
+
type: "surface",
|
|
3567
|
+
role: "link"
|
|
3568
|
+
},
|
|
3307
3569
|
borderRadius: "rounded-lg",
|
|
3308
3570
|
effects: { hover: [{
|
|
3309
3571
|
effectId: "background-on-hover",
|
|
@@ -3349,7 +3611,6 @@ const confidentChip = defineButtonPersonality({
|
|
|
3349
3611
|
type: "solid",
|
|
3350
3612
|
colorToken: "primary"
|
|
3351
3613
|
},
|
|
3352
|
-
textColorToken: "primaryForeground",
|
|
3353
3614
|
borderRadius: "rounded-md",
|
|
3354
3615
|
shadow: {
|
|
3355
3616
|
elevation: "medium",
|
|
@@ -3359,7 +3620,7 @@ const confidentChip = defineButtonPersonality({
|
|
|
3359
3620
|
effects: {
|
|
3360
3621
|
hover: [{
|
|
3361
3622
|
effectId: "darken-background",
|
|
3362
|
-
options: { amount:
|
|
3623
|
+
options: { amount: 100 }
|
|
3363
3624
|
}],
|
|
3364
3625
|
active: [{
|
|
3365
3626
|
effectId: "scale-down",
|
|
@@ -3376,12 +3637,8 @@ const confidentChip = defineButtonPersonality({
|
|
|
3376
3637
|
type: "solid",
|
|
3377
3638
|
colorToken: "surface"
|
|
3378
3639
|
},
|
|
3379
|
-
textColorToken: "text",
|
|
3380
3640
|
borderRadius: "rounded-md",
|
|
3381
|
-
border: {
|
|
3382
|
-
widthClass: "border",
|
|
3383
|
-
colorToken: "border"
|
|
3384
|
-
},
|
|
3641
|
+
border: { widthClass: "border" },
|
|
3385
3642
|
effects: { hover: [{
|
|
3386
3643
|
effectId: "background-on-hover",
|
|
3387
3644
|
options: { colorToken: "background" }
|
|
@@ -3392,13 +3649,12 @@ const confidentChip = defineButtonPersonality({
|
|
|
3392
3649
|
name: "Outline",
|
|
3393
3650
|
enabled: true,
|
|
3394
3651
|
priority: 3,
|
|
3395
|
-
background: {
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
border: {
|
|
3399
|
-
widthClass: "border",
|
|
3400
|
-
colorToken: "primary"
|
|
3652
|
+
background: {
|
|
3653
|
+
type: "surface",
|
|
3654
|
+
role: "link"
|
|
3401
3655
|
},
|
|
3656
|
+
borderRadius: "rounded-md",
|
|
3657
|
+
border: { widthClass: "border" },
|
|
3402
3658
|
effects: { hover: [{
|
|
3403
3659
|
effectId: "background-on-hover",
|
|
3404
3660
|
options: { colorToken: "surface" }
|
|
@@ -3409,8 +3665,10 @@ const confidentChip = defineButtonPersonality({
|
|
|
3409
3665
|
name: "Ghost",
|
|
3410
3666
|
enabled: true,
|
|
3411
3667
|
priority: 3,
|
|
3412
|
-
background: {
|
|
3413
|
-
|
|
3668
|
+
background: {
|
|
3669
|
+
type: "surface",
|
|
3670
|
+
role: "link"
|
|
3671
|
+
},
|
|
3414
3672
|
borderRadius: "rounded-md",
|
|
3415
3673
|
effects: { hover: [{
|
|
3416
3674
|
effectId: "background-on-hover",
|
|
@@ -3473,7 +3731,6 @@ const earthPill = defineButtonPersonality({
|
|
|
3473
3731
|
type: "solid",
|
|
3474
3732
|
colorToken: "primary"
|
|
3475
3733
|
},
|
|
3476
|
-
textColorToken: "primaryForeground",
|
|
3477
3734
|
borderRadius: "rounded-full",
|
|
3478
3735
|
shadow: {
|
|
3479
3736
|
elevation: "low",
|
|
@@ -3499,13 +3756,12 @@ const earthPill = defineButtonPersonality({
|
|
|
3499
3756
|
name: "Secondary",
|
|
3500
3757
|
enabled: true,
|
|
3501
3758
|
priority: 2,
|
|
3502
|
-
background: {
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
border: {
|
|
3506
|
-
widthClass: "border",
|
|
3507
|
-
colorToken: "primary"
|
|
3759
|
+
background: {
|
|
3760
|
+
type: "surface",
|
|
3761
|
+
role: "link"
|
|
3508
3762
|
},
|
|
3763
|
+
borderRadius: "rounded-full",
|
|
3764
|
+
border: { widthClass: "border" },
|
|
3509
3765
|
effects: { hover: [{
|
|
3510
3766
|
effectId: "background-on-hover",
|
|
3511
3767
|
options: { colorToken: "muted" }
|
|
@@ -3516,13 +3772,12 @@ const earthPill = defineButtonPersonality({
|
|
|
3516
3772
|
name: "Outline",
|
|
3517
3773
|
enabled: true,
|
|
3518
3774
|
priority: 3,
|
|
3519
|
-
background: {
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
border: {
|
|
3523
|
-
widthClass: "border",
|
|
3524
|
-
colorToken: "border"
|
|
3775
|
+
background: {
|
|
3776
|
+
type: "surface",
|
|
3777
|
+
role: "link"
|
|
3525
3778
|
},
|
|
3779
|
+
borderRadius: "rounded-full",
|
|
3780
|
+
border: { widthClass: "border" },
|
|
3526
3781
|
effects: { hover: [{
|
|
3527
3782
|
effectId: "background-on-hover",
|
|
3528
3783
|
options: { colorToken: "surfaceAlt" }
|
|
@@ -3533,8 +3788,10 @@ const earthPill = defineButtonPersonality({
|
|
|
3533
3788
|
name: "Ghost",
|
|
3534
3789
|
enabled: true,
|
|
3535
3790
|
priority: 3,
|
|
3536
|
-
background: {
|
|
3537
|
-
|
|
3791
|
+
background: {
|
|
3792
|
+
type: "surface",
|
|
3793
|
+
role: "link"
|
|
3794
|
+
},
|
|
3538
3795
|
borderRadius: "rounded-full",
|
|
3539
3796
|
shadow: {
|
|
3540
3797
|
elevation: "none",
|
|
@@ -3555,11 +3812,7 @@ const earthPill = defineButtonPersonality({
|
|
|
3555
3812
|
padding: "0.625rem 0",
|
|
3556
3813
|
fontSize: "text-xl"
|
|
3557
3814
|
}
|
|
3558
|
-
}
|
|
3559
|
-
effects: { hover: [{
|
|
3560
|
-
effectId: "opacity-reduce",
|
|
3561
|
-
options: { reduction: 25 }
|
|
3562
|
-
}] }
|
|
3815
|
+
}
|
|
3563
3816
|
}
|
|
3564
3817
|
]
|
|
3565
3818
|
}
|
|
@@ -3595,8 +3848,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
3595
3848
|
name: "Primary",
|
|
3596
3849
|
enabled: true,
|
|
3597
3850
|
priority: 1,
|
|
3598
|
-
background: {
|
|
3599
|
-
|
|
3851
|
+
background: {
|
|
3852
|
+
type: "surface",
|
|
3853
|
+
role: "link"
|
|
3854
|
+
},
|
|
3600
3855
|
borderRadius: "rounded-none",
|
|
3601
3856
|
sizes: {
|
|
3602
3857
|
sm: { padding: "0.25rem 0" },
|
|
@@ -3618,8 +3873,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
3618
3873
|
name: "Secondary",
|
|
3619
3874
|
enabled: true,
|
|
3620
3875
|
priority: 2,
|
|
3621
|
-
background: {
|
|
3622
|
-
|
|
3876
|
+
background: {
|
|
3877
|
+
type: "surface",
|
|
3878
|
+
role: "link"
|
|
3879
|
+
},
|
|
3623
3880
|
borderRadius: "rounded-none",
|
|
3624
3881
|
sizes: {
|
|
3625
3882
|
sm: { padding: "0.25rem 0" },
|
|
@@ -3641,8 +3898,10 @@ const editorialLink = defineButtonPersonality({
|
|
|
3641
3898
|
name: "Outline",
|
|
3642
3899
|
enabled: true,
|
|
3643
3900
|
priority: 3,
|
|
3644
|
-
background: {
|
|
3645
|
-
|
|
3901
|
+
background: {
|
|
3902
|
+
type: "surface",
|
|
3903
|
+
role: "link"
|
|
3904
|
+
},
|
|
3646
3905
|
borderRadius: "rounded-none",
|
|
3647
3906
|
sizes: {
|
|
3648
3907
|
sm: { padding: "0.25rem 0" },
|
|
@@ -3664,19 +3923,17 @@ const editorialLink = defineButtonPersonality({
|
|
|
3664
3923
|
name: "Ghost",
|
|
3665
3924
|
enabled: true,
|
|
3666
3925
|
priority: 3,
|
|
3667
|
-
background: {
|
|
3668
|
-
|
|
3926
|
+
background: {
|
|
3927
|
+
type: "surface",
|
|
3928
|
+
role: "link"
|
|
3929
|
+
},
|
|
3669
3930
|
borderRadius: "rounded-none",
|
|
3670
3931
|
sizes: {
|
|
3671
3932
|
sm: { padding: "0.25rem 0" },
|
|
3672
3933
|
md: { padding: "0.5rem 0" },
|
|
3673
3934
|
lg: { padding: "0.625rem 0" },
|
|
3674
3935
|
xl: { padding: "0.75rem 0" }
|
|
3675
|
-
}
|
|
3676
|
-
effects: { hover: [{
|
|
3677
|
-
effectId: "opacity-reduce",
|
|
3678
|
-
options: { reduction: -20 }
|
|
3679
|
-
}] }
|
|
3936
|
+
}
|
|
3680
3937
|
}
|
|
3681
3938
|
]
|
|
3682
3939
|
}
|
|
@@ -3738,12 +3995,8 @@ const flatInk = defineButtonPersonality({
|
|
|
3738
3995
|
type: "solid",
|
|
3739
3996
|
colorToken: "primary"
|
|
3740
3997
|
},
|
|
3741
|
-
textColorToken: "primaryForeground",
|
|
3742
3998
|
borderRadius: "rounded-lg",
|
|
3743
|
-
affordance: {
|
|
3744
|
-
iconId: "ArrowRight",
|
|
3745
|
-
colorToken: "accent"
|
|
3746
|
-
},
|
|
3999
|
+
affordance: { iconId: "ArrowRight" },
|
|
3747
4000
|
effects: { hover: [{
|
|
3748
4001
|
effectId: "lift",
|
|
3749
4002
|
options: { translateY: "-2px" }
|
|
@@ -3757,13 +4010,12 @@ const flatInk = defineButtonPersonality({
|
|
|
3757
4010
|
name: "Secondary",
|
|
3758
4011
|
enabled: true,
|
|
3759
4012
|
priority: 2,
|
|
3760
|
-
background: {
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
border: {
|
|
3764
|
-
widthClass: "border",
|
|
3765
|
-
colorToken: "border"
|
|
4013
|
+
background: {
|
|
4014
|
+
type: "surface",
|
|
4015
|
+
role: "link"
|
|
3766
4016
|
},
|
|
4017
|
+
borderRadius: "rounded-lg",
|
|
4018
|
+
border: { widthClass: "border" },
|
|
3767
4019
|
effects: { hover: [{
|
|
3768
4020
|
effectId: "lift",
|
|
3769
4021
|
options: { translateY: "-2px" }
|
|
@@ -3781,12 +4033,8 @@ const flatInk = defineButtonPersonality({
|
|
|
3781
4033
|
type: "solid",
|
|
3782
4034
|
colorToken: "accent"
|
|
3783
4035
|
},
|
|
3784
|
-
textColorToken: "accentForeground",
|
|
3785
4036
|
borderRadius: "rounded-lg",
|
|
3786
|
-
affordance: {
|
|
3787
|
-
iconId: "ArrowRight",
|
|
3788
|
-
colorToken: "accentForeground"
|
|
3789
|
-
},
|
|
4037
|
+
affordance: { iconId: "ArrowRight" },
|
|
3790
4038
|
effects: { hover: [{
|
|
3791
4039
|
effectId: "lift",
|
|
3792
4040
|
options: { translateY: "-2px" }
|
|
@@ -3849,7 +4097,6 @@ const inkStamp = defineButtonPersonality({
|
|
|
3849
4097
|
type: "solid",
|
|
3850
4098
|
colorToken: "primary"
|
|
3851
4099
|
},
|
|
3852
|
-
textColorToken: "primaryForeground",
|
|
3853
4100
|
borderRadius: "rounded-md",
|
|
3854
4101
|
effects: {
|
|
3855
4102
|
hover: [{
|
|
@@ -3870,13 +4117,12 @@ const inkStamp = defineButtonPersonality({
|
|
|
3870
4117
|
name: "Secondary",
|
|
3871
4118
|
enabled: true,
|
|
3872
4119
|
priority: 2,
|
|
3873
|
-
background: {
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
border: {
|
|
3877
|
-
widthClass: "border-2",
|
|
3878
|
-
colorToken: "primary"
|
|
4120
|
+
background: {
|
|
4121
|
+
type: "surface",
|
|
4122
|
+
role: "link"
|
|
3879
4123
|
},
|
|
4124
|
+
borderRadius: "rounded-md",
|
|
4125
|
+
border: { widthClass: "border-2" },
|
|
3880
4126
|
effects: { hover: [{
|
|
3881
4127
|
effectId: "background-on-hover",
|
|
3882
4128
|
options: { colorToken: "surface" }
|
|
@@ -3887,13 +4133,12 @@ const inkStamp = defineButtonPersonality({
|
|
|
3887
4133
|
name: "Outline",
|
|
3888
4134
|
enabled: true,
|
|
3889
4135
|
priority: 3,
|
|
3890
|
-
background: {
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
border: {
|
|
3894
|
-
widthClass: "border-2",
|
|
3895
|
-
colorToken: "border"
|
|
4136
|
+
background: {
|
|
4137
|
+
type: "surface",
|
|
4138
|
+
role: "link"
|
|
3896
4139
|
},
|
|
4140
|
+
borderRadius: "rounded-md",
|
|
4141
|
+
border: { widthClass: "border-2" },
|
|
3897
4142
|
effects: { hover: [{
|
|
3898
4143
|
effectId: "background-on-hover",
|
|
3899
4144
|
options: { colorToken: "surface" }
|
|
@@ -3904,8 +4149,10 @@ const inkStamp = defineButtonPersonality({
|
|
|
3904
4149
|
name: "Ghost",
|
|
3905
4150
|
enabled: true,
|
|
3906
4151
|
priority: 3,
|
|
3907
|
-
background: {
|
|
3908
|
-
|
|
4152
|
+
background: {
|
|
4153
|
+
type: "surface",
|
|
4154
|
+
role: "link"
|
|
4155
|
+
},
|
|
3909
4156
|
borderRadius: "rounded-none",
|
|
3910
4157
|
sizes: {
|
|
3911
4158
|
sm: {
|
|
@@ -3998,7 +4245,6 @@ const joyStamp = defineButtonPersonality({
|
|
|
3998
4245
|
type: "solid",
|
|
3999
4246
|
colorToken: "primary"
|
|
4000
4247
|
},
|
|
4001
|
-
textColorToken: "primaryForeground",
|
|
4002
4248
|
borderRadius: "rounded-full",
|
|
4003
4249
|
shadow: {
|
|
4004
4250
|
elevation: "high",
|
|
@@ -4012,13 +4258,12 @@ const joyStamp = defineButtonPersonality({
|
|
|
4012
4258
|
name: "Secondary",
|
|
4013
4259
|
enabled: true,
|
|
4014
4260
|
priority: 2,
|
|
4015
|
-
background: {
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
border: {
|
|
4019
|
-
widthClass: "border-2",
|
|
4020
|
-
colorToken: "text"
|
|
4261
|
+
background: {
|
|
4262
|
+
type: "surface",
|
|
4263
|
+
role: "link"
|
|
4021
4264
|
},
|
|
4265
|
+
borderRadius: "rounded-full",
|
|
4266
|
+
border: { widthClass: "border-2" },
|
|
4022
4267
|
shadow: {
|
|
4023
4268
|
elevation: "high",
|
|
4024
4269
|
softness: "hard",
|
|
@@ -4083,12 +4328,8 @@ const ornateRitual = defineButtonPersonality({
|
|
|
4083
4328
|
type: "solid",
|
|
4084
4329
|
colorToken: "primary"
|
|
4085
4330
|
},
|
|
4086
|
-
textColorToken: "primaryForeground",
|
|
4087
4331
|
borderRadius: "rounded-md",
|
|
4088
|
-
border: {
|
|
4089
|
-
widthClass: "border",
|
|
4090
|
-
colorToken: "primary"
|
|
4091
|
-
},
|
|
4332
|
+
border: { widthClass: "border" },
|
|
4092
4333
|
effects: {
|
|
4093
4334
|
hover: [{
|
|
4094
4335
|
effectId: "background-on-hover",
|
|
@@ -4109,12 +4350,8 @@ const ornateRitual = defineButtonPersonality({
|
|
|
4109
4350
|
type: "solid",
|
|
4110
4351
|
colorToken: "secondary"
|
|
4111
4352
|
},
|
|
4112
|
-
textColorToken: "primaryForeground",
|
|
4113
4353
|
borderRadius: "rounded-md",
|
|
4114
|
-
border: {
|
|
4115
|
-
widthClass: "border",
|
|
4116
|
-
colorToken: "primary"
|
|
4117
|
-
},
|
|
4354
|
+
border: { widthClass: "border" },
|
|
4118
4355
|
effects: { hover: [{
|
|
4119
4356
|
effectId: "background-on-hover",
|
|
4120
4357
|
options: { colorToken: "surface" }
|
|
@@ -4125,13 +4362,12 @@ const ornateRitual = defineButtonPersonality({
|
|
|
4125
4362
|
name: "Outline",
|
|
4126
4363
|
enabled: true,
|
|
4127
4364
|
priority: 3,
|
|
4128
|
-
background: {
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
border: {
|
|
4132
|
-
widthClass: "border",
|
|
4133
|
-
colorToken: "primary"
|
|
4365
|
+
background: {
|
|
4366
|
+
type: "surface",
|
|
4367
|
+
role: "link"
|
|
4134
4368
|
},
|
|
4369
|
+
borderRadius: "rounded-md",
|
|
4370
|
+
border: { widthClass: "border" },
|
|
4135
4371
|
effects: { hover: [{
|
|
4136
4372
|
effectId: "background-on-hover",
|
|
4137
4373
|
options: { colorToken: "muted" }
|
|
@@ -4142,8 +4378,10 @@ const ornateRitual = defineButtonPersonality({
|
|
|
4142
4378
|
name: "Ghost",
|
|
4143
4379
|
enabled: true,
|
|
4144
4380
|
priority: 3,
|
|
4145
|
-
background: {
|
|
4146
|
-
|
|
4381
|
+
background: {
|
|
4382
|
+
type: "surface",
|
|
4383
|
+
role: "link"
|
|
4384
|
+
},
|
|
4147
4385
|
borderRadius: "rounded-none",
|
|
4148
4386
|
sizes: {
|
|
4149
4387
|
sm: {
|
|
@@ -4225,14 +4463,10 @@ const pebble = defineButtonPersonality({
|
|
|
4225
4463
|
type: "solid",
|
|
4226
4464
|
colorToken: "primary"
|
|
4227
4465
|
},
|
|
4228
|
-
textColorToken: "primaryForeground",
|
|
4229
4466
|
borderRadius: "rounded-full",
|
|
4230
4467
|
effects: { hover: [{
|
|
4231
|
-
effectId: "background
|
|
4232
|
-
options: {
|
|
4233
|
-
colorToken: "primary",
|
|
4234
|
-
opacity: 88
|
|
4235
|
-
}
|
|
4468
|
+
effectId: "darken-background",
|
|
4469
|
+
options: { amount: 100 }
|
|
4236
4470
|
}] }
|
|
4237
4471
|
},
|
|
4238
4472
|
{
|
|
@@ -4240,13 +4474,12 @@ const pebble = defineButtonPersonality({
|
|
|
4240
4474
|
name: "Secondary",
|
|
4241
4475
|
enabled: true,
|
|
4242
4476
|
priority: 2,
|
|
4243
|
-
background: {
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
border: {
|
|
4247
|
-
widthClass: "border-2",
|
|
4248
|
-
colorToken: "accent"
|
|
4477
|
+
background: {
|
|
4478
|
+
type: "surface",
|
|
4479
|
+
role: "link"
|
|
4249
4480
|
},
|
|
4481
|
+
borderRadius: "rounded-full",
|
|
4482
|
+
border: { widthClass: "border-2" },
|
|
4250
4483
|
effects: { hover: [{
|
|
4251
4484
|
effectId: "background-on-hover",
|
|
4252
4485
|
options: { colorToken: "accent" }
|
|
@@ -4257,13 +4490,12 @@ const pebble = defineButtonPersonality({
|
|
|
4257
4490
|
name: "Outline",
|
|
4258
4491
|
enabled: true,
|
|
4259
4492
|
priority: 3,
|
|
4260
|
-
background: {
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
border: {
|
|
4264
|
-
widthClass: "border",
|
|
4265
|
-
colorToken: "border"
|
|
4493
|
+
background: {
|
|
4494
|
+
type: "surface",
|
|
4495
|
+
role: "link"
|
|
4266
4496
|
},
|
|
4497
|
+
borderRadius: "rounded-full",
|
|
4498
|
+
border: { widthClass: "border" },
|
|
4267
4499
|
effects: { hover: [{
|
|
4268
4500
|
effectId: "background-on-hover",
|
|
4269
4501
|
options: { colorToken: "surface" }
|
|
@@ -4274,8 +4506,10 @@ const pebble = defineButtonPersonality({
|
|
|
4274
4506
|
name: "Ghost",
|
|
4275
4507
|
enabled: true,
|
|
4276
4508
|
priority: 3,
|
|
4277
|
-
background: {
|
|
4278
|
-
|
|
4509
|
+
background: {
|
|
4510
|
+
type: "surface",
|
|
4511
|
+
role: "link"
|
|
4512
|
+
},
|
|
4279
4513
|
borderRadius: "rounded-full",
|
|
4280
4514
|
sizes: {
|
|
4281
4515
|
sm: {
|
|
@@ -4291,11 +4525,7 @@ const pebble = defineButtonPersonality({
|
|
|
4291
4525
|
padding: "0.75rem 1.5rem",
|
|
4292
4526
|
fontSize: "text-xl"
|
|
4293
4527
|
}
|
|
4294
|
-
}
|
|
4295
|
-
effects: { hover: [{
|
|
4296
|
-
effectId: "opacity-reduce",
|
|
4297
|
-
options: { reduction: 30 }
|
|
4298
|
-
}] }
|
|
4528
|
+
}
|
|
4299
4529
|
}
|
|
4300
4530
|
]
|
|
4301
4531
|
}
|
|
@@ -4357,15 +4587,11 @@ const quietArrow = defineButtonPersonality({
|
|
|
4357
4587
|
type: "solid",
|
|
4358
4588
|
colorToken: "primary"
|
|
4359
4589
|
},
|
|
4360
|
-
textColorToken: "primaryForeground",
|
|
4361
4590
|
borderRadius: "rounded-xl",
|
|
4362
4591
|
affordance: { iconId: "ArrowRight" },
|
|
4363
4592
|
effects: { hover: [{
|
|
4364
|
-
effectId: "background
|
|
4365
|
-
options: {
|
|
4366
|
-
colorToken: "primary",
|
|
4367
|
-
opacity: 90
|
|
4368
|
-
}
|
|
4593
|
+
effectId: "darken-background",
|
|
4594
|
+
options: { amount: 100 }
|
|
4369
4595
|
}] }
|
|
4370
4596
|
},
|
|
4371
4597
|
{
|
|
@@ -4373,13 +4599,12 @@ const quietArrow = defineButtonPersonality({
|
|
|
4373
4599
|
name: "Secondary",
|
|
4374
4600
|
enabled: true,
|
|
4375
4601
|
priority: 2,
|
|
4376
|
-
background: {
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
border: {
|
|
4380
|
-
widthClass: "border",
|
|
4381
|
-
colorToken: "primary"
|
|
4602
|
+
background: {
|
|
4603
|
+
type: "surface",
|
|
4604
|
+
role: "link"
|
|
4382
4605
|
},
|
|
4606
|
+
borderRadius: "rounded-xl",
|
|
4607
|
+
border: { widthClass: "border" },
|
|
4383
4608
|
affordance: { iconId: "ArrowRight" },
|
|
4384
4609
|
effects: { hover: [{
|
|
4385
4610
|
effectId: "background-on-hover",
|
|
@@ -4391,21 +4616,22 @@ const quietArrow = defineButtonPersonality({
|
|
|
4391
4616
|
name: "Outline",
|
|
4392
4617
|
enabled: true,
|
|
4393
4618
|
priority: 3,
|
|
4394
|
-
background: {
|
|
4395
|
-
|
|
4619
|
+
background: {
|
|
4620
|
+
type: "surface",
|
|
4621
|
+
role: "link"
|
|
4622
|
+
},
|
|
4396
4623
|
borderRadius: "rounded-xl",
|
|
4397
|
-
border: {
|
|
4398
|
-
widthClass: "border",
|
|
4399
|
-
colorToken: "primary"
|
|
4400
|
-
}
|
|
4624
|
+
border: { widthClass: "border" }
|
|
4401
4625
|
},
|
|
4402
4626
|
{
|
|
4403
4627
|
id: "ghost",
|
|
4404
4628
|
name: "Ghost",
|
|
4405
4629
|
enabled: true,
|
|
4406
4630
|
priority: 3,
|
|
4407
|
-
background: {
|
|
4408
|
-
|
|
4631
|
+
background: {
|
|
4632
|
+
type: "surface",
|
|
4633
|
+
role: "link"
|
|
4634
|
+
},
|
|
4409
4635
|
borderRadius: "rounded-xl"
|
|
4410
4636
|
}
|
|
4411
4637
|
]
|
|
@@ -4469,7 +4695,6 @@ const showtimePill = defineButtonPersonality({
|
|
|
4469
4695
|
type: "solid",
|
|
4470
4696
|
colorToken: "primary"
|
|
4471
4697
|
},
|
|
4472
|
-
textColorToken: "background",
|
|
4473
4698
|
borderRadius: "rounded-full",
|
|
4474
4699
|
effects: { hover: [{ effectId: "pop" }] }
|
|
4475
4700
|
},
|
|
@@ -4478,13 +4703,12 @@ const showtimePill = defineButtonPersonality({
|
|
|
4478
4703
|
name: "Secondary",
|
|
4479
4704
|
enabled: true,
|
|
4480
4705
|
priority: 2,
|
|
4481
|
-
background: {
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
border: {
|
|
4485
|
-
widthClass: "border-2",
|
|
4486
|
-
colorToken: "primary"
|
|
4706
|
+
background: {
|
|
4707
|
+
type: "surface",
|
|
4708
|
+
role: "link"
|
|
4487
4709
|
},
|
|
4710
|
+
borderRadius: "rounded-full",
|
|
4711
|
+
border: { widthClass: "border-2" },
|
|
4488
4712
|
effects: { hover: [{ effectId: "pop" }] }
|
|
4489
4713
|
},
|
|
4490
4714
|
{
|
|
@@ -4496,7 +4720,6 @@ const showtimePill = defineButtonPersonality({
|
|
|
4496
4720
|
type: "solid",
|
|
4497
4721
|
colorToken: "secondary"
|
|
4498
4722
|
},
|
|
4499
|
-
textColorToken: "primary",
|
|
4500
4723
|
borderRadius: "rounded-full",
|
|
4501
4724
|
effects: { hover: [{ effectId: "pop" }] }
|
|
4502
4725
|
},
|
|
@@ -4509,12 +4732,8 @@ const showtimePill = defineButtonPersonality({
|
|
|
4509
4732
|
type: "solid",
|
|
4510
4733
|
colorToken: "background"
|
|
4511
4734
|
},
|
|
4512
|
-
textColorToken: "primary",
|
|
4513
4735
|
borderRadius: "rounded-full",
|
|
4514
|
-
border: {
|
|
4515
|
-
widthClass: "border-2",
|
|
4516
|
-
colorToken: "primary"
|
|
4517
|
-
},
|
|
4736
|
+
border: { widthClass: "border-2" },
|
|
4518
4737
|
effects: { hover: [{
|
|
4519
4738
|
effectId: "background-on-hover",
|
|
4520
4739
|
options: { colorToken: "surface" }
|
|
@@ -4525,13 +4744,12 @@ const showtimePill = defineButtonPersonality({
|
|
|
4525
4744
|
name: "Outline",
|
|
4526
4745
|
enabled: true,
|
|
4527
4746
|
priority: 3,
|
|
4528
|
-
background: {
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
border: {
|
|
4532
|
-
widthClass: "border-2",
|
|
4533
|
-
colorToken: "primary"
|
|
4747
|
+
background: {
|
|
4748
|
+
type: "surface",
|
|
4749
|
+
role: "link"
|
|
4534
4750
|
},
|
|
4751
|
+
borderRadius: "rounded-full",
|
|
4752
|
+
border: { widthClass: "border-2" },
|
|
4535
4753
|
effects: { hover: [{
|
|
4536
4754
|
effectId: "background-on-hover",
|
|
4537
4755
|
options: { colorToken: "background" }
|
|
@@ -4542,8 +4760,10 @@ const showtimePill = defineButtonPersonality({
|
|
|
4542
4760
|
name: "Ghost",
|
|
4543
4761
|
enabled: true,
|
|
4544
4762
|
priority: 3,
|
|
4545
|
-
background: {
|
|
4546
|
-
|
|
4763
|
+
background: {
|
|
4764
|
+
type: "surface",
|
|
4765
|
+
role: "link"
|
|
4766
|
+
},
|
|
4547
4767
|
borderRadius: "rounded-full",
|
|
4548
4768
|
effects: { hover: [{
|
|
4549
4769
|
effectId: "background-on-hover",
|
|
@@ -4589,7 +4809,6 @@ const softPill = defineButtonPersonality({
|
|
|
4589
4809
|
type: "solid",
|
|
4590
4810
|
colorToken: "primary"
|
|
4591
4811
|
},
|
|
4592
|
-
textColorToken: "primaryForeground",
|
|
4593
4812
|
borderRadius: "rounded-full",
|
|
4594
4813
|
shadow: {
|
|
4595
4814
|
elevation: "low",
|
|
@@ -4612,13 +4831,12 @@ const softPill = defineButtonPersonality({
|
|
|
4612
4831
|
name: "Secondary",
|
|
4613
4832
|
enabled: true,
|
|
4614
4833
|
priority: 2,
|
|
4615
|
-
background: {
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
border: {
|
|
4619
|
-
widthClass: "border-2",
|
|
4620
|
-
colorToken: "primary"
|
|
4834
|
+
background: {
|
|
4835
|
+
type: "surface",
|
|
4836
|
+
role: "link"
|
|
4621
4837
|
},
|
|
4838
|
+
borderRadius: "rounded-full",
|
|
4839
|
+
border: { widthClass: "border-2" },
|
|
4622
4840
|
effects: { hover: [{
|
|
4623
4841
|
effectId: "background-on-hover",
|
|
4624
4842
|
options: { colorToken: "surface" }
|
|
@@ -4629,13 +4847,12 @@ const softPill = defineButtonPersonality({
|
|
|
4629
4847
|
name: "Outline",
|
|
4630
4848
|
enabled: true,
|
|
4631
4849
|
priority: 3,
|
|
4632
|
-
background: {
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
border: {
|
|
4636
|
-
widthClass: "border",
|
|
4637
|
-
colorToken: "border"
|
|
4850
|
+
background: {
|
|
4851
|
+
type: "surface",
|
|
4852
|
+
role: "link"
|
|
4638
4853
|
},
|
|
4854
|
+
borderRadius: "rounded-full",
|
|
4855
|
+
border: { widthClass: "border" },
|
|
4639
4856
|
effects: { hover: [{
|
|
4640
4857
|
effectId: "background-on-hover",
|
|
4641
4858
|
options: { colorToken: "surface" }
|
|
@@ -4646,8 +4863,10 @@ const softPill = defineButtonPersonality({
|
|
|
4646
4863
|
name: "Ghost",
|
|
4647
4864
|
enabled: true,
|
|
4648
4865
|
priority: 3,
|
|
4649
|
-
background: {
|
|
4650
|
-
|
|
4866
|
+
background: {
|
|
4867
|
+
type: "surface",
|
|
4868
|
+
role: "link"
|
|
4869
|
+
},
|
|
4651
4870
|
borderRadius: "rounded-full",
|
|
4652
4871
|
effects: { hover: [{
|
|
4653
4872
|
effectId: "background-on-hover",
|
|
@@ -4666,9 +4885,8 @@ const solidSecondary = {
|
|
|
4666
4885
|
priority: 2,
|
|
4667
4886
|
background: {
|
|
4668
4887
|
type: "solid",
|
|
4669
|
-
colorToken: "secondary"
|
|
4888
|
+
colorToken: unsafeAsOpaqueButtonColourToken("secondary")
|
|
4670
4889
|
},
|
|
4671
|
-
textColorToken: "onSecondary",
|
|
4672
4890
|
borderRadius: "rounded-full",
|
|
4673
4891
|
shadow: {
|
|
4674
4892
|
elevation: "none",
|
|
@@ -4716,6 +4934,27 @@ const buttonPersonalities = [
|
|
|
4716
4934
|
quietArrow
|
|
4717
4935
|
];
|
|
4718
4936
|
new Map(buttonPersonalities.map((p) => [p.id, p]));
|
|
4937
|
+
buttonPersonalities.map((personality) => ({
|
|
4938
|
+
id: personality.id,
|
|
4939
|
+
name: personality.name,
|
|
4940
|
+
description: personality.description,
|
|
4941
|
+
category: presetCategory(personality),
|
|
4942
|
+
buttonSystem: personality.buttonSystem,
|
|
4943
|
+
compatibility: {
|
|
4944
|
+
...personality.tags.tone ? { tones: [personality.tags.tone] } : {},
|
|
4945
|
+
...personality.tags.energy ? { energies: [personality.tags.energy] } : {}
|
|
4946
|
+
}
|
|
4947
|
+
}));
|
|
4948
|
+
function presetCategory(personality) {
|
|
4949
|
+
switch (personality.tags.era) {
|
|
4950
|
+
case "retro": return "retro";
|
|
4951
|
+
case "editorial": return "minimal";
|
|
4952
|
+
case "organic": return "artistic";
|
|
4953
|
+
case "modern": return personality.tags.tone === "bold" ? "modern" : "technical";
|
|
4954
|
+
case "technical": return "technical";
|
|
4955
|
+
case void 0: return "modern";
|
|
4956
|
+
}
|
|
4957
|
+
}
|
|
4719
4958
|
//#endregion
|
|
4720
4959
|
//#region ../theme-core/src/cards/types.ts
|
|
4721
4960
|
const cardVariantRoleValues = ["default", "alternative"];
|
|
@@ -8016,6 +8255,214 @@ const originalJoyCardSystem = { variants: [{
|
|
|
8016
8255
|
const serifDisplayQuote = { style: "serif-display" };
|
|
8017
8256
|
/** Punchy quotation mark in the secondary accent colour. Bold / accent styles. */
|
|
8018
8257
|
const accentGlyphQuote = { style: "accent-glyph" };
|
|
8258
|
+
/**
|
|
8259
|
+
* Curated library of gradient presets.
|
|
8260
|
+
* All gradients use theme color tokens, so they adapt to the site's palette.
|
|
8261
|
+
*/
|
|
8262
|
+
const GRADIENT_PRESETS = [
|
|
8263
|
+
{
|
|
8264
|
+
id: "primary-secondary",
|
|
8265
|
+
name: "Primary to Secondary",
|
|
8266
|
+
description: "Blend your primary and secondary brand colors",
|
|
8267
|
+
type: "linear",
|
|
8268
|
+
angle: 135,
|
|
8269
|
+
stops: [{
|
|
8270
|
+
color: "primary-500",
|
|
8271
|
+
position: 0
|
|
8272
|
+
}, {
|
|
8273
|
+
color: "secondary-500",
|
|
8274
|
+
position: 100
|
|
8275
|
+
}]
|
|
8276
|
+
},
|
|
8277
|
+
{
|
|
8278
|
+
id: "primary-accent",
|
|
8279
|
+
name: "Primary to Accent",
|
|
8280
|
+
description: "Energetic gradient from primary to accent",
|
|
8281
|
+
type: "linear",
|
|
8282
|
+
angle: 135,
|
|
8283
|
+
stops: [{
|
|
8284
|
+
color: "primary-500",
|
|
8285
|
+
position: 0
|
|
8286
|
+
}, {
|
|
8287
|
+
color: "accent-500",
|
|
8288
|
+
position: 100
|
|
8289
|
+
}]
|
|
8290
|
+
},
|
|
8291
|
+
{
|
|
8292
|
+
id: "secondary-accent",
|
|
8293
|
+
name: "Secondary to Accent",
|
|
8294
|
+
description: "Vibrant secondary to accent blend",
|
|
8295
|
+
type: "linear",
|
|
8296
|
+
angle: 135,
|
|
8297
|
+
stops: [{
|
|
8298
|
+
color: "secondary-500",
|
|
8299
|
+
position: 0
|
|
8300
|
+
}, {
|
|
8301
|
+
color: "accent-500",
|
|
8302
|
+
position: 100
|
|
8303
|
+
}]
|
|
8304
|
+
},
|
|
8305
|
+
{
|
|
8306
|
+
id: "primary-light-dark",
|
|
8307
|
+
name: "Primary Light to Dark",
|
|
8308
|
+
description: "Subtle primary color fade",
|
|
8309
|
+
type: "linear",
|
|
8310
|
+
angle: 180,
|
|
8311
|
+
stops: [{
|
|
8312
|
+
color: "primary-500",
|
|
8313
|
+
position: 0
|
|
8314
|
+
}, {
|
|
8315
|
+
color: "primary-900",
|
|
8316
|
+
position: 100
|
|
8317
|
+
}]
|
|
8318
|
+
},
|
|
8319
|
+
{
|
|
8320
|
+
id: "primary-dark-light",
|
|
8321
|
+
name: "Primary Dark to Light",
|
|
8322
|
+
description: "Reverse primary fade",
|
|
8323
|
+
type: "linear",
|
|
8324
|
+
angle: 180,
|
|
8325
|
+
stops: [{
|
|
8326
|
+
color: "primary-900",
|
|
8327
|
+
position: 0
|
|
8328
|
+
}, {
|
|
8329
|
+
color: "primary-50",
|
|
8330
|
+
position: 100
|
|
8331
|
+
}]
|
|
8332
|
+
},
|
|
8333
|
+
{
|
|
8334
|
+
id: "secondary-light-dark",
|
|
8335
|
+
name: "Secondary Light to Dark",
|
|
8336
|
+
description: "Subtle secondary color fade",
|
|
8337
|
+
type: "linear",
|
|
8338
|
+
angle: 180,
|
|
8339
|
+
stops: [{
|
|
8340
|
+
color: "secondary-500",
|
|
8341
|
+
position: 0
|
|
8342
|
+
}, {
|
|
8343
|
+
color: "secondary-900",
|
|
8344
|
+
position: 100
|
|
8345
|
+
}]
|
|
8346
|
+
},
|
|
8347
|
+
{
|
|
8348
|
+
id: "accent-light-dark",
|
|
8349
|
+
name: "Accent Light to Dark",
|
|
8350
|
+
description: "Accent color depth fade",
|
|
8351
|
+
type: "linear",
|
|
8352
|
+
angle: 180,
|
|
8353
|
+
stops: [{
|
|
8354
|
+
color: "accent-500",
|
|
8355
|
+
position: 0
|
|
8356
|
+
}, {
|
|
8357
|
+
color: "accent-900",
|
|
8358
|
+
position: 100
|
|
8359
|
+
}]
|
|
8360
|
+
},
|
|
8361
|
+
{
|
|
8362
|
+
id: "background-surface",
|
|
8363
|
+
name: "Background to Surface",
|
|
8364
|
+
description: "Subtle depth using base colors",
|
|
8365
|
+
type: "linear",
|
|
8366
|
+
angle: 180,
|
|
8367
|
+
stops: [{
|
|
8368
|
+
color: "background",
|
|
8369
|
+
position: 0
|
|
8370
|
+
}, {
|
|
8371
|
+
color: "surface",
|
|
8372
|
+
position: 100
|
|
8373
|
+
}]
|
|
8374
|
+
},
|
|
8375
|
+
{
|
|
8376
|
+
id: "neutral-fade",
|
|
8377
|
+
name: "Neutral Gradient",
|
|
8378
|
+
description: "Elegant neutral color fade",
|
|
8379
|
+
type: "linear",
|
|
8380
|
+
angle: 180,
|
|
8381
|
+
stops: [{
|
|
8382
|
+
color: "neutral-900",
|
|
8383
|
+
position: 0
|
|
8384
|
+
}, {
|
|
8385
|
+
color: "neutral-50",
|
|
8386
|
+
position: 100
|
|
8387
|
+
}]
|
|
8388
|
+
},
|
|
8389
|
+
{
|
|
8390
|
+
id: "primary-glow",
|
|
8391
|
+
name: "Primary glow",
|
|
8392
|
+
description: "A soft top-centred glow using your primary palette",
|
|
8393
|
+
type: "radial",
|
|
8394
|
+
shape: "ellipse",
|
|
8395
|
+
position: "top center",
|
|
8396
|
+
stops: [{
|
|
8397
|
+
color: "primary-900",
|
|
8398
|
+
position: 0
|
|
8399
|
+
}, {
|
|
8400
|
+
color: "primary-950",
|
|
8401
|
+
position: 100
|
|
8402
|
+
}],
|
|
8403
|
+
foreground: {
|
|
8404
|
+
textColor: "onPrimary900",
|
|
8405
|
+
headingColor: "onPrimary900",
|
|
8406
|
+
linkColor: "onPrimary900",
|
|
8407
|
+
supportingColor: "onPrimary900"
|
|
8408
|
+
}
|
|
8409
|
+
},
|
|
8410
|
+
{
|
|
8411
|
+
id: "accent-glow",
|
|
8412
|
+
name: "Accent glow",
|
|
8413
|
+
description: "A soft top-centred glow using your accent palette",
|
|
8414
|
+
type: "radial",
|
|
8415
|
+
shape: "ellipse",
|
|
8416
|
+
position: "top center",
|
|
8417
|
+
stops: [{
|
|
8418
|
+
color: "accent-900",
|
|
8419
|
+
position: 0
|
|
8420
|
+
}, {
|
|
8421
|
+
color: "accent-950",
|
|
8422
|
+
position: 100
|
|
8423
|
+
}],
|
|
8424
|
+
foreground: {
|
|
8425
|
+
textColor: "onAccent900",
|
|
8426
|
+
headingColor: "onAccent900",
|
|
8427
|
+
linkColor: "onAccent900",
|
|
8428
|
+
supportingColor: "onAccent900"
|
|
8429
|
+
}
|
|
8430
|
+
},
|
|
8431
|
+
{
|
|
8432
|
+
id: "primary-secondary-accent",
|
|
8433
|
+
name: "Brand Trio",
|
|
8434
|
+
description: "All three brand colors in harmony",
|
|
8435
|
+
type: "linear",
|
|
8436
|
+
angle: 135,
|
|
8437
|
+
stops: [
|
|
8438
|
+
{
|
|
8439
|
+
color: "primary-500",
|
|
8440
|
+
position: 0
|
|
8441
|
+
},
|
|
8442
|
+
{
|
|
8443
|
+
color: "secondary-500",
|
|
8444
|
+
position: 50
|
|
8445
|
+
},
|
|
8446
|
+
{
|
|
8447
|
+
color: "accent-500",
|
|
8448
|
+
position: 100
|
|
8449
|
+
}
|
|
8450
|
+
]
|
|
8451
|
+
}
|
|
8452
|
+
].map((preset) => ({
|
|
8453
|
+
...preset,
|
|
8454
|
+
id: preset.id,
|
|
8455
|
+
stops: preset.stops
|
|
8456
|
+
}));
|
|
8457
|
+
const GRADIENT_PRESET_IDS = GRADIENT_PRESETS.map((preset) => preset.id);
|
|
8458
|
+
const gradientPresetIdSet = new Set(GRADIENT_PRESET_IDS);
|
|
8459
|
+
Object.fromEntries(GRADIENT_PRESETS.map((preset) => [preset.id, preset]));
|
|
8460
|
+
function parseGradientPresetId(value) {
|
|
8461
|
+
if (typeof value !== "string") return null;
|
|
8462
|
+
const normalized = value.trim();
|
|
8463
|
+
if (!gradientPresetIdSet.has(normalized)) return null;
|
|
8464
|
+
return normalized;
|
|
8465
|
+
}
|
|
8019
8466
|
//#endregion
|
|
8020
8467
|
//#region ../theme-core/src/site-styles/headerLooks.ts
|
|
8021
8468
|
function asHeaderLookId(value) {
|
|
@@ -10059,6 +10506,19 @@ z$1.object({
|
|
|
10059
10506
|
}).strict();
|
|
10060
10507
|
//#endregion
|
|
10061
10508
|
//#region ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
10509
|
+
function defineSectionForegroundRuntimeTokens(input) {
|
|
10510
|
+
return {
|
|
10511
|
+
textColor: requireThemeColorToken(input.textColor),
|
|
10512
|
+
headingColor: requireThemeColorToken(input.headingColor),
|
|
10513
|
+
linkColor: requireThemeColorToken(input.linkColor),
|
|
10514
|
+
supportingColor: requireThemeColorToken(input.supportingColor)
|
|
10515
|
+
};
|
|
10516
|
+
}
|
|
10517
|
+
function requireThemeColorToken(value) {
|
|
10518
|
+
const token = parseThemeColorToken(value);
|
|
10519
|
+
if (!token) throw new Error(`Invalid section foreground Theme color token: ${String(value)}`);
|
|
10520
|
+
return token;
|
|
10521
|
+
}
|
|
10062
10522
|
function defineDesignRuntimeRules(rules) {
|
|
10063
10523
|
return rules;
|
|
10064
10524
|
}
|
|
@@ -10329,24 +10789,24 @@ const kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
10329
10789
|
type: "color",
|
|
10330
10790
|
color: "muted"
|
|
10331
10791
|
},
|
|
10332
|
-
foreground: {
|
|
10792
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
10333
10793
|
textColor: "text",
|
|
10334
10794
|
headingColor: "primary",
|
|
10335
10795
|
linkColor: "primary",
|
|
10336
10796
|
supportingColor: "text"
|
|
10337
|
-
}
|
|
10797
|
+
})
|
|
10338
10798
|
},
|
|
10339
10799
|
"brand-depth-band": {
|
|
10340
10800
|
background: {
|
|
10341
10801
|
type: "color",
|
|
10342
10802
|
color: "primary-800"
|
|
10343
10803
|
},
|
|
10344
|
-
foreground: {
|
|
10804
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
10345
10805
|
textColor: "text",
|
|
10346
10806
|
headingColor: "primary",
|
|
10347
10807
|
linkColor: "primary",
|
|
10348
10808
|
supportingColor: "text"
|
|
10349
|
-
}
|
|
10809
|
+
})
|
|
10350
10810
|
},
|
|
10351
10811
|
"hero-image": {
|
|
10352
10812
|
background: {
|
|
@@ -10354,12 +10814,32 @@ const kirtanOrnateDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
10354
10814
|
opacity: 1,
|
|
10355
10815
|
position: "center center"
|
|
10356
10816
|
},
|
|
10357
|
-
foreground: {
|
|
10817
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
10358
10818
|
textColor: "text",
|
|
10359
10819
|
headingColor: "primary",
|
|
10360
10820
|
linkColor: "primary",
|
|
10361
10821
|
supportingColor: "text"
|
|
10362
|
-
}
|
|
10822
|
+
})
|
|
10823
|
+
}
|
|
10824
|
+
}
|
|
10825
|
+
});
|
|
10826
|
+
const primaryGlowGradientPresetId = parseGradientPresetId("primary-glow");
|
|
10827
|
+
if (!primaryGlowGradientPresetId) throw new Error("Expected primary-glow in the Theme Core gradient catalog");
|
|
10828
|
+
const fulcrumDesignRuntimeRules = defineDesignRuntimeRules({
|
|
10829
|
+
...defaultDesignRuntimeRules,
|
|
10830
|
+
sectionSurfaces: {
|
|
10831
|
+
...defaultDesignRuntimeRules.sectionSurfaces,
|
|
10832
|
+
"accent-band": {
|
|
10833
|
+
background: {
|
|
10834
|
+
type: "gradient",
|
|
10835
|
+
gradientPresetId: primaryGlowGradientPresetId
|
|
10836
|
+
},
|
|
10837
|
+
foreground: defineSectionForegroundRuntimeTokens({
|
|
10838
|
+
textColor: "primaryForeground",
|
|
10839
|
+
headingColor: "primaryForeground",
|
|
10840
|
+
linkColor: "primaryForeground",
|
|
10841
|
+
supportingColor: "primaryForeground"
|
|
10842
|
+
})
|
|
10363
10843
|
}
|
|
10364
10844
|
}
|
|
10365
10845
|
});
|
|
@@ -11747,6 +12227,8 @@ const curatedSiteStyles = [
|
|
|
11747
12227
|
},
|
|
11748
12228
|
compositionBudget: quietBudget,
|
|
11749
12229
|
typography: fulcrumTypography,
|
|
12230
|
+
designRuntimeRules: fulcrumDesignRuntimeRules,
|
|
12231
|
+
recommendedAppearancePresetIds: ["cta-accent-band"],
|
|
11750
12232
|
themeOverrides: {
|
|
11751
12233
|
shadow: { colorToken: "primary" },
|
|
11752
12234
|
accordions: {
|
|
@@ -12369,19 +12851,29 @@ function isRecord$6(value) {
|
|
|
12369
12851
|
//#region ../core/src/booking-date-time.ts
|
|
12370
12852
|
const DEFAULT_LOCALE = "en-US";
|
|
12371
12853
|
const FALLBACK_TIMEZONE = "UTC";
|
|
12854
|
+
const DATE_TIME_FORMATTER_CACHE_LIMIT = 100;
|
|
12855
|
+
const dateTimeFormatterCache = /* @__PURE__ */ new Map();
|
|
12856
|
+
const timeZoneValidityCache = /* @__PURE__ */ new Map();
|
|
12372
12857
|
function isValidTimeZone(timeZone) {
|
|
12858
|
+
const cached = timeZoneValidityCache.get(timeZone);
|
|
12859
|
+
if (cached !== void 0) return cached;
|
|
12860
|
+
let isValid;
|
|
12373
12861
|
try {
|
|
12374
12862
|
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
12375
|
-
|
|
12863
|
+
isValid = true;
|
|
12376
12864
|
} catch {
|
|
12377
|
-
|
|
12865
|
+
isValid = false;
|
|
12378
12866
|
}
|
|
12867
|
+
if (timeZoneValidityCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) timeZoneValidityCache.clear();
|
|
12868
|
+
timeZoneValidityCache.set(timeZone, isValid);
|
|
12869
|
+
return isValid;
|
|
12379
12870
|
}
|
|
12380
12871
|
function getSafeTimeZone(timeZone) {
|
|
12381
12872
|
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
12382
12873
|
return normalized.length > 0 && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
12383
12874
|
}
|
|
12384
12875
|
function parseStrictBookingTimeZone(timeZone) {
|
|
12876
|
+
if (typeof timeZone !== "string") return null;
|
|
12385
12877
|
const normalized = timeZone.trim();
|
|
12386
12878
|
if (normalized.length === 0 || !isValidTimeZone(normalized)) return null;
|
|
12387
12879
|
return normalized;
|
|
@@ -12394,10 +12886,19 @@ function formatParseError(error) {
|
|
|
12394
12886
|
}
|
|
12395
12887
|
}
|
|
12396
12888
|
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
12397
|
-
return new Map(
|
|
12889
|
+
return new Map(getCachedDateTimeFormatter(locale, timeZone, format).formatToParts(date).map((part) => [part.type, part.value]));
|
|
12890
|
+
}
|
|
12891
|
+
function getCachedDateTimeFormatter(locale, timeZone, format) {
|
|
12892
|
+
const key = `${locale}\u0000${timeZone}\u0000${JSON.stringify(Object.entries(format).sort(([left], [right]) => left.localeCompare(right)))}`;
|
|
12893
|
+
const cached = dateTimeFormatterCache.get(key);
|
|
12894
|
+
if (cached !== void 0) return cached;
|
|
12895
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
12398
12896
|
...format,
|
|
12399
12897
|
timeZone
|
|
12400
|
-
})
|
|
12898
|
+
});
|
|
12899
|
+
if (dateTimeFormatterCache.size >= DATE_TIME_FORMATTER_CACHE_LIMIT) dateTimeFormatterCache.clear();
|
|
12900
|
+
dateTimeFormatterCache.set(key, formatter);
|
|
12901
|
+
return formatter;
|
|
12401
12902
|
}
|
|
12402
12903
|
function getZonedDateTimeParts(date, timeZone) {
|
|
12403
12904
|
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
@@ -12440,23 +12941,9 @@ function toUtcIsoDateTimeString(value) {
|
|
|
12440
12941
|
return parsed.value;
|
|
12441
12942
|
}
|
|
12442
12943
|
function parseScheduledBookingDateTime(input) {
|
|
12944
|
+
let startsAt;
|
|
12443
12945
|
try {
|
|
12444
|
-
|
|
12445
|
-
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
12446
|
-
if (timeZone === null) return {
|
|
12447
|
-
ok: false,
|
|
12448
|
-
field: "timeZone",
|
|
12449
|
-
reason: "invalid_time_zone",
|
|
12450
|
-
value: input.timeZone
|
|
12451
|
-
};
|
|
12452
|
-
return {
|
|
12453
|
-
ok: true,
|
|
12454
|
-
value: {
|
|
12455
|
-
startsAt,
|
|
12456
|
-
timeZone,
|
|
12457
|
-
locale: input.locale
|
|
12458
|
-
}
|
|
12459
|
-
};
|
|
12946
|
+
startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
12460
12947
|
} catch {
|
|
12461
12948
|
return {
|
|
12462
12949
|
ok: false,
|
|
@@ -12465,6 +12952,21 @@ function parseScheduledBookingDateTime(input) {
|
|
|
12465
12952
|
value: input.startsAt
|
|
12466
12953
|
};
|
|
12467
12954
|
}
|
|
12955
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
12956
|
+
if (timeZone === null) return {
|
|
12957
|
+
ok: false,
|
|
12958
|
+
field: "timeZone",
|
|
12959
|
+
reason: "invalid_time_zone",
|
|
12960
|
+
value: typeof input.timeZone === "string" ? input.timeZone : ""
|
|
12961
|
+
};
|
|
12962
|
+
return {
|
|
12963
|
+
ok: true,
|
|
12964
|
+
value: {
|
|
12965
|
+
startsAt,
|
|
12966
|
+
timeZone,
|
|
12967
|
+
locale: input.locale
|
|
12968
|
+
}
|
|
12969
|
+
};
|
|
12468
12970
|
}
|
|
12469
12971
|
function toScheduledBookingDateTime(input) {
|
|
12470
12972
|
const result = parseScheduledBookingDateTime(input);
|
|
@@ -13377,6 +13879,20 @@ const blockCategoryEnum$2 = z$1.enum([
|
|
|
13377
13879
|
"layout",
|
|
13378
13880
|
"interactive"
|
|
13379
13881
|
]);
|
|
13882
|
+
const blockContentSourceSchema = z$1.object({
|
|
13883
|
+
kind: z$1.enum([
|
|
13884
|
+
"inline",
|
|
13885
|
+
"entries",
|
|
13886
|
+
"mixed"
|
|
13887
|
+
]),
|
|
13888
|
+
contentType: z$1.string().min(1).optional()
|
|
13889
|
+
}).superRefine((value, ctx) => {
|
|
13890
|
+
if (value.kind === "inline" && value.contentType) ctx.addIssue({
|
|
13891
|
+
code: z$1.ZodIssueCode.custom,
|
|
13892
|
+
path: ["contentType"],
|
|
13893
|
+
message: "contentType is not allowed when contentSource.kind is \"inline\""
|
|
13894
|
+
});
|
|
13895
|
+
});
|
|
13380
13896
|
z$1.object({
|
|
13381
13897
|
name: z$1.string().min(1),
|
|
13382
13898
|
version: z$1.string().min(1),
|
|
@@ -13407,6 +13923,12 @@ z$1.object({
|
|
|
13407
13923
|
}).optional()).optional(),
|
|
13408
13924
|
category: blockCategoryEnum$2.optional(),
|
|
13409
13925
|
contentTypes: z$1.array(z$1.string()).optional(),
|
|
13926
|
+
/**
|
|
13927
|
+
* Explicit content-source classification (inline / entries / mixed). Optional at the
|
|
13928
|
+
* schema level for backward compatibility with SDK-defined custom blocks, but every
|
|
13929
|
+
* registered SYSTEM block must declare it (enforced by a registry-wide test).
|
|
13930
|
+
*/
|
|
13931
|
+
contentSource: blockContentSourceSchema.optional(),
|
|
13410
13932
|
tags: z$1.array(z$1.string()).optional(),
|
|
13411
13933
|
icon: z$1.string().optional()
|
|
13412
13934
|
});
|
|
@@ -15924,9 +16446,15 @@ function createButtonGroup(options = {}) {
|
|
|
15924
16446
|
//#endregion
|
|
15925
16447
|
//#region ../blocks/src/system/fields/ctas.ts
|
|
15926
16448
|
function createCtasRepeater(options = {}) {
|
|
15927
|
-
const { id = "ctas", label = "Calls to action", itemLabel = "CTA", minItems = 0, maxItems, button } = options;
|
|
16449
|
+
const { id = "ctas", label = "Calls to action", itemLabel = "CTA", minItems = 0, maxItems, button, defaultValue } = options;
|
|
16450
|
+
const fieldId = id;
|
|
16451
|
+
const buttonField = createButtonGroup({
|
|
16452
|
+
showGroupLabel: false,
|
|
16453
|
+
...button ?? {},
|
|
16454
|
+
flattenInRepeater: true
|
|
16455
|
+
});
|
|
15928
16456
|
return {
|
|
15929
|
-
id,
|
|
16457
|
+
id: fieldId,
|
|
15930
16458
|
type: "repeater",
|
|
15931
16459
|
label,
|
|
15932
16460
|
itemLabel,
|
|
@@ -15935,11 +16463,8 @@ function createCtasRepeater(options = {}) {
|
|
|
15935
16463
|
maxItems,
|
|
15936
16464
|
required: false,
|
|
15937
16465
|
allowConversion: true,
|
|
15938
|
-
|
|
15939
|
-
|
|
15940
|
-
...button ?? {},
|
|
15941
|
-
flattenInRepeater: true
|
|
15942
|
-
})] }
|
|
16466
|
+
...defaultValue !== void 0 ? { defaultValue: [...defaultValue] } : {},
|
|
16467
|
+
schema: { fields: [buttonField] }
|
|
15943
16468
|
};
|
|
15944
16469
|
}
|
|
15945
16470
|
//#endregion
|
|
@@ -15989,6 +16514,7 @@ const heroCtaRowFragment = defineFragment({
|
|
|
15989
16514
|
label: "Calls to action",
|
|
15990
16515
|
itemLabel: "CTA",
|
|
15991
16516
|
maxItems: 3,
|
|
16517
|
+
defaultValue: [],
|
|
15992
16518
|
button: {
|
|
15993
16519
|
variants: [
|
|
15994
16520
|
{
|
|
@@ -16056,7 +16582,7 @@ const ctaCopyFragment = defineFragment({
|
|
|
16056
16582
|
eyebrowPath: "content.eyebrow",
|
|
16057
16583
|
titlePath: "content.title",
|
|
16058
16584
|
className: "cta-heading"
|
|
16059
|
-
}), richText({ className: "cta-content rb-prose rb-mx-auto rb-max-w-none" }, when("content
|
|
16585
|
+
}), richText({ className: "cta-content rb-prose rb-mx-auto rb-max-w-none" }, when("content"), bind("content"))]
|
|
16060
16586
|
});
|
|
16061
16587
|
//#endregion
|
|
16062
16588
|
//#region ../blocks/src/system/fragments/library/testimonialsHeading.ts
|
|
@@ -17788,6 +18314,7 @@ function createBlockManifest(config) {
|
|
|
17788
18314
|
previewCustomize: config.previewCustomize,
|
|
17789
18315
|
category: config.category,
|
|
17790
18316
|
contentTypes: config.contentTypes ? [...config.contentTypes] : void 0,
|
|
18317
|
+
contentSource: config.contentSource,
|
|
17791
18318
|
tags: config.tags ? [...config.tags] : [],
|
|
17792
18319
|
icon: config.icon ?? "Box",
|
|
17793
18320
|
layout,
|
|
@@ -17933,6 +18460,7 @@ const heroBlockDefinition = { manifest: createBlockManifest({
|
|
|
17933
18460
|
title: "Hero",
|
|
17934
18461
|
titleSource: "headline",
|
|
17935
18462
|
category: "layout",
|
|
18463
|
+
contentSource: { kind: "inline" },
|
|
17936
18464
|
includeContainerStyles: true,
|
|
17937
18465
|
promotedFields: ["_sectionStyles.background.image"],
|
|
17938
18466
|
fragments: [
|
|
@@ -18206,6 +18734,7 @@ const introBlockDefinition = { manifest: createBlockManifest({
|
|
|
18206
18734
|
id: "block.intro",
|
|
18207
18735
|
title: "Intro",
|
|
18208
18736
|
category: "layout",
|
|
18737
|
+
contentSource: { kind: "inline" },
|
|
18209
18738
|
includeContainerStyles: true,
|
|
18210
18739
|
titleSource: "title",
|
|
18211
18740
|
previewCustomize: { quickFieldPriority: [
|
|
@@ -18391,6 +18920,7 @@ const bodyTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
18391
18920
|
title: "Body Text",
|
|
18392
18921
|
titleSource: "heading",
|
|
18393
18922
|
category: "content",
|
|
18923
|
+
contentSource: { kind: "inline" },
|
|
18394
18924
|
fragments: [{
|
|
18395
18925
|
fragment: bodyCopyFragment,
|
|
18396
18926
|
fieldPriority: 0
|
|
@@ -18447,6 +18977,10 @@ const blogPostBlockDefinition = {
|
|
|
18447
18977
|
description: "Highlights a single blog post with title, image, and excerpt.",
|
|
18448
18978
|
category: "blog",
|
|
18449
18979
|
contentTypes: ["post"],
|
|
18980
|
+
contentSource: {
|
|
18981
|
+
kind: "entries",
|
|
18982
|
+
contentType: "post"
|
|
18983
|
+
},
|
|
18450
18984
|
tags: [
|
|
18451
18985
|
"blog",
|
|
18452
18986
|
"post",
|
|
@@ -18744,6 +19278,10 @@ const blogListingManifest = createBlockManifest({
|
|
|
18744
19278
|
],
|
|
18745
19279
|
description: "Display a collection of blog posts in grid or stack layout.",
|
|
18746
19280
|
contentTypes: ["post"],
|
|
19281
|
+
contentSource: {
|
|
19282
|
+
kind: "entries",
|
|
19283
|
+
contentType: "post"
|
|
19284
|
+
},
|
|
18747
19285
|
tags: [
|
|
18748
19286
|
"blog",
|
|
18749
19287
|
"posts",
|
|
@@ -18786,6 +19324,7 @@ const ctaFullBlockDefinition = { manifest: createBlockManifest({
|
|
|
18786
19324
|
id: "block.cta-full",
|
|
18787
19325
|
title: "Full-width CTA",
|
|
18788
19326
|
category: "marketing",
|
|
19327
|
+
contentSource: { kind: "inline" },
|
|
18789
19328
|
fragments: [{
|
|
18790
19329
|
fragment: ctaCopyFragment,
|
|
18791
19330
|
fieldPriority: 0
|
|
@@ -18819,6 +19358,7 @@ const singleButtonBlockDefinition = { manifest: createBlockManifest({
|
|
|
18819
19358
|
id: "block.single-button",
|
|
18820
19359
|
title: "Single Button",
|
|
18821
19360
|
category: "marketing",
|
|
19361
|
+
contentSource: { kind: "inline" },
|
|
18822
19362
|
fragments: [{
|
|
18823
19363
|
fragment: singleButtonFragment,
|
|
18824
19364
|
fieldPriority: 0
|
|
@@ -19079,6 +19619,7 @@ const formManifest = createBlockManifest({
|
|
|
19079
19619
|
paletteHidden: false
|
|
19080
19620
|
},
|
|
19081
19621
|
category: "interactive",
|
|
19622
|
+
contentSource: { kind: "inline" },
|
|
19082
19623
|
tags: [
|
|
19083
19624
|
"form",
|
|
19084
19625
|
"contact",
|
|
@@ -19141,6 +19682,7 @@ const contactNewsletterBlockDefinition = {
|
|
|
19141
19682
|
titleSource: "contactTitle",
|
|
19142
19683
|
description: "Two-column newsletter signup and contact form section.",
|
|
19143
19684
|
category: "interactive",
|
|
19685
|
+
contentSource: { kind: "inline" },
|
|
19144
19686
|
layout: contactNewsletterLayout,
|
|
19145
19687
|
defaultVariant: "default",
|
|
19146
19688
|
variants: { default: contactNewsletterLayout },
|
|
@@ -19344,6 +19886,7 @@ const faqBlockDefinition = { manifest: createBlockManifest({
|
|
|
19344
19886
|
title: "FAQ",
|
|
19345
19887
|
titleSource: "title",
|
|
19346
19888
|
category: "content",
|
|
19889
|
+
contentSource: { kind: "inline" },
|
|
19347
19890
|
includeContainerStyles: true,
|
|
19348
19891
|
fragments: [{
|
|
19349
19892
|
fragment: faqHeadingFragment,
|
|
@@ -19680,6 +20223,7 @@ const siteHeaderBlockDefinition = { manifest: createBlockManifest({
|
|
|
19680
20223
|
id: "block.site-header",
|
|
19681
20224
|
title: "Site Header",
|
|
19682
20225
|
category: "layout",
|
|
20226
|
+
contentSource: { kind: "inline" },
|
|
19683
20227
|
additionalFields: [{
|
|
19684
20228
|
id: "mode",
|
|
19685
20229
|
type: "select",
|
|
@@ -19884,6 +20428,7 @@ const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
|
19884
20428
|
id: "block.site-footer",
|
|
19885
20429
|
title: "Site Footer",
|
|
19886
20430
|
category: "layout",
|
|
20431
|
+
contentSource: { kind: "inline" },
|
|
19887
20432
|
skipSectionStyles: true,
|
|
19888
20433
|
layout: section({
|
|
19889
20434
|
background: "background",
|
|
@@ -20033,6 +20578,7 @@ const testimonialsBlockDefinition = {
|
|
|
20033
20578
|
id: "block.testimonials",
|
|
20034
20579
|
title: "Testimonials",
|
|
20035
20580
|
category: "marketing",
|
|
20581
|
+
contentSource: { kind: "inline" },
|
|
20036
20582
|
includeContainerStyles: true,
|
|
20037
20583
|
previewCustomize: { quickFieldPriority: [
|
|
20038
20584
|
"avatarLayout",
|
|
@@ -20191,6 +20737,7 @@ const columnsBlockDefinition = { manifest: createBlockManifest({
|
|
|
20191
20737
|
id: "block.columns",
|
|
20192
20738
|
title: "Columns",
|
|
20193
20739
|
category: "layout",
|
|
20740
|
+
contentSource: { kind: "inline" },
|
|
20194
20741
|
additionalFields: [
|
|
20195
20742
|
parseFieldDefinition({
|
|
20196
20743
|
id: "equalHeight",
|
|
@@ -20424,6 +20971,7 @@ const collectionBlockDefinition = { manifest: createBlockManifest({
|
|
|
20424
20971
|
id: "block.collection",
|
|
20425
20972
|
title: "Collection",
|
|
20426
20973
|
category: "layout",
|
|
20974
|
+
contentSource: { kind: "inline" },
|
|
20427
20975
|
additionalFields: [
|
|
20428
20976
|
parseFieldDefinition({
|
|
20429
20977
|
id: "layout",
|
|
@@ -20660,6 +21208,7 @@ const featureCardsBlockDefinition = { manifest: createBlockManifest({
|
|
|
20660
21208
|
id: "block.feature-cards",
|
|
20661
21209
|
title: "Feature Cards",
|
|
20662
21210
|
category: "layout",
|
|
21211
|
+
contentSource: { kind: "inline" },
|
|
20663
21212
|
includeContainerStyles: true,
|
|
20664
21213
|
titleSource: "title",
|
|
20665
21214
|
additionalFields: [
|
|
@@ -21043,6 +21592,7 @@ const mediaTextBlockDefinition = { manifest: createBlockManifest({
|
|
|
21043
21592
|
id: "block.media-text",
|
|
21044
21593
|
title: "Media and Text",
|
|
21045
21594
|
category: "layout",
|
|
21595
|
+
contentSource: { kind: "inline" },
|
|
21046
21596
|
includeContainerStyles: true,
|
|
21047
21597
|
titleSource: "title",
|
|
21048
21598
|
previewCustomize: { quickFieldPriority: [
|
|
@@ -21443,6 +21993,7 @@ const appointmentBookingBlockDefinition = {
|
|
|
21443
21993
|
paletteHidden: false
|
|
21444
21994
|
},
|
|
21445
21995
|
category: "interactive",
|
|
21996
|
+
contentSource: { kind: "inline" },
|
|
21446
21997
|
tags: [
|
|
21447
21998
|
"booking",
|
|
21448
21999
|
"appointment",
|
|
@@ -21607,6 +22158,7 @@ const weeklySlotAvailabilityManifest = createBlockManifest({
|
|
|
21607
22158
|
paletteHidden: false
|
|
21608
22159
|
},
|
|
21609
22160
|
category: "interactive",
|
|
22161
|
+
contentSource: { kind: "inline" },
|
|
21610
22162
|
tags: [
|
|
21611
22163
|
"booking",
|
|
21612
22164
|
"appointment",
|
|
@@ -23241,6 +23793,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
23241
23793
|
titleSource: "heading",
|
|
23242
23794
|
description: "Multi-step event registration form",
|
|
23243
23795
|
category: "interactive",
|
|
23796
|
+
contentSource: { kind: "inline" },
|
|
23244
23797
|
tags: [
|
|
23245
23798
|
"events",
|
|
23246
23799
|
"registration",
|
|
@@ -23347,15 +23900,9 @@ const eventRegistrationBlockDefinition = {
|
|
|
23347
23900
|
defaultValue: "Complete Registration",
|
|
23348
23901
|
maxLength: 40
|
|
23349
23902
|
},
|
|
23350
|
-
{
|
|
23351
|
-
id: "buttonVariant",
|
|
23352
|
-
type: "select",
|
|
23353
|
-
label: "Button style",
|
|
23903
|
+
createButtonVariantField({
|
|
23354
23904
|
description: "Choose a button style from your theme",
|
|
23355
|
-
|
|
23356
|
-
multiple: false,
|
|
23357
|
-
defaultValue: "primary",
|
|
23358
|
-
options: [
|
|
23905
|
+
variants: [
|
|
23359
23906
|
{
|
|
23360
23907
|
value: "primary",
|
|
23361
23908
|
label: "Primary"
|
|
@@ -23368,9 +23915,8 @@ const eventRegistrationBlockDefinition = {
|
|
|
23368
23915
|
value: "outline",
|
|
23369
23916
|
label: "Outline"
|
|
23370
23917
|
}
|
|
23371
|
-
]
|
|
23372
|
-
|
|
23373
|
-
}
|
|
23918
|
+
]
|
|
23919
|
+
})
|
|
23374
23920
|
],
|
|
23375
23921
|
layout: [styledSection({
|
|
23376
23922
|
baseClass: "",
|
|
@@ -23563,6 +24109,7 @@ const courseRegistrationBlockDefinition = {
|
|
|
23563
24109
|
titleSource: "heading",
|
|
23564
24110
|
description: "Enrollment form for multi-session courses",
|
|
23565
24111
|
category: "interactive",
|
|
24112
|
+
contentSource: { kind: "inline" },
|
|
23566
24113
|
tags: [
|
|
23567
24114
|
"courses",
|
|
23568
24115
|
"enrollment",
|
|
@@ -23676,15 +24223,9 @@ const courseRegistrationBlockDefinition = {
|
|
|
23676
24223
|
defaultValue: "Sign up",
|
|
23677
24224
|
maxLength: 40
|
|
23678
24225
|
},
|
|
23679
|
-
{
|
|
23680
|
-
id: "buttonVariant",
|
|
23681
|
-
type: "select",
|
|
23682
|
-
label: "Button style",
|
|
24226
|
+
createButtonVariantField({
|
|
23683
24227
|
description: "Choose a button style from your theme",
|
|
23684
|
-
|
|
23685
|
-
multiple: false,
|
|
23686
|
-
defaultValue: "primary",
|
|
23687
|
-
options: [
|
|
24228
|
+
variants: [
|
|
23688
24229
|
{
|
|
23689
24230
|
value: "primary",
|
|
23690
24231
|
label: "Primary"
|
|
@@ -23697,9 +24238,8 @@ const courseRegistrationBlockDefinition = {
|
|
|
23697
24238
|
value: "outline",
|
|
23698
24239
|
label: "Outline"
|
|
23699
24240
|
}
|
|
23700
|
-
]
|
|
23701
|
-
|
|
23702
|
-
}
|
|
24241
|
+
]
|
|
24242
|
+
})
|
|
23703
24243
|
],
|
|
23704
24244
|
layout: [styledSection({
|
|
23705
24245
|
baseClass: "",
|
|
@@ -23779,6 +24319,7 @@ const eventDetailsManifest = createBlockManifest({
|
|
|
23779
24319
|
titleSource: "heading",
|
|
23780
24320
|
description: "Date/time, venue, map, and other dates for an event",
|
|
23781
24321
|
category: "content",
|
|
24322
|
+
contentSource: { kind: "entries" },
|
|
23782
24323
|
tags: [
|
|
23783
24324
|
"events",
|
|
23784
24325
|
"venue",
|
|
@@ -23984,6 +24525,7 @@ const courseDetailsBlockDefinition = {
|
|
|
23984
24525
|
titleSource: "heading",
|
|
23985
24526
|
description: "Schedule, venue, price, and enrollment status for a course",
|
|
23986
24527
|
category: "content",
|
|
24528
|
+
contentSource: { kind: "entries" },
|
|
23987
24529
|
tags: [
|
|
23988
24530
|
"courses",
|
|
23989
24531
|
"schedule",
|
|
@@ -24275,6 +24817,7 @@ const eventSpotlightBlockDefinition = {
|
|
|
24275
24817
|
paletteHidden: false
|
|
24276
24818
|
},
|
|
24277
24819
|
category: "content",
|
|
24820
|
+
contentSource: { kind: "entries" },
|
|
24278
24821
|
tags: [
|
|
24279
24822
|
"events",
|
|
24280
24823
|
"featured",
|
|
@@ -24821,6 +25364,7 @@ const eventListingBlockDefinition = {
|
|
|
24821
25364
|
paletteHidden: true
|
|
24822
25365
|
},
|
|
24823
25366
|
category: "interactive",
|
|
25367
|
+
contentSource: { kind: "entries" },
|
|
24824
25368
|
tags: [
|
|
24825
25369
|
"events",
|
|
24826
25370
|
"listing",
|
|
@@ -25993,6 +26537,7 @@ const eventCalendarBlockDefinition = {
|
|
|
25993
26537
|
paletteHidden: false
|
|
25994
26538
|
},
|
|
25995
26539
|
category: "interactive",
|
|
26540
|
+
contentSource: { kind: "entries" },
|
|
25996
26541
|
tags: [
|
|
25997
26542
|
"events",
|
|
25998
26543
|
"calendar",
|
|
@@ -26166,6 +26711,7 @@ const recurringScheduleBlockDefinition = {
|
|
|
26166
26711
|
titleSource: "heading",
|
|
26167
26712
|
description: "A compact weekly schedule with one row per recurring series.",
|
|
26168
26713
|
category: "interactive",
|
|
26714
|
+
contentSource: { kind: "entries" },
|
|
26169
26715
|
icon: "CalendarDays",
|
|
26170
26716
|
tags: [
|
|
26171
26717
|
"schedule",
|
|
@@ -26583,7 +27129,10 @@ const offeringsPreviewFields = [
|
|
|
26583
27129
|
label: "Link"
|
|
26584
27130
|
}
|
|
26585
27131
|
],
|
|
26586
|
-
ui: {
|
|
27132
|
+
ui: {
|
|
27133
|
+
intent: "display",
|
|
27134
|
+
widget: "buttonVariant"
|
|
27135
|
+
}
|
|
26587
27136
|
},
|
|
26588
27137
|
{
|
|
26589
27138
|
id: "buttonText",
|
|
@@ -26636,6 +27185,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
26636
27185
|
paletteHidden: false
|
|
26637
27186
|
},
|
|
26638
27187
|
category: "content",
|
|
27188
|
+
contentSource: { kind: "mixed" },
|
|
26639
27189
|
tags: [
|
|
26640
27190
|
"offerings",
|
|
26641
27191
|
"events",
|
|
@@ -26804,6 +27354,7 @@ const embedManifest = createBlockManifest({
|
|
|
26804
27354
|
id: "block.embed",
|
|
26805
27355
|
title: "Embed Content",
|
|
26806
27356
|
category: "content",
|
|
27357
|
+
contentSource: { kind: "entries" },
|
|
26807
27358
|
titleSource: "heading",
|
|
26808
27359
|
additionalFields: [
|
|
26809
27360
|
parseFieldDefinition({
|
|
@@ -27291,6 +27842,7 @@ const imageGalleryBlockDefinition = { manifest: createBlockManifest({
|
|
|
27291
27842
|
id: "block.image-gallery",
|
|
27292
27843
|
title: "Image Gallery",
|
|
27293
27844
|
category: "content",
|
|
27845
|
+
contentSource: { kind: "inline" },
|
|
27294
27846
|
previewCustomize: { quickFieldPriority: [
|
|
27295
27847
|
"aspectRatio",
|
|
27296
27848
|
"slidesToShow",
|
|
@@ -27943,6 +28495,7 @@ const videoGridBlockDefinition = { manifest: createBlockManifest({
|
|
|
27943
28495
|
id: "block.video-grid",
|
|
27944
28496
|
title: "Video Grid",
|
|
27945
28497
|
category: "media",
|
|
28498
|
+
contentSource: { kind: "inline" },
|
|
27946
28499
|
skipSectionStyles: true,
|
|
27947
28500
|
additionalFields: parseFieldDefinitions([
|
|
27948
28501
|
{
|
|
@@ -28113,6 +28666,7 @@ const audioPlayerBlockDefinition = { manifest: createBlockManifest({
|
|
|
28113
28666
|
title: "Audio Player",
|
|
28114
28667
|
titleSource: "title",
|
|
28115
28668
|
category: "media",
|
|
28669
|
+
contentSource: { kind: "inline" },
|
|
28116
28670
|
description: "Add a branded audio player for a single track.",
|
|
28117
28671
|
tags: [
|
|
28118
28672
|
"audio",
|
|
@@ -28224,6 +28778,7 @@ const fileDownloadBlockDefinition = { manifest: createBlockManifest({
|
|
|
28224
28778
|
title: "File Download",
|
|
28225
28779
|
titleSource: ["title", "file.filename"],
|
|
28226
28780
|
category: "media",
|
|
28781
|
+
contentSource: { kind: "inline" },
|
|
28227
28782
|
description: "Add a simple public download link for a document, ZIP, or audio file.",
|
|
28228
28783
|
tags: [
|
|
28229
28784
|
"file",
|
|
@@ -29168,6 +29723,7 @@ const shopBlockDefinition = {
|
|
|
29168
29723
|
paletteHidden: false
|
|
29169
29724
|
},
|
|
29170
29725
|
category: "interactive",
|
|
29726
|
+
contentSource: { kind: "entries" },
|
|
29171
29727
|
tags: [
|
|
29172
29728
|
"shop",
|
|
29173
29729
|
"passes",
|
|
@@ -29367,6 +29923,7 @@ const productListBlockDefinition = {
|
|
|
29367
29923
|
paletteHidden: false
|
|
29368
29924
|
},
|
|
29369
29925
|
category: "interactive",
|
|
29926
|
+
contentSource: { kind: "entries" },
|
|
29370
29927
|
tags: [
|
|
29371
29928
|
"shop",
|
|
29372
29929
|
"products",
|
|
@@ -29508,6 +30065,7 @@ const productDetailBlockDefinition = {
|
|
|
29508
30065
|
paletteHidden: false
|
|
29509
30066
|
},
|
|
29510
30067
|
category: "interactive",
|
|
30068
|
+
contentSource: { kind: "entries" },
|
|
29511
30069
|
tags: [
|
|
29512
30070
|
"shop",
|
|
29513
30071
|
"product",
|
|
@@ -29624,6 +30182,7 @@ const cartBlockDefinition = {
|
|
|
29624
30182
|
paletteHidden: false
|
|
29625
30183
|
},
|
|
29626
30184
|
category: "interactive",
|
|
30185
|
+
contentSource: { kind: "inline" },
|
|
29627
30186
|
tags: [
|
|
29628
30187
|
"shop",
|
|
29629
30188
|
"cart",
|
|
@@ -29706,6 +30265,7 @@ const checkoutBlockDefinition = {
|
|
|
29706
30265
|
paletteHidden: false
|
|
29707
30266
|
},
|
|
29708
30267
|
category: "interactive",
|
|
30268
|
+
contentSource: { kind: "inline" },
|
|
29709
30269
|
tags: [
|
|
29710
30270
|
"shop",
|
|
29711
30271
|
"checkout",
|
|
@@ -29909,6 +30469,7 @@ const giftingBlockDefinition = {
|
|
|
29909
30469
|
paletteHidden: false
|
|
29910
30470
|
},
|
|
29911
30471
|
category: "interactive",
|
|
30472
|
+
contentSource: { kind: "entries" },
|
|
29912
30473
|
tags: [
|
|
29913
30474
|
"gifting",
|
|
29914
30475
|
"gift cards",
|
|
@@ -30252,6 +30813,7 @@ const newsletterSignupBlockDefinition = {
|
|
|
30252
30813
|
titleSource: "title",
|
|
30253
30814
|
description: "Newsletter subscription form with configurable field presets.",
|
|
30254
30815
|
category: "interactive",
|
|
30816
|
+
contentSource: { kind: "inline" },
|
|
30255
30817
|
fragments: [{
|
|
30256
30818
|
fragment: newsletterCopyFragment,
|
|
30257
30819
|
fieldPriority: 0
|
|
@@ -30433,6 +30995,7 @@ const teamMembersBlockDefinition = {
|
|
|
30433
30995
|
id: "block.team-members",
|
|
30434
30996
|
title: "Team Members",
|
|
30435
30997
|
category: "content",
|
|
30998
|
+
contentSource: { kind: "mixed" },
|
|
30436
30999
|
titleSource: "heading",
|
|
30437
31000
|
additionalFields: [
|
|
30438
31001
|
parseFieldDefinition({
|
|
@@ -30853,6 +31416,7 @@ const locationMapBlockDefinition = {
|
|
|
30853
31416
|
titleSource: "heading",
|
|
30854
31417
|
description: "Show a business location with an interactive map and directions link.",
|
|
30855
31418
|
category: "content",
|
|
31419
|
+
contentSource: { kind: "inline" },
|
|
30856
31420
|
tags: [
|
|
30857
31421
|
"map",
|
|
30858
31422
|
"location",
|