@riverbankcms/sdk 0.109.0 → 0.111.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/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +178 -117
- package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
- package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +229 -219
- package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +1695 -2169
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1716 -76
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
- package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
- package/dist/_dts/api/src/courses.d.ts +30 -15
- package/dist/_dts/api/src/endpoints.d.ts +14 -4
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/sdkContracts.d.ts +23 -11
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/siteOperations.d.ts +11 -19
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
- package/dist/_dts/api/src/webhooks.d.ts +98 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
- package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
- package/dist/_dts/blocks/src/client.d.ts +4 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
- package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
- package/dist/_dts/content-editor/src/index.d.ts +12 -12
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -53
- package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
- package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
- package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
- package/dist/_dts/sdk/src/client/management/types.d.ts +2 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
- package/dist/_dts/site-commands/src/commands.d.ts +129 -6
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
- package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
- package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
- package/dist/cli/index.mjs +1760 -1914
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
- package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
- package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
- package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
- package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
- package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
- package/dist/client/{accordion-CeGreumd.mjs → accordion-D8JTs2Si.mjs} +1 -1
- package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
- package/dist/client/bookings.mjs +3069 -1447
- package/dist/client/{carousel-B2jDtogf.mjs → carousel-DMr_QWlz.mjs} +1 -1
- package/dist/client/{cart-D-jZ-vaY.mjs → cart-DWMbfBdR.mjs} +3 -3
- package/dist/client/{checkout-Dza-LA7N.mjs → checkout-zmfdkXLx.mjs} +3 -3
- package/dist/client/client.mjs +1732 -1913
- package/dist/client/{colorStyles-CrgzoXsm.mjs → colorStyles-gcTh5yZT.mjs} +2 -12
- package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
- package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
- package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
- package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
- package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
- package/dist/client/{eventListing-YhKN018y.mjs → eventListing-W1SuL7EP.mjs} +2 -2
- package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-ClWricui.mjs} +6 -7
- package/dist/client/{form-AcAL45rA.mjs → form--eKPwAAD.mjs} +1 -2
- package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-BSeGr-FS.mjs} +2 -3
- package/dist/client/hooks.mjs +1554 -1871
- package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-BpOrtNYn.mjs} +8 -5
- package/dist/client/{media-BK0O3b-U.mjs → media-DoF0dcVx.mjs} +2 -2
- package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
- package/dist/client/{pricing-BSYVghwo.mjs → pricing-BTjSDDr4.mjs} +1 -1
- package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-ICnVTcCg.mjs} +3 -3
- package/dist/client/{productList-BCKThwAI.mjs → productList-ZHr6D604.mjs} +3 -3
- package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-wWN0tBDF.mjs} +2351 -129
- package/dist/client/rendering/client.mjs +1664 -1824
- package/dist/client/rendering/islands.mjs +20 -20
- package/dist/client/rendering.mjs +1697 -1909
- package/dist/client/{shop-DeltVH10.mjs → shop-C1u_BUn0.mjs} +5 -6
- package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-CleZdRha.mjs} +5 -6
- package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
- package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-CPhByt2a.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
- package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-DKPN7hSY.mjs} +26 -27
- package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +37 -6
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +37 -6
- package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-BkT1D06A.mjs} +37 -6
- package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
- package/dist/{separator-CI5wZNXT.mjs → separator-Bln8izQ9.mjs} +1 -1
- package/dist/server/components.mjs +1472 -1788
- package/dist/server/config-validation.mjs +1559 -1876
- package/dist/server/config.mjs +1559 -1876
- package/dist/server/data.mjs +1554 -1871
- package/dist/server/index.mjs +38 -7
- package/dist/server/next/revalidate.mjs +53 -1
- package/dist/server/next.mjs +1584 -1869
- package/dist/server/page-converter.mjs +1543 -1860
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1472 -1788
- package/dist/server/rendering.mjs +1472 -1788
- package/dist/server/routing.mjs +1600 -1891
- package/dist/server/server.mjs +1574 -1860
- package/dist/server/theme-bridge.mjs +1436 -1619
- package/dist/server/theme.mjs +1345 -1241
- package/dist/server/webhooks.mjs +54 -2
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
- package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
- package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
- package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
- package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
|
@@ -478,7 +478,7 @@ const gradientDirectionSchema$1 = z$1.enum([
|
|
|
478
478
|
"to-br",
|
|
479
479
|
"to-bl"
|
|
480
480
|
]);
|
|
481
|
-
const
|
|
481
|
+
const buttonColourTreatmentSchema = z$1.discriminatedUnion("type", [
|
|
482
482
|
z$1.object({
|
|
483
483
|
type: z$1.literal("solid"),
|
|
484
484
|
colorToken: opaqueButtonColourTokenSchema
|
|
@@ -502,6 +502,7 @@ const buttonBackgroundSchema = z$1.discriminatedUnion("type", [
|
|
|
502
502
|
role: z$1.literal("link")
|
|
503
503
|
})
|
|
504
504
|
]);
|
|
505
|
+
const buttonBackgroundSchema = buttonColourTreatmentSchema;
|
|
505
506
|
const effectApplicationSchema$1 = z$1.object({
|
|
506
507
|
effectId: z$1.string(),
|
|
507
508
|
options: z$1.record(z$1.string(), z$1.json()).optional()
|
|
@@ -1282,298 +1283,429 @@ const RESOLVED_BUTTON_DISABLED_DECLARATIONS = [
|
|
|
1282
1283
|
];
|
|
1283
1284
|
buttonSizeNameSchema.options;
|
|
1284
1285
|
//#endregion
|
|
1285
|
-
//#region ../theme-core/src/
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
"
|
|
1307
|
-
"
|
|
1308
|
-
"
|
|
1309
|
-
|
|
1310
|
-
};
|
|
1311
|
-
const styleTagsSchema = z$1.object({
|
|
1312
|
-
tone: z$1.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
1313
|
-
energy: z$1.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
1314
|
-
motion: z$1.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
1315
|
-
era: z$1.enum(STYLE_AXIS_VALUES.era).optional()
|
|
1316
|
-
});
|
|
1317
|
-
//#endregion
|
|
1318
|
-
//#region ../theme-core/src/buttons/personalities/types.ts
|
|
1319
|
-
function asButtonPersonalityId(value) {
|
|
1320
|
-
if (value.length === 0) throw new Error("ButtonPersonalityId must be a non-empty string");
|
|
1321
|
-
return value;
|
|
1286
|
+
//#region ../theme-core/src/buttons/styles/domain.ts
|
|
1287
|
+
const PUBLIC_BUTTON_ROLES = [
|
|
1288
|
+
"primary",
|
|
1289
|
+
"secondary",
|
|
1290
|
+
"outline",
|
|
1291
|
+
"ghost",
|
|
1292
|
+
"accent"
|
|
1293
|
+
];
|
|
1294
|
+
function defineButtonStyleRecipe(recipe) {
|
|
1295
|
+
return recipe;
|
|
1296
|
+
}
|
|
1297
|
+
function materializeButtonRoles(definitions) {
|
|
1298
|
+
const primary = materializeCompleteRole("primary", definitions.primary.appearance);
|
|
1299
|
+
const secondary = materializeCompleteRole("secondary", definitions.secondary.appearance);
|
|
1300
|
+
const completeRoles = {
|
|
1301
|
+
primary,
|
|
1302
|
+
secondary
|
|
1303
|
+
};
|
|
1304
|
+
return {
|
|
1305
|
+
primary,
|
|
1306
|
+
secondary,
|
|
1307
|
+
outline: materializeSupportingRole("outline", definitions.outline, completeRoles),
|
|
1308
|
+
ghost: materializeSupportingRole("ghost", definitions.ghost, completeRoles),
|
|
1309
|
+
accent: materializeSupportingRole("accent", definitions.accent, completeRoles)
|
|
1310
|
+
};
|
|
1322
1311
|
}
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1312
|
+
function resolveButtonStyleRecipe(recipe, parameters) {
|
|
1313
|
+
const parsedParameters = recipe.parameterSchema.safeParse(parameters);
|
|
1314
|
+
if (!parsedParameters.success) return {
|
|
1315
|
+
kind: "error",
|
|
1316
|
+
error: {
|
|
1317
|
+
kind: "invalid-parameters",
|
|
1318
|
+
styleId: recipe.id,
|
|
1319
|
+
issues: parsedParameters.error.issues.map((issue) => issue.message)
|
|
1320
|
+
}
|
|
1321
|
+
};
|
|
1322
|
+
const definition = recipe.defineSystem(parsedParameters.data);
|
|
1323
|
+
const roles = materializeButtonRoles(definition.roles);
|
|
1324
|
+
const buttonSystem = {
|
|
1325
|
+
global: definition.global,
|
|
1326
|
+
variants: PUBLIC_BUTTON_ROLES.map((role) => roles[role]),
|
|
1327
|
+
...definition.sizes ? { sizes: definition.sizes } : {}
|
|
1328
|
+
};
|
|
1329
|
+
const parsedButtonSystem = buttonSystemSchema.safeParse(buttonSystem);
|
|
1330
|
+
if (!parsedButtonSystem.success) return {
|
|
1331
|
+
kind: "error",
|
|
1332
|
+
error: {
|
|
1333
|
+
kind: "invalid-button-system",
|
|
1334
|
+
styleId: recipe.id,
|
|
1335
|
+
issues: parsedButtonSystem.error.issues.map((issue) => issue.message)
|
|
1336
|
+
}
|
|
1337
|
+
};
|
|
1337
1338
|
return {
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1339
|
+
kind: "resolved",
|
|
1340
|
+
buttonSystem: parsedButtonSystem.data
|
|
1341
|
+
};
|
|
1342
|
+
}
|
|
1343
|
+
function materializeSupportingRole(role, definition, completeRoles) {
|
|
1344
|
+
if (definition.kind === "complete") return materializeCompleteRole(role, definition.appearance);
|
|
1345
|
+
return {
|
|
1346
|
+
...completeRoles[definition.from],
|
|
1347
|
+
...definition.overrides,
|
|
1348
|
+
id: role,
|
|
1349
|
+
name: roleName(role),
|
|
1350
|
+
enabled: true,
|
|
1351
|
+
priority: 3
|
|
1352
|
+
};
|
|
1353
|
+
}
|
|
1354
|
+
function materializeCompleteRole(role, appearance) {
|
|
1355
|
+
return {
|
|
1356
|
+
...appearance,
|
|
1357
|
+
id: role,
|
|
1358
|
+
name: roleName(role),
|
|
1359
|
+
enabled: true,
|
|
1360
|
+
priority: rolePriority(role)
|
|
1343
1361
|
};
|
|
1344
1362
|
}
|
|
1363
|
+
function roleName(role) {
|
|
1364
|
+
return role.charAt(0).toUpperCase() + role.slice(1);
|
|
1365
|
+
}
|
|
1366
|
+
function rolePriority(role) {
|
|
1367
|
+
if (role === "primary") return 1;
|
|
1368
|
+
if (role === "secondary") return 2;
|
|
1369
|
+
return 3;
|
|
1370
|
+
}
|
|
1345
1371
|
//#endregion
|
|
1346
|
-
//#region ../theme-core/src/buttons/
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1372
|
+
//#region ../theme-core/src/buttons/styles/selection.ts
|
|
1373
|
+
const BUTTON_STYLE_IDS = [
|
|
1374
|
+
"soft-pill",
|
|
1375
|
+
"earth-pill",
|
|
1376
|
+
"confident-chip",
|
|
1377
|
+
"editorial-link",
|
|
1378
|
+
"pebble",
|
|
1379
|
+
"ink-stamp",
|
|
1380
|
+
"flat-ink",
|
|
1381
|
+
"brushed-wash",
|
|
1382
|
+
"showtime-pill",
|
|
1383
|
+
"joy-stamp",
|
|
1384
|
+
"ornate-ritual",
|
|
1385
|
+
"quiet-arrow"
|
|
1386
|
+
];
|
|
1387
|
+
const quietArrowParametersSchema = z$1.object({ secondaryTreatment: z$1.enum(["outlined", "solid-accent"]) }).strict();
|
|
1388
|
+
const emptyParametersSchema$1 = z$1.object({}).strict();
|
|
1389
|
+
function selectionBranch(styleId, parameters) {
|
|
1390
|
+
return z$1.object({
|
|
1391
|
+
styleId: z$1.literal(styleId),
|
|
1392
|
+
parameters
|
|
1393
|
+
}).strict();
|
|
1394
|
+
}
|
|
1395
|
+
const buttonStyleSelectionSchema = z$1.discriminatedUnion("styleId", [
|
|
1396
|
+
selectionBranch("soft-pill", emptyParametersSchema$1),
|
|
1397
|
+
selectionBranch("earth-pill", emptyParametersSchema$1),
|
|
1398
|
+
selectionBranch("confident-chip", emptyParametersSchema$1),
|
|
1399
|
+
selectionBranch("editorial-link", emptyParametersSchema$1),
|
|
1400
|
+
selectionBranch("pebble", emptyParametersSchema$1),
|
|
1401
|
+
selectionBranch("ink-stamp", emptyParametersSchema$1),
|
|
1402
|
+
selectionBranch("flat-ink", emptyParametersSchema$1),
|
|
1403
|
+
selectionBranch("brushed-wash", emptyParametersSchema$1),
|
|
1404
|
+
selectionBranch("showtime-pill", emptyParametersSchema$1),
|
|
1405
|
+
selectionBranch("joy-stamp", emptyParametersSchema$1),
|
|
1406
|
+
selectionBranch("ornate-ritual", emptyParametersSchema$1),
|
|
1407
|
+
selectionBranch("quiet-arrow", quietArrowParametersSchema)
|
|
1408
|
+
]);
|
|
1409
|
+
//#endregion
|
|
1410
|
+
//#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
|
|
1411
|
+
const quietArrowRecipe = defineButtonStyleRecipe({
|
|
1412
|
+
id: "quiet-arrow",
|
|
1413
|
+
accessibilityLabel: "Wide uppercase buttons with trailing arrows",
|
|
1355
1414
|
tags: {
|
|
1356
1415
|
tone: "classic",
|
|
1357
|
-
energy: "
|
|
1358
|
-
motion: "
|
|
1359
|
-
era: "
|
|
1416
|
+
energy: "calm",
|
|
1417
|
+
motion: "subtle",
|
|
1418
|
+
era: "editorial"
|
|
1360
1419
|
},
|
|
1361
|
-
|
|
1420
|
+
parameterSchema: quietArrowParametersSchema,
|
|
1421
|
+
defaultParameters: { secondaryTreatment: "outlined" },
|
|
1422
|
+
controls: [{
|
|
1423
|
+
kind: "choice",
|
|
1424
|
+
parameter: "secondaryTreatment",
|
|
1425
|
+
label: "Secondary button treatment",
|
|
1426
|
+
options: [{
|
|
1427
|
+
value: "outlined",
|
|
1428
|
+
label: "Outlined"
|
|
1429
|
+
}, {
|
|
1430
|
+
value: "solid-accent",
|
|
1431
|
+
label: "Solid accent"
|
|
1432
|
+
}]
|
|
1433
|
+
}],
|
|
1434
|
+
defineSystem: (parameters) => ({
|
|
1362
1435
|
global: {
|
|
1363
1436
|
cornerStyle: "rounded",
|
|
1364
|
-
|
|
1365
|
-
textTransform: "none",
|
|
1437
|
+
textTransform: "uppercase",
|
|
1366
1438
|
fontWeight: 500,
|
|
1367
1439
|
borderWidth: 1,
|
|
1440
|
+
typography: "body",
|
|
1441
|
+
fontSize: "text-sm",
|
|
1442
|
+
letterSpacing: "loose",
|
|
1368
1443
|
hoverTransform: "none",
|
|
1369
1444
|
hoverColor: "none"
|
|
1370
1445
|
},
|
|
1371
1446
|
sizes: {
|
|
1372
1447
|
sm: {
|
|
1373
|
-
padding: "0.
|
|
1448
|
+
padding: "0.625rem 1.25rem",
|
|
1449
|
+
fontSize: "text-xs"
|
|
1450
|
+
},
|
|
1451
|
+
md: {
|
|
1452
|
+
padding: "0.8125rem 1.75rem",
|
|
1374
1453
|
fontSize: "text-sm"
|
|
1375
1454
|
},
|
|
1376
|
-
md: { padding: "1rem 2.5rem" },
|
|
1377
1455
|
lg: {
|
|
1378
|
-
padding: "
|
|
1379
|
-
fontSize: "text-
|
|
1456
|
+
padding: "0.9375rem 2.125rem",
|
|
1457
|
+
fontSize: "text-sm"
|
|
1380
1458
|
},
|
|
1381
1459
|
xl: {
|
|
1382
|
-
padding: "1.
|
|
1383
|
-
fontSize: "text-
|
|
1460
|
+
padding: "1.0625rem 2.5rem",
|
|
1461
|
+
fontSize: "text-base"
|
|
1384
1462
|
}
|
|
1385
1463
|
},
|
|
1386
|
-
|
|
1387
|
-
{
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
elevation: "low",
|
|
1401
|
-
softness: "soft",
|
|
1402
|
-
position: "bottom"
|
|
1464
|
+
roles: {
|
|
1465
|
+
primary: {
|
|
1466
|
+
kind: "complete",
|
|
1467
|
+
appearance: {
|
|
1468
|
+
background: {
|
|
1469
|
+
type: "solid",
|
|
1470
|
+
colorToken: unsafeAsOpaqueButtonColourToken("primary")
|
|
1471
|
+
},
|
|
1472
|
+
borderRadius: "rounded-xl",
|
|
1473
|
+
affordance: { iconId: "ArrowRight" },
|
|
1474
|
+
effects: { hover: [{
|
|
1475
|
+
effectId: "darken-background",
|
|
1476
|
+
options: { amount: 100 }
|
|
1477
|
+
}] }
|
|
1403
1478
|
}
|
|
1404
1479
|
},
|
|
1405
|
-
{
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1480
|
+
secondary: {
|
|
1481
|
+
kind: "complete",
|
|
1482
|
+
appearance: parameters.secondaryTreatment === "solid-accent" ? {
|
|
1483
|
+
background: {
|
|
1484
|
+
type: "solid",
|
|
1485
|
+
colorToken: unsafeAsOpaqueButtonColourToken("accent")
|
|
1486
|
+
},
|
|
1487
|
+
borderRadius: "rounded-xl",
|
|
1488
|
+
affordance: { iconId: "ArrowRight" },
|
|
1489
|
+
effects: { hover: [{
|
|
1490
|
+
effectId: "darken-background",
|
|
1491
|
+
options: { amount: 100 }
|
|
1492
|
+
}] }
|
|
1493
|
+
} : {
|
|
1494
|
+
background: {
|
|
1495
|
+
type: "surface",
|
|
1496
|
+
role: "link"
|
|
1497
|
+
},
|
|
1498
|
+
borderRadius: "rounded-xl",
|
|
1499
|
+
border: { widthClass: "border" },
|
|
1500
|
+
affordance: { iconId: "ArrowRight" },
|
|
1501
|
+
effects: { hover: [{
|
|
1502
|
+
effectId: "background-on-hover",
|
|
1503
|
+
options: { colorToken: "surfaceAlt" }
|
|
1504
|
+
}] }
|
|
1421
1505
|
}
|
|
1422
1506
|
},
|
|
1423
|
-
{
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
border: { widthClass: "border" },
|
|
1434
|
-
effects: { hover: [{
|
|
1435
|
-
effectId: "background-on-hover",
|
|
1436
|
-
options: { colorToken: "surface" }
|
|
1437
|
-
}] }
|
|
1507
|
+
outline: {
|
|
1508
|
+
kind: "complete",
|
|
1509
|
+
appearance: {
|
|
1510
|
+
background: {
|
|
1511
|
+
type: "surface",
|
|
1512
|
+
role: "link"
|
|
1513
|
+
},
|
|
1514
|
+
borderRadius: "rounded-xl",
|
|
1515
|
+
border: { widthClass: "border" }
|
|
1516
|
+
}
|
|
1438
1517
|
},
|
|
1439
|
-
{
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
}
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1518
|
+
ghost: {
|
|
1519
|
+
kind: "complete",
|
|
1520
|
+
appearance: {
|
|
1521
|
+
background: {
|
|
1522
|
+
type: "surface",
|
|
1523
|
+
role: "link"
|
|
1524
|
+
},
|
|
1525
|
+
borderRadius: "rounded-xl"
|
|
1526
|
+
}
|
|
1527
|
+
},
|
|
1528
|
+
accent: {
|
|
1529
|
+
kind: "derive",
|
|
1530
|
+
from: "primary",
|
|
1531
|
+
overrides: { background: {
|
|
1532
|
+
type: "solid",
|
|
1533
|
+
colorToken: unsafeAsOpaqueButtonColourToken("accent")
|
|
1534
|
+
} }
|
|
1453
1535
|
}
|
|
1454
|
-
|
|
1455
|
-
}
|
|
1536
|
+
}
|
|
1537
|
+
})
|
|
1456
1538
|
});
|
|
1457
1539
|
//#endregion
|
|
1458
|
-
//#region ../theme-core/src/buttons/
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1540
|
+
//#region ../theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.ts
|
|
1541
|
+
const emptyParametersSchema = z$1.object({}).strict();
|
|
1542
|
+
function defineStaticButtonStyleRecipe(input) {
|
|
1543
|
+
const system = normalizeSystem(input.system);
|
|
1544
|
+
return defineButtonStyleRecipe({
|
|
1545
|
+
id: input.id,
|
|
1546
|
+
accessibilityLabel: input.accessibilityLabel,
|
|
1547
|
+
tags: input.tags,
|
|
1548
|
+
parameterSchema: emptyParametersSchema,
|
|
1549
|
+
defaultParameters: {},
|
|
1550
|
+
controls: [],
|
|
1551
|
+
defineSystem: () => system
|
|
1552
|
+
});
|
|
1553
|
+
}
|
|
1554
|
+
function normalizeSystem(input) {
|
|
1555
|
+
return {
|
|
1556
|
+
global: buttonGlobalSettingsSchema.parse(input.global),
|
|
1557
|
+
...input.sizes ? { sizes: input.sizes } : {},
|
|
1558
|
+
roles: {
|
|
1559
|
+
primary: normalizeCompleteRole(input.roles.primary),
|
|
1560
|
+
secondary: normalizeCompleteRole(input.roles.secondary),
|
|
1561
|
+
outline: normalizeSupportingRole(input.roles.outline),
|
|
1562
|
+
ghost: normalizeSupportingRole(input.roles.ghost),
|
|
1563
|
+
accent: normalizeSupportingRole(input.roles.accent)
|
|
1564
|
+
}
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
function normalizeCompleteRole(role) {
|
|
1568
|
+
return {
|
|
1569
|
+
kind: "complete",
|
|
1570
|
+
appearance: normalizeAppearance(role.appearance)
|
|
1571
|
+
};
|
|
1572
|
+
}
|
|
1573
|
+
function normalizeSupportingRole(role) {
|
|
1574
|
+
if (role.kind === "complete") return normalizeCompleteRole(role);
|
|
1575
|
+
return {
|
|
1576
|
+
kind: "derive",
|
|
1577
|
+
from: role.from,
|
|
1578
|
+
...role.overrides ? { overrides: normalizeAppearanceOverrides(role.overrides) } : {}
|
|
1579
|
+
};
|
|
1580
|
+
}
|
|
1581
|
+
function normalizeAppearance(appearance) {
|
|
1582
|
+
const { background, hoverBackgroundToken, ...rest } = appearance;
|
|
1583
|
+
return {
|
|
1584
|
+
...rest,
|
|
1585
|
+
background: buttonColourTreatmentSchema.parse(background),
|
|
1586
|
+
...hoverBackgroundToken ? { hoverBackgroundToken: opaqueButtonColourTokenSchema.parse(hoverBackgroundToken) } : {}
|
|
1587
|
+
};
|
|
1588
|
+
}
|
|
1589
|
+
function normalizeAppearanceOverrides(overrides) {
|
|
1590
|
+
const { background, hoverBackgroundToken, ...rest } = overrides;
|
|
1591
|
+
return {
|
|
1592
|
+
...rest,
|
|
1593
|
+
...background ? { background: buttonColourTreatmentSchema.parse(background) } : {},
|
|
1594
|
+
...hoverBackgroundToken ? { hoverBackgroundToken: opaqueButtonColourTokenSchema.parse(hoverBackgroundToken) } : {}
|
|
1595
|
+
};
|
|
1596
|
+
}
|
|
1597
|
+
//#endregion
|
|
1598
|
+
//#region ../theme-core/src/buttons/styles/recipes/staticRecipes.ts
|
|
1599
|
+
const softPillRecipe = defineStaticButtonStyleRecipe({
|
|
1600
|
+
id: "soft-pill",
|
|
1601
|
+
accessibilityLabel: "Rounded pill buttons with a gentle hover lift",
|
|
1467
1602
|
tags: {
|
|
1468
1603
|
tone: "classic",
|
|
1469
1604
|
energy: "calm",
|
|
1470
|
-
motion: "
|
|
1471
|
-
era: "
|
|
1605
|
+
motion: "subtle",
|
|
1606
|
+
era: "organic"
|
|
1472
1607
|
},
|
|
1473
|
-
|
|
1608
|
+
system: {
|
|
1474
1609
|
global: {
|
|
1475
|
-
cornerStyle: "
|
|
1476
|
-
shadow: "
|
|
1610
|
+
cornerStyle: "pill",
|
|
1611
|
+
shadow: "low",
|
|
1477
1612
|
textTransform: "none",
|
|
1478
|
-
fontWeight:
|
|
1479
|
-
borderWidth:
|
|
1480
|
-
hoverTransform: "
|
|
1613
|
+
fontWeight: 500,
|
|
1614
|
+
borderWidth: 2,
|
|
1615
|
+
hoverTransform: "lift",
|
|
1481
1616
|
hoverColor: "none"
|
|
1482
1617
|
},
|
|
1483
|
-
|
|
1484
|
-
{
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
}]
|
|
1618
|
+
roles: {
|
|
1619
|
+
primary: {
|
|
1620
|
+
kind: "complete",
|
|
1621
|
+
appearance: {
|
|
1622
|
+
background: {
|
|
1623
|
+
type: "solid",
|
|
1624
|
+
colorToken: "primary"
|
|
1625
|
+
},
|
|
1626
|
+
borderRadius: "rounded-full",
|
|
1627
|
+
shadow: {
|
|
1628
|
+
elevation: "low",
|
|
1629
|
+
softness: "soft",
|
|
1630
|
+
position: "bottom"
|
|
1631
|
+
},
|
|
1632
|
+
effects: {
|
|
1633
|
+
hover: [{
|
|
1634
|
+
effectId: "lift",
|
|
1635
|
+
options: { translateY: "-1px" }
|
|
1636
|
+
}],
|
|
1637
|
+
active: [{
|
|
1638
|
+
effectId: "scale-down",
|
|
1639
|
+
options: { scale: "0.98" }
|
|
1640
|
+
}]
|
|
1641
|
+
}
|
|
1508
1642
|
}
|
|
1509
1643
|
},
|
|
1510
|
-
{
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
}] }
|
|
1644
|
+
secondary: {
|
|
1645
|
+
kind: "complete",
|
|
1646
|
+
appearance: {
|
|
1647
|
+
background: {
|
|
1648
|
+
type: "surface",
|
|
1649
|
+
role: "link"
|
|
1650
|
+
},
|
|
1651
|
+
borderRadius: "rounded-full",
|
|
1652
|
+
border: { widthClass: "border-2" },
|
|
1653
|
+
effects: { hover: [{
|
|
1654
|
+
effectId: "background-on-hover",
|
|
1655
|
+
options: { colorToken: "surface" }
|
|
1656
|
+
}] }
|
|
1657
|
+
}
|
|
1525
1658
|
},
|
|
1526
|
-
{
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
}] }
|
|
1659
|
+
outline: {
|
|
1660
|
+
kind: "complete",
|
|
1661
|
+
appearance: {
|
|
1662
|
+
background: {
|
|
1663
|
+
type: "surface",
|
|
1664
|
+
role: "link"
|
|
1665
|
+
},
|
|
1666
|
+
borderRadius: "rounded-full",
|
|
1667
|
+
border: { widthClass: "border" },
|
|
1668
|
+
effects: { hover: [{
|
|
1669
|
+
effectId: "background-on-hover",
|
|
1670
|
+
options: { colorToken: "surface" }
|
|
1671
|
+
}] }
|
|
1672
|
+
}
|
|
1541
1673
|
},
|
|
1542
|
-
{
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1674
|
+
ghost: {
|
|
1675
|
+
kind: "complete",
|
|
1676
|
+
appearance: {
|
|
1677
|
+
background: {
|
|
1678
|
+
type: "surface",
|
|
1679
|
+
role: "link"
|
|
1680
|
+
},
|
|
1681
|
+
borderRadius: "rounded-full",
|
|
1682
|
+
effects: { hover: [{
|
|
1683
|
+
effectId: "background-on-hover",
|
|
1684
|
+
options: { colorToken: "surface" }
|
|
1685
|
+
}] }
|
|
1686
|
+
}
|
|
1687
|
+
},
|
|
1688
|
+
accent: {
|
|
1689
|
+
kind: "derive",
|
|
1690
|
+
from: "primary",
|
|
1691
|
+
overrides: { background: {
|
|
1692
|
+
type: "solid",
|
|
1693
|
+
colorToken: "accent"
|
|
1694
|
+
} }
|
|
1556
1695
|
}
|
|
1557
|
-
|
|
1696
|
+
}
|
|
1558
1697
|
}
|
|
1559
1698
|
});
|
|
1560
|
-
|
|
1561
|
-
//#region ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
1562
|
-
/**
|
|
1563
|
-
* Earth Pill - warm studio pills with compact, primary-coloured ghost CTAs.
|
|
1564
|
-
* Built for grounded editorial wellness styles such as Soft Earth.
|
|
1565
|
-
*/
|
|
1566
|
-
const earthPill = defineButtonPersonality({
|
|
1699
|
+
const earthPillRecipe = defineStaticButtonStyleRecipe({
|
|
1567
1700
|
id: "earth-pill",
|
|
1568
|
-
|
|
1569
|
-
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
1701
|
+
accessibilityLabel: "Compact rounded buttons with a quiet hover lift",
|
|
1570
1702
|
tags: {
|
|
1571
1703
|
tone: "classic",
|
|
1572
1704
|
energy: "calm",
|
|
1573
1705
|
motion: "subtle",
|
|
1574
1706
|
era: "organic"
|
|
1575
1707
|
},
|
|
1576
|
-
|
|
1708
|
+
system: {
|
|
1577
1709
|
global: {
|
|
1578
1710
|
cornerStyle: "pill",
|
|
1579
1711
|
shadow: "low",
|
|
@@ -1600,940 +1732,808 @@ const earthPill = defineButtonPersonality({
|
|
|
1600
1732
|
fontSize: "text-xl"
|
|
1601
1733
|
}
|
|
1602
1734
|
},
|
|
1603
|
-
|
|
1604
|
-
{
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
}]
|
|
1735
|
+
roles: {
|
|
1736
|
+
primary: {
|
|
1737
|
+
kind: "complete",
|
|
1738
|
+
appearance: {
|
|
1739
|
+
background: {
|
|
1740
|
+
type: "solid",
|
|
1741
|
+
colorToken: "primary"
|
|
1742
|
+
},
|
|
1743
|
+
borderRadius: "rounded-full",
|
|
1744
|
+
shadow: {
|
|
1745
|
+
elevation: "low",
|
|
1746
|
+
softness: "soft",
|
|
1747
|
+
position: "bottom"
|
|
1748
|
+
},
|
|
1749
|
+
effects: {
|
|
1750
|
+
hover: [{
|
|
1751
|
+
effectId: "lift",
|
|
1752
|
+
options: { translateY: "-1px" }
|
|
1753
|
+
}, {
|
|
1754
|
+
effectId: "background-on-hover",
|
|
1755
|
+
options: { colorToken: "accent" }
|
|
1756
|
+
}],
|
|
1757
|
+
active: [{
|
|
1758
|
+
effectId: "scale-down",
|
|
1759
|
+
options: { scale: "0.98" }
|
|
1760
|
+
}]
|
|
1761
|
+
}
|
|
1631
1762
|
}
|
|
1632
1763
|
},
|
|
1633
|
-
{
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
}] }
|
|
1764
|
+
secondary: {
|
|
1765
|
+
kind: "complete",
|
|
1766
|
+
appearance: {
|
|
1767
|
+
background: {
|
|
1768
|
+
type: "surface",
|
|
1769
|
+
role: "link"
|
|
1770
|
+
},
|
|
1771
|
+
borderRadius: "rounded-full",
|
|
1772
|
+
border: { widthClass: "border" },
|
|
1773
|
+
effects: { hover: [{
|
|
1774
|
+
effectId: "background-on-hover",
|
|
1775
|
+
options: { colorToken: "muted" }
|
|
1776
|
+
}] }
|
|
1777
|
+
}
|
|
1648
1778
|
},
|
|
1649
|
-
{
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
}] }
|
|
1779
|
+
outline: {
|
|
1780
|
+
kind: "complete",
|
|
1781
|
+
appearance: {
|
|
1782
|
+
background: {
|
|
1783
|
+
type: "surface",
|
|
1784
|
+
role: "link"
|
|
1785
|
+
},
|
|
1786
|
+
borderRadius: "rounded-full",
|
|
1787
|
+
border: { widthClass: "border" },
|
|
1788
|
+
effects: { hover: [{
|
|
1789
|
+
effectId: "background-on-hover",
|
|
1790
|
+
options: { colorToken: "surfaceAlt" }
|
|
1791
|
+
}] }
|
|
1792
|
+
}
|
|
1664
1793
|
},
|
|
1665
|
-
{
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
type: "surface",
|
|
1672
|
-
role: "link"
|
|
1673
|
-
},
|
|
1674
|
-
borderRadius: "rounded-full",
|
|
1675
|
-
shadow: {
|
|
1676
|
-
elevation: "none",
|
|
1677
|
-
softness: null,
|
|
1678
|
-
position: "bottom"
|
|
1679
|
-
},
|
|
1680
|
-
sizes: {
|
|
1681
|
-
sm: {
|
|
1682
|
-
padding: "0.25rem 0",
|
|
1683
|
-
fontSize: "text-sm"
|
|
1794
|
+
ghost: {
|
|
1795
|
+
kind: "complete",
|
|
1796
|
+
appearance: {
|
|
1797
|
+
background: {
|
|
1798
|
+
type: "surface",
|
|
1799
|
+
role: "link"
|
|
1684
1800
|
},
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1801
|
+
borderRadius: "rounded-full",
|
|
1802
|
+
shadow: {
|
|
1803
|
+
elevation: "none",
|
|
1804
|
+
softness: null,
|
|
1805
|
+
position: "bottom"
|
|
1689
1806
|
},
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1807
|
+
sizes: {
|
|
1808
|
+
sm: {
|
|
1809
|
+
padding: "0.25rem 0",
|
|
1810
|
+
fontSize: "text-sm"
|
|
1811
|
+
},
|
|
1812
|
+
md: { padding: "0.375rem 0" },
|
|
1813
|
+
lg: {
|
|
1814
|
+
padding: "0.5rem 0",
|
|
1815
|
+
fontSize: "text-lg"
|
|
1816
|
+
},
|
|
1817
|
+
xl: {
|
|
1818
|
+
padding: "0.625rem 0",
|
|
1819
|
+
fontSize: "text-xl"
|
|
1820
|
+
}
|
|
1693
1821
|
}
|
|
1694
1822
|
}
|
|
1823
|
+
},
|
|
1824
|
+
accent: {
|
|
1825
|
+
kind: "derive",
|
|
1826
|
+
from: "primary",
|
|
1827
|
+
overrides: { background: {
|
|
1828
|
+
type: "solid",
|
|
1829
|
+
colorToken: "accent"
|
|
1830
|
+
} }
|
|
1695
1831
|
}
|
|
1696
|
-
|
|
1832
|
+
}
|
|
1697
1833
|
}
|
|
1698
1834
|
});
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
* Editorial Link — all variants are link-style with a growing underline.
|
|
1703
|
-
* Default for Warm Editorial and Quiet Luxury; reads as refined and quiet.
|
|
1704
|
-
*/
|
|
1705
|
-
const editorialLink = defineButtonPersonality({
|
|
1706
|
-
id: "editorial-link",
|
|
1707
|
-
name: "Editorial Link",
|
|
1708
|
-
description: "Link-style with a growing underline. Refined, typographic.",
|
|
1835
|
+
const confidentChipRecipe = defineStaticButtonStyleRecipe({
|
|
1836
|
+
id: "confident-chip",
|
|
1837
|
+
accessibilityLabel: "Moderately rounded solid buttons with a crisp hover",
|
|
1709
1838
|
tags: {
|
|
1710
|
-
tone: "
|
|
1839
|
+
tone: "classic",
|
|
1711
1840
|
energy: "calm",
|
|
1712
|
-
motion: "
|
|
1713
|
-
era: "
|
|
1841
|
+
motion: "standard",
|
|
1842
|
+
era: "modern"
|
|
1714
1843
|
},
|
|
1715
|
-
|
|
1844
|
+
system: {
|
|
1716
1845
|
global: {
|
|
1717
|
-
cornerStyle: "
|
|
1846
|
+
cornerStyle: "rounded",
|
|
1847
|
+
shadow: "medium",
|
|
1718
1848
|
textTransform: "none",
|
|
1719
|
-
fontWeight:
|
|
1849
|
+
fontWeight: 600,
|
|
1720
1850
|
borderWidth: 1,
|
|
1721
1851
|
hoverTransform: "none",
|
|
1722
1852
|
hoverColor: "none"
|
|
1723
1853
|
},
|
|
1724
|
-
|
|
1725
|
-
{
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1854
|
+
roles: {
|
|
1855
|
+
primary: {
|
|
1856
|
+
kind: "complete",
|
|
1857
|
+
appearance: {
|
|
1858
|
+
background: {
|
|
1859
|
+
type: "solid",
|
|
1860
|
+
colorToken: "primary"
|
|
1861
|
+
},
|
|
1862
|
+
borderRadius: "rounded-md",
|
|
1863
|
+
shadow: {
|
|
1864
|
+
elevation: "medium",
|
|
1865
|
+
softness: "soft",
|
|
1866
|
+
position: "bottom"
|
|
1867
|
+
},
|
|
1868
|
+
effects: {
|
|
1869
|
+
hover: [{
|
|
1870
|
+
effectId: "darken-background",
|
|
1871
|
+
options: { amount: 100 }
|
|
1872
|
+
}],
|
|
1873
|
+
active: [{
|
|
1874
|
+
effectId: "scale-down",
|
|
1875
|
+
options: { scale: "0.97" }
|
|
1876
|
+
}]
|
|
1747
1877
|
}
|
|
1748
|
-
}
|
|
1878
|
+
}
|
|
1749
1879
|
},
|
|
1750
|
-
{
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
xl: { padding: "0.75rem 0" }
|
|
1765
|
-
},
|
|
1766
|
-
effects: { base: [{
|
|
1767
|
-
effectId: "border-bottom-grow",
|
|
1768
|
-
options: {
|
|
1769
|
-
height: 1,
|
|
1770
|
-
colorToken: "mutedText",
|
|
1771
|
-
origin: "left"
|
|
1772
|
-
}
|
|
1773
|
-
}] }
|
|
1880
|
+
secondary: {
|
|
1881
|
+
kind: "complete",
|
|
1882
|
+
appearance: {
|
|
1883
|
+
background: {
|
|
1884
|
+
type: "solid",
|
|
1885
|
+
colorToken: "surface"
|
|
1886
|
+
},
|
|
1887
|
+
borderRadius: "rounded-md",
|
|
1888
|
+
border: { widthClass: "border" },
|
|
1889
|
+
effects: { hover: [{
|
|
1890
|
+
effectId: "background-on-hover",
|
|
1891
|
+
options: { colorToken: "background" }
|
|
1892
|
+
}] }
|
|
1893
|
+
}
|
|
1774
1894
|
},
|
|
1775
|
-
{
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
xl: { padding: "0.75rem 0" }
|
|
1790
|
-
},
|
|
1791
|
-
effects: { base: [{
|
|
1792
|
-
effectId: "border-bottom-grow",
|
|
1793
|
-
options: {
|
|
1794
|
-
height: 1,
|
|
1795
|
-
colorToken: "accent",
|
|
1796
|
-
origin: "left"
|
|
1797
|
-
}
|
|
1798
|
-
}] }
|
|
1895
|
+
outline: {
|
|
1896
|
+
kind: "complete",
|
|
1897
|
+
appearance: {
|
|
1898
|
+
background: {
|
|
1899
|
+
type: "surface",
|
|
1900
|
+
role: "link"
|
|
1901
|
+
},
|
|
1902
|
+
borderRadius: "rounded-md",
|
|
1903
|
+
border: { widthClass: "border" },
|
|
1904
|
+
effects: { hover: [{
|
|
1905
|
+
effectId: "background-on-hover",
|
|
1906
|
+
options: { colorToken: "surface" }
|
|
1907
|
+
}] }
|
|
1908
|
+
}
|
|
1799
1909
|
},
|
|
1800
|
-
{
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
md: { padding: "0.5rem 0" },
|
|
1813
|
-
lg: { padding: "0.625rem 0" },
|
|
1814
|
-
xl: { padding: "0.75rem 0" }
|
|
1910
|
+
ghost: {
|
|
1911
|
+
kind: "complete",
|
|
1912
|
+
appearance: {
|
|
1913
|
+
background: {
|
|
1914
|
+
type: "surface",
|
|
1915
|
+
role: "link"
|
|
1916
|
+
},
|
|
1917
|
+
borderRadius: "rounded-md",
|
|
1918
|
+
effects: { hover: [{
|
|
1919
|
+
effectId: "background-on-hover",
|
|
1920
|
+
options: { colorToken: "surface" }
|
|
1921
|
+
}] }
|
|
1815
1922
|
}
|
|
1923
|
+
},
|
|
1924
|
+
accent: {
|
|
1925
|
+
kind: "derive",
|
|
1926
|
+
from: "primary",
|
|
1927
|
+
overrides: { background: {
|
|
1928
|
+
type: "solid",
|
|
1929
|
+
colorToken: "accent"
|
|
1930
|
+
} }
|
|
1816
1931
|
}
|
|
1817
|
-
|
|
1932
|
+
}
|
|
1818
1933
|
}
|
|
1819
1934
|
});
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
*/
|
|
1830
|
-
const flatInk = defineButtonPersonality({
|
|
1831
|
-
id: "flat-ink",
|
|
1832
|
-
name: "Flat Ink",
|
|
1833
|
-
description: "Flat solid-ink primary, hairline ghost secondary, and a single amber accent climax — modest radius, no shadow.",
|
|
1935
|
+
const editorialSizes = {
|
|
1936
|
+
sm: { padding: "0.25rem 0" },
|
|
1937
|
+
md: { padding: "0.5rem 0" },
|
|
1938
|
+
lg: { padding: "0.625rem 0" },
|
|
1939
|
+
xl: { padding: "0.75rem 0" }
|
|
1940
|
+
};
|
|
1941
|
+
const editorialLinkRecipe = defineStaticButtonStyleRecipe({
|
|
1942
|
+
id: "editorial-link",
|
|
1943
|
+
accessibilityLabel: "Flat typographic buttons with an underline treatment",
|
|
1834
1944
|
tags: {
|
|
1835
|
-
tone: "
|
|
1945
|
+
tone: "minimal",
|
|
1836
1946
|
energy: "calm",
|
|
1837
1947
|
motion: "subtle",
|
|
1838
1948
|
era: "editorial"
|
|
1839
1949
|
},
|
|
1840
|
-
|
|
1950
|
+
system: {
|
|
1841
1951
|
global: {
|
|
1842
|
-
cornerStyle: "
|
|
1952
|
+
cornerStyle: "square",
|
|
1843
1953
|
textTransform: "none",
|
|
1844
|
-
fontWeight:
|
|
1845
|
-
borderWidth: 1,
|
|
1846
|
-
typography: "body",
|
|
1847
|
-
letterSpacing: "tight",
|
|
1848
|
-
paddingPreset: "default",
|
|
1849
|
-
hoverTransform: "lift",
|
|
1850
|
-
hoverColor: "none"
|
|
1851
|
-
},
|
|
1852
|
-
sizes: {
|
|
1853
|
-
sm: {
|
|
1854
|
-
padding: "0.625rem 1.125rem",
|
|
1855
|
-
fontSize: "text-sm"
|
|
1856
|
-
},
|
|
1857
|
-
md: { padding: "0.8125rem 1.375rem" },
|
|
1858
|
-
lg: {
|
|
1859
|
-
padding: "0.9375rem 1.625rem",
|
|
1860
|
-
fontSize: "text-lg"
|
|
1861
|
-
},
|
|
1862
|
-
xl: {
|
|
1863
|
-
padding: "1.0625rem 2rem",
|
|
1864
|
-
fontSize: "text-xl"
|
|
1865
|
-
}
|
|
1866
|
-
},
|
|
1867
|
-
variants: [
|
|
1868
|
-
{
|
|
1869
|
-
id: "primary",
|
|
1870
|
-
name: "Primary",
|
|
1871
|
-
enabled: true,
|
|
1872
|
-
priority: 1,
|
|
1873
|
-
background: {
|
|
1874
|
-
type: "solid",
|
|
1875
|
-
colorToken: "primary"
|
|
1876
|
-
},
|
|
1877
|
-
borderRadius: "rounded-lg",
|
|
1878
|
-
affordance: { iconId: "ArrowRight" },
|
|
1879
|
-
effects: { hover: [{
|
|
1880
|
-
effectId: "lift",
|
|
1881
|
-
options: { translateY: "-2px" }
|
|
1882
|
-
}, {
|
|
1883
|
-
effectId: "background-on-hover",
|
|
1884
|
-
options: { colorToken: "secondary" }
|
|
1885
|
-
}] }
|
|
1886
|
-
},
|
|
1887
|
-
{
|
|
1888
|
-
id: "secondary",
|
|
1889
|
-
name: "Secondary",
|
|
1890
|
-
enabled: true,
|
|
1891
|
-
priority: 2,
|
|
1892
|
-
background: {
|
|
1893
|
-
type: "surface",
|
|
1894
|
-
role: "link"
|
|
1895
|
-
},
|
|
1896
|
-
borderRadius: "rounded-lg",
|
|
1897
|
-
border: { widthClass: "border" },
|
|
1898
|
-
effects: { hover: [{
|
|
1899
|
-
effectId: "lift",
|
|
1900
|
-
options: { translateY: "-2px" }
|
|
1901
|
-
}, {
|
|
1902
|
-
effectId: "background-on-hover",
|
|
1903
|
-
options: { colorToken: "surfaceAlt" }
|
|
1904
|
-
}] }
|
|
1905
|
-
},
|
|
1906
|
-
{
|
|
1907
|
-
id: "accent",
|
|
1908
|
-
name: "Accent",
|
|
1909
|
-
enabled: true,
|
|
1910
|
-
priority: 3,
|
|
1911
|
-
background: {
|
|
1912
|
-
type: "solid",
|
|
1913
|
-
colorToken: "accent"
|
|
1914
|
-
},
|
|
1915
|
-
borderRadius: "rounded-lg",
|
|
1916
|
-
affordance: { iconId: "ArrowRight" },
|
|
1917
|
-
effects: { hover: [{
|
|
1918
|
-
effectId: "lift",
|
|
1919
|
-
options: { translateY: "-2px" }
|
|
1920
|
-
}] }
|
|
1921
|
-
}
|
|
1922
|
-
]
|
|
1923
|
-
}
|
|
1924
|
-
});
|
|
1925
|
-
//#endregion
|
|
1926
|
-
//#region ../theme-core/src/buttons/personalities/ink-stamp.ts
|
|
1927
|
-
/**
|
|
1928
|
-
* Ink Stamp — solid earthy fills with a bordered, hand-stamped block-print
|
|
1929
|
-
* feel. Reads as bold and handmade; suits expressive craft brands.
|
|
1930
|
-
*/
|
|
1931
|
-
const inkStamp = defineButtonPersonality({
|
|
1932
|
-
id: "ink-stamp",
|
|
1933
|
-
name: "Ink Stamp",
|
|
1934
|
-
description: "Hand-stamped block-print buttons with a slight lift on hover.",
|
|
1935
|
-
tags: {
|
|
1936
|
-
tone: "bold",
|
|
1937
|
-
energy: "vibrant",
|
|
1938
|
-
motion: "standard",
|
|
1939
|
-
era: "organic"
|
|
1940
|
-
},
|
|
1941
|
-
buttonSystem: {
|
|
1942
|
-
global: {
|
|
1943
|
-
cornerStyle: "rounded",
|
|
1944
|
-
textTransform: "uppercase",
|
|
1945
|
-
fontWeight: 600,
|
|
1954
|
+
fontWeight: 500,
|
|
1946
1955
|
borderWidth: 1,
|
|
1947
1956
|
hoverTransform: "none",
|
|
1948
|
-
hoverColor: "none"
|
|
1949
|
-
letterSpacing: "loose"
|
|
1950
|
-
},
|
|
1951
|
-
sizes: {
|
|
1952
|
-
sm: {
|
|
1953
|
-
padding: "0.5rem 1.25rem",
|
|
1954
|
-
fontSize: "text-xs"
|
|
1955
|
-
},
|
|
1956
|
-
md: {
|
|
1957
|
-
padding: "0.75rem 1.75rem",
|
|
1958
|
-
fontSize: "text-sm"
|
|
1959
|
-
},
|
|
1960
|
-
lg: {
|
|
1961
|
-
padding: "0.875rem 2.25rem",
|
|
1962
|
-
fontSize: "text-base"
|
|
1963
|
-
},
|
|
1964
|
-
xl: {
|
|
1965
|
-
padding: "1.125rem 2.75rem",
|
|
1966
|
-
fontSize: "text-lg"
|
|
1967
|
-
}
|
|
1957
|
+
hoverColor: "none"
|
|
1968
1958
|
},
|
|
1969
|
-
|
|
1970
|
-
{
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
}],
|
|
1988
|
-
active: [{
|
|
1989
|
-
effectId: "scale-down",
|
|
1990
|
-
options: { scale: "0.98" }
|
|
1991
|
-
}]
|
|
1959
|
+
roles: {
|
|
1960
|
+
primary: {
|
|
1961
|
+
kind: "complete",
|
|
1962
|
+
appearance: {
|
|
1963
|
+
background: {
|
|
1964
|
+
type: "surface",
|
|
1965
|
+
role: "link"
|
|
1966
|
+
},
|
|
1967
|
+
borderRadius: "rounded-none",
|
|
1968
|
+
sizes: editorialSizes,
|
|
1969
|
+
effects: { base: [{
|
|
1970
|
+
effectId: "border-bottom-grow",
|
|
1971
|
+
options: {
|
|
1972
|
+
height: 2,
|
|
1973
|
+
colorToken: "text",
|
|
1974
|
+
origin: "left"
|
|
1975
|
+
}
|
|
1976
|
+
}] }
|
|
1992
1977
|
}
|
|
1993
1978
|
},
|
|
1994
|
-
{
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
type: "surface",
|
|
2001
|
-
role: "link"
|
|
2002
|
-
},
|
|
2003
|
-
borderRadius: "rounded-md",
|
|
2004
|
-
border: { widthClass: "border-2" },
|
|
2005
|
-
effects: { hover: [{
|
|
2006
|
-
effectId: "background-on-hover",
|
|
2007
|
-
options: { colorToken: "surface" }
|
|
2008
|
-
}] }
|
|
2009
|
-
},
|
|
2010
|
-
{
|
|
2011
|
-
id: "outline",
|
|
2012
|
-
name: "Outline",
|
|
2013
|
-
enabled: true,
|
|
2014
|
-
priority: 3,
|
|
2015
|
-
background: {
|
|
2016
|
-
type: "surface",
|
|
2017
|
-
role: "link"
|
|
2018
|
-
},
|
|
2019
|
-
borderRadius: "rounded-md",
|
|
2020
|
-
border: { widthClass: "border-2" },
|
|
2021
|
-
effects: { hover: [{
|
|
2022
|
-
effectId: "background-on-hover",
|
|
2023
|
-
options: { colorToken: "surface" }
|
|
2024
|
-
}] }
|
|
2025
|
-
},
|
|
2026
|
-
{
|
|
2027
|
-
id: "ghost",
|
|
2028
|
-
name: "Ghost",
|
|
2029
|
-
enabled: true,
|
|
2030
|
-
priority: 3,
|
|
2031
|
-
background: {
|
|
2032
|
-
type: "surface",
|
|
2033
|
-
role: "link"
|
|
2034
|
-
},
|
|
2035
|
-
borderRadius: "rounded-none",
|
|
2036
|
-
sizes: {
|
|
2037
|
-
sm: {
|
|
2038
|
-
padding: "0.375rem 0",
|
|
2039
|
-
fontSize: "text-xs"
|
|
1979
|
+
secondary: {
|
|
1980
|
+
kind: "complete",
|
|
1981
|
+
appearance: {
|
|
1982
|
+
background: {
|
|
1983
|
+
type: "surface",
|
|
1984
|
+
role: "link"
|
|
2040
1985
|
},
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
1986
|
+
borderRadius: "rounded-none",
|
|
1987
|
+
sizes: editorialSizes,
|
|
1988
|
+
effects: { base: [{
|
|
1989
|
+
effectId: "border-bottom-grow",
|
|
1990
|
+
options: {
|
|
1991
|
+
height: 1,
|
|
1992
|
+
colorToken: "mutedText",
|
|
1993
|
+
origin: "left"
|
|
1994
|
+
}
|
|
1995
|
+
}] }
|
|
1996
|
+
}
|
|
1997
|
+
},
|
|
1998
|
+
outline: {
|
|
1999
|
+
kind: "complete",
|
|
2000
|
+
appearance: {
|
|
2001
|
+
background: {
|
|
2002
|
+
type: "surface",
|
|
2003
|
+
role: "link"
|
|
2044
2004
|
},
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2005
|
+
borderRadius: "rounded-none",
|
|
2006
|
+
sizes: editorialSizes,
|
|
2007
|
+
effects: { base: [{
|
|
2008
|
+
effectId: "border-bottom-grow",
|
|
2009
|
+
options: {
|
|
2010
|
+
height: 1,
|
|
2011
|
+
colorToken: "accent",
|
|
2012
|
+
origin: "left"
|
|
2013
|
+
}
|
|
2014
|
+
}] }
|
|
2015
|
+
}
|
|
2016
|
+
},
|
|
2017
|
+
ghost: {
|
|
2018
|
+
kind: "complete",
|
|
2019
|
+
appearance: {
|
|
2020
|
+
background: {
|
|
2021
|
+
type: "surface",
|
|
2022
|
+
role: "link"
|
|
2048
2023
|
},
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2024
|
+
borderRadius: "rounded-none",
|
|
2025
|
+
sizes: editorialSizes
|
|
2026
|
+
}
|
|
2027
|
+
},
|
|
2028
|
+
accent: {
|
|
2029
|
+
kind: "derive",
|
|
2030
|
+
from: "primary",
|
|
2031
|
+
overrides: { effects: { base: [{
|
|
2055
2032
|
effectId: "border-bottom-grow",
|
|
2056
2033
|
options: {
|
|
2057
|
-
height:
|
|
2034
|
+
height: 2,
|
|
2058
2035
|
colorToken: "accent",
|
|
2059
2036
|
origin: "left"
|
|
2060
2037
|
}
|
|
2061
|
-
}] }
|
|
2038
|
+
}] } }
|
|
2062
2039
|
}
|
|
2063
|
-
|
|
2040
|
+
}
|
|
2064
2041
|
}
|
|
2065
2042
|
});
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
* Joy Stamp — neo-brutalist pills with a hard, brand-coloured offset shadow
|
|
2070
|
-
* that collapses as the button presses into it on hover. Authored for the
|
|
2071
|
-
* Original Joy site style: a cream "stamp" shadow under the solid primary, and
|
|
2072
|
-
* a brown shadow under the cream outline. Reads as bold, warm, and handmade.
|
|
2073
|
-
*
|
|
2074
|
-
* The coloured offset shadow relies on the per-variant `shadow.colorToken`
|
|
2075
|
-
* extension; the press is the shared `press-down` effect, which matches its
|
|
2076
|
-
* translate to each variant's own shadow offset.
|
|
2077
|
-
*/
|
|
2078
|
-
const joyStamp = defineButtonPersonality({
|
|
2079
|
-
id: "joy-stamp",
|
|
2080
|
-
name: "Joy Stamp",
|
|
2081
|
-
description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
|
|
2043
|
+
const pebbleRecipe = defineStaticButtonStyleRecipe({
|
|
2044
|
+
id: "pebble",
|
|
2045
|
+
accessibilityLabel: "Generously padded pill buttons",
|
|
2082
2046
|
tags: {
|
|
2083
|
-
tone: "
|
|
2084
|
-
energy: "
|
|
2085
|
-
motion: "
|
|
2047
|
+
tone: "classic",
|
|
2048
|
+
energy: "calm",
|
|
2049
|
+
motion: "standard",
|
|
2086
2050
|
era: "organic"
|
|
2087
2051
|
},
|
|
2088
|
-
|
|
2052
|
+
system: {
|
|
2089
2053
|
global: {
|
|
2090
2054
|
cornerStyle: "pill",
|
|
2091
|
-
shadow: "high",
|
|
2092
2055
|
textTransform: "none",
|
|
2093
|
-
|
|
2094
|
-
fontWeight: 700,
|
|
2095
|
-
fontSize: "text-lg",
|
|
2056
|
+
fontWeight: 500,
|
|
2096
2057
|
borderWidth: 2,
|
|
2097
2058
|
hoverTransform: "none",
|
|
2098
2059
|
hoverColor: "none"
|
|
2099
2060
|
},
|
|
2100
2061
|
sizes: {
|
|
2101
2062
|
sm: {
|
|
2102
|
-
padding: "0.625rem 1.
|
|
2103
|
-
fontSize: "text-
|
|
2104
|
-
},
|
|
2105
|
-
md: {
|
|
2106
|
-
padding: "0.875rem 1.75rem",
|
|
2107
|
-
fontSize: "text-lg"
|
|
2063
|
+
padding: "0.625rem 1.75rem",
|
|
2064
|
+
fontSize: "text-sm"
|
|
2108
2065
|
},
|
|
2066
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
2109
2067
|
lg: {
|
|
2110
|
-
padding: "1.125rem 2.
|
|
2111
|
-
fontSize: "text-
|
|
2068
|
+
padding: "1.125rem 2.75rem",
|
|
2069
|
+
fontSize: "text-lg"
|
|
2112
2070
|
},
|
|
2113
2071
|
xl: {
|
|
2114
|
-
padding: "1.
|
|
2115
|
-
fontSize: "text-
|
|
2072
|
+
padding: "1.5rem 3.5rem",
|
|
2073
|
+
fontSize: "text-xl"
|
|
2116
2074
|
}
|
|
2117
2075
|
},
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2076
|
+
roles: {
|
|
2077
|
+
primary: {
|
|
2078
|
+
kind: "complete",
|
|
2079
|
+
appearance: {
|
|
2080
|
+
background: {
|
|
2081
|
+
type: "solid",
|
|
2082
|
+
colorToken: "primary"
|
|
2083
|
+
},
|
|
2084
|
+
borderRadius: "rounded-full",
|
|
2085
|
+
effects: { hover: [{
|
|
2086
|
+
effectId: "darken-background",
|
|
2087
|
+
options: { amount: 100 }
|
|
2088
|
+
}] }
|
|
2089
|
+
}
|
|
2126
2090
|
},
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2091
|
+
secondary: {
|
|
2092
|
+
kind: "complete",
|
|
2093
|
+
appearance: {
|
|
2094
|
+
background: {
|
|
2095
|
+
type: "surface",
|
|
2096
|
+
role: "link"
|
|
2097
|
+
},
|
|
2098
|
+
borderRadius: "rounded-full",
|
|
2099
|
+
border: { widthClass: "border-2" },
|
|
2100
|
+
effects: { hover: [{
|
|
2101
|
+
effectId: "background-on-hover",
|
|
2102
|
+
options: { colorToken: "accent" }
|
|
2103
|
+
}] }
|
|
2104
|
+
}
|
|
2133
2105
|
},
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2106
|
+
outline: {
|
|
2107
|
+
kind: "complete",
|
|
2108
|
+
appearance: {
|
|
2109
|
+
background: {
|
|
2110
|
+
type: "surface",
|
|
2111
|
+
role: "link"
|
|
2112
|
+
},
|
|
2113
|
+
borderRadius: "rounded-full",
|
|
2114
|
+
border: { widthClass: "border" },
|
|
2115
|
+
effects: { hover: [{
|
|
2116
|
+
effectId: "background-on-hover",
|
|
2117
|
+
options: { colorToken: "surface" }
|
|
2118
|
+
}] }
|
|
2119
|
+
}
|
|
2143
2120
|
},
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2121
|
+
ghost: {
|
|
2122
|
+
kind: "complete",
|
|
2123
|
+
appearance: {
|
|
2124
|
+
background: {
|
|
2125
|
+
type: "surface",
|
|
2126
|
+
role: "link"
|
|
2127
|
+
},
|
|
2128
|
+
borderRadius: "rounded-full",
|
|
2129
|
+
sizes: {
|
|
2130
|
+
sm: {
|
|
2131
|
+
padding: "0.375rem 0.875rem",
|
|
2132
|
+
fontSize: "text-sm"
|
|
2133
|
+
},
|
|
2134
|
+
md: { padding: "0.5rem 1rem" },
|
|
2135
|
+
lg: {
|
|
2136
|
+
padding: "0.625rem 1.25rem",
|
|
2137
|
+
fontSize: "text-lg"
|
|
2138
|
+
},
|
|
2139
|
+
xl: {
|
|
2140
|
+
padding: "0.75rem 1.5rem",
|
|
2141
|
+
fontSize: "text-xl"
|
|
2142
|
+
}
|
|
2143
|
+
}
|
|
2144
|
+
}
|
|
2151
2145
|
},
|
|
2152
|
-
|
|
2153
|
-
|
|
2146
|
+
accent: {
|
|
2147
|
+
kind: "derive",
|
|
2148
|
+
from: "primary",
|
|
2149
|
+
overrides: { background: {
|
|
2150
|
+
type: "solid",
|
|
2151
|
+
colorToken: "accent"
|
|
2152
|
+
} }
|
|
2153
|
+
}
|
|
2154
|
+
}
|
|
2154
2155
|
}
|
|
2155
2156
|
});
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
* Ornate Ritual — framed, ceremonial buttons with jewel-toned fills and
|
|
2160
|
-
* deliberate spacing. Designed for music, ceremony, and soulful event sites.
|
|
2161
|
-
*/
|
|
2162
|
-
const ornateRitual = defineButtonPersonality({
|
|
2163
|
-
id: "ornate-ritual",
|
|
2164
|
-
name: "Ornate Ritual",
|
|
2165
|
-
description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
|
|
2157
|
+
const brushedWashRecipe = defineStaticButtonStyleRecipe({
|
|
2158
|
+
id: "brushed-wash",
|
|
2159
|
+
accessibilityLabel: "Generously padded gradient buttons with soft shadows",
|
|
2166
2160
|
tags: {
|
|
2167
2161
|
tone: "classic",
|
|
2168
2162
|
energy: "vibrant",
|
|
2169
|
-
motion: "
|
|
2163
|
+
motion: "standard",
|
|
2170
2164
|
era: "organic"
|
|
2171
2165
|
},
|
|
2172
|
-
|
|
2166
|
+
system: {
|
|
2173
2167
|
global: {
|
|
2174
2168
|
cornerStyle: "rounded",
|
|
2175
|
-
|
|
2176
|
-
|
|
2169
|
+
shadow: "low",
|
|
2170
|
+
textTransform: "none",
|
|
2171
|
+
fontWeight: 500,
|
|
2177
2172
|
borderWidth: 1,
|
|
2178
2173
|
hoverTransform: "none",
|
|
2179
|
-
hoverColor: "none"
|
|
2180
|
-
letterSpacing: "loose"
|
|
2174
|
+
hoverColor: "none"
|
|
2181
2175
|
},
|
|
2182
2176
|
sizes: {
|
|
2183
2177
|
sm: {
|
|
2184
|
-
padding: "0.
|
|
2185
|
-
fontSize: "text-
|
|
2186
|
-
},
|
|
2187
|
-
md: {
|
|
2188
|
-
padding: "0.75rem 1.75rem",
|
|
2189
|
-
fontSize: "text-xs"
|
|
2178
|
+
padding: "0.75rem 2rem",
|
|
2179
|
+
fontSize: "text-sm"
|
|
2190
2180
|
},
|
|
2181
|
+
md: { padding: "1rem 2.5rem" },
|
|
2191
2182
|
lg: {
|
|
2192
|
-
padding: "
|
|
2193
|
-
fontSize: "text-
|
|
2183
|
+
padding: "1.25rem 3rem",
|
|
2184
|
+
fontSize: "text-lg"
|
|
2194
2185
|
},
|
|
2195
2186
|
xl: {
|
|
2196
|
-
padding: "
|
|
2197
|
-
fontSize: "text-
|
|
2187
|
+
padding: "1.625rem 3.75rem",
|
|
2188
|
+
fontSize: "text-xl"
|
|
2198
2189
|
}
|
|
2199
2190
|
},
|
|
2200
|
-
|
|
2201
|
-
{
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
}],
|
|
2217
|
-
active: [{
|
|
2218
|
-
effectId: "scale-down",
|
|
2219
|
-
options: { scale: "0.98" }
|
|
2220
|
-
}]
|
|
2191
|
+
roles: {
|
|
2192
|
+
primary: {
|
|
2193
|
+
kind: "complete",
|
|
2194
|
+
appearance: {
|
|
2195
|
+
background: {
|
|
2196
|
+
type: "gradient",
|
|
2197
|
+
stops: ["primary", "accent"],
|
|
2198
|
+
direction: "to-r",
|
|
2199
|
+
foregroundToken: "primaryForeground"
|
|
2200
|
+
},
|
|
2201
|
+
borderRadius: "rounded-lg",
|
|
2202
|
+
shadow: {
|
|
2203
|
+
elevation: "low",
|
|
2204
|
+
softness: "soft",
|
|
2205
|
+
position: "bottom"
|
|
2206
|
+
}
|
|
2221
2207
|
}
|
|
2222
2208
|
},
|
|
2223
|
-
{
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
},
|
|
2232
|
-
borderRadius: "rounded-md",
|
|
2233
|
-
border: { widthClass: "border" },
|
|
2234
|
-
effects: { hover: [{
|
|
2235
|
-
effectId: "background-on-hover",
|
|
2236
|
-
options: { colorToken: "surface" }
|
|
2237
|
-
}] }
|
|
2238
|
-
},
|
|
2239
|
-
{
|
|
2240
|
-
id: "outline",
|
|
2241
|
-
name: "Outline",
|
|
2242
|
-
enabled: true,
|
|
2243
|
-
priority: 3,
|
|
2244
|
-
background: {
|
|
2245
|
-
type: "surface",
|
|
2246
|
-
role: "link"
|
|
2247
|
-
},
|
|
2248
|
-
borderRadius: "rounded-md",
|
|
2249
|
-
border: { widthClass: "border" },
|
|
2250
|
-
effects: { hover: [{
|
|
2251
|
-
effectId: "background-on-hover",
|
|
2252
|
-
options: { colorToken: "muted" }
|
|
2253
|
-
}] }
|
|
2254
|
-
},
|
|
2255
|
-
{
|
|
2256
|
-
id: "ghost",
|
|
2257
|
-
name: "Ghost",
|
|
2258
|
-
enabled: true,
|
|
2259
|
-
priority: 3,
|
|
2260
|
-
background: {
|
|
2261
|
-
type: "surface",
|
|
2262
|
-
role: "link"
|
|
2263
|
-
},
|
|
2264
|
-
borderRadius: "rounded-none",
|
|
2265
|
-
sizes: {
|
|
2266
|
-
sm: {
|
|
2267
|
-
padding: "0.375rem 0",
|
|
2268
|
-
fontSize: "text-xs"
|
|
2209
|
+
secondary: {
|
|
2210
|
+
kind: "complete",
|
|
2211
|
+
appearance: {
|
|
2212
|
+
background: {
|
|
2213
|
+
type: "gradient",
|
|
2214
|
+
stops: ["secondary", "accent"],
|
|
2215
|
+
direction: "to-br",
|
|
2216
|
+
foregroundToken: "primaryForeground"
|
|
2269
2217
|
},
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2218
|
+
borderRadius: "rounded-lg",
|
|
2219
|
+
shadow: {
|
|
2220
|
+
elevation: "low",
|
|
2221
|
+
softness: "soft",
|
|
2222
|
+
position: "bottom"
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
},
|
|
2226
|
+
outline: {
|
|
2227
|
+
kind: "complete",
|
|
2228
|
+
appearance: {
|
|
2229
|
+
background: {
|
|
2230
|
+
type: "surface",
|
|
2231
|
+
role: "link"
|
|
2273
2232
|
},
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2233
|
+
borderRadius: "rounded-lg",
|
|
2234
|
+
border: { widthClass: "border" },
|
|
2235
|
+
effects: { hover: [{
|
|
2236
|
+
effectId: "background-on-hover",
|
|
2237
|
+
options: { colorToken: "surface" }
|
|
2238
|
+
}] }
|
|
2239
|
+
}
|
|
2240
|
+
},
|
|
2241
|
+
ghost: {
|
|
2242
|
+
kind: "complete",
|
|
2243
|
+
appearance: {
|
|
2244
|
+
background: {
|
|
2245
|
+
type: "surface",
|
|
2246
|
+
role: "link"
|
|
2277
2247
|
},
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2248
|
+
borderRadius: "rounded-lg",
|
|
2249
|
+
effects: { hover: [{
|
|
2250
|
+
effectId: "background-on-hover",
|
|
2251
|
+
options: { colorToken: "surface" }
|
|
2252
|
+
}] }
|
|
2253
|
+
}
|
|
2254
|
+
},
|
|
2255
|
+
accent: {
|
|
2256
|
+
kind: "derive",
|
|
2257
|
+
from: "primary",
|
|
2258
|
+
overrides: { background: {
|
|
2259
|
+
type: "solid",
|
|
2260
|
+
colorToken: "accent"
|
|
2261
|
+
} }
|
|
2291
2262
|
}
|
|
2292
|
-
|
|
2263
|
+
}
|
|
2293
2264
|
}
|
|
2294
2265
|
});
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
* Pebble — large pill primaries with generous padding. Reads as spa-luxurious
|
|
2299
|
-
* and natural; pairs well with wellness/yoga/dance brands.
|
|
2300
|
-
*/
|
|
2301
|
-
const pebble = defineButtonPersonality({
|
|
2302
|
-
id: "pebble",
|
|
2303
|
-
name: "Pebble",
|
|
2304
|
-
description: "Generous pill buttons with a quiet colour-softening hover.",
|
|
2266
|
+
const inkStampRecipe = defineStaticButtonStyleRecipe({
|
|
2267
|
+
id: "ink-stamp",
|
|
2268
|
+
accessibilityLabel: "Uppercase block-print buttons with a playful hover",
|
|
2305
2269
|
tags: {
|
|
2306
|
-
tone: "
|
|
2307
|
-
energy: "
|
|
2270
|
+
tone: "bold",
|
|
2271
|
+
energy: "vibrant",
|
|
2308
2272
|
motion: "standard",
|
|
2309
2273
|
era: "organic"
|
|
2310
2274
|
},
|
|
2311
|
-
|
|
2275
|
+
system: {
|
|
2312
2276
|
global: {
|
|
2313
|
-
cornerStyle: "
|
|
2314
|
-
textTransform: "
|
|
2315
|
-
fontWeight:
|
|
2316
|
-
borderWidth:
|
|
2277
|
+
cornerStyle: "rounded",
|
|
2278
|
+
textTransform: "uppercase",
|
|
2279
|
+
fontWeight: 600,
|
|
2280
|
+
borderWidth: 1,
|
|
2317
2281
|
hoverTransform: "none",
|
|
2318
|
-
hoverColor: "none"
|
|
2282
|
+
hoverColor: "none",
|
|
2283
|
+
letterSpacing: "loose"
|
|
2319
2284
|
},
|
|
2320
2285
|
sizes: {
|
|
2321
2286
|
sm: {
|
|
2322
|
-
padding: "0.
|
|
2287
|
+
padding: "0.5rem 1.25rem",
|
|
2288
|
+
fontSize: "text-xs"
|
|
2289
|
+
},
|
|
2290
|
+
md: {
|
|
2291
|
+
padding: "0.75rem 1.75rem",
|
|
2323
2292
|
fontSize: "text-sm"
|
|
2324
2293
|
},
|
|
2325
|
-
md: { padding: "0.875rem 2.25rem" },
|
|
2326
2294
|
lg: {
|
|
2327
|
-
padding: "
|
|
2328
|
-
fontSize: "text-
|
|
2295
|
+
padding: "0.875rem 2.25rem",
|
|
2296
|
+
fontSize: "text-base"
|
|
2329
2297
|
},
|
|
2330
2298
|
xl: {
|
|
2331
|
-
padding: "1.
|
|
2332
|
-
fontSize: "text-
|
|
2299
|
+
padding: "1.125rem 2.75rem",
|
|
2300
|
+
fontSize: "text-lg"
|
|
2333
2301
|
}
|
|
2334
2302
|
},
|
|
2335
|
-
|
|
2336
|
-
{
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2303
|
+
roles: {
|
|
2304
|
+
primary: {
|
|
2305
|
+
kind: "complete",
|
|
2306
|
+
appearance: {
|
|
2307
|
+
background: {
|
|
2308
|
+
type: "solid",
|
|
2309
|
+
colorToken: "primary"
|
|
2310
|
+
},
|
|
2311
|
+
borderRadius: "rounded-md",
|
|
2312
|
+
effects: {
|
|
2313
|
+
hover: [{
|
|
2314
|
+
effectId: "drop-shadow",
|
|
2315
|
+
options: { intensity: "medium" }
|
|
2316
|
+
}, {
|
|
2317
|
+
effectId: "scale-up",
|
|
2318
|
+
options: { scale: "1.02" }
|
|
2319
|
+
}],
|
|
2320
|
+
active: [{
|
|
2321
|
+
effectId: "scale-down",
|
|
2322
|
+
options: { scale: "0.98" }
|
|
2323
|
+
}]
|
|
2324
|
+
}
|
|
2325
|
+
}
|
|
2350
2326
|
},
|
|
2351
|
-
{
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
}] }
|
|
2327
|
+
secondary: {
|
|
2328
|
+
kind: "complete",
|
|
2329
|
+
appearance: {
|
|
2330
|
+
background: {
|
|
2331
|
+
type: "surface",
|
|
2332
|
+
role: "link"
|
|
2333
|
+
},
|
|
2334
|
+
borderRadius: "rounded-md",
|
|
2335
|
+
border: { widthClass: "border-2" },
|
|
2336
|
+
effects: { hover: [{
|
|
2337
|
+
effectId: "background-on-hover",
|
|
2338
|
+
options: { colorToken: "surface" }
|
|
2339
|
+
}] }
|
|
2340
|
+
}
|
|
2366
2341
|
},
|
|
2367
|
-
{
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
}] }
|
|
2342
|
+
outline: {
|
|
2343
|
+
kind: "complete",
|
|
2344
|
+
appearance: {
|
|
2345
|
+
background: {
|
|
2346
|
+
type: "surface",
|
|
2347
|
+
role: "link"
|
|
2348
|
+
},
|
|
2349
|
+
borderRadius: "rounded-md",
|
|
2350
|
+
border: { widthClass: "border-2" },
|
|
2351
|
+
effects: { hover: [{
|
|
2352
|
+
effectId: "background-on-hover",
|
|
2353
|
+
options: { colorToken: "surface" }
|
|
2354
|
+
}] }
|
|
2355
|
+
}
|
|
2382
2356
|
},
|
|
2383
|
-
{
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
type: "surface",
|
|
2390
|
-
role: "link"
|
|
2391
|
-
},
|
|
2392
|
-
borderRadius: "rounded-full",
|
|
2393
|
-
sizes: {
|
|
2394
|
-
sm: {
|
|
2395
|
-
padding: "0.375rem 0.875rem",
|
|
2396
|
-
fontSize: "text-sm"
|
|
2357
|
+
ghost: {
|
|
2358
|
+
kind: "complete",
|
|
2359
|
+
appearance: {
|
|
2360
|
+
background: {
|
|
2361
|
+
type: "surface",
|
|
2362
|
+
role: "link"
|
|
2397
2363
|
},
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2364
|
+
borderRadius: "rounded-none",
|
|
2365
|
+
sizes: {
|
|
2366
|
+
sm: {
|
|
2367
|
+
padding: "0.375rem 0",
|
|
2368
|
+
fontSize: "text-xs"
|
|
2369
|
+
},
|
|
2370
|
+
md: {
|
|
2371
|
+
padding: "0.5rem 0",
|
|
2372
|
+
fontSize: "text-sm"
|
|
2373
|
+
},
|
|
2374
|
+
lg: {
|
|
2375
|
+
padding: "0.625rem 0",
|
|
2376
|
+
fontSize: "text-base"
|
|
2377
|
+
},
|
|
2378
|
+
xl: {
|
|
2379
|
+
padding: "0.75rem 0",
|
|
2380
|
+
fontSize: "text-lg"
|
|
2381
|
+
}
|
|
2402
2382
|
},
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2383
|
+
effects: { base: [{
|
|
2384
|
+
effectId: "border-bottom-grow",
|
|
2385
|
+
options: {
|
|
2386
|
+
height: 1,
|
|
2387
|
+
colorToken: "accent",
|
|
2388
|
+
origin: "left"
|
|
2389
|
+
}
|
|
2390
|
+
}] }
|
|
2407
2391
|
}
|
|
2392
|
+
},
|
|
2393
|
+
accent: {
|
|
2394
|
+
kind: "derive",
|
|
2395
|
+
from: "primary",
|
|
2396
|
+
overrides: { background: {
|
|
2397
|
+
type: "solid",
|
|
2398
|
+
colorToken: "accent"
|
|
2399
|
+
} }
|
|
2408
2400
|
}
|
|
2409
|
-
|
|
2401
|
+
}
|
|
2410
2402
|
}
|
|
2411
2403
|
});
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
* Quiet Arrow — wide, flat editorial buttons for grounded service businesses.
|
|
2416
|
-
* Primary and secondary keep stable semantic colours; surrounding surfaces are
|
|
2417
|
-
* responsible for contrast rather than reversing the button roles.
|
|
2418
|
-
*/
|
|
2419
|
-
const quietArrow = defineButtonPersonality({
|
|
2420
|
-
id: "quiet-arrow",
|
|
2421
|
-
name: "Quiet Arrow",
|
|
2422
|
-
description: "Wide, flat arrow buttons with a solid primary and a primary-colour outlined secondary.",
|
|
2404
|
+
const flatInkRecipe = defineStaticButtonStyleRecipe({
|
|
2405
|
+
id: "flat-ink",
|
|
2406
|
+
accessibilityLabel: "Flat rounded buttons with arrow affordances",
|
|
2423
2407
|
tags: {
|
|
2424
2408
|
tone: "classic",
|
|
2425
2409
|
energy: "calm",
|
|
2426
2410
|
motion: "subtle",
|
|
2427
2411
|
era: "editorial"
|
|
2428
2412
|
},
|
|
2429
|
-
|
|
2413
|
+
system: {
|
|
2430
2414
|
global: {
|
|
2431
2415
|
cornerStyle: "rounded",
|
|
2432
|
-
textTransform: "
|
|
2433
|
-
fontWeight:
|
|
2416
|
+
textTransform: "none",
|
|
2417
|
+
fontWeight: 600,
|
|
2434
2418
|
borderWidth: 1,
|
|
2435
2419
|
typography: "body",
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
hoverTransform: "
|
|
2420
|
+
letterSpacing: "tight",
|
|
2421
|
+
paddingPreset: "default",
|
|
2422
|
+
hoverTransform: "lift",
|
|
2439
2423
|
hoverColor: "none"
|
|
2440
2424
|
},
|
|
2441
2425
|
sizes: {
|
|
2442
2426
|
sm: {
|
|
2443
|
-
padding: "0.625rem 1.
|
|
2444
|
-
fontSize: "text-xs"
|
|
2445
|
-
},
|
|
2446
|
-
md: {
|
|
2447
|
-
padding: "0.8125rem 1.75rem",
|
|
2427
|
+
padding: "0.625rem 1.125rem",
|
|
2448
2428
|
fontSize: "text-sm"
|
|
2449
2429
|
},
|
|
2430
|
+
md: { padding: "0.8125rem 1.375rem" },
|
|
2450
2431
|
lg: {
|
|
2451
|
-
padding: "0.9375rem
|
|
2452
|
-
fontSize: "text-
|
|
2432
|
+
padding: "0.9375rem 1.625rem",
|
|
2433
|
+
fontSize: "text-lg"
|
|
2453
2434
|
},
|
|
2454
2435
|
xl: {
|
|
2455
|
-
padding: "1.0625rem
|
|
2456
|
-
fontSize: "text-
|
|
2436
|
+
padding: "1.0625rem 2rem",
|
|
2437
|
+
fontSize: "text-xl"
|
|
2457
2438
|
}
|
|
2458
2439
|
},
|
|
2459
|
-
|
|
2460
|
-
{
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2440
|
+
roles: {
|
|
2441
|
+
primary: {
|
|
2442
|
+
kind: "complete",
|
|
2443
|
+
appearance: {
|
|
2444
|
+
background: {
|
|
2445
|
+
type: "solid",
|
|
2446
|
+
colorToken: "primary"
|
|
2447
|
+
},
|
|
2448
|
+
borderRadius: "rounded-lg",
|
|
2449
|
+
affordance: { iconId: "ArrowRight" },
|
|
2450
|
+
effects: { hover: [{
|
|
2451
|
+
effectId: "lift",
|
|
2452
|
+
options: { translateY: "-2px" }
|
|
2453
|
+
}, {
|
|
2454
|
+
effectId: "background-on-hover",
|
|
2455
|
+
options: { colorToken: "secondary" }
|
|
2456
|
+
}] }
|
|
2457
|
+
}
|
|
2475
2458
|
},
|
|
2476
|
-
{
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2459
|
+
secondary: {
|
|
2460
|
+
kind: "complete",
|
|
2461
|
+
appearance: {
|
|
2462
|
+
background: {
|
|
2463
|
+
type: "surface",
|
|
2464
|
+
role: "link"
|
|
2465
|
+
},
|
|
2466
|
+
borderRadius: "rounded-lg",
|
|
2467
|
+
border: { widthClass: "border" },
|
|
2468
|
+
effects: { hover: [{
|
|
2469
|
+
effectId: "lift",
|
|
2470
|
+
options: { translateY: "-2px" }
|
|
2471
|
+
}, {
|
|
2472
|
+
effectId: "background-on-hover",
|
|
2473
|
+
options: { colorToken: "surfaceAlt" }
|
|
2474
|
+
}] }
|
|
2475
|
+
}
|
|
2492
2476
|
},
|
|
2493
|
-
{
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2477
|
+
outline: {
|
|
2478
|
+
kind: "complete",
|
|
2479
|
+
appearance: {
|
|
2480
|
+
background: {
|
|
2481
|
+
type: "surface",
|
|
2482
|
+
role: "link"
|
|
2483
|
+
},
|
|
2484
|
+
borderRadius: "rounded-lg",
|
|
2485
|
+
border: { widthClass: "border" },
|
|
2486
|
+
effects: { hover: [{
|
|
2487
|
+
effectId: "lift",
|
|
2488
|
+
options: { translateY: "-2px" }
|
|
2489
|
+
}, {
|
|
2490
|
+
effectId: "background-on-hover",
|
|
2491
|
+
options: { colorToken: "surfaceAlt" }
|
|
2492
|
+
}] }
|
|
2493
|
+
}
|
|
2504
2494
|
},
|
|
2505
|
-
{
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2495
|
+
ghost: {
|
|
2496
|
+
kind: "complete",
|
|
2497
|
+
appearance: {
|
|
2498
|
+
background: {
|
|
2499
|
+
type: "surface",
|
|
2500
|
+
role: "link"
|
|
2501
|
+
},
|
|
2502
|
+
borderRadius: "rounded-lg",
|
|
2503
|
+
effects: { hover: [{
|
|
2504
|
+
effectId: "lift",
|
|
2505
|
+
options: { translateY: "-2px" }
|
|
2506
|
+
}] }
|
|
2507
|
+
}
|
|
2508
|
+
},
|
|
2509
|
+
accent: {
|
|
2510
|
+
kind: "complete",
|
|
2511
|
+
appearance: {
|
|
2512
|
+
background: {
|
|
2513
|
+
type: "solid",
|
|
2514
|
+
colorToken: "accent"
|
|
2515
|
+
},
|
|
2516
|
+
borderRadius: "rounded-lg",
|
|
2517
|
+
affordance: { iconId: "ArrowRight" },
|
|
2518
|
+
effects: { hover: [{
|
|
2519
|
+
effectId: "lift",
|
|
2520
|
+
options: { translateY: "-2px" }
|
|
2521
|
+
}] }
|
|
2522
|
+
}
|
|
2515
2523
|
}
|
|
2516
|
-
|
|
2524
|
+
}
|
|
2517
2525
|
}
|
|
2518
2526
|
});
|
|
2519
|
-
|
|
2520
|
-
//#region ../theme-core/src/buttons/personalities/showtime-pill.ts
|
|
2521
|
-
/**
|
|
2522
|
-
* Showtime Pill — bold, spacious, fully rounded buttons with playful pop
|
|
2523
|
-
* motion. Suits energetic schools, performers, festivals, and community brands
|
|
2524
|
-
* that need calls to action to feel loud without becoming visually chaotic.
|
|
2525
|
-
*/
|
|
2526
|
-
const showtimePill = defineButtonPersonality({
|
|
2527
|
+
const showtimePillRecipe = defineStaticButtonStyleRecipe({
|
|
2527
2528
|
id: "showtime-pill",
|
|
2528
|
-
|
|
2529
|
-
description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
|
|
2529
|
+
accessibilityLabel: "Bold uppercase pill buttons with playful movement",
|
|
2530
2530
|
tags: {
|
|
2531
2531
|
tone: "bold",
|
|
2532
2532
|
energy: "vibrant",
|
|
2533
2533
|
motion: "expressive",
|
|
2534
2534
|
era: "modern"
|
|
2535
2535
|
},
|
|
2536
|
-
|
|
2536
|
+
system: {
|
|
2537
2537
|
global: {
|
|
2538
2538
|
cornerStyle: "pill",
|
|
2539
2539
|
shadow: "low",
|
|
@@ -2564,272 +2564,376 @@ const showtimePill = defineButtonPersonality({
|
|
|
2564
2564
|
fontSize: "1.125rem"
|
|
2565
2565
|
}
|
|
2566
2566
|
},
|
|
2567
|
-
|
|
2568
|
-
{
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
effects: { hover: [{ effectId: "pop" }] }
|
|
2579
|
-
},
|
|
2580
|
-
{
|
|
2581
|
-
id: "secondary",
|
|
2582
|
-
name: "Secondary",
|
|
2583
|
-
enabled: true,
|
|
2584
|
-
priority: 2,
|
|
2585
|
-
background: {
|
|
2586
|
-
type: "surface",
|
|
2587
|
-
role: "link"
|
|
2588
|
-
},
|
|
2589
|
-
borderRadius: "rounded-full",
|
|
2590
|
-
border: { widthClass: "border-2" },
|
|
2591
|
-
effects: { hover: [{ effectId: "pop" }] }
|
|
2567
|
+
roles: {
|
|
2568
|
+
primary: {
|
|
2569
|
+
kind: "complete",
|
|
2570
|
+
appearance: {
|
|
2571
|
+
background: {
|
|
2572
|
+
type: "solid",
|
|
2573
|
+
colorToken: "primary"
|
|
2574
|
+
},
|
|
2575
|
+
borderRadius: "rounded-full",
|
|
2576
|
+
effects: { hover: [{ effectId: "pop" }] }
|
|
2577
|
+
}
|
|
2592
2578
|
},
|
|
2593
|
-
{
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2579
|
+
secondary: {
|
|
2580
|
+
kind: "complete",
|
|
2581
|
+
appearance: {
|
|
2582
|
+
background: {
|
|
2583
|
+
type: "surface",
|
|
2584
|
+
role: "link"
|
|
2585
|
+
},
|
|
2586
|
+
borderRadius: "rounded-full",
|
|
2587
|
+
border: { widthClass: "border-2" },
|
|
2588
|
+
effects: { hover: [{ effectId: "pop" }] }
|
|
2589
|
+
}
|
|
2604
2590
|
},
|
|
2605
|
-
{
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
}] }
|
|
2591
|
+
outline: {
|
|
2592
|
+
kind: "complete",
|
|
2593
|
+
appearance: {
|
|
2594
|
+
background: {
|
|
2595
|
+
type: "surface",
|
|
2596
|
+
role: "link"
|
|
2597
|
+
},
|
|
2598
|
+
borderRadius: "rounded-full",
|
|
2599
|
+
border: { widthClass: "border-2" },
|
|
2600
|
+
effects: { hover: [{
|
|
2601
|
+
effectId: "background-on-hover",
|
|
2602
|
+
options: { colorToken: "background" }
|
|
2603
|
+
}] }
|
|
2604
|
+
}
|
|
2620
2605
|
},
|
|
2621
|
-
{
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
options: { colorToken: "background" }
|
|
2635
|
-
}] }
|
|
2606
|
+
ghost: {
|
|
2607
|
+
kind: "complete",
|
|
2608
|
+
appearance: {
|
|
2609
|
+
background: {
|
|
2610
|
+
type: "surface",
|
|
2611
|
+
role: "link"
|
|
2612
|
+
},
|
|
2613
|
+
borderRadius: "rounded-full",
|
|
2614
|
+
effects: { hover: [{
|
|
2615
|
+
effectId: "background-on-hover",
|
|
2616
|
+
options: { colorToken: "surface" }
|
|
2617
|
+
}] }
|
|
2618
|
+
}
|
|
2636
2619
|
},
|
|
2637
|
-
{
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
effects: { hover: [{
|
|
2648
|
-
effectId: "background-on-hover",
|
|
2649
|
-
options: { colorToken: "surface" }
|
|
2650
|
-
}] }
|
|
2620
|
+
accent: {
|
|
2621
|
+
kind: "complete",
|
|
2622
|
+
appearance: {
|
|
2623
|
+
background: {
|
|
2624
|
+
type: "solid",
|
|
2625
|
+
colorToken: "secondary"
|
|
2626
|
+
},
|
|
2627
|
+
borderRadius: "rounded-full",
|
|
2628
|
+
effects: { hover: [{ effectId: "pop" }] }
|
|
2629
|
+
}
|
|
2651
2630
|
}
|
|
2652
|
-
|
|
2631
|
+
}
|
|
2653
2632
|
}
|
|
2654
2633
|
});
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
* Soft Pill — rounded-full pill buttons with a hover lift. The default for
|
|
2659
|
-
* Calm Studio and Modern Wellness; reads as quietly modern and welcoming.
|
|
2660
|
-
*/
|
|
2661
|
-
const softPill = defineButtonPersonality({
|
|
2662
|
-
id: "soft-pill",
|
|
2663
|
-
name: "Soft Pill",
|
|
2664
|
-
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
2634
|
+
const joyStampRecipe = defineStaticButtonStyleRecipe({
|
|
2635
|
+
id: "joy-stamp",
|
|
2636
|
+
accessibilityLabel: "Bold pill buttons with a hard offset shadow",
|
|
2665
2637
|
tags: {
|
|
2666
|
-
tone: "
|
|
2667
|
-
energy: "
|
|
2668
|
-
motion: "
|
|
2638
|
+
tone: "bold",
|
|
2639
|
+
energy: "vibrant",
|
|
2640
|
+
motion: "expressive",
|
|
2669
2641
|
era: "organic"
|
|
2670
2642
|
},
|
|
2671
|
-
|
|
2643
|
+
system: {
|
|
2672
2644
|
global: {
|
|
2673
2645
|
cornerStyle: "pill",
|
|
2674
|
-
shadow: "
|
|
2646
|
+
shadow: "high",
|
|
2675
2647
|
textTransform: "none",
|
|
2676
|
-
|
|
2648
|
+
typography: "heading",
|
|
2649
|
+
fontWeight: 700,
|
|
2650
|
+
fontSize: "text-lg",
|
|
2677
2651
|
borderWidth: 2,
|
|
2678
|
-
hoverTransform: "
|
|
2652
|
+
hoverTransform: "none",
|
|
2679
2653
|
hoverColor: "none"
|
|
2680
2654
|
},
|
|
2681
|
-
|
|
2682
|
-
{
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2655
|
+
sizes: {
|
|
2656
|
+
sm: {
|
|
2657
|
+
padding: "0.625rem 1.25rem",
|
|
2658
|
+
fontSize: "text-base"
|
|
2659
|
+
},
|
|
2660
|
+
md: {
|
|
2661
|
+
padding: "0.875rem 1.75rem",
|
|
2662
|
+
fontSize: "text-lg"
|
|
2663
|
+
},
|
|
2664
|
+
lg: {
|
|
2665
|
+
padding: "1.125rem 2.25rem",
|
|
2666
|
+
fontSize: "text-xl"
|
|
2667
|
+
},
|
|
2668
|
+
xl: {
|
|
2669
|
+
padding: "1.25rem 2.75rem",
|
|
2670
|
+
fontSize: "text-2xl"
|
|
2671
|
+
}
|
|
2672
|
+
},
|
|
2673
|
+
roles: {
|
|
2674
|
+
primary: {
|
|
2675
|
+
kind: "complete",
|
|
2676
|
+
appearance: {
|
|
2677
|
+
background: {
|
|
2678
|
+
type: "solid",
|
|
2679
|
+
colorToken: "primary"
|
|
2680
|
+
},
|
|
2681
|
+
borderRadius: "rounded-full",
|
|
2682
|
+
shadow: {
|
|
2683
|
+
elevation: "high",
|
|
2684
|
+
softness: "hard",
|
|
2685
|
+
position: "bottom-right",
|
|
2686
|
+
colorToken: "text"
|
|
2687
|
+
},
|
|
2688
|
+
effects: { hover: [{ effectId: "press-down" }] }
|
|
2689
|
+
}
|
|
2690
|
+
},
|
|
2691
|
+
secondary: {
|
|
2692
|
+
kind: "complete",
|
|
2693
|
+
appearance: {
|
|
2694
|
+
background: {
|
|
2695
|
+
type: "surface",
|
|
2696
|
+
role: "link"
|
|
2697
|
+
},
|
|
2698
|
+
borderRadius: "rounded-full",
|
|
2699
|
+
border: { widthClass: "border-2" },
|
|
2700
|
+
shadow: {
|
|
2701
|
+
elevation: "high",
|
|
2702
|
+
softness: "hard",
|
|
2703
|
+
position: "bottom-right",
|
|
2704
|
+
colorToken: "secondary"
|
|
2705
|
+
},
|
|
2706
|
+
effects: { hover: [{ effectId: "press-down" }] }
|
|
2707
|
+
}
|
|
2708
|
+
},
|
|
2709
|
+
outline: {
|
|
2710
|
+
kind: "derive",
|
|
2711
|
+
from: "secondary"
|
|
2712
|
+
},
|
|
2713
|
+
ghost: {
|
|
2714
|
+
kind: "complete",
|
|
2715
|
+
appearance: {
|
|
2716
|
+
background: {
|
|
2717
|
+
type: "surface",
|
|
2718
|
+
role: "link"
|
|
2719
|
+
},
|
|
2720
|
+
borderRadius: "rounded-full",
|
|
2721
|
+
effects: { hover: [{ effectId: "press-down" }] }
|
|
2722
|
+
}
|
|
2723
|
+
},
|
|
2724
|
+
accent: {
|
|
2725
|
+
kind: "derive",
|
|
2726
|
+
from: "primary",
|
|
2727
|
+
overrides: { background: {
|
|
2728
|
+
type: "solid",
|
|
2729
|
+
colorToken: "accent"
|
|
2730
|
+
} }
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2733
|
+
}
|
|
2734
|
+
});
|
|
2735
|
+
const ornateRitualRecipe = defineStaticButtonStyleRecipe({
|
|
2736
|
+
id: "ornate-ritual",
|
|
2737
|
+
accessibilityLabel: "Uppercase framed buttons with restrained movement",
|
|
2738
|
+
tags: {
|
|
2739
|
+
tone: "classic",
|
|
2740
|
+
energy: "vibrant",
|
|
2741
|
+
motion: "subtle",
|
|
2742
|
+
era: "organic"
|
|
2743
|
+
},
|
|
2744
|
+
system: {
|
|
2745
|
+
global: {
|
|
2746
|
+
cornerStyle: "rounded",
|
|
2747
|
+
textTransform: "uppercase",
|
|
2748
|
+
fontWeight: 600,
|
|
2749
|
+
borderWidth: 1,
|
|
2750
|
+
hoverTransform: "none",
|
|
2751
|
+
hoverColor: "none",
|
|
2752
|
+
letterSpacing: "loose"
|
|
2753
|
+
},
|
|
2754
|
+
sizes: {
|
|
2755
|
+
sm: {
|
|
2756
|
+
padding: "0.5625rem 1.25rem",
|
|
2757
|
+
fontSize: "text-xs"
|
|
2758
|
+
},
|
|
2759
|
+
md: {
|
|
2760
|
+
padding: "0.75rem 1.75rem",
|
|
2761
|
+
fontSize: "text-xs"
|
|
2762
|
+
},
|
|
2763
|
+
lg: {
|
|
2764
|
+
padding: "0.875rem 2.25rem",
|
|
2765
|
+
fontSize: "text-sm"
|
|
2766
|
+
},
|
|
2767
|
+
xl: {
|
|
2768
|
+
padding: "1rem 2.75rem",
|
|
2769
|
+
fontSize: "text-base"
|
|
2770
|
+
}
|
|
2771
|
+
},
|
|
2772
|
+
roles: {
|
|
2773
|
+
primary: {
|
|
2774
|
+
kind: "complete",
|
|
2775
|
+
appearance: {
|
|
2776
|
+
background: {
|
|
2777
|
+
type: "solid",
|
|
2778
|
+
colorToken: "primary"
|
|
2779
|
+
},
|
|
2780
|
+
borderRadius: "rounded-md",
|
|
2781
|
+
border: { widthClass: "border" },
|
|
2782
|
+
effects: {
|
|
2783
|
+
hover: [{
|
|
2784
|
+
effectId: "background-on-hover",
|
|
2785
|
+
options: { colorToken: "primary-100" }
|
|
2786
|
+
}],
|
|
2787
|
+
active: [{
|
|
2788
|
+
effectId: "scale-down",
|
|
2789
|
+
options: { scale: "0.98" }
|
|
2790
|
+
}]
|
|
2791
|
+
}
|
|
2706
2792
|
}
|
|
2707
2793
|
},
|
|
2708
|
-
{
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
}] }
|
|
2794
|
+
secondary: {
|
|
2795
|
+
kind: "complete",
|
|
2796
|
+
appearance: {
|
|
2797
|
+
background: {
|
|
2798
|
+
type: "solid",
|
|
2799
|
+
colorToken: "secondary"
|
|
2800
|
+
},
|
|
2801
|
+
borderRadius: "rounded-md",
|
|
2802
|
+
border: { widthClass: "border" },
|
|
2803
|
+
effects: { hover: [{
|
|
2804
|
+
effectId: "background-on-hover",
|
|
2805
|
+
options: { colorToken: "surface" }
|
|
2806
|
+
}] }
|
|
2807
|
+
}
|
|
2723
2808
|
},
|
|
2724
|
-
{
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
}] }
|
|
2809
|
+
outline: {
|
|
2810
|
+
kind: "complete",
|
|
2811
|
+
appearance: {
|
|
2812
|
+
background: {
|
|
2813
|
+
type: "surface",
|
|
2814
|
+
role: "link"
|
|
2815
|
+
},
|
|
2816
|
+
borderRadius: "rounded-md",
|
|
2817
|
+
border: { widthClass: "border" },
|
|
2818
|
+
effects: { hover: [{
|
|
2819
|
+
effectId: "background-on-hover",
|
|
2820
|
+
options: { colorToken: "muted" }
|
|
2821
|
+
}] }
|
|
2822
|
+
}
|
|
2739
2823
|
},
|
|
2740
|
-
{
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2824
|
+
ghost: {
|
|
2825
|
+
kind: "complete",
|
|
2826
|
+
appearance: {
|
|
2827
|
+
background: {
|
|
2828
|
+
type: "surface",
|
|
2829
|
+
role: "link"
|
|
2830
|
+
},
|
|
2831
|
+
borderRadius: "rounded-none",
|
|
2832
|
+
sizes: {
|
|
2833
|
+
sm: {
|
|
2834
|
+
padding: "0.375rem 0",
|
|
2835
|
+
fontSize: "text-xs"
|
|
2836
|
+
},
|
|
2837
|
+
md: {
|
|
2838
|
+
padding: "0.5rem 0",
|
|
2839
|
+
fontSize: "text-sm"
|
|
2840
|
+
},
|
|
2841
|
+
lg: {
|
|
2842
|
+
padding: "0.625rem 0",
|
|
2843
|
+
fontSize: "text-base"
|
|
2844
|
+
},
|
|
2845
|
+
xl: {
|
|
2846
|
+
padding: "0.75rem 0",
|
|
2847
|
+
fontSize: "text-lg"
|
|
2848
|
+
}
|
|
2849
|
+
},
|
|
2850
|
+
effects: { base: [{
|
|
2851
|
+
effectId: "border-bottom-grow",
|
|
2852
|
+
options: {
|
|
2853
|
+
height: 1,
|
|
2854
|
+
colorToken: "accent",
|
|
2855
|
+
origin: "left"
|
|
2856
|
+
}
|
|
2857
|
+
}] }
|
|
2858
|
+
}
|
|
2859
|
+
},
|
|
2860
|
+
accent: {
|
|
2861
|
+
kind: "derive",
|
|
2862
|
+
from: "primary",
|
|
2863
|
+
overrides: { background: {
|
|
2864
|
+
type: "solid",
|
|
2865
|
+
colorToken: "accent"
|
|
2866
|
+
} }
|
|
2754
2867
|
}
|
|
2755
|
-
|
|
2868
|
+
}
|
|
2756
2869
|
}
|
|
2757
2870
|
});
|
|
2758
2871
|
//#endregion
|
|
2759
|
-
//#region ../theme-core/src/buttons/
|
|
2760
|
-
const
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
position: "bottom"
|
|
2774
|
-
},
|
|
2775
|
-
effects: {
|
|
2776
|
-
hover: [{
|
|
2777
|
-
effectId: "background-on-hover-alpha",
|
|
2778
|
-
options: {
|
|
2779
|
-
colorToken: "secondary",
|
|
2780
|
-
opacity: 88
|
|
2781
|
-
}
|
|
2782
|
-
}],
|
|
2783
|
-
active: [{
|
|
2784
|
-
effectId: "scale-down",
|
|
2785
|
-
options: { scale: "0.98" }
|
|
2786
|
-
}]
|
|
2787
|
-
}
|
|
2788
|
-
};
|
|
2789
|
-
//#endregion
|
|
2790
|
-
//#region ../theme-core/src/buttons/personalities/index.ts
|
|
2791
|
-
const buttonPersonalities = [
|
|
2792
|
-
softPill,
|
|
2793
|
-
defineButtonPersonality({
|
|
2794
|
-
id: "two-tone-pill",
|
|
2795
|
-
name: "Two-tone Pill",
|
|
2796
|
-
description: "Rounded pills with distinct solid primary and secondary brand colours.",
|
|
2797
|
-
tags: softPill.tags,
|
|
2798
|
-
buttonSystem: {
|
|
2799
|
-
...softPill.buttonSystem,
|
|
2800
|
-
variants: softPill.buttonSystem.variants.map((variant) => variant.id === "secondary" ? solidSecondary : variant)
|
|
2801
|
-
}
|
|
2802
|
-
}),
|
|
2803
|
-
earthPill,
|
|
2804
|
-
confidentChip,
|
|
2805
|
-
editorialLink,
|
|
2806
|
-
pebble,
|
|
2807
|
-
inkStamp,
|
|
2808
|
-
flatInk,
|
|
2809
|
-
brushedWash,
|
|
2810
|
-
showtimePill,
|
|
2811
|
-
joyStamp,
|
|
2812
|
-
ornateRitual,
|
|
2813
|
-
quietArrow
|
|
2872
|
+
//#region ../theme-core/src/buttons/styles/registry.ts
|
|
2873
|
+
const buttonStyleRecipes = [
|
|
2874
|
+
softPillRecipe,
|
|
2875
|
+
earthPillRecipe,
|
|
2876
|
+
confidentChipRecipe,
|
|
2877
|
+
editorialLinkRecipe,
|
|
2878
|
+
pebbleRecipe,
|
|
2879
|
+
inkStampRecipe,
|
|
2880
|
+
flatInkRecipe,
|
|
2881
|
+
brushedWashRecipe,
|
|
2882
|
+
showtimePillRecipe,
|
|
2883
|
+
joyStampRecipe,
|
|
2884
|
+
ornateRitualRecipe,
|
|
2885
|
+
quietArrowRecipe
|
|
2814
2886
|
];
|
|
2815
|
-
new Map(
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2887
|
+
const recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
|
|
2888
|
+
function findButtonStyleRecipe(id) {
|
|
2889
|
+
const recipe = recipesById.get(id);
|
|
2890
|
+
if (recipe === void 0) throw new Error(`Button style registry is missing known style ${id}`);
|
|
2891
|
+
return recipe;
|
|
2892
|
+
}
|
|
2893
|
+
function resolveButtonStyleSelection(selection) {
|
|
2894
|
+
switch (selection.styleId) {
|
|
2895
|
+
case "soft-pill": return resolveButtonStyleRecipe(softPillRecipe, selection.parameters);
|
|
2896
|
+
case "earth-pill": return resolveButtonStyleRecipe(earthPillRecipe, selection.parameters);
|
|
2897
|
+
case "confident-chip": return resolveButtonStyleRecipe(confidentChipRecipe, selection.parameters);
|
|
2898
|
+
case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
|
|
2899
|
+
case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
|
|
2900
|
+
case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
|
|
2901
|
+
case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
|
|
2902
|
+
case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
|
|
2903
|
+
case "showtime-pill": return resolveButtonStyleRecipe(showtimePillRecipe, selection.parameters);
|
|
2904
|
+
case "joy-stamp": return resolveButtonStyleRecipe(joyStampRecipe, selection.parameters);
|
|
2905
|
+
case "ornate-ritual": return resolveButtonStyleRecipe(ornateRitualRecipe, selection.parameters);
|
|
2906
|
+
case "quiet-arrow": return resolveButtonStyleRecipe(quietArrowRecipe, selection.parameters);
|
|
2825
2907
|
}
|
|
2826
|
-
}
|
|
2827
|
-
function
|
|
2828
|
-
|
|
2908
|
+
}
|
|
2909
|
+
function defaultButtonStyleSelectionFor(styleId) {
|
|
2910
|
+
return {
|
|
2911
|
+
styleId,
|
|
2912
|
+
parameters: findButtonStyleRecipe(styleId).defaultParameters
|
|
2913
|
+
};
|
|
2914
|
+
}
|
|
2915
|
+
if (buttonStyleRecipes.map((recipe) => recipe.id).length !== BUTTON_STYLE_IDS.length || BUTTON_STYLE_IDS.some((id) => !recipesById.has(id))) throw new Error("Button style registry and ButtonStyleId catalog are out of sync");
|
|
2916
|
+
buttonStyleRecipes.map((recipe) => {
|
|
2917
|
+
const resolved = resolveButtonStyleSelection(defaultButtonStyleSelectionFor(recipe.id));
|
|
2918
|
+
if (resolved.kind === "error") throw new Error(`Invalid registered button style ${recipe.id}: ${resolved.error.issues.join(", ")}`);
|
|
2919
|
+
return {
|
|
2920
|
+
id: recipe.id,
|
|
2921
|
+
name: recipe.accessibilityLabel,
|
|
2922
|
+
description: recipe.accessibilityLabel,
|
|
2923
|
+
category: presetCategory(recipe),
|
|
2924
|
+
buttonSystem: resolved.buttonSystem,
|
|
2925
|
+
compatibility: {
|
|
2926
|
+
...recipe.tags.tone ? { tones: [recipe.tags.tone] } : {},
|
|
2927
|
+
...recipe.tags.energy ? { energies: [recipe.tags.energy] } : {}
|
|
2928
|
+
}
|
|
2929
|
+
};
|
|
2930
|
+
});
|
|
2931
|
+
function presetCategory(recipe) {
|
|
2932
|
+
switch (recipe.tags.era) {
|
|
2829
2933
|
case "retro": return "retro";
|
|
2830
2934
|
case "editorial": return "minimal";
|
|
2831
2935
|
case "organic": return "artistic";
|
|
2832
|
-
case "modern": return
|
|
2936
|
+
case "modern": return recipe.tags.tone === "bold" ? "modern" : "technical";
|
|
2833
2937
|
case "technical": return "technical";
|
|
2834
2938
|
case void 0: return "modern";
|
|
2835
2939
|
}
|
|
@@ -5217,6 +5321,39 @@ const paletteValueKeySchema = z$1.string().transform((value, ctx) => {
|
|
|
5217
5321
|
return z$1.NEVER;
|
|
5218
5322
|
});
|
|
5219
5323
|
//#endregion
|
|
5324
|
+
//#region ../theme-core/src/site-styles/styleTags.ts
|
|
5325
|
+
/**
|
|
5326
|
+
* Descriptive style-axis metadata for button personalities and palette
|
|
5327
|
+
* variants. Site Style picker shape is curated explicitly; these tags remain
|
|
5328
|
+
* for catalog audit, docs, and future discovery tooling.
|
|
5329
|
+
*/
|
|
5330
|
+
const STYLE_AXIS_VALUES = {
|
|
5331
|
+
tone: [
|
|
5332
|
+
"minimal",
|
|
5333
|
+
"classic",
|
|
5334
|
+
"bold"
|
|
5335
|
+
],
|
|
5336
|
+
energy: ["calm", "vibrant"],
|
|
5337
|
+
motion: [
|
|
5338
|
+
"subtle",
|
|
5339
|
+
"standard",
|
|
5340
|
+
"expressive"
|
|
5341
|
+
],
|
|
5342
|
+
era: [
|
|
5343
|
+
"editorial",
|
|
5344
|
+
"modern",
|
|
5345
|
+
"organic",
|
|
5346
|
+
"technical",
|
|
5347
|
+
"retro"
|
|
5348
|
+
]
|
|
5349
|
+
};
|
|
5350
|
+
const styleTagsSchema = z$1.object({
|
|
5351
|
+
tone: z$1.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
5352
|
+
energy: z$1.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
5353
|
+
motion: z$1.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
5354
|
+
era: z$1.enum(STYLE_AXIS_VALUES.era).optional()
|
|
5355
|
+
});
|
|
5356
|
+
//#endregion
|
|
5220
5357
|
//#region ../theme-core/src/palette/curated/types.ts
|
|
5221
5358
|
function asCuratedPaletteAuthoringKey(value) {
|
|
5222
5359
|
if (value.length === 0) throw new Error("CuratedPaletteAuthoringKey must be a non-empty string");
|
|
@@ -8165,76 +8302,9 @@ function headerConfigurationKey(configuration) {
|
|
|
8165
8302
|
function asFooterLookId(value) {
|
|
8166
8303
|
return value;
|
|
8167
8304
|
}
|
|
8168
|
-
function
|
|
8169
|
-
return value;
|
|
8170
|
-
}
|
|
8171
|
-
function asFooterStyleId(value) {
|
|
8172
|
-
return value;
|
|
8173
|
-
}
|
|
8174
|
-
const footerLayoutCatalog = defineExactCatalog()([
|
|
8175
|
-
{
|
|
8176
|
-
id: asFooterLayoutId("identity"),
|
|
8177
|
-
label: "Identity",
|
|
8178
|
-
description: "Logo, site text, address, and legal copy without relying on footer navigation."
|
|
8179
|
-
},
|
|
8180
|
-
{
|
|
8181
|
-
id: asFooterLayoutId("centered"),
|
|
8182
|
-
label: "Centered",
|
|
8183
|
-
description: "A calm centered stack for identity, short copy, and optional compact navigation.",
|
|
8184
|
-
maxRecommendedNavDensity: "sparse"
|
|
8185
|
-
},
|
|
8186
|
-
{
|
|
8187
|
-
id: asFooterLayoutId("split"),
|
|
8188
|
-
label: "Split",
|
|
8189
|
-
description: "Navigation and brand signoff separated into a wider split footer.",
|
|
8190
|
-
requiresFooterNav: true,
|
|
8191
|
-
maxRecommendedNavDensity: "balanced"
|
|
8192
|
-
},
|
|
8193
|
-
{
|
|
8194
|
-
id: asFooterLayoutId("columns"),
|
|
8195
|
-
label: "Columns",
|
|
8196
|
-
description: "Grouped footer navigation columns with a supporting bottom line.",
|
|
8197
|
-
requiresFooterNav: true,
|
|
8198
|
-
requiresFooterNavGroups: true
|
|
8199
|
-
}
|
|
8200
|
-
]);
|
|
8201
|
-
const footerStyleCatalog = defineExactCatalog()([
|
|
8202
|
-
{
|
|
8203
|
-
id: asFooterStyleId("quiet"),
|
|
8204
|
-
label: "Quiet",
|
|
8205
|
-
description: "Lightweight, practical footer treatment."
|
|
8206
|
-
},
|
|
8207
|
-
{
|
|
8208
|
-
id: asFooterStyleId("calm"),
|
|
8209
|
-
label: "Calm",
|
|
8210
|
-
description: "Soft centered treatment with restrained dividers."
|
|
8211
|
-
},
|
|
8212
|
-
{
|
|
8213
|
-
id: asFooterStyleId("editorial"),
|
|
8214
|
-
label: "Editorial",
|
|
8215
|
-
description: "Text-forward treatment with fine-line structure."
|
|
8216
|
-
},
|
|
8217
|
-
{
|
|
8218
|
-
id: asFooterStyleId("brand-band"),
|
|
8219
|
-
label: "Brand band",
|
|
8220
|
-
description: "High-contrast brand treatment with a stronger bottom bar."
|
|
8221
|
-
}
|
|
8222
|
-
]);
|
|
8223
|
-
new Map(footerLayoutCatalog.map((layout) => [layout.id, layout]));
|
|
8224
|
-
new Map(footerStyleCatalog.map((style) => [style.id, style]));
|
|
8225
|
-
/**
|
|
8226
|
-
* No-nav-safe identity footer: brand and legal/supporting copy carry the
|
|
8227
|
-
* footer without implying missing navigation.
|
|
8228
|
-
*/
|
|
8229
|
-
function identityQuietFooter(theme) {
|
|
8305
|
+
function quietFooterLinks(theme) {
|
|
8230
8306
|
return {
|
|
8231
8307
|
...theme.footer,
|
|
8232
|
-
variant: "simple",
|
|
8233
|
-
maxWidth: "container",
|
|
8234
|
-
background: {
|
|
8235
|
-
type: "color",
|
|
8236
|
-
color: "surface"
|
|
8237
|
-
},
|
|
8238
8308
|
navStyle: "minimal",
|
|
8239
8309
|
navWeight: "regular",
|
|
8240
8310
|
navColor: "text",
|
|
@@ -8247,285 +8317,38 @@ function identityQuietFooter(theme) {
|
|
|
8247
8317
|
hoverColorToken: "primary",
|
|
8248
8318
|
padding: "none",
|
|
8249
8319
|
borderRadius: "none"
|
|
8250
|
-
},
|
|
8251
|
-
navLayout: {
|
|
8252
|
-
layout: "inline-wrap",
|
|
8253
|
-
align: "start",
|
|
8254
|
-
gapX: "default",
|
|
8255
|
-
gapY: "tight"
|
|
8256
|
-
},
|
|
8257
|
-
logo: {
|
|
8258
|
-
showLogo: true,
|
|
8259
|
-
showLogoText: true,
|
|
8260
|
-
placement: "left",
|
|
8261
|
-
size: "sm",
|
|
8262
|
-
align: "start"
|
|
8263
|
-
},
|
|
8264
|
-
bottomBar: {
|
|
8265
|
-
enabled: false,
|
|
8266
|
-
fullBleed: false,
|
|
8267
|
-
textAlign: "left",
|
|
8268
|
-
paddingX: "default",
|
|
8269
|
-
paddingY: "compact",
|
|
8270
|
-
borderTop: { width: "none" }
|
|
8271
8320
|
}
|
|
8272
8321
|
};
|
|
8273
8322
|
}
|
|
8274
|
-
|
|
8275
|
-
* Back-compat alias for the previous default footer Look. It keeps existing
|
|
8276
|
-
* persisted selections valid while staying hidden from the new layout/style UI.
|
|
8277
|
-
*/
|
|
8278
|
-
function mutedGroundingFooter(theme) {
|
|
8279
|
-
return {
|
|
8280
|
-
...identityQuietFooter(theme),
|
|
8281
|
-
background: theme.footer.background,
|
|
8282
|
-
navStyle: theme.footer.navStyle,
|
|
8283
|
-
navColor: theme.footer.navColor,
|
|
8284
|
-
navWeight: theme.footer.navWeight,
|
|
8285
|
-
navLinkStyle: theme.footer.navLinkStyle,
|
|
8286
|
-
bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
|
|
8287
|
-
};
|
|
8288
|
-
}
|
|
8289
|
-
/** Applies a high-contrast brand band with a darker full-bleed bottom bar. */
|
|
8290
|
-
function brandTwoBandFooter(theme) {
|
|
8323
|
+
function emphasizedFooterLinks(theme) {
|
|
8291
8324
|
return {
|
|
8292
8325
|
...theme.footer,
|
|
8293
|
-
variant: "split",
|
|
8294
|
-
maxWidth: "container",
|
|
8295
|
-
background: {
|
|
8296
|
-
type: "color",
|
|
8297
|
-
color: "primary-800"
|
|
8298
|
-
},
|
|
8299
8326
|
navStyle: "minimal",
|
|
8300
8327
|
navWeight: "medium",
|
|
8301
|
-
navColor: "primaryForeground",
|
|
8302
|
-
navLinkStyle: {
|
|
8303
|
-
typography: "body",
|
|
8304
|
-
fontWeight: "medium",
|
|
8305
|
-
textTransform: "none",
|
|
8306
|
-
italic: false,
|
|
8307
|
-
colorToken: "primaryForeground",
|
|
8308
|
-
hoverColorToken: "secondary",
|
|
8309
|
-
padding: "none",
|
|
8310
|
-
borderRadius: "none"
|
|
8311
|
-
},
|
|
8312
|
-
bottomTextLinkStyle: {
|
|
8313
|
-
colorToken: "secondary",
|
|
8314
|
-
decorationColorToken: "secondary"
|
|
8315
|
-
},
|
|
8316
|
-
navLayout: {
|
|
8317
|
-
layout: "inline-wrap",
|
|
8318
|
-
align: "start",
|
|
8319
|
-
gapX: "default",
|
|
8320
|
-
gapY: "tight"
|
|
8321
|
-
},
|
|
8322
|
-
logo: {
|
|
8323
|
-
showLogo: true,
|
|
8324
|
-
showLogoText: false,
|
|
8325
|
-
placement: "left",
|
|
8326
|
-
size: "sm",
|
|
8327
|
-
align: "start"
|
|
8328
|
-
},
|
|
8329
|
-
bottomBar: {
|
|
8330
|
-
enabled: true,
|
|
8331
|
-
fullBleed: true,
|
|
8332
|
-
background: {
|
|
8333
|
-
type: "color",
|
|
8334
|
-
color: "primary-900"
|
|
8335
|
-
},
|
|
8336
|
-
textColor: "primaryForeground",
|
|
8337
|
-
textAlign: "center",
|
|
8338
|
-
paddingX: "default",
|
|
8339
|
-
paddingY: "compact",
|
|
8340
|
-
borderTop: { width: "none" }
|
|
8341
|
-
}
|
|
8342
|
-
};
|
|
8343
|
-
}
|
|
8344
|
-
/**
|
|
8345
|
-
* Centered stack on a softly tinted band: logo, inline nav, address, and a
|
|
8346
|
-
* hairline-topped copyright line, all centered.
|
|
8347
|
-
*/
|
|
8348
|
-
function centeredCalmFooter(theme) {
|
|
8349
|
-
return {
|
|
8350
|
-
...theme.footer,
|
|
8351
|
-
variant: "simple",
|
|
8352
|
-
maxWidth: "container",
|
|
8353
|
-
background: {
|
|
8354
|
-
type: "color",
|
|
8355
|
-
color: "surfaceAlt"
|
|
8356
|
-
},
|
|
8357
|
-
navStyle: "minimal",
|
|
8358
|
-
navWeight: "regular",
|
|
8359
|
-
navColor: "text",
|
|
8360
|
-
navLinkStyle: {
|
|
8361
|
-
typography: "body",
|
|
8362
|
-
fontWeight: "regular",
|
|
8363
|
-
textTransform: "none",
|
|
8364
|
-
italic: false,
|
|
8365
|
-
colorToken: "text",
|
|
8366
|
-
hoverColorToken: "primary",
|
|
8367
|
-
padding: "none",
|
|
8368
|
-
borderRadius: "none"
|
|
8369
|
-
},
|
|
8370
|
-
navLayout: {
|
|
8371
|
-
layout: "inline-wrap",
|
|
8372
|
-
align: "center",
|
|
8373
|
-
gapX: "relaxed",
|
|
8374
|
-
gapY: "tight"
|
|
8375
|
-
},
|
|
8376
|
-
logo: {
|
|
8377
|
-
showLogo: true,
|
|
8378
|
-
showLogoText: false,
|
|
8379
|
-
placement: "above",
|
|
8380
|
-
size: "sm",
|
|
8381
|
-
align: "center"
|
|
8382
|
-
},
|
|
8383
|
-
bottomBar: {
|
|
8384
|
-
enabled: true,
|
|
8385
|
-
fullBleed: false,
|
|
8386
|
-
textAlign: "center",
|
|
8387
|
-
paddingX: "default",
|
|
8388
|
-
paddingY: "compact",
|
|
8389
|
-
borderTop: { width: "thin" }
|
|
8390
|
-
}
|
|
8391
|
-
};
|
|
8392
|
-
}
|
|
8393
|
-
/** Editorial split footer: compact nav on one side, brand signoff on the other. */
|
|
8394
|
-
function splitEditorialFooter(theme) {
|
|
8395
|
-
return {
|
|
8396
|
-
...theme.footer,
|
|
8397
|
-
variant: "split",
|
|
8398
|
-
maxWidth: "container",
|
|
8399
|
-
background: {
|
|
8400
|
-
type: "color",
|
|
8401
|
-
color: "surface"
|
|
8402
|
-
},
|
|
8403
|
-
navStyle: "minimal",
|
|
8404
|
-
navWeight: "regular",
|
|
8405
|
-
navColor: "text",
|
|
8406
|
-
navLinkStyle: {
|
|
8407
|
-
typography: "body",
|
|
8408
|
-
fontWeight: "regular",
|
|
8409
|
-
textTransform: "none",
|
|
8410
|
-
italic: false,
|
|
8411
|
-
colorToken: "text",
|
|
8412
|
-
hoverColorToken: "primary",
|
|
8413
|
-
padding: "none",
|
|
8414
|
-
borderRadius: "none"
|
|
8415
|
-
},
|
|
8416
|
-
navLayout: {
|
|
8417
|
-
layout: "inline-wrap",
|
|
8418
|
-
align: "start",
|
|
8419
|
-
gapX: "relaxed",
|
|
8420
|
-
gapY: "tight"
|
|
8421
|
-
},
|
|
8422
|
-
logo: {
|
|
8423
|
-
showLogo: true,
|
|
8424
|
-
showLogoText: true,
|
|
8425
|
-
placement: "right",
|
|
8426
|
-
size: "sm",
|
|
8427
|
-
align: "end"
|
|
8428
|
-
},
|
|
8429
|
-
bottomBar: {
|
|
8430
|
-
enabled: true,
|
|
8431
|
-
fullBleed: false,
|
|
8432
|
-
textAlign: "left",
|
|
8433
|
-
paddingX: "default",
|
|
8434
|
-
paddingY: "compact",
|
|
8435
|
-
borderTop: { width: "thin" }
|
|
8436
|
-
}
|
|
8437
|
-
};
|
|
8438
|
-
}
|
|
8439
|
-
/**
|
|
8440
|
-
* Editorial columns: site name and supporting copy on the left, inline nav on
|
|
8441
|
-
* the right, with a hairline-topped bottom line. Uses the footer block's
|
|
8442
|
-
* columns layout.
|
|
8443
|
-
*/
|
|
8444
|
-
function editorialColumnsFooter(theme) {
|
|
8445
|
-
return {
|
|
8446
|
-
...theme.footer,
|
|
8447
|
-
variant: "columns",
|
|
8448
|
-
maxWidth: "container",
|
|
8449
|
-
background: {
|
|
8450
|
-
type: "color",
|
|
8451
|
-
color: "surface"
|
|
8452
|
-
},
|
|
8453
|
-
navStyle: "minimal",
|
|
8454
|
-
navWeight: "regular",
|
|
8455
8328
|
navColor: "text",
|
|
8456
8329
|
navLinkStyle: {
|
|
8457
8330
|
typography: "body",
|
|
8458
|
-
fontWeight: "
|
|
8331
|
+
fontWeight: "medium",
|
|
8459
8332
|
textTransform: "none",
|
|
8460
8333
|
italic: false,
|
|
8461
8334
|
colorToken: "text",
|
|
8462
8335
|
hoverColorToken: "primary",
|
|
8463
8336
|
padding: "none",
|
|
8464
8337
|
borderRadius: "none"
|
|
8465
|
-
},
|
|
8466
|
-
logo: {
|
|
8467
|
-
showLogo: true,
|
|
8468
|
-
showLogoText: true,
|
|
8469
|
-
placement: "left",
|
|
8470
|
-
size: "sm",
|
|
8471
|
-
align: "start"
|
|
8472
|
-
},
|
|
8473
|
-
bottomBar: {
|
|
8474
|
-
enabled: true,
|
|
8475
|
-
fullBleed: false,
|
|
8476
|
-
textAlign: "center",
|
|
8477
|
-
paddingX: "default",
|
|
8478
|
-
paddingY: "compact",
|
|
8479
|
-
borderTop: { width: "thin" }
|
|
8480
8338
|
}
|
|
8481
8339
|
};
|
|
8482
8340
|
}
|
|
8483
|
-
const footerLookCatalog = defineExactCatalog()([
|
|
8484
|
-
|
|
8485
|
-
|
|
8486
|
-
|
|
8487
|
-
|
|
8488
|
-
|
|
8489
|
-
|
|
8490
|
-
|
|
8491
|
-
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
layoutId: asFooterLayoutId("identity"),
|
|
8495
|
-
styleId: asFooterStyleId("quiet"),
|
|
8496
|
-
hiddenFromLayoutStyleControls: true,
|
|
8497
|
-
compile: mutedGroundingFooter
|
|
8498
|
-
},
|
|
8499
|
-
{
|
|
8500
|
-
id: asFooterLookId("footer-centered-calm"),
|
|
8501
|
-
label: "Centered calm footer",
|
|
8502
|
-
layoutId: asFooterLayoutId("centered"),
|
|
8503
|
-
styleId: asFooterStyleId("calm"),
|
|
8504
|
-
compile: centeredCalmFooter
|
|
8505
|
-
},
|
|
8506
|
-
{
|
|
8507
|
-
id: asFooterLookId("footer-split-editorial"),
|
|
8508
|
-
label: "Split editorial footer",
|
|
8509
|
-
layoutId: asFooterLayoutId("split"),
|
|
8510
|
-
styleId: asFooterStyleId("editorial"),
|
|
8511
|
-
compile: splitEditorialFooter
|
|
8512
|
-
},
|
|
8513
|
-
{
|
|
8514
|
-
id: asFooterLookId("footer-editorial-columns"),
|
|
8515
|
-
label: "Editorial columns footer",
|
|
8516
|
-
layoutId: asFooterLayoutId("columns"),
|
|
8517
|
-
styleId: asFooterStyleId("editorial"),
|
|
8518
|
-
compile: editorialColumnsFooter
|
|
8519
|
-
},
|
|
8520
|
-
{
|
|
8521
|
-
id: asFooterLookId("site-footer-brand-two-band"),
|
|
8522
|
-
label: "Two-band brand footer",
|
|
8523
|
-
layoutId: asFooterLayoutId("split"),
|
|
8524
|
-
styleId: asFooterStyleId("brand-band"),
|
|
8525
|
-
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
8526
|
-
compile: brandTwoBandFooter
|
|
8527
|
-
}
|
|
8528
|
-
]);
|
|
8341
|
+
const footerLookCatalog = defineExactCatalog()([{
|
|
8342
|
+
id: asFooterLookId("footer-links-quiet"),
|
|
8343
|
+
label: "Quiet links",
|
|
8344
|
+
description: "Regular-weight footer navigation with a restrained hover.",
|
|
8345
|
+
compile: quietFooterLinks
|
|
8346
|
+
}, {
|
|
8347
|
+
id: asFooterLookId("footer-links-emphasized"),
|
|
8348
|
+
label: "Emphasized links",
|
|
8349
|
+
description: "Medium-weight footer navigation with a clearer emphasis.",
|
|
8350
|
+
compile: emphasizedFooterLinks
|
|
8351
|
+
}]);
|
|
8529
8352
|
new Map(footerLookCatalog.map((look) => [look.id, look]));
|
|
8530
8353
|
//#endregion
|
|
8531
8354
|
//#region ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
@@ -9654,17 +9477,21 @@ function defineCuratedSiteStyle(input) {
|
|
|
9654
9477
|
})),
|
|
9655
9478
|
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
9656
9479
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
9657
|
-
|
|
9480
|
+
buttonStyleChoices: input.buttonStyleChoices,
|
|
9658
9481
|
paletteRecommendations: input.paletteRecommendations,
|
|
9659
9482
|
typography: input.typography ?? defaultTypographyForRecipe(input.tokenRecipes.typography),
|
|
9660
9483
|
...input.heroTypography ? { heroTypography: input.heroTypography } : {}
|
|
9661
9484
|
};
|
|
9662
9485
|
}
|
|
9663
|
-
function buttonChoice(
|
|
9486
|
+
function buttonChoice(styleId, note, parameters) {
|
|
9487
|
+
const selection = parameters === void 0 ? defaultButtonStyleSelectionFor(styleId) : buttonStyleSelectionSchema.parse({
|
|
9488
|
+
styleId,
|
|
9489
|
+
parameters
|
|
9490
|
+
});
|
|
9664
9491
|
return note ? {
|
|
9665
|
-
|
|
9492
|
+
...selection,
|
|
9666
9493
|
note
|
|
9667
|
-
} :
|
|
9494
|
+
} : selection;
|
|
9668
9495
|
}
|
|
9669
9496
|
function paletteRecommendation(authoringKey, note) {
|
|
9670
9497
|
const valueKey = requireCuratedPaletteValueKey(asCuratedPaletteAuthoringKey(authoringKey));
|
|
@@ -9849,9 +9676,8 @@ const curatedSiteStyles = [
|
|
|
9849
9676
|
"minimal-transparent",
|
|
9850
9677
|
"clean-base"
|
|
9851
9678
|
],
|
|
9852
|
-
|
|
9679
|
+
buttonStyleChoices: [
|
|
9853
9680
|
buttonChoice("soft-pill"),
|
|
9854
|
-
buttonChoice("two-tone-pill"),
|
|
9855
9681
|
buttonChoice("pebble"),
|
|
9856
9682
|
buttonChoice("editorial-link"),
|
|
9857
9683
|
buttonChoice("brushed-wash")
|
|
@@ -9887,7 +9713,7 @@ const curatedSiteStyles = [
|
|
|
9887
9713
|
"brand-solid",
|
|
9888
9714
|
"clean-base"
|
|
9889
9715
|
],
|
|
9890
|
-
|
|
9716
|
+
buttonStyleChoices: [
|
|
9891
9717
|
buttonChoice("confident-chip"),
|
|
9892
9718
|
buttonChoice("soft-pill"),
|
|
9893
9719
|
buttonChoice("editorial-link")
|
|
@@ -9926,7 +9752,7 @@ const curatedSiteStyles = [
|
|
|
9926
9752
|
"minimal-transparent",
|
|
9927
9753
|
"centered-calm"
|
|
9928
9754
|
],
|
|
9929
|
-
|
|
9755
|
+
buttonStyleChoices: [
|
|
9930
9756
|
buttonChoice("editorial-link"),
|
|
9931
9757
|
buttonChoice("soft-pill"),
|
|
9932
9758
|
buttonChoice("brushed-wash")
|
|
@@ -9966,7 +9792,7 @@ const curatedSiteStyles = [
|
|
|
9966
9792
|
"practical-utility",
|
|
9967
9793
|
"clean-base"
|
|
9968
9794
|
],
|
|
9969
|
-
|
|
9795
|
+
buttonStyleChoices: [
|
|
9970
9796
|
buttonChoice("pebble"),
|
|
9971
9797
|
buttonChoice("brushed-wash"),
|
|
9972
9798
|
buttonChoice("confident-chip")
|
|
@@ -10027,7 +9853,7 @@ const curatedSiteStyles = [
|
|
|
10027
9853
|
"serif-line",
|
|
10028
9854
|
"clean-base"
|
|
10029
9855
|
],
|
|
10030
|
-
|
|
9856
|
+
buttonStyleChoices: [
|
|
10031
9857
|
buttonChoice("editorial-link"),
|
|
10032
9858
|
buttonChoice("confident-chip"),
|
|
10033
9859
|
buttonChoice("soft-pill")
|
|
@@ -10089,7 +9915,7 @@ const curatedSiteStyles = [
|
|
|
10089
9915
|
"brand-solid",
|
|
10090
9916
|
"clean-base"
|
|
10091
9917
|
],
|
|
10092
|
-
|
|
9918
|
+
buttonStyleChoices: [
|
|
10093
9919
|
buttonChoice("confident-chip"),
|
|
10094
9920
|
buttonChoice("pebble"),
|
|
10095
9921
|
buttonChoice("ink-stamp")
|
|
@@ -10128,7 +9954,7 @@ const curatedSiteStyles = [
|
|
|
10128
9954
|
"minimal-transparent",
|
|
10129
9955
|
"clean-base"
|
|
10130
9956
|
],
|
|
10131
|
-
|
|
9957
|
+
buttonStyleChoices: [
|
|
10132
9958
|
buttonChoice("soft-pill"),
|
|
10133
9959
|
buttonChoice("pebble"),
|
|
10134
9960
|
buttonChoice("confident-chip")
|
|
@@ -10201,7 +10027,7 @@ const curatedSiteStyles = [
|
|
|
10201
10027
|
"clean-base",
|
|
10202
10028
|
"centered-calm"
|
|
10203
10029
|
],
|
|
10204
|
-
|
|
10030
|
+
buttonStyleChoices: [
|
|
10205
10031
|
buttonChoice("pebble"),
|
|
10206
10032
|
buttonChoice("soft-pill"),
|
|
10207
10033
|
buttonChoice("editorial-link")
|
|
@@ -10320,12 +10146,8 @@ const curatedSiteStyles = [
|
|
|
10320
10146
|
"serif-line",
|
|
10321
10147
|
"minimal-transparent"
|
|
10322
10148
|
],
|
|
10323
|
-
recommendedFooterLookIds: [
|
|
10324
|
-
|
|
10325
|
-
"footer-editorial-columns",
|
|
10326
|
-
"footer-muted-grounding"
|
|
10327
|
-
],
|
|
10328
|
-
buttonPersonalityChoices: [
|
|
10149
|
+
recommendedFooterLookIds: ["footer-links-quiet"],
|
|
10150
|
+
buttonStyleChoices: [
|
|
10329
10151
|
buttonChoice("soft-pill"),
|
|
10330
10152
|
buttonChoice("pebble"),
|
|
10331
10153
|
buttonChoice("editorial-link")
|
|
@@ -10399,7 +10221,7 @@ const curatedSiteStyles = [
|
|
|
10399
10221
|
"centered-calm",
|
|
10400
10222
|
"minimal-transparent"
|
|
10401
10223
|
],
|
|
10402
|
-
|
|
10224
|
+
buttonStyleChoices: [
|
|
10403
10225
|
buttonChoice("editorial-link"),
|
|
10404
10226
|
buttonChoice("soft-pill"),
|
|
10405
10227
|
buttonChoice("brushed-wash")
|
|
@@ -10472,8 +10294,8 @@ const curatedSiteStyles = [
|
|
|
10472
10294
|
"practical-utility",
|
|
10473
10295
|
"clean-base"
|
|
10474
10296
|
],
|
|
10475
|
-
recommendedFooterLookIds: ["
|
|
10476
|
-
|
|
10297
|
+
recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
|
|
10298
|
+
buttonStyleChoices: [
|
|
10477
10299
|
buttonChoice("pebble"),
|
|
10478
10300
|
buttonChoice("confident-chip"),
|
|
10479
10301
|
buttonChoice("ink-stamp"),
|
|
@@ -10594,8 +10416,8 @@ const curatedSiteStyles = [
|
|
|
10594
10416
|
"minimal-transparent",
|
|
10595
10417
|
"serif-line"
|
|
10596
10418
|
],
|
|
10597
|
-
recommendedFooterLookIds: ["footer-
|
|
10598
|
-
|
|
10419
|
+
recommendedFooterLookIds: ["footer-links-quiet", "footer-links-emphasized"],
|
|
10420
|
+
buttonStyleChoices: [
|
|
10599
10421
|
buttonChoice("earth-pill"),
|
|
10600
10422
|
buttonChoice("soft-pill"),
|
|
10601
10423
|
buttonChoice("pebble"),
|
|
@@ -10666,7 +10488,7 @@ const curatedSiteStyles = [
|
|
|
10666
10488
|
"floating-glass",
|
|
10667
10489
|
"brand-solid"
|
|
10668
10490
|
],
|
|
10669
|
-
|
|
10491
|
+
buttonStyleChoices: [
|
|
10670
10492
|
buttonChoice("ink-stamp"),
|
|
10671
10493
|
buttonChoice("confident-chip"),
|
|
10672
10494
|
buttonChoice("brushed-wash"),
|
|
@@ -10721,8 +10543,8 @@ const curatedSiteStyles = [
|
|
|
10721
10543
|
"transparent-overlay",
|
|
10722
10544
|
"practical-utility"
|
|
10723
10545
|
],
|
|
10724
|
-
recommendedFooterLookIds: ["
|
|
10725
|
-
|
|
10546
|
+
recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
|
|
10547
|
+
buttonStyleChoices: [
|
|
10726
10548
|
buttonChoice("showtime-pill"),
|
|
10727
10549
|
buttonChoice("confident-chip"),
|
|
10728
10550
|
buttonChoice("ink-stamp"),
|
|
@@ -10803,8 +10625,8 @@ const curatedSiteStyles = [
|
|
|
10803
10625
|
headerStyleChoice("glass")
|
|
10804
10626
|
] },
|
|
10805
10627
|
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
10806
|
-
recommendedFooterLookIds: ["
|
|
10807
|
-
|
|
10628
|
+
recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
|
|
10629
|
+
buttonStyleChoices: [
|
|
10808
10630
|
buttonChoice("ornate-ritual"),
|
|
10809
10631
|
buttonChoice("joy-stamp"),
|
|
10810
10632
|
buttonChoice("ink-stamp")
|
|
@@ -10857,8 +10679,8 @@ const curatedSiteStyles = [
|
|
|
10857
10679
|
headerStyleChoice("glass")
|
|
10858
10680
|
] },
|
|
10859
10681
|
recommendedHeaderLookIds: ["minimal-transparent"],
|
|
10860
|
-
recommendedFooterLookIds: ["
|
|
10861
|
-
|
|
10682
|
+
recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
|
|
10683
|
+
buttonStyleChoices: [
|
|
10862
10684
|
buttonChoice("joy-stamp"),
|
|
10863
10685
|
buttonChoice("ink-stamp"),
|
|
10864
10686
|
buttonChoice("showtime-pill")
|
|
@@ -10948,8 +10770,8 @@ const curatedSiteStyles = [
|
|
|
10948
10770
|
"centered-calm",
|
|
10949
10771
|
"clean-base"
|
|
10950
10772
|
],
|
|
10951
|
-
recommendedFooterLookIds: ["footer-
|
|
10952
|
-
|
|
10773
|
+
recommendedFooterLookIds: ["footer-links-quiet"],
|
|
10774
|
+
buttonStyleChoices: [
|
|
10953
10775
|
buttonChoice("flat-ink"),
|
|
10954
10776
|
buttonChoice("confident-chip"),
|
|
10955
10777
|
buttonChoice("editorial-link")
|
|
@@ -11026,14 +10848,9 @@ const curatedSiteStyles = [
|
|
|
11026
10848
|
"serif-line",
|
|
11027
10849
|
"clean-base"
|
|
11028
10850
|
],
|
|
11029
|
-
recommendedFooterLookIds: [
|
|
11030
|
-
|
|
11031
|
-
"
|
|
11032
|
-
"footer-identity-quiet"
|
|
11033
|
-
],
|
|
11034
|
-
buttonPersonalityChoices: [
|
|
11035
|
-
buttonChoice("quiet-arrow"),
|
|
11036
|
-
buttonChoice("two-tone-pill"),
|
|
10851
|
+
recommendedFooterLookIds: ["footer-links-quiet"],
|
|
10852
|
+
buttonStyleChoices: [
|
|
10853
|
+
buttonChoice("quiet-arrow", void 0, { secondaryTreatment: "solid-accent" }),
|
|
11037
10854
|
buttonChoice("flat-ink"),
|
|
11038
10855
|
buttonChoice("editorial-link")
|
|
11039
10856
|
],
|