@designcrowd/library.brand-page 5.18.3-snapshot-imp → 5.18.3-undo-37

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 (149) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-ChzmotnG.js → CreatedOnBrandCrowd-de-de-CM2cOZlw.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-ZdFzOWbY.js → CreatedOnBrandCrowd-en-us-rq4QquAm.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-CuDl4NR4.js → CreatedOnBrandCrowd-es-es-BgbxyKPJ.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BAvtNfrv.js → CreatedOnBrandCrowd-fr-ca-Dm1XphSl.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BAvtNfrv.js → CreatedOnBrandCrowd-fr-fr-Dm1XphSl.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-b4itoYT_.js → CreatedOnBrandCrowd-pt-br-B2a5OfdX.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-b4itoYT_.js → CreatedOnBrandCrowd-pt-pt-B2a5OfdX.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-G5gGEkB6.js → CreatedOnDcom-de-de-BClRSXzU.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-BpguOdZJ.js → CreatedOnDcom-en-us-Cg4PeKOO.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-BRgcye-V.js → CreatedOnDcom-es-es-izSiOsWK.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-CFbsr6oq.js → CreatedOnDcom-fr-ca-IHiZuyNO.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DUmO5M1Y.js → CreatedOnDcom-fr-fr-DLGYRMhZ.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CmF0vR2v.js → CreatedOnDcom-pt-br-DAv_n1Hs.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-CuEzlMh3.js → CreatedOnDcom-pt-pt-5DGgadD1.js} +1 -1
  15. package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +1 -1
  16. package/lib/src/brand-page/components/media/Media.mixin.d.ts +2 -2
  17. package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +7 -2
  18. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +7 -2
  19. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +10 -0
  20. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +7 -2
  21. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +1 -0
  22. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +87 -2
  23. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +5 -0
  24. package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +7 -2
  25. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +3 -0
  26. package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.js +11 -0
  27. package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +7 -2
  28. package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +7 -2
  29. package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +7 -2
  30. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +7 -2
  31. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +12 -16
  32. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +20 -1
  33. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +20 -0
  34. package/lib/src/brand-page-maker/composables/useEventTracker.js +17 -0
  35. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.d.ts +16 -0
  36. package/lib/src/brand-page-maker/composables/useUndoRedoFlag.js +22 -0
  37. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +41 -2
  38. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +307 -5
  39. package/lib/src/brand-page-maker/stores/history/history-store.d.ts +83 -0
  40. package/lib/src/brand-page-maker/stores/history/history-store.js +488 -0
  41. package/lib/src/brand-page-maker/stores/logo-store/logo-store.d.ts +1 -0
  42. package/lib/src/brand-page-maker/stores/user/user-store.js +1 -0
  43. package/lib/src/bundled-translations-D1q3rSEz.js +175 -0
  44. package/lib/src/{bundled-translations.de-DE-2Ys7epLO.js → bundled-translations.de-DE-DpdVePM9.js} +1 -1
  45. package/lib/src/bundled-translations.es-ES-BsIcrzZF.js +175 -0
  46. package/lib/src/bundled-translations.fr-CA-G1XCp2Qh.js +175 -0
  47. package/lib/src/bundled-translations.fr-FR-BdwLXOnB.js +175 -0
  48. package/lib/src/bundled-translations.pt-BR-Bvn5ePe7.js +175 -0
  49. package/lib/src/bundled-translations.pt-PT-CDtkb2k1.js +175 -0
  50. package/lib/src/bundles/bundled-translations.de-DE.json +2 -0
  51. package/lib/src/bundles/bundled-translations.es-ES.json +2 -0
  52. package/lib/src/bundles/bundled-translations.fr-CA.json +2 -0
  53. package/lib/src/bundles/bundled-translations.fr-FR.json +2 -0
  54. package/lib/src/bundles/bundled-translations.json +5 -1
  55. package/lib/src/bundles/bundled-translations.pt-BR.json +2 -0
  56. package/lib/src/bundles/bundled-translations.pt-PT.json +2 -0
  57. package/lib/src/composables/useSnapshot.js +21 -233
  58. package/lib/src/constants/ui.d.ts +1 -0
  59. package/lib/src/css/library.brand-page-brandCrowd.min.css +70 -18
  60. package/lib/src/css/library.brand-page-brandPage.min.css +70 -19
  61. package/lib/src/css/library.brand-page-designCom.min.css +70 -18
  62. package/lib/src/css/library.brand-page-preview.min.css +70 -18
  63. package/lib/src/index.mjs +1 -1
  64. package/lib/src/{lib-ChiCt_bx.js → lib-pHQ0LDnY.js} +35337 -34815
  65. package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +13 -0
  66. package/lib/src/metadata-builder/builders/reorder-pages-builder.js +49 -0
  67. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +87 -2
  68. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +5 -0
  69. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +1 -0
  70. package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +23 -2
  71. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +16 -0
  72. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +7 -2
  73. package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.d.ts +3 -0
  74. package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.js +19 -2
  75. package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.js +18 -8
  76. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +64 -0
  77. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.js +6 -0
  78. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +19 -0
  79. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +11 -0
  80. package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +10 -2
  81. package/lib/src/shared/logo-settings/store/editable-logo-store.d.ts +5 -1
  82. package/lib/src/shared/logo-settings/store/editable-logo-store.js +31 -0
  83. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +24 -2
  84. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +10 -2
  85. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +23 -2
  86. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +16 -0
  87. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +23 -2
  88. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +16 -0
  89. package/package.json +1 -1
  90. package/src/brand-page-maker/components/ai-website-builder/AiWebsiteBuilder.vue +4 -3
  91. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +11 -0
  92. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +3 -11
  93. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +1 -0
  94. package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +5 -0
  95. package/src/brand-page-maker/components/brandpage-settings/BrandPageSettings.vue +8 -0
  96. package/src/brand-page-maker/components/cookie-collection/CookieSettings.vue +18 -17
  97. package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.ts +13 -0
  98. package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.vue +26 -3
  99. package/src/brand-page-maker/components/quick-link-bar/RedoButton.vue +66 -0
  100. package/src/brand-page-maker/components/quick-link-bar/UndoButton.vue +66 -0
  101. package/src/brand-page-maker/components/quick-link-bar/i18n/quick-link-bar.json +3 -1
  102. package/src/brand-page-maker/components/quick-link-bar/undo-redo-buttons.test.ts +116 -0
  103. package/src/brand-page-maker/components/save-contact/SaveContact.vue +12 -19
  104. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +14 -19
  105. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +24 -1
  106. package/src/brand-page-maker/composables/useEventTracker.ts +29 -0
  107. package/src/brand-page-maker/composables/useUndoRedoFlag.ts +26 -0
  108. package/src/brand-page-maker/constants/i18n/constants.de-DE.json +2 -0
  109. package/src/brand-page-maker/constants/i18n/constants.es-ES.json +2 -0
  110. package/src/brand-page-maker/constants/i18n/constants.fr-CA.json +2 -0
  111. package/src/brand-page-maker/constants/i18n/constants.fr-FR.json +2 -0
  112. package/src/brand-page-maker/constants/i18n/constants.json +2 -0
  113. package/src/brand-page-maker/constants/i18n/constants.pt-BR.json +2 -0
  114. package/src/brand-page-maker/constants/i18n/constants.pt-PT.json +2 -0
  115. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +335 -0
  116. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +371 -4
  117. package/src/brand-page-maker/stores/history/history-store.test.ts +1120 -0
  118. package/src/brand-page-maker/stores/history/history-store.ts +651 -0
  119. package/src/brand-page-maker/stores/logo-store/logo-store.ts +5 -0
  120. package/src/brand-page-maker/stores/user/user-store.ts +1 -0
  121. package/src/bundles/bundled-translations.de-DE.json +2 -0
  122. package/src/bundles/bundled-translations.es-ES.json +2 -0
  123. package/src/bundles/bundled-translations.fr-CA.json +2 -0
  124. package/src/bundles/bundled-translations.fr-FR.json +2 -0
  125. package/src/bundles/bundled-translations.json +5 -1
  126. package/src/bundles/bundled-translations.pt-BR.json +2 -0
  127. package/src/bundles/bundled-translations.pt-PT.json +2 -0
  128. package/src/composables/useSnapshot.ts +31 -316
  129. package/src/constants/ui.ts +1 -0
  130. package/src/metadata-builder/builders/reorder-pages-builder.ts +80 -0
  131. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +5 -0
  132. package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +1 -0
  133. package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.ts +19 -2
  134. package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.vue +1 -1
  135. package/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.ts +26 -10
  136. package/src/shared/content-settings/components/logo-selection-field/LogoSelection.vue +63 -48
  137. package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +4 -0
  138. package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.ts +7 -0
  139. package/src/shared/content-settings/components/text-field/TextField.vue +1 -0
  140. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +33 -4
  141. package/src/shared/font-family-selector/FontPicker.vue +91 -4
  142. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +11 -0
  143. package/src/shared/logo-settings/store/editable-logo-store.ts +42 -1
  144. package/lib/src/bundled-translations-CnareLWC.js +0 -175
  145. package/lib/src/bundled-translations.es-ES-Cjp-G8rT.js +0 -175
  146. package/lib/src/bundled-translations.fr-CA-CsaW4Oae.js +0 -175
  147. package/lib/src/bundled-translations.fr-FR-DIT2dd8J.js +0 -175
  148. package/lib/src/bundled-translations.pt-BR-BamoBpDW.js +0 -175
  149. package/lib/src/bundled-translations.pt-PT-C9A4hY_e.js +0 -175
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-ChiCt_bx.js";
2
+ import { _ as t } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-ChiCt_bx.js";
2
+ import { _ as e } from "./lib-pHQ0LDnY.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-ChiCt_bx.js";
2
+ import { _ as e } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-ChiCt_bx.js";
2
+ import { _ as e } from "./lib-pHQ0LDnY.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-ChiCt_bx.js";
2
+ import { _ as e } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-ChiCt_bx.js";
2
+ import { _ as e } from "./lib-pHQ0LDnY.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-ChiCt_bx.js";
2
+ import { _ as M } from "./lib-pHQ0LDnY.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-ChiCt_bx.js";
2
+ import { _ as M } from "./lib-pHQ0LDnY.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -63,7 +63,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
63
63
  }>> & Readonly<{
64
64
  "onImage-click"?: ((...args: any[]) => any) | undefined;
65
65
  }>, {
66
- gap: number;
67
66
  contentIndex: number;
67
+ gap: number;
68
68
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
69
69
  export default _default;
@@ -141,10 +141,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
141
141
  size: string;
142
142
  displayStyle: string;
143
143
  role: string;
144
- minHeight: number | boolean;
145
- minWidth: number | boolean;
146
144
  contentIndex: number;
147
145
  altText: string;
148
146
  imgClasses: string | Record<string, any>;
147
+ minHeight: number | boolean;
148
+ minWidth: number | boolean;
149
149
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
150
150
  export default _default;
@@ -107,16 +107,21 @@ declare const _default: import("vue").DefineComponent<{}, {
107
107
  hideChangeTemplateConfirmModal(): void;
108
108
  onBackgroundChanged(): void;
109
109
  onChangeTemplateConfirmModalCancel(): void;
110
- onChangeTemplateConfirmModalConfirm(): void;
110
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
111
111
  onContentChanged(): void;
112
112
  onStyleChanged(): void;
113
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
113
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
114
114
  setSelectedTabName(payload: any): void;
115
115
  showNextNotificationMessage(): Promise<void>;
116
116
  updateContent<TContent extends import("@brand-page/models").Content, P extends {
117
117
  id: string;
118
118
  content: TContent;
119
119
  }>(payload: P): Promise<void>;
120
+ _captureTemplateSwitchIfEnabled(): void;
121
+ applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
122
+ _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
123
+ _navigateToActivePage(activePageId?: string | undefined): void;
124
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page/models").BrandPageModel): void;
120
125
  export(): import("@brand-page/models").BrandPageModel;
121
126
  setBrandPageType({ brandPageType }: {
122
127
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -152,16 +152,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
152
152
  hideChangeTemplateConfirmModal(): void;
153
153
  onBackgroundChanged(): void;
154
154
  onChangeTemplateConfirmModalCancel(): void;
155
- onChangeTemplateConfirmModalConfirm(): void;
155
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
156
156
  onContentChanged(): void;
157
157
  onStyleChanged(): void;
158
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
158
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
159
159
  setSelectedTabName(payload: any): void;
160
160
  showNextNotificationMessage(): Promise<void>;
161
161
  updateContent<TContent extends import("@brand-page").Content, P extends {
162
162
  id: string;
163
163
  content: TContent;
164
164
  }>(payload: P): Promise<void>;
165
+ _captureTemplateSwitchIfEnabled(): void;
166
+ applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
167
+ _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
168
+ _navigateToActivePage(activePageId?: string | undefined): void;
169
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
165
170
  export(): import("@brand-page").BrandPageModel;
166
171
  setBrandPageType({ brandPageType }: {
167
172
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -11,6 +11,8 @@ import { navigateToPageByPageId } from '../../routing';
11
11
  import { useBrandPageContainerStore } from '@brand-page-maker/stores';
12
12
  import { UI_DEVICE_MODES, UI_SCREENSIZE_MODES, } from '@shared/models';
13
13
  import { useBrandPageMakerStore, useBrandPageMakerUserStore, useLocalisedRouteStore, useUiStore, useSnapshotStore, useVideoStore, } from '@brand-page-maker/stores';
14
+ import { useHistoryStore } from '@brand-page-maker/stores/history/history-store';
15
+ import { useUndoRedoFlag } from '@brand-page-maker/composables/useUndoRedoFlag';
14
16
  import { useUiContentSettingsStore } from '@shared/content-settings/store';
15
17
  import { useUiTemplateSettingsStore } from '@shared/template-settings/store';
16
18
  import { useUiPageSettingsStore } from '@shared/page-settings/store';
@@ -189,6 +191,14 @@ export default defineComponent({
189
191
  }
190
192
  // Mark brand page as fully loaded
191
193
  this.brandPageMakerStore.setIsBrandPageLoaded(true);
194
+ // Capture baseline for undo/redo when the feature is active for this
195
+ // session. `useUndoRedoFlag` requires both the LaunchDarkly feature
196
+ // (`userStore.features.canUseUndoRedo`) AND the maker being a brand-site
197
+ // — V1 scope is brand-site only; brand-page and brand-contact don't get
198
+ // undo/redo. See useUndoRedoFlag.ts for the rationale.
199
+ if (useUndoRedoFlag().value) {
200
+ useHistoryStore().captureBaseline();
201
+ }
192
202
  this.$emit(EVENTS.Initialised);
193
203
  },
194
204
  mounted() {
@@ -96,16 +96,21 @@ declare const _default: import("vue").DefineComponent<{}, {
96
96
  hideChangeTemplateConfirmModal(): void;
97
97
  onBackgroundChanged(): void;
98
98
  onChangeTemplateConfirmModalCancel(): void;
99
- onChangeTemplateConfirmModalConfirm(): void;
99
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
100
100
  onContentChanged(): void;
101
101
  onStyleChanged(): void;
102
- onTemplateSelected(payload: import("../../stores").OnTemplateSelectedPayload): void;
102
+ onTemplateSelected(payload: import("../../stores").OnTemplateSelectedPayload): Promise<void>;
103
103
  setSelectedTabName(payload: any): void;
104
104
  showNextNotificationMessage(): Promise<void>;
105
105
  updateContent<TContent extends import("../../../lib").Content, P extends {
106
106
  id: string;
107
107
  content: TContent;
108
108
  }>(payload: P): Promise<void>;
109
+ _captureTemplateSwitchIfEnabled(): void;
110
+ applyHistorySnapshot(snapshot: import("../../../lib").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
111
+ _syncLogoSettingsFromSnapshot(snapshot: import("../../../lib").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
112
+ _navigateToActivePage(activePageId?: string | undefined): void;
113
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../lib").BrandPageModel): void;
109
114
  export(): import("../../../lib").BrandPageModel;
110
115
  setBrandPageType({ brandPageType }: {
111
116
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -53,6 +53,7 @@ export const userFeatures = {
53
53
  canUseGettyVideos: false,
54
54
  canUseGoogleAdsense: false,
55
55
  googleAdsenseEnabled: false,
56
+ canUseUndoRedo: false,
56
57
  };
57
58
  export const BRAND_PAGE = {
58
59
  styles: {
@@ -602,16 +602,21 @@ declare const _default: import("vue").DefineComponent<{}, {
602
602
  hideChangeTemplateConfirmModal(): void;
603
603
  onBackgroundChanged(): void;
604
604
  onChangeTemplateConfirmModalCancel(): void;
605
- onChangeTemplateConfirmModalConfirm(): void;
605
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
606
606
  onContentChanged(): void;
607
607
  onStyleChanged(): void;
608
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
608
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
609
609
  setSelectedTabName(payload: any): void;
610
610
  showNextNotificationMessage(): Promise<void>;
611
611
  updateContent<TContent extends Content, P extends {
612
612
  id: string;
613
613
  content: TContent;
614
614
  }>(payload: P): Promise<void>;
615
+ _captureTemplateSwitchIfEnabled(): void;
616
+ applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
617
+ _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
618
+ _navigateToActivePage(activePageId?: string | undefined): void;
619
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
615
620
  export(): import("@brand-page").BrandPageModel;
616
621
  setBrandPageType({ brandPageType }: {
617
622
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -1046,6 +1051,22 @@ declare const _default: import("vue").DefineComponent<{}, {
1046
1051
  }>;
1047
1052
  eventTracker: {
1048
1053
  sendShippingToggleEvent: (isEnabled: boolean) => void;
1054
+ sendUndoEvent: (props: {
1055
+ entries_count: number;
1056
+ actor: string | undefined;
1057
+ }) => void;
1058
+ sendRedoEvent: (props: {
1059
+ entries_count: number;
1060
+ actor: string | undefined;
1061
+ }) => void;
1062
+ sendHistoryCappedEvent: (props: {
1063
+ entries_count: number;
1064
+ size_bytes: number;
1065
+ }) => void;
1066
+ sendHistoryOversizedEvent: (props: {
1067
+ attempted_bytes: number;
1068
+ source: string;
1069
+ }) => void;
1049
1070
  sendSaveContactEvent: () => void;
1050
1071
  sendStartForFreeEvent: () => void;
1051
1072
  sendFooterLinkClickEvent: (linkType: "watermark_logo" | "create_your_website") => void;
@@ -1150,6 +1171,70 @@ declare const _default: import("vue").DefineComponent<{}, {
1150
1171
  }): Promise<void>;
1151
1172
  toggleLogoBackground(): Promise<any>;
1152
1173
  }>;
1174
+ historyStore: import("pinia").Store<"history", Pick<{
1175
+ entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
1176
+ currentIndex: import("vue").Ref<number, number>;
1177
+ isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
1178
+ baselineCaptured: import("vue").Ref<boolean, boolean>;
1179
+ canUndo: import("vue").ComputedRef<boolean>;
1180
+ canRedo: import("vue").ComputedRef<boolean>;
1181
+ captureBaseline: () => void;
1182
+ capture: (args: {
1183
+ source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
1184
+ actor: "user" | "ai_builder";
1185
+ label?: string | undefined;
1186
+ }) => "committed" | "oversized" | "noop" | "skipped";
1187
+ captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1188
+ captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1189
+ mergeNextMutation: () => void;
1190
+ undo: () => Promise<void>;
1191
+ redo: () => Promise<void>;
1192
+ reset: () => void;
1193
+ getCurrentSizeBytes: () => number;
1194
+ getCurrentEntryCount: () => number;
1195
+ }, "entries" | "currentIndex" | "isApplyingSnapshot" | "baselineCaptured">, Pick<{
1196
+ entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
1197
+ currentIndex: import("vue").Ref<number, number>;
1198
+ isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
1199
+ baselineCaptured: import("vue").Ref<boolean, boolean>;
1200
+ canUndo: import("vue").ComputedRef<boolean>;
1201
+ canRedo: import("vue").ComputedRef<boolean>;
1202
+ captureBaseline: () => void;
1203
+ capture: (args: {
1204
+ source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
1205
+ actor: "user" | "ai_builder";
1206
+ label?: string | undefined;
1207
+ }) => "committed" | "oversized" | "noop" | "skipped";
1208
+ captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1209
+ captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1210
+ mergeNextMutation: () => void;
1211
+ undo: () => Promise<void>;
1212
+ redo: () => Promise<void>;
1213
+ reset: () => void;
1214
+ getCurrentSizeBytes: () => number;
1215
+ getCurrentEntryCount: () => number;
1216
+ }, "canUndo" | "canRedo">, Pick<{
1217
+ entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
1218
+ currentIndex: import("vue").Ref<number, number>;
1219
+ isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
1220
+ baselineCaptured: import("vue").Ref<boolean, boolean>;
1221
+ canUndo: import("vue").ComputedRef<boolean>;
1222
+ canRedo: import("vue").ComputedRef<boolean>;
1223
+ captureBaseline: () => void;
1224
+ capture: (args: {
1225
+ source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
1226
+ actor: "user" | "ai_builder";
1227
+ label?: string | undefined;
1228
+ }) => "committed" | "oversized" | "noop" | "skipped";
1229
+ captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1230
+ captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
1231
+ mergeNextMutation: () => void;
1232
+ undo: () => Promise<void>;
1233
+ redo: () => Promise<void>;
1234
+ reset: () => void;
1235
+ getCurrentSizeBytes: () => number;
1236
+ getCurrentEntryCount: () => number;
1237
+ }, "reset" | "undo" | "redo" | "captureBaseline" | "capture" | "captureTemplateSwitch" | "captureAiChangeset" | "mergeNextMutation" | "getCurrentSizeBytes" | "getCurrentEntryCount">>;
1153
1238
  }, {
1154
1239
  isDraggingContent: boolean;
1155
1240
  isContentSelected: boolean;
@@ -15,6 +15,7 @@ import { transformToRTE, RTE_ALLOWED_SECTION_TYPES, } from '@brand-page-maker/ut
15
15
  import { useExternalRichTextEditor } from '@brand-page-maker/composables/rich-text-editor/useRichTextEditor';
16
16
  import { useUiStyleSettingsStore } from '@shared/style-settings/store';
17
17
  import { STYLE_THEME_KEYS } from '@brand-page/constants';
18
+ import { useHistoryStore } from '@brand-page-maker/stores/history/history-store';
18
19
  export default defineComponent({
19
20
  mixins: [PageMixin],
20
21
  setup() {
@@ -29,6 +30,7 @@ export default defineComponent({
29
30
  const eventTracker = useEventTracker();
30
31
  const { externalEditor } = useExternalRichTextEditor();
31
32
  const styleSettingsStore = useUiStyleSettingsStore();
33
+ const historyStore = useHistoryStore();
32
34
  return {
33
35
  items: computed(() => contentSettingsStore.items),
34
36
  selectedItemId: computed(() => contentSettingsStore.selectedItemId),
@@ -51,6 +53,7 @@ export default defineComponent({
51
53
  eventTracker,
52
54
  externalEditor,
53
55
  styleSettingsStore,
56
+ historyStore,
54
57
  };
55
58
  },
56
59
  data() {
@@ -214,6 +217,8 @@ export default defineComponent({
214
217
  selectedItem = currentItem.settings.content;
215
218
  }
216
219
  }
220
+ // RTE rewrap on section selection — fold into current head.
221
+ this.historyStore.mergeNextMutation();
217
222
  transformToRTE(this.pageSettingsStore, this.externalEditor, this.styleSettingsStore, selectedItem);
218
223
  }
219
224
  if (this.selectEventDebounceHandler) {
@@ -102,16 +102,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
102
102
  hideChangeTemplateConfirmModal(): void;
103
103
  onBackgroundChanged(): void;
104
104
  onChangeTemplateConfirmModalCancel(): void;
105
- onChangeTemplateConfirmModalConfirm(): void;
105
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
106
106
  onContentChanged(): void;
107
107
  onStyleChanged(): void;
108
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
108
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
109
109
  setSelectedTabName(payload: any): void;
110
110
  showNextNotificationMessage(): Promise<void>;
111
111
  updateContent<TContent extends import("../../../brand-page").Content, P extends {
112
112
  id: string;
113
113
  content: TContent;
114
114
  }>(payload: P): Promise<void>;
115
+ _captureTemplateSwitchIfEnabled(): void;
116
+ applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
117
+ _syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
118
+ _navigateToActivePage(activePageId?: string | undefined): void;
119
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
115
120
  export(): import("../../../brand-page").BrandPageModel;
116
121
  setBrandPageType({ brandPageType }: {
117
122
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -291,9 +291,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
291
291
  pushManageWebPageUpdateSensitiveContentClickEvent(): Promise<void>;
292
292
  pushManageWebPageUnpublishClickEvent(): Promise<void>;
293
293
  }>;
294
+ undoRedoEnabled: import("vue").ComputedRef<boolean>;
294
295
  }, {
295
296
  copied: boolean;
296
297
  }, {
298
+ isPublished(): boolean;
299
+ shouldShowBar(): boolean;
297
300
  brandPageUrl(): string;
298
301
  copyButtonLabel(): string;
299
302
  }, {
@@ -1,6 +1,7 @@
1
1
  import { defineComponent } from 'vue';
2
2
  import { CUSTOM_DOMAIN_STATUSES } from '@brand-page-maker/constants';
3
3
  import { useBrandPageContainerStore, useEventManagerStore, } from '@brand-page-maker/stores';
4
+ import { useUndoRedoFlag } from '@brand-page-maker/composables/useUndoRedoFlag';
4
5
  import { quickLinkBarTr } from '@src/composables/useTranslate';
5
6
  export default defineComponent({
6
7
  props: {
@@ -17,6 +18,7 @@ export default defineComponent({
17
18
  return {
18
19
  brandPageContainerStore: useBrandPageContainerStore(),
19
20
  eventManagerStore: useEventManagerStore(),
21
+ undoRedoEnabled: useUndoRedoFlag(),
20
22
  };
21
23
  },
22
24
  data() {
@@ -25,6 +27,15 @@ export default defineComponent({
25
27
  };
26
28
  },
27
29
  computed: {
30
+ isPublished() {
31
+ return this.brandPageContainerStore.isPublished;
32
+ },
33
+ // Only render the bar when at least one inner cluster has something to
34
+ // show. Otherwise we'd render an empty white strip — e.g. on an
35
+ // unpublished page with the undo flag off.
36
+ shouldShowBar() {
37
+ return Boolean(this.undoRedoEnabled) || this.isPublished;
38
+ },
28
39
  brandPageUrl() {
29
40
  if (this.brandPageContainerStore.isCustomDomainEnabled &&
30
41
  this.brandPageContainerStore.customDomain &&
@@ -380,16 +380,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
380
380
  hideChangeTemplateConfirmModal(): void;
381
381
  onBackgroundChanged(): void;
382
382
  onChangeTemplateConfirmModalCancel(): void;
383
- onChangeTemplateConfirmModalConfirm(): void;
383
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
384
384
  onContentChanged(): void;
385
385
  onStyleChanged(): void;
386
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
386
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
387
387
  setSelectedTabName(payload: any): void;
388
388
  showNextNotificationMessage(): Promise<void>;
389
389
  updateContent<TContent extends import("../../../brand-page").Content, P extends {
390
390
  id: string;
391
391
  content: TContent;
392
392
  }>(payload: P): Promise<void>;
393
+ _captureTemplateSwitchIfEnabled(): void;
394
+ applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
395
+ _syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
396
+ _navigateToActivePage(activePageId?: string | undefined): void;
397
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
393
398
  export(): import("../../../brand-page").BrandPageModel;
394
399
  setBrandPageType({ brandPageType }: {
395
400
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -381,16 +381,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
381
381
  hideChangeTemplateConfirmModal(): void;
382
382
  onBackgroundChanged(): void;
383
383
  onChangeTemplateConfirmModalCancel(): void;
384
- onChangeTemplateConfirmModalConfirm(): void;
384
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
385
385
  onContentChanged(): void;
386
386
  onStyleChanged(): void;
387
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
387
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
388
388
  setSelectedTabName(payload: any): void;
389
389
  showNextNotificationMessage(): Promise<void>;
390
390
  updateContent<TContent extends import("../../../brand-page").Content, P extends {
391
391
  id: string;
392
392
  content: TContent;
393
393
  }>(payload: P): Promise<void>;
394
+ _captureTemplateSwitchIfEnabled(): void;
395
+ applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
396
+ _syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
397
+ _navigateToActivePage(activePageId?: string | undefined): void;
398
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
394
399
  export(): import("../../../brand-page").BrandPageModel;
395
400
  setBrandPageType({ brandPageType }: {
396
401
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -112,16 +112,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
112
112
  hideChangeTemplateConfirmModal(): void;
113
113
  onBackgroundChanged(): void;
114
114
  onChangeTemplateConfirmModalCancel(): void;
115
- onChangeTemplateConfirmModalConfirm(): void;
115
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
116
116
  onContentChanged(): void;
117
117
  onStyleChanged(): void;
118
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
118
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
119
119
  setSelectedTabName(payload: any): void;
120
120
  showNextNotificationMessage(): Promise<void>;
121
121
  updateContent<TContent extends import("../../../brand-page").Content, P extends {
122
122
  id: string;
123
123
  content: TContent;
124
124
  }>(payload: P): Promise<void>;
125
+ _captureTemplateSwitchIfEnabled(): void;
126
+ applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
127
+ _syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
128
+ _navigateToActivePage(activePageId?: string | undefined): void;
129
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
125
130
  export(): import("../../../brand-page").BrandPageModel;
126
131
  setBrandPageType({ brandPageType }: {
127
132
  brandPageType: "default" | "brandSite" | "brandContact";
@@ -432,16 +432,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
432
432
  hideChangeTemplateConfirmModal(): void;
433
433
  onBackgroundChanged(): void;
434
434
  onChangeTemplateConfirmModalCancel(): void;
435
- onChangeTemplateConfirmModalConfirm(): void;
435
+ onChangeTemplateConfirmModalConfirm(): Promise<void>;
436
436
  onContentChanged(): void;
437
437
  onStyleChanged(): void;
438
- onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
438
+ onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): Promise<void>;
439
439
  setSelectedTabName(payload: any): void;
440
440
  showNextNotificationMessage(): Promise<void>;
441
441
  updateContent<TContent extends import("@brand-page").Content, P extends {
442
442
  id: string;
443
443
  content: TContent;
444
444
  }>(payload: P): Promise<void>;
445
+ _captureTemplateSwitchIfEnabled(): void;
446
+ applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
447
+ _syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
448
+ _navigateToActivePage(activePageId?: string | undefined): void;
449
+ _fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
445
450
  export(): import("@brand-page").BrandPageModel;
446
451
  setBrandPageType({ brandPageType }: {
447
452
  brandPageType: "default" | "brandSite" | "brandContact";