@designcrowd/library.brand-page 6.2.11-builder-v2-1 → 6.2.12

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 (579) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-Dg2pOwbr.js → CreatedOnBrandCrowd-de-de-BtVKllNQ.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BILs_hsB.js → CreatedOnBrandCrowd-en-us-CX5V0v8u.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-VpxQ0N5F.js → CreatedOnBrandCrowd-es-es-CbA02PCL.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CFHWRHzi.js → CreatedOnBrandCrowd-fr-ca-BQAKruBF.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-CFHWRHzi.js → CreatedOnBrandCrowd-fr-fr-BQAKruBF.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-CZfs45s9.js → CreatedOnBrandCrowd-pt-br-Yk_yzB3s.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-CZfs45s9.js → CreatedOnBrandCrowd-pt-pt-Yk_yzB3s.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-DYMQ6sIF.js → CreatedOnDcom-de-de-DJZQbPSD.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Dj5sdPid.js → CreatedOnDcom-en-us-BJvNAa4l.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-Cx9yNTro.js → CreatedOnDcom-es-es-CUwB1FRY.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Bzr0SjGq.js → CreatedOnDcom-fr-ca-CK54U4oh.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BgqKY35F.js → CreatedOnDcom-fr-fr-DuUNBGrM.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CXK6qfvL.js → CreatedOnDcom-pt-br-BfODpFNV.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-B8SggNTQ.js → CreatedOnDcom-pt-pt-Cf6u2GCg.js} +1 -1
  15. package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.d.ts +16 -0
  16. package/lib/src/brand-page/__fixtures__/production-text-style-resolver.fixture.js +35 -0
  17. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.d.ts +3 -0
  18. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +19 -13
  19. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.d.ts +3 -1
  20. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +17 -2
  21. package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.d.ts +11 -3
  22. package/lib/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.js +35 -1
  23. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.d.ts +8 -2
  24. package/lib/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.js +27 -3
  25. package/lib/src/brand-page/components/page/Page.mixin.d.ts +5 -2
  26. package/lib/src/brand-page/components/page/Page.mixin.js +33 -27
  27. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.d.ts +7 -2
  28. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.js +21 -1
  29. package/lib/src/brand-page/components/payment/Payment.mixin.d.ts +5 -2
  30. package/lib/src/brand-page/components/payment/Payment.mixin.js +22 -2
  31. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.d.ts +6 -2
  32. package/lib/src/brand-page/components/payment/support-me/SupportMe.mixin.js +32 -1
  33. package/lib/src/brand-page/components/social-links/SocialLinks.stories.js +0 -3
  34. package/lib/src/brand-page/components/testimonial-section/__fixtures__/data.js +0 -3
  35. package/lib/src/brand-page/components/text/Text.stories.js +0 -17
  36. package/lib/src/brand-page/constants/font.constants.d.ts +62 -0
  37. package/lib/src/brand-page/constants/font.constants.js +35 -0
  38. package/lib/src/brand-page/models/brand-page-context.model.d.ts +2 -0
  39. package/lib/src/brand-page/models/brand-page-context.model.js +7 -0
  40. package/lib/src/brand-page/models/index.d.ts +23 -24
  41. package/lib/src/brand-page/models/index.js +20 -7
  42. package/lib/src/brand-page/models/navigation-styles.model.d.ts +1 -1
  43. package/lib/src/brand-page/models/navigation-styles.model.js +17 -8
  44. package/lib/src/brand-page/models/payment.model.d.ts +11 -6
  45. package/lib/src/brand-page/models/styles.model.d.ts +53 -7
  46. package/lib/src/brand-page/models/styles.model.js +115 -27
  47. package/lib/src/brand-page/utils/color-palette.util.d.ts +43 -23
  48. package/lib/src/brand-page/utils/color-palette.util.js +65 -27
  49. package/lib/src/brand-page/utils/color.util.d.ts +13 -9
  50. package/lib/src/brand-page/utils/color.util.js +56 -15
  51. package/lib/src/brand-page/utils/container-text-color.util.d.ts +46 -13
  52. package/lib/src/brand-page/utils/container-text-color.util.js +321 -41
  53. package/lib/src/brand-page/utils/index.d.ts +1 -0
  54. package/lib/src/brand-page/utils/index.js +1 -0
  55. package/lib/src/brand-page/utils/migration/migration-20.js +6 -2
  56. package/lib/src/brand-page/utils/migration/migration-21.js +34 -6
  57. package/lib/src/brand-page/utils/migration/migration-22.d.ts +99 -0
  58. package/lib/src/brand-page/utils/migration/migration-22.js +909 -0
  59. package/lib/src/brand-page/utils/migration.util.js +17 -0
  60. package/lib/src/brand-page/utils/model.util.d.ts +4 -0
  61. package/lib/src/brand-page/utils/model.util.js +4 -0
  62. package/lib/src/brand-page/utils/personalisation.util.js +9 -1
  63. package/lib/src/brand-page/utils/rte-role-lift.util.d.ts +72 -0
  64. package/lib/src/brand-page/utils/rte-role-lift.util.js +275 -0
  65. package/lib/src/brand-page/utils/style.util.d.ts +5 -1
  66. package/lib/src/brand-page/utils/style.util.js +34 -11
  67. package/lib/src/brand-page/utils/text-role-css.util.d.ts +19 -0
  68. package/lib/src/brand-page/utils/text-role-css.util.js +186 -0
  69. package/lib/src/brand-page/utils/text-role-reconnect.util.d.ts +90 -0
  70. package/lib/src/brand-page/utils/text-role-reconnect.util.js +434 -0
  71. package/lib/src/brand-page/utils/text-style.util.d.ts +53 -23
  72. package/lib/src/brand-page/utils/text-style.util.js +122 -22
  73. package/lib/src/brand-page/utils/view-model.util.d.ts +9 -1
  74. package/lib/src/brand-page/utils/view-model.util.js +124 -111
  75. package/lib/src/brand-page/view-models.d.ts +1 -0
  76. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +4 -1
  77. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +34 -2
  78. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +4 -4
  79. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +4 -1
  80. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -10
  81. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.js +0 -1
  82. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +44 -138
  83. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -28
  84. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +4 -1
  85. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +1 -1
  86. package/lib/src/brand-page-maker/components/preview/Preview.mixin.d.ts +7 -0
  87. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +21 -0
  88. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +25 -1
  89. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +25 -1
  90. package/lib/src/brand-page-maker/components/seo-settings/UseExistingDomainModal.mixin.d.ts +21 -0
  91. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +4 -1
  92. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +25 -1
  93. package/lib/src/brand-page-maker/components/upgrade-to-premium-button/UpgradeToPremiumButton.mixin.d.ts +21 -0
  94. package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.d.ts +10 -0
  95. package/lib/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.js +11 -0
  96. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -0
  97. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.js +1 -0
  98. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +14 -0
  99. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.d.ts +16 -0
  100. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.js +61 -0
  101. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.d.ts +11 -0
  102. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.js +236 -0
  103. package/lib/src/brand-page-maker/composables/rich-text-editor/font.d.ts +2 -1
  104. package/lib/src/brand-page-maker/composables/rich-text-editor/font.js +25 -6
  105. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.d.ts +17 -4
  106. package/lib/src/brand-page-maker/composables/rich-text-editor/formatting.js +204 -17
  107. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.d.ts +1 -1
  108. package/lib/src/brand-page-maker/composables/rich-text-editor/hyperlink.js +29 -31
  109. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.d.ts +20 -0
  110. package/lib/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.js +60 -0
  111. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.d.ts +2 -1
  112. package/lib/src/brand-page-maker/composables/rich-text-editor/spacing.js +22 -6
  113. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +10 -4
  114. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +319 -275
  115. package/lib/src/brand-page-maker/constants/config-settings-constant.js +1 -5
  116. package/lib/src/brand-page-maker/convertors/text-css-style-options.convertor.js +6 -2
  117. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.d.ts +1 -1
  118. package/lib/src/brand-page-maker/convertors/text-size-value.convertor.js +3 -1
  119. package/lib/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.js +7 -14
  120. package/lib/src/brand-page-maker/default-getters/text-color.default-getter.js +6 -13
  121. package/lib/src/brand-page-maker/models/content-settings.d.ts +8 -0
  122. package/lib/src/brand-page-maker/models/content-settings.js +112 -81
  123. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.d.ts +2 -2
  124. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.js +5 -2
  125. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.js +4 -3
  126. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +1257 -117
  127. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.d.ts +9 -2
  128. package/lib/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.js +20 -0
  129. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.d.ts +21 -0
  130. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +6 -1
  131. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +17 -9
  132. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +59 -5
  133. package/lib/src/brand-page-maker/stores/history/history-store.js +22 -2
  134. package/lib/src/brand-page-maker/utils/apply-color-strategy.js +26 -8
  135. package/lib/src/brand-page-maker/utils/index.d.ts +2 -1
  136. package/lib/src/brand-page-maker/utils/index.js +2 -1
  137. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +117 -15
  138. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +435 -281
  139. package/lib/src/brand-page-maker/utils/rte-authoring.util.d.ts +4 -0
  140. package/lib/src/brand-page-maker/utils/rte-authoring.util.js +101 -0
  141. package/lib/src/brand-page-maker/utils/rte-clipboard.util.d.ts +126 -0
  142. package/lib/src/brand-page-maker/utils/rte-clipboard.util.js +307 -0
  143. package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +13 -3
  144. package/lib/src/{bundled-translations-zfiA5Tsw.js → bundled-translations-yGrvPE5i.js} +17 -17
  145. package/lib/src/{bundled-translations.de-DE-ChsdSyAP.js → bundled-translations.de-DE-L4Znf8Hs.js} +17 -17
  146. package/lib/src/{bundled-translations.es-ES-DflsWQK0.js → bundled-translations.es-ES-D6iticrK.js} +15 -15
  147. package/lib/src/{bundled-translations.fr-CA-fpDRuZ52.js → bundled-translations.fr-CA-BgAVE-9k.js} +25 -25
  148. package/lib/src/{bundled-translations.fr-FR-Bub73Zt-.js → bundled-translations.fr-FR-B8GbyqxQ.js} +17 -17
  149. package/lib/src/{bundled-translations.pt-BR-BlnWE9TB.js → bundled-translations.pt-BR-DjPU3Db7.js} +25 -25
  150. package/lib/src/{bundled-translations.pt-PT-DmzXlnaS.js → bundled-translations.pt-PT-BaepaDpr.js} +23 -23
  151. package/lib/src/bundles/bundled-translations.de-DE.json +21 -2
  152. package/lib/src/bundles/bundled-translations.es-ES.json +21 -2
  153. package/lib/src/bundles/bundled-translations.fr-CA.json +21 -2
  154. package/lib/src/bundles/bundled-translations.fr-FR.json +21 -2
  155. package/lib/src/bundles/bundled-translations.json +21 -2
  156. package/lib/src/bundles/bundled-translations.pt-BR.json +21 -2
  157. package/lib/src/bundles/bundled-translations.pt-PT.json +21 -2
  158. package/lib/src/clients/ai-assistant-client.d.ts +7 -1
  159. package/lib/src/clients/ai-assistant-client.js +7 -15
  160. package/lib/src/composables/useTranslate.d.ts +1 -1
  161. package/lib/src/composables/useTranslate.js +1 -1
  162. package/lib/src/css/library.brand-page-brandCrowd.min.css +284 -188
  163. package/lib/src/css/library.brand-page-brandPage.min.css +284 -188
  164. package/lib/src/css/library.brand-page-designCom.min.css +284 -188
  165. package/lib/src/css/library.brand-page-preview.min.css +284 -188
  166. package/lib/src/index.d.ts +2 -1
  167. package/lib/src/index.mjs +195 -191
  168. package/lib/src/{lib-7gtW85nE.js → lib-kGRlD3_P.js} +39082 -36131
  169. package/lib/src/lib.js +2 -1
  170. package/lib/src/metadata-builder/builders/footer-builder.js +4 -5
  171. package/lib/src/metadata-builder/builders/global-role-propagation.d.ts +58 -0
  172. package/lib/src/metadata-builder/builders/global-role-propagation.js +246 -0
  173. package/lib/src/metadata-builder/builders/global-styles-builder.d.ts +1 -0
  174. package/lib/src/metadata-builder/builders/global-styles-builder.js +116 -45
  175. package/lib/src/metadata-builder/builders/header-builder.js +13 -4
  176. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +3 -3
  177. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +3 -3
  178. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +3 -3
  179. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +4 -4
  180. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +3 -3
  181. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +2 -2
  182. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +2 -2
  183. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +4 -4
  184. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +3 -3
  185. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +8 -2
  186. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +2 -2
  187. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +60 -29
  188. package/lib/src/metadata-builder/builders/section-field-maps.js +1 -0
  189. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +48 -19
  190. package/lib/src/metadata-builder/builders/section-field-utils.js +128 -52
  191. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.d.ts +4 -2
  192. package/lib/src/metadata-builder/builders/section-rules/global-styles.rules.js +28 -12
  193. package/lib/src/metadata-builder/builders/section-rules/social-links.rules.js +5 -1
  194. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +1 -1
  195. package/lib/src/metadata-builder/helpers/rte.helpers.js +97 -40
  196. package/lib/src/metadata-builder/metadata-executor.js +23 -1
  197. package/lib/src/metadata-builder/models.d.ts +2 -0
  198. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +18 -19
  199. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +18 -1
  200. package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +1 -1
  201. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.d.ts +0 -1
  202. package/lib/src/metadata-builder/sanitizers/sanitizer-rules.js +5 -8
  203. package/lib/src/metadata-builder/sanitizers/section-args-validator.d.ts +7 -16
  204. package/lib/src/metadata-builder/sanitizers/section-args-validator.js +95 -22
  205. package/lib/src/shared/color-palette/section-color-matches.js +9 -25
  206. package/lib/src/shared/color-strategies/color-strategies.d.ts +15 -0
  207. package/lib/src/shared/color-strategies/color-strategies.js +31 -0
  208. package/lib/src/shared/color-strategies/rte-color.d.ts +8 -0
  209. package/lib/src/shared/color-strategies/rte-color.js +16 -0
  210. package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +23 -0
  211. package/lib/src/shared/color-strategies/rte-field-pairs.js +28 -0
  212. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +9 -135
  213. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +1 -27
  214. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +12 -2
  215. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +7 -0
  216. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +75 -6
  217. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +18 -7
  218. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +6 -1
  219. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -7
  220. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +22 -0
  221. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +8 -4
  222. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +1255 -26
  223. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.js +203 -59
  224. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +6 -0
  225. package/lib/src/shared/content-settings/store/content-settings-store.js +105 -8
  226. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +26 -1
  227. package/lib/src/shared/navigation-style-settings/store/index.d.ts +7 -3
  228. package/lib/src/shared/navigation-style-settings/store/index.js +40 -15
  229. package/lib/src/shared/page-settings/components/new-page-modal/NewPageModal.mixin.d.ts +1 -0
  230. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +38 -5
  231. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +91 -13
  232. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +10 -2
  233. package/lib/src/shared/page-settings/store/page-settings-store.d.ts +2 -1
  234. package/lib/src/shared/page-settings/store/page-settings-store.js +17 -0
  235. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +32 -1
  236. package/lib/src/shared/rte-extensions/AutoLink.d.ts +17 -0
  237. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.js +67 -51
  238. package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.js +4 -1
  239. package/lib/src/shared/rte-extensions/TextEffects.d.ts +28 -0
  240. package/lib/src/shared/rte-extensions/TextEffects.js +96 -0
  241. package/lib/src/shared/rte-extensions/ViewDomParser.d.ts +2 -0
  242. package/lib/src/shared/rte-extensions/ViewDomParser.js +21 -0
  243. package/lib/src/shared/rte-extensions.util.d.ts +25 -0
  244. package/lib/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.js → shared/rte-extensions.util.js} +62 -7
  245. package/lib/src/shared/rte-link.util.d.ts +1 -0
  246. package/lib/src/shared/rte-link.util.js +1 -0
  247. package/lib/src/shared/rte-render.util.d.ts +112 -0
  248. package/lib/src/shared/rte-render.util.js +255 -0
  249. package/lib/src/shared/rte-shape.util.d.ts +6 -0
  250. package/lib/src/shared/rte-shape.util.js +18 -0
  251. package/lib/src/shared/side-bar/components/SideBar.mixin.d.ts +23 -1
  252. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
  253. package/lib/src/shared/side-bar/store/side-bar-store.d.ts +2 -0
  254. package/lib/src/shared/side-bar/store/side-bar-store.js +9 -0
  255. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +176 -15
  256. package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +7 -1
  257. package/lib/src/shared/style-settings/store/style-settings-store.d.ts +1 -9
  258. package/lib/src/shared/style-settings/store/style-settings-store.js +3 -33
  259. package/lib/src/shared/style-settings/text-style-size-order.d.ts +2 -0
  260. package/lib/src/shared/style-settings/text-style-size-order.js +13 -0
  261. package/lib/src/shared/text-role-typography.util.d.ts +64 -0
  262. package/lib/src/shared/text-role-typography.util.js +183 -0
  263. package/lib/src/utils/minify-brand-page-metadata.d.ts +16 -1
  264. package/lib/src/utils/minify-brand-page-metadata.js +31 -9
  265. package/package.json +1 -1
  266. package/src/brand-page/__fixtures__/migration-22-v21/edited-brandsite-sections.v21.json +982 -0
  267. package/src/brand-page/__fixtures__/migration-22-v21/new-brandcontact-every-section.v21.json +1231 -0
  268. package/src/brand-page/__fixtures__/migration-22-v21/new-brandpage-every-section.v21.json +1231 -0
  269. package/src/brand-page/__fixtures__/migration-22-v21/new-brandsite-every-section.v21.json +1243 -0
  270. package/src/brand-page/__fixtures__/migration-22-v21/real-brandcontact.v21.json +755 -0
  271. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-general-link.v21.json +527 -0
  272. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-links.v21.json +755 -0
  273. package/src/brand-page/__fixtures__/migration-22-v21/real-brandpage-social-links.v21.json +514 -0
  274. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-about.v21.json +459 -0
  275. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-footer.v21.json +469 -0
  276. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-header-banner.v21.json +481 -0
  277. package/src/brand-page/__fixtures__/migration-22-v21/real-brandsite-sections.v21.json +800 -0
  278. package/src/brand-page/__fixtures__/production-text-style-resolver.fixture.ts +52 -0
  279. package/src/brand-page/components/about-section/AboutSection.vue.test.ts +0 -10
  280. package/src/brand-page/components/contact-form/ContactForm.mixin.test.ts +127 -0
  281. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +31 -14
  282. package/src/brand-page/components/contact-form/ContactForm.vue +26 -12
  283. package/src/brand-page/components/contact-form/ContactForm.vue.test.ts +60 -0
  284. package/src/brand-page/components/mailing-list/MailingList.mixin.test.ts +92 -0
  285. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +28 -3
  286. package/src/brand-page/components/mailing-list/MailingList.vue +9 -4
  287. package/src/brand-page/components/mailing-list/MailingList.vue.test.ts +63 -0
  288. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.mixin.ts +51 -1
  289. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.test.ts +114 -0
  290. package/src/brand-page/components/navigation/button-carousel/ButtonCarouselNavigation.vue +8 -2
  291. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.test.ts +182 -0
  292. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +58 -12
  293. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.mixin.ts +40 -3
  294. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue +15 -7
  295. package/src/brand-page/components/navigation/navigation-side-menu/NavigationSideMenu.vue.test.ts +133 -3
  296. package/src/brand-page/components/page/Page.mixin.ts +41 -34
  297. package/src/brand-page/components/page/Page.vue +17 -6
  298. package/src/brand-page/components/page/Page.vue.test.ts +91 -1
  299. package/src/brand-page/components/page-footer/PageFooter.mixin.ts +32 -2
  300. package/src/brand-page/components/page-footer/PageFooter.test.ts +79 -0
  301. package/src/brand-page/components/page-footer/PageFooter.vue +12 -4
  302. package/src/brand-page/components/payment/Payment.mixin.ts +34 -2
  303. package/src/brand-page/components/payment/Payment.test.ts +188 -0
  304. package/src/brand-page/components/payment/Payment.vue +12 -5
  305. package/src/brand-page/components/payment/RequestPaymentStripe.vue +1 -0
  306. package/src/brand-page/components/payment/support-me/SupportMe.mixin.ts +49 -2
  307. package/src/brand-page/components/payment/support-me/SupportMe.test.ts +100 -0
  308. package/src/brand-page/components/payment/support-me/SupportMe.vue +7 -1
  309. package/src/brand-page/components/payment/support-me/SupportMe.vue.test.ts +66 -0
  310. package/src/brand-page/components/save-contact/SaveContactWidget.test.ts +100 -0
  311. package/src/brand-page/components/save-contact/SaveContactWidget.vue +6 -3
  312. package/src/brand-page/components/shop/PaymentModal.vue +2 -6
  313. package/src/brand-page/components/shop/PaymentShippingAddress.vue +6 -0
  314. package/src/brand-page/components/shop/Shop.vue +15 -2
  315. package/src/brand-page/components/shop/Shop.vue.test.ts +74 -2
  316. package/src/brand-page/components/social-links/SocialLinks.stories.ts +0 -3
  317. package/src/brand-page/components/social-links/SocialLinks.vue.test.ts +0 -3
  318. package/src/brand-page/components/testimonial-section/__fixtures__/data.ts +0 -3
  319. package/src/brand-page/components/text/Text.stories.ts +0 -17
  320. package/src/brand-page/components/text-wrapper/TextWrapper.parity.test.ts +136 -0
  321. package/src/brand-page/components/text-wrapper/TextWrapper.test.ts +358 -0
  322. package/src/brand-page/components/text-wrapper/TextWrapper.vue +82 -22
  323. package/src/brand-page/constants/font.constants.ts +37 -0
  324. package/src/brand-page/models/brand-page-context.model.ts +13 -0
  325. package/src/brand-page/models/footer-icon-color.test.ts +22 -0
  326. package/src/brand-page/models/index.ts +50 -28
  327. package/src/brand-page/models/navigation-styles.model.test.ts +77 -1
  328. package/src/brand-page/models/navigation-styles.model.ts +26 -9
  329. package/src/brand-page/models/payment.model.ts +15 -6
  330. package/src/brand-page/models/styles.model.test.ts +104 -0
  331. package/src/brand-page/models/styles.model.ts +181 -47
  332. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +619 -115
  333. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +150 -9
  334. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +300 -18
  335. package/src/brand-page/utils/color-palette.util.test.ts +126 -1
  336. package/src/brand-page/utils/color-palette.util.ts +92 -26
  337. package/src/brand-page/utils/color.util.test.ts +62 -29
  338. package/src/brand-page/utils/color.util.ts +77 -14
  339. package/src/brand-page/utils/container-text-color.util.test.ts +672 -26
  340. package/src/brand-page/utils/container-text-color.util.ts +472 -46
  341. package/src/brand-page/utils/index.ts +1 -0
  342. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/edited-brandsite-sections.v22.json +1191 -0
  343. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandcontact-every-section.v22.json +2026 -0
  344. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandpage-every-section.v22.json +2017 -0
  345. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandsite-every-section.v22.json +2031 -0
  346. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandcontact.v22.json +1145 -0
  347. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-general-link.v22.json +645 -0
  348. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-links.v22.json +1136 -0
  349. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-social-links.v22.json +662 -0
  350. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-about.v22.json +638 -0
  351. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-footer.v22.json +610 -0
  352. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-header-banner.v22.json +660 -0
  353. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-sections.v22.json +1132 -0
  354. package/src/brand-page/utils/migration/migration-01.ts +293 -237
  355. package/src/brand-page/utils/migration/migration-02.ts +8 -1
  356. package/src/brand-page/utils/migration/migration-20.ts +6 -3
  357. package/src/brand-page/utils/migration/migration-20_5.test.ts +5 -2
  358. package/src/brand-page/utils/migration/migration-21.test.ts +34 -0
  359. package/src/brand-page/utils/migration/migration-21.ts +46 -10
  360. package/src/brand-page/utils/migration/migration-22.fixed-input.test.ts +43 -0
  361. package/src/brand-page/utils/migration/migration-22.test.ts +4103 -0
  362. package/src/brand-page/utils/migration/migration-22.text-font-family.test.ts +72 -0
  363. package/src/brand-page/utils/migration/migration-22.ts +1336 -0
  364. package/src/brand-page/utils/migration.util.test.ts +146 -32
  365. package/src/brand-page/utils/migration.util.ts +18 -0
  366. package/src/brand-page/utils/model.util.ts +4 -0
  367. package/src/brand-page/utils/personalisation.util.test.ts +148 -3
  368. package/src/brand-page/utils/personalisation.util.ts +9 -1
  369. package/src/brand-page/utils/rte-role-lift.util.ts +409 -0
  370. package/src/brand-page/utils/style.util.test.ts +35 -2
  371. package/src/brand-page/utils/style.util.ts +45 -11
  372. package/src/brand-page/utils/text-role-css.util.test.ts +525 -0
  373. package/src/brand-page/utils/text-role-css.util.ts +321 -0
  374. package/src/brand-page/utils/text-role-reconnect.util.test.ts +604 -0
  375. package/src/brand-page/utils/text-role-reconnect.util.ts +727 -0
  376. package/src/brand-page/utils/text-style.util.test.ts +305 -0
  377. package/src/brand-page/utils/text-style.util.ts +198 -24
  378. package/src/brand-page/utils/view-model.page-data.test.ts +232 -0
  379. package/src/brand-page/utils/view-model.util.test.ts +954 -133
  380. package/src/brand-page/utils/view-model.util.ts +187 -139
  381. package/src/brand-page/view-models.ts +4 -0
  382. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.blank-site.test.ts +57 -0
  383. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +9 -5
  384. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -10
  385. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/content-settings-items.fixture.ts +0 -1
  386. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -44
  387. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +253 -200
  388. package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.test.ts +82 -0
  389. package/src/brand-page-maker/composables/ai-chat/ai-builder-experiment.ts +19 -0
  390. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +2 -0
  391. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +19 -0
  392. package/src/brand-page-maker/composables/rich-text-editor/block-typography.test.ts +519 -0
  393. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +1 -1
  394. package/src/brand-page-maker/composables/rich-text-editor/extensions/MaxLength.test.ts +26 -1
  395. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.test.ts +110 -0
  396. package/src/brand-page-maker/composables/rich-text-editor/extensions/RoleTypographyFill.ts +99 -0
  397. package/src/brand-page-maker/composables/rich-text-editor/extensions/RteClipboard.ts +397 -0
  398. package/src/brand-page-maker/composables/rich-text-editor/extensions/ViewDomParser.test.ts +139 -0
  399. package/src/brand-page-maker/composables/rich-text-editor/font.ts +36 -5
  400. package/src/brand-page-maker/composables/rich-text-editor/formatting.test.ts +375 -1
  401. package/src/brand-page-maker/composables/rich-text-editor/formatting.ts +301 -17
  402. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.test.ts +82 -1
  403. package/src/brand-page-maker/composables/rich-text-editor/hyperlink.ts +28 -34
  404. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.test.ts +80 -0
  405. package/src/brand-page-maker/composables/rich-text-editor/keepMarksOnEmpty.ts +75 -0
  406. package/src/brand-page-maker/composables/rich-text-editor/spacing.ts +31 -6
  407. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.test.ts +2485 -0
  408. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +435 -337
  409. package/src/brand-page-maker/constants/config-settings-constant.ts +0 -6
  410. package/src/brand-page-maker/convertors/text-css-style-options.convertor.test.ts +43 -0
  411. package/src/brand-page-maker/convertors/text-css-style-options.convertor.ts +6 -2
  412. package/src/brand-page-maker/convertors/text-size-value.convertor.test.ts +24 -0
  413. package/src/brand-page-maker/convertors/text-size-value.convertor.ts +17 -13
  414. package/src/brand-page-maker/default-getters/payment-text-and-border-color.default-getter.ts +7 -22
  415. package/src/brand-page-maker/default-getters/text-color.default-getter.ts +5 -21
  416. package/src/brand-page-maker/models/content-settings.test.ts +708 -0
  417. package/src/brand-page-maker/models/content-settings.ts +133 -82
  418. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.test.ts +63 -1
  419. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store-utils.ts +16 -3
  420. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.test.ts +34 -0
  421. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +4 -2
  422. package/src/brand-page-maker/stores/ai-thread/ai-website-builder-thread-store.ts +30 -0
  423. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +185 -1
  424. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +22 -34
  425. package/src/brand-page-maker/stores/history/history-store.ts +35 -2
  426. package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +528 -0
  427. package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +12 -0
  428. package/src/brand-page-maker/utils/apply-color-strategy.golden.test.ts +2 -0
  429. package/src/brand-page-maker/utils/apply-color-strategy.test.ts +181 -3
  430. package/src/brand-page-maker/utils/apply-color-strategy.ts +36 -4
  431. package/src/brand-page-maker/utils/index.ts +2 -1
  432. package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +447 -410
  433. package/src/brand-page-maker/utils/rich-text-editor.util.ts +610 -506
  434. package/src/brand-page-maker/utils/rte-authoring.util.test.ts +244 -0
  435. package/src/brand-page-maker/utils/rte-authoring.util.ts +175 -0
  436. package/src/brand-page-maker/utils/rte-clipboard.util.test.ts +558 -0
  437. package/src/brand-page-maker/utils/rte-clipboard.util.ts +473 -0
  438. package/src/brand-page-maker/utils/rte-features.test.ts +99 -3
  439. package/src/brand-page-maker/utils/rte-render-parity.test.ts +1 -1
  440. package/src/brand-page-maker/utils/rte-render.util.test.ts +230 -0
  441. package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +1 -1
  442. package/src/brand-page-maker/utils/rte-sanitize.util.ts +14 -3
  443. package/src/brand-page-maker/utils/rte-schema-version.test.ts +102 -0
  444. package/src/bundles/bundled-translations.de-DE.json +21 -2
  445. package/src/bundles/bundled-translations.es-ES.json +21 -2
  446. package/src/bundles/bundled-translations.fr-CA.json +21 -2
  447. package/src/bundles/bundled-translations.fr-FR.json +21 -2
  448. package/src/bundles/bundled-translations.json +21 -2
  449. package/src/bundles/bundled-translations.pt-BR.json +21 -2
  450. package/src/bundles/bundled-translations.pt-PT.json +21 -2
  451. package/src/clients/ai-assistant-client.ts +13 -18
  452. package/src/composables/useTranslate.ts +2 -1
  453. package/src/lib.ts +2 -2
  454. package/src/metadata-builder/builders/footer-builder.test.ts +70 -45
  455. package/src/metadata-builder/builders/footer-builder.ts +4 -8
  456. package/src/metadata-builder/builders/global-role-propagation.test.ts +907 -0
  457. package/src/metadata-builder/builders/global-role-propagation.ts +430 -0
  458. package/src/metadata-builder/builders/global-styles-builder.test.ts +1020 -0
  459. package/src/metadata-builder/builders/global-styles-builder.ts +194 -48
  460. package/src/metadata-builder/builders/header-builder.test.ts +112 -40
  461. package/src/metadata-builder/builders/header-builder.ts +18 -8
  462. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +5 -3
  463. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +5 -3
  464. package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +5 -3
  465. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +7 -4
  466. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +5 -3
  467. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +3 -2
  468. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +3 -2
  469. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +7 -7
  470. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +5 -3
  471. package/src/metadata-builder/builders/section-builders/social-links-builder.test.ts +2 -2
  472. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +21 -10
  473. package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +10 -0
  474. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +3 -2
  475. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +111 -61
  476. package/src/metadata-builder/builders/section-field-maps.ts +1 -0
  477. package/src/metadata-builder/builders/section-field-utils.test.ts +545 -2
  478. package/src/metadata-builder/builders/section-field-utils.ts +202 -69
  479. package/src/metadata-builder/builders/section-rules/global-styles.rules.ts +38 -13
  480. package/src/metadata-builder/builders/section-rules/social-links.rules.ts +5 -0
  481. package/src/metadata-builder/helpers/rte.helpers.test.ts +101 -0
  482. package/src/metadata-builder/helpers/rte.helpers.ts +129 -43
  483. package/src/metadata-builder/metadata-executor.test.ts +167 -0
  484. package/src/metadata-builder/metadata-executor.ts +34 -1
  485. package/src/metadata-builder/models.ts +2 -0
  486. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +23 -7
  487. package/src/metadata-builder/parsers/section-tool-arguments.ts +21 -1
  488. package/src/metadata-builder/sanitizers/__tests__/section-args-validator.test.ts +215 -0
  489. package/src/metadata-builder/sanitizers/rte-schema-check.ts +1 -1
  490. package/src/metadata-builder/sanitizers/sanitizer-rules.ts +4 -8
  491. package/src/metadata-builder/sanitizers/section-args-validator.ts +136 -53
  492. package/src/shared/color-palette/section-color-matches.test.ts +15 -11
  493. package/src/shared/color-palette/section-color-matches.ts +9 -28
  494. package/src/shared/color-strategies/color-strategies.ts +35 -0
  495. package/src/shared/color-strategies/rte-color.test.ts +1 -1
  496. package/src/shared/color-strategies/rte-color.ts +19 -0
  497. package/src/shared/color-strategies/rte-field-pairs.test.ts +26 -5
  498. package/src/shared/color-strategies/rte-field-pairs.ts +33 -0
  499. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.test.ts +43 -66
  500. package/src/shared/content-settings/components/color-matches-panel/ColorMatchesPanel.vue +7 -1
  501. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +1 -48
  502. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +33 -7
  503. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.test.ts +128 -1
  504. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -6
  505. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.test.ts +56 -3
  506. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +11 -4
  507. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.test.ts +335 -25
  508. package/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.ts +248 -70
  509. package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +113 -25
  510. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.de-DE.json +17 -10
  511. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.es-ES.json +17 -10
  512. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-CA.json +17 -10
  513. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.fr-FR.json +17 -10
  514. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.json +8 -1
  515. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-BR.json +17 -10
  516. package/src/shared/content-settings/components/text-style-field/i18n/text-style-field.pt-PT.json +17 -10
  517. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.test.ts +141 -0
  518. package/src/shared/content-settings/components/text-style-role-dropdown/TextStyleRoleDropdown.vue +136 -0
  519. package/src/shared/content-settings/store/content-settings-store.test.ts +491 -6
  520. package/src/shared/content-settings/store/content-settings-store.ts +159 -17
  521. package/src/shared/navigation-style-settings/store/index.test.ts +295 -0
  522. package/src/shared/navigation-style-settings/store/index.ts +65 -15
  523. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.test.ts +44 -4
  524. package/src/shared/page-settings/components/page-settings-section-styles/HeaderButtonSettings.vue +13 -4
  525. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.navigation.test.ts +89 -0
  526. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.text-style.test.ts +91 -0
  527. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +14 -2
  528. package/src/shared/page-settings/store/page-settings-store.text-style.test.ts +84 -0
  529. package/src/shared/page-settings/store/page-settings-store.ts +30 -1
  530. package/src/shared/rte-extensions/AutoLink.test.ts +98 -0
  531. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/AutoLink.ts +87 -58
  532. package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.ts +4 -1
  533. package/src/shared/rte-extensions/TextEffects.ts +151 -0
  534. package/src/shared/rte-extensions/ViewDomParser.ts +27 -0
  535. package/src/{brand-page-maker/composables/rich-text-editor/getRteExtensions.ts → shared/rte-extensions.util.ts} +66 -9
  536. package/src/shared/rte-link.util.ts +2 -0
  537. package/src/shared/rte-render.util.ts +385 -0
  538. package/src/shared/rte-shape.util.ts +29 -0
  539. package/src/shared/side-bar/store/side-bar-store.test.ts +27 -1
  540. package/src/shared/side-bar/store/side-bar-store.ts +11 -0
  541. package/src/shared/style-settings/components/StyleSettings.mixin.ts +7 -3
  542. package/src/shared/style-settings/components/StyleSettings.test.ts +116 -0
  543. package/src/shared/style-settings/components/StyleSettings.vue +74 -25
  544. package/src/shared/style-settings/components/i18n/style-settings.de-DE.json +32 -20
  545. package/src/shared/style-settings/components/i18n/style-settings.es-ES.json +32 -20
  546. package/src/shared/style-settings/components/i18n/style-settings.fr-CA.json +32 -20
  547. package/src/shared/style-settings/components/i18n/style-settings.fr-FR.json +32 -20
  548. package/src/shared/style-settings/components/i18n/style-settings.json +13 -3
  549. package/src/shared/style-settings/components/i18n/style-settings.pt-BR.json +32 -20
  550. package/src/shared/style-settings/components/i18n/style-settings.pt-PT.json +32 -20
  551. package/src/shared/style-settings/components/text-style-options-settings-with-state/TextStyleOptionsSettingsWithState.vue +14 -34
  552. package/src/shared/style-settings/store/style-settings-store.ts +3 -49
  553. package/src/shared/style-settings/text-style-size-order.test.ts +76 -0
  554. package/src/shared/style-settings/text-style-size-order.ts +28 -0
  555. package/src/shared/text-role-typography.util.ts +277 -0
  556. package/src/utils/minify-brand-page-metadata.test.ts +102 -7
  557. package/src/utils/minify-brand-page-metadata.ts +62 -8
  558. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/AutoLink.d.ts +0 -2
  559. package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +0 -28
  560. package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +0 -63
  561. package/lib/src/brand-page-maker/utils/rte-render.util.js +0 -106
  562. package/lib/src/brand-page-maker/utils/rte-shape.d.ts +0 -18
  563. package/lib/src/brand-page-maker/utils/rte-shape.js +0 -21
  564. package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +0 -41
  565. package/lib/src/metadata-builder/builders/global-font-propagation.js +0 -146
  566. package/src/brand-page/models/brand-page-context.model.test.ts +0 -38
  567. package/src/brand-page-maker/utils/rte-render.util.ts +0 -179
  568. package/src/brand-page-maker/utils/rte-shape.ts +0 -29
  569. package/src/clients/ai-assistant-client.test.ts +0 -135
  570. package/src/metadata-builder/builders/global-font-propagation.test.ts +0 -401
  571. package/src/metadata-builder/builders/global-font-propagation.ts +0 -238
  572. package/src/shared/style-settings/components/StyleSettingsSection.vue +0 -8
  573. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.d.ts +0 -0
  574. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.js +0 -0
  575. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.d.ts +0 -0
  576. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.js +0 -0
  577. /package/lib/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/MaxLength.d.ts +0 -0
  578. /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/FontFamily.ts +0 -0
  579. /package/src/{brand-page-maker/composables/rich-text-editor/extensions → shared/rte-extensions}/LetterSpacing.ts +0 -0
@@ -863,8 +863,8 @@ a.maker-anchor {
863
863
  .bp .tw-max-h-72 {
864
864
  max-height: 18rem
865
865
  }
866
- .bp .tw-max-h-9 {
867
- max-height: 2.25rem
866
+ .bp .tw-max-h-8 {
867
+ max-height: 2rem
868
868
  }
869
869
  .bp .tw-max-h-\[340px\] {
870
870
  max-height: 340px
@@ -893,6 +893,9 @@ a.maker-anchor {
893
893
  .bp .tw-min-h-\[1\.25rem\] {
894
894
  min-height: 1.25rem
895
895
  }
896
+ .bp .tw-min-h-\[38px\] {
897
+ min-height: 38px
898
+ }
896
899
  .bp .tw-min-h-full {
897
900
  min-height: 100%
898
901
  }
@@ -1127,12 +1130,15 @@ a.maker-anchor {
1127
1130
  .bp .tw-min-w-10 {
1128
1131
  min-width: 2.5rem
1129
1132
  }
1130
- .bp .tw-min-w-8 {
1131
- min-width: 2rem
1133
+ .bp .tw-min-w-7 {
1134
+ min-width: 1.75rem
1132
1135
  }
1133
1136
  .bp .tw-min-w-\[120px\] {
1134
1137
  min-width: 120px
1135
1138
  }
1139
+ .bp .tw-min-w-\[220px\] {
1140
+ min-width: 220px
1141
+ }
1136
1142
  .bp .tw-min-w-\[310px\] {
1137
1143
  min-width: 310px
1138
1144
  }
@@ -1389,10 +1395,6 @@ a.maker-anchor {
1389
1395
  -ms-flex-preferred-size: 0px;
1390
1396
  flex-basis: 0px
1391
1397
  }
1392
- .bp .tw-origin-top-left {
1393
- -webkit-transform-origin: top left;
1394
- transform-origin: top left
1395
- }
1396
1398
  .bp .tw-origin-top-right {
1397
1399
  -webkit-transform-origin: top right;
1398
1400
  transform-origin: top right
@@ -2360,6 +2362,10 @@ a.maker-anchor {
2360
2362
  --tw-border-opacity: 1;
2361
2363
  border-color: rgb(89 89 89 / var(--tw-border-opacity))
2362
2364
  }
2365
+ .bp .tw-border-secondary-800 {
2366
+ --tw-border-opacity: 1;
2367
+ border-color: rgb(36 36 36 / var(--tw-border-opacity))
2368
+ }
2363
2369
  .bp .tw-border-success-400 {
2364
2370
  --tw-border-opacity: 1;
2365
2371
  border-color: rgb(80 185 64 / var(--tw-border-opacity))
@@ -2825,9 +2831,6 @@ a.maker-anchor {
2825
2831
  .bp .tw-pl-0\.5 {
2826
2832
  padding-left: 0.125rem
2827
2833
  }
2828
- .bp .tw-pl-1 {
2829
- padding-left: 0.25rem
2830
- }
2831
2834
  .bp .tw-pl-12 {
2832
2835
  padding-left: 3rem
2833
2836
  }
@@ -5668,7 +5671,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5668
5671
  font-family: Lato, Helvetica, sans-serif;
5669
5672
  }
5670
5673
 
5671
- .bp .carousel-wrapper[data-v-37c2e358] {
5674
+ .bp .carousel-wrapper[data-v-1d4fd3e2] {
5672
5675
  position: relative;
5673
5676
  overflow-x: auto;
5674
5677
  overflow-y: hidden;
@@ -5678,15 +5681,15 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5678
5681
  -ms-overflow-style: none;
5679
5682
  width: 100%;
5680
5683
  }
5681
- .bp .scroll-chevron[data-v-37c2e358] {
5684
+ .bp .scroll-chevron[data-v-1d4fd3e2] {
5682
5685
  background: none !important;
5683
5686
  border: none !important;
5684
5687
  }
5685
- .bp .carousel-wrapper[data-v-37c2e358]:active {
5688
+ .bp .carousel-wrapper[data-v-1d4fd3e2]:active {
5686
5689
  cursor: -webkit-grabbing;
5687
5690
  cursor: grabbing;
5688
5691
  }
5689
- .bp .carousel-track[data-v-37c2e358] {
5692
+ .bp .carousel-track[data-v-1d4fd3e2] {
5690
5693
  display: -webkit-box;
5691
5694
  display: -ms-flexbox;
5692
5695
  display: flex;
@@ -5700,7 +5703,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5700
5703
  margin: 0 auto;
5701
5704
  gap: 8px;
5702
5705
  }
5703
- .bp .carousel-item[data-v-37c2e358] {
5706
+ .bp .carousel-item[data-v-1d4fd3e2] {
5704
5707
  position: relative;
5705
5708
  -ms-flex-negative: 0;
5706
5709
  flex-shrink: 0;
@@ -5711,7 +5714,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5711
5714
  -ms-flex-align: center;
5712
5715
  align-items: center;
5713
5716
  }
5714
- .bp .carousel-link[data-v-37c2e358] {
5717
+ .bp .carousel-link[data-v-1d4fd3e2] {
5715
5718
  display: block;
5716
5719
  padding: 12px 8px;
5717
5720
  text-decoration: none;
@@ -5724,7 +5727,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5724
5727
  -ms-flex-item-align: stretch;
5725
5728
  align-self: stretch;
5726
5729
  }
5727
- .bp .carousel-chevron[data-v-37c2e358] {
5730
+ .bp .carousel-chevron[data-v-1d4fd3e2] {
5728
5731
  cursor: pointer;
5729
5732
  border-left: none !important;
5730
5733
  padding: 0 12px;
@@ -5738,17 +5741,17 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5738
5741
  -ms-flex-align: center;
5739
5742
  align-items: center;
5740
5743
  }
5741
- .bp .carousel-chevron[data-v-37c2e358] svg {
5744
+ .bp .carousel-chevron[data-v-1d4fd3e2] svg {
5742
5745
  -webkit-transition: -webkit-transform 0.2s ease;
5743
5746
  transition: -webkit-transform 0.2s ease;
5744
5747
  transition: transform 0.2s ease;
5745
5748
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
5746
5749
  }
5747
- .bp .carousel-chevron--open[data-v-37c2e358] svg {
5750
+ .bp .carousel-chevron--open[data-v-1d4fd3e2] svg {
5748
5751
  -webkit-transform: rotate(180deg);
5749
5752
  transform: rotate(180deg);
5750
5753
  }
5751
- .bp .dropdown-menu[data-v-37c2e358] {
5754
+ .bp .dropdown-menu[data-v-1d4fd3e2] {
5752
5755
  min-width: 150px;
5753
5756
  max-height: 240px;
5754
5757
  overflow-x: hidden;
@@ -5761,7 +5764,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5761
5764
  -ms-flex-direction: column;
5762
5765
  flex-direction: column;
5763
5766
  }
5764
- .bp .dropdown-item[data-v-37c2e358] {
5767
+ .bp .dropdown-item[data-v-1d4fd3e2] {
5765
5768
  display: block;
5766
5769
  padding: 12px 16px;
5767
5770
  cursor: pointer;
@@ -5922,7 +5925,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
5922
5925
  );
5923
5926
  }
5924
5927
 
5925
- .bp .empty-para[data-v-4418a9fe] p:empty::after {
5928
+ .bp .empty-para[data-v-532b5fd8] p:empty::after {
5926
5929
  content: '\00A0';
5927
5930
  }
5928
5931
 
@@ -6033,7 +6036,7 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
6033
6036
  text-decoration: underline;
6034
6037
  }
6035
6038
 
6036
- .bp .form-error[data-v-5c3c6927] {
6039
+ .bp .form-error[data-v-a2d29285] {
6037
6040
  font-size: 0.875rem;
6038
6041
  line-height: 1.25rem;
6039
6042
  color: #f21b3f
@@ -6277,18 +6280,18 @@ input[data-v-4cd691db]::-webkit-inner-spin-button {
6277
6280
  }
6278
6281
  }
6279
6282
 
6280
- .bp .form-error[data-v-665b8067] {
6283
+ .bp .form-error[data-v-6de658e0] {
6281
6284
  font-size: 0.75rem;
6282
6285
  line-height: 1rem;
6283
6286
  color: #f21b3f;
6284
6287
  }
6285
- select[data-v-665b8067] {
6288
+ select[data-v-6de658e0] {
6286
6289
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
6287
6290
  background-repeat: no-repeat;
6288
6291
  background-position: right 12px center;
6289
6292
  }
6290
6293
 
6291
- .bp .form-error[data-v-a0d0666b] {
6294
+ .bp .form-error[data-v-d41f9828] {
6292
6295
  font-size: 0.75rem;
6293
6296
  line-height: 1rem;
6294
6297
  color: #f21b3f
@@ -6387,59 +6390,59 @@ select[data-v-665b8067] {
6387
6390
  width: 100%;
6388
6391
  }
6389
6392
 
6390
- .bp .form-error[data-v-2e955d80] {
6393
+ .bp .form-error[data-v-f317d692] {
6391
6394
  font-size: 0.875rem;
6392
6395
  line-height: 1.25rem;
6393
6396
  color: #f21b3f;
6394
6397
  }
6395
- .bp .contact-container[data-v-2e955d80] {
6398
+ .bp .contact-container[data-v-f317d692] {
6396
6399
  max-width: var(--brandsite-max-width);
6397
6400
  margin: 0 auto;
6398
6401
  }
6399
- .bp .c-text-padding[data-v-2e955d80] {
6402
+ .bp .c-text-padding[data-v-f317d692] {
6400
6403
  padding-left: 1rem;
6401
6404
  padding-right: 1rem;
6402
6405
  }
6403
- .bp .device-wrapper--mobile .c-divided-container[data-v-2e955d80] {
6406
+ .bp .device-wrapper--mobile .c-divided-container[data-v-f317d692] {
6404
6407
  -webkit-box-orient: vertical;
6405
6408
  -webkit-box-direction: normal;
6406
6409
  -ms-flex-direction: column;
6407
6410
  flex-direction: column;
6408
6411
  }
6409
- .bp .device-wrapper--mobile .c-divided-container-reverse[data-v-2e955d80] {
6412
+ .bp .device-wrapper--mobile .c-divided-container-reverse[data-v-f317d692] {
6410
6413
  -webkit-box-orient: vertical;
6411
6414
  -webkit-box-direction: reverse;
6412
6415
  -ms-flex-direction: column-reverse;
6413
6416
  flex-direction: column-reverse;
6414
6417
  }
6415
6418
  @media (max-width: 767px) {
6416
- .bp .c-button-full[data-v-2e955d80] {
6419
+ .bp .c-button-full[data-v-f317d692] {
6417
6420
  width: 100%;
6418
6421
  }
6419
6422
  /* Match the button's full-width on published mobile. The maker uses the
6420
6423
  isMobileDevice prop for this; the renderer has no such state, so the
6421
6424
  decorative-button wrapper is widened here via the real viewport instead. */
6422
- [data-v-2e955d80] .bp-style-wrapper {
6425
+ [data-v-f317d692] .bp-style-wrapper {
6423
6426
  width: 100%;
6424
6427
  }
6425
- .bp .c-col-span-2[data-v-2e955d80] {
6428
+ .bp .c-col-span-2[data-v-f317d692] {
6426
6429
  grid-column: span 2 / span 2;
6427
6430
  }
6428
- .bp .c-mobile-padding[data-v-2e955d80] {
6431
+ .bp .c-mobile-padding[data-v-f317d692] {
6429
6432
  padding: 1rem;
6430
6433
  }
6431
- .bp .c-text-padding[data-v-2e955d80] {
6434
+ .bp .c-text-padding[data-v-f317d692] {
6432
6435
  grid-column: span 2 / span 2;
6433
6436
  padding-left: 0px;
6434
6437
  padding-right: 0px;
6435
6438
  }
6436
- .bp .c-divided-container[data-v-2e955d80] {
6439
+ .bp .c-divided-container[data-v-f317d692] {
6437
6440
  -webkit-box-orient: vertical;
6438
6441
  -webkit-box-direction: normal;
6439
6442
  -ms-flex-direction: column;
6440
6443
  flex-direction: column;
6441
6444
  }
6442
- .bp .c-divided-container-reverse[data-v-2e955d80] {
6445
+ .bp .c-divided-container-reverse[data-v-f317d692] {
6443
6446
  -webkit-box-orient: vertical;
6444
6447
  -webkit-box-direction: reverse;
6445
6448
  -ms-flex-direction: column-reverse;
@@ -6447,16 +6450,16 @@ select[data-v-665b8067] {
6447
6450
  }
6448
6451
  }
6449
6452
  @media (min-width: 767px) {
6450
- .bp .c-aspect-square[data-v-2e955d80] {
6453
+ .bp .c-aspect-square[data-v-f317d692] {
6451
6454
  aspect-ratio: 1 / 1;
6452
6455
  }
6453
- .bp .c-divided-container[data-v-2e955d80] {
6456
+ .bp .c-divided-container[data-v-f317d692] {
6454
6457
  -webkit-box-orient: horizontal;
6455
6458
  -webkit-box-direction: normal;
6456
6459
  -ms-flex-direction: row;
6457
6460
  flex-direction: row;
6458
6461
  }
6459
- .bp .c-divided-container-reverse[data-v-2e955d80] {
6462
+ .bp .c-divided-container-reverse[data-v-f317d692] {
6460
6463
  -webkit-box-orient: horizontal;
6461
6464
  -webkit-box-direction: reverse;
6462
6465
  -ms-flex-direction: row-reverse;
@@ -7105,44 +7108,44 @@ select[data-v-665b8067] {
7105
7108
  color: #f21b3f;
7106
7109
  }
7107
7110
 
7108
- .bp .inner-container[data-v-fca616f0] {
7111
+ .bp .inner-container[data-v-0f062477] {
7109
7112
  max-width: var(--brandsite-max-width);
7110
7113
  margin: 0 auto;
7111
7114
  }
7112
- .bp .outer-container[data-v-fca616f0] {
7115
+ .bp .outer-container[data-v-0f062477] {
7113
7116
  padding-left: var(--page-padding);
7114
7117
  padding-right: var(--page-padding);
7115
7118
  }
7116
- .bp .modal-cart[data-v-fca616f0] .cart-image {
7119
+ .bp .modal-cart[data-v-0f062477] .cart-image {
7117
7120
  width: 3rem;
7118
7121
  }
7119
- .bp .modal-cart[data-v-fca616f0] .cart-option {
7122
+ .bp .modal-cart[data-v-0f062477] .cart-option {
7120
7123
  width: 100%;
7121
7124
  }
7122
- .bp .success-bar-container[data-v-fca616f0] .tw-bg-success-500 {
7125
+ .bp .success-bar-container[data-v-0f062477] .tw-bg-success-500 {
7123
7126
  --tw-bg-opacity: 1;
7124
7127
  background-color: rgb(36 168 16 / var(--tw-bg-opacity));
7125
7128
  }
7126
7129
  @media (min-width: 640px) {
7127
- .bp .modal-product-detail[data-v-fca616f0] .modal {
7130
+ .bp .modal-product-detail[data-v-0f062477] .modal {
7128
7131
  min-width: 100vh;
7129
7132
  }
7130
- .bp .modal-cart[data-v-fca616f0] .modal {
7133
+ .bp .modal-cart[data-v-0f062477] .modal {
7131
7134
  min-width: 90vh;
7132
7135
  max-height: 90vh;
7133
7136
  }
7134
- .bp .modal-cart[data-v-fca616f0] .cart-image {
7137
+ .bp .modal-cart[data-v-0f062477] .cart-image {
7135
7138
  width: 8rem;
7136
7139
  }
7137
- .bp .modal-cart[data-v-fca616f0] .cart-option {
7140
+ .bp .modal-cart[data-v-0f062477] .cart-option {
7138
7141
  width: 75%;
7139
7142
  }
7140
- .bp .success-bar[data-v-fca616f0] {
7143
+ .bp .success-bar[data-v-0f062477] {
7141
7144
  width: 50%;
7142
7145
  }
7143
7146
  }
7144
7147
  @media (max-width: 640px) {
7145
- .bp .success-bar[data-v-fca616f0] {
7148
+ .bp .success-bar[data-v-0f062477] {
7146
7149
  width: 91.666667%;
7147
7150
  }
7148
7151
  }
@@ -7966,21 +7969,21 @@ select[data-v-665b8067] {
7966
7969
  padding: 0.25rem var(--page-padding);
7967
7970
  }
7968
7971
 
7969
- .bp .c-page-footer__container[data-v-613305b7] {
7972
+ .bp .c-page-footer__container[data-v-ef9d02e0] {
7970
7973
  max-width: var(--brandsite-max-width);
7971
7974
  margin: 0 auto;
7972
7975
  padding: 0.25rem var(--page-padding);
7973
7976
  }
7974
- .bp .c-page-footer__container-justified[data-v-613305b7] {
7977
+ .bp .c-page-footer__container-justified[data-v-ef9d02e0] {
7975
7978
  -webkit-box-pack: justify;
7976
7979
  -ms-flex-pack: justify;
7977
7980
  justify-content: space-between;
7978
7981
  }
7979
- .bp .sortable[data-v-613305b7] {
7982
+ .bp .sortable[data-v-ef9d02e0] {
7980
7983
  outline-color: #F7768C;
7981
7984
  outline-width: 0.2rem;
7982
7985
  }
7983
- .bp .brand-page__content--outline-selected[data-v-613305b7] {
7986
+ .bp .brand-page__content--outline-selected[data-v-ef9d02e0] {
7984
7987
  position: relative;
7985
7988
  z-index: 10;
7986
7989
  margin-left: 0.25rem;
@@ -7989,25 +7992,25 @@ select[data-v-665b8067] {
7989
7992
  outline-width: 0.2rem;
7990
7993
  outline-style: dashed;
7991
7994
  }
7992
- .bp .c_footer-container[data-v-613305b7] {
7995
+ .bp .c_footer-container[data-v-ef9d02e0] {
7993
7996
  max-width: var(--brandsite-max-width);
7994
7997
  margin: 0 auto;
7995
7998
  padding-left: var(--page-padding);
7996
7999
  padding-right: var(--page-padding);
7997
8000
  }
7998
8001
  @container (max-width: 640px) {
7999
- .bp .c-page-footer__container-justified[data-v-613305b7] {
8002
+ .bp .c-page-footer__container-justified[data-v-ef9d02e0] {
8000
8003
  -webkit-box-orient: vertical;
8001
8004
  -webkit-box-direction: normal;
8002
8005
  -ms-flex-direction: column;
8003
8006
  flex-direction: column;
8004
8007
  }
8005
- .bp .c-page-footer__container-justified[data-v-613305b7] > :nth-child(2) {
8008
+ .bp .c-page-footer__container-justified[data-v-ef9d02e0] > :nth-child(2) {
8006
8009
  margin-bottom: 1rem;
8007
8010
  }
8008
8011
  }
8009
8012
  @container (min-width: 640px) {
8010
- .bp .c-page-footer__container-justified-stack[data-v-613305b7] {
8013
+ .bp .c-page-footer__container-justified-stack[data-v-ef9d02e0] {
8011
8014
  margin-left: 1rem;
8012
8015
  margin-right: 1rem;
8013
8016
  -webkit-box-pack: justify;
@@ -8016,7 +8019,7 @@ select[data-v-665b8067] {
8016
8019
  }
8017
8020
  }
8018
8021
 
8019
- .bp .c-overlay[data-v-0b2b4f62] {
8022
+ .bp .c-overlay[data-v-aa0f82c0] {
8020
8023
  position: fixed;
8021
8024
  inset: 0px;
8022
8025
  z-index: 40;
@@ -8034,15 +8037,15 @@ select[data-v-665b8067] {
8034
8037
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
8035
8038
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
8036
8039
  }
8037
- .bp .c-overlay--open[data-v-0b2b4f62] {
8040
+ .bp .c-overlay--open[data-v-aa0f82c0] {
8038
8041
  opacity: 0.7;
8039
8042
  }
8040
- .bp .c-overlay--closed[data-v-0b2b4f62] {
8043
+ .bp .c-overlay--closed[data-v-aa0f82c0] {
8041
8044
  pointer-events: none;
8042
8045
  display: none;
8043
8046
  opacity: 0;
8044
8047
  }
8045
- .bp .c-sidebar[data-v-0b2b4f62] {
8048
+ .bp .c-sidebar[data-v-aa0f82c0] {
8046
8049
  /* No hardcoded background: the panel background comes from the hamburger
8047
8050
  defaultButtonStyle (bound via :style), so a transparent/unset default bg
8048
8051
  renders transparent instead of being forced white */
@@ -8062,32 +8065,32 @@ select[data-v-665b8067] {
8062
8065
  max-width: 66%;
8063
8066
  }
8064
8067
  @media (min-width: 768px) {
8065
- .bp .device--mobile .c-sidebar[data-v-0b2b4f62] {
8068
+ .bp .device--mobile .c-sidebar[data-v-aa0f82c0] {
8066
8069
  width: 66.666667%;
8067
8070
  }
8068
8071
  }
8069
- .bp .c-sidebar--closed[data-v-0b2b4f62] {
8072
+ .bp .c-sidebar--closed[data-v-aa0f82c0] {
8070
8073
  -webkit-transform: translateX(-100%);
8071
8074
  transform: translateX(-100%);
8072
8075
  visibility: hidden;
8073
8076
  }
8074
- .bp .c-sidebar--open[data-v-0b2b4f62] {
8077
+ .bp .c-sidebar--open[data-v-aa0f82c0] {
8075
8078
  -webkit-transform: translateX(0%);
8076
8079
  transform: translateX(0%);
8077
8080
  }
8078
- .bp .c-chevron-transform[data-v-0b2b4f62] {
8081
+ .bp .c-chevron-transform[data-v-aa0f82c0] {
8079
8082
  -webkit-transition: -webkit-transform 0.3s ease;
8080
8083
  transition: -webkit-transform 0.3s ease;
8081
8084
  transition: transform 0.3s ease;
8082
8085
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
8083
8086
  }
8084
- .bp .c-chevron-expanded[data-v-0b2b4f62] {
8087
+ .bp .c-chevron-expanded[data-v-aa0f82c0] {
8085
8088
  -webkit-transform: rotate(180deg);
8086
8089
  transform: rotate(180deg);
8087
8090
  }
8088
8091
 
8089
8092
  /* Button pinned to the bottom of the side menu; rules only apply when the button is on. */
8090
- .bp .c-sidebar--has-cta[data-v-0b2b4f62] {
8093
+ .bp .c-sidebar--has-cta[data-v-aa0f82c0] {
8091
8094
  display: -webkit-box;
8092
8095
  display: -ms-flexbox;
8093
8096
  display: flex;
@@ -8097,35 +8100,35 @@ select[data-v-665b8067] {
8097
8100
  flex-direction: column;
8098
8101
  overflow: hidden;
8099
8102
  }
8100
- .bp .c-sidebar--has-cta .c-sidebar-header[data-v-0b2b4f62] {
8103
+ .bp .c-sidebar--has-cta .c-sidebar-header[data-v-aa0f82c0] {
8101
8104
  -ms-flex-negative: 0;
8102
8105
  flex-shrink: 0;
8103
8106
  }
8104
- .bp .c-sidebar--has-cta .c-nav-list[data-v-0b2b4f62] {
8107
+ .bp .c-sidebar--has-cta .c-nav-list[data-v-aa0f82c0] {
8105
8108
  /* Lets the link list scroll instead of the panel. */
8106
8109
  min-height: 0;
8107
8110
  overflow-y: auto;
8108
8111
  }
8109
- .bp .c-sidebar-cta[data-v-0b2b4f62] {
8112
+ .bp .c-sidebar-cta[data-v-aa0f82c0] {
8110
8113
  position: relative;
8111
8114
  padding: 1rem;
8112
8115
  }
8113
8116
 
8114
8117
  /* The generic Button ships section spacing; the side menu, as the caller, strips it
8115
8118
  (same fit the header row applies in HeaderLayout.vue). */
8116
- .bp .c-sidebar-cta[data-v-0b2b4f62] .bp-button {
8119
+ .bp .c-sidebar-cta[data-v-aa0f82c0] .bp-button {
8117
8120
  margin-bottom: 0;
8118
8121
  min-height: 0;
8119
8122
  }
8120
- .bp .c-sidebar-cta[data-v-0b2b4f62] .c-button__no-icon {
8123
+ .bp .c-sidebar-cta[data-v-aa0f82c0] .c-button__no-icon {
8121
8124
  display: none;
8122
8125
  }
8123
8126
  /* Base label class, not a specific --offset-* variant, so a future offset swap can't slide it. */
8124
- .bp .c-sidebar-cta[data-v-0b2b4f62] .c-button__label {
8127
+ .bp .c-sidebar-cta[data-v-aa0f82c0] .c-button__label {
8125
8128
  -webkit-transform: none;
8126
8129
  transform: none;
8127
8130
  }
8128
- .bp .c-sidebar--has-cta .c-sidebar-cta[data-v-0b2b4f62] {
8131
+ .bp .c-sidebar--has-cta .c-sidebar-cta[data-v-aa0f82c0] {
8129
8132
  /* Keeps the button at the bottom whether links underfill or overflow. */
8130
8133
  margin-top: auto;
8131
8134
  -ms-flex-negative: 0;
@@ -8135,7 +8138,7 @@ select[data-v-665b8067] {
8135
8138
  }
8136
8139
 
8137
8140
  /* Thin separator line above the button, faded without dimming the button itself. */
8138
- .bp .c-sidebar-cta[data-v-0b2b4f62]::before {
8141
+ .bp .c-sidebar-cta[data-v-aa0f82c0]::before {
8139
8142
  content: '';
8140
8143
  position: absolute;
8141
8144
  top: 0;
@@ -8250,7 +8253,7 @@ to {
8250
8253
  font-family: Lato, Helvetica, sans-serif;
8251
8254
  }
8252
8255
 
8253
- .bp .brand-page__footer[data-v-0a7ac3ed] {
8256
+ .bp .brand-page__footer[data-v-1aa33248] {
8254
8257
  display: -webkit-box;
8255
8258
  display: -ms-flexbox;
8256
8259
  display: flex;
@@ -8258,7 +8261,7 @@ to {
8258
8261
  -ms-flex-pack: center;
8259
8262
  justify-content: center;
8260
8263
  }
8261
- .bp .brand-page__footer-link[data-v-0a7ac3ed] {
8264
+ .bp .brand-page__footer-link[data-v-1aa33248] {
8262
8265
  display: block;
8263
8266
  border-radius: 0.25rem;
8264
8267
  padding: 0.75rem;
@@ -8266,25 +8269,25 @@ to {
8266
8269
  -webkit-transition: background 0.2s ease-in-out;
8267
8270
  transition: background 0.2s ease-in-out;
8268
8271
  }
8269
- .bp .brand-page__footer-link[data-v-0a7ac3ed]:hover {
8272
+ .bp .brand-page__footer-link[data-v-1aa33248]:hover {
8270
8273
  opacity: 0.9;
8271
8274
  }
8272
- .bp .icon-container[data-v-0a7ac3ed] {
8275
+ .bp .icon-container[data-v-1aa33248] {
8273
8276
  width: 20px;
8274
8277
  overflow: hidden;
8275
8278
  }
8276
- .bp .extra-height[data-v-0a7ac3ed] {
8279
+ .bp .extra-height[data-v-1aa33248] {
8277
8280
  -webkit-transition: height 0.5s ease-in-out;
8278
8281
  transition: height 0.5s ease-in-out;
8279
8282
  width: 100%;
8280
8283
  }
8281
- .bp .c-button__label[data-v-0a7ac3ed] {
8284
+ .bp .c-button__label[data-v-1aa33248] {
8282
8285
  margin: 0 auto;
8283
8286
  word-break: break-word;
8284
8287
  overflow-wrap: anywhere;
8285
8288
  width: auto;
8286
8289
  }
8287
- .bp .c-button[data-v-0a7ac3ed] {
8290
+ .bp .c-button[data-v-1aa33248] {
8288
8291
  --icon-h: 1.5rem;
8289
8292
  --icon-m-r: 0.5rem;
8290
8293
  --icon-m-icon: 0.5rem;
@@ -8299,10 +8302,10 @@ to {
8299
8302
  -ms-flex-align: center !important;
8300
8303
  align-items: center !important;
8301
8304
  }
8302
- .bp .button__icon[data-v-0a7ac3ed] {
8305
+ .bp .button__icon[data-v-1aa33248] {
8303
8306
  margin-right: var(--icon-m-r);
8304
8307
  }
8305
- .bp .btn-max-width[data-v-0a7ac3ed] {
8308
+ .bp .btn-max-width[data-v-1aa33248] {
8306
8309
  max-width: 315px;
8307
8310
  width: 100%;
8308
8311
  }
@@ -8325,14 +8328,14 @@ to {
8325
8328
  visibility: hidden !important;
8326
8329
  }
8327
8330
 
8328
- .bp .brand-page-root[data-v-2debce4b] {
8331
+ .bp .brand-page-root[data-v-b1539a54] {
8329
8332
  height: 100%;
8330
8333
  }
8331
- .bp .sortable[data-v-2debce4b] {
8334
+ .bp .sortable[data-v-b1539a54] {
8332
8335
  outline-color: #F7768C;
8333
8336
  outline-width: 0.2rem;
8334
8337
  }
8335
- .bp .brand-page[data-v-2debce4b] {
8338
+ .bp .brand-page[data-v-b1539a54] {
8336
8339
  -webkit-box-sizing: border-box;
8337
8340
  box-sizing: border-box;
8338
8341
  display: -webkit-box;
@@ -8344,7 +8347,7 @@ to {
8344
8347
  -ms-flex-direction: column;
8345
8348
  flex-direction: column;
8346
8349
  }
8347
- .bp .brand-page__background-shapes-layer[data-v-2debce4b] {
8350
+ .bp .brand-page__background-shapes-layer[data-v-b1539a54] {
8348
8351
  position: fixed;
8349
8352
  top: 0;
8350
8353
  left: 0;
@@ -8355,11 +8358,11 @@ to {
8355
8358
  transform: translate3d(0, 0, 0);
8356
8359
  contain: layout paint;
8357
8360
  }
8358
- .bp .template-preview .brand-page__background-shapes-layer[data-v-2debce4b],
8359
- .bp .device-wrapper .brand-page__background-shapes-layer[data-v-2debce4b] {
8361
+ .bp .template-preview .brand-page__background-shapes-layer[data-v-b1539a54],
8362
+ .bp .device-wrapper .brand-page__background-shapes-layer[data-v-b1539a54] {
8360
8363
  height: 100%;
8361
8364
  }
8362
- .bp .brand-page__inner--default[data-v-2debce4b] {
8365
+ .bp .brand-page__inner--default[data-v-b1539a54] {
8363
8366
  position: relative;
8364
8367
  z-index: 10;
8365
8368
  display: -webkit-box;
@@ -8371,16 +8374,16 @@ to {
8371
8374
  -ms-flex-direction: column;
8372
8375
  flex-direction: column;
8373
8376
  }
8374
- .bp .brand-page__inner--desktop[data-v-2debce4b] {
8377
+ .bp .brand-page__inner--desktop[data-v-b1539a54] {
8375
8378
  min-height: 100vh;
8376
8379
  }
8377
- .bp .brand-site__header[data-v-2debce4b] {
8380
+ .bp .brand-site__header[data-v-b1539a54] {
8378
8381
  container-type: inline-size;
8379
8382
  }
8380
- .bp .brand-page__header[data-v-2debce4b] {
8383
+ .bp .brand-page__header[data-v-b1539a54] {
8381
8384
  padding-top: var(--page-padding);
8382
8385
  }
8383
- .bp .brand-page__content--default[data-v-2debce4b] {
8386
+ .bp .brand-page__content--default[data-v-b1539a54] {
8384
8387
  margin-left: auto;
8385
8388
  margin-right: auto;
8386
8389
  margin-bottom: 2.5rem;
@@ -8397,7 +8400,7 @@ to {
8397
8400
  flex-direction: column;
8398
8401
  max-width: var(--page-max-width);
8399
8402
  }
8400
- .bp .brand-page__content--desktop[data-v-2debce4b] {
8403
+ .bp .brand-page__content--desktop[data-v-b1539a54] {
8401
8404
  margin-left: auto;
8402
8405
  margin-right: auto;
8403
8406
  display: -webkit-box;
@@ -8413,15 +8416,15 @@ to {
8413
8416
  flex-direction: column;
8414
8417
  max-width: 100%;
8415
8418
  }
8416
- .bp .brand-page__content--inner[data-v-2debce4b] {
8419
+ .bp .brand-page__content--inner[data-v-b1539a54] {
8417
8420
  padding-left: var(--page-padding);
8418
8421
  padding-right: var(--page-padding);
8419
8422
  }
8420
- .bp .brand-page__content--inner--brandsite[data-v-2debce4b] {
8423
+ .bp .brand-page__content--inner--brandsite[data-v-b1539a54] {
8421
8424
  max-width: var(--brandsite-max-width);
8422
8425
  margin: 0 auto;
8423
8426
  }
8424
- .bp .brand-page__content--outline-selected[data-v-2debce4b] {
8427
+ .bp .brand-page__content--outline-selected[data-v-b1539a54] {
8425
8428
  position: relative;
8426
8429
  z-index: 10;
8427
8430
  outline-color: #F7768C;
@@ -8429,20 +8432,20 @@ to {
8429
8432
  outline-style: dashed;
8430
8433
  outline-offset: -0.25rem;
8431
8434
  }
8432
- .bp .brand-page__content--outline-footer-selected[data-v-2debce4b] {
8435
+ .bp .brand-page__content--outline-footer-selected[data-v-b1539a54] {
8433
8436
  outline-color: #f7768c;
8434
8437
  outline-width: 0.2rem;
8435
8438
  outline-style: dashed;
8436
8439
  outline-offset: -0.25rem;
8437
8440
  }
8438
8441
  @media (max-width: 640px) {
8439
- .bp .brand-page__content--inner--full-width[data-v-2debce4b] {
8442
+ .bp .brand-page__content--inner--full-width[data-v-b1539a54] {
8440
8443
  padding-left: 0;
8441
8444
  padding-right: 0;
8442
8445
  }
8443
8446
  }
8444
8447
  @media (min-width: 640px) {
8445
- .bp .brand-page__content--inner--full-width[data-v-2debce4b] {
8448
+ .bp .brand-page__content--inner--full-width[data-v-b1539a54] {
8446
8449
  padding-left: var(--page-padding);
8447
8450
  padding-right: var(--page-padding);
8448
8451
  }
@@ -9566,11 +9569,16 @@ to {
9566
9569
  contain-intrinsic-size: auto 36px;
9567
9570
  }
9568
9571
 
9569
- .bp .rich-text-editor[data-v-d27ffcd7]:focus-within {
9572
+ .bp .text-style-role-dropdown__item[data-v-44af9b33]:hover {
9573
+ background-color: #eee;
9574
+ }
9575
+
9576
+ .bp .rich-text-editor[data-v-01903c9e]:focus-within {
9570
9577
  --tw-border-opacity: 1;
9571
9578
  border-color: rgb(94 94 94 / var(--tw-border-opacity));
9572
9579
  }
9573
- .bp .style-editor[data-v-d27ffcd7] {
9580
+ .bp .style-editor[data-v-01903c9e] {
9581
+ /* Spacing lives here: equal padding + gap. Items carry no margin/padding of their own. */
9574
9582
  display: -webkit-box;
9575
9583
  display: -ms-flexbox;
9576
9584
  display: flex;
@@ -9580,8 +9588,10 @@ to {
9580
9588
  flex-direction: row;
9581
9589
  -ms-flex-wrap: wrap;
9582
9590
  flex-wrap: wrap;
9591
+ gap: 0.25rem;
9592
+ padding: 0.25rem;
9583
9593
  }
9584
- .bp .style-editor[data-v-d27ffcd7] button:not(.c-button-style) {
9594
+ .bp .style-editor[data-v-01903c9e] button:not(.c-button-style) {
9585
9595
  display: -webkit-box;
9586
9596
  display: -ms-flexbox;
9587
9597
  display: flex;
@@ -9591,22 +9601,39 @@ to {
9591
9601
  padding-left: 0.5rem;
9592
9602
  padding-right: 0.5rem;
9593
9603
  }
9594
- .bp .style-editor-button[data-v-d27ffcd7] {
9604
+ .bp .style-editor-button[data-v-01903c9e] {
9595
9605
  cursor: pointer;
9596
- padding-left: 0.25rem;
9597
- padding-top: 0.25rem;
9598
9606
  }
9599
- .bp .toolbar-editor-button.active[data-v-d27ffcd7] {
9607
+ /* Role + font selectors evenly split the toolbar's first row at every width; the
9608
+ conditional reset tool (roller-brush) sits between them and takes only its own width
9609
+ while shown (it collapses otherwise, so the selectors fill the row).
9610
+ min-width:0 lets them shrink below their content so they never wrap to a second line —
9611
+ the dropdown title truncates instead. */
9612
+ .bp .style-editor-button-textstyle[data-v-01903c9e],
9613
+ .bp .style-editor-button-font[data-v-01903c9e] {
9614
+ -webkit-box-flex: 1;
9615
+ -ms-flex: 1 1 0px;
9616
+ flex: 1 1 0;
9617
+ min-width: 0;
9618
+ }
9619
+ /* The size stepper leads the formatting row (with the icons), so it sits at a fixed width
9620
+ instead of growing. */
9621
+ .bp .style-editor-button.stepper[data-v-01903c9e] {
9622
+ -webkit-box-flex: 0;
9623
+ -ms-flex: 0 0 auto;
9624
+ flex: 0 0 auto;
9625
+ /* Two 30px −/+ buttons plus the 28px 3-digit input. A narrower box can't shrink the
9626
+ stepper — its + button paints over the colour picker instead. */
9627
+ width: 88px;
9628
+ }
9629
+ .bp .toolbar-editor-button.active[data-v-01903c9e] {
9600
9630
  font-weight: 700;
9601
9631
  background: #e3e3e3;
9602
9632
  }
9603
- .bp .toolbar-editor-button[data-v-d27ffcd7] {
9633
+ .bp .toolbar-editor-button[data-v-01903c9e] {
9604
9634
  height: 32px;
9605
9635
  width: 32px;
9606
9636
  border-radius: 4px;
9607
- margin-top: 0.25rem;
9608
- margin-bottom: 0.25rem;
9609
- margin-left: 0.25rem;
9610
9637
  display: -webkit-box;
9611
9638
  display: -ms-flexbox;
9612
9639
  display: flex;
@@ -9618,7 +9645,7 @@ to {
9618
9645
  -ms-flex-pack: center;
9619
9646
  justify-content: center;
9620
9647
  }
9621
- [data-v-d27ffcd7] .ProseMirror {
9648
+ [data-v-01903c9e] .ProseMirror {
9622
9649
  border-top: 1px solid #ccc;
9623
9650
  min-height: 150px;
9624
9651
  padding: 8px;
@@ -9631,13 +9658,13 @@ to {
9631
9658
  max-height: 14rem;
9632
9659
  overflow: auto;
9633
9660
  }
9634
- .bp .editor-compact[data-v-d27ffcd7] .ProseMirror {
9661
+ .bp .editor-compact[data-v-01903c9e] .ProseMirror {
9635
9662
  min-height: 6rem;
9636
9663
  }
9637
- [data-v-d27ffcd7] .ProseMirror:focus {
9664
+ [data-v-01903c9e] .ProseMirror:focus {
9638
9665
  outline: none;
9639
9666
  }
9640
- [data-v-d27ffcd7] .ProseMirror * {
9667
+ [data-v-01903c9e] .ProseMirror * {
9641
9668
  text-align: left !important;
9642
9669
  font-size: 16px !important;
9643
9670
  color: #606060 !important;
@@ -9646,29 +9673,61 @@ to {
9646
9673
  background-color: transparent !important;
9647
9674
  font-family: 'Lato' !important;
9648
9675
  }
9649
- [data-v-d27ffcd7] .ProseMirror a s,[data-v-d27ffcd7] .ProseMirror a strike,[data-v-d27ffcd7] .ProseMirror a [data-strike] {
9650
- text-decoration: line-through !important;
9676
+
9677
+ /* A link shows only the decoration it stores (its `<u>`), as on the published page, whose base
9678
+ styles give `a` `text-decoration: inherit`; the browser default would underline every link. */
9679
+ [data-v-01903c9e] .ProseMirror a {
9680
+ text-decoration: inherit !important;
9651
9681
  }
9652
- [data-v-d27ffcd7] .ProseMirror a,[data-v-d27ffcd7] .ProseMirror a * {
9682
+ [data-v-01903c9e] .ProseMirror a,[data-v-01903c9e] .ProseMirror a * {
9653
9683
  /* Keep in sync with DEFAULT_LINK_COLOR (src/constants/rich-text-editor.constants.ts) — scoped CSS can't import it. */
9654
9684
  color: #0097d7 !important;
9655
- text-decoration: underline !important;
9656
9685
  }
9657
- .bp .error-message[data-v-d27ffcd7] {
9686
+ .bp .error-message[data-v-01903c9e] {
9658
9687
  color: #d32f2f;
9659
9688
  font-size: 0.875rem;
9660
9689
  margin-top: 4px;
9661
9690
  }
9662
- .bp .popup-container[data-v-d27ffcd7] {
9691
+ .bp .popup-container[data-v-01903c9e] {
9663
9692
  position: absolute;
9664
9693
  z-index: 10;
9665
9694
  right: 8%;
9666
9695
  }
9667
- .bp .hyperlink-preview[data-v-d27ffcd7] {
9696
+
9697
+ /* The toggle's own positioning context, so the popup below it doesn't turn `.style-editor`
9698
+ into a containing block (which would squash the colour-picker popup). */
9699
+ .bp .style-modified-anchor[data-v-01903c9e] {
9700
+ display: -webkit-inline-box;
9701
+ display: -ms-inline-flexbox;
9702
+ display: inline-flex;
9703
+ position: relative;
9704
+ }
9705
+ .bp .style-modified-toggle[data-v-01903c9e] {
9706
+ border-width: 1px;
9707
+ border-style: solid;
9708
+ --tw-border-opacity: 1;
9709
+ border-color: rgb(230 230 230 / var(--tw-border-opacity));
9710
+ --tw-bg-opacity: 1;
9711
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
9712
+ }
9713
+ .bp .style-modified-anchor--hidden[data-v-01903c9e] {
9714
+ display: none;
9715
+ }
9716
+ /* Hangs just below the toggle (its row), floating over the rows beneath rather than sitting
9717
+ at the toolbar's bottom. Centred on the toggle by default; the inline `left` also clamps
9718
+ it inside the toolbar when the toggle sits too near an edge (keep width in sync with
9719
+ STYLE_MODIFIED_POPUP_WIDTH). */
9720
+ .bp .style-modified-popup[data-v-01903c9e] {
9721
+ position: absolute;
9722
+ z-index: 20;
9723
+ top: calc(100% + 6px);
9724
+ width: 300px;
9725
+ }
9726
+ .bp .hyperlink-preview[data-v-01903c9e] {
9668
9727
  position: absolute;
9669
9728
  z-index: 10;
9670
9729
  }
9671
- .bp .popup-panel[data-v-d27ffcd7] {
9730
+ .bp .popup-panel[data-v-01903c9e] {
9672
9731
  background: #fff;
9673
9732
  border: 1px solid #ccc;
9674
9733
  border-radius: 8px;
@@ -9676,17 +9735,17 @@ to {
9676
9735
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
9677
9736
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
9678
9737
  }
9679
- .bp .popup-panel[data-v-d27ffcd7] input {
9738
+ .bp .popup-panel[data-v-01903c9e] input {
9680
9739
  border: 1px solid #ccc;
9681
9740
  border-radius: 8px;
9682
9741
  }
9683
- .bp .border[data-v-d27ffcd7] {
9742
+ .bp .border[data-v-01903c9e] {
9684
9743
  width: 100%;
9685
9744
  --tw-bg-opacity: 1;
9686
9745
  background-color: rgb(208 208 208 / var(--tw-bg-opacity));
9687
9746
  height: 1px;
9688
9747
  }
9689
- [data-v-d27ffcd7] .text-dropdown-title {
9748
+ [data-v-01903c9e] .text-dropdown-title {
9690
9749
  height: 2rem;
9691
9750
  width: 100%;
9692
9751
  font-size: 0.875rem;
@@ -9695,7 +9754,7 @@ to {
9695
9754
  color: rgb(43 43 43 / var(--tw-text-opacity));
9696
9755
  font-weight: 300;
9697
9756
  }
9698
- [data-v-d27ffcd7] .ProseMirror p.is-editor-empty:first-child::before {
9757
+ [data-v-01903c9e] .ProseMirror p.is-editor-empty:first-child::before {
9699
9758
  --tw-text-opacity: 1;
9700
9759
  color: rgb(208 208 208 / var(--tw-text-opacity));
9701
9760
  content: attr(data-placeholder);
@@ -9704,56 +9763,11 @@ to {
9704
9763
  pointer-events: none;
9705
9764
  }
9706
9765
  @media (max-width: 399px) {
9707
- .bp .style-editor-button-font[data-v-d27ffcd7],
9708
- .bp .style-editor-button-textstyle[data-v-d27ffcd7] {
9709
- max-width: 48%;
9710
- padding-bottom: 0.25rem;
9711
- }
9712
- .bp .style-editor-button.stepper[data-v-d27ffcd7] {
9713
- max-width: 40%;
9714
- }
9715
- .bp .style-editor-button-stepper[data-v-d27ffcd7] {
9716
- max-width: 100%;
9717
- }
9718
- .bp .border.desktop[data-v-d27ffcd7] {
9719
- display: none;
9720
- }
9721
- .bp .border.mobile[data-v-d27ffcd7] {
9722
- display: block;
9723
- }
9724
- [data-v-d27ffcd7] .left-align {
9725
- -webkit-transform: translateX(-48%);
9726
- transform: translateX(-48%);
9727
- }
9728
- .bp .hyperlink-popup[data-v-d27ffcd7] {
9766
+ .bp .hyperlink-popup[data-v-01903c9e] {
9729
9767
  z-index: 10000 !important;
9730
9768
  }
9731
9769
  }
9732
- @media (min-width: 400px) {
9733
- .bp .style-editor-button.stepper[data-v-d27ffcd7] {
9734
- max-width: 32%;
9735
- }
9736
- .bp .style-editor-button-font[data-v-d27ffcd7] {
9737
- max-width: 28%;
9738
- }
9739
- .bp .style-editor-button-stepper[data-v-d27ffcd7] {
9740
- max-width: 100%;
9741
- }
9742
- .bp .style-editor-button-textstyle[data-v-d27ffcd7] {
9743
- max-width: 25%;
9744
- }
9745
- .bp .border.desktop[data-v-d27ffcd7] {
9746
- display: block;
9747
- }
9748
- .bp .border.mobile[data-v-d27ffcd7] {
9749
- display: none;
9750
- }
9751
- [data-v-d27ffcd7] .left-align {
9752
- -webkit-transform: translateX(-25%);
9753
- transform: translateX(-25%);
9754
- }
9755
- }
9756
- .bp .drop-down-item[data-v-d27ffcd7]:hover {
9770
+ .bp .drop-down-item[data-v-01903c9e]:hover {
9757
9771
  background-color: #eee;
9758
9772
  }
9759
9773
 
@@ -9773,6 +9787,69 @@ input[type='number'][data-v-f3d394d9] {
9773
9787
  }
9774
9788
  }
9775
9789
 
9790
+ /* The toggle's own positioning context so the popup hangs relative to it. */
9791
+ .bp .text-style-field__modified-anchor[data-v-8166878a] {
9792
+ position: relative;
9793
+ display: -webkit-box;
9794
+ display: -ms-flexbox;
9795
+ display: flex;
9796
+ -ms-flex-negative: 0;
9797
+ flex-shrink: 0
9798
+ }
9799
+ .bp .text-style-field__modified-toggle[data-v-8166878a] {
9800
+ display: -webkit-box;
9801
+ display: -ms-flexbox;
9802
+ display: flex;
9803
+ height: 100%;
9804
+ width: 2.75rem;
9805
+ cursor: pointer;
9806
+ -webkit-box-align: center;
9807
+ -ms-flex-align: center;
9808
+ align-items: center;
9809
+ -webkit-box-pack: center;
9810
+ -ms-flex-pack: center;
9811
+ justify-content: center;
9812
+ border-radius: 0.5rem;
9813
+ border-width: 1px;
9814
+ border-style: solid;
9815
+ --tw-border-opacity: 1;
9816
+ border-color: rgb(230 230 230 / var(--tw-border-opacity));
9817
+ --tw-bg-opacity: 1;
9818
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
9819
+ --tw-text-opacity: 1;
9820
+ color: rgb(89 89 89 / var(--tw-text-opacity))
9821
+ }
9822
+ .bp .text-style-field__modified-toggle--active[data-v-8166878a] {
9823
+ --tw-bg-opacity: 1;
9824
+ background-color: rgb(244 244 244 / var(--tw-bg-opacity))
9825
+ }
9826
+ /* Hangs just below the toggle, aligned to the panel's right edge. */
9827
+ .bp .text-style-field__modified-popup[data-v-8166878a] {
9828
+ position: absolute;
9829
+ right: 0px;
9830
+ z-index: 20;
9831
+ display: -webkit-box;
9832
+ display: -ms-flexbox;
9833
+ display: flex;
9834
+ -webkit-box-orient: vertical;
9835
+ -webkit-box-direction: normal;
9836
+ -ms-flex-direction: column;
9837
+ flex-direction: column;
9838
+ gap: 0.25rem;
9839
+ border-radius: 0.5rem;
9840
+ border-width: 1px;
9841
+ border-style: solid;
9842
+ --tw-border-opacity: 1;
9843
+ border-color: rgb(230 230 230 / var(--tw-border-opacity));
9844
+ --tw-bg-opacity: 1;
9845
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
9846
+ padding: 1rem;
9847
+ top: calc(100% + 6px);
9848
+ width: 260px;
9849
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
9850
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3)
9851
+ }
9852
+
9776
9853
  .bp .testimonial-preview[data-v-6b1ec164] {
9777
9854
  overflow: hidden;
9778
9855
  text-overflow: ellipsis;
@@ -9859,15 +9936,15 @@ input[type='number'][data-v-f3d394d9] {
9859
9936
  -4px 0;
9860
9937
  }
9861
9938
 
9862
- .bp .color-matches[data-v-8dfdf8b1] {
9939
+ .bp .color-matches[data-v-0f948381] {
9863
9940
  border-collapse: collapse;
9864
9941
  /* AUTO layout would hand the wider column to whichever value is longest and
9865
9942
  squeeze the names. A name is an identifier you scan, a value is what you
9866
9943
  read — so the names get the fixed share and the values wrap. */
9867
9944
  table-layout: fixed;
9868
9945
  }
9869
- .bp .color-matches td[data-v-8dfdf8b1],
9870
- .bp .color-matches th[data-v-8dfdf8b1] {
9946
+ .bp .color-matches td[data-v-0f948381],
9947
+ .bp .color-matches th[data-v-0f948381] {
9871
9948
  /* Top-aligned, because a wrapped value is taller than its name. */
9872
9949
  vertical-align: top;
9873
9950
  padding-bottom: 0.375rem;
@@ -9877,27 +9954,27 @@ input[type='number'][data-v-f3d394d9] {
9877
9954
  cell rather than widen the table past the sidebar. */
9878
9955
  overflow-wrap: anywhere;
9879
9956
  }
9880
- .bp .color-matches__name[data-v-8dfdf8b1] {
9957
+ .bp .color-matches__name[data-v-0f948381] {
9881
9958
  width: 45%;
9882
9959
  padding-right: 0.5rem;
9883
9960
  }
9884
9961
  /* Matches the swatch's own 14px box so a swatch-less row still aligns its value.
9885
9962
  `display: block` for the same reason the swatch needs it — a bare `<span>` would
9886
9963
  ignore the width. */
9887
- .bp .color-matches__gutter[data-v-8dfdf8b1] {
9964
+ .bp .color-matches__gutter[data-v-0f948381] {
9888
9965
  display: block;
9889
9966
  width: 14px;
9890
9967
  padding-top: 2px;
9891
9968
  }
9892
9969
  /* The stack number: fixed-width so every surface NAME starts at the same x, and
9893
9970
  muted so it reads as an axis tick rather than part of the name. */
9894
- .bp .color-matches__layer[data-v-8dfdf8b1] {
9971
+ .bp .color-matches__layer[data-v-0f948381] {
9895
9972
  display: inline-block;
9896
9973
  width: 10px;
9897
9974
  margin-right: 4px;
9898
9975
  font-size: 0.625rem;
9899
9976
  }
9900
- .bp .color-matches__order[data-v-8dfdf8b1] {
9977
+ .bp .color-matches__order[data-v-0f948381] {
9901
9978
  letter-spacing: normal;
9902
9979
  }
9903
9980
 
@@ -10035,7 +10112,7 @@ input.dynamic-width-input[data-v-97be2e87]:focus {
10035
10112
  color: rgb(36 36 36 / var(--tw-text-opacity))
10036
10113
  }
10037
10114
 
10038
- .bp .header-button-settings_option-title[data-v-86ff33c1] {
10115
+ .bp .header-button-settings_option-title[data-v-29fa6811] {
10039
10116
  font-family: Lato, Helvetica, sans-serif;
10040
10117
  font-size: 0.875rem;
10041
10118
  line-height: 1.25rem;
@@ -10187,6 +10264,25 @@ input.dynamic-width-input[data-v-97be2e87]:focus {
10187
10264
  --tw-bg-opacity: 1;
10188
10265
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
10189
10266
  }
10267
+
10268
+ /* CollapsiblePanel's subtitle takes text only, so the size order warning (this panel's only
10269
+ subtitle) is boxed from here. StyleSettings.test.ts fails if a library bump moves it. */
10270
+ .bp .c-text-style-panel .tw-grow > div + div {
10271
+ margin-top: 0.5rem;
10272
+ margin-bottom: 0px;
10273
+ border-radius: 0.25rem;
10274
+ border-width: 1px;
10275
+ border-style: solid;
10276
+ --tw-border-opacity: 1;
10277
+ border-color: rgb(243 175 43 / var(--tw-border-opacity));
10278
+ --tw-bg-opacity: 1;
10279
+ background-color: rgb(253 239 213 / var(--tw-bg-opacity));
10280
+ padding: 0.5rem;
10281
+ font-size: 0.75rem;
10282
+ line-height: 1rem;
10283
+ --tw-text-opacity: 1;
10284
+ color: rgb(97 70 17 / var(--tw-text-opacity));
10285
+ }
10190
10286
  .bp .c-select {
10191
10287
  background-repeat: no-repeat;
10192
10288
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.46967 9.46967C6.76256 9.17678 7.23744 9.17678 7.53033 9.46967L12 13.9393L16.4697 9.46967C16.7626 9.17678 17.2374 9.17678 17.5303 9.46967C17.8232 9.76256 17.8232 10.2374 17.5303 10.5303L12.5303 15.5303C12.3897 15.671 12.1989 15.75 12 15.75C11.8011 15.75 11.6103 15.671 11.4697 15.5303L6.46967 10.5303C6.17678 10.2374 6.17678 9.76256 6.46967 9.46967Z' fill='%23595959'/%3E%3C/svg%3E%0A");