@capillarytech/creatives-library 0.0.1

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