@designcrowd/library.brand-page 6.1.0-color-v2-3 → 6.1.0-websitev2-dev-2

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 (227) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-CE83hdjG.js → CreatedOnBrandCrowd-de-de-D_qQ0sPW.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DJTsOp2C.js → CreatedOnBrandCrowd-en-us-CNMxavFU.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-D3R4iuPK.js → CreatedOnBrandCrowd-es-es-Cyaiw1-R.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BIdcegm7.js → CreatedOnBrandCrowd-fr-ca-DbniOtuE.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BIdcegm7.js → CreatedOnBrandCrowd-fr-fr-DbniOtuE.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-BlhdQ-hB.js → CreatedOnBrandCrowd-pt-br-DI3JfwR8.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-BlhdQ-hB.js → CreatedOnBrandCrowd-pt-pt-DI3JfwR8.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-DRgpaO7O.js → CreatedOnDcom-de-de-DqBzJ_O9.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-MlAviIXv.js → CreatedOnDcom-en-us-B8uZjYMi.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-CyUO5i1i.js → CreatedOnDcom-es-es-BOLxcx3H.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-B5Q6_p6m.js → CreatedOnDcom-fr-ca-CbGneDvu.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CFT3tntA.js → CreatedOnDcom-fr-fr-B-UwXpW3.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-C70p2WXo.js → CreatedOnDcom-pt-br-CRPrLx5_.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-D3qQBqFK.js → CreatedOnDcom-pt-pt-4p2rdAnc.js} +1 -1
  15. package/lib/src/brand-page/components/background-shape/BackgroundShape.mixin.d.ts +0 -1
  16. package/lib/src/brand-page/components/background-shape/BackgroundShape.mixin.js +3 -18
  17. package/lib/src/brand-page/components/media/Shape.mixin.d.ts +0 -1
  18. package/lib/src/brand-page/components/media/Shape.mixin.js +2 -20
  19. package/lib/src/brand-page/components/page/Page.mixin.d.ts +0 -2
  20. package/lib/src/brand-page/components/page/Page.mixin.js +2 -21
  21. package/lib/src/brand-page/models/index.d.ts +0 -13
  22. package/lib/src/brand-page/models/index.js +0 -4
  23. package/lib/src/brand-page/utils/color.util.js +0 -18
  24. package/lib/src/brand-page/utils/index.d.ts +0 -1
  25. package/lib/src/brand-page/utils/index.js +0 -1
  26. package/lib/src/brand-page/utils/migration.util.d.ts +1 -2
  27. package/lib/src/brand-page/utils/migration.util.js +0 -23
  28. package/lib/src/brand-page/utils/style.util.d.ts +1 -14
  29. package/lib/src/brand-page/utils/style.util.js +0 -43
  30. package/lib/src/brand-page/utils/view-model.util.js +22 -44
  31. package/lib/src/brand-page/view-models.d.ts +1 -2
  32. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +0 -2
  33. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +14 -18
  34. package/lib/src/brand-page-maker/components/color-picker/components/GradientColorSlider.mixin.d.ts +1 -1
  35. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +14 -17
  36. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +7 -3
  37. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +3 -8
  38. package/lib/src/brand-page-maker/constants/sidebar-constant.d.ts +0 -1
  39. package/lib/src/brand-page-maker/constants/sidebar-constant.js +0 -12
  40. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +0 -30
  41. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +35 -43
  42. package/lib/src/brand-page-maker/utils/index.js +9 -14
  43. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +0 -1
  44. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +0 -10
  45. package/lib/src/bundled-translations-2HkRBbBD.js +177 -0
  46. package/lib/src/bundled-translations.de-DE-CL9ZEhU2.js +177 -0
  47. package/lib/src/bundled-translations.es-ES-uj7Sliu0.js +177 -0
  48. package/lib/src/bundled-translations.fr-CA-BMnBtr_w.js +177 -0
  49. package/lib/src/bundled-translations.fr-FR-9PEZedzq.js +177 -0
  50. package/lib/src/bundled-translations.pt-BR-B3oNDkoe.js +177 -0
  51. package/lib/src/bundled-translations.pt-PT-DM7Vsf-h.js +177 -0
  52. package/lib/src/bundles/bundled-translations.de-DE.json +1 -2
  53. package/lib/src/bundles/bundled-translations.es-ES.json +1 -2
  54. package/lib/src/bundles/bundled-translations.fr-CA.json +1 -2
  55. package/lib/src/bundles/bundled-translations.fr-FR.json +1 -2
  56. package/lib/src/bundles/bundled-translations.json +2 -15
  57. package/lib/src/bundles/bundled-translations.pt-BR.json +1 -2
  58. package/lib/src/bundles/bundled-translations.pt-PT.json +1 -2
  59. package/lib/src/clients/ai-assistant-client.d.ts +1 -0
  60. package/lib/src/clients/ai-assistant-client.js +1 -0
  61. package/lib/src/css/library.brand-page-brandCrowd.min.css +74 -132
  62. package/lib/src/css/library.brand-page-brandPage.min.css +74 -132
  63. package/lib/src/css/library.brand-page-designCom.min.css +74 -132
  64. package/lib/src/css/library.brand-page-preview.min.css +74 -132
  65. package/lib/src/index.mjs +1 -1
  66. package/lib/src/{lib-DKf-xyAs.js → lib-DhEJMZFn.js} +24761 -25360
  67. package/lib/src/metadata-builder/builders/global-font-propagation.d.ts +28 -0
  68. package/lib/src/metadata-builder/builders/global-font-propagation.js +125 -0
  69. package/lib/src/metadata-builder/builders/global-styles-builder.js +16 -0
  70. package/lib/src/metadata-builder/builders/section-builders/index.d.ts +1 -0
  71. package/lib/src/metadata-builder/builders/section-builders/index.js +1 -0
  72. package/lib/src/metadata-builder/builders/section-builders/support-me-builder.d.ts +8 -0
  73. package/lib/src/metadata-builder/builders/section-builders/support-me-builder.js +25 -0
  74. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +5 -2
  75. package/lib/src/metadata-builder/builders/section-field-maps.js +15 -0
  76. package/lib/src/metadata-builder/builders/section-field-utils.d.ts +6 -1
  77. package/lib/src/metadata-builder/builders/section-field-utils.js +48 -12
  78. package/lib/src/metadata-builder/builders/section-rules/support-me.rules.d.ts +2 -0
  79. package/lib/src/metadata-builder/builders/section-rules/support-me.rules.js +17 -0
  80. package/lib/src/metadata-builder/metadata-executor.js +3 -1
  81. package/lib/src/metadata-builder/models.d.ts +2 -0
  82. package/lib/src/metadata-builder/models.js +2 -0
  83. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +1 -0
  84. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +4 -0
  85. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +14 -2
  86. package/lib/src/shared/color-picker/components/ColorPicker.mixin.d.ts +1 -30
  87. package/lib/src/shared/color-picker/components/ColorPicker.mixin.js +6 -76
  88. package/lib/src/shared/color-picker/models.d.ts +0 -2
  89. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +0 -3
  90. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +0 -28
  91. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +0 -3
  92. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -34
  93. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.d.ts +5 -0
  94. package/lib/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.js +50 -3
  95. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +53 -44
  96. package/lib/src/shared/style-settings/components/StyleSettings.mixin.js +56 -11
  97. package/lib/src/utils/minify-brand-page-metadata.js +7 -0
  98. package/package.json +1 -1
  99. package/src/brand-page/components/background-shape/BackgroundShape.mixin.ts +3 -23
  100. package/src/brand-page/components/media/Shape.mixin.ts +2 -25
  101. package/src/brand-page/components/page/Page.mixin.ts +2 -28
  102. package/src/brand-page/components/page/Page.vue +0 -6
  103. package/src/brand-page/models/index.ts +0 -18
  104. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +27 -108
  105. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +0 -1
  106. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +0 -2
  107. package/src/brand-page/utils/color.util.test.ts +0 -35
  108. package/src/brand-page/utils/color.util.ts +0 -24
  109. package/src/brand-page/utils/index.ts +0 -1
  110. package/src/brand-page/utils/migration.util.ts +1 -33
  111. package/src/brand-page/utils/style.util.test.ts +0 -54
  112. package/src/brand-page/utils/style.util.ts +0 -57
  113. package/src/brand-page/utils/view-model.util.test.ts +3 -186
  114. package/src/brand-page/utils/view-model.util.ts +22 -48
  115. package/src/brand-page/view-models.ts +0 -2
  116. package/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.vue +5 -2
  117. package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +1 -1
  118. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +0 -2
  119. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +15 -21
  120. package/src/brand-page-maker/components/color-palette/BpColorPalette.vue +6 -79
  121. package/src/brand-page-maker/components/color-palette/BpColorPicker.vue +20 -91
  122. package/src/brand-page-maker/components/color-palette/i18n/color-palette.de-DE.json +1 -2
  123. package/src/brand-page-maker/components/color-palette/i18n/color-palette.es-ES.json +1 -2
  124. package/src/brand-page-maker/components/color-palette/i18n/color-palette.fr-CA.json +1 -2
  125. package/src/brand-page-maker/components/color-palette/i18n/color-palette.fr-FR.json +1 -2
  126. package/src/brand-page-maker/components/color-palette/i18n/color-palette.json +1 -2
  127. package/src/brand-page-maker/components/color-palette/i18n/color-palette.pt-BR.json +1 -2
  128. package/src/brand-page-maker/components/color-palette/i18n/color-palette.pt-PT.json +1 -2
  129. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +1 -2
  130. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +14 -17
  131. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +7 -3
  132. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +2 -12
  133. package/src/brand-page-maker/constants/sidebar-constant.ts +0 -12
  134. package/src/brand-page-maker/stores/brandpage-maker/__snapshots__/brandpage-maker-store.test.ts.snap +3 -3
  135. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +9 -80
  136. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +62 -47
  137. package/src/brand-page-maker/utils/index.ts +11 -15
  138. package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +0 -26
  139. package/src/brand-page-maker/utils/rich-text-editor.util.ts +0 -13
  140. package/src/bundles/bundled-translations.de-DE.json +1 -2
  141. package/src/bundles/bundled-translations.es-ES.json +1 -2
  142. package/src/bundles/bundled-translations.fr-CA.json +1 -2
  143. package/src/bundles/bundled-translations.fr-FR.json +1 -2
  144. package/src/bundles/bundled-translations.json +2 -15
  145. package/src/bundles/bundled-translations.pt-BR.json +1 -2
  146. package/src/bundles/bundled-translations.pt-PT.json +1 -2
  147. package/src/clients/ai-assistant-client.ts +1 -0
  148. package/src/metadata-builder/builders/global-font-propagation.test.ts +269 -0
  149. package/src/metadata-builder/builders/global-font-propagation.ts +205 -0
  150. package/src/metadata-builder/builders/global-styles-builder.ts +21 -0
  151. package/src/metadata-builder/builders/section-builders/index.ts +1 -0
  152. package/src/metadata-builder/builders/section-builders/support-me-builder.test.ts +177 -0
  153. package/src/metadata-builder/builders/section-builders/support-me-builder.ts +43 -0
  154. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +5 -2
  155. package/src/metadata-builder/builders/section-field-maps.ts +18 -0
  156. package/src/metadata-builder/builders/section-field-utils.test.ts +83 -0
  157. package/src/metadata-builder/builders/section-field-utils.ts +69 -18
  158. package/src/metadata-builder/builders/section-rules/support-me.rules.ts +39 -0
  159. package/src/metadata-builder/metadata-executor.ts +3 -0
  160. package/src/metadata-builder/models.ts +2 -0
  161. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +4 -0
  162. package/src/metadata-builder/parsers/section-tool-arguments.ts +14 -1
  163. package/src/shared/background-settings/components/background-color/BackgroundColorSettings.vue +25 -6
  164. package/src/shared/color-picker/components/ColorPicker.mixin.ts +7 -81
  165. package/src/shared/color-picker/models.ts +0 -7
  166. package/src/shared/content-settings/components/color-field/ColorField.vue +31 -211
  167. package/src/shared/content-settings/components/color-field/i18n/color-field.json +1 -10
  168. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +0 -41
  169. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +0 -15
  170. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +0 -1
  171. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +0 -49
  172. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +0 -10
  173. package/src/shared/content-settings/components/text-style-field/TextStyleField.vue +0 -2
  174. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.mixin.ts +64 -3
  175. package/src/shared/navigation-style-settings/components/navigation-style-settings/NavigationStyleSettings.vue +38 -3
  176. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.vue +0 -2
  177. package/src/shared/style-settings/components/StyleSettings.mixin.ts +67 -14
  178. package/src/shared/style-settings/components/StyleSettings.vue +186 -18
  179. package/src/shared/style-settings/components/i18n/style-settings.json +0 -3
  180. package/src/utils/minify-brand-page-metadata.test.ts +61 -0
  181. package/src/utils/minify-brand-page-metadata.ts +8 -0
  182. package/lib/src/brand-page/utils/color-palette.util.d.ts +0 -125
  183. package/lib/src/brand-page/utils/color-palette.util.js +0 -292
  184. package/lib/src/brand-page/utils/migration/migration-20.d.ts +0 -2
  185. package/lib/src/brand-page/utils/migration/migration-20.js +0 -211
  186. package/lib/src/brand-page/utils/migration/migration-21.d.ts +0 -2
  187. package/lib/src/brand-page/utils/migration/migration-21.js +0 -177
  188. package/lib/src/brand-page-maker/utils/apply-color-strategy.d.ts +0 -52
  189. package/lib/src/brand-page-maker/utils/apply-color-strategy.js +0 -88
  190. package/lib/src/bundled-translations-C0fm9DE2.js +0 -177
  191. package/lib/src/bundled-translations.de-DE-BACSJnIH.js +0 -177
  192. package/lib/src/bundled-translations.es-ES-5Y2R5haO.js +0 -177
  193. package/lib/src/bundled-translations.fr-CA-CQ4zMF3r.js +0 -177
  194. package/lib/src/bundled-translations.fr-FR-BTaChKrC.js +0 -177
  195. package/lib/src/bundled-translations.pt-BR-CptaTqfB.js +0 -177
  196. package/lib/src/bundled-translations.pt-PT-DqIvqMCh.js +0 -177
  197. package/lib/src/shared/color-palette/store/color-palette-store.d.ts +0 -92
  198. package/lib/src/shared/color-palette/store/color-palette-store.js +0 -169
  199. package/lib/src/shared/color-palette/store/index.d.ts +0 -1
  200. package/lib/src/shared/color-palette/store/index.js +0 -1
  201. package/lib/src/shared/color-strategies/color-strategies.d.ts +0 -62
  202. package/lib/src/shared/color-strategies/color-strategies.js +0 -135
  203. package/lib/src/shared/color-strategies/models.d.ts +0 -29
  204. package/lib/src/shared/color-strategies/models.js +0 -5
  205. package/src/brand-page/utils/color-palette.util.test.ts +0 -354
  206. package/src/brand-page/utils/color-palette.util.ts +0 -424
  207. package/src/brand-page/utils/migration/migration-20.test.ts +0 -370
  208. package/src/brand-page/utils/migration/migration-20.ts +0 -279
  209. package/src/brand-page/utils/migration/migration-21.test.ts +0 -367
  210. package/src/brand-page/utils/migration/migration-21.ts +0 -245
  211. package/src/brand-page-maker/components/admin-settings/AdminSettings.vue +0 -54
  212. package/src/brand-page-maker/utils/apply-color-strategy.test.ts +0 -400
  213. package/src/brand-page-maker/utils/apply-color-strategy.ts +0 -161
  214. package/src/brand-page-maker/utils/is-color-matched.test.ts +0 -44
  215. package/src/shared/color-palette/store/color-palette-store.test.ts +0 -325
  216. package/src/shared/color-palette/store/color-palette-store.ts +0 -249
  217. package/src/shared/color-palette/store/index.ts +0 -1
  218. package/src/shared/color-strategies/color-strategies.test.ts +0 -263
  219. package/src/shared/color-strategies/color-strategies.ts +0 -191
  220. package/src/shared/color-strategies/models.ts +0 -47
  221. package/src/shared/content-settings/components/color-strategy-panel/ColorStrategyPanel.test.ts +0 -81
  222. package/src/shared/content-settings/components/color-strategy-panel/ColorStrategyPanel.vue +0 -93
  223. package/src/shared/content-settings/components/color-strategy-panel/color-strategy-gate.test.ts +0 -113
  224. package/src/shared/side-bar/components/SideBar.tabs.test.ts +0 -64
  225. package/src/shared/style-settings/components/color-palette-settings-with-state/ColorPaletteSettingsWithState.vue +0 -85
  226. package/src/shared/style-settings/components/style-option-color-field-with-state/StyleOptionColorFieldWithState.test.ts +0 -104
  227. package/src/shared/style-settings/components/style-option-color-field-with-state/StyleOptionColorFieldWithState.vue +0 -82
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-DKf-xyAs.js";
2
+ import { _ as t } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-DKf-xyAs.js";
2
+ import { _ as e } from "./lib-DhEJMZFn.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-DKf-xyAs.js";
2
+ import { _ as e } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-DKf-xyAs.js";
2
+ import { _ as e } from "./lib-DhEJMZFn.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-DKf-xyAs.js";
2
+ import { _ as e } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-DKf-xyAs.js";
2
+ import { _ as e } from "./lib-DhEJMZFn.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-DKf-xyAs.js";
2
+ import { _ as M } from "./lib-DhEJMZFn.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-DKf-xyAs.js";
2
+ import { _ as M } from "./lib-DhEJMZFn.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -16,7 +16,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  backgroundShapesStyle(): BrandPageCssStyle;
17
17
  isFullBackground(): boolean;
18
18
  objectUrl(): string;
19
- resolvedShapeColor(): string;
20
19
  }, {
21
20
  isValidSvgUrl(url: string): boolean;
22
21
  applySvgAttributes(svgData: string): string;
@@ -2,7 +2,6 @@ import { defineComponent } from 'vue';
2
2
  import ComponentCommonMixin from '../mixins/component-common.mixin';
3
3
  import axios from 'axios';
4
4
  import { applyColorToSvgString } from '@brand-page/utils/svg-color.util';
5
- import { resolveColorReference, } from '@brand-page/utils/color-palette.util';
6
5
  import { isURL } from '../../../utils/validator.util';
7
6
  import { PROXY_SHAPE_URL_REGEX } from '@brand-page/constants';
8
7
  import { getRegexToMatchAttributeInSvgTag } from '@brand-page/utils/svg.util';
@@ -18,11 +17,6 @@ export default defineComponent({
18
17
  required: true,
19
18
  },
20
19
  },
21
- inject: {
22
- // BP-5886: getter for the page palette (provided by <Page>) to resolve
23
- // `var(--id)` fills.
24
- getPaletteColors: { default: undefined },
25
- },
26
20
  data() {
27
21
  return {
28
22
  svgData: '',
@@ -54,18 +48,9 @@ export default defineComponent({
54
48
  }
55
49
  return this.viewModel.name;
56
50
  },
57
- // BP-5886: the shape's colour with any palette `var(--id)` resolved to its
58
- // concrete value — `var()` can't resolve inside the <img>-embedded SVG.
59
- resolvedShapeColor() {
60
- const getColors = this.getPaletteColors;
61
- const colors = getColors?.() ?? [];
62
- return resolveColorReference(this.viewModel?.style?.color, colors);
63
- },
64
51
  },
65
52
  watch: {
66
- // BP-5886: re-render when the resolved colour changes — covers both a direct
67
- // colour edit and an edit to a referenced palette role.
68
- resolvedShapeColor: {
53
+ 'viewModel.style.color': {
69
54
  handler() {
70
55
  this.render();
71
56
  },
@@ -161,8 +146,8 @@ export default defineComponent({
161
146
  else {
162
147
  this.originalSvgData = this.viewModel.name;
163
148
  }
164
- if (this.resolvedShapeColor) {
165
- this.svgData = applyColorToSvgString(this.originalSvgData, this.resolvedShapeColor);
149
+ if (this.viewModel.style.color) {
150
+ this.svgData = applyColorToSvgString(this.originalSvgData, this.viewModel.style.color);
166
151
  }
167
152
  else {
168
153
  this.svgData = this.originalSvgData;
@@ -30,7 +30,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
30
30
  originalSvgData: string;
31
31
  }, {
32
32
  useObjectElement(): boolean;
33
- resolvedColorReplacements(): ColorReplacement[];
34
33
  objectStyle(): {
35
34
  width?: undefined;
36
35
  height?: undefined;
@@ -2,7 +2,6 @@ import { defineComponent } from 'vue';
2
2
  import ComponentCommonMixin from '../mixins/component-common.mixin';
3
3
  import axios from 'axios';
4
4
  import { applyColorReplacementsToSvgString } from '@brand-page/utils/svg-color.util';
5
- import { resolveColorReference, } from '@brand-page/utils/color-palette.util';
6
5
  import { PROXY_SHAPE_URL_REGEX } from '@brand-page/constants';
7
6
  import { getRegexToMatchAttributeInSvgTag } from '@brand-page/utils/svg.util';
8
7
  export default defineComponent({
@@ -32,11 +31,6 @@ export default defineComponent({
32
31
  default: undefined,
33
32
  },
34
33
  },
35
- inject: {
36
- // BP-5886: getter for the page palette (provided by <Page>) — used to resolve
37
- // `var(--id)` fills to concrete colours before the SVG is built.
38
- getPaletteColors: { default: undefined },
39
- },
40
34
  data() {
41
35
  return { svgData: '', svgDataObjectUrl: '', originalSvgData: '' };
42
36
  },
@@ -44,16 +38,6 @@ export default defineComponent({
44
38
  useObjectElement() {
45
39
  return !!this.imageUrl.match(PROXY_SHAPE_URL_REGEX);
46
40
  },
47
- // BP-5886: colour replacements with any palette `var(--id)` resolved to its
48
- // concrete value — `var()` can't resolve inside the <img>-embedded SVG.
49
- resolvedColorReplacements() {
50
- const getColors = this.getPaletteColors;
51
- const colors = getColors?.() ?? [];
52
- return (this.colorReplacements ?? []).map((c) => ({
53
- ...c,
54
- replacementColor: resolveColorReference(c.replacementColor, colors),
55
- }));
56
- },
57
41
  objectStyle() {
58
42
  if (!this.size) {
59
43
  return {};
@@ -76,9 +60,7 @@ export default defineComponent({
76
60
  },
77
61
  },
78
62
  watch: {
79
- // BP-5886: watch the RESOLVED replacements so the shape re-renders both when
80
- // its own colours change and when a referenced palette colour is edited.
81
- resolvedColorReplacements: {
63
+ colorReplacements: {
82
64
  handler(newVal, oldVal) {
83
65
  if (newVal &&
84
66
  oldVal &&
@@ -154,7 +136,7 @@ export default defineComponent({
154
136
  if (!this.originalSvgData) {
155
137
  return;
156
138
  }
157
- this.svgData = applyColorReplacementsToSvgString(this.originalSvgData, this.resolvedColorReplacements);
139
+ this.svgData = applyColorReplacementsToSvgString(this.originalSvgData, this.colorReplacements);
158
140
  this.svgData = this.applySvgAttributes(this.svgData);
159
141
  const blob = new Blob([this.svgData], { type: 'image/svg+xml' });
160
142
  const oldSvgDataObjectUrl = this.svgDataObjectUrl;
@@ -52,8 +52,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
52
52
  styles: {};
53
53
  }, {
54
54
  brandPageToken(): string | null;
55
- shouldEmitPaletteRoot(): boolean;
56
- paletteRootStyleHtml(): string;
57
55
  contents(): ContentViewModel[];
58
56
  backgroundShapes(): BackgroundShape[];
59
57
  rootElementStyles(): BrandPageCssStyle;
@@ -1,6 +1,6 @@
1
- import { defineComponent, provide } from 'vue';
1
+ import { defineComponent } from 'vue';
2
2
  import { DEFAULT_FONT_FAMILY_KEY, FALLBACK_FONT_FAMILIES, FONT_FAMILY_CONFIGS, } from '../../constants';
3
- import { getSlugFromContext, getPageHeadingText, buildPaletteRootCss, } from '@brand-page/utils';
3
+ import { getSlugFromContext, getPageHeadingText } from '@brand-page/utils';
4
4
  import { findNavItemByRelativePath } from '@brand-page/utils/route.util';
5
5
  import { BRAND_PAGE_TYPES } from '@brand-page/models';
6
6
  import { hasProfileContent as checkHasProfileContent } from '@brand-page/utils/vcard.util';
@@ -59,14 +59,6 @@ export default defineComponent({
59
59
  'save-contact-widget-click',
60
60
  ],
61
61
  setup(props) {
62
- // BP-5886: shapes render as <img>-embedded SVG, an isolated document the
63
- // `:root` palette block can't reach, so a `var(--id)` fill won't resolve.
64
- // Provide the palette as a getter so the shape mixins can resolve their refs
65
- // to concrete colours before building the SVG. A getter (not a provided ref)
66
- // sidesteps Options-API inject ref-unwrapping ambiguity and stays reactive:
67
- // calling it inside a shape's computed tracks `viewModel.styles.colors`, so
68
- // shapes recolour when a referenced palette colour is edited.
69
- provide('getPaletteColors', () => props.viewModel?.styles?.colors ?? []);
70
62
  return {
71
63
  fluidText: JSON.stringify({
72
64
  default: props.context.brandPageType === BRAND_PAGE_TYPES.brandSite
@@ -85,17 +77,6 @@ export default defineComponent({
85
77
  brandPageToken() {
86
78
  return this.viewModel?.brandPageToken || null;
87
79
  },
88
- // BP-5886 — global colour palette emitted as a single `:root` block.
89
- // Only the published single-document surfaces emit the global block:
90
- // template-grid cards get scoped vars (TemplatePreview) and the maker main
91
- // preview emits from BrandPageMakerPage, so guard those out to avoid a
92
- // duplicate / colliding `:root`.
93
- shouldEmitPaletteRoot() {
94
- return !this.context?.isTemplate && !this.context?.isPreview;
95
- },
96
- paletteRootStyleHtml() {
97
- return buildPaletteRootCss(this.viewModel?.styles?.colors ?? []);
98
- },
99
80
  contents() {
100
81
  return this.pageViewModel?.contents || [];
101
82
  },
@@ -53,7 +53,6 @@ export declare class PageStyles {
53
53
  logoStyles: LogoStyles;
54
54
  textStyles: TextStyles;
55
55
  galleryStyles: GalleryStyles;
56
- colors: ColorItem[];
57
56
  constructor(option?: Partial<Omit<PageStyles, 'logoStyles' | 'buttonStyles' | 'backgroundStyles' | 'textStyles'>> & {
58
57
  logoStyles?: Partial<LogoStyles>;
59
58
  buttonStyles?: Partial<ButtonStyles>;
@@ -371,18 +370,6 @@ export interface ColorReplacement {
371
370
  originalColor: string;
372
371
  replacementColor: string;
373
372
  }
374
- /**
375
- * A single entry in the global colour palette (BP-5886).
376
- * `id` is the CSS-variable name emitted at :root (`--<id>`); elements reference
377
- * the colour via `var(--<id>)`. `value` is a concrete literal (rgb/#hex or a
378
- * gradient string). `palette` = the 4 static brand roles (`palette-0`…`palette-3`);
379
- * `custom` = one-off colours chosen on elements (`palette-custom-<uuid>`).
380
- */
381
- export interface ColorItem {
382
- id: string;
383
- value: string;
384
- type: 'palette' | 'custom';
385
- }
386
373
  export interface TestimonialSectionContent extends Content {
387
374
  type: 'testimonial-section';
388
375
  title: string;
@@ -85,9 +85,6 @@ export class PageStyles {
85
85
  logoStyles;
86
86
  textStyles;
87
87
  galleryStyles;
88
- // BP-5886 global colour palette. Non-nullable (default []) per the model
89
- // reactivity rule; old persisted `styles` that omit it hydrate to [].
90
- colors;
91
88
  constructor(option = {}) {
92
89
  this.backgroundStyles = new BackgroundStyles(option.backgroundStyles || {
93
90
  backgroundImageUrl: '',
@@ -112,7 +109,6 @@ export class PageStyles {
112
109
  ? new TextStyles(option.textStyles)
113
110
  : TextStyles.GetDefaultTextStyle();
114
111
  this.galleryStyles = new GalleryStyles(option.galleryStyles);
115
- this.colors = option.colors ? option.colors.map((c) => ({ ...c })) : [];
116
112
  }
117
113
  }
118
114
  export const ASPECT_RATIOS = {
@@ -25,34 +25,16 @@ export const calculateLuminanceRatio = (color1, color2) => {
25
25
  : (color1luminance + 0.05) / (color2luminance + 0.05);
26
26
  return ratio;
27
27
  };
28
- // BP-5886: these helpers assume a `#rrggbb[aa]` hex. Under the palette model a
29
- // colour value may instead be a `var(--id)` reference (or a named colour /
30
- // gradient), and blindly substringing those yields garbage (e.g. `var(--p`),
31
- // which corrupts the picker swatch. Guard so a non-hex value passes through
32
- // untouched rather than being mangled.
33
- const isHashPrefixedHex = (value) => typeof value === 'string' && value.trim().startsWith('#');
34
28
  export const isHexTransparent = (hex) => {
35
- if (!isHashPrefixedHex(hex)) {
36
- return false;
37
- }
38
29
  return hex.trim().substring(7, 9) === '00';
39
30
  };
40
31
  export const removeAlphaFromHex = (hex) => {
41
- if (!isHashPrefixedHex(hex)) {
42
- return hex;
43
- }
44
32
  return hex.trim().substring(0, 7);
45
33
  };
46
34
  export const addTransparentAlphaChannelToHex = (hex) => {
47
- if (!isHashPrefixedHex(hex)) {
48
- return hex;
49
- }
50
35
  return `${removeAlphaFromHex(hex)}00`;
51
36
  };
52
37
  export const addOpacityToHex = (hex, opacity) => {
53
- if (!isHashPrefixedHex(hex)) {
54
- return hex;
55
- }
56
38
  return `${removeAlphaFromHex(hex)}${Math.round(opacity * 255).toString(16)}`;
57
39
  };
58
40
  export const setRgbAlpha = (rgb, alpha) => {
@@ -1,5 +1,4 @@
1
1
  export * from './style.util';
2
- export * from './color-palette.util';
3
2
  export * from './content-padding.util';
4
3
  export * from './view-model.util';
5
4
  export * from './text.util';
@@ -1,5 +1,4 @@
1
1
  export * from './style.util';
2
- export * from './color-palette.util';
3
2
  export * from './content-padding.util';
4
3
  export * from './view-model.util';
5
4
  export * from './text.util';
@@ -1,4 +1,4 @@
1
- import { type BrandPageModel, type LogoImageModel, type LogoTheme } from '../models';
1
+ import { type BrandPageModel, type LogoImageModel } from '../models';
2
2
  export interface MigrationData {
3
3
  brandPageModel: BrandPageModel;
4
4
  useOldLogoRenderSize: boolean;
@@ -8,7 +8,6 @@ export interface MigrationOptions {
8
8
  isUserDraft: boolean;
9
9
  isServerRender: boolean;
10
10
  disableLogoSizeMigration?: boolean;
11
- logoTheme?: LogoTheme;
12
11
  }
13
12
  export declare const GetLatestModelVersion: () => number;
14
13
  export declare const migrateBrandPageModel: (brandPageModel: BrandPageModel, options: MigrationOptions) => Promise<MigrationData>;
@@ -22,8 +22,6 @@ import { migration16 } from './migration/migration-16';
22
22
  import { migration17 } from './migration/migration-17';
23
23
  import { migration18 } from './migration/migration-18';
24
24
  import { migration19 } from './migration/migration-19';
25
- import { migration20 } from './migration/migration-20';
26
- import { migration21 } from './migration/migration-21';
27
25
  const MIGRATION_TABLE = [
28
26
  {
29
27
  version: 1,
@@ -151,27 +149,6 @@ const MIGRATION_TABLE = [
151
149
  runAlways: true,
152
150
  description: 'BP-5800: seed the button fill colour as each block’s own container colour so it is independent of the site button (existing sites render unchanged) — backgroundStyle for mailing-list, request-payment and support-me (all types); cardStyle for the BP/BC contact form (skipped on brand-site)',
153
151
  },
154
- {
155
- version: 20,
156
- migrateFn: migration20,
157
- // Version-gated (runs once, when modelVersion < 20): builds the palette + 4
158
- // palette roles and referencifies every colour, then the model is stamped v20
159
- // and never re-migrated. Idempotent if it ever re-runs (existing palette + only
160
- // var() values). Ordered after migration19 so its seeded colours extract too.
161
- description: 'BP-5886 Global Color V2: extract every colour into a central styles.colors palette (4 palette roles + palette-custom-<uuid>) and rewrite references to var(--id) — RTE, shapes, box-shadow, gradients included (lossless, once)',
162
- },
163
- {
164
- version: 21,
165
- migrateFn: migration21,
166
- // Prerequisite for colour strategies touching text. Phase 1 makes `color`
167
- // cascade (element wins over its global text style) instead of being dropped;
168
- // this clears the element colours that are shadowed TODAY so none of them
169
- // spring to life when the cascade ships. Lossless — those values render
170
- // nowhere under current semantics. MUST ship in the same release as the
171
- // resolver change (decision 0005: no flag on a persisted-model migration).
172
- // Ordered after migration20 so it sees referencified var(--id) colours.
173
- description: 'BP-5886 colour strategies Phase 1: drop element text `color` that is shadowed by the linked global text style (dead data today) so the new colour cascade does not resurface it',
174
- },
175
152
  ];
176
153
  export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
177
154
  export const migrateBrandPageModel = async (brandPageModel, options) => {
@@ -1,19 +1,6 @@
1
- import type { BrandPageModel, LogoTheme, ThemeColor, FabricLogoTheme, ButtonStyles, PageModel, ColorItem } from '../models';
1
+ import type { BrandPageModel, LogoTheme, ThemeColor, FabricLogoTheme, ButtonStyles, PageModel } from '../models';
2
2
  import { NavigationDesktop, NavigationMobile } from '../models';
3
3
  import { PageStyles, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop } from '../models';
4
- /**
5
- * BP-5886 — global colour palette emission.
6
- *
7
- * A `ColorItem` already holds one resolved value, so emission is a straight
8
- * `--id: value` map (no gradient/solid gating here — that's an authoring-time
9
- * concern). These are the single source of truth for the `:root` block across
10
- * the maker preview, the published `<Page>` (SSR), and template-grid cards.
11
- */
12
- export declare const paletteToCssVarDeclarations: (colors: ColorItem[]) => string;
13
- /** Full `<style>:root{…}</style>` block for `v-html` consumers (Page.vue, maker). */
14
- export declare const buildPaletteRootCss: (colors: ColorItem[]) => string;
15
- /** `{ '--id': 'value' }` for scoped inline `:style` consumers (template grid). */
16
- export declare const buildPaletteVarStyle: (colors: ColorItem[]) => Record<string, string>;
17
4
  /**
18
5
  * Simple utility to convert any color format to hex for consistent comparison
19
6
  */
@@ -6,34 +6,6 @@ import { addTransparentAlphaChannelToHex, calculateLuminanceRatio, getNewColorBa
6
6
  import { isRgbColor } from '@src/utils/helpers';
7
7
  import chroma from 'chroma-js';
8
8
  import { hasRTEContent, RTE_ALLOWED_SECTION_TYPES, } from '@brand-page-maker/utils';
9
- import { isColorVarReference } from './color-palette.util';
10
- /**
11
- * BP-5886 — global colour palette emission.
12
- *
13
- * A `ColorItem` already holds one resolved value, so emission is a straight
14
- * `--id: value` map (no gradient/solid gating here — that's an authoring-time
15
- * concern). These are the single source of truth for the `:root` block across
16
- * the maker preview, the published `<Page>` (SSR), and template-grid cards.
17
- */
18
- export const paletteToCssVarDeclarations = (colors) => (colors ?? [])
19
- .filter((c) => c && c.id && c.value)
20
- .map((c) => `--${c.id}: ${c.value};`)
21
- .join('\n ');
22
- /** Full `<style>:root{…}</style>` block for `v-html` consumers (Page.vue, maker). */
23
- export const buildPaletteRootCss = (colors) => {
24
- const declarations = paletteToCssVarDeclarations(colors);
25
- return declarations
26
- ? `<style>
27
- :root {
28
- ${declarations}
29
- }
30
- </style>`
31
- : '';
32
- };
33
- /** `{ '--id': 'value' }` for scoped inline `:style` consumers (template grid). */
34
- export const buildPaletteVarStyle = (colors) => Object.fromEntries((colors ?? [])
35
- .filter((c) => c && c.id && c.value)
36
- .map((c) => [`--${c.id}`, c.value]));
37
9
  /**
38
10
  * Simple utility to convert any color format to hex for consistent comparison
39
11
  */
@@ -87,13 +59,6 @@ export const getColorValueForCorrectCssProperty = (k, colorData) => {
87
59
  : colorData.rgb;
88
60
  };
89
61
  export const colorMatchCssKeyValue = (cssKey, cssValue, logoTheme, applyColorWithMatchingLuminance) => {
90
- // BP-5886: never bake a palette reference. Once a value is a `var(--id)` (from
91
- // migration-20) it is resolved by the emitted :root block — the legacy logo
92
- // theme bake must leave it untouched (the substring match below would otherwise
93
- // rewrite `var(--logo-text-color)` back to rgb).
94
- if (isColorVarReference(cssValue)) {
95
- return { cssValue, isModified: false };
96
- }
97
62
  if (applyColorWithMatchingLuminance?.originalColor) {
98
63
  let themeToApply;
99
64
  if (cssValue === STYLE_THEME_KEYS.LogoTextMultiColor) {
@@ -351,14 +316,6 @@ export const applyLogoThemeToBrandPageStyles = (logoTheme, pageStyles) => {
351
316
  let isModified = false;
352
317
  const newStyle = new PageStyles();
353
318
  for (const [key, value] of Object.entries(pageStyles)) {
354
- // BP-5886: `colors` is the global palette (ColorItem[]), not an element
355
- // style — preserve it verbatim. The logo-theme bake must never walk/rewrite
356
- // the palette (the generic array branch below would collapse it to a single
357
- // element and break every downstream `colors.map`).
358
- if (key === 'colors') {
359
- newStyle.colors = value;
360
- continue;
361
- }
362
319
  if (Array.isArray(value)) {
363
320
  for (let i = 0; i < value.length; i++) {
364
321
  const output = applyLogoThemeToBrandPageStyleRecursive(logoTheme, `pageStyles`, value[i]);
@@ -30,29 +30,6 @@ const applyDefaultViewModelTextStyle = (textStyle) => {
30
30
  wordBreak: 'normal',
31
31
  });
32
32
  };
33
- /**
34
- * BP-5886 colour-strategies Phase 1 — **`color` cascades; typography does not.**
35
- *
36
- * A global text style (`textStyleOptions[type]`) is a *default* for colour: the
37
- * element's own `color` wins and only falls back to the global style's. Every
38
- * other property still comes from the global style wholesale (see each caller) —
39
- * that all-or-nothing behaviour is deliberately unchanged for now. Do not
40
- * "fix" the inconsistency by reverting this; the resolution is to make every
41
- * property cascade (see the plan's Follow-on).
42
- *
43
- * Before this, all four resolvers replaced the element's style with the global
44
- * one and dropped `color` entirely, which made writing `color` onto a text
45
- * element a silent no-op on render — the reason colour strategies could not
46
- * touch text.
47
- *
48
- * The **site-wide default** (`textStyles.style.color`) is deliberately NOT in
49
- * this chain: it reaches the text by CSS inheritance from the root element
50
- * (`Page.mixin.ts` → `rootElementStyles`), exactly as it does today. So
51
- * `undefined` here is a valid result meaning "inherit", and the mappers must not
52
- * pre-seed the site default into an element style (that would read as an element
53
- * override and beat the global text style).
54
- */
55
- const resolveTextColor = (elementStyle, globalStyle) => elementStyle?.color || globalStyle?.color;
56
33
  const getTextStyleByContentTextStyle = (contentTextStyle, textStyleOptions) => {
57
34
  if (!contentTextStyle) {
58
35
  return undefined;
@@ -60,8 +37,8 @@ const getTextStyleByContentTextStyle = (contentTextStyle, textStyleOptions) => {
60
37
  if (contentTextStyle.textStyleType) {
61
38
  const textStyle = textStyleOptions[contentTextStyle.textStyleType].style;
62
39
  return Object.assign({}, textStyle, {
63
- // Links keep a concrete last resort — they must never inherit.
64
- color: resolveTextColor(contentTextStyle, textStyle) ||
40
+ color: textStyle.color ||
41
+ contentTextStyle.color ||
65
42
  FALLBACK_DEFAULT_LINK_COLOR,
66
43
  fontWeight: textStyle.fontWeight || undefined,
67
44
  fontStyle: textStyle.fontStyle || undefined,
@@ -80,7 +57,6 @@ const getCopyrightTextStyle = (contentTextStyle, textStyleOptions) => {
80
57
  return applyDefaultViewModelTextStyle(Object.assign({}, textStyleOption, {
81
58
  applyAutoScale: contentTextStyle.applyAutoScale,
82
59
  textAlign: contentTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
83
- color: resolveTextColor(contentTextStyle, textStyleOption),
84
60
  }));
85
61
  }
86
62
  }
@@ -95,7 +71,6 @@ const getTextStyleByContentTextStyleProperty = (content, contentPropKey, textSty
95
71
  applyAutoScale: contentTextStyle.applyAutoScale,
96
72
  textAlign: contentTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
97
73
  textStyleType: contentTextStyle.textStyleType,
98
- color: resolveTextColor(contentTextStyle, textStyleOption.style),
99
74
  }));
100
75
  }
101
76
  }
@@ -119,7 +94,6 @@ const applyViewModelTextItemTextStyles = (textItems, styles) => {
119
94
  applyAutoScale: itemTextStyle.applyAutoScale,
120
95
  textAlign: itemTextStyle.textAlign || DEFAULT_TEXT_ALIGN,
121
96
  textStyleType: itemTextStyle.textStyleType || undefined,
122
- color: resolveTextColor(itemTextStyle, textStyleOption?.style),
123
97
  };
124
98
  }
125
99
  return {
@@ -579,15 +553,22 @@ const mapToTestimonialSectionViewModel = (content, styles) => {
579
553
  ...content,
580
554
  role: content.type,
581
555
  type: 'testimonial-section',
582
- // BP-5886 Phase 1: no `color` pre-seed here. These four are all
583
- // CONTENT_TEXT_STYLE_PROPERTY_KEYS, so `applyViewModelTextStyles` resolves
584
- // them — and seeding the site-wide default would read as an element
585
- // override in `resolveTextColor`, beating the global text style. The site
586
- // default still reaches them by root-element CSS inheritance.
587
- titleStyle: { ...content.titleStyle },
588
- nameStyle: { ...content.nameStyle },
589
- positionStyle: { ...content.positionStyle },
590
- testimonialStyle: { ...content.testimonialStyle },
556
+ titleStyle: {
557
+ color: styles.textStyles.style.color,
558
+ ...content.titleStyle,
559
+ },
560
+ nameStyle: {
561
+ color: styles.textStyles.style.color,
562
+ ...content.nameStyle,
563
+ },
564
+ positionStyle: {
565
+ color: styles.textStyles.style.color,
566
+ ...content.positionStyle,
567
+ },
568
+ testimonialStyle: {
569
+ color: styles.textStyles.style.color,
570
+ ...content.testimonialStyle,
571
+ },
591
572
  isFullWidth: true,
592
573
  }, styles);
593
574
  };
@@ -596,12 +577,10 @@ const mapToSocialLinksViewModel = (content, styles, brandPageType) => {
596
577
  ...content,
597
578
  role: content.type,
598
579
  type: 'social-links',
599
- // BP-5886 Phase 1: `titleStyle` loses its `color` pre-seed (see the
600
- // testimonial mapper). `iconFillStyles` KEEPS its seed — it is not a
601
- // CONTENT_TEXT_STYLE_PROPERTY_KEYS entry, so no resolver ever touches it
602
- // and this is the only thing supplying the icon colour. It is also a
603
- // `fill`, not a `color`, so `resolveTextColor` does not apply.
604
- titleStyle: { ...content.titleStyle },
580
+ titleStyle: {
581
+ color: styles.textStyles.style.color,
582
+ ...content.titleStyle,
583
+ },
605
584
  iconFillStyles: {
606
585
  fill: styles.textStyles?.style.color,
607
586
  ...content.iconFillStyles,
@@ -670,7 +649,6 @@ export const mapToPageStyleViewModel = (pageStyles, options) => {
670
649
  logoStyles: pageStyles.logoStyles,
671
650
  textStyles: pageStyles.textStyles,
672
651
  galleryStyles: pageStyles.galleryStyles,
673
- colors: pageStyles.colors ?? [],
674
652
  };
675
653
  };
676
654
  export const mapToPageHeaderViewModel = (pageHeader, pageStyles, pages, useOldLogoRenderSize = false) => {