@designcrowd/library.brand-page 6.0.11 → 6.0.13

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 (117) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-DopPc6g2.js → CreatedOnBrandCrowd-de-de-CBjFFeBP.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-CSHmaAWm.js → CreatedOnBrandCrowd-en-us-NuNXF81K.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-C4vM0p2e.js → CreatedOnBrandCrowd-es-es-BJG8nfug.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-ArpBbnxm.js → CreatedOnBrandCrowd-fr-ca-uX-nL53e.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-ArpBbnxm.js → CreatedOnBrandCrowd-fr-fr-uX-nL53e.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-CGAQLXiX.js → CreatedOnBrandCrowd-pt-br-DTrgFGQV.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-CGAQLXiX.js → CreatedOnBrandCrowd-pt-pt-DTrgFGQV.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-3WVSgB6t.js → CreatedOnDcom-de-de-DSfpxioT.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Dx-RHXrH.js → CreatedOnDcom-en-us-C7G4gKem.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-CfnEYFMA.js → CreatedOnDcom-es-es-DVckCaji.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-BSHZTiUO.js → CreatedOnDcom-fr-ca-C5GDrm_C.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DtHssrQb.js → CreatedOnDcom-fr-fr-v5eMm-j2.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CdX1aRI8.js → CreatedOnDcom-pt-br-Dq3-fPUc.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-jy044FNL.js → CreatedOnDcom-pt-pt-DFsncYax.js} +1 -1
  15. package/lib/src/brand-page/components/image-gallery/ImageGallery.stories.js +3 -0
  16. package/lib/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.d.ts +1 -1
  17. package/lib/src/brand-page/components/images-section/ImagesSection.stories.js +2 -1
  18. package/lib/src/brand-page/components/social-links/SocialLinks.stories.js +3 -0
  19. package/lib/src/brand-page/components/testimonial-section/__fixtures__/data.js +3 -0
  20. package/lib/src/brand-page/components/text/Text.stories.js +2 -0
  21. package/lib/src/brand-page/models/index.d.ts +13 -0
  22. package/lib/src/brand-page/models/index.js +4 -0
  23. package/lib/src/brand-page/utils/migration/migration-01.js +2 -0
  24. package/lib/src/brand-page/utils/migration/migration-18.d.ts +14 -0
  25. package/lib/src/brand-page/utils/migration/migration-18.js +17 -0
  26. package/lib/src/brand-page/utils/migration.util.js +6 -0
  27. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  28. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +1 -0
  29. package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +5 -0
  30. package/lib/src/brand-page-maker/constants/config-settings-constant.js +4 -0
  31. package/lib/src/brand-page-maker/models/content-settings.js +4 -0
  32. package/lib/src/brand-page-maker/stores/ai-checkpoint/ai-checkpoint-store.d.ts +18 -0
  33. package/lib/src/index.mjs +84 -83
  34. package/lib/src/{lib-Bx7xK4dn.js → lib-BG-pyXi9.js} +19585 -19807
  35. package/lib/src/metadata-builder/ai-metadata-executor.js +24 -1
  36. package/lib/src/metadata-builder/builders/footer-builder.js +32 -41
  37. package/lib/src/metadata-builder/builders/item-id-utils.d.ts +54 -0
  38. package/lib/src/metadata-builder/builders/item-id-utils.js +96 -0
  39. package/lib/src/metadata-builder/builders/move-page-builder.d.ts +32 -0
  40. package/lib/src/metadata-builder/builders/move-page-builder.js +137 -0
  41. package/lib/src/metadata-builder/builders/nav-utils.d.ts +26 -0
  42. package/lib/src/metadata-builder/builders/nav-utils.js +95 -0
  43. package/lib/src/metadata-builder/builders/section-builders/image-gallery-builder.js +57 -68
  44. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +58 -93
  45. package/lib/src/metadata-builder/builders/section-builders/move-section-builder.d.ts +13 -1
  46. package/lib/src/metadata-builder/builders/section-builders/move-section-builder.js +40 -30
  47. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +66 -99
  48. package/lib/src/metadata-builder/builders/section-builders/social-links-builder.js +57 -17
  49. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +51 -85
  50. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +50 -74
  51. package/lib/src/metadata-builder/builders/section-field-maps.js +17 -0
  52. package/lib/src/metadata-builder/builders/set-page-visibility-builder.d.ts +23 -0
  53. package/lib/src/metadata-builder/builders/set-page-visibility-builder.js +83 -0
  54. package/lib/src/metadata-builder/metadata-executor.js +4 -0
  55. package/lib/src/metadata-builder/models.d.ts +2 -0
  56. package/lib/src/metadata-builder/models.js +2 -0
  57. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +31 -7
  58. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +2 -0
  59. package/lib/src/metadata-builder/parsers/section-tool-arguments.d.ts +84 -48
  60. package/lib/src/shared/content-settings/components/links-field/LinksField.mixin.js +2 -0
  61. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +2 -0
  62. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +2 -0
  63. package/lib/src/tracker.d.ts +2 -0
  64. package/lib/src/tracker.js +12 -0
  65. package/lib/src/tracker.mjs +12 -0
  66. package/lib/src/useEventTracker-DmQ6AkNn.js +356 -0
  67. package/lib/src/utils/minify-brand-page-metadata.d.ts +2 -0
  68. package/lib/src/utils/minify-brand-page-metadata.js +8 -1
  69. package/package.json +16 -1
  70. package/src/brand-page/components/image-gallery/ImageGallery.stories.ts +3 -0
  71. package/src/brand-page/components/image-gallery/ImageGallery.test.ts +1 -0
  72. package/src/brand-page/components/image-gallery/masonry/MasonryGallery.mixin.ts +2 -1
  73. package/src/brand-page/components/images-section/ImagesSection.stories.ts +2 -1
  74. package/src/brand-page/components/social-links/SocialLinks.stories.ts +3 -0
  75. package/src/brand-page/components/social-links/SocialLinks.vue.test.ts +5 -0
  76. package/src/brand-page/components/testimonial-section/__fixtures__/data.ts +3 -0
  77. package/src/brand-page/components/text/Text.stories.ts +2 -0
  78. package/src/brand-page/models/index.ts +17 -0
  79. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +23 -3
  80. package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +6 -0
  81. package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +12 -0
  82. package/src/brand-page/utils/migration/migration-01.ts +2 -0
  83. package/src/brand-page/utils/migration/migration-18.test.ts +131 -0
  84. package/src/brand-page/utils/migration/migration-18.ts +22 -0
  85. package/src/brand-page/utils/migration.util.ts +7 -0
  86. package/src/brand-page/utils/personalisation.util.test.ts +4 -0
  87. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  88. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +1 -0
  89. package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +6 -0
  90. package/src/brand-page-maker/constants/config-settings-constant.ts +4 -0
  91. package/src/brand-page-maker/models/content-settings.ts +4 -0
  92. package/src/metadata-builder/ai-metadata-executor.ts +31 -1
  93. package/src/metadata-builder/builders/footer-builder.test.ts +335 -28
  94. package/src/metadata-builder/builders/footer-builder.ts +40 -57
  95. package/src/metadata-builder/builders/item-id-utils.test.ts +184 -0
  96. package/src/metadata-builder/builders/item-id-utils.ts +117 -0
  97. package/src/metadata-builder/builders/move-page-builder.ts +227 -0
  98. package/src/metadata-builder/builders/nav-utils.ts +141 -0
  99. package/src/metadata-builder/builders/section-builders/image-gallery-builder.ts +62 -88
  100. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +66 -129
  101. package/src/metadata-builder/builders/section-builders/move-section-builder.ts +58 -35
  102. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +105 -160
  103. package/src/metadata-builder/builders/section-builders/social-links-builder.ts +65 -20
  104. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +83 -146
  105. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +71 -122
  106. package/src/metadata-builder/builders/section-field-maps.ts +18 -0
  107. package/src/metadata-builder/builders/set-page-visibility-builder.ts +122 -0
  108. package/src/metadata-builder/metadata-executor.ts +4 -0
  109. package/src/metadata-builder/models.ts +2 -0
  110. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +32 -7
  111. package/src/metadata-builder/parsers/section-tool-arguments.ts +84 -48
  112. package/src/shared/content-settings/components/links-field/LinksField.mixin.ts +2 -0
  113. package/src/tracker.ts +28 -0
  114. package/src/utils/minify-brand-page-metadata.ts +14 -2
  115. package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +0 -13
  116. package/lib/src/metadata-builder/builders/reorder-pages-builder.js +0 -49
  117. package/src/metadata-builder/builders/reorder-pages-builder.ts +0 -80
@@ -156,6 +156,7 @@ const minifyContent = (content, editor, assets) => {
156
156
  ...(Array.isArray(c.items) && {
157
157
  items: c.items.map((item, index) => ({
158
158
  position: index + 1,
159
+ ...(item.id && { id: item.id }),
159
160
  ...st('name', item.name, editor),
160
161
  ...st('jobTitle', item.position, editor),
161
162
  ...st('testimonials', item.testimonials, editor),
@@ -183,6 +184,7 @@ const minifyContent = (content, editor, assets) => {
183
184
  ...(Array.isArray(c.items) && {
184
185
  items: c.items.map((item, index) => ({
185
186
  position: index + 1,
187
+ ...(item.id && { id: item.id }),
186
188
  ...includeImageWithKey(item.imageUrl),
187
189
  ...st('title', item.title, editor),
188
190
  ...st('paragraph', item.paragraph, editor),
@@ -212,6 +214,7 @@ const minifyContent = (content, editor, assets) => {
212
214
  ...(Array.isArray(c.textItems) && {
213
215
  textItems: c.textItems.map((item, index) => ({
214
216
  position: index + 1,
217
+ ...(item.id && { id: item.id }),
215
218
  ...st('text', item.text, editor),
216
219
  ...(includeStyle(item.textStyle) && { textStyle: item.textStyle }),
217
220
  })),
@@ -292,6 +295,7 @@ const minifyContent = (content, editor, assets) => {
292
295
  ...(Array.isArray(c.links) && {
293
296
  links: c.links.map((link, index) => ({
294
297
  position: index + 1,
298
+ ...(link.id && { id: link.id }),
295
299
  ...(includeString(link.url) && { url: link.url }),
296
300
  ...includeImageWithKey(link.imageUrl),
297
301
  })),
@@ -331,6 +335,7 @@ const minifyContent = (content, editor, assets) => {
331
335
  ...(Array.isArray(c.images) && {
332
336
  images: c.images.map((img, index) => ({
333
337
  position: index + 1,
338
+ ...(img.id && { id: img.id }),
334
339
  ...includeImageWithKey(img.imageUrl),
335
340
  ...st('imageTitle', img.imageTitle, editor),
336
341
  })),
@@ -371,7 +376,9 @@ const minifyFooter = (footer, logoAssetKey) => {
371
376
  logoImageWidth: footer.logoImageWidth || undefined,
372
377
  ...(logoAssetKey && { logoAssetKey }),
373
378
  socialLinks: footer.socialLinks?.length
374
- ? footer.socialLinks.map((l) => ({
379
+ ? footer.socialLinks.map((l, index) => ({
380
+ position: index + 1,
381
+ ...(l.id && { id: l.id }),
375
382
  imageUrl: l.imageUrl || '',
376
383
  url: l.url || '',
377
384
  }))
package/package.json CHANGED
@@ -1,12 +1,27 @@
1
1
  {
2
2
  "name": "@designcrowd/library.brand-page",
3
3
  "description": "A collection of Maker/Designer applications",
4
- "version": "6.0.11",
4
+ "version": "6.0.13",
5
5
  "author": "Design.com Eng",
6
6
  "license": "UNLICENSED",
7
7
  "type": "module",
8
8
  "types": "./lib/src/index.d.ts",
9
9
  "main": "./lib/src/index.mjs",
10
+ "sideEffects": [
11
+ "**/*.css"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "types": "./lib/src/index.d.ts",
16
+ "import": "./lib/src/index.mjs"
17
+ },
18
+ "./tracker": {
19
+ "types": "./lib/src/tracker.d.ts",
20
+ "import": "./lib/src/tracker.mjs"
21
+ },
22
+ "./lib/src/css/*": "./lib/src/css/*",
23
+ "./package.json": "./package.json"
24
+ },
10
25
  "files": [
11
26
  "lib",
12
27
  "src"
@@ -52,6 +52,7 @@ export const Carousel = () => {
52
52
 
53
53
  content.images = new Array(10).fill(0).map((_, i) => {
54
54
  return {
55
+ id: `gallery-carousel-item-${i}`,
55
56
  imageUrl: `https://picsum.photos/${300 * ((i + 1) / 4)}/${300 * ((i + 1) / 4)}?random=${i}`,
56
57
  width: 300,
57
58
  height: 300,
@@ -83,6 +84,7 @@ export const Masonry = () => {
83
84
 
84
85
  content.images = new Array(10).fill(0).map((_, i) => {
85
86
  return {
87
+ id: `gallery-masonry-item-${i}`,
86
88
  imageUrl: `https://picsum.photos/${300 * ((i + 1) / 4)}/${300 * ((i + 1) / 4)}?random=${i}`,
87
89
  width: 564,
88
90
  height: 416,
@@ -114,6 +116,7 @@ export const Grid = () => {
114
116
 
115
117
  content.images = new Array(10).fill(0).map((_, i) => {
116
118
  return {
119
+ id: `gallery-grid-item-${i}`,
117
120
  imageUrl: `https://picsum.photos/${300 * ((i + 1) / 4)}/${300 * ((i + 1) / 4)}?random=${i}`,
118
121
  width: 564,
119
122
  height: 416,
@@ -47,6 +47,7 @@ const createTestImageGalleryViewModel = (
47
47
  role: 'image-gallery',
48
48
  images: [
49
49
  {
50
+ id: 'gallery-item-1',
50
51
  imageUrl: faker.internet.url(),
51
52
  width: faker.datatype.number(1000),
52
53
  height: faker.datatype.number(1000),
@@ -7,7 +7,8 @@ import type { ImageGalleryImageClickPayload } from '../models';
7
7
  import type { BrandPageContext, ImageGalleryItem } from '../../../models';
8
8
  import { getImageAltText } from '../../../utils';
9
9
 
10
- interface IndexedImageGalleryItem extends ImageGalleryItem {
10
+ interface IndexedImageGalleryItem extends Omit<ImageGalleryItem, 'id'> {
11
+ // Local rendering index, distinct from the stable string `id` on ImageItem.
11
12
  id: number;
12
13
  }
13
14
 
@@ -50,8 +50,9 @@ export const Images = () => {
50
50
  data() {
51
51
  const content = createInitialImagesSectionContent();
52
52
 
53
- content.items = new Array(2).fill(0).map(() => {
53
+ content.items = new Array(2).fill(0).map((_, i) => {
54
54
  return {
55
+ id: `images-section-item-${i}`,
55
56
  imageUrl:
56
57
  'https://bc-user-uploads.brandcrowd.com/public/media-int/6b3a4d19-e95c-4d59-aa22-ac033a2cec2f/1116870a-c672-4306-b515-32f8d5d6e10c',
57
58
  width: 564,
@@ -14,6 +14,7 @@ const viewModel: SocialLinksViewModel = {
14
14
  title: 'Follow us on',
15
15
  links: [
16
16
  {
17
+ id: 'social-link-facebook',
17
18
  imageUrl: 'facebook',
18
19
  url: '',
19
20
  imageTitle: '',
@@ -24,6 +25,7 @@ const viewModel: SocialLinksViewModel = {
24
25
  imageLink: '',
25
26
  },
26
27
  {
28
+ id: 'social-link-instagram',
27
29
  imageUrl: 'instagram',
28
30
  url: 'https://www.instagram.com',
29
31
  imageTitle: '',
@@ -34,6 +36,7 @@ const viewModel: SocialLinksViewModel = {
34
36
  imageLink: '',
35
37
  },
36
38
  {
39
+ id: 'social-link-empty',
37
40
  imageUrl: '',
38
41
  url: '',
39
42
  imageTitle: '',
@@ -53,6 +53,7 @@ const createTestSocialLinksViewModel = (): SocialLinksViewModel => ({
53
53
  isFullWidth: false,
54
54
  links: [
55
55
  {
56
+ id: 'social-link-facebook',
56
57
  imageUrl: 'facebook',
57
58
  url: 'https://www.facebook.com',
58
59
  imageTitle: '',
@@ -63,6 +64,7 @@ const createTestSocialLinksViewModel = (): SocialLinksViewModel => ({
63
64
  imageLink: '',
64
65
  },
65
66
  {
67
+ id: 'social-link-instagram',
66
68
  imageUrl: 'instagram',
67
69
  url: 'https://www.instagram.com',
68
70
  imageTitle: '',
@@ -73,6 +75,7 @@ const createTestSocialLinksViewModel = (): SocialLinksViewModel => ({
73
75
  imageLink: '',
74
76
  },
75
77
  {
78
+ id: 'social-link-twitter',
76
79
  imageUrl: 'twitter',
77
80
  url: 'https://www.twitter.com',
78
81
  imageTitle: '',
@@ -115,6 +118,7 @@ describe('Social Links', () => {
115
118
  isPreview: false,
116
119
  links: [
117
120
  {
121
+ id: 'social-link-facebook',
118
122
  imageUrl: 'facebook',
119
123
  url: '',
120
124
  imageTitle: '',
@@ -145,6 +149,7 @@ describe('Social Links', () => {
145
149
  isPreview: false,
146
150
  links: [
147
151
  {
152
+ id: 'social-link-facebook',
148
153
  imageUrl: 'facebook',
149
154
  url: 'https://www.fb.com',
150
155
  imageTitle: '',
@@ -14,6 +14,7 @@ export const viewModel: TestimonialSectionViewModel = {
14
14
  displayStyle: 'centered',
15
15
  items: [
16
16
  {
17
+ id: 'testimonial-1',
17
18
  testimonials: faker.lorem.paragraphs(1),
18
19
  imageUrl: unsplashImage,
19
20
  name: '1',
@@ -22,6 +23,7 @@ export const viewModel: TestimonialSectionViewModel = {
22
23
  colorReplacements: [],
23
24
  },
24
25
  {
26
+ id: 'testimonial-2',
25
27
  testimonials: faker.lorem.paragraphs(3),
26
28
  imageUrl: unsplashImage,
27
29
  name: '2',
@@ -30,6 +32,7 @@ export const viewModel: TestimonialSectionViewModel = {
30
32
  colorReplacements: [],
31
33
  },
32
34
  {
35
+ id: 'testimonial-3',
33
36
  testimonials: faker.lorem.paragraphs(5),
34
37
  imageUrl: 'https://source.unsplash.com/random/200x200?3',
35
38
  name: '3',
@@ -34,6 +34,7 @@ const BSviewModel: TextViewModel = {
34
34
  text: 'asdasjdlkasjmdlkmsad',
35
35
  textItems: [
36
36
  {
37
+ id: 'text-item-1',
37
38
  text: 'lorem ipsum',
38
39
  textStyle: {
39
40
  fontSize: '1rem',
@@ -42,6 +43,7 @@ const BSviewModel: TextViewModel = {
42
43
  },
43
44
  },
44
45
  {
46
+ id: 'text-item-2',
45
47
  text: 'lorem ipsum',
46
48
  textStyle: {
47
49
  fontSize: '1rem',
@@ -28,6 +28,7 @@ import { TEXT_STYLE_TYPES, TextStyles } from './styles.model';
28
28
  import { EMPTY_LOGO_IMAGE_MODEL, LogoStyles } from './logo.model';
29
29
  import type { LogoImageModel, LogoTemplateImageModel } from './logo.model';
30
30
  import cloneDeep from 'lodash.clonedeep';
31
+ import * as uuid from 'uuid';
31
32
  import type { BrandPagePaymentConfig } from './payment.model';
32
33
 
33
34
  export * from './brand-page-context.model';
@@ -234,6 +235,13 @@ export interface ImageContent extends Content {
234
235
  }
235
236
 
236
237
  export interface ImageItem {
238
+ /**
239
+ * Stable per-item identifier. Mirrors the section-level `Content.id` one
240
+ * level deeper so AI tool calls can reference items by id rather than by
241
+ * positional index. Backfilled on load for persisted data that predates
242
+ * item ids (see ensureItemIds), so it is always present at runtime.
243
+ */
244
+ id: string;
237
245
  imageUrl: string;
238
246
  imageTitle: string;
239
247
  width: number;
@@ -466,6 +474,8 @@ export interface ShapeItem extends ImageItem {
466
474
  }
467
475
 
468
476
  export interface TestimonialItems {
477
+ /** Stable per-item identifier. See ImageItem.id. */
478
+ id: string;
469
479
  imageUrl: string;
470
480
  name: string;
471
481
  position: string;
@@ -483,6 +493,8 @@ export interface TestimonialItems {
483
493
  }
484
494
 
485
495
  export interface TextItem {
496
+ /** Stable per-item identifier. See ImageItem.id. */
497
+ id: string;
486
498
  text: string;
487
499
  textStyle: TextStyleDeclaration;
488
500
 
@@ -552,6 +564,8 @@ export interface AboutSectionContent extends Content {
552
564
  }
553
565
 
554
566
  export interface LinksItem {
567
+ /** Stable per-item identifier. See ImageItem.id. */
568
+ id: string;
555
569
  imageUrl: string;
556
570
  url: string;
557
571
  size?: string;
@@ -828,6 +842,7 @@ export abstract class AbstractPageFooterStyles {
828
842
  this.logoImageWidth = options.logoImageWidth || DEFAULT_LOGO_WIDTH;
829
843
  this.socialLinks = options.socialLinks || [
830
844
  {
845
+ id: uuid.v4(),
831
846
  width: 0,
832
847
  height: 0,
833
848
  imageUrl: 'facebook',
@@ -837,6 +852,7 @@ export abstract class AbstractPageFooterStyles {
837
852
  imageLink: '',
838
853
  },
839
854
  {
855
+ id: uuid.v4(),
840
856
  width: 0,
841
857
  height: 0,
842
858
  imageUrl: 'instagram',
@@ -846,6 +862,7 @@ export abstract class AbstractPageFooterStyles {
846
862
  imageLink: '',
847
863
  },
848
864
  {
865
+ id: uuid.v4(),
849
866
  width: 0,
850
867
  height: 0,
851
868
  imageUrl: 'x',
@@ -57,6 +57,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
57
57
  "socialLinks": [
58
58
  {
59
59
  "height": 0,
60
+ "id": "00000000-0000-4000-8000-000000000004",
60
61
  "imageLink": "",
61
62
  "imageTitle": "",
62
63
  "imageUrl": "facebook",
@@ -66,6 +67,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
66
67
  },
67
68
  {
68
69
  "height": 0,
70
+ "id": "00000000-0000-4000-8000-000000000005",
69
71
  "imageLink": "",
70
72
  "imageTitle": "",
71
73
  "imageUrl": "instagram",
@@ -75,6 +77,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
75
77
  },
76
78
  {
77
79
  "height": 0,
80
+ "id": "00000000-0000-4000-8000-000000000006",
78
81
  "imageLink": "",
79
82
  "imageTitle": "",
80
83
  "imageUrl": "x",
@@ -112,6 +115,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
112
115
  "socialLinks": [
113
116
  {
114
117
  "height": 0,
118
+ "id": "00000000-0000-4000-8000-000000000001",
115
119
  "imageLink": "",
116
120
  "imageTitle": "",
117
121
  "imageUrl": "facebook",
@@ -121,6 +125,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
121
125
  },
122
126
  {
123
127
  "height": 0,
128
+ "id": "00000000-0000-4000-8000-000000000002",
124
129
  "imageLink": "",
125
130
  "imageTitle": "",
126
131
  "imageUrl": "instagram",
@@ -130,6 +135,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
130
135
  },
131
136
  {
132
137
  "height": 0,
138
+ "id": "00000000-0000-4000-8000-000000000003",
133
139
  "imageLink": "",
134
140
  "imageTitle": "",
135
141
  "imageUrl": "x",
@@ -457,7 +463,7 @@ exports[`migration.util > Banner Contents - text Align and Font Family should no
457
463
  },
458
464
  },
459
465
  "userPromptContentKey": undefined,
460
- "v": 17,
466
+ "v": 18,
461
467
  },
462
468
  "useOldLogoRenderSize": true,
463
469
  }
@@ -520,6 +526,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
520
526
  "socialLinks": [
521
527
  {
522
528
  "height": 0,
529
+ "id": "00000000-0000-4000-8000-000000000004",
523
530
  "imageLink": "",
524
531
  "imageTitle": "",
525
532
  "imageUrl": "facebook",
@@ -529,6 +536,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
529
536
  },
530
537
  {
531
538
  "height": 0,
539
+ "id": "00000000-0000-4000-8000-000000000005",
532
540
  "imageLink": "",
533
541
  "imageTitle": "",
534
542
  "imageUrl": "instagram",
@@ -538,6 +546,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
538
546
  },
539
547
  {
540
548
  "height": 0,
549
+ "id": "00000000-0000-4000-8000-000000000006",
541
550
  "imageLink": "",
542
551
  "imageTitle": "",
543
552
  "imageUrl": "x",
@@ -575,6 +584,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
575
584
  "socialLinks": [
576
585
  {
577
586
  "height": 0,
587
+ "id": "00000000-0000-4000-8000-000000000001",
578
588
  "imageLink": "",
579
589
  "imageTitle": "",
580
590
  "imageUrl": "facebook",
@@ -584,6 +594,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
584
594
  },
585
595
  {
586
596
  "height": 0,
597
+ "id": "00000000-0000-4000-8000-000000000002",
587
598
  "imageLink": "",
588
599
  "imageTitle": "",
589
600
  "imageUrl": "instagram",
@@ -593,6 +604,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
593
604
  },
594
605
  {
595
606
  "height": 0,
607
+ "id": "00000000-0000-4000-8000-000000000003",
596
608
  "imageLink": "",
597
609
  "imageTitle": "",
598
610
  "imageUrl": "x",
@@ -760,6 +772,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
760
772
  "textColor": {},
761
773
  "textItems": [
762
774
  {
775
+ "id": "00000000-0000-4000-8000-000000000007",
763
776
  "text": "Christmas",
764
777
  "textStyle": {
765
778
  "applyAutoScale": true,
@@ -903,7 +916,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
903
916
  },
904
917
  },
905
918
  "userPromptContentKey": undefined,
906
- "v": 17,
919
+ "v": 18,
907
920
  },
908
921
  "useOldLogoRenderSize": true,
909
922
  }
@@ -966,6 +979,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
966
979
  "socialLinks": [
967
980
  {
968
981
  "height": 0,
982
+ "id": "00000000-0000-4000-8000-000000000004",
969
983
  "imageLink": "",
970
984
  "imageTitle": "",
971
985
  "imageUrl": "facebook",
@@ -975,6 +989,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
975
989
  },
976
990
  {
977
991
  "height": 0,
992
+ "id": "00000000-0000-4000-8000-000000000005",
978
993
  "imageLink": "",
979
994
  "imageTitle": "",
980
995
  "imageUrl": "instagram",
@@ -984,6 +999,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
984
999
  },
985
1000
  {
986
1001
  "height": 0,
1002
+ "id": "00000000-0000-4000-8000-000000000006",
987
1003
  "imageLink": "",
988
1004
  "imageTitle": "",
989
1005
  "imageUrl": "x",
@@ -1021,6 +1037,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1021
1037
  "socialLinks": [
1022
1038
  {
1023
1039
  "height": 0,
1040
+ "id": "00000000-0000-4000-8000-000000000001",
1024
1041
  "imageLink": "",
1025
1042
  "imageTitle": "",
1026
1043
  "imageUrl": "facebook",
@@ -1030,6 +1047,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1030
1047
  },
1031
1048
  {
1032
1049
  "height": 0,
1050
+ "id": "00000000-0000-4000-8000-000000000002",
1033
1051
  "imageLink": "",
1034
1052
  "imageTitle": "",
1035
1053
  "imageUrl": "instagram",
@@ -1039,6 +1057,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1039
1057
  },
1040
1058
  {
1041
1059
  "height": 0,
1060
+ "id": "00000000-0000-4000-8000-000000000003",
1042
1061
  "imageLink": "",
1043
1062
  "imageTitle": "",
1044
1063
  "imageUrl": "x",
@@ -1206,6 +1225,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1206
1225
  "textColor": {},
1207
1226
  "textItems": [
1208
1227
  {
1228
+ "id": "00000000-0000-4000-8000-000000000007",
1209
1229
  "text": "Christmas",
1210
1230
  "textStyle": {
1211
1231
  "applyAutoScale": true,
@@ -1356,7 +1376,7 @@ exports[`migration.util > migrateBrandPageModel should return brand page model w
1356
1376
  },
1357
1377
  },
1358
1378
  "userPromptContentKey": undefined,
1359
- "v": 17,
1379
+ "v": 18,
1360
1380
  },
1361
1381
  "useOldLogoRenderSize": true,
1362
1382
  }
@@ -45,6 +45,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
45
45
  "socialLinks": [
46
46
  {
47
47
  "height": 0,
48
+ "id": "00000000-0000-4000-8000-000000000004",
48
49
  "imageLink": "",
49
50
  "imageTitle": "",
50
51
  "imageUrl": "facebook",
@@ -54,6 +55,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
54
55
  },
55
56
  {
56
57
  "height": 0,
58
+ "id": "00000000-0000-4000-8000-000000000005",
57
59
  "imageLink": "",
58
60
  "imageTitle": "",
59
61
  "imageUrl": "instagram",
@@ -63,6 +65,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
63
65
  },
64
66
  {
65
67
  "height": 0,
68
+ "id": "00000000-0000-4000-8000-000000000006",
66
69
  "imageLink": "",
67
70
  "imageTitle": "",
68
71
  "imageUrl": "x",
@@ -101,6 +104,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
101
104
  "socialLinks": [
102
105
  {
103
106
  "height": 0,
107
+ "id": "00000000-0000-4000-8000-000000000001",
104
108
  "imageLink": "",
105
109
  "imageTitle": "",
106
110
  "imageUrl": "facebook",
@@ -110,6 +114,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
110
114
  },
111
115
  {
112
116
  "height": 0,
117
+ "id": "00000000-0000-4000-8000-000000000002",
113
118
  "imageLink": "",
114
119
  "imageTitle": "",
115
120
  "imageUrl": "instagram",
@@ -119,6 +124,7 @@ exports[`migration02.ts > migration02 should return converted letterspacing 1`]
119
124
  },
120
125
  {
121
126
  "height": 0,
127
+ "id": "00000000-0000-4000-8000-000000000003",
122
128
  "imageLink": "",
123
129
  "imageTitle": "",
124
130
  "imageUrl": "x",
@@ -44,6 +44,7 @@ BrandPageModel {
44
44
  "socialLinks": [
45
45
  {
46
46
  "height": 0,
47
+ "id": "00000000-0000-4000-8000-000000000004",
47
48
  "imageLink": "",
48
49
  "imageTitle": "",
49
50
  "imageUrl": "facebook",
@@ -53,6 +54,7 @@ BrandPageModel {
53
54
  },
54
55
  {
55
56
  "height": 0,
57
+ "id": "00000000-0000-4000-8000-000000000005",
56
58
  "imageLink": "",
57
59
  "imageTitle": "",
58
60
  "imageUrl": "instagram",
@@ -62,6 +64,7 @@ BrandPageModel {
62
64
  },
63
65
  {
64
66
  "height": 0,
67
+ "id": "00000000-0000-4000-8000-000000000006",
65
68
  "imageLink": "",
66
69
  "imageTitle": "",
67
70
  "imageUrl": "x",
@@ -100,6 +103,7 @@ BrandPageModel {
100
103
  "socialLinks": [
101
104
  {
102
105
  "height": 0,
106
+ "id": "00000000-0000-4000-8000-000000000001",
103
107
  "imageLink": "",
104
108
  "imageTitle": "",
105
109
  "imageUrl": "facebook",
@@ -109,6 +113,7 @@ BrandPageModel {
109
113
  },
110
114
  {
111
115
  "height": 0,
116
+ "id": "00000000-0000-4000-8000-000000000002",
112
117
  "imageLink": "",
113
118
  "imageTitle": "",
114
119
  "imageUrl": "instagram",
@@ -118,6 +123,7 @@ BrandPageModel {
118
123
  },
119
124
  {
120
125
  "height": 0,
126
+ "id": "00000000-0000-4000-8000-000000000003",
121
127
  "imageLink": "",
122
128
  "imageTitle": "",
123
129
  "imageUrl": "x",
@@ -495,6 +501,7 @@ BrandPageModel {
495
501
  "socialLinks": [
496
502
  {
497
503
  "height": 0,
504
+ "id": "00000000-0000-4000-8000-000000000004",
498
505
  "imageLink": "",
499
506
  "imageTitle": "",
500
507
  "imageUrl": "facebook",
@@ -504,6 +511,7 @@ BrandPageModel {
504
511
  },
505
512
  {
506
513
  "height": 0,
514
+ "id": "00000000-0000-4000-8000-000000000005",
507
515
  "imageLink": "",
508
516
  "imageTitle": "",
509
517
  "imageUrl": "instagram",
@@ -513,6 +521,7 @@ BrandPageModel {
513
521
  },
514
522
  {
515
523
  "height": 0,
524
+ "id": "00000000-0000-4000-8000-000000000006",
516
525
  "imageLink": "",
517
526
  "imageTitle": "",
518
527
  "imageUrl": "x",
@@ -551,6 +560,7 @@ BrandPageModel {
551
560
  "socialLinks": [
552
561
  {
553
562
  "height": 0,
563
+ "id": "00000000-0000-4000-8000-000000000001",
554
564
  "imageLink": "",
555
565
  "imageTitle": "",
556
566
  "imageUrl": "facebook",
@@ -560,6 +570,7 @@ BrandPageModel {
560
570
  },
561
571
  {
562
572
  "height": 0,
573
+ "id": "00000000-0000-4000-8000-000000000002",
563
574
  "imageLink": "",
564
575
  "imageTitle": "",
565
576
  "imageUrl": "instagram",
@@ -569,6 +580,7 @@ BrandPageModel {
569
580
  },
570
581
  {
571
582
  "height": 0,
583
+ "id": "00000000-0000-4000-8000-000000000003",
572
584
  "imageLink": "",
573
585
  "imageTitle": "",
574
586
  "imageUrl": "x",
@@ -1,3 +1,4 @@
1
+ import * as uuid from 'uuid';
1
2
  import {
2
3
  getLogoVariationIndexFromLogoImageUrl,
3
4
  getLogoDraftTokenFromLogoImageUrl,
@@ -101,6 +102,7 @@ export const applyTextContentTextToTextItemsMigration = (
101
102
  }
102
103
 
103
104
  const textItem: TextItem = {
105
+ id: uuid.v4(),
104
106
  text: item.text,
105
107
  textStyle,
106
108
  };