@capillarytech/creatives-library 8.0.156 → 8.0.157

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