@capillarytech/creatives-library 8.0.146 → 8.0.147

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 (296) hide show
  1. package/constants/unified.js +189 -0
  2. package/index.js +4 -2
  3. package/package.json +1 -1
  4. package/routes.js +136 -202
  5. package/services/getSchema.js +1 -1
  6. package/services/localStorageApi.js +1 -0
  7. package/tests/i18n.test.js +1 -1
  8. package/utils/authWrapper.js +1 -1
  9. package/utils/common.js +2 -2
  10. package/utils/tagValidations.js +1 -1
  11. package/utils/tests/authWrapper.test.js +1 -1
  12. package/utils/tests/checkStore.test.js +1 -1
  13. package/utils/tests/customAuth.test.js +1 -1
  14. package/utils/transformerUtils.js +1 -1
  15. package/v2Components/CapTagList/index.js +9 -14
  16. package/v2Components/Carousel/style.scss +1 -1
  17. package/v2Components/EmailMobilePreview/index.js +2 -2
  18. package/v2Components/FormBuilder/index.js +2 -2
  19. package/v2Components/TemplatePreview/index.js +2 -1
  20. package/v2Components/TestAndPreviewSlidebox/tests/PreviewSection.test.js +98 -0
  21. package/v2Containers/Cap/tests/saga.test.js +1 -1
  22. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +5 -0
  23. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +25 -0
  24. package/v2Containers/Email/index.js +1 -1
  25. package/v2Containers/FTP/index.js +1 -1
  26. package/v2Containers/Line/Container/Text/index.js +1 -1
  27. package/v2Containers/Sms/Create/index.js +2 -2
  28. package/v2Containers/Sms/Edit/index.js +1 -1
  29. package/v2Containers/TagList/index.js +1 -1
  30. package/v2Containers/TagList/utils.js +1 -1
  31. package/v2Containers/Templates/index.js +1 -1
  32. package/v2Containers/Templates/sagas.js +1 -1
  33. package/components/BreadCrumbs/index.js +0 -65
  34. package/components/BreadCrumbs/messages.js +0 -13
  35. package/components/CapTagList/index.js +0 -235
  36. package/components/CapTagList/messages.js +0 -45
  37. package/components/Card/_customCard.scss +0 -40
  38. package/components/Card/index.js +0 -78
  39. package/components/Card/tests/__snapshots__/index.test.js.snap +0 -22
  40. package/components/Card/tests/index.test.js +0 -20
  41. package/components/CardGrid/index.js +0 -71
  42. package/components/Ckeditor/index.js +0 -238
  43. package/components/Ckeditor/messages.js +0 -13
  44. package/components/Ckeditor/style.scss +0 -3
  45. package/components/Component/index.js +0 -29
  46. package/components/CustomPopOver/index.js +0 -81
  47. package/components/CustomPopOver/messages.js +0 -17
  48. package/components/DateFilter/index.js +0 -349
  49. package/components/DateFilter/messages.js +0 -57
  50. package/components/DateRange/index.js +0 -114
  51. package/components/DateRange/messages.js +0 -25
  52. package/components/Edmeditor/index.js +0 -65
  53. package/components/Edmeditor/messages.js +0 -13
  54. package/components/EmailPreview/_emailPreview.scss +0 -119
  55. package/components/EmailPreview/assets/images/iPad.svg +0 -10
  56. package/components/EmailPreview/assets/images/mobile.png +0 -0
  57. package/components/EmailPreview/index.js +0 -107
  58. package/components/EmailPreview/messages.js +0 -33
  59. package/components/Footer/index.js +0 -27
  60. package/components/Footer/messages.js +0 -13
  61. package/components/FormBuilder/_formBuilder.scss +0 -83
  62. package/components/FormBuilder/index.js +0 -3279
  63. package/components/FormBuilder/messages.js +0 -61
  64. package/components/Header/index.js +0 -44
  65. package/components/Header/messages.js +0 -29
  66. package/components/ImagePreview/_imagePreview.scss +0 -63
  67. package/components/ImagePreview/index.js +0 -52
  68. package/components/ImagePreview/messages.js +0 -17
  69. package/components/PageHeader/_pageHeader.scss +0 -22
  70. package/components/PageHeader/index.js +0 -37
  71. package/components/PageHeader/messages.js +0 -13
  72. package/components/Pagination/_pagination.scss +0 -5
  73. package/components/Pagination/index.js +0 -49
  74. package/components/PreviewSideBar/_previewsidebar.scss +0 -28
  75. package/components/PreviewSideBar/index.js +0 -152
  76. package/components/PreviewSideBar/messages.js +0 -41
  77. package/components/Sidebar/_sidebar.scss +0 -115
  78. package/components/Sidebar/index.js +0 -214
  79. package/components/Sidebar/messages.js +0 -21
  80. package/components/SlideBox/_slideBox.scss +0 -63
  81. package/components/SlideBox/index.js +0 -47
  82. package/components/SlideBox/tests/index.test.js +0 -103
  83. package/components/SmsEditor/index.js +0 -55
  84. package/components/SmsTest/index.js +0 -117
  85. package/components/SmsTest/messages.js +0 -21
  86. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +0 -42
  87. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +0 -141
  88. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +0 -21
  89. package/components/TemplatePreview/_templatePreview.scss +0 -642
  90. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  91. package/components/TemplatePreview/assets/images/androidPushMessage.svg +0 -45
  92. package/components/TemplatePreview/assets/images/home-screen-android.svg +0 -21
  93. package/components/TemplatePreview/assets/images/home-screen-ios.svg +0 -16
  94. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +0 -135
  95. package/components/TemplatePreview/assets/images/mobile.svg +0 -24
  96. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  97. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  98. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  99. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +0 -22
  100. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +0 -16
  101. package/components/TemplatePreview/assets/images/user-icon.svg +0 -19
  102. package/components/TemplatePreview/assets/images/wechat-mobile.svg +0 -78
  103. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +0 -20
  104. package/components/TemplatePreview/index.js +0 -617
  105. package/components/TemplatePreview/messages.js +0 -78
  106. package/components/Toastr/index.js +0 -60
  107. package/components/Toastr/messages.js +0 -13
  108. package/components/ToastrMessage/index.js +0 -113
  109. package/components/ToastrMessage/messages.js +0 -17
  110. package/components/TopBar/_topbar.scss +0 -46
  111. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  112. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  113. package/components/TopBar/index.js +0 -113
  114. package/components/TopBar/messages.js +0 -29
  115. package/containers/App/actions.js +0 -7
  116. package/containers/App/constants.js +0 -114
  117. package/containers/App/index.js +0 -52
  118. package/containers/App/reducer.js +0 -19
  119. package/containers/App/sagas.js +0 -31
  120. package/containers/App/selectors.js +0 -25
  121. package/containers/App/test/saga.test.js +0 -11
  122. package/containers/Assets/Gallery/_gallery.scss +0 -126
  123. package/containers/Assets/Gallery/actions.js +0 -37
  124. package/containers/Assets/Gallery/constants.js +0 -23
  125. package/containers/Assets/Gallery/index.js +0 -473
  126. package/containers/Assets/Gallery/messages.js +0 -93
  127. package/containers/Assets/Gallery/reducer.js +0 -81
  128. package/containers/Assets/Gallery/sagas.js +0 -80
  129. package/containers/Assets/Gallery/selectors.js +0 -25
  130. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +0 -9
  131. package/containers/Assets/Gallery/tests/actions.test.js +0 -25
  132. package/containers/Assets/Gallery/tests/reducer.test.js +0 -96
  133. package/containers/Assets/Gallery/tests/saga.test.js +0 -157
  134. package/containers/Cap/actions.js +0 -66
  135. package/containers/Cap/constants.js +0 -25
  136. package/containers/Cap/index.js +0 -402
  137. package/containers/Cap/messages.js +0 -75
  138. package/containers/Cap/reducer.js +0 -113
  139. package/containers/Cap/sagas.js +0 -159
  140. package/containers/Cap/selectors.js +0 -75
  141. package/containers/Cap/tests/__snapshots__/index.test.js.snap +0 -2270
  142. package/containers/Cap/tests/index.test.js +0 -22
  143. package/containers/Cap/tests/saga.test.js +0 -284
  144. package/containers/Dashboard/actions.js +0 -15
  145. package/containers/Dashboard/constants.js +0 -7
  146. package/containers/Dashboard/index.js +0 -76
  147. package/containers/Dashboard/messages.js +0 -13
  148. package/containers/Dashboard/reducer.js +0 -21
  149. package/containers/Dashboard/sagas.js +0 -17
  150. package/containers/Dashboard/selectors.js +0 -25
  151. package/containers/Dashboard/test/saga.test.js +0 -9
  152. package/containers/Ebill/_ebill.scss +0 -5
  153. package/containers/Ebill/actions.js +0 -43
  154. package/containers/Ebill/constants.js +0 -20
  155. package/containers/Ebill/index.js +0 -1278
  156. package/containers/Ebill/messages.js +0 -77
  157. package/containers/Ebill/reducer.js +0 -72
  158. package/containers/Ebill/sagas.js +0 -74
  159. package/containers/Ebill/selectors.js +0 -25
  160. package/containers/Ebill/test/saga.test.js +0 -11
  161. package/containers/Email/_email.scss +0 -141
  162. package/containers/Email/actions.js +0 -81
  163. package/containers/Email/constants.js +0 -36
  164. package/containers/Email/index.js +0 -3325
  165. package/containers/Email/messages.js +0 -289
  166. package/containers/Email/reducer.js +0 -142
  167. package/containers/Email/sagas.js +0 -135
  168. package/containers/Email/selectors.js +0 -31
  169. package/containers/Email/test/saga.test.js +0 -671
  170. package/containers/LanguageProvider/actions.js +0 -17
  171. package/containers/LanguageProvider/constants.js +0 -8
  172. package/containers/LanguageProvider/index.js +0 -80
  173. package/containers/LanguageProvider/reducer.js +0 -30
  174. package/containers/LanguageProvider/selectors.js +0 -20
  175. package/containers/LanguageProvider/tests/actions.test.js +0 -19
  176. package/containers/LanguageProvider/tests/index.test.js +0 -78
  177. package/containers/LanguageProvider/tests/reducer.test.js +0 -20
  178. package/containers/LanguageProvider/tests/selectors.test.js +0 -15
  179. package/containers/Line/Create/_lineCreate.scss +0 -54
  180. package/containers/Line/Create/actions.js +0 -90
  181. package/containers/Line/Create/constants.js +0 -39
  182. package/containers/Line/Create/index.js +0 -836
  183. package/containers/Line/Create/messages.js +0 -189
  184. package/containers/Line/Create/reducer.js +0 -99
  185. package/containers/Line/Create/sagas.js +0 -121
  186. package/containers/Line/Create/selectors.js +0 -36
  187. package/containers/Line/Create/tests/saga.test.js +0 -202
  188. package/containers/Line/Edit/_lineEdit.scss +0 -35
  189. package/containers/Line/Edit/actions.js +0 -79
  190. package/containers/Line/Edit/constants.js +0 -27
  191. package/containers/Line/Edit/index.js +0 -1050
  192. package/containers/Line/Edit/messages.js +0 -177
  193. package/containers/Line/Edit/reducer.js +0 -83
  194. package/containers/Line/Edit/sagas.js +0 -80
  195. package/containers/Line/Edit/selectors.js +0 -29
  196. package/containers/Line/Edit/test/saga.test.js +0 -160
  197. package/containers/Login/assets/images/capillary_logo.png +0 -0
  198. package/containers/Login/components/LoginForm/index.js +0 -62
  199. package/containers/Login/components/LoginForm/messages.js +0 -33
  200. package/containers/Login/index.js +0 -130
  201. package/containers/Login/messages.js +0 -25
  202. package/containers/Login/selectors.js +0 -25
  203. package/containers/MobilePush/Create/_mobilePushCreate.scss +0 -39
  204. package/containers/MobilePush/Create/actions.js +0 -46
  205. package/containers/MobilePush/Create/constants.js +0 -23
  206. package/containers/MobilePush/Create/index.js +0 -2303
  207. package/containers/MobilePush/Create/messages.js +0 -269
  208. package/containers/MobilePush/Create/reducer.js +0 -70
  209. package/containers/MobilePush/Create/sagas.js +0 -74
  210. package/containers/MobilePush/Create/selectors.js +0 -28
  211. package/containers/MobilePush/Create/test/saga.test.js +0 -19
  212. package/containers/MobilePush/Edit/_mobilePushCreate.scss +0 -39
  213. package/containers/MobilePush/Edit/actions.js +0 -91
  214. package/containers/MobilePush/Edit/constants.js +0 -35
  215. package/containers/MobilePush/Edit/index.js +0 -2601
  216. package/containers/MobilePush/Edit/messages.js +0 -266
  217. package/containers/MobilePush/Edit/reducer.js +0 -112
  218. package/containers/MobilePush/Edit/sagas.js +0 -126
  219. package/containers/MobilePush/Edit/selectors.js +0 -29
  220. package/containers/MobilePush/Edit/tests/saga.test.js +0 -255
  221. package/containers/NotFoundPage/index.js +0 -25
  222. package/containers/NotFoundPage/messages.js +0 -13
  223. package/containers/NotFoundPage/tests/index.test.js +0 -17
  224. package/containers/Sms/Create/_smsCreate.scss +0 -42
  225. package/containers/Sms/Create/actions.js +0 -27
  226. package/containers/Sms/Create/constants.js +0 -16
  227. package/containers/Sms/Create/index.js +0 -1488
  228. package/containers/Sms/Create/messages.js +0 -109
  229. package/containers/Sms/Create/reducer.js +0 -41
  230. package/containers/Sms/Create/sagas.js +0 -40
  231. package/containers/Sms/Create/selectors.js +0 -28
  232. package/containers/Sms/Create/test/saga.test.js +0 -11
  233. package/containers/Sms/Edit/actions.js +0 -40
  234. package/containers/Sms/Edit/constants.js +0 -17
  235. package/containers/Sms/Edit/index.js +0 -1472
  236. package/containers/Sms/Edit/messages.js +0 -105
  237. package/containers/Sms/Edit/reducer.js +0 -50
  238. package/containers/Sms/Edit/sagas.js +0 -60
  239. package/containers/Sms/Edit/selectors.js +0 -32
  240. package/containers/Sms/Edit/test/saga.test.js +0 -13
  241. package/containers/TagList/_tagList.scss +0 -8
  242. package/containers/TagList/actions.js +0 -15
  243. package/containers/TagList/constants.js +0 -32
  244. package/containers/TagList/index.js +0 -236
  245. package/containers/TagList/messages.js +0 -13
  246. package/containers/TagList/reducer.js +0 -23
  247. package/containers/TagList/sagas.js +0 -11
  248. package/containers/TagList/selectors.js +0 -25
  249. package/containers/Templates/_templates.scss +0 -333
  250. package/containers/Templates/actions.js +0 -103
  251. package/containers/Templates/constants.js +0 -60
  252. package/containers/Templates/index.js +0 -1756
  253. package/containers/Templates/messages.js +0 -337
  254. package/containers/Templates/reducer.js +0 -142
  255. package/containers/Templates/sagas.js +0 -163
  256. package/containers/Templates/selectors.js +0 -28
  257. package/containers/Templates/test/saga.test.js +0 -241
  258. package/containers/WeChat/MapTemplates/_mapTemplates.scss +0 -8
  259. package/containers/WeChat/MapTemplates/actions.js +0 -52
  260. package/containers/WeChat/MapTemplates/constants.js +0 -28
  261. package/containers/WeChat/MapTemplates/index.js +0 -1610
  262. package/containers/WeChat/MapTemplates/messages.js +0 -157
  263. package/containers/WeChat/MapTemplates/reducer.js +0 -74
  264. package/containers/WeChat/MapTemplates/sagas.js +0 -84
  265. package/containers/WeChat/MapTemplates/selectors.js +0 -25
  266. package/containers/WeChat/MapTemplates/test/saga.test.js +0 -155
  267. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +0 -57
  268. package/containers/WeChat/RichmediaTemplates/Create/actions.js +0 -36
  269. package/containers/WeChat/RichmediaTemplates/Create/constants.js +0 -15
  270. package/containers/WeChat/RichmediaTemplates/Create/index.js +0 -1071
  271. package/containers/WeChat/RichmediaTemplates/Create/messages.js +0 -165
  272. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +0 -60
  273. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +0 -497
  274. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +0 -51
  275. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +0 -37
  276. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +0 -13
  277. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +0 -20
  278. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +0 -10
  279. package/containers/WeChat/RichmediaTemplates/Edit/index.js +0 -136
  280. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +0 -13
  281. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +0 -28
  282. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +0 -36
  283. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +0 -30
  284. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +0 -12
  285. package/containers/WeChat/RichmediaTemplates/View/actions.js +0 -15
  286. package/containers/WeChat/RichmediaTemplates/View/constants.js +0 -7
  287. package/containers/WeChat/RichmediaTemplates/View/index.js +0 -47
  288. package/containers/WeChat/RichmediaTemplates/View/messages.js +0 -21
  289. package/containers/WeChat/RichmediaTemplates/View/reducer.js +0 -23
  290. package/containers/WeChat/RichmediaTemplates/View/sagas.js +0 -11
  291. package/containers/WeChat/RichmediaTemplates/View/selectors.js +0 -25
  292. package/utils/asyncInjectors.js +0 -78
  293. package/utils/callNativeEvent.js +0 -16
  294. package/utils/checkStore.js +0 -21
  295. package/utils/customAuthWrapper.js +0 -62
  296. package/utils/customConnectedAuthWrapper.js +0 -26
@@ -0,0 +1,189 @@
1
+ // Unified constants for cap-creatives-ui
2
+ // Consolidated from legacy and v2 constants files
3
+
4
+ // --- Channel Constants ---
5
+ export const EMAIL = 'email';
6
+ export const SMS = 'sms';
7
+ export const MOBILE_PUSH = 'mobilepush';
8
+ export const WECHAT = 'wechat';
9
+ export const LINE = 'line';
10
+ export const WHATSAPP = 'whatsapp';
11
+ export const VIBER = 'viber';
12
+ export const FACEBOOK = 'facebook';
13
+ export const RCS = 'rcs';
14
+ export const ZALO = 'zalo';
15
+ export const INAPP = 'inapp';
16
+ export const ASSETS = 'assets';
17
+ export const TRANSACTION = 'transaction';
18
+ export const PUSH = 'push';
19
+ export const EMF = 'emf';
20
+ export const VENENO = 'veneno';
21
+ export const TEXT = 'text';
22
+ export const IOS = 'ios';
23
+ export const ANDROID = 'android';
24
+ export const EXTERNAL_URL = 'external_url';
25
+ export const BIG_TEXT = 'big_text';
26
+
27
+ // --- App State Constants ---
28
+ export const CREATE = 'create';
29
+ export const EDIT = 'edit';
30
+ export const PREVIEW = 'preview';
31
+ export const CREATIVES = 'creatives';
32
+ export const LOYALTY = 'loyalty';
33
+ export const CREATIVES_UI_VIEW = 'CREATIVES_UI_VIEW';
34
+ export const DEFAULT = 'default';
35
+ export const DEFAULT_MODULE = 'creatives';
36
+ export const DEFAULT_LOCALE = 'en';
37
+
38
+ // --- Feature Flags & Validation ---
39
+ export const STORE2DOOR_PLUS_ENABLED = 'STORE2DOOR_PLUS_ENABLED';
40
+ export const TRAI_DLT = 'TRAI_DLT';
41
+ export const CARD_BASED_SCOPE = 'CARD_BASED_SCOPE';
42
+ export const HOSPITALITY_BASED_SCOPE = 'HOSPITALITY_BASED_SCOPE';
43
+ export const REGISTRATION_CUSTOM_FIELD = 'Registration custom fields';
44
+ export const GIFT_CARDS = 'GIFT_CARDS';
45
+ export const PROMO_ENGINE = 'PROMO_ENGINE';
46
+ export const LIQUID_SUPPORT = 'ENABLE_LIQUID_SUPPORT';
47
+ export const ENABLE_NEW_MPUSH = 'ENABLE_NEW_MPUSH';
48
+ export const CUSTOM_TAG = 'CustomTagMessage';
49
+ export const CUSTOMER_EXTENDED_FIELD = 'Customer extended fields';
50
+ export const EXTENDED_TAG = 'ExtendedTagMessage';
51
+ export const BADGES_UI_ENABLED = 'BADGES_UI_ENABLED';
52
+ export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
53
+ export const ENABLE_WECHAT = 'ENABLE_WECHAT';
54
+ export const ENABLE_CUSTOMER_BARCODE_TAG = 'ENABLE_CUSTOMER_BARCODE_TAG';
55
+ export const EMAIL_UNSUBSCRIBE_TAG_MANDATORY = 'EMAIL_UNSUBSCRIBE_TAG_MANDATORY';
56
+ export const ENABLE_AI_SUGGESTIONS = 'ENABLE_AI_SUGGESTIONS';
57
+ export const AI_CONTENT_BOT_DISABLED = 'AI_CONTENT_BOT_DISABLED';
58
+ export const AI_DOCUMENTATION_BOT_ENABLED = 'AI_DOCUMENTATION_BOT_ENABLED';
59
+ export const ENABLE_NEW_LEFT_NAVIGATION = 'ENABLE_NEW_LEFT_NAVIGATION';
60
+ export const ENABLE_PRODUCT_SUPPORT_VIDEOS = 'ENABLE_PRODUCT_SUPPORT_VIDEOS';
61
+ export const EMBEDDED = 'embedded';
62
+ // --- Tag/Validation Constants ---
63
+ export const CARD_RELATED_TAGS = [
64
+ 'card_series',
65
+ 'card_number',
66
+ 'card_issue_date',
67
+ 'card_status',
68
+ 'card_series_name',
69
+ 'card_name',
70
+ ];
71
+ export const HOSPITALITY_RELATED_TAGS = [
72
+ 'hospitality_series',
73
+ 'tax_Code',
74
+ 'roomTypeCode',
75
+ 'bookingChannel',
76
+ 'hotelReservationID_ResID_Type',
77
+ 'lastModifyDateTime',
78
+ 'guestCounts_IsPerRoom',
79
+ 'ratePlan_RatePlanCode',
80
+ 'resID_Value',
81
+ 'numberOfUnits',
82
+ 'rateTimeUnit',
83
+ 'resStatus',
84
+ 'timeSpan_End',
85
+ 'roomStay_MarketCode',
86
+ 'createDateTime',
87
+ 'amount',
88
+ 'timeSpan_Start',
89
+ 'email',
90
+ 'resID_Source',
91
+ ];
92
+ export const GIFT_VOUCHER_RELATED_TAGS = [
93
+ 'gift_voucher',
94
+ 'gift_voucher_expiry_date.FORMAT_1',
95
+ 'gift_voucher_expiry_date.FORMAT_2',
96
+ 'gift_voucher_expiry_date.FORMAT_3',
97
+ 'gift_voucher_expiry_date.FORMAT_4',
98
+ 'gift_voucher_expiry_date.FORMAT_5',
99
+ 'gift_voucher_expiry_date.FORMAT_6',
100
+ 'gift_voucher_expiry_date.FORMAT_7',
101
+ 'gift_voucher_expiry_date.FORMAT_8',
102
+ 'gift_voucher_expiry_date',
103
+ ];
104
+ export const PROMO_ENGINE_RELATED_TAGS = [
105
+ 'promotion',
106
+ 'promotion_expiry_date.FORMAT_1',
107
+ 'promotion_expiry_date.FORMAT_2',
108
+ 'promotion_expiry_date.FORMAT_3',
109
+ 'promotion_expiry_date.FORMAT_4',
110
+ 'promotion_expiry_date.FORMAT_5',
111
+ 'promotion_expiry_date.FORMAT_6',
112
+ 'promotion_expiry_date.FORMAT_7',
113
+ 'promotion_expiry_date.FORMAT_8',
114
+ 'promotion_expiry_date',
115
+ ];
116
+ export const BADGES_RELATED_TAGS = [
117
+ 'Badge_expiry_date',
118
+ 'badges_issue_expiry_date',
119
+ 'badge_expiry_mm_slash_dd_slash_yyyy',
120
+ 'badge_expiry_dd_slash_mm_slash_yyyy',
121
+ 'badge_expiry_yyyy_hyphen_mm_hyphen_dd',
122
+ 'badge_expiry_mm_slash_dd_slash_yy',
123
+ 'badge_expiry_dd_space_Mon_space_yyyy',
124
+ 'badge_expiry_Day_comma_space_Mon_space_dd_comma_space_yy',
125
+ 'badge_expiry_Dd_dot_mm_dot_yy',
126
+ 'badge_expiry_dd_space_Mon',
127
+ 'Days_until_expiry',
128
+ 'badges_enroll_expiry_date.FORMAT_1',
129
+ 'badges_enroll_expiry_date.FORMAT_2',
130
+ 'badges_enroll_expiry_date.FORMAT_3',
131
+ 'badges_enroll_expiry_date.FORMAT_4',
132
+ 'badges_enroll_expiry_date.FORMAT_5',
133
+ 'badges_enroll_expiry_date.FORMAT_6',
134
+ 'badges_enroll_expiry_date.FORMAT_7',
135
+ 'badges_enroll_expiry_date.FORMAT_8',
136
+ 'badges_enroll_expiring_in_days',
137
+ 'badges_issue_expiry_date.FORMAT_1',
138
+ 'badges_issue_expiry_date.FORMAT_2',
139
+ 'badges_issue_expiry_date.FORMAT_3',
140
+ 'badges_issue_expiry_date.FORMAT_4',
141
+ 'badges_issue_expiry_date.FORMAT_5',
142
+ 'badges_issue_expiry_date.FORMAT_6',
143
+ 'badges_issue_expiry_date.FORMAT_7',
144
+ 'badges_issue_expiry_date.FORMAT_8',
145
+ 'badges_issue_expiring_in_days',
146
+ ];
147
+ export const BADGES_ENROLL = 'BADGES_ENROLL';
148
+ export const BADGES_ISSUE = 'BADGES_ISSUE';
149
+ export const CUSTOMER_BARCODE_TAG = 'customer_barcode';
150
+ export const COPY_OF = 'Copy of';
151
+ export const ENTRY_TRIGGER_TAG_REGEX = /\bentryTrigger\.\w+(?:\.\w+)?(?:\(\w+\))?/g;
152
+
153
+ export const GET_TRANSLATION_MAPPED = {
154
+ 'en': 'en-US',
155
+ 'zh-cn': 'zh',
156
+ 'zh': 'zh',
157
+ 'en-US': 'en-US',
158
+ 'ja-JP': 'ja-JP',
159
+ };
160
+
161
+ export const JAPANESE_HIDE_DATE_TAGS = [
162
+ "mm/dd/yyyy",
163
+ "dd/mm/yyyy",
164
+ "mm/dd/yy",
165
+ "dd Mon yyyy",
166
+ "Day, Mon dd, yy",
167
+ "dd.mm.yy",
168
+ "dd Mon",
169
+ "dd/m/yyyy",
170
+ ];
171
+
172
+ export const LIQUID_SUPPORTED_CHANNELS = [EMAIL, SMS, MOBILE_PUSH, INAPP];
173
+
174
+ // --- Line Constants ---
175
+ export const STICKER = 'sticker';
176
+ export const IMAGE = 'image';
177
+ export const IMAGE_MAP = 'imagemap';
178
+ export const IMAGE_CAROUSEL = 'image_carousel';
179
+ export const TEMPLATE = 'flex';
180
+ export const VIDEO = 'video';
181
+
182
+
183
+ export const LOGOUT_REQUEST = 'cap/LOGOUT_REQUEST';
184
+ export const LOGOUT_SUCCESS = 'cap/LOGOUT_SUCCESS';
185
+ export const LOGOUT_FAILURE = 'cap/LOGOUT_FAILURE';
186
+
187
+ export const JAPANESE_HELP_TEXT = 'ヘルプ :トークンの定義';
188
+
189
+ export const TAG_TRANSLATION_DOC = 'https://docs.capillarytech.com/docs/tags-translation';
package/index.js CHANGED
@@ -138,8 +138,10 @@ const FTPContainer = {FTP, FTPReducer, FTPSagas};
138
138
  export {default as TagList} from './v2Containers/TagList/index';
139
139
  export {default as TagListSaga} from './v2Containers/TagList/sagas';
140
140
  export {default as TagListReducer} from './v2Containers/TagList/reducer';
141
- export {default as TemplatePreview} from './components/TemplatePreview';
142
- export {default as EmailPreview} from './components/EmailPreview';
141
+
142
+ export {default as TemplatePreview} from './v2Components/TemplatePreview';
143
+ export {default as EmailPreview} from './v2Components/EmailPreview';
144
+
143
145
  export {default as EmailPreviewV2} from './v2Components/EmailPreviewV2';
144
146
  export {default as CallTaskPreview} from './v2Components/CallTaskPreview';
145
147
  export {default as EmailMobilePreview} from './v2Components/EmailMobilePreview';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "8.0.146",
4
+ "version": "8.0.147",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
package/routes.js CHANGED
@@ -1,212 +1,146 @@
1
1
  import withReactRouterV3Compatibility from './hoc/withReactRouterV3Compatibility';
2
- import Dashboard from './containers/Dashboard';
3
- import SmsCreate from './containers/Sms/Create';
4
- import SmsEdit from './containers/Sms/Edit';
5
- import Templates from './containers/Templates';
6
- import Gallary from './containers/Assets/Gallery';
7
- import WeChatMapTemplate from './containers/WeChat/MapTemplates';
8
- import WeChatRichmediaCreate from './containers/WeChat/RichmediaTemplates/Create';
9
- import WeChatRichmediaEdit from './containers/WeChat/RichmediaTemplates/Edit';
10
- import Email from './containers/Email';
11
- import Ebill from './containers/Ebill';
12
- import MobilePushCreate from './containers/MobilePush/Create';
13
- import MobilePushEdit from './containers/MobilePush/Edit';
14
- import LineCreate from './containers/Line/Create';
2
+
15
3
  import SomethingWentWrong from '@capillarytech/cap-ui-library/CapSomethingWentWrong';
16
- import NotFoundPage from './containers/NotFoundPage';
4
+ import NotFoundPage from './v2Containers/NotFoundPage';
17
5
  import TemplatesV2 from './v2Containers/TemplatesV2';
18
- import { updateCharCount } from './utils/smsCharCountV2';
19
6
 
20
- const routes = [
21
- {
22
- exact: true,
23
- path: '/',
24
- component: withReactRouterV3Compatibility(Dashboard),
25
- },
26
- //sms routes v1
27
- {
28
- exact: true,
29
- path: '/sms/create',
30
- name: 'create',
31
- component: withReactRouterV3Compatibility(SmsCreate),
32
- },
33
- {
34
- exact: true,
35
- path: '/sms/view',
36
- name: 'view',
37
- component: withReactRouterV3Compatibility(SmsCreate),
38
- },
39
- {
40
- exact: true,
41
- path: '/sms/edit/:id',
42
- name: 'edit',
43
- component: withReactRouterV3Compatibility(SmsEdit),
44
- },
45
- {
46
- exact: true,
47
- path: '/sms',
48
- name: 'sms',
49
- component: withReactRouterV3Compatibility(Templates),
50
- },
51
- //wechat routes v1
52
- {
53
- exact: true,
54
- path: '/wechat',
55
- name: 'wechat',
56
- component: withReactRouterV3Compatibility(Templates),
57
- },
58
- {
59
- exact: true,
60
- path: '/wechat/create',
61
- name: 'create weChat',
62
- component: withReactRouterV3Compatibility(WeChatMapTemplate),
63
- },
64
- {
65
- exact: true,
66
- path: '/wechat/edit/:id',
67
- name: 'edit weChat',
68
- component: withReactRouterV3Compatibility(WeChatMapTemplate),
69
- },
70
- {
71
- exact: true,
72
- path: '/wechat/richmedia/create',
73
- name: 'wechat_richmedia_create',
74
- component: withReactRouterV3Compatibility(WeChatRichmediaCreate),
75
- },
76
- {
77
- exact: true,
78
- path: '/wechat/richmedia/edit/:id',
79
- name: 'wechat_richmedia_edit',
80
- component: withReactRouterV3Compatibility(WeChatRichmediaEdit),
81
- },
82
- //email routes v1
83
- {
84
- exact: true,
85
- path: '/email',
86
- name: 'email',
87
- component: withReactRouterV3Compatibility(Templates),
88
- },
89
- {
90
- exact: true,
91
- path: '/email/create',
92
- name: 'EmailCreate',
93
- component: withReactRouterV3Compatibility(Email),
94
- },
95
- {
96
- exact: true,
97
- path: '/email/view',
98
- name: 'EmailView',
99
- component: withReactRouterV3Compatibility(Email),
100
- },
101
- {
102
- exact: true,
103
- path: '/email/edit/:id',
104
- name: 'EmailEdit',
105
- component: withReactRouterV3Compatibility(Email),
106
- },
107
- //ebill routes v1
108
- {
109
- exact: true,
110
- path: '/ebill',
111
- name: 'Ebill',
112
- component: withReactRouterV3Compatibility(Templates),
113
- },
114
- {
115
- exact: true,
116
- path: '/ebill/create',
117
- name: 'Ebill',
118
- component: withReactRouterV3Compatibility(Ebill),
119
- },
120
- {
121
- exact: true,
122
- path: '/ebill/edit/:id',
123
- name: 'Ebill',
124
- component: withReactRouterV3Compatibility(Ebill),
125
- },
126
- //mobilepush routes v1
127
- {
128
- exact: true,
129
- path: '/mobilepush',
130
- name: 'mobilepush',
131
- component: withReactRouterV3Compatibility(Templates),
132
- },
133
- {
134
- exact: true,
135
- path: '/mobilepush/create/:mode',
136
- name: 'create',
137
- component: withReactRouterV3Compatibility(MobilePushCreate),
138
- },
139
- {
140
- exact: true,
141
- path: '/mobilepush/edit/:id',
142
- name: 'edit',
143
- component: withReactRouterV3Compatibility(MobilePushEdit),
144
- },
145
- // assets routes v1
146
- {
147
- exact: true,
148
- path: '/assets',
149
- name: 'GALLERY',
150
- component: withReactRouterV3Compatibility(Gallary),
151
- },
152
- // line routes v1
153
- {
154
- exact: true,
155
- path: '/line',
156
- name: 'line',
157
- component: withReactRouterV3Compatibility(Templates),
158
- },
159
- {
160
- exact: true,
161
- path: '/line/create/:mode',
162
- name: 'create line',
163
- component: withReactRouterV3Compatibility(LineCreate),
164
- },
165
- {
166
- exact: true,
167
- path: '/line/view/:mode',
168
- name: 'view',
169
- component: withReactRouterV3Compatibility(LineCreate),
170
- },
171
- {
172
- exact: true,
173
- path: '/line/edit/text/:id',
174
- name: 'edit_text',
175
- component: withReactRouterV3Compatibility(LineCreate),
176
- },
177
- {
178
- exact: true,
179
- path: '/line/edit/image/:id',
180
- name: 'edit_image',
181
- component: withReactRouterV3Compatibility(LineCreate),
182
- },
183
- {
184
- exact: true,
185
- path: '/v2/somethingwentwrong',
186
- name: 'somethingwentwrong',
187
- component: withReactRouterV3Compatibility(SomethingWentWrong),
188
- },
189
- {
190
- exact: true,
191
- path: '/v2',
192
- name: 'templatesV2',
193
- component: withReactRouterV3Compatibility(TemplatesV2),
194
- },
195
- {
196
- exact: true,
197
- path: '/v2/loyalty',
198
- name: 'loyalty',
199
- component: withReactRouterV3Compatibility(TemplatesV2),
200
- },
201
- {
7
+ // Utility function to detect if we're in embedded mode
8
+ const isEmbeddedMode = () => {
9
+ // Check if we're in embedded mode by looking for embedded mode indicators
10
+ // This could be from URL params, environment variables, or build configuration
11
+ if (typeof window !== 'undefined') {
12
+ const urlParams = new URLSearchParams(window.location.search);
13
+ return urlParams.get('type') === 'embedded';
14
+ }
15
+ // Fallback: check if containers folder exists (indicating non-embedded mode)
16
+ try {
17
+ // This will throw an error in embedded mode since containers are excluded
18
+ require('./containers/Dashboard');
19
+ return false;
20
+ } catch (error) {
21
+ return true;
22
+ }
23
+ };
24
+
25
+ // Check if we're in embedded mode at module load time
26
+ const isEmbedded = isEmbeddedMode();
27
+
28
+ // Clean all-or-nothing approach for static imports
29
+ const getStaticImports = () => {
30
+ if (isEmbedded) return {}; // Only v2 uses static imports
31
+
32
+ try {
33
+ return {
34
+ Dashboard: require('./containers/Dashboard').default,
35
+ SmsCreate: require('./containers/Sms/Create').default,
36
+ SmsEdit: require('./containers/Sms/Edit').default,
37
+ Templates: require('./containers/Templates').default,
38
+ WeChatMapTemplate: require('./containers/WeChat/MapTemplates').default,
39
+ Gallary: require('./containers/Assets/Gallery').default,
40
+ WeChatRichmediaCreate: require('./containers/WeChat/RichmediaTemplates/Create').default,
41
+ WeChatRichmediaEdit: require('./containers/WeChat/RichmediaTemplates/Edit').default,
42
+ Email: require('./containers/Email').default,
43
+ Ebill: require('./containers/Ebill').default,
44
+ MobilePushCreate: require('./containers/MobilePush/Create').default,
45
+ MobilePushEdit: require('./containers/MobilePush/Edit').default,
46
+ LineCreate: require('./containers/Line/Create').default,
47
+ };
48
+ } catch (error) {
49
+ console.log('Error importing v1 components:', error.message);
50
+ return {}; // Fallback to v2 only
51
+ }
52
+ };
53
+
54
+ // Declarative route configuration
55
+ const ROUTES = [
56
+ // ✅ V2 Routes (always included)
57
+ { path: '/v2/somethingwentwrong', name: 'somethingwentwrong', component: SomethingWentWrong },
58
+ { path: '/v2', name: 'templatesV2', component: TemplatesV2 },
59
+ { path: '/v2/loyalty', name: 'loyalty', component: TemplatesV2 },
60
+
61
+ // ✅ V1 Routes (conditional based on `!isEmbedded`)
62
+ { path: '/', componentKey: 'Dashboard' },
63
+
64
+ // SMS routes v1
65
+ { path: '/sms/create', name: 'create', componentKey: 'SmsCreate' },
66
+ { path: '/sms/view', name: 'view', componentKey: 'SmsCreate' },
67
+ { path: '/sms/edit/:id', name: 'edit', componentKey: 'SmsEdit' },
68
+ { path: '/sms', name: 'sms', componentKey: 'Templates' },
69
+
70
+ // WeChat routes v1
71
+ { path: '/wechat', name: 'wechat', componentKey: 'Templates' },
72
+ { path: '/wechat/create', name: 'create weChat', componentKey: 'WeChatMapTemplate' },
73
+ { path: '/wechat/edit/:id', name: 'edit weChat', componentKey: 'WeChatMapTemplate' },
74
+ { path: '/wechat/richmedia/create', name: 'wechat_richmedia_create', componentKey: 'WeChatRichmediaCreate' },
75
+ { path: '/wechat/richmedia/edit/:id', name: 'wechat_richmedia_edit', componentKey: 'WeChatRichmediaEdit' },
76
+
77
+ // Email routes v1
78
+ { path: '/email', name: 'email', componentKey: 'Templates' },
79
+ { path: '/email/create', name: 'EmailCreate', componentKey: 'Email' },
80
+ { path: '/email/view', name: 'EmailView', componentKey: 'Email' },
81
+ { path: '/email/edit/:id', name: 'EmailEdit', componentKey: 'Email' },
82
+
83
+ // Ebill routes v1
84
+ { path: '/ebill', name: 'Ebill', componentKey: 'Templates' },
85
+ { path: '/ebill/create', name: 'Ebill', componentKey: 'Ebill' },
86
+ { path: '/ebill/edit/:id', name: 'Ebill', componentKey: 'Ebill' },
87
+
88
+ // MobilePush routes v1
89
+ { path: '/mobilepush', name: 'mobilepush', componentKey: 'Templates' },
90
+ { path: '/mobilepush/create/:mode', name: 'create', componentKey: 'MobilePushCreate' },
91
+ { path: '/mobilepush/edit/:id', name: 'edit', componentKey: 'MobilePushEdit' },
92
+
93
+ // Assets routes v1
94
+ { path: '/assets', name: 'GALLERY', componentKey: 'Gallary' },
95
+
96
+ // Line routes v1
97
+ { path: '/line', name: 'line', componentKey: 'Templates' },
98
+ { path: '/line/create/:mode', name: 'create line', componentKey: 'LineCreate' },
99
+ { path: '/line/view/:mode', name: 'view', componentKey: 'LineCreate' },
100
+ { path: '/line/edit/text/:id', name: 'edit_text', componentKey: 'LineCreate' },
101
+ { path: '/line/edit/image/:id', name: 'edit_image', componentKey: 'LineCreate' },
102
+ ];
103
+
104
+ // Simplified route creation
105
+ const createRoutes = (components = {}) => {
106
+ const routes = ROUTES.flatMap(({ path, component, componentKey, name }) => {
107
+ // V2 component is statically imported
108
+ if (component) {
109
+ return [{
110
+ exact: true,
111
+ path,
112
+ name,
113
+ component: withReactRouterV3Compatibility(component),
114
+ }];
115
+ }
116
+
117
+ // V1 component: only include if available
118
+ const resolved = components[componentKey];
119
+ if (resolved) {
120
+ return [{
121
+ exact: true,
122
+ path,
123
+ name,
124
+ component: withReactRouterV3Compatibility(resolved),
125
+ }];
126
+ }
127
+
128
+ return []; // Skip if not in embedded or missing
129
+ });
130
+
131
+ // Catch-all fallback
132
+ routes.push({
202
133
  path: '*',
203
134
  name: 'notfound',
204
135
  component: withReactRouterV3Compatibility(NotFoundPage),
205
- },
206
- ];
136
+ });
137
+
138
+ return routes;
139
+ };
207
140
 
208
- // export function createRoutes(store) {
209
- // updateCharCount("", false); // TODO:: React18, need to see why this call was made from here and can we remove this?
210
- // }
141
+ // Initialize routes synchronously with available components
142
+ const staticImports = getStaticImports();
143
+ const routes = createRoutes(staticImports);
211
144
 
145
+ // Export the routes array
212
146
  export default routes;
@@ -1,4 +1,4 @@
1
- import {SMS, EMAIL, MOBILE_PUSH, WECHAT, LINE} from '../v2Containers/CreativesContainer/constants';
1
+ import { SMS, EMAIL, MOBILE_PUSH, WECHAT } from '../v2Containers/CreativesContainer/constants';
2
2
  export default function getSchema(channel) {
3
3
  let schemaPath = '../containers/';
4
4
  switch (channel.toUpperCase()) {
@@ -2,6 +2,7 @@
2
2
  * Created by vivek on 17/2/17.
3
3
  */
4
4
 
5
+ //This is being used in the v2 containers and legacy flow aswell, please make sure to validate the DVS flow.
5
6
  export const loadItem = (key) => {
6
7
  try {
7
8
  const serializedState = localStorage.getItem(key);
@@ -1,4 +1,4 @@
1
- import { DEFAULT_LOCALE } from '../containers/App/constants';
1
+ import { DEFAULT_LOCALE } from '../constants/unified';
2
2
  import { formatTranslationMessages } from '../i18n';
3
3
 
4
4
  jest.mock('../translations/en.json', () => (
@@ -8,7 +8,7 @@ import { routerActions } from 'connected-react-router';
8
8
  // import { routerActions } from 'react-router-redux';
9
9
  // import { UserAuthWrapper } from 'redux-auth-wrapper';
10
10
  import { createSelector } from 'reselect';
11
- import { makeSelectAuthenticated } from '../containers/Cap/selectors';
11
+ import { makeSelectAuthenticated } from '../v2Containers/Cap/selectors';
12
12
  // import config from '../config/app';
13
13
  const orginUrl = window.location.origin;
14
14
  // const loginUrl = '/auth/login';
package/utils/common.js CHANGED
@@ -22,8 +22,8 @@ import {
22
22
  BADGES_ISSUE,
23
23
  ENABLE_WECHAT,
24
24
  LIQUID_SUPPORT,
25
- ENABLE_NEW_MPUSH,
26
- } from '../containers/App/constants';
25
+ ENABLE_NEW_MPUSH
26
+ } from '../constants/unified';
27
27
  import { apiMessageFormatHandler } from './commonUtils';
28
28
 
29
29
  export function getUserNameById(userId, allUserList) {
@@ -8,7 +8,7 @@
8
8
 
9
9
  import lodashForEach from 'lodash/forEach';
10
10
  import lodashCloneDeep from 'lodash/cloneDeep';
11
- import { ENTRY_TRIGGER_TAG_REGEX } from '../containers/App/constants';
11
+ import { ENTRY_TRIGGER_TAG_REGEX } from '../constants/unified';
12
12
 
13
13
  const DEFAULT = 'default';
14
14
  const SUBTAGS = 'subtags';
@@ -30,7 +30,7 @@ jest.mock('redux-auth-wrapper/history4/redirect', () => ({
30
30
  }),
31
31
  }));
32
32
 
33
- jest.mock("../../containers/Cap/selectors", () => ({
33
+ jest.mock("../../v2Containers/Cap/selectors", () => ({
34
34
  makeSelectAuthenticated: jest.fn(() => jest.fn().mockReturnValue(true)) // Mock as authenticated
35
35
  }));
36
36
  let store;
@@ -1,4 +1,4 @@
1
- import checkStore from '../checkStore';
1
+ import checkStore from '../../legacy/checkStore';
2
2
 
3
3
  describe('checkStore', () => {
4
4
  it('should not throw if the store is valid', () => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import UserAuthWrapper from '../customAuthWrapper';
3
+ import UserAuthWrapper from '../../legacy/customAuthWrapper';
4
4
 
5
5
  const MockComponent = React.forwardRef((props, ref) => <div ref={ref} {...props}>Mock Component</div>);
6
6
 
@@ -13,7 +13,7 @@ import {
13
13
  IOS,
14
14
  ANDROID,
15
15
  EXTERNAL_URL,
16
- BIG_TEXT
16
+ BIG_TEXT,
17
17
  } from "../v2Containers/CreativesContainer/constants";
18
18
 
19
19
  // Creates a base payload structure common to all channels