@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.
Files changed (186) hide show
  1. package/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +178 -117
  2. package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
  3. package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +229 -219
  5. package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +1695 -2169
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +1716 -76
  7. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  8. package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
  9. package/dist/_dts/api/src/courses.d.ts +30 -15
  10. package/dist/_dts/api/src/endpoints.d.ts +14 -4
  11. package/dist/_dts/api/src/index.d.ts +2 -2
  12. package/dist/_dts/api/src/sdkContracts.d.ts +23 -11
  13. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  14. package/dist/_dts/api/src/siteOperations.d.ts +11 -19
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
  16. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  17. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  18. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  19. package/dist/_dts/blocks/src/client.d.ts +4 -1
  20. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  21. package/dist/_dts/blocks/src/index.d.ts +3 -1
  22. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
  23. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
  25. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
  26. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  27. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  28. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  30. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
  31. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -1
  32. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  33. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  34. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  35. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  36. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
  37. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
  40. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
  42. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  45. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  47. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  53. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  54. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
  56. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  57. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  58. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  59. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  60. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  61. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
  62. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -53
  63. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  64. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  65. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  66. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  67. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  68. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  69. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  70. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  71. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  72. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  73. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
  74. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  75. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  76. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  77. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  78. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  79. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  80. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  81. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  82. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  83. package/dist/_dts/sdk/src/client/management/types.d.ts +2 -1
  84. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
  85. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
  86. package/dist/_dts/sdk/src/version.d.ts +1 -1
  87. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  88. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  89. package/dist/_dts/site-commands/src/commands.d.ts +129 -6
  90. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  92. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  93. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  94. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  95. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  96. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  97. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  98. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  99. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  100. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  101. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  102. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
  103. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  104. package/dist/cli/index.mjs +1760 -1914
  105. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  106. package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
  107. package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
  108. package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
  109. package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
  110. package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
  111. package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
  112. package/dist/client/{accordion-CeGreumd.mjs → accordion-D8JTs2Si.mjs} +1 -1
  113. package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
  114. package/dist/client/bookings.mjs +3069 -1447
  115. package/dist/client/{carousel-B2jDtogf.mjs → carousel-DMr_QWlz.mjs} +1 -1
  116. package/dist/client/{cart-D-jZ-vaY.mjs → cart-DWMbfBdR.mjs} +3 -3
  117. package/dist/client/{checkout-Dza-LA7N.mjs → checkout-zmfdkXLx.mjs} +3 -3
  118. package/dist/client/client.mjs +1732 -1913
  119. package/dist/client/{colorStyles-CrgzoXsm.mjs → colorStyles-gcTh5yZT.mjs} +2 -12
  120. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
  121. package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
  122. package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
  123. package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
  124. package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
  125. package/dist/client/{eventListing-YhKN018y.mjs → eventListing-W1SuL7EP.mjs} +2 -2
  126. package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-ClWricui.mjs} +6 -7
  127. package/dist/client/{form-AcAL45rA.mjs → form--eKPwAAD.mjs} +1 -2
  128. package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-BSeGr-FS.mjs} +2 -3
  129. package/dist/client/hooks.mjs +1554 -1871
  130. package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-BpOrtNYn.mjs} +8 -5
  131. package/dist/client/{media-BK0O3b-U.mjs → media-DoF0dcVx.mjs} +2 -2
  132. package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
  133. package/dist/client/{pricing-BSYVghwo.mjs → pricing-BTjSDDr4.mjs} +1 -1
  134. package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-ICnVTcCg.mjs} +3 -3
  135. package/dist/client/{productList-BCKThwAI.mjs → productList-ZHr6D604.mjs} +3 -3
  136. package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-wWN0tBDF.mjs} +2351 -129
  137. package/dist/client/rendering/client.mjs +1664 -1824
  138. package/dist/client/rendering/islands.mjs +20 -20
  139. package/dist/client/rendering.mjs +1697 -1909
  140. package/dist/client/{shop-DeltVH10.mjs → shop-C1u_BUn0.mjs} +5 -6
  141. package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-CleZdRha.mjs} +5 -6
  142. package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
  143. package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-CPhByt2a.mjs} +3 -3
  144. package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
  145. package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-DKPN7hSY.mjs} +26 -27
  146. package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
  147. package/dist/preview-next/before-render.mjs +37 -6
  148. package/dist/preview-next/client/runtime.mjs +4 -4
  149. package/dist/preview-next/middleware.mjs +37 -6
  150. package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-BkT1D06A.mjs} +37 -6
  151. package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
  152. package/dist/{separator-CI5wZNXT.mjs → separator-Bln8izQ9.mjs} +1 -1
  153. package/dist/server/components.mjs +1472 -1788
  154. package/dist/server/config-validation.mjs +1559 -1876
  155. package/dist/server/config.mjs +1559 -1876
  156. package/dist/server/data.mjs +1554 -1871
  157. package/dist/server/index.mjs +38 -7
  158. package/dist/server/next/revalidate.mjs +53 -1
  159. package/dist/server/next.mjs +1584 -1869
  160. package/dist/server/page-converter.mjs +1543 -1860
  161. package/dist/server/prebuild.mjs +1 -1
  162. package/dist/server/rendering/server.mjs +1472 -1788
  163. package/dist/server/rendering.mjs +1472 -1788
  164. package/dist/server/routing.mjs +1600 -1891
  165. package/dist/server/server.mjs +1574 -1860
  166. package/dist/server/theme-bridge.mjs +1436 -1619
  167. package/dist/server/theme.mjs +1345 -1241
  168. package/dist/server/webhooks.mjs +54 -2
  169. package/package.json +1 -1
  170. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  171. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  172. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  173. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  174. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  175. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  176. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  177. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  178. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  179. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  180. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  181. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  182. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  183. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  184. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
  185. package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
  186. package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
@@ -189,7 +189,7 @@ var init_block_kinds = __esmMin((() => {
189
189
  }));
190
190
  //#endregion
191
191
  //#region src/types/index.ts
192
- var init_types$18 = __esmMin((() => {
192
+ var init_types$17 = __esmMin((() => {
193
193
  init_block_kinds();
194
194
  }));
195
195
  //#endregion
@@ -535,7 +535,7 @@ function mergeLoaderResults(configResults, codeResults) {
535
535
  }
536
536
  var systemBlockKindSet;
537
537
  var init_executeCodeLoaders = __esmMin((() => {
538
- init_types$18();
538
+ init_types$17();
539
539
  init_dataLoaderContext();
540
540
  init_dataLoaderValue();
541
541
  init_defineOwnDataProperty();
@@ -595,7 +595,7 @@ var init_endpoints = __esmMin((() => {
595
595
  blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
596
596
  blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
597
597
  blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
598
- TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents;
598
+ TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicCourses, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicGifting, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents;
599
599
  })), API_ERROR_CODES;
600
600
  var init_envelope = __esmMin((() => {
601
601
  API_ERROR_CODES = [
@@ -1482,7 +1482,7 @@ var init_all = __esmMin((() => {
1482
1482
  }));
1483
1483
  //#endregion
1484
1484
  //#region ../theme-core/src/palette/types.ts
1485
- var init_types$17 = __esmMin((() => {}));
1485
+ var init_types$16 = __esmMin((() => {}));
1486
1486
  //#endregion
1487
1487
  //#region ../../node_modules/.pnpm/@vibrant+image@4.0.4/node_modules/@vibrant/image/dist/esm/histogram.js
1488
1488
  var Histogram;
@@ -2929,7 +2929,7 @@ function defineCuratedPalette(input) {
2929
2929
  };
2930
2930
  }
2931
2931
  var curatedPaletteAuthoringKeySchema;
2932
- var init_types$16 = __esmMin((() => {
2932
+ var init_types$15 = __esmMin((() => {
2933
2933
  init_styleTags();
2934
2934
  init_themeColorTokens();
2935
2935
  init_colors();
@@ -2970,7 +2970,7 @@ var init_types$16 = __esmMin((() => {
2970
2970
  //#region ../theme-core/src/palette/curated/brand-led.ts
2971
2971
  var brandLedCool, brandLedWarm, brandLedJewel, brandLedSpruce, brandLedBurgundyGold;
2972
2972
  var init_brand_led = __esmMin((() => {
2973
- init_types$16();
2973
+ init_types$15();
2974
2974
  brandLedCool = defineCuratedPalette({
2975
2975
  authoringKey: "brand-led-cool",
2976
2976
  name: "Brand-led — Cool",
@@ -3301,7 +3301,7 @@ var init_brand_led = __esmMin((() => {
3301
3301
  //#region ../theme-core/src/palette/curated/high-contrast.ts
3302
3302
  var highContrastInk, highContrastCharcoal, highContrastMonochrome;
3303
3303
  var init_high_contrast = __esmMin((() => {
3304
- init_types$16();
3304
+ init_types$15();
3305
3305
  highContrastInk = defineCuratedPalette({
3306
3306
  authoringKey: "high-contrast-ink",
3307
3307
  name: "High Contrast — Ink",
@@ -3502,7 +3502,7 @@ var init_high_contrast = __esmMin((() => {
3502
3502
  //#region ../theme-core/src/palette/curated/soft-natural.ts
3503
3503
  var softNaturalSage, softNaturalStone, softNaturalWatercolor, softNaturalLilac;
3504
3504
  var init_soft_natural = __esmMin((() => {
3505
- init_types$16();
3505
+ init_types$15();
3506
3506
  softNaturalSage = defineCuratedPalette({
3507
3507
  authoringKey: "soft-natural-sage",
3508
3508
  name: "Soft Natural — Sage",
@@ -3768,7 +3768,7 @@ var init_soft_natural = __esmMin((() => {
3768
3768
  //#region ../theme-core/src/palette/curated/warm-neutral.ts
3769
3769
  var warmNeutralClay, warmNeutralCream, warmNeutralSoftEarth, warmNeutralForest;
3770
3770
  var init_warm_neutral = __esmMin((() => {
3771
- init_types$16();
3771
+ init_types$15();
3772
3772
  warmNeutralClay = defineCuratedPalette({
3773
3773
  authoringKey: "warm-neutral-clay",
3774
3774
  name: "Warm Neutral — Clay",
@@ -4034,7 +4034,7 @@ var init_warm_neutral = __esmMin((() => {
4034
4034
  //#region ../theme-core/src/palette/curated/warm-dark.ts
4035
4035
  var warmDarkEmber, warmDarkKirtanGold;
4036
4036
  var init_warm_dark = __esmMin((() => {
4037
- init_types$16();
4037
+ init_types$15();
4038
4038
  warmDarkEmber = defineCuratedPalette({
4039
4039
  authoringKey: "warm-dark-ember",
4040
4040
  name: "Warm Dark — Ember",
@@ -4200,7 +4200,7 @@ var init_curated = __esmMin((() => {
4200
4200
  init_soft_natural();
4201
4201
  init_warm_neutral();
4202
4202
  init_warm_dark();
4203
- init_types$16();
4203
+ init_types$15();
4204
4204
  curatedPalettes = [
4205
4205
  admitCuratedPaletteDefinition(brandLedCool),
4206
4206
  admitCuratedPaletteDefinition(brandLedWarm),
@@ -4248,7 +4248,7 @@ var init_curated = __esmMin((() => {
4248
4248
  var init_resolveSelection = __esmMin((() => {
4249
4249
  init_curated();
4250
4250
  })), sitePaletteIdSchema, sitePaletteVersionSchema, paletteSelectionSchema, onboardingPaletteOriginSchema, curatedForkPaletteOriginSchema, manualPaletteOriginSchema, legacyCustomizedPaletteOriginSchema, sitePaletteOriginSchema, editorSitePaletteOriginSchema;
4251
- var init_selection = __esmMin((() => {
4251
+ var init_selection$1 = __esmMin((() => {
4252
4252
  init_colors();
4253
4253
  init_curated();
4254
4254
  sitePaletteIdSchema = z$1.string().uuid().transform((value) => value);
@@ -4317,14 +4317,14 @@ var init_persistenceReadSource = __esmMin((() => {
4317
4317
  init_curated();
4318
4318
  init_colors();
4319
4319
  init_resolveSelection();
4320
- init_selection();
4320
+ init_selection$1();
4321
4321
  }));
4322
4322
  //#endregion
4323
4323
  //#region ../theme-core/src/palette/sitePalettePersistence.ts
4324
4324
  var init_sitePalettePersistence = __esmMin((() => {
4325
4325
  init_curated();
4326
4326
  init_colors();
4327
- init_selection();
4327
+ init_selection$1();
4328
4328
  }));
4329
4329
  //#endregion
4330
4330
  //#region ../theme-core/src/palette/utils/fromVibrant.ts
@@ -4340,7 +4340,7 @@ var init_palette = __esmMin((() => {
4340
4340
  init_generateCssVars();
4341
4341
  init_generateShades();
4342
4342
  init_neutralScale();
4343
- init_types$17();
4343
+ init_types$16();
4344
4344
  init_utils$4();
4345
4345
  init_paletteAccess();
4346
4346
  init_extractPalette();
@@ -4349,7 +4349,7 @@ var init_palette = __esmMin((() => {
4349
4349
  init_libraryModel();
4350
4350
  init_persistenceReadSource();
4351
4351
  init_resolveSelection();
4352
- init_selection();
4352
+ init_selection$1();
4353
4353
  init_sitePalettePersistence();
4354
4354
  init_fromVibrant();
4355
4355
  init_suggestRecipes();
@@ -4860,7 +4860,7 @@ function isUnknownArray(value) {
4860
4860
  return Array.isArray(value);
4861
4861
  }
4862
4862
  var VARIANT_ROLES, opaqueButtonColourTokenSchema, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, hoverColorSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, canonicalButtonGlobalSettingsSchema, buttonGlobalSettingsSchema, gradientDirectionSchema$1, buttonColourTreatmentSchema, buttonBackgroundSchema, effectApplicationSchema$1, buttonBorderSchema, buttonVariantAffordanceSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, canonicalButtonVariantSchema, buttonVariantSchema, buttonSystemSchema;
4863
- var init_types$15 = __esmMin((() => {
4863
+ var init_types$14 = __esmMin((() => {
4864
4864
  init_effectClassification();
4865
4865
  init_themeColorTokens();
4866
4866
  init_colorTokenParts();
@@ -5096,7 +5096,7 @@ var init_types$15 = __esmMin((() => {
5096
5096
  //#endregion
5097
5097
  //#region ../theme-core/src/buttons/classNames.ts
5098
5098
  var init_classNames = __esmMin((() => {
5099
- init_types$15();
5099
+ init_types$14();
5100
5100
  }));
5101
5101
  //#endregion
5102
5102
  //#region ../theme-core/src/buttons/constants.ts
@@ -5106,11 +5106,11 @@ var init_constants$1 = __esmMin((() => {}));
5106
5106
  var init_transform = __esmMin((() => {}));
5107
5107
  //#endregion
5108
5108
  //#region ../theme-core/src/buttons/effects/registry.ts
5109
- var init_registry$7 = __esmMin((() => {}));
5109
+ var init_registry$8 = __esmMin((() => {}));
5110
5110
  //#endregion
5111
5111
  //#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
5112
5112
  var init_generateDefaultButtonSystem = __esmMin((() => {
5113
- init_types$15();
5113
+ init_types$14();
5114
5114
  }));
5115
5115
  //#endregion
5116
5116
  //#region ../theme-core/src/buttons/affordanceIcons.ts
@@ -5118,65 +5118,920 @@ var init_affordanceIcons = __esmMin((() => {}));
5118
5118
  //#endregion
5119
5119
  //#region ../theme-core/src/buttons/resolveButtonColourStates.ts
5120
5120
  var init_resolveButtonColourStates = __esmMin((() => {
5121
- init_types$15();
5121
+ init_types$14();
5122
5122
  init_effectClassification();
5123
5123
  }));
5124
5124
  var init_generateButtonCss = __esmMin((() => {
5125
- init_types$15();
5125
+ init_types$14();
5126
5126
  init_classNames();
5127
5127
  init_generateDefaultButtonSystem();
5128
5128
  init_resolveButtonColourStates();
5129
5129
  buttonSizeNameSchema.options;
5130
5130
  }));
5131
5131
  //#endregion
5132
- //#region ../theme-core/src/buttons/personalities/types.ts
5133
- function asButtonPersonalityId(value) {
5134
- if (value.length === 0) throw new Error("ButtonPersonalityId must be a non-empty string");
5135
- return value;
5132
+ //#region ../theme-core/src/buttons/styles/domain.ts
5133
+ function defineButtonStyleRecipe(recipe) {
5134
+ return recipe;
5136
5135
  }
5137
- /**
5138
- * Helper for personality file modules to keep the call site short and
5139
- * type-safe. `as const satisfies ...` would also work but produces wider
5140
- * types at use sites.
5141
- */
5142
- function defineButtonPersonality(input) {
5136
+ function materializeButtonRoles(definitions) {
5137
+ const primary = materializeCompleteRole("primary", definitions.primary.appearance);
5138
+ const secondary = materializeCompleteRole("secondary", definitions.secondary.appearance);
5139
+ const completeRoles = {
5140
+ primary,
5141
+ secondary
5142
+ };
5143
5143
  return {
5144
- id: asButtonPersonalityId(input.id),
5145
- name: input.name,
5146
- description: input.description,
5147
- tags: input.tags,
5148
- buttonSystem: buttonSystemSchema.parse(input.buttonSystem)
5144
+ primary,
5145
+ secondary,
5146
+ outline: materializeSupportingRole("outline", definitions.outline, completeRoles),
5147
+ ghost: materializeSupportingRole("ghost", definitions.ghost, completeRoles),
5148
+ accent: materializeSupportingRole("accent", definitions.accent, completeRoles)
5149
5149
  };
5150
5150
  }
5151
- var buttonPersonalityIdSchema;
5152
- var init_types$14 = __esmMin((() => {
5153
- init_types$15();
5154
- init_styleTags();
5155
- buttonPersonalityIdSchema = z$1.string().min(1).transform((value) => asButtonPersonalityId(value));
5156
- z$1.object({
5157
- id: buttonPersonalityIdSchema,
5158
- name: z$1.string().min(1),
5159
- description: z$1.string().min(1),
5160
- tags: styleTagsSchema,
5161
- buttonSystem: buttonSystemSchema
5151
+ function resolveButtonStyleRecipe(recipe, parameters) {
5152
+ const parsedParameters = recipe.parameterSchema.safeParse(parameters);
5153
+ if (!parsedParameters.success) return {
5154
+ kind: "error",
5155
+ error: {
5156
+ kind: "invalid-parameters",
5157
+ styleId: recipe.id,
5158
+ issues: parsedParameters.error.issues.map((issue) => issue.message)
5159
+ }
5160
+ };
5161
+ const definition = recipe.defineSystem(parsedParameters.data);
5162
+ const roles = materializeButtonRoles(definition.roles);
5163
+ const buttonSystem = {
5164
+ global: definition.global,
5165
+ variants: PUBLIC_BUTTON_ROLES.map((role) => roles[role]),
5166
+ ...definition.sizes ? { sizes: definition.sizes } : {}
5167
+ };
5168
+ const parsedButtonSystem = buttonSystemSchema.safeParse(buttonSystem);
5169
+ if (!parsedButtonSystem.success) return {
5170
+ kind: "error",
5171
+ error: {
5172
+ kind: "invalid-button-system",
5173
+ styleId: recipe.id,
5174
+ issues: parsedButtonSystem.error.issues.map((issue) => issue.message)
5175
+ }
5176
+ };
5177
+ return {
5178
+ kind: "resolved",
5179
+ buttonSystem: parsedButtonSystem.data
5180
+ };
5181
+ }
5182
+ function materializeSupportingRole(role, definition, completeRoles) {
5183
+ if (definition.kind === "complete") return materializeCompleteRole(role, definition.appearance);
5184
+ return {
5185
+ ...completeRoles[definition.from],
5186
+ ...definition.overrides,
5187
+ id: role,
5188
+ name: roleName(role),
5189
+ enabled: true,
5190
+ priority: 3
5191
+ };
5192
+ }
5193
+ function materializeCompleteRole(role, appearance) {
5194
+ return {
5195
+ ...appearance,
5196
+ id: role,
5197
+ name: roleName(role),
5198
+ enabled: true,
5199
+ priority: rolePriority(role)
5200
+ };
5201
+ }
5202
+ function roleName(role) {
5203
+ return role.charAt(0).toUpperCase() + role.slice(1);
5204
+ }
5205
+ function rolePriority(role) {
5206
+ if (role === "primary") return 1;
5207
+ if (role === "secondary") return 2;
5208
+ return 3;
5209
+ }
5210
+ var PUBLIC_BUTTON_ROLES;
5211
+ var init_domain = __esmMin((() => {
5212
+ init_types$14();
5213
+ PUBLIC_BUTTON_ROLES = [
5214
+ "primary",
5215
+ "secondary",
5216
+ "outline",
5217
+ "ghost",
5218
+ "accent"
5219
+ ];
5220
+ }));
5221
+ //#endregion
5222
+ //#region ../theme-core/src/buttons/styles/selection.ts
5223
+ function selectionBranch(styleId, parameters) {
5224
+ return z$1.object({
5225
+ styleId: z$1.literal(styleId),
5226
+ parameters
5227
+ }).strict();
5228
+ }
5229
+ var BUTTON_STYLE_IDS, quietArrowParametersSchema, emptyParametersSchema$1, buttonStyleSelectionWireSchema, buttonStyleSelectionSchema;
5230
+ var init_selection = __esmMin((() => {
5231
+ BUTTON_STYLE_IDS = [
5232
+ "soft-pill",
5233
+ "earth-pill",
5234
+ "confident-chip",
5235
+ "editorial-link",
5236
+ "pebble",
5237
+ "ink-stamp",
5238
+ "flat-ink",
5239
+ "brushed-wash",
5240
+ "showtime-pill",
5241
+ "joy-stamp",
5242
+ "ornate-ritual",
5243
+ "quiet-arrow"
5244
+ ];
5245
+ quietArrowParametersSchema = z$1.object({ secondaryTreatment: z$1.enum(["outlined", "solid-accent"]) }).strict();
5246
+ emptyParametersSchema$1 = z$1.object({}).strict();
5247
+ buttonStyleSelectionWireSchema = z$1.discriminatedUnion("styleId", [
5248
+ selectionBranch("soft-pill", emptyParametersSchema$1),
5249
+ selectionBranch("earth-pill", emptyParametersSchema$1),
5250
+ selectionBranch("confident-chip", emptyParametersSchema$1),
5251
+ selectionBranch("editorial-link", emptyParametersSchema$1),
5252
+ selectionBranch("pebble", emptyParametersSchema$1),
5253
+ selectionBranch("ink-stamp", emptyParametersSchema$1),
5254
+ selectionBranch("flat-ink", emptyParametersSchema$1),
5255
+ selectionBranch("brushed-wash", emptyParametersSchema$1),
5256
+ selectionBranch("showtime-pill", emptyParametersSchema$1),
5257
+ selectionBranch("joy-stamp", emptyParametersSchema$1),
5258
+ selectionBranch("ornate-ritual", emptyParametersSchema$1),
5259
+ selectionBranch("quiet-arrow", quietArrowParametersSchema)
5260
+ ]);
5261
+ buttonStyleSelectionSchema = buttonStyleSelectionWireSchema;
5262
+ }));
5263
+ //#endregion
5264
+ //#region ../theme-core/src/buttons/styles/recipes/quietArrow.ts
5265
+ var quietArrowRecipe;
5266
+ var init_quietArrow = __esmMin((() => {
5267
+ init_domain();
5268
+ init_types$14();
5269
+ init_selection();
5270
+ quietArrowRecipe = defineButtonStyleRecipe({
5271
+ id: "quiet-arrow",
5272
+ accessibilityLabel: "Wide uppercase buttons with trailing arrows",
5273
+ tags: {
5274
+ tone: "classic",
5275
+ energy: "calm",
5276
+ motion: "subtle",
5277
+ era: "editorial"
5278
+ },
5279
+ parameterSchema: quietArrowParametersSchema,
5280
+ defaultParameters: { secondaryTreatment: "outlined" },
5281
+ controls: [{
5282
+ kind: "choice",
5283
+ parameter: "secondaryTreatment",
5284
+ label: "Secondary button treatment",
5285
+ options: [{
5286
+ value: "outlined",
5287
+ label: "Outlined"
5288
+ }, {
5289
+ value: "solid-accent",
5290
+ label: "Solid accent"
5291
+ }]
5292
+ }],
5293
+ defineSystem: (parameters) => ({
5294
+ global: {
5295
+ cornerStyle: "rounded",
5296
+ textTransform: "uppercase",
5297
+ fontWeight: 500,
5298
+ borderWidth: 1,
5299
+ typography: "body",
5300
+ fontSize: "text-sm",
5301
+ letterSpacing: "loose",
5302
+ hoverTransform: "none",
5303
+ hoverColor: "none"
5304
+ },
5305
+ sizes: {
5306
+ sm: {
5307
+ padding: "0.625rem 1.25rem",
5308
+ fontSize: "text-xs"
5309
+ },
5310
+ md: {
5311
+ padding: "0.8125rem 1.75rem",
5312
+ fontSize: "text-sm"
5313
+ },
5314
+ lg: {
5315
+ padding: "0.9375rem 2.125rem",
5316
+ fontSize: "text-sm"
5317
+ },
5318
+ xl: {
5319
+ padding: "1.0625rem 2.5rem",
5320
+ fontSize: "text-base"
5321
+ }
5322
+ },
5323
+ roles: {
5324
+ primary: {
5325
+ kind: "complete",
5326
+ appearance: {
5327
+ background: {
5328
+ type: "solid",
5329
+ colorToken: unsafeAsOpaqueButtonColourToken("primary")
5330
+ },
5331
+ borderRadius: "rounded-xl",
5332
+ affordance: { iconId: "ArrowRight" },
5333
+ effects: { hover: [{
5334
+ effectId: "darken-background",
5335
+ options: { amount: 100 }
5336
+ }] }
5337
+ }
5338
+ },
5339
+ secondary: {
5340
+ kind: "complete",
5341
+ appearance: parameters.secondaryTreatment === "solid-accent" ? {
5342
+ background: {
5343
+ type: "solid",
5344
+ colorToken: unsafeAsOpaqueButtonColourToken("accent")
5345
+ },
5346
+ borderRadius: "rounded-xl",
5347
+ affordance: { iconId: "ArrowRight" },
5348
+ effects: { hover: [{
5349
+ effectId: "darken-background",
5350
+ options: { amount: 100 }
5351
+ }] }
5352
+ } : {
5353
+ background: {
5354
+ type: "surface",
5355
+ role: "link"
5356
+ },
5357
+ borderRadius: "rounded-xl",
5358
+ border: { widthClass: "border" },
5359
+ affordance: { iconId: "ArrowRight" },
5360
+ effects: { hover: [{
5361
+ effectId: "background-on-hover",
5362
+ options: { colorToken: "surfaceAlt" }
5363
+ }] }
5364
+ }
5365
+ },
5366
+ outline: {
5367
+ kind: "complete",
5368
+ appearance: {
5369
+ background: {
5370
+ type: "surface",
5371
+ role: "link"
5372
+ },
5373
+ borderRadius: "rounded-xl",
5374
+ border: { widthClass: "border" }
5375
+ }
5376
+ },
5377
+ ghost: {
5378
+ kind: "complete",
5379
+ appearance: {
5380
+ background: {
5381
+ type: "surface",
5382
+ role: "link"
5383
+ },
5384
+ borderRadius: "rounded-xl"
5385
+ }
5386
+ },
5387
+ accent: {
5388
+ kind: "derive",
5389
+ from: "primary",
5390
+ overrides: { background: {
5391
+ type: "solid",
5392
+ colorToken: unsafeAsOpaqueButtonColourToken("accent")
5393
+ } }
5394
+ }
5395
+ }
5396
+ })
5162
5397
  });
5163
5398
  }));
5164
5399
  //#endregion
5165
- //#region ../theme-core/src/buttons/personalities/brushed-wash.ts
5166
- var brushedWash;
5167
- var init_brushed_wash = __esmMin((() => {
5400
+ //#region ../theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.ts
5401
+ function defineStaticButtonStyleRecipe(input) {
5402
+ const system = normalizeSystem(input.system);
5403
+ return defineButtonStyleRecipe({
5404
+ id: input.id,
5405
+ accessibilityLabel: input.accessibilityLabel,
5406
+ tags: input.tags,
5407
+ parameterSchema: emptyParametersSchema,
5408
+ defaultParameters: {},
5409
+ controls: [],
5410
+ defineSystem: () => system
5411
+ });
5412
+ }
5413
+ function normalizeSystem(input) {
5414
+ return {
5415
+ global: buttonGlobalSettingsSchema.parse(input.global),
5416
+ ...input.sizes ? { sizes: input.sizes } : {},
5417
+ roles: {
5418
+ primary: normalizeCompleteRole(input.roles.primary),
5419
+ secondary: normalizeCompleteRole(input.roles.secondary),
5420
+ outline: normalizeSupportingRole(input.roles.outline),
5421
+ ghost: normalizeSupportingRole(input.roles.ghost),
5422
+ accent: normalizeSupportingRole(input.roles.accent)
5423
+ }
5424
+ };
5425
+ }
5426
+ function normalizeCompleteRole(role) {
5427
+ return {
5428
+ kind: "complete",
5429
+ appearance: normalizeAppearance(role.appearance)
5430
+ };
5431
+ }
5432
+ function normalizeSupportingRole(role) {
5433
+ if (role.kind === "complete") return normalizeCompleteRole(role);
5434
+ return {
5435
+ kind: "derive",
5436
+ from: role.from,
5437
+ ...role.overrides ? { overrides: normalizeAppearanceOverrides(role.overrides) } : {}
5438
+ };
5439
+ }
5440
+ function normalizeAppearance(appearance) {
5441
+ const { background, hoverBackgroundToken, ...rest } = appearance;
5442
+ return {
5443
+ ...rest,
5444
+ background: buttonColourTreatmentSchema.parse(background),
5445
+ ...hoverBackgroundToken ? { hoverBackgroundToken: opaqueButtonColourTokenSchema.parse(hoverBackgroundToken) } : {}
5446
+ };
5447
+ }
5448
+ function normalizeAppearanceOverrides(overrides) {
5449
+ const { background, hoverBackgroundToken, ...rest } = overrides;
5450
+ return {
5451
+ ...rest,
5452
+ ...background ? { background: buttonColourTreatmentSchema.parse(background) } : {},
5453
+ ...hoverBackgroundToken ? { hoverBackgroundToken: opaqueButtonColourTokenSchema.parse(hoverBackgroundToken) } : {}
5454
+ };
5455
+ }
5456
+ var emptyParametersSchema;
5457
+ var init_defineStaticButtonStyleRecipe = __esmMin((() => {
5168
5458
  init_types$14();
5169
- brushedWash = defineButtonPersonality({
5459
+ init_domain();
5460
+ emptyParametersSchema = z$1.object({}).strict();
5461
+ }));
5462
+ //#endregion
5463
+ //#region ../theme-core/src/buttons/styles/recipes/staticRecipes.ts
5464
+ var softPillRecipe, earthPillRecipe, confidentChipRecipe, editorialSizes, editorialLinkRecipe, pebbleRecipe, brushedWashRecipe, inkStampRecipe, flatInkRecipe, showtimePillRecipe, joyStampRecipe, ornateGhostSizes, ornateRitualRecipe;
5465
+ var init_staticRecipes = __esmMin((() => {
5466
+ init_defineStaticButtonStyleRecipe();
5467
+ softPillRecipe = defineStaticButtonStyleRecipe({
5468
+ id: "soft-pill",
5469
+ accessibilityLabel: "Rounded pill buttons with a gentle hover lift",
5470
+ tags: {
5471
+ tone: "classic",
5472
+ energy: "calm",
5473
+ motion: "subtle",
5474
+ era: "organic"
5475
+ },
5476
+ system: {
5477
+ global: {
5478
+ cornerStyle: "pill",
5479
+ shadow: "low",
5480
+ textTransform: "none",
5481
+ fontWeight: 500,
5482
+ borderWidth: 2,
5483
+ hoverTransform: "lift",
5484
+ hoverColor: "none"
5485
+ },
5486
+ roles: {
5487
+ primary: {
5488
+ kind: "complete",
5489
+ appearance: {
5490
+ background: {
5491
+ type: "solid",
5492
+ colorToken: "primary"
5493
+ },
5494
+ borderRadius: "rounded-full",
5495
+ shadow: {
5496
+ elevation: "low",
5497
+ softness: "soft",
5498
+ position: "bottom"
5499
+ },
5500
+ effects: {
5501
+ hover: [{
5502
+ effectId: "lift",
5503
+ options: { translateY: "-1px" }
5504
+ }],
5505
+ active: [{
5506
+ effectId: "scale-down",
5507
+ options: { scale: "0.98" }
5508
+ }]
5509
+ }
5510
+ }
5511
+ },
5512
+ secondary: {
5513
+ kind: "complete",
5514
+ appearance: {
5515
+ background: {
5516
+ type: "surface",
5517
+ role: "link"
5518
+ },
5519
+ borderRadius: "rounded-full",
5520
+ border: { widthClass: "border-2" },
5521
+ effects: { hover: [{
5522
+ effectId: "background-on-hover",
5523
+ options: { colorToken: "surface" }
5524
+ }] }
5525
+ }
5526
+ },
5527
+ outline: {
5528
+ kind: "complete",
5529
+ appearance: {
5530
+ background: {
5531
+ type: "surface",
5532
+ role: "link"
5533
+ },
5534
+ borderRadius: "rounded-full",
5535
+ border: { widthClass: "border" },
5536
+ effects: { hover: [{
5537
+ effectId: "background-on-hover",
5538
+ options: { colorToken: "surface" }
5539
+ }] }
5540
+ }
5541
+ },
5542
+ ghost: {
5543
+ kind: "complete",
5544
+ appearance: {
5545
+ background: {
5546
+ type: "surface",
5547
+ role: "link"
5548
+ },
5549
+ borderRadius: "rounded-full",
5550
+ effects: { hover: [{
5551
+ effectId: "background-on-hover",
5552
+ options: { colorToken: "surface" }
5553
+ }] }
5554
+ }
5555
+ },
5556
+ accent: {
5557
+ kind: "derive",
5558
+ from: "primary",
5559
+ overrides: { background: {
5560
+ type: "solid",
5561
+ colorToken: "accent"
5562
+ } }
5563
+ }
5564
+ }
5565
+ }
5566
+ });
5567
+ earthPillRecipe = defineStaticButtonStyleRecipe({
5568
+ id: "earth-pill",
5569
+ accessibilityLabel: "Compact rounded buttons with a quiet hover lift",
5570
+ tags: {
5571
+ tone: "classic",
5572
+ energy: "calm",
5573
+ motion: "subtle",
5574
+ era: "organic"
5575
+ },
5576
+ system: {
5577
+ global: {
5578
+ cornerStyle: "pill",
5579
+ shadow: "low",
5580
+ textTransform: "none",
5581
+ fontWeight: 500,
5582
+ borderWidth: 1,
5583
+ hoverTransform: "lift",
5584
+ hoverColor: "none",
5585
+ typography: "body",
5586
+ paddingPreset: "default"
5587
+ },
5588
+ sizes: {
5589
+ sm: {
5590
+ padding: "0.5rem 1rem",
5591
+ fontSize: "text-sm"
5592
+ },
5593
+ md: { padding: "0.625rem 1.35rem" },
5594
+ lg: {
5595
+ padding: "0.75rem 1.65rem",
5596
+ fontSize: "text-lg"
5597
+ },
5598
+ xl: {
5599
+ padding: "0.875rem 2rem",
5600
+ fontSize: "text-xl"
5601
+ }
5602
+ },
5603
+ roles: {
5604
+ primary: {
5605
+ kind: "complete",
5606
+ appearance: {
5607
+ background: {
5608
+ type: "solid",
5609
+ colorToken: "primary"
5610
+ },
5611
+ borderRadius: "rounded-full",
5612
+ shadow: {
5613
+ elevation: "low",
5614
+ softness: "soft",
5615
+ position: "bottom"
5616
+ },
5617
+ effects: {
5618
+ hover: [{
5619
+ effectId: "lift",
5620
+ options: { translateY: "-1px" }
5621
+ }, {
5622
+ effectId: "background-on-hover",
5623
+ options: { colorToken: "accent" }
5624
+ }],
5625
+ active: [{
5626
+ effectId: "scale-down",
5627
+ options: { scale: "0.98" }
5628
+ }]
5629
+ }
5630
+ }
5631
+ },
5632
+ secondary: {
5633
+ kind: "complete",
5634
+ appearance: {
5635
+ background: {
5636
+ type: "surface",
5637
+ role: "link"
5638
+ },
5639
+ borderRadius: "rounded-full",
5640
+ border: { widthClass: "border" },
5641
+ effects: { hover: [{
5642
+ effectId: "background-on-hover",
5643
+ options: { colorToken: "muted" }
5644
+ }] }
5645
+ }
5646
+ },
5647
+ outline: {
5648
+ kind: "complete",
5649
+ appearance: {
5650
+ background: {
5651
+ type: "surface",
5652
+ role: "link"
5653
+ },
5654
+ borderRadius: "rounded-full",
5655
+ border: { widthClass: "border" },
5656
+ effects: { hover: [{
5657
+ effectId: "background-on-hover",
5658
+ options: { colorToken: "surfaceAlt" }
5659
+ }] }
5660
+ }
5661
+ },
5662
+ ghost: {
5663
+ kind: "complete",
5664
+ appearance: {
5665
+ background: {
5666
+ type: "surface",
5667
+ role: "link"
5668
+ },
5669
+ borderRadius: "rounded-full",
5670
+ shadow: {
5671
+ elevation: "none",
5672
+ softness: null,
5673
+ position: "bottom"
5674
+ },
5675
+ sizes: {
5676
+ sm: {
5677
+ padding: "0.25rem 0",
5678
+ fontSize: "text-sm"
5679
+ },
5680
+ md: { padding: "0.375rem 0" },
5681
+ lg: {
5682
+ padding: "0.5rem 0",
5683
+ fontSize: "text-lg"
5684
+ },
5685
+ xl: {
5686
+ padding: "0.625rem 0",
5687
+ fontSize: "text-xl"
5688
+ }
5689
+ }
5690
+ }
5691
+ },
5692
+ accent: {
5693
+ kind: "derive",
5694
+ from: "primary",
5695
+ overrides: { background: {
5696
+ type: "solid",
5697
+ colorToken: "accent"
5698
+ } }
5699
+ }
5700
+ }
5701
+ }
5702
+ });
5703
+ confidentChipRecipe = defineStaticButtonStyleRecipe({
5704
+ id: "confident-chip",
5705
+ accessibilityLabel: "Moderately rounded solid buttons with a crisp hover",
5706
+ tags: {
5707
+ tone: "classic",
5708
+ energy: "calm",
5709
+ motion: "standard",
5710
+ era: "modern"
5711
+ },
5712
+ system: {
5713
+ global: {
5714
+ cornerStyle: "rounded",
5715
+ shadow: "medium",
5716
+ textTransform: "none",
5717
+ fontWeight: 600,
5718
+ borderWidth: 1,
5719
+ hoverTransform: "none",
5720
+ hoverColor: "none"
5721
+ },
5722
+ roles: {
5723
+ primary: {
5724
+ kind: "complete",
5725
+ appearance: {
5726
+ background: {
5727
+ type: "solid",
5728
+ colorToken: "primary"
5729
+ },
5730
+ borderRadius: "rounded-md",
5731
+ shadow: {
5732
+ elevation: "medium",
5733
+ softness: "soft",
5734
+ position: "bottom"
5735
+ },
5736
+ effects: {
5737
+ hover: [{
5738
+ effectId: "darken-background",
5739
+ options: { amount: 100 }
5740
+ }],
5741
+ active: [{
5742
+ effectId: "scale-down",
5743
+ options: { scale: "0.97" }
5744
+ }]
5745
+ }
5746
+ }
5747
+ },
5748
+ secondary: {
5749
+ kind: "complete",
5750
+ appearance: {
5751
+ background: {
5752
+ type: "solid",
5753
+ colorToken: "surface"
5754
+ },
5755
+ borderRadius: "rounded-md",
5756
+ border: { widthClass: "border" },
5757
+ effects: { hover: [{
5758
+ effectId: "background-on-hover",
5759
+ options: { colorToken: "background" }
5760
+ }] }
5761
+ }
5762
+ },
5763
+ outline: {
5764
+ kind: "complete",
5765
+ appearance: {
5766
+ background: {
5767
+ type: "surface",
5768
+ role: "link"
5769
+ },
5770
+ borderRadius: "rounded-md",
5771
+ border: { widthClass: "border" },
5772
+ effects: { hover: [{
5773
+ effectId: "background-on-hover",
5774
+ options: { colorToken: "surface" }
5775
+ }] }
5776
+ }
5777
+ },
5778
+ ghost: {
5779
+ kind: "complete",
5780
+ appearance: {
5781
+ background: {
5782
+ type: "surface",
5783
+ role: "link"
5784
+ },
5785
+ borderRadius: "rounded-md",
5786
+ effects: { hover: [{
5787
+ effectId: "background-on-hover",
5788
+ options: { colorToken: "surface" }
5789
+ }] }
5790
+ }
5791
+ },
5792
+ accent: {
5793
+ kind: "derive",
5794
+ from: "primary",
5795
+ overrides: { background: {
5796
+ type: "solid",
5797
+ colorToken: "accent"
5798
+ } }
5799
+ }
5800
+ }
5801
+ }
5802
+ });
5803
+ editorialSizes = {
5804
+ sm: { padding: "0.25rem 0" },
5805
+ md: { padding: "0.5rem 0" },
5806
+ lg: { padding: "0.625rem 0" },
5807
+ xl: { padding: "0.75rem 0" }
5808
+ };
5809
+ editorialLinkRecipe = defineStaticButtonStyleRecipe({
5810
+ id: "editorial-link",
5811
+ accessibilityLabel: "Flat typographic buttons with an underline treatment",
5812
+ tags: {
5813
+ tone: "minimal",
5814
+ energy: "calm",
5815
+ motion: "subtle",
5816
+ era: "editorial"
5817
+ },
5818
+ system: {
5819
+ global: {
5820
+ cornerStyle: "square",
5821
+ textTransform: "none",
5822
+ fontWeight: 500,
5823
+ borderWidth: 1,
5824
+ hoverTransform: "none",
5825
+ hoverColor: "none"
5826
+ },
5827
+ roles: {
5828
+ primary: {
5829
+ kind: "complete",
5830
+ appearance: {
5831
+ background: {
5832
+ type: "surface",
5833
+ role: "link"
5834
+ },
5835
+ borderRadius: "rounded-none",
5836
+ sizes: editorialSizes,
5837
+ effects: { base: [{
5838
+ effectId: "border-bottom-grow",
5839
+ options: {
5840
+ height: 2,
5841
+ colorToken: "text",
5842
+ origin: "left"
5843
+ }
5844
+ }] }
5845
+ }
5846
+ },
5847
+ secondary: {
5848
+ kind: "complete",
5849
+ appearance: {
5850
+ background: {
5851
+ type: "surface",
5852
+ role: "link"
5853
+ },
5854
+ borderRadius: "rounded-none",
5855
+ sizes: editorialSizes,
5856
+ effects: { base: [{
5857
+ effectId: "border-bottom-grow",
5858
+ options: {
5859
+ height: 1,
5860
+ colorToken: "mutedText",
5861
+ origin: "left"
5862
+ }
5863
+ }] }
5864
+ }
5865
+ },
5866
+ outline: {
5867
+ kind: "complete",
5868
+ appearance: {
5869
+ background: {
5870
+ type: "surface",
5871
+ role: "link"
5872
+ },
5873
+ borderRadius: "rounded-none",
5874
+ sizes: editorialSizes,
5875
+ effects: { base: [{
5876
+ effectId: "border-bottom-grow",
5877
+ options: {
5878
+ height: 1,
5879
+ colorToken: "accent",
5880
+ origin: "left"
5881
+ }
5882
+ }] }
5883
+ }
5884
+ },
5885
+ ghost: {
5886
+ kind: "complete",
5887
+ appearance: {
5888
+ background: {
5889
+ type: "surface",
5890
+ role: "link"
5891
+ },
5892
+ borderRadius: "rounded-none",
5893
+ sizes: editorialSizes
5894
+ }
5895
+ },
5896
+ accent: {
5897
+ kind: "derive",
5898
+ from: "primary",
5899
+ overrides: { effects: { base: [{
5900
+ effectId: "border-bottom-grow",
5901
+ options: {
5902
+ height: 2,
5903
+ colorToken: "accent",
5904
+ origin: "left"
5905
+ }
5906
+ }] } }
5907
+ }
5908
+ }
5909
+ }
5910
+ });
5911
+ pebbleRecipe = defineStaticButtonStyleRecipe({
5912
+ id: "pebble",
5913
+ accessibilityLabel: "Generously padded pill buttons",
5914
+ tags: {
5915
+ tone: "classic",
5916
+ energy: "calm",
5917
+ motion: "standard",
5918
+ era: "organic"
5919
+ },
5920
+ system: {
5921
+ global: {
5922
+ cornerStyle: "pill",
5923
+ textTransform: "none",
5924
+ fontWeight: 500,
5925
+ borderWidth: 2,
5926
+ hoverTransform: "none",
5927
+ hoverColor: "none"
5928
+ },
5929
+ sizes: {
5930
+ sm: {
5931
+ padding: "0.625rem 1.75rem",
5932
+ fontSize: "text-sm"
5933
+ },
5934
+ md: { padding: "0.875rem 2.25rem" },
5935
+ lg: {
5936
+ padding: "1.125rem 2.75rem",
5937
+ fontSize: "text-lg"
5938
+ },
5939
+ xl: {
5940
+ padding: "1.5rem 3.5rem",
5941
+ fontSize: "text-xl"
5942
+ }
5943
+ },
5944
+ roles: {
5945
+ primary: {
5946
+ kind: "complete",
5947
+ appearance: {
5948
+ background: {
5949
+ type: "solid",
5950
+ colorToken: "primary"
5951
+ },
5952
+ borderRadius: "rounded-full",
5953
+ effects: { hover: [{
5954
+ effectId: "darken-background",
5955
+ options: { amount: 100 }
5956
+ }] }
5957
+ }
5958
+ },
5959
+ secondary: {
5960
+ kind: "complete",
5961
+ appearance: {
5962
+ background: {
5963
+ type: "surface",
5964
+ role: "link"
5965
+ },
5966
+ borderRadius: "rounded-full",
5967
+ border: { widthClass: "border-2" },
5968
+ effects: { hover: [{
5969
+ effectId: "background-on-hover",
5970
+ options: { colorToken: "accent" }
5971
+ }] }
5972
+ }
5973
+ },
5974
+ outline: {
5975
+ kind: "complete",
5976
+ appearance: {
5977
+ background: {
5978
+ type: "surface",
5979
+ role: "link"
5980
+ },
5981
+ borderRadius: "rounded-full",
5982
+ border: { widthClass: "border" },
5983
+ effects: { hover: [{
5984
+ effectId: "background-on-hover",
5985
+ options: { colorToken: "surface" }
5986
+ }] }
5987
+ }
5988
+ },
5989
+ ghost: {
5990
+ kind: "complete",
5991
+ appearance: {
5992
+ background: {
5993
+ type: "surface",
5994
+ role: "link"
5995
+ },
5996
+ borderRadius: "rounded-full",
5997
+ sizes: {
5998
+ sm: {
5999
+ padding: "0.375rem 0.875rem",
6000
+ fontSize: "text-sm"
6001
+ },
6002
+ md: { padding: "0.5rem 1rem" },
6003
+ lg: {
6004
+ padding: "0.625rem 1.25rem",
6005
+ fontSize: "text-lg"
6006
+ },
6007
+ xl: {
6008
+ padding: "0.75rem 1.5rem",
6009
+ fontSize: "text-xl"
6010
+ }
6011
+ }
6012
+ }
6013
+ },
6014
+ accent: {
6015
+ kind: "derive",
6016
+ from: "primary",
6017
+ overrides: { background: {
6018
+ type: "solid",
6019
+ colorToken: "accent"
6020
+ } }
6021
+ }
6022
+ }
6023
+ }
6024
+ });
6025
+ brushedWashRecipe = defineStaticButtonStyleRecipe({
5170
6026
  id: "brushed-wash",
5171
- name: "Brushed Wash",
5172
- description: "Watercolour-gradient buttons with soft shadows and generous padding.",
6027
+ accessibilityLabel: "Generously padded gradient buttons with soft shadows",
5173
6028
  tags: {
5174
6029
  tone: "classic",
5175
6030
  energy: "vibrant",
5176
6031
  motion: "standard",
5177
6032
  era: "organic"
5178
6033
  },
5179
- buttonSystem: {
6034
+ system: {
5180
6035
  global: {
5181
6036
  cornerStyle: "rounded",
5182
6037
  shadow: "low",
@@ -5201,457 +6056,229 @@ var init_brushed_wash = __esmMin((() => {
5201
6056
  fontSize: "text-xl"
5202
6057
  }
5203
6058
  },
5204
- variants: [
5205
- {
5206
- id: "primary",
5207
- name: "Primary",
5208
- enabled: true,
5209
- priority: 1,
5210
- background: {
5211
- type: "gradient",
5212
- stops: ["primary", "accent"],
5213
- direction: "to-r",
5214
- foregroundToken: "primaryForeground"
5215
- },
5216
- borderRadius: "rounded-lg",
5217
- shadow: {
5218
- elevation: "low",
5219
- softness: "soft",
5220
- position: "bottom"
6059
+ roles: {
6060
+ primary: {
6061
+ kind: "complete",
6062
+ appearance: {
6063
+ background: {
6064
+ type: "gradient",
6065
+ stops: ["primary", "accent"],
6066
+ direction: "to-r",
6067
+ foregroundToken: "primaryForeground"
6068
+ },
6069
+ borderRadius: "rounded-lg",
6070
+ shadow: {
6071
+ elevation: "low",
6072
+ softness: "soft",
6073
+ position: "bottom"
6074
+ }
5221
6075
  }
5222
6076
  },
5223
- {
5224
- id: "secondary",
5225
- name: "Secondary",
5226
- enabled: true,
5227
- priority: 2,
5228
- background: {
5229
- type: "gradient",
5230
- stops: ["secondary", "accent"],
5231
- direction: "to-br",
5232
- foregroundToken: "primaryForeground"
5233
- },
5234
- borderRadius: "rounded-lg",
5235
- shadow: {
5236
- elevation: "low",
5237
- softness: "soft",
5238
- position: "bottom"
6077
+ secondary: {
6078
+ kind: "complete",
6079
+ appearance: {
6080
+ background: {
6081
+ type: "gradient",
6082
+ stops: ["secondary", "accent"],
6083
+ direction: "to-br",
6084
+ foregroundToken: "primaryForeground"
6085
+ },
6086
+ borderRadius: "rounded-lg",
6087
+ shadow: {
6088
+ elevation: "low",
6089
+ softness: "soft",
6090
+ position: "bottom"
6091
+ }
5239
6092
  }
5240
6093
  },
5241
- {
5242
- id: "outline",
5243
- name: "Outline",
5244
- enabled: true,
5245
- priority: 3,
5246
- background: {
5247
- type: "surface",
5248
- role: "link"
5249
- },
5250
- borderRadius: "rounded-lg",
5251
- border: { widthClass: "border" },
5252
- effects: { hover: [{
5253
- effectId: "background-on-hover",
5254
- options: { colorToken: "surface" }
5255
- }] }
6094
+ outline: {
6095
+ kind: "complete",
6096
+ appearance: {
6097
+ background: {
6098
+ type: "surface",
6099
+ role: "link"
6100
+ },
6101
+ borderRadius: "rounded-lg",
6102
+ border: { widthClass: "border" },
6103
+ effects: { hover: [{
6104
+ effectId: "background-on-hover",
6105
+ options: { colorToken: "surface" }
6106
+ }] }
6107
+ }
5256
6108
  },
5257
- {
5258
- id: "ghost",
5259
- name: "Ghost",
5260
- enabled: true,
5261
- priority: 3,
5262
- background: {
5263
- type: "surface",
5264
- role: "link"
5265
- },
5266
- borderRadius: "rounded-lg",
5267
- effects: { hover: [{
5268
- effectId: "background-on-hover",
5269
- options: { colorToken: "surface" }
5270
- }] }
5271
- }
5272
- ]
5273
- }
5274
- });
5275
- }));
5276
- //#endregion
5277
- //#region ../theme-core/src/buttons/personalities/confident-chip.ts
5278
- var confidentChip;
5279
- var init_confident_chip = __esmMin((() => {
5280
- init_types$14();
5281
- confidentChip = defineButtonPersonality({
5282
- id: "confident-chip",
5283
- name: "Confident Chip",
5284
- description: "Mid-radius solid buttons with a crisp hover.",
5285
- tags: {
5286
- tone: "classic",
5287
- energy: "calm",
5288
- motion: "standard",
5289
- era: "modern"
5290
- },
5291
- buttonSystem: {
5292
- global: {
5293
- cornerStyle: "rounded",
5294
- shadow: "medium",
5295
- textTransform: "none",
5296
- fontWeight: 600,
5297
- borderWidth: 1,
5298
- hoverTransform: "none",
5299
- hoverColor: "none"
5300
- },
5301
- variants: [
5302
- {
5303
- id: "primary",
5304
- name: "Primary",
5305
- enabled: true,
5306
- priority: 1,
5307
- background: {
5308
- type: "solid",
5309
- colorToken: "primary"
5310
- },
5311
- borderRadius: "rounded-md",
5312
- shadow: {
5313
- elevation: "medium",
5314
- softness: "soft",
5315
- position: "bottom"
5316
- },
5317
- effects: {
5318
- hover: [{
5319
- effectId: "darken-background",
5320
- options: { amount: 100 }
5321
- }],
5322
- active: [{
5323
- effectId: "scale-down",
5324
- options: { scale: "0.97" }
5325
- }]
6109
+ ghost: {
6110
+ kind: "complete",
6111
+ appearance: {
6112
+ background: {
6113
+ type: "surface",
6114
+ role: "link"
6115
+ },
6116
+ borderRadius: "rounded-lg",
6117
+ effects: { hover: [{
6118
+ effectId: "background-on-hover",
6119
+ options: { colorToken: "surface" }
6120
+ }] }
5326
6121
  }
5327
6122
  },
5328
- {
5329
- id: "secondary",
5330
- name: "Secondary",
5331
- enabled: true,
5332
- priority: 2,
5333
- background: {
6123
+ accent: {
6124
+ kind: "derive",
6125
+ from: "primary",
6126
+ overrides: { background: {
5334
6127
  type: "solid",
5335
- colorToken: "surface"
5336
- },
5337
- borderRadius: "rounded-md",
5338
- border: { widthClass: "border" },
5339
- effects: { hover: [{
5340
- effectId: "background-on-hover",
5341
- options: { colorToken: "background" }
5342
- }] }
5343
- },
5344
- {
5345
- id: "outline",
5346
- name: "Outline",
5347
- enabled: true,
5348
- priority: 3,
5349
- background: {
5350
- type: "surface",
5351
- role: "link"
5352
- },
5353
- borderRadius: "rounded-md",
5354
- border: { widthClass: "border" },
5355
- effects: { hover: [{
5356
- effectId: "background-on-hover",
5357
- options: { colorToken: "surface" }
5358
- }] }
5359
- },
5360
- {
5361
- id: "ghost",
5362
- name: "Ghost",
5363
- enabled: true,
5364
- priority: 3,
5365
- background: {
5366
- type: "surface",
5367
- role: "link"
5368
- },
5369
- borderRadius: "rounded-md",
5370
- effects: { hover: [{
5371
- effectId: "background-on-hover",
5372
- options: { colorToken: "surface" }
5373
- }] }
6128
+ colorToken: "accent"
6129
+ } }
5374
6130
  }
5375
- ]
6131
+ }
5376
6132
  }
5377
6133
  });
5378
- }));
5379
- //#endregion
5380
- //#region ../theme-core/src/buttons/personalities/earth-pill.ts
5381
- var earthPill;
5382
- var init_earth_pill = __esmMin((() => {
5383
- init_types$14();
5384
- earthPill = defineButtonPersonality({
5385
- id: "earth-pill",
5386
- name: "Earth Pill",
5387
- description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
6134
+ inkStampRecipe = defineStaticButtonStyleRecipe({
6135
+ id: "ink-stamp",
6136
+ accessibilityLabel: "Uppercase block-print buttons with a playful hover",
5388
6137
  tags: {
5389
- tone: "classic",
5390
- energy: "calm",
5391
- motion: "subtle",
6138
+ tone: "bold",
6139
+ energy: "vibrant",
6140
+ motion: "standard",
5392
6141
  era: "organic"
5393
6142
  },
5394
- buttonSystem: {
6143
+ system: {
5395
6144
  global: {
5396
- cornerStyle: "pill",
5397
- shadow: "low",
5398
- textTransform: "none",
5399
- fontWeight: 500,
6145
+ cornerStyle: "rounded",
6146
+ textTransform: "uppercase",
6147
+ fontWeight: 600,
5400
6148
  borderWidth: 1,
5401
- hoverTransform: "lift",
6149
+ hoverTransform: "none",
5402
6150
  hoverColor: "none",
5403
- typography: "body",
5404
- paddingPreset: "default"
6151
+ letterSpacing: "loose"
5405
6152
  },
5406
6153
  sizes: {
5407
6154
  sm: {
5408
- padding: "0.5rem 1rem",
6155
+ padding: "0.5rem 1.25rem",
6156
+ fontSize: "text-xs"
6157
+ },
6158
+ md: {
6159
+ padding: "0.75rem 1.75rem",
5409
6160
  fontSize: "text-sm"
5410
6161
  },
5411
- md: { padding: "0.625rem 1.35rem" },
5412
6162
  lg: {
5413
- padding: "0.75rem 1.65rem",
5414
- fontSize: "text-lg"
6163
+ padding: "0.875rem 2.25rem",
6164
+ fontSize: "text-base"
5415
6165
  },
5416
6166
  xl: {
5417
- padding: "0.875rem 2rem",
5418
- fontSize: "text-xl"
6167
+ padding: "1.125rem 2.75rem",
6168
+ fontSize: "text-lg"
5419
6169
  }
5420
6170
  },
5421
- variants: [
5422
- {
5423
- id: "primary",
5424
- name: "Primary",
5425
- enabled: true,
5426
- priority: 1,
5427
- background: {
5428
- type: "solid",
5429
- colorToken: "primary"
5430
- },
5431
- borderRadius: "rounded-full",
5432
- shadow: {
5433
- elevation: "low",
5434
- softness: "soft",
5435
- position: "bottom"
5436
- },
5437
- effects: {
5438
- hover: [{
5439
- effectId: "lift",
5440
- options: { translateY: "-1px" }
5441
- }, {
5442
- effectId: "background-on-hover",
5443
- options: { colorToken: "accent" }
5444
- }],
5445
- active: [{
5446
- effectId: "scale-down",
5447
- options: { scale: "0.98" }
5448
- }]
6171
+ roles: {
6172
+ primary: {
6173
+ kind: "complete",
6174
+ appearance: {
6175
+ background: {
6176
+ type: "solid",
6177
+ colorToken: "primary"
6178
+ },
6179
+ borderRadius: "rounded-md",
6180
+ effects: {
6181
+ hover: [{
6182
+ effectId: "drop-shadow",
6183
+ options: { intensity: "medium" }
6184
+ }, {
6185
+ effectId: "scale-up",
6186
+ options: { scale: "1.02" }
6187
+ }],
6188
+ active: [{
6189
+ effectId: "scale-down",
6190
+ options: { scale: "0.98" }
6191
+ }]
6192
+ }
5449
6193
  }
5450
6194
  },
5451
- {
5452
- id: "secondary",
5453
- name: "Secondary",
5454
- enabled: true,
5455
- priority: 2,
5456
- background: {
5457
- type: "surface",
5458
- role: "link"
5459
- },
5460
- borderRadius: "rounded-full",
5461
- border: { widthClass: "border" },
5462
- effects: { hover: [{
5463
- effectId: "background-on-hover",
5464
- options: { colorToken: "muted" }
5465
- }] }
6195
+ secondary: {
6196
+ kind: "complete",
6197
+ appearance: {
6198
+ background: {
6199
+ type: "surface",
6200
+ role: "link"
6201
+ },
6202
+ borderRadius: "rounded-md",
6203
+ border: { widthClass: "border-2" },
6204
+ effects: { hover: [{
6205
+ effectId: "background-on-hover",
6206
+ options: { colorToken: "surface" }
6207
+ }] }
6208
+ }
5466
6209
  },
5467
- {
5468
- id: "outline",
5469
- name: "Outline",
5470
- enabled: true,
5471
- priority: 3,
5472
- background: {
5473
- type: "surface",
5474
- role: "link"
5475
- },
5476
- borderRadius: "rounded-full",
5477
- border: { widthClass: "border" },
5478
- effects: { hover: [{
5479
- effectId: "background-on-hover",
5480
- options: { colorToken: "surfaceAlt" }
5481
- }] }
6210
+ outline: {
6211
+ kind: "complete",
6212
+ appearance: {
6213
+ background: {
6214
+ type: "surface",
6215
+ role: "link"
6216
+ },
6217
+ borderRadius: "rounded-md",
6218
+ border: { widthClass: "border-2" },
6219
+ effects: { hover: [{
6220
+ effectId: "background-on-hover",
6221
+ options: { colorToken: "surface" }
6222
+ }] }
6223
+ }
5482
6224
  },
5483
- {
5484
- id: "ghost",
5485
- name: "Ghost",
5486
- enabled: true,
5487
- priority: 3,
5488
- background: {
5489
- type: "surface",
5490
- role: "link"
5491
- },
5492
- borderRadius: "rounded-full",
5493
- shadow: {
5494
- elevation: "none",
5495
- softness: null,
5496
- position: "bottom"
5497
- },
5498
- sizes: {
5499
- sm: {
5500
- padding: "0.25rem 0",
5501
- fontSize: "text-sm"
6225
+ ghost: {
6226
+ kind: "complete",
6227
+ appearance: {
6228
+ background: {
6229
+ type: "surface",
6230
+ role: "link"
5502
6231
  },
5503
- md: { padding: "0.375rem 0" },
5504
- lg: {
5505
- padding: "0.5rem 0",
5506
- fontSize: "text-lg"
6232
+ borderRadius: "rounded-none",
6233
+ sizes: {
6234
+ sm: {
6235
+ padding: "0.375rem 0",
6236
+ fontSize: "text-xs"
6237
+ },
6238
+ md: {
6239
+ padding: "0.5rem 0",
6240
+ fontSize: "text-sm"
6241
+ },
6242
+ lg: {
6243
+ padding: "0.625rem 0",
6244
+ fontSize: "text-base"
6245
+ },
6246
+ xl: {
6247
+ padding: "0.75rem 0",
6248
+ fontSize: "text-lg"
6249
+ }
5507
6250
  },
5508
- xl: {
5509
- padding: "0.625rem 0",
5510
- fontSize: "text-xl"
5511
- }
6251
+ effects: { base: [{
6252
+ effectId: "border-bottom-grow",
6253
+ options: {
6254
+ height: 1,
6255
+ colorToken: "accent",
6256
+ origin: "left"
6257
+ }
6258
+ }] }
5512
6259
  }
5513
- }
5514
- ]
5515
- }
5516
- });
5517
- }));
5518
- //#endregion
5519
- //#region ../theme-core/src/buttons/personalities/editorial-link.ts
5520
- var editorialLink;
5521
- var init_editorial_link = __esmMin((() => {
5522
- init_types$14();
5523
- editorialLink = defineButtonPersonality({
5524
- id: "editorial-link",
5525
- name: "Editorial Link",
5526
- description: "Link-style with a growing underline. Refined, typographic.",
5527
- tags: {
5528
- tone: "minimal",
5529
- energy: "calm",
5530
- motion: "subtle",
5531
- era: "editorial"
5532
- },
5533
- buttonSystem: {
5534
- global: {
5535
- cornerStyle: "square",
5536
- textTransform: "none",
5537
- fontWeight: 500,
5538
- borderWidth: 1,
5539
- hoverTransform: "none",
5540
- hoverColor: "none"
5541
- },
5542
- variants: [
5543
- {
5544
- id: "primary",
5545
- name: "Primary",
5546
- enabled: true,
5547
- priority: 1,
5548
- background: {
5549
- type: "surface",
5550
- role: "link"
5551
- },
5552
- borderRadius: "rounded-none",
5553
- sizes: {
5554
- sm: { padding: "0.25rem 0" },
5555
- md: { padding: "0.5rem 0" },
5556
- lg: { padding: "0.625rem 0" },
5557
- xl: { padding: "0.75rem 0" }
5558
- },
5559
- effects: { base: [{
5560
- effectId: "border-bottom-grow",
5561
- options: {
5562
- height: 2,
5563
- colorToken: "text",
5564
- origin: "left"
5565
- }
5566
- }] }
5567
6260
  },
5568
- {
5569
- id: "secondary",
5570
- name: "Secondary",
5571
- enabled: true,
5572
- priority: 2,
5573
- background: {
5574
- type: "surface",
5575
- role: "link"
5576
- },
5577
- borderRadius: "rounded-none",
5578
- sizes: {
5579
- sm: { padding: "0.25rem 0" },
5580
- md: { padding: "0.5rem 0" },
5581
- lg: { padding: "0.625rem 0" },
5582
- xl: { padding: "0.75rem 0" }
5583
- },
5584
- effects: { base: [{
5585
- effectId: "border-bottom-grow",
5586
- options: {
5587
- height: 1,
5588
- colorToken: "mutedText",
5589
- origin: "left"
5590
- }
5591
- }] }
5592
- },
5593
- {
5594
- id: "outline",
5595
- name: "Outline",
5596
- enabled: true,
5597
- priority: 3,
5598
- background: {
5599
- type: "surface",
5600
- role: "link"
5601
- },
5602
- borderRadius: "rounded-none",
5603
- sizes: {
5604
- sm: { padding: "0.25rem 0" },
5605
- md: { padding: "0.5rem 0" },
5606
- lg: { padding: "0.625rem 0" },
5607
- xl: { padding: "0.75rem 0" }
5608
- },
5609
- effects: { base: [{
5610
- effectId: "border-bottom-grow",
5611
- options: {
5612
- height: 1,
5613
- colorToken: "accent",
5614
- origin: "left"
5615
- }
5616
- }] }
5617
- },
5618
- {
5619
- id: "ghost",
5620
- name: "Ghost",
5621
- enabled: true,
5622
- priority: 3,
5623
- background: {
5624
- type: "surface",
5625
- role: "link"
5626
- },
5627
- borderRadius: "rounded-none",
5628
- sizes: {
5629
- sm: { padding: "0.25rem 0" },
5630
- md: { padding: "0.5rem 0" },
5631
- lg: { padding: "0.625rem 0" },
5632
- xl: { padding: "0.75rem 0" }
5633
- }
6261
+ accent: {
6262
+ kind: "derive",
6263
+ from: "primary",
6264
+ overrides: { background: {
6265
+ type: "solid",
6266
+ colorToken: "accent"
6267
+ } }
5634
6268
  }
5635
- ]
6269
+ }
5636
6270
  }
5637
6271
  });
5638
- }));
5639
- //#endregion
5640
- //#region ../theme-core/src/buttons/personalities/flat-ink.ts
5641
- var flatInk;
5642
- var init_flat_ink = __esmMin((() => {
5643
- init_types$14();
5644
- flatInk = defineButtonPersonality({
6272
+ flatInkRecipe = defineStaticButtonStyleRecipe({
5645
6273
  id: "flat-ink",
5646
- name: "Flat Ink",
5647
- description: "Flat solid-ink primary, hairline ghost secondary, and a single amber accent climax — modest radius, no shadow.",
6274
+ accessibilityLabel: "Flat rounded buttons with arrow affordances",
5648
6275
  tags: {
5649
6276
  tone: "classic",
5650
6277
  energy: "calm",
5651
6278
  motion: "subtle",
5652
6279
  era: "editorial"
5653
6280
  },
5654
- buttonSystem: {
6281
+ system: {
5655
6282
  global: {
5656
6283
  cornerStyle: "rounded",
5657
6284
  textTransform: "none",
@@ -5678,222 +6305,210 @@ var init_flat_ink = __esmMin((() => {
5678
6305
  fontSize: "text-xl"
5679
6306
  }
5680
6307
  },
5681
- variants: [
5682
- {
5683
- id: "primary",
5684
- name: "Primary",
5685
- enabled: true,
5686
- priority: 1,
5687
- background: {
5688
- type: "solid",
5689
- colorToken: "primary"
5690
- },
5691
- borderRadius: "rounded-lg",
5692
- affordance: { iconId: "ArrowRight" },
5693
- effects: { hover: [{
5694
- effectId: "lift",
5695
- options: { translateY: "-2px" }
5696
- }, {
5697
- effectId: "background-on-hover",
5698
- options: { colorToken: "secondary" }
5699
- }] }
6308
+ roles: {
6309
+ primary: {
6310
+ kind: "complete",
6311
+ appearance: {
6312
+ background: {
6313
+ type: "solid",
6314
+ colorToken: "primary"
6315
+ },
6316
+ borderRadius: "rounded-lg",
6317
+ affordance: { iconId: "ArrowRight" },
6318
+ effects: { hover: [{
6319
+ effectId: "lift",
6320
+ options: { translateY: "-2px" }
6321
+ }, {
6322
+ effectId: "background-on-hover",
6323
+ options: { colorToken: "secondary" }
6324
+ }] }
6325
+ }
5700
6326
  },
5701
- {
5702
- id: "secondary",
5703
- name: "Secondary",
5704
- enabled: true,
5705
- priority: 2,
5706
- background: {
5707
- type: "surface",
5708
- role: "link"
5709
- },
5710
- borderRadius: "rounded-lg",
5711
- border: { widthClass: "border" },
5712
- effects: { hover: [{
5713
- effectId: "lift",
5714
- options: { translateY: "-2px" }
5715
- }, {
5716
- effectId: "background-on-hover",
5717
- options: { colorToken: "surfaceAlt" }
5718
- }] }
6327
+ secondary: {
6328
+ kind: "complete",
6329
+ appearance: {
6330
+ background: {
6331
+ type: "surface",
6332
+ role: "link"
6333
+ },
6334
+ borderRadius: "rounded-lg",
6335
+ border: { widthClass: "border" },
6336
+ effects: { hover: [{
6337
+ effectId: "lift",
6338
+ options: { translateY: "-2px" }
6339
+ }, {
6340
+ effectId: "background-on-hover",
6341
+ options: { colorToken: "surfaceAlt" }
6342
+ }] }
6343
+ }
5719
6344
  },
5720
- {
5721
- id: "accent",
5722
- name: "Accent",
5723
- enabled: true,
5724
- priority: 3,
5725
- background: {
5726
- type: "solid",
5727
- colorToken: "accent"
5728
- },
5729
- borderRadius: "rounded-lg",
5730
- affordance: { iconId: "ArrowRight" },
5731
- effects: { hover: [{
5732
- effectId: "lift",
5733
- options: { translateY: "-2px" }
5734
- }] }
6345
+ outline: {
6346
+ kind: "complete",
6347
+ appearance: {
6348
+ background: {
6349
+ type: "surface",
6350
+ role: "link"
6351
+ },
6352
+ borderRadius: "rounded-lg",
6353
+ border: { widthClass: "border" },
6354
+ effects: { hover: [{
6355
+ effectId: "lift",
6356
+ options: { translateY: "-2px" }
6357
+ }, {
6358
+ effectId: "background-on-hover",
6359
+ options: { colorToken: "surfaceAlt" }
6360
+ }] }
6361
+ }
6362
+ },
6363
+ ghost: {
6364
+ kind: "complete",
6365
+ appearance: {
6366
+ background: {
6367
+ type: "surface",
6368
+ role: "link"
6369
+ },
6370
+ borderRadius: "rounded-lg",
6371
+ effects: { hover: [{
6372
+ effectId: "lift",
6373
+ options: { translateY: "-2px" }
6374
+ }] }
6375
+ }
6376
+ },
6377
+ accent: {
6378
+ kind: "complete",
6379
+ appearance: {
6380
+ background: {
6381
+ type: "solid",
6382
+ colorToken: "accent"
6383
+ },
6384
+ borderRadius: "rounded-lg",
6385
+ affordance: { iconId: "ArrowRight" },
6386
+ effects: { hover: [{
6387
+ effectId: "lift",
6388
+ options: { translateY: "-2px" }
6389
+ }] }
6390
+ }
5735
6391
  }
5736
- ]
6392
+ }
5737
6393
  }
5738
6394
  });
5739
- }));
5740
- //#endregion
5741
- //#region ../theme-core/src/buttons/personalities/ink-stamp.ts
5742
- var inkStamp;
5743
- var init_ink_stamp = __esmMin((() => {
5744
- init_types$14();
5745
- inkStamp = defineButtonPersonality({
5746
- id: "ink-stamp",
5747
- name: "Ink Stamp",
5748
- description: "Hand-stamped block-print buttons with a slight lift on hover.",
6395
+ showtimePillRecipe = defineStaticButtonStyleRecipe({
6396
+ id: "showtime-pill",
6397
+ accessibilityLabel: "Bold uppercase pill buttons with playful movement",
5749
6398
  tags: {
5750
6399
  tone: "bold",
5751
6400
  energy: "vibrant",
5752
- motion: "standard",
5753
- era: "organic"
6401
+ motion: "expressive",
6402
+ era: "modern"
5754
6403
  },
5755
- buttonSystem: {
6404
+ system: {
5756
6405
  global: {
5757
- cornerStyle: "rounded",
6406
+ cornerStyle: "pill",
6407
+ shadow: "low",
5758
6408
  textTransform: "uppercase",
5759
- fontWeight: 600,
5760
- borderWidth: 1,
5761
- hoverTransform: "none",
5762
- hoverColor: "none",
5763
- letterSpacing: "loose"
6409
+ fontWeight: 700,
6410
+ borderWidth: 2,
6411
+ hoverTransform: "lift",
6412
+ hoverColor: "darken",
6413
+ typography: "body",
6414
+ paddingPreset: "spacious",
6415
+ italic: false
5764
6416
  },
5765
6417
  sizes: {
5766
6418
  sm: {
5767
- padding: "0.5rem 1.25rem",
5768
- fontSize: "text-xs"
6419
+ padding: "0.625rem 1.25rem",
6420
+ fontSize: "0.875rem"
5769
6421
  },
5770
6422
  md: {
5771
- padding: "0.75rem 1.75rem",
5772
- fontSize: "text-sm"
6423
+ padding: "0.875rem 1.75rem",
6424
+ fontSize: "1rem"
5773
6425
  },
5774
6426
  lg: {
5775
- padding: "0.875rem 2.25rem",
5776
- fontSize: "text-base"
6427
+ padding: "1.125rem 2.25rem",
6428
+ fontSize: "1.125rem"
5777
6429
  },
5778
6430
  xl: {
5779
- padding: "1.125rem 2.75rem",
5780
- fontSize: "text-lg"
6431
+ padding: "1.125rem 2.25rem",
6432
+ fontSize: "1.125rem"
5781
6433
  }
5782
6434
  },
5783
- variants: [
5784
- {
5785
- id: "primary",
5786
- name: "Primary",
5787
- enabled: true,
5788
- priority: 1,
5789
- background: {
5790
- type: "solid",
5791
- colorToken: "primary"
5792
- },
5793
- borderRadius: "rounded-md",
5794
- effects: {
5795
- hover: [{
5796
- effectId: "drop-shadow",
5797
- options: { intensity: "medium" }
5798
- }, {
5799
- effectId: "scale-up",
5800
- options: { scale: "1.02" }
5801
- }],
5802
- active: [{
5803
- effectId: "scale-down",
5804
- options: { scale: "0.98" }
5805
- }]
6435
+ roles: {
6436
+ primary: {
6437
+ kind: "complete",
6438
+ appearance: {
6439
+ background: {
6440
+ type: "solid",
6441
+ colorToken: "primary"
6442
+ },
6443
+ borderRadius: "rounded-full",
6444
+ effects: { hover: [{ effectId: "pop" }] }
5806
6445
  }
5807
6446
  },
5808
- {
5809
- id: "secondary",
5810
- name: "Secondary",
5811
- enabled: true,
5812
- priority: 2,
5813
- background: {
5814
- type: "surface",
5815
- role: "link"
5816
- },
5817
- borderRadius: "rounded-md",
5818
- border: { widthClass: "border-2" },
5819
- effects: { hover: [{
5820
- effectId: "background-on-hover",
5821
- options: { colorToken: "surface" }
5822
- }] }
5823
- },
5824
- {
5825
- id: "outline",
5826
- name: "Outline",
5827
- enabled: true,
5828
- priority: 3,
5829
- background: {
5830
- type: "surface",
5831
- role: "link"
5832
- },
5833
- borderRadius: "rounded-md",
5834
- border: { widthClass: "border-2" },
5835
- effects: { hover: [{
5836
- effectId: "background-on-hover",
5837
- options: { colorToken: "surface" }
5838
- }] }
6447
+ secondary: {
6448
+ kind: "complete",
6449
+ appearance: {
6450
+ background: {
6451
+ type: "surface",
6452
+ role: "link"
6453
+ },
6454
+ borderRadius: "rounded-full",
6455
+ border: { widthClass: "border-2" },
6456
+ effects: { hover: [{ effectId: "pop" }] }
6457
+ }
5839
6458
  },
5840
- {
5841
- id: "ghost",
5842
- name: "Ghost",
5843
- enabled: true,
5844
- priority: 3,
5845
- background: {
5846
- type: "surface",
5847
- role: "link"
5848
- },
5849
- borderRadius: "rounded-none",
5850
- sizes: {
5851
- sm: {
5852
- padding: "0.375rem 0",
5853
- fontSize: "text-xs"
6459
+ outline: {
6460
+ kind: "complete",
6461
+ appearance: {
6462
+ background: {
6463
+ type: "surface",
6464
+ role: "link"
5854
6465
  },
5855
- md: {
5856
- padding: "0.5rem 0",
5857
- fontSize: "text-sm"
6466
+ borderRadius: "rounded-full",
6467
+ border: { widthClass: "border-2" },
6468
+ effects: { hover: [{
6469
+ effectId: "background-on-hover",
6470
+ options: { colorToken: "background" }
6471
+ }] }
6472
+ }
6473
+ },
6474
+ ghost: {
6475
+ kind: "complete",
6476
+ appearance: {
6477
+ background: {
6478
+ type: "surface",
6479
+ role: "link"
5858
6480
  },
5859
- lg: {
5860
- padding: "0.625rem 0",
5861
- fontSize: "text-base"
6481
+ borderRadius: "rounded-full",
6482
+ effects: { hover: [{
6483
+ effectId: "background-on-hover",
6484
+ options: { colorToken: "surface" }
6485
+ }] }
6486
+ }
6487
+ },
6488
+ accent: {
6489
+ kind: "complete",
6490
+ appearance: {
6491
+ background: {
6492
+ type: "solid",
6493
+ colorToken: "secondary"
5862
6494
  },
5863
- xl: {
5864
- padding: "0.75rem 0",
5865
- fontSize: "text-lg"
5866
- }
5867
- },
5868
- effects: { base: [{
5869
- effectId: "border-bottom-grow",
5870
- options: {
5871
- height: 1,
5872
- colorToken: "accent",
5873
- origin: "left"
5874
- }
5875
- }] }
6495
+ borderRadius: "rounded-full",
6496
+ effects: { hover: [{ effectId: "pop" }] }
6497
+ }
5876
6498
  }
5877
- ]
6499
+ }
5878
6500
  }
5879
6501
  });
5880
- }));
5881
- //#endregion
5882
- //#region ../theme-core/src/buttons/personalities/joy-stamp.ts
5883
- var joyStamp;
5884
- var init_joy_stamp = __esmMin((() => {
5885
- init_types$14();
5886
- joyStamp = defineButtonPersonality({
6502
+ joyStampRecipe = defineStaticButtonStyleRecipe({
5887
6503
  id: "joy-stamp",
5888
- name: "Joy Stamp",
5889
- description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
6504
+ accessibilityLabel: "Bold pill buttons with a hard offset shadow",
5890
6505
  tags: {
5891
6506
  tone: "bold",
5892
6507
  energy: "vibrant",
5893
6508
  motion: "expressive",
5894
6509
  era: "organic"
5895
6510
  },
5896
- buttonSystem: {
6511
+ system: {
5897
6512
  global: {
5898
6513
  cornerStyle: "pill",
5899
6514
  shadow: "high",
@@ -5923,61 +6538,96 @@ var init_joy_stamp = __esmMin((() => {
5923
6538
  fontSize: "text-2xl"
5924
6539
  }
5925
6540
  },
5926
- variants: [{
5927
- id: "primary",
5928
- name: "Primary",
5929
- enabled: true,
5930
- priority: 1,
5931
- background: {
5932
- type: "solid",
5933
- colorToken: "primary"
6541
+ roles: {
6542
+ primary: {
6543
+ kind: "complete",
6544
+ appearance: {
6545
+ background: {
6546
+ type: "solid",
6547
+ colorToken: "primary"
6548
+ },
6549
+ borderRadius: "rounded-full",
6550
+ shadow: {
6551
+ elevation: "high",
6552
+ softness: "hard",
6553
+ position: "bottom-right",
6554
+ colorToken: "text"
6555
+ },
6556
+ effects: { hover: [{ effectId: "press-down" }] }
6557
+ }
5934
6558
  },
5935
- borderRadius: "rounded-full",
5936
- shadow: {
5937
- elevation: "high",
5938
- softness: "hard",
5939
- position: "bottom-right",
5940
- colorToken: "text"
6559
+ secondary: {
6560
+ kind: "complete",
6561
+ appearance: {
6562
+ background: {
6563
+ type: "surface",
6564
+ role: "link"
6565
+ },
6566
+ borderRadius: "rounded-full",
6567
+ border: { widthClass: "border-2" },
6568
+ shadow: {
6569
+ elevation: "high",
6570
+ softness: "hard",
6571
+ position: "bottom-right",
6572
+ colorToken: "secondary"
6573
+ },
6574
+ effects: { hover: [{ effectId: "press-down" }] }
6575
+ }
5941
6576
  },
5942
- effects: { hover: [{ effectId: "press-down" }] }
5943
- }, {
5944
- id: "secondary",
5945
- name: "Secondary",
5946
- enabled: true,
5947
- priority: 2,
5948
- background: {
5949
- type: "surface",
5950
- role: "link"
6577
+ outline: {
6578
+ kind: "derive",
6579
+ from: "secondary"
5951
6580
  },
5952
- borderRadius: "rounded-full",
5953
- border: { widthClass: "border-2" },
5954
- shadow: {
5955
- elevation: "high",
5956
- softness: "hard",
5957
- position: "bottom-right",
5958
- colorToken: "secondary"
6581
+ ghost: {
6582
+ kind: "complete",
6583
+ appearance: {
6584
+ background: {
6585
+ type: "surface",
6586
+ role: "link"
6587
+ },
6588
+ borderRadius: "rounded-full",
6589
+ effects: { hover: [{ effectId: "press-down" }] }
6590
+ }
5959
6591
  },
5960
- effects: { hover: [{ effectId: "press-down" }] }
5961
- }]
6592
+ accent: {
6593
+ kind: "derive",
6594
+ from: "primary",
6595
+ overrides: { background: {
6596
+ type: "solid",
6597
+ colorToken: "accent"
6598
+ } }
6599
+ }
6600
+ }
5962
6601
  }
5963
6602
  });
5964
- }));
5965
- //#endregion
5966
- //#region ../theme-core/src/buttons/personalities/ornate-ritual.ts
5967
- var ornateRitual;
5968
- var init_ornate_ritual = __esmMin((() => {
5969
- init_types$14();
5970
- ornateRitual = defineButtonPersonality({
6603
+ ornateGhostSizes = {
6604
+ sm: {
6605
+ padding: "0.375rem 0",
6606
+ fontSize: "text-xs"
6607
+ },
6608
+ md: {
6609
+ padding: "0.5rem 0",
6610
+ fontSize: "text-sm"
6611
+ },
6612
+ lg: {
6613
+ padding: "0.625rem 0",
6614
+ fontSize: "text-base"
6615
+ },
6616
+ xl: {
6617
+ padding: "0.75rem 0",
6618
+ fontSize: "text-lg"
6619
+ }
6620
+ };
6621
+ ornateRitualRecipe = defineStaticButtonStyleRecipe({
5971
6622
  id: "ornate-ritual",
5972
- name: "Ornate Ritual",
5973
- description: "Ceremonial framed buttons with jewel-toned fills and quiet color-change hover states.",
6623
+ accessibilityLabel: "Uppercase framed buttons with restrained movement",
5974
6624
  tags: {
5975
6625
  tone: "classic",
5976
6626
  energy: "vibrant",
5977
6627
  motion: "subtle",
5978
6628
  era: "organic"
5979
6629
  },
5980
- buttonSystem: {
6630
+ system: {
5981
6631
  global: {
5982
6632
  cornerStyle: "rounded",
5983
6633
  textTransform: "uppercase",
@@ -6005,667 +6655,177 @@ var init_ornate_ritual = __esmMin((() => {
6005
6655
  fontSize: "text-base"
6006
6656
  }
6007
6657
  },
6008
- variants: [
6009
- {
6010
- id: "primary",
6011
- name: "Primary",
6012
- enabled: true,
6013
- priority: 1,
6014
- background: {
6015
- type: "solid",
6016
- colorToken: "primary"
6017
- },
6018
- borderRadius: "rounded-md",
6019
- border: { widthClass: "border" },
6020
- effects: {
6021
- hover: [{
6022
- effectId: "background-on-hover",
6023
- options: { colorToken: "primary-100" }
6024
- }],
6025
- active: [{
6026
- effectId: "scale-down",
6027
- options: { scale: "0.98" }
6028
- }]
6029
- }
6030
- },
6031
- {
6032
- id: "secondary",
6033
- name: "Secondary",
6034
- enabled: true,
6035
- priority: 2,
6036
- background: {
6037
- type: "solid",
6038
- colorToken: "secondary"
6039
- },
6040
- borderRadius: "rounded-md",
6041
- border: { widthClass: "border" },
6042
- effects: { hover: [{
6043
- effectId: "background-on-hover",
6044
- options: { colorToken: "surface" }
6045
- }] }
6046
- },
6047
- {
6048
- id: "outline",
6049
- name: "Outline",
6050
- enabled: true,
6051
- priority: 3,
6052
- background: {
6053
- type: "surface",
6054
- role: "link"
6055
- },
6056
- borderRadius: "rounded-md",
6057
- border: { widthClass: "border" },
6058
- effects: { hover: [{
6059
- effectId: "background-on-hover",
6060
- options: { colorToken: "muted" }
6061
- }] }
6062
- },
6063
- {
6064
- id: "ghost",
6065
- name: "Ghost",
6066
- enabled: true,
6067
- priority: 3,
6068
- background: {
6069
- type: "surface",
6070
- role: "link"
6071
- },
6072
- borderRadius: "rounded-none",
6073
- sizes: {
6074
- sm: {
6075
- padding: "0.375rem 0",
6076
- fontSize: "text-xs"
6077
- },
6078
- md: {
6079
- padding: "0.5rem 0",
6080
- fontSize: "text-sm"
6658
+ roles: {
6659
+ primary: {
6660
+ kind: "complete",
6661
+ appearance: {
6662
+ background: {
6663
+ type: "solid",
6664
+ colorToken: "primary"
6081
6665
  },
6082
- lg: {
6083
- padding: "0.625rem 0",
6084
- fontSize: "text-base"
6085
- },
6086
- xl: {
6087
- padding: "0.75rem 0",
6088
- fontSize: "text-lg"
6666
+ borderRadius: "rounded-md",
6667
+ border: { widthClass: "border" },
6668
+ effects: {
6669
+ hover: [{
6670
+ effectId: "background-on-hover",
6671
+ options: { colorToken: "primary-100" }
6672
+ }],
6673
+ active: [{
6674
+ effectId: "scale-down",
6675
+ options: { scale: "0.98" }
6676
+ }]
6089
6677
  }
6090
- },
6091
- effects: { base: [{
6092
- effectId: "border-bottom-grow",
6093
- options: {
6094
- height: 1,
6095
- colorToken: "accent",
6096
- origin: "left"
6097
- }
6098
- }] }
6099
- }
6100
- ]
6101
- }
6102
- });
6103
- }));
6104
- //#endregion
6105
- //#region ../theme-core/src/buttons/personalities/pebble.ts
6106
- var pebble;
6107
- var init_pebble = __esmMin((() => {
6108
- init_types$14();
6109
- pebble = defineButtonPersonality({
6110
- id: "pebble",
6111
- name: "Pebble",
6112
- description: "Generous pill buttons with a quiet colour-softening hover.",
6113
- tags: {
6114
- tone: "classic",
6115
- energy: "calm",
6116
- motion: "standard",
6117
- era: "organic"
6118
- },
6119
- buttonSystem: {
6120
- global: {
6121
- cornerStyle: "pill",
6122
- textTransform: "none",
6123
- fontWeight: 500,
6124
- borderWidth: 2,
6125
- hoverTransform: "none",
6126
- hoverColor: "none"
6127
- },
6128
- sizes: {
6129
- sm: {
6130
- padding: "0.625rem 1.75rem",
6131
- fontSize: "text-sm"
6132
- },
6133
- md: { padding: "0.875rem 2.25rem" },
6134
- lg: {
6135
- padding: "1.125rem 2.75rem",
6136
- fontSize: "text-lg"
6137
- },
6138
- xl: {
6139
- padding: "1.5rem 3.5rem",
6140
- fontSize: "text-xl"
6141
- }
6142
- },
6143
- variants: [
6144
- {
6145
- id: "primary",
6146
- name: "Primary",
6147
- enabled: true,
6148
- priority: 1,
6149
- background: {
6150
- type: "solid",
6151
- colorToken: "primary"
6152
- },
6153
- borderRadius: "rounded-full",
6154
- effects: { hover: [{
6155
- effectId: "darken-background",
6156
- options: { amount: 100 }
6157
- }] }
6158
- },
6159
- {
6160
- id: "secondary",
6161
- name: "Secondary",
6162
- enabled: true,
6163
- priority: 2,
6164
- background: {
6165
- type: "surface",
6166
- role: "link"
6167
- },
6168
- borderRadius: "rounded-full",
6169
- border: { widthClass: "border-2" },
6170
- effects: { hover: [{
6171
- effectId: "background-on-hover",
6172
- options: { colorToken: "accent" }
6173
- }] }
6174
- },
6175
- {
6176
- id: "outline",
6177
- name: "Outline",
6178
- enabled: true,
6179
- priority: 3,
6180
- background: {
6181
- type: "surface",
6182
- role: "link"
6183
- },
6184
- borderRadius: "rounded-full",
6185
- border: { widthClass: "border" },
6186
- effects: { hover: [{
6187
- effectId: "background-on-hover",
6188
- options: { colorToken: "surface" }
6189
- }] }
6678
+ }
6190
6679
  },
6191
- {
6192
- id: "ghost",
6193
- name: "Ghost",
6194
- enabled: true,
6195
- priority: 3,
6196
- background: {
6197
- type: "surface",
6198
- role: "link"
6199
- },
6200
- borderRadius: "rounded-full",
6201
- sizes: {
6202
- sm: {
6203
- padding: "0.375rem 0.875rem",
6204
- fontSize: "text-sm"
6205
- },
6206
- md: { padding: "0.5rem 1rem" },
6207
- lg: {
6208
- padding: "0.625rem 1.25rem",
6209
- fontSize: "text-lg"
6680
+ secondary: {
6681
+ kind: "complete",
6682
+ appearance: {
6683
+ background: {
6684
+ type: "solid",
6685
+ colorToken: "secondary"
6210
6686
  },
6211
- xl: {
6212
- padding: "0.75rem 1.5rem",
6213
- fontSize: "text-xl"
6214
- }
6687
+ borderRadius: "rounded-md",
6688
+ border: { widthClass: "border" },
6689
+ effects: { hover: [{
6690
+ effectId: "background-on-hover",
6691
+ options: { colorToken: "surface" }
6692
+ }] }
6215
6693
  }
6216
- }
6217
- ]
6218
- }
6219
- });
6220
- }));
6221
- //#endregion
6222
- //#region ../theme-core/src/buttons/personalities/quiet-arrow.ts
6223
- var quietArrow;
6224
- var init_quiet_arrow = __esmMin((() => {
6225
- init_types$14();
6226
- quietArrow = defineButtonPersonality({
6227
- id: "quiet-arrow",
6228
- name: "Quiet Arrow",
6229
- description: "Wide, flat arrow buttons with a solid primary and a primary-colour outlined secondary.",
6230
- tags: {
6231
- tone: "classic",
6232
- energy: "calm",
6233
- motion: "subtle",
6234
- era: "editorial"
6235
- },
6236
- buttonSystem: {
6237
- global: {
6238
- cornerStyle: "rounded",
6239
- textTransform: "uppercase",
6240
- fontWeight: 500,
6241
- borderWidth: 1,
6242
- typography: "body",
6243
- fontSize: "text-sm",
6244
- letterSpacing: "loose",
6245
- hoverTransform: "none",
6246
- hoverColor: "none"
6247
- },
6248
- sizes: {
6249
- sm: {
6250
- padding: "0.625rem 1.25rem",
6251
- fontSize: "text-xs"
6252
- },
6253
- md: {
6254
- padding: "0.8125rem 1.75rem",
6255
- fontSize: "text-sm"
6256
- },
6257
- lg: {
6258
- padding: "0.9375rem 2.125rem",
6259
- fontSize: "text-sm"
6260
- },
6261
- xl: {
6262
- padding: "1.0625rem 2.5rem",
6263
- fontSize: "text-base"
6264
- }
6265
- },
6266
- variants: [
6267
- {
6268
- id: "primary",
6269
- name: "Primary",
6270
- enabled: true,
6271
- priority: 1,
6272
- background: {
6273
- type: "solid",
6274
- colorToken: "primary"
6275
- },
6276
- borderRadius: "rounded-xl",
6277
- affordance: { iconId: "ArrowRight" },
6278
- effects: { hover: [{
6279
- effectId: "darken-background",
6280
- options: { amount: 100 }
6281
- }] }
6282
- },
6283
- {
6284
- id: "secondary",
6285
- name: "Secondary",
6286
- enabled: true,
6287
- priority: 2,
6288
- background: {
6289
- type: "surface",
6290
- role: "link"
6291
- },
6292
- borderRadius: "rounded-xl",
6293
- border: { widthClass: "border" },
6294
- affordance: { iconId: "ArrowRight" },
6295
- effects: { hover: [{
6296
- effectId: "background-on-hover",
6297
- options: { colorToken: "surfaceAlt" }
6298
- }] }
6299
- },
6300
- {
6301
- id: "outline",
6302
- name: "Outline",
6303
- enabled: true,
6304
- priority: 3,
6305
- background: {
6306
- type: "surface",
6307
- role: "link"
6308
- },
6309
- borderRadius: "rounded-xl",
6310
- border: { widthClass: "border" }
6311
6694
  },
6312
- {
6313
- id: "ghost",
6314
- name: "Ghost",
6315
- enabled: true,
6316
- priority: 3,
6317
- background: {
6318
- type: "surface",
6319
- role: "link"
6320
- },
6321
- borderRadius: "rounded-xl"
6322
- }
6323
- ]
6324
- }
6325
- });
6326
- }));
6327
- //#endregion
6328
- //#region ../theme-core/src/buttons/personalities/showtime-pill.ts
6329
- var showtimePill;
6330
- var init_showtime_pill = __esmMin((() => {
6331
- init_types$14();
6332
- showtimePill = defineButtonPersonality({
6333
- id: "showtime-pill",
6334
- name: "Showtime Pill",
6335
- description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
6336
- tags: {
6337
- tone: "bold",
6338
- energy: "vibrant",
6339
- motion: "expressive",
6340
- era: "modern"
6341
- },
6342
- buttonSystem: {
6343
- global: {
6344
- cornerStyle: "pill",
6345
- shadow: "low",
6346
- textTransform: "uppercase",
6347
- fontWeight: 700,
6348
- borderWidth: 2,
6349
- hoverTransform: "lift",
6350
- hoverColor: "darken",
6351
- typography: "body",
6352
- paddingPreset: "spacious",
6353
- italic: false
6354
- },
6355
- sizes: {
6356
- sm: {
6357
- padding: "0.625rem 1.25rem",
6358
- fontSize: "0.875rem"
6359
- },
6360
- md: {
6361
- padding: "0.875rem 1.75rem",
6362
- fontSize: "1rem"
6363
- },
6364
- lg: {
6365
- padding: "1.125rem 2.25rem",
6366
- fontSize: "1.125rem"
6367
- },
6368
- xl: {
6369
- padding: "1.125rem 2.25rem",
6370
- fontSize: "1.125rem"
6371
- }
6372
- },
6373
- variants: [
6374
- {
6375
- id: "primary",
6376
- name: "Primary",
6377
- enabled: true,
6378
- priority: 1,
6379
- background: {
6380
- type: "solid",
6381
- colorToken: "primary"
6382
- },
6383
- borderRadius: "rounded-full",
6384
- effects: { hover: [{ effectId: "pop" }] }
6385
- },
6386
- {
6387
- id: "secondary",
6388
- name: "Secondary",
6389
- enabled: true,
6390
- priority: 2,
6391
- background: {
6392
- type: "surface",
6393
- role: "link"
6394
- },
6395
- borderRadius: "rounded-full",
6396
- border: { widthClass: "border-2" },
6397
- effects: { hover: [{ effectId: "pop" }] }
6398
- },
6399
- {
6400
- id: "hero",
6401
- name: "Hero",
6402
- enabled: true,
6403
- priority: 1,
6404
- background: {
6405
- type: "solid",
6406
- colorToken: "secondary"
6407
- },
6408
- borderRadius: "rounded-full",
6409
- effects: { hover: [{ effectId: "pop" }] }
6410
- },
6411
- {
6412
- id: "header",
6413
- name: "Header",
6414
- enabled: true,
6415
- priority: 2,
6416
- background: {
6417
- type: "solid",
6418
- colorToken: "background"
6419
- },
6420
- borderRadius: "rounded-full",
6421
- border: { widthClass: "border-2" },
6422
- effects: { hover: [{
6423
- effectId: "background-on-hover",
6424
- options: { colorToken: "surface" }
6425
- }] }
6426
- },
6427
- {
6428
- id: "outline",
6429
- name: "Outline",
6430
- enabled: true,
6431
- priority: 3,
6432
- background: {
6433
- type: "surface",
6434
- role: "link"
6435
- },
6436
- borderRadius: "rounded-full",
6437
- border: { widthClass: "border-2" },
6438
- effects: { hover: [{
6439
- effectId: "background-on-hover",
6440
- options: { colorToken: "background" }
6441
- }] }
6442
- },
6443
- {
6444
- id: "ghost",
6445
- name: "Ghost",
6446
- enabled: true,
6447
- priority: 3,
6448
- background: {
6449
- type: "surface",
6450
- role: "link"
6451
- },
6452
- borderRadius: "rounded-full",
6453
- effects: { hover: [{
6454
- effectId: "background-on-hover",
6455
- options: { colorToken: "surface" }
6456
- }] }
6457
- }
6458
- ]
6459
- }
6460
- });
6461
- }));
6462
- //#endregion
6463
- //#region ../theme-core/src/buttons/personalities/soft-pill.ts
6464
- var softPill;
6465
- var init_soft_pill = __esmMin((() => {
6466
- init_types$14();
6467
- softPill = defineButtonPersonality({
6468
- id: "soft-pill",
6469
- name: "Soft Pill",
6470
- description: "Rounded pills with a gentle lift on hover. Quietly modern.",
6471
- tags: {
6472
- tone: "classic",
6473
- energy: "calm",
6474
- motion: "subtle",
6475
- era: "organic"
6476
- },
6477
- buttonSystem: {
6478
- global: {
6479
- cornerStyle: "pill",
6480
- shadow: "low",
6481
- textTransform: "none",
6482
- fontWeight: 500,
6483
- borderWidth: 2,
6484
- hoverTransform: "lift",
6485
- hoverColor: "none"
6486
- },
6487
- variants: [
6488
- {
6489
- id: "primary",
6490
- name: "Primary",
6491
- enabled: true,
6492
- priority: 1,
6493
- background: {
6494
- type: "solid",
6495
- colorToken: "primary"
6496
- },
6497
- borderRadius: "rounded-full",
6498
- shadow: {
6499
- elevation: "low",
6500
- softness: "soft",
6501
- position: "bottom"
6502
- },
6503
- effects: {
6504
- hover: [{
6505
- effectId: "lift",
6506
- options: { translateY: "-1px" }
6507
- }],
6508
- active: [{
6509
- effectId: "scale-down",
6510
- options: { scale: "0.98" }
6511
- }]
6695
+ outline: {
6696
+ kind: "complete",
6697
+ appearance: {
6698
+ background: {
6699
+ type: "surface",
6700
+ role: "link"
6701
+ },
6702
+ borderRadius: "rounded-md",
6703
+ border: { widthClass: "border" },
6704
+ effects: { hover: [{
6705
+ effectId: "background-on-hover",
6706
+ options: { colorToken: "muted" }
6707
+ }] }
6512
6708
  }
6513
6709
  },
6514
- {
6515
- id: "secondary",
6516
- name: "Secondary",
6517
- enabled: true,
6518
- priority: 2,
6519
- background: {
6520
- type: "surface",
6521
- role: "link"
6522
- },
6523
- borderRadius: "rounded-full",
6524
- border: { widthClass: "border-2" },
6525
- effects: { hover: [{
6526
- effectId: "background-on-hover",
6527
- options: { colorToken: "surface" }
6528
- }] }
6529
- },
6530
- {
6531
- id: "outline",
6532
- name: "Outline",
6533
- enabled: true,
6534
- priority: 3,
6535
- background: {
6536
- type: "surface",
6537
- role: "link"
6538
- },
6539
- borderRadius: "rounded-full",
6540
- border: { widthClass: "border" },
6541
- effects: { hover: [{
6542
- effectId: "background-on-hover",
6543
- options: { colorToken: "surface" }
6544
- }] }
6710
+ ghost: {
6711
+ kind: "complete",
6712
+ appearance: {
6713
+ background: {
6714
+ type: "surface",
6715
+ role: "link"
6716
+ },
6717
+ borderRadius: "rounded-none",
6718
+ sizes: ornateGhostSizes,
6719
+ effects: { base: [{
6720
+ effectId: "border-bottom-grow",
6721
+ options: {
6722
+ height: 1,
6723
+ colorToken: "accent",
6724
+ origin: "left"
6725
+ }
6726
+ }] }
6727
+ }
6545
6728
  },
6546
- {
6547
- id: "ghost",
6548
- name: "Ghost",
6549
- enabled: true,
6550
- priority: 3,
6551
- background: {
6552
- type: "surface",
6553
- role: "link"
6554
- },
6555
- borderRadius: "rounded-full",
6556
- effects: { hover: [{
6557
- effectId: "background-on-hover",
6558
- options: { colorToken: "surface" }
6559
- }] }
6729
+ accent: {
6730
+ kind: "derive",
6731
+ from: "primary",
6732
+ overrides: { background: {
6733
+ type: "solid",
6734
+ colorToken: "accent"
6735
+ } }
6560
6736
  }
6561
- ]
6737
+ }
6562
6738
  }
6563
6739
  });
6564
6740
  }));
6565
6741
  //#endregion
6566
- //#region ../theme-core/src/buttons/personalities/two-tone-pill.ts
6567
- var solidSecondary, twoTonePill;
6568
- var init_two_tone_pill = __esmMin((() => {
6569
- init_types$15();
6570
- init_soft_pill();
6571
- init_types$14();
6572
- solidSecondary = {
6573
- id: "secondary",
6574
- name: "Secondary",
6575
- enabled: true,
6576
- priority: 2,
6577
- background: {
6578
- type: "solid",
6579
- colorToken: unsafeAsOpaqueButtonColourToken("secondary")
6580
- },
6581
- borderRadius: "rounded-full",
6582
- shadow: {
6583
- elevation: "none",
6584
- softness: null,
6585
- position: "bottom"
6586
- },
6587
- effects: {
6588
- hover: [{
6589
- effectId: "background-on-hover-alpha",
6590
- options: {
6591
- colorToken: "secondary",
6592
- opacity: 88
6593
- }
6594
- }],
6595
- active: [{
6596
- effectId: "scale-down",
6597
- options: { scale: "0.98" }
6598
- }]
6599
- }
6742
+ //#region ../theme-core/src/buttons/styles/registry.ts
6743
+ function findButtonStyleRecipe(id) {
6744
+ const recipe = recipesById.get(id);
6745
+ if (recipe === void 0) throw new Error(`Button style registry is missing known style ${id}`);
6746
+ return recipe;
6747
+ }
6748
+ function resolveButtonStyleSelection(selection) {
6749
+ switch (selection.styleId) {
6750
+ case "soft-pill": return resolveButtonStyleRecipe(softPillRecipe, selection.parameters);
6751
+ case "earth-pill": return resolveButtonStyleRecipe(earthPillRecipe, selection.parameters);
6752
+ case "confident-chip": return resolveButtonStyleRecipe(confidentChipRecipe, selection.parameters);
6753
+ case "editorial-link": return resolveButtonStyleRecipe(editorialLinkRecipe, selection.parameters);
6754
+ case "pebble": return resolveButtonStyleRecipe(pebbleRecipe, selection.parameters);
6755
+ case "ink-stamp": return resolveButtonStyleRecipe(inkStampRecipe, selection.parameters);
6756
+ case "flat-ink": return resolveButtonStyleRecipe(flatInkRecipe, selection.parameters);
6757
+ case "brushed-wash": return resolveButtonStyleRecipe(brushedWashRecipe, selection.parameters);
6758
+ case "showtime-pill": return resolveButtonStyleRecipe(showtimePillRecipe, selection.parameters);
6759
+ case "joy-stamp": return resolveButtonStyleRecipe(joyStampRecipe, selection.parameters);
6760
+ case "ornate-ritual": return resolveButtonStyleRecipe(ornateRitualRecipe, selection.parameters);
6761
+ case "quiet-arrow": return resolveButtonStyleRecipe(quietArrowRecipe, selection.parameters);
6762
+ }
6763
+ }
6764
+ function defaultButtonStyleSelectionFor(styleId) {
6765
+ return {
6766
+ styleId,
6767
+ parameters: findButtonStyleRecipe(styleId).defaultParameters
6600
6768
  };
6601
- twoTonePill = defineButtonPersonality({
6602
- id: "two-tone-pill",
6603
- name: "Two-tone Pill",
6604
- description: "Rounded pills with distinct solid primary and secondary brand colours.",
6605
- tags: softPill.tags,
6606
- buttonSystem: {
6607
- ...softPill.buttonSystem,
6608
- variants: softPill.buttonSystem.variants.map((variant) => variant.id === "secondary" ? solidSecondary : variant)
6609
- }
6610
- });
6611
- })), buttonPersonalities;
6612
- var init_personalities = __esmMin((() => {
6613
- init_brushed_wash();
6614
- init_confident_chip();
6615
- init_earth_pill();
6616
- init_editorial_link();
6617
- init_flat_ink();
6618
- init_ink_stamp();
6619
- init_joy_stamp();
6620
- init_ornate_ritual();
6621
- init_pebble();
6622
- init_quiet_arrow();
6623
- init_showtime_pill();
6624
- init_soft_pill();
6625
- init_two_tone_pill();
6626
- init_types$14();
6627
- buttonPersonalities = [
6628
- softPill,
6629
- twoTonePill,
6630
- earthPill,
6631
- confidentChip,
6632
- editorialLink,
6633
- pebble,
6634
- inkStamp,
6635
- flatInk,
6636
- brushedWash,
6637
- showtimePill,
6638
- joyStamp,
6639
- ornateRitual,
6640
- quietArrow
6769
+ }
6770
+ var buttonStyleRecipes, recipesById;
6771
+ var init_registry$7 = __esmMin((() => {
6772
+ init_domain();
6773
+ init_selection();
6774
+ init_quietArrow();
6775
+ init_staticRecipes();
6776
+ buttonStyleRecipes = [
6777
+ softPillRecipe,
6778
+ earthPillRecipe,
6779
+ confidentChipRecipe,
6780
+ editorialLinkRecipe,
6781
+ pebbleRecipe,
6782
+ inkStampRecipe,
6783
+ flatInkRecipe,
6784
+ brushedWashRecipe,
6785
+ showtimePillRecipe,
6786
+ joyStampRecipe,
6787
+ ornateRitualRecipe,
6788
+ quietArrowRecipe
6641
6789
  ];
6642
- new Map(buttonPersonalities.map((p) => [p.id, p]));
6790
+ recipesById = new Map(buttonStyleRecipes.map((recipe) => [recipe.id, recipe]));
6791
+ 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");
6792
+ }));
6793
+ //#endregion
6794
+ //#region ../theme-core/src/buttons/styles/index.ts
6795
+ var init_styles = __esmMin((() => {
6796
+ init_domain();
6797
+ init_registry$7();
6798
+ init_selection();
6643
6799
  }));
6644
6800
  //#endregion
6645
6801
  //#region ../theme-core/src/buttons/presets.ts
6646
- function presetCategory(personality) {
6647
- switch (personality.tags.era) {
6802
+ function presetCategory(recipe) {
6803
+ switch (recipe.tags.era) {
6648
6804
  case "retro": return "retro";
6649
6805
  case "editorial": return "minimal";
6650
6806
  case "organic": return "artistic";
6651
- case "modern": return personality.tags.tone === "bold" ? "modern" : "technical";
6807
+ case "modern": return recipe.tags.tone === "bold" ? "modern" : "technical";
6652
6808
  case "technical": return "technical";
6653
6809
  case void 0: return "modern";
6654
6810
  }
6655
6811
  }
6656
6812
  var init_presets$3 = __esmMin((() => {
6657
- init_personalities();
6658
- buttonPersonalities.map((personality) => ({
6659
- id: personality.id,
6660
- name: personality.name,
6661
- description: personality.description,
6662
- category: presetCategory(personality),
6663
- buttonSystem: personality.buttonSystem,
6664
- compatibility: {
6665
- ...personality.tags.tone ? { tones: [personality.tags.tone] } : {},
6666
- ...personality.tags.energy ? { energies: [personality.tags.energy] } : {}
6667
- }
6668
- }));
6813
+ init_styles();
6814
+ buttonStyleRecipes.map((recipe) => {
6815
+ const resolved = resolveButtonStyleSelection(defaultButtonStyleSelectionFor(recipe.id));
6816
+ if (resolved.kind === "error") throw new Error(`Invalid registered button style ${recipe.id}: ${resolved.error.issues.join(", ")}`);
6817
+ return {
6818
+ id: recipe.id,
6819
+ name: recipe.accessibilityLabel,
6820
+ description: recipe.accessibilityLabel,
6821
+ category: presetCategory(recipe),
6822
+ buttonSystem: resolved.buttonSystem,
6823
+ compatibility: {
6824
+ ...recipe.tags.tone ? { tones: [recipe.tags.tone] } : {},
6825
+ ...recipe.tags.energy ? { energies: [recipe.tags.energy] } : {}
6826
+ }
6827
+ };
6828
+ });
6669
6829
  }));
6670
6830
  //#endregion
6671
6831
  //#region ../theme-core/src/buttons/effects/types.ts
@@ -6674,12 +6834,12 @@ var init_types$13 = __esmMin((() => {}));
6674
6834
  //#region ../theme-core/src/buttons/core.ts
6675
6835
  var init_core$2 = __esmMin((() => {
6676
6836
  init_resolveButtonColourStates();
6677
- init_types$15();
6837
+ init_types$14();
6678
6838
  }));
6679
6839
  //#endregion
6680
6840
  //#region ../theme-core/src/buttons/index.ts
6681
6841
  var init_buttons = __esmMin((() => {
6682
- init_types$15();
6842
+ init_types$14();
6683
6843
  init_classNames();
6684
6844
  init_generateButtonCss();
6685
6845
  init_resolveButtonColourStates();
@@ -6687,9 +6847,9 @@ var init_buttons = __esmMin((() => {
6687
6847
  init_generateDefaultButtonSystem();
6688
6848
  init_constants$1();
6689
6849
  init_presets$3();
6690
- init_personalities();
6850
+ init_styles();
6691
6851
  init_types$13();
6692
- init_registry$7();
6852
+ init_registry$8();
6693
6853
  init_transform();
6694
6854
  init_core$2();
6695
6855
  }));
@@ -11370,25 +11530,9 @@ var init_headerLooks = __esmMin((() => {
11370
11530
  function asFooterLookId(value) {
11371
11531
  return value;
11372
11532
  }
11373
- function asFooterLayoutId(value) {
11374
- return value;
11375
- }
11376
- function asFooterStyleId(value) {
11377
- return value;
11378
- }
11379
- /**
11380
- * No-nav-safe identity footer: brand and legal/supporting copy carry the
11381
- * footer without implying missing navigation.
11382
- */
11383
- function identityQuietFooter(theme) {
11533
+ function quietFooterLinks(theme) {
11384
11534
  return {
11385
11535
  ...theme.footer,
11386
- variant: "simple",
11387
- maxWidth: "container",
11388
- background: {
11389
- type: "color",
11390
- color: "surface"
11391
- },
11392
11536
  navStyle: "minimal",
11393
11537
  navWeight: "regular",
11394
11538
  navColor: "text",
@@ -11401,339 +11545,41 @@ function identityQuietFooter(theme) {
11401
11545
  hoverColorToken: "primary",
11402
11546
  padding: "none",
11403
11547
  borderRadius: "none"
11404
- },
11405
- navLayout: {
11406
- layout: "inline-wrap",
11407
- align: "start",
11408
- gapX: "default",
11409
- gapY: "tight"
11410
- },
11411
- logo: {
11412
- showLogo: true,
11413
- showLogoText: true,
11414
- placement: "left",
11415
- size: "sm",
11416
- align: "start"
11417
- },
11418
- bottomBar: {
11419
- enabled: false,
11420
- fullBleed: false,
11421
- textAlign: "left",
11422
- paddingX: "default",
11423
- paddingY: "compact",
11424
- borderTop: { width: "none" }
11425
11548
  }
11426
11549
  };
11427
11550
  }
11428
- /**
11429
- * Back-compat alias for the previous default footer Look. It keeps existing
11430
- * persisted selections valid while staying hidden from the new layout/style UI.
11431
- */
11432
- function mutedGroundingFooter(theme) {
11433
- return {
11434
- ...identityQuietFooter(theme),
11435
- background: theme.footer.background,
11436
- navStyle: theme.footer.navStyle,
11437
- navColor: theme.footer.navColor,
11438
- navWeight: theme.footer.navWeight,
11439
- navLinkStyle: theme.footer.navLinkStyle,
11440
- bottomTextLinkStyle: theme.footer.bottomTextLinkStyle
11441
- };
11442
- }
11443
- /** Applies a high-contrast brand band with a darker full-bleed bottom bar. */
11444
- function brandTwoBandFooter(theme) {
11551
+ function emphasizedFooterLinks(theme) {
11445
11552
  return {
11446
11553
  ...theme.footer,
11447
- variant: "split",
11448
- maxWidth: "container",
11449
- background: {
11450
- type: "color",
11451
- color: "primary-800"
11452
- },
11453
11554
  navStyle: "minimal",
11454
11555
  navWeight: "medium",
11455
- navColor: "primaryForeground",
11456
- navLinkStyle: {
11457
- typography: "body",
11458
- fontWeight: "medium",
11459
- textTransform: "none",
11460
- italic: false,
11461
- colorToken: "primaryForeground",
11462
- hoverColorToken: "secondary",
11463
- padding: "none",
11464
- borderRadius: "none"
11465
- },
11466
- bottomTextLinkStyle: {
11467
- colorToken: "secondary",
11468
- decorationColorToken: "secondary"
11469
- },
11470
- navLayout: {
11471
- layout: "inline-wrap",
11472
- align: "start",
11473
- gapX: "default",
11474
- gapY: "tight"
11475
- },
11476
- logo: {
11477
- showLogo: true,
11478
- showLogoText: false,
11479
- placement: "left",
11480
- size: "sm",
11481
- align: "start"
11482
- },
11483
- bottomBar: {
11484
- enabled: true,
11485
- fullBleed: true,
11486
- background: {
11487
- type: "color",
11488
- color: "primary-900"
11489
- },
11490
- textColor: "primaryForeground",
11491
- textAlign: "center",
11492
- paddingX: "default",
11493
- paddingY: "compact",
11494
- borderTop: { width: "none" }
11495
- }
11496
- };
11497
- }
11498
- /**
11499
- * Centered stack on a softly tinted band: logo, inline nav, address, and a
11500
- * hairline-topped copyright line, all centered.
11501
- */
11502
- function centeredCalmFooter(theme) {
11503
- return {
11504
- ...theme.footer,
11505
- variant: "simple",
11506
- maxWidth: "container",
11507
- background: {
11508
- type: "color",
11509
- color: "surfaceAlt"
11510
- },
11511
- navStyle: "minimal",
11512
- navWeight: "regular",
11513
- navColor: "text",
11514
- navLinkStyle: {
11515
- typography: "body",
11516
- fontWeight: "regular",
11517
- textTransform: "none",
11518
- italic: false,
11519
- colorToken: "text",
11520
- hoverColorToken: "primary",
11521
- padding: "none",
11522
- borderRadius: "none"
11523
- },
11524
- navLayout: {
11525
- layout: "inline-wrap",
11526
- align: "center",
11527
- gapX: "relaxed",
11528
- gapY: "tight"
11529
- },
11530
- logo: {
11531
- showLogo: true,
11532
- showLogoText: false,
11533
- placement: "above",
11534
- size: "sm",
11535
- align: "center"
11536
- },
11537
- bottomBar: {
11538
- enabled: true,
11539
- fullBleed: false,
11540
- textAlign: "center",
11541
- paddingX: "default",
11542
- paddingY: "compact",
11543
- borderTop: { width: "thin" }
11544
- }
11545
- };
11546
- }
11547
- /** Editorial split footer: compact nav on one side, brand signoff on the other. */
11548
- function splitEditorialFooter(theme) {
11549
- return {
11550
- ...theme.footer,
11551
- variant: "split",
11552
- maxWidth: "container",
11553
- background: {
11554
- type: "color",
11555
- color: "surface"
11556
- },
11557
- navStyle: "minimal",
11558
- navWeight: "regular",
11559
11556
  navColor: "text",
11560
11557
  navLinkStyle: {
11561
11558
  typography: "body",
11562
- fontWeight: "regular",
11563
- textTransform: "none",
11564
- italic: false,
11565
- colorToken: "text",
11566
- hoverColorToken: "primary",
11567
- padding: "none",
11568
- borderRadius: "none"
11569
- },
11570
- navLayout: {
11571
- layout: "inline-wrap",
11572
- align: "start",
11573
- gapX: "relaxed",
11574
- gapY: "tight"
11575
- },
11576
- logo: {
11577
- showLogo: true,
11578
- showLogoText: true,
11579
- placement: "right",
11580
- size: "sm",
11581
- align: "end"
11582
- },
11583
- bottomBar: {
11584
- enabled: true,
11585
- fullBleed: false,
11586
- textAlign: "left",
11587
- paddingX: "default",
11588
- paddingY: "compact",
11589
- borderTop: { width: "thin" }
11590
- }
11591
- };
11592
- }
11593
- /**
11594
- * Editorial columns: site name and supporting copy on the left, inline nav on
11595
- * the right, with a hairline-topped bottom line. Uses the footer block's
11596
- * columns layout.
11597
- */
11598
- function editorialColumnsFooter(theme) {
11599
- return {
11600
- ...theme.footer,
11601
- variant: "columns",
11602
- maxWidth: "container",
11603
- background: {
11604
- type: "color",
11605
- color: "surface"
11606
- },
11607
- navStyle: "minimal",
11608
- navWeight: "regular",
11609
- navColor: "text",
11610
- navLinkStyle: {
11611
- typography: "body",
11612
- fontWeight: "regular",
11559
+ fontWeight: "medium",
11613
11560
  textTransform: "none",
11614
11561
  italic: false,
11615
11562
  colorToken: "text",
11616
11563
  hoverColorToken: "primary",
11617
11564
  padding: "none",
11618
11565
  borderRadius: "none"
11619
- },
11620
- logo: {
11621
- showLogo: true,
11622
- showLogoText: true,
11623
- placement: "left",
11624
- size: "sm",
11625
- align: "start"
11626
- },
11627
- bottomBar: {
11628
- enabled: true,
11629
- fullBleed: false,
11630
- textAlign: "center",
11631
- paddingX: "default",
11632
- paddingY: "compact",
11633
- borderTop: { width: "thin" }
11634
11566
  }
11635
11567
  };
11636
11568
  }
11637
- var footerLayoutCatalog, footerStyleCatalog, footerLookCatalog;
11569
+ var footerLookCatalog;
11638
11570
  var init_footerLooks = __esmMin((() => {
11639
11571
  init_types$7();
11640
- footerLayoutCatalog = defineExactCatalog()([
11641
- {
11642
- id: asFooterLayoutId("identity"),
11643
- label: "Identity",
11644
- description: "Logo, site text, address, and legal copy without relying on footer navigation."
11645
- },
11646
- {
11647
- id: asFooterLayoutId("centered"),
11648
- label: "Centered",
11649
- description: "A calm centered stack for identity, short copy, and optional compact navigation.",
11650
- maxRecommendedNavDensity: "sparse"
11651
- },
11652
- {
11653
- id: asFooterLayoutId("split"),
11654
- label: "Split",
11655
- description: "Navigation and brand signoff separated into a wider split footer.",
11656
- requiresFooterNav: true,
11657
- maxRecommendedNavDensity: "balanced"
11658
- },
11659
- {
11660
- id: asFooterLayoutId("columns"),
11661
- label: "Columns",
11662
- description: "Grouped footer navigation columns with a supporting bottom line.",
11663
- requiresFooterNav: true,
11664
- requiresFooterNavGroups: true
11665
- }
11666
- ]);
11667
- footerStyleCatalog = defineExactCatalog()([
11668
- {
11669
- id: asFooterStyleId("quiet"),
11670
- label: "Quiet",
11671
- description: "Lightweight, practical footer treatment."
11672
- },
11673
- {
11674
- id: asFooterStyleId("calm"),
11675
- label: "Calm",
11676
- description: "Soft centered treatment with restrained dividers."
11677
- },
11678
- {
11679
- id: asFooterStyleId("editorial"),
11680
- label: "Editorial",
11681
- description: "Text-forward treatment with fine-line structure."
11682
- },
11683
- {
11684
- id: asFooterStyleId("brand-band"),
11685
- label: "Brand band",
11686
- description: "High-contrast brand treatment with a stronger bottom bar."
11687
- }
11688
- ]);
11689
- new Map(footerLayoutCatalog.map((layout) => [layout.id, layout]));
11690
- new Map(footerStyleCatalog.map((style) => [style.id, style]));
11691
- footerLookCatalog = defineExactCatalog()([
11692
- {
11693
- id: asFooterLookId("footer-identity-quiet"),
11694
- label: "Identity footer",
11695
- layoutId: asFooterLayoutId("identity"),
11696
- styleId: asFooterStyleId("quiet"),
11697
- compile: identityQuietFooter
11698
- },
11699
- {
11700
- id: asFooterLookId("footer-muted-grounding"),
11701
- label: "Muted grounding footer",
11702
- layoutId: asFooterLayoutId("identity"),
11703
- styleId: asFooterStyleId("quiet"),
11704
- hiddenFromLayoutStyleControls: true,
11705
- compile: mutedGroundingFooter
11706
- },
11707
- {
11708
- id: asFooterLookId("footer-centered-calm"),
11709
- label: "Centered calm footer",
11710
- layoutId: asFooterLayoutId("centered"),
11711
- styleId: asFooterStyleId("calm"),
11712
- compile: centeredCalmFooter
11713
- },
11714
- {
11715
- id: asFooterLookId("footer-split-editorial"),
11716
- label: "Split editorial footer",
11717
- layoutId: asFooterLayoutId("split"),
11718
- styleId: asFooterStyleId("editorial"),
11719
- compile: splitEditorialFooter
11720
- },
11721
- {
11722
- id: asFooterLookId("footer-editorial-columns"),
11723
- label: "Editorial columns footer",
11724
- layoutId: asFooterLayoutId("columns"),
11725
- styleId: asFooterStyleId("editorial"),
11726
- compile: editorialColumnsFooter
11727
- },
11728
- {
11729
- id: asFooterLookId("site-footer-brand-two-band"),
11730
- label: "Two-band brand footer",
11731
- layoutId: asFooterLayoutId("split"),
11732
- styleId: asFooterStyleId("brand-band"),
11733
- allowedContentPresence: ["default-footer", "default-and-blocks"],
11734
- compile: brandTwoBandFooter
11735
- }
11736
- ]);
11572
+ footerLookCatalog = defineExactCatalog()([{
11573
+ id: asFooterLookId("footer-links-quiet"),
11574
+ label: "Quiet links",
11575
+ description: "Regular-weight footer navigation with a restrained hover.",
11576
+ compile: quietFooterLinks
11577
+ }, {
11578
+ id: asFooterLookId("footer-links-emphasized"),
11579
+ label: "Emphasized links",
11580
+ description: "Medium-weight footer navigation with a clearer emphasis.",
11581
+ compile: emphasizedFooterLinks
11582
+ }]);
11737
11583
  new Map(footerLookCatalog.map((look) => [look.id, look]));
11738
11584
  }));
11739
11585
  //#endregion
@@ -12448,7 +12294,7 @@ function uniformSectionForeground(token) {
12448
12294
  var defaultDesignRuntimeRules, defaultComponentRuntimeRules;
12449
12295
  var init_runtimeCompiler = __esmMin((() => {
12450
12296
  init_schema$2();
12451
- init_personalities();
12297
+ init_styles();
12452
12298
  init_colors();
12453
12299
  init_designState();
12454
12300
  init_sectionTransitions();
@@ -12688,17 +12534,21 @@ function defineCuratedSiteStyle(input) {
12688
12534
  })),
12689
12535
  recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
12690
12536
  recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
12691
- buttonPersonalityChoices: input.buttonPersonalityChoices,
12537
+ buttonStyleChoices: input.buttonStyleChoices,
12692
12538
  paletteRecommendations: input.paletteRecommendations,
12693
12539
  typography: input.typography ?? defaultTypographyForRecipe(input.tokenRecipes.typography),
12694
12540
  ...input.heroTypography ? { heroTypography: input.heroTypography } : {}
12695
12541
  };
12696
12542
  }
12697
- function buttonChoice(id, note) {
12543
+ function buttonChoice(styleId, note, parameters) {
12544
+ const selection = parameters === void 0 ? defaultButtonStyleSelectionFor(styleId) : buttonStyleSelectionSchema.parse({
12545
+ styleId,
12546
+ parameters
12547
+ });
12698
12548
  return note ? {
12699
- id: asButtonPersonalityId(id),
12549
+ ...selection,
12700
12550
  note
12701
- } : { id: asButtonPersonalityId(id) };
12551
+ } : selection;
12702
12552
  }
12703
12553
  function paletteRecommendation(authoringKey, note) {
12704
12554
  const valueKey = requireCuratedPaletteValueKey(asCuratedPaletteAuthoringKey(authoringKey));
@@ -12851,7 +12701,7 @@ function inferHeaderCurationFromLegacyLooks(lookIds, recipes) {
12851
12701
  }
12852
12702
  var SOFT_EARTH_SITE_STYLE_ID_VALUE, SOFT_EARTH_SITE_STYLE_ID, curatedSiteStyleIdValues, quietBudget, accentLedQuietBudget, balancedBudget, expressiveBudget, kirtanOrnateDesignRuntimeRules, primaryGlowGradientPresetId, fulcrumDesignRuntimeRules, expressiveUnderlineInputs, ornateDarkInputs, generatedContentFrameKinds, curatedSiteStyles;
12853
12703
  var init_curatedSiteStyles = __esmMin((() => {
12854
- init_personalities();
12704
+ init_styles();
12855
12705
  init_curated();
12856
12706
  init_siteStyleDefaults$1();
12857
12707
  init_siteStyleDefaults();
@@ -13084,9 +12934,8 @@ var init_curatedSiteStyles = __esmMin((() => {
13084
12934
  "minimal-transparent",
13085
12935
  "clean-base"
13086
12936
  ],
13087
- buttonPersonalityChoices: [
12937
+ buttonStyleChoices: [
13088
12938
  buttonChoice("soft-pill"),
13089
- buttonChoice("two-tone-pill"),
13090
12939
  buttonChoice("pebble"),
13091
12940
  buttonChoice("editorial-link"),
13092
12941
  buttonChoice("brushed-wash")
@@ -13122,7 +12971,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13122
12971
  "brand-solid",
13123
12972
  "clean-base"
13124
12973
  ],
13125
- buttonPersonalityChoices: [
12974
+ buttonStyleChoices: [
13126
12975
  buttonChoice("confident-chip"),
13127
12976
  buttonChoice("soft-pill"),
13128
12977
  buttonChoice("editorial-link")
@@ -13161,7 +13010,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13161
13010
  "minimal-transparent",
13162
13011
  "centered-calm"
13163
13012
  ],
13164
- buttonPersonalityChoices: [
13013
+ buttonStyleChoices: [
13165
13014
  buttonChoice("editorial-link"),
13166
13015
  buttonChoice("soft-pill"),
13167
13016
  buttonChoice("brushed-wash")
@@ -13201,7 +13050,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13201
13050
  "practical-utility",
13202
13051
  "clean-base"
13203
13052
  ],
13204
- buttonPersonalityChoices: [
13053
+ buttonStyleChoices: [
13205
13054
  buttonChoice("pebble"),
13206
13055
  buttonChoice("brushed-wash"),
13207
13056
  buttonChoice("confident-chip")
@@ -13262,7 +13111,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13262
13111
  "serif-line",
13263
13112
  "clean-base"
13264
13113
  ],
13265
- buttonPersonalityChoices: [
13114
+ buttonStyleChoices: [
13266
13115
  buttonChoice("editorial-link"),
13267
13116
  buttonChoice("confident-chip"),
13268
13117
  buttonChoice("soft-pill")
@@ -13324,7 +13173,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13324
13173
  "brand-solid",
13325
13174
  "clean-base"
13326
13175
  ],
13327
- buttonPersonalityChoices: [
13176
+ buttonStyleChoices: [
13328
13177
  buttonChoice("confident-chip"),
13329
13178
  buttonChoice("pebble"),
13330
13179
  buttonChoice("ink-stamp")
@@ -13363,7 +13212,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13363
13212
  "minimal-transparent",
13364
13213
  "clean-base"
13365
13214
  ],
13366
- buttonPersonalityChoices: [
13215
+ buttonStyleChoices: [
13367
13216
  buttonChoice("soft-pill"),
13368
13217
  buttonChoice("pebble"),
13369
13218
  buttonChoice("confident-chip")
@@ -13436,7 +13285,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13436
13285
  "clean-base",
13437
13286
  "centered-calm"
13438
13287
  ],
13439
- buttonPersonalityChoices: [
13288
+ buttonStyleChoices: [
13440
13289
  buttonChoice("pebble"),
13441
13290
  buttonChoice("soft-pill"),
13442
13291
  buttonChoice("editorial-link")
@@ -13555,12 +13404,8 @@ var init_curatedSiteStyles = __esmMin((() => {
13555
13404
  "serif-line",
13556
13405
  "minimal-transparent"
13557
13406
  ],
13558
- recommendedFooterLookIds: [
13559
- "footer-centered-calm",
13560
- "footer-editorial-columns",
13561
- "footer-muted-grounding"
13562
- ],
13563
- buttonPersonalityChoices: [
13407
+ recommendedFooterLookIds: ["footer-links-quiet"],
13408
+ buttonStyleChoices: [
13564
13409
  buttonChoice("soft-pill"),
13565
13410
  buttonChoice("pebble"),
13566
13411
  buttonChoice("editorial-link")
@@ -13634,7 +13479,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13634
13479
  "centered-calm",
13635
13480
  "minimal-transparent"
13636
13481
  ],
13637
- buttonPersonalityChoices: [
13482
+ buttonStyleChoices: [
13638
13483
  buttonChoice("editorial-link"),
13639
13484
  buttonChoice("soft-pill"),
13640
13485
  buttonChoice("brushed-wash")
@@ -13707,8 +13552,8 @@ var init_curatedSiteStyles = __esmMin((() => {
13707
13552
  "practical-utility",
13708
13553
  "clean-base"
13709
13554
  ],
13710
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
13711
- buttonPersonalityChoices: [
13555
+ recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
13556
+ buttonStyleChoices: [
13712
13557
  buttonChoice("pebble"),
13713
13558
  buttonChoice("confident-chip"),
13714
13559
  buttonChoice("ink-stamp"),
@@ -13829,8 +13674,8 @@ var init_curatedSiteStyles = __esmMin((() => {
13829
13674
  "minimal-transparent",
13830
13675
  "serif-line"
13831
13676
  ],
13832
- recommendedFooterLookIds: ["footer-muted-grounding", "site-footer-brand-two-band"],
13833
- buttonPersonalityChoices: [
13677
+ recommendedFooterLookIds: ["footer-links-quiet", "footer-links-emphasized"],
13678
+ buttonStyleChoices: [
13834
13679
  buttonChoice("earth-pill"),
13835
13680
  buttonChoice("soft-pill"),
13836
13681
  buttonChoice("pebble"),
@@ -13901,7 +13746,7 @@ var init_curatedSiteStyles = __esmMin((() => {
13901
13746
  "floating-glass",
13902
13747
  "brand-solid"
13903
13748
  ],
13904
- buttonPersonalityChoices: [
13749
+ buttonStyleChoices: [
13905
13750
  buttonChoice("ink-stamp"),
13906
13751
  buttonChoice("confident-chip"),
13907
13752
  buttonChoice("brushed-wash"),
@@ -13956,8 +13801,8 @@ var init_curatedSiteStyles = __esmMin((() => {
13956
13801
  "transparent-overlay",
13957
13802
  "practical-utility"
13958
13803
  ],
13959
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
13960
- buttonPersonalityChoices: [
13804
+ recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
13805
+ buttonStyleChoices: [
13961
13806
  buttonChoice("showtime-pill"),
13962
13807
  buttonChoice("confident-chip"),
13963
13808
  buttonChoice("ink-stamp"),
@@ -14038,8 +13883,8 @@ var init_curatedSiteStyles = __esmMin((() => {
14038
13883
  headerStyleChoice("glass")
14039
13884
  ] },
14040
13885
  recommendedHeaderLookIds: ["minimal-transparent"],
14041
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
14042
- buttonPersonalityChoices: [
13886
+ recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
13887
+ buttonStyleChoices: [
14043
13888
  buttonChoice("ornate-ritual"),
14044
13889
  buttonChoice("joy-stamp"),
14045
13890
  buttonChoice("ink-stamp")
@@ -14092,8 +13937,8 @@ var init_curatedSiteStyles = __esmMin((() => {
14092
13937
  headerStyleChoice("glass")
14093
13938
  ] },
14094
13939
  recommendedHeaderLookIds: ["minimal-transparent"],
14095
- recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
14096
- buttonPersonalityChoices: [
13940
+ recommendedFooterLookIds: ["footer-links-emphasized", "footer-links-quiet"],
13941
+ buttonStyleChoices: [
14097
13942
  buttonChoice("joy-stamp"),
14098
13943
  buttonChoice("ink-stamp"),
14099
13944
  buttonChoice("showtime-pill")
@@ -14183,8 +14028,8 @@ var init_curatedSiteStyles = __esmMin((() => {
14183
14028
  "centered-calm",
14184
14029
  "clean-base"
14185
14030
  ],
14186
- recommendedFooterLookIds: ["footer-editorial-columns", "footer-muted-grounding"],
14187
- buttonPersonalityChoices: [
14031
+ recommendedFooterLookIds: ["footer-links-quiet"],
14032
+ buttonStyleChoices: [
14188
14033
  buttonChoice("flat-ink"),
14189
14034
  buttonChoice("confident-chip"),
14190
14035
  buttonChoice("editorial-link")
@@ -14261,14 +14106,9 @@ var init_curatedSiteStyles = __esmMin((() => {
14261
14106
  "serif-line",
14262
14107
  "clean-base"
14263
14108
  ],
14264
- recommendedFooterLookIds: [
14265
- "footer-editorial-columns",
14266
- "footer-muted-grounding",
14267
- "footer-identity-quiet"
14268
- ],
14269
- buttonPersonalityChoices: [
14270
- buttonChoice("quiet-arrow"),
14271
- buttonChoice("two-tone-pill"),
14109
+ recommendedFooterLookIds: ["footer-links-quiet"],
14110
+ buttonStyleChoices: [
14111
+ buttonChoice("quiet-arrow", void 0, { secondaryTreatment: "solid-accent" }),
14272
14112
  buttonChoice("flat-ink"),
14273
14113
  buttonChoice("editorial-link")
14274
14114
  ],
@@ -14330,7 +14170,6 @@ var init_previewCustomization = __esmMin((() => {}));
14330
14170
  var init_previewCompiler = __esmMin((() => {
14331
14171
  init_schema$2();
14332
14172
  init_tokens();
14333
- init_personalities();
14334
14173
  init_curated();
14335
14174
  init_resolveSelection();
14336
14175
  init_curatedSiteStyles();
@@ -20124,6 +19963,37 @@ var init_heroLayoutControls = __esmMin((() => {
20124
19963
  });
20125
19964
  }));
20126
19965
  //#endregion
19966
+ //#region ../blocks/src/system/constants/buttonRoles.ts
19967
+ /**
19968
+ * Temporary rollout boundary for persisted content written before issue #1220.
19969
+ * Authoring remains strict through `blockButtonRoleSchema`; this parser exists
19970
+ * only until the post-deploy role rewrite has been audited in production.
19971
+ */
19972
+ function canonicalizePersistedBlockButtonRole(value) {
19973
+ return value === "link" || value === "tertiary" ? "ghost" : value;
19974
+ }
19975
+ function isBlockButtonRole(value) {
19976
+ return blockButtonRoleSchema.safeParse(value).success;
19977
+ }
19978
+ var BLOCK_BUTTON_ROLES, blockButtonRoleSchema, persistedBlockButtonRoleSchema, BLOCK_BUTTON_ROLE_LABELS, BLOCK_BUTTON_ROLE_OPTIONS;
19979
+ var init_buttonRoles = __esmMin((() => {
19980
+ init_buttons();
19981
+ BLOCK_BUTTON_ROLES = PUBLIC_BUTTON_ROLES;
19982
+ blockButtonRoleSchema = z$1.enum(BLOCK_BUTTON_ROLES);
19983
+ persistedBlockButtonRoleSchema = z$1.preprocess((value) => typeof value === "string" ? canonicalizePersistedBlockButtonRole(value) : value, blockButtonRoleSchema);
19984
+ BLOCK_BUTTON_ROLE_LABELS = {
19985
+ primary: "Primary",
19986
+ secondary: "Secondary",
19987
+ outline: "Outline",
19988
+ ghost: "Ghost",
19989
+ accent: "Accent"
19990
+ };
19991
+ BLOCK_BUTTON_ROLE_OPTIONS = BLOCK_BUTTON_ROLES.map((value) => ({
19992
+ value,
19993
+ label: BLOCK_BUTTON_ROLE_LABELS[value]
19994
+ }));
19995
+ }));
19996
+ //#endregion
20127
19997
  //#region ../blocks/src/system/fields/button.ts
20128
19998
  function createButtonVariantField(options = {}) {
20129
19999
  return {
@@ -20142,20 +20012,7 @@ function createButtonVariantField(options = {}) {
20142
20012
  };
20143
20013
  }
20144
20014
  function createButtonGroup(options = {}) {
20145
- const { variants = [
20146
- {
20147
- value: "primary",
20148
- label: "Primary"
20149
- },
20150
- {
20151
- value: "secondary",
20152
- label: "Secondary"
20153
- },
20154
- {
20155
- value: "outline",
20156
- label: "Outline"
20157
- }
20158
- ], defaultVariant, includeSize = true, defaultSize = "md", showGroupLabel = false, groupId = "button", groupLabel = "Button", flattenInRepeater = true } = options;
20015
+ const { variants = BLOCK_BUTTON_ROLE_OPTIONS, defaultVariant, includeSize = true, defaultSize = "md", showGroupLabel = false, groupId = "button", groupLabel = "Button", flattenInRepeater = true } = options;
20159
20016
  const mainFields = [
20160
20017
  {
20161
20018
  id: "label",
@@ -20260,24 +20117,8 @@ function createButtonGroup(options = {}) {
20260
20117
  }
20261
20118
  var DEFAULT_THEME_BUTTON_VARIANTS;
20262
20119
  var init_button = __esmMin((() => {
20263
- DEFAULT_THEME_BUTTON_VARIANTS = [
20264
- {
20265
- value: "primary",
20266
- label: "Primary"
20267
- },
20268
- {
20269
- value: "secondary",
20270
- label: "Secondary"
20271
- },
20272
- {
20273
- value: "outline",
20274
- label: "Outline"
20275
- },
20276
- {
20277
- value: "link",
20278
- label: "Link"
20279
- }
20280
- ];
20120
+ init_buttonRoles();
20121
+ DEFAULT_THEME_BUTTON_VARIANTS = BLOCK_BUTTON_ROLE_OPTIONS;
20281
20122
  }));
20282
20123
  //#endregion
20283
20124
  //#region ../blocks/src/system/fields/ctas.ts
@@ -20320,29 +20161,7 @@ var init_ctaRow = __esmMin((() => {
20320
20161
  fields: [createCtasRepeater({
20321
20162
  label: "Calls to action",
20322
20163
  itemLabel: "CTA",
20323
- maxItems: 3,
20324
- button: { variants: [
20325
- {
20326
- value: "primary",
20327
- label: "Primary"
20328
- },
20329
- {
20330
- value: "secondary",
20331
- label: "Secondary"
20332
- },
20333
- {
20334
- value: "outline",
20335
- label: "Outline"
20336
- },
20337
- {
20338
- value: "link",
20339
- label: "Link"
20340
- },
20341
- {
20342
- value: "accent",
20343
- label: "Accent"
20344
- }
20345
- ] }
20164
+ maxItems: 3
20346
20165
  })],
20347
20166
  layout: [ctaRow({
20348
20167
  collectionPath: "content.ctas",
@@ -20365,10 +20184,6 @@ var init_heroCtaRow = __esmMin((() => {
20365
20184
  defaultValue: [],
20366
20185
  button: {
20367
20186
  variants: [
20368
- {
20369
- value: "default",
20370
- label: "Default"
20371
- },
20372
20187
  {
20373
20188
  value: "primary",
20374
20189
  label: "Primary"
@@ -20380,9 +20195,17 @@ var init_heroCtaRow = __esmMin((() => {
20380
20195
  {
20381
20196
  value: "outline",
20382
20197
  label: "Outline"
20198
+ },
20199
+ {
20200
+ value: "ghost",
20201
+ label: "Ghost"
20202
+ },
20203
+ {
20204
+ value: "accent",
20205
+ label: "Accent"
20383
20206
  }
20384
20207
  ],
20385
- defaultVariant: "default",
20208
+ defaultVariant: "primary",
20386
20209
  includeSize: true,
20387
20210
  defaultSize: "lg"
20388
20211
  }
@@ -21246,11 +21069,13 @@ var init_blogFeaturedPost = __esmMin((() => {
21246
21069
  as: "p",
21247
21070
  style: textColorStyle$1("text/80")
21248
21071
  }, bind$2("post.excerpt", { fallback: "Select a blog post to display its preview." })),
21249
- link({
21250
- className: "rb-inline-flex rb-items-center rb-caption rb-hover-opacity-80",
21251
- style: textColorStyle$1("primary"),
21252
- href: { $bind: { from: "post.path" } }
21253
- }, [text({ as: "strong" }, props({ value: "Read more →" }))])
21072
+ button({
21073
+ className: "rb-self-start",
21074
+ href: { $bind: { from: "post.path" } },
21075
+ variantId: "ghost",
21076
+ size: "sm",
21077
+ linkRequired: true
21078
+ }, [text({ as: "span" }, props({ value: "Read more" }))])
21254
21079
  ])], when$1("post")), stack({
21255
21080
  gap: "sm",
21256
21081
  className: "rb-rounded-xl rb-border rb-border-dashed rb-p-6",
@@ -21539,21 +21364,7 @@ var init_newsletterForm = __esmMin((() => {
21539
21364
  createButtonVariantField({
21540
21365
  id: "buttonVariant",
21541
21366
  label: "Button style",
21542
- defaultValue: "primary",
21543
- variants: [
21544
- {
21545
- value: "primary",
21546
- label: "Primary"
21547
- },
21548
- {
21549
- value: "secondary",
21550
- label: "Secondary"
21551
- },
21552
- {
21553
- value: "outline",
21554
- label: "Outline"
21555
- }
21556
- ]
21367
+ defaultValue: "primary"
21557
21368
  }),
21558
21369
  {
21559
21370
  id: "successMessage",
@@ -23203,7 +23014,8 @@ function postExcerpt(className) {
23203
23014
  function postReadMore() {
23204
23015
  return button({
23205
23016
  href: { $bind: { from: "post.path" } },
23206
- className: "rb-self-start"
23017
+ className: "rb-self-start",
23018
+ variantId: "ghost"
23207
23019
  }, [text({ as: "span" }, bind$2("content.readMoreText", { fallback: "Read more" }), when$1("content.readMoreText")), text({
23208
23020
  as: "span",
23209
23021
  value: "Read more"
@@ -27880,31 +27692,7 @@ var init_feature_cards = __esmMin((() => {
27880
27692
  label: "Calls to action",
27881
27693
  itemLabel: "CTA",
27882
27694
  maxItems: 1,
27883
- button: {
27884
- variants: [
27885
- {
27886
- value: "primary",
27887
- label: "Primary"
27888
- },
27889
- {
27890
- value: "secondary",
27891
- label: "Secondary"
27892
- },
27893
- {
27894
- value: "outline",
27895
- label: "Outline"
27896
- },
27897
- {
27898
- value: "ghost",
27899
- label: "Ghost"
27900
- },
27901
- {
27902
- value: "link",
27903
- label: "Link"
27904
- }
27905
- ],
27906
- defaultVariant: "ghost"
27907
- }
27695
+ button: { defaultVariant: "ghost" }
27908
27696
  })
27909
27697
  ] }
27910
27698
  },
@@ -30012,18 +29800,10 @@ var init_pricing$1 = __esmMin((() => {
30012
29800
  var previewStageSchema, registrationButtonVariantSchema, eventButtonVariantSchema, eventLayoutSchema, eventCalendarDisplayModeSchema, eventCalendarDefaultViewSchema, columnOptionSchema, weekStartSchema, filterAutoShowSchema, calendarTabViewsSchema;
30013
29801
  var init_contract_schemas = __esmMin((() => {
30014
29802
  init_events$1();
29803
+ init_buttonRoles();
30015
29804
  previewStageSchema = z$1.enum(["preview", "published"]);
30016
- registrationButtonVariantSchema = z$1.enum([
30017
- "primary",
30018
- "secondary",
30019
- "outline"
30020
- ]);
30021
- eventButtonVariantSchema = z$1.enum([
30022
- "primary",
30023
- "secondary",
30024
- "outline",
30025
- "link"
30026
- ]);
29805
+ registrationButtonVariantSchema = blockButtonRoleSchema;
29806
+ eventButtonVariantSchema = persistedBlockButtonRoleSchema;
30027
29807
  eventLayoutSchema = z$1.enum(eventCalendarListLayoutValues);
30028
29808
  eventCalendarDisplayModeSchema = z$1.enum(eventCalendarDisplayModeValues);
30029
29809
  eventCalendarDefaultViewSchema = z$1.enum(eventCalendarDefaultViewValues);
@@ -30425,23 +30205,7 @@ var init_event_registration = __esmMin((() => {
30425
30205
  defaultValue: "Complete Registration",
30426
30206
  maxLength: 40
30427
30207
  },
30428
- createButtonVariantField({
30429
- description: "Choose a button style from your theme",
30430
- variants: [
30431
- {
30432
- value: "primary",
30433
- label: "Primary"
30434
- },
30435
- {
30436
- value: "secondary",
30437
- label: "Secondary"
30438
- },
30439
- {
30440
- value: "outline",
30441
- label: "Outline"
30442
- }
30443
- ]
30444
- })
30208
+ createButtonVariantField()
30445
30209
  ],
30446
30210
  layout: [styledSection({
30447
30211
  baseClass: "",
@@ -30784,23 +30548,7 @@ var init_course_registration = __esmMin((() => {
30784
30548
  defaultValue: "Sign up",
30785
30549
  maxLength: 40
30786
30550
  },
30787
- createButtonVariantField({
30788
- description: "Choose a button style from your theme",
30789
- variants: [
30790
- {
30791
- value: "primary",
30792
- label: "Primary"
30793
- },
30794
- {
30795
- value: "secondary",
30796
- label: "Secondary"
30797
- },
30798
- {
30799
- value: "outline",
30800
- label: "Outline"
30801
- }
30802
- ]
30803
- })
30551
+ createButtonVariantField()
30804
30552
  ],
30805
30553
  layout: [styledSection({
30806
30554
  baseClass: "",
@@ -33865,7 +33613,7 @@ function normalizeOfferingsPreviewGroupOverride(value) {
33865
33613
  return [override];
33866
33614
  }
33867
33615
  function isButtonVariant(value) {
33868
- return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
33616
+ return value === null || isBlockButtonRole(value);
33869
33617
  }
33870
33618
  function normalizeCardStylesContent(value) {
33871
33619
  return isRecord$5(value) || value === null ? value : void 0;
@@ -33884,6 +33632,8 @@ var init_offerings_preview = __esmMin((() => {
33884
33632
  init_boxStyles$1();
33885
33633
  init_defineBlock();
33886
33634
  init_shared$3();
33635
+ init_buttonRoles();
33636
+ init_button();
33887
33637
  init_shared$2();
33888
33638
  init_model();
33889
33639
  publicRouteCandidatesSchema = z$1.object({ routes: z$1.array(z$1.object({
@@ -34067,36 +33817,7 @@ var init_offerings_preview = __esmMin((() => {
34067
33817
  ui: { intent: "content" },
34068
33818
  schema: { fields: groupOverrideFields }
34069
33819
  },
34070
- {
34071
- id: "buttonVariant",
34072
- type: "select",
34073
- label: "Button style",
34074
- required: false,
34075
- multiple: false,
34076
- defaultValue: "primary",
34077
- options: [
34078
- {
34079
- value: "primary",
34080
- label: "Primary"
34081
- },
34082
- {
34083
- value: "secondary",
34084
- label: "Secondary"
34085
- },
34086
- {
34087
- value: "outline",
34088
- label: "Outline"
34089
- },
34090
- {
34091
- value: "link",
34092
- label: "Link"
34093
- }
34094
- ],
34095
- ui: {
34096
- intent: "display",
34097
- widget: "buttonVariant"
34098
- }
34099
- },
33820
+ createButtonVariantField(),
34100
33821
  {
34101
33822
  id: "buttonText",
34102
33823
  type: "text",
@@ -36127,6 +35848,7 @@ function resolvePassBuyButtonText(buyButtonText, passPurchaseMode) {
36127
35848
  }
36128
35849
  var shopModeSchema, contentEntrySchema, shopSourceSchema, productVariantOptionDisplaySchema, productCardDisplaySchema, productListDisplaySchema, productDetailDisplaySchema, passCardDisplaySchema, membershipCardDisplaySchema, passesMembershipsDisplaySchema, cartLineDisplaySchema, cartDisplaySchema, checkoutDisplaySchema, passesMembershipsHydrationSchema, productListHydrationSchema, productDetailHydrationSchema, cartHydrationSchema, checkoutHydrationSchema, passesMembershipsRenderSchema, productListRenderSchema, productDetailRenderSchema, cartRenderSchema, checkoutRenderSchema, shopBlockRuntime, productListBlockRuntime, productDetailBlockRuntime, cartBlockRuntime, checkoutBlockRuntime;
36129
35850
  var init_shop_interactive = __esmMin((() => {
35851
+ init_buttonRoles();
36130
35852
  init_shop_shared();
36131
35853
  init_shared();
36132
35854
  init_display();
@@ -36164,12 +35886,7 @@ var init_shop_interactive = __esmMin((() => {
36164
35886
  showPrices: z$1.boolean().optional(),
36165
35887
  showValidityPeriod: z$1.boolean().optional(),
36166
35888
  showPricePerCredit: z$1.boolean().nullable().optional(),
36167
- buttonVariant: z$1.enum([
36168
- "primary",
36169
- "secondary",
36170
- "outline",
36171
- "link"
36172
- ]).optional(),
35889
+ buttonVariant: blockButtonRoleSchema.optional(),
36173
35890
  passesHeading: z$1.string().optional(),
36174
35891
  membershipsHeading: z$1.string().optional(),
36175
35892
  buyButtonText: z$1.string().optional(),
@@ -36314,12 +36031,7 @@ var init_shop_interactive = __esmMin((() => {
36314
36031
  passes: z$1.array(publicPassProductSchema),
36315
36032
  memberships: z$1.array(publicMembershipProductSchema),
36316
36033
  passPurchaseMode: z$1.enum(["add_to_cart", "buy_now"]),
36317
- buttonVariant: z$1.enum([
36318
- "primary",
36319
- "secondary",
36320
- "outline",
36321
- "link"
36322
- ])
36034
+ buttonVariant: blockButtonRoleSchema
36323
36035
  });
36324
36036
  productListHydrationSchema = z$1.object({
36325
36037
  products: z$1.array(publicProductSchema),
@@ -37767,6 +37479,7 @@ var init_newsletter_form_interactive = __esmMin((() => {
37767
37479
  init_runtime$1();
37768
37480
  init_newsletter_signup_destination();
37769
37481
  init_newsletter_form_types();
37482
+ init_buttonRoles();
37770
37483
  newsletterPresetSchema = z$1.enum([
37771
37484
  "emailOnly",
37772
37485
  "emailName",
@@ -37774,11 +37487,7 @@ var init_newsletter_form_interactive = __esmMin((() => {
37774
37487
  "emailNameCompany"
37775
37488
  ]);
37776
37489
  newsletterDestinationProviderSchema = z$1.enum(["riverbank", "mailchimp"]);
37777
- newsletterButtonVariantSchema = z$1.enum([
37778
- "primary",
37779
- "secondary",
37780
- "outline"
37781
- ]);
37490
+ newsletterButtonVariantSchema = blockButtonRoleSchema;
37782
37491
  newsletterFieldSchema = z$1.object({
37783
37492
  id: z$1.string(),
37784
37493
  type: z$1.enum(["email", "text"]),