@capillarytech/creatives-library 0.1.31 → 1.0.0

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 (1077) hide show
  1. package/index.js +8 -9
  2. package/package.json +7 -62
  3. package/app.js +0 -92
  4. package/assets/loading_img.gif +0 -0
  5. package/components/BreadCrumbs/index.js +0 -64
  6. package/components/BreadCrumbs/messages.js +0 -13
  7. package/components/BreadCrumbs/tests/index.test.js +0 -10
  8. package/components/CapTagList/index.js +0 -233
  9. package/components/CapTagList/messages.js +0 -25
  10. package/components/CapTagList/tests/index.test.js +0 -10
  11. package/components/Card/_customCard.scss +0 -35
  12. package/components/Card/index.js +0 -76
  13. package/components/Card/tests/index.test.js +0 -10
  14. package/components/CardGrid/index.js +0 -69
  15. package/components/CardGrid/tests/index.test.js +0 -10
  16. package/components/Ckeditor/index.js +0 -204
  17. package/components/Ckeditor/messages.js +0 -13
  18. package/components/Ckeditor/tests/index.test.js +0 -10
  19. package/components/Component/index.js +0 -27
  20. package/components/Component/tests/index.test.js +0 -10
  21. package/components/CustomPopOver/index.js +0 -80
  22. package/components/CustomPopOver/messages.js +0 -13
  23. package/components/CustomPopOver/tests/index.test.js +0 -10
  24. package/components/DateFilter/index.js +0 -347
  25. package/components/DateFilter/messages.js +0 -17
  26. package/components/DateFilter/tests/index.test.js +0 -15
  27. package/components/DateRange/index.js +0 -111
  28. package/components/DateRange/messages.js +0 -13
  29. package/components/DateRange/tests/index.test.js +0 -10
  30. package/components/Edmeditor/index.js +0 -63
  31. package/components/Edmeditor/messages.js +0 -13
  32. package/components/Edmeditor/tests/index.test.js +0 -10
  33. package/components/EmailPreview/_emailPreview.scss +0 -119
  34. package/components/EmailPreview/assets/images/iPad.svg +0 -10
  35. package/components/EmailPreview/assets/images/mobile.png +0 -0
  36. package/components/EmailPreview/index.js +0 -103
  37. package/components/EmailPreview/messages.js +0 -17
  38. package/components/EmailPreview/tests/index.test.js +0 -10
  39. package/components/Footer/index.js +0 -27
  40. package/components/Footer/messages.js +0 -13
  41. package/components/Footer/tests/index.test.js +0 -10
  42. package/components/FormBuilder/_formBuilder.scss +0 -85
  43. package/components/FormBuilder/index.js +0 -3296
  44. package/components/FormBuilder/messages.js +0 -13
  45. package/components/FormBuilder/tests/index.test.js +0 -10
  46. package/components/ImagePreview/_imagePreview.scss +0 -63
  47. package/components/ImagePreview/index.js +0 -50
  48. package/components/ImagePreview/messages.js +0 -13
  49. package/components/ImagePreview/tests/index.test.js +0 -10
  50. package/components/NewSidebar/_newsidebar.scss +0 -115
  51. package/components/NewSidebar/index.js +0 -234
  52. package/components/NewSidebar/messages.js +0 -21
  53. package/components/NewSidebar/tests/index.test.js +0 -10
  54. package/components/NewTopBar/_newtopbar.scss +0 -84
  55. package/components/NewTopBar/assets/images/capillary_logo.png +0 -0
  56. package/components/NewTopBar/assets/images/capillary_logo_2.png +0 -0
  57. package/components/NewTopBar/index.js +0 -195
  58. package/components/NewTopBar/messages.js +0 -29
  59. package/components/NewTopBar/tests/index.test.js +0 -10
  60. package/components/PageHeader/_pageHeader.scss +0 -22
  61. package/components/PageHeader/index.js +0 -36
  62. package/components/PageHeader/messages.js +0 -13
  63. package/components/PageHeader/tests/index.test.js +0 -10
  64. package/components/Pagination/_pagination.scss +0 -5
  65. package/components/Pagination/index.js +0 -47
  66. package/components/Pagination/tests/index.test.js +0 -10
  67. package/components/PreviewSideBar/_previewsidebar.scss +0 -28
  68. package/components/PreviewSideBar/index.js +0 -146
  69. package/components/PreviewSideBar/messages.js +0 -33
  70. package/components/PreviewSideBar/tests/index.test.js +0 -10
  71. package/components/Sidebar/_sidebar.scss +0 -115
  72. package/components/Sidebar/index.js +0 -234
  73. package/components/Sidebar/messages.js +0 -21
  74. package/components/Sidebar/tests/index.test.js +0 -10
  75. package/components/SlideBox/_slideBox.scss +0 -63
  76. package/components/SlideBox/index.js +0 -47
  77. package/components/SlideBox/tests/index.test.js +0 -103
  78. package/components/SmsEditor/index.js +0 -53
  79. package/components/SmsEditor/tests/index.test.js +0 -10
  80. package/components/SmsTest/index.js +0 -115
  81. package/components/SmsTest/messages.js +0 -13
  82. package/components/SmsTest/tests/index.test.js +0 -10
  83. package/components/TemplatePreview/_templatePreview.scss +0 -352
  84. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  85. package/components/TemplatePreview/assets/images/androidPushMessage.svg +0 -45
  86. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +0 -135
  87. package/components/TemplatePreview/assets/images/mobile.svg +0 -24
  88. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  89. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  90. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  91. package/components/TemplatePreview/assets/images/user-icon.svg +0 -19
  92. package/components/TemplatePreview/assets/images/wechat-mobile.svg +0 -78
  93. package/components/TemplatePreview/index.js +0 -174
  94. package/components/TemplatePreview/messages.js +0 -29
  95. package/components/TemplatePreview/tests/index.test.js +0 -10
  96. package/components/Toastr/index.js +0 -59
  97. package/components/Toastr/messages.js +0 -13
  98. package/components/Toastr/tests/index.test.js +0 -10
  99. package/components/ToastrMessage/index.js +0 -108
  100. package/components/ToastrMessage/messages.js +0 -13
  101. package/components/ToastrMessage/tests/index.test.js +0 -10
  102. package/components/TopBar/_topbar.scss +0 -46
  103. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  104. package/components/TopBar/index.js +0 -112
  105. package/components/TopBar/messages.js +0 -29
  106. package/components/TopBar/tests/index.test.js +0 -10
  107. package/config/app.js +0 -24
  108. package/config/path.js +0 -3
  109. package/config/request.js +0 -135
  110. package/config/toastr.js +0 -44
  111. package/containers/App/actions.js +0 -7
  112. package/containers/App/constants.js +0 -3
  113. package/containers/App/reducer.js +0 -19
  114. package/containers/App/sagas.js +0 -26
  115. package/containers/App/selectors.js +0 -25
  116. package/containers/App/tests/actions.test.js +0 -18
  117. package/containers/App/tests/reducer.test.js +0 -9
  118. package/containers/App/tests/sagas.test.js +0 -15
  119. package/containers/App/tests/selectors.test.js +0 -10
  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 -463
  124. package/containers/Assets/Gallery/messages.js +0 -89
  125. package/containers/Assets/Gallery/reducer.js +0 -81
  126. package/containers/Assets/Gallery/sagas.js +0 -84
  127. package/containers/Assets/Gallery/selectors.js +0 -25
  128. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +0 -7
  129. package/containers/Assets/Gallery/tests/actions.test.js +0 -26
  130. package/containers/Assets/Gallery/tests/index.test.js +0 -10
  131. package/containers/Assets/Gallery/tests/reducer.test.js +0 -95
  132. package/containers/Assets/Gallery/tests/sagas.test.js +0 -15
  133. package/containers/Assets/Gallery/tests/selectors.test.js +0 -10
  134. package/containers/Cap/actions.js +0 -52
  135. package/containers/Cap/constants.js +0 -22
  136. package/containers/Cap/index.js +0 -369
  137. package/containers/Cap/messsages.js +0 -63
  138. package/containers/Cap/reducer.js +0 -108
  139. package/containers/Cap/sagas.js +0 -143
  140. package/containers/Cap/selectors.js +0 -54
  141. package/containers/Cap/tests/index.test.js +0 -16
  142. package/containers/Cap/tests/selectors.test.js +0 -28
  143. package/containers/Dashboard/actions.js +0 -15
  144. package/containers/Dashboard/constants.js +0 -7
  145. package/containers/Dashboard/index.js +0 -53
  146. package/containers/Dashboard/messages.js +0 -13
  147. package/containers/Dashboard/reducer.js +0 -21
  148. package/containers/Dashboard/sagas.js +0 -11
  149. package/containers/Dashboard/selectors.js +0 -25
  150. package/containers/Dashboard/tests/actions.test.js +0 -18
  151. package/containers/Dashboard/tests/index.test.js +0 -10
  152. package/containers/Dashboard/tests/reducer.test.js +0 -9
  153. package/containers/Dashboard/tests/sagas.test.js +0 -15
  154. package/containers/Dashboard/tests/selectors.test.js +0 -10
  155. package/containers/Ebill/_ebill.scss +0 -5
  156. package/containers/Ebill/actions.js +0 -43
  157. package/containers/Ebill/constants.js +0 -20
  158. package/containers/Ebill/index.js +0 -1273
  159. package/containers/Ebill/messages.js +0 -73
  160. package/containers/Ebill/reducer.js +0 -72
  161. package/containers/Ebill/sagas.js +0 -65
  162. package/containers/Ebill/selectors.js +0 -25
  163. package/containers/Ebill/tests/actions.test.js +0 -18
  164. package/containers/Ebill/tests/index.test.js +0 -10
  165. package/containers/Ebill/tests/reducer.test.js +0 -9
  166. package/containers/Ebill/tests/sagas.test.js +0 -15
  167. package/containers/Ebill/tests/selectors.test.js +0 -10
  168. package/containers/Email/_email.scss +0 -141
  169. package/containers/Email/actions.js +0 -81
  170. package/containers/Email/constants.js +0 -36
  171. package/containers/Email/index.js +0 -3282
  172. package/containers/Email/messages.js +0 -233
  173. package/containers/Email/reducer.js +0 -142
  174. package/containers/Email/sagas.js +0 -136
  175. package/containers/Email/selectors.js +0 -31
  176. package/containers/Email/tests/actions.test.js +0 -18
  177. package/containers/Email/tests/index.test.js +0 -10
  178. package/containers/Email/tests/reducer.test.js +0 -9
  179. package/containers/Email/tests/sagas.test.js +0 -15
  180. package/containers/Email/tests/selectors.test.js +0 -10
  181. package/containers/LanguageProvider/actions.js +0 -17
  182. package/containers/LanguageProvider/constants.js +0 -8
  183. package/containers/LanguageProvider/index.js +0 -44
  184. package/containers/LanguageProvider/reducer.js +0 -30
  185. package/containers/LanguageProvider/selectors.js +0 -20
  186. package/containers/LanguageProvider/tests/actions.test.js +0 -19
  187. package/containers/LanguageProvider/tests/index.test.js +0 -49
  188. package/containers/LanguageProvider/tests/reducer.test.js +0 -20
  189. package/containers/LanguageProvider/tests/selectors.test.js +0 -15
  190. package/containers/Line/Create/_lineCreate.scss +0 -43
  191. package/containers/Line/Create/actions.js +0 -90
  192. package/containers/Line/Create/constants.js +0 -39
  193. package/containers/Line/Create/index.js +0 -815
  194. package/containers/Line/Create/messages.js +0 -173
  195. package/containers/Line/Create/reducer.js +0 -99
  196. package/containers/Line/Create/sagas.js +0 -107
  197. package/containers/Line/Create/selectors.js +0 -36
  198. package/containers/Line/Edit/_lineEdit.scss +0 -25
  199. package/containers/Line/Edit/actions.js +0 -72
  200. package/containers/Line/Edit/constants.js +0 -27
  201. package/containers/Line/Edit/index.js +0 -1043
  202. package/containers/Line/Edit/messages.js +0 -157
  203. package/containers/Line/Edit/reducer.js +0 -83
  204. package/containers/Line/Edit/sagas.js +0 -81
  205. package/containers/Line/Edit/selectors.js +0 -29
  206. package/containers/Line/Edit/tests/actions.test.js +0 -18
  207. package/containers/Line/Edit/tests/index.test.js +0 -10
  208. package/containers/Line/Edit/tests/reducer.test.js +0 -9
  209. package/containers/Line/Edit/tests/sagas.test.js +0 -15
  210. package/containers/Line/Edit/tests/selectors.test.js +0 -10
  211. package/containers/Login/assets/images/capillary_logo.png +0 -0
  212. package/containers/Login/components/LoginForm/index.js +0 -58
  213. package/containers/Login/components/LoginForm/messages.js +0 -21
  214. package/containers/Login/components/LoginForm/tests/index.test.js +0 -10
  215. package/containers/Login/index.js +0 -105
  216. package/containers/Login/messages.js +0 -21
  217. package/containers/Login/selectors.js +0 -25
  218. package/containers/Login/tests/index.test.js +0 -10
  219. package/containers/Login/tests/sagas.test.js +0 -15
  220. package/containers/Login/tests/selectors.test.js +0 -10
  221. package/containers/MobilePush/Create/_mobilePushCreate.scss +0 -25
  222. package/containers/MobilePush/Create/actions.js +0 -46
  223. package/containers/MobilePush/Create/constants.js +0 -23
  224. package/containers/MobilePush/Create/index.js +0 -2248
  225. package/containers/MobilePush/Create/messages.js +0 -233
  226. package/containers/MobilePush/Create/reducer.js +0 -70
  227. package/containers/MobilePush/Create/sagas.js +0 -60
  228. package/containers/MobilePush/Create/selectors.js +0 -28
  229. package/containers/MobilePush/Create/tests/actions.test.js +0 -18
  230. package/containers/MobilePush/Create/tests/index.test.js +0 -10
  231. package/containers/MobilePush/Create/tests/reducer.test.js +0 -9
  232. package/containers/MobilePush/Create/tests/sagas.test.js +0 -15
  233. package/containers/MobilePush/Create/tests/selectors.test.js +0 -10
  234. package/containers/MobilePush/Edit/_mobilePushCreate.scss +0 -25
  235. package/containers/MobilePush/Edit/actions.js +0 -84
  236. package/containers/MobilePush/Edit/constants.js +0 -35
  237. package/containers/MobilePush/Edit/index.js +0 -2536
  238. package/containers/MobilePush/Edit/messages.js +0 -249
  239. package/containers/MobilePush/Edit/reducer.js +0 -112
  240. package/containers/MobilePush/Edit/sagas.js +0 -118
  241. package/containers/MobilePush/Edit/selectors.js +0 -29
  242. package/containers/MobilePush/Edit/tests/actions.test.js +0 -18
  243. package/containers/MobilePush/Edit/tests/index.test.js +0 -10
  244. package/containers/MobilePush/Edit/tests/reducer.test.js +0 -9
  245. package/containers/MobilePush/Edit/tests/sagas.test.js +0 -15
  246. package/containers/MobilePush/Edit/tests/selectors.test.js +0 -10
  247. package/containers/NotFoundPage/index.js +0 -25
  248. package/containers/NotFoundPage/messages.js +0 -13
  249. package/containers/NotFoundPage/tests/index.test.js +0 -17
  250. package/containers/Sms/Create/_smsCreate.scss +0 -45
  251. package/containers/Sms/Create/actions.js +0 -27
  252. package/containers/Sms/Create/constants.js +0 -16
  253. package/containers/Sms/Create/index.js +0 -1486
  254. package/containers/Sms/Create/messages.js +0 -85
  255. package/containers/Sms/Create/reducer.js +0 -41
  256. package/containers/Sms/Create/sagas.js +0 -36
  257. package/containers/Sms/Create/selectors.js +0 -28
  258. package/containers/Sms/Create/tests/actions.test.js +0 -18
  259. package/containers/Sms/Create/tests/index.test.js +0 -10
  260. package/containers/Sms/Create/tests/reducer.test.js +0 -9
  261. package/containers/Sms/Create/tests/sagas.test.js +0 -15
  262. package/containers/Sms/Create/tests/selectors.test.js +0 -10
  263. package/containers/Sms/Edit/actions.js +0 -40
  264. package/containers/Sms/Edit/constants.js +0 -17
  265. package/containers/Sms/Edit/index.js +0 -1470
  266. package/containers/Sms/Edit/messages.js +0 -89
  267. package/containers/Sms/Edit/reducer.js +0 -50
  268. package/containers/Sms/Edit/sagas.js +0 -52
  269. package/containers/Sms/Edit/selectors.js +0 -32
  270. package/containers/Sms/Edit/tests/actions.test.js +0 -18
  271. package/containers/Sms/Edit/tests/index.test.js +0 -10
  272. package/containers/Sms/Edit/tests/reducer.test.js +0 -9
  273. package/containers/Sms/Edit/tests/sagas.test.js +0 -15
  274. package/containers/Sms/Edit/tests/selectors.test.js +0 -10
  275. package/containers/TagList/_tagList.scss +0 -8
  276. package/containers/TagList/actions.js +0 -15
  277. package/containers/TagList/constants.js +0 -7
  278. package/containers/TagList/index.js +0 -234
  279. package/containers/TagList/messages.js +0 -13
  280. package/containers/TagList/reducer.js +0 -23
  281. package/containers/TagList/sagas.js +0 -11
  282. package/containers/TagList/selectors.js +0 -25
  283. package/containers/TagList/tests/actions.test.js +0 -18
  284. package/containers/TagList/tests/index.test.js +0 -10
  285. package/containers/TagList/tests/reducer.test.js +0 -9
  286. package/containers/TagList/tests/sagas.test.js +0 -15
  287. package/containers/TagList/tests/selectors.test.js +0 -10
  288. package/containers/Templates/_templates.scss +0 -333
  289. package/containers/Templates/actions.js +0 -108
  290. package/containers/Templates/constants.js +0 -45
  291. package/containers/Templates/index.js +0 -1582
  292. package/containers/Templates/messages.js +0 -233
  293. package/containers/Templates/reducer.js +0 -141
  294. package/containers/Templates/sagas.js +0 -168
  295. package/containers/Templates/selectors.js +0 -28
  296. package/containers/Templates/tests/actions.test.js +0 -18
  297. package/containers/Templates/tests/index.test.js +0 -10
  298. package/containers/Templates/tests/reducer.test.js +0 -9
  299. package/containers/Templates/tests/sagas.test.js +0 -15
  300. package/containers/Templates/tests/selectors.test.js +0 -10
  301. package/containers/TestPage/constants.js +0 -7
  302. package/containers/TestPage/index.js +0 -31
  303. package/containers/TestPage/messages.js +0 -13
  304. package/containers/TestPage/reducer.js +0 -21
  305. package/containers/TestPage/sagas.js +0 -11
  306. package/containers/Testv2/actions.js +0 -15
  307. package/containers/Testv2/constants.js +0 -7
  308. package/containers/Testv2/index.js +0 -45
  309. package/containers/Testv2/messages.js +0 -13
  310. package/containers/Testv2/reducer.js +0 -23
  311. package/containers/Testv2/sagas.js +0 -11
  312. package/containers/Testv2/selectors.js +0 -25
  313. package/containers/Testv2/tests/actions.test.js +0 -18
  314. package/containers/Testv2/tests/index.test.js +0 -10
  315. package/containers/Testv2/tests/reducer.test.js +0 -9
  316. package/containers/Testv2/tests/sagas.test.js +0 -15
  317. package/containers/Testv2/tests/selectors.test.js +0 -10
  318. package/containers/WeChat/_wechat.scss +0 -8
  319. package/containers/WeChat/actions.js +0 -46
  320. package/containers/WeChat/constants.js +0 -28
  321. package/containers/WeChat/index.js +0 -1618
  322. package/containers/WeChat/messages.js +0 -73
  323. package/containers/WeChat/reducer.js +0 -74
  324. package/containers/WeChat/sagas.js +0 -86
  325. package/containers/WeChat/selectors.js +0 -25
  326. package/containers/WeChat/tests/actions.test.js +0 -18
  327. package/containers/WeChat/tests/index.test.js +0 -10
  328. package/containers/WeChat/tests/reducer.test.js +0 -9
  329. package/containers/WeChat/tests/sagas.test.js +0 -15
  330. package/containers/WeChat/tests/selectors.test.js +0 -10
  331. package/favicon.ico +0 -0
  332. package/global-styles.js +0 -15
  333. package/gtm/eventDefinitions.js +0 -17
  334. package/gtm/eventDefinitionsMap.js +0 -12
  335. package/gtm/tests/events.test.js +0 -3
  336. package/i18n.js +0 -39
  337. package/index.html +0 -42
  338. package/initialState.js +0 -38
  339. package/reducers.js +0 -65
  340. package/routes.js +0 -562
  341. package/schemas/user.js +0 -8
  342. package/services/api.js +0 -306
  343. package/services/localStorageApi.js +0 -33
  344. package/store.js +0 -61
  345. package/styles/_variables.scss +0 -53
  346. package/styles/abstracts/_functions.scss +0 -1
  347. package/styles/abstracts/_mixins.scss +0 -0
  348. package/styles/abstracts/_module.scss +0 -6
  349. package/styles/abstracts/_placeholders.scss +0 -0
  350. package/styles/abstracts/_variables.scss +0 -34
  351. package/styles/base/_animations.scss +0 -0
  352. package/styles/base/_base.scss +0 -64
  353. package/styles/base/_module.scss +0 -5
  354. package/styles/base/_reset.scss +0 -0
  355. package/styles/base/_typography.scss +0 -0
  356. package/styles/components/_module.scss +0 -11
  357. package/styles/components/autocompletebox/_module.scss +0 -60
  358. package/styles/components/breadcrumbs/_breadcrumbs.scss +0 -14
  359. package/styles/components/common/_accordianDropdown.scss +0 -35
  360. package/styles/components/common/_message.scss +0 -3
  361. package/styles/components/dimension/_dimension.scss +0 -77
  362. package/styles/components/filters/_dateFilter.scss +0 -68
  363. package/styles/components/filters/_dimensionFilter.scss +0 -66
  364. package/styles/components/footer/_footer.scss +0 -13
  365. package/styles/components/login/_loginForm.scss +0 -0
  366. package/styles/components/navigation/_leftnav.scss +0 -213
  367. package/styles/components/navigation/_topnav.scss +0 -52
  368. package/styles/containers/_module.scss +0 -3
  369. package/styles/containers/layout/_layoutPage.scss +0 -169
  370. package/styles/containers/login/_loginPage.scss +0 -60
  371. package/styles/containers/reports/_reportPage.scss +0 -128
  372. package/styles/layout/_footer.scss +0 -0
  373. package/styles/layout/_forms.scss +0 -3
  374. package/styles/layout/_grid.scss +0 -3
  375. package/styles/layout/_header.scss +0 -25
  376. package/styles/layout/_module.scss +0 -1
  377. package/styles/layout/_navigation.scss +0 -0
  378. package/styles/layout/_sidebar.scss +0 -0
  379. package/styles/main.scss +0 -6
  380. package/styles/vendor/_module.scss +0 -0
  381. package/styles/vendor/semantic/dist/components/accordion.css +0 -311
  382. package/styles/vendor/semantic/dist/components/accordion.js +0 -610
  383. package/styles/vendor/semantic/dist/components/accordion.min.css +0 -9
  384. package/styles/vendor/semantic/dist/components/accordion.min.js +0 -10
  385. package/styles/vendor/semantic/dist/components/accordion.rtl.css +0 -252
  386. package/styles/vendor/semantic/dist/components/accordion.rtl.min.css +0 -9
  387. package/styles/vendor/semantic/dist/components/ad.css +0 -275
  388. package/styles/vendor/semantic/dist/components/ad.min.css +0 -10
  389. package/styles/vendor/semantic/dist/components/ad.rtl.css +0 -275
  390. package/styles/vendor/semantic/dist/components/ad.rtl.min.css +0 -10
  391. package/styles/vendor/semantic/dist/components/api.js +0 -1167
  392. package/styles/vendor/semantic/dist/components/api.min.js +0 -10
  393. package/styles/vendor/semantic/dist/components/breadcrumb.css +0 -124
  394. package/styles/vendor/semantic/dist/components/breadcrumb.min.css +0 -9
  395. package/styles/vendor/semantic/dist/components/breadcrumb.rtl.css +0 -124
  396. package/styles/vendor/semantic/dist/components/breadcrumb.rtl.min.css +0 -9
  397. package/styles/vendor/semantic/dist/components/button.css +0 -3557
  398. package/styles/vendor/semantic/dist/components/button.min.css +0 -9
  399. package/styles/vendor/semantic/dist/components/button.rtl.css +0 -3450
  400. package/styles/vendor/semantic/dist/components/button.rtl.min.css +0 -9
  401. package/styles/vendor/semantic/dist/components/card.css +0 -964
  402. package/styles/vendor/semantic/dist/components/card.min.css +0 -9
  403. package/styles/vendor/semantic/dist/components/card.rtl.css +0 -964
  404. package/styles/vendor/semantic/dist/components/card.rtl.min.css +0 -9
  405. package/styles/vendor/semantic/dist/components/checkbox.css +0 -625
  406. package/styles/vendor/semantic/dist/components/checkbox.js +0 -831
  407. package/styles/vendor/semantic/dist/components/checkbox.min.css +0 -9
  408. package/styles/vendor/semantic/dist/components/checkbox.min.js +0 -10
  409. package/styles/vendor/semantic/dist/components/checkbox.rtl.css +0 -625
  410. package/styles/vendor/semantic/dist/components/checkbox.rtl.min.css +0 -9
  411. package/styles/vendor/semantic/dist/components/comment.css +0 -270
  412. package/styles/vendor/semantic/dist/components/comment.min.css +0 -9
  413. package/styles/vendor/semantic/dist/components/comment.rtl.css +0 -270
  414. package/styles/vendor/semantic/dist/components/comment.rtl.min.css +0 -9
  415. package/styles/vendor/semantic/dist/components/container.css +0 -147
  416. package/styles/vendor/semantic/dist/components/container.min.css +0 -9
  417. package/styles/vendor/semantic/dist/components/container.rtl.css +0 -147
  418. package/styles/vendor/semantic/dist/components/container.rtl.min.css +0 -9
  419. package/styles/vendor/semantic/dist/components/dimmer.css +0 -200
  420. package/styles/vendor/semantic/dist/components/dimmer.js +0 -708
  421. package/styles/vendor/semantic/dist/components/dimmer.min.css +0 -9
  422. package/styles/vendor/semantic/dist/components/dimmer.min.js +0 -10
  423. package/styles/vendor/semantic/dist/components/dimmer.rtl.css +0 -200
  424. package/styles/vendor/semantic/dist/components/dimmer.rtl.min.css +0 -9
  425. package/styles/vendor/semantic/dist/components/divider.css +0 -260
  426. package/styles/vendor/semantic/dist/components/divider.min.css +0 -9
  427. package/styles/vendor/semantic/dist/components/divider.rtl.css +0 -260
  428. package/styles/vendor/semantic/dist/components/divider.rtl.min.css +0 -9
  429. package/styles/vendor/semantic/dist/components/dropdown.css +0 -1487
  430. package/styles/vendor/semantic/dist/components/dropdown.js +0 -3741
  431. package/styles/vendor/semantic/dist/components/dropdown.min.css +0 -9
  432. package/styles/vendor/semantic/dist/components/dropdown.min.js +0 -11
  433. package/styles/vendor/semantic/dist/components/dropdown.rtl.css +0 -1417
  434. package/styles/vendor/semantic/dist/components/dropdown.rtl.min.css +0 -9
  435. package/styles/vendor/semantic/dist/components/embed.css +0 -166
  436. package/styles/vendor/semantic/dist/components/embed.js +0 -696
  437. package/styles/vendor/semantic/dist/components/embed.min.css +0 -9
  438. package/styles/vendor/semantic/dist/components/embed.min.js +0 -10
  439. package/styles/vendor/semantic/dist/components/embed.rtl.css +0 -166
  440. package/styles/vendor/semantic/dist/components/embed.rtl.min.css +0 -9
  441. package/styles/vendor/semantic/dist/components/feed.css +0 -296
  442. package/styles/vendor/semantic/dist/components/feed.min.css +0 -9
  443. package/styles/vendor/semantic/dist/components/feed.rtl.css +0 -296
  444. package/styles/vendor/semantic/dist/components/feed.rtl.min.css +0 -9
  445. package/styles/vendor/semantic/dist/components/flag.css +0 -1031
  446. package/styles/vendor/semantic/dist/components/flag.min.css +0 -9
  447. package/styles/vendor/semantic/dist/components/flag.rtl.css +0 -1031
  448. package/styles/vendor/semantic/dist/components/flag.rtl.min.css +0 -9
  449. package/styles/vendor/semantic/dist/components/form.css +0 -1067
  450. package/styles/vendor/semantic/dist/components/form.js +0 -1558
  451. package/styles/vendor/semantic/dist/components/form.min.css +0 -9
  452. package/styles/vendor/semantic/dist/components/form.min.js +0 -10
  453. package/styles/vendor/semantic/dist/components/form.rtl.css +0 -1067
  454. package/styles/vendor/semantic/dist/components/form.rtl.min.css +0 -9
  455. package/styles/vendor/semantic/dist/components/grid.css +0 -2002
  456. package/styles/vendor/semantic/dist/components/grid.min.css +0 -9
  457. package/styles/vendor/semantic/dist/components/grid.rtl.css +0 -2002
  458. package/styles/vendor/semantic/dist/components/grid.rtl.min.css +0 -9
  459. package/styles/vendor/semantic/dist/components/header.css +0 -721
  460. package/styles/vendor/semantic/dist/components/header.min.css +0 -9
  461. package/styles/vendor/semantic/dist/components/header.rtl.css +0 -721
  462. package/styles/vendor/semantic/dist/components/header.rtl.min.css +0 -9
  463. package/styles/vendor/semantic/dist/components/icon.css +0 -3142
  464. package/styles/vendor/semantic/dist/components/icon.min.css +0 -9
  465. package/styles/vendor/semantic/dist/components/icon.rtl.css +0 -3142
  466. package/styles/vendor/semantic/dist/components/icon.rtl.min.css +0 -9
  467. package/styles/vendor/semantic/dist/components/image.css +0 -306
  468. package/styles/vendor/semantic/dist/components/image.min.css +0 -9
  469. package/styles/vendor/semantic/dist/components/image.rtl.css +0 -306
  470. package/styles/vendor/semantic/dist/components/image.rtl.min.css +0 -9
  471. package/styles/vendor/semantic/dist/components/input.css +0 -536
  472. package/styles/vendor/semantic/dist/components/input.min.css +0 -9
  473. package/styles/vendor/semantic/dist/components/input.rtl.css +0 -510
  474. package/styles/vendor/semantic/dist/components/input.rtl.min.css +0 -9
  475. package/styles/vendor/semantic/dist/components/item.css +0 -475
  476. package/styles/vendor/semantic/dist/components/item.min.css +0 -9
  477. package/styles/vendor/semantic/dist/components/item.rtl.css +0 -475
  478. package/styles/vendor/semantic/dist/components/item.rtl.min.css +0 -9
  479. package/styles/vendor/semantic/dist/components/label.css +0 -1320
  480. package/styles/vendor/semantic/dist/components/label.min.css +0 -9
  481. package/styles/vendor/semantic/dist/components/label.rtl.css +0 -1307
  482. package/styles/vendor/semantic/dist/components/label.rtl.min.css +0 -9
  483. package/styles/vendor/semantic/dist/components/list.css +0 -951
  484. package/styles/vendor/semantic/dist/components/list.min.css +0 -9
  485. package/styles/vendor/semantic/dist/components/list.rtl.css +0 -951
  486. package/styles/vendor/semantic/dist/components/list.rtl.min.css +0 -9
  487. package/styles/vendor/semantic/dist/components/loader.css +0 -347
  488. package/styles/vendor/semantic/dist/components/loader.min.css +0 -9
  489. package/styles/vendor/semantic/dist/components/loader.rtl.css +0 -347
  490. package/styles/vendor/semantic/dist/components/loader.rtl.min.css +0 -9
  491. package/styles/vendor/semantic/dist/components/menu.css +0 -2020
  492. package/styles/vendor/semantic/dist/components/menu.min.css +0 -1
  493. package/styles/vendor/semantic/dist/components/menu.rtl.css +0 -2002
  494. package/styles/vendor/semantic/dist/components/menu.rtl.min.css +0 -1
  495. package/styles/vendor/semantic/dist/components/message.css +0 -477
  496. package/styles/vendor/semantic/dist/components/message.min.css +0 -9
  497. package/styles/vendor/semantic/dist/components/message.rtl.css +0 -477
  498. package/styles/vendor/semantic/dist/components/message.rtl.min.css +0 -9
  499. package/styles/vendor/semantic/dist/components/modal.css +0 -512
  500. package/styles/vendor/semantic/dist/components/modal.js +0 -913
  501. package/styles/vendor/semantic/dist/components/modal.min.css +0 -9
  502. package/styles/vendor/semantic/dist/components/modal.min.js +0 -10
  503. package/styles/vendor/semantic/dist/components/modal.rtl.css +0 -499
  504. package/styles/vendor/semantic/dist/components/modal.rtl.min.css +0 -9
  505. package/styles/vendor/semantic/dist/components/nag.css +0 -147
  506. package/styles/vendor/semantic/dist/components/nag.js +0 -507
  507. package/styles/vendor/semantic/dist/components/nag.min.css +0 -9
  508. package/styles/vendor/semantic/dist/components/nag.min.js +0 -10
  509. package/styles/vendor/semantic/dist/components/nag.rtl.css +0 -147
  510. package/styles/vendor/semantic/dist/components/nag.rtl.min.css +0 -9
  511. package/styles/vendor/semantic/dist/components/popup.css +0 -733
  512. package/styles/vendor/semantic/dist/components/popup.js +0 -1475
  513. package/styles/vendor/semantic/dist/components/popup.min.css +0 -9
  514. package/styles/vendor/semantic/dist/components/popup.min.js +0 -10
  515. package/styles/vendor/semantic/dist/components/popup.rtl.css +0 -727
  516. package/styles/vendor/semantic/dist/components/popup.rtl.min.css +0 -9
  517. package/styles/vendor/semantic/dist/components/progress.css +0 -516
  518. package/styles/vendor/semantic/dist/components/progress.js +0 -931
  519. package/styles/vendor/semantic/dist/components/progress.min.css +0 -9
  520. package/styles/vendor/semantic/dist/components/progress.min.js +0 -10
  521. package/styles/vendor/semantic/dist/components/progress.rtl.css +0 -516
  522. package/styles/vendor/semantic/dist/components/progress.rtl.min.css +0 -9
  523. package/styles/vendor/semantic/dist/components/rail.css +0 -152
  524. package/styles/vendor/semantic/dist/components/rail.min.css +0 -9
  525. package/styles/vendor/semantic/dist/components/rail.rtl.css +0 -152
  526. package/styles/vendor/semantic/dist/components/rail.rtl.min.css +0 -9
  527. package/styles/vendor/semantic/dist/components/rating.css +0 -263
  528. package/styles/vendor/semantic/dist/components/rating.js +0 -508
  529. package/styles/vendor/semantic/dist/components/rating.min.css +0 -9
  530. package/styles/vendor/semantic/dist/components/rating.min.js +0 -10
  531. package/styles/vendor/semantic/dist/components/rating.rtl.css +0 -263
  532. package/styles/vendor/semantic/dist/components/rating.rtl.min.css +0 -9
  533. package/styles/vendor/semantic/dist/components/reset.css +0 -424
  534. package/styles/vendor/semantic/dist/components/reset.min.css +0 -9
  535. package/styles/vendor/semantic/dist/components/reset.rtl.css +0 -424
  536. package/styles/vendor/semantic/dist/components/reset.rtl.min.css +0 -9
  537. package/styles/vendor/semantic/dist/components/reveal.css +0 -284
  538. package/styles/vendor/semantic/dist/components/reveal.min.css +0 -9
  539. package/styles/vendor/semantic/dist/components/reveal.rtl.css +0 -284
  540. package/styles/vendor/semantic/dist/components/reveal.rtl.min.css +0 -9
  541. package/styles/vendor/semantic/dist/components/search.css +0 -408
  542. package/styles/vendor/semantic/dist/components/search.js +0 -1407
  543. package/styles/vendor/semantic/dist/components/search.min.css +0 -9
  544. package/styles/vendor/semantic/dist/components/search.min.js +0 -10
  545. package/styles/vendor/semantic/dist/components/search.rtl.css +0 -408
  546. package/styles/vendor/semantic/dist/components/search.rtl.min.css +0 -9
  547. package/styles/vendor/semantic/dist/components/segment.css +0 -791
  548. package/styles/vendor/semantic/dist/components/segment.min.css +0 -9
  549. package/styles/vendor/semantic/dist/components/segment.rtl.css +0 -791
  550. package/styles/vendor/semantic/dist/components/segment.rtl.min.css +0 -9
  551. package/styles/vendor/semantic/dist/components/shape.css +0 -157
  552. package/styles/vendor/semantic/dist/components/shape.js +0 -921
  553. package/styles/vendor/semantic/dist/components/shape.min.css +0 -9
  554. package/styles/vendor/semantic/dist/components/shape.min.js +0 -10
  555. package/styles/vendor/semantic/dist/components/shape.rtl.css +0 -157
  556. package/styles/vendor/semantic/dist/components/shape.rtl.min.css +0 -9
  557. package/styles/vendor/semantic/dist/components/sidebar.css +0 -638
  558. package/styles/vendor/semantic/dist/components/sidebar.js +0 -1036
  559. package/styles/vendor/semantic/dist/components/sidebar.min.css +0 -9
  560. package/styles/vendor/semantic/dist/components/sidebar.min.js +0 -10
  561. package/styles/vendor/semantic/dist/components/sidebar.rtl.css +0 -638
  562. package/styles/vendor/semantic/dist/components/sidebar.rtl.min.css +0 -9
  563. package/styles/vendor/semantic/dist/components/site.css +0 -154
  564. package/styles/vendor/semantic/dist/components/site.js +0 -487
  565. package/styles/vendor/semantic/dist/components/site.min.css +0 -9
  566. package/styles/vendor/semantic/dist/components/site.min.js +0 -10
  567. package/styles/vendor/semantic/dist/components/site.rtl.css +0 -154
  568. package/styles/vendor/semantic/dist/components/site.rtl.min.css +0 -9
  569. package/styles/vendor/semantic/dist/components/state.js +0 -708
  570. package/styles/vendor/semantic/dist/components/state.min.js +0 -10
  571. package/styles/vendor/semantic/dist/components/statistic.css +0 -569
  572. package/styles/vendor/semantic/dist/components/statistic.min.css +0 -9
  573. package/styles/vendor/semantic/dist/components/statistic.rtl.css +0 -569
  574. package/styles/vendor/semantic/dist/components/statistic.rtl.min.css +0 -9
  575. package/styles/vendor/semantic/dist/components/step.css +0 -623
  576. package/styles/vendor/semantic/dist/components/step.min.css +0 -9
  577. package/styles/vendor/semantic/dist/components/step.rtl.css +0 -623
  578. package/styles/vendor/semantic/dist/components/step.rtl.min.css +0 -9
  579. package/styles/vendor/semantic/dist/components/sticky.css +0 -78
  580. package/styles/vendor/semantic/dist/components/sticky.js +0 -942
  581. package/styles/vendor/semantic/dist/components/sticky.min.css +0 -9
  582. package/styles/vendor/semantic/dist/components/sticky.min.js +0 -10
  583. package/styles/vendor/semantic/dist/components/sticky.rtl.css +0 -78
  584. package/styles/vendor/semantic/dist/components/sticky.rtl.min.css +0 -9
  585. package/styles/vendor/semantic/dist/components/tab.css +0 -91
  586. package/styles/vendor/semantic/dist/components/tab.js +0 -946
  587. package/styles/vendor/semantic/dist/components/tab.min.css +0 -9
  588. package/styles/vendor/semantic/dist/components/tab.min.js +0 -10
  589. package/styles/vendor/semantic/dist/components/tab.rtl.css +0 -91
  590. package/styles/vendor/semantic/dist/components/tab.rtl.min.css +0 -9
  591. package/styles/vendor/semantic/dist/components/table.css +0 -1108
  592. package/styles/vendor/semantic/dist/components/table.min.css +0 -9
  593. package/styles/vendor/semantic/dist/components/table.rtl.css +0 -1108
  594. package/styles/vendor/semantic/dist/components/table.rtl.min.css +0 -9
  595. package/styles/vendor/semantic/dist/components/transition.css +0 -1964
  596. package/styles/vendor/semantic/dist/components/transition.js +0 -1095
  597. package/styles/vendor/semantic/dist/components/transition.min.css +0 -9
  598. package/styles/vendor/semantic/dist/components/transition.min.js +0 -10
  599. package/styles/vendor/semantic/dist/components/transition.rtl.css +0 -1964
  600. package/styles/vendor/semantic/dist/components/transition.rtl.min.css +0 -9
  601. package/styles/vendor/semantic/dist/components/visibility.js +0 -1283
  602. package/styles/vendor/semantic/dist/components/visibility.min.js +0 -10
  603. package/styles/vendor/semantic/dist/semantic.css +0 -36950
  604. package/styles/vendor/semantic/dist/semantic.js +0 -22500
  605. package/styles/vendor/semantic/dist/semantic.min.css +0 -364
  606. package/styles/vendor/semantic/dist/semantic.min.js +0 -19
  607. package/styles/vendor/semantic/dist/semantic.rtl.css +0 -36579
  608. package/styles/vendor/semantic/dist/semantic.rtl.min.css +0 -11
  609. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.eot +0 -0
  610. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.svg +0 -450
  611. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.ttf +0 -0
  612. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.woff +0 -0
  613. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.eot +0 -0
  614. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.svg +0 -685
  615. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.ttf +0 -0
  616. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.woff +0 -0
  617. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  618. package/styles/vendor/semantic/dist/themes/default/assets/images/flags.png +0 -0
  619. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons-local.ttf +0 -0
  620. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.svg +0 -200
  621. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.ttf +0 -0
  622. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.woff +0 -0
  623. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.eot +0 -0
  624. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.svg +0 -2373
  625. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.ttf +0 -0
  626. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.woff +0 -0
  627. package/styles/vendor/semantic/gulpfile.js +0 -72
  628. package/styles/vendor/semantic/src/definitions/behaviors/api.js +0 -1167
  629. package/styles/vendor/semantic/src/definitions/behaviors/colorize.js +0 -280
  630. package/styles/vendor/semantic/src/definitions/behaviors/form.js +0 -1558
  631. package/styles/vendor/semantic/src/definitions/behaviors/state.js +0 -708
  632. package/styles/vendor/semantic/src/definitions/behaviors/visibility.js +0 -1283
  633. package/styles/vendor/semantic/src/definitions/behaviors/visit.js +0 -525
  634. package/styles/vendor/semantic/src/definitions/collections/breadcrumb.less +0 -122
  635. package/styles/vendor/semantic/src/definitions/collections/form.less +0 -1053
  636. package/styles/vendor/semantic/src/definitions/collections/grid.less +0 -1920
  637. package/styles/vendor/semantic/src/definitions/collections/menu.less +0 -1965
  638. package/styles/vendor/semantic/src/definitions/collections/message.less +0 -478
  639. package/styles/vendor/semantic/src/definitions/collections/table.less +0 -1114
  640. package/styles/vendor/semantic/src/definitions/elements/button.less +0 -3427
  641. package/styles/vendor/semantic/src/definitions/elements/container.less +0 -143
  642. package/styles/vendor/semantic/src/definitions/elements/divider.less +0 -255
  643. package/styles/vendor/semantic/src/definitions/elements/flag.less +0 -52
  644. package/styles/vendor/semantic/src/definitions/elements/header.less +0 -708
  645. package/styles/vendor/semantic/src/definitions/elements/icon.less +0 -477
  646. package/styles/vendor/semantic/src/definitions/elements/image.less +0 -324
  647. package/styles/vendor/semantic/src/definitions/elements/input.less +0 -507
  648. package/styles/vendor/semantic/src/definitions/elements/label.less +0 -1257
  649. package/styles/vendor/semantic/src/definitions/elements/list.less +0 -951
  650. package/styles/vendor/semantic/src/definitions/elements/loader.less +0 -332
  651. package/styles/vendor/semantic/src/definitions/elements/rail.less +0 -154
  652. package/styles/vendor/semantic/src/definitions/elements/reveal.less +0 -265
  653. package/styles/vendor/semantic/src/definitions/elements/segment.less +0 -768
  654. package/styles/vendor/semantic/src/definitions/elements/step.less +0 -562
  655. package/styles/vendor/semantic/src/definitions/globals/reset.less +0 -40
  656. package/styles/vendor/semantic/src/definitions/globals/site.js +0 -487
  657. package/styles/vendor/semantic/src/definitions/globals/site.less +0 -166
  658. package/styles/vendor/semantic/src/definitions/modules/accordion.js +0 -610
  659. package/styles/vendor/semantic/src/definitions/modules/accordion.less +0 -219
  660. package/styles/vendor/semantic/src/definitions/modules/checkbox.js +0 -831
  661. package/styles/vendor/semantic/src/definitions/modules/checkbox.less +0 -598
  662. package/styles/vendor/semantic/src/definitions/modules/dimmer.js +0 -708
  663. package/styles/vendor/semantic/src/definitions/modules/dimmer.less +0 -189
  664. package/styles/vendor/semantic/src/definitions/modules/dropdown.js +0 -3741
  665. package/styles/vendor/semantic/src/definitions/modules/dropdown.less +0 -1352
  666. package/styles/vendor/semantic/src/definitions/modules/embed.js +0 -696
  667. package/styles/vendor/semantic/src/definitions/modules/embed.less +0 -163
  668. package/styles/vendor/semantic/src/definitions/modules/modal.js +0 -913
  669. package/styles/vendor/semantic/src/definitions/modules/modal.less +0 -484
  670. package/styles/vendor/semantic/src/definitions/modules/nag.js +0 -507
  671. package/styles/vendor/semantic/src/definitions/modules/nag.less +0 -158
  672. package/styles/vendor/semantic/src/definitions/modules/popup.js +0 -1475
  673. package/styles/vendor/semantic/src/definitions/modules/popup.less +0 -712
  674. package/styles/vendor/semantic/src/definitions/modules/progress.js +0 -931
  675. package/styles/vendor/semantic/src/definitions/modules/progress.less +0 -503
  676. package/styles/vendor/semantic/src/definitions/modules/rating.js +0 -508
  677. package/styles/vendor/semantic/src/definitions/modules/rating.less +0 -191
  678. package/styles/vendor/semantic/src/definitions/modules/search.js +0 -1407
  679. package/styles/vendor/semantic/src/definitions/modules/search.less +0 -417
  680. package/styles/vendor/semantic/src/definitions/modules/shape.js +0 -921
  681. package/styles/vendor/semantic/src/definitions/modules/shape.less +0 -150
  682. package/styles/vendor/semantic/src/definitions/modules/sidebar.js +0 -1036
  683. package/styles/vendor/semantic/src/definitions/modules/sidebar.less +0 -552
  684. package/styles/vendor/semantic/src/definitions/modules/sticky.js +0 -942
  685. package/styles/vendor/semantic/src/definitions/modules/sticky.less +0 -74
  686. package/styles/vendor/semantic/src/definitions/modules/tab.js +0 -946
  687. package/styles/vendor/semantic/src/definitions/modules/tab.less +0 -94
  688. package/styles/vendor/semantic/src/definitions/modules/transition.js +0 -1095
  689. package/styles/vendor/semantic/src/definitions/modules/transition.less +0 -78
  690. package/styles/vendor/semantic/src/definitions/views/ad.less +0 -268
  691. package/styles/vendor/semantic/src/definitions/views/card.less +0 -1059
  692. package/styles/vendor/semantic/src/definitions/views/comment.less +0 -269
  693. package/styles/vendor/semantic/src/definitions/views/feed.less +0 -278
  694. package/styles/vendor/semantic/src/definitions/views/item.less +0 -464
  695. package/styles/vendor/semantic/src/definitions/views/statistic.less +0 -557
  696. package/styles/vendor/semantic/src/semantic.less +0 -66
  697. package/styles/vendor/semantic/src/site/collections/breadcrumb.overrides +0 -3
  698. package/styles/vendor/semantic/src/site/collections/breadcrumb.variables +0 -3
  699. package/styles/vendor/semantic/src/site/collections/form.overrides +0 -3
  700. package/styles/vendor/semantic/src/site/collections/form.variables +0 -3
  701. package/styles/vendor/semantic/src/site/collections/grid.overrides +0 -3
  702. package/styles/vendor/semantic/src/site/collections/grid.variables +0 -3
  703. package/styles/vendor/semantic/src/site/collections/menu.overrides +0 -24
  704. package/styles/vendor/semantic/src/site/collections/menu.variables +0 -6
  705. package/styles/vendor/semantic/src/site/collections/message.overrides +0 -3
  706. package/styles/vendor/semantic/src/site/collections/message.variables +0 -3
  707. package/styles/vendor/semantic/src/site/collections/table.overrides +0 -3
  708. package/styles/vendor/semantic/src/site/collections/table.variables +0 -3
  709. package/styles/vendor/semantic/src/site/elements/button.overrides +0 -110
  710. package/styles/vendor/semantic/src/site/elements/button.variables +0 -3
  711. package/styles/vendor/semantic/src/site/elements/container.overrides +0 -3
  712. package/styles/vendor/semantic/src/site/elements/container.variables +0 -3
  713. package/styles/vendor/semantic/src/site/elements/divider.overrides +0 -3
  714. package/styles/vendor/semantic/src/site/elements/divider.variables +0 -3
  715. package/styles/vendor/semantic/src/site/elements/flag.overrides +0 -3
  716. package/styles/vendor/semantic/src/site/elements/flag.variables +0 -3
  717. package/styles/vendor/semantic/src/site/elements/header.overrides +0 -3
  718. package/styles/vendor/semantic/src/site/elements/header.variables +0 -3
  719. package/styles/vendor/semantic/src/site/elements/icon.overrides +0 -3
  720. package/styles/vendor/semantic/src/site/elements/icon.variables +0 -3
  721. package/styles/vendor/semantic/src/site/elements/image.overrides +0 -3
  722. package/styles/vendor/semantic/src/site/elements/image.variables +0 -3
  723. package/styles/vendor/semantic/src/site/elements/input.overrides +0 -25
  724. package/styles/vendor/semantic/src/site/elements/input.variables +0 -3
  725. package/styles/vendor/semantic/src/site/elements/label.overrides +0 -18
  726. package/styles/vendor/semantic/src/site/elements/label.variables +0 -3
  727. package/styles/vendor/semantic/src/site/elements/list.overrides +0 -3
  728. package/styles/vendor/semantic/src/site/elements/list.variables +0 -3
  729. package/styles/vendor/semantic/src/site/elements/loader.overrides +0 -3
  730. package/styles/vendor/semantic/src/site/elements/loader.variables +0 -3
  731. package/styles/vendor/semantic/src/site/elements/rail.overrides +0 -3
  732. package/styles/vendor/semantic/src/site/elements/rail.variables +0 -3
  733. package/styles/vendor/semantic/src/site/elements/reveal.overrides +0 -3
  734. package/styles/vendor/semantic/src/site/elements/reveal.variables +0 -3
  735. package/styles/vendor/semantic/src/site/elements/segment.overrides +0 -3
  736. package/styles/vendor/semantic/src/site/elements/segment.variables +0 -3
  737. package/styles/vendor/semantic/src/site/elements/step.overrides +0 -3
  738. package/styles/vendor/semantic/src/site/elements/step.variables +0 -3
  739. package/styles/vendor/semantic/src/site/globals/reset.overrides +0 -3
  740. package/styles/vendor/semantic/src/site/globals/reset.variables +0 -3
  741. package/styles/vendor/semantic/src/site/globals/site.overrides +0 -3
  742. package/styles/vendor/semantic/src/site/globals/site.variables +0 -52
  743. package/styles/vendor/semantic/src/site/modules/accordion.overrides +0 -67
  744. package/styles/vendor/semantic/src/site/modules/accordion.variables +0 -3
  745. package/styles/vendor/semantic/src/site/modules/chatroom.overrides +0 -3
  746. package/styles/vendor/semantic/src/site/modules/chatroom.variables +0 -3
  747. package/styles/vendor/semantic/src/site/modules/checkbox.overrides +0 -3
  748. package/styles/vendor/semantic/src/site/modules/checkbox.variables +0 -3
  749. package/styles/vendor/semantic/src/site/modules/dimmer.overrides +0 -3
  750. package/styles/vendor/semantic/src/site/modules/dimmer.variables +0 -3
  751. package/styles/vendor/semantic/src/site/modules/dropdown.overrides +0 -80
  752. package/styles/vendor/semantic/src/site/modules/dropdown.variables +0 -3
  753. package/styles/vendor/semantic/src/site/modules/embed.overrides +0 -3
  754. package/styles/vendor/semantic/src/site/modules/embed.variables +0 -0
  755. package/styles/vendor/semantic/src/site/modules/modal.overrides +0 -13
  756. package/styles/vendor/semantic/src/site/modules/modal.variables +0 -3
  757. package/styles/vendor/semantic/src/site/modules/nag.overrides +0 -3
  758. package/styles/vendor/semantic/src/site/modules/nag.variables +0 -3
  759. package/styles/vendor/semantic/src/site/modules/popup.overrides +0 -3
  760. package/styles/vendor/semantic/src/site/modules/popup.variables +0 -3
  761. package/styles/vendor/semantic/src/site/modules/progress.overrides +0 -3
  762. package/styles/vendor/semantic/src/site/modules/progress.variables +0 -3
  763. package/styles/vendor/semantic/src/site/modules/rating.overrides +0 -3
  764. package/styles/vendor/semantic/src/site/modules/rating.variables +0 -3
  765. package/styles/vendor/semantic/src/site/modules/search.overrides +0 -3
  766. package/styles/vendor/semantic/src/site/modules/search.variables +0 -3
  767. package/styles/vendor/semantic/src/site/modules/shape.overrides +0 -3
  768. package/styles/vendor/semantic/src/site/modules/shape.variables +0 -3
  769. package/styles/vendor/semantic/src/site/modules/sidebar.overrides +0 -3
  770. package/styles/vendor/semantic/src/site/modules/sidebar.variables +0 -3
  771. package/styles/vendor/semantic/src/site/modules/sticky.overrides +0 -3
  772. package/styles/vendor/semantic/src/site/modules/sticky.variables +0 -3
  773. package/styles/vendor/semantic/src/site/modules/tab.overrides +0 -3
  774. package/styles/vendor/semantic/src/site/modules/tab.variables +0 -3
  775. package/styles/vendor/semantic/src/site/modules/transition.overrides +0 -3
  776. package/styles/vendor/semantic/src/site/modules/transition.variables +0 -3
  777. package/styles/vendor/semantic/src/site/views/ad.overrides +0 -3
  778. package/styles/vendor/semantic/src/site/views/ad.variables +0 -3
  779. package/styles/vendor/semantic/src/site/views/card.overrides +0 -3
  780. package/styles/vendor/semantic/src/site/views/card.variables +0 -3
  781. package/styles/vendor/semantic/src/site/views/comment.overrides +0 -3
  782. package/styles/vendor/semantic/src/site/views/comment.variables +0 -3
  783. package/styles/vendor/semantic/src/site/views/feed.overrides +0 -3
  784. package/styles/vendor/semantic/src/site/views/feed.variables +0 -3
  785. package/styles/vendor/semantic/src/site/views/item.overrides +0 -3
  786. package/styles/vendor/semantic/src/site/views/item.variables +0 -3
  787. package/styles/vendor/semantic/src/site/views/statistic.overrides +0 -3
  788. package/styles/vendor/semantic/src/site/views/statistic.variables +0 -3
  789. package/styles/vendor/semantic/src/theme.config +0 -92
  790. package/styles/vendor/semantic/src/theme.less +0 -61
  791. package/styles/vendor/semantic/src/themes/amazon/elements/button.overrides +0 -46
  792. package/styles/vendor/semantic/src/themes/amazon/elements/button.variables +0 -58
  793. package/styles/vendor/semantic/src/themes/amazon/globals/site.variables +0 -43
  794. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.eot +0 -0
  795. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.svg +0 -450
  796. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.ttf +0 -0
  797. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.woff +0 -0
  798. package/styles/vendor/semantic/src/themes/basic/collections/table.overrides +0 -4
  799. package/styles/vendor/semantic/src/themes/basic/collections/table.variables +0 -11
  800. package/styles/vendor/semantic/src/themes/basic/elements/button.overrides +0 -4
  801. package/styles/vendor/semantic/src/themes/basic/elements/button.variables +0 -44
  802. package/styles/vendor/semantic/src/themes/basic/elements/icon.overrides +0 -189
  803. package/styles/vendor/semantic/src/themes/basic/elements/icon.variables +0 -12
  804. package/styles/vendor/semantic/src/themes/basic/elements/step.overrides +0 -10
  805. package/styles/vendor/semantic/src/themes/basic/elements/step.variables +0 -18
  806. package/styles/vendor/semantic/src/themes/basic/globals/reset.overrides +0 -5
  807. package/styles/vendor/semantic/src/themes/basic/globals/reset.variables +0 -3
  808. package/styles/vendor/semantic/src/themes/basic/modules/progress.overrides +0 -3
  809. package/styles/vendor/semantic/src/themes/basic/modules/progress.variables +0 -15
  810. package/styles/vendor/semantic/src/themes/basic/views/card.overrides +0 -4
  811. package/styles/vendor/semantic/src/themes/basic/views/card.variables +0 -35
  812. package/styles/vendor/semantic/src/themes/bookish/elements/header.overrides +0 -15
  813. package/styles/vendor/semantic/src/themes/bookish/elements/header.variables +0 -37
  814. package/styles/vendor/semantic/src/themes/bootstrap3/elements/button.overrides +0 -0
  815. package/styles/vendor/semantic/src/themes/bootstrap3/elements/button.variables +0 -63
  816. package/styles/vendor/semantic/src/themes/chubby/collections/form.overrides +0 -16
  817. package/styles/vendor/semantic/src/themes/chubby/collections/form.variables +0 -9
  818. package/styles/vendor/semantic/src/themes/chubby/collections/menu.overrides +0 -0
  819. package/styles/vendor/semantic/src/themes/chubby/collections/menu.variables +0 -40
  820. package/styles/vendor/semantic/src/themes/chubby/elements/button.overrides +0 -21
  821. package/styles/vendor/semantic/src/themes/chubby/elements/button.variables +0 -57
  822. package/styles/vendor/semantic/src/themes/chubby/elements/header.overrides +0 -5
  823. package/styles/vendor/semantic/src/themes/chubby/elements/header.variables +0 -21
  824. package/styles/vendor/semantic/src/themes/chubby/modules/accordion.overrides +0 -7
  825. package/styles/vendor/semantic/src/themes/chubby/modules/accordion.variables +0 -15
  826. package/styles/vendor/semantic/src/themes/chubby/views/comment.overrides +0 -12
  827. package/styles/vendor/semantic/src/themes/chubby/views/comment.variables +0 -46
  828. package/styles/vendor/semantic/src/themes/classic/collections/table.overrides +0 -3
  829. package/styles/vendor/semantic/src/themes/classic/collections/table.variables +0 -14
  830. package/styles/vendor/semantic/src/themes/classic/elements/button.overrides +0 -3
  831. package/styles/vendor/semantic/src/themes/classic/elements/button.variables +0 -96
  832. package/styles/vendor/semantic/src/themes/classic/elements/header.overrides +0 -3
  833. package/styles/vendor/semantic/src/themes/classic/elements/header.variables +0 -12
  834. package/styles/vendor/semantic/src/themes/classic/modules/progress.overrides +0 -3
  835. package/styles/vendor/semantic/src/themes/classic/modules/progress.variables +0 -9
  836. package/styles/vendor/semantic/src/themes/classic/views/card.overrides +0 -98
  837. package/styles/vendor/semantic/src/themes/classic/views/card.variables +0 -22
  838. package/styles/vendor/semantic/src/themes/colored/modules/checkbox.overrides +0 -0
  839. package/styles/vendor/semantic/src/themes/colored/modules/checkbox.variables +0 -29
  840. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.eot +0 -0
  841. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.svg +0 -685
  842. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.ttf +0 -0
  843. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.woff +0 -0
  844. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.woff2 +0 -0
  845. package/styles/vendor/semantic/src/themes/default/assets/images/flags.png +0 -0
  846. package/styles/vendor/semantic/src/themes/default/collections/breadcrumb.overrides +0 -3
  847. package/styles/vendor/semantic/src/themes/default/collections/breadcrumb.variables +0 -33
  848. package/styles/vendor/semantic/src/themes/default/collections/form.overrides +0 -3
  849. package/styles/vendor/semantic/src/themes/default/collections/form.variables +0 -195
  850. package/styles/vendor/semantic/src/themes/default/collections/grid.overrides +0 -4
  851. package/styles/vendor/semantic/src/themes/default/collections/grid.variables +0 -103
  852. package/styles/vendor/semantic/src/themes/default/collections/menu.overrides +0 -3
  853. package/styles/vendor/semantic/src/themes/default/collections/menu.variables +0 -458
  854. package/styles/vendor/semantic/src/themes/default/collections/message.overrides +0 -3
  855. package/styles/vendor/semantic/src/themes/default/collections/message.variables +0 -158
  856. package/styles/vendor/semantic/src/themes/default/collections/table.overrides +0 -0
  857. package/styles/vendor/semantic/src/themes/default/collections/table.variables +0 -246
  858. package/styles/vendor/semantic/src/themes/default/elements/button.overrides +0 -3
  859. package/styles/vendor/semantic/src/themes/default/elements/button.variables +0 -358
  860. package/styles/vendor/semantic/src/themes/default/elements/container.overrides +0 -3
  861. package/styles/vendor/semantic/src/themes/default/elements/container.variables +0 -58
  862. package/styles/vendor/semantic/src/themes/default/elements/divider.overrides +0 -18
  863. package/styles/vendor/semantic/src/themes/default/elements/divider.variables +0 -53
  864. package/styles/vendor/semantic/src/themes/default/elements/flag.overrides +0 -986
  865. package/styles/vendor/semantic/src/themes/default/elements/flag.variables +0 -13
  866. package/styles/vendor/semantic/src/themes/default/elements/header.overrides +0 -4
  867. package/styles/vendor/semantic/src/themes/default/elements/header.variables +0 -151
  868. package/styles/vendor/semantic/src/themes/default/elements/icon.overrides +0 -941
  869. package/styles/vendor/semantic/src/themes/default/elements/icon.variables +0 -62
  870. package/styles/vendor/semantic/src/themes/default/elements/image.overrides +0 -3
  871. package/styles/vendor/semantic/src/themes/default/elements/image.variables +0 -44
  872. package/styles/vendor/semantic/src/themes/default/elements/input.overrides +0 -3
  873. package/styles/vendor/semantic/src/themes/default/elements/input.variables +0 -101
  874. package/styles/vendor/semantic/src/themes/default/elements/label.overrides +0 -3
  875. package/styles/vendor/semantic/src/themes/default/elements/label.variables +0 -254
  876. package/styles/vendor/semantic/src/themes/default/elements/list.overrides +0 -3
  877. package/styles/vendor/semantic/src/themes/default/elements/list.variables +0 -224
  878. package/styles/vendor/semantic/src/themes/default/elements/loader.overrides +0 -3
  879. package/styles/vendor/semantic/src/themes/default/elements/loader.variables +0 -72
  880. package/styles/vendor/semantic/src/themes/default/elements/rail.overrides +0 -3
  881. package/styles/vendor/semantic/src/themes/default/elements/rail.variables +0 -34
  882. package/styles/vendor/semantic/src/themes/default/elements/reveal.overrides +0 -3
  883. package/styles/vendor/semantic/src/themes/default/elements/reveal.variables +0 -17
  884. package/styles/vendor/semantic/src/themes/default/elements/segment.overrides +0 -3
  885. package/styles/vendor/semantic/src/themes/default/elements/segment.variables +0 -139
  886. package/styles/vendor/semantic/src/themes/default/elements/step.overrides +0 -16
  887. package/styles/vendor/semantic/src/themes/default/elements/step.variables +0 -130
  888. package/styles/vendor/semantic/src/themes/default/globals/reset.overrides +0 -429
  889. package/styles/vendor/semantic/src/themes/default/globals/reset.variables +0 -3
  890. package/styles/vendor/semantic/src/themes/default/globals/site.overrides +0 -3
  891. package/styles/vendor/semantic/src/themes/default/globals/site.variables +0 -936
  892. package/styles/vendor/semantic/src/themes/default/modules/accordion.overrides +0 -28
  893. package/styles/vendor/semantic/src/themes/default/modules/accordion.variables +0 -100
  894. package/styles/vendor/semantic/src/themes/default/modules/chatroom.overrides +0 -3
  895. package/styles/vendor/semantic/src/themes/default/modules/chatroom.variables +0 -3
  896. package/styles/vendor/semantic/src/themes/default/modules/checkbox.overrides +0 -36
  897. package/styles/vendor/semantic/src/themes/default/modules/checkbox.variables +0 -193
  898. package/styles/vendor/semantic/src/themes/default/modules/dimmer.overrides +0 -3
  899. package/styles/vendor/semantic/src/themes/default/modules/dimmer.variables +0 -61
  900. package/styles/vendor/semantic/src/themes/default/modules/dropdown.overrides +0 -62
  901. package/styles/vendor/semantic/src/themes/default/modules/dropdown.variables +0 -373
  902. package/styles/vendor/semantic/src/themes/default/modules/embed.overrides +0 -3
  903. package/styles/vendor/semantic/src/themes/default/modules/embed.variables +0 -53
  904. package/styles/vendor/semantic/src/themes/default/modules/modal.overrides +0 -3
  905. package/styles/vendor/semantic/src/themes/default/modules/modal.variables +0 -151
  906. package/styles/vendor/semantic/src/themes/default/modules/nag.overrides +0 -3
  907. package/styles/vendor/semantic/src/themes/default/modules/nag.variables +0 -74
  908. package/styles/vendor/semantic/src/themes/default/modules/popup.overrides +0 -3
  909. package/styles/vendor/semantic/src/themes/default/modules/popup.variables +0 -137
  910. package/styles/vendor/semantic/src/themes/default/modules/progress.overrides +0 -3
  911. package/styles/vendor/semantic/src/themes/default/modules/progress.variables +0 -113
  912. package/styles/vendor/semantic/src/themes/default/modules/rating.overrides +0 -68
  913. package/styles/vendor/semantic/src/themes/default/modules/rating.variables +0 -103
  914. package/styles/vendor/semantic/src/themes/default/modules/search.overrides +0 -3
  915. package/styles/vendor/semantic/src/themes/default/modules/search.variables +0 -158
  916. package/styles/vendor/semantic/src/themes/default/modules/shape.overrides +0 -3
  917. package/styles/vendor/semantic/src/themes/default/modules/shape.variables +0 -40
  918. package/styles/vendor/semantic/src/themes/default/modules/sidebar.overrides +0 -3
  919. package/styles/vendor/semantic/src/themes/default/modules/sidebar.variables +0 -45
  920. package/styles/vendor/semantic/src/themes/default/modules/sticky.overrides +0 -3
  921. package/styles/vendor/semantic/src/themes/default/modules/sticky.variables +0 -7
  922. package/styles/vendor/semantic/src/themes/default/modules/tab.overrides +0 -3
  923. package/styles/vendor/semantic/src/themes/default/modules/tab.variables +0 -11
  924. package/styles/vendor/semantic/src/themes/default/modules/transition.overrides +0 -910
  925. package/styles/vendor/semantic/src/themes/default/modules/transition.variables +0 -10
  926. package/styles/vendor/semantic/src/themes/default/views/ad.overrides +0 -3
  927. package/styles/vendor/semantic/src/themes/default/views/ad.variables +0 -13
  928. package/styles/vendor/semantic/src/themes/default/views/card.overrides +0 -3
  929. package/styles/vendor/semantic/src/themes/default/views/card.variables +0 -220
  930. package/styles/vendor/semantic/src/themes/default/views/comment.overrides +0 -3
  931. package/styles/vendor/semantic/src/themes/default/views/comment.variables +0 -104
  932. package/styles/vendor/semantic/src/themes/default/views/feed.overrides +0 -3
  933. package/styles/vendor/semantic/src/themes/default/views/feed.variables +0 -141
  934. package/styles/vendor/semantic/src/themes/default/views/item.overrides +0 -3
  935. package/styles/vendor/semantic/src/themes/default/views/item.variables +0 -154
  936. package/styles/vendor/semantic/src/themes/default/views/statistic.overrides +0 -3
  937. package/styles/vendor/semantic/src/themes/default/views/statistic.variables +0 -98
  938. package/styles/vendor/semantic/src/themes/duo/elements/loader.overrides +0 -3
  939. package/styles/vendor/semantic/src/themes/duo/elements/loader.variables +0 -6
  940. package/styles/vendor/semantic/src/themes/fixed-width/collections/grid.overrides +0 -3
  941. package/styles/vendor/semantic/src/themes/fixed-width/collections/grid.variables +0 -23
  942. package/styles/vendor/semantic/src/themes/fixed-width/modules/modal.overrides +0 -3
  943. package/styles/vendor/semantic/src/themes/fixed-width/modules/modal.variables +0 -37
  944. package/styles/vendor/semantic/src/themes/flat/collections/form.overrides +0 -28
  945. package/styles/vendor/semantic/src/themes/flat/collections/form.variables +0 -74
  946. package/styles/vendor/semantic/src/themes/flat/globals/site.overrides +0 -3
  947. package/styles/vendor/semantic/src/themes/flat/globals/site.variables +0 -107
  948. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons-local.ttf +0 -0
  949. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.svg +0 -200
  950. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.ttf +0 -0
  951. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.woff +0 -0
  952. package/styles/vendor/semantic/src/themes/github/collections/breadcrumb.variables +0 -11
  953. package/styles/vendor/semantic/src/themes/github/collections/form.overrides +0 -16
  954. package/styles/vendor/semantic/src/themes/github/collections/form.variables +0 -40
  955. package/styles/vendor/semantic/src/themes/github/collections/grid.variables +0 -2
  956. package/styles/vendor/semantic/src/themes/github/collections/menu.overrides +0 -7
  957. package/styles/vendor/semantic/src/themes/github/collections/menu.variables +0 -61
  958. package/styles/vendor/semantic/src/themes/github/collections/message.overrides +0 -11
  959. package/styles/vendor/semantic/src/themes/github/collections/message.variables +0 -29
  960. package/styles/vendor/semantic/src/themes/github/collections/table.variables +0 -8
  961. package/styles/vendor/semantic/src/themes/github/elements/button.overrides +0 -4
  962. package/styles/vendor/semantic/src/themes/github/elements/button.variables +0 -77
  963. package/styles/vendor/semantic/src/themes/github/elements/header.variables +0 -9
  964. package/styles/vendor/semantic/src/themes/github/elements/icon.overrides +0 -208
  965. package/styles/vendor/semantic/src/themes/github/elements/icon.variables +0 -13
  966. package/styles/vendor/semantic/src/themes/github/elements/image.variables +0 -5
  967. package/styles/vendor/semantic/src/themes/github/elements/input.overrides +0 -32
  968. package/styles/vendor/semantic/src/themes/github/elements/input.variables +0 -16
  969. package/styles/vendor/semantic/src/themes/github/elements/label.overrides +0 -9
  970. package/styles/vendor/semantic/src/themes/github/elements/label.variables +0 -4
  971. package/styles/vendor/semantic/src/themes/github/elements/segment.overrides +0 -3
  972. package/styles/vendor/semantic/src/themes/github/elements/segment.variables +0 -40
  973. package/styles/vendor/semantic/src/themes/github/elements/step.overrides +0 -26
  974. package/styles/vendor/semantic/src/themes/github/elements/step.variables +0 -26
  975. package/styles/vendor/semantic/src/themes/github/globals/site.variables +0 -47
  976. package/styles/vendor/semantic/src/themes/github/modules/dropdown.overrides +0 -53
  977. package/styles/vendor/semantic/src/themes/github/modules/dropdown.variables +0 -35
  978. package/styles/vendor/semantic/src/themes/github/modules/popup.variables +0 -12
  979. package/styles/vendor/semantic/src/themes/gmail/collections/message.overrides +0 -0
  980. package/styles/vendor/semantic/src/themes/gmail/collections/message.variables +0 -15
  981. package/styles/vendor/semantic/src/themes/instagram/views/card.overrides +0 -12
  982. package/styles/vendor/semantic/src/themes/instagram/views/card.variables +0 -23
  983. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.eot +0 -0
  984. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.svg +0 -2373
  985. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.ttf +0 -0
  986. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.woff +0 -0
  987. package/styles/vendor/semantic/src/themes/material/collections/menu.overrides +0 -1
  988. package/styles/vendor/semantic/src/themes/material/collections/menu.variables +0 -10
  989. package/styles/vendor/semantic/src/themes/material/elements/button.overrides +0 -15
  990. package/styles/vendor/semantic/src/themes/material/elements/button.variables +0 -97
  991. package/styles/vendor/semantic/src/themes/material/elements/header.overrides +0 -15
  992. package/styles/vendor/semantic/src/themes/material/elements/header.variables +0 -21
  993. package/styles/vendor/semantic/src/themes/material/elements/icon.overrides +0 -934
  994. package/styles/vendor/semantic/src/themes/material/elements/icon.variables +0 -11
  995. package/styles/vendor/semantic/src/themes/material/globals/site.overrides +0 -0
  996. package/styles/vendor/semantic/src/themes/material/globals/site.variables +0 -128
  997. package/styles/vendor/semantic/src/themes/material/modules/dropdown.overrides +0 -5
  998. package/styles/vendor/semantic/src/themes/material/modules/dropdown.variables +0 -20
  999. package/styles/vendor/semantic/src/themes/material/modules/modal.overrides +0 -6
  1000. package/styles/vendor/semantic/src/themes/material/modules/modal.variables +0 -15
  1001. package/styles/vendor/semantic/src/themes/pulsar/elements/loader.overrides +0 -70
  1002. package/styles/vendor/semantic/src/themes/pulsar/elements/loader.variables +0 -7
  1003. package/styles/vendor/semantic/src/themes/raised/elements/button.overrides +0 -3
  1004. package/styles/vendor/semantic/src/themes/raised/elements/button.variables +0 -27
  1005. package/styles/vendor/semantic/src/themes/resetcss/globals/reset.overrides +0 -52
  1006. package/styles/vendor/semantic/src/themes/resetcss/globals/reset.variables +0 -3
  1007. package/styles/vendor/semantic/src/themes/round/elements/button.overrides +0 -0
  1008. package/styles/vendor/semantic/src/themes/round/elements/button.variables +0 -138
  1009. package/styles/vendor/semantic/src/themes/rtl/globals/site.overrides +0 -6
  1010. package/styles/vendor/semantic/src/themes/rtl/globals/site.variables +0 -14
  1011. package/styles/vendor/semantic/src/themes/striped/modules/progress.overrides +0 -29
  1012. package/styles/vendor/semantic/src/themes/striped/modules/progress.variables +0 -3
  1013. package/styles/vendor/semantic/src/themes/timeline/views/feed.overrides +0 -27
  1014. package/styles/vendor/semantic/src/themes/timeline/views/feed.variables +0 -36
  1015. package/styles/vendor/semantic/src/themes/twitter/elements/button.overrides +0 -13
  1016. package/styles/vendor/semantic/src/themes/twitter/elements/button.variables +0 -44
  1017. package/styles/vendor/semantic/tasks/README.md +0 -17
  1018. package/styles/vendor/semantic/tasks/admin/components/create.js +0 -332
  1019. package/styles/vendor/semantic/tasks/admin/components/init.js +0 -170
  1020. package/styles/vendor/semantic/tasks/admin/components/update.js +0 -184
  1021. package/styles/vendor/semantic/tasks/admin/distributions/create.js +0 -219
  1022. package/styles/vendor/semantic/tasks/admin/distributions/init.js +0 -169
  1023. package/styles/vendor/semantic/tasks/admin/distributions/update.js +0 -179
  1024. package/styles/vendor/semantic/tasks/admin/publish.js +0 -25
  1025. package/styles/vendor/semantic/tasks/admin/register.js +0 -55
  1026. package/styles/vendor/semantic/tasks/admin/release.js +0 -29
  1027. package/styles/vendor/semantic/tasks/build/assets.js +0 -35
  1028. package/styles/vendor/semantic/tasks/build/css.js +0 -113
  1029. package/styles/vendor/semantic/tasks/build/javascript.js +0 -77
  1030. package/styles/vendor/semantic/tasks/build.js +0 -50
  1031. package/styles/vendor/semantic/tasks/check-install.js +0 -28
  1032. package/styles/vendor/semantic/tasks/clean.js +0 -14
  1033. package/styles/vendor/semantic/tasks/collections/README.md +0 -16
  1034. package/styles/vendor/semantic/tasks/collections/admin.js +0 -49
  1035. package/styles/vendor/semantic/tasks/collections/build.js +0 -19
  1036. package/styles/vendor/semantic/tasks/collections/internal.js +0 -227
  1037. package/styles/vendor/semantic/tasks/collections/rtl.js +0 -16
  1038. package/styles/vendor/semantic/tasks/config/admin/github.js +0 -37
  1039. package/styles/vendor/semantic/tasks/config/admin/oauth.example.js +0 -11
  1040. package/styles/vendor/semantic/tasks/config/admin/release.js +0 -111
  1041. package/styles/vendor/semantic/tasks/config/admin/templates/README.md +0 -32
  1042. package/styles/vendor/semantic/tasks/config/admin/templates/bower.json +0 -29
  1043. package/styles/vendor/semantic/tasks/config/admin/templates/component-package.js +0 -14
  1044. package/styles/vendor/semantic/tasks/config/admin/templates/composer.json +0 -20
  1045. package/styles/vendor/semantic/tasks/config/admin/templates/css-package.js +0 -34
  1046. package/styles/vendor/semantic/tasks/config/admin/templates/less-package.js +0 -21
  1047. package/styles/vendor/semantic/tasks/config/admin/templates/package.json +0 -17
  1048. package/styles/vendor/semantic/tasks/config/defaults.js +0 -117
  1049. package/styles/vendor/semantic/tasks/config/docs.js +0 -32
  1050. package/styles/vendor/semantic/tasks/config/npm/gulpfile.js +0 -72
  1051. package/styles/vendor/semantic/tasks/config/project/config.js +0 -141
  1052. package/styles/vendor/semantic/tasks/config/project/install.js +0 -763
  1053. package/styles/vendor/semantic/tasks/config/project/release.js +0 -65
  1054. package/styles/vendor/semantic/tasks/config/tasks.js +0 -166
  1055. package/styles/vendor/semantic/tasks/config/user.js +0 -58
  1056. package/styles/vendor/semantic/tasks/docs/build.js +0 -189
  1057. package/styles/vendor/semantic/tasks/docs/metadata.js +0 -138
  1058. package/styles/vendor/semantic/tasks/docs/serve.js +0 -255
  1059. package/styles/vendor/semantic/tasks/install.js +0 -459
  1060. package/styles/vendor/semantic/tasks/rtl/build.js +0 -132
  1061. package/styles/vendor/semantic/tasks/rtl/watch.js +0 -221
  1062. package/styles/vendor/semantic/tasks/version.js +0 -11
  1063. package/styles/vendor/semantic/tasks/watch.js +0 -231
  1064. package/tests/i18n.test.js +0 -32
  1065. package/tests/store.test.js +0 -26
  1066. package/translations/en.json +0 -383
  1067. package/translations/zh.json +0 -383
  1068. package/utils/ApiCaller.js +0 -101
  1069. package/utils/Formatter.js +0 -77
  1070. package/utils/asyncInjectors.js +0 -78
  1071. package/utils/authWrapper.js +0 -38
  1072. package/utils/common.js +0 -23
  1073. package/utils/jed.js +0 -1497
  1074. package/utils/messageUtils.js +0 -11
  1075. package/utils/smsCharCount.js +0 -351
  1076. package/utils/smsCharCountV2.js +0 -143
  1077. package/utils/tests/asyncInjectors.test.js +0 -173
@@ -1,1582 +0,0 @@
1
- /*
2
- *
3
- * Templates
4
- *
5
- */
6
-
7
- import React, { PropTypes } from 'react';
8
- import { connect } from 'react-redux';
9
- import Helmet from 'react-helmet';
10
- import { FormattedMessage, injectIntl, intlShape } from 'react-intl';
11
- import { createStructuredSelector } from 'reselect';
12
- import moment from "moment";
13
- import _ from 'lodash';
14
- import { bindActionCreators } from 'redux';
15
- import { Row, Select, Spin, Dropdown, Col, Breadcrumb, Menu, Modal} from 'antd';
16
- import { CapInput, CapButton, CapPopover, CapSelect } from '@capillarytech/cap-react-ui-library/';
17
- import { makeSelectTemplates, makeSelectTemplatesResponse } from './selectors';
18
- import { makeSelectCreate as makeSelectCreateSms} from '../Sms/Create/selectors';
19
- import { makeSelectCreate as makeSelectCreateMobilePush } from '../MobilePush/Create/selectors';
20
- import { makeSelectEbill as makeSelectCreateEbill } from '../Ebill/selectors';
21
- import { makeSelectEmail as makeSelectCreateEmail } from '../Email/selectors';
22
- import { makeSelectEdit } from '../Sms/Edit/selectors';
23
- import { makeSelectLine } from '../Line/Create/selectors';
24
- import { UserIsAuthenticated } from '../../utils/authWrapper';
25
- import messages from './messages';
26
- import {checkUnicode} from '../../utils/smsCharCountV2';
27
- import * as actions from './actions';
28
- import * as smsActions from '../Sms/Create/actions';
29
- import * as mobilepushActions from '../MobilePush/Create/actions';
30
- import * as smsEditActions from '../Sms/Edit/actions';
31
- import * as ebillActions from '../Ebill/actions';
32
- import * as emailActions from '../Email/actions';
33
- import * as lineActions from '../Line/Create/actions';
34
- import CardGrid from '../../components/CardGrid';
35
- import PreviewSideBar from '../../components/PreviewSideBar';
36
- import './_templates.scss';
37
- import * as globalActions from '../../containers/Cap/actions';
38
- import { makeSelectAuthenticated } from '../Cap/selectors';
39
- import {getMessageObject} from '../../utils/messageUtils';
40
- import * as commonUtil from '../../utils/common';
41
- import SlideBox from '../../components/SlideBox';
42
- import Pagination from '../../components/Pagination';
43
- import EmailPreview from '../../components/EmailPreview';
44
- const MenuItem = Menu.Item;
45
- const Option = Select.Option;
46
- const BreadcrumbItem = Breadcrumb.Item;
47
-
48
- export class Templates extends React.Component { // eslint-disable-line react/prefer-stateless-function
49
- constructor(props) {
50
- super(props);
51
- this.state = {
52
- channel: '',
53
- hoveredItem: '',
54
- clickedItem: '',
55
- previewOpen: false,
56
- previewTemplate: {},
57
- searchText: '',
58
- sortBy: 'Most Recent',
59
- selectedAccount: '',
60
- page: 1,
61
- perPageLimit: 25,
62
- templatesCount: 0,
63
- showEdmEmailTemplates: false,
64
- showModal: false,
65
- actionTemplate: {},
66
- showHtmlPreview: false,
67
- device: 'desktop',
68
- searchedTemplates: false,
69
- defaultAccount: true,
70
- modeType: null,
71
- };
72
- this.handleOnHoverItem = this.handleOnHoverItem.bind(this);
73
- this.handleOnItemClick = this.handleOnItemClick.bind(this);
74
- this.handleEditClick = this.handleEditClick.bind(this);
75
- this.handlePreviewClick = this.handlePreviewClick.bind(this);
76
- this.createTemplate = this.createTemplate.bind(this);
77
- this.duplicateTemplate = this.duplicateTemplate.bind(this);
78
- this.deleteTemplate = this.deleteTemplate.bind(this);
79
- this.togglePreview = this.togglePreview.bind(this);
80
- this.searchTemplate = this.searchTemplate.bind(this);
81
- this.handleSortBy = this.handleSortBy.bind(this);
82
- this.getCurrentWindow = this.getCurrentWindow.bind(this);
83
- this.handleFrameTasks = this.handleFrameTasks.bind(this);
84
- this.startTemplateCreation = this.startTemplateCreation.bind(this);
85
- this.startLoading = this.startLoading.bind(this);
86
- this.mapWechatTemplate = this.mapWechatTemplate.bind(this);
87
- this.prepareWeChatPreviewData = this.prepareWeChatPreviewData.bind(this);
88
- this.onAccountSelect = this.onAccountSelect.bind(this);
89
- this.prepareMobilePushPreviewData = this.prepareMobilePushPreviewData.bind(this);
90
- }
91
-
92
- componentWillMount() {
93
- if (this.state.channel === '') {
94
- let channel = '';
95
- console.log('templates props', this.props);
96
- switch (this.props.route.name.toLowerCase()) {
97
- case "sms":
98
- channel = 'Sms';
99
- break;
100
- case "mobilepush":
101
- channel = "MobilePush";
102
- this.props.actions.getWeCrmAccounts(channel);
103
- break;
104
- case "wechat":
105
- channel = 'wechat';
106
- this.props.actions.getWeCrmAccounts();
107
- break;
108
- case "email":
109
- channel = 'Email';
110
- break;
111
- case "ebill":
112
- channel = 'Ebill';
113
- break;
114
- case "line":
115
- channel = "Line";
116
- break;
117
- default:
118
- channel = '';
119
- }
120
- this.setState({ channel });
121
- this.props.actions.getUserList();
122
- }
123
- }
124
-
125
- componentDidMount() {
126
- if (this.props.location.query.type === 'embedded' && this.isEnabledInLibraryModule("setLocale")) {
127
- this.setLocale();
128
- }
129
- if (this.state.channel.toLowerCase() === 'line' || this.state.channel.toLowerCase() === 'sms' || this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill' || ((this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === 'mobilepush') && !_.isEmpty(this.props.Templates.selectedWeChatAccount))) {
130
- const queryParams = {
131
- // name: this.state.searchText,
132
- // sortBy: this.state.sortBy,
133
- };
134
- if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
135
- queryParams.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
136
- queryParams.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
137
- }
138
- if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
139
- queryParams.accountId = this.props.Templates.selectedWeChatAccount.id;
140
- }
141
- queryParams.page = this.state.page;
142
- queryParams.perPage = this.state.perPageLimit;
143
- const channel = this.state.channel;
144
- this.props.actions.getAllTemplates(channel, queryParams);
145
- //this.getAllTemplates({});
146
- // if (this.state.channel.toLowerCase() === "email") {
147
- // this.props.actions.getEdmDefaultTemplates();
148
- // }
149
- }
150
- console.log('added listener templates,', this.props);
151
- window.addEventListener("message", this.handleFrameTasks);
152
- }
153
- componentWillReceiveProps(nextProps) {
154
- console.log('nextProps templates', nextProps, this.props.Create);
155
- const params = {
156
- name: this.state.searchText,
157
- sortBy: this.state.sortBy,
158
- };
159
- if (!_.isEmpty(this.props.TemplatesList) && !this.props.Templates.getAllTemplatesInProgress && this.props.TemplatesList[0] && this.props.TemplatesList[0].totalCount && this.state.templatesCount === 0) {
160
- this.setState({templatesCount: this.props.TemplatesList[0].totalCount});
161
- }
162
- if (!_.isEqual(nextProps.route.name, this.props.route.name)) {
163
- let channel = '';
164
- this.props.actions.resetTemplate();
165
- this.props.actions.resetAccount();
166
- if (nextProps.route.name.toLowerCase() === 'sms') {
167
- channel = 'Sms';
168
- } else if (nextProps.route.name.toLowerCase() === 'wechat') {
169
- this.setState({defaultAccount: true});
170
- channel = 'wechat';
171
- nextProps.actions.getWeCrmAccounts();
172
- } else if (nextProps.route.name.toLowerCase() === 'email') {
173
- channel = 'Email';
174
- // this.props.actions.getEdmDefaultTemplates();
175
- } else if (nextProps.route.name.toLowerCase() === "mobilepush") {
176
- this.setState({defaultAccount: true});
177
- channel = "mobilepush";
178
- nextProps.actions.getWeCrmAccounts(channel);
179
- } else if (nextProps.route.name.toLowerCase() === 'ebill') {
180
- channel = 'Ebill';
181
- } else if (nextProps.route.name.toLowerCase() === 'line') {
182
- channel = 'Line';
183
- }
184
- // console.log('Next Props details ', nextProps.route.name, channel);
185
- this.setState({ channel }, () => {
186
- if (this.state.channel.toLowerCase() === 'line' || this.state.channel.toLowerCase() === 'sms' || this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill' || (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(nextProps.Templates.selectedWeChatAccount))) {
187
- if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
188
- params.wecrmId = nextProps.Templates.selectedWeChatAccount.configs.wecrm_app_id;
189
- params.wecrmToken = nextProps.Templates.selectedWeChatAccount.configs.wecrm_token;
190
- }
191
- if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
192
- params.accountId = nextProps.Templates.selectedWeChatAccount.id;
193
- }
194
- this.getAllTemplates({params}, true);
195
- }
196
- });
197
- }
198
- if (this.state.channel.toLowerCase() === 'wechat' && nextProps.Templates.selectedWeChatAccount) {
199
- params.wecrmId = nextProps.Templates.selectedWeChatAccount.configs.wecrm_app_id;
200
- params.wecrmToken = nextProps.Templates.selectedWeChatAccount.configs.wecrm_token;
201
- }
202
- if (this.state.channel.toLowerCase() === "mobilepush" && nextProps.Templates.selectedWeChatAccount) {
203
- params.accountId = nextProps.Templates.selectedWeChatAccount.id;
204
- }
205
- if ((this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === 'mobilepush') && _.isEmpty(nextProps.Templates.selectedWeChatAccount) && (this.props.location.query.type === 'embedded') && !this.isEnabledInLibraryModule("showAccountSelection")) {
206
- let selectedAccount = '';
207
- if (_.isEmpty(nextProps.Templates.weCrmAccounts)) {
208
- return;
209
- }
210
- if (this.state.channel.toLowerCase() === 'wechat') {
211
- _.forEach(nextProps.Templates.weCrmAccounts, (account) => {
212
- if (account.configs && account.configs.is_wecrm_enabled) {
213
- if (nextProps.location.query.source_account_id && account.sourceAccountIdentifier === nextProps.location.query.source_account_id) {
214
- selectedAccount = account;
215
- }
216
- }
217
- });
218
- this.setState({selectedAccount: selectedAccount.name}, () => {
219
- params.wecrmId = selectedAccount.configs.wecrm_app_id;
220
- params.wecrmToken = selectedAccount.configs.wecrm_token;
221
- nextProps.actions.setWeChatAccount(selectedAccount);
222
- this.getAllTemplates({params});
223
- });
224
- } else if (this.state.channel.toLowerCase() === 'mobilepush' && nextProps.location.query.account_id) {
225
- _.forEach(nextProps.Templates.weCrmAccounts, (account) => {
226
- if (nextProps.location.query.account_id && account.id === Number(nextProps.location.query.account_id)) {
227
- selectedAccount = account;
228
- }
229
- });
230
- this.props.actions.setWeChatAccount(selectedAccount);
231
- params.accountId = Number(nextProps.location.query.account_id);
232
- this.getAllTemplates({params});
233
- }
234
- }
235
- if (this.state.channel.toLowerCase() === "sms" && nextProps.Create && nextProps.Create.response && nextProps.Create.response.templateId && nextProps.Create.response.templateId !== '') {
236
- const message = getMessageObject('success', `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`, true);
237
- this.props.globalActions.addMessageToQueue(message);
238
- this.getAllTemplates({params, resetPage: true});
239
- this.props.smsActions.clearCreateResponse();
240
- }
241
- if (this.state.channel.toLowerCase() === "mobilepush" && nextProps.CreateMobilePush && nextProps.CreateMobilePush.response && nextProps.CreateMobilePush.response.templateId && nextProps.CreateMobilePush.response.templateId !== '') {
242
- if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
243
- params.accountId = nextProps.Templates.selectedWeChatAccount.id;
244
- }
245
- const message = getMessageObject('success', `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`, true);
246
- this.props.globalActions.addMessageToQueue(message);
247
- this.getAllTemplates({params});
248
- this.props.mobilepushActions.clearCreateResponse();
249
- }
250
-
251
- if (this.state.channel.toLowerCase() === "ebill" && nextProps.CreateEbill && nextProps.CreateEbill.createResponse && nextProps.CreateEbill.createResponse.templateId && nextProps.CreateEbill.createResponse.templateId !== '') {
252
- const message = getMessageObject('success', `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`, true);
253
- this.props.globalActions.addMessageToQueue(message);
254
- this.getAllTemplates({params, resetPage: true});
255
- this.props.ebillActions.clearStoreValues();
256
- }
257
-
258
- if (this.state.channel.toLowerCase() === "email" && nextProps.EmailCreate && nextProps.EmailCreate.createResponse && nextProps.EmailCreate.createResponse.templateId && nextProps.EmailCreate.createResponse.templateId !== '') {
259
- const message = getMessageObject('success', `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`, true);
260
- this.props.globalActions.addMessageToQueue(message);
261
- this.getAllTemplates({params, resetPage: true});
262
- this.props.emailActions.clearStoreValues();
263
- }
264
-
265
- if (this.state.channel.toLowerCase() === "line" && nextProps.Line && nextProps.Line.response && nextProps.Line.response.templateId && nextProps.Line.response.templateId !== '') {
266
- const message = getMessageObject('success', `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`, true);
267
- this.props.globalActions.addMessageToQueue(message);
268
- this.getAllTemplates({params, resetPage: true});
269
- this.props.lineActions.clearCreateResponse();
270
- }
271
-
272
- if (nextProps.Create && this.props.Create && nextProps.Create.createTemplateError && !_.isEqual(nextProps.Create.createTemplateError, this.props.Create.createTemplateError)) {
273
- const message = getMessageObject('error', this.props.intl.formatMessage(messages.somethingWentWrong), true);
274
- this.props.globalActions.addMessageToQueue(message);
275
- if (this.state.channel.toLowerCase() === "sms") {
276
- this.props.smsActions.clearCreateResponse();
277
- } else if (this.state.channel.toLowerCase() === "mobilepush") {
278
- this.props.mobilepushActions.clearCreateResponse();
279
- } else if (this.state.channel.toLowerCase() === "ebill") {
280
- this.props.ebillActions.clearCreateResponse();
281
- } else if (this.state.channel.toLowerCase() === "line") {
282
- this.props.lineActions.clearCreateResponse();
283
- }
284
- }
285
-
286
- if (nextProps.Edit && nextProps.Edit.editResponse && nextProps.Edit.editResponse.templateId && nextProps.Edit.editResponse.templateId !== '') {
287
- this.props.smsEditActions.clearEditResponse();
288
- }
289
- if (!nextProps.Templates.deleteTemplateInProgress && !_.isEqual(nextProps.Templates.deleteTemplateInProgress, this.props.Templates.deleteTemplateInProgress) &&
290
- nextProps.Templates.deleteResponse) {
291
- console.log("delete");
292
- const message = getMessageObject('success', `${this.state.channel.toUpperCase()} ${this.props.intl.formatMessage(messages['Template deleted successfully'])}`, true);
293
- nextProps.globalActions.addMessageToQueue(message);
294
- this.getAllTemplates({params, resetPage: true});
295
- }
296
-
297
- if (!nextProps.Templates.sendingFile && !_.isEqual(this.props.Templates.sendingFile, nextProps.Templates.sendingFile) && !nextProps.Templates.errorSendingFile) {
298
- console.log('Got html Content ', nextProps.Templates.selectedEmailLayout);
299
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
300
- const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
301
- const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
302
- const type = this.props.location.query.type;
303
- if (this.isEnabledInLibraryModule("callCreateFromProps")) {
304
- this.props.createNew();
305
- return;
306
- }
307
- this.props.router.push({
308
- pathname: `/${nextProps.route.name.toLowerCase()}/create`,
309
- query: type === 'embedded' ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module},
310
- });
311
- }
312
-
313
- if (!nextProps.Templates.sendingFile && !_.isEqual(this.props.Templates.sendingFile, nextProps.Templates.sendingFile) && nextProps.Templates.errorSendingFile) {
314
- let errorMessage = this.props.intl.formatMessage(messages.zipUploadFailed);
315
- if (nextProps.Templates.errorMessage && nextProps.Templates.errorMessage !== "") {
316
- errorMessage = nextProps.Templates.errorMessage;
317
- }
318
- const message = getMessageObject('error', errorMessage, true);
319
- nextProps.globalActions.addMessageToQueue(message);
320
- }
321
-
322
- if (!_.isEmpty(nextProps.Templates.templateDetails) && !_.isEqual(nextProps.Templates.templateDetails, this.props.Templates.templateDetails)) {
323
- this.setState({previewTemplate: nextProps.Templates.templateDetails});
324
- }
325
-
326
- if (nextProps.Templates.weCrmAccounts !== undefined && nextProps.Templates.weCrmAccounts.length === 1 && this.state.defaultAccount && (['wechat', 'mobilepush'].indexOf(this.state.channel.toLowerCase()) > -1)) {
327
- const paramsDefault = {
328
- name: this.state.searchText,
329
- sortBy: this.state.sortBy,
330
- };
331
- if (this.state.channel.toLowerCase() === 'wechat') {
332
- paramsDefault.wecrmId = nextProps.Templates.weCrmAccounts[0].configs.wecrm_app_id;
333
- paramsDefault.wecrmToken = nextProps.Templates.weCrmAccounts[0].configs.wecrm_token;
334
- nextProps.actions.setWeChatAccount(nextProps.Templates.weCrmAccounts[0]);
335
- } else if (this.state.channel.toLowerCase() === 'mobilepush') {
336
- nextProps.actions.setWeChatAccount(nextProps.Templates.weCrmAccounts[0]);
337
- paramsDefault.accountId = nextProps.Templates.weCrmAccounts[0].id;
338
- }
339
- this.setState({defaultAccount: false});
340
- this.getAllTemplates({params: paramsDefault}, true);
341
- }
342
- }
343
-
344
- componentWillUnmount() {
345
- console.log('removed listener templates');
346
- window.removeEventListener("message", this.handleFrameTasks);
347
- this.props.actions.resetTemplateStoreData();
348
- // this.setState({defaultAccount: false});
349
- }
350
-
351
- onAccountSelect(value, option) {
352
- console.log('Selected Account ', value, option);
353
- this.setState({selectedAccount: value}, () => {
354
- const params = {
355
- name: this.state.searchText,
356
- sortBy: this.state.sortBy,
357
- };
358
- if (this.state.channel.toLowerCase() === 'wechat') {
359
- params.wecrmId = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_app_id;
360
- params.wecrmToken = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_token;
361
- this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
362
- } else if (this.state.channel.toLowerCase() === 'mobilepush') {
363
- this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
364
- params.accountId = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].id;
365
- }
366
- this.getAllTemplates({params, resetPage: true});
367
- });
368
- }
369
-
370
- setLocale = () => {
371
- const user = localStorage.getItem('user');
372
- let locale = 'en';
373
- if (user) {
374
- locale = JSON.parse(user).lang;
375
- }
376
- locale = this.getMappedLocale(locale);
377
- //locale = 'zh';
378
- console.log('Setting final locale as', locale);
379
- moment.locale(locale);
380
- };
381
-
382
- getMappedLocale = (locale) => {
383
- const map = {
384
- 'en': 'en',
385
- 'zh-cn': 'zh',
386
- };
387
- return map[locale];
388
- };
389
-
390
- getAllTemplates = ({params, getNextPage, resetPage}, resetTemplates) => {
391
- let queryParams = params;
392
- let page = this.state.page;
393
-
394
- console.log('Get all templates ', this.props.Templates.getAllTemplatesInProgress, resetPage, page, this.state.templatesCount, this.state.perPageLimit, getNextPage);
395
- if (resetTemplates) {
396
- queryParams.name = this.state.searchText;
397
- queryParams.sortBy = this.state.sortBy;
398
- queryParams.page = this.state.page;
399
- queryParams.perPage = this.state.perPageLimit;
400
- const channel = this.state.channel;
401
- this.props.actions.getAllTemplates(channel, queryParams);
402
- } else if ((resetPage || (page === 1 && this.state.templatesCount === 0) || page <= (this.state.templatesCount / this.state.perPageLimit))) {
403
- if (getNextPage) {
404
- page += 1;
405
- }
406
- let templatesCount = this.state.templatesCount;
407
- if (resetPage) {
408
- page = 1;
409
- templatesCount = 0;
410
- }
411
- if (!params || _.isEmpty(params)) {
412
- queryParams = {
413
- name: this.state.searchText,
414
- sortBy: this.state.sortBy,
415
- };
416
- if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
417
- queryParams.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
418
- queryParams.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
419
- }
420
- if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
421
- queryParams.accountId = this.props.Templates.selectedWeChatAccount.id;
422
- if (this.state.mode) {
423
- queryParams.mode = this.state.mode.toLowerCase();
424
- }
425
- }
426
- }
427
- this.setState({page, templatesCount}, () => {
428
- queryParams.page = page;
429
- queryParams.perPage = this.state.perPageLimit;
430
- const channel = this.state.channel;
431
- this.props.actions.getAllTemplates(channel, queryParams);
432
- });
433
- }
434
- };
435
-
436
- getCurrentWindow(e) {
437
- console.log('in sms templates', e);
438
- const response = {
439
- action: e.action,
440
- value: 'templates',
441
- direction: e.value,
442
- };
443
- parent.postMessage(JSON.stringify(response), '*');
444
- }
445
-
446
- skipTemplateSelection = (e) => {
447
- console.log("vvv", e);
448
- const type = this.props.location.query.type;
449
- const module = (type === 'embedded') ? this.props.location.query.module : 'default';
450
- if (this.state.channel.toLowerCase() === 'email') {
451
- const isLanguageSupport = this.props.location.query.isLanguageSupport || false;
452
- this.props.router.push({
453
- pathname: `/email/view`,
454
- query: type === 'embedded' ? {type: 'embedded', module, isLanguageSupport} : {},
455
- });
456
- } else if (this.state.channel.toLowerCase() === 'sms') {
457
- this.props.router.push({
458
- pathname: `/sms/view`,
459
- query: type === 'embedded' ? {type: 'embedded', module} : {},
460
- });
461
- } else if (this.state.channel.toLowerCase() === 'mobilepush') {
462
- this.props.router.push({
463
- pathname: `/mobilepush/edit/${e.template_id}`,
464
- query: type === 'embedded' ? {type: 'embedded', module, account_id: e.account_id} : {},
465
- });
466
- } else if (this.state.channel.toLowerCase() === 'wechat') {
467
- this.props.router.push({
468
- pathname: `/wechat/edit/${e.template_id}`,
469
- query: type === 'embedded' ? {type: 'embedded', module, source_account_id: e.source_account_id} : {},
470
- });
471
- } else if (this.state.channel.toLowerCase() === 'line') {
472
- this.props.router.push({
473
- pathname: `/line/view/${e.msg_type}/`,
474
- query: type === 'embedded' ? {type: 'embedded', module, account_id: e.account_id } : {}
475
- });
476
- }
477
- this.setState({loading: true});
478
- }
479
-
480
- handleMenuAction = (item, key) => {
481
- console.log('Menu Clicked ', item.key, key);
482
- if (item.key.toLowerCase() === 'uploadfile') {
483
- document.getElementById('filename').click();
484
- console.log('Upload File');
485
- } else if (item.key.toLowerCase() === 'useeditor') {
486
- console.log('Use Editor');
487
- this.toggleEdmEmailTemplateSelection();
488
- }
489
- };
490
-
491
- handleBlankTemplateAction = (item, channel) => {
492
- const type = this.props.location.query.type;
493
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
494
- if (item === "uploadFile") {
495
- document.getElementById('filename').click();
496
- } else if (item === "editor") {
497
- this.toggleEdmEmailTemplateSelection();
498
- } else if (item === 'textTemplate') {
499
- this.props.router.push({
500
- pathname: `/${channel === 'line' ? 'line' : 'mobilepush'}/create/text`,
501
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
502
- });
503
- } else if (item === 'imageTemplate') {
504
- this.props.router.push({
505
- pathname: `/${channel === 'line' ? 'line' : 'mobilepush'}/create/image`,
506
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
507
- });
508
- }
509
- }
510
-
511
- handleFileUpload = (e, {files}) => {
512
- if (files.length === 0) {
513
- return;
514
- }
515
- const fileExtension = files[0].name.split('.').pop();
516
- const supportedZipFormats = ['zip'];
517
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
518
- const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
519
- const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
520
- console.log('File Params ', fileExtension);
521
- if (supportedZipFormats.indexOf(fileExtension.toLowerCase()) !== -1) {
522
- console.log('Zip Format got');
523
- this.props.actions.handleZipUpload(files[0]);
524
- document.getElementById("filename").value = "";
525
- } else if (fileExtension === 'html' || fileExtension === 'htm') {
526
- console.log('html Format got');
527
- const reader = new FileReader();
528
- reader.onload = () => {
529
- const text = reader.result;
530
- this.props.actions.handleHtmlUpload(text);
531
- document.getElementById("filename").value = "";
532
- const type = this.props.location.query.type;
533
- if (this.isEnabledInLibraryModule("callCreateFromProps")) {
534
- this.props.createNew();
535
- return;
536
- }
537
- this.props.router.push({
538
- pathname: `/${this.props.route.name.toLowerCase()}/create`,
539
- query: type === 'embedded' ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module},
540
- });
541
- };
542
- reader.readAsText(files[0]);
543
- } else {
544
- const message = getMessageObject('error', this.props.intl.formatMessage(messages.invalidUploadFileError), true);
545
- this.props.globalActions.addMessageToQueue(message);
546
- }
547
- };
548
-
549
- mapWechatTemplate() {
550
- // const index = _.findIndex(this.props.Templates.weCRMtemplates, {template_id: key});
551
- // console.log('Wechat menu clicked ', item, key, index);
552
- const type = this.props.location.query.type;
553
- this.props.router.push({
554
- pathname: `/wechat/create`,
555
- query: type === 'embedded' ? {type: 'embedded'} : {},
556
- });
557
- }
558
-
559
- prepareWeChatPreviewData(content, templateTags, tagData) {
560
- let formattedContent = _.cloneDeep(content);
561
- _.forEach(templateTags, (tag) => {
562
- if (tagData[tag].value !== undefined) {
563
- formattedContent = formattedContent.replace(`{{${tag}.DATA}}`, tagData[tag].value);
564
- }
565
- });
566
- return formattedContent;
567
- }
568
- prepareMobilePushPreviewData(content) {
569
- let result;
570
- if (content.ANDROID) {
571
- const data = content.ANDROID;
572
- const bodyTextStyle = { WebkitLineClamp: 12};
573
- if (data.expandableDetails && data.expandableDetails.ctas && ((data.expandableDetails.ctas[0] && data.expandableDetails.ctas[0].actionText) || (data.expandableDetails.ctas[1] && data.expandableDetails.ctas[1].actionText))) {
574
- bodyTextStyle.WebkitLineClamp = 10;
575
- }
576
- if (data.expandableDetails && data.expandableDetails.image) {
577
- bodyTextStyle.WebkitLineClamp = 3;
578
- }
579
- result = (
580
- <div className="android-push-message-Container">
581
- <div className="message-pop align-left">
582
- <div className="message-container">
583
- <div className="app-name">
584
- <span className="app-icon"></span> {this.props.Templates.selectedWeChatAccount && this.props.Templates.selectedWeChatAccount.name ? this.props.Templates.selectedWeChatAccount.name : "App name"}
585
- </div>
586
- <div className="title">
587
- {data.title}
588
- </div>
589
- <div className="body-text" style={bodyTextStyle} >
590
- {data.message}
591
- </div>
592
- {data.expandableDetails && data.expandableDetails.image && <div className="body-image">
593
- <img src={data.expandableDetails.image} alt={data.expandableDetails.image}/>
594
- </div>}
595
- {(data.expandableDetails && data.expandableDetails.ctas && ((data.expandableDetails.ctas[0] && data.expandableDetails.ctas[0].actionText) || (data.expandableDetails.ctas[1] && data.expandableDetails.ctas[1].actionText))) &&
596
- <div className="actions">
597
- {_.map(data.expandableDetails.ctas, (action) => !!action.actionText &&
598
- <span className="action">{action.actionText && action.actionText.toUpperCase()}</span>)}
599
- </div>
600
- }
601
- </div>
602
- </div>
603
- </div>);
604
- } else if (content.IOS) {
605
- const data = content.IOS;
606
- const bodyTextStyle = { WebkitLineClamp: 11};
607
- if (data.expandableDetails && data.expandableDetails.ctas && data.expandableDetails.ctas[0] && data.expandableDetails.ctas[0].actionText) {
608
- bodyTextStyle.WebkitLineClamp = 6;
609
- }
610
- if (data.expandableDetails && data.expandableDetails.image) {
611
- bodyTextStyle.WebkitLineClamp = 1;
612
- }
613
- const iosActions = [];
614
- if (data.expandableDetails.ctas && data.expandableDetails.ctas.length) {
615
- if (data.expandableDetails.ctas[0].actionLabel) {
616
- iosActions.push(<div className="actions">
617
- <span className="action">{data.expandableDetails.ctas[0].actionLabel.toUpperCase()}</span>
618
- </div>);
619
- }
620
- if (data.expandableDetails.ctas[0].actionLabel2) {
621
- iosActions.push(<div className="actions">
622
- <span className="action">{data.expandableDetails.ctas[0].actionLabel2.toUpperCase()}</span>
623
- </div>);
624
- }
625
- }
626
-
627
- result = (
628
- <div className="iphone-push-message-Container">
629
- <div className="message-pop align-left">
630
- <div className="message-container">
631
- <div className="app-name">
632
- <span className="app-icon"></span>{this.props.Templates.selectedWeChatAccount && this.props.Templates.selectedWeChatAccount.name ? this.props.Templates.selectedWeChatAccount.name : "App name"} <i className="material-icons">close</i>
633
- </div>
634
- {data.expandableDetails && data.expandableDetails.image && <div className={`body-image ${iosActions.length > 0 ? 'image-half' : ''}`}>
635
- <img src={data.expandableDetails.image} alt={data.image}/>
636
- </div>}
637
- <div className="title">
638
- {data.title}
639
- </div>
640
- <div className="body-text" style={bodyTextStyle}>
641
- {data.message}
642
- </div>
643
- {data.expandableDetails && data.expandableDetails.ctas && data.expandableDetails.ctas[0] && data.expandableDetails.ctas[0].actionText && iosActions}
644
- </div>
645
- </div>
646
- </div>);
647
- }
648
- return result;
649
- }
650
- startLoading(ifEdit) {
651
- console.log('startLoading', ifEdit);
652
- if (ifEdit) {
653
- this.setState({loading: true});
654
- }
655
- }
656
-
657
- startTemplateCreation(data) {
658
- console.log('startTemplateCreation');
659
- if (data.edit) {
660
- const ifUnicode = checkUnicode(data.content);
661
- console.log('smsDetails', ifUnicode, data.content);
662
- const content = data.content;
663
- const tempData = {
664
- 'sms-editor': content,
665
- 'unicode-validity': ifUnicode,
666
- 'base': true,
667
- };
668
- const formData = {};
669
- formData[0] = tempData;
670
- formData.base = tempData;
671
- this.setState({formData, loading: false});
672
- }
673
- }
674
-
675
- handleFrameTasks = (e) => {
676
- console.log('data listened to is 222', e.data, e);
677
- const type = e.data;
678
- if (typeof type === 'object') {
679
- console.log('received something', type);
680
- const action = type.action;
681
- switch (action) {
682
- case "startTemplateCreation":
683
- this.startTemplateCreation(type.value);
684
- break;
685
- case "startLoading":
686
- this.startLoading(type.edit);
687
- break;
688
- case "getCurrentWindow":
689
- this.getCurrentWindow(e.data);
690
- break;
691
- case "skipTemplateSelection":
692
- this.skipTemplateSelection(e.data);
693
- break;
694
- default:
695
- break;
696
- }
697
- }
698
- switch (type) {
699
- case "getFormData":
700
- this.getFormData(e);
701
- break;
702
- case "startTemplateCreation":
703
- console.log('Starting to create template');
704
- //this.getFormData(e);
705
- break;
706
- case "validateContent":
707
- console.log('validating Content');
708
- this.validateContent(e);
709
- break;
710
- default:
711
- break;
712
- }
713
- };
714
-
715
- createTemplate(ev) {
716
- const type = this.props.location.query.type;
717
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
718
- const channel = this.state.channel.toLowerCase();
719
- //const keyType = ev.key && ev.key.toLowerCase() !== undefined ? ev.state.toLowerCase() : '';
720
- if (this.isEnabledInLibraryModule("callCreateFromProps")) {
721
- this.props.createNew();
722
- } else if (ev.key && (ev.key.toLowerCase() === "text" || ev.key.toLowerCase() === "image")) {
723
- this.props.router.push({
724
- pathname: `/${channel === 'line' ? 'line' : 'mobilepush'}/create/${ev.key.toLowerCase()}`,
725
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
726
- });
727
- } else {
728
- this.props.router.push({
729
- pathname: `/${this.state.channel.toLowerCase()}/create`,
730
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
731
- });
732
- }
733
- }
734
-
735
- searchTemplate(data) {
736
- console.log('searching template', data);
737
- this.setState({searchText: data}, () => {
738
- const params = {
739
- name: this.state.searchText,
740
- sortBy: this.state.sortBy,
741
- };
742
- if (this.state.channel.toLowerCase() === 'wechat') {
743
- params.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
744
- params.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
745
- }
746
- if (this.state.channel.toLowerCase() === "mobilepush") {
747
- params.accountId = this.props.Templates.selectedWeChatAccount.id;
748
- }
749
- this.getAllTemplates({params, resetPage: true});
750
- });
751
- }
752
-
753
- handleSortBy(data) {
754
- this.setState({sortBy: data}, () => {
755
- const params = {
756
- name: this.state.searchText,
757
- sortBy: this.state.sortBy,
758
- };
759
- if (this.state.channel.toLowerCase() === 'wechat') {
760
- params.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
761
- params.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
762
- }
763
- if (this.state.channel.toLowerCase() === "mobilepush") {
764
- params.accountId = this.props.Templates.selectedWeChatAccount.id;
765
- }
766
- this.getAllTemplates({params, resetPage: true});
767
- });
768
- }
769
- handleType = (data) => {
770
- this.setState({mode: data}, () => {
771
- const params = {
772
- name: this.state.searchText,
773
- sortBy: this.state.sortBy,
774
- };
775
- if (this.state.channel.toLowerCase() === "mobilepush") {
776
- params.accountId = this.props.Templates.selectedWeChatAccount.id;
777
- }
778
- if ( (this.state.channel.toLowerCase() === 'mobilepush' || this.state.channel.toLowerCase() === 'line') && data.toLowerCase() !== "all") {
779
- params.mode = this.state.mode.toLowerCase();
780
- }
781
- this.getAllTemplates({params, resetPage: true});
782
- });
783
- };
784
- togglePreview() {
785
- if (this.state.channel.toLowerCase() === 'ebill' || this.state.channel.toLowerCase() === 'email') {
786
- this.toggleEmailPreview();
787
- } else {
788
- console.log('toggle Preview ', this.state.previewOpen);
789
- this.setState( (prevState) => ({
790
- previewOpen: !prevState.previewOpen}));
791
- }
792
- }
793
-
794
- toggleEdmEmailTemplateSelection = () => {
795
- console.log('toggle Selection ', this.state.showEdmEmailTemplates);
796
- this.setState( (prevState) => ({
797
- showEdmEmailTemplates: !prevState.showEdmEmailTemplates}), () => {
798
- this.props.actions.getEdmDefaultTemplates();
799
- });
800
- };
801
-
802
- deleteTemplate(template) {
803
- console.log('deleting template', template);
804
- this.props.actions.deleteTemplate(this.state.channel.toUpperCase(), template._id);
805
- this.setState({actionTemplate: {}});
806
- }
807
-
808
- duplicateTemplate(template) {
809
- console.log('dup template', template);
810
- const duplicateObj = _.cloneDeep(template);
811
- duplicateObj.name = `Copy of ${template.name} ${moment().format('MM-DD-YYYY hh:mma')}`;
812
- delete duplicateObj._id;
813
- if (this.state.channel.toLowerCase() === "sms") {
814
- this.props.smsActions.createTemplate(duplicateObj);
815
- } else if (this.state.channel.toLowerCase() === "mobilepush") {
816
- duplicateObj.definition.accountId = this.props.Templates.selectedWeChatAccount.id;
817
- this.props.mobilepushActions.createTemplate(duplicateObj);
818
- } else if (this.state.channel.toLowerCase() === "ebill") {
819
- this.props.ebillActions.createTemplate(duplicateObj);
820
- } else if (this.state.channel.toLowerCase() === "email") {
821
- this.props.emailActions.duplicateTemplate(template._id, "EMAIL");
822
- } else if (this.state.channel.toLowerCase() === "line"){
823
- this.props.lineActions.createTemplate(duplicateObj);
824
- }
825
- }
826
-
827
- handleOnHoverItem(isHovering, id) {
828
- console.log('parent handle hover', isHovering, id);
829
- if (isHovering) {
830
- this.setState({hoveredItem: id});
831
- } else {
832
- this.setState({hoveredItem: ''});
833
- }
834
- }
835
-
836
- handleOnItemClick(isClicked, id) {
837
- console.log('parent handle click', isClicked, id);
838
- this.setState({clickedItem: id});
839
- }
840
-
841
- handleEdmDefaultTemplateSelection = (isSelected, id) => {
842
- if (isSelected) {
843
- const data = _.find(this.props.Templates.cmsTemplates, {_id: id});
844
- const type = this.props.location.query.type;
845
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
846
- const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
847
- const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
848
- let getQuery = '';
849
- console.log('Selected EDM Data ', data);
850
- this.props.actions.setEdmTemplate(data);
851
- if (this.state.channel && this.state.channel.toLowerCase() === 'email') {
852
- getQuery = (type === 'embedded') ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module, isLanguageSupport, isEdmSupport};
853
- } else {
854
- getQuery = (type === 'embedded') ? {type: 'embedded', module} : {module};
855
- }
856
- if (this.isEnabledInLibraryModule("callCreateFromProps")) {
857
- this.props.createNew();
858
- return;
859
- }
860
- this.props.router.push({
861
- pathname: `/${this.state.channel.toLowerCase()}/create`,
862
- query: getQuery,
863
- });
864
- }
865
- };
866
-
867
- handleEditClick(e, id, modeType) {
868
- console.log('inside props****', this.props);
869
- if (modeType && modeType !== undefined) {
870
- this.setState({modeType});
871
- }
872
- const type = this.props.location.query.type;
873
- const module = this.props.location.query.module;
874
- const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : false;
875
- const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
876
- let getQuery = "";
877
- console.log('type**** ', type);
878
- e.stopPropagation();
879
- console.log('clicked', id);
880
- this.props.actions.resetTemplateData();
881
- let pathName = `/${this.state.channel === 'wechat' ? 'wechat' : 'sms'}/edit/${id}`;
882
- if (this.state.channel.toLowerCase() === 'mobilepush') {
883
- pathName = `/mobilepush/edit/${id}`;
884
- }
885
- if (this.state.channel.toLowerCase() === 'email') {
886
- pathName = `/email/edit/${id}`;
887
- }
888
- if (this.state.channel.toLowerCase() === 'email') {
889
- getQuery = type === 'embedded' ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module, isEdmSupport};
890
- } else {
891
- getQuery = type === 'embedded' ? {type: 'embedded', module, account_id: this.props.location.query.account_id} : {module};
892
- }
893
- if (this.state.channel.toLowerCase() === 'ebill') {
894
- pathName = `/ebill/edit/${id}`;
895
- }
896
- if (this.state.channel.toLowerCase() === 'line') {
897
- pathName = `/line/edit/${modeType}/${id}`;
898
- }
899
- if (this.isEnabledInLibraryModule("callSelectFromProps")) {
900
- this.props.onSelectTemplate(id);
901
- } else {
902
- if (this.state.channel.toLowerCase() === 'ebill') {
903
- pathName = `/ebill/edit/${id}`;
904
- }
905
- this.props.router.push({
906
- pathname: pathName,
907
- query: getQuery,
908
- });
909
- }
910
- }
911
-
912
- handlePreviewClick(template, modeType) {
913
- this.togglePreview();
914
- const templateInfo = _.cloneDeep(template);
915
- if (this.state.channel.toLowerCase() === 'line') {
916
- templateInfo.modeType = modeType;
917
- }
918
- templateInfo.updatedByName = commonUtil.getUserNameById(parseInt(template.updatedBy, 10), commonUtil.getMergedUserList(this.props.Templates.userList));
919
- if (this.state.channel === 'wechat') {
920
- templateInfo.content = this.prepareWeChatPreviewData(template.versions.base.content, template.versions.base.Tag, template.versions.base.data);
921
- } else if (this.state.channel.toLowerCase() === "mobilepush") {
922
- templateInfo.content = template.versions.base;
923
- templateInfo.appName = this.props.Templates.selectedWeChatAccount.name;
924
- } else if (this.state.channel.toLowerCase() === "email") {
925
- console.log('Test ', template);
926
- this.props.actions.getTemplateDetails(template._id);
927
- } else if (this.state.channel.toLowerCase() === 'ebill') {
928
- this.props.actions.getTemplateDetails(template._id);
929
- }
930
- if (this.state.channel.toLowerCase() !== 'ebill') {
931
- this.setState({previewTemplate: templateInfo});
932
- }
933
- }
934
-
935
- toggleDeleteTemplateModal = (template) => {
936
- this.setState({actionTemplate: template}, () => {
937
- this.setState({showModal: true});
938
- });
939
- }
940
-
941
- handleOk = () => {
942
- this.setState({showModal: false});
943
- this.deleteTemplate(this.state.actionTemplate);
944
- }
945
-
946
- handleCancel = () => {
947
- this.setState({showModal: false});
948
- }
949
-
950
- populateTemplatesList = (data, blankTemplateRequired, layoutSelection) => {
951
- if (!data) {
952
- return [];
953
- }
954
- const type = this.props.location.query.type;
955
- const items = [];
956
- const channel = this.state.channel.toLowerCase();
957
-
958
- if (type === 'embedded' && channel !== 'wechat' && blankTemplateRequired) {
959
- let content;
960
- if (channel === 'sms') {
961
- content = (<div className="sms-template-content" onClick={this.createTemplate}>
962
- <div style={{textAlign: 'center', lineHeight: '260px'}} className="sms-text">{this.props.intl.formatMessage(messages.blankTemplate)}</div>
963
- </div>);
964
- } else if (channel === 'email') {
965
- content = (<div className="sms-template-content">
966
- <div style={{textAlign: 'center', lineHeight: '260px'}} className="sms-text">
967
- <div>
968
- <button type="button" className="ant-btn cap-button edit-button ant-btn-ghost" onClick={() => this.handleBlankTemplateAction('uploadFile')}><span>Upload File</span></button>
969
- <button type="button" className="ant-btn cap-button preview-button ant-btn-danger" onClick={() => this.handleBlankTemplateAction('editor')}><span>Use Editor</span></button>
970
- </div>
971
- </div>
972
- </div>);
973
- } else if (channel === 'mobilepush' || channel === 'line') {
974
- content = (<div className="sms-template-content">
975
- <div style={{textAlign: 'center', lineHeight: '260px'}} className="sms-text">
976
- <div>
977
- <button
978
- type="button"
979
- className="ant-btn cap-button edit-button ant-btn-ghost"
980
- onClick={() => this.handleBlankTemplateAction('textTemplate', channel)}>
981
- <span>{this.props.intl.formatMessage(messages.textTemplate)}</span>
982
- </button>
983
- <button
984
- type="button"
985
- className="ant-btn cap-button preview-button ant-btn-danger"
986
- onClick={() => this.handleBlankTemplateAction('imageTemplate', channel)}>
987
- <span>{this.props.intl.formatMessage(messages.imageTemplate)}</span>
988
- </button>
989
- </div>
990
- </div>
991
- </div>);
992
- }
993
- items.push(
994
- {
995
- id: 'blankTemplate',
996
- content,
997
- }
998
- );
999
- } /*else if (type === 'embedded' && this.state.channel.toLowerCase() === "mobilepush") {
1000
- items.push({
1001
- id: 'blankTemplate',
1002
- content: <div className={this.state.clickedItem === 'blankTemplate' ? 'sms-text-blurred' : ''}>
1003
- <div>
1004
- <div
1005
- style={{textAlign: 'center', lineHeight: '260px'}}
1006
- className="sms-text">{this.props.intl.formatMessage(messages.blankTemplate)}</div>
1007
- </div>
1008
- {this.state.clickedItem === 'blankTemplate' && <CapButton
1009
- onClick={() => { this.createTemplate({key: 'text'}); }} key="text" className="edit-button" type="secondary">Text</CapButton>}
1010
- {this.state.clickedItem === 'blankTemplate' && <CapButton
1011
- onClick={() => { this.createTemplate({key: 'image'}); }} key="image" className="preview-button" type="secondary">image</CapButton>}
1012
- </div>,
1013
- });
1014
- }*/
1015
- data.map( (template) => {
1016
- // console.log("Templates ", template._id, " Data ", template);
1017
- const temp = {};
1018
- // console.log('template ', template);
1019
- const updateDateTime = (moment().format('DD-MM-YYYY') === moment(template.updatedAt).format('DD-MM-YYYY')) ? moment(template.updatedAt).format('hh:mma') : moment(template.updatedAt).format('DD MMM YYYY');
1020
- let content = '';
1021
- temp.id = template._id;
1022
- if (this.state.channel === 'wechat') {
1023
- content = this.prepareWeChatPreviewData(template.versions.base.content, template.versions.base.Tag, template.versions.base.data);
1024
- temp.content = (
1025
- <div
1026
- className="sms-template-content">
1027
- <div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>
1028
- {content || ''}
1029
- </div>
1030
- {template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
1031
- {template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1032
- </div>);
1033
- } else if (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill') {
1034
- // console.log('Data Prepare');
1035
- console.log('Data Prepare');
1036
- const imgSrc = template && template.versions && template.versions.base ? template.versions.base.preview_http_url : '';
1037
- const ifPreviewGenerated = template && template.versions && template.versions.base ? template.versions.base.isPreviewGenerated : 0;
1038
- content = <img src={imgSrc || ''} alt={this.props.intl.formatMessage(messages.previewGenerateText)} width="100%" height="100%"/>;
1039
- console.log('qwerty template preview', imgSrc, template, ifPreviewGenerated, content);
1040
- temp.content = (
1041
- <div
1042
- className="sms-template-content">
1043
- <div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>
1044
- {content}
1045
- </div>
1046
- {!layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
1047
- {layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handleEdmDefaultTemplateSelection(true, template._id)} className="select-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectDefaultButton) : this.props.intl.formatMessage(messages.selectDefaultButton)}</CapButton> : ''}
1048
- {!layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1049
- </div>);
1050
- } else if (this.state.channel.toLowerCase() === 'mobilepush') {
1051
- content = this.prepareMobilePushPreviewData(template.versions.base);
1052
- temp.content = (
1053
- <div>
1054
- <div className={`mobilepush-message ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>
1055
- {content || ''}
1056
- </div>
1057
- {template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
1058
- {template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1059
- </div>);
1060
- } else if (this.state.channel.toLowerCase() === 'line') {
1061
- //content = template.versions.base.messages[0].Text;
1062
- content = {
1063
- bodyText: template.versions.base.content.messages[0].text ? template.versions.base.content.messages[0].text : '',
1064
- bodyImage: template.versions.base.content.messages[0].originalContentUrl ? template.versions.base.content.messages[0].originalContentUrl : '',
1065
- };
1066
- const modeType = template.versions.base.content.messages[0].type;
1067
- temp.content = (
1068
- <div className="sms-template-content" key={template._id}>
1069
- {content.bodyText ? <div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>{content.bodyText || ''}</div> : ''}
1070
- {content.bodyImage ? <div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>
1071
- <img src={content.bodyImage} alt="Line Image" style={{maxWidth: '100%', objectFit: 'cover', height: '100%'}}/></div> : ''}
1072
- {template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id, modeType)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
1073
- {template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template, modeType)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1074
- </div>
1075
- );
1076
- } else {
1077
- content = template && template.versions && template.versions.base ? template.versions.base['sms-editor'] : '';
1078
- for (let idx = 2; idx <= 5; idx += 1) {
1079
- if ((content === '' || !content) && template && template.versions && template.versions.base && template && template.versions && template.versions.base[`sms-editor${idx}`]) {
1080
- content = template.versions.base[`sms-editor${idx}`];
1081
- }
1082
- }
1083
- temp.content = (
1084
- <div
1085
- className="sms-template-content">
1086
- <div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>{content || ''}</div>
1087
- {template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
1088
- {template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1089
- </div>
1090
- );
1091
- }
1092
- let availableTemplates = "Android";
1093
- if (template.versions && template.versions.base && template.versions.base.ANDROID && template.versions.base.IOS) {
1094
- availableTemplates = `${availableTemplates} & IOS`;
1095
- } else if (template.versions && template.versions.base && template.versions.base.IOS) {
1096
- availableTemplates = 'iOS';
1097
- }
1098
- if (!layoutSelection) {
1099
- temp.footer = (
1100
- <div className="footer-container">
1101
- <div className="card-title">
1102
- <span className="template-name" style={{ fontWeight: `${this.state.channel.toLowerCase() === 'wechat' ? '400' : '600'}` }}>
1103
- { template && template.versions && template.versions.history && template.versions.history.length > 1 && this.state.channel.toLowerCase() !== 'mobilepush' && <i style={{fontSize: '16px', margin: '0 8px 0 0', verticalAlign: 'middle'}} className="material-icons">filter_none</i>}
1104
- {template.name}
1105
- </span>
1106
- {this.props.location.query.type !== 'embedded' && <CapPopover
1107
- trigger="click"
1108
- content={
1109
- <div className="popover-content">
1110
- {this.state.channel !== 'wechat' && <div className="popover-action-container">
1111
- <span onClick={() => this.duplicateTemplate(template)} className="popover-action" style={{cursor: 'pointer', padding: '8px 0px'}}>{this.props.intl.formatMessage(messages.duplicateButton)}</span>
1112
- </div>}
1113
- <div className="popover-action-container">
1114
- <span onClick={() => this.toggleDeleteTemplateModal(template)} className="popover-action" style={{cursor: 'pointer', padding: '8px 0px'}}>{this.state.channel !== 'wechat' ? this.props.intl.formatMessage(messages.deleteButton) : this.props.intl.formatMessage(messages.unMapButton)}</span>
1115
- </div>
1116
- </div>
1117
- }
1118
- placement="bottomRight"
1119
- >
1120
- <i className="material-icons options-icon">&#xE5D4;</i>
1121
- </CapPopover>}
1122
- </div>
1123
- {this.state.channel.toLowerCase() === "mobilepush" ?
1124
- <p className="card-detail">{availableTemplates}</p>
1125
- :
1126
- <p className="card-detail">{this.props.intl.formatMessage(messages.uploadedAt)}: {updateDateTime}</p>
1127
- }
1128
- </div>
1129
- );
1130
- }
1131
- items.push(temp);
1132
- return true;
1133
- });
1134
- return items;
1135
- };
1136
-
1137
- toggleEmailPreview = () => {
1138
- this.setState({ showHtmlPreview: !this.state.showHtmlPreview }, () => {
1139
- if (!this.state.showHtmlPreview) {
1140
- this.setState({previewTemplate: {}});
1141
- }
1142
- });
1143
- };
1144
-
1145
- changePreviewDevice = (device) => {
1146
- this.setState({ device });
1147
- };
1148
-
1149
- //Gets called only when creatives gets used as node library
1150
- isEnabledInLibraryModule = (property) => {
1151
- if (this.props.location.query.type === "embedded" && this.props.location.query.module === "library") {
1152
- switch (property) {
1153
- case "showAccountSelection":
1154
- return (this.props.route && (this.props.route.name.toLowerCase() === "wechat" || this.props.route.name.toLowerCase() === "mobilepush"));
1155
- case "setLocale":
1156
- return true;
1157
- case "callCreateFromProps":
1158
- return true;
1159
- case "callSelectFromProps":
1160
- return true;
1161
- default:
1162
- return false;
1163
- }
1164
- } else {
1165
- return false;
1166
- }
1167
- }
1168
-
1169
- renderDeleteConfirmationModal = () => {
1170
- const modal =
1171
- (<Modal
1172
- visible={this.state.showModal}
1173
- title={"Alert"}
1174
- onOk={this.handleOk}
1175
- onCancel={this.handleCancel}
1176
- footer={[
1177
- <CapButton key="back" onClick={this.handleCancel}>{this.props.intl.formatMessage(messages.cancelText)}</CapButton>,
1178
- <CapButton key="submit" type="primary" id="delete-version" onClick={this.handleOk}>
1179
- {this.props.intl.formatMessage(messages.yesText)}
1180
- </CapButton>,
1181
- ]}
1182
- >
1183
- {this.props.intl.formatMessage(messages.templateDeleteConfirm)}
1184
- </Modal>);
1185
- return modal;
1186
- };
1187
-
1188
- renderEmailPreviewModal() {
1189
- const slideboxContent = (
1190
- <div style={{height: "75vh", width: '55vw'}}>
1191
- <iframe />
1192
- </div>
1193
- );
1194
-
1195
- return (
1196
- <SlideBox
1197
- header={this.state.previewTemplate.name}
1198
- content={slideboxContent}
1199
- show={this.state.showEmailPreviewModal}
1200
- handleClose={this.toggleImagePreview}
1201
- width={60}
1202
- />
1203
- );
1204
- }
1205
-
1206
- render() {
1207
- console.log('templates props', this.props);
1208
- let pageHeaderText = '';
1209
- const moduleName = this.props.location.query.module;
1210
- if (this.props.location.query.type !== 'embedded') {
1211
- if (this.state.channel.toUpperCase() === 'WECHAT') {
1212
- pageHeaderText = this.props.intl.formatMessage(messages.wechatHeader);
1213
- } else if (this.state.channel.toUpperCase() === 'SMS') {
1214
- pageHeaderText = this.props.intl.formatMessage(messages.smsHeader);
1215
- } else if (this.state.channel.toUpperCase() === 'EMAIL') {
1216
- pageHeaderText = this.props.intl.formatMessage(messages.emailHeader);
1217
- } else if (this.state.channel.toUpperCase() === 'MOBILEPUSH') {
1218
- pageHeaderText = this.props.intl.formatMessage(messages.mobilepushHeader);
1219
- } else if (this.state.channel.toUpperCase() === 'EBILL') {
1220
- pageHeaderText = this.props.intl.formatMessage(messages.ebillHeader);
1221
- } else if (this.state.channel.toUpperCase() === 'LINE') {
1222
- pageHeaderText = this.props.intl.formatMessage(messages.lineHeader);
1223
- }
1224
- }
1225
- const options = [
1226
- {
1227
- value: "Most Recent",
1228
- label: this.props.intl.formatMessage(messages.mostRecentOption),
1229
- },
1230
- {
1231
- value: "Alphabetically",
1232
- label: this.props.intl.formatMessage(messages.alphabeticallyOption),
1233
- },
1234
- ];
1235
- const typeOptions = [
1236
- {
1237
- value: "All",
1238
- label: "All",
1239
- },
1240
- {
1241
- label: "Text",
1242
- value: 'Text',
1243
- },
1244
- {
1245
- label: "Image",
1246
- value: "Image",
1247
- },
1248
- ];
1249
- const filterContent = (
1250
- <div className="action-container">
1251
- <CapInput
1252
- className="search-text"
1253
- style={{width: '210px'}}
1254
- placeholder={this.props.intl.formatMessage(messages.searchText)}
1255
- prefix={<i className="material-icons" style={{ margin: '0', fontSize: '16px'}}>search</i>}
1256
- value={this.state.searchText}
1257
- onChange={(e) => this.searchTemplate(e.target.value)}
1258
- />
1259
- <div className="action-container">
1260
- <div style={{display: "flex", justifyContent: "space-between", alignItems: 'center'}}>
1261
- <div className="select-font">{this.props.intl.formatMessage(messages.sortBy)}</div>
1262
- <CapSelect key={"select-account"} style={{width: '120px', marginLeft: '16px', minWidth: 'initial'}} defaultValue="Most Recent" onChange={this.handleSortBy} options={options}>
1263
- </CapSelect>
1264
- </div>
1265
- { (this.state.channel.toLowerCase() === 'mobilepush' || this.state.channel.toLowerCase() === 'line') &&
1266
- <div style={{display: "flex", justifyContent: "space-between", alignItems: 'center', marginLeft: '16px'}}>
1267
- <div className="select-font">Type</div>
1268
- <CapSelect key={"select-type"} style={{width: '120px', marginLeft: '16px', minWidth: 'initial'}} defaultValue="All" onChange={this.handleType} options={typeOptions}>
1269
- </CapSelect>
1270
- </div>
1271
- }
1272
- </div>
1273
- </div>
1274
- );
1275
- const accountOptions = [];
1276
- if ((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && !_.isEmpty(this.props.Templates.weCrmAccounts)) {
1277
- _.forEach(this.props.Templates.weCrmAccounts, (account) => {
1278
- if ((this.state.channel.toUpperCase() === 'WECHAT' && account.configs && account.configs.is_wecrm_enabled) || this.state.channel.toUpperCase() === 'MOBILEPUSH') {
1279
- if (this.props.location.query.type === 'embedded' && (!this.props.location.query.module || (this.props.location.query.module && this.props.location.query.module !== 'library'))) {
1280
- if (this.props.location.query.source_account_id && account.sourceAccountIdentifier === this.props.location.query.source_account_id) {
1281
- accountOptions.push(
1282
- <Option key={this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid} value={account.name}>{account.name}</Option>
1283
- );
1284
- }
1285
- } else {
1286
- accountOptions.push(
1287
- <Option key={this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid} value={account.name}>{account.name}</Option>
1288
- );
1289
- }
1290
- }
1291
- });
1292
- }
1293
- let templateText = this.state.channel.toUpperCase() === 'WECHAT' ? this.props.intl.formatMessage(messages.selectWechatHeader) : this.props.intl.formatMessage(messages.selectSmsHeader);
1294
-
1295
- let titleText = this.state.channel.toUpperCase() === 'SMS' ? this.props.intl.formatMessage(messages.smsChannelTemplatesHeader) : this.props.intl.formatMessage(messages.wechatChannelTemplatesHeader);
1296
- if (this.state.channel.toUpperCase() === "MOBILEPUSH") {
1297
- templateText = "Select Mobile Push Template";
1298
- titleText = "Mobile push";
1299
- } else if (this.state.channel.toUpperCase() === "EMAIL") {
1300
- templateText = "Select Email Template";
1301
- titleText = "Email";
1302
- } else if (this.state.channel.toUpperCase() === "EBILL") {
1303
- templateText = "Select Ebill Template";
1304
- titleText = "Ebill";
1305
- } else if (this.state.channel.toUpperCase() === "LINE") {
1306
- templateText = "Select Line Template";
1307
- titleText = "Line";
1308
- }
1309
- const pageHeader = (
1310
- <div>
1311
- {(this.props.location.query.type !== 'embedded') ? `${pageHeaderText}` : templateText}
1312
- {(this.isEnabledInLibraryModule("showAccountSelection") || (((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && (this.props.location.query.type !== 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)))) &&
1313
- <Select className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1314
- {accountOptions}
1315
- </Select>}
1316
- </div>
1317
- );
1318
- const pageHeaderDvs = (
1319
- <div>
1320
- {(this.props.location.query.type === 'embedded' && moduleName === 'dvs') ? `${templateText}` : pageHeaderText}
1321
- {((this.state.channel.toUpperCase() === 'WECHAT') && (this.props.location.query.type === 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)) &&
1322
- <Select className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1323
- {accountOptions}
1324
- </Select>}
1325
- </div>
1326
- );
1327
- let actionButton = '';
1328
- if (this.props.location.query.type !== 'embedded') {
1329
- if (this.state.channel.toUpperCase() === 'WECHAT') {
1330
- actionButton = (
1331
- <CapButton disabled={_.isEmpty(this.props.Templates.selectedWeChatAccount)} onClick={this.mapWechatTemplate} style={{paddingLeft: '24px', paddingRight: '4px'}}>
1332
- <div style={{display: 'inline-flex'}}>
1333
- <p style={{ lineHeight: '28px', paddingRight: '24px' }}><FormattedMessage {...messages.mapTemplate} /></p>
1334
- {/* <p style={{ height: '28px', borderLeft: '1px solid #fff' }}>
1335
- <i style={{ color: '#fff', paddingTop: '2px', margin: '0'}} className="material-icons">arrow_drop_down</i>
1336
- </p> */}
1337
- </div>
1338
- </CapButton>
1339
- );
1340
- } else if (this.state.channel.toUpperCase() === 'EMAIL' || this.state.channel.toUpperCase() === 'EBILL') {
1341
- const menuItems = [];
1342
- menuItems.push(<MenuItem key={'uploadFile'}>{this.props.intl.formatMessage(messages.uploadFile)}</MenuItem>);
1343
- menuItems.push(<MenuItem key={'useEditor'}>{this.props.intl.formatMessage(messages.useEditor)}</MenuItem>);
1344
- const menu = (
1345
- <Menu onClick={this.handleMenuAction}>
1346
- {menuItems}
1347
- </Menu>
1348
- );
1349
- actionButton = (
1350
- <Dropdown overlay={menu} trigger={["click"]}>
1351
- <CapButton style={{paddingLeft: '24px', paddingRight: '4px'}}>
1352
- <div style={{display: 'inline-flex'}}>
1353
- <p style={{ lineHeight: '32px', paddingRight: '12px' }}>{this.props.intl.formatMessage(messages.newTemplate)}</p>
1354
- <p style={{ height: '32px' }}>
1355
- <i style={{ color: '#fff', lineHeight: '32px', margin: '0'}} className="material-icons">arrow_drop_down</i>
1356
- </p>
1357
- </div>
1358
- </CapButton>
1359
- </Dropdown>
1360
- );
1361
- } else if (this.props.route.name.toLowerCase() === "mobilepush") {
1362
- const createPushMenu = (
1363
- <Menu onClick={this.createTemplate}>
1364
- <MenuItem key="text">
1365
- {this.props.intl.formatMessage(messages.textTemplate)}
1366
- </MenuItem>
1367
- <MenuItem key="image">
1368
- {this.props.intl.formatMessage(messages.imageTemplate)}
1369
- </MenuItem>
1370
- </Menu>
1371
- );
1372
- actionButton = (<Dropdown disabled={_.isEmpty(this.props.Templates.selectedWeChatAccount)} overlay={createPushMenu} trigger={['click']}>
1373
- <CapButton style={{paddingLeft: '24px', paddingRight: '4px'}}>
1374
- <div style={{display: 'inline-flex'}}>
1375
- <p style={{ lineHeight: '28px'}}>New Template</p>
1376
- <p style={{ height: '28px'}}>
1377
- <i style={{ color: '#fff', paddingTop: '2px', margin: '0', paddingRight: '8px'}} className="material-icons">arrow_drop_down</i>
1378
- </p>
1379
- </div>
1380
- </CapButton>
1381
- </Dropdown>);
1382
- } else if (this.props.route.name.toLowerCase() === "line"){
1383
- const lineMenu = (
1384
- <Menu onClick={this.createTemplate}>
1385
- <MenuItem key="text">
1386
- {this.props.intl.formatMessage(messages.textTemplate)}
1387
- </MenuItem>
1388
- <MenuItem key="image">
1389
- {this.props.intl.formatMessage(messages.imageTemplate)}
1390
- </MenuItem>
1391
- </Menu>
1392
- );
1393
- actionButton = (<Dropdown overlay={lineMenu} trigger={['click']}>
1394
- <CapButton style={{paddingLeft: '24px', paddingRight: '4px'}}>
1395
- <div style={{display: 'inline-flex'}}>
1396
- <p style={{ lineHeight: '28px'}}>New Template</p>
1397
- <p style={{ height: '28px'}}>
1398
- <i style={{ color: '#fff', paddingTop: '2px', margin: '0', paddingRight: '8px'}} className="material-icons">arrow_drop_down</i>
1399
- </p>
1400
- </div>
1401
- </CapButton>
1402
- </Dropdown>);
1403
- } else {
1404
- actionButton = (<CapButton onClick={this.createTemplate}>{this.state.channel.toUpperCase() === 'SMS' ? this.props.intl.formatMessage(messages.createSmsActionButton) : 'Create SMS'}</CapButton>);
1405
- }
1406
- }
1407
-
1408
- const lineLoader = (this.props.Templates.getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'line');
1409
- const smsLoader = (this.props.Templates.getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'sms');
1410
- const wechatLoader = (((this.state.selectedAccount !== '' && this.props.Templates.getAllTemplatesInProgress) || (this.props.Templates.fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'wechat');
1411
- const mobilePushLoader = (((this.props.Templates.getAllTemplatesInProgress) || (this.props.Templates.fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'mobilepush');
1412
- const emailLoader = ((this.props.Templates.getAllTemplatesInProgress || this.props.Templates.sendingFile) && this.state.channel.toLowerCase() === 'email');
1413
- const ebillLoader = ((this.props.Templates.getAllTemplatesInProgress || this.props.Templates.sendingFile) && this.state.channel.toLowerCase() === 'ebill');
1414
- const isLoading = ((wechatLoader !== undefined) ? wechatLoader : false) ||
1415
- (smsLoader !== undefined ? smsLoader : false) ||
1416
- (emailLoader !== undefined ? emailLoader : false) ||
1417
- (ebillLoader !== undefined ? ebillLoader : false) ||
1418
- (mobilePushLoader !== undefined ? mobilePushLoader : false) ||
1419
- (lineLoader !== undefined ? lineLoader : false);
1420
- let previewHeader = this.props.intl.formatMessage(messages.preview);
1421
- // const previewHeader = (this.state.channel.toLowerCase() === 'email' ? <h3>{this.props.intl.formatMessage(messages.emailPreview)}</h3> : <h3>{this.props.intl.formatMessage(messages.ebillPreview)}</h3>);
1422
- if (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill') {
1423
- if (this.state.previewTemplate && this.state.previewTemplate.name !== '') {
1424
- previewHeader = this.state.previewTemplate.name;
1425
- }
1426
- }
1427
-
1428
- const cmsTemplateSelectionContent = (
1429
- <CardGrid
1430
- className={""}
1431
- listItem={this.populateTemplatesList(this.props.Templates.cmsTemplates, false, true)}
1432
- // filterContent={filterContent}
1433
- onHoverItem={this.handleOnHoverItem}
1434
- onItemClick={this.handleEdmDefaultTemplateSelection}
1435
- colNumber={2}
1436
- >
1437
- </CardGrid>
1438
- );
1439
-
1440
- let htmlPreviewContent = "";
1441
- if (this.state.channel.toLowerCase() === 'ebill') {
1442
- htmlPreviewContent = this.state.previewTemplate && this.state.previewTemplate.versions && this.state.previewTemplate.versions.base && this.state.previewTemplate.versions.base['ebill-editor'];
1443
- } else if (this.state.channel.toLowerCase() === 'email') {
1444
- htmlPreviewContent = this.state.previewTemplate && this.state.previewTemplate.versions && this.state.previewTemplate.versions.base && this.state.previewTemplate.versions.base[this.props.Global.currentOrgDetails.basic_details.base_language ? this.props.Global.currentOrgDetails.basic_details.base_language : 'en']['template-content'];
1445
- }
1446
-
1447
- const templateList = this.populateTemplatesList(this.props.TemplatesList, true);
1448
-
1449
- const isSearch = this.props.Templates.isSearch;
1450
- return (
1451
- <div>
1452
- <Spin
1453
- tip={(this.props.Templates.sendingFile && (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill')) ? this.props.intl.formatMessage(messages.uploadingFile) : this.props.intl.formatMessage(messages.gettingAllTemplates)}
1454
- spinning={isLoading}
1455
- >
1456
- <input type="file" id="filename" style={{ display: 'none'}} accept=".zip, .html, .htm" onChange={(event) => this.handleFileUpload(event, {files: event.target.files})} />
1457
- <Row>
1458
- <Col>
1459
- {this.props.location.query.type !== "embedded" &&
1460
- <Breadcrumb>
1461
- <BreadcrumbItem>{this.props.intl.formatMessage(messages.campaigns)}</BreadcrumbItem>
1462
- <BreadcrumbItem>{this.props.intl.formatMessage(messages.creatives)}</BreadcrumbItem>
1463
- <BreadcrumbItem>{ this.state.channel }</BreadcrumbItem>
1464
- </Breadcrumb>
1465
- }
1466
- </Col>
1467
- </Row>
1468
- <Row className="template-header-container">
1469
- <div className="template-header">{(this.props.location.query.type === 'embedded' && moduleName === 'dvs') ? pageHeaderDvs : pageHeader}</div>
1470
- {actionButton}
1471
- </Row>
1472
- <Row>
1473
- <Helmet
1474
- title={titleText}
1475
- meta={[
1476
- { name: 'description', content: 'Description of Templates' },
1477
- ]}
1478
- />
1479
- {((templateList && templateList.length > 0) || isSearch) && <Pagination onPageChange={() => { console.log('getting all templates pagination'); this.getAllTemplates({getNextPage: true}); }} paginationSelector="pagination-container">
1480
- <CardGrid
1481
- className={this.state.channel.toLowerCase() === "mobilepush" ? "mobilepush-templates" : ""}
1482
- listItem={templateList}
1483
- filterContent={filterContent}
1484
- onHoverItem={this.handleOnHoverItem}
1485
- onItemClick={this.handleOnItemClick}
1486
- enablePagination
1487
- >
1488
- </CardGrid>
1489
- </Pagination>}
1490
- {(this.state.selectedAccount === '' && _.isEmpty(this.props.Templates.selectedWeChatAccount)) && (this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === "mobilepush") && <div style={{ height: '65vh', textAlign: 'center', lineHeight: '65vh'}}>
1491
- <span style={{ fontFamily: 'open-sans', fontSize: '24px', color: '#B5B5B5'}}>{this.props.intl.formatMessage(messages.noAccountMessage)}</span>
1492
- </div>}
1493
- {(((this.state.selectedAccount !== '' && !_.isEmpty(this.props.Templates.selectedWeChatAccount) && this.state.channel.toLowerCase() === 'wechat') || this.state.channel.toLowerCase() !== 'wechat') && _.isEmpty(this.props.TemplatesList)) && !this.props.Templates.getAllTemplatesInProgress && <div style={{ height: '65vh', textAlign: 'center', lineHeight: '65vh'}}>
1494
- <span style={{ fontFamily: 'open-sans', fontSize: '24px', color: '#B5B5B5'}}>{this.props.intl.formatMessage(messages.noTemplatesMessage)}</span>
1495
- </div>}
1496
- </Row>
1497
- <Row>
1498
- <PreviewSideBar
1499
- showPreview={this.state.previewOpen}
1500
- templateData={this.state.previewTemplate}
1501
- channel={this.state.channel}
1502
- handleClose={this.togglePreview}
1503
- onEditClick={this.handleEditClick}
1504
- embedded={this.props.location.query.type === 'embedded'}
1505
- onDuplicateClick={this.duplicateTemplate}
1506
- location={this.props.location}
1507
- >
1508
- </PreviewSideBar>
1509
- {(this.state.channel.toLowerCase() === 'ebill' || this.state.channel.toLowerCase() === 'email') && htmlPreviewContent && <EmailPreview
1510
- header={previewHeader}
1511
- content={htmlPreviewContent}
1512
- show={this.state.showHtmlPreview}
1513
- device={this.state.device}
1514
- handleClose={this.toggleEmailPreview}
1515
- changePreviewDevice={this.changePreviewDevice}
1516
- lastModified={this.state.previewTemplate ? this.state.previewTemplate.updatedAt : ''}
1517
- updatedByName={commonUtil.getUserNameById(parseInt(this.state.previewTemplate.updatedBy, 10), commonUtil.getMergedUserList(this.props.Templates.userList))}
1518
- />}
1519
- <SlideBox
1520
- header={(<h3>{this.props.intl.formatMessage(messages.layoutSelection)}</h3>)}
1521
- width={60}
1522
- content={cmsTemplateSelectionContent}
1523
- show={this.state.showEdmEmailTemplates}
1524
- handleClose={this.toggleEdmEmailTemplateSelection}
1525
- loadingText={"Loading EDM Templates"}
1526
- isLoading={this.props.Templates.getCmsTemplatesInProgress}
1527
- />
1528
- {this.renderDeleteConfirmationModal()}
1529
- </Row>
1530
- </Spin>
1531
- </div>
1532
- );
1533
- }
1534
- }
1535
-
1536
- Templates.propTypes = {
1537
- actions: PropTypes.object.isRequired,
1538
- smsActions: PropTypes.object,
1539
- mobilepushActions: PropTypes.object,
1540
- smsEditActions: PropTypes.object,
1541
- ebillActions: PropTypes.object,
1542
- emailActions: PropTypes.object,
1543
- TemplatesList: PropTypes.array,
1544
- Templates: PropTypes.object,
1545
- route: PropTypes.object,
1546
- router: PropTypes.object,
1547
- Create: PropTypes.object,
1548
- location: PropTypes.object,
1549
- globalActions: PropTypes.object,
1550
- intl: intlShape.isRequired,
1551
- Global: PropTypes.object,
1552
- createNew: PropTypes.func,
1553
- onSelectTemplate: PropTypes.func,
1554
- lineActions: PropTypes.object,
1555
- };
1556
-
1557
- const mapStateToProps = createStructuredSelector({
1558
- Templates: makeSelectTemplates(),
1559
- TemplatesList: makeSelectTemplatesResponse(),
1560
- Create: makeSelectCreateSms(),
1561
- CreateMobilePush: makeSelectCreateMobilePush(),
1562
- CreateEbill: makeSelectCreateEbill(),
1563
- Edit: makeSelectEdit(),
1564
- EmailCreate: makeSelectCreateEmail(),
1565
- Global: makeSelectAuthenticated(),
1566
- Line: makeSelectLine(),
1567
- });
1568
-
1569
- function mapDispatchToProps(dispatch) {
1570
- return {
1571
- actions: bindActionCreators(actions, dispatch),
1572
- smsActions: bindActionCreators(smsActions, dispatch),
1573
- mobilepushActions: bindActionCreators(mobilepushActions, dispatch),
1574
- smsEditActions: bindActionCreators(smsEditActions, dispatch),
1575
- ebillActions: bindActionCreators(ebillActions, dispatch),
1576
- emailActions: bindActionCreators(emailActions, dispatch),
1577
- globalActions: bindActionCreators(globalActions, dispatch),
1578
- lineActions: bindActionCreators(lineActions, dispatch),
1579
- };
1580
- }
1581
-
1582
- export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(Templates)));