@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
@@ -14,6 +14,7 @@ import {
14
14
  STYLE_FIELDS_OUTSIDE_CONFIG,
15
15
  } from '@shared/color-strategies/color-strategies';
16
16
  import { pageStrategyAnchors } from '@shared/color-strategies/page-anchors';
17
+ import { RTE_ITEM_FIELD_PAIRS } from '@shared/color-strategies/rte-field-pairs';
17
18
  import type { ColorStrategy } from '@shared/color-strategies/models';
18
19
 
19
20
  const backgroundConvertor = {
@@ -1830,12 +1831,102 @@ describe('every colour field is bound or deliberately unbound (BP-5886)', () =>
1830
1831
  // `successMessageStyle` is a content-model field with no settings-config
1831
1832
  // entry. The applier reaches it only through `STYLE_FIELDS_OUTSIDE_CONFIG`
1832
1833
  // (payment and shop); the contact form's stays unwritten. This pins that the
1833
- // phantom set never grows silently.
1834
+ // phantom set never grows silently. Item-level styles (each FAQ item's
1835
+ // `questionStyle`) are declared by RTE_ITEM_FIELD_PAIRS, not by a config field.
1836
+ const itemStyleFields = new Set(
1837
+ Object.values(RTE_ITEM_FIELD_PAIRS).flatMap((pairs) =>
1838
+ pairs.map((pair) => pair.styleField),
1839
+ ),
1840
+ );
1834
1841
  const phantoms = [
1835
1842
  ...Object.keys(FIELD_SLOT_MAP),
1836
1843
  ...Object.values(SECTION_RAISED_LAYER).flatMap((layer) => layer.content),
1837
- ].filter((name) => !configColourFields.has(name));
1844
+ ].filter(
1845
+ (name) => !configColourFields.has(name) && !itemStyleFields.has(name),
1846
+ );
1838
1847
 
1839
1848
  expect(new Set(phantoms)).toEqual(new Set(['successMessageStyle']));
1840
1849
  });
1841
1850
  });
1851
+
1852
+ describe('buildColorStrategyValues — FAQ section', () => {
1853
+ const doc = (text: string) => ({
1854
+ type: 'doc',
1855
+ content: [
1856
+ {
1857
+ type: 'paragraph',
1858
+ content: [
1859
+ {
1860
+ type: 'text',
1861
+ text,
1862
+ marks: [{ type: 'textStyle', attrs: { color: '#123456' } }],
1863
+ },
1864
+ ],
1865
+ },
1866
+ ],
1867
+ });
1868
+
1869
+ const faq = () => ({
1870
+ type: 'faq-section',
1871
+ displayStyle: 'faq-centered',
1872
+ backgroundStyle: {},
1873
+ titleStyle: {},
1874
+ descriptionStyle: {},
1875
+ questionStyle: { textStyleType: 'heading5', backgroundColor: '#fff' },
1876
+ answerStyle: { textStyleType: 'paragraph2' },
1877
+ items: [
1878
+ { id: 'q1', question: doc('Q1'), answer: 'Plain answer' },
1879
+ { id: 'q2', question: 'Plain question', answer: doc('A2') },
1880
+ ],
1881
+ });
1882
+
1883
+ it('repaints the shared question and answer styles and every rich-text document', () => {
1884
+ const config = CONTENT_SETTINGS_CONFIGS()['faq-section'];
1885
+ const content = faq();
1886
+ const values: Record<string, any> = buildColorStrategyValues(
1887
+ config,
1888
+ content,
1889
+ 'duotone',
1890
+ );
1891
+ const [q1, q2] = values.items;
1892
+ const questionRef = values.questionStyle.color;
1893
+
1894
+ expect(values.backgroundStyle).toBeDefined();
1895
+ expect(questionRef).toMatch(/^var\(--palette-\d\)$/);
1896
+ expect(values.answerStyle.color).toMatch(/^var\(--palette-\d\)$/);
1897
+ // Text on the band never takes the band's own role.
1898
+ expect(questionRef).not.toBe(values.backgroundStyle?.backgroundColor);
1899
+ // The strategy owns the text treatment: background cleared, typography kept.
1900
+ expect('backgroundColor' in values.questionStyle).toBe(false);
1901
+ expect(values.questionStyle.textStyleType).toBe('heading5');
1902
+ // RTE documents take the colour in their marks; plain text is left as text.
1903
+ expect(JSON.stringify(q1.question)).toContain(questionRef);
1904
+ expect(JSON.stringify(q1.question)).not.toContain('#123456');
1905
+ expect(q1.answer).toBe('Plain answer');
1906
+ expect(JSON.stringify(q2.answer)).toContain(values.answerStyle.color);
1907
+ // A new list — never the stored one mutated.
1908
+ expect(values.items).not.toBe(content.items);
1909
+ expect(content.questionStyle.backgroundColor).toBe('#fff');
1910
+ });
1911
+
1912
+ it('asks the live editors to re-seed when an item document was replaced', () => {
1913
+ const updateItemValue = vi.fn();
1914
+ const markRteResync = vi.fn();
1915
+
1916
+ applyColorStrategyToItem(
1917
+ { updateItemValue },
1918
+ {
1919
+ id: 'faq-1',
1920
+ config: CONTENT_SETTINGS_CONFIGS()['faq-section'],
1921
+ content: faq(),
1922
+ strategyId: 'duotone',
1923
+ markRteResync,
1924
+ },
1925
+ );
1926
+
1927
+ expect(updateItemValue).toHaveBeenCalledWith(
1928
+ expect.objectContaining({ name: 'items' }),
1929
+ );
1930
+ expect(markRteResync).toHaveBeenCalledTimes(1);
1931
+ });
1932
+ });
@@ -11,12 +11,16 @@ import {
11
11
  type DisableTransparent,
12
12
  } from '@shared/content-settings/disable-transparent.util';
13
13
  import { setRteTextColor } from '@shared/color-strategies/rte-color';
14
+ import { isTiptapDocument } from '@shared/rte-shape.util';
14
15
  import type {
15
16
  ColorStrategyId,
16
17
  SectionLayers,
17
18
  StrategyAnchors,
18
19
  } from '@shared/color-strategies/models';
19
- import { pairedRteTextField } from '@shared/color-strategies/rte-field-pairs';
20
+ import {
21
+ pairedRteTextField,
22
+ RTE_ITEM_FIELD_PAIRS,
23
+ } from '@shared/color-strategies/rte-field-pairs';
20
24
  import { isCanonicalTextStyleType } from '@brand-page/models/styles.model';
21
25
 
22
26
  // A section colour field, narrowed to what the macro reads. Config is declared `<any>`,
@@ -147,6 +151,23 @@ const sectionLayers = (
147
151
  };
148
152
  };
149
153
 
154
+ /**
155
+ * The strategy's text treatment for one text-style field: `color` set, text background
156
+ * cleared (matching the highlight strip in `setRteTextColor` — the toolbar writes both).
157
+ * The key is deleted rather than set undefined so `'backgroundColor' in style` checks
158
+ * downstream stay honest.
159
+ */
160
+ const withStrategyTextStyle = (
161
+ current: Record<string, unknown> | undefined,
162
+ ref: string,
163
+ ): Record<string, unknown> => {
164
+ const nextStyle: Record<string, unknown> = { ...(current ?? {}), color: ref };
165
+
166
+ delete nextStyle.backgroundColor;
167
+
168
+ return nextStyle;
169
+ };
170
+
150
171
  /**
151
172
  * Build the per-field colour writes a strategy stamps onto a section. Pure — reads the
152
173
  * section config + current content and returns a `{ fieldName: value }` partial. Each
@@ -201,18 +222,7 @@ export const buildColorStrategyValues = (
201
222
  | Record<string, unknown>
202
223
  | undefined;
203
224
 
204
- const nextStyle: Record<string, unknown> = {
205
- ...(current ?? {}),
206
- color: ref,
207
- };
208
-
209
- // A strategy owns the text treatment, so it clears the text background colour
210
- // too — matching the highlight strip in `setRteTextColor` (the toolbar writes
211
- // both). Delete the key rather than set it undefined so `'backgroundColor' in
212
- // style` checks downstream stay honest.
213
- delete nextStyle.backgroundColor;
214
-
215
- values[name] = nextStyle;
225
+ values[name] = withStrategyTextStyle(current, ref);
216
226
 
217
227
  // Also stamp the colour into the paired RTE document, if this field drives one.
218
228
  // `setRteTextColor` returns undefined for a plain string or legacy HTML RTE, so
@@ -251,6 +261,40 @@ export const buildColorStrategyValues = (
251
261
  values[name] = field.valueConvertor.convertBack(ref);
252
262
  });
253
263
 
264
+ // Item-level RTE fields (each FAQ question) share the section's style but carry their own
265
+ // document, and neither is a settings field, so the loop above never sees them.
266
+ const itemPairs =
267
+ typeof contentRecord.type === 'string'
268
+ ? (RTE_ITEM_FIELD_PAIRS[contentRecord.type] ?? [])
269
+ : [];
270
+
271
+ itemPairs.forEach((pair) => {
272
+ const ref = strategyRoleRefForField(
273
+ strategyId,
274
+ pair.styleField,
275
+ content,
276
+ context,
277
+ layers,
278
+ anchors,
279
+ );
280
+ const items = (values[pair.itemsField] ??
281
+ contentRecord[pair.itemsField]) as Record<string, unknown>[] | undefined;
282
+
283
+ if (!ref || !Array.isArray(items)) {
284
+ return;
285
+ }
286
+
287
+ values[pair.styleField] = withStrategyTextStyle(
288
+ contentRecord[pair.styleField] as Record<string, unknown> | undefined,
289
+ ref,
290
+ );
291
+ values[pair.itemsField] = items.map((item) => {
292
+ const nextDoc = setRteTextColor(item[pair.textField], ref);
293
+
294
+ return nextDoc ? { ...item, [pair.textField]: nextDoc } : item;
295
+ });
296
+ });
297
+
254
298
  return values;
255
299
  };
256
300
 
@@ -306,14 +350,20 @@ export const applyColorStrategyToItem = (
306
350
  store.updateItemValue({ id, name, value });
307
351
  });
308
352
 
309
- // A recoloured RTE field is emitted as a whole Tiptap document; the paired
310
- // style-object writes are plain objects. Only the former needs the live editor
311
- // to re-seed, so signal it just when a doc was among the writes.
353
+ // A recoloured RTE field is emitted as a whole Tiptap document (at the top level,
354
+ // or inside a rewritten item list); the paired style-object writes are plain
355
+ // objects. Only the former needs the live editor to re-seed, so signal it just
356
+ // when a doc was among the writes.
312
357
  const replacedRteDoc = Object.values(values).some(
313
358
  (value) =>
314
- typeof value === 'object' &&
315
- value !== null &&
316
- (value as { type?: unknown }).type === 'doc',
359
+ isTiptapDocument(value) ||
360
+ (Array.isArray(value) &&
361
+ value.some(
362
+ (item) =>
363
+ typeof item === 'object' &&
364
+ item !== null &&
365
+ Object.values(item).some(isTiptapDocument),
366
+ )),
317
367
  );
318
368
 
319
369
  if (replacedRteDoc) {
@@ -242,3 +242,33 @@ describe('authorContentRteFields — enriching a factory-authored doc', () => {
242
242
  expect(fields.titleStyle.color).toBe('var(--palette-0)');
243
243
  });
244
244
  });
245
+
246
+ describe('list items (FAQ) are authored from the shared section style', () => {
247
+ it('every item gets the shared colour in its marks, and the shared style keeps it', () => {
248
+ const content = asContent({
249
+ type: 'faq-section',
250
+ title: 'T',
251
+ titleStyle: { textStyleType: 'heading4' },
252
+ questionStyle: { textStyleType: 'heading5', color: 'var(--palette-1)' },
253
+ answerStyle: { textStyleType: 'paragraph2', textAlign: 'left' },
254
+ items: [
255
+ { id: 'q1', question: 'Q1?', answer: rteDoc('A1.') },
256
+ { id: 'q2', question: 'Q2?', answer: rteDoc('A2.') },
257
+ ],
258
+ });
259
+
260
+ authorContentRteFields(content);
261
+
262
+ const { items, questionStyle } = content as unknown as {
263
+ items: Record<string, any>[];
264
+ questionStyle: { color?: string };
265
+ };
266
+
267
+ expect(items.map((item) => firstRunMarkColor(item.question))).toEqual([
268
+ 'var(--palette-1)',
269
+ 'var(--palette-1)',
270
+ ]);
271
+ expect(questionStyle.color).toBe('var(--palette-1)');
272
+ expect(items[1].answer.content[0].attrs.textAlign).toBe('left');
273
+ });
274
+ });
@@ -1,6 +1,7 @@
1
1
  import type { JSONContent } from '@tiptap/vue-3';
2
2
  import type { Content, TextStyleOptions, TextStyleType } from '@brand-page';
3
3
  import {
4
+ forEachRteItemField,
4
5
  rteStyleFieldsFor,
5
6
  pairedRteTextField,
6
7
  } from '@shared/color-strategies/rte-field-pairs';
@@ -157,6 +158,19 @@ export const authorContentRteFields = (
157
158
  if (doc) fields[textField] = doc;
158
159
  }
159
160
 
161
+ // List items (each FAQ question and answer) share the section's style. Each is authored from a
162
+ // copy, as authoring moves the colour off the style it is given.
163
+ forEachRteItemField(content.type, content, (item, pair) => {
164
+ const style = fields[pair.styleField] as AuthoredStyle;
165
+ const doc = authorRteDoc(
166
+ item[pair.textField],
167
+ { ...style },
168
+ roleStyleFor(textStyleOptions, style?.textStyleType),
169
+ );
170
+
171
+ if (doc) item[pair.textField] = doc;
172
+ });
173
+
160
174
  const textItems = fields.textItems as
161
175
  | { text?: unknown; textStyle?: AuthoredStyle }[]
162
176
  | undefined;
@@ -161,6 +161,7 @@ export const validatorDict: Record<ItemFieldType, Validator> = {
161
161
  'color-replacements': dummyValidator,
162
162
  'testimonial-items': dummyValidator,
163
163
  'text-items': dummyValidator,
164
+ 'faq-items': dummyValidator,
164
165
  'page-dropdown': dummyValidator,
165
166
  shape: dummyValidator,
166
167
  'logo-selection': dummyValidator,
@@ -204,6 +205,7 @@ export const adminValidatorsDict: Record<ItemFieldType, Validator> = {
204
205
  'color-replacements': dummyValidator,
205
206
  'testimonial-items': dummyValidator,
206
207
  'text-items': dummyValidator,
208
+ 'faq-items': dummyValidator,
207
209
  'page-dropdown': dummyValidator,
208
210
  shape: dummyValidator,
209
211
  'logo-selection': dummyValidator,
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Text hier eingeben ...",
1651
1651
  "bookNowLabel": "Jetzt buchen",
1652
1652
  "shippingLabel": "Lieferadresse aktivieren",
1653
- "shippingPlaceholder": "Fordern Sie Kunden auf, während des Bezahlvorgangs eine Lieferadresse einzugeben."
1653
+ "shippingPlaceholder": "Fordern Sie Kunden auf, während des Bezahlvorgangs eine Lieferadresse einzugeben.",
1654
+ "faqSectionDisplayName": "FAQ",
1655
+ "faqItemsDisplayName": "Artikel",
1656
+ "defaultFaqTitle": "Häufig gestellte Fragen",
1657
+ "defaultFaqDescription": "Finden Sie Antworten auf häufig gestellte Fragen zu unseren Produkten, Dienstleistungen oder unserem Unternehmen",
1658
+ "defaultFaqQuestion": "Welche Dienstleistungen bieten Sie an?",
1659
+ "defaultFaqAnswer": "Wir bieten eine Reihe von Produkten und Dienstleistungen, die auf Ihre Bedürfnisse zugeschnitten sind. Kontaktieren Sie uns, um mehr darüber zu erfahren, wie wir Ihnen helfen können.",
1660
+ "faqQuestionTitle": "Frage",
1661
+ "faqAnswerTitle": "Antwort"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Feld",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "{{title}} Kopieren"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Navigation unter dem Logo anzeigen",
1882
1889
  "previewDescription": "Eine Vorschau ist für diese Bildschirmgröße nicht verfügbar.",
1883
1890
  "navigationStyle": "Navigationsstil",
1884
1891
  "navigationType": "Navigationstyp",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Introduce el texto aquí...",
1651
1651
  "bookNowLabel": "Reserva ahora",
1652
1652
  "shippingLabel": "Habilitar dirección de envío",
1653
- "shippingPlaceholder": "Exigir a los clientes que introduzcan una dirección de envío al finalizar la compra."
1653
+ "shippingPlaceholder": "Exigir a los clientes que introduzcan una dirección de envío al finalizar la compra.",
1654
+ "faqSectionDisplayName": "Preguntas frecuentes",
1655
+ "faqItemsDisplayName": "Artículos",
1656
+ "defaultFaqTitle": "Preguntas frecuentes",
1657
+ "defaultFaqDescription": "Encuentra respuestas a preguntas comunes sobre nuestros productos, servicios o negocio",
1658
+ "defaultFaqQuestion": "¿Qué servicios ofreces?",
1659
+ "defaultFaqAnswer": "Ofrecemos una variedad de productos y servicios adaptados a tus necesidades. Ponte en contacto con nosotros para obtener más información sobre cómo podemos ayudarte.",
1660
+ "faqQuestionTitle": "Pregunta",
1661
+ "faqAnswerTitle": "Respuesta"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Campo",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "{{title}} copia"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Muestra la navegación debajo del logo",
1882
1889
  "previewDescription": "La vista previa no está disponible en este tamaño de pantalla.",
1883
1890
  "navigationStyle": "Estilo de navegación",
1884
1891
  "navigationType": "Tipo de navegación",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Saisir le texte ici...",
1651
1651
  "bookNowLabel": "Prendre RDV",
1652
1652
  "shippingLabel": "Activer l'adresse de livraison",
1653
- "shippingPlaceholder": "Exigez des clients qu'ils saisissent une adresse de livraison lors de la validation de leur commande."
1653
+ "shippingPlaceholder": "Exigez des clients qu'ils saisissent une adresse de livraison lors de la validation de leur commande.",
1654
+ "faqSectionDisplayName": "FAQ",
1655
+ "faqItemsDisplayName": "Articles",
1656
+ "defaultFaqTitle": "Questions fréquemment posées",
1657
+ "defaultFaqDescription": "Trouvez des réponses aux questions fréquentes sur nos produits, nos services ou notre entreprise",
1658
+ "defaultFaqQuestion": "Quels services offrez-vous?",
1659
+ "defaultFaqAnswer": "Nous offrons une gamme de produits et services adaptés à vos besoins. Contactez-nous pour en savoir plus sur la façon dont nous pouvons vous aider.",
1660
+ "faqQuestionTitle": "Question",
1661
+ "faqAnswerTitle": "Réponse"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Champ",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "{{title}} Copie"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Afficher la navigation sous le logo",
1882
1889
  "previewDescription": "L'aperçu n'est pas disponible pour cette taille d'écran.",
1883
1890
  "navigationStyle": "Style de navigation",
1884
1891
  "navigationType": "Type de navigation",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Saisir le texte ici...",
1651
1651
  "bookNowLabel": "Prendre RDV",
1652
1652
  "shippingLabel": "Activer l'adresse de livraison",
1653
- "shippingPlaceholder": "Exigez des clients qu'ils saisissent une adresse de livraison lors de la validation de leur commande."
1653
+ "shippingPlaceholder": "Exigez des clients qu'ils saisissent une adresse de livraison lors de la validation de leur commande.",
1654
+ "faqSectionDisplayName": "FAQ",
1655
+ "faqItemsDisplayName": "Articles",
1656
+ "defaultFaqTitle": "Questions fréquemment posées",
1657
+ "defaultFaqDescription": "Trouvez des réponses aux questions fréquentes sur nos produits, nos services, ou notre entreprise",
1658
+ "defaultFaqQuestion": "Quels services proposez-vous ?",
1659
+ "defaultFaqAnswer": "Nous proposons une gamme de produits et services adaptés à vos besoins. Contactez-nous pour en savoir plus sur la façon dont nous pouvons vous aider.",
1660
+ "faqQuestionTitle": "Question",
1661
+ "faqAnswerTitle": "Réponse"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Champ",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "Copie de {{title}}"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Afficher la navigation sous le logo",
1882
1889
  "previewDescription": "L'aperçu n'est pas disponible pour cette taille d'écran.",
1883
1890
  "navigationStyle": "Style de navigation",
1884
1891
  "navigationType": "Type de navigation",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Enter text here...",
1651
1651
  "bookNowLabel": "Book Now",
1652
1652
  "shippingLabel": "Enable Shipping Address",
1653
- "shippingPlaceholder": "Require customers to enter a shipping address during checkout."
1653
+ "shippingPlaceholder": "Require customers to enter a shipping address during checkout.",
1654
+ "faqSectionDisplayName": "FAQ",
1655
+ "faqItemsDisplayName": "Items",
1656
+ "defaultFaqTitle": "Frequently Asked Questions",
1657
+ "defaultFaqDescription": "Find answers to common questions about our products, services, or business",
1658
+ "defaultFaqQuestion": "What services do you offer?",
1659
+ "defaultFaqAnswer": "We provide a range of products and services tailored to meet your needs. Contact us to learn more about how we can help.",
1660
+ "faqQuestionTitle": "Question",
1661
+ "faqAnswerTitle": "Answer"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Field",
@@ -1859,6 +1867,7 @@
1859
1867
  "navigationSectionTitle": "Navigation",
1860
1868
  "headerSectionTitle": "Header",
1861
1869
  "backgroundOpacity": "Background opacity",
1870
+ "logoBackgroundColor": "Logo background color",
1862
1871
  "buttonSectionTitle": "Button",
1863
1872
  "footerSettings": "Footer Settings",
1864
1873
  "managePages": "Manage Pages",
@@ -1878,7 +1887,6 @@
1878
1887
  "duplicatePageTitle": "{{title}} Copy"
1879
1888
  },
1880
1889
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Show navigation below logo",
1882
1890
  "previewDescription": "Preview is not available on this screen size.",
1883
1891
  "navigationStyle": "Navigation style",
1884
1892
  "navigationType": "Navigation type",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Insira o texto aqui...",
1651
1651
  "bookNowLabel": "Reserve agora",
1652
1652
  "shippingLabel": "Ativar endereço para envio",
1653
- "shippingPlaceholder": "Exija que os clientes informem um endereço para envio na finalização da compra."
1653
+ "shippingPlaceholder": "Exija que os clientes informem um endereço para envio na finalização da compra.",
1654
+ "faqSectionDisplayName": "Perguntas frequentes",
1655
+ "faqItemsDisplayName": "Itens",
1656
+ "defaultFaqTitle": "Perguntas frequentes",
1657
+ "defaultFaqDescription": "Encontre respostas para perguntas comuns sobre nossos produtos, serviços ou empresa",
1658
+ "defaultFaqQuestion": "Quais serviços você oferece?",
1659
+ "defaultFaqAnswer": "Oferecemos uma variedade de produtos e serviços personalizados para atender às suas necessidades. Entre em contato conosco para saber mais sobre como podemos ajudar.",
1660
+ "faqQuestionTitle": "Pergunta",
1661
+ "faqAnswerTitle": "Resposta"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Campo",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "{{title}} Copiar"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Mostrar navegação abaixo do logotipo",
1882
1889
  "previewDescription": "A visualização não está disponível neste tamanho de tela.",
1883
1890
  "navigationStyle": "Estilo de navegação",
1884
1891
  "navigationType": "Tipo de navegação",
@@ -1650,7 +1650,15 @@
1650
1650
  "enterTextHerePlaceholder": "Introduza o texto aqui...",
1651
1651
  "bookNowLabel": "Reservar já",
1652
1652
  "shippingLabel": "Ativar morada de envio",
1653
- "shippingPlaceholder": "Exija que os clientes introduzam uma morada de envio durante o processo de finalização da compra."
1653
+ "shippingPlaceholder": "Exija que os clientes introduzam uma morada de envio durante o processo de finalização da compra.",
1654
+ "faqSectionDisplayName": "Perguntas frequentes",
1655
+ "faqItemsDisplayName": "Itens",
1656
+ "defaultFaqTitle": "Perguntas frequentes",
1657
+ "defaultFaqDescription": "Encontre respostas a perguntas frequentes sobre os nossos produtos, serviços ou empresa",
1658
+ "defaultFaqQuestion": "Que serviços oferece?",
1659
+ "defaultFaqAnswer": "Disponibilizamos uma variedade de produtos e serviços adaptados para satisfazer as suas necessidades. Contacte-nos para saber mais sobre como podemos ajudar.",
1660
+ "faqQuestionTitle": "Pergunta",
1661
+ "faqAnswerTitle": "Resposta"
1654
1662
  },
1655
1663
  "formFields": {
1656
1664
  "field": "Campo",
@@ -1878,7 +1886,6 @@
1878
1886
  "duplicatePageTitle": "{{title}} Cópia"
1879
1887
  },
1880
1888
  "pageSettingsSection": {
1881
- "showNavigationBelow": "Mostrar a navegação por baixo do logótipo",
1882
1889
  "previewDescription": "A pré-visualização não está disponível neste tamanho de ecrã.",
1883
1890
  "navigationStyle": "Estilo de navegação",
1884
1891
  "navigationType": "Tipo de navegação",
package/src/lib.ts CHANGED
@@ -22,6 +22,7 @@ export {
22
22
  isUrlType,
23
23
  HEADER_DISPLAY,
24
24
  NAVIGATION_DISPLAY,
25
+ STACKED_LOGO_LAYOUTS,
25
26
  STYLE_THEME_KEYS,
26
27
  RECAPTCHA_ACTION_MAILING_LIST,
27
28
  RECAPTCHA_ACTION_CONTACT_FORM,
@@ -3,7 +3,7 @@ import type {
3
3
  BrandPageModel,
4
4
  TextStyleDeclaration,
5
5
  } from '../../brand-page/models';
6
- import { TextStyles } from '../../brand-page/models';
6
+ import { BRAND_PAGE_TYPES, TextStyles } from '../../brand-page/models';
7
7
  import type { TextStyleOptions } from '../../brand-page/models/styles.model';
8
8
  import {
9
9
  resolveTextStyle,
@@ -12,6 +12,7 @@ import {
12
12
  import type { UpdateHeaderArguments } from '../parsers/ai-toolcall-parser';
13
13
  import { BUILDER_TYPES } from '../models';
14
14
  import { HeaderBuilder } from './header-builder';
15
+ import { HEADER_DISPLAY, NAVIGATION_DISPLAY } from '../../brand-page/constants';
15
16
 
16
17
  /**
17
18
  * BP-5420: changing the nav menu font had no effect when the nav button style was bound to a
@@ -221,3 +222,56 @@ describe('HeaderBuilder — nav menu font reaches the hamburger overlay (BP-6079
221
222
  ).toBeUndefined();
222
223
  });
223
224
  });
225
+
226
+ describe("HeaderBuilder — a BP/BC hamburger can't show the header logo", () => {
227
+ const runFor = (
228
+ brandPageType: string,
229
+ args: UpdateHeaderArguments,
230
+ ): Promise<{ model: BrandPageModel; errors?: string[] }> =>
231
+ new HeaderBuilder({
232
+ id: 'h1',
233
+ type: BUILDER_TYPES.UPDATE_HEADER,
234
+ payload: args,
235
+ }).buildAsync({ brandPageType } as unknown as BrandPageModel);
236
+
237
+ it('rejects a with-logo hamburger display_style for BP', async () => {
238
+ const { errors } = await runFor(BRAND_PAGE_TYPES.default, {
239
+ desktop: { display_style: HEADER_DISPLAY.DESKTOP_HAMBURGER_1 },
240
+ });
241
+
242
+ expect(errors).toHaveLength(1);
243
+ expect(errors![0]).toContain('desktop.display_style');
244
+ });
245
+
246
+ it('rejects is_logo_visible:true alongside a hamburger nav_display_type for BC', async () => {
247
+ const { errors } = await runFor(BRAND_PAGE_TYPES.brandContact, {
248
+ mobile: {
249
+ nav_display_type: NAVIGATION_DISPLAY.HAMBURGER_1,
250
+ is_logo_visible: true,
251
+ },
252
+ });
253
+
254
+ expect(errors).toHaveLength(1);
255
+ expect(errors![0]).toContain('mobile.is_logo_visible');
256
+ });
257
+
258
+ it('allows a no-logo hamburger layout for BP', async () => {
259
+ const { errors } = await runFor(BRAND_PAGE_TYPES.default, {
260
+ desktop: { display_style: HEADER_DISPLAY.DESKTOP_HAMBURGER_NO_LOGO_1 },
261
+ });
262
+
263
+ expect(errors ?? []).toEqual([]);
264
+ });
265
+
266
+ it('allows the same with-logo hamburger layout for brand site', async () => {
267
+ const { errors } = await runFor(BRAND_PAGE_TYPES.brandSite, {
268
+ desktop: { display_style: HEADER_DISPLAY.DESKTOP_HAMBURGER_1 },
269
+ mobile: {
270
+ nav_display_type: NAVIGATION_DISPLAY.HAMBURGER_1,
271
+ is_logo_visible: true,
272
+ },
273
+ });
274
+
275
+ expect(errors ?? []).toEqual([]);
276
+ });
277
+ });
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  type BrandPageModel,
3
+ type BrandPageType,
3
4
  type AbstractPageHeaderStyles,
4
5
  } from '../../brand-page/models';
5
6
  import {
@@ -217,6 +218,8 @@ const applyNavRouteChanges = (
217
218
  };
218
219
 
219
220
  export class HeaderBuilder extends BaseMetadataBuilder<UpdateHeaderArguments> {
221
+ private brandPageType: BrandPageType | undefined;
222
+
220
223
  constructor(
221
224
  request: MetadataBuilderRequest<UpdateHeaderArguments>,
222
225
  logger?: Logger,
@@ -229,7 +232,7 @@ export class HeaderBuilder extends BaseMetadataBuilder<UpdateHeaderArguments> {
229
232
 
230
233
  try {
231
234
  const errors = HEADER_CHECKS.flatMap((check) => {
232
- const err = check(args);
235
+ const err = check(args, this.brandPageType);
233
236
 
234
237
  return err ? [err] : [];
235
238
  });
@@ -248,6 +251,8 @@ export class HeaderBuilder extends BaseMetadataBuilder<UpdateHeaderArguments> {
248
251
  async buildAsync(model: BrandPageModel): Promise<BuilderResult> {
249
252
  this.log('Build called');
250
253
 
254
+ this.brandPageType = model.brandPageType;
255
+
251
256
  const validation = await this.validateAsync();
252
257
 
253
258
  if (validation.errors.length) {