@designcrowd/library.brand-page 6.2.16 → 6.2.17-header-logo-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 (730) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-B_-PPZBi.js → CreatedOnBrandCrowd-de-de-BOI1vWbt.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-BO1Kj3iA.js → CreatedOnBrandCrowd-en-us-Jbe9uKyr.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BoDJWRn2.js → CreatedOnBrandCrowd-es-es-Dz2jBuJE.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DUJZmdAy.js → CreatedOnBrandCrowd-fr-ca-Cm1BpEvu.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DUJZmdAy.js → CreatedOnBrandCrowd-fr-fr-Cm1BpEvu.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-pIlAG13E.js → CreatedOnBrandCrowd-pt-br-CN9vyvDE.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-pIlAG13E.js → CreatedOnBrandCrowd-pt-pt-CN9vyvDE.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-BNJtDtvi.js → CreatedOnDcom-de-de-BajY3tSa.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-uL6WU_1S.js → CreatedOnDcom-en-us-BxEXoQ81.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DGZQISoF.js → CreatedOnDcom-es-es-DznU1_dJ.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-CvYWKqNh.js → CreatedOnDcom-fr-ca-i-_eVdFp.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CpohVgCR.js → CreatedOnDcom-fr-fr-2AuegXtF.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CaKS-48n.js → CreatedOnDcom-pt-br-B1Uh30JW.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-D4g-iecQ.js → CreatedOnDcom-pt-pt-CtJ-Ax2w.js} +1 -1
  15. package/lib/src/about-ClPbbvEP.js +13 -0
  16. package/lib/src/add-page-BG8HrWd6.js +13 -0
  17. package/lib/src/ai-BC9-shMV.js +13 -0
  18. package/lib/src/align-center-DmTZgbR6.js +14 -0
  19. package/lib/src/align-justify-DtjgYa_R.js +14 -0
  20. package/lib/src/align-left-y8c8S6kK.js +14 -0
  21. package/lib/src/align-right-CF5cjUm5.js +14 -0
  22. package/lib/src/animate-Dza5yUux.js +14 -0
  23. package/lib/src/annotate-heart-fAnAVl9h.js +14 -0
  24. package/lib/src/arrow-down-C9WFeIPW.js +13 -0
  25. package/lib/src/arrow-left-Do7NUZSU.js +14 -0
  26. package/lib/src/arrow-right-QUcZg8m9.js +14 -0
  27. package/lib/src/arrow-top-right-DEiQzge_.js +13 -0
  28. package/lib/src/arrow-up-DKq0CXS7.js +14 -0
  29. package/lib/src/arrow-up-underline-FrAMFh20.js +14 -0
  30. package/lib/src/attach-CbIEV2iB.js +13 -0
  31. package/lib/src/auth-facebook-C8Uc_vyG.js +16 -0
  32. package/lib/src/auth-facebook-white-CUC_80AY.js +24 -0
  33. package/lib/src/auth-google-MNBcZcM4.js +16 -0
  34. package/lib/src/award-BBOTZiFo.js +14 -0
  35. package/lib/src/background-FoMxgtMT.js +14 -0
  36. package/lib/src/badge-Lf6nSNsI.js +15 -0
  37. package/lib/src/ban-BDZp09m4.js +10 -0
  38. package/lib/src/banner-BknAsxzR.js +14 -0
  39. package/lib/src/banner-centered-6kWp2Seu.js +28 -0
  40. package/lib/src/banner-left-CIjB0pBU.js +28 -0
  41. package/lib/src/bar-BG_z21fP.js +31 -0
  42. package/lib/src/bc-mast-BwMW-7kD.js +14 -0
  43. package/lib/src/bezier-curve-BrWXFsTe.js +14 -0
  44. package/lib/src/bezier-curve-outline-G3QC1LUn.js +14 -0
  45. package/lib/src/bold-DPo-2It8.js +14 -0
  46. package/lib/src/brand-page/components/page/Page.mixin.d.ts +0 -8
  47. package/lib/src/brand-page/components/page/Page.mixin.js +5 -85
  48. package/lib/src/brand-page/components/page-header/HeaderLayout.stories.js +0 -1
  49. package/lib/src/brand-page/components/page-header/PageHeader.mixin.d.ts +3 -3
  50. package/lib/src/brand-page/components/page-header/PageHeader.mixin.js +18 -7
  51. package/lib/src/brand-page/constants/misc.constants.d.ts +7 -0
  52. package/lib/src/brand-page/constants/misc.constants.js +7 -0
  53. package/lib/src/brand-page/constants/sections/header-display.constants.d.ts +1 -0
  54. package/lib/src/brand-page/constants/sections/header-display.constants.js +8 -0
  55. package/lib/src/brand-page/constants/styles.constants.d.ts +2 -0
  56. package/lib/src/brand-page/constants/styles.constants.js +2 -0
  57. package/lib/src/brand-page/models/content.model.d.ts +1 -0
  58. package/lib/src/brand-page/models/content.model.js +1 -0
  59. package/lib/src/brand-page/models/index.d.ts +28 -0
  60. package/lib/src/brand-page/models/index.js +4 -0
  61. package/lib/src/brand-page/models/navigation-styles.model.d.ts +0 -1
  62. package/lib/src/brand-page/models/navigation-styles.model.js +5 -2
  63. package/lib/src/brand-page/utils/container-text-color.util.js +12 -0
  64. package/lib/src/brand-page/utils/content-callback-util.d.ts +2 -1
  65. package/lib/src/brand-page/utils/content-callback-util.js +3 -0
  66. package/lib/src/brand-page/utils/logo.util.d.ts +2 -11
  67. package/lib/src/brand-page/utils/logo.util.js +18 -23
  68. package/lib/src/brand-page/utils/migration/migration-01.js +3 -2
  69. package/lib/src/brand-page/utils/migration/migration-23.d.ts +9 -0
  70. package/lib/src/brand-page/utils/migration/migration-23.js +141 -0
  71. package/lib/src/brand-page/utils/migration.util.d.ts +3 -0
  72. package/lib/src/brand-page/utils/migration.util.js +9 -0
  73. package/lib/src/brand-page/utils/model.util.js +5 -1
  74. package/lib/src/brand-page/utils/view-model.util.js +27 -8
  75. package/lib/src/brand-page/view-models.d.ts +5 -2
  76. package/lib/src/brand-page-maker/assessors/faq-accordion-color-field-visibility.assessor.d.ts +3 -0
  77. package/lib/src/brand-page-maker/assessors/faq-accordion-color-field-visibility.assessor.js +4 -0
  78. package/lib/src/brand-page-maker/assessors/index.d.ts +1 -0
  79. package/lib/src/brand-page-maker/assessors/index.js +1 -0
  80. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.d.ts +0 -30
  81. package/lib/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.js +0 -14
  82. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -0
  83. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +5 -68
  84. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -6
  85. package/lib/src/brand-page-maker/components/navigation/Navigation.mixin.d.ts +1 -1
  86. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +2 -0
  87. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +5 -0
  88. package/lib/src/brand-page-maker/composables/useEventTracker.js +5 -0
  89. package/lib/src/brand-page-maker/constants/config-settings-constant.d.ts +2 -1
  90. package/lib/src/brand-page-maker/constants/config-settings-constant.js +116 -4
  91. package/lib/src/brand-page-maker/constants/personalisation.constant.d.ts +2 -2
  92. package/lib/src/brand-page-maker/constants/personalisation.constant.js +3 -2
  93. package/lib/src/brand-page-maker/convertors/faq-display-style.convertor.d.ts +3 -0
  94. package/lib/src/brand-page-maker/convertors/faq-display-style.convertor.js +49 -0
  95. package/lib/src/brand-page-maker/models/content-settings-configs.d.ts +1 -0
  96. package/lib/src/brand-page-maker/models/content-settings-configs.js +1 -0
  97. package/lib/src/brand-page-maker/models/content-settings.d.ts +2 -1
  98. package/lib/src/brand-page-maker/models/content-settings.js +46 -1
  99. package/lib/src/brand-page-maker/models/navigation-style-configs.js +0 -7
  100. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.d.ts +0 -1
  101. package/lib/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.js +0 -29
  102. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +869 -113
  103. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +6 -5
  104. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +9 -13
  105. package/lib/src/brand-page-maker/utils/apply-color-strategy.js +41 -17
  106. package/lib/src/brand-page-maker/utils/rte-authoring.util.js +9 -1
  107. package/lib/src/brand-page-maker/validators/field.validator.js +2 -0
  108. package/lib/src/briefcase-C7QRlfVj.js +14 -0
  109. package/lib/src/browser-C4Fsu9Rp.js +14 -0
  110. package/lib/src/brush-CxvXKzhS.js +13 -0
  111. package/lib/src/building-BYKxplMv.js +10 -0
  112. package/lib/src/bulb-ejC9jV8k.js +14 -0
  113. package/lib/src/{bundled-translations-yGrvPE5i.js → bundled-translations-k_KKJCnS.js} +15 -15
  114. package/lib/src/{bundled-translations.de-DE-L4Znf8Hs.js → bundled-translations.de-DE-NMDaaBnp.js} +38 -38
  115. package/lib/src/{bundled-translations.es-ES-D6iticrK.js → bundled-translations.es-ES-CwkmEZam.js} +21 -21
  116. package/lib/src/{bundled-translations.fr-CA-BgAVE-9k.js → bundled-translations.fr-CA-BndgRIav.js} +33 -33
  117. package/lib/src/{bundled-translations.fr-FR-B8GbyqxQ.js → bundled-translations.fr-FR-Djo92wzG.js} +9 -9
  118. package/lib/src/{bundled-translations.pt-BR-DjPU3Db7.js → bundled-translations.pt-BR-Ce49ABPX.js} +19 -19
  119. package/lib/src/{bundled-translations.pt-PT-BaepaDpr.js → bundled-translations.pt-PT-CQlSVyFK.js} +39 -39
  120. package/lib/src/bundles/bundled-translations.de-DE.json +9 -2
  121. package/lib/src/bundles/bundled-translations.es-ES.json +9 -2
  122. package/lib/src/bundles/bundled-translations.fr-CA.json +9 -2
  123. package/lib/src/bundles/bundled-translations.fr-FR.json +9 -2
  124. package/lib/src/bundles/bundled-translations.json +10 -2
  125. package/lib/src/bundles/bundled-translations.pt-BR.json +9 -2
  126. package/lib/src/bundles/bundled-translations.pt-PT.json +9 -2
  127. package/lib/src/business-Bb8SY_4t.js +13 -0
  128. package/lib/src/business-card-filled-CvgmlFmT.js +10 -0
  129. package/lib/src/button-BFsYcRhD.js +15 -0
  130. package/lib/src/button-arrow-BJx7gSqA.js +19 -0
  131. package/lib/src/button-arrow-left-DH4AWq7r.js +19 -0
  132. package/lib/src/button-arrow-right-BCiUB6QH.js +19 -0
  133. package/lib/src/button-brushstroke-CA1mQBL6.js +21 -0
  134. package/lib/src/button-brushstroke-left-DAkJfXp6.js +14 -0
  135. package/lib/src/button-brushstroke-right-DfpxRjrR.js +14 -0
  136. package/lib/src/button-dashed-oval-D845tDes.js +25 -0
  137. package/lib/src/button-dashed-rectangle-BaNMJI6n.js +24 -0
  138. package/lib/src/button-dashed-rounded-D8dGILRK.js +25 -0
  139. package/lib/src/button-doubleline-oval-Dc_s_7EH.js +23 -0
  140. package/lib/src/button-doubleline-rectangle-CqF3C2lU.js +29 -0
  141. package/lib/src/button-doubleline-rounded-CYgA2cdT.js +23 -0
  142. package/lib/src/button-justified-BvDf6Pbt.js +33 -0
  143. package/lib/src/button-paper-DFL_w8i5.js +16 -0
  144. package/lib/src/button-paper-bottom-Cp-RylrX.js +12 -0
  145. package/lib/src/button-paper-top-np44rCsN.js +12 -0
  146. package/lib/src/button-softshadow-oval-BXo8fPgP.js +16 -0
  147. package/lib/src/button-softshadow-rectangle-BRrS4zyV.js +16 -0
  148. package/lib/src/button-softshadow-rounded-CK-QXrTn.js +16 -0
  149. package/lib/src/calculator-CTna5RqL.js +10 -0
  150. package/lib/src/calendar-CE15qaV1.js +10 -0
  151. package/lib/src/callout-error-D7YM8n0x.js +13 -0
  152. package/lib/src/callout-info-D7Xx1xjG.js +13 -0
  153. package/lib/src/callout-success-DICEVZAa.js +13 -0
  154. package/lib/src/callout-warning-BU5vtEfM.js +13 -0
  155. package/lib/src/cap-wwLcOxPS.js +27 -0
  156. package/lib/src/card-ONdGPsCh.js +19 -0
  157. package/lib/src/card-vertical-DlQSWLzg.js +14 -0
  158. package/lib/src/cart-empty-Nrixgx0R.js +16 -0
  159. package/lib/src/chart-CR_OxcOP.js +12 -0
  160. package/lib/src/chart-bar-7kB4RLvL.js +16 -0
  161. package/lib/src/chart-column-t56f9V2P.js +16 -0
  162. package/lib/src/chart-line-CCnCNxWd.js +14 -0
  163. package/lib/src/chart-pie-C1g_-Vkn.js +14 -0
  164. package/lib/src/check-CtYH_ouU.js +13 -0
  165. package/lib/src/check-circle-light-CIJpBwsF.js +14 -0
  166. package/lib/src/check-rounded-bLPfQlOf.js +14 -0
  167. package/lib/src/check-thin-B-CckFUs.js +14 -0
  168. package/lib/src/chevron-down-C4YXkyjj.js +14 -0
  169. package/lib/src/chevron-left-Dcj9aO1z.js +14 -0
  170. package/lib/src/chevron-right-htnITdyw.js +13 -0
  171. package/lib/src/chevron-right-wide-D9W9tRvo.js +10 -0
  172. package/lib/src/chevron-up-CTimP0W7.js +14 -0
  173. package/lib/src/clipboard-check-ChrOM2YN.js +14 -0
  174. package/lib/src/clock-DiL7VZIH.js +10 -0
  175. package/lib/src/close-DIzhn1GP.js +13 -0
  176. package/lib/src/coins-sparkle-OPx3ecC6.js +21 -0
  177. package/lib/src/column-1-CjKJ1AxO.js +23 -0
  178. package/lib/src/column-2-BtVQwHmz.js +29 -0
  179. package/lib/src/column-3-C5HbER1B.js +35 -0
  180. package/lib/src/column-4-D78b2Ua0.js +41 -0
  181. package/lib/src/community-Dqkcz-_P.js +10 -0
  182. package/lib/src/contact-message-BxTj9hos.js +13 -0
  183. package/lib/src/content-DkCXjW6X.js +14 -0
  184. package/lib/src/copy-D4fvhZV9.js +13 -0
  185. package/lib/src/crop-CoDLQLHd.js +13 -0
  186. package/lib/src/crown-BRoPrP-q.js +13 -0
  187. package/lib/src/crown-alt-CujHnvIM.js +10 -0
  188. package/lib/src/css/library.brand-page-brandCrowd.min.css +642 -450
  189. package/lib/src/css/library.brand-page-brandPage.min.css +643 -451
  190. package/lib/src/css/library.brand-page-designCom.min.css +642 -450
  191. package/lib/src/css/library.brand-page-preview.min.css +642 -450
  192. package/lib/src/custom-landscape-Bdgi1FoV.js +10 -0
  193. package/lib/src/delete-C-e_Qs44.js +13 -0
  194. package/lib/src/designs-BfNTmvUa.js +13 -0
  195. package/lib/src/desktop-hamburger-display-style-1-DwFJnRU8.js +31 -0
  196. package/lib/src/desktop-hamburger-display-style-2-dnc1s6ZD.js +31 -0
  197. package/lib/src/desktop-hamburger-display-style-with-button-1-Bxt77Z0-.js +16 -0
  198. package/lib/src/desktop-hamburger-display-style-with-button-2-DcLsiFmg.js +16 -0
  199. package/lib/src/desktop-tab-display-style-1-K4eUbUQc.js +31 -0
  200. package/lib/src/desktop-tab-display-style-2-DyIWoibZ.js +31 -0
  201. package/lib/src/desktop-tab-display-style-3-C5zYi9L-.js +27 -0
  202. package/lib/src/desktop-tab-display-style-4-IBVxAP6N.js +27 -0
  203. package/lib/src/desktop-tab-display-style-5-D6HYfiSA.js +31 -0
  204. package/lib/src/desktop-tab-display-style-6-CL-F2q6q.js +31 -0
  205. package/lib/src/desktop-tab-display-style-7-CAiqt3kJ.js +35 -0
  206. package/lib/src/desktop-tab-display-style-8-D2vHv7DX.js +31 -0
  207. package/lib/src/desktop-tab-display-style-with-button-1-Bz7fzcJd.js +35 -0
  208. package/lib/src/desktop-tab-display-style-with-button-2-eK4g0CtT.js +35 -0
  209. package/lib/src/desktop-tab-display-style-with-button-3-CFiX98ZH.js +35 -0
  210. package/lib/src/desktop-tab-display-style-with-button-4-DRBCVqdy.js +31 -0
  211. package/lib/src/desktop-tab-display-style-with-button-5-V6Dy6Kqr.js +16 -0
  212. package/lib/src/desktop-tab-display-style-with-button-6-CNg8lc48.js +16 -0
  213. package/lib/src/desktop-u69TVb5p.js +14 -0
  214. package/lib/src/diamond-w78TmD0h.js +14 -0
  215. package/lib/src/digital-business-card-filled-Demt1U8P.js +33 -0
  216. package/lib/src/display-style-1-BEu6CFUT.js +16 -0
  217. package/lib/src/display-style-1-Br29nU9V.js +31 -0
  218. package/lib/src/display-style-1-CnD7K-3Z.js +39 -0
  219. package/lib/src/display-style-2-8adBygQv.js +27 -0
  220. package/lib/src/display-style-2-C2mXt6qc.js +31 -0
  221. package/lib/src/display-style-2-DN4NykmH.js +16 -0
  222. package/lib/src/display-style-3-DDbu9GXv.js +31 -0
  223. package/lib/src/display-style-4-Dn2Op2-r.js +31 -0
  224. package/lib/src/display-style-about-1-3NI-IPV2.js +31 -0
  225. package/lib/src/display-style-about-2-bs-qb4kv.js +31 -0
  226. package/lib/src/display-style-about-3-BR-0sYYQ.js +31 -0
  227. package/lib/src/display-style-about-4-DD6zb0dc.js +16 -0
  228. package/lib/src/display-style-about-5-C86_L-fC.js +15 -0
  229. package/lib/src/display-style-about-6-BOwSe1YY.js +15 -0
  230. package/lib/src/display-style-banner-1-D0neiIKT.js +31 -0
  231. package/lib/src/display-style-banner-10-ACr-5zT1.js +31 -0
  232. package/lib/src/display-style-banner-11-D00gvWkN.js +31 -0
  233. package/lib/src/display-style-banner-12-9k_yNQBW.js +31 -0
  234. package/lib/src/display-style-banner-13-B_i8Ju4N.js +32 -0
  235. package/lib/src/display-style-banner-14-CpvQCpos.js +33 -0
  236. package/lib/src/display-style-banner-15-D8MD7sJG.js +33 -0
  237. package/lib/src/display-style-banner-2-BXuh9-AX.js +31 -0
  238. package/lib/src/display-style-banner-3-BsraiGBx.js +31 -0
  239. package/lib/src/display-style-banner-4-d91-Nxci.js +31 -0
  240. package/lib/src/display-style-banner-5-CBTCuJ55.js +31 -0
  241. package/lib/src/display-style-banner-6-DSAJJlaY.js +16 -0
  242. package/lib/src/display-style-banner-7-DzySW9Xy.js +16 -0
  243. package/lib/src/display-style-banner-8-B_cgq18m.js +31 -0
  244. package/lib/src/display-style-banner-9-t-pO6Jg4.js +31 -0
  245. package/lib/src/display-style-contact-1-B-AsF6my.js +16 -0
  246. package/lib/src/display-style-contact-2-DMfhyyt9.js +16 -0
  247. package/lib/src/display-style-contact-4-BJPk2Pbd.js +16 -0
  248. package/lib/src/display-style-contact-5-BAe-BYp8.js +16 -0
  249. package/lib/src/display-style-contact-6-CFauYgFb.js +16 -0
  250. package/lib/src/display-style-faq-1-BgT0eVND.js +16 -0
  251. package/lib/src/display-style-faq-2-BbER-sTX.js +16 -0
  252. package/lib/src/display-style-faq-3-D5yHpdug.js +16 -0
  253. package/lib/src/display-style-images-1-Bwf6ugpH.js +16 -0
  254. package/lib/src/display-style-images-2-SMGCL64f.js +16 -0
  255. package/lib/src/display-style-images-3-CnsgndWT.js +16 -0
  256. package/lib/src/display-style-images-4-ZA8JRP0Z.js +27 -0
  257. package/lib/src/display-style-images-5-C8u8Febf.js +16 -0
  258. package/lib/src/display-style-images-6-BVHykxa0.js +16 -0
  259. package/lib/src/divider-CR165RhP.js +14 -0
  260. package/lib/src/divider-thick-RshAbykX.js +23 -0
  261. package/lib/src/divider-thin-PizIMmao.js +23 -0
  262. package/lib/src/donate-DbZOJZnW.js +13 -0
  263. package/lib/src/download-ujggIjZY.js +14 -0
  264. package/lib/src/duplicate-Bhw4wrh1.js +13 -0
  265. package/lib/src/edit-BXYfQeCz.js +13 -0
  266. package/lib/src/edit-line-CYDRKzj9.js +16 -0
  267. package/lib/src/ellipsis-C2pBUY6z.js +13 -0
  268. package/lib/src/email-DaIH2ZUY.js +10 -0
  269. package/lib/src/email-symbol-SrN2dmcA.js +10 -0
  270. package/lib/src/envelope-email-BgdGi32i.js +16 -0
  271. package/lib/src/eraser-Cl4jOZ57.js +10 -0
  272. package/lib/src/error-Bqd4-C8y.js +13 -0
  273. package/lib/src/etsy-DV4EID0w.js +10 -0
  274. package/lib/src/external-link-DbomUDs5.js +10 -0
  275. package/lib/src/eye-crossed-1CvXFS6f.js +14 -0
  276. package/lib/src/eye-open-CNrGpXVz.js +24 -0
  277. package/lib/src/facebook-nXogbPGh.js +10 -0
  278. package/lib/src/favicon-BiVHU_d2.js +14 -0
  279. package/lib/src/fees-s1pYEj21.js +13 -0
  280. package/lib/src/file-box-DE8tkDVZ.js +13 -0
  281. package/lib/src/file-empty-D9NIKisK.js +14 -0
  282. package/lib/src/file-xz_a3HRC.js +14 -0
  283. package/lib/src/filter-BGGlmF74.js +14 -0
  284. package/lib/src/filter-BaHyfH4_.js +13 -0
  285. package/lib/src/filters-C9AT7gv9.js +13 -0
  286. package/lib/src/flag-CC_ibmfv.js +16 -0
  287. package/lib/src/flip-horizontal-CTBNXrTn.js +14 -0
  288. package/lib/src/flip-vertical-CDTrW306.js +14 -0
  289. package/lib/src/flyer-GZKJlWPk.js +14 -0
  290. package/lib/src/folder-BQ5gFVJm.js +13 -0
  291. package/lib/src/font-BOv93oqt.js +14 -0
  292. package/lib/src/footer-centered-Da9U18UX.js +35 -0
  293. package/lib/src/footer-left-Bnc_KqHz.js +35 -0
  294. package/lib/src/form-CmQAxidA.js +10 -0
  295. package/lib/src/form-message-C3SI_2VM.js +13 -0
  296. package/lib/src/fullscreen-BOwEZwBD.js +10 -0
  297. package/lib/src/fullscreen-exit-DGBOSH37.js +10 -0
  298. package/lib/src/gift-certificate-B6veGMIK.js +10 -0
  299. package/lib/src/globe-Bs2G5dbf.js +13 -0
  300. package/lib/src/globe-DFW8ogme.js +10 -0
  301. package/lib/src/globe-DdC9Dv-2.js +13 -0
  302. package/lib/src/group-DWmqRz8f.js +13 -0
  303. package/lib/src/hamburger-1-DmiITW7Y.js +17 -0
  304. package/lib/src/hamburger-2-QoMuoBxt.js +19 -0
  305. package/lib/src/hamburger-3-C07bJr3J.js +19 -0
  306. package/lib/src/hamburger-4-CVkY4au6.js +15 -0
  307. package/lib/src/hamburger-P-mY7VWK.js +19 -0
  308. package/lib/src/hamburger-display-style-no-logo-1-BSx4mtP5.js +27 -0
  309. package/lib/src/hamburger-display-style-no-logo-2-2B-GKQSU.js +27 -0
  310. package/lib/src/hamburger-display-style-no-logo-3-BXjPCwp8.js +27 -0
  311. package/lib/src/hamburger-x-dJBitX.js +31 -0
  312. package/lib/src/headphones-DDES6g0E.js +14 -0
  313. package/lib/src/heart-vRuF6Yno.js +14 -0
  314. package/lib/src/history-MCn9bdw-.js +41 -0
  315. package/lib/src/home-4gvv43pI.js +14 -0
  316. package/lib/src/home-C9Cc12KI.js +13 -0
  317. package/lib/src/home-outline-JeCQ_wqW.js +13 -0
  318. package/lib/src/icon-style-circle-bg-Bzmc4Mch.js +29 -0
  319. package/lib/src/icon-style-no-bg-VXDwahry.js +23 -0
  320. package/lib/src/icon-style-square-bg-CZI06D4R.js +29 -0
  321. package/lib/src/image-CDTu9td1.js +14 -0
  322. package/lib/src/image-DuHk1UkA.js +14 -0
  323. package/lib/src/image-gallery-carousel-sKibIp-z.js +22 -0
  324. package/lib/src/image-gallery-grid-DdzJGRWt.js +32 -0
  325. package/lib/src/image-gallery-masonry-Dq6IhBk5.js +26 -0
  326. package/lib/src/images-BD2b-GBv.js +14 -0
  327. package/lib/src/images-gallery-BlCSvhby.js +10 -0
  328. package/lib/src/index.d.ts +1 -1
  329. package/lib/src/index.mjs +171 -169
  330. package/lib/src/info-BMNzJhor.js +21 -0
  331. package/lib/src/infographics-CZ3Q1Exz.js +10 -0
  332. package/lib/src/instagram-nQQP0qcP.js +14 -0
  333. package/lib/src/invitation--3-xxz-7.js +10 -0
  334. package/lib/src/invoice-B3sw08vw.js +10 -0
  335. package/lib/src/italic-ePE1MCwa.js +14 -0
  336. package/lib/src/jobs-xzSei3ed.js +13 -0
  337. package/lib/src/layer-CCXYT1kV.js +13 -0
  338. package/lib/src/layer-bring-front-B8ggiwVa.js +13 -0
  339. package/lib/src/layer-send-back-NKtHI7eU.js +13 -0
  340. package/lib/src/layout-BYNrJ08n.js +10 -0
  341. package/lib/src/layout-icon-bottom-normal-text-center-normal-CWxX2Atx.js +35 -0
  342. package/lib/src/layout-icon-bottom-normal-text-center-small-DPmc6hDg.js +35 -0
  343. package/lib/src/layout-icon-bottom-small-text-center-normal-Cdtz9Wws.js +35 -0
  344. package/lib/src/layout-icon-center-normal-curved-text-bottom-CNsT1cwk.js +33 -0
  345. package/lib/src/layout-icon-center-normal-curved-text-circle-CfQ_ff9J.js +26 -0
  346. package/lib/src/layout-icon-center-normal-curved-text-top-BvizyC0f.js +33 -0
  347. package/lib/src/layout-icon-left-normal-text-center-normal-BjEh5GiP.js +35 -0
  348. package/lib/src/layout-icon-left-normal-text-justify-normal-Do6osf9Q.js +35 -0
  349. package/lib/src/layout-icon-left-normal-text-left-normal-B2D9-klC.js +35 -0
  350. package/lib/src/layout-icon-left-small-text-left-normal-3TZaP_AQ.js +35 -0
  351. package/lib/src/layout-icon-right-normal-text-center-normal-b3DVzXQr.js +35 -0
  352. package/lib/src/layout-icon-right-normal-text-justify-normal-DjzdGyVE.js +35 -0
  353. package/lib/src/layout-icon-right-normal-text-right-normal-8RPlsv0g.js +35 -0
  354. package/lib/src/layout-icon-right-small-text-right-normal-C6Lxmafr.js +35 -0
  355. package/lib/src/layout-icon-top-normal-text-center-normal-BPzGcL34.js +35 -0
  356. package/lib/src/layout-icon-top-normal-text-center-small-CiL6UapF.js +35 -0
  357. package/lib/src/layout-icon-top-normal-text-justify-normal-BdxKFlxz.js +35 -0
  358. package/lib/src/layout-icon-top-small-text-center-normal-CQEFgRGz.js +35 -0
  359. package/lib/src/letterhead-filled-D242ZmCV.js +10 -0
  360. package/lib/src/{lib-DwDFHSzX.js → lib-3Hnr9X6L.js} +44894 -50406
  361. package/lib/src/lib.js +1 -1
  362. package/lib/src/lightning-0DBN7brQ.js +14 -0
  363. package/lib/src/link-ASbs22iV.js +13 -0
  364. package/lib/src/link-f9Rqjgzs.js +14 -0
  365. package/lib/src/link-in-bio-filled-7KGQKnFf.js +33 -0
  366. package/lib/src/linkedin-DHZ9GYZR.js +14 -0
  367. package/lib/src/list-bullet-DmLotp-I.js +18 -0
  368. package/lib/src/list-numbered-4yfRS8uf.js +26 -0
  369. package/lib/src/location-CLAVWXlO.js +13 -0
  370. package/lib/src/lock-DeRe5704.js +13 -0
  371. package/lib/src/log-out-BcZt1tYV.js +14 -0
  372. package/lib/src/logo-CbnT5-3_.js +10 -0
  373. package/lib/src/logo-J_17MKVC.js +14 -0
  374. package/lib/src/mac-command-C_mOn-5D.js +15 -0
  375. package/lib/src/map-BYGwUtwG.js +13 -0
  376. package/lib/src/media-CtTU-S2_.js +10 -0
  377. package/lib/src/menu-BOvesjpI.js +10 -0
  378. package/lib/src/message-DpeaWeJO.js +13 -0
  379. package/lib/src/metadata-builder/builders/header-builder.d.ts +1 -0
  380. package/lib/src/metadata-builder/builders/header-builder.js +3 -1
  381. package/lib/src/metadata-builder/builders/section-rules/header.rules.d.ts +2 -1
  382. package/lib/src/metadata-builder/builders/section-rules/header.rules.js +18 -0
  383. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +1 -1
  384. package/lib/src/microphone-bold-DHNW7gHW.js +14 -0
  385. package/lib/src/microphone-oI9aYgUV.js +10 -0
  386. package/lib/src/minus-BnugKxWp.js +13 -0
  387. package/lib/src/minus-circle-light-BpwE33R9.js +14 -0
  388. package/lib/src/mobile-CWUkrrZz.js +10 -0
  389. package/lib/src/mobile-hamburger-display-style-1-CLeSmPUu.js +31 -0
  390. package/lib/src/mobile-hamburger-display-style-2-BT2wdGTM.js +31 -0
  391. package/lib/src/mobile-hamburger-display-style-3-BSfDOb_s.js +31 -0
  392. package/lib/src/mobile-hamburger-display-style-4-CMWaq5HF.js +31 -0
  393. package/lib/src/mobile-tab-display-style-1-BPHy8scy.js +31 -0
  394. package/lib/src/mobile-tab-display-style-2-rD9c_cim.js +31 -0
  395. package/lib/src/mobile-tab-display-style-with-button-1-DhbLIZq0.js +16 -0
  396. package/lib/src/mobile-tab-display-style-with-button-2-D--vnzWw.js +16 -0
  397. package/lib/src/mug-Dlk8rEi1.js +35 -0
  398. package/lib/src/opacity-CyK39FOD.js +13 -0
  399. package/lib/src/other-qYQKGjGx.js +29 -0
  400. package/lib/src/page-blank-Cutm12JP.js +13 -0
  401. package/lib/src/page-buttons-BVG-wqi2.js +18 -0
  402. package/lib/src/page-hamburger-CPzInb3g.js +37 -0
  403. package/lib/src/page-tabs-D6FfcoMT.js +39 -0
  404. package/lib/src/pages-DlRbcQ85.js +13 -0
  405. package/lib/src/paint-brush-D3Pb69Wl.js +10 -0
  406. package/lib/src/palette-4ouQ5VpX.js +14 -0
  407. package/lib/src/palette-outline-DDTfdInB.js +14 -0
  408. package/lib/src/pause-BY99VDWb.js +10 -0
  409. package/lib/src/pause-DidBP71W.js +10 -0
  410. package/lib/src/payment-BNKU6Duo.js +21 -0
  411. package/lib/src/payments-featured-BjAlUQu1.js +27 -0
  412. package/lib/src/payments-textonly-CqIcluCY.js +40 -0
  413. package/lib/src/payments-thumbnail-DhEXGUn-.js +29 -0
  414. package/lib/src/pen-WjD6Z863.js +14 -0
  415. package/lib/src/pen-outline-T-ujuXV9.js +14 -0
  416. package/lib/src/pen-sparkle-DmImSlQQ.js +26 -0
  417. package/lib/src/pen-tool-DcGjZWmF.js +14 -0
  418. package/lib/src/phone-B3Dv_9SX.js +13 -0
  419. package/lib/src/phone-DWXh3QKt.js +10 -0
  420. package/lib/src/pinterest-DUKuH82X.js +10 -0
  421. package/lib/src/play-CwcQ-4x1.js +10 -0
  422. package/lib/src/plus-DHtDsbcg.js +10 -0
  423. package/lib/src/plus-circle-Bhjd4jL5.js +14 -0
  424. package/lib/src/plus-circle-light-B8tUp3Z9.js +15 -0
  425. package/lib/src/plus-light-SrtSL6KT.js +14 -0
  426. package/lib/src/poll-CCpHFKR3.js +10 -0
  427. package/lib/src/portfolio-Cb3y-9ik.js +13 -0
  428. package/lib/src/postcard-ahKB24ZL.js +10 -0
  429. package/lib/src/poster-cBbPKnbr.js +14 -0
  430. package/lib/src/premium-content-BWeZ7Ogy.js +21 -0
  431. package/lib/src/preview-CBc7qQmh.js +13 -0
  432. package/lib/src/printing-CsuTvRzs.js +13 -0
  433. package/lib/src/processing-EcPXndeQ.js +10 -0
  434. package/lib/src/profile-BglPhJwI.js +10 -0
  435. package/lib/src/qrcode-BYoiJ8jq.js +10 -0
  436. package/lib/src/question-alt-D24ac-qg.js +29 -0
  437. package/lib/src/question-circle-filled-CCIGoq2U.js +14 -0
  438. package/lib/src/question-dJfpKnPX.js +21 -0
  439. package/lib/src/quote-Beov5JZG.js +12 -0
  440. package/lib/src/ratio-1-1-Ev1sUTpr.js +15 -0
  441. package/lib/src/ratio-16-9-mGEJdf_O.js +15 -0
  442. package/lib/src/ratio-2-3-B0O8kq4S.js +15 -0
  443. package/lib/src/ratio-3-2-xEZ6hW32.js +15 -0
  444. package/lib/src/ratio-3-4-cB-hCsw5.js +15 -0
  445. package/lib/src/ratio-4-3-BnQw8lJS.js +15 -0
  446. package/lib/src/ratio-9-16-BkCo5E7z.js +15 -0
  447. package/lib/src/ratio-circle-5fVudbEI.js +15 -0
  448. package/lib/src/ratio-original-Df7Cu-Iq.js +23 -0
  449. package/lib/src/redo-BO3BtgjR.js +13 -0
  450. package/lib/src/refresh-CSZ5cbQf.js +13 -0
  451. package/lib/src/reload-BZ-G467N.js +13 -0
  452. package/lib/src/reorderable-D-4Cz8gf.js +10 -0
  453. package/lib/src/request-payment-q1GdUQz3.js +13 -0
  454. package/lib/src/reset-DNJKFu9G.js +13 -0
  455. package/lib/src/resize-C1ym5cFG.js +25 -0
  456. package/lib/src/roller-brush-6Lkh0h57.js +10 -0
  457. package/lib/src/save-0Nq0XX2b.js +13 -0
  458. package/lib/src/search-CcXdiSZK.js +14 -0
  459. package/lib/src/secure-DQoaN8iR.js +14 -0
  460. package/lib/src/select-all-gere2HEj.js +24 -0
  461. package/lib/src/send-CY8t4K7K.js +23 -0
  462. package/lib/src/services-B-rJftx1.js +12 -0
  463. package/lib/src/settings-DjA93nK4.js +15 -0
  464. package/lib/src/shape-dbkIE51p.js +10 -0
  465. package/lib/src/share-C5troFj5.js +17 -0
  466. package/lib/src/shared/color-strategies/color-strategies.js +4 -0
  467. package/lib/src/shared/color-strategies/rte-field-pairs.d.ts +10 -0
  468. package/lib/src/shared/color-strategies/rte-field-pairs.js +22 -0
  469. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +5 -0
  470. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +6 -1
  471. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +5 -0
  472. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +10 -115
  473. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +0 -30
  474. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +1 -0
  475. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.d.ts +1 -0
  476. package/lib/src/shared/content-settings/components/items-field/ItemsField.mixin.js +3 -0
  477. package/lib/src/shared/content-settings/components/text-style-field/TextStyleField.mixin.d.ts +2 -0
  478. package/lib/src/shared/content-settings/store/content-settings-store.d.ts +2 -0
  479. package/lib/src/shared/content-settings/store/content-settings-store.js +23 -3
  480. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +4 -1
  481. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +0 -1
  482. package/lib/src/shared/logo-settings/components/LogoSettingsHeader.mixin.d.ts +0 -1
  483. package/lib/src/shared/logo-settings/store/logo-settings-store.d.ts +0 -1
  484. package/lib/src/shared/logo-settings/store/logo-settings-store.js +23 -93
  485. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +0 -1
  486. package/lib/src/shared/navigation-style-settings/store/index.d.ts +0 -5
  487. package/lib/src/shared/navigation-style-settings/store/index.js +0 -3
  488. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +97 -15
  489. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +165 -17
  490. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.js +57 -13
  491. package/lib/src/shared/page-settings/store/page-settings-store.js +0 -6
  492. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +4 -0
  493. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +4 -0
  494. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +4 -0
  495. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +4 -0
  496. package/lib/src/shared/template-settings/store/template-settings-store.js +1 -0
  497. package/lib/src/shield-tick-CJu2w7jV.js +13 -0
  498. package/lib/src/shop-BICCwqjA.js +13 -0
  499. package/lib/src/size-auto-DZ4AHHzc.js +10 -0
  500. package/lib/src/size-landscape-Co2ovloO.js +10 -0
  501. package/lib/src/size-portrait-2avbmbvP.js +10 -0
  502. package/lib/src/size-square-Bz1CZaK9.js +10 -0
  503. package/lib/src/sms-C1kZrMwo.js +10 -0
  504. package/lib/src/snapchat-BDhrhjxt.js +10 -0
  505. package/lib/src/social-facebook-DUNHwNb2.js +13 -0
  506. package/lib/src/social-facebook-color-Ct7tIJjy.js +25 -0
  507. package/lib/src/social-facebook-rcl4tAfz.js +10 -0
  508. package/lib/src/social-google-BTB1aEGv.js +10 -0
  509. package/lib/src/social-google-DJGuTMlB.js +13 -0
  510. package/lib/src/social-instagram-BCLf2eXM.js +13 -0
  511. package/lib/src/social-instagram-color-xjAjceQq.js +62 -0
  512. package/lib/src/social-linkedin-color-BZqnmI57.js +21 -0
  513. package/lib/src/social-share-DFkFeYix.js +12 -0
  514. package/lib/src/social-twitter-C1oScO7g.js +13 -0
  515. package/lib/src/social-twitter-color-DfOtI2Fg.js +25 -0
  516. package/lib/src/social-youtube-CkY91Sxk.js +13 -0
  517. package/lib/src/sort-Ba_MLXhQ.js +10 -0
  518. package/lib/src/soundcloud-D75CdlVH.js +14 -0
  519. package/lib/src/spacing-D_NTz008.js +27 -0
  520. package/lib/src/sparkle-square-C88DaAJm.js +31 -0
  521. package/lib/src/squares-CjaXv6E1.js +14 -0
  522. package/lib/src/star-filled-Dt4dP2V-.js +13 -0
  523. package/lib/src/star-hollow-DAKZTQq1.js +13 -0
  524. package/lib/src/sticker-DoYqtPNb.js +35 -0
  525. package/lib/src/stop-C0S-1Eo6.js +10 -0
  526. package/lib/src/strikethrough-BT13BDrx.js +14 -0
  527. package/lib/src/styles-Bs4y1ta6.js +10 -0
  528. package/lib/src/submit-BEB1wlPX.js +10 -0
  529. package/lib/src/t-shirt-D5YXSF2K.js +39 -0
  530. package/lib/src/tab-display-style-no-logo-1-BPxJPqUS.js +27 -0
  531. package/lib/src/tab-display-style-no-logo-2-Bkrgx0ll.js +27 -0
  532. package/lib/src/tab-display-style-no-logo-3-BWGcUgUX.js +27 -0
  533. package/lib/src/templates-B8egC2a3.js +14 -0
  534. package/lib/src/testimonial-big-image-DiPmYzdt.js +36 -0
  535. package/lib/src/testimonial-centered-jM2INLSy.js +32 -0
  536. package/lib/src/testimonial-columns-CDa9i6jz.js +40 -0
  537. package/lib/src/text-BK4YqqR7.js +14 -0
  538. package/lib/src/text-background-color-CPbyeOQM.js +21 -0
  539. package/lib/src/text-color-CbbWTlsX.js +23 -0
  540. package/lib/src/text-fkXBkdFx.js +14 -0
  541. package/lib/src/text-image-Co5SPyE6.js +44 -0
  542. package/lib/src/text-image-center-CmrIdS6C.js +28 -0
  543. package/lib/src/text-image-justified-BsXIFw9g.js +35 -0
  544. package/lib/src/text-image-left-CJVXL3QB.js +29 -0
  545. package/lib/src/text-image-only-ypeim10E.js +21 -0
  546. package/lib/src/text-image-right--XlSLgPu.js +29 -0
  547. package/lib/src/thankyou-card-CNoj8H8v.js +10 -0
  548. package/lib/src/thumbs-up-Cu5CKecf.js +10 -0
  549. package/lib/src/tiktok-DIga2vn6.js +10 -0
  550. package/lib/src/time-xJztv3yG.js +13 -0
  551. package/lib/src/tools-DKpoB0za.js +10 -0
  552. package/lib/src/tooltip-bottom-Bqw5Ggwa.js +12 -0
  553. package/lib/src/tooltip-left-CXVjJLB5.js +12 -0
  554. package/lib/src/tooltip-right-BY3BbjDG.js +12 -0
  555. package/lib/src/tooltip-top-BGstn3Lx.js +12 -0
  556. package/lib/src/tracker.mjs +1 -1
  557. package/lib/src/transition-D7Q-Bywn.js +27 -0
  558. package/lib/src/tumblr-DmzEhDlC.js +10 -0
  559. package/lib/src/twitch-CnDfpoBo.js +14 -0
  560. package/lib/src/twitter-DtPX8NYL.js +10 -0
  561. package/lib/src/underline-DHSpai3b.js +14 -0
  562. package/lib/src/undo-Db0DM_wS.js +13 -0
  563. package/lib/src/upgrade-alt-DBg1uVjf.js +14 -0
  564. package/lib/src/upgrade-eol6OnYc.js +16 -0
  565. package/lib/src/upgrade-to-add-page-xxEFVCff.js +57 -0
  566. package/lib/src/upgrade-to-contact-form-DlR6bx9L.js +95 -0
  567. package/lib/src/upgrade-to-google-ad-DMQhbFHz.js +129 -0
  568. package/lib/src/upgrade-to-maps-CodU6Iau.js +56 -0
  569. package/lib/src/upgrade-to-publish-JBLIGtsj.js +119 -0
  570. package/lib/src/upgrade-to-remove-watermark-z8PYQRQa.js +108 -0
  571. package/lib/src/upgrade-to-videos-BD2PpjC9.js +54 -0
  572. package/lib/src/upload-DIjYSaqf.js +10 -0
  573. package/lib/src/upload-arrow-C1Nu7eRP.js +10 -0
  574. package/lib/src/uppercase-DzGUT1dN.js +24 -0
  575. package/lib/src/{useEventTracker-DwPTmzpa.js → useEventTracker-BxQMBVf2.js} +6 -1
  576. package/lib/src/user-accounts-BxgZqjGt.js +10 -0
  577. package/lib/src/user-headset-nsAkiLau.js +57 -0
  578. package/lib/src/users-2-CnGpSLZE.js +15 -0
  579. package/lib/src/users-hA6xggk_.js +14 -0
  580. package/lib/src/video-BpWihNI_.js +10 -0
  581. package/lib/src/volume-BThAw2yn.js +10 -0
  582. package/lib/src/volume-muted-aeB5xUdN.js +10 -0
  583. package/lib/src/watchlist-filled-DN0u9uPt.js +24 -0
  584. package/lib/src/watchlist-hollow-B9t39PYN.js +13 -0
  585. package/lib/src/watchlist-hollow-alt-CVkYAHSm.js +24 -0
  586. package/lib/src/website-C_0agqCX.js +13 -0
  587. package/lib/src/website-filled-mlyF30rW.js +10 -0
  588. package/lib/src/whatsapp-DCNrs0zG.js +14 -0
  589. package/lib/src/wholesale-B5H4aswk.js +13 -0
  590. package/lib/src/wrap-text-iULZ1Msd.js +15 -0
  591. package/lib/src/youtube-C8GpL4B2.js +10 -0
  592. package/lib/src/zoom-2WYMtdQd.js +16 -0
  593. package/lib/src/zoom-WMvDdyz5.js +10 -0
  594. package/lib/src/zoom-in-BpNXDZ6b.js +10 -0
  595. package/lib/src/zoom-out-B7MQdPdu.js +10 -0
  596. package/package.json +2 -2
  597. package/src/brand-page/components/faq-section/FaqSection.test.ts +196 -0
  598. package/src/brand-page/components/faq-section/FaqSection.vue +315 -0
  599. package/src/brand-page/components/logo/Logo.vue +14 -7
  600. package/src/brand-page/components/page/Page.mixin.ts +6 -128
  601. package/src/brand-page/components/page/Page.vue +1 -103
  602. package/src/brand-page/components/page/Page.vue.test.ts +88 -2
  603. package/src/brand-page/components/page/PageComponent.vue +2 -0
  604. package/src/brand-page/components/page-header/HeaderLayout.stories.ts +0 -1
  605. package/src/brand-page/components/page-header/HeaderLayout.vue +52 -7
  606. package/src/brand-page/components/page-header/PageHeader.mixin.ts +24 -7
  607. package/src/brand-page/components/page-header/PageHeader.vue +28 -7
  608. package/src/brand-page/components/page-header/PageHeader.vue.test.ts +190 -4
  609. package/src/brand-page/constants/misc.constants.ts +9 -0
  610. package/src/brand-page/constants/sections/header-display.constants.ts +9 -0
  611. package/src/brand-page/constants/styles.constants.ts +2 -0
  612. package/src/brand-page/models/content.model.ts +1 -0
  613. package/src/brand-page/models/header-button.model.test.ts +26 -0
  614. package/src/brand-page/models/index.ts +37 -0
  615. package/src/brand-page/models/navigation-styles.model.ts +5 -2
  616. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -9
  617. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +0 -2
  618. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +9 -13
  619. package/src/brand-page/utils/container-text-color.util.test.ts +126 -0
  620. package/src/brand-page/utils/container-text-color.util.ts +16 -0
  621. package/src/brand-page/utils/content-callback-util.ts +5 -0
  622. package/src/brand-page/utils/logo.util.recalculate.test.ts +37 -0
  623. package/src/brand-page/utils/logo.util.test.ts +35 -22
  624. package/src/brand-page/utils/logo.util.ts +28 -36
  625. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/edited-brandsite-sections.v22.json +4 -4
  626. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandcontact-every-section.v22.json +4 -4
  627. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandpage-every-section.v22.json +4 -4
  628. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/new-brandsite-every-section.v22.json +4 -4
  629. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandcontact.v22.json +4 -4
  630. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-general-link.v22.json +4 -4
  631. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-links.v22.json +4 -4
  632. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandpage-social-links.v22.json +4 -4
  633. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-about.v22.json +4 -4
  634. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-footer.v22.json +4 -4
  635. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-header-banner.v22.json +4 -4
  636. package/src/brand-page/utils/migration/__snapshots__/migration-22-output/real-brandsite-sections.v22.json +4 -4
  637. package/src/brand-page/utils/migration/migration-01.ts +17 -2
  638. package/src/brand-page/utils/migration/migration-23.test.ts +712 -0
  639. package/src/brand-page/utils/migration/migration-23.ts +214 -0
  640. package/src/brand-page/utils/migration.util.test.ts +32 -6
  641. package/src/brand-page/utils/migration.util.ts +13 -0
  642. package/src/brand-page/utils/model.util.test.ts +27 -2
  643. package/src/brand-page/utils/model.util.ts +6 -0
  644. package/src/brand-page/utils/personalisation.util.test.ts +53 -0
  645. package/src/brand-page/utils/style.util.test.ts +25 -2
  646. package/src/brand-page/utils/view-model.util.test.ts +138 -0
  647. package/src/brand-page/utils/view-model.util.ts +43 -7
  648. package/src/brand-page/view-models.ts +8 -1
  649. package/src/brand-page-maker/assessors/faq-accordion-color-field-visibility.assessor.ts +9 -0
  650. package/src/brand-page-maker/assessors/index.ts +1 -0
  651. package/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.mixin.ts +0 -20
  652. package/src/brand-page-maker/components/admin-logo-settings/AdminLogoSettings.vue +1 -11
  653. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -6
  654. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.vue +0 -60
  655. package/src/brand-page-maker/components/preview/Preview.vue +0 -1
  656. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +2 -0
  657. package/src/brand-page-maker/composables/useEventTracker.ts +8 -0
  658. package/src/brand-page-maker/constants/config-settings-constant.ts +122 -1
  659. package/src/brand-page-maker/constants/faq-section-config.test.ts +22 -0
  660. package/src/brand-page-maker/constants/personalisation.constant.ts +5 -3
  661. package/src/brand-page-maker/convertors/faq-display-style.convertor.ts +61 -0
  662. package/src/brand-page-maker/models/content-settings-configs.ts +1 -0
  663. package/src/brand-page-maker/models/content-settings.test.ts +6 -0
  664. package/src/brand-page-maker/models/content-settings.ts +51 -0
  665. package/src/brand-page-maker/models/navigation-style-configs.ts +0 -7
  666. package/src/brand-page-maker/stores/admin-logo-settings/admin-logo-settings-store.ts +0 -49
  667. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.save.test.ts +79 -1
  668. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +6 -5
  669. package/src/brand-page-maker/stores/brandpage-maker/__snapshots__/brandpage-maker-store.test.ts.snap +0 -1
  670. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +111 -0
  671. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +18 -28
  672. package/src/brand-page-maker/utils/__snapshots__/apply-color-strategy.golden.test.ts.snap +2940 -300
  673. package/src/brand-page-maker/utils/apply-color-strategy.test.ts +93 -2
  674. package/src/brand-page-maker/utils/apply-color-strategy.ts +69 -19
  675. package/src/brand-page-maker/utils/rte-authoring.util.test.ts +30 -0
  676. package/src/brand-page-maker/utils/rte-authoring.util.ts +14 -0
  677. package/src/brand-page-maker/validators/field.validator.ts +2 -0
  678. package/src/bundles/bundled-translations.de-DE.json +9 -2
  679. package/src/bundles/bundled-translations.es-ES.json +9 -2
  680. package/src/bundles/bundled-translations.fr-CA.json +9 -2
  681. package/src/bundles/bundled-translations.fr-FR.json +9 -2
  682. package/src/bundles/bundled-translations.json +10 -2
  683. package/src/bundles/bundled-translations.pt-BR.json +9 -2
  684. package/src/bundles/bundled-translations.pt-PT.json +9 -2
  685. package/src/lib.ts +1 -0
  686. package/src/metadata-builder/builders/header-builder.test.ts +55 -1
  687. package/src/metadata-builder/builders/header-builder.ts +6 -1
  688. package/src/metadata-builder/builders/section-rules/header.rules.ts +37 -1
  689. package/src/metadata-builder/parsers/section-tool-arguments.ts +2 -1
  690. package/src/shared/color-strategies/color-strategies.ts +4 -0
  691. package/src/shared/color-strategies/rte-field-pairs.test.ts +2 -0
  692. package/src/shared/color-strategies/rte-field-pairs.ts +34 -0
  693. package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +10 -1
  694. package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +10 -1
  695. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +10 -1
  696. package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +10 -1
  697. package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +10 -1
  698. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +10 -1
  699. package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +10 -1
  700. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +2 -41
  701. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.test.ts +62 -0
  702. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +2 -0
  703. package/src/shared/content-settings/components/faq-items-field/FaqItemsField.test.ts +162 -0
  704. package/src/shared/content-settings/components/faq-items-field/FaqItemsField.vue +287 -0
  705. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +1 -0
  706. package/src/shared/content-settings/components/items-field/ItemsField.mixin.ts +3 -0
  707. package/src/shared/content-settings/components/items-field/ItemsField.vue +13 -3
  708. package/src/shared/content-settings/store/content-settings-store.test.ts +86 -0
  709. package/src/shared/content-settings/store/content-settings-store.ts +39 -4
  710. package/src/shared/logo-settings/store/logo-settings-store.test.ts +27 -1
  711. package/src/shared/logo-settings/store/logo-settings-store.ts +24 -137
  712. package/src/shared/navigation-style-settings/store/index.ts +0 -12
  713. package/src/shared/page-settings/components/header-settings-panel/HeaderSettingsPanel.test.ts +213 -25
  714. package/src/shared/page-settings/components/header-settings-panel/HeaderSettingsPanel.vue +15 -25
  715. package/src/shared/page-settings/components/page-settings/i18n/page-settings.json +1 -0
  716. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.test.ts +94 -29
  717. package/src/shared/page-settings/components/page-settings-section-styles/HeaderDisplayStyle.vue +19 -28
  718. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.header-button.test.ts +195 -3
  719. package/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.ts +74 -15
  720. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.de-DE.json +0 -1
  721. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.es-ES.json +0 -1
  722. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.fr-CA.json +0 -1
  723. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.fr-FR.json +0 -1
  724. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.json +0 -1
  725. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.pt-BR.json +0 -1
  726. package/src/shared/page-settings/components/page-settings-section-styles/i18n/page-settings-section.pt-PT.json +0 -1
  727. package/src/shared/page-settings/store/page-settings-store.test.ts +22 -0
  728. package/src/shared/page-settings/store/page-settings-store.ts +0 -7
  729. package/src/shared/template-settings/store/template-settings-store.ts +1 -0
  730. package/src/brand-page/components/page/BrandSiteNavigationLayout.vue +0 -70
@@ -3,6 +3,7 @@ import { mount } from '@vue/test-utils';
3
3
  import { createRouter, createMemoryHistory } from 'vue-router';
4
4
  import { createPinia, setActivePinia } from 'pinia';
5
5
  import PageHeader from './PageHeader.vue';
6
+ import Logo from '../logo/Logo.vue';
6
7
  import {
7
8
  BRAND_PAGE_TYPES,
8
9
  BUTTON_LINK_TYPE,
@@ -56,6 +57,8 @@ const navItems = (): NavItemViewModel[] =>
56
57
  },
57
58
  ] as NavItemViewModel[];
58
59
 
60
+ const singlePageNav = () => [navItems()[0]];
61
+
59
62
  const createContext = (): BrandPageContext =>
60
63
  ({
61
64
  brandPageSlug: SLUG,
@@ -100,6 +103,13 @@ const mountHeader = async (options: {
100
103
  navItems?: NavItemViewModel[];
101
104
  isMobile?: boolean;
102
105
  isPreview?: boolean;
106
+ isBrandPageOrIsBrandContact?: boolean;
107
+ logoBackgroundStyle?: { backgroundColor: string };
108
+ backgroundStyle?: { backgroundColor?: string; backgroundOpacity?: number };
109
+ // Overrides the view model's logo width after construction, e.g. to `undefined` —
110
+ // the model constructor always defaults it, so this simulates data built without going
111
+ // through it (BP-6184: a header width-reservation fallback that only a raw/legacy header hits).
112
+ logoImageWidthOverride?: string | undefined;
103
113
  }) => {
104
114
  const router = createRouter({
105
115
  history: createMemoryHistory(),
@@ -131,18 +141,37 @@ const mountHeader = async (options: {
131
141
  context.isPreview = true;
132
142
  }
133
143
 
144
+ if (options.isBrandPageOrIsBrandContact) {
145
+ context.isBrandSite = false;
146
+ context.isBrandPageOrIsBrandContact = true;
147
+ context.brandPageType = BRAND_PAGE_TYPES.default;
148
+ }
149
+
134
150
  const viewModel = mapToPageHeaderViewModel(
135
151
  new HeaderModel({
136
152
  headerButton: options.headerButton,
137
153
  isLogoVisible: options.isLogoVisible ?? true,
154
+ logoBackgroundStyle: options.logoBackgroundStyle,
138
155
  ...(options.displayStyle ? { displayStyle: options.displayStyle } : {}),
156
+ ...(options.backgroundStyle
157
+ ? { backgroundStyle: options.backgroundStyle }
158
+ : {}),
139
159
  }),
140
160
  new PageStyles(),
141
161
  [],
142
162
  );
143
163
 
164
+ if ('logoImageWidthOverride' in options) {
165
+ viewModel.logo.logoImageWidth = options.logoImageWidthOverride;
166
+ }
167
+
144
168
  return mount(PageHeader, {
145
- propsData: { navId: 'nav-1', viewModel, context },
169
+ propsData: {
170
+ navId: 'nav-1',
171
+ viewModel,
172
+ context,
173
+ isMobile: options.isMobile ?? false,
174
+ },
146
175
  global: { plugins: [router] },
147
176
  });
148
177
  };
@@ -193,9 +222,6 @@ describe('PageHeader - header call-to-action button (BP-5852)', () => {
193
222
  });
194
223
 
195
224
  describe('render gate', () => {
196
- // A visible button must bring the header back even when nav and logo are hidden.
197
- const singlePageNav = () => [navItems()[0]];
198
-
199
225
  test('renders no header when there is no nav, no logo and no button', async () => {
200
226
  const wrapper = await mountHeader({
201
227
  isLogoVisible: false,
@@ -337,3 +363,163 @@ describe('PageHeader - header call-to-action button (BP-5852)', () => {
337
363
  });
338
364
  });
339
365
  });
366
+
367
+ describe('PageHeader — top-space spacer', () => {
368
+ beforeEach(() => {
369
+ setActivePinia(createPinia());
370
+ });
371
+
372
+ test('BP/BC keeps the top-space spacer when the header renders nothing; brand site renders neither', async () => {
373
+ const bp = await mountHeader({
374
+ isLogoVisible: false,
375
+ navItems: singlePageNav(),
376
+ isBrandPageOrIsBrandContact: true,
377
+ });
378
+ const bs = await mountHeader({
379
+ isLogoVisible: false,
380
+ navItems: singlePageNav(),
381
+ });
382
+
383
+ expect(bp.find('.c-page-header-spacer').exists()).toBe(true);
384
+ expect(bs.find('.c-page-header-spacer').exists()).toBe(false);
385
+ });
386
+ });
387
+
388
+ describe('PageHeader — home link', () => {
389
+ beforeEach(() => {
390
+ setActivePinia(createPinia());
391
+ });
392
+
393
+ test('a published BP/BC header logo links to the home route', async () => {
394
+ const wrapper = await mountHeader({ isBrandPageOrIsBrandContact: true });
395
+
396
+ expect(
397
+ wrapper.get('[data-component="page-header"] a').attributes('href'),
398
+ ).toBe(`/${SLUG}`);
399
+ });
400
+
401
+ // A logo content block never links, even on BP/BC: only the header's own Logo instance
402
+ // gets `linksHome`.
403
+ test('a logo content block never links home', () => {
404
+ const context = createContext();
405
+
406
+ context.isBrandSite = false;
407
+ context.isBrandPageOrIsBrandContact = true;
408
+
409
+ const viewModel = mapToPageHeaderViewModel(
410
+ new PageHeaderDesktop(),
411
+ new PageStyles(),
412
+ [],
413
+ ).logo;
414
+
415
+ const wrapper = mount(Logo, {
416
+ propsData: { viewModel, context },
417
+ });
418
+
419
+ expect(wrapper.find('a').exists()).toBe(false);
420
+ });
421
+
422
+ test('the maker preview never links the header logo, but a header click still selects it', async () => {
423
+ const wrapper = await mountHeader({
424
+ isBrandPageOrIsBrandContact: true,
425
+ isPreview: true,
426
+ });
427
+
428
+ expect(wrapper.find('[data-component="page-header"] a').exists()).toBe(
429
+ false,
430
+ );
431
+
432
+ await wrapper.get('.c-page-header-container').trigger('click');
433
+
434
+ expect(wrapper.emitted('header-container-click')).toHaveLength(1);
435
+ });
436
+ });
437
+
438
+ describe('PageHeader — no logo on a BP/BC hamburger viewport', () => {
439
+ beforeEach(() => {
440
+ setActivePinia(createPinia());
441
+ });
442
+
443
+ test('a BP hamburger viewport with a stored colour and a with-logo layout draws no logo', async () => {
444
+ const wrapper = await mountHeader({
445
+ isBrandPageOrIsBrandContact: true,
446
+ isMobile: true,
447
+ displayStyle: HEADER_DISPLAY.MOBILE_HAMBURGER_1,
448
+ logoBackgroundStyle: { backgroundColor: 'var(--palette-1)' },
449
+ });
450
+
451
+ expect(wrapper.find('[data-component="page-header"]').exists()).toBe(false);
452
+ });
453
+
454
+ test('a brand site hamburger viewport still draws its logo', async () => {
455
+ const wrapper = await mountHeader({
456
+ isMobile: true,
457
+ displayStyle: HEADER_DISPLAY.MOBILE_HAMBURGER_1,
458
+ });
459
+
460
+ expect(wrapper.find('[data-component="page-header"]').exists()).toBe(true);
461
+ });
462
+ });
463
+
464
+ describe('PageHeader — logo background colour', () => {
465
+ beforeEach(() => {
466
+ setActivePinia(createPinia());
467
+ });
468
+
469
+ test.each([
470
+ ['desktop', false],
471
+ ['mobile', true],
472
+ ])(
473
+ 'a stored colour paints the %s header logo through the same LogoRender a logo block uses',
474
+ async (_label, isMobile) => {
475
+ const wrapper = await mountHeader({
476
+ isBrandPageOrIsBrandContact: true,
477
+ isMobile,
478
+ logoBackgroundStyle: { backgroundColor: 'var(--palette-1)' },
479
+ });
480
+
481
+ expect(wrapper.get('.logo__container').attributes('style')).toContain(
482
+ 'background: var(--palette-1)',
483
+ );
484
+ // A BP/BC header logo keeps today's 20rem cap on mobile too — PageHeader never
485
+ // passes is-mobile through for BP/BC, only for brand site.
486
+ expect(
487
+ (wrapper.get('.logo__container > div').element as HTMLElement).style
488
+ .maxWidth,
489
+ ).toBe('20rem');
490
+ },
491
+ );
492
+ });
493
+
494
+ describe('PageHeader — the header button on a brand page or brand contact site', () => {
495
+ beforeEach(() => {
496
+ setActivePinia(createPinia());
497
+ });
498
+
499
+ test('BP/BC draws no CTA even with a visible button stored', async () => {
500
+ const wrapper = await mountHeader({
501
+ isBrandPageOrIsBrandContact: true,
502
+ headerButton: aHeaderButton(),
503
+ });
504
+
505
+ expect(wrapper.find(CTA).exists()).toBe(false);
506
+ });
507
+ });
508
+
509
+ describe('PageHeader — header background colour and opacity on a brand page', () => {
510
+ beforeEach(() => {
511
+ setActivePinia(createPinia());
512
+ });
513
+
514
+ test('a brand page header at 60% opacity paints the root at the folded colour, edge to edge', async () => {
515
+ const wrapper = await mountHeader({
516
+ isBrandPageOrIsBrandContact: true,
517
+ backgroundStyle: { backgroundColor: '#ff0000', backgroundOpacity: 60 },
518
+ });
519
+
520
+ // jsdom normalises the 8-digit hex into rgba when it serialises the style attribute.
521
+ expect(wrapper.element.getAttribute('style')).toContain(
522
+ 'rgba(255, 0, 0, 0.6)',
523
+ );
524
+ });
525
+ });
@@ -126,6 +126,15 @@ export const IMAGE_RESOLUTION_PRESETS = {
126
126
  export type ImagesSectionContentDisplayStyle =
127
127
  (typeof IMAGES_SECTION_CONTENT_DISPLAY_STYLES)[number];
128
128
 
129
+ /** Centered and split are accordions; grid shows every answer. */
130
+ export const FAQ_DISPLAY_STYLES = Object.freeze({
131
+ centered: 'faq-centered',
132
+ split: 'faq-split',
133
+ grid: 'faq-grid',
134
+ } as const);
135
+
136
+ export const FAQ_MAX_ITEMS = 6;
137
+
129
138
  export const HEADER_CSRF_TOKEN = 'csrf-token';
130
139
 
131
140
  export const STYLE_THEME_KEYS = Object.freeze({
@@ -52,6 +52,15 @@ export type PageSectionDisplayStyle =
52
52
 
53
53
  export type HeaderDisplayStyle = PageSectionDisplayStyle;
54
54
 
55
+ // The logo centred above or below the nav — the only layouts a BP/BC logo background colour
56
+ // draws in; elsewhere the control is hidden and nothing is drawn.
57
+ export const STACKED_LOGO_LAYOUTS: readonly HeaderDisplayStyle[] = [
58
+ HEADER_DISPLAY.DESKTOP_TAB_5,
59
+ HEADER_DISPLAY.DESKTOP_TAB_6,
60
+ HEADER_DISPLAY.MOBILE_TAB_1,
61
+ HEADER_DISPLAY.MOBILE_TAB_2,
62
+ ];
63
+
55
64
  interface HeaderDisplayStyleConfig {
56
65
  viewMode: 'desktop' | 'mobile';
57
66
  navType: NavigationType;
@@ -40,6 +40,8 @@ export const CONTENT_TEXT_STYLE_PROPERTY_KEYS = {
40
40
  buttonTextStyle: 'buttonTextStyle',
41
41
  copyrightStyle: 'copyrightStyle',
42
42
  successMessageStyle: 'successMessageStyle',
43
+ questionStyle: 'questionStyle',
44
+ answerStyle: 'answerStyle',
43
45
  } as const;
44
46
 
45
47
  export type ContentTextStylePropertyKey =
@@ -31,6 +31,7 @@ export const CONTENT_TYPES = {
31
31
  'shapes-section': 'shapes-section',
32
32
  'shop-section': 'shop-section',
33
33
  'booking-section': 'booking-section',
34
+ 'faq-section': 'faq-section',
34
35
  } as const;
35
36
 
36
37
  export type ContentType = keyof typeof CONTENT_TYPES;
@@ -83,3 +83,29 @@ describe('header button persistence', () => {
83
83
  });
84
84
  });
85
85
  });
86
+
87
+ describe('header logo background colour persistence', () => {
88
+ test('PageHeader* constructor keeps a given logoBackgroundStyle on both viewports; leaves it unset when absent', () => {
89
+ const colour = { backgroundColor: 'var(--palette-1)' };
90
+
91
+ expect(
92
+ new PageHeaderDesktop({ logoBackgroundStyle: colour })
93
+ .logoBackgroundStyle,
94
+ ).toEqual(colour);
95
+ expect(
96
+ new PageHeaderMobile({ logoBackgroundStyle: colour }).logoBackgroundStyle,
97
+ ).toEqual(colour);
98
+ expect(
99
+ Object.prototype.hasOwnProperty.call(
100
+ new PageHeaderDesktop(),
101
+ 'logoBackgroundStyle',
102
+ ),
103
+ ).toBe(false);
104
+ expect(
105
+ Object.prototype.hasOwnProperty.call(
106
+ new PageHeaderMobile(),
107
+ 'logoBackgroundStyle',
108
+ ),
109
+ ).toBe(false);
110
+ });
111
+ });
@@ -672,6 +672,35 @@ export interface BookingSectionContent extends Content {
672
672
  buttonTextStyle: TextStyleDeclaration;
673
673
  }
674
674
 
675
+ export interface FaqItem {
676
+ /** Stable per-item identifier. See ImageItem.id. */
677
+ id: string;
678
+ question: RichTextValue;
679
+ answer: RichTextValue;
680
+ // Overrides for personalisation
681
+ questionOverride?: string;
682
+ answerOverride?: string;
683
+ }
684
+
685
+ export interface FaqSectionContent extends Content {
686
+ type: 'faq-section';
687
+ title: RichTextValue;
688
+ description: RichTextValue;
689
+ displayStyle: string;
690
+ items: FaqItem[];
691
+ titleStyle: RteTextRole;
692
+ descriptionStyle: RteTextRole;
693
+ /** Shared by every question; a question's own formatting lives in its doc. */
694
+ questionStyle: RteTextRole;
695
+ /** Shared by every answer. */
696
+ answerStyle: RteTextRole;
697
+ backgroundStyle: BrandPageCssStyle;
698
+ /** `{ color }` for the +/- toggle. */
699
+ iconColor: BrandPageCssStyle;
700
+ /** `{ backgroundColor }`, the Divider section's shape. `'transparent'` hides the line. */
701
+ dividerColor: BrandPageCssStyle;
702
+ }
703
+
675
704
  export class PageModel {
676
705
  title: string;
677
706
  contents: Content[];
@@ -756,6 +785,9 @@ export abstract class AbstractPageHeaderStyles {
756
785
  /** Missing = no button. `declare` keeps it off saved data so old migrations still see the same shape. */
757
786
  declare headerButton?: HeaderButton;
758
787
 
788
+ /** BP/BC header logo background colour; absent on a brand site. `declare` keeps it off saved data so old migrations still see the same shape. */
789
+ declare logoBackgroundStyle?: BrandPageCssStyle;
790
+
759
791
  protected constructor(options: AbstractPageHeaderStylesType = {}) {
760
792
  if (typeof options.viewport === 'undefined') {
761
793
  throw new Error('"viewport" is required');
@@ -798,6 +830,11 @@ export abstract class AbstractPageHeaderStyles {
798
830
  if (options.headerButton) {
799
831
  this.headerButton = options.headerButton;
800
832
  }
833
+
834
+ // Only set when given — a missing colour must stay missing for old migrations.
835
+ if (options.logoBackgroundStyle !== undefined) {
836
+ this.logoBackgroundStyle = options.logoBackgroundStyle;
837
+ }
801
838
  }
802
839
  }
803
840
 
@@ -124,7 +124,6 @@ type NavigationStylesThemeType = Theme;
124
124
 
125
125
  abstract class NavigationStyles implements NavigationMenuStyles {
126
126
  public displayType: NavigationDisplayType;
127
- public renderAfterLogo: boolean;
128
127
  public defaultButtonStyle: TextStyleDeclaration;
129
128
  public selectedButtonStyle: BrandPageCssStyle;
130
129
  public iconStyle: BrandPageCssStyle;
@@ -148,7 +147,11 @@ abstract class NavigationStyles implements NavigationMenuStyles {
148
147
  this.viewport = option.viewport;
149
148
  this.displayType = option.displayType;
150
149
 
151
- this.renderAfterLogo = option?.renderAfterLogo || false;
150
+ // Retired: only old saved data still has it; carried through for migration 23 to read
151
+ // and delete. Never defaulted, so it can't come back (legacy-migrations.md).
152
+ if ('renderAfterLogo' in option) {
153
+ Object.assign(this, { renderAfterLogo: option.renderAfterLogo });
154
+ }
152
155
 
153
156
  this.defaultButtonStyle = Object.assign(
154
157
  {} as TextStyleDeclaration,
@@ -207,7 +207,6 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
207
207
  },
208
208
  "iconStyle": {},
209
209
  "isLogoVisible": true,
210
- "renderAfterLogo": false,
211
210
  "selectedButtonStyle": {
212
211
  "borderBottomWidth": "4px",
213
212
  "borderColor": undefined,
@@ -279,7 +278,6 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
279
278
  },
280
279
  "iconStyle": {},
281
280
  "isLogoVisible": true,
282
- "renderAfterLogo": false,
283
281
  "selectedButtonStyle": {
284
282
  "borderBottomWidth": "4px",
285
283
  "borderColor": undefined,
@@ -663,7 +661,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
663
661
  },
664
662
  },
665
663
  },
666
- "v": 22,
664
+ "v": 23,
667
665
  },
668
666
  "useOldLogoRenderSize": true,
669
667
  }
@@ -876,7 +874,6 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
876
874
  },
877
875
  "iconStyle": {},
878
876
  "isLogoVisible": true,
879
- "renderAfterLogo": false,
880
877
  "selectedButtonStyle": {
881
878
  "borderBottomWidth": "4px",
882
879
  "borderColor": undefined,
@@ -948,7 +945,6 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
948
945
  },
949
946
  "iconStyle": {},
950
947
  "isLogoVisible": true,
951
- "renderAfterLogo": false,
952
948
  "selectedButtonStyle": {
953
949
  "borderBottomWidth": "4px",
954
950
  "borderColor": undefined,
@@ -1314,7 +1310,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1314
1310
  },
1315
1311
  },
1316
1312
  },
1317
- "v": 22,
1313
+ "v": 23,
1318
1314
  },
1319
1315
  "useOldLogoRenderSize": true,
1320
1316
  }
@@ -1527,7 +1523,6 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1527
1523
  },
1528
1524
  "iconStyle": {},
1529
1525
  "isLogoVisible": true,
1530
- "renderAfterLogo": false,
1531
1526
  "selectedButtonStyle": {
1532
1527
  "borderBottomWidth": "4px",
1533
1528
  "borderColor": undefined,
@@ -1599,7 +1594,6 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1599
1594
  },
1600
1595
  "iconStyle": {},
1601
1596
  "isLogoVisible": true,
1602
- "renderAfterLogo": false,
1603
1597
  "selectedButtonStyle": {
1604
1598
  "borderBottomWidth": "4px",
1605
1599
  "borderColor": undefined,
@@ -1965,7 +1959,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1965
1959
  },
1966
1960
  },
1967
1961
  },
1968
- "v": 22,
1962
+ "v": 23,
1969
1963
  },
1970
1964
  "useOldLogoRenderSize": true,
1971
1965
  }
@@ -191,7 +191,6 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
191
191
  },
192
192
  "iconStyle": {},
193
193
  "isLogoVisible": true,
194
- "renderAfterLogo": false,
195
194
  "selectedButtonStyle": {
196
195
  "borderBottomWidth": "4px",
197
196
  "borderColor": undefined,
@@ -266,7 +265,6 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
266
265
  },
267
266
  "iconStyle": {},
268
267
  "isLogoVisible": true,
269
- "renderAfterLogo": false,
270
268
  "selectedButtonStyle": {
271
269
  "borderBottomWidth": "4px",
272
270
  "borderColor": undefined,
@@ -142,8 +142,8 @@ BrandPageModel {
142
142
  "isLogoVisible": true,
143
143
  "logoDraftToken": "",
144
144
  "logoImage": {
145
- "logoDraftToken": "",
146
- "logoLastUpdate": undefined,
145
+ "logoDraftToken": "7a0545cd-ff28-46c2-a496-36cf7fd1b91b",
146
+ "logoLastUpdate": "637684854579600000",
147
147
  "logoVariation": 0,
148
148
  },
149
149
  "logoImageBase64Url": "",
@@ -190,7 +190,6 @@ BrandPageModel {
190
190
  },
191
191
  "iconStyle": {},
192
192
  "isLogoVisible": true,
193
- "renderAfterLogo": false,
194
193
  "selectedButtonStyle": {
195
194
  "borderBottomWidth": "4px",
196
195
  "borderColor": undefined,
@@ -217,8 +216,8 @@ BrandPageModel {
217
216
  "isLogoVisible": true,
218
217
  "logoDraftToken": "",
219
218
  "logoImage": {
220
- "logoDraftToken": "",
221
- "logoLastUpdate": undefined,
219
+ "logoDraftToken": "7a0545cd-ff28-46c2-a496-36cf7fd1b91b",
220
+ "logoLastUpdate": "637684854579600000",
222
221
  "logoVariation": 0,
223
222
  },
224
223
  "logoImageBase64Url": "",
@@ -265,7 +264,6 @@ BrandPageModel {
265
264
  },
266
265
  "iconStyle": {},
267
266
  "isLogoVisible": true,
268
- "renderAfterLogo": false,
269
267
  "selectedButtonStyle": {
270
268
  "borderBottomWidth": "4px",
271
269
  "borderColor": undefined,
@@ -602,7 +600,7 @@ BrandPageModel {
602
600
  }
603
601
  `;
604
602
 
605
- exports[`model.util > applyLogoImageToBrandPageModelLogoContents should return brand page model with replaced logo image url 1`] = `
603
+ exports[`model.util > applyLogoImageToBrandPageModelLogoContents should return brand page model with replaced logo image url, header included 1`] = `
606
604
  BrandPageModel {
607
605
  "adsenseID": undefined,
608
606
  "brandPageType": undefined,
@@ -744,8 +742,8 @@ BrandPageModel {
744
742
  "isLogoVisible": true,
745
743
  "logoDraftToken": "",
746
744
  "logoImage": {
747
- "logoDraftToken": "",
748
- "logoLastUpdate": undefined,
745
+ "logoDraftToken": "7a0545cd-ff28-46c2-a496-36cf7fd1b91b",
746
+ "logoLastUpdate": "637684854579600000",
749
747
  "logoVariation": 0,
750
748
  },
751
749
  "logoImageBase64Url": "",
@@ -792,7 +790,6 @@ BrandPageModel {
792
790
  },
793
791
  "iconStyle": {},
794
792
  "isLogoVisible": true,
795
- "renderAfterLogo": false,
796
793
  "selectedButtonStyle": {
797
794
  "borderBottomWidth": "4px",
798
795
  "borderColor": undefined,
@@ -819,8 +816,8 @@ BrandPageModel {
819
816
  "isLogoVisible": true,
820
817
  "logoDraftToken": "",
821
818
  "logoImage": {
822
- "logoDraftToken": "",
823
- "logoLastUpdate": undefined,
819
+ "logoDraftToken": "7a0545cd-ff28-46c2-a496-36cf7fd1b91b",
820
+ "logoLastUpdate": "637684854579600000",
824
821
  "logoVariation": 0,
825
822
  },
826
823
  "logoImageBase64Url": "",
@@ -867,7 +864,6 @@ BrandPageModel {
867
864
  },
868
865
  "iconStyle": {},
869
866
  "isLogoVisible": true,
870
- "renderAfterLogo": false,
871
867
  "selectedButtonStyle": {
872
868
  "borderBottomWidth": "4px",
873
869
  "borderColor": undefined,