@designcrowd/library.brand-page 6.0.6-undo-3 → 6.0.6-undo-4
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.
- package/lib/src/{CreatedOnBrandCrowd-de-de-x7BcD7Sj.js → CreatedOnBrandCrowd-de-de-BqD7lX6T.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-CG-ThD_q.js → CreatedOnBrandCrowd-en-us-BXFZ-Vv_.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-aab4_Re2.js → CreatedOnBrandCrowd-es-es-qTAVOIsd.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-Drl8X5uh.js → CreatedOnBrandCrowd-fr-ca-LVZ7sAKH.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-Drl8X5uh.js → CreatedOnBrandCrowd-fr-fr-LVZ7sAKH.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-8Ib7T70i.js → CreatedOnBrandCrowd-pt-br-TSeJN2wb.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-8Ib7T70i.js → CreatedOnBrandCrowd-pt-pt-TSeJN2wb.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-FJtydzc5.js → CreatedOnDcom-de-de-BLLcDw_4.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-BMiXru6P.js → CreatedOnDcom-en-us-BVdWxcIs.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-B8Srdnku.js → CreatedOnDcom-es-es-BZRzR4GZ.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-tcXGiBNt.js → CreatedOnDcom-fr-ca-B97f7ekB.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-nE1cuUEU.js → CreatedOnDcom-fr-fr-CNWS12Rb.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-DxCCXCg8.js → CreatedOnDcom-pt-br-CsASsHeV.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-Csabip9G.js → CreatedOnDcom-pt-pt-CsYqjPls.js} +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +4 -4
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +4 -4
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +6 -1
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-C_UlYMJy.js → lib-BNqCRgBN.js} +1246 -1241
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +4 -4
- package/lib/src/shared/content-settings/store/content-settings-store.d.ts +4 -4
- package/lib/src/shared/content-settings/store/content-settings-store.js +24 -4
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +4 -4
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +4 -4
- package/package.json +1 -1
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +6 -1
- package/src/shared/content-settings/store/content-settings-store.test.ts +28 -1
- package/src/shared/content-settings/store/content-settings-store.ts +28 -0
package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts
CHANGED
|
@@ -550,14 +550,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
550
550
|
resetMode(): void;
|
|
551
551
|
updateItemValue(payload: import("../../models").UpdateItemValuePayload<unknown>): void;
|
|
552
552
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
553
|
-
updateTextStyleType({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
554
|
-
updateTextStyles({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
553
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
554
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
555
555
|
getTextStyles({ id, name }: {
|
|
556
556
|
id: string;
|
|
557
557
|
name: string;
|
|
558
558
|
}): unknown;
|
|
559
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
560
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
559
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
560
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
561
561
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
562
562
|
activeCategoryTab: ItemCategory;
|
|
563
563
|
}): void;
|
|
@@ -400,14 +400,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
400
400
|
resetMode(): void;
|
|
401
401
|
updateItemValue(payload: import("../../models").UpdateItemValuePayload<unknown>): void;
|
|
402
402
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
403
|
-
updateTextStyleType({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
404
|
-
updateTextStyles({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
403
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
404
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
405
405
|
getTextStyles({ id, name }: {
|
|
406
406
|
id: string;
|
|
407
407
|
name: string;
|
|
408
408
|
}): unknown;
|
|
409
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
410
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
409
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
410
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
411
411
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
412
412
|
activeCategoryTab: import("../../../../brand-page-maker/models").ItemCategory;
|
|
413
413
|
}): void;
|
|
@@ -386,14 +386,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
386
386
|
resetMode(): void;
|
|
387
387
|
updateItemValue(payload: UpdateItemValuePayload<unknown>): void;
|
|
388
388
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
389
|
-
updateTextStyleType({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
390
|
-
updateTextStyles({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
389
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
390
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
391
391
|
getTextStyles({ id, name }: {
|
|
392
392
|
id: string;
|
|
393
393
|
name: string;
|
|
394
394
|
}): unknown;
|
|
395
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
396
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
395
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
396
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
397
397
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
398
398
|
activeCategoryTab: import("@brand-page-maker/models").ItemCategory;
|
|
399
399
|
}): void;
|
|
@@ -428,14 +428,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
428
428
|
resetMode(): void;
|
|
429
429
|
updateItemValue(payload: UpdateItemValuePayload<unknown>): void;
|
|
430
430
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
431
|
-
updateTextStyleType({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
432
|
-
updateTextStyles({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
431
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
432
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
433
433
|
getTextStyles({ id, name }: {
|
|
434
434
|
id: string;
|
|
435
435
|
name: string;
|
|
436
436
|
}): unknown;
|
|
437
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
438
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
437
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
438
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
439
439
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
440
440
|
activeCategoryTab: import("@brand-page-maker/models").ItemCategory;
|
|
441
441
|
}): void;
|
|
@@ -379,14 +379,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
379
379
|
resetMode(): void;
|
|
380
380
|
updateItemValue(payload: UpdateItemValuePayload<unknown>): void;
|
|
381
381
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
382
|
-
updateTextStyleType({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
383
|
-
updateTextStyles({ id, name, value, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
382
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
383
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
384
384
|
getTextStyles({ id, name }: {
|
|
385
385
|
id: string;
|
|
386
386
|
name: string;
|
|
387
387
|
}): unknown;
|
|
388
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
389
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
388
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
389
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../models").UpdateMultipleItemValuesPayload<any>): void;
|
|
390
390
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
391
391
|
activeCategoryTab: import("@brand-page-maker/models").ItemCategory;
|
|
392
392
|
}): void;
|
|
@@ -394,14 +394,14 @@ export declare const useUiContentSettingsStore: import("pinia").StoreDefinition<
|
|
|
394
394
|
resetMode(): void;
|
|
395
395
|
updateItemValue(payload: UpdateItemValuePayload<unknown>): void;
|
|
396
396
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
397
|
-
updateTextStyleType({ id, name, value, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
398
|
-
updateTextStyles({ id, name, value, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
397
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
398
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
399
399
|
getTextStyles({ id, name }: {
|
|
400
400
|
id: string;
|
|
401
401
|
name: string;
|
|
402
402
|
}): unknown;
|
|
403
|
-
updateTextItemTextStyleType({ id, name, value, index, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
404
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
403
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
404
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: UpdateMultipleItemValuesPayload<any>): void;
|
|
405
405
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
406
406
|
activeCategoryTab: ItemCategory;
|
|
407
407
|
}): void;
|
|
@@ -240,20 +240,32 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
240
240
|
this.validateItem({ id, name });
|
|
241
241
|
this.onContentChanged();
|
|
242
242
|
},
|
|
243
|
-
updateTextStyleType({ id, name, value, }) {
|
|
243
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }) {
|
|
244
244
|
const item = this.items.find((i) => i.id === id);
|
|
245
245
|
if (!item) {
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
248
|
+
// Same hydration-write contract as updateItemValue.
|
|
249
|
+
if (isHydrationWrite) {
|
|
250
|
+
useHistoryStore().mergeNextMutation();
|
|
251
|
+
}
|
|
248
252
|
item.settings.content[`${name}Style`].textStyleType = vueDeepMerge(item.settings.content, value);
|
|
249
253
|
this.validateItem({ id, name });
|
|
250
254
|
this.onContentChanged();
|
|
251
255
|
},
|
|
252
|
-
updateTextStyles({ id, name, value, }) {
|
|
256
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }) {
|
|
253
257
|
const item = this.items.find((i) => i.id === id);
|
|
254
258
|
if (!item) {
|
|
255
259
|
return;
|
|
256
260
|
}
|
|
261
|
+
// Same hydration-write contract as updateItemValue. The RTE's
|
|
262
|
+
// mount-time style sync (setInitialStyleSettings) lands here ~100ms
|
|
263
|
+
// BEFORE its canonical text write-back — if this write opens a plain
|
|
264
|
+
// capture burst, the flagged text write joins it and both commit as a
|
|
265
|
+
// phantom entry (BP-5810's second act).
|
|
266
|
+
if (isHydrationWrite) {
|
|
267
|
+
useHistoryStore().mergeNextMutation();
|
|
268
|
+
}
|
|
257
269
|
item.settings.content[`${name}Style`] = vueDeepMerge(item.settings.content[`${name}Style`], value);
|
|
258
270
|
this.validateItem({ id, name });
|
|
259
271
|
this.onContentChanged();
|
|
@@ -265,21 +277,29 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
265
277
|
}
|
|
266
278
|
return item.settings.content[`${name}Style`];
|
|
267
279
|
},
|
|
268
|
-
updateTextItemTextStyleType({ id, name, value, index, }) {
|
|
280
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }) {
|
|
269
281
|
const item = this.items.find((i) => i.id === id);
|
|
270
282
|
if (!item) {
|
|
271
283
|
return;
|
|
272
284
|
}
|
|
285
|
+
// Same hydration-write contract as updateItemValue.
|
|
286
|
+
if (isHydrationWrite) {
|
|
287
|
+
useHistoryStore().mergeNextMutation();
|
|
288
|
+
}
|
|
273
289
|
item.settings.content.textItems[index].textStyle.textStyleType =
|
|
274
290
|
vueDeepMerge(item.settings.content.textItems[index].textStyle.textStyleType, value);
|
|
275
291
|
this.validateItem({ id, name });
|
|
276
292
|
this.onContentChanged();
|
|
277
293
|
},
|
|
278
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }) {
|
|
294
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }) {
|
|
279
295
|
const item = this.items.find((i) => i.id === id);
|
|
280
296
|
if (!item) {
|
|
281
297
|
return;
|
|
282
298
|
}
|
|
299
|
+
// Same hydration-write contract as updateItemValue.
|
|
300
|
+
if (isHydrationWrite) {
|
|
301
|
+
useHistoryStore().mergeNextMutation();
|
|
302
|
+
}
|
|
283
303
|
item.settings.content.textItems[index].textStyle = vueDeepMerge(item.settings.content.textItems[index].textStyle, value);
|
|
284
304
|
this.validateItem({ id, name });
|
|
285
305
|
this.onContentChanged();
|
|
@@ -4412,14 +4412,14 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4412
4412
|
resetMode(): void;
|
|
4413
4413
|
updateItemValue(payload: import("../../../content-settings/models").UpdateItemValuePayload<unknown>): void;
|
|
4414
4414
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4415
|
-
updateTextStyleType({ id, name, value, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4416
|
-
updateTextStyles({ id, name, value, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4415
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4416
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4417
4417
|
getTextStyles({ id, name }: {
|
|
4418
4418
|
id: string;
|
|
4419
4419
|
name: string;
|
|
4420
4420
|
}): unknown;
|
|
4421
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4422
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4421
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4422
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
4423
4423
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
4424
4424
|
activeCategoryTab: import("../../../../brand-page-maker/models").ItemCategory;
|
|
4425
4425
|
}): void;
|
|
@@ -3788,14 +3788,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
3788
3788
|
resetMode(): void;
|
|
3789
3789
|
updateItemValue(payload: UpdateItemValuePayload<unknown>): void;
|
|
3790
3790
|
updateMultipleItemValues({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3791
|
-
updateTextStyleType({ id, name, value, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3792
|
-
updateTextStyles({ id, name, value, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3791
|
+
updateTextStyleType({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3792
|
+
updateTextStyles({ id, name, value, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3793
3793
|
getTextStyles({ id, name }: {
|
|
3794
3794
|
id: string;
|
|
3795
3795
|
name: string;
|
|
3796
3796
|
}): unknown;
|
|
3797
|
-
updateTextItemTextStyleType({ id, name, value, index, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3798
|
-
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3797
|
+
updateTextItemTextStyleType({ id, name, value, index, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3798
|
+
updateTextItemTextStyleTypeWithStyles({ id, name, value, index, isHydrationWrite, }: import("../../../content-settings/models").UpdateMultipleItemValuesPayload<any>): void;
|
|
3799
3799
|
_setActiveCategoryTab({ activeCategoryTab, }: {
|
|
3800
3800
|
activeCategoryTab: import("../../../../brand-page-maker/models").ItemCategory;
|
|
3801
3801
|
}): void;
|
package/package.json
CHANGED
|
@@ -625,7 +625,11 @@ export const useRichTextEditor = (
|
|
|
625
625
|
);
|
|
626
626
|
|
|
627
627
|
if (globalStyles) {
|
|
628
|
-
// sync content settings style
|
|
628
|
+
// sync content settings style — a mount-time re-derivation, not a user
|
|
629
|
+
// edit. Flag it so the store folds it into the current undo head: this
|
|
630
|
+
// write lands ~100ms BEFORE the editor's canonical text write-back, and
|
|
631
|
+
// an unflagged write here would open a plain capture burst that
|
|
632
|
+
// swallows the flagged text write into a phantom entry (BP-5810).
|
|
629
633
|
contentSettingStore.updateTextStyles({
|
|
630
634
|
id: props.rawId,
|
|
631
635
|
name: props.name,
|
|
@@ -639,6 +643,7 @@ export const useRichTextEditor = (
|
|
|
639
643
|
lineHeight: globalStyles.lineHeight,
|
|
640
644
|
letterSpacing: globalStyles.letterSpacing,
|
|
641
645
|
},
|
|
646
|
+
isHydrationWrite: !editor.isFocused,
|
|
642
647
|
});
|
|
643
648
|
|
|
644
649
|
// sync toolbar editor styles
|
|
@@ -89,7 +89,7 @@ describe('content settings store — hydration writes arm the history merge', ()
|
|
|
89
89
|
id: 'item-1',
|
|
90
90
|
type: 'social-links',
|
|
91
91
|
settings: {
|
|
92
|
-
content: { title: '<p>old</p>' },
|
|
92
|
+
content: { title: '<p>old</p>', titleStyle: { fontSize: '2em' } },
|
|
93
93
|
},
|
|
94
94
|
});
|
|
95
95
|
|
|
@@ -156,6 +156,33 @@ describe('content settings store — hydration writes arm the history merge', ()
|
|
|
156
156
|
expect(mergeNextMutationMock).not.toHaveBeenCalled();
|
|
157
157
|
});
|
|
158
158
|
|
|
159
|
+
// The RTE's mount-time style sync (setInitialStyleSettings) writes through
|
|
160
|
+
// updateTextStyles ~100ms BEFORE the canonical text write-back. If it isn't
|
|
161
|
+
// armed, it opens a plain capture burst that swallows the flagged text
|
|
162
|
+
// write — the phantom's second act (BP-5810).
|
|
163
|
+
test('updateTextStyles honours the hydration-write contract', () => {
|
|
164
|
+
const store = setupStore();
|
|
165
|
+
|
|
166
|
+
store.updateTextStyles({
|
|
167
|
+
id: 'item-1',
|
|
168
|
+
name: 'title',
|
|
169
|
+
value: { fontSize: '2.25em' },
|
|
170
|
+
isHydrationWrite: true,
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
expect(mergeNextMutationMock).toHaveBeenCalledTimes(1);
|
|
174
|
+
|
|
175
|
+
mergeNextMutationMock.mockClear();
|
|
176
|
+
|
|
177
|
+
store.updateTextStyles({
|
|
178
|
+
id: 'item-1',
|
|
179
|
+
name: 'title',
|
|
180
|
+
value: { fontSize: '3em' },
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
expect(mergeNextMutationMock).not.toHaveBeenCalled();
|
|
184
|
+
});
|
|
185
|
+
|
|
159
186
|
test('updateMultipleItemValues honours the same contract', () => {
|
|
160
187
|
const store = setupStore();
|
|
161
188
|
|
|
@@ -434,6 +434,7 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
434
434
|
id,
|
|
435
435
|
name,
|
|
436
436
|
value,
|
|
437
|
+
isHydrationWrite,
|
|
437
438
|
}: UpdateMultipleItemValuesPayload<any>): void {
|
|
438
439
|
const item = this.items.find((i) => i.id === id);
|
|
439
440
|
|
|
@@ -441,6 +442,11 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
441
442
|
return;
|
|
442
443
|
}
|
|
443
444
|
|
|
445
|
+
// Same hydration-write contract as updateItemValue.
|
|
446
|
+
if (isHydrationWrite) {
|
|
447
|
+
useHistoryStore().mergeNextMutation();
|
|
448
|
+
}
|
|
449
|
+
|
|
444
450
|
item.settings.content[`${name}Style`].textStyleType = vueDeepMerge(
|
|
445
451
|
item.settings.content,
|
|
446
452
|
value,
|
|
@@ -452,6 +458,7 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
452
458
|
id,
|
|
453
459
|
name,
|
|
454
460
|
value,
|
|
461
|
+
isHydrationWrite,
|
|
455
462
|
}: UpdateMultipleItemValuesPayload<any>): void {
|
|
456
463
|
const item = this.items.find((i) => i.id === id);
|
|
457
464
|
|
|
@@ -459,6 +466,15 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
459
466
|
return;
|
|
460
467
|
}
|
|
461
468
|
|
|
469
|
+
// Same hydration-write contract as updateItemValue. The RTE's
|
|
470
|
+
// mount-time style sync (setInitialStyleSettings) lands here ~100ms
|
|
471
|
+
// BEFORE its canonical text write-back — if this write opens a plain
|
|
472
|
+
// capture burst, the flagged text write joins it and both commit as a
|
|
473
|
+
// phantom entry (BP-5810's second act).
|
|
474
|
+
if (isHydrationWrite) {
|
|
475
|
+
useHistoryStore().mergeNextMutation();
|
|
476
|
+
}
|
|
477
|
+
|
|
462
478
|
item.settings.content[`${name}Style`] = vueDeepMerge(
|
|
463
479
|
item.settings.content[`${name}Style`],
|
|
464
480
|
value,
|
|
@@ -480,6 +496,7 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
480
496
|
name,
|
|
481
497
|
value,
|
|
482
498
|
index,
|
|
499
|
+
isHydrationWrite,
|
|
483
500
|
}: UpdateMultipleItemValuesPayload<any>): void {
|
|
484
501
|
const item = this.items.find((i) => i.id === id);
|
|
485
502
|
|
|
@@ -487,6 +504,11 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
487
504
|
return;
|
|
488
505
|
}
|
|
489
506
|
|
|
507
|
+
// Same hydration-write contract as updateItemValue.
|
|
508
|
+
if (isHydrationWrite) {
|
|
509
|
+
useHistoryStore().mergeNextMutation();
|
|
510
|
+
}
|
|
511
|
+
|
|
490
512
|
item.settings.content.textItems[index!].textStyle.textStyleType =
|
|
491
513
|
vueDeepMerge(
|
|
492
514
|
item.settings.content.textItems[index!].textStyle.textStyleType,
|
|
@@ -500,6 +522,7 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
500
522
|
name,
|
|
501
523
|
value,
|
|
502
524
|
index,
|
|
525
|
+
isHydrationWrite,
|
|
503
526
|
}: UpdateMultipleItemValuesPayload<any>): void {
|
|
504
527
|
const item = this.items.find((i) => i.id === id);
|
|
505
528
|
|
|
@@ -507,6 +530,11 @@ export const useUiContentSettingsStore = defineStore('uiContentSettings', {
|
|
|
507
530
|
return;
|
|
508
531
|
}
|
|
509
532
|
|
|
533
|
+
// Same hydration-write contract as updateItemValue.
|
|
534
|
+
if (isHydrationWrite) {
|
|
535
|
+
useHistoryStore().mergeNextMutation();
|
|
536
|
+
}
|
|
537
|
+
|
|
510
538
|
item.settings.content.textItems[index!].textStyle = vueDeepMerge(
|
|
511
539
|
item.settings.content.textItems[index!].textStyle,
|
|
512
540
|
value,
|