@capillarytech/creatives-library 9.0.38 → 9.0.39

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 (39) hide show
  1. package/package.json +1 -1
  2. package/translations/en.json +2 -2
  3. package/utils/permissions.js +59 -0
  4. package/utils/tests/permissions.test.js +116 -0
  5. package/v2Components/AccessForbidden/_accessForbidden.scss +14 -0
  6. package/v2Components/AccessForbidden/index.js +5 -3
  7. package/v2Components/AccessForbidden/messages.js +3 -2
  8. package/v2Components/NoPermissionWrapper/_noPermissionWrapper.scss +12 -0
  9. package/v2Components/NoPermissionWrapper/index.js +26 -0
  10. package/v2Containers/App/constants.js +5 -0
  11. package/v2Containers/Assets/Gallery/_gallery.scss +6 -0
  12. package/v2Containers/Assets/Gallery/index.js +34 -10
  13. package/v2Containers/Cap/index.js +5 -2
  14. package/v2Containers/Cap/messages.js +4 -0
  15. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +2 -2
  16. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +6 -6
  17. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +4 -4
  18. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +32 -32
  19. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +36 -36
  20. package/v2Containers/Rcs/carouselUtils.js +46 -73
  21. package/v2Containers/Rcs/components/CarouselCard.js +6 -9
  22. package/v2Containers/Rcs/constants.js +2 -7
  23. package/v2Containers/Rcs/index.js +72 -126
  24. package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +5 -42
  25. package/v2Containers/Rcs/tests/CarouselCard.test.js +1 -2
  26. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +118 -118
  27. package/v2Containers/Rcs/tests/carouselUtils.test.js +15 -15
  28. package/v2Containers/Rcs/tests/index.test.js +10 -232
  29. package/v2Containers/Rcs/tests/utils.test.js +0 -17
  30. package/v2Containers/Rcs/utils.js +12 -51
  31. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +8 -8
  32. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +18 -18
  33. package/v2Containers/Templates/ChannelTypeIllustration.js +13 -2
  34. package/v2Containers/Templates/_templates.scss +6 -0
  35. package/v2Containers/Templates/index.js +141 -100
  36. package/v2Containers/Templates/tests/ChannelTypeIllustration.test.js +1 -1
  37. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +174 -121
  38. package/v2Containers/TemplatesV2/index.js +16 -5
  39. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +268 -268
@@ -87,8 +87,8 @@ exports[`line wrapper test/> should render create mode 1`] = `
87
87
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
88
88
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
89
89
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
90
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
91
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
90
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
91
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
92
92
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
93
93
  "creatives.components.CapTagList.Cancel": "Cancel",
94
94
  "creatives.components.CapTagList.Ok": "Ok",
@@ -10741,8 +10741,8 @@ new message content.",
10741
10741
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
10742
10742
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
10743
10743
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
10744
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
10745
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
10744
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
10745
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
10746
10746
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
10747
10747
  "creatives.components.CapTagList.Cancel": "Cancel",
10748
10748
  "creatives.components.CapTagList.Ok": "Ok",
@@ -13287,8 +13287,8 @@ new message content.",
13287
13287
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
13288
13288
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
13289
13289
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
13290
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
13291
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
13290
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
13291
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
13292
13292
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
13293
13293
  "creatives.components.CapTagList.Cancel": "Cancel",
13294
13294
  "creatives.components.CapTagList.Ok": "Ok",
@@ -16306,8 +16306,8 @@ new message content.",
16306
16306
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
16307
16307
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
16308
16308
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
16309
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
16310
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
16309
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
16310
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
16311
16311
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
16312
16312
  "creatives.components.CapTagList.Cancel": "Cancel",
16313
16313
  "creatives.components.CapTagList.Ok": "Ok",
@@ -18720,8 +18720,8 @@ exports[`line wrapper test/> should render create mode 2`] = `
18720
18720
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
18721
18721
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
18722
18722
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
18723
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
18724
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
18723
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
18724
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
18725
18725
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
18726
18726
  "creatives.components.CapTagList.Cancel": "Cancel",
18727
18727
  "creatives.components.CapTagList.Ok": "Ok",
@@ -33790,8 +33790,8 @@ new message content.",
33790
33790
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
33791
33791
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
33792
33792
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
33793
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
33794
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
33793
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
33794
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
33795
33795
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
33796
33796
  "creatives.components.CapTagList.Cancel": "Cancel",
33797
33797
  "creatives.components.CapTagList.Ok": "Ok",
@@ -36528,8 +36528,8 @@ new message content.",
36528
36528
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
36529
36529
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
36530
36530
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
36531
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
36532
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
36531
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
36532
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
36533
36533
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
36534
36534
  "creatives.components.CapTagList.Cancel": "Cancel",
36535
36535
  "creatives.components.CapTagList.Ok": "Ok",
@@ -39823,8 +39823,8 @@ new message content.",
39823
39823
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
39824
39824
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
39825
39825
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
39826
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
39827
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
39826
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
39827
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
39828
39828
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
39829
39829
  "creatives.components.CapTagList.Cancel": "Cancel",
39830
39830
  "creatives.components.CapTagList.Ok": "Ok",
@@ -42561,8 +42561,8 @@ new message content.",
42561
42561
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
42562
42562
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
42563
42563
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
42564
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
42565
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
42564
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
42565
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
42566
42566
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
42567
42567
  "creatives.components.CapTagList.Cancel": "Cancel",
42568
42568
  "creatives.components.CapTagList.Ok": "Ok",
@@ -46410,8 +46410,8 @@ new message content.",
46410
46410
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
46411
46411
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
46412
46412
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
46413
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
46414
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
46413
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
46414
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
46415
46415
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
46416
46416
  "creatives.components.CapTagList.Cancel": "Cancel",
46417
46417
  "creatives.components.CapTagList.Ok": "Ok",
@@ -49291,8 +49291,8 @@ new message content.",
49291
49291
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
49292
49292
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
49293
49293
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
49294
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
49295
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
49294
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
49295
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
49296
49296
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
49297
49297
  "creatives.components.CapTagList.Cancel": "Cancel",
49298
49298
  "creatives.components.CapTagList.Ok": "Ok",
@@ -52190,8 +52190,8 @@ new message content.",
52190
52190
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
52191
52191
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
52192
52192
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
52193
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
52194
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
52193
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
52194
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
52195
52195
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
52196
52196
  "creatives.components.CapTagList.Cancel": "Cancel",
52197
52197
  "creatives.components.CapTagList.Ok": "Ok",
@@ -55523,8 +55523,8 @@ new message content.",
55523
55523
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
55524
55524
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
55525
55525
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
55526
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
55527
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
55526
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
55527
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
55528
55528
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
55529
55529
  "creatives.components.CapTagList.Cancel": "Cancel",
55530
55530
  "creatives.components.CapTagList.Ok": "Ok",
@@ -61706,8 +61706,8 @@ new message content.",
61706
61706
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
61707
61707
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
61708
61708
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
61709
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
61710
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
61709
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
61710
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
61711
61711
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
61712
61712
  "creatives.components.CapTagList.Cancel": "Cancel",
61713
61713
  "creatives.components.CapTagList.Ok": "Ok",
@@ -64448,8 +64448,8 @@ new message content.",
64448
64448
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
64449
64449
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
64450
64450
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
64451
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
64452
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
64451
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
64452
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
64453
64453
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
64454
64454
  "creatives.components.CapTagList.Cancel": "Cancel",
64455
64455
  "creatives.components.CapTagList.Ok": "Ok",
@@ -67036,8 +67036,8 @@ new message content.",
67036
67036
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
67037
67037
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
67038
67038
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
67039
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
67040
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
67039
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
67040
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
67041
67041
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
67042
67042
  "creatives.components.CapTagList.Cancel": "Cancel",
67043
67043
  "creatives.components.CapTagList.Ok": "Ok",
@@ -87,8 +87,8 @@ exports[`line wrapper test/> should render line component new 1`] = `
87
87
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
88
88
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
89
89
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
90
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
91
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
90
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
91
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
92
92
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
93
93
  "creatives.components.CapTagList.Cancel": "Cancel",
94
94
  "creatives.components.CapTagList.Ok": "Ok",
@@ -6423,8 +6423,8 @@ new message content.",
6423
6423
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
6424
6424
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
6425
6425
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
6426
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
6427
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
6426
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
6427
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
6428
6428
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
6429
6429
  "creatives.components.CapTagList.Cancel": "Cancel",
6430
6430
  "creatives.components.CapTagList.Ok": "Ok",
@@ -9183,8 +9183,8 @@ exports[`line wrapper test/> should render line component new 2`] = `
9183
9183
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
9184
9184
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
9185
9185
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
9186
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
9187
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
9186
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
9187
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
9188
9188
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
9189
9189
  "creatives.components.CapTagList.Cancel": "Cancel",
9190
9190
  "creatives.components.CapTagList.Ok": "Ok",
@@ -15703,8 +15703,8 @@ new message content.",
15703
15703
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
15704
15704
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
15705
15705
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
15706
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
15707
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
15706
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
15707
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
15708
15708
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
15709
15709
  "creatives.components.CapTagList.Cancel": "Cancel",
15710
15710
  "creatives.components.CapTagList.Ok": "Ok",
@@ -18463,8 +18463,8 @@ exports[`line wrapper test/> should render line component new 3`] = `
18463
18463
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
18464
18464
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
18465
18465
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
18466
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
18467
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
18466
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
18467
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
18468
18468
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
18469
18469
  "creatives.components.CapTagList.Cancel": "Cancel",
18470
18470
  "creatives.components.CapTagList.Ok": "Ok",
@@ -25229,8 +25229,8 @@ new message content.",
25229
25229
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
25230
25230
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
25231
25231
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
25232
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
25233
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
25232
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
25233
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
25234
25234
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
25235
25235
  "creatives.components.CapTagList.Cancel": "Cancel",
25236
25236
  "creatives.components.CapTagList.Ok": "Ok",
@@ -28047,8 +28047,8 @@ exports[`line wrapper test/> should render line component new 4`] = `
28047
28047
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
28048
28048
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
28049
28049
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
28050
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
28051
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
28050
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
28051
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
28052
28052
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
28053
28053
  "creatives.components.CapTagList.Cancel": "Cancel",
28054
28054
  "creatives.components.CapTagList.Ok": "Ok",
@@ -37034,8 +37034,8 @@ new message content.",
37034
37034
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
37035
37035
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
37036
37036
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
37037
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
37038
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
37037
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
37038
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
37039
37039
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
37040
37040
  "creatives.components.CapTagList.Cancel": "Cancel",
37041
37041
  "creatives.components.CapTagList.Ok": "Ok",
@@ -39852,8 +39852,8 @@ exports[`line wrapper test/> should render line component new 5`] = `
39852
39852
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
39853
39853
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
39854
39854
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
39855
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
39856
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
39855
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
39856
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
39857
39857
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
39858
39858
  "creatives.components.CapTagList.Cancel": "Cancel",
39859
39859
  "creatives.components.CapTagList.Ok": "Ok",
@@ -48881,8 +48881,8 @@ new message content.",
48881
48881
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
48882
48882
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
48883
48883
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
48884
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
48885
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
48884
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
48885
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
48886
48886
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
48887
48887
  "creatives.components.CapTagList.Cancel": "Cancel",
48888
48888
  "creatives.components.CapTagList.Ok": "Ok",
@@ -51699,8 +51699,8 @@ exports[`line wrapper test/> should render line component old 1`] = `
51699
51699
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
51700
51700
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
51701
51701
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
51702
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
51703
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
51702
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
51703
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
51704
51704
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
51705
51705
  "creatives.components.CapTagList.Cancel": "Cancel",
51706
51706
  "creatives.components.CapTagList.Ok": "Ok",
@@ -56104,8 +56104,8 @@ new message content.",
56104
56104
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
56105
56105
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
56106
56106
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
56107
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
56108
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
56107
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
56108
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
56109
56109
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
56110
56110
  "creatives.components.CapTagList.Cancel": "Cancel",
56111
56111
  "creatives.components.CapTagList.Ok": "Ok",
@@ -59462,8 +59462,8 @@ exports[`line wrapper test/> should render line component old 2`] = `
59462
59462
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
59463
59463
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
59464
59464
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
59465
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
59466
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
59465
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
59466
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
59467
59467
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
59468
59468
  "creatives.components.CapTagList.Cancel": "Cancel",
59469
59469
  "creatives.components.CapTagList.Ok": "Ok",
@@ -64285,8 +64285,8 @@ new message content.",
64285
64285
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
64286
64286
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
64287
64287
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
64288
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
64289
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
64288
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
64289
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
64290
64290
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
64291
64291
  "creatives.components.CapTagList.Cancel": "Cancel",
64292
64292
  "creatives.components.CapTagList.Ok": "Ok",
@@ -67643,8 +67643,8 @@ exports[`line wrapper test/> should render line component old 3`] = `
67643
67643
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
67644
67644
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
67645
67645
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
67646
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
67647
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
67646
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
67647
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
67648
67648
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
67649
67649
  "creatives.components.CapTagList.Cancel": "Cancel",
67650
67650
  "creatives.components.CapTagList.Ok": "Ok",
@@ -72712,8 +72712,8 @@ new message content.",
72712
72712
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
72713
72713
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
72714
72714
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
72715
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
72716
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
72715
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
72716
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
72717
72717
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
72718
72718
  "creatives.components.CapTagList.Cancel": "Cancel",
72719
72719
  "creatives.components.CapTagList.Ok": "Ok",
@@ -76128,8 +76128,8 @@ exports[`line wrapper test/> should render line component old 4`] = `
76128
76128
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
76129
76129
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
76130
76130
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
76131
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
76132
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
76131
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
76132
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
76133
76133
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
76134
76134
  "creatives.components.CapTagList.Cancel": "Cancel",
76135
76135
  "creatives.components.CapTagList.Ok": "Ok",
@@ -81317,8 +81317,8 @@ new message content.",
81317
81317
  "app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
81318
81318
  "app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
81319
81319
  "app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
81320
- "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
81321
- "creatives.components.AccessForbidden.forbiddenHeader": "Access Forbidden",
81320
+ "creatives.components.AccessForbidden.forbiddenDesc": "Please contact your organisation administrator to request access.",
81321
+ "creatives.components.AccessForbidden.forbiddenHeader": "You don't have permission to view this page.",
81322
81322
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
81323
81323
  "creatives.components.CapTagList.Cancel": "Cancel",
81324
81324
  "creatives.components.CapTagList.Ok": "Ok",
@@ -19,29 +19,8 @@ import { sanitizeCardVarMappedValue } from './utils';
19
19
 
20
20
  const getVarNameFromToken = (token = '') => token.replace(/^\{\{|\}\}$/g, '');
21
21
 
22
- /**
23
- * Assigns every variable token across the whole carousel a stable `cardVarMapped` key (a plain
24
- * number, title then description, per card, in encounter order) — {cardIndex: {title: [key, …],
25
- * description: [key, …]}}. Each occurrence is its own independent slot — even two tokens sharing
26
- * the same literal tag name (e.g. "{{name}}" in both a card's title and description) get separate
27
- * keys and are filled independently. A slot's key depends only on where its token sits in the
28
- * template text, never on which tag currently fills it, so re-picking a different tag for the
29
- * same slot never changes its key.
30
- */
31
- export const computeCarouselVarSlotKeys = (carouselData, rcsVarRegex) => {
32
- let nextNumber = 1;
33
- return (carouselData || []).map((card = {}) => {
34
- const keysForField = (fieldStr) => (fieldStr || '').match(rcsVarRegex)?.map(() => {
35
- const key = String(nextNumber);
36
- nextNumber += 1;
37
- return key;
38
- }) ?? [];
39
- return {
40
- title: keysForField(card.title),
41
- description: keysForField(card.description),
42
- };
43
- });
44
- };
22
+ export const getCarouselVarMapKey = (cardIndex, varName) =>
23
+ (cardIndex === 0 ? varName : `c${cardIndex}::${varName}`);
45
24
 
46
25
  export const getCarouselImageAssetIndex = (cardIndex) =>
47
26
  RCS_CAROUSEL_ASSET_INDEX_BASE + (cardIndex * 3);
@@ -168,19 +147,19 @@ export const getCarouselDescriptionCharacterCount = (carouselData, cardIndex) =>
168
147
 
169
148
  /**
170
149
  * Preview (TestAndPreviewSlidebox / listing preview): resolve each card's title/desc through
171
- * `resolveCarouselTemplateWithMap(str, cardIndex, isDescField)` — each variable slot's key is its
172
- * global position across the whole carousel (see `getCarouselGlobalVarSlotKey`), so two cards can
173
- * never collide even when they pick the same tag name for their own slot.
150
+ * `resolveCarouselTemplateWithMap(str, cardIndex)` — a per-card-scoped resolver (see
151
+ * `getCarouselVarMapKey`). Each card's variables are independent, so no cross-card slot offset is
152
+ * needed (unlike the old flat/global-slot scheme this replaced).
174
153
  */
175
154
  export const buildCarouselCardsForPreview = (cards = [], { isFullMode, resolveCarouselTemplateWithMap }) =>
176
155
  (cards || []).map((card = {}, cardIndex) => {
177
156
  const rawTitle = card.title || '';
178
157
  const rawDesc = card.description || '';
179
158
  const resolvedTitle = !isFullMode
180
- ? resolveCarouselTemplateWithMap(rawTitle, cardIndex, false)
159
+ ? resolveCarouselTemplateWithMap(rawTitle, cardIndex)
181
160
  : rawTitle;
182
161
  const resolvedDesc = !isFullMode
183
- ? resolveCarouselTemplateWithMap(rawDesc, cardIndex, true)
162
+ ? resolveCarouselTemplateWithMap(rawDesc, cardIndex)
184
163
  : rawDesc;
185
164
  const videoThumb = card.thumbnailSrc || card.videoAsset?.videoThumbnail || '';
186
165
  const videoSrc = card.videoAsset?.videoSrc || '';
@@ -201,50 +180,44 @@ export const buildCarouselCardContentForPayload = (carouselData, {
201
180
  cardVarMapped,
202
181
  selectedCarouselHeight,
203
182
  rcsVarRegex,
204
- }) => {
205
- const slotKeysByCard = computeCarouselVarSlotKeys(carouselData, rcsVarRegex);
206
- return (carouselData || []).map((card = {}, cardIndex) => {
207
- const cardMediaType = card.mediaType;
208
- const isCardVideo = cardMediaType === RCS_MEDIA_TYPES.VIDEO;
209
- const isCardImage = cardMediaType === RCS_MEDIA_TYPES.IMAGE;
210
- const mediaUrl = isCardVideo
211
- ? (card.videoAsset?.videoSrc || '')
212
- : (card.imageSrc || '');
213
- const thumbnailUrl = isCardVideo
214
- ? (card.thumbnailSrc || card.videoAsset?.videoThumbnail || '')
215
- : '';
216
- const cardVarTokens = [
217
- ...((card.title || '').match(rcsVarRegex) ?? []),
218
- ...((card.description || '').match(rcsVarRegex) ?? []),
219
- ];
220
- const cardSlotKeys = [
221
- ...(slotKeysByCard[cardIndex]?.title ?? []),
222
- ...(slotKeysByCard[cardIndex]?.description ?? []),
223
- ];
224
- const cardVarMappedForCard = {};
225
- cardVarTokens.forEach((token, tokenIndex) => {
183
+ }) => (carouselData || []).map((card = {}, cardIndex) => {
184
+ const cardMediaType = card.mediaType;
185
+ const isCardVideo = cardMediaType === RCS_MEDIA_TYPES.VIDEO;
186
+ const isCardImage = cardMediaType === RCS_MEDIA_TYPES.IMAGE;
187
+ const mediaUrl = isCardVideo
188
+ ? (card.videoAsset?.videoSrc || '')
189
+ : (card.imageSrc || '');
190
+ const thumbnailUrl = isCardVideo
191
+ ? (card.thumbnailSrc || card.videoAsset?.videoThumbnail || '')
192
+ : '';
193
+ const cardVarTokens = [
194
+ ...((card.title || '').match(rcsVarRegex) ?? []),
195
+ ...((card.description || '').match(rcsVarRegex) ?? []),
196
+ ];
197
+ const cardVarMappedForCard = {};
198
+ if (isSlotMappingMode && cardVarTokens.length > 0) {
199
+ cardVarTokens.forEach((token) => {
226
200
  const varName = getVarNameFromToken(token);
227
- const slotKey = cardSlotKeys[tokenIndex];
228
- if (!varName || !isSlotMappingMode) return;
229
- const scopedValue = cardVarMapped?.[slotKey] ?? '';
230
- cardVarMappedForCard[slotKey] = sanitizeCardVarMappedValue(scopedValue);
201
+ if (!varName) return;
202
+ const scopedValue = cardVarMapped?.[getCarouselVarMapKey(cardIndex, varName)] ?? '';
203
+ cardVarMappedForCard[varName] = sanitizeCardVarMappedValue(scopedValue);
231
204
  });
232
- return {
233
- title: card.title || '',
234
- description: card.description || '',
235
- mediaType: cardMediaType,
236
- ...((isCardImage || isCardVideo) && {
237
- media: {
238
- mediaUrl,
239
- thumbnailUrl,
240
- height: selectedCarouselHeight || MEDIUM,
241
- ...(isCardVideo && card.videoAsset?.videoName && { videoName: card.videoAsset.videoName }),
242
- },
243
- }),
244
- ...(Array.isArray(card.suggestions) && card.suggestions.length > 0 && {
245
- suggestions: card.suggestions,
246
- }),
247
- ...(Object.keys(cardVarMappedForCard).length > 0 && { cardVarMapped: cardVarMappedForCard }),
248
- };
249
- });
250
- };
205
+ }
206
+ return {
207
+ title: card.title || '',
208
+ description: card.description || '',
209
+ mediaType: cardMediaType,
210
+ ...((isCardImage || isCardVideo) && {
211
+ media: {
212
+ mediaUrl,
213
+ thumbnailUrl,
214
+ height: selectedCarouselHeight || MEDIUM,
215
+ ...(isCardVideo && card.videoAsset?.videoName && { videoName: card.videoAsset.videoName }),
216
+ },
217
+ }),
218
+ ...(Array.isArray(card.suggestions) && card.suggestions.length > 0 && {
219
+ suggestions: card.suggestions,
220
+ }),
221
+ ...(Object.keys(cardVarMappedForCard).length > 0 && { cardVarMapped: cardVarMappedForCard }),
222
+ };
223
+ });