@capillarytech/creatives-library 1.0.0 → 1.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2347) hide show
  1. package/.htaccess +52 -0
  2. package/app.js +158 -0
  3. package/assets/EmptyStateIllustrationForPromos.png +0 -0
  4. package/assets/Points.png +0 -0
  5. package/assets/access.png +0 -0
  6. package/assets/add-event.png +0 -0
  7. package/assets/addCustomer.svg +9 -0
  8. package/assets/addUser.svg +34 -0
  9. package/assets/advanced-promotion-not-enabled.png +0 -0
  10. package/assets/atoms-icons-24-gift (1).svg +22 -0
  11. package/assets/atoms-illustration.png +0 -0
  12. package/assets/award-point.svg +20 -0
  13. package/assets/badgeMask.svg +3 -0
  14. package/assets/bill-point.svg +15 -0
  15. package/assets/bulb.svg +9 -0
  16. package/assets/bulk-configs-illustration.svg +198 -0
  17. package/assets/calendar.svg +24 -0
  18. package/assets/cap-logo.png +0 -0
  19. package/assets/cluster.svg +3 -0
  20. package/assets/color.svg +20 -0
  21. package/assets/confirmation.png +0 -0
  22. package/assets/contribute.svg +28 -0
  23. package/assets/coupon.svg +26 -0
  24. package/assets/delay.svg +24 -0
  25. package/assets/delete.svg +14 -0
  26. package/assets/dotted.png +0 -0
  27. package/assets/draft-not-exist-Illustration.svg +16 -0
  28. package/assets/drag.svg +8 -0
  29. package/assets/dummyIcon.png +0 -0
  30. package/assets/ebill.svg +15 -0
  31. package/assets/elephant.svg +1 -0
  32. package/assets/empty.svg +35 -0
  33. package/assets/emptyBadge.svg +15 -0
  34. package/assets/enrolPoints.svg +9 -0
  35. package/assets/facebook.svg +22 -0
  36. package/assets/file-selector.svg +11 -0
  37. package/assets/filled-arrow.svg +3 -0
  38. package/assets/forward.svg +20 -0
  39. package/assets/gift.svg +22 -0
  40. package/assets/group.svg +28 -0
  41. package/assets/integration.svg +1 -0
  42. package/assets/link.svg +30 -0
  43. package/assets/loading_img.gif +0 -0
  44. package/assets/loyalty.svg +9 -0
  45. package/assets/membership.svg +24 -0
  46. package/assets/message.svg +20 -0
  47. package/assets/mobile-push.svg +22 -0
  48. package/assets/not-supported-yet.svg +4 -0
  49. package/assets/notepad.svg +20 -0
  50. package/assets/offersIllustration.svg +1 -0
  51. package/assets/penguin.svg +19 -0
  52. package/assets/pigeon.svg +17 -0
  53. package/assets/points.svg +28 -0
  54. package/assets/pointsConversion.svg +15 -0
  55. package/assets/promotion.svg +9 -0
  56. package/assets/reEvaluate.svg +17 -0
  57. package/assets/receipt.svg +14 -0
  58. package/assets/referal.svg +20 -0
  59. package/assets/refresh-delay.svg +24 -0
  60. package/assets/refresh.svg +11 -0
  61. package/assets/removeCart.svg +24 -0
  62. package/assets/removeUser.svg +24 -0
  63. package/assets/renew.svg +11 -0
  64. package/assets/repair.png +0 -0
  65. package/assets/return.svg +20 -0
  66. package/assets/reverse-return.svg +20 -0
  67. package/assets/reward.svg +18 -0
  68. package/assets/rewardCurrencyLimitIcon.svg +11 -0
  69. package/assets/rewards-empty-placeholder.svg +104 -0
  70. package/assets/search.svg +9 -0
  71. package/assets/social.svg +20 -0
  72. package/assets/star.svg +20 -0
  73. package/assets/storeCode.csv +5 -0
  74. package/assets/survey-response.svg +9 -0
  75. package/assets/target.svg +24 -0
  76. package/assets/thin-close.svg +22 -0
  77. package/assets/transfer.svg +24 -0
  78. package/assets/trigger.svg +24 -0
  79. package/assets/unlink.svg +32 -0
  80. package/assets/upgrade.svg +26 -0
  81. package/assets/user_personlaisation.svg +13 -0
  82. package/assets/users.svg +18 -0
  83. package/assets/wechat.svg +18 -0
  84. package/assets/zones.svg +14 -0
  85. package/components/atoms/AccessDeniedTooltipMessage/AccessDeniedTooltipMessage.js +29 -0
  86. package/components/atoms/AccessDeniedTooltipMessage/index.js +1 -0
  87. package/components/atoms/AccessDeniedTooltipMessage/style.js +24 -0
  88. package/components/atoms/ActionViewModeHeader/ActionViewModeHeader.js +60 -0
  89. package/components/atoms/ActionViewModeHeader/index.js +1 -0
  90. package/components/atoms/ActionViewModeHeader/style.js +7 -0
  91. package/components/atoms/AvatarIcon/AvatarIcon.js +42 -0
  92. package/components/atoms/AvatarIcon/index.js +1 -0
  93. package/components/atoms/AvatarIcon/tests/AvatarIcon.test.js +32 -0
  94. package/components/atoms/AvatarIcon/tests/__snapshots__/AvatarIcon.test.js.snap +116 -0
  95. package/components/atoms/ButtonDropdown/ButtonDropdown.js +41 -0
  96. package/components/atoms/ButtonDropdown/index.js +1 -0
  97. package/components/atoms/ButtonDropdown/tests/ButtonDropdown.test.js +20 -0
  98. package/components/atoms/CenteredSkeleton/CenteredSkeleton.js +19 -0
  99. package/components/atoms/CenteredSkeleton/index.js +1 -0
  100. package/components/atoms/CustomIcons/CustomClose.js +14 -0
  101. package/components/atoms/CustomIcons/CustomDelete.js +18 -0
  102. package/components/atoms/CustomIcons/CustomTick.js +14 -0
  103. package/components/atoms/CustomSkeleton/CustomSkeleton.js +61 -0
  104. package/components/atoms/CustomSkeleton/index.js +1 -0
  105. package/components/atoms/CustomSkeleton/stories/CustomSkeleton.stories.js +5 -0
  106. package/components/atoms/CustomSkeleton/style.js +18 -0
  107. package/components/atoms/CustomSkeleton/tests/__snapshots__/index.test.js.snap +66 -0
  108. package/components/atoms/CustomSkeleton/tests/index.test.js +29 -0
  109. package/components/atoms/DateTimePicker/DateTimePicker.js +68 -0
  110. package/components/atoms/DateTimePicker/index.js +1 -0
  111. package/components/atoms/DateTimePicker/style.js +31 -0
  112. package/components/atoms/DisabledMoreIcon/DisabledMoreIcon.js +29 -0
  113. package/components/atoms/DisabledMoreIcon/index.js +1 -0
  114. package/components/atoms/DisabledMoreIcon/styles.js +9 -0
  115. package/components/atoms/ElementToElementWrap/ElementToElementWrap.js +26 -0
  116. package/components/atoms/ElementToElementWrap/index.js +1 -0
  117. package/components/atoms/ElementToElementWrap/stories/ElementToElementWrap.stories.js +5 -0
  118. package/components/atoms/ElementToElementWrap/style.js +5 -0
  119. package/components/atoms/ElementToElementWrap/tests/__snapshots__/index.test.js.snap +22 -0
  120. package/components/atoms/ElementToElementWrap/tests/index.test.js +19 -0
  121. package/components/atoms/EllipsisText/EllipsisText.js +20 -0
  122. package/components/atoms/EllipsisText/index.js +1 -0
  123. package/components/atoms/EllipsisText/tests/__snapshots__/index.test.js.snap +22 -0
  124. package/components/atoms/EllipsisText/tests/index.test.js +19 -0
  125. package/components/atoms/Heading/Heading.js +20 -0
  126. package/components/atoms/Heading/index.js +1 -0
  127. package/components/atoms/Heading/stories/Heading.stories.js +7 -0
  128. package/components/atoms/Heading/style.js +6 -0
  129. package/components/atoms/Heading/tests/__snapshots__/index.test.js.snap +9 -0
  130. package/components/atoms/Heading/tests/index.test.js +10 -0
  131. package/components/atoms/HighlightedBackgroundText/HighlightedBackgroundText.js +32 -0
  132. package/components/atoms/HighlightedBackgroundText/index.js +1 -0
  133. package/components/atoms/HighlightedBackgroundText/style.js +24 -0
  134. package/components/atoms/HighlightedBackgroundText/tests/HighlightedBackgroundText.test.js +21 -0
  135. package/components/atoms/IllustrationWithTitleAndDesc/IllustrationWithTitleAndDesc.js +44 -0
  136. package/components/atoms/IllustrationWithTitleAndDesc/index.js +1 -0
  137. package/components/atoms/IllustrationWithTitleAndDesc/tests/IllustrationWithTitleAndDesc.test.js +21 -0
  138. package/components/atoms/IssuePromotionTooltip/IssuePromotionTooltip.js +66 -0
  139. package/components/atoms/IssuePromotionTooltip/index.js +1 -0
  140. package/components/atoms/Label/Label.js +8 -0
  141. package/components/atoms/Label/index.js +1 -0
  142. package/components/atoms/Label/tests/__snapshots__/index.test.js.snap +17 -0
  143. package/components/atoms/Label/tests/index.test.js +19 -0
  144. package/components/atoms/LabelCustomisation/LabelCustomisation.js +78 -0
  145. package/components/atoms/LabelCustomisation/index.js +1 -0
  146. package/components/atoms/LabelCustomisation/style.js +23 -0
  147. package/components/atoms/LabelCustomisation/tests/LabelCustomisation.test.js +67 -0
  148. package/components/atoms/LdsErrorState/LdsErrorState.js +148 -0
  149. package/components/atoms/LdsErrorState/index.js +1 -0
  150. package/components/atoms/LdsErrorState/tests/__snapshots__/index.test.js.snap +161 -0
  151. package/components/atoms/LdsErrorState/tests/index.test.js +10 -0
  152. package/components/atoms/LdsNoDataState/LdsNoDataState.js +113 -0
  153. package/components/atoms/LdsNoDataState/index.js +1 -0
  154. package/components/atoms/LdsNoDataState/tests/__snapshots__/index.test.js.snap +100 -0
  155. package/components/atoms/LdsNoDataState/tests/index.test.js +10 -0
  156. package/components/atoms/OptionWithTooltip/OptionWithTooltip.js +35 -0
  157. package/components/atoms/OptionWithTooltip/index.js +1 -0
  158. package/components/atoms/PrimaryInput/PrimaryInput.js +63 -0
  159. package/components/atoms/PrimaryInput/constants.js +7 -0
  160. package/components/atoms/PrimaryInput/index.js +1 -0
  161. package/components/atoms/PrimaryInput/stories/PrimaryInput.stories.js +25 -0
  162. package/components/atoms/PrimaryInput/style.js +26 -0
  163. package/components/atoms/PrimaryInput/tests/__snapshots__/index.test.js.snap +78 -0
  164. package/components/atoms/PrimaryInput/tests/index.test.js +60 -0
  165. package/components/atoms/PrimarySelect/PrimarySelect.js +55 -0
  166. package/components/atoms/PrimarySelect/index.js +1 -0
  167. package/components/atoms/PrimarySelect/stories/PrimarySelect.stories.js +25 -0
  168. package/components/atoms/PrimarySelect/style.js +0 -0
  169. package/components/atoms/PrimarySelect/tests/__snapshots__/index.test.js.snap +116 -0
  170. package/components/atoms/PrimarySelect/tests/index.test.js +55 -0
  171. package/components/atoms/RenderRoute/RenderRoute.js +16 -0
  172. package/components/atoms/RenderRoute/index.js +1 -0
  173. package/components/atoms/RenderRoute/stories/RenderRoute.stories.js +8 -0
  174. package/components/atoms/RenderRoute/tests/__snapshots__/index.test.js.snap +179 -0
  175. package/components/atoms/RenderRoute/tests/index.test.js +16 -0
  176. package/components/atoms/RenewalExpression/RenewalExpression.js +72 -0
  177. package/components/atoms/RenewalExpression/index.js +1 -0
  178. package/components/atoms/RenewalExpression/style.js +47 -0
  179. package/components/atoms/ReonNotEnabled/ReonNotEnabled.js +399 -0
  180. package/components/atoms/ReonNotEnabled/index.js +1 -0
  181. package/components/atoms/ReonNotEnabled/stories/ReonNotEnabled.stories.js +5 -0
  182. package/components/atoms/ReonNotEnabled/tests/__snapshots__/index.test.js.snap +528 -0
  183. package/components/atoms/ReonNotEnabled/tests/index.test.js +10 -0
  184. package/components/atoms/RewardCatalogTooltip/RewardCatalogTooltip.js +106 -0
  185. package/components/atoms/RewardCatalogTooltip/index.js +1 -0
  186. package/components/atoms/RoleBasedAuth/RoleBasedAuth.js +28 -0
  187. package/components/atoms/RoleBasedAuth/index.js +1 -0
  188. package/components/atoms/RoleBasedAuth/tests/RequireRoleBasedAuth.test.js +55 -0
  189. package/components/atoms/RoleBasedAuth/tests/mockData.js +303 -0
  190. package/components/atoms/SelectOptionLabelWithInfo/SelectOptionLabelWithInfo.js +77 -0
  191. package/components/atoms/SelectOptionLabelWithInfo/index.js +1 -0
  192. package/components/atoms/SelectOptionLabelWithInfo/tests/__snapshots__/index.test.js.snap +67 -0
  193. package/components/atoms/SelectOptionLabelWithInfo/tests/index.test.js +23 -0
  194. package/components/atoms/SortIcon/SortIcon.js +53 -0
  195. package/components/atoms/SortIcon/index.js +1 -0
  196. package/components/atoms/SortIcon/stories/SortIcon.stories.js +5 -0
  197. package/components/atoms/SortIcon/style.js +31 -0
  198. package/components/atoms/SortIcon/tests/__snapshots__/index.test.js.snap +46 -0
  199. package/components/atoms/SortIcon/tests/index.test.js +18 -0
  200. package/components/atoms/StatusColor/StatusColor.js +63 -0
  201. package/components/atoms/StatusColor/index.js +1 -0
  202. package/components/atoms/StatusColor/stories/StatusColor.stories.js +7 -0
  203. package/components/atoms/StatusColor/style.js +9 -0
  204. package/components/atoms/StatusColor/tests/__snapshots__/index.test.js.snap +28 -0
  205. package/components/atoms/StatusColor/tests/index.test.js +20 -0
  206. package/components/atoms/Tag/Tag.js +97 -0
  207. package/components/atoms/Tag/index.js +1 -0
  208. package/components/atoms/Tag/stories/Tag.stories.js +14 -0
  209. package/components/atoms/Tag/style.js +19 -0
  210. package/components/atoms/Tag/tests/__snapshots__/index.test.js.snap +101 -0
  211. package/components/atoms/Tag/tests/index.test.js +34 -0
  212. package/components/atoms/Toaster/Toaster.js +50 -0
  213. package/components/atoms/Toaster/index.js +1 -0
  214. package/components/atoms/Toaster/style.js +14 -0
  215. package/components/atoms/Toaster/tests/Toastr.test.js +32 -0
  216. package/components/atoms/Toaster/toastrStyle.js +44 -0
  217. package/components/atoms/ToastrMessage/ToastrMessage.js +68 -0
  218. package/components/atoms/ToastrMessage/index.js +1 -0
  219. package/components/atoms/ToastrMessage/style.js +38 -0
  220. package/components/atoms/ToastrMessage/tests/ToastrMessageTimer.test.js +60 -0
  221. package/components/atoms/TrackerExpressionCondition/TrackerExpressionCondition.js +118 -0
  222. package/components/atoms/TrackerExpressionCondition/index.js +1 -0
  223. package/components/atoms/TrackerExpressionCondition/style.js +38 -0
  224. package/components/atoms/TrackerExpressionCondition/tests/TrackerExpressionCondition.test.js +19 -0
  225. package/components/atoms/TriggerAction/TriggerAction.js +42 -0
  226. package/components/atoms/TriggerAction/index.js +1 -0
  227. package/components/atoms/TriggerAction/tests/__snapshots__/index.test.js.snap +35 -0
  228. package/components/atoms/TriggerAction/tests/index.test.js +54 -0
  229. package/components/atoms/VersioningNote/VersioningNote.js +46 -0
  230. package/components/atoms/VersioningNote/index.js +1 -0
  231. package/components/atoms/VersioningNote/style.js +31 -0
  232. package/components/atoms/VersioningNote/tests/VersioningNote.test.js +27 -0
  233. package/components/molecules/AccessCard/AccessCard.js +35 -0
  234. package/components/molecules/AccessCard/index.js +1 -0
  235. package/components/molecules/AccessCard/messages.js +20 -0
  236. package/components/molecules/AccessCard/stories/AccessCard.stories.js +7 -0
  237. package/components/molecules/AccessCard/style.js +22 -0
  238. package/components/molecules/AccessCard/tests/AccessCard.test.js +13 -0
  239. package/components/molecules/AccessCard/tests/__snapshots__/AccessCard.test.js.snap +32 -0
  240. package/components/molecules/AccessDeniedTooltip/AccessDeniedTooltip.js +34 -0
  241. package/components/molecules/AccessDeniedTooltip/index.js +1 -0
  242. package/components/molecules/AccessDeniedTooltip/tests/AccessDeniedTooltip.test.js +35 -0
  243. package/components/molecules/ActionTitle/ActionTitle.js +47 -0
  244. package/components/molecules/ActionTitle/index.js +1 -0
  245. package/components/molecules/ActionTitle/tests/ActionTitle.test.js +44 -0
  246. package/components/molecules/ActionTitle/tests/__snapshots__/ActionTitle.test.js.snap +31 -0
  247. package/components/molecules/AddActionConditionWorkflow/AddActionConditionWorkflow.js +84 -0
  248. package/components/molecules/AddActionConditionWorkflow/index.js +1 -0
  249. package/components/molecules/AddActionConditionWorkflow/style.js +23 -0
  250. package/components/molecules/AddActionConditionWorkflow/tests/AddActionConditionWorkflow.test.js +16 -0
  251. package/components/molecules/AddActionConditionWorkflow/tests/__snapshots__/AddActionConditionWorkflow.test.js.snap +40 -0
  252. package/components/molecules/AddMoreCard/AddMoreCard.js +22 -0
  253. package/components/molecules/AddMoreCard/index.js +1 -0
  254. package/components/molecules/AddMoreCard/style.js +23 -0
  255. package/components/molecules/AddMoreCard/tests/AddMoreCard.test.js +23 -0
  256. package/components/molecules/AddMoreCard/tests/__snapshots__/AddMoreCard.test.js.snap +30 -0
  257. package/components/molecules/AddPartnerPrograms/AddPartnerPrograms.js +1012 -0
  258. package/components/molecules/AddPartnerPrograms/constants.js +2 -0
  259. package/components/molecules/AddPartnerPrograms/index.js +1 -0
  260. package/components/molecules/AddPartnerPrograms/messages.js +60 -0
  261. package/components/molecules/AddPartnerPrograms/style.js +53 -0
  262. package/components/molecules/AddPartnerPrograms/tests/AddExternalPrograms.test.js +493 -0
  263. package/components/molecules/AddPartnerPrograms/tests/AddSupplementaryPrograms.test.js +489 -0
  264. package/components/molecules/AddPartnerPrograms/tests/mockData.js +205 -0
  265. package/components/molecules/AddPartnerPrograms/utils.js +22 -0
  266. package/components/molecules/AddPartnerProgramsBasicDetails/AddPartnerProgramsBasicDetails.js +156 -0
  267. package/components/molecules/AddPartnerProgramsBasicDetails/index.js +1 -0
  268. package/components/molecules/AddPartnerProgramsBasicDetails/messages.js +53 -0
  269. package/components/molecules/AddPartnerProgramsBasicDetails/style.js +60 -0
  270. package/components/molecules/AddPartnerProgramsBasicDetails/tests/AddSupplementaryBasicDetails.test.js +77 -0
  271. package/components/molecules/AddPartnerProgramsBasicDetails/utils.js +116 -0
  272. package/components/molecules/AddTierBanner/AddTierBanner.js +45 -0
  273. package/components/molecules/AddTierBanner/index.js +1 -0
  274. package/components/molecules/AddTierBanner/tests/AddTierBanner.test.js +27 -0
  275. package/components/molecules/AddTierBanner/tests/__snapshots__/AddTierBanner.test.js.snap +25 -0
  276. package/components/molecules/AddTierPrimaryInfo/AddTierPrimaryInfo.js +146 -0
  277. package/components/molecules/AddTierPrimaryInfo/index.js +1 -0
  278. package/components/molecules/AddTierPrimaryInfo/messages.js +28 -0
  279. package/components/molecules/AddTierPrimaryInfo/tests/AddTierPrimaryInfo.test.js +49 -0
  280. package/components/molecules/AddTierPrimaryInfo/tests/__snapshots__/AddTierPrimaryInfo.test.js.snap +132 -0
  281. package/components/molecules/AddTrackersInfo/AddTrackersInfo.js +48 -0
  282. package/components/molecules/AddTrackersInfo/index.js +1 -0
  283. package/components/molecules/AddTrackersInfo/messages.js +17 -0
  284. package/components/molecules/AddTrackersInfo/style.js +31 -0
  285. package/components/molecules/AddTrackersInfo/tests/AddTrackersInfo.test.js +23 -0
  286. package/components/molecules/AddTrackersInfo/tests/__snapshots__/AddTrackersInfo.test.js.snap +103 -0
  287. package/components/molecules/AdvanceSettingScrollContainer/AdvanceSettingScrollContainer.js +64 -0
  288. package/components/molecules/AdvanceSettingScrollContainer/index.js +1 -0
  289. package/components/molecules/AdvanceSettingScrollContainer/style.js +28 -0
  290. package/components/molecules/AdvanceSettingScrollContainer/tests/AdvanceSettingScrollContainer.test.js +30 -0
  291. package/components/molecules/AdvanceSettingScrollContainer/tests/__snapshots__/AdvanceSettingScrollContainer.test.js.snap +82 -0
  292. package/components/molecules/AlternateCurrencyWorkflowHeader/AlternateCurrencyWorkflowHeader.js +114 -0
  293. package/components/molecules/AlternateCurrencyWorkflowHeader/index.js +1 -0
  294. package/components/molecules/AlternateCurrencyWorkflowHeader/messages.js +34 -0
  295. package/components/molecules/AlternateCurrencyWorkflowHeader/style.js +38 -0
  296. package/components/molecules/AnyOrCustomPathBlock/AnyOrCustomPathBlock.js +149 -0
  297. package/components/molecules/AnyOrCustomPathBlock/index.js +1 -0
  298. package/components/molecules/AnyOrCustomPathBlock/style.js +94 -0
  299. package/components/molecules/BenefitsAndLimitsList/BenefitsAndLimitsList.js +327 -0
  300. package/components/molecules/BenefitsAndLimitsList/actions.js +13 -0
  301. package/components/molecules/BenefitsAndLimitsList/constants.js +3 -0
  302. package/components/molecules/BenefitsAndLimitsList/index.js +1 -0
  303. package/components/molecules/BenefitsAndLimitsList/messages.js +56 -0
  304. package/components/molecules/BenefitsAndLimitsList/reducer.js +33 -0
  305. package/components/molecules/BenefitsAndLimitsList/saga.js +40 -0
  306. package/components/molecules/BenefitsAndLimitsList/selectors.js +26 -0
  307. package/components/molecules/BenefitsAndLimitsList/style.js +71 -0
  308. package/components/molecules/BenefitsAndLimitsList/tests/BenefitsAndLimitsList.test.js +124 -0
  309. package/components/molecules/BenefitsAndLimitsList/tests/actions.test.js +10 -0
  310. package/components/molecules/BenefitsAndLimitsList/tests/mockData.js +551 -0
  311. package/components/molecules/BenefitsAndLimitsList/tests/reducer.test.js +51 -0
  312. package/components/molecules/BenefitsAndLimitsList/tests/saga.test.js +62 -0
  313. package/components/molecules/BenefitsAndLimitsList/tests/selectors.test.js +41 -0
  314. package/components/molecules/BenefitsAndLimitsList/utils.js +51 -0
  315. package/components/molecules/BenefitsAndLimitsPane/BenefitsAndLimitsPane.js +120 -0
  316. package/components/molecules/BenefitsAndLimitsPane/index.js +1 -0
  317. package/components/molecules/BenefitsAndLimitsPane/messages.js +19 -0
  318. package/components/molecules/BenefitsAndLimitsPane/style.js +56 -0
  319. package/components/molecules/BenefitsAndLimitsPane/tests/BenefitsAndLimitsPane.test.js +47 -0
  320. package/components/molecules/BenefitsAndLimitsPane/tests/mockData.js +14 -0
  321. package/components/molecules/BulkConfigPulishAlert/BulkConfigPulishAlert.js +98 -0
  322. package/components/molecules/BulkConfigPulishAlert/index.js +1 -0
  323. package/components/molecules/BulkConfigPulishAlert/messages.js +28 -0
  324. package/components/molecules/BulkConfigPulishAlert/style.js +48 -0
  325. package/components/molecules/BulkConfigPulishAlert/tests/BulkConfigPublishAlert.test.js +57 -0
  326. package/components/molecules/ButtonWithPagination/ButtonWithPagination.js +51 -0
  327. package/components/molecules/ButtonWithPagination/index.js +1 -0
  328. package/components/molecules/ButtonWithPagination/style.js +9 -0
  329. package/components/molecules/CapReportLink/CapReportLink.js +52 -0
  330. package/components/molecules/CapReportLink/index.js +1 -0
  331. package/components/molecules/CapReportLink/style.js +29 -0
  332. package/components/molecules/CapReportLink/tests/CapReport.test.js +49 -0
  333. package/components/molecules/CardWithHeadingAction/CardWithHeadingAction.js +47 -0
  334. package/components/molecules/CardWithHeadingAction/index.js +1 -0
  335. package/components/molecules/CardWithHeadingAction/style.js +37 -0
  336. package/components/molecules/CardsCommunication/CardsCommunication.js +142 -0
  337. package/components/molecules/CardsCommunication/constants.js +5 -0
  338. package/components/molecules/CardsCommunication/index.js +2 -0
  339. package/components/molecules/CardsCommunication/messages.js +20 -0
  340. package/components/molecules/CardsCommunication/style.js +18 -0
  341. package/components/molecules/CardsCommunication/tests/CardCommunication.test.js +50 -0
  342. package/components/molecules/CardsCommunication/utils.js +35 -0
  343. package/components/molecules/CardsWithCheckboxCommunication/CardsWithCheckboxCommunication.js +58 -0
  344. package/components/molecules/CardsWithCheckboxCommunication/constants.js +1 -0
  345. package/components/molecules/CardsWithCheckboxCommunication/index.js +1 -0
  346. package/components/molecules/CardsWithCheckboxCommunication/style.js +14 -0
  347. package/components/molecules/CartLevelLimits/CartLevelLimits.js +135 -0
  348. package/components/molecules/CartLevelLimits/index.js +1 -0
  349. package/components/molecules/CartLevelLimits/style.js +66 -0
  350. package/components/molecules/CartLevelLimits/tests/CartLevelLimit.test.js +62 -0
  351. package/components/molecules/CheckboxWithInputPrefix/CheckboxWithInputPrefix.js +118 -0
  352. package/components/molecules/CheckboxWithInputPrefix/index.js +1 -0
  353. package/components/molecules/CheckboxWithInputPrefix/style.js +23 -0
  354. package/components/molecules/CollapsableContent/CollapsableContent.js +185 -0
  355. package/components/molecules/CollapsableContent/index.js +1 -0
  356. package/components/molecules/CollapsableContent/style.js +108 -0
  357. package/components/molecules/CollapsableHeaderContent/CollapsableHeaderContent.js +69 -0
  358. package/components/molecules/CollapsableHeaderContent/index.js +1 -0
  359. package/components/molecules/CollapsableHeaderContent/style.js +51 -0
  360. package/components/molecules/CollapsableHeaderContent/tests/CollapsableHeaderContent.test.js +33 -0
  361. package/components/molecules/CollapseWithDateRange/CollapseWithDateRange.js +72 -0
  362. package/components/molecules/CollapseWithDateRange/index.js +1 -0
  363. package/components/molecules/CollapseWithInput/CollapseWithInput.js +51 -0
  364. package/components/molecules/CollapseWithInput/index.js +1 -0
  365. package/components/molecules/CollapseWithMultiSelect/CollapseWithMultiSelect.js +78 -0
  366. package/components/molecules/CollapseWithMultiSelect/index.js +1 -0
  367. package/components/molecules/CollapseWithMultiSelect/style.js +9 -0
  368. package/components/molecules/CollapseWithRadioGroup/CollapseWithRadioGroup.js +67 -0
  369. package/components/molecules/CollapseWithRadioGroup/index.js +1 -0
  370. package/components/molecules/CollapseWithSelectAndInput/CollapseWithSelectAndInput.js +93 -0
  371. package/components/molecules/CollapseWithSelectAndInput/index.js +1 -0
  372. package/components/molecules/CollapseWithSelectAndInput/style.js +9 -0
  373. package/components/molecules/CollapseWithStore/CollapseWithStore.js +276 -0
  374. package/components/molecules/CollapseWithStore/index.js +1 -0
  375. package/components/molecules/CollapseWithStore/messages.js +68 -0
  376. package/components/molecules/CollapseWithStore/style.js +108 -0
  377. package/components/molecules/CollapseWithStore/tests/CollapseWithStore.test.js +30 -0
  378. package/components/molecules/CollapseWithStore/tests/mockData.js +72 -0
  379. package/components/molecules/CollapseWithSwitchSelect/CollapseWithSwitchSelect.js +103 -0
  380. package/components/molecules/CollapseWithSwitchSelect/index.js +1 -0
  381. package/components/molecules/ColorPatch/ColorPatch.js +26 -0
  382. package/components/molecules/ColorPatch/index.js +1 -0
  383. package/components/molecules/ColorPatch/style.js +34 -0
  384. package/components/molecules/ColorPatch/tests/ColorPatch.test.js +21 -0
  385. package/components/molecules/ColorPatch/tests/__snapshots__/ColorPatch.test.js.snap +5100 -0
  386. package/components/molecules/ColorSelector/ColorSelector.js +150 -0
  387. package/components/molecules/ColorSelector/index.js +1 -0
  388. package/components/molecules/ColorSelector/style.js +76 -0
  389. package/components/molecules/ColorSelector/tests/ColorSelector.test.js +62 -0
  390. package/components/molecules/CommunicationTable/CommunicationTable.js +349 -0
  391. package/components/molecules/CommunicationTable/constants.js +9 -0
  392. package/components/molecules/CommunicationTable/index.js +1 -0
  393. package/components/molecules/CommunicationTable/messages.js +20 -0
  394. package/components/molecules/CommunicationTable/stories/CommunicationTable.stories.js +15 -0
  395. package/components/molecules/CommunicationTable/stories/mockData.js +52 -0
  396. package/components/molecules/CommunicationTable/style.js +129 -0
  397. package/components/molecules/CommunicationTable/tests/index.test.js +44 -0
  398. package/components/molecules/ConditionExpressionLayout/ConditionExpressionLayout.js +103 -0
  399. package/components/molecules/ConditionExpressionLayout/index.js +1 -0
  400. package/components/molecules/ConfirmationModal/ConfirmationModal.js +118 -0
  401. package/components/molecules/ConfirmationModal/index.js +1 -0
  402. package/components/molecules/ConfirmationModal/style.js +171 -0
  403. package/components/molecules/ContentPreviews/ContentPreviews.js +123 -0
  404. package/components/molecules/ContentPreviews/constants.js +1 -0
  405. package/components/molecules/ContentPreviews/index.js +1 -0
  406. package/components/molecules/ContentPreviews/mockData.js +95 -0
  407. package/components/molecules/ContentPreviews/style.js +36 -0
  408. package/components/molecules/ContentPreviews/tests/__snapshots__/index.test.js.snap +103 -0
  409. package/components/molecules/ContentPreviews/tests/index.test.js +30 -0
  410. package/components/molecules/ContentWithHeading/ContentWithHeading.js +27 -0
  411. package/components/molecules/ContentWithHeading/index.js +1 -0
  412. package/components/molecules/ContentWithHeading/style.js +0 -0
  413. package/components/molecules/CreateActionButton/CreateActionButton.js +73 -0
  414. package/components/molecules/CreateActionButton/index.js +1 -0
  415. package/components/molecules/CreateActionButton/style.js +10 -0
  416. package/components/molecules/CreateActionButton/tests/CreateActionButton.test.js +27 -0
  417. package/components/molecules/CreateActionButton/tests/__snapshots__/CreateActionButton.test.js.snap +57 -0
  418. package/components/molecules/CreateCustomFieldPopover/CreateCustomFieldPopover.js +236 -0
  419. package/components/molecules/CreateCustomFieldPopover/index.js +1 -0
  420. package/components/molecules/CreateCustomFieldPopover/style.js +55 -0
  421. package/components/molecules/CreateCustomFieldPopover/tests/CreateCustomFieldPopover.test.js +137 -0
  422. package/components/molecules/CreateOfferInfo/CreateOfferInfo.js +65 -0
  423. package/components/molecules/CreateOfferInfo/index.js +1 -0
  424. package/components/molecules/CreateOfferInfo/messages.js +17 -0
  425. package/components/molecules/CreateOfferInfo/style.js +23 -0
  426. package/components/molecules/CreateOfferInfo/tests/CreateOfferInfo.test.js +23 -0
  427. package/components/molecules/CreateOfferInfo/tests/__snapshots__/CreateOfferInfo.test.js.snap +127 -0
  428. package/components/molecules/CreateTierInfo/CreateTierInfo.js +64 -0
  429. package/components/molecules/CreateTierInfo/index.js +1 -0
  430. package/components/molecules/CreateTierInfo/messages.js +25 -0
  431. package/components/molecules/CreateTierInfo/style.js +24 -0
  432. package/components/molecules/CreateTracker/CreateTracker.js +1300 -0
  433. package/components/molecules/CreateTracker/actions.js +14 -0
  434. package/components/molecules/CreateTracker/constants.js +14 -0
  435. package/components/molecules/CreateTracker/index.js +1 -0
  436. package/components/molecules/CreateTracker/messages.js +289 -0
  437. package/components/molecules/CreateTracker/reducer.js +51 -0
  438. package/components/molecules/CreateTracker/saga.js +64 -0
  439. package/components/molecules/CreateTracker/selectors.js +32 -0
  440. package/components/molecules/CreateTracker/style.js +115 -0
  441. package/components/molecules/CreateTracker/tests/CreateTracker.test.js +426 -0
  442. package/components/molecules/CreateTracker/tests/__snapshots__/actions.test.js.snap +44 -0
  443. package/components/molecules/CreateTracker/tests/__snapshots__/reducer.test.js.snap +112 -0
  444. package/components/molecules/CreateTracker/tests/actions.test.js +19 -0
  445. package/components/molecules/CreateTracker/tests/mockData.js +876 -0
  446. package/components/molecules/CreateTracker/tests/reducer.test.js +164 -0
  447. package/components/molecules/CreateTracker/tests/saga.test.js +178 -0
  448. package/components/molecules/CreateTracker/tests/selectors.test.js +67 -0
  449. package/components/molecules/CreativesErrorFallBack/CreativesErrorFallback.js +33 -0
  450. package/components/molecules/CreativesErrorFallBack/index.js +1 -0
  451. package/components/molecules/CreativesErrorFallBack/style.js +10 -0
  452. package/components/molecules/CustomTree/CustomTree.js +315 -0
  453. package/components/molecules/CustomTree/index.js +1 -0
  454. package/components/molecules/CustomTree/messages.js +20 -0
  455. package/components/molecules/CustomTree/style.js +122 -0
  456. package/components/molecules/CustomTree/tests/CustomTree.test.js +87 -0
  457. package/components/molecules/CustomTree/tests/mocks/data.js +50 -0
  458. package/components/molecules/CustomTree/utils.js +40 -0
  459. package/components/molecules/CustomTreeHelper/CustomTreeHelper.js +284 -0
  460. package/components/molecules/CustomTreeHelper/constants.js +20 -0
  461. package/components/molecules/CustomTreeHelper/index.js +1 -0
  462. package/components/molecules/CustomTreeHelper/messages.js +133 -0
  463. package/components/molecules/CustomTreeHelper/style.js +183 -0
  464. package/components/molecules/CustomTreeHelper/tests/CustomTreeHelper.test.js +474 -0
  465. package/components/molecules/CustomTreeHelper/tests/mocks/data.js +152 -0
  466. package/components/molecules/CustomerLevelLimits/CustomerLevelLimits.js +203 -0
  467. package/components/molecules/CustomerLevelLimits/index.js +1 -0
  468. package/components/molecules/CustomerLevelLimits/messages.js +81 -0
  469. package/components/molecules/CustomerLevelLimits/style.js +72 -0
  470. package/components/molecules/CustomerLevelLimits/tests/CustomerLevelLimits.test.js +69 -0
  471. package/components/molecules/CustomerLevelLimits/tests/mockData.js +189 -0
  472. package/components/molecules/DateTimeMetaDataAttribute/DateTimeMetaDataAttribute.js +143 -0
  473. package/components/molecules/DateTimeMetaDataAttribute/index.js +1 -0
  474. package/components/molecules/DateTimeMetaDataAttribute/style.js +17 -0
  475. package/components/molecules/DelayCreatives/DelayCreatives.js +262 -0
  476. package/components/molecules/DelayCreatives/index.js +1 -0
  477. package/components/molecules/DelayCreatives/messages.js +20 -0
  478. package/components/molecules/DelayCreatives/style.js +64 -0
  479. package/components/molecules/DelayCreatives/tests/DelayCreatives.test.js +28 -0
  480. package/components/molecules/DestinationMapper/DestinationMapper.js +225 -0
  481. package/components/molecules/DestinationMapper/index.js +1 -0
  482. package/components/molecules/DestinationMapper/messages.js +59 -0
  483. package/components/molecules/DestinationMapper/style.js +125 -0
  484. package/components/molecules/DestinationMapper/tests/DestinationMapper.test.js +73 -0
  485. package/components/molecules/DifferentDestinationPrograms/DifferentDestinationPrograms.js +692 -0
  486. package/components/molecules/DifferentDestinationPrograms/index.js +1 -0
  487. package/components/molecules/DifferentDestinationPrograms/messages.js +90 -0
  488. package/components/molecules/DifferentDestinationPrograms/style.js +242 -0
  489. package/components/molecules/DifferentDestinationPrograms/tests/DifferentDestinationPrograms.test.js +195 -0
  490. package/components/molecules/DifferentDestinationPrograms/tests/mockData.js +256 -0
  491. package/components/molecules/DifferentDestinationPrograms/utils.js +197 -0
  492. package/components/molecules/DividerInlinedText/DividerInlinedText.js +42 -0
  493. package/components/molecules/DividerInlinedText/index.js +1 -0
  494. package/components/molecules/DividerInlinedText/style.js +22 -0
  495. package/components/molecules/DividerWithOverlappedText/DividerWithOverlappedText.js +48 -0
  496. package/components/molecules/DividerWithOverlappedText/index.js +1 -0
  497. package/components/molecules/DividerWithOverlappedText/style.js +16 -0
  498. package/components/molecules/DoubleMetaDataAttribute/DoubleMetaDataAttribute.js +92 -0
  499. package/components/molecules/DoubleMetaDataAttribute/index.js +1 -0
  500. package/components/molecules/DoubleMetaDataAttribute/messages.js +10 -0
  501. package/components/molecules/DoubleMetaDataAttribute/style.js +7 -0
  502. package/components/molecules/DowngradeTier/DowngradeTier.js +778 -0
  503. package/components/molecules/DowngradeTier/constants.js +18 -0
  504. package/components/molecules/DowngradeTier/index.js +1 -0
  505. package/components/molecules/DowngradeTier/messages.js +123 -0
  506. package/components/molecules/DowngradeTier/style.js +230 -0
  507. package/components/molecules/DowngradeTier/tests/DowngradeTier.test.js +274 -0
  508. package/components/molecules/DowngradeTier/utils.js +88 -0
  509. package/components/molecules/EarnStrategyConditions/EarnStrategyConditions.js +236 -0
  510. package/components/molecules/EarnStrategyConditions/index.js +1 -0
  511. package/components/molecules/EarnStrategyConditions/messages.js +42 -0
  512. package/components/molecules/EarnStrategyConditions/style.js +68 -0
  513. package/components/molecules/EarnStrategyConditions/tests/EarnStrategyConditions.test.js +64 -0
  514. package/components/molecules/EarnStrategyConditions/tests/EarnStrategySameConditions.test.js +102 -0
  515. package/components/molecules/EmptyStateIllustration/EmptyStateIllustration.js +69 -0
  516. package/components/molecules/EmptyStateIllustration/index.js +1 -0
  517. package/components/molecules/EmptyStateIllustration/messages.js +21 -0
  518. package/components/molecules/EmptyStateIllustration/stories/EmptyStateIllustration.stories.js +7 -0
  519. package/components/molecules/EmptyStateIllustration/style.js +11 -0
  520. package/components/molecules/EmptyStateIllustration/tests/EmptyStateIllustration.test.js +35 -0
  521. package/components/molecules/ErrorBoundaryWrapper/ErrorBoundaryWrapper.js +87 -0
  522. package/components/molecules/ErrorBoundaryWrapper/index.js +1 -0
  523. package/components/molecules/ErrorBoundaryWrapper/messages.js +24 -0
  524. package/components/molecules/ExpandedStepsWithContent/ExandedStepsWithContent.js +98 -0
  525. package/components/molecules/ExpandedStepsWithContent/index.js +1 -0
  526. package/components/molecules/ExpandedStepsWithContent/messages.js +16 -0
  527. package/components/molecules/ExpandedStepsWithContent/style.js +63 -0
  528. package/components/molecules/ExpiryConditionSlideBox/ExpiryConditionSlideBox.js +169 -0
  529. package/components/molecules/ExpiryConditionSlideBox/constants.js +4 -0
  530. package/components/molecules/ExpiryConditionSlideBox/index.js +1 -0
  531. package/components/molecules/ExpiryConditionSlideBox/messages.js +106 -0
  532. package/components/molecules/ExpiryConditionSlideBox/style.js +36 -0
  533. package/components/molecules/ExpiryConditionSlideBox/tests/ExpiryConditionSlideBox.test.js +42 -0
  534. package/components/molecules/ExpiryReminder/ExpiryReminder.js +229 -0
  535. package/components/molecules/ExpiryReminder/index.js +1 -0
  536. package/components/molecules/ExpiryReminder/messages.js +23 -0
  537. package/components/molecules/ExpiryReminder/style.js +61 -0
  538. package/components/molecules/ExpiryReminder/tests/ExpiryReminder.test.js +204 -0
  539. package/components/molecules/FileSelector/FileSelector.js +82 -0
  540. package/components/molecules/FileSelector/index.js +1 -0
  541. package/components/molecules/FileSelector/messages.js +20 -0
  542. package/components/molecules/FileSelector/style.js +14 -0
  543. package/components/molecules/HeaderWithButton/HeaderWithButton.js +49 -0
  544. package/components/molecules/HeaderWithButton/index.js +1 -0
  545. package/components/molecules/HeaderWithInput/HeaderWithInput.js +98 -0
  546. package/components/molecules/HeaderWithInput/index.js +1 -0
  547. package/components/molecules/HeaderWithInput/style.js +18 -0
  548. package/components/molecules/HeaderWithSwitch/HeaderWithSwitch.js +121 -0
  549. package/components/molecules/HeaderWithSwitch/index.js +1 -0
  550. package/components/molecules/ImageUploadMolecule/UploadImageMolecule.js +137 -0
  551. package/components/molecules/ImageUploadMolecule/index.js +1 -0
  552. package/components/molecules/ImageUploadMolecule/messages.js +26 -0
  553. package/components/molecules/ImageUploadMolecule/style.js +69 -0
  554. package/components/molecules/ImageUploadMolecule/tests/UploadImageMolecule.test.js +139 -0
  555. package/components/molecules/InfoBanner/InfoBanner.js +55 -0
  556. package/components/molecules/InfoBanner/index.js +1 -0
  557. package/components/molecules/InfoBanner/style.js +41 -0
  558. package/components/molecules/InputToInput/InputToInput.js +51 -0
  559. package/components/molecules/InputToInput/index.js +1 -0
  560. package/components/molecules/InputToInput/stories/InputToInput.stories.js +24 -0
  561. package/components/molecules/InputToInput/style.js +10 -0
  562. package/components/molecules/InputToInput/tests/index.test.js +11 -0
  563. package/components/molecules/InputWithPrefixSufix/InputWithPrefixSufix.js +70 -0
  564. package/components/molecules/InputWithPrefixSufix/index.js +1 -0
  565. package/components/molecules/InputWithPrefixSufix/style.js +27 -0
  566. package/components/molecules/InputWithPrefixSufixAndCommChannel/InputWithPrefixSufixAndCommChannel.js +135 -0
  567. package/components/molecules/InputWithPrefixSufixAndCommChannel/index.js +1 -0
  568. package/components/molecules/InputWithPrefixSufixAndCommChannel/messages.js +11 -0
  569. package/components/molecules/InputWithPrefixSufixAndCommChannel/style.js +65 -0
  570. package/components/molecules/InstructionList.js/InstructionList.js +41 -0
  571. package/components/molecules/InstructionList.js/index.js +1 -0
  572. package/components/molecules/InstructionList.js/style.js +54 -0
  573. package/components/molecules/IssueRewardsCustomFields/IssueRewardsCustomFields.js +892 -0
  574. package/components/molecules/IssueRewardsCustomFields/index.js +1 -0
  575. package/components/molecules/IssueRewardsCustomFields/messages.js +108 -0
  576. package/components/molecules/IssueRewardsCustomFields/style.js +159 -0
  577. package/components/molecules/IssueRewardsCustomFields/tests/IssueRewardsCustomFields.test.js +212 -0
  578. package/components/molecules/IssueRewardsCustomFields/tests/mockData.js +164 -0
  579. package/components/molecules/IssueRewardsCustomFields/tests/utils.test.js +38 -0
  580. package/components/molecules/IssueRewardsCustomFields/utils.js +88 -0
  581. package/components/molecules/LabelValueWithVerticalDivider/LabelValueWithVerticalDivider.js +82 -0
  582. package/components/molecules/LabelValueWithVerticalDivider/index.js +1 -0
  583. package/components/molecules/LabelValueWithVerticalDivider/style.js +28 -0
  584. package/components/molecules/LabelValueWithVerticalDivider/tests/LabelValueWithVerticalDivider.test.js +46 -0
  585. package/components/molecules/LabelValueWithVerticalDivider/tests/mockData.js +14 -0
  586. package/components/molecules/LabelWithDivider/LabelWithDivider.js +45 -0
  587. package/components/molecules/LabelWithDivider/index.js +1 -0
  588. package/components/molecules/ListDragAndDrop/ListDragAndDrop.js +103 -0
  589. package/components/molecules/ListDragAndDrop/index.js +1 -0
  590. package/components/molecules/ListDragAndDrop/tests/ListDragAndDrop.test.js +30 -0
  591. package/components/molecules/LoyaltyStatus/LoyaltyStatus.js +57 -0
  592. package/components/molecules/LoyaltyStatus/constants.js +6 -0
  593. package/components/molecules/LoyaltyStatus/index.js +1 -0
  594. package/components/molecules/LoyaltyStatus/messages.js +24 -0
  595. package/components/molecules/LoyaltyStatus/stories/LoyaltyStatus.stories.js +7 -0
  596. package/components/molecules/LoyaltyStatus/style.js +12 -0
  597. package/components/molecules/LoyaltyStatus/tests/LoyaltyStatus.test.js +17 -0
  598. package/components/molecules/LoyaltyStatus/tests/__snapshots__/LoyaltyStatus.test.js.snap +7681 -0
  599. package/components/molecules/LoyaltyStatus/tests/mockdata.js +1 -0
  600. package/components/molecules/MoreLabel/MoreLabel.js +56 -0
  601. package/components/molecules/MoreLabel/index.js +1 -0
  602. package/components/molecules/NoTargetView/NoTargetView.js +84 -0
  603. package/components/molecules/NoTargetView/index.js +1 -0
  604. package/components/molecules/NoTargetView/style.js +55 -0
  605. package/components/molecules/NoTargetView/tests/NoTargetView.test.js +53 -0
  606. package/components/molecules/NudgeModal/NudgeModal.js +78 -0
  607. package/components/molecules/NudgeModal/index.js +1 -0
  608. package/components/molecules/NudgeModal/style.js +26 -0
  609. package/components/molecules/NumberInput/NumberInput.js +138 -0
  610. package/components/molecules/NumberInput/constants.js +8 -0
  611. package/components/molecules/NumberInput/index.js +1 -0
  612. package/components/molecules/NumberInput/style.js +10 -0
  613. package/components/molecules/PageHeaderDescription/PageHeaderDescription.js +123 -0
  614. package/components/molecules/PageHeaderDescription/constants.js +0 -0
  615. package/components/molecules/PageHeaderDescription/index.js +1 -0
  616. package/components/molecules/PageHeaderDescription/messages.js +11 -0
  617. package/components/molecules/PageHeaderDescription/stories/PageHeaderDescription.stories.js +14 -0
  618. package/components/molecules/PageHeaderDescription/style.js +45 -0
  619. package/components/molecules/PageHeaderDescription/tests/PageHeaderDescription.test.js +36 -0
  620. package/components/molecules/PageHeaderDescription/tests/PageHeaderDescription_jest.test.js +53 -0
  621. package/components/molecules/PageHeaderDescription/tests/__snapshots__/PageHeaderDescription.test.js.snap +245 -0
  622. package/components/molecules/PartnerProgramsConfigPane/PartnerProgramsConfigPane.js +263 -0
  623. package/components/molecules/PartnerProgramsConfigPane/constants.js +2 -0
  624. package/components/molecules/PartnerProgramsConfigPane/index.js +1 -0
  625. package/components/molecules/PartnerProgramsConfigPane/messages.js +39 -0
  626. package/components/molecules/PartnerProgramsConfigPane/style.js +26 -0
  627. package/components/molecules/PartnerProgramsConfigPane/tests/SupplementaryProgramsConfigPane.test.js +26 -0
  628. package/components/molecules/PartnerProgramsSettings/PartnerProgramsSettings.js +266 -0
  629. package/components/molecules/PartnerProgramsSettings/constants.js +5 -0
  630. package/components/molecules/PartnerProgramsSettings/index.js +1 -0
  631. package/components/molecules/PartnerProgramsSettings/messages.js +57 -0
  632. package/components/molecules/PartnerProgramsSettings/style.js +72 -0
  633. package/components/molecules/PartnerProgramsSettings/tests/SupplementaryProgramsSettings.test.js +116 -0
  634. package/components/molecules/PartnerProgramsSettings/tests/mockData.js +42 -0
  635. package/components/molecules/PartnerProgramsSettings/utils.js +32 -0
  636. package/components/molecules/PointExpiryCommunication/PointExpiryCommunication.js +363 -0
  637. package/components/molecules/PointExpiryCommunication/constants.js +12 -0
  638. package/components/molecules/PointExpiryCommunication/index.js +1 -0
  639. package/components/molecules/PointExpiryCommunication/messages.js +28 -0
  640. package/components/molecules/PointExpiryCommunication/style.js +50 -0
  641. package/components/molecules/PointExpiryCommunication/tests/__snapshots__/index.test.js.snap +39 -0
  642. package/components/molecules/PointExpiryCommunication/tests/index.test.js +13 -0
  643. package/components/molecules/PointsLimitContent/PointsLimitContent.js +30 -0
  644. package/components/molecules/PointsLimitContent/index.js +1 -0
  645. package/components/molecules/PointsTransferCollapseData/PointsTransferCollapseData.js +805 -0
  646. package/components/molecules/PointsTransferCollapseData/index.js +1 -0
  647. package/components/molecules/PointsTransferCollapseData/messages.js +92 -0
  648. package/components/molecules/PointsTransferCollapseData/stories/CollapseData.stories.js +5 -0
  649. package/components/molecules/PointsTransferCollapseData/style.js +40 -0
  650. package/components/molecules/PointsTransferCollapseData/tests/index.test.js +680 -0
  651. package/components/molecules/PointsTransferCollapseData/tests/mockData.js +168 -0
  652. package/components/molecules/PointsTransferSettings/PointsTransferSettings.js +24 -0
  653. package/components/molecules/PointsTransferSettings/index.js +1 -0
  654. package/components/molecules/PointsTransferSettings/messages.js +16 -0
  655. package/components/molecules/PointsTransferSettings/tests/index.test.js +11 -0
  656. package/components/molecules/ProgramName/ProgramName.js +167 -0
  657. package/components/molecules/ProgramName/index.js +1 -0
  658. package/components/molecules/ProgramName/messages.js +20 -0
  659. package/components/molecules/ProgramName/style.js +77 -0
  660. package/components/molecules/ProgramName/tests/ProgramName.test.js +60 -0
  661. package/components/molecules/ProgramTitle/ProgramTitle.js +65 -0
  662. package/components/molecules/ProgramTitle/index.js +1 -0
  663. package/components/molecules/ProgramTitle/tests/index.test.js +11 -0
  664. package/components/molecules/ProgramValueSkeleton/ProgramValueSkeleton.js +85 -0
  665. package/components/molecules/ProgramValueSkeleton/index.js +1 -0
  666. package/components/molecules/ProgramValueSkeleton/style.js +10 -0
  667. package/components/molecules/ProgramValueSkeleton/tests/index.test.js +11 -0
  668. package/components/molecules/PromotionCalendarLazyLoad/PromotionCalendarLazyLoad.js +27 -0
  669. package/components/molecules/PromotionCalendarLazyLoad/index.js +1 -0
  670. package/components/molecules/PromotionCalendarLazyLoad/style.js +11 -0
  671. package/components/molecules/PromotionCalendarLazyLoad/tests/PromotionCalendarLazyLoad.test.js +16 -0
  672. package/components/molecules/PromotionCalendarPopoverContent/PromotionCalendarPopoverContent.js +157 -0
  673. package/components/molecules/PromotionCalendarPopoverContent/index.js +1 -0
  674. package/components/molecules/PromotionCalendarPopoverContent/messages.js +23 -0
  675. package/components/molecules/PromotionCalendarPopoverContent/tests/PromotionCalendarPopoverContent.test.js +52 -0
  676. package/components/molecules/PromotionCalendarPopoverContent/tests/mockData.js +199 -0
  677. package/components/molecules/PromotionListLazyLoad/PromotionListLazyLoad.js +24 -0
  678. package/components/molecules/PromotionListLazyLoad/index.js +1 -0
  679. package/components/molecules/PromotionListLazyLoad/style.js +13 -0
  680. package/components/molecules/PromotionSettingsContent/PromotionSettingsContent.js +46 -0
  681. package/components/molecules/PromotionSettingsContent/index.js +1 -0
  682. package/components/molecules/PromotionsTableHeader/PromotionsTableHeader.js +303 -0
  683. package/components/molecules/PromotionsTableHeader/index.js +1 -0
  684. package/components/molecules/PromotionsTableHeader/style.js +178 -0
  685. package/components/molecules/PromotionsTableHeader/tests/PromotionsTableHeader.test.js +126 -0
  686. package/components/molecules/PromotionsTableHeader/tests/mockData.js +81 -0
  687. package/components/molecules/PublishAndActivateModal/PublishAndActivateModal.js +222 -0
  688. package/components/molecules/PublishAndActivateModal/index.js +1 -0
  689. package/components/molecules/PublishAndActivateModal/messages.js +33 -0
  690. package/components/molecules/PublishAndActivateModal/style.js +53 -0
  691. package/components/molecules/PublishAndActivateModal/tests/PublishAndActivateModal.test.js +63 -0
  692. package/components/molecules/RadioContentSlidebox/RadioContentSlidebox.js +57 -0
  693. package/components/molecules/RadioContentSlidebox/index.js +1 -0
  694. package/components/molecules/RadioWithInfo/RadioWithInfo.js +60 -0
  695. package/components/molecules/RadioWithInfo/index.js +1 -0
  696. package/components/molecules/RadioWithInfo/style.js +62 -0
  697. package/components/molecules/RadioWithInfo/tests/RadioWithInfo.test.js +15 -0
  698. package/components/molecules/RadioWithInfo/tests/__snapshots__/RadioWithInfo.test.js.snap +1379 -0
  699. package/components/molecules/RenewalTier/RenewalTier.js +272 -0
  700. package/components/molecules/RenewalTier/constants.js +9 -0
  701. package/components/molecules/RenewalTier/index.js +1 -0
  702. package/components/molecules/RenewalTier/messages.js +20 -0
  703. package/components/molecules/RenewalTierV2/RenewalTierV2.js +503 -0
  704. package/components/molecules/RenewalTierV2/constants.js +9 -0
  705. package/components/molecules/RenewalTierV2/index.js +1 -0
  706. package/components/molecules/RenewalTierV2/messages.js +66 -0
  707. package/components/molecules/RenewalTierV2/tests/RenewalTierV2.test.js +49 -0
  708. package/components/molecules/RenewalTierV2/utils.js +115 -0
  709. package/components/molecules/ReplaceExistingDraftNotification/ReplaceExistingDraftNotification.js +161 -0
  710. package/components/molecules/ReplaceExistingDraftNotification/index.js +1 -0
  711. package/components/molecules/ReplaceExistingDraftNotification/messages.js +36 -0
  712. package/components/molecules/ReplaceExistingDraftNotification/style.js +87 -0
  713. package/components/molecules/ReplaceExistingDraftNotification/tests/ReplaceExistingDraftNotification.test.js +83 -0
  714. package/components/molecules/ReplaceExistingDraftNotification/tests/mockData.js +73 -0
  715. package/components/molecules/RestoreModal/RestoreModal.js +159 -0
  716. package/components/molecules/RestoreModal/index.js +1 -0
  717. package/components/molecules/RestoreModal/messages.js +39 -0
  718. package/components/molecules/RestoreModal/style.js +74 -0
  719. package/components/molecules/RestoreModal/tests/RestoreModal.test.js +57 -0
  720. package/components/molecules/ReviewTierModal/ReviewTierModal.js +128 -0
  721. package/components/molecules/ReviewTierModal/index.js +1 -0
  722. package/components/molecules/ReviewTierModal/messages.js +16 -0
  723. package/components/molecules/ReviewTierModal/style.js +38 -0
  724. package/components/molecules/RewardCatalogViewTitle/RewardCatalogViewTitle.js +66 -0
  725. package/components/molecules/RewardCatalogViewTitle/index.js +1 -0
  726. package/components/molecules/RootConfirmModal/RootConfirmModal.js +68 -0
  727. package/components/molecules/RootConfirmModal/index.js +1 -0
  728. package/components/molecules/RowHeader/RowHeader.js +101 -0
  729. package/components/molecules/RowHeader/index.js +1 -0
  730. package/components/molecules/RowHeader/style.js +7 -0
  731. package/components/molecules/RowHeader/tests/RowHeader.test.js +48 -0
  732. package/components/molecules/RowHeader/tests/__snapshots__/RowHeader.test.js.snap +291 -0
  733. package/components/molecules/SameDestinationPrograms/SameDestinationPrograms.js +583 -0
  734. package/components/molecules/SameDestinationPrograms/index.js +1 -0
  735. package/components/molecules/SameDestinationPrograms/messages.js +67 -0
  736. package/components/molecules/SameDestinationPrograms/style.js +224 -0
  737. package/components/molecules/SameDestinationPrograms/tests/SameDestinationPrograms.test.js +197 -0
  738. package/components/molecules/SelectApiWrapper/SelectApiWrapper.js +120 -0
  739. package/components/molecules/SelectApiWrapper/index.js +1 -0
  740. package/components/molecules/SelectApiWrapper/messages.js +20 -0
  741. package/components/molecules/SelectApiWrapper/style.js +14 -0
  742. package/components/molecules/SelectCollection/SelectCollection.js +88 -0
  743. package/components/molecules/SelectCollection/index.js +2 -0
  744. package/components/molecules/SelectCollection/style.js +8 -0
  745. package/components/molecules/SelectCollection/tests/index.test.js +11 -0
  746. package/components/molecules/SelectsWithAction/SelectsWithAction.js +70 -0
  747. package/components/molecules/SelectsWithAction/index.js +1 -0
  748. package/components/molecules/SenderCreatives/SenderCreatives.js +41 -0
  749. package/components/molecules/SenderCreatives/index.js +0 -0
  750. package/components/molecules/SenderInformation/SenderInformation.js +194 -0
  751. package/components/molecules/SenderInformation/index.js +1 -0
  752. package/components/molecules/SenderInformation/messages.js +68 -0
  753. package/components/molecules/SenderInformation/style.js +27 -0
  754. package/components/molecules/SenderInformation/tests/SenderInformation.test.js +34 -0
  755. package/components/molecules/SenderSlideBox/SenderSlideBox.js +434 -0
  756. package/components/molecules/SenderSlideBox/index.js +1 -0
  757. package/components/molecules/SenderSlideBox/style.js +82 -0
  758. package/components/molecules/SenderSlideBox/tests/SenderSlideBox.test.js +48 -0
  759. package/components/molecules/SomethingWentWrong/SomethingWentWrong.js +52 -0
  760. package/components/molecules/SomethingWentWrong/index.js +1 -0
  761. package/components/molecules/SomethingWentWrong/style.js +5 -0
  762. package/components/molecules/SortHeader/SortHeader.js +55 -0
  763. package/components/molecules/SortHeader/index.js +1 -0
  764. package/components/molecules/SortHeader/tests/index.test.js +11 -0
  765. package/components/molecules/StepFunctionEarnStrategy/StepFunctionEarnStrategy.js +153 -0
  766. package/components/molecules/StepFunctionEarnStrategy/index.js +1 -0
  767. package/components/molecules/StepFunctionEarnStrategy/messages.js +33 -0
  768. package/components/molecules/StepFunctionEarnStrategy/style.js +56 -0
  769. package/components/molecules/StepFunctionEarnStrategy/tests/StepFunctionEarnStrategy.test.js +113 -0
  770. package/components/molecules/StepFunctionEarnStrategy/tests/mockData.js +29 -0
  771. package/components/molecules/StrategiesTag/StrategiesTag.js +71 -0
  772. package/components/molecules/StrategiesTag/index.js +1 -0
  773. package/components/molecules/StrategiesTag/style.js +15 -0
  774. package/components/molecules/StringMetaDataAttribute/StringMetaDataAttribute.js +86 -0
  775. package/components/molecules/StringMetaDataAttribute/index.js +1 -0
  776. package/components/molecules/StringMetaDataAttribute/messages.js +10 -0
  777. package/components/molecules/StringMetaDataAttribute/style.js +3 -0
  778. package/components/molecules/SuggestionCard/SuggestionCard.js +121 -0
  779. package/components/molecules/SuggestionCard/index.js +1 -0
  780. package/components/molecules/SuggestionCard/messages.js +20 -0
  781. package/components/molecules/SuggestionCard/style.js +56 -0
  782. package/components/molecules/SuggestionCard/tests/index.test.js +11 -0
  783. package/components/molecules/SupplementaryExpiryReminder/SupplementaryExpiryReminder.js +171 -0
  784. package/components/molecules/SupplementaryExpiryReminder/index.js +1 -0
  785. package/components/molecules/SupplementaryExpiryReminder/messages.js +19 -0
  786. package/components/molecules/SupplementaryExpiryReminder/style.js +16 -0
  787. package/components/molecules/SupplementaryExpiryReminder/tests/SupplementaryExpiryReminder.test.js +77 -0
  788. package/components/molecules/SupplementaryExpiryReminder/tests/SupplementaryViewExpiryReminder.test.js +58 -0
  789. package/components/molecules/SupplementaryExpiryReminder/utils.js +7 -0
  790. package/components/molecules/Switch/Switch.js +113 -0
  791. package/components/molecules/Switch/index.js +1 -0
  792. package/components/molecules/Switch/style.js +30 -0
  793. package/components/molecules/Switch/tests/Switch.test.js +26 -0
  794. package/components/molecules/Switch/tests/mockData.js +9 -0
  795. package/components/molecules/SwitchWithDivider/SwitchWithDivider.js +98 -0
  796. package/components/molecules/SwitchWithDivider/index.js +1 -0
  797. package/components/molecules/SwitchWithDivider/style.js +29 -0
  798. package/components/molecules/SwitchWithDivider/tests/SwitchWithDivider.test.js +26 -0
  799. package/components/molecules/SwitchWithDivider/tests/mockData.js +9 -0
  800. package/components/molecules/SyncLabel/SyncLabel.js +53 -0
  801. package/components/molecules/SyncLabel/index.js +1 -0
  802. package/components/molecules/SyncLabel/style.js +12 -0
  803. package/components/molecules/SyncLabel/tests/SyncLabel.test.js +22 -0
  804. package/components/molecules/SyncLabel/tests/__snapshots__/SyncLabel.test.js.snap +5304 -0
  805. package/components/molecules/TableCommunication/constants.js +9 -0
  806. package/components/molecules/TableCommunication/index.js +1 -0
  807. package/components/molecules/TableOption/TableOption.js +149 -0
  808. package/components/molecules/TableOption/constants.js +1 -0
  809. package/components/molecules/TableOption/index.js +1 -0
  810. package/components/molecules/TableOption/style.js +19 -0
  811. package/components/molecules/TableOption/tests/index.test.js +11 -0
  812. package/components/molecules/TagForCapAndScope/TagForCapAndScope.js +47 -0
  813. package/components/molecules/TagForCapAndScope/index.js +1 -0
  814. package/components/molecules/TagForCapAndScope/style.js +19 -0
  815. package/components/molecules/TagsTab/TagsTab.js +77 -0
  816. package/components/molecules/TagsTab/index.js +1 -0
  817. package/components/molecules/TagsTab/style.js +14 -0
  818. package/components/molecules/TagsTab/tests/index.test.js +11 -0
  819. package/components/molecules/TierButtonInput/TierButtonInput.js +56 -0
  820. package/components/molecules/TierButtonInput/index.js +1 -0
  821. package/components/molecules/TierButtonInput/style.js +31 -0
  822. package/components/molecules/TierCard/BlockContent.js +125 -0
  823. package/components/molecules/TierCard/CardBody.js +433 -0
  824. package/components/molecules/TierCard/CardContent.js +51 -0
  825. package/components/molecules/TierCard/TierCard.js +123 -0
  826. package/components/molecules/TierCard/TierWithContent.js +61 -0
  827. package/components/molecules/TierCard/constants.js +16 -0
  828. package/components/molecules/TierCard/index.js +1 -0
  829. package/components/molecules/TierCard/messages.js +93 -0
  830. package/components/molecules/TierCard/style.js +147 -0
  831. package/components/molecules/TierCard/tests/BlockContent.test.js +37 -0
  832. package/components/molecules/TierCard/tests/CardBody.test.js +497 -0
  833. package/components/molecules/TierCard/tests/CardContent.test.js +36 -0
  834. package/components/molecules/TierCard/tests/mockData.js +21 -0
  835. package/components/molecules/TierCardHeader/TierCardHeader.js +73 -0
  836. package/components/molecules/TierCardHeader/index.js +1 -0
  837. package/components/molecules/TierCardHeader/style.js +32 -0
  838. package/components/molecules/TierRenewalCommunication/TierRenewalCommunication.js +235 -0
  839. package/components/molecules/TierRenewalCommunication/constants.js +12 -0
  840. package/components/molecules/TierRenewalCommunication/index.js +1 -0
  841. package/components/molecules/TierRenewalCommunication/messages.js +24 -0
  842. package/components/molecules/TierRenewalCommunication/style.js +23 -0
  843. package/components/molecules/TierRenewalCommunication/tests/__snapshots__/index.test.js.snap +42 -0
  844. package/components/molecules/TierRenewalCommunication/tests/index.test.js +13 -0
  845. package/components/molecules/TierUpgradeCommunication/TierUpgradeCommunication.js +105 -0
  846. package/components/molecules/TierUpgradeCommunication/constants.js +2 -0
  847. package/components/molecules/TierUpgradeCommunication/index.js +1 -0
  848. package/components/molecules/TierUpgradeCommunication/style.js +51 -0
  849. package/components/molecules/TierUpgradeCommunication/tests/__snapshots__/index.test.js.snap +11 -0
  850. package/components/molecules/TierUpgradeCommunication/tests/index.test.js +13 -0
  851. package/components/molecules/TitleWithStatus/TitleWithStatus.js +60 -0
  852. package/components/molecules/TitleWithStatus/index.js +1 -0
  853. package/components/molecules/TitleWithStatus/style.js +15 -0
  854. package/components/molecules/TitleWithStatus/tests/index.test.js +11 -0
  855. package/components/molecules/TrackerValueContent/TrackerValueContent.js +115 -0
  856. package/components/molecules/TrackerValueContent/index.js +1 -0
  857. package/components/molecules/TrackerValueContent/style.js +0 -0
  858. package/components/molecules/UpgradeTier/UpgradeTier.js +357 -0
  859. package/components/molecules/UpgradeTier/constants.js +0 -0
  860. package/components/molecules/UpgradeTier/index.js +1 -0
  861. package/components/molecules/UpgradeTier/messages.js +25 -0
  862. package/components/molecules/UpgradeTier/tests/UpgradeTier.test.js +48 -0
  863. package/components/molecules/UpgradeTierV2/UpgradeTierV2.js +912 -0
  864. package/components/molecules/UpgradeTierV2/constants.js +5 -0
  865. package/components/molecules/UpgradeTierV2/index.js +1 -0
  866. package/components/molecules/UpgradeTierV2/messages.js +95 -0
  867. package/components/molecules/UpgradeTierV2/tests/UpgradeTierV2.test.js +350 -0
  868. package/components/molecules/UpgradeTierV2/tests/mockData.js +840 -0
  869. package/components/molecules/UpgradeTierV2/tests/utils.test.js +299 -0
  870. package/components/molecules/UpgradeTierV2/utils.js +323 -0
  871. package/components/molecules/UpgradeTrackerTier/UpgradeTrackerTier.js +212 -0
  872. package/components/molecules/UpgradeTrackerTier/index.js +1 -0
  873. package/components/molecules/UpgradeTrackerTierV2/UpgradeTrackerTierV2.js +480 -0
  874. package/components/molecules/UpgradeTrackerTierV2/index.js +1 -0
  875. package/components/molecules/UpgradeTrackerTierV2/style.js +53 -0
  876. package/components/molecules/UpgradeTrackerTierV2/tests/UpgradeTrackerTierV2.test.js +276 -0
  877. package/components/molecules/UpgradeTrackerTierV2/tests/mockData.js +696 -0
  878. package/components/molecules/VersioningPublishModal/VersioningPublishModal.js +134 -0
  879. package/components/molecules/VersioningPublishModal/index.js +1 -0
  880. package/components/molecules/VersioningPublishModal/messages.js +39 -0
  881. package/components/molecules/VersioningPublishModal/style.js +41 -0
  882. package/components/molecules/VersioningPublishModal/tests/VersioningPublishModal.test.js +89 -0
  883. package/components/organisms/ActionExpression/ActionExpression.js +357 -0
  884. package/components/organisms/ActionExpression/actions.js +12 -0
  885. package/components/organisms/ActionExpression/constants.js +25 -0
  886. package/components/organisms/ActionExpression/index.js +1 -0
  887. package/components/organisms/ActionExpression/messages.js +17 -0
  888. package/components/organisms/ActionExpression/reducer.js +112 -0
  889. package/components/organisms/ActionExpression/saga.js +63 -0
  890. package/components/organisms/ActionExpression/selectors.js +13 -0
  891. package/components/organisms/ActionExpression/style.js +126 -0
  892. package/components/organisms/ActionExpression/tests/ActionExpression.test.js +56 -0
  893. package/components/organisms/ActionExpression/tests/ActionExpression1.test.js +262 -0
  894. package/components/organisms/ActionExpression/tests/__snapshots__/ActionExpression.test.js.snap +170 -0
  895. package/components/organisms/ActionExpression/tests/actions.test.js +24 -0
  896. package/components/organisms/ActionExpression/tests/mockData.js +50 -0
  897. package/components/organisms/ActionExpression/tests/reducer.test.js +124 -0
  898. package/components/organisms/ActionExpression/tests/saga.test.js +144 -0
  899. package/components/organisms/ActionExpression/tests/selectors.test.js +18 -0
  900. package/components/organisms/ActionExpression/tests/utils.test.js +49 -0
  901. package/components/organisms/ActionExpression/utils.js +50 -0
  902. package/components/organisms/ActivityRewardCurrencyCard/ActivityRewardCurrencyCard.js +414 -0
  903. package/components/organisms/ActivityRewardCurrencyCard/actions.js +21 -0
  904. package/components/organisms/ActivityRewardCurrencyCard/constants.js +7 -0
  905. package/components/organisms/ActivityRewardCurrencyCard/index.js +1 -0
  906. package/components/organisms/ActivityRewardCurrencyCard/messages.js +48 -0
  907. package/components/organisms/ActivityRewardCurrencyCard/reducer.js +48 -0
  908. package/components/organisms/ActivityRewardCurrencyCard/saga.js +65 -0
  909. package/components/organisms/ActivityRewardCurrencyCard/selectors.js +12 -0
  910. package/components/organisms/ActivityRewardCurrencyCard/style.js +85 -0
  911. package/components/organisms/ActivityRewardCurrencyCard/tests/actions.test.js +18 -0
  912. package/components/organisms/ActivityRewardCurrencyCard/tests/activityRewardCurrencyLimit.test.js +93 -0
  913. package/components/organisms/ActivityRewardCurrencyCard/tests/noTargetGroups.test.js +71 -0
  914. package/components/organisms/ActivityRewardCurrencyCard/tests/reducer.test.js +93 -0
  915. package/components/organisms/ActivityRewardCurrencyCard/tests/saga.test.js +140 -0
  916. package/components/organisms/ActivityRewardCurrencyCard/tests/selectors.test.js +21 -0
  917. package/components/organisms/ActivityRewardSlider/ConfirmEditModal.js +86 -0
  918. package/components/organisms/ActivityRewardSlider/actions.js +42 -0
  919. package/components/organisms/ActivityRewardSlider/activityRewardSlider.js +1135 -0
  920. package/components/organisms/ActivityRewardSlider/constants.js +77 -0
  921. package/components/organisms/ActivityRewardSlider/context.js +7 -0
  922. package/components/organisms/ActivityRewardSlider/index.js +1 -0
  923. package/components/organisms/ActivityRewardSlider/messages.js +203 -0
  924. package/components/organisms/ActivityRewardSlider/reducer.js +43 -0
  925. package/components/organisms/ActivityRewardSlider/saga.js +126 -0
  926. package/components/organisms/ActivityRewardSlider/selectors.js +29 -0
  927. package/components/organisms/ActivityRewardSlider/style.js +90 -0
  928. package/components/organisms/ActivityRewardSlider/tests/actions.test.js +20 -0
  929. package/components/organisms/ActivityRewardSlider/tests/activityRewardSlider.test.js +163 -0
  930. package/components/organisms/ActivityRewardSlider/tests/activityRewardSliderEmpty.test.js +92 -0
  931. package/components/organisms/ActivityRewardSlider/tests/activityRewardSliderRevamp.test.js +292 -0
  932. package/components/organisms/ActivityRewardSlider/tests/cartLevelLimits.test.js +91 -0
  933. package/components/organisms/ActivityRewardSlider/tests/mockData.js +528 -0
  934. package/components/organisms/ActivityRewardSlider/tests/noTargetView.test.js +90 -0
  935. package/components/organisms/ActivityRewardSlider/tests/reducer.test.js +90 -0
  936. package/components/organisms/ActivityRewardSlider/tests/saga.test.js +363 -0
  937. package/components/organisms/ActivityRewardSlider/tests/selector.test.js +21 -0
  938. package/components/organisms/ActivityRewardSlider/tests/utils.test.js +188 -0
  939. package/components/organisms/ActivityRewardSlider/utils.js +43 -0
  940. package/components/organisms/ActivityRewardSliderV1/actions.js +14 -0
  941. package/components/organisms/ActivityRewardSliderV1/activityRewardSliderV1.js +316 -0
  942. package/components/organisms/ActivityRewardSliderV1/constants.js +27 -0
  943. package/components/organisms/ActivityRewardSliderV1/context.js +7 -0
  944. package/components/organisms/ActivityRewardSliderV1/index.js +1 -0
  945. package/components/organisms/ActivityRewardSliderV1/messages.js +19 -0
  946. package/components/organisms/ActivityRewardSliderV1/reducer.js +29 -0
  947. package/components/organisms/ActivityRewardSliderV1/saga.js +43 -0
  948. package/components/organisms/ActivityRewardSliderV1/selectors.js +12 -0
  949. package/components/organisms/ActivityRewardSliderV1/style.js +25 -0
  950. package/components/organisms/ActivityRewardSliderV1/tests/actions.test.js +12 -0
  951. package/components/organisms/ActivityRewardSliderV1/tests/activityRewardSliderEmpty.test.js +92 -0
  952. package/components/organisms/ActivityRewardSliderV1/tests/activityRewardSliderV1.test.js +271 -0
  953. package/components/organisms/ActivityRewardSliderV1/tests/reducer.test.js +53 -0
  954. package/components/organisms/ActivityRewardSliderV1/tests/saga.test.js +78 -0
  955. package/components/organisms/ActivityRewardSliderV1/tests/selector.test.js +21 -0
  956. package/components/organisms/AddEarnCondition/AddEarnCondition.js +1014 -0
  957. package/components/organisms/AddEarnCondition/actions.js +13 -0
  958. package/components/organisms/AddEarnCondition/constants.js +55 -0
  959. package/components/organisms/AddEarnCondition/context.js +7 -0
  960. package/components/organisms/AddEarnCondition/index.js +1 -0
  961. package/components/organisms/AddEarnCondition/messages.js +186 -0
  962. package/components/organisms/AddEarnCondition/reducer.js +49 -0
  963. package/components/organisms/AddEarnCondition/saga.js +88 -0
  964. package/components/organisms/AddEarnCondition/selectors.js +33 -0
  965. package/components/organisms/AddEarnCondition/style.js +117 -0
  966. package/components/organisms/AddEarnCondition/tests/AddEarnCondition.test.js +482 -0
  967. package/components/organisms/AddEarnCondition/tests/actions.test.js +23 -0
  968. package/components/organisms/AddEarnCondition/tests/mockData.js +107 -0
  969. package/components/organisms/AddEarnCondition/tests/saga.test.js +156 -0
  970. package/components/organisms/AddPaymentMethod/AddPaymentMethod.js +245 -0
  971. package/components/organisms/AddPaymentMethod/constants.js +9 -0
  972. package/components/organisms/AddPaymentMethod/index.js +1 -0
  973. package/components/organisms/AddPaymentMethod/style.js +48 -0
  974. package/components/organisms/AddPaymentMethod/tests/AddPaymentMethod.test.js +20 -0
  975. package/components/organisms/AddPointsAllocationLimitDetails/AddPointsAllocationLimitDetails.js +1629 -0
  976. package/components/organisms/AddPointsAllocationLimitDetails/constants.js +37 -0
  977. package/components/organisms/AddPointsAllocationLimitDetails/index.js +1 -0
  978. package/components/organisms/AddPointsAllocationLimitDetails/messages.js +364 -0
  979. package/components/organisms/AddPointsAllocationLimitDetails/style.js +428 -0
  980. package/components/organisms/AddPointsAllocationLimitDetails/tests/AddPointsAllocationLimitDetails.test.js +611 -0
  981. package/components/organisms/AddPointsAllocationLimitDetails/tests/actions.test.js +53 -0
  982. package/components/organisms/AddPointsAllocationLimitDetails/tests/mockData.js +38 -0
  983. package/components/organisms/AddPointsAllocationLimitDetails/tests/mocks/data.js +76 -0
  984. package/components/organisms/AddPointsAllocationLimitDetails/tests/reducer.test.js +223 -0
  985. package/components/organisms/AddPointsAllocationLimitDetails/tests/saga.test.js +275 -0
  986. package/components/organisms/AddPointsAllocationLimitDetails/tests/selectors.test.js +60 -0
  987. package/components/organisms/AddPointsAllocationLimitDetails/utils.js +27 -0
  988. package/components/organisms/AddPointsAllocationLimitSlider/AddPointsAllocationLimitSlider.js +596 -0
  989. package/components/organisms/AddPointsAllocationLimitSlider/constants.js +40 -0
  990. package/components/organisms/AddPointsAllocationLimitSlider/index.js +1 -0
  991. package/components/organisms/AddPointsAllocationLimitSlider/messages.js +44 -0
  992. package/components/organisms/AddPointsAllocationLimitSlider/style.js +63 -0
  993. package/components/organisms/AddPointsAllocationLimitSlider/tests/AddPointsAllocationLimitSlider.test.js +274 -0
  994. package/components/organisms/AddPointsAllocationLimitSlider/tests/mockData.js +533 -0
  995. package/components/organisms/AddPointsAllocationLimitSlider/tests/utils.test.js +52 -0
  996. package/components/organisms/AddPointsAllocationLimitSlider/utils.js +64 -0
  997. package/components/organisms/AddPointsFilterTransaction/AddPointsFilterTransaction.js +577 -0
  998. package/components/organisms/AddPointsFilterTransaction/constants.js +15 -0
  999. package/components/organisms/AddPointsFilterTransaction/index.js +1 -0
  1000. package/components/organisms/AddPointsFilterTransaction/messages.js +45 -0
  1001. package/components/organisms/AddPointsFilterTransaction/style.js +97 -0
  1002. package/components/organisms/AddPointsFilterTransaction/tests/AddPointsFilterTransaction.test.js +429 -0
  1003. package/components/organisms/AddPointsFilterTransaction/tests/mockData.js +148 -0
  1004. package/components/organisms/AddTier/AddTier.js +731 -0
  1005. package/components/organisms/AddTier/actions.js +26 -0
  1006. package/components/organisms/AddTier/constants.js +30 -0
  1007. package/components/organisms/AddTier/defaultStates.js +78 -0
  1008. package/components/organisms/AddTier/index.js +1 -0
  1009. package/components/organisms/AddTier/messages.js +101 -0
  1010. package/components/organisms/AddTier/reducer.js +49 -0
  1011. package/components/organisms/AddTier/saga.js +78 -0
  1012. package/components/organisms/AddTier/selectors.js +23 -0
  1013. package/components/organisms/AddTier/style.js +202 -0
  1014. package/components/organisms/AddTier/tests/AddTier.test.js +92 -0
  1015. package/components/organisms/AddTier/tests/AddTier1.test.js +268 -0
  1016. package/components/organisms/AddTier/tests/mocks/data.js +454 -0
  1017. package/components/organisms/AddTier/tests/saga.test.js +199 -0
  1018. package/components/organisms/AddTier/tests/utils.test.js +17 -0
  1019. package/components/organisms/AddTier/utils.js +768 -0
  1020. package/components/organisms/AddTierSetting/AddTierSetting.js +203 -0
  1021. package/components/organisms/AddTierSetting/constants.js +8 -0
  1022. package/components/organisms/AddTierSetting/index.js +1 -0
  1023. package/components/organisms/AddTierSetting/messages.js +65 -0
  1024. package/components/organisms/AddTierSetting/mockData.js +30 -0
  1025. package/components/organisms/AddTierSetting/style.js +20 -0
  1026. package/components/organisms/AddTierSetting/utils.js +16 -0
  1027. package/components/organisms/AdvancedOption/AdvancedOption.js +390 -0
  1028. package/components/organisms/AdvancedOption/actions.js +39 -0
  1029. package/components/organisms/AdvancedOption/constants.js +231 -0
  1030. package/components/organisms/AdvancedOption/index.js +1 -0
  1031. package/components/organisms/AdvancedOption/messages.js +60 -0
  1032. package/components/organisms/AdvancedOption/reducer.js +73 -0
  1033. package/components/organisms/AdvancedOption/saga.js +113 -0
  1034. package/components/organisms/AdvancedOption/selectors.js +25 -0
  1035. package/components/organisms/AdvancedOption/style.js +173 -0
  1036. package/components/organisms/AdvancedOption/tests/AdvancedOption.test.js +128 -0
  1037. package/components/organisms/AdvancedOption/tests/reducer.test.js +191 -0
  1038. package/components/organisms/AdvancedOption/tests/saga.test.js +248 -0
  1039. package/components/organisms/AllocationPointWorkflowAction/AllocationPointWorkflowAction.js +483 -0
  1040. package/components/organisms/AllocationPointWorkflowAction/constants.js +6 -0
  1041. package/components/organisms/AllocationPointWorkflowAction/index.js +1 -0
  1042. package/components/organisms/AllocationPointWorkflowAction/style.js +17 -0
  1043. package/components/organisms/AllocationPointWorkflowAction/tests/AllocationPointWorkflowAction.test.js +343 -0
  1044. package/components/organisms/AllocationStrategy/AllocationStrategy.js +600 -0
  1045. package/components/organisms/AllocationStrategy/constants.js +20 -0
  1046. package/components/organisms/AllocationStrategy/index.js +1 -0
  1047. package/components/organisms/AllocationStrategy/messages.js +98 -0
  1048. package/components/organisms/AllocationStrategy/style.js +19 -0
  1049. package/components/organisms/AllocationStrategy/tests/AllocationStrategy.test.js +53 -0
  1050. package/components/organisms/AllocationStrategy/tests/mockData.js +161 -0
  1051. package/components/organisms/AlternateCurrencyList/AlternateCurrencyList.js +670 -0
  1052. package/components/organisms/AlternateCurrencyList/constants.js +53 -0
  1053. package/components/organisms/AlternateCurrencyList/index.js +1 -0
  1054. package/components/organisms/AlternateCurrencyList/messages.js +74 -0
  1055. package/components/organisms/AlternateCurrencyList/style.js +292 -0
  1056. package/components/organisms/AlternateCurrencyList/tests/AlternateCurrencyList.test.js +99 -0
  1057. package/components/organisms/AlternateCurrencyList/tests/mockData.js +285 -0
  1058. package/components/organisms/AlternateCurrencyList/utils.js +42 -0
  1059. package/components/organisms/AudienceList/AudienceList.js +621 -0
  1060. package/components/organisms/AudienceList/AudienceListContainer.js +244 -0
  1061. package/components/organisms/AudienceList/actions.js +23 -0
  1062. package/components/organisms/AudienceList/constants.js +42 -0
  1063. package/components/organisms/AudienceList/index.js +1 -0
  1064. package/components/organisms/AudienceList/messages.js +100 -0
  1065. package/components/organisms/AudienceList/reducer.js +69 -0
  1066. package/components/organisms/AudienceList/saga.js +99 -0
  1067. package/components/organisms/AudienceList/selector.js +26 -0
  1068. package/components/organisms/AudienceList/styles.js +366 -0
  1069. package/components/organisms/AudienceList/tests/AudienceList.test.js +202 -0
  1070. package/components/organisms/AudienceList/tests/AudienceListContainer.test.js +159 -0
  1071. package/components/organisms/AudienceList/tests/actions.test.js +51 -0
  1072. package/components/organisms/AudienceList/tests/mockData.js +362 -0
  1073. package/components/organisms/AudienceList/tests/reducer.test.js +172 -0
  1074. package/components/organisms/AudienceList/tests/saga.test.js +240 -0
  1075. package/components/organisms/AudienceList/tests/selector.test.js +35 -0
  1076. package/components/organisms/AwardPointsConfig/AwardPointsConfig.js +1577 -0
  1077. package/components/organisms/AwardPointsConfig/constants.js +14 -0
  1078. package/components/organisms/AwardPointsConfig/index.js +1 -0
  1079. package/components/organisms/AwardPointsConfig/messages.js +317 -0
  1080. package/components/organisms/AwardPointsConfig/style.js +177 -0
  1081. package/components/organisms/AwardPointsConfig/tests/AwardPointsConfig.test.js +304 -0
  1082. package/components/organisms/AwardPointsConfig/tests/CapVirtualSelect.test.js +83 -0
  1083. package/components/organisms/AwardPointsConfig/tests/mockData.js +285 -0
  1084. package/components/organisms/AwardRefereePointsWorkflowAction/AwardRefereePointsWorkflowAction.js +315 -0
  1085. package/components/organisms/AwardRefereePointsWorkflowAction/index.js +1 -0
  1086. package/components/organisms/AwardRefereePointsWorkflowAction/style.js +17 -0
  1087. package/components/organisms/AwardRefereePointsWorkflowAction/tests/AwardRefereePointsWorkflowAction.test.js +130 -0
  1088. package/components/organisms/AwardReferrerPointsWorkflowAction/AwardReferrerPointsWorkflowAction.js +312 -0
  1089. package/components/organisms/AwardReferrerPointsWorkflowAction/index.js +1 -0
  1090. package/components/organisms/AwardReferrerPointsWorkflowAction/style.js +17 -0
  1091. package/components/organisms/AwardReferrerPointsWorkflowAction/tests/AwardReferrerPointsWorkflowAction.test.js +130 -0
  1092. package/components/organisms/BulkConfigurationsDetail/BulkConfigurationsDetail.js +689 -0
  1093. package/components/organisms/BulkConfigurationsDetail/actions.js +31 -0
  1094. package/components/organisms/BulkConfigurationsDetail/constants.js +34 -0
  1095. package/components/organisms/BulkConfigurationsDetail/index.js +1 -0
  1096. package/components/organisms/BulkConfigurationsDetail/messages.js +68 -0
  1097. package/components/organisms/BulkConfigurationsDetail/mocks/data.js +531 -0
  1098. package/components/organisms/BulkConfigurationsDetail/reducer.js +68 -0
  1099. package/components/organisms/BulkConfigurationsDetail/saga.js +86 -0
  1100. package/components/organisms/BulkConfigurationsDetail/selectors.js +26 -0
  1101. package/components/organisms/BulkConfigurationsDetail/style.js +197 -0
  1102. package/components/organisms/BulkConfigurationsDetail/tests/BulkConfigurationsDetail.test.js +572 -0
  1103. package/components/organisms/BulkConfigurationsDetail/tests/actions.test.js +52 -0
  1104. package/components/organisms/BulkConfigurationsDetail/tests/reducer.test.js +236 -0
  1105. package/components/organisms/BulkConfigurationsDetail/tests/saga.test.js +197 -0
  1106. package/components/organisms/BulkConfigurationsDetail/tests/selectors.test.js +42 -0
  1107. package/components/organisms/BulkConfigurationsDetail/utils.js +540 -0
  1108. package/components/organisms/CappingSlidebox/CappingSlidebox.js +829 -0
  1109. package/components/organisms/CappingSlidebox/index.js +1 -0
  1110. package/components/organisms/CappingSlidebox/messages.js +74 -0
  1111. package/components/organisms/CappingSlidebox/style.js +88 -0
  1112. package/components/organisms/CappingSlidebox/tests/CappingSlidebox.test.js +659 -0
  1113. package/components/organisms/CappingSlidebox/tests/TrackerCapping.test.js +183 -0
  1114. package/components/organisms/ChangeLog/ChangeLog.js +324 -0
  1115. package/components/organisms/ChangeLog/index.js +1 -0
  1116. package/components/organisms/ChangeLog/messages.js +36 -0
  1117. package/components/organisms/ChangeLog/style.js +24 -0
  1118. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/ChangeTierPartnerProgramWorkflowAction.js +330 -0
  1119. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/constants.js +17 -0
  1120. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/index.js +1 -0
  1121. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/messages.js +44 -0
  1122. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/style.js +32 -0
  1123. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/tests/ChangeTierPartnerProgramWorkflowAction.test.js +148 -0
  1124. package/components/organisms/ChangeTierPartnerProgramWorkflowAction/tests/mockData.js +29 -0
  1125. package/components/organisms/Communication/Communication.js +252 -0
  1126. package/components/organisms/Communication/Loadable.js +7 -0
  1127. package/components/organisms/Communication/actions.js +24 -0
  1128. package/components/organisms/Communication/constants.js +27 -0
  1129. package/components/organisms/Communication/index.js +1 -0
  1130. package/components/organisms/Communication/mockData.js +163 -0
  1131. package/components/organisms/Communication/reducer.js +41 -0
  1132. package/components/organisms/Communication/saga.js +36 -0
  1133. package/components/organisms/Communication/selectors.js +25 -0
  1134. package/components/organisms/Communication/style.js +15 -0
  1135. package/components/organisms/Communication/tests/actions.test.js +13 -0
  1136. package/components/organisms/Communication/tests/index.test.js +54 -0
  1137. package/components/organisms/Communication/tests/mockData.js +146 -0
  1138. package/components/organisms/Communication/tests/reducer.test.js +8 -0
  1139. package/components/organisms/Communication/tests/selectors.test.js +5 -0
  1140. package/components/organisms/CommunicationAdvancedOption/CommunicationAdvancedOption.js +245 -0
  1141. package/components/organisms/CommunicationAdvancedOption/actions.js +12 -0
  1142. package/components/organisms/CommunicationAdvancedOption/constants.js +8 -0
  1143. package/components/organisms/CommunicationAdvancedOption/index.js +1 -0
  1144. package/components/organisms/CommunicationAdvancedOption/reducer.js +31 -0
  1145. package/components/organisms/CommunicationAdvancedOption/saga.js +36 -0
  1146. package/components/organisms/CommunicationAdvancedOption/selectors.js +25 -0
  1147. package/components/organisms/CommunicationAdvancedOption/style.js +8 -0
  1148. package/components/organisms/CommunicationAdvancedOption/tests/mocks/data.js +14 -0
  1149. package/components/organisms/CommunicationAdvancedOption/tests/saga.test.js +87 -0
  1150. package/components/organisms/CommunicationStrategies/CommunicationStrategies.js +326 -0
  1151. package/components/organisms/CommunicationStrategies/actions.js +17 -0
  1152. package/components/organisms/CommunicationStrategies/constants.js +14 -0
  1153. package/components/organisms/CommunicationStrategies/index.js +1 -0
  1154. package/components/organisms/CommunicationStrategies/messages.js +32 -0
  1155. package/components/organisms/CommunicationStrategies/reducer.js +39 -0
  1156. package/components/organisms/CommunicationStrategies/saga.js +62 -0
  1157. package/components/organisms/CommunicationStrategies/selectors.js +25 -0
  1158. package/components/organisms/CommunicationStrategies/style.js +0 -0
  1159. package/components/organisms/CommunicationStrategies/tests/__snapshots__/index.test.js.snap +2561 -0
  1160. package/components/organisms/CommunicationStrategies/tests/index.test.js +13 -0
  1161. package/components/organisms/CommunicationStrategies/tests/mocks/data.js +14 -0
  1162. package/components/organisms/CommunicationStrategies/tests/saga.test.js +157 -0
  1163. package/components/organisms/CommunicationStrategies/utils.js +567 -0
  1164. package/components/organisms/ConfigureKPI/ConfigureKPI.js +298 -0
  1165. package/components/organisms/ConfigureKPI/actions.js +17 -0
  1166. package/components/organisms/ConfigureKPI/constants.js +13 -0
  1167. package/components/organisms/ConfigureKPI/index.js +1 -0
  1168. package/components/organisms/ConfigureKPI/reducer.js +36 -0
  1169. package/components/organisms/ConfigureKPI/saga.js +69 -0
  1170. package/components/organisms/ConfigureKPI/selectors.js +21 -0
  1171. package/components/organisms/ConfigureKPI/style.js +25 -0
  1172. package/components/organisms/ConfigureKPI/tests/ConfigureKPI.test.js +76 -0
  1173. package/components/organisms/ConfigureKPI/tests/__snapshots__/ConfigureKPI.test.js.snap +54 -0
  1174. package/components/organisms/ConfigureKPI/tests/__snapshots__/reducer.test.js.snap +9 -0
  1175. package/components/organisms/ConfigureKPI/tests/mockdata.js +22 -0
  1176. package/components/organisms/ConfigureKPI/tests/reducer.test.js +91 -0
  1177. package/components/organisms/ConfigureKPI/tests/saga.test.js +146 -0
  1178. package/components/organisms/ConfigureKPI/tests/utils.test.js +17 -0
  1179. package/components/organisms/ConfigureKPI/utils.js +9 -0
  1180. package/components/organisms/ConfigureProgramSteps/ConfigureProgramSteps.js +312 -0
  1181. package/components/organisms/ConfigureProgramSteps/constants.js +4 -0
  1182. package/components/organisms/ConfigureProgramSteps/index.js +1 -0
  1183. package/components/organisms/ConfigureProgramSteps/messages.js +65 -0
  1184. package/components/organisms/ConfigureProgramSteps/style.js +110 -0
  1185. package/components/organisms/ConfigureProgramSteps/tests/ConfigureProgramSteps.test.js +109 -0
  1186. package/components/organisms/ConfigureStrategies/ConfigureStrategies.js +632 -0
  1187. package/components/organisms/ConfigureStrategies/actions.js +15 -0
  1188. package/components/organisms/ConfigureStrategies/constants.js +26 -0
  1189. package/components/organisms/ConfigureStrategies/index.js +1 -0
  1190. package/components/organisms/ConfigureStrategies/messages.js +37 -0
  1191. package/components/organisms/ConfigureStrategies/reducer.js +35 -0
  1192. package/components/organisms/ConfigureStrategies/saga.js +44 -0
  1193. package/components/organisms/ConfigureStrategies/selectors.js +33 -0
  1194. package/components/organisms/ConfigureStrategies/style.js +198 -0
  1195. package/components/organisms/ConfigureStrategies/tests/ConfigureStrategies.test.js +363 -0
  1196. package/components/organisms/ConfigureStrategies/tests/mocks/data.js +14 -0
  1197. package/components/organisms/ConfigureStrategies/tests/saga.test.js +87 -0
  1198. package/components/organisms/ConfigureTrackers/ConfigureTrackers.js +193 -0
  1199. package/components/organisms/ConfigureTrackers/index.js +1 -0
  1200. package/components/organisms/ConfigureTrackers/messages.js +10 -0
  1201. package/components/organisms/ConfigureTrackers/style.js +35 -0
  1202. package/components/organisms/ConfigureWorkflows/ConfigureWorkflows.js +798 -0
  1203. package/components/organisms/ConfigureWorkflows/Loadable.js +7 -0
  1204. package/components/organisms/ConfigureWorkflows/PreviewBulkConfiguration.js +131 -0
  1205. package/components/organisms/ConfigureWorkflows/ScopingAndCapping.js +519 -0
  1206. package/components/organisms/ConfigureWorkflows/WorkflowActions.js +455 -0
  1207. package/components/organisms/ConfigureWorkflows/WorkflowConfigurationSection.js +2594 -0
  1208. package/components/organisms/ConfigureWorkflows/actions.js +333 -0
  1209. package/components/organisms/ConfigureWorkflows/constants.js +478 -0
  1210. package/components/organisms/ConfigureWorkflows/context.js +7 -0
  1211. package/components/organisms/ConfigureWorkflows/data.js +11201 -0
  1212. package/components/organisms/ConfigureWorkflows/index.js +1 -0
  1213. package/components/organisms/ConfigureWorkflows/messages.js +233 -0
  1214. package/components/organisms/ConfigureWorkflows/reducer.js +576 -0
  1215. package/components/organisms/ConfigureWorkflows/saga.js +1208 -0
  1216. package/components/organisms/ConfigureWorkflows/selectors.js +203 -0
  1217. package/components/organisms/ConfigureWorkflows/style.js +660 -0
  1218. package/components/organisms/ConfigureWorkflows/tests/ConfigureWorkflows.test.js +210 -0
  1219. package/components/organisms/ConfigureWorkflows/tests/PreviewBulkConfiguration.test.js +46 -0
  1220. package/components/organisms/ConfigureWorkflows/tests/WorkflowActions.test.js +105 -0
  1221. package/components/organisms/ConfigureWorkflows/tests/WorkflowConfigurationSection.test.js +791 -0
  1222. package/components/organisms/ConfigureWorkflows/tests/WorkflowConfigurationSectionView.test.js +342 -0
  1223. package/components/organisms/ConfigureWorkflows/tests/__snapshots__/actions.test.js.snap +15 -0
  1224. package/components/organisms/ConfigureWorkflows/tests/__snapshots__/reducer.test.js.snap +8993 -0
  1225. package/components/organisms/ConfigureWorkflows/tests/actions.test.js +405 -0
  1226. package/components/organisms/ConfigureWorkflows/tests/mockData.js +7161 -0
  1227. package/components/organisms/ConfigureWorkflows/tests/mocks/data.js +171 -0
  1228. package/components/organisms/ConfigureWorkflows/tests/mocks/rulesetsData.js +637 -0
  1229. package/components/organisms/ConfigureWorkflows/tests/reducer.test.js +1640 -0
  1230. package/components/organisms/ConfigureWorkflows/tests/saga.test.js +2543 -0
  1231. package/components/organisms/ConfigureWorkflows/tests/selectors.test.js +67 -0
  1232. package/components/organisms/ConfigureWorkflows/tests/utils.test.js +442 -0
  1233. package/components/organisms/ConfigureWorkflows/utils.js +1485 -0
  1234. package/components/organisms/CouponSlidebox/CouponSlidebox.js +326 -0
  1235. package/components/organisms/CouponSlidebox/_coupons.scss +127 -0
  1236. package/components/organisms/CouponSlidebox/actions.js +13 -0
  1237. package/components/organisms/CouponSlidebox/constants.js +16 -0
  1238. package/components/organisms/CouponSlidebox/index.js +1 -0
  1239. package/components/organisms/CouponSlidebox/messages.js +29 -0
  1240. package/components/organisms/CouponSlidebox/reducer.js +31 -0
  1241. package/components/organisms/CouponSlidebox/selectors.js +22 -0
  1242. package/components/organisms/CouponSlidebox/tests/CouponSlidebox.test.js +20 -0
  1243. package/components/organisms/Coupons/Coupons.js +379 -0
  1244. package/components/organisms/Coupons/Loadable.js +5 -0
  1245. package/components/organisms/Coupons/actions.js +13 -0
  1246. package/components/organisms/Coupons/constants.js +22 -0
  1247. package/components/organisms/Coupons/index.js +1 -0
  1248. package/components/organisms/Coupons/messages.js +20 -0
  1249. package/components/organisms/Coupons/reducer.js +31 -0
  1250. package/components/organisms/Coupons/saga.js +8 -0
  1251. package/components/organisms/Coupons/selectors.js +22 -0
  1252. package/components/organisms/Coupons/style.js +57 -0
  1253. package/components/organisms/Coupons/tests/actions.test.js +13 -0
  1254. package/components/organisms/Coupons/tests/index.test.js +54 -0
  1255. package/components/organisms/Coupons/tests/mockdata.js +2842 -0
  1256. package/components/organisms/Coupons/tests/saga.test.js +11 -0
  1257. package/components/organisms/Coupons/tests/selectors.test.js +8 -0
  1258. package/components/organisms/CreateAlternateCurrency/CreateAlternateCurrency.js +821 -0
  1259. package/components/organisms/CreateAlternateCurrency/actions.js +12 -0
  1260. package/components/organisms/CreateAlternateCurrency/constants.js +7 -0
  1261. package/components/organisms/CreateAlternateCurrency/index.js +1 -0
  1262. package/components/organisms/CreateAlternateCurrency/messages.js +177 -0
  1263. package/components/organisms/CreateAlternateCurrency/reducer.js +34 -0
  1264. package/components/organisms/CreateAlternateCurrency/saga.js +41 -0
  1265. package/components/organisms/CreateAlternateCurrency/selectors.js +17 -0
  1266. package/components/organisms/CreateAlternateCurrency/style.js +168 -0
  1267. package/components/organisms/CreateAlternateCurrency/tests/CreateAlternateCurrency.test.js +381 -0
  1268. package/components/organisms/CreateAlternateCurrency/tests/actions.test.js +29 -0
  1269. package/components/organisms/CreateAlternateCurrency/tests/mockData.js +208 -0
  1270. package/components/organisms/CreateAlternateCurrency/tests/reducer.test.js +70 -0
  1271. package/components/organisms/CreateAlternateCurrency/tests/saga.test.js +103 -0
  1272. package/components/organisms/CreateAlternateCurrency/tests/selectors.test.js +32 -0
  1273. package/components/organisms/CreateAlternateCurrency/utils.js +45 -0
  1274. package/components/organisms/CreateBulkConfigForm/CreateBulkConfigForm.js +56 -0
  1275. package/components/organisms/CreateBulkConfigForm/index.js +1 -0
  1276. package/components/organisms/CreateBulkConfigForm/messages.js +18 -0
  1277. package/components/organisms/CreateBulkConfigForm/style.js +35 -0
  1278. package/components/organisms/CreateBulkConfigForm/tests/CreateBulkConfigForm.test.js +35 -0
  1279. package/components/organisms/CreateProgram/CreateProgram.js +702 -0
  1280. package/components/organisms/CreateProgram/actions.js +17 -0
  1281. package/components/organisms/CreateProgram/constants.js +30 -0
  1282. package/components/organisms/CreateProgram/index.js +1 -0
  1283. package/components/organisms/CreateProgram/messages.js +99 -0
  1284. package/components/organisms/CreateProgram/reducer.js +38 -0
  1285. package/components/organisms/CreateProgram/saga.js +43 -0
  1286. package/components/organisms/CreateProgram/selectors.js +22 -0
  1287. package/components/organisms/CreateProgram/style.js +223 -0
  1288. package/components/organisms/CreateProgram/tests/CreateProgram.test.js +500 -0
  1289. package/components/organisms/CreateProgram/tests/__snapshots__/reducer.test.js.snap +17 -0
  1290. package/components/organisms/CreateProgram/tests/mockdata.js +10 -0
  1291. package/components/organisms/CreateProgram/tests/mocks/initialState.js +4 -0
  1292. package/components/organisms/CreateProgram/tests/reducer.test.js +96 -0
  1293. package/components/organisms/CreateProgram/tests/saga.test.js +163 -0
  1294. package/components/organisms/CreateProgramIllustration/CreateProgramIllustration.js +72 -0
  1295. package/components/organisms/CreateProgramIllustration/constants.js +0 -0
  1296. package/components/organisms/CreateProgramIllustration/index.js +1 -0
  1297. package/components/organisms/CreateProgramIllustration/messages.js +25 -0
  1298. package/components/organisms/CreateProgramIllustration/tests/CreateProgramIllustration.test.js +56 -0
  1299. package/components/organisms/CreatePromotionForm/CreatePromotionForm.js +879 -0
  1300. package/components/organisms/CreatePromotionForm/index.js +1 -0
  1301. package/components/organisms/CreatePromotionForm/messages.js +110 -0
  1302. package/components/organisms/CreatePromotionForm/style.js +253 -0
  1303. package/components/organisms/CreatePromotionForm/tests/CreatePromotionForm.test.js +484 -0
  1304. package/components/organisms/CreatePromotionForm/tests/mockData.js +130 -0
  1305. package/components/organisms/CreatePromotionForm/tests/utils.test.js +38 -0
  1306. package/components/organisms/CreatePromotionForm/utils.js +38 -0
  1307. package/components/organisms/CreateTender/CreateTender.js +485 -0
  1308. package/components/organisms/CreateTender/actions.js +17 -0
  1309. package/components/organisms/CreateTender/constants.js +11 -0
  1310. package/components/organisms/CreateTender/index.js +1 -0
  1311. package/components/organisms/CreateTender/messages.js +51 -0
  1312. package/components/organisms/CreateTender/reducer.js +37 -0
  1313. package/components/organisms/CreateTender/saga.js +45 -0
  1314. package/components/organisms/CreateTender/selectors.js +25 -0
  1315. package/components/organisms/CreateTender/style.js +69 -0
  1316. package/components/organisms/CreateTender/tests/CreateTender.test.js +102 -0
  1317. package/components/organisms/CreateTender/tests/mockData.js +489 -0
  1318. package/components/organisms/CreateTender/tests/mocks/data.js +16 -0
  1319. package/components/organisms/CreateTender/tests/saga.test.js +123 -0
  1320. package/components/organisms/CreateTier/CreateTier.js +218 -0
  1321. package/components/organisms/CreateTier/actions.js +16 -0
  1322. package/components/organisms/CreateTier/constants.js +7 -0
  1323. package/components/organisms/CreateTier/index.js +1 -0
  1324. package/components/organisms/CreateTier/messages.js +20 -0
  1325. package/components/organisms/CreateTier/reducer.js +37 -0
  1326. package/components/organisms/CreateTier/saga.js +47 -0
  1327. package/components/organisms/CreateTier/selectors.js +25 -0
  1328. package/components/organisms/CreateTier/style.js +11 -0
  1329. package/components/organisms/CreateTier/tests/mocks/data.js +15 -0
  1330. package/components/organisms/CreateTier/tests/saga.test.js +136 -0
  1331. package/components/organisms/CreateTier/utils.js +59 -0
  1332. package/components/organisms/Creatives/Creatives.js +1128 -0
  1333. package/components/organisms/Creatives/actions.js +30 -0
  1334. package/components/organisms/Creatives/constants.js +26 -0
  1335. package/components/organisms/Creatives/index.js +1 -0
  1336. package/components/organisms/Creatives/index.scss +170 -0
  1337. package/components/organisms/Creatives/messages.js +16 -0
  1338. package/components/organisms/Creatives/mockdata.js +222 -0
  1339. package/components/organisms/Creatives/reducer.js +194 -0
  1340. package/components/organisms/Creatives/saga.js +57 -0
  1341. package/components/organisms/Creatives/selectors.js +28 -0
  1342. package/components/organisms/Creatives/style.js +40 -0
  1343. package/components/organisms/Creatives/tests/Creatives.test.js +128 -0
  1344. package/components/organisms/Creatives/tests/__snapshots__/index.test.js.snap +217 -0
  1345. package/components/organisms/Creatives/tests/actions.test.js +13 -0
  1346. package/components/organisms/Creatives/tests/index.test.js +91 -0
  1347. package/components/organisms/Creatives/tests/saga.test.js +11 -0
  1348. package/components/organisms/Creatives/tests/selectors.test.js +5 -0
  1349. package/components/organisms/Creatives/useDidMountEffect.js +12 -0
  1350. package/components/organisms/CustomFieldSettings/CustomFieldSettings.js +244 -0
  1351. package/components/organisms/CustomFieldSettings/actions.js +12 -0
  1352. package/components/organisms/CustomFieldSettings/constants.js +12 -0
  1353. package/components/organisms/CustomFieldSettings/index.js +1 -0
  1354. package/components/organisms/CustomFieldSettings/message.js +30 -0
  1355. package/components/organisms/CustomFieldSettings/reducer.js +43 -0
  1356. package/components/organisms/CustomFieldSettings/saga.js +70 -0
  1357. package/components/organisms/CustomFieldSettings/selectors.js +14 -0
  1358. package/components/organisms/CustomFieldSettings/style.js +44 -0
  1359. package/components/organisms/CustomFieldSettings/tests/CustomFieldSettings.test.js +269 -0
  1360. package/components/organisms/CustomFieldSettings/tests/actions.test.js +31 -0
  1361. package/components/organisms/CustomFieldSettings/tests/mockData.js +56 -0
  1362. package/components/organisms/CustomFieldSettings/tests/mocks/data.js +14 -0
  1363. package/components/organisms/CustomFieldSettings/tests/reducer.test.js +102 -0
  1364. package/components/organisms/CustomFieldSettings/tests/saga.test.js +193 -0
  1365. package/components/organisms/CustomFieldSettings/tests/selectors.test.js +35 -0
  1366. package/components/organisms/CustomerActivity/CustomerActivity.js +504 -0
  1367. package/components/organisms/CustomerActivity/constants.js +3 -0
  1368. package/components/organisms/CustomerActivity/index.js +1 -0
  1369. package/components/organisms/CustomerActivity/messages.js +350 -0
  1370. package/components/organisms/CustomerActivity/style.js +92 -0
  1371. package/components/organisms/CustomerActivity/tests/CustomerActivity.test.js +30 -0
  1372. package/components/organisms/CustomerActivity/tests/mockData.js +149 -0
  1373. package/components/organisms/CustomerStatusLabelWorkflowActions/CustomerStatusLabelWorkflowAction.js +250 -0
  1374. package/components/organisms/CustomerStatusLabelWorkflowActions/actions.js +5 -0
  1375. package/components/organisms/CustomerStatusLabelWorkflowActions/constants.js +25 -0
  1376. package/components/organisms/CustomerStatusLabelWorkflowActions/index.js +1 -0
  1377. package/components/organisms/CustomerStatusLabelWorkflowActions/messages.js +50 -0
  1378. package/components/organisms/CustomerStatusLabelWorkflowActions/reducer.js +32 -0
  1379. package/components/organisms/CustomerStatusLabelWorkflowActions/saga.js +29 -0
  1380. package/components/organisms/CustomerStatusLabelWorkflowActions/selectors.js +15 -0
  1381. package/components/organisms/CustomerStatusLabelWorkflowActions/style.js +173 -0
  1382. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/CustomerStatusLabelWorkflowAction.test.js +82 -0
  1383. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/actions.test.js +11 -0
  1384. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/mocks/mockData.js +127 -0
  1385. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/reducer.test.js +57 -0
  1386. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/saga.test.js +79 -0
  1387. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/selectors.test.js +21 -0
  1388. package/components/organisms/CustomerStatusLabelWorkflowActions/tests/utils.test.js +143 -0
  1389. package/components/organisms/CustomerStatusLabelWorkflowActions/utils.js +129 -0
  1390. package/components/organisms/DelayedAccrual/DelayedAccrual.js +309 -0
  1391. package/components/organisms/DelayedAccrual/actions.js +27 -0
  1392. package/components/organisms/DelayedAccrual/constants.js +28 -0
  1393. package/components/organisms/DelayedAccrual/index.js +1 -0
  1394. package/components/organisms/DelayedAccrual/messages.js +40 -0
  1395. package/components/organisms/DelayedAccrual/reducer.js +45 -0
  1396. package/components/organisms/DelayedAccrual/saga.js +91 -0
  1397. package/components/organisms/DelayedAccrual/selectors.js +44 -0
  1398. package/components/organisms/DelayedAccrual/style.js +38 -0
  1399. package/components/organisms/DelayedAccrual/tests/DelayedAccuralAdvancedOption.test.js +131 -0
  1400. package/components/organisms/DelayedAccrual/tests/mockData.js +11 -0
  1401. package/components/organisms/DelayedAccrual/tests/reducer.test.js +92 -0
  1402. package/components/organisms/DelayedAccrual/tests/saga.test.js +214 -0
  1403. package/components/organisms/DelayedAccrual/tests/selectors.test.js +33 -0
  1404. package/components/organisms/DiscardDraft/DiscardDraft.js +190 -0
  1405. package/components/organisms/DiscardDraft/actions.js +12 -0
  1406. package/components/organisms/DiscardDraft/constants.js +5 -0
  1407. package/components/organisms/DiscardDraft/index.js +1 -0
  1408. package/components/organisms/DiscardDraft/messages.js +41 -0
  1409. package/components/organisms/DiscardDraft/mocks/data.js +24 -0
  1410. package/components/organisms/DiscardDraft/reducer.js +29 -0
  1411. package/components/organisms/DiscardDraft/saga.js +32 -0
  1412. package/components/organisms/DiscardDraft/selector.js +17 -0
  1413. package/components/organisms/DiscardDraft/style.js +18 -0
  1414. package/components/organisms/DiscardDraft/tests/DiscardDraft.test.js +101 -0
  1415. package/components/organisms/DiscardDraft/tests/action.test.js +10 -0
  1416. package/components/organisms/DiscardDraft/tests/reducer.test.js +44 -0
  1417. package/components/organisms/DiscardDraft/tests/saga.test.js +85 -0
  1418. package/components/organisms/DiscardDraft/tests/selector.test.js +22 -0
  1419. package/components/organisms/EbillWorkflowAction/EbillWorkflowAction.js +304 -0
  1420. package/components/organisms/EbillWorkflowAction/index.js +1 -0
  1421. package/components/organisms/EbillWorkflowAction/messages.js +36 -0
  1422. package/components/organisms/EbillWorkflowAction/style.js +10 -0
  1423. package/components/organisms/EbillWorkflowAction/tests/EbillWorkflowAction.test.js +56 -0
  1424. package/components/organisms/ExpiryCommunication/ExpiryCommunication.js +120 -0
  1425. package/components/organisms/ExpiryCommunication/constants.js +18 -0
  1426. package/components/organisms/ExpiryCommunication/index.js +1 -0
  1427. package/components/organisms/ExpiryCommunication/messages.js +24 -0
  1428. package/components/organisms/ExpiryCommunication/tests/index.test.js +24 -0
  1429. package/components/organisms/ExpiryCommunication/utils.js +259 -0
  1430. package/components/organisms/ExpiryConditions/ExpiryConditions.js +964 -0
  1431. package/components/organisms/ExpiryConditions/actions.js +8 -0
  1432. package/components/organisms/ExpiryConditions/constants.js +12 -0
  1433. package/components/organisms/ExpiryConditions/index.js +1 -0
  1434. package/components/organisms/ExpiryConditions/messages.js +117 -0
  1435. package/components/organisms/ExpiryConditions/reducer.js +33 -0
  1436. package/components/organisms/ExpiryConditions/saga.js +34 -0
  1437. package/components/organisms/ExpiryConditions/selectors.js +21 -0
  1438. package/components/organisms/ExpiryConditions/style.js +209 -0
  1439. package/components/organisms/ExpiryConditions/tests/ExpiryConditions.test.js +400 -0
  1440. package/components/organisms/ExpiryConditions/tests/ExtendedFields.test.js +134 -0
  1441. package/components/organisms/ExpiryConditions/tests/mocks/data.js +30 -0
  1442. package/components/organisms/ExpiryConditions/tests/saga.test.js +87 -0
  1443. package/components/organisms/ExpiryConditions/tests/utils.test.js +47 -0
  1444. package/components/organisms/ExpiryConditions/utils.js +16 -0
  1445. package/components/organisms/ExpiryStrategy/ExpiryStrategy.js +674 -0
  1446. package/components/organisms/ExpiryStrategy/constants.js +13 -0
  1447. package/components/organisms/ExpiryStrategy/index.js +1 -0
  1448. package/components/organisms/ExpiryStrategy/messages.js +40 -0
  1449. package/components/organisms/ExpiryStrategy/style.js +13 -0
  1450. package/components/organisms/ExpiryStrategy/tests/ExpiryStrategy.test.js +70 -0
  1451. package/components/organisms/ExpiryStrategy/tests/mockData.js +125 -0
  1452. package/components/organisms/ForwardToSetWorkflowAction/ForwardToSetWorkflowAction.js +412 -0
  1453. package/components/organisms/ForwardToSetWorkflowAction/constants.js +22 -0
  1454. package/components/organisms/ForwardToSetWorkflowAction/index.js +1 -0
  1455. package/components/organisms/ForwardToSetWorkflowAction/messages.js +70 -0
  1456. package/components/organisms/ForwardToSetWorkflowAction/style.js +16 -0
  1457. package/components/organisms/ForwardToSetWorkflowAction/tests/ForwardToSetWorkflowAction.test.js +123 -0
  1458. package/components/organisms/ForwardToSetWorkflowAction/tests/mockData.js +10 -0
  1459. package/components/organisms/GroupItemLabel/GroupItemLabel.js +471 -0
  1460. package/components/organisms/GroupItemLabel/constants.js +2 -0
  1461. package/components/organisms/GroupItemLabel/index.js +1 -0
  1462. package/components/organisms/GroupItemLabel/messages.js +33 -0
  1463. package/components/organisms/GroupItemLabel/mocks/data.js +142 -0
  1464. package/components/organisms/GroupItemLabel/style.js +54 -0
  1465. package/components/organisms/GroupItemLabel/tests/GroupItemLabel.test.js +366 -0
  1466. package/components/organisms/GroupItemLabel/tests/__snapshots__/index.test.js.snap +296 -0
  1467. package/components/organisms/GroupItemLabel/tests/index.test.js +67 -0
  1468. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/InitiateSupplementaryMemberShipWorkflowAction.js +399 -0
  1469. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/constants.js +20 -0
  1470. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/index.js +1 -0
  1471. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/messages.js +52 -0
  1472. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/style.js +32 -0
  1473. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/tests/InitiateSupplementaryMemberShipWorkflowAction.test.js +168 -0
  1474. package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/tests/mockData.js +29 -0
  1475. package/components/organisms/IssueBadgeWorkflowAction/IssueBadgeWorkflowAction.js +577 -0
  1476. package/components/organisms/IssueBadgeWorkflowAction/actions.js +19 -0
  1477. package/components/organisms/IssueBadgeWorkflowAction/constants.js +31 -0
  1478. package/components/organisms/IssueBadgeWorkflowAction/index.js +1 -0
  1479. package/components/organisms/IssueBadgeWorkflowAction/messages.js +134 -0
  1480. package/components/organisms/IssueBadgeWorkflowAction/reducer.js +41 -0
  1481. package/components/organisms/IssueBadgeWorkflowAction/saga.js +58 -0
  1482. package/components/organisms/IssueBadgeWorkflowAction/selectors.js +17 -0
  1483. package/components/organisms/IssueBadgeWorkflowAction/style.js +292 -0
  1484. package/components/organisms/IssueBadgeWorkflowAction/tests/IssueBadgeWorkflowAction.test.js +184 -0
  1485. package/components/organisms/IssueBadgeWorkflowAction/tests/mocks/mockData.js +183 -0
  1486. package/components/organisms/IssueBadgeWorkflowAction/tests/reducer.test.js +101 -0
  1487. package/components/organisms/IssueBadgeWorkflowAction/tests/saga.test.js +136 -0
  1488. package/components/organisms/IssueBadgeWorkflowAction/tests/selectors.test.js +22 -0
  1489. package/components/organisms/IssueBadgeWorkflowAction/tests/utils.test.js +30 -0
  1490. package/components/organisms/IssueBadgeWorkflowAction/utils.js +36 -0
  1491. package/components/organisms/IssueCatalogRewardsAction/IssueCatalogRewardsAction.js +1034 -0
  1492. package/components/organisms/IssueCatalogRewardsAction/actions.js +28 -0
  1493. package/components/organisms/IssueCatalogRewardsAction/constants.js +70 -0
  1494. package/components/organisms/IssueCatalogRewardsAction/index.js +1 -0
  1495. package/components/organisms/IssueCatalogRewardsAction/messages.js +275 -0
  1496. package/components/organisms/IssueCatalogRewardsAction/reducer.js +83 -0
  1497. package/components/organisms/IssueCatalogRewardsAction/saga.js +141 -0
  1498. package/components/organisms/IssueCatalogRewardsAction/selectors.js +31 -0
  1499. package/components/organisms/IssueCatalogRewardsAction/style.js +362 -0
  1500. package/components/organisms/IssueCatalogRewardsAction/tests/IssueCatalogRewardsAction.test.js +788 -0
  1501. package/components/organisms/IssueCatalogRewardsAction/tests/actions.test.js +23 -0
  1502. package/components/organisms/IssueCatalogRewardsAction/tests/mockData.js +534 -0
  1503. package/components/organisms/IssueCatalogRewardsAction/tests/reducer.test.js +184 -0
  1504. package/components/organisms/IssueCatalogRewardsAction/tests/saga.test.js +277 -0
  1505. package/components/organisms/IssueCatalogRewardsAction/tests/selectors.test.js +53 -0
  1506. package/components/organisms/IssueCatalogRewardsAction/tests/utils.test.js +33 -0
  1507. package/components/organisms/IssueCatalogRewardsAction/utils.js +125 -0
  1508. package/components/organisms/IssueCouponsWorkflowAction/IssueCouponsWorkflowAction.js +1393 -0
  1509. package/components/organisms/IssueCouponsWorkflowAction/actions.js +12 -0
  1510. package/components/organisms/IssueCouponsWorkflowAction/constants.js +24 -0
  1511. package/components/organisms/IssueCouponsWorkflowAction/index.js +1 -0
  1512. package/components/organisms/IssueCouponsWorkflowAction/messages.js +207 -0
  1513. package/components/organisms/IssueCouponsWorkflowAction/mockData.js +12 -0
  1514. package/components/organisms/IssueCouponsWorkflowAction/reducer.js +35 -0
  1515. package/components/organisms/IssueCouponsWorkflowAction/saga.js +36 -0
  1516. package/components/organisms/IssueCouponsWorkflowAction/selectors.js +29 -0
  1517. package/components/organisms/IssueCouponsWorkflowAction/style.js +356 -0
  1518. package/components/organisms/IssueCouponsWorkflowAction/tests/IssueCouponWorkflowAction.test.js +551 -0
  1519. package/components/organisms/IssueCouponsWorkflowAction/tests/actions.test.js +18 -0
  1520. package/components/organisms/IssueCouponsWorkflowAction/tests/index.test.js +219 -0
  1521. package/components/organisms/IssueCouponsWorkflowAction/tests/mocks/data.js +244 -0
  1522. package/components/organisms/IssueCouponsWorkflowAction/tests/reducer.test.js +76 -0
  1523. package/components/organisms/IssueCouponsWorkflowAction/tests/saga.test.js +80 -0
  1524. package/components/organisms/IssueCouponsWorkflowAction/tests/selectors.test.js +21 -0
  1525. package/components/organisms/IssueCouponsWorkflowAction/tests/utils.test.js +15 -0
  1526. package/components/organisms/IssueCouponsWorkflowAction/utils.js +13 -0
  1527. package/components/organisms/IssuePromotionWorkflowAction/IssuePromotionWorkflowAction.js +608 -0
  1528. package/components/organisms/IssuePromotionWorkflowAction/actions.js +10 -0
  1529. package/components/organisms/IssuePromotionWorkflowAction/constants.js +14 -0
  1530. package/components/organisms/IssuePromotionWorkflowAction/index.js +1 -0
  1531. package/components/organisms/IssuePromotionWorkflowAction/messages.js +73 -0
  1532. package/components/organisms/IssuePromotionWorkflowAction/reducer.js +32 -0
  1533. package/components/organisms/IssuePromotionWorkflowAction/saga.js +33 -0
  1534. package/components/organisms/IssuePromotionWorkflowAction/selectors.js +18 -0
  1535. package/components/organisms/IssuePromotionWorkflowAction/style.js +317 -0
  1536. package/components/organisms/IssuePromotionWorkflowAction/tests/IssuePromotionWorkflowAction.test.js +211 -0
  1537. package/components/organisms/IssuePromotionWorkflowAction/tests/mocks/mockData.js +126 -0
  1538. package/components/organisms/IssuePromotionWorkflowAction/tests/reducer.test.js +60 -0
  1539. package/components/organisms/IssuePromotionWorkflowAction/tests/saga.test.js +84 -0
  1540. package/components/organisms/IssuePromotionWorkflowAction/tests/selectors.test.js +22 -0
  1541. package/components/organisms/IssuePromotionWorkflowAction/tests/utils.test.js +29 -0
  1542. package/components/organisms/IssuePromotionWorkflowAction/utils.js +38 -0
  1543. package/components/organisms/LiabilitySettings/LiabilitySettings.js +899 -0
  1544. package/components/organisms/LiabilitySettings/actions.js +33 -0
  1545. package/components/organisms/LiabilitySettings/constants.js +38 -0
  1546. package/components/organisms/LiabilitySettings/index.js +1 -0
  1547. package/components/organisms/LiabilitySettings/messages.js +58 -0
  1548. package/components/organisms/LiabilitySettings/mockData.js +30 -0
  1549. package/components/organisms/LiabilitySettings/reducer.js +95 -0
  1550. package/components/organisms/LiabilitySettings/saga.js +151 -0
  1551. package/components/organisms/LiabilitySettings/selectors.js +21 -0
  1552. package/components/organisms/LiabilitySettings/style.js +48 -0
  1553. package/components/organisms/LiabilitySettings/tests/LiabilitySettings.test.js +488 -0
  1554. package/components/organisms/LiabilitySettings/tests/actions.test.js +72 -0
  1555. package/components/organisms/LiabilitySettings/tests/mockData.js +34 -0
  1556. package/components/organisms/LiabilitySettings/tests/reducer.test.js +205 -0
  1557. package/components/organisms/LiabilitySettings/tests/saga.test.js +353 -0
  1558. package/components/organisms/LiabilitySettings/tests/selectors.test.js +32 -0
  1559. package/components/organisms/LoyaltyDetail/LoyaltyDetail.js +467 -0
  1560. package/components/organisms/LoyaltyDetail/actions.js +14 -0
  1561. package/components/organisms/LoyaltyDetail/constants.js +32 -0
  1562. package/components/organisms/LoyaltyDetail/index.js +1 -0
  1563. package/components/organisms/LoyaltyDetail/messages.js +61 -0
  1564. package/components/organisms/LoyaltyDetail/reducer.js +51 -0
  1565. package/components/organisms/LoyaltyDetail/saga.js +65 -0
  1566. package/components/organisms/LoyaltyDetail/selectors.js +36 -0
  1567. package/components/organisms/LoyaltyDetail/style.js +87 -0
  1568. package/components/organisms/LoyaltyDetail/tests/LoyaltyDetail.test.js +89 -0
  1569. package/components/organisms/LoyaltyDetail/tests/__snapshots__/reducer.test.js.snap +12 -0
  1570. package/components/organisms/LoyaltyDetail/tests/mockdata.js +39 -0
  1571. package/components/organisms/LoyaltyDetail/tests/reducer.test.js +92 -0
  1572. package/components/organisms/LoyaltyDetail/tests/saga.test.js +132 -0
  1573. package/components/organisms/LoyaltyDetail/utils.js +219 -0
  1574. package/components/organisms/LoyaltyGraph/LoyaltyGraph.js +455 -0
  1575. package/components/organisms/LoyaltyGraph/actions.js +6 -0
  1576. package/components/organisms/LoyaltyGraph/constants.js +21 -0
  1577. package/components/organisms/LoyaltyGraph/index.js +1 -0
  1578. package/components/organisms/LoyaltyGraph/messages.js +49 -0
  1579. package/components/organisms/LoyaltyGraph/reducer.js +33 -0
  1580. package/components/organisms/LoyaltyGraph/saga.js +51 -0
  1581. package/components/organisms/LoyaltyGraph/selectors.js +23 -0
  1582. package/components/organisms/LoyaltyGraph/style.js +141 -0
  1583. package/components/organisms/LoyaltyGraph/tests/LoyaltyGraph.test.js +49 -0
  1584. package/components/organisms/LoyaltyGraph/tests/__snapshots__/LoyaltyGraph.test.js.snap +77 -0
  1585. package/components/organisms/LoyaltyGraph/tests/mockdata.js +87 -0
  1586. package/components/organisms/LoyaltyGraph/tests/saga.test.js +86 -0
  1587. package/components/organisms/LoyaltyGraph/utils.js +61 -0
  1588. package/components/organisms/LoyaltyPromotions/LoyaltyPromotions.js +626 -0
  1589. package/components/organisms/LoyaltyPromotions/constants.js +15 -0
  1590. package/components/organisms/LoyaltyPromotions/index.js +1 -0
  1591. package/components/organisms/LoyaltyPromotions/messages.js +142 -0
  1592. package/components/organisms/LoyaltyPromotions/style.js +257 -0
  1593. package/components/organisms/LoyaltyPromotions/tests/LoyaltyPromotions.test.js +283 -0
  1594. package/components/organisms/LoyaltyPromotions/tests/utils.test.js +120 -0
  1595. package/components/organisms/LoyaltyPromotions/utils.js +102 -0
  1596. package/components/organisms/MandatoryAndPriorityChannel/MandatoryAndPriorityChannel.js +260 -0
  1597. package/components/organisms/MandatoryAndPriorityChannel/index.js +1 -0
  1598. package/components/organisms/MandatoryAndPriorityChannel/messages.js +23 -0
  1599. package/components/organisms/MandatoryAndPriorityChannel/style.js +31 -0
  1600. package/components/organisms/NavigationBar/NavigationBar.js +299 -0
  1601. package/components/organisms/NavigationBar/constants.js +10 -0
  1602. package/components/organisms/NavigationBar/index.js +1 -0
  1603. package/components/organisms/NavigationBar/messages.js +33 -0
  1604. package/components/organisms/NavigationBar/saga.js +11 -0
  1605. package/components/organisms/NavigationBar/style.js +116 -0
  1606. package/components/organisms/NavigationBar/tests/NavigationBar.test.js +325 -0
  1607. package/components/organisms/NavigationBar/tests/mockdata.js +143 -0
  1608. package/components/organisms/NoConfigWorkflowAction/NoConfigWorkflowAction.js +111 -0
  1609. package/components/organisms/NoConfigWorkflowAction/index.js +1 -0
  1610. package/components/organisms/Nudges/Nudges.js +297 -0
  1611. package/components/organisms/Nudges/actions.js +6 -0
  1612. package/components/organisms/Nudges/constants.js +5 -0
  1613. package/components/organisms/Nudges/index.js +1 -0
  1614. package/components/organisms/Nudges/messages.js +20 -0
  1615. package/components/organisms/Nudges/reducer.js +35 -0
  1616. package/components/organisms/Nudges/saga.js +32 -0
  1617. package/components/organisms/Nudges/selectors.js +21 -0
  1618. package/components/organisms/Nudges/style.js +117 -0
  1619. package/components/organisms/Nudges/tests/mocks/data.js +12 -0
  1620. package/components/organisms/Nudges/tests/saga.test.js +77 -0
  1621. package/components/organisms/OrgChange/OrgChange.js +250 -0
  1622. package/components/organisms/OrgChange/constants.js +2 -0
  1623. package/components/organisms/OrgChange/index.js +1 -0
  1624. package/components/organisms/OrgChange/message.js +38 -0
  1625. package/components/organisms/OrgChange/style.js +15 -0
  1626. package/components/organisms/OrgChange/tests/OrgChange.test.js +71 -0
  1627. package/components/organisms/OrgChange/tests/__snapshots__/OrgChange.test.js.snap +23490 -0
  1628. package/components/organisms/PageHeader/PageHeader.js +328 -0
  1629. package/components/organisms/PageHeader/index.js +1 -0
  1630. package/components/organisms/PageHeader/messages.js +14 -0
  1631. package/components/organisms/PageHeader/style.js +82 -0
  1632. package/components/organisms/PageHeader/tests/PageHeader.test.js +110 -0
  1633. package/components/organisms/PageHeader/tests/__snapshots__/PageHeader.test.js.snap +35058 -0
  1634. package/components/organisms/PageHeaderButton/PageHeaderButton.js +166 -0
  1635. package/components/organisms/PageHeaderButton/index.js +1 -0
  1636. package/components/organisms/PageHeaderButton/messages.js +43 -0
  1637. package/components/organisms/PageHeaderButton/style.js +37 -0
  1638. package/components/organisms/PageHeaderVersioning/PageHeaderVersioning.js +237 -0
  1639. package/components/organisms/PageHeaderVersioning/index.js +1 -0
  1640. package/components/organisms/PageHeaderVersioning/messages.js +29 -0
  1641. package/components/organisms/PageHeaderVersioning/style.js +100 -0
  1642. package/components/organisms/PartnerProgramAdvancedOption/PartnerProgramAdvancedOption.js +169 -0
  1643. package/components/organisms/PartnerProgramAdvancedOption/constants.js +8 -0
  1644. package/components/organisms/PartnerProgramAdvancedOption/index.js +1 -0
  1645. package/components/organisms/PartnerProgramAdvancedOption/messages.js +26 -0
  1646. package/components/organisms/PartnerProgramAdvancedOption/style.js +15 -0
  1647. package/components/organisms/PartnerProgramAdvancedOption/tests/PartnerProgramAdvancedOption.test.js +249 -0
  1648. package/components/organisms/PartnerProgramDashboard/Loadable.js +7 -0
  1649. package/components/organisms/PartnerProgramDashboard/PartnerProgramDashboard.js +416 -0
  1650. package/components/organisms/PartnerProgramDashboard/actions.js +38 -0
  1651. package/components/organisms/PartnerProgramDashboard/constants.js +34 -0
  1652. package/components/organisms/PartnerProgramDashboard/context.js +7 -0
  1653. package/components/organisms/PartnerProgramDashboard/index.js +1 -0
  1654. package/components/organisms/PartnerProgramDashboard/messages.js +62 -0
  1655. package/components/organisms/PartnerProgramDashboard/reducer.js +82 -0
  1656. package/components/organisms/PartnerProgramDashboard/saga.js +128 -0
  1657. package/components/organisms/PartnerProgramDashboard/selectors.js +66 -0
  1658. package/components/organisms/PartnerProgramDashboard/style.js +32 -0
  1659. package/components/organisms/PartnerProgramDashboard/test/PartnerProgramDashboard.test.js +151 -0
  1660. package/components/organisms/PartnerProgramDashboard/test/actions.test.js +12 -0
  1661. package/components/organisms/PartnerProgramDashboard/test/mocks/data.js +321 -0
  1662. package/components/organisms/PartnerProgramDashboard/test/reducer.test.js +322 -0
  1663. package/components/organisms/PartnerProgramDashboard/test/saga.test.js +308 -0
  1664. package/components/organisms/PartnerProgramDashboard/test/selectors.test.js +58 -0
  1665. package/components/organisms/PartnerProgramDashboard/test/utils.test.js +14 -0
  1666. package/components/organisms/PartnerProgramDashboard/utils.js +32 -0
  1667. package/components/organisms/PartnerProgramTierSettings/PartnerProgramTierSettings.js +409 -0
  1668. package/components/organisms/PartnerProgramTierSettings/index.js +1 -0
  1669. package/components/organisms/PartnerProgramTierSettings/messages.js +46 -0
  1670. package/components/organisms/PartnerProgramTierSettings/style.js +88 -0
  1671. package/components/organisms/PartnerProgramTierSettings/tests/PartnerProgramTierSettings.test.js +297 -0
  1672. package/components/organisms/PartnerProgramTierSettings/tests/mocks/data.js +67 -0
  1673. package/components/organisms/PaymentMethodsAdvanced/PaymentSettingsAdvanced.js +516 -0
  1674. package/components/organisms/PaymentMethodsAdvanced/actions.js +26 -0
  1675. package/components/organisms/PaymentMethodsAdvanced/constants.js +42 -0
  1676. package/components/organisms/PaymentMethodsAdvanced/index.js +1 -0
  1677. package/components/organisms/PaymentMethodsAdvanced/messages.js +34 -0
  1678. package/components/organisms/PaymentMethodsAdvanced/reducer.js +76 -0
  1679. package/components/organisms/PaymentMethodsAdvanced/saga.js +129 -0
  1680. package/components/organisms/PaymentMethodsAdvanced/selectors.js +25 -0
  1681. package/components/organisms/PaymentMethodsAdvanced/style.js +22 -0
  1682. package/components/organisms/PaymentMethodsAdvanced/tests/PaymentSettingsAdvanced.test.js +18 -0
  1683. package/components/organisms/PaymentMethodsAdvanced/tests/mocks/data.js +17 -0
  1684. package/components/organisms/PaymentMethodsAdvanced/tests/saga.test.js +284 -0
  1685. package/components/organisms/PerformanceCard/PerformanceCard.js +161 -0
  1686. package/components/organisms/PerformanceCard/index.js +1 -0
  1687. package/components/organisms/PerformanceCard/messages.js +49 -0
  1688. package/components/organisms/PerformanceCard/style.js +70 -0
  1689. package/components/organisms/PerformanceCard/tests/PerformanceCard.test.js +85 -0
  1690. package/components/organisms/PerformanceCard/tests/__snapshots__/PerformanceCard.test.js.snap +8174 -0
  1691. package/components/organisms/PerformanceCard/tests/mockdata.js +6 -0
  1692. package/components/organisms/PerformanceStats/PerformanceStats.js +490 -0
  1693. package/components/organisms/PerformanceStats/actions.js +15 -0
  1694. package/components/organisms/PerformanceStats/constants.js +32 -0
  1695. package/components/organisms/PerformanceStats/index.js +1 -0
  1696. package/components/organisms/PerformanceStats/messages.js +45 -0
  1697. package/components/organisms/PerformanceStats/reducer.js +42 -0
  1698. package/components/organisms/PerformanceStats/saga.js +41 -0
  1699. package/components/organisms/PerformanceStats/selectors.js +21 -0
  1700. package/components/organisms/PerformanceStats/style.js +84 -0
  1701. package/components/organisms/PerformanceStats/tests/PerformanceStats.test.js +52 -0
  1702. package/components/organisms/PerformanceStats/tests/__snapshots__/PerformanceStats.test.js.snap +27832 -0
  1703. package/components/organisms/PerformanceStats/tests/__snapshots__/reducer.test.js.snap +10 -0
  1704. package/components/organisms/PerformanceStats/tests/mockdata.js +45 -0
  1705. package/components/organisms/PerformanceStats/tests/reducer.test.js +58 -0
  1706. package/components/organisms/PerformanceStats/tests/saga.test.js +74 -0
  1707. package/components/organisms/PointContributionToGroup/PointContributionToGroup.js +320 -0
  1708. package/components/organisms/PointContributionToGroup/constants.js +26 -0
  1709. package/components/organisms/PointContributionToGroup/index.js +1 -0
  1710. package/components/organisms/PointContributionToGroup/messages.js +20 -0
  1711. package/components/organisms/PointContributionToGroup/style.js +17 -0
  1712. package/components/organisms/PointContributionToGroup/tests/PointContribution.test.js +20 -0
  1713. package/components/organisms/PointStrategies/PointStrategies.js +276 -0
  1714. package/components/organisms/PointStrategies/constants.js +4 -0
  1715. package/components/organisms/PointStrategies/index.js +1 -0
  1716. package/components/organisms/PointStrategies/style.js +10 -0
  1717. package/components/organisms/PointStrategies/tests/PointStrategies.test.js +51 -0
  1718. package/components/organisms/PointStrategies/tests/utils.test.js +66 -0
  1719. package/components/organisms/PointStrategies/utils.js +60 -0
  1720. package/components/organisms/PointsAdvancedOption/PointsAdvancedOption.js +265 -0
  1721. package/components/organisms/PointsAdvancedOption/actions.js +12 -0
  1722. package/components/organisms/PointsAdvancedOption/constants.js +20 -0
  1723. package/components/organisms/PointsAdvancedOption/index.js +1 -0
  1724. package/components/organisms/PointsAdvancedOption/messages.js +85 -0
  1725. package/components/organisms/PointsAdvancedOption/reducer.js +31 -0
  1726. package/components/organisms/PointsAdvancedOption/saga.js +35 -0
  1727. package/components/organisms/PointsAdvancedOption/selectors.js +25 -0
  1728. package/components/organisms/PointsAdvancedOption/style.js +43 -0
  1729. package/components/organisms/PointsAdvancedOption/tests/PointsAdvancedoption.test.js +99 -0
  1730. package/components/organisms/PointsAdvancedOption/tests/mocks/data.js +89 -0
  1731. package/components/organisms/PointsAdvancedOption/tests/saga.test.js +87 -0
  1732. package/components/organisms/PointsAdvancedOption/utils.js +62 -0
  1733. package/components/organisms/PointsAllocationAccordion/PointsAllocationAccordion.js +135 -0
  1734. package/components/organisms/PointsAllocationAccordion/index.js +1 -0
  1735. package/components/organisms/PointsAllocationAccordion/style.js +70 -0
  1736. package/components/organisms/PointsAllocationLimit/PointsAllocationLimit.js +107 -0
  1737. package/components/organisms/PointsAllocationLimit/actions.js +21 -0
  1738. package/components/organisms/PointsAllocationLimit/constants.js +20 -0
  1739. package/components/organisms/PointsAllocationLimit/index.js +1 -0
  1740. package/components/organisms/PointsAllocationLimit/messages.js +122 -0
  1741. package/components/organisms/PointsAllocationLimit/reducer.js +48 -0
  1742. package/components/organisms/PointsAllocationLimit/saga.js +99 -0
  1743. package/components/organisms/PointsAllocationLimit/selectors.js +12 -0
  1744. package/components/organisms/PointsAllocationLimit/style.js +0 -0
  1745. package/components/organisms/PointsAllocationLimit/tests/PointsAllocationLimit.test.js +34 -0
  1746. package/components/organisms/PointsAllocationLimit/tests/reducers.test.js +93 -0
  1747. package/components/organisms/PointsAllocationLimit/tests/saga.test.js +189 -0
  1748. package/components/organisms/PointsAllocationLimit/tests/selectors.test.js +43 -0
  1749. package/components/organisms/PointsBudgetList/PointsBudgetList.js +1220 -0
  1750. package/components/organisms/PointsBudgetList/constants.js +201 -0
  1751. package/components/organisms/PointsBudgetList/index.js +1 -0
  1752. package/components/organisms/PointsBudgetList/messages.js +329 -0
  1753. package/components/organisms/PointsBudgetList/style.js +265 -0
  1754. package/components/organisms/PointsBudgetList/tests/PointsBudgetList.test.js +271 -0
  1755. package/components/organisms/PointsBudgetList/tests/mockData.js +788 -0
  1756. package/components/organisms/PointsBudgetList/tests/utils.test.js +16 -0
  1757. package/components/organisms/PointsBudgetList/utils.js +24 -0
  1758. package/components/organisms/PointsGroupRedemptionWorkflowAction/PointsGroupRedemptionWorkflowAction.js +146 -0
  1759. package/components/organisms/PointsGroupRedemptionWorkflowAction/index.js +1 -0
  1760. package/components/organisms/PointsGroupRedemptionWorkflowAction/style.js +17 -0
  1761. package/components/organisms/PointsRedemptionReversalWorkflowAction/PointsRedemptionReversalWorkflowAction.js +259 -0
  1762. package/components/organisms/PointsRedemptionReversalWorkflowAction/index.js +1 -0
  1763. package/components/organisms/PointsRedemptionReversalWorkflowAction/style.js +17 -0
  1764. package/components/organisms/PointsRedemptionReversalWorkflowAction/tests/PointsRedemptionReversalWorkflowAction.test.js +42 -0
  1765. package/components/organisms/PointsRedemptionWorkflowAction/PointsRedemptionWorkflowAction.js +162 -0
  1766. package/components/organisms/PointsRedemptionWorkflowAction/index.js +1 -0
  1767. package/components/organisms/PointsRedemptionWorkflowAction/style.js +17 -0
  1768. package/components/organisms/PointsRollingExpiry/PointsRollingExpiry.js +637 -0
  1769. package/components/organisms/PointsRollingExpiry/actions.js +10 -0
  1770. package/components/organisms/PointsRollingExpiry/constants.js +48 -0
  1771. package/components/organisms/PointsRollingExpiry/index.js +1 -0
  1772. package/components/organisms/PointsRollingExpiry/messages.js +210 -0
  1773. package/components/organisms/PointsRollingExpiry/reducer.js +51 -0
  1774. package/components/organisms/PointsRollingExpiry/saga.js +72 -0
  1775. package/components/organisms/PointsRollingExpiry/selectors.js +48 -0
  1776. package/components/organisms/PointsRollingExpiry/style.js +190 -0
  1777. package/components/organisms/PointsRollingExpiry/tests/PointsRollingExpiry.test.js +279 -0
  1778. package/components/organisms/PointsRollingExpiry/tests/mocks/mockData.js +62 -0
  1779. package/components/organisms/PointsRollingExpiry/tests/reducer.test.js +81 -0
  1780. package/components/organisms/PointsRollingExpiry/tests/saga.test.js +166 -0
  1781. package/components/organisms/PointsRollingExpiry/tests/selectors.test.js +35 -0
  1782. package/components/organisms/PointsRollingExpiry/tests/utils.test.js +54 -0
  1783. package/components/organisms/PointsRollingExpiry/utils.js +257 -0
  1784. package/components/organisms/PointsTransferOrgSettings/ProgramTransferOrgSettings.js +246 -0
  1785. package/components/organisms/PointsTransferOrgSettings/actions.js +11 -0
  1786. package/components/organisms/PointsTransferOrgSettings/constants.js +47 -0
  1787. package/components/organisms/PointsTransferOrgSettings/index.js +1 -0
  1788. package/components/organisms/PointsTransferOrgSettings/messages.js +57 -0
  1789. package/components/organisms/PointsTransferOrgSettings/reducer.js +36 -0
  1790. package/components/organisms/PointsTransferOrgSettings/saga.js +68 -0
  1791. package/components/organisms/PointsTransferOrgSettings/selectors.js +30 -0
  1792. package/components/organisms/PointsTransferOrgSettings/style.js +19 -0
  1793. package/components/organisms/PointsTransferOrgSettings/tests/PointsTransferOrgSettings.test.js +176 -0
  1794. package/components/organisms/PointsTransferOrgSettings/tests/actions.test.js +19 -0
  1795. package/components/organisms/PointsTransferOrgSettings/tests/mocks/data.js +15 -0
  1796. package/components/organisms/PointsTransferOrgSettings/tests/reducer.test.js +142 -0
  1797. package/components/organisms/PointsTransferOrgSettings/tests/saga.test.js +138 -0
  1798. package/components/organisms/PointsTransferOrgSettings/tests/selectors.test.js +21 -0
  1799. package/components/organisms/PointsTransferSettings/PointsTransferSettings.js +334 -0
  1800. package/components/organisms/PointsTransferSettings/constants.js +60 -0
  1801. package/components/organisms/PointsTransferSettings/index.js +1 -0
  1802. package/components/organisms/PointsTransferSettings/messages.js +43 -0
  1803. package/components/organisms/PointsTransferSettings/style.js +50 -0
  1804. package/components/organisms/PointsTransferSettings/tests/index.test.js +56 -0
  1805. package/components/organisms/Preview/Preview.js +177 -0
  1806. package/components/organisms/Preview/index.js +1 -0
  1807. package/components/organisms/Preview/reducer.js +15 -0
  1808. package/components/organisms/Preview/style.js +12 -0
  1809. package/components/organisms/Preview/tests/__snapshots__/index.test.js.snap +112 -0
  1810. package/components/organisms/Preview/tests/index.test.js +63 -0
  1811. package/components/organisms/ProgramDestinationMapper/ProgramDestinationMapper.js +195 -0
  1812. package/components/organisms/ProgramDestinationMapper/actions.js +9 -0
  1813. package/components/organisms/ProgramDestinationMapper/constants.js +4 -0
  1814. package/components/organisms/ProgramDestinationMapper/index.js +1 -0
  1815. package/components/organisms/ProgramDestinationMapper/messages.js +10 -0
  1816. package/components/organisms/ProgramDestinationMapper/mocks/data.js +22 -0
  1817. package/components/organisms/ProgramDestinationMapper/reducer.js +38 -0
  1818. package/components/organisms/ProgramDestinationMapper/saga.js +33 -0
  1819. package/components/organisms/ProgramDestinationMapper/selectors.js +21 -0
  1820. package/components/organisms/ProgramDestinationMapper/style.js +21 -0
  1821. package/components/organisms/ProgramDestinationMapper/tests/ProgramDestinationMapper.test.js +91 -0
  1822. package/components/organisms/ProgramDestinationMapper/tests/saga.test.js +80 -0
  1823. package/components/organisms/ProgramPerformance/Loadable.js +7 -0
  1824. package/components/organisms/ProgramPerformance/ProgramPerformance.js +101 -0
  1825. package/components/organisms/ProgramPerformance/actions.js +13 -0
  1826. package/components/organisms/ProgramPerformance/constants.js +7 -0
  1827. package/components/organisms/ProgramPerformance/data.js +26 -0
  1828. package/components/organisms/ProgramPerformance/index.js +1 -0
  1829. package/components/organisms/ProgramPerformance/messages.js +16 -0
  1830. package/components/organisms/ProgramPerformance/reducer.js +20 -0
  1831. package/components/organisms/ProgramPerformance/saga.js +6 -0
  1832. package/components/organisms/ProgramPerformance/selectors.js +25 -0
  1833. package/components/organisms/ProgramPerformance/style.js +25 -0
  1834. package/components/organisms/ProgramPerformance/tests/actions.test.js +13 -0
  1835. package/components/organisms/ProgramPerformance/tests/index.test.js +11 -0
  1836. package/components/organisms/ProgramPerformance/tests/reducer.test.js +10 -0
  1837. package/components/organisms/ProgramPerformance/tests/saga.test.js +11 -0
  1838. package/components/organisms/ProgramPerformance/tests/selectors.test.js +8 -0
  1839. package/components/organisms/ProgramSettings/ProgramSettings.js +440 -0
  1840. package/components/organisms/ProgramSettings/constants.js +18 -0
  1841. package/components/organisms/ProgramSettings/index.js +1 -0
  1842. package/components/organisms/ProgramSettings/messages.js +57 -0
  1843. package/components/organisms/ProgramSettings/style.js +18 -0
  1844. package/components/organisms/ProgramSettings/tests/ProgramSettings.test.js +176 -0
  1845. package/components/organisms/ProgramSettings/tests/mocks/data.js +22 -0
  1846. package/components/organisms/ProgramSettings/utils.js +17 -0
  1847. package/components/organisms/ProgramWorkflows/ProgramWorkflows.js +293 -0
  1848. package/components/organisms/ProgramWorkflows/actions.js +13 -0
  1849. package/components/organisms/ProgramWorkflows/constants.js +16 -0
  1850. package/components/organisms/ProgramWorkflows/data.js +44 -0
  1851. package/components/organisms/ProgramWorkflows/index.js +1 -0
  1852. package/components/organisms/ProgramWorkflows/messages.js +44 -0
  1853. package/components/organisms/ProgramWorkflows/reducer.js +20 -0
  1854. package/components/organisms/ProgramWorkflows/selectors.js +26 -0
  1855. package/components/organisms/ProgramWorkflows/style.js +19 -0
  1856. package/components/organisms/ProgramWorkflows/tests/actions.test.js +13 -0
  1857. package/components/organisms/ProgramWorkflows/tests/index.test.js +18 -0
  1858. package/components/organisms/ProgramWorkflows/tests/reducer.test.js +10 -0
  1859. package/components/organisms/ProgramWorkflows/tests/selectors.test.js +8 -0
  1860. package/components/organisms/PromisedPointToCurrentPointWorkflowAction/PromisedPointToCurrentPointWorkflowAction.js +143 -0
  1861. package/components/organisms/PromisedPointToCurrentPointWorkflowAction/index.js +1 -0
  1862. package/components/organisms/PromisedPointToCurrentPointWorkflowAction/style.js +17 -0
  1863. package/components/organisms/PromotionAdvancedSettings/PromotionAdvancedSettings.js +1580 -0
  1864. package/components/organisms/PromotionAdvancedSettings/actions.js +14 -0
  1865. package/components/organisms/PromotionAdvancedSettings/constants.js +18 -0
  1866. package/components/organisms/PromotionAdvancedSettings/index.js +1 -0
  1867. package/components/organisms/PromotionAdvancedSettings/messages.js +259 -0
  1868. package/components/organisms/PromotionAdvancedSettings/reducer.js +30 -0
  1869. package/components/organisms/PromotionAdvancedSettings/saga.js +33 -0
  1870. package/components/organisms/PromotionAdvancedSettings/selectors.js +25 -0
  1871. package/components/organisms/PromotionAdvancedSettings/style.js +251 -0
  1872. package/components/organisms/PromotionAdvancedSettings/tests/PromotionAdvancedSettings.test.js +642 -0
  1873. package/components/organisms/PromotionAdvancedSettings/tests/PromotionAdvancedSettingsRevamp.test.js +146 -0
  1874. package/components/organisms/PromotionAdvancedSettings/tests/mockData.js +197 -0
  1875. package/components/organisms/PromotionAdvancedSettings/tests/utils.test.js +48 -0
  1876. package/components/organisms/PromotionAdvancedSettings/utils.js +44 -0
  1877. package/components/organisms/PromotionSettings/PromotionSettings.js +469 -0
  1878. package/components/organisms/PromotionSettings/constants.js +9 -0
  1879. package/components/organisms/PromotionSettings/index.js +1 -0
  1880. package/components/organisms/PromotionSettings/messages.js +93 -0
  1881. package/components/organisms/PromotionSettings/style.js +137 -0
  1882. package/components/organisms/PromotionsDetail/Loadable.js +7 -0
  1883. package/components/organisms/PromotionsDetail/PromotionsDetail.js +1411 -0
  1884. package/components/organisms/PromotionsDetail/actions.js +36 -0
  1885. package/components/organisms/PromotionsDetail/constants.js +124 -0
  1886. package/components/organisms/PromotionsDetail/index.js +1 -0
  1887. package/components/organisms/PromotionsDetail/messages.js +249 -0
  1888. package/components/organisms/PromotionsDetail/reducer.js +183 -0
  1889. package/components/organisms/PromotionsDetail/saga.js +261 -0
  1890. package/components/organisms/PromotionsDetail/selectors.js +56 -0
  1891. package/components/organisms/PromotionsDetail/style.js +317 -0
  1892. package/components/organisms/PromotionsDetail/tests/PromotionsDetail.test.js +511 -0
  1893. package/components/organisms/PromotionsDetail/tests/mockData.js +306 -0
  1894. package/components/organisms/PromotionsDetail/tests/utils.test.js +112 -0
  1895. package/components/organisms/PromotionsDetail/utils.js +618 -0
  1896. package/components/organisms/RadioTreeSelect/RadioTreeSelect.js +135 -0
  1897. package/components/organisms/RadioTreeSelect/constants.js +3 -0
  1898. package/components/organisms/RadioTreeSelect/index.js +1 -0
  1899. package/components/organisms/RadioTreeSelect/style.js +108 -0
  1900. package/components/organisms/ReconfigurePromotions/ReconfigurePromotions.js +128 -0
  1901. package/components/organisms/ReconfigurePromotions/index.js +1 -0
  1902. package/components/organisms/ReconfigurePromotions/messages.js +43 -0
  1903. package/components/organisms/ReconfigurePromotions/style.js +66 -0
  1904. package/components/organisms/ReconfigurePromotions/tests/ReconfigurePromotions.test.js +60 -0
  1905. package/components/organisms/RedeemConditionFields/RedeemConditionFields.js +214 -0
  1906. package/components/organisms/RedeemConditionFields/index.js +1 -0
  1907. package/components/organisms/RedeemConditionFields/messages.js +78 -0
  1908. package/components/organisms/RedeemConditionFields/tests/index.test.js +21 -0
  1909. package/components/organisms/RedeemConditions/RedeemConditions.js +434 -0
  1910. package/components/organisms/RedeemConditions/actions.js +12 -0
  1911. package/components/organisms/RedeemConditions/constants.js +13 -0
  1912. package/components/organisms/RedeemConditions/index.js +1 -0
  1913. package/components/organisms/RedeemConditions/messages.js +32 -0
  1914. package/components/organisms/RedeemConditions/reducer.js +35 -0
  1915. package/components/organisms/RedeemConditions/saga.js +33 -0
  1916. package/components/organisms/RedeemConditions/selectors.js +21 -0
  1917. package/components/organisms/RedeemConditions/style.js +22 -0
  1918. package/components/organisms/RedeemConditions/tests/RedeemConditions.test.js +216 -0
  1919. package/components/organisms/RedeemConditions/tests/mocks/data.js +131 -0
  1920. package/components/organisms/RedeemConditions/tests/saga.test.js +83 -0
  1921. package/components/organisms/RedemptionStrategy/RedemptionStrategy.js +631 -0
  1922. package/components/organisms/RedemptionStrategy/constants.js +13 -0
  1923. package/components/organisms/RedemptionStrategy/index.js +1 -0
  1924. package/components/organisms/RedemptionStrategy/messages.js +60 -0
  1925. package/components/organisms/RedemptionStrategy/style.js +32 -0
  1926. package/components/organisms/RedemptionStrategy/tests/RedemptionStrategy.test.js +80 -0
  1927. package/components/organisms/RedemptionStrategy/tests/mockData.js +46 -0
  1928. package/components/organisms/RenewTierWorkflowAction/RenewTierWorkflowAction.js +137 -0
  1929. package/components/organisms/RenewTierWorkflowAction/index.js +1 -0
  1930. package/components/organisms/RenewTierWorkflowAction/style.js +17 -0
  1931. package/components/organisms/RenewalCommunication/RenewalCommunication.js +148 -0
  1932. package/components/organisms/RenewalCommunication/constants.js +0 -0
  1933. package/components/organisms/RenewalCommunication/index.js +1 -0
  1934. package/components/organisms/RenewalCommunication/messages.js +48 -0
  1935. package/components/organisms/RenewalCommunication/tests/index.test.js +24 -0
  1936. package/components/organisms/RenewalCommunication/utils.js +287 -0
  1937. package/components/organisms/ReturnConditions/ReturnConditions.js +583 -0
  1938. package/components/organisms/ReturnConditions/actions.js +12 -0
  1939. package/components/organisms/ReturnConditions/constants.js +8 -0
  1940. package/components/organisms/ReturnConditions/index.js +1 -0
  1941. package/components/organisms/ReturnConditions/messages.js +91 -0
  1942. package/components/organisms/ReturnConditions/reducer.js +35 -0
  1943. package/components/organisms/ReturnConditions/saga.js +34 -0
  1944. package/components/organisms/ReturnConditions/selectors.js +21 -0
  1945. package/components/organisms/ReturnConditions/style.js +39 -0
  1946. package/components/organisms/ReturnConditions/tests/ReturnConditions.test.js +59 -0
  1947. package/components/organisms/ReturnConditions/tests/mocks/data.js +14 -0
  1948. package/components/organisms/ReturnConditions/tests/mocks/mockData.js +148 -0
  1949. package/components/organisms/ReturnConditions/tests/saga.test.js +87 -0
  1950. package/components/organisms/ReturnStrategy/ReturnStrategy.js +492 -0
  1951. package/components/organisms/ReturnStrategy/constants.js +7 -0
  1952. package/components/organisms/ReturnStrategy/index.js +1 -0
  1953. package/components/organisms/ReturnStrategy/messages.js +24 -0
  1954. package/components/organisms/ReturnStrategy/style.js +14 -0
  1955. package/components/organisms/ReturnStrategy/tests/ReturnStrategy.test.js +73 -0
  1956. package/components/organisms/ReviewPromotionSlider/ReviewPromotionSlider.js +76 -0
  1957. package/components/organisms/ReviewPromotionSlider/index.js +1 -0
  1958. package/components/organisms/ReviewPromotionSlider/style.js +59 -0
  1959. package/components/organisms/ReviewPromotionSlider/tests/ReviewPromotionSlider.test.js +58 -0
  1960. package/components/organisms/ReviewPromotionSlider/tests/mockData.js +535 -0
  1961. package/components/organisms/ReviewPromotionSlider/tests/utils.test.js +11 -0
  1962. package/components/organisms/ReviewPromotionSlider/utils.js +176 -0
  1963. package/components/organisms/ReviewTierUnloadModal/ReviewTierUnloadModal.js +106 -0
  1964. package/components/organisms/ReviewTierUnloadModal/index.js +1 -0
  1965. package/components/organisms/ReviewTierUnloadModal/messages.js +16 -0
  1966. package/components/organisms/ScopeSlidebox/ScopeContentDescription.js +67 -0
  1967. package/components/organisms/ScopeSlidebox/ScopeContentHeader.js +25 -0
  1968. package/components/organisms/ScopeSlidebox/ScopeSlidebox.js +2616 -0
  1969. package/components/organisms/ScopeSlidebox/constants.js +134 -0
  1970. package/components/organisms/ScopeSlidebox/index.js +1 -0
  1971. package/components/organisms/ScopeSlidebox/messages.js +148 -0
  1972. package/components/organisms/ScopeSlidebox/style.js +109 -0
  1973. package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/ScopeSlideBoxWithoutFeature.test.js +1342 -0
  1974. package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/mockData.js +3226 -0
  1975. package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/processedRulesetsData.js +374 -0
  1976. package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/rulesetsData.js +462 -0
  1977. package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/ScopeSlidebox.test.js +1907 -0
  1978. package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/mockData.js +3661 -0
  1979. package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/processedRulesetsData.js +242 -0
  1980. package/components/organisms/ScopeSlidebox/tests/mockData.js +50 -0
  1981. package/components/organisms/ScopeSlidebox/tests/scope-utils.test.js +39 -0
  1982. package/components/organisms/ScopeSlidebox/utils.js +88 -0
  1983. package/components/organisms/SelectLabelWorkflowAction/SelectLabelWorkflowAction.js +70 -0
  1984. package/components/organisms/SelectLabelWorkflowAction/index.js +1 -0
  1985. package/components/organisms/SelectTargetSlider/SelectTargetSlider.js +406 -0
  1986. package/components/organisms/SelectTargetSlider/index.js +1 -0
  1987. package/components/organisms/SelectTargetSlider/messages.js +126 -0
  1988. package/components/organisms/SelectTargetSlider/mockData.js +704 -0
  1989. package/components/organisms/SelectTargetSlider/style.js +97 -0
  1990. package/components/organisms/SelectTargetSlider/tests/NoTargetView.test.js +74 -0
  1991. package/components/organisms/SelectTargetSlider/tests/SelectTargetSlider.test.js +209 -0
  1992. package/components/organisms/SelectTargetSlider/utils.js +186 -0
  1993. package/components/organisms/SendEmailWorkflowAction/SendEmailWorkflowAction.js +159 -0
  1994. package/components/organisms/SendEmailWorkflowAction/index.js +1 -0
  1995. package/components/organisms/SendEmailWorkflowAction/tests/SendEmailWorkflowAction.test.js +23 -0
  1996. package/components/organisms/SendMessagesWorkflowAction/SendMessagesWorkflowAction.js +204 -0
  1997. package/components/organisms/SendMessagesWorkflowAction/index.js +1 -0
  1998. package/components/organisms/SendMessagesWorkflowAction/style.js +17 -0
  1999. package/components/organisms/SendMessagesWorkflowAction/tests/SendMessagesWorflowAction.test.js +23 -0
  2000. package/components/organisms/SendMobilePushWorkflowAction/SendMobilePushWorkflowAction.js +156 -0
  2001. package/components/organisms/SendMobilePushWorkflowAction/index.js +1 -0
  2002. package/components/organisms/SendMobilePushWorkflowAction/tests/SendMobilePushWorkflowAction.test.js +23 -0
  2003. package/components/organisms/SendSmsWorkflowAction/SendSmsWorkflowAction.js +158 -0
  2004. package/components/organisms/SendSmsWorkflowAction/index.js +1 -0
  2005. package/components/organisms/SocialConnectWorkflowAction/SocialConnectWorkflowAction.js +152 -0
  2006. package/components/organisms/SocialConnectWorkflowAction/index.js +1 -0
  2007. package/components/organisms/SocialConnectWorkflowAction/tests/SocialConnectWorkflowAction.test.js +23 -0
  2008. package/components/organisms/StrategyDashboard/Loadable.js +5 -0
  2009. package/components/organisms/StrategyDashboard/StrategyDashboard.js +253 -0
  2010. package/components/organisms/StrategyDashboard/actions.js +7 -0
  2011. package/components/organisms/StrategyDashboard/constants.js +9 -0
  2012. package/components/organisms/StrategyDashboard/context.js +7 -0
  2013. package/components/organisms/StrategyDashboard/index.js +1 -0
  2014. package/components/organisms/StrategyDashboard/messages.js +21 -0
  2015. package/components/organisms/StrategyDashboard/reducer.js +36 -0
  2016. package/components/organisms/StrategyDashboard/saga.js +32 -0
  2017. package/components/organisms/StrategyDashboard/selectors.js +33 -0
  2018. package/components/organisms/StrategyDashboard/style.js +55 -0
  2019. package/components/organisms/StrategyDashboard/tests/StrategyDashboard.test.js +80 -0
  2020. package/components/organisms/StrategyDashboard/tests/mocks/data.js +110 -0
  2021. package/components/organisms/StrategyDashboard/tests/saga.test.js +80 -0
  2022. package/components/organisms/TagCustomerAction/TagCustomerAction.js +170 -0
  2023. package/components/organisms/TagCustomerAction/index.js +1 -0
  2024. package/components/organisms/TagCustomerAction/messages.js +20 -0
  2025. package/components/organisms/TagCustomerAction/tests/TagCustomerAction.test.js +29 -0
  2026. package/components/organisms/TargetPointAllocationWorkflowAction/TargetPointAllocationWorkflowAction.js +623 -0
  2027. package/components/organisms/TargetPointAllocationWorkflowAction/actions.js +32 -0
  2028. package/components/organisms/TargetPointAllocationWorkflowAction/constants.js +37 -0
  2029. package/components/organisms/TargetPointAllocationWorkflowAction/index.js +1 -0
  2030. package/components/organisms/TargetPointAllocationWorkflowAction/reducer.js +88 -0
  2031. package/components/organisms/TargetPointAllocationWorkflowAction/saga.js +128 -0
  2032. package/components/organisms/TargetPointAllocationWorkflowAction/selectors.js +22 -0
  2033. package/components/organisms/TargetPointAllocationWorkflowAction/style.js +17 -0
  2034. package/components/organisms/TargetPointAllocationWorkflowAction/tests/TargetPointAllocationWorkFlowAction.test.js +577 -0
  2035. package/components/organisms/TargetPointAllocationWorkflowAction/tests/__snapshots__/action.test.js.snap +16 -0
  2036. package/components/organisms/TargetPointAllocationWorkflowAction/tests/__snapshots__/reducer.test.js.snap +166 -0
  2037. package/components/organisms/TargetPointAllocationWorkflowAction/tests/action.test.js +31 -0
  2038. package/components/organisms/TargetPointAllocationWorkflowAction/tests/mockData.js +243 -0
  2039. package/components/organisms/TargetPointAllocationWorkflowAction/tests/reducer.test.js +172 -0
  2040. package/components/organisms/TargetPointAllocationWorkflowAction/tests/saga.test.js +290 -0
  2041. package/components/organisms/TargetPointAllocationWorkflowAction/tests/selectors.test.js +16 -0
  2042. package/components/organisms/TierUpgradeAndDowngrade/TierUpgradeAndDowngrade.js +849 -0
  2043. package/components/organisms/TierUpgradeAndDowngrade/constants.js +2 -0
  2044. package/components/organisms/TierUpgradeAndDowngrade/index.js +1 -0
  2045. package/components/organisms/TierUpgradeAndDowngrade/messages.js +174 -0
  2046. package/components/organisms/TierUpgradeAndDowngrade/style.js +709 -0
  2047. package/components/organisms/TierUpgradeAndDowngrade/tests/TierUpgradeAndDowngrade.test.js +326 -0
  2048. package/components/organisms/TierUpgradeAndDowngrade/tests/TiersTooltips.test.js +75 -0
  2049. package/components/organisms/TierUpgradeAndDowngrade/tests/ValidityModal.test.js +82 -0
  2050. package/components/organisms/TierUpgradeAndDowngrade/tests/mocks/data.js +230 -0
  2051. package/components/organisms/TierUpgradeAndDowngrade/tests/utils.test.js +196 -0
  2052. package/components/organisms/TierUpgradeAndDowngrade/utils.js +417 -0
  2053. package/components/organisms/TieradvancedOption/TierAdvancedOption.js +460 -0
  2054. package/components/organisms/TieradvancedOption/actions.js +12 -0
  2055. package/components/organisms/TieradvancedOption/constants.js +25 -0
  2056. package/components/organisms/TieradvancedOption/index.js +1 -0
  2057. package/components/organisms/TieradvancedOption/messages.js +57 -0
  2058. package/components/organisms/TieradvancedOption/reducer.js +31 -0
  2059. package/components/organisms/TieradvancedOption/saga.js +33 -0
  2060. package/components/organisms/TieradvancedOption/selectors.js +25 -0
  2061. package/components/organisms/TieradvancedOption/style.js +53 -0
  2062. package/components/organisms/TieradvancedOption/tests/TierAdvancedOption.test.js +108 -0
  2063. package/components/organisms/TieradvancedOption/tests/mocks/data.js +14 -0
  2064. package/components/organisms/TieradvancedOption/tests/saga.test.js +83 -0
  2065. package/components/organisms/TieradvancedOption/utils.js +162 -0
  2066. package/components/organisms/Tiers/Loadable.js +5 -0
  2067. package/components/organisms/Tiers/Tiers.js +1092 -0
  2068. package/components/organisms/Tiers/actions.js +17 -0
  2069. package/components/organisms/Tiers/constants.js +27 -0
  2070. package/components/organisms/Tiers/context.js +7 -0
  2071. package/components/organisms/Tiers/index.js +1 -0
  2072. package/components/organisms/Tiers/messages.js +33 -0
  2073. package/components/organisms/Tiers/reducer.js +66 -0
  2074. package/components/organisms/Tiers/saga.js +44 -0
  2075. package/components/organisms/Tiers/selectors.js +21 -0
  2076. package/components/organisms/Tiers/style.js +162 -0
  2077. package/components/organisms/Tiers/tests/actions.test.js +28 -0
  2078. package/components/organisms/Tiers/tests/index.test.js +126 -0
  2079. package/components/organisms/Tiers/tests/mock.js +403 -0
  2080. package/components/organisms/Tiers/tests/reducer.test.js +64 -0
  2081. package/components/organisms/Tiers/tests/saga.test.js +94 -0
  2082. package/components/organisms/Tiers/tests/selectors.test.js +27 -0
  2083. package/components/organisms/Tiers/tests/utils.test.js +15 -0
  2084. package/components/organisms/Tiers/utils.js +10 -0
  2085. package/components/organisms/TrackerEvaluationWorkflowAction/TrackerEvaluationWorkflowAction.js +216 -0
  2086. package/components/organisms/TrackerEvaluationWorkflowAction/index.js +1 -0
  2087. package/components/organisms/TrackerEvaluationWorkflowAction/style.js +17 -0
  2088. package/components/organisms/TrackerEvaluationWorkflowAction/tests/TrackerEvaluationWorkflowAction.test.js +100 -0
  2089. package/components/organisms/Trackers/Loadable.js +5 -0
  2090. package/components/organisms/Trackers/Trackers.js +567 -0
  2091. package/components/organisms/Trackers/constants.js +14 -0
  2092. package/components/organisms/Trackers/index.js +1 -0
  2093. package/components/organisms/Trackers/messages.js +48 -0
  2094. package/components/organisms/Trackers/style.js +82 -0
  2095. package/components/organisms/Trackers/tests/Trackers.test.js +45 -0
  2096. package/components/organisms/Trackers/tests/mockData.js +342 -0
  2097. package/components/organisms/TransactionAllocationPointWorkflowAction/TransactionAllocationPointWorkflowAction.js +457 -0
  2098. package/components/organisms/TransactionAllocationPointWorkflowAction/constants.js +3 -0
  2099. package/components/organisms/TransactionAllocationPointWorkflowAction/index.js +1 -0
  2100. package/components/organisms/TransactionAllocationPointWorkflowAction/style.js +17 -0
  2101. package/components/organisms/TransactionAllocationPointWorkflowAction/tests/TransactionAllocationPointWorkflowAction.test.js +134 -0
  2102. package/components/organisms/TransactionAllocationPointWorkflowAction/tests/mockData.js +349 -0
  2103. package/components/organisms/TransferGroupPoints/TransferGroupPoints.js +665 -0
  2104. package/components/organisms/TransferGroupPoints/constants.js +21 -0
  2105. package/components/organisms/TransferGroupPoints/index.js +1 -0
  2106. package/components/organisms/TransferGroupPoints/messages.js +24 -0
  2107. package/components/organisms/TransferGroupPoints/style.js +24 -0
  2108. package/components/organisms/TransferGroupPoints/tests/TransferGroupPoints.test.js +143 -0
  2109. package/components/organisms/TransferGroupPoints/tests/mockData.js +236 -0
  2110. package/components/organisms/UpgradeCommunication/UpgradeCommunication.js +135 -0
  2111. package/components/organisms/UpgradeCommunication/index.js +1 -0
  2112. package/components/organisms/UpgradeCommunication/tests/index.test.js +24 -0
  2113. package/components/organisms/UpgradeCommunication/utils.js +170 -0
  2114. package/components/organisms/UpgradeToTierSettingsWorkflowAction/UpgradeToTierSettingsWorkflowAction.js +214 -0
  2115. package/components/organisms/UpgradeToTierSettingsWorkflowAction/index.js +1 -0
  2116. package/components/organisms/UpgradeToTierSettingsWorkflowAction/style.js +17 -0
  2117. package/components/organisms/UpgradeToTierWorkflowAction/UpgradeToTierWorkflowAction.js +349 -0
  2118. package/components/organisms/UpgradeToTierWorkflowAction/index.js +1 -0
  2119. package/components/organisms/UpgradeToTierWorkflowAction/messages.js +16 -0
  2120. package/components/organisms/UpgradeToTierWorkflowAction/style.js +17 -0
  2121. package/components/organisms/UpgradeToTierWorkflowAction/tests/UpgradeToTierWorkflowAction.test.js +45 -0
  2122. package/components/organisms/VersioningDropdown/VersioningDropdown.js +271 -0
  2123. package/components/organisms/VersioningDropdown/index.js +1 -0
  2124. package/components/organisms/VersioningDropdown/messages.js +18 -0
  2125. package/components/organisms/VersioningDropdown/mocks/data.js +75 -0
  2126. package/components/organisms/VersioningDropdown/style.js +18 -0
  2127. package/components/organisms/VersioningDropdown/tests/VersioningDropdown.test.js +37 -0
  2128. package/components/organisms/VersioningDropdown/utils.js +16 -0
  2129. package/components/pages/AccessForbidden/AccessForbidden.js +20 -0
  2130. package/components/pages/AccessForbidden/index.js +1 -0
  2131. package/components/pages/AccessForbidden/messages.js +14 -0
  2132. package/components/pages/AccessForbidden/style.js +6 -0
  2133. package/components/pages/App/constants.js +705 -0
  2134. package/components/pages/App/index.js +48 -0
  2135. package/components/pages/BulkConfiguration/BulkConfigurations.js +877 -0
  2136. package/components/pages/BulkConfiguration/actions.js +30 -0
  2137. package/components/pages/BulkConfiguration/constants.js +31 -0
  2138. package/components/pages/BulkConfiguration/index.js +1 -0
  2139. package/components/pages/BulkConfiguration/messages.js +144 -0
  2140. package/components/pages/BulkConfiguration/reducer.js +74 -0
  2141. package/components/pages/BulkConfiguration/saga.js +119 -0
  2142. package/components/pages/BulkConfiguration/selector.js +33 -0
  2143. package/components/pages/BulkConfiguration/style.js +222 -0
  2144. package/components/pages/BulkConfiguration/tests/BulkConfigurations.test.js +595 -0
  2145. package/components/pages/BulkConfiguration/tests/BulkConfigurations1.test.js +114 -0
  2146. package/components/pages/BulkConfiguration/tests/BulkConfigurationsEdit.test.js +128 -0
  2147. package/components/pages/BulkConfiguration/tests/actions.test.js +53 -0
  2148. package/components/pages/BulkConfiguration/tests/mockData.js +163 -0
  2149. package/components/pages/BulkConfiguration/tests/reducer.test.js +318 -0
  2150. package/components/pages/BulkConfiguration/tests/saga.test.js +363 -0
  2151. package/components/pages/BulkConfiguration/tests/selectors.test.js +61 -0
  2152. package/components/pages/Cap/Cap.js +443 -0
  2153. package/components/pages/Cap/Loadable.js +14 -0
  2154. package/components/pages/Cap/actions.js +300 -0
  2155. package/components/pages/Cap/constants.js +306 -0
  2156. package/components/pages/Cap/context.js +7 -0
  2157. package/components/pages/Cap/index.js +1 -0
  2158. package/components/pages/Cap/messages.js +2532 -0
  2159. package/components/pages/Cap/mocks/data.js +623 -0
  2160. package/components/pages/Cap/reducer.js +514 -0
  2161. package/components/pages/Cap/routes.js +68 -0
  2162. package/components/pages/Cap/saga.js +1118 -0
  2163. package/components/pages/Cap/selectors.js +325 -0
  2164. package/components/pages/Cap/style.js +79 -0
  2165. package/components/pages/Cap/tests/Cap.test.js +217 -0
  2166. package/components/pages/Cap/tests/__snapshots__/reducer.test.js.snap +111 -0
  2167. package/components/pages/Cap/tests/actions.test.js +76 -0
  2168. package/components/pages/Cap/tests/reducer.test.js +424 -0
  2169. package/components/pages/Cap/tests/saga.test.js +2661 -0
  2170. package/components/pages/Cap/tests/selectors.test.js +118 -0
  2171. package/components/pages/Cap/tests/utils.test.js +37 -0
  2172. package/components/pages/Cap/utils.js +20 -0
  2173. package/components/pages/ConfigureProgram/ConfigureProgram.js +90 -0
  2174. package/components/pages/ConfigureProgram/constants.js +0 -0
  2175. package/components/pages/ConfigureProgram/data.js +17 -0
  2176. package/components/pages/ConfigureProgram/index.js +1 -0
  2177. package/components/pages/ConfigureProgram/tests/ConfigureProgram.test.js +45 -0
  2178. package/components/pages/Dashboard/Dashboard.js +181 -0
  2179. package/components/pages/Dashboard/Loadable.js +12 -0
  2180. package/components/pages/Dashboard/constants.js +9 -0
  2181. package/components/pages/Dashboard/data.js +364 -0
  2182. package/components/pages/Dashboard/index.js +1 -0
  2183. package/components/pages/Dashboard/style.js +5 -0
  2184. package/components/pages/Dashboard/tests/Dashboard.test.js +44 -0
  2185. package/components/pages/LanguageProvider/index.js +68 -0
  2186. package/components/pages/LanguageProvider/saga.js +11 -0
  2187. package/components/pages/LanguageProvider/style.js +8 -0
  2188. package/components/pages/Login/Loadable.js +12 -0
  2189. package/components/pages/Login/Login.js +84 -0
  2190. package/components/pages/Login/index.js +1 -0
  2191. package/components/pages/Login/messages.js +32 -0
  2192. package/components/pages/LoyaltySetting/LoyaltySetting.js +85 -0
  2193. package/components/pages/LoyaltySetting/index.js +1 -0
  2194. package/components/pages/LoyaltySetting/style.js +7 -0
  2195. package/components/pages/LoyaltySetting/tests/LoyaltySetting.test.js +37 -0
  2196. package/components/pages/NotFoundPage/NotFoundPage.js +26 -0
  2197. package/components/pages/NotFoundPage/index.js +1 -0
  2198. package/components/pages/NotFoundPage/messages.js +15 -0
  2199. package/components/pages/NotFoundPage/tests/NotFoundPage.test.js +11 -0
  2200. package/components/pages/NotFoundPage/tests/__snapshots__/NotFoundPage.test.js.snap +18 -0
  2201. package/components/pages/PermissionDeniedPage/Loadable.js +11 -0
  2202. package/components/pages/PermissionDeniedPage/PermissionDeniedPage.js +28 -0
  2203. package/components/pages/PermissionDeniedPage/index.js +1 -0
  2204. package/components/pages/PermissionDeniedPage/messages.js +14 -0
  2205. package/components/pages/PermissionDeniedPage/style.js +13 -0
  2206. package/components/pages/PermissionDeniedPage/tests/index.test.js +26 -0
  2207. package/components/pages/ProgramSummary/ProgramSummary.js +1164 -0
  2208. package/components/pages/ProgramSummary/actions.js +78 -0
  2209. package/components/pages/ProgramSummary/constants.js +73 -0
  2210. package/components/pages/ProgramSummary/context.js +7 -0
  2211. package/components/pages/ProgramSummary/index.js +1 -0
  2212. package/components/pages/ProgramSummary/messages.js +77 -0
  2213. package/components/pages/ProgramSummary/reducer.js +173 -0
  2214. package/components/pages/ProgramSummary/saga.js +355 -0
  2215. package/components/pages/ProgramSummary/selectors.js +103 -0
  2216. package/components/pages/ProgramSummary/style.js +235 -0
  2217. package/components/pages/ProgramSummary/tests/ProgramSummary.test.js +713 -0
  2218. package/components/pages/ProgramSummary/tests/actions.test.js +118 -0
  2219. package/components/pages/ProgramSummary/tests/mockData.js +801 -0
  2220. package/components/pages/ProgramSummary/tests/reducer.test.js +160 -0
  2221. package/components/pages/ProgramSummary/tests/saga.test.js +658 -0
  2222. package/components/pages/ProgramSummary/tests/selectors.test.js +98 -0
  2223. package/components/pages/ProgramSummary/utils.js +7 -0
  2224. package/components/pages/Promotions/Promotions.js +1698 -0
  2225. package/components/pages/Promotions/actions.js +23 -0
  2226. package/components/pages/Promotions/constants.js +65 -0
  2227. package/components/pages/Promotions/index.js +1 -0
  2228. package/components/pages/Promotions/initialState.js +39 -0
  2229. package/components/pages/Promotions/messages.js +129 -0
  2230. package/components/pages/Promotions/reducer.js +58 -0
  2231. package/components/pages/Promotions/saga.js +112 -0
  2232. package/components/pages/Promotions/selectors.js +43 -0
  2233. package/components/pages/Promotions/style.js +152 -0
  2234. package/components/pages/Promotions/tests/Promotions.test.js +906 -0
  2235. package/components/pages/Promotions/tests/mockData.js +454 -0
  2236. package/components/pages/PromotionsDashboard/PromotionsDashboard.js +127 -0
  2237. package/components/pages/PromotionsDashboard/index.js +1 -0
  2238. package/components/pages/PromotionsDashboard/style.js +5 -0
  2239. package/components/pages/PromotionsDashboard/tests/PromotionsDashboard.test.js +90 -0
  2240. package/components/templates/PageTemplate/index.js +1 -0
  2241. package/components/templates/PageTemplate/pageTemplate.js +28 -0
  2242. package/components/templates/PageTemplate/tests/pageTemplate.test.js +15 -0
  2243. package/config/app.js +54 -0
  2244. package/config/constants.js +4 -0
  2245. package/config/path.js +4 -0
  2246. package/config/request.js +134 -0
  2247. package/config/urls.js +4 -0
  2248. package/entry.js +4 -0
  2249. package/favicon.ico +0 -0
  2250. package/global-styles.js +575 -0
  2251. package/i18n.js +48 -0
  2252. package/index.html +56 -0
  2253. package/initialReducer.js +14 -0
  2254. package/initialState.js +109 -0
  2255. package/lib/CustomHooks/useInterval/index.js +1 -0
  2256. package/lib/CustomHooks/useInterval/useInterval.js +29 -0
  2257. package/package.json +63 -8
  2258. package/services/api.js +1206 -0
  2259. package/services/localStorageApi.js +41 -0
  2260. package/services/requestConstructor.js +169 -0
  2261. package/tests/i18n.test.js +28 -0
  2262. package/tests/integration/CreateProgram/CreateProgram.integration.test.js +148 -0
  2263. package/tests/integration/CreateProgram/helper.js +216 -0
  2264. package/tests/integration/CreateProgram/mocks/apiResponse.js +7 -0
  2265. package/tests/integration/CreateProgram/mocks/constants.js +1 -0
  2266. package/tests/integration/CreateProgram/mocks/msw-handler.js +26 -0
  2267. package/tests/integration/EditProgram/EditProgram.integration.test.js +159 -0
  2268. package/tests/integration/EditProgram/helper.js +104 -0
  2269. package/tests/integration/EditProgram/mocks/apiResponse.js +327 -0
  2270. package/tests/integration/EditProgram/mocks/msw-handler.js +56 -0
  2271. package/tests/integration/Login/Login.integration.test.js +96 -0
  2272. package/tests/integration/Login/mocks/apiResponse.js +235 -0
  2273. package/tests/integration/Login/mocks/msw-handler.js +34 -0
  2274. package/tests/integration/PartnerProgram/CreatePartnerProgram.integration.test.js +117 -0
  2275. package/tests/integration/PartnerProgram/helper.js +256 -0
  2276. package/tests/integration/PartnerProgram/mocks/apiResponse.js +689 -0
  2277. package/tests/integration/PartnerProgram/mocks/msw-handler.js +210 -0
  2278. package/tests/integration/Promotion/CreatePromotion.integration.test.js +237 -0
  2279. package/tests/integration/Promotion/EditPromotion.integration.test.js +94 -0
  2280. package/tests/integration/Promotion/helper.js +656 -0
  2281. package/tests/integration/Promotion/mocks/apiResponse.js +2683 -0
  2282. package/tests/integration/Promotion/mocks/constants.js +7 -0
  2283. package/tests/integration/Promotion/mocks/msw-handler.js +183 -0
  2284. package/tests/integration/Versioning/mocks/apiResponse.js +14333 -0
  2285. package/tests/integration/commonMocks/apiResponse.js +1624 -0
  2286. package/tests/integration/commonMocks/helper.js +31 -0
  2287. package/tests/integration/commonMocks/initialState.js +4 -0
  2288. package/tests/integration/commonMocks/msw-handler.js +100 -0
  2289. package/tests/store.test.js +46 -0
  2290. package/tests/test-utils-it.js +64 -0
  2291. package/tests/test-utils.js +68 -0
  2292. package/translations/en.json +2516 -0
  2293. package/utils/audience.js +46 -0
  2294. package/utils/authWrapper.js +138 -0
  2295. package/utils/bugsnag.js +43 -0
  2296. package/utils/checkStore.js +21 -0
  2297. package/utils/clearDataOnUnmount.js +17 -0
  2298. package/utils/commonUtils.js +959 -0
  2299. package/utils/communication.js +301 -0
  2300. package/utils/constants.js +2 -0
  2301. package/utils/coupons.js +26 -0
  2302. package/utils/createComponentWithIntl.js +8 -0
  2303. package/utils/gtmTrackers/gtmEvents/bulkConfigDetails.js +155 -0
  2304. package/utils/gtmTrackers/gtmEvents/cappingDetails.js +33 -0
  2305. package/utils/gtmTrackers/gtmEvents/commChannelDetails.js +29 -0
  2306. package/utils/gtmTrackers/gtmEvents/commDetails.js +142 -0
  2307. package/utils/gtmTrackers/gtmEvents/configureKpis.js +20 -0
  2308. package/utils/gtmTrackers/gtmEvents/earnPointDetails.js +44 -0
  2309. package/utils/gtmTrackers/gtmEvents/errorScreen.js +7 -0
  2310. package/utils/gtmTrackers/gtmEvents/expiryPointDetails.js +35 -0
  2311. package/utils/gtmTrackers/gtmEvents/nudgeDetails.js +10 -0
  2312. package/utils/gtmTrackers/gtmEvents/pointsSettingDetails.js +14 -0
  2313. package/utils/gtmTrackers/gtmEvents/programDetails.js +28 -0
  2314. package/utils/gtmTrackers/gtmEvents/programSettingDetails.js +38 -0
  2315. package/utils/gtmTrackers/gtmEvents/promotionDetails.js +116 -0
  2316. package/utils/gtmTrackers/gtmEvents/publishChanges.js +13 -0
  2317. package/utils/gtmTrackers/gtmEvents/redeemPointDetails.js +37 -0
  2318. package/utils/gtmTrackers/gtmEvents/returnPointDetails.js +26 -0
  2319. package/utils/gtmTrackers/gtmEvents/scopingDetails.js +33 -0
  2320. package/utils/gtmTrackers/gtmEvents/tenderDetails.js +43 -0
  2321. package/utils/gtmTrackers/gtmEvents/tierDetails.js +110 -0
  2322. package/utils/gtmTrackers/gtmEvents/trackerDetails.js +61 -0
  2323. package/utils/gtmTrackers/gtmEvents/viewBulkConfigDetails.js +25 -0
  2324. package/utils/gtmTrackers/gtmEvents/viewPromotionDetails.js +28 -0
  2325. package/utils/gtmTrackers/gtmEvents/workflowActions.js +29 -0
  2326. package/utils/gtmTrackers/gtmEvents/workflowDetails.js +14 -0
  2327. package/utils/gtmTrackers/index.js +17 -0
  2328. package/utils/gtmTrackers/tests/errorScreen.test.js +13 -0
  2329. package/utils/gtmTrackers/tests/mockData.js +4 -0
  2330. package/utils/gtmTrackers/tests/programDetails.test.js +24 -0
  2331. package/utils/history.js +3 -0
  2332. package/utils/injectReducer.js +2 -0
  2333. package/utils/injectSaga.js +3 -0
  2334. package/utils/intlWrapper.js +40 -0
  2335. package/utils/parseSenderDetails.js +49 -0
  2336. package/utils/promotions.js +53 -0
  2337. package/utils/tests/checkStore.test.js +33 -0
  2338. package/utils/tests/commonUtils.test.js +37 -0
  2339. package/utils/tiers.js +457 -0
  2340. package/utils/usePersistantState.js +64 -0
  2341. package/utils/userUtils.js +7 -0
  2342. package/utils/validationHelper.js +24 -0
  2343. package/utils/withDynamicLazyLoading.js +17 -0
  2344. package/utils/withErrorBoundary.js +24 -0
  2345. package/utils/withStyles.js +9 -0
  2346. package/utils/workflow.js +813 -0
  2347. package/index.js +0 -9
@@ -0,0 +1,2616 @@
1
+ import React, { useState, useEffect, useMemo, memo, useCallback } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import moment from 'moment';
4
+ import isEmpty from 'lodash/isEmpty';
5
+ import cloneDeep from 'lodash/cloneDeep';
6
+ import find from 'lodash/find';
7
+
8
+ import { injectIntl, intlShape } from 'react-intl';
9
+ import { compose, bindActionCreators } from 'redux';
10
+ import { createStructuredSelector } from 'reselect';
11
+ import { connect } from 'react-redux';
12
+ import { withRouter } from 'react-router-dom';
13
+ import CapNotification from '@capillarytech/cap-ui-library/CapNotification';
14
+ import CapSpin from '@capillarytech/cap-ui-library/CapSpin';
15
+ import CapRow from '@capillarytech/cap-ui-library/CapRow';
16
+ import CapHeader from '@capillarytech/cap-ui-library/CapHeader';
17
+ import CapInfoNote from '@capillarytech/cap-ui-library/CapInfoNote';
18
+ import CapLabel from '@capillarytech/cap-ui-library/CapLabel';
19
+ import CapTooltip from '@capillarytech/cap-ui-library/CapTooltip';
20
+ import withErrorBoundary from 'utils/withErrorBoundary';
21
+ import { notifyHandledException } from 'utils/bugsnag';
22
+
23
+ import { CAP_SPACE_08 } from '@capillarytech/cap-ui-library/styled/variables';
24
+ import ErrorBoundaryWrapper from '../../molecules/ErrorBoundaryWrapper';
25
+
26
+ import {
27
+ LOYALTY_USER,
28
+ NON_LOYALTY_USER,
29
+ INITIAL_STORE,
30
+ IS_INCLUDED_SELECTED,
31
+ CLUSTER_SELECTED,
32
+ INTITAL_DATE_RANGE,
33
+ ACTIVE_CLUSTER,
34
+ ALL_USERS,
35
+ NO_LIMIT,
36
+ SPECIFIC_LIMIT,
37
+ getSpecifierMessages,
38
+ ICON,
39
+ UPLOAD_STORE_LIST,
40
+ SELECT_STORE_LIST,
41
+ INITIAL_STORE_ID_FILE,
42
+ } from './constants';
43
+
44
+ import messages from './messages';
45
+ import style from './style';
46
+ import * as actions from '../ConfigureWorkflows/actions';
47
+ import * as capActions from '../../pages/Cap/actions';
48
+ import * as selectors from '../ConfigureWorkflows/selectors';
49
+ import CollapseWithMultiSelect from '../../molecules/CollapseWithMultiSelect';
50
+ import CollapseWithStore from '../../molecules/CollapseWithStore';
51
+ import CollapseWithRadioGroup from '../../molecules/CollapseWithRadioGroup';
52
+ import CollapseWithSwitchSelect from '../../molecules/CollapseWithSwitchSelect';
53
+ import CollapseWithDateRange from '../../molecules/CollapseWithDateRange';
54
+ import TriggerAction from '../../atoms/TriggerAction';
55
+ import globalMessages from '../../pages/Cap/messages';
56
+ import { CapRowWithSpacing } from '../../pages/Cap/style';
57
+ import { gtmPush } from '../../../utils/gtmTrackers';
58
+ import {
59
+ SCOPE_AGGREGATE_ELEMENTS,
60
+ LOYALTY_TYPE,
61
+ EVENT_SOURCE,
62
+ DATE_RANGE,
63
+ STORES,
64
+ ZONES,
65
+ CLUSTER,
66
+ CONCEPTS,
67
+ REQUEST,
68
+ FAILURE,
69
+ SOURCE_LOYALTY,
70
+ SOURCE_PROMOTION,
71
+ SUCCESS,
72
+ LOCALE_DATE_FORMAT,
73
+ LOYALTY_UX_ENHANCEMENTS,
74
+ DATE_FORMAT,
75
+ ROOT,
76
+ } from '../../pages/App/constants';
77
+ import { getFilterInfo } from '../ConfigureWorkflows/utils';
78
+ import withStyles from '../../../utils/withStyles';
79
+ import { validateStoreIdsEnhancement, computeAncestors, flipSelectedOptions} from './utils';
80
+ import { makeSelectCap } from '../../pages/Cap/selectors';
81
+
82
+ import ScopeHeader from './ScopeContentHeader';
83
+ import ScopeDescription from './ScopeContentDescription';
84
+ import OptionWithTooltip from '../../atoms/OptionWithTooltip';
85
+
86
+ const {
87
+ makeSelectScopeAndCapCommonData,
88
+ makeSelectScopingData,
89
+ makeSelectSaveScopingStatus,
90
+ } = selectors;
91
+
92
+ export const ScopeSlidebox = ({
93
+ /** InjectedProps */
94
+ className,
95
+ intl: { formatMessage },
96
+ match: {
97
+ params: { programId },
98
+ },
99
+ actions,
100
+ rulesetData: { getRulesetsStatus },
101
+ scopingData: {
102
+ getStoresRequest,
103
+ getZonesRequest,
104
+ getConceptsRequest,
105
+ stores: storesFromProp,
106
+ concepts: conceptFromProp,
107
+ zones: zonesFromProp,
108
+ getEventSource,
109
+ eventSource: eventSourceFromProp,
110
+ getClusterRequest,
111
+ cluster: clusterFromProps,
112
+ },
113
+ status: { saveScopingStatus = '' },
114
+ /** InjectedProps */
115
+ /*Props from parent */
116
+ source = SOURCE_LOYALTY,
117
+ selectedRuleset,
118
+ eventType,
119
+ processedRuleSets,
120
+ setProcessedRuleSets,
121
+ disabled,
122
+ userData,
123
+ groupTreeList,
124
+ // fake prop, not passed from any parent. Exists to disable scope enhancements, without having to raise hotswaps.
125
+ scopeEnhancementEnabled = false,
126
+ }) => {
127
+
128
+ const [scoppingList, setScoppingList] = useState([]);
129
+ const [contentAdded, setContentAdded] = useState([]);
130
+
131
+ const [currentTab, setCurrentTab] = useState(null);
132
+ const [loyaltyType, setLoyaltyType] = useState(ALL_USERS);
133
+ /** Store Related state */
134
+ const [store, setStore] = useState(INITIAL_STORE);
135
+ const [storeIdsFromFile, setStoreIdsFromFile] = useState(
136
+ INITIAL_STORE_ID_FILE,
137
+ );
138
+ const [isSpecificStore, setIsSpecificStore] = useState(NO_LIMIT);
139
+ /** Date Range Related state*/
140
+ const [dateRange, setDateRange] = useState(INTITAL_DATE_RANGE);
141
+ const [isDateRangeIncluded, setIsDateRangeIncluded] = useState(false);
142
+ const [isSpecificDate, setIsSpecificDate] = useState(NO_LIMIT);
143
+ /** Concept Related state*/
144
+ const [concepts, setConcepts] = useState(IS_INCLUDED_SELECTED);
145
+ const [isSpecificConcept, setIsSpecificConcept] = useState(false);
146
+ /** Zone Related state*/
147
+ const [zone, setZone] = useState(IS_INCLUDED_SELECTED);
148
+ const [isSpecificZone, setIsSpecificZone] = useState(NO_LIMIT);
149
+ /** Event Source Related state*/
150
+ const [eventSource, setEventSource] = useState([]);
151
+ const [isSpecificEventSource, setIsSpecificEventSource] = useState(NO_LIMIT);
152
+ /** Cluster Related state*/
153
+ const [clusters, setCluster] = useState(CLUSTER_SELECTED);
154
+ const [clusterValueOptions, setClusterValueOptions] = useState([]);
155
+ const [clusterValues, setClusterValues] = useState([]);
156
+ const [isSpecificCluster, setIsSpecificCluster] = useState(NO_LIMIT);
157
+
158
+ const [rootZoneModalData, setRootZoneModalData] = useState(false);
159
+ const [rootConceptModalData, setRootConceptModalData] = useState(false);
160
+
161
+ const { currentOrgDetails } = userData;
162
+ const { accessibleFeatures = [] } = currentOrgDetails;
163
+ /* Commented code to serve as a reference for implementing feature control for UX Enhancements in the future. */
164
+ // const hasLoyaltyUXEnhancementsEnabled = accessibleFeatures.includes(
165
+ // LOYALTY_UX_ENHANCEMENTS,
166
+ // );
167
+
168
+ // if the accessible feature contains LOYALTY_UX_ENHANCEMENTS flag exists, then enable scope enhancement
169
+ const hasLoyaltyUXEnhancementsEnabled = scopeEnhancementEnabled;
170
+
171
+ /** End */
172
+
173
+ let validStoresForCurrentRuleset, validZonesForCurrentRuleset, validConceptsForCurrentRuleset, validEventSourcesForCurrentRuleset ;
174
+
175
+ let validPrimaryClustersForCurrentRuleset, validSecondaryClustersForCurrentRuleset;
176
+
177
+ let storeOptionsMultiEnhancement, zoneOptionsEnhancement, conceptOptionsEnhancement, eventSourceOptionsEnhancement, clusterOptionsEnhancement, clusterValuesEnhancement, loyaltyTypeDisabilityInfo;
178
+
179
+ let storeOptionsDisabilityInfo, zoneOptionsDisabilityInfo, conceptOptionsAlternateDisabilityInfo, eventSourceOptionsDisabilityInfo, clusterOptionsAlternateDisabilityInfo, clusterValuesAlternate ;
180
+
181
+ // array of all the parents for the current ruleset, from farthest to closest parent.
182
+ let parentsForCurrentRuleset = useMemo(()=>{
183
+ return computeAncestors(selectedRuleset, groupTreeList);
184
+ }, [groupTreeList, selectedRuleset]);
185
+
186
+ let isSelectedRulesetRoot = useMemo(()=>{
187
+ // return true if the array containing the parents for selectedRuleset is empty.
188
+ return parentsForCurrentRuleset.length === 0;
189
+ },[parentsForCurrentRuleset])
190
+
191
+
192
+ useEffect(()=>{
193
+ // This block is used to populate the secondary options for cluster scope.
194
+ const secondaryOptions = clusterFromProps?.filter(cluster => cluster?.status === ACTIVE_CLUSTER)?.reduce(
195
+ (secondaryOptions, cluster) => {
196
+ if (cluster.name === clusters.selected || cluster.name === clusters.selected[0])
197
+ secondaryOptions = cluster?.segmentValues?.map(({ id, value }) => ({
198
+ key: id,
199
+ title: value,
200
+ }));
201
+ return secondaryOptions;
202
+ },
203
+ [],
204
+ );
205
+
206
+ setClusterValueOptions(secondaryOptions);
207
+ },[clusters, clusterFromProps, processedRuleSets]);
208
+
209
+ const [mounted, setMounted] = useState(false);
210
+ const showSpin =
211
+ getRulesetsStatus === REQUEST ||
212
+ getStoresRequest === REQUEST ||
213
+ getZonesRequest === REQUEST ||
214
+ getConceptsRequest === REQUEST ||
215
+ getEventSource === REQUEST ||
216
+ getClusterRequest === REQUEST ||
217
+ saveScopingStatus === REQUEST;
218
+
219
+ const showError =
220
+ getRulesetsStatus === FAILURE ||
221
+ getStoresRequest === FAILURE ||
222
+ getZonesRequest === FAILURE ||
223
+ getConceptsRequest === FAILURE ||
224
+ getEventSource === FAILURE ||
225
+ getClusterRequest === FAILURE;
226
+
227
+ const clusterOptions = useMemo(
228
+ () =>
229
+ clusterFromProps
230
+ ?.filter(cluster => cluster.status == ACTIVE_CLUSTER)
231
+ ?.map(({ id, name }) => ({
232
+ label: name,
233
+ value: `${id}`,
234
+ key: `${id}`,
235
+ })),
236
+ [clusterFromProps],
237
+ );
238
+
239
+ const eventSourceOptions = useMemo(
240
+ () =>
241
+ eventSourceFromProp?.map(value => ({
242
+ title: value,
243
+ key: `${value}`,
244
+ ['data-testid']: value,
245
+ })),
246
+ [eventSourceFromProp],
247
+ );
248
+
249
+
250
+ const storeOptionsMulti = useMemo(
251
+ () =>
252
+ storesFromProp?.map(({ code, id }) => ({
253
+ title: code,
254
+ key: `${id}`,
255
+ ['data-testid']: code,
256
+ })),
257
+ [storesFromProp],
258
+ );
259
+
260
+ // function to get the ruleset's display name by ruleset ID.
261
+ const getDisplayNameForRuleset = (ruleset) => {
262
+ return processedRuleSets?.group[ruleset]?.displayName;
263
+ }
264
+
265
+ // function to find all the valid secondary cluster valus, for given primary cluster selection.
266
+ const calculateValidSecondaryClusterOptions = primaryCluster => {
267
+ let validSecondaryClusterOptions = [];
268
+
269
+ let optionsForGivenPrimaryCluster = clusterFromProps.filter(({ name }) => name === primaryCluster)[0].segmentValues;
270
+
271
+ if (!isSelectedRulesetRoot) {
272
+ (optionsForGivenPrimaryCluster || []).forEach(({ value }) => {
273
+ let valid = true;
274
+
275
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
276
+ let curParent = parentsForCurrentRuleset[k];
277
+ const curParentScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
278
+
279
+ if ((curParentScopeObject && (curParentScopeObject?.isInclude === false && curParentScopeObject?.propertyToValues?.clusterValues.includes(value))) || (curParentScopeObject?.isInclude === true && !curParentScopeObject?.propertyToValues?.clusterValues?.includes(value))) {
280
+ valid = false;
281
+ break;
282
+ }
283
+ }
284
+ if (valid) {
285
+ validSecondaryClusterOptions.push(value);
286
+ }
287
+ });
288
+ return validSecondaryClusterOptions;
289
+ }
290
+
291
+ // root ruleset
292
+ return null;
293
+ };
294
+
295
+ const decideClusterValueOptionsDisability = secondaryClusterValue => {
296
+ let enhancedTitle = secondaryClusterValue;
297
+ if (!isSelectedRulesetRoot) {
298
+ for (let i = 0; i < parentsForCurrentRuleset.length; i++) {
299
+ let curParent = parentsForCurrentRuleset[i];
300
+ let curParentScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
301
+
302
+ // parent has filter info for customer cluster.
303
+ if (curParentScopeObject && ((curParentScopeObject.isInclude === false && curParentScopeObject.propertyToValues.clusterValues.includes(secondaryClusterValue)) || (curParentScopeObject.isInclude === true && !curParentScopeObject.propertyToValues.clusterValues.includes(secondaryClusterValue)) || curParentScopeObject.propertyToValues.clusterName[0] !== clusters.selected)) {
304
+ enhancedTitle = <CapTooltip placement="left" title={formatMessage(
305
+ messages.parentWithDiffConfigMessage,
306
+ { parent: getDisplayNameForRuleset(curParent) },
307
+ )}>
308
+ {secondaryClusterValue}
309
+ </CapTooltip>;
310
+ }
311
+ }
312
+ }
313
+
314
+ return { displayTitle: enhancedTitle, disabled: enhancedTitle === secondaryClusterValue ? false : true };
315
+ };
316
+
317
+ const decideScopeOptionDisability = scopeType => {
318
+ switch (scopeType) {
319
+ case CLUSTER:
320
+ let clusterOptionResult = {};
321
+
322
+ if (!isSelectedRulesetRoot) {
323
+ // we have parents for this ruleset.
324
+ for (let i = 0; i < clusterFromProps.length; i++) {
325
+ // iterate over every cluster option for given program.
326
+ let curCluster = clusterFromProps[i];
327
+ // iterate over every parent for the given ruleset.
328
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
329
+ let curParent = parentsForCurrentRuleset[k];
330
+ let clusterScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
331
+
332
+ if (clusterScopeObject && clusterScopeObject?.propertyToValues?.clusterName[0] !== curCluster?.name) {
333
+ // if misconfig somewhere in a parent, disable with proper tooltip message.
334
+ clusterOptionResult[(curCluster?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
335
+ messages.parentWithDiffConfigMessage,
336
+ { parent: getDisplayNameForRuleset(curParent) },
337
+ )}>
338
+ {curCluster?.name}
339
+ </CapTooltip> };
340
+ // stop checking for the current store button.
341
+ break;
342
+ }
343
+ }
344
+ if (!clusterOptionResult[(curCluster?.id)]) {
345
+ clusterOptionResult[(curCluster?.id)] = { disabled: false, displayTitle: curCluster?.name };
346
+ }
347
+ }
348
+ } else {
349
+ // root ruleset
350
+ clusterFromProps.map(curCluster => {
351
+ clusterOptionResult[(curCluster?.id)] = { disabled: false, displayTitle: curCluster?.name };
352
+ });
353
+ }
354
+
355
+ return clusterOptionResult;
356
+
357
+ case EVENT_SOURCE:
358
+ let eventSourceResult = {};
359
+ if (!isSelectedRulesetRoot) {
360
+ // we have parents for this ruleset.
361
+ for (let i = 0; i < eventSourceFromProp.length; i++) {
362
+ // iterate over every zone option for given program.
363
+ let curEventSource = eventSourceFromProp[i];
364
+ // iterate over every parent for the given ruleset.
365
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
366
+ let curParent = parentsForCurrentRuleset[k];
367
+ let eventSourceScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === EVENT_SOURCE)[0];
368
+ if (eventSourceScopeObject && eventSourceScopeObject?.propertyToValues?.eventSource.includes(curEventSource) === false) {
369
+ // if misconfig somewhere in a parent, disable with proper tooltip message.
370
+ eventSourceResult[curEventSource] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
371
+ messages.parentWithDiffConfigMessage,
372
+ { parent: getDisplayNameForRuleset(curParent) },
373
+ )}>
374
+ {curEventSource}
375
+ </CapTooltip> };
376
+ // stop checking for the current store button.
377
+ break;
378
+ }
379
+ }
380
+ if (!eventSourceResult[curEventSource]) {
381
+ eventSourceResult[curEventSource] = { disabled: false, displayTitle: curEventSource };
382
+ }
383
+ }
384
+ }
385
+
386
+ // root ruleset
387
+ else {
388
+ eventSourceFromProp.map(curEventSource => {
389
+ eventSourceResult[curEventSource] = { disabled: false, displayTitle: curEventSource };
390
+ });
391
+ }
392
+
393
+ return eventSourceResult;
394
+ case LOYALTY_TYPE:
395
+ if (!isSelectedRulesetRoot) {
396
+ // non root ruleset
397
+ let loyaltyTypeOptions = [ALL_USERS, LOYALTY_USER, NON_LOYALTY_USER];
398
+ let loyaltyTypesResult = {};
399
+ let curLoyaltyOption;
400
+ for (let i = 0; i < 3; i++) {
401
+ curLoyaltyOption = loyaltyTypeOptions[i];
402
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
403
+ let curParent = parentsForCurrentRuleset[k];
404
+ // getting the loyaltyType scope from each parent
405
+ let loyaltyTypeScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === LOYALTY_TYPE)[0];
406
+
407
+ if ((loyaltyTypeScopeObject && (loyaltyTypeScopeObject?.isInclude === true && loyaltyTypeScopeObject?.propertyToValues?.loyaltyType[0] !== curLoyaltyOption)) || (loyaltyTypeScopeObject?.isInclude === false && loyaltyTypeScopeObject?.propertyToValues?.loyaltyType[0] === curLoyaltyOption)) {
408
+ loyaltyTypesResult[curLoyaltyOption] = { disabled: true, tooltipText: formatMessage(
409
+ messages.parentWithDiffConfigMessage,
410
+ { parent: getDisplayNameForRuleset(curParent) },
411
+ ) };
412
+
413
+ // stop checking for the current radio button.
414
+ break;
415
+ }
416
+ }
417
+
418
+ if (!loyaltyTypesResult[curLoyaltyOption]) {
419
+ loyaltyTypesResult[curLoyaltyOption] = { disabled: false, tooltipText: null };
420
+ }
421
+ }
422
+ return loyaltyTypesResult;
423
+ }
424
+
425
+ return { [ALL_USERS]: { disabled: false, tooltipText: null }, [LOYALTY_USER]: { disabled: false, tooltipText: null }, [NON_LOYALTY_USER]: { disabled: false, tooltipText: null } };
426
+
427
+ case STORES:
428
+ let storeResult = {};
429
+ if (!isSelectedRulesetRoot) {
430
+ // we have parents for this ruleset.
431
+ for (let i = 0; i < storesFromProp.length; i++) {
432
+ // iterate over every store option for given program.
433
+
434
+ let curStore = storesFromProp[i];
435
+
436
+ // iterate over every parent for the given ruleset.
437
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
438
+ let curParent = parentsForCurrentRuleset[k];
439
+ let storeScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === STORES)[0];
440
+
441
+ if ((storeScopeObject && (storeScopeObject?.isInclude === true && storeScopeObject?.propertyToValues?.storeId.includes('' + curStore?.id) === false)) || (storeScopeObject?.isInclude === false && storeScopeObject?.propertyToValues?.storeId.includes('' + curStore?.id) === true)) {
442
+ // if misconfig somewhere in a parent, disable with proper tooltip message.
443
+ storeResult[(curStore?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
444
+ messages.parentWithDiffConfigMessage,
445
+ { parent: getDisplayNameForRuleset(curParent) },
446
+ )}>
447
+ {curStore?.code}
448
+ </CapTooltip>, searchText: curStore?.code };
449
+
450
+ // stop checking for the current store button.
451
+ break;
452
+ }
453
+ }
454
+ if (!storeResult[(curStore?.id)]) {
455
+ storeResult[(curStore?.id)] = { disabled: false, displayTitle: curStore?.code };
456
+ }
457
+ }
458
+ }
459
+
460
+ // root ruleset
461
+ else {
462
+ storesFromProp?.map(curStore => {
463
+ storeResult[(curStore?.id)] = { disabled: false, displayTitle: curStore?.code };
464
+ });
465
+ }
466
+
467
+ return storeResult;
468
+
469
+ case ZONES:
470
+ let zoneResult = {};
471
+ if (!isSelectedRulesetRoot) {
472
+ // we have parents for this ruleset.
473
+ for (let i = 0; i < zonesFromProp.length; i++) {
474
+ // iterate over every zone option for given program.
475
+ let curZone = zonesFromProp[i];
476
+ // iterate over every parent for the given ruleset.
477
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
478
+ let curParent = parentsForCurrentRuleset[k];
479
+ let zoneScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === ZONES)[0];
480
+
481
+ if ((zoneScopeObject && (zoneScopeObject?.isInclude === true && zoneScopeObject?.propertyToValues?.zoneIds.includes('' + curZone?.id) === false)) || (zoneScopeObject?.isInclude === false && zoneScopeObject?.propertyToValues?.zoneIds.includes('' + curZone?.id) === true)) {
482
+ // if misconfig somewhere in a parent, disable with proper tooltip message.
483
+ zoneResult[(curZone?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
484
+ messages.parentWithDiffConfigMessage,
485
+ { parent: getDisplayNameForRuleset(curParent) },
486
+ )}>
487
+ {curZone?.name}
488
+ </CapTooltip>};
489
+ // stop checking for the current store button.
490
+ break;
491
+ }
492
+ }
493
+ if (!zoneResult[(curZone?.id)]) {
494
+ zoneResult[(curZone?.id)] = { disabled: false, displayTitle: curZone?.name };
495
+ }
496
+ }
497
+ }
498
+
499
+ // root ruleset
500
+ else {
501
+ zonesFromProp.map(curZone => {
502
+ zoneResult[(curZone?.id)] = { disabled: false, displayTitle: curZone?.name, searchText: curZone?.name };
503
+ });
504
+ }
505
+
506
+ return zoneResult;
507
+
508
+ case CONCEPTS:
509
+ let conceptResult = {};
510
+ if (!isSelectedRulesetRoot) {
511
+ // we have parents for this ruleset.
512
+ for (let i = 0; i < conceptFromProp.length; i++) {
513
+ // iterate over every concept option for given program.
514
+ let curConcept = conceptFromProp[i];
515
+ // iterate over every parent for the given ruleset.
516
+ for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
517
+ let curParent = parentsForCurrentRuleset[k];
518
+ let conceptScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CONCEPTS)[0];
519
+
520
+ if ((conceptScopeObject && (conceptScopeObject?.isInclude === true && conceptScopeObject?.propertyToValues?.conceptIds.includes('' + curConcept?.id) === false)) || (conceptScopeObject?.isInclude === false && conceptScopeObject?.propertyToValues?.conceptIds.includes('' + curConcept?.id) === true)) {
521
+ // if misconfig somewhere in a parent, disable with proper tooltip message.
522
+ conceptResult[(curConcept?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
523
+ messages.parentWithDiffConfigMessage,
524
+ { parent: getDisplayNameForRuleset(curParent) },
525
+ )}>
526
+ {curConcept?.name}
527
+ </CapTooltip>, searchText: curConcept?.name};
528
+ break;
529
+ }
530
+ }
531
+ if (!conceptResult[(curConcept?.id)]) {
532
+ conceptResult[(curConcept?.id)] = { disabled: false, displayTitle: curConcept?.name, searchText: curConcept?.name };
533
+ }
534
+ }
535
+ }
536
+
537
+ // root ruleset
538
+ else {
539
+ conceptFromProp.map(curConcept => {
540
+ conceptResult[(curConcept?.id)] = { disabled: false, displayTitle: curConcept?.name };
541
+ });
542
+ }
543
+
544
+ return conceptResult;
545
+
546
+ default:
547
+ break;
548
+ }
549
+ };
550
+
551
+
552
+ if( hasLoyaltyUXEnhancementsEnabled ){
553
+
554
+ loyaltyTypeDisabilityInfo = useMemo(()=>{
555
+ return decideScopeOptionDisability(LOYALTY_TYPE);
556
+ },[processedRuleSets, selectedRuleset]);
557
+
558
+ storeOptionsDisabilityInfo = useMemo(()=>{
559
+ return decideScopeOptionDisability(STORES);
560
+ },[storesFromProp, selectedRuleset]);
561
+
562
+ zoneOptionsDisabilityInfo = useMemo(()=>{
563
+ return decideScopeOptionDisability(ZONES);
564
+ },[zonesFromProp]);
565
+
566
+ conceptOptionsAlternateDisabilityInfo = useMemo(()=>{
567
+ return decideScopeOptionDisability(CONCEPTS);
568
+ },[conceptFromProp]);
569
+
570
+ eventSourceOptionsDisabilityInfo = useMemo(()=>{
571
+ return decideScopeOptionDisability(EVENT_SOURCE);
572
+ },[eventSourceFromProp]);
573
+
574
+ clusterOptionsAlternateDisabilityInfo = useMemo(()=>{
575
+ return decideScopeOptionDisability(CLUSTER);
576
+ },[clusterFromProps]);
577
+
578
+ clusterValuesAlternate = useMemo(()=>{
579
+ return decideScopeOptionDisability(CLUSTER);
580
+ },[clusterOptionsAlternateDisabilityInfo, clusterFromProps])
581
+
582
+ storeOptionsMultiEnhancement = storesFromProp?.map(({ code, id }) => {
583
+ return { title: storeOptionsDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: storeOptionsDisabilityInfo[id].disabled, searchText: code };
584
+ });
585
+
586
+ zoneOptionsEnhancement = zonesFromProp?.map(({ code, id, name }) => {
587
+ return { title: zoneOptionsDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: zoneOptionsDisabilityInfo[id].disabled, searchText: name};
588
+ });
589
+
590
+ conceptOptionsEnhancement = conceptFromProp?.map(({ code, id, name }) => {
591
+ return { title: conceptOptionsAlternateDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: conceptOptionsAlternateDisabilityInfo[id].disabled, searchText: name };
592
+ });
593
+
594
+ eventSourceOptionsEnhancement = eventSourceFromProp?.map((curEventSource) => {
595
+ return { title: eventSourceOptionsDisabilityInfo[curEventSource].displayTitle, key: `${curEventSource}`, ['data-testid']: curEventSource, disabled: eventSourceOptionsDisabilityInfo[curEventSource].disabled, searchText: `${curEventSource}`, };
596
+ });
597
+
598
+
599
+ clusterOptionsEnhancement = useMemo(
600
+ () =>
601
+ clusterFromProps
602
+ ?.filter(cluster => cluster.status == ACTIVE_CLUSTER)
603
+ ?.map(({ id }) => {
604
+ return {
605
+ label: clusterValuesAlternate[id]?.displayTitle,
606
+ value: `${id}`,
607
+ key: `${id}`,
608
+ disabled: clusterValuesAlternate[id]?.disabled,
609
+ };
610
+ }),
611
+ [clusterFromProps],
612
+ );
613
+
614
+
615
+ clusterValuesEnhancement = useMemo(
616
+ () =>
617
+ {
618
+ return clusterValueOptions?.map(({ key, title }) => {
619
+ let { displayTitle, disabled } = decideClusterValueOptionsDisability(
620
+ title,
621
+ );
622
+ return {
623
+ title: displayTitle,
624
+ key,
625
+ disabled,
626
+ searchText: title,
627
+ };
628
+ }
629
+ )},
630
+ [clusterValueOptions, clusters],
631
+ );
632
+
633
+ }
634
+
635
+ if(hasLoyaltyUXEnhancementsEnabled){
636
+
637
+ validStoresForCurrentRuleset = useMemo(()=>{
638
+ return storesFromProp.reduce((accumulator, curStore) => {
639
+ return storeOptionsDisabilityInfo[curStore?.id]?.disabled === false ? [...accumulator, ''+curStore?.id] : accumulator;
640
+ }, []);
641
+ },[selectedRuleset, storesFromProp]);
642
+
643
+
644
+ validZonesForCurrentRuleset = useMemo(()=>{
645
+ return zonesFromProp.reduce((accumulator, curZone) => {
646
+ return zoneOptionsDisabilityInfo[curZone?.id]?.disabled === false ? [...accumulator, ''+curZone?.id] : accumulator;
647
+ }, []);
648
+ },[processedRuleSets, zonesFromProp]);
649
+
650
+
651
+ validConceptsForCurrentRuleset = useMemo(()=>{
652
+ return conceptFromProp.reduce((accumulator, curConcept) => {
653
+ return conceptOptionsAlternateDisabilityInfo[curConcept?.id]?.disabled === false ? [...accumulator, ''+curConcept?.id] : accumulator;
654
+ }, []);
655
+ },[processedRuleSets, conceptFromProp]);
656
+
657
+
658
+ validEventSourcesForCurrentRuleset = useMemo(()=>{
659
+ return eventSourceFromProp.reduce((accumulator, curEventSource) => {
660
+ return eventSourceOptionsDisabilityInfo[curEventSource]?.disabled === false ? [...accumulator, curEventSource] : accumulator;
661
+ }, []);
662
+ },[processedRuleSets, eventSourceFromProp]);
663
+
664
+
665
+
666
+ // array containing all the valid primary clusters for selectedRuleset.
667
+ validPrimaryClustersForCurrentRuleset = useMemo(()=>{
668
+
669
+ let validArr = [];
670
+ clusterFromProps.map(({ name, id }) => {
671
+ if (clusterOptionsAlternateDisabilityInfo[id].disabled === false) {
672
+ validArr.push(name);
673
+ }
674
+ });
675
+
676
+ return validArr;
677
+ },[selectedRuleset, clusterFromProps, clusterOptionsAlternateDisabilityInfo]);
678
+
679
+
680
+ validSecondaryClustersForCurrentRuleset = useMemo(()=>{
681
+
682
+ let validArr = [];
683
+ if(validPrimaryClustersForCurrentRuleset.length === 0){
684
+ // no valid primary cluster
685
+ return null;
686
+ }
687
+
688
+ else if(validPrimaryClustersForCurrentRuleset.length === clusterFromProps.length){
689
+ // free flow case, no cluster selected at parent level. No scoping object in filterInfo for this case
690
+ return [];
691
+ }
692
+
693
+ else if(validPrimaryClustersForCurrentRuleset.length === 1){
694
+ // exactly one valid cluster from parent level. move through all parents and check which secondary options for cluster is valid/invalid.
695
+ const validPrimaryCluster = validPrimaryClustersForCurrentRuleset[0];
696
+
697
+ return calculateValidSecondaryClusterOptions(validPrimaryCluster);
698
+
699
+ }
700
+ },[selectedRuleset,validPrimaryClustersForCurrentRuleset, clusterFromProps ]);
701
+
702
+ }
703
+
704
+
705
+ const zoneOptions = useMemo(
706
+ () =>
707
+ zonesFromProp?.map(({ name, id }) => ({
708
+ label: name,
709
+ title: (
710
+ <OptionWithTooltip
711
+ optionLabel={name}
712
+ infoVisible={name === ROOT}
713
+ infoProps={{
714
+ title: formatMessage(globalMessages.rootSelectModalDescription),
715
+ placement: 'left',
716
+ className: 'margin-l-4',
717
+ }}
718
+ />
719
+ ),
720
+ key: `${id}`,
721
+ ['data-testid']: name,
722
+ })),
723
+ [zonesFromProp],
724
+ );
725
+
726
+ const zoneRootValue = useMemo(
727
+ () => zonesFromProp?.find(({ name }) => name === ROOT)?.id,
728
+ [zonesFromProp],
729
+ );
730
+
731
+ const conceptOptions = useMemo(
732
+ () =>
733
+ conceptFromProp?.map(({ name, id }) => ({
734
+ label: name,
735
+ title: (
736
+ <OptionWithTooltip
737
+ optionLabel={name}
738
+ infoVisible={name === ROOT}
739
+ infoProps={{
740
+ title: formatMessage(globalMessages.rootSelectModalDescription),
741
+ placement: 'left',
742
+ className: 'margin-l-4',
743
+ }}
744
+ />
745
+ ),
746
+ key: `${id}`,
747
+ ['data-testid']: name,
748
+ })),
749
+ [conceptFromProp],
750
+ );
751
+
752
+ const conceptRootValue = useMemo(
753
+ () => conceptFromProp?.find(({ name }) => name === ROOT)?.id,
754
+ [conceptFromProp],
755
+ );
756
+
757
+ /** Get Specifier Messages - constant */
758
+ const {
759
+ SPECIFER_MESSAGES,
760
+ ALL_MESSAGES,
761
+ LOYALTY_TYPE_PREVIEW,
762
+ STORES: STORE_PREVIEW_MESSAGES,
763
+ } = getSpecifierMessages(formatMessage, hasLoyaltyUXEnhancementsEnabled, isSelectedRulesetRoot);
764
+
765
+ const handleSaveFilterInfo = useCallback(
766
+ promotionFilterInfo => {
767
+ const clonnedRulesets = cloneDeep(processedRuleSets);
768
+ const modifiedRuleset = clonnedRulesets.group[selectedRuleset];
769
+ modifiedRuleset.filterInfo = promotionFilterInfo;
770
+ modifiedRuleset.isPristine = false;
771
+ clonnedRulesets.group[selectedRuleset] = modifiedRuleset;
772
+ setProcessedRuleSets(clonnedRulesets);
773
+ CapNotification.success({
774
+ message: formatMessage(globalMessages.editedSuccessfully),
775
+ });
776
+ },
777
+ [processedRuleSets, setProcessedRuleSets, selectedRuleset],
778
+ );
779
+
780
+ useEffect(
781
+ () => {
782
+ if (!mounted) {
783
+ const shouldMakeRequest = field =>
784
+ ![SUCCESS, FAILURE, REQUEST].includes(field);
785
+ if (shouldMakeRequest(getEventSource)) actions.getEventSource();
786
+ if (shouldMakeRequest(getClusterRequest)) actions.getClusters();
787
+ if (shouldMakeRequest(getZonesRequest)) actions.getZones();
788
+ if (shouldMakeRequest(getConceptsRequest)) actions.getConcepts();
789
+ if (shouldMakeRequest(getStoresRequest)) actions.getStores();
790
+ setMounted(true);
791
+ }
792
+ },
793
+ [
794
+ mounted,
795
+ actions,
796
+ getEventSource,
797
+ getClusterRequest,
798
+ getZonesRequest,
799
+ getConceptsRequest,
800
+ getStoresRequest,
801
+ ],
802
+ );
803
+
804
+ useEffect(
805
+ () => {
806
+ let newLoyaltyType = ALL_USERS;
807
+ let store = INITIAL_STORE;
808
+ let isSpecificStore = NO_LIMIT;
809
+ let dateRange = INTITAL_DATE_RANGE;
810
+ let isSpecificDate = NO_LIMIT;
811
+ let isDateRangeIncluded = false;
812
+ let concepts = IS_INCLUDED_SELECTED;
813
+ let isSpecificConcept = NO_LIMIT;
814
+ let zone = IS_INCLUDED_SELECTED;
815
+ let isSpecificZone = NO_LIMIT;
816
+ let eventSource = [];
817
+ let isSpecificEventSource = NO_LIMIT;
818
+ let clusters = CLUSTER_SELECTED;
819
+ let clusterValue = [];
820
+ let contentAdded = [];
821
+ let isSpecificCluster = NO_LIMIT;
822
+ const scoppingList =
823
+ processedRuleSets.group[selectedRuleset]?.filterInfo || [];
824
+ const scopingObject = {};
825
+
826
+ scoppingList.map(scope => {
827
+ scopingObject[scope.name] = scope;
828
+ });
829
+
830
+ let scopeOrder = [
831
+ LOYALTY_TYPE,
832
+ EVENT_SOURCE,
833
+ DATE_RANGE,
834
+ STORES,
835
+ ZONES,
836
+ CLUSTER,
837
+ CONCEPTS,
838
+ ];
839
+ scopeOrder.forEach(scope => {
840
+ switch (scope) {
841
+ case LOYALTY_TYPE: {
842
+ const { propertyToValues } = scopingObject[LOYALTY_TYPE] || {};
843
+ contentAdded.push(LOYALTY_TYPE);
844
+ if (propertyToValues?.loyaltyType?.[0]) {
845
+ newLoyaltyType = propertyToValues.loyaltyType[0];
846
+ }
847
+ break;
848
+ }
849
+ case EVENT_SOURCE: {
850
+ const { propertyToValues } = scopingObject[EVENT_SOURCE] || {};
851
+ contentAdded.push(EVENT_SOURCE);
852
+ if (propertyToValues) {
853
+ eventSource = propertyToValues.eventSource;
854
+ isSpecificEventSource = SPECIFIC_LIMIT;
855
+ }
856
+ break;
857
+ }
858
+ case ZONES: {
859
+ const { propertyToValues, isInclude } = scopingObject[ZONES] || {};
860
+ contentAdded.push(ZONES);
861
+ if (propertyToValues) {
862
+ isSpecificZone = SPECIFIC_LIMIT;
863
+ zone = {
864
+ isIncluded: isInclude,
865
+ selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.zoneIds, zonesFromProp) : propertyToValues.zoneIds,
866
+ };
867
+ }
868
+ break;
869
+ }
870
+ case CONCEPTS: {
871
+ const { propertyToValues, isInclude } =
872
+ scopingObject[CONCEPTS] || {};
873
+ contentAdded.push(CONCEPTS);
874
+ if (propertyToValues) {
875
+ isSpecificConcept = SPECIFIC_LIMIT;
876
+ concepts = {
877
+ isIncluded: isInclude,
878
+ selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.conceptIds, conceptFromProp) : propertyToValues.conceptIds,
879
+ };
880
+ }
881
+ break;
882
+ }
883
+ case STORES: {
884
+ const { propertyToValues, isInclude } = scopingObject[STORES] || {};
885
+ contentAdded.push(STORES);
886
+ if (propertyToValues) {
887
+ isSpecificStore = SELECT_STORE_LIST;
888
+ store = {
889
+ isIncluded: isInclude,
890
+ selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.storeId, storesFromProp) : propertyToValues.storeId,
891
+ };
892
+ }
893
+ break;
894
+ }
895
+ case DATE_RANGE: {
896
+ const { propertyToValues, isInclude } =
897
+ scopingObject[DATE_RANGE] || {};
898
+ contentAdded.push(DATE_RANGE);
899
+ if (propertyToValues) {
900
+ isSpecificDate = SPECIFIC_LIMIT;
901
+ const { startDate, endDate } = propertyToValues;
902
+ let [sd, st] = startDate[0].split(' ');
903
+ let [ed, et] = endDate[0].split(' ');
904
+ isDateRangeIncluded = isInclude;
905
+ dateRange = {
906
+ startDate: {
907
+ date: moment(startDate[0]),
908
+ dateString: sd,
909
+ time: moment(startDate[0]),
910
+ timeString: st,
911
+ },
912
+ endDate: {
913
+ date: moment(endDate[0]),
914
+ dateString: ed,
915
+ time: moment(endDate[0]),
916
+ timeString: et,
917
+ },
918
+ };
919
+ }
920
+ break;
921
+ }
922
+ case CLUSTER: {
923
+ const { propertyToValues, isInclude } =
924
+ scopingObject[CLUSTER] || {};
925
+ contentAdded.push(CLUSTER);
926
+ if (propertyToValues) {
927
+ isSpecificCluster = SPECIFIC_LIMIT;
928
+ const { clusterName, clusterValues } = propertyToValues;
929
+ clusters = {
930
+ isIncluded: isInclude,
931
+ // regardless of include/exclude, primary cluster selection will always be the same.
932
+ selected: clusterName[0],
933
+ };
934
+
935
+ const secondaryOptions = clusterFromProps?.filter(cluster => cluster?.status === ACTIVE_CLUSTER)?.reduce(
936
+ (secondaryOptions, cluster) => {
937
+ if (cluster.name === clusters.selected || cluster.name === clusters.selected[0])
938
+ secondaryOptions = cluster?.segmentValues;
939
+ return secondaryOptions;
940
+ },
941
+ [],
942
+ );
943
+
944
+ clusterValue = hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(clusterValues, secondaryOptions) : clusterValues;
945
+ }
946
+ break;
947
+ }
948
+ }
949
+ });
950
+ setScoppingList(scoppingList);
951
+ setContentAdded(contentAdded);
952
+ setLoyaltyType(newLoyaltyType);
953
+ setStore(store);
954
+ setIsSpecificStore(isSpecificStore);
955
+ setDateRange(dateRange);
956
+ setIsSpecificDate(isSpecificDate);
957
+ setIsDateRangeIncluded(isDateRangeIncluded);
958
+ setConcepts(concepts);
959
+ setIsSpecificConcept(isSpecificConcept);
960
+ setZone(zone);
961
+ setIsSpecificZone(isSpecificZone);
962
+ setEventSource(eventSource);
963
+ setIsSpecificEventSource(isSpecificEventSource);
964
+ setCluster(clusters);
965
+ setClusterValues(clusterValue);
966
+ setIsSpecificCluster(isSpecificCluster);
967
+ },
968
+ [selectedRuleset, processedRuleSets.group, zonesFromProp, storesFromProp, conceptFromProp, clusterFromProps],
969
+ );
970
+
971
+ const changeLoyaltyType = event => setLoyaltyType(event.target?.value);
972
+
973
+ const sortMultiSelectOptions = list => {
974
+ let disabledOptions = [], enabledOptions = [];
975
+ list?.forEach(curItem => {
976
+ curItem.disabled ? disabledOptions.push(curItem) : enabledOptions.push(curItem);
977
+ });
978
+ return enabledOptions.concat(disabledOptions);
979
+ };
980
+
981
+ const changeClusterSelected = value => {
982
+ // clear the secondary cluster values when primary cluster selection changes.
983
+ setClusterValues([]);
984
+ setCluster({
985
+ ...clusters,
986
+ selected: value,
987
+ });
988
+ };
989
+
990
+
991
+ const toggleClusterIsIncluded = () =>
992
+ setCluster({
993
+ ...clusters,
994
+ isIncluded: !clusters?.isIncluded,
995
+ });
996
+
997
+ const changeEventSource = value => {
998
+ setEventSource(value);
999
+ };
1000
+ const addZones = value => setZone({ ...zone, selected: value });
1001
+ const zoneSelectHandler = value => {
1002
+ const modalShouldOpen =
1003
+ value.includes(zoneRootValue?.toString()) &&
1004
+ !zone?.selected?.includes(zoneRootValue?.toString());
1005
+ if (modalShouldOpen) {
1006
+ setRootZoneModalData(value);
1007
+ }
1008
+ addZones(value);
1009
+ };
1010
+
1011
+ const toggleZoneIncluded = () =>
1012
+ setZone({ ...zone, isIncluded: !zone?.isIncluded });
1013
+
1014
+ const addConcepts = value => setConcepts({ ...concepts, selected: value });
1015
+ const conceptSelectHandler = value => {
1016
+ const modalShouldOpen =
1017
+ value.includes(conceptRootValue?.toString()) &&
1018
+ !concepts?.selected?.includes(conceptRootValue?.toString());
1019
+ if (modalShouldOpen) {
1020
+ setRootConceptModalData(value);
1021
+ }
1022
+ addConcepts(value);
1023
+ };
1024
+
1025
+ const toggleConceptIncluded = () =>
1026
+ setConcepts({ ...concepts, isIncluded: !concepts?.isIncluded });
1027
+
1028
+ const toggleDateRangeIncluded = () =>
1029
+ setIsDateRangeIncluded(prevState => !prevState);
1030
+
1031
+ const toggleIsSpecificLimit = useCallback(e => {
1032
+ const { name, value } = e?.target;
1033
+ switch (name) {
1034
+ case DATE_RANGE:
1035
+ setIsSpecificDate(value);
1036
+ break;
1037
+ case STORES:
1038
+ setIsSpecificStore(value);
1039
+ break;
1040
+ case ZONES:
1041
+ setIsSpecificZone(value);
1042
+ break;
1043
+ case CONCEPTS:
1044
+ setIsSpecificConcept(value);
1045
+ break;
1046
+ case CLUSTER:
1047
+ setIsSpecificCluster(value);
1048
+ break;
1049
+ case EVENT_SOURCE:
1050
+ setIsSpecificEventSource(value);
1051
+ break;
1052
+ }
1053
+ }, []);
1054
+
1055
+ const changeTabToLoyaltyType = () =>
1056
+ setCurrentTab(
1057
+ currentTab => (currentTab === LOYALTY_TYPE ? '' : LOYALTY_TYPE),
1058
+ );
1059
+ const changeTabToDateRange = () =>
1060
+ setCurrentTab(currentTab => (currentTab === DATE_RANGE ? '' : DATE_RANGE));
1061
+
1062
+ const changeTabToConcepts = () => {
1063
+ setCurrentTab(currentTab => (currentTab === CONCEPTS ? '' : CONCEPTS));
1064
+ };
1065
+
1066
+ const changeTabToZone = () =>
1067
+ setCurrentTab(currentTab => (currentTab === ZONES ? '' : ZONES));
1068
+
1069
+ const changeTabToEventSource = () =>
1070
+ setCurrentTab(
1071
+ currentTab => (currentTab === EVENT_SOURCE ? '' : EVENT_SOURCE),
1072
+ );
1073
+
1074
+ const changeTabToCluster = () =>
1075
+ setCurrentTab(currentTab => (currentTab === CLUSTER ? '' : CLUSTER));
1076
+
1077
+ const changeTabToStore = () =>
1078
+ setCurrentTab(currentTab => (currentTab === STORES ? '' : STORES));
1079
+
1080
+ const changeDateRangeStart = (date, dateString) => {
1081
+ setDateRange({
1082
+ ...dateRange,
1083
+ startDate: { ...dateRange?.startDate, date, dateString:moment(date).format(DATE_FORMAT) },
1084
+ });
1085
+ };
1086
+
1087
+ const changeDateRangeEnd = (date, dateString) =>
1088
+ setDateRange({
1089
+ ...dateRange,
1090
+ endDate: { ...dateRange?.endDate, date, dateString:moment(date).format(DATE_FORMAT) },
1091
+ });
1092
+
1093
+ const changeDateRangeStartTime = (time, timeString) =>
1094
+ setDateRange({
1095
+ ...dateRange,
1096
+ startDate: { ...dateRange?.startDate, time, timeString },
1097
+ });
1098
+
1099
+ const changeDateRangeEndTime = (time, timeString) =>
1100
+ setDateRange({
1101
+ ...dateRange,
1102
+ endDate: { ...dateRange?.endDate, time, timeString },
1103
+ });
1104
+
1105
+ const changeStoreIncluded = () =>
1106
+ setStore({ ...store, isIncluded: !store?.isIncluded });
1107
+
1108
+ const changeStoreSelect = value => {
1109
+ setStore({ ...store, selected: value })
1110
+ };
1111
+
1112
+ const changeFileInStore = ({ fileList }) => {
1113
+ if (!fileList.length) {
1114
+ setStoreIdsFromFile(INITIAL_STORE_ID_FILE);
1115
+ setStore({ ...store, file: null });
1116
+ return;
1117
+ }
1118
+ fileList.map(file => {
1119
+ const reader = new FileReader();
1120
+ reader.onload = function(evt) {
1121
+ setStoreIdsFromFile(() => {
1122
+ const uploadedStoreIds = evt.target.result
1123
+ ?.split(/\r?\n|\r|,/)
1124
+ ?.filter(id => id);
1125
+
1126
+ const { valid, invalid } = hasLoyaltyUXEnhancementsEnabled ? validateStoreIdsEnhancement(uploadedStoreIds, validStoresForCurrentRuleset, storesFromProp) : validateStoreIds(uploadedStoreIds);
1127
+
1128
+ const convertedStoreIds = convertStoreCodesToIds(valid);
1129
+ return { valid: convertedStoreIds, invalid, validStoreCode: valid };
1130
+ });
1131
+ };
1132
+ file.status = 'success';
1133
+ reader.readAsText(file.originFileObj);
1134
+ });
1135
+ setStore({ ...store, file: fileList.slice(-1) });
1136
+ };
1137
+
1138
+ const getTooltipData = (selectedData, optionsData) => {
1139
+ let tooltipData = [];
1140
+ let sourceObject = selectedData?.reduce((obj, id, i) => {
1141
+ if (i) {
1142
+ obj[id] = true;
1143
+ }
1144
+ return obj;
1145
+ }, {});
1146
+ optionsData?.forEach(source => {
1147
+ if (sourceObject[source.key]) {
1148
+ tooltipData.push(source.title);
1149
+ }
1150
+ });
1151
+
1152
+ return tooltipData;
1153
+ };
1154
+
1155
+
1156
+ const getMultiSelectPreview = (data, idsArray, optionsData) => {
1157
+ let listData = [];
1158
+ const firstData = (idsArray.length && idsArray[0]) || '';
1159
+ const name = (find(data, { id: Number(firstData) }) || {}).name;
1160
+ const count = idsArray.length - 1;
1161
+ if (count) {
1162
+ listData = getTooltipData(idsArray, optionsData);
1163
+ }
1164
+ return { name, count, listData };
1165
+ };
1166
+
1167
+ const isSpecificData = source => source !== NO_LIMIT;
1168
+
1169
+ const getScopePropertyValue = scope => {
1170
+ const { name } = scope;
1171
+ let scopePropertyValue = '';
1172
+ let moreCount = 0;
1173
+ let tooltipData = [];
1174
+ switch (name) {
1175
+ case LOYALTY_TYPE:
1176
+ scopePropertyValue = LOYALTY_TYPE_PREVIEW[loyaltyType];
1177
+ break;
1178
+ case EVENT_SOURCE:
1179
+ {
1180
+ if (isSpecificData(isSpecificEventSource)) {
1181
+ let eventSourceArr = [];
1182
+ if (eventSource.length) {
1183
+ eventSourceArr = eventSource;
1184
+ }
1185
+ scopePropertyValue =
1186
+ (eventSourceArr.length && eventSourceArr[0]) || '';
1187
+
1188
+ moreCount = eventSourceArr.length - 1;
1189
+ if (moreCount) {
1190
+ tooltipData = getTooltipData(eventSourceArr, eventSourceOptions);
1191
+ }
1192
+ } else {
1193
+ scopePropertyValue = ALL_MESSAGES[EVENT_SOURCE];
1194
+ }
1195
+ }
1196
+ break;
1197
+ case ZONES:
1198
+ {
1199
+ if (isSpecificData(isSpecificZone)) {
1200
+ let zoneIdsArr = [];
1201
+ if (zone?.selected?.length) {
1202
+ zoneIdsArr = zone.selected;
1203
+ }
1204
+ const { name, count, listData } = getMultiSelectPreview(
1205
+ zonesFromProp,
1206
+ zoneIdsArr,
1207
+ zoneOptions,
1208
+ );
1209
+ scopePropertyValue = name;
1210
+ moreCount = count;
1211
+ tooltipData = listData;
1212
+ } else {
1213
+ scopePropertyValue = ALL_MESSAGES[ZONES];
1214
+ }
1215
+ }
1216
+ break;
1217
+ case CONCEPTS:
1218
+ {
1219
+ if (isSpecificData(isSpecificConcept)) {
1220
+ let conceptIdsArr = [];
1221
+ if (concepts?.selected?.length) {
1222
+ conceptIdsArr = concepts.selected;
1223
+ }
1224
+ const { name, count, listData } = getMultiSelectPreview(
1225
+ conceptFromProp,
1226
+ conceptIdsArr,
1227
+ conceptOptions,
1228
+ );
1229
+ scopePropertyValue = name;
1230
+ moreCount = count;
1231
+ tooltipData = listData;
1232
+ } else {
1233
+ scopePropertyValue = ALL_MESSAGES[CONCEPTS];
1234
+ }
1235
+ }
1236
+ break;
1237
+ case STORES:
1238
+ {
1239
+ let storeIdArr = [];
1240
+ if (isSpecificData(isSpecificStore)) {
1241
+ if (isSpecificStore === UPLOAD_STORE_LIST) {
1242
+ storeIdArr = storeIdsFromFile.valid;
1243
+ }
1244
+ if (isSpecificStore === SELECT_STORE_LIST) {
1245
+ storeIdArr = store.selected;
1246
+ }
1247
+ const { name, count, listData } = getMultiSelectPreview(
1248
+ storesFromProp,
1249
+ storeIdArr,
1250
+ storeOptionsMulti,
1251
+ );
1252
+ scopePropertyValue = name;
1253
+ moreCount = count;
1254
+ tooltipData = listData;
1255
+ } else {
1256
+ scopePropertyValue = ALL_MESSAGES[STORES];
1257
+ }
1258
+ }
1259
+ break;
1260
+ case DATE_RANGE:
1261
+ {
1262
+ if (isSpecificData(isSpecificDate)) {
1263
+ const { startDate, endDate } = dateRange;
1264
+ if (
1265
+ startDate.dateString &&
1266
+ endDate.dateString &&
1267
+ startDate.timeString &&
1268
+ endDate.timeString
1269
+ ) {
1270
+ let sd = startDate.dateString;
1271
+ let ed = endDate.dateString;
1272
+ let st = startDate.time;
1273
+ let et = endDate.time;
1274
+ scopePropertyValue = `${moment(sd).format(
1275
+ LOCALE_DATE_FORMAT,
1276
+ )}, ${st.format('LT')} to ${moment(ed).format(
1277
+ LOCALE_DATE_FORMAT,
1278
+ )}, ${et.format('LT')}`;
1279
+ }
1280
+ } else {
1281
+ scopePropertyValue = ALL_MESSAGES[DATE_RANGE];
1282
+ }
1283
+ }
1284
+ break;
1285
+ case CLUSTER: {
1286
+ if (isSpecificData(isSpecificCluster)) {
1287
+ let cluster = [];
1288
+ if (clusters?.selected?.length) {
1289
+ cluster = clusters?.selected;
1290
+ }
1291
+ scopePropertyValue = cluster;
1292
+ } else {
1293
+ scopePropertyValue = ALL_MESSAGES[CLUSTER];
1294
+ }
1295
+ break;
1296
+ }
1297
+ }
1298
+
1299
+ return { scopePropertyValue, moreCount, name, tooltipData };
1300
+ };
1301
+ const getScopePropertyValueEnhanced = scope => {
1302
+ const { name } = scope;
1303
+ let scopePropertyValue = '';
1304
+ let moreCount = 0;
1305
+ let tooltipData = [];
1306
+ switch (name) {
1307
+ case LOYALTY_TYPE:
1308
+ scopePropertyValue = LOYALTY_TYPE_PREVIEW[loyaltyType];
1309
+ break;
1310
+ case EVENT_SOURCE:
1311
+ {
1312
+ let eventSourceArr = [];
1313
+ if (isSpecificData(isSpecificEventSource)) {
1314
+ if (eventSource.length) {
1315
+ eventSourceArr = eventSource;
1316
+ }
1317
+ scopePropertyValue =
1318
+ (eventSourceArr.length && eventSourceArr[0]) || '';
1319
+
1320
+ moreCount = eventSourceArr.length - 1;
1321
+ if (moreCount) {
1322
+ tooltipData = getTooltipData(eventSourceArr, eventSourceOptions);
1323
+ }
1324
+ }
1325
+ else{
1326
+ // case where NO_LIMIT is selected.
1327
+ if (isSelectedRulesetRoot) {
1328
+ // parent ruleset, regular logic
1329
+ scopePropertyValue = ALL_MESSAGES[EVENT_SOURCE];
1330
+ }
1331
+ else{
1332
+ scopePropertyValue =
1333
+ (validEventSourcesForCurrentRuleset.length && validEventSourcesForCurrentRuleset[0]) || '';
1334
+
1335
+ moreCount = validEventSourcesForCurrentRuleset.length - 1;
1336
+ if (moreCount) {
1337
+ tooltipData = getTooltipData(validEventSourcesForCurrentRuleset, eventSourceOptions);
1338
+ }
1339
+ }
1340
+ }
1341
+ }
1342
+ break;
1343
+ case ZONES:
1344
+ {
1345
+ let zoneIdsArr = [];
1346
+ if (isSpecificData(isSpecificZone)) {
1347
+ if (zone?.selected?.length) {
1348
+ zoneIdsArr = zone.selected;
1349
+ }
1350
+ const { name, count, listData } = getMultiSelectPreview(
1351
+ zonesFromProp,
1352
+ zoneIdsArr,
1353
+ zoneOptions,
1354
+ );
1355
+ scopePropertyValue = name;
1356
+ moreCount = count;
1357
+ tooltipData = listData;
1358
+ } else {
1359
+ if(isSelectedRulesetRoot){
1360
+ // parent ruleset, regular logic
1361
+ scopePropertyValue = ALL_MESSAGES[ZONES];
1362
+ }
1363
+ else{
1364
+ const { name, count, listData } = getMultiSelectPreview(
1365
+ zonesFromProp,
1366
+ validZonesForCurrentRuleset,
1367
+ zoneOptions,
1368
+ );
1369
+ scopePropertyValue = name;
1370
+ moreCount = count;
1371
+ tooltipData = listData;
1372
+ }
1373
+ }
1374
+ }
1375
+ break;
1376
+ case CONCEPTS:
1377
+ {
1378
+ let conceptIdsArr = [];
1379
+ if (isSpecificData(isSpecificConcept)) {
1380
+ if (concepts?.selected?.length) {
1381
+ conceptIdsArr = concepts.selected;
1382
+ }
1383
+ const { name, count, listData } = getMultiSelectPreview(
1384
+ conceptFromProp,
1385
+ conceptIdsArr,
1386
+ conceptOptions,
1387
+ );
1388
+ scopePropertyValue = name;
1389
+ moreCount = count;
1390
+ tooltipData = listData;
1391
+ } else {
1392
+ if(isSelectedRulesetRoot){
1393
+ // parent ruleset, regular logic
1394
+ scopePropertyValue = ALL_MESSAGES[CONCEPTS];
1395
+ }
1396
+ else{
1397
+ const { name, count, listData } = getMultiSelectPreview(
1398
+ conceptFromProp,
1399
+ validConceptsForCurrentRuleset,
1400
+ conceptOptions,
1401
+ );
1402
+ scopePropertyValue = name;
1403
+ moreCount = count;
1404
+ tooltipData = listData;
1405
+ }
1406
+ }
1407
+ }
1408
+ break;
1409
+ case STORES:
1410
+ {
1411
+ let storeIdArr = [];
1412
+ if (isSpecificData(isSpecificStore)) {
1413
+ if (isSpecificStore === UPLOAD_STORE_LIST) {
1414
+ storeIdArr = storeIdsFromFile.valid;
1415
+ }
1416
+ if (isSpecificStore === SELECT_STORE_LIST) {
1417
+ storeIdArr = store.selected;
1418
+ }
1419
+ const { name, count, listData } = getMultiSelectPreview(
1420
+ storesFromProp,
1421
+ storeIdArr,
1422
+ storeOptionsMulti,
1423
+ );
1424
+ scopePropertyValue = name;
1425
+ moreCount = count;
1426
+ tooltipData = listData;
1427
+ } else {
1428
+ if(isSelectedRulesetRoot){
1429
+ // all options selected case for root ruleset
1430
+ scopePropertyValue = ALL_MESSAGES[STORES];
1431
+ }
1432
+ else{
1433
+ const { name, count, listData } = getMultiSelectPreview(
1434
+ storesFromProp,
1435
+ validStoresForCurrentRuleset,
1436
+ storeOptionsMulti,
1437
+ );
1438
+ scopePropertyValue = name;
1439
+ moreCount = count;
1440
+ tooltipData = listData;
1441
+ }
1442
+ }
1443
+ }
1444
+ break;
1445
+ case DATE_RANGE:
1446
+ {
1447
+ if (isSpecificData(isSpecificDate)) {
1448
+ const { startDate, endDate } = dateRange;
1449
+ if (
1450
+ startDate.dateString &&
1451
+ endDate.dateString &&
1452
+ startDate.timeString &&
1453
+ endDate.timeString
1454
+ ) {
1455
+ let sd = startDate.dateString;
1456
+ let ed = endDate.dateString;
1457
+ let st = startDate.time;
1458
+ let et = endDate.time;
1459
+ scopePropertyValue = `${moment(sd).format(
1460
+ LOCALE_DATE_FORMAT,
1461
+ )}, ${st.format('LT')} to ${moment(ed).format(
1462
+ LOCALE_DATE_FORMAT,
1463
+ )}, ${et.format('LT')}`;
1464
+ }
1465
+ } else {
1466
+ scopePropertyValue = ALL_MESSAGES[DATE_RANGE];
1467
+ }
1468
+ }
1469
+ break;
1470
+ case CLUSTER: {
1471
+ if (isSpecificData(isSpecificCluster)) {
1472
+ let cluster = [];
1473
+ if (clusters?.selected?.length) {
1474
+ cluster = clusters?.selected;
1475
+ }
1476
+ scopePropertyValue = cluster;
1477
+ } else {
1478
+ if(isSelectedRulesetRoot || validPrimaryClustersForCurrentRuleset.length > 1){
1479
+ // parent ruleset, regular logic
1480
+ scopePropertyValue = ALL_MESSAGES[CLUSTER];
1481
+ }
1482
+ else{
1483
+ // non root ruleset with all clusters from parent radio button selected
1484
+
1485
+ scopePropertyValue = validPrimaryClustersForCurrentRuleset[0];
1486
+
1487
+ }
1488
+
1489
+ }
1490
+ break;
1491
+ }
1492
+ }
1493
+
1494
+ return { scopePropertyValue, moreCount, name, tooltipData };
1495
+ };
1496
+
1497
+
1498
+ const handleSecondaryClusterChange = (selectedSecondaryClusters) => {
1499
+ setClusterValues(selectedSecondaryClusters);
1500
+ }
1501
+
1502
+ const loyaltyTypeProps = {
1503
+ key: LOYALTY_TYPE,
1504
+ additionalCollapseProps: {
1505
+ disabled,
1506
+ isScope: true,
1507
+ isScopeConfigured: false,
1508
+ scopeIcon: ICON[LOYALTY_TYPE],
1509
+ isSvg: true,
1510
+ scopeDescription: (
1511
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: LOYALTY_TYPE })} /> : <ScopeDescription {...getScopePropertyValue({ name: LOYALTY_TYPE })} />
1512
+ ),
1513
+ },
1514
+ title: <ScopeHeader name={LOYALTY_TYPE} />,
1515
+ isOpen: currentTab === LOYALTY_TYPE,
1516
+ changeOpen: changeTabToLoyaltyType,
1517
+ radioGroup: {
1518
+ value: loyaltyType,
1519
+ onChange: changeLoyaltyType,
1520
+ defaultValue: ALL_USERS,
1521
+ className: 'scope-radio-group',
1522
+ },
1523
+ radios: [
1524
+ {
1525
+ value: ALL_USERS,
1526
+ message: formatMessage(messages.allUsers),
1527
+ disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[ALL_USERS]: {disabled: false, tooltipText: '' },
1528
+ },
1529
+ {
1530
+ value: LOYALTY_USER,
1531
+ message: formatMessage(messages.loyaltyUser),
1532
+ disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[LOYALTY_USER] : { disabled: false, tooltipText: ''},
1533
+ },
1534
+ {
1535
+ value: NON_LOYALTY_USER,
1536
+ message: formatMessage(messages.nonLoyaltyUser),
1537
+ disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[NON_LOYALTY_USER] : {disabled: false, tooltipText: ''},
1538
+ },
1539
+ ],
1540
+ };
1541
+
1542
+ const dateRangeProps = {
1543
+ key: DATE_RANGE,
1544
+ additionalCollapseProps: {
1545
+ disabled,
1546
+ isScope: true,
1547
+ isScopeConfigured: false,
1548
+ scopeIcon: ICON[DATE_RANGE],
1549
+ scopeDescription: (
1550
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: DATE_RANGE })} /> : <ScopeDescription {...getScopePropertyValue({ name: DATE_RANGE })} />
1551
+ ),
1552
+ scopeSpecifier: {
1553
+ radioGroup: {
1554
+ value: isSpecificDate,
1555
+ onChange: toggleIsSpecificLimit,
1556
+ defaultValue: NO_LIMIT,
1557
+ className: 'scope-radio-group scope-specifier-radio',
1558
+ name: DATE_RANGE,
1559
+ },
1560
+ radios: [
1561
+ {
1562
+ value: NO_LIMIT,
1563
+ message: ALL_MESSAGES[DATE_RANGE],
1564
+ },
1565
+ {
1566
+ value: SPECIFIC_LIMIT,
1567
+ message: SPECIFER_MESSAGES[DATE_RANGE],
1568
+ },
1569
+ ],
1570
+ },
1571
+ },
1572
+ title: <ScopeHeader name={DATE_RANGE} />,
1573
+ selectDate: formatMessage(globalMessages.selectDate),
1574
+ selectTime: formatMessage(globalMessages.selectTime),
1575
+ isOpen: currentTab === DATE_RANGE,
1576
+ changeOpen: changeTabToDateRange,
1577
+ switchProps: {
1578
+ isSwitchChecked: isDateRangeIncluded,
1579
+ onSwitchChange: toggleDateRangeIncluded,
1580
+ label: formatMessage(globalMessages.exclude),
1581
+ isDivider: false,
1582
+ className: 'margin-b-15 scope-switch',
1583
+ parentClassName: 'switch-container',
1584
+ name: 'date-range-switch',
1585
+ suffix: formatMessage(globalMessages.include),
1586
+ },
1587
+ dateTimePicker: [
1588
+ {
1589
+ dateValue: dateRange?.startDate?.date,
1590
+ onDateChange: changeDateRangeStart,
1591
+ dateLabel: formatMessage(messages.startDate),
1592
+ timeValue: dateRange?.startDate?.time,
1593
+ onTimeChange: changeDateRangeStartTime,
1594
+ },
1595
+ {
1596
+ dateValue: dateRange?.endDate?.date,
1597
+ onDateChange: changeDateRangeEnd,
1598
+ dateLabel: formatMessage(messages.endDate),
1599
+ timeValue: dateRange?.endDate?.time,
1600
+ onTimeChange: changeDateRangeEndTime,
1601
+ },
1602
+ ],
1603
+ };
1604
+
1605
+
1606
+ const conceptsProps = {
1607
+ key: CONCEPTS,
1608
+ additionalCollapseProps: {
1609
+ disabled,
1610
+ isScope: true,
1611
+ isScopeConfigured: false,
1612
+ scopeIcon: ICON[CONCEPTS],
1613
+ scopeDescription: (
1614
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: CONCEPTS })} /> : <ScopeDescription {...getScopePropertyValue({ name: CONCEPTS })} />
1615
+ ),
1616
+ isParentRuleset: isSelectedRulesetRoot,
1617
+ scopeSpecifier: {
1618
+ radioGroup: {
1619
+ value: isSpecificConcept,
1620
+ onChange: toggleIsSpecificLimit,
1621
+ defaultValue: NO_LIMIT,
1622
+ className: 'scope-radio-group scope-specifier-radio',
1623
+ name: CONCEPTS,
1624
+ },
1625
+ radios: [
1626
+ {
1627
+ value: NO_LIMIT,
1628
+ message: ALL_MESSAGES[CONCEPTS],
1629
+ },
1630
+ {
1631
+ value: SPECIFIC_LIMIT,
1632
+ message: SPECIFER_MESSAGES[CONCEPTS],
1633
+ },
1634
+ ],
1635
+ },
1636
+ },
1637
+ title: <ScopeHeader name={CONCEPTS} />,
1638
+ isOpen: currentTab === CONCEPTS,
1639
+ changeOpen: changeTabToConcepts,
1640
+ switchProps: {
1641
+ isSwitchChecked: concepts?.isIncluded,
1642
+ onSwitchChange: toggleConceptIncluded,
1643
+ label: formatMessage(globalMessages.exclude),
1644
+ isDivider: false,
1645
+ name: 'concepts-switch',
1646
+ className: 'margin-b-15 scope-switch',
1647
+ parentClassName: 'switch-container',
1648
+ suffix: formatMessage(globalMessages.include),
1649
+ },
1650
+ selectOptions: {
1651
+ options: hasLoyaltyUXEnhancementsEnabled ? sortMultiSelectOptions(conceptOptionsEnhancement) : conceptOptions,
1652
+ value: concepts?.selected,
1653
+ onChange: conceptSelectHandler,
1654
+ placeholder: formatMessage(messages.concept),
1655
+ searchPlaceholder: formatMessage(globalMessages.search),
1656
+ closeText: formatMessage(globalMessages.close),
1657
+ selectText: formatMessage(globalMessages.select),
1658
+ selectedText:formatMessage(globalMessages.selected),
1659
+ selectAllText:formatMessage(globalMessages.selectAll),
1660
+ noResultsFoundText:formatMessage(globalMessages.noResultsFound),
1661
+ searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'label',
1662
+ triggerClassName: 'concept-trigger',
1663
+ },
1664
+ hasLoyaltyUXEnhancementsEnabled,
1665
+ rootModalProps: {
1666
+ rootModalData: rootConceptModalData,
1667
+ setModalData: setRootConceptModalData,
1668
+ setDropdownData: addConcepts,
1669
+ rootOptionValue: conceptRootValue?.toString(),
1670
+ triggerRef: document.querySelector(
1671
+ '.concept-trigger .cap-multi-select-v2-selection',
1672
+ ),
1673
+ //TODO: figure out why .click() is not working here
1674
+ },
1675
+ };
1676
+
1677
+ const zoneProps = {
1678
+ key: ZONES,
1679
+ title: <ScopeHeader name={ZONES} />,
1680
+ isOpen: currentTab === ZONES,
1681
+ changeOpen: changeTabToZone,
1682
+ additionalCollapseProps: {
1683
+ disabled,
1684
+ isScope: true,
1685
+ isScopeConfigured: false,
1686
+ scopeIcon: ICON[ZONES],
1687
+ isSvg: true,
1688
+ scopeDescription: (
1689
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: ZONES })} /> : <ScopeDescription {...getScopePropertyValue({ name: ZONES })} />
1690
+ ),
1691
+ isParentRuleset: isSelectedRulesetRoot,
1692
+ scopeSpecifier: {
1693
+ radioGroup: {
1694
+ value: isSpecificZone,
1695
+ onChange: toggleIsSpecificLimit,
1696
+ defaultValue: NO_LIMIT,
1697
+ className: 'scope-radio-group scope-specifier-radio',
1698
+ name: ZONES,
1699
+ },
1700
+ radios: [
1701
+ {
1702
+ value: NO_LIMIT,
1703
+ message: ALL_MESSAGES[ZONES],
1704
+ },
1705
+ {
1706
+ value: SPECIFIC_LIMIT,
1707
+ message: SPECIFER_MESSAGES[ZONES],
1708
+ },
1709
+ ],
1710
+ },
1711
+ },
1712
+ switchProps: {
1713
+ isSwitchChecked: zone?.isIncluded,
1714
+ onSwitchChange: toggleZoneIncluded,
1715
+ label: formatMessage(globalMessages.exclude),
1716
+ isDivider: false,
1717
+ name: 'zone-switch',
1718
+ className: 'margin-b-15 scope-switch',
1719
+ parentClassName: 'switch-container',
1720
+ suffix: formatMessage(globalMessages.include),
1721
+ },
1722
+ selectOptions: {
1723
+ options: hasLoyaltyUXEnhancementsEnabled ? sortMultiSelectOptions(zoneOptionsEnhancement) : zoneOptions,
1724
+ value: zone?.selected,
1725
+ onChange: zoneSelectHandler,
1726
+ placeholder: formatMessage(messages.zone),
1727
+ searchPlaceholder: formatMessage(globalMessages.search),
1728
+ closeText: formatMessage(globalMessages.close),
1729
+ selectText: formatMessage(globalMessages.select),
1730
+ selectedText:formatMessage(globalMessages.selected),
1731
+ selectAllText:formatMessage(globalMessages.selectAll),
1732
+ noResultsFoundText:formatMessage(globalMessages.noResultsFound),
1733
+ searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'label',
1734
+ triggerClassName: 'zone-trigger',
1735
+ },
1736
+ hasLoyaltyUXEnhancementsEnabled,
1737
+ rootModalProps: {
1738
+ rootModalData: rootZoneModalData,
1739
+ setModalData: setRootZoneModalData,
1740
+ setDropdownData: addZones,
1741
+ rootOptionValue: zoneRootValue?.toString(),
1742
+ triggerRef: document.querySelector(
1743
+ '.zone-trigger .cap-multi-select-v2-selection',
1744
+ ),
1745
+ },
1746
+ };
1747
+
1748
+ const eventSourceProps = {
1749
+ key: EVENT_SOURCE,
1750
+ additionalCollapseProps: {
1751
+ disabled,
1752
+ isScope: true,
1753
+ isScopeConfigured: false,
1754
+ scopeIcon: ICON[EVENT_SOURCE],
1755
+ scopeDescription: (
1756
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: EVENT_SOURCE })} /> : <ScopeDescription {...getScopePropertyValue({ name: EVENT_SOURCE })} />
1757
+ ),
1758
+ isParentRuleset: isSelectedRulesetRoot,
1759
+ scopeSpecifier: {
1760
+ radioGroup: {
1761
+ value: isSpecificEventSource,
1762
+ onChange: toggleIsSpecificLimit,
1763
+ defaultValue: NO_LIMIT,
1764
+ className: 'scope-radio-group scope-specifier-radio',
1765
+ name: EVENT_SOURCE,
1766
+ },
1767
+ radios: [
1768
+ {
1769
+ value: NO_LIMIT,
1770
+ message: ALL_MESSAGES[EVENT_SOURCE],
1771
+ },
1772
+ {
1773
+ value: SPECIFIC_LIMIT,
1774
+ message: SPECIFER_MESSAGES[EVENT_SOURCE],
1775
+ },
1776
+ ],
1777
+ },
1778
+ },
1779
+ title: <ScopeHeader name={EVENT_SOURCE} />,
1780
+ isOpen: currentTab === EVENT_SOURCE,
1781
+ changeOpen: changeTabToEventSource,
1782
+ selectOptions: {
1783
+ options: hasLoyaltyUXEnhancementsEnabled ? sortMultiSelectOptions(eventSourceOptionsEnhancement) : eventSourceOptions,
1784
+ value: eventSource,
1785
+ onChange: changeEventSource,
1786
+ placeholder: formatMessage(globalMessages.EventSource),
1787
+ searchPlaceholder: formatMessage(globalMessages.search),
1788
+ closeText: formatMessage(globalMessages.close),
1789
+ selectText: formatMessage(globalMessages.select),
1790
+ selectedText:formatMessage(globalMessages.selected),
1791
+ selectAllText:formatMessage(globalMessages.selectAll),
1792
+ noResultsFoundText:formatMessage(globalMessages.noResultsFound),
1793
+ searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
1794
+ },
1795
+ };
1796
+
1797
+ const clusterProps = {
1798
+ key: CLUSTER,
1799
+ additionalCollapseProps: {
1800
+ disabled,
1801
+ isScope: true,
1802
+ isScopeConfigured: false,
1803
+ scopeIcon: ICON[CLUSTER],
1804
+ isSvg: true,
1805
+ scopeDescription: (
1806
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: CLUSTER })} /> : <ScopeDescription {...getScopePropertyValue({ name: CLUSTER })} />
1807
+ ),
1808
+ scopeSpecifier: {
1809
+ radioGroup: {
1810
+ value: isSpecificCluster,
1811
+ onChange: toggleIsSpecificLimit,
1812
+ defaultValue: NO_LIMIT,
1813
+ className: 'scope-radio-group scope-specifier-radio',
1814
+ name: CLUSTER,
1815
+ },
1816
+ radios: [
1817
+ {
1818
+ value: NO_LIMIT,
1819
+ message: ALL_MESSAGES[CLUSTER],
1820
+ },
1821
+ {
1822
+ value: SPECIFIC_LIMIT,
1823
+ message: SPECIFER_MESSAGES[CLUSTER],
1824
+ },
1825
+ ],
1826
+ },
1827
+ },
1828
+ title: <ScopeHeader name={CLUSTER} />,
1829
+ isOpen: currentTab === CLUSTER,
1830
+ changeOpen: changeTabToCluster,
1831
+ switchProps: {
1832
+ isSwitchChecked: clusters?.isIncluded,
1833
+ onSwitchChange: toggleClusterIsIncluded,
1834
+ label: formatMessage(globalMessages.exclude),
1835
+ isDivider: false,
1836
+ name: 'cluster-switch',
1837
+ className: 'margin-b-15 scope-switch',
1838
+ parentClassName: 'switch-container',
1839
+ suffix: formatMessage(globalMessages.include),
1840
+ },
1841
+ primraySelectOptions: {
1842
+ options: hasLoyaltyUXEnhancementsEnabled? sortMultiSelectOptions(clusterOptionsEnhancement) : clusterOptions,
1843
+ value: clusters?.selected ? clusters?.selected : undefined,
1844
+ onChange: changeClusterSelected,
1845
+ placeholder: formatMessage(messages.clusterName),
1846
+ },
1847
+ seconodarySelectOptions: {
1848
+ options: hasLoyaltyUXEnhancementsEnabled ? sortMultiSelectOptions(clusterValuesEnhancement) : clusterValueOptions,
1849
+ value: clusterValues,
1850
+ onChange: handleSecondaryClusterChange,
1851
+ placeholder: formatMessage(messages.clusterValue),
1852
+ noResultsFoundText: formatMessage(globalMessages.noResultsFound),
1853
+ searchPlaceholder:formatMessage(globalMessages.search),
1854
+ searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
1855
+ },
1856
+ hasLoyaltyUXEnhancementsEnabled,
1857
+ };
1858
+
1859
+
1860
+ const storeProps = {
1861
+ additionalCollapseProps: {
1862
+ disabled,
1863
+ isScope: true,
1864
+ isScopeConfigured: false,
1865
+ scopeIcon: ICON[STORES],
1866
+ scopeDescription:
1867
+ hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: STORES })} /> : <ScopeDescription {...getScopePropertyValue({ name: STORES })} />
1868
+ ,
1869
+ isParentRuleset: isSelectedRulesetRoot,
1870
+ scopeSpecifier: {
1871
+ radioGroup: {
1872
+ value: isSpecificStore,
1873
+ onChange: toggleIsSpecificLimit,
1874
+ defaultValue: NO_LIMIT,
1875
+ className: 'scope-radio-group scope-specifier-radio',
1876
+ name: STORES,
1877
+ },
1878
+ radios: [
1879
+ {
1880
+ value: NO_LIMIT,
1881
+ message: ALL_MESSAGES[STORES],
1882
+ },
1883
+ {
1884
+ value: SELECT_STORE_LIST,
1885
+ message: STORE_PREVIEW_MESSAGES[SELECT_STORE_LIST],
1886
+ },
1887
+ {
1888
+ value: UPLOAD_STORE_LIST,
1889
+ message: STORE_PREVIEW_MESSAGES[UPLOAD_STORE_LIST],
1890
+ },
1891
+ ],
1892
+ },
1893
+ },
1894
+ title: <ScopeHeader name={STORES} />,
1895
+ isOpen: currentTab === STORES,
1896
+ changeOpen: changeTabToStore,
1897
+ isSpecificStore,
1898
+ switchProps: {
1899
+ isSwitchChecked: store?.isIncluded,
1900
+ onSwitchChange: changeStoreIncluded,
1901
+ label: formatMessage(globalMessages.exclude),
1902
+ isDivider: false,
1903
+ className: 'margin-b-15 scope-switch',
1904
+ parentClassName: 'switch-container',
1905
+ name: 'stores',
1906
+ suffix: formatMessage(globalMessages.include),
1907
+ },
1908
+ csvHeading: formatMessage(messages.storeCodeCsv),
1909
+ fileSelector: {
1910
+ onChange: changeFileInStore,
1911
+ fileList: store?.file,
1912
+ fileType: '.csv',
1913
+ fileTypeLabel: 'CSV',
1914
+ storeIds: storeIdsFromFile,
1915
+ storePreview: getScopePropertyValue({ name: STORES }),
1916
+ },
1917
+ secondaryHeading: formatMessage(globalMessages.or).toUpperCase(),
1918
+ selectOptions: {
1919
+ options: hasLoyaltyUXEnhancementsEnabled ? sortMultiSelectOptions(storeOptionsMultiEnhancement) : storeOptionsMulti,
1920
+ value: store?.selected,
1921
+ onChange: changeStoreSelect,
1922
+ placeholder: formatMessage(messages.store),
1923
+ searchPlaceholder: formatMessage(globalMessages.search),
1924
+ closeText: formatMessage(globalMessages.close),
1925
+ selectText: formatMessage(globalMessages.select),
1926
+ selectedText:formatMessage(globalMessages.selected),
1927
+ noResultsFoundText:formatMessage(globalMessages.noResultsFound),
1928
+ selectAllText:formatMessage(globalMessages.selectAll),
1929
+ searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
1930
+ },
1931
+ hasLoyaltyUXEnhancementsEnabled,
1932
+ isSelectedRulesetRoot,
1933
+ };
1934
+
1935
+ const getElementLayout = key => {
1936
+ switch (key) {
1937
+ case LOYALTY_TYPE: {
1938
+ return <CollapseWithRadioGroup {...loyaltyTypeProps} />;
1939
+ }
1940
+ case STORES: {
1941
+ return <CollapseWithStore {...storeProps} />;
1942
+ }
1943
+ case DATE_RANGE: {
1944
+ return <CollapseWithDateRange {...dateRangeProps} />;
1945
+ }
1946
+ case CONCEPTS: {
1947
+ return <CollapseWithSwitchSelect {...conceptsProps} />;
1948
+ }
1949
+ case ZONES: {
1950
+ return <CollapseWithSwitchSelect {...zoneProps} />;
1951
+ }
1952
+ case EVENT_SOURCE: {
1953
+ return (
1954
+ <CollapseWithSwitchSelect
1955
+ isSwitchRequired={false}
1956
+ {...eventSourceProps}
1957
+ />
1958
+ );
1959
+ }
1960
+ case CLUSTER: {
1961
+ return <CollapseWithMultiSelect {...clusterProps} />;
1962
+ }
1963
+ }
1964
+ };
1965
+
1966
+ const convertStoreCodesToIds = codes => {
1967
+ const ids = [];
1968
+ const codesObject = {};
1969
+ codes.map(code => (codesObject[code] = true));
1970
+ storesFromProp.forEach(({ id, code }) => {
1971
+ if (codesObject[code]) ids.push(`${id}`);
1972
+ });
1973
+ return ids;
1974
+ };
1975
+
1976
+ const getScopingObject = type => {
1977
+ const scopeObject = {
1978
+ scopeId: -1,
1979
+ propertyValues: {},
1980
+ };
1981
+ switch (type) {
1982
+ case LOYALTY_TYPE:
1983
+ scopeObject.scopeMode = true;
1984
+ scopeObject.propertyValues = { loyaltyType };
1985
+ scopeObject.scopingType = LOYALTY_TYPE;
1986
+ return scopeObject;
1987
+ case EVENT_SOURCE:
1988
+ scopeObject.scopeMode = true;
1989
+ scopeObject.propertyValues = { eventSource: eventSource };
1990
+ scopeObject.scopingType = EVENT_SOURCE;
1991
+ return scopeObject;
1992
+ case ZONES:
1993
+ scopeObject.scopeMode = hasLoyaltyUXEnhancementsEnabled? true: zone.isIncluded;
1994
+ scopeObject.propertyValues = { zones: zone.selected };
1995
+ scopeObject.scopingType = ZONES;
1996
+ return scopeObject;
1997
+ case CONCEPTS:
1998
+ scopeObject.scopeMode = hasLoyaltyUXEnhancementsEnabled? true: concepts.isIncluded;
1999
+ scopeObject.propertyValues = { concepts: concepts.selected };
2000
+ scopeObject.scopingType = CONCEPTS;
2001
+ return scopeObject;
2002
+ case STORES:
2003
+ scopeObject.scopeMode = hasLoyaltyUXEnhancementsEnabled? true: store.isIncluded;
2004
+ scopeObject.propertyValues = {
2005
+ stores:
2006
+ isSpecificStore === UPLOAD_STORE_LIST
2007
+ ? storeIdsFromFile.valid
2008
+ : isSpecificStore === SELECT_STORE_LIST
2009
+ ? store.selected
2010
+ : [],
2011
+ };
2012
+ scopeObject.scopingType = STORES;
2013
+ return scopeObject;
2014
+ case DATE_RANGE:
2015
+ scopeObject.scopeMode = isDateRangeIncluded;
2016
+ scopeObject.propertyValues = {
2017
+ startDate: `${dateRange.startDate.dateString || ''} ${dateRange
2018
+ .startDate.timeString || ''}`,
2019
+ endDate: `${dateRange.endDate.dateString || ''} ${dateRange.endDate
2020
+ .timeString || ''}`,
2021
+ };
2022
+ scopeObject.scopingType = DATE_RANGE;
2023
+ return scopeObject;
2024
+ case CLUSTER: {
2025
+ const selectedCluster = clusterFromProps.find(
2026
+ ({ id }) => id === clusters.selected,
2027
+ );
2028
+ const clusterValuesObject = clusterValues.reduce((object, content) => {
2029
+ object[content] = true;
2030
+ return object;
2031
+ }, {});
2032
+ const clusterNameStr = [selectedCluster?.name] || [clusters.selected];
2033
+ const clusterValuesStr = selectedCluster?.segmentValues.reduce(
2034
+ (array, segmentValue) => {
2035
+ if (clusterValuesObject[segmentValue.id])
2036
+ array.push(segmentValue.value);
2037
+ return array;
2038
+ },
2039
+ [],
2040
+ );
2041
+
2042
+ scopeObject.scopeMode = hasLoyaltyUXEnhancementsEnabled? true: clusters.isIncluded;
2043
+ scopeObject.propertyValues = {
2044
+ clusterName: clusters.selected,
2045
+ clusterValues,
2046
+ clusterNameStr,
2047
+ clusterValuesStr: isEmpty(clusterValuesStr)
2048
+ ? clusterValues
2049
+ : clusterValuesStr,
2050
+ };
2051
+ scopeObject.scopingType = CLUSTER;
2052
+ return scopeObject;
2053
+ }
2054
+ default:
2055
+ return scopeObject;
2056
+ }
2057
+ };
2058
+
2059
+ const getScopingObjectForAllSelectionsFromParents = type => {
2060
+ const scopeObject = {
2061
+ scopeId: -1,
2062
+ propertyValues: {},
2063
+ };
2064
+
2065
+ switch (type) {
2066
+ case STORES:
2067
+ scopeObject.scopeMode = true;
2068
+ scopeObject.propertyValues = {
2069
+ stores: validStoresForCurrentRuleset,
2070
+ };
2071
+ scopeObject.scopingType = STORES;
2072
+ return scopeObject;
2073
+
2074
+ case ZONES:
2075
+ scopeObject.scopeMode = true;
2076
+ scopeObject.propertyValues = {
2077
+ zones: validZonesForCurrentRuleset,
2078
+ };
2079
+ scopeObject.scopingType = ZONES;
2080
+ return scopeObject;
2081
+
2082
+ case CONCEPTS:
2083
+ scopeObject.scopeMode = true;
2084
+ scopeObject.propertyValues = {
2085
+ concepts: validConceptsForCurrentRuleset
2086
+ };
2087
+ scopeObject.scopingType = CONCEPTS;
2088
+ return scopeObject;
2089
+
2090
+
2091
+ case EVENT_SOURCE:
2092
+ scopeObject.scopeMode = true;
2093
+ scopeObject.propertyValues = {
2094
+ eventSource: validEventSourcesForCurrentRuleset
2095
+ };
2096
+ scopeObject.scopingType = EVENT_SOURCE;
2097
+ return scopeObject;
2098
+
2099
+
2100
+ case CLUSTER:
2101
+ let selectedCluster;
2102
+
2103
+ if(validPrimaryClustersForCurrentRuleset.length === 0){
2104
+ selectedCluster = null;
2105
+ }
2106
+ else if(validPrimaryClustersForCurrentRuleset.length === 1){
2107
+ selectedCluster = validPrimaryClustersForCurrentRuleset[0];
2108
+ }
2109
+
2110
+ scopeObject.scopeMode = true;
2111
+
2112
+ scopeObject.propertyValues = {
2113
+ clusterName: selectedCluster,
2114
+ clusterNameStr: selectedCluster,
2115
+ clusterValues: validSecondaryClustersForCurrentRuleset,
2116
+ clusterValuesStr: validSecondaryClustersForCurrentRuleset,
2117
+ };
2118
+
2119
+
2120
+ scopeObject.scopingType = CLUSTER;
2121
+
2122
+ return scopeObject;
2123
+
2124
+
2125
+
2126
+ default:
2127
+ return scopeObject;
2128
+ }
2129
+ };
2130
+
2131
+ const validateStoreIds = ids => {
2132
+ const originalStoreIds = {};
2133
+ storesFromProp.forEach(({ code }) => {
2134
+ originalStoreIds[code] = true;
2135
+ });
2136
+ const invalid = [];
2137
+ const valid = [];
2138
+ ids.forEach(id => {
2139
+ if (originalStoreIds[id]) {
2140
+ valid.push(id);
2141
+ return;
2142
+ }
2143
+ invalid.push(id);
2144
+ });
2145
+ return { valid, invalid };
2146
+ };
2147
+
2148
+
2149
+ const validateDateRange = value => {
2150
+ const { propertyValues: { startDate, endDate } = {} } = value || {};
2151
+ const [sd, st] = startDate.split(' ');
2152
+ const [ed, et] = endDate.split(' ');
2153
+ if (!sd || !st) return formatMessage(messages.startDateError);
2154
+ if (!ed || !et) return formatMessage(messages.endDateError);
2155
+ let startDateMoment = moment(startDate);
2156
+ let endDateMoment = moment(endDate);
2157
+ let timeDifference = endDateMoment.diff(startDateMoment, 'seconds');
2158
+ if (timeDifference <= 0) return formatMessage(messages.dateTimeDifferenceError);
2159
+ return false;
2160
+ };
2161
+
2162
+
2163
+ const validate = (type, value) => {
2164
+ const { propertyValues = {} } = value || {};
2165
+ switch (type) {
2166
+ case LOYALTY_TYPE: {
2167
+ const { loyaltyType } = propertyValues;
2168
+ return !!loyaltyType;
2169
+ }
2170
+ case EVENT_SOURCE: {
2171
+ return !isEmpty(propertyValues?.eventSource);
2172
+ }
2173
+ case ZONES: {
2174
+ return !isEmpty(propertyValues?.zones);
2175
+ }
2176
+ case CONCEPTS: {
2177
+ return !isEmpty(propertyValues?.concepts);
2178
+ }
2179
+ case STORES: {
2180
+ return !isEmpty(propertyValues?.stores);
2181
+ }
2182
+ case CLUSTER: {
2183
+ const { clusterName, clusterValues } = propertyValues;
2184
+ return !isEmpty(clusterName) && !isEmpty(clusterValues);
2185
+ }
2186
+ }
2187
+ };
2188
+
2189
+ const isSpecificDataAdded = content => {
2190
+ switch (content) {
2191
+ case LOYALTY_TYPE:
2192
+ return loyaltyType !== ALL_USERS;
2193
+ case EVENT_SOURCE:
2194
+ return isSpecificData(isSpecificEventSource);
2195
+ case ZONES:
2196
+ return isSpecificData(isSpecificZone);
2197
+ case CONCEPTS:
2198
+ return isSpecificData(isSpecificConcept);
2199
+ case STORES:
2200
+ return isSpecificData(isSpecificStore);
2201
+ case CLUSTER:
2202
+ return isSpecificData(isSpecificCluster);
2203
+ case DATE_RANGE:
2204
+ return isSpecificData(isSpecificDate);
2205
+ }
2206
+ };
2207
+
2208
+ const saveScoping = () => {
2209
+ const oldScopingObject = {};
2210
+
2211
+ (scoppingList || []).forEach(scope => {
2212
+ oldScopingObject[scope.name.toUpperCase()] = scope;
2213
+ });
2214
+
2215
+
2216
+ const newScopingObject = contentAdded.reduce(
2217
+ (scopingObject, content) => {
2218
+
2219
+ if (!isSpecificDataAdded(content) ) {
2220
+ return scopingObject;
2221
+ }
2222
+
2223
+
2224
+ const scope = getScopingObject(content);
2225
+ if (content === DATE_RANGE) {
2226
+ const invalid = validateDateRange(scope);
2227
+ if (!invalid) {
2228
+ scopingObject.data[content] = scope;
2229
+ return scopingObject;
2230
+ }
2231
+ scopingObject.dateRangeError = invalid;
2232
+ return scopingObject;
2233
+ }
2234
+ if (validate(content, scope)) {
2235
+ scopingObject.data[content] = scope;
2236
+ return scopingObject;
2237
+ }
2238
+ scopingObject.error.push(content);
2239
+ return scopingObject;
2240
+ },
2241
+ {
2242
+ data: {},
2243
+ error: [],
2244
+ storeIdsFromFile: true,
2245
+ dateRangeError: false,
2246
+ },
2247
+ );
2248
+ /** Handled by a normal flow
2249
+ if (!newScopingObject.storeIdsFromFile) {
2250
+ CapNotification.error({
2251
+ message: formatMessage(messages.storeIdsError),
2252
+ });
2253
+ return;
2254
+ }
2255
+ */
2256
+
2257
+ if (newScopingObject.dateRangeError) {
2258
+ CapNotification.error({
2259
+ message: newScopingObject.dateRangeError,
2260
+ });
2261
+ return;
2262
+ }
2263
+ if (newScopingObject.error.length > 0) {
2264
+ /** Not possible to have type other than types in SCOPE_AGGREGATE_ELEMENTS
2265
+ const invalidError = newScopingObject.error.some(
2266
+ type => !SCOPE_AGGREGATE_ELEMENTS.includes(type),
2267
+ );
2268
+
2269
+ if (invalidError) {
2270
+ CapNotification.error({
2271
+ message: formatMessage(messages.somthingWentWrong),
2272
+ });
2273
+ notifyHandledException(newScopingObject);
2274
+ return;
2275
+ }
2276
+ */
2277
+ CapNotification.error({
2278
+ message: `${newScopingObject.error
2279
+ .map(type => formatMessage(globalMessages[type]))
2280
+ .join(', ')} ${formatMessage(
2281
+ messages.emptyScopeError,
2282
+ ).toLowerCase()}`,
2283
+ });
2284
+ return;
2285
+ }
2286
+
2287
+ /** Saving empty scope is allowed
2288
+ if (newScopingObject.data.length === 0) {
2289
+ CapNotification.error({
2290
+ message: formatMessage(messages.emptyScopeError),
2291
+ });
2292
+ return;
2293
+ }
2294
+ */
2295
+
2296
+
2297
+
2298
+ const scopingData = Object.values(newScopingObject.data).map(scoping => {
2299
+ if (oldScopingObject[scoping.scopingType.toUpperCase()]) {
2300
+ return {
2301
+ ...scoping,
2302
+ scopeId: oldScopingObject[scoping.scopingType.toUpperCase()].id,
2303
+ };
2304
+ }
2305
+ return scoping;
2306
+ });
2307
+
2308
+ const filterInfo = getFilterInfo({
2309
+ scopingData,
2310
+ source,
2311
+ });
2312
+ handleSaveFilterInfo(filterInfo);
2313
+ };
2314
+
2315
+ const saveScopingEnhanced = () => {
2316
+
2317
+ const oldScopingObject = {};
2318
+ (scoppingList || []).forEach(scope => {
2319
+ oldScopingObject[scope.name.toUpperCase()] = scope;
2320
+ });
2321
+
2322
+ const newEnhancedScopingObject = contentAdded.reduce(
2323
+ (scopingObject, content) => {
2324
+
2325
+ switch (content) {
2326
+ case STORES:
2327
+ if (!isSpecificDataAdded(content)) {
2328
+ // root ruleset, with all options selected.
2329
+ return scopingObject;
2330
+ }
2331
+ else {
2332
+ // specific content is added. so we just run regular to the payload logic.
2333
+ const scope = getScopingObject(content);
2334
+
2335
+ if (validate(content, scope)) {
2336
+ scopingObject.data[content] = scope;
2337
+ return scopingObject;
2338
+ }
2339
+
2340
+ scopingObject.error.push(content);
2341
+ return scopingObject;
2342
+ }
2343
+
2344
+ case ZONES:
2345
+ if (!isSpecificDataAdded(content)) {
2346
+ return scopingObject;
2347
+ }
2348
+ else {
2349
+ const scope = getScopingObject(content);
2350
+ if (validate(content, scope)) {
2351
+ scopingObject.data[content] = scope;
2352
+ return scopingObject;
2353
+ }
2354
+ scopingObject.error.push(content);
2355
+ return scopingObject;
2356
+ }
2357
+
2358
+ case CONCEPTS:
2359
+ if (!isSpecificDataAdded(content)) {
2360
+ return scopingObject;
2361
+ }
2362
+ else {
2363
+ const scope = getScopingObject(content);
2364
+ if (validate(content, scope)) {
2365
+ scopingObject.data[content] = scope;
2366
+ return scopingObject;
2367
+ }
2368
+ scopingObject.error.push(content);
2369
+ return scopingObject;
2370
+ }
2371
+
2372
+ case DATE_RANGE:
2373
+ if (!isSpecificDataAdded(content)) {
2374
+ return scopingObject;
2375
+ }
2376
+ const dateRangeScope = getScopingObject(content);
2377
+ const invalid = validateDateRange(dateRangeScope);
2378
+ if (!invalid) {
2379
+ scopingObject.data[content] = dateRangeScope;
2380
+ return scopingObject;
2381
+ }
2382
+ scopingObject.dateRangeError = invalid;
2383
+ return scopingObject;
2384
+
2385
+ case EVENT_SOURCE:
2386
+ if (!isSpecificDataAdded(content)) {
2387
+ return scopingObject;
2388
+ }
2389
+ else {
2390
+ const scope = getScopingObject(content);
2391
+ if (validate(content, scope)) {
2392
+ scopingObject.data[content] = scope;
2393
+ return scopingObject;
2394
+ }
2395
+ scopingObject.error.push(content);
2396
+ return scopingObject;
2397
+ }
2398
+
2399
+ case CLUSTER:
2400
+ if (!isSpecificDataAdded(content)) {
2401
+ return scopingObject;
2402
+ }
2403
+ else {
2404
+ // specific content is added, so we just run regular to the payload logic.
2405
+ const scope = getScopingObject(content);
2406
+ if (validate(content, scope)) {
2407
+ scopingObject.data[content] = scope;
2408
+ return scopingObject;
2409
+ }
2410
+
2411
+ scopingObject.error.push(content);
2412
+ return scopingObject;
2413
+ }
2414
+
2415
+ default:
2416
+ if (!isSpecificDataAdded(content)) {
2417
+ return scopingObject;
2418
+ }
2419
+
2420
+ const defaultScope = getScopingObject(content);
2421
+ if (validate(content, defaultScope)) {
2422
+ scopingObject.data[content] = defaultScope;
2423
+ return scopingObject;
2424
+ }
2425
+ scopingObject.error.push(content);
2426
+ return scopingObject;
2427
+ }
2428
+ },
2429
+ {
2430
+ data: {},
2431
+ error: [],
2432
+ storeIdsFromFile: true,
2433
+ dateRangeError: false,
2434
+ },
2435
+ );
2436
+ if (newEnhancedScopingObject.dateRangeError) {
2437
+ CapNotification.error({
2438
+ message: newEnhancedScopingObject.dateRangeError,
2439
+ });
2440
+ return;
2441
+ }
2442
+ if (newEnhancedScopingObject.error.length > 0) {
2443
+ CapNotification.error({
2444
+ message: `${newEnhancedScopingObject.error
2445
+ .map(type => formatMessage(globalMessages[type]))
2446
+ .join(', ')} ${formatMessage(
2447
+ messages.emptyScopeError,
2448
+ ).toLowerCase()}`,
2449
+ });
2450
+ return;
2451
+ }
2452
+
2453
+ const scopingData = Object.values(newEnhancedScopingObject.data).map(scoping => {
2454
+ if (oldScopingObject[scoping.scopingType.toUpperCase()]) {
2455
+ return {
2456
+ ...scoping,
2457
+ scopeId: oldScopingObject[scoping.scopingType.toUpperCase()].id,
2458
+ };
2459
+ }
2460
+ return scoping;
2461
+ });
2462
+
2463
+
2464
+ if (source === SOURCE_PROMOTION) {
2465
+ const promotionFilterInfo = getFilterInfo({ scopingData });
2466
+ handleSaveFilterInfo(promotionFilterInfo);
2467
+ return;
2468
+ }
2469
+
2470
+ const requestObject = {
2471
+ rulesetId: selectedRuleset,
2472
+ scopingData,
2473
+ };
2474
+
2475
+
2476
+ actions.saveScoping(programId, eventType, requestObject, res => {
2477
+ const success = res?.success;
2478
+ if (success) {
2479
+ setProcessedRuleSets(processedRuleSets => {
2480
+ if (
2481
+ processedRuleSets?.group?.[selectedRuleset] &&
2482
+ res?.result?.filterInfo
2483
+ ) {
2484
+ processedRuleSets.group[selectedRuleset].filterInfo =
2485
+ res.result.filterInfo;
2486
+ }
2487
+ return processedRuleSets;
2488
+ });
2489
+ CapNotification.success({
2490
+ message: formatMessage(globalMessages.editedSuccessfully),
2491
+ });
2492
+ const scopingDetails = Object.assign(requestObject, {
2493
+ programId: programId,
2494
+ eventType: eventType,
2495
+ });
2496
+
2497
+ gtmPush('scopingDetails', scopingDetails);
2498
+ } else {
2499
+ CapNotification.error({
2500
+ message: formatMessage(globalMessages.errorMessage),
2501
+ });
2502
+ }
2503
+ });
2504
+ };
2505
+
2506
+ const ElementsToRender = () => (
2507
+ <CapRowWithSpacing margin="0px" style={{ width: '100%' }}>
2508
+ {contentAdded.map(content => getElementLayout(content))}
2509
+ </CapRowWithSpacing>
2510
+ );
2511
+
2512
+ const onRefreshClick = () => {
2513
+ if (getStoresRequest === FAILURE) actions.getStores();
2514
+ if (getZonesRequest === FAILURE) actions.getZones();
2515
+ if (getConceptsRequest === FAILURE) actions.getConcepts();
2516
+ if (getEventSource === FAILURE) actions.getEventSource();
2517
+ if (getClusterRequest === FAILURE) actions.getClusters();
2518
+ };
2519
+
2520
+ const scopeContent = (
2521
+ <CapSpin spinning={showSpin}>
2522
+ <ErrorBoundaryWrapper
2523
+ showImage
2524
+ useStyle
2525
+ isApiErrorBoundary
2526
+ onRefreshClick={onRefreshClick}
2527
+ isApiError={showError}
2528
+ >
2529
+ <CapRowWithSpacing margin={CAP_SPACE_08}>
2530
+ <ElementsToRender renderContent={contentAdded} />
2531
+ </CapRowWithSpacing>
2532
+ </ErrorBoundaryWrapper>
2533
+ </CapSpin>
2534
+ );
2535
+
2536
+ const scopeFooter = (
2537
+ <TriggerAction
2538
+ title={formatMessage(globalMessages.save)}
2539
+ triggerAction={ hasLoyaltyUXEnhancementsEnabled ? saveScopingEnhanced : saveScoping}
2540
+ isDisabled={showSpin}
2541
+ id="loyalty-scoping-save-button"
2542
+ className="lp-btn-config-workflows-scoping"
2543
+ />
2544
+ );
2545
+
2546
+ return (
2547
+ <CapRow className={className}>
2548
+ <CapHeader
2549
+ size="regular"
2550
+ className={`scope-title-container ${hasLoyaltyUXEnhancementsEnabled && isSelectedRulesetRoot ? 'scope-container-parent' : ''}`}
2551
+ title={formatMessage(globalMessages.scopeTitle)}
2552
+ description={
2553
+ <CapLabel type="label1">
2554
+ {formatMessage(globalMessages.defineCriteriaForAcceptingPointBack)}
2555
+ </CapLabel>
2556
+ }
2557
+ />
2558
+ {hasLoyaltyUXEnhancementsEnabled && !isSelectedRulesetRoot && <CapInfoNote
2559
+ className="scoping-note"
2560
+ message={
2561
+ <CapLabel className="scoping-note-label" type="label2">
2562
+ {formatMessage(messages.childRulesetInfoNote)}
2563
+ </CapLabel>}
2564
+
2565
+ />}
2566
+ <CapRow
2567
+ className={`scope-content-container ${
2568
+ !disabled ? 'cursor-pointer' : ''
2569
+ }`}
2570
+ >
2571
+ {scopeContent}
2572
+ </CapRow>
2573
+ {!disabled && (
2574
+ <CapRow className="scope-content-footer">{scopeFooter}</CapRow>
2575
+ )}
2576
+ </CapRow>
2577
+ );
2578
+ };
2579
+
2580
+ ScopeSlidebox.propTypes = {
2581
+ intl: intlShape.isRequired,
2582
+ closeSlidebox: PropTypes.func,
2583
+ saveSlidebox: PropTypes.func,
2584
+ isSaveDisabled: PropTypes.bool,
2585
+ source: PropTypes.string,
2586
+ handleSaveFilterInfo: PropTypes.func,
2587
+ };
2588
+
2589
+ ScopeSlidebox.defaultProps = {
2590
+ isSaveDisabled: false,
2591
+ };
2592
+
2593
+ const mapStateToProps = createStructuredSelector({
2594
+ rulesetData: makeSelectScopeAndCapCommonData(),
2595
+ scopingData: makeSelectScopingData(),
2596
+ status: makeSelectSaveScopingStatus(),
2597
+ userData: makeSelectCap(),
2598
+ });
2599
+
2600
+ function mapDispatchToProps(dispatch) {
2601
+ return {
2602
+ actions: bindActionCreators(actions, dispatch),
2603
+ capActions: bindActionCreators(capActions, dispatch),
2604
+ };
2605
+ }
2606
+
2607
+ const withConnect = connect(
2608
+ mapStateToProps,
2609
+ mapDispatchToProps,
2610
+ );
2611
+
2612
+ export default compose(
2613
+ withErrorBoundary,
2614
+ withConnect,
2615
+ withRouter,
2616
+ )(injectIntl(memo(withStyles(ScopeSlidebox, style))));