@capillarytech/creatives-library 8.0.163 → 8.0.164

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 (297) 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/index.js +109 -178
  21. package/v2Containers/Cap/tests/saga.test.js +1 -1
  22. package/v2Containers/CreativesContainer/index.js +2 -0
  23. package/v2Containers/Email/index.js +1 -1
  24. package/v2Containers/FTP/index.js +1 -1
  25. package/v2Containers/Line/Container/Text/index.js +1 -1
  26. package/v2Containers/Sms/Create/index.js +1 -1
  27. package/v2Containers/Sms/Edit/index.js +1 -1
  28. package/v2Containers/TagList/index.js +1 -1
  29. package/v2Containers/TagList/utils.js +1 -1
  30. package/v2Containers/Templates/index.js +1 -1
  31. package/v2Containers/Templates/sagas.js +1 -1
  32. package/v2Containers/Whatsapp/constants.js +1 -1
  33. package/v2Containers/Whatsapp/tests/index.test.js +1 -1
  34. package/components/BreadCrumbs/index.js +0 -65
  35. package/components/BreadCrumbs/messages.js +0 -13
  36. package/components/CapTagList/index.js +0 -235
  37. package/components/CapTagList/messages.js +0 -45
  38. package/components/Card/_customCard.scss +0 -40
  39. package/components/Card/index.js +0 -78
  40. package/components/Card/tests/__snapshots__/index.test.js.snap +0 -22
  41. package/components/Card/tests/index.test.js +0 -20
  42. package/components/CardGrid/index.js +0 -71
  43. package/components/Ckeditor/index.js +0 -238
  44. package/components/Ckeditor/messages.js +0 -13
  45. package/components/Ckeditor/style.scss +0 -3
  46. package/components/Component/index.js +0 -29
  47. package/components/CustomPopOver/index.js +0 -81
  48. package/components/CustomPopOver/messages.js +0 -17
  49. package/components/DateFilter/index.js +0 -349
  50. package/components/DateFilter/messages.js +0 -57
  51. package/components/DateRange/index.js +0 -114
  52. package/components/DateRange/messages.js +0 -25
  53. package/components/Edmeditor/index.js +0 -65
  54. package/components/Edmeditor/messages.js +0 -13
  55. package/components/EmailPreview/_emailPreview.scss +0 -119
  56. package/components/EmailPreview/assets/images/iPad.svg +0 -10
  57. package/components/EmailPreview/assets/images/mobile.png +0 -0
  58. package/components/EmailPreview/index.js +0 -107
  59. package/components/EmailPreview/messages.js +0 -33
  60. package/components/Footer/index.js +0 -27
  61. package/components/Footer/messages.js +0 -13
  62. package/components/FormBuilder/_formBuilder.scss +0 -83
  63. package/components/FormBuilder/index.js +0 -3279
  64. package/components/FormBuilder/messages.js +0 -61
  65. package/components/Header/index.js +0 -44
  66. package/components/Header/messages.js +0 -29
  67. package/components/ImagePreview/_imagePreview.scss +0 -63
  68. package/components/ImagePreview/index.js +0 -52
  69. package/components/ImagePreview/messages.js +0 -17
  70. package/components/PageHeader/_pageHeader.scss +0 -22
  71. package/components/PageHeader/index.js +0 -37
  72. package/components/PageHeader/messages.js +0 -13
  73. package/components/Pagination/_pagination.scss +0 -5
  74. package/components/Pagination/index.js +0 -49
  75. package/components/PreviewSideBar/_previewsidebar.scss +0 -28
  76. package/components/PreviewSideBar/index.js +0 -152
  77. package/components/PreviewSideBar/messages.js +0 -41
  78. package/components/Sidebar/_sidebar.scss +0 -115
  79. package/components/Sidebar/index.js +0 -214
  80. package/components/Sidebar/messages.js +0 -21
  81. package/components/SlideBox/_slideBox.scss +0 -63
  82. package/components/SlideBox/index.js +0 -47
  83. package/components/SlideBox/tests/index.test.js +0 -103
  84. package/components/SmsEditor/index.js +0 -55
  85. package/components/SmsTest/index.js +0 -117
  86. package/components/SmsTest/messages.js +0 -21
  87. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +0 -42
  88. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +0 -141
  89. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +0 -21
  90. package/components/TemplatePreview/_templatePreview.scss +0 -642
  91. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  92. package/components/TemplatePreview/assets/images/androidPushMessage.svg +0 -45
  93. package/components/TemplatePreview/assets/images/home-screen-android.svg +0 -21
  94. package/components/TemplatePreview/assets/images/home-screen-ios.svg +0 -16
  95. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +0 -135
  96. package/components/TemplatePreview/assets/images/mobile.svg +0 -24
  97. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  98. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  99. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  100. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +0 -22
  101. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +0 -16
  102. package/components/TemplatePreview/assets/images/user-icon.svg +0 -19
  103. package/components/TemplatePreview/assets/images/wechat-mobile.svg +0 -78
  104. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +0 -20
  105. package/components/TemplatePreview/index.js +0 -617
  106. package/components/TemplatePreview/messages.js +0 -78
  107. package/components/Toastr/index.js +0 -60
  108. package/components/Toastr/messages.js +0 -13
  109. package/components/ToastrMessage/index.js +0 -113
  110. package/components/ToastrMessage/messages.js +0 -17
  111. package/components/TopBar/_topbar.scss +0 -46
  112. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  113. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  114. package/components/TopBar/index.js +0 -113
  115. package/components/TopBar/messages.js +0 -29
  116. package/containers/App/actions.js +0 -7
  117. package/containers/App/constants.js +0 -114
  118. package/containers/App/index.js +0 -52
  119. package/containers/App/reducer.js +0 -19
  120. package/containers/App/sagas.js +0 -31
  121. package/containers/App/selectors.js +0 -25
  122. package/containers/App/test/saga.test.js +0 -11
  123. package/containers/Assets/Gallery/_gallery.scss +0 -126
  124. package/containers/Assets/Gallery/actions.js +0 -37
  125. package/containers/Assets/Gallery/constants.js +0 -23
  126. package/containers/Assets/Gallery/index.js +0 -473
  127. package/containers/Assets/Gallery/messages.js +0 -93
  128. package/containers/Assets/Gallery/reducer.js +0 -81
  129. package/containers/Assets/Gallery/sagas.js +0 -80
  130. package/containers/Assets/Gallery/selectors.js +0 -25
  131. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +0 -9
  132. package/containers/Assets/Gallery/tests/actions.test.js +0 -25
  133. package/containers/Assets/Gallery/tests/reducer.test.js +0 -96
  134. package/containers/Assets/Gallery/tests/saga.test.js +0 -157
  135. package/containers/Cap/actions.js +0 -66
  136. package/containers/Cap/constants.js +0 -25
  137. package/containers/Cap/index.js +0 -402
  138. package/containers/Cap/messages.js +0 -75
  139. package/containers/Cap/reducer.js +0 -113
  140. package/containers/Cap/sagas.js +0 -159
  141. package/containers/Cap/selectors.js +0 -75
  142. package/containers/Cap/tests/__snapshots__/index.test.js.snap +0 -2270
  143. package/containers/Cap/tests/index.test.js +0 -22
  144. package/containers/Cap/tests/saga.test.js +0 -284
  145. package/containers/Dashboard/actions.js +0 -15
  146. package/containers/Dashboard/constants.js +0 -7
  147. package/containers/Dashboard/index.js +0 -76
  148. package/containers/Dashboard/messages.js +0 -13
  149. package/containers/Dashboard/reducer.js +0 -21
  150. package/containers/Dashboard/sagas.js +0 -17
  151. package/containers/Dashboard/selectors.js +0 -25
  152. package/containers/Dashboard/test/saga.test.js +0 -9
  153. package/containers/Ebill/_ebill.scss +0 -5
  154. package/containers/Ebill/actions.js +0 -43
  155. package/containers/Ebill/constants.js +0 -20
  156. package/containers/Ebill/index.js +0 -1278
  157. package/containers/Ebill/messages.js +0 -77
  158. package/containers/Ebill/reducer.js +0 -72
  159. package/containers/Ebill/sagas.js +0 -74
  160. package/containers/Ebill/selectors.js +0 -25
  161. package/containers/Ebill/test/saga.test.js +0 -11
  162. package/containers/Email/_email.scss +0 -141
  163. package/containers/Email/actions.js +0 -81
  164. package/containers/Email/constants.js +0 -36
  165. package/containers/Email/index.js +0 -3325
  166. package/containers/Email/messages.js +0 -289
  167. package/containers/Email/reducer.js +0 -142
  168. package/containers/Email/sagas.js +0 -135
  169. package/containers/Email/selectors.js +0 -31
  170. package/containers/Email/test/saga.test.js +0 -671
  171. package/containers/LanguageProvider/actions.js +0 -17
  172. package/containers/LanguageProvider/constants.js +0 -8
  173. package/containers/LanguageProvider/index.js +0 -80
  174. package/containers/LanguageProvider/reducer.js +0 -30
  175. package/containers/LanguageProvider/selectors.js +0 -20
  176. package/containers/LanguageProvider/tests/actions.test.js +0 -19
  177. package/containers/LanguageProvider/tests/index.test.js +0 -78
  178. package/containers/LanguageProvider/tests/reducer.test.js +0 -20
  179. package/containers/LanguageProvider/tests/selectors.test.js +0 -15
  180. package/containers/Line/Create/_lineCreate.scss +0 -54
  181. package/containers/Line/Create/actions.js +0 -90
  182. package/containers/Line/Create/constants.js +0 -39
  183. package/containers/Line/Create/index.js +0 -836
  184. package/containers/Line/Create/messages.js +0 -189
  185. package/containers/Line/Create/reducer.js +0 -99
  186. package/containers/Line/Create/sagas.js +0 -121
  187. package/containers/Line/Create/selectors.js +0 -36
  188. package/containers/Line/Create/tests/saga.test.js +0 -202
  189. package/containers/Line/Edit/_lineEdit.scss +0 -35
  190. package/containers/Line/Edit/actions.js +0 -79
  191. package/containers/Line/Edit/constants.js +0 -27
  192. package/containers/Line/Edit/index.js +0 -1050
  193. package/containers/Line/Edit/messages.js +0 -177
  194. package/containers/Line/Edit/reducer.js +0 -83
  195. package/containers/Line/Edit/sagas.js +0 -80
  196. package/containers/Line/Edit/selectors.js +0 -29
  197. package/containers/Line/Edit/test/saga.test.js +0 -160
  198. package/containers/Login/assets/images/capillary_logo.png +0 -0
  199. package/containers/Login/components/LoginForm/index.js +0 -62
  200. package/containers/Login/components/LoginForm/messages.js +0 -33
  201. package/containers/Login/index.js +0 -130
  202. package/containers/Login/messages.js +0 -25
  203. package/containers/Login/selectors.js +0 -25
  204. package/containers/MobilePush/Create/_mobilePushCreate.scss +0 -39
  205. package/containers/MobilePush/Create/actions.js +0 -46
  206. package/containers/MobilePush/Create/constants.js +0 -23
  207. package/containers/MobilePush/Create/index.js +0 -2303
  208. package/containers/MobilePush/Create/messages.js +0 -269
  209. package/containers/MobilePush/Create/reducer.js +0 -70
  210. package/containers/MobilePush/Create/sagas.js +0 -74
  211. package/containers/MobilePush/Create/selectors.js +0 -28
  212. package/containers/MobilePush/Create/test/saga.test.js +0 -19
  213. package/containers/MobilePush/Edit/_mobilePushCreate.scss +0 -39
  214. package/containers/MobilePush/Edit/actions.js +0 -91
  215. package/containers/MobilePush/Edit/constants.js +0 -35
  216. package/containers/MobilePush/Edit/index.js +0 -2601
  217. package/containers/MobilePush/Edit/messages.js +0 -266
  218. package/containers/MobilePush/Edit/reducer.js +0 -112
  219. package/containers/MobilePush/Edit/sagas.js +0 -126
  220. package/containers/MobilePush/Edit/selectors.js +0 -29
  221. package/containers/MobilePush/Edit/tests/saga.test.js +0 -255
  222. package/containers/NotFoundPage/index.js +0 -25
  223. package/containers/NotFoundPage/messages.js +0 -13
  224. package/containers/NotFoundPage/tests/index.test.js +0 -17
  225. package/containers/Sms/Create/_smsCreate.scss +0 -42
  226. package/containers/Sms/Create/actions.js +0 -27
  227. package/containers/Sms/Create/constants.js +0 -16
  228. package/containers/Sms/Create/index.js +0 -1488
  229. package/containers/Sms/Create/messages.js +0 -109
  230. package/containers/Sms/Create/reducer.js +0 -41
  231. package/containers/Sms/Create/sagas.js +0 -40
  232. package/containers/Sms/Create/selectors.js +0 -28
  233. package/containers/Sms/Create/test/saga.test.js +0 -11
  234. package/containers/Sms/Edit/actions.js +0 -40
  235. package/containers/Sms/Edit/constants.js +0 -17
  236. package/containers/Sms/Edit/index.js +0 -1472
  237. package/containers/Sms/Edit/messages.js +0 -105
  238. package/containers/Sms/Edit/reducer.js +0 -50
  239. package/containers/Sms/Edit/sagas.js +0 -60
  240. package/containers/Sms/Edit/selectors.js +0 -32
  241. package/containers/Sms/Edit/test/saga.test.js +0 -13
  242. package/containers/TagList/_tagList.scss +0 -8
  243. package/containers/TagList/actions.js +0 -15
  244. package/containers/TagList/constants.js +0 -32
  245. package/containers/TagList/index.js +0 -236
  246. package/containers/TagList/messages.js +0 -13
  247. package/containers/TagList/reducer.js +0 -23
  248. package/containers/TagList/sagas.js +0 -11
  249. package/containers/TagList/selectors.js +0 -25
  250. package/containers/Templates/_templates.scss +0 -333
  251. package/containers/Templates/actions.js +0 -103
  252. package/containers/Templates/constants.js +0 -60
  253. package/containers/Templates/index.js +0 -1756
  254. package/containers/Templates/messages.js +0 -337
  255. package/containers/Templates/reducer.js +0 -142
  256. package/containers/Templates/sagas.js +0 -163
  257. package/containers/Templates/selectors.js +0 -28
  258. package/containers/Templates/test/saga.test.js +0 -241
  259. package/containers/WeChat/MapTemplates/_mapTemplates.scss +0 -8
  260. package/containers/WeChat/MapTemplates/actions.js +0 -52
  261. package/containers/WeChat/MapTemplates/constants.js +0 -28
  262. package/containers/WeChat/MapTemplates/index.js +0 -1610
  263. package/containers/WeChat/MapTemplates/messages.js +0 -157
  264. package/containers/WeChat/MapTemplates/reducer.js +0 -74
  265. package/containers/WeChat/MapTemplates/sagas.js +0 -84
  266. package/containers/WeChat/MapTemplates/selectors.js +0 -25
  267. package/containers/WeChat/MapTemplates/test/saga.test.js +0 -155
  268. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +0 -57
  269. package/containers/WeChat/RichmediaTemplates/Create/actions.js +0 -36
  270. package/containers/WeChat/RichmediaTemplates/Create/constants.js +0 -15
  271. package/containers/WeChat/RichmediaTemplates/Create/index.js +0 -1071
  272. package/containers/WeChat/RichmediaTemplates/Create/messages.js +0 -165
  273. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +0 -60
  274. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +0 -497
  275. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +0 -51
  276. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +0 -37
  277. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +0 -13
  278. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +0 -20
  279. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +0 -10
  280. package/containers/WeChat/RichmediaTemplates/Edit/index.js +0 -136
  281. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +0 -13
  282. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +0 -28
  283. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +0 -36
  284. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +0 -30
  285. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +0 -12
  286. package/containers/WeChat/RichmediaTemplates/View/actions.js +0 -15
  287. package/containers/WeChat/RichmediaTemplates/View/constants.js +0 -7
  288. package/containers/WeChat/RichmediaTemplates/View/index.js +0 -47
  289. package/containers/WeChat/RichmediaTemplates/View/messages.js +0 -21
  290. package/containers/WeChat/RichmediaTemplates/View/reducer.js +0 -23
  291. package/containers/WeChat/RichmediaTemplates/View/sagas.js +0 -11
  292. package/containers/WeChat/RichmediaTemplates/View/selectors.js +0 -25
  293. package/utils/asyncInjectors.js +0 -78
  294. package/utils/callNativeEvent.js +0 -16
  295. package/utils/checkStore.js +0 -21
  296. package/utils/customAuthWrapper.js +0 -62
  297. 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
@@ -147,8 +147,10 @@ const FTPContainer = {FTP, FTPReducer, FTPSagas};
147
147
  export {default as TagList} from './v2Containers/TagList/index';
148
148
  export {default as TagListSaga} from './v2Containers/TagList/sagas';
149
149
  export {default as TagListReducer} from './v2Containers/TagList/reducer';
150
- export {default as TemplatePreview} from './components/TemplatePreview';
151
- export {default as EmailPreview} from './components/EmailPreview';
150
+
151
+ export {default as TemplatePreview} from './v2Components/TemplatePreview';
152
+ export {default as EmailPreview} from './v2Components/EmailPreview';
153
+
152
154
  export {default as EmailPreviewV2} from './v2Components/EmailPreviewV2';
153
155
  export {default as CallTaskPreview} from './v2Components/CallTaskPreview';
154
156
  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.163",
4
+ "version": "8.0.164",
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
 
@@ -16,7 +16,7 @@ import {
16
16
  IOS,
17
17
  ANDROID,
18
18
  EXTERNAL_URL,
19
- BIG_TEXT
19
+ BIG_TEXT,
20
20
  } from "../v2Containers/CreativesContainer/constants";
21
21
 
22
22
  // Creates a base payload structure common to all channels