@capillarytech/creatives-library 8.0.170-beta.2 → 8.0.170

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