oa-componentbook 0.0.0-sit1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +92 -0
  2. package/build/MockData.js +2311 -0
  3. package/build/components/oa-component-accordion/Accordion.js +195 -0
  4. package/build/components/oa-component-accordion/styles.js +13 -0
  5. package/build/components/oa-component-auto-complete/CustomAutoComplete.js +167 -0
  6. package/build/components/oa-component-bar-chart/BarChart.js +295 -0
  7. package/build/components/oa-component-bread-crumb/CustomBreadCrumb.js +47 -0
  8. package/build/components/oa-component-button/CustomButton.js +108 -0
  9. package/build/components/oa-component-button/styles.js +41 -0
  10. package/build/components/oa-component-checkbox/CustomCheckBox.js +115 -0
  11. package/build/components/oa-component-checkbox/styles.js +12 -0
  12. package/build/components/oa-component-count-card/CustomCountCard.js +74 -0
  13. package/build/components/oa-component-count-card/styles.js +12 -0
  14. package/build/components/oa-component-datepicker/CustomDatePicker.js +134 -0
  15. package/build/components/oa-component-demo-border-radius/BorderRadiusDemo.js +35 -0
  16. package/build/components/oa-component-demo-border-radius/styles.js +12 -0
  17. package/build/components/oa-component-demo-color-variables/ColorVariablesDemo.js +34 -0
  18. package/build/components/oa-component-demo-color-variables/styles.js +12 -0
  19. package/build/components/oa-component-demo-elevation/ElevationDemo.js +22 -0
  20. package/build/components/oa-component-demo-elevation/styles.js +12 -0
  21. package/build/components/oa-component-demo-spacing/SpacingScales.js +26 -0
  22. package/build/components/oa-component-demo-spacing/styles.js +259 -0
  23. package/build/components/oa-component-drawer/CustomDrawer.js +178 -0
  24. package/build/components/oa-component-drawer/styles.js +16 -0
  25. package/build/components/oa-component-dropdown/CustomDropdown.js +102 -0
  26. package/build/components/oa-component-dropdown/customClass.css +9 -0
  27. package/build/components/oa-component-dropdown/styles.js +12 -0
  28. package/build/components/oa-component-feedback-form/FeedbackForm.js +75 -0
  29. package/build/components/oa-component-feedback-tooltip/FeedbackTooltip.js +69 -0
  30. package/build/components/oa-component-form-item/CustomFormItem.js +74 -0
  31. package/build/components/oa-component-header/CustomHeader.js +104 -0
  32. package/build/components/oa-component-header/styles.js +12 -0
  33. package/build/components/oa-component-icons/CustomIcon.js +92 -0
  34. package/build/components/oa-component-icons/MaterialIcon.js +70 -0
  35. package/build/components/oa-component-icons/SizedSvg.js +42 -0
  36. package/build/components/oa-component-info/CustomInfo.js +119 -0
  37. package/build/components/oa-component-info/styles.js +15 -0
  38. package/build/components/oa-component-input/CustomInput.js +131 -0
  39. package/build/components/oa-component-input-number/CustomInputNumber.js +140 -0
  40. package/build/components/oa-component-lable/CustomLable.js +37 -0
  41. package/build/components/oa-component-lable/styles.js +12 -0
  42. package/build/components/oa-component-loader/CustomLoader.js +66 -0
  43. package/build/components/oa-component-modal/CustomModal.js +153 -0
  44. package/build/components/oa-component-modal/styles.js +14 -0
  45. package/build/components/oa-component-notification/CustomNotification.js +152 -0
  46. package/build/components/oa-component-notification/styles.js +12 -0
  47. package/build/components/oa-component-notification/usage-example.md +44 -0
  48. package/build/components/oa-component-pagination/CustomPagination.js +111 -0
  49. package/build/components/oa-component-pagination/styles.js +12 -0
  50. package/build/components/oa-component-popover/CustomPopover.js +58 -0
  51. package/build/components/oa-component-progress-bar/CustomProgressBar.js +68 -0
  52. package/build/components/oa-component-progress-bar/styles.js +12 -0
  53. package/build/components/oa-component-radio/CustomRadio.js +112 -0
  54. package/build/components/oa-component-radio/styles.js +13 -0
  55. package/build/components/oa-component-rating/CustomRating.js +13 -0
  56. package/build/components/oa-component-select/CustomSelect.js +432 -0
  57. package/build/components/oa-component-steps/CustomSteps.js +117 -0
  58. package/build/components/oa-component-steps/styles.js +12 -0
  59. package/build/components/oa-component-table/CustomTable.js +300 -0
  60. package/build/components/oa-component-table/CustomTableV1.js +610 -0
  61. package/build/components/oa-component-table/styles.js +14 -0
  62. package/build/components/oa-component-table/stylesV1.js +19 -0
  63. package/build/components/oa-component-tabs/CustomTabs.js +102 -0
  64. package/build/components/oa-component-tabs/styles.js +13 -0
  65. package/build/components/oa-component-tag/CustomTag.js +66 -0
  66. package/build/components/oa-component-tag/styles.js +75 -0
  67. package/build/components/oa-component-textarea/CustomTextArea.js +74 -0
  68. package/build/components/oa-component-textarea/styles.js +16 -0
  69. package/build/components/oa-component-timeline/CustomTimeline.js +65 -0
  70. package/build/components/oa-component-timeline/styles.js +15 -0
  71. package/build/components/oa-component-timepicker/CustomTimePicker.js +104 -0
  72. package/build/components/oa-component-toggle/CustomToggle.js +111 -0
  73. package/build/components/oa-component-toggle/styles.js +43 -0
  74. package/build/components/oa-component-tooltip/CustomTooltip.js +70 -0
  75. package/build/components/oa-component-typography/Typography.js +58 -0
  76. package/build/components/oa-component-typography/styles.js +13 -0
  77. package/build/components/oa-component-upload/CustomUpload.js +332 -0
  78. package/build/components/oa-component-upload/styles.js +13 -0
  79. package/build/components/oa-component-viewer/CustomViewer.js +273 -0
  80. package/build/components/oa-component-viewer/styles.js +14 -0
  81. package/build/constants/ratingConstants.js +194 -0
  82. package/build/dev/oa-component-document-viewer/CustomDocumentViewer.js +367 -0
  83. package/build/dev/oa-component-document-viewer/styles.js +12 -0
  84. package/build/dev/oa-component-timeline/CustomTimeline.js +53 -0
  85. package/build/dev/oa-component-timeline/styles.js +15 -0
  86. package/build/dev/oa-component-upload/CustomUpload.js +285 -0
  87. package/build/dev/oa-component-upload/styles.js +13 -0
  88. package/build/dev/oa-component-viewer/CustomViewer.js +326 -0
  89. package/build/dev/oa-component-viewer/styles.js +14 -0
  90. package/build/dev/oa-widget-document-modal/DocumentSideModal.js +166 -0
  91. package/build/dev/oa-widget-document-modal/styles.js +12 -0
  92. package/build/dev/oa-widget-document-side-drawer/DocumentSideDrawer.js +196 -0
  93. package/build/dev/oa-widget-document-side-drawer/styles.js +12 -0
  94. package/build/dev/oa-widget-document-upload-card/DocUploadCardWidget.js +179 -0
  95. package/build/dev/oa-widget-document-upload-card/styles.js +13 -0
  96. package/build/global-css/BorderRadius.js +22 -0
  97. package/build/global-css/ColorVariables.js +26 -0
  98. package/build/global-css/ColorVariablesMap.js +29 -0
  99. package/build/global-css/CustomDropDownThemes.js +31 -0
  100. package/build/global-css/Elevation.js +35 -0
  101. package/build/global-css/GlobalCss.js +26 -0
  102. package/build/global-css/GridLayout.js +25 -0
  103. package/build/global-css/SpacingScales.js +11 -0
  104. package/build/global-css/Typographies.js +26 -0
  105. package/build/global-css/TypographiesMap.js +71 -0
  106. package/build/global-css/color-options.js +8 -0
  107. package/build/global-css/commonStyles.js +11 -0
  108. package/build/global-css/tooltip-placement-option.js +8 -0
  109. package/build/global-css/typography-options.js +8 -0
  110. package/build/images/AC.png +0 -0
  111. package/build/images/Car.png +0 -0
  112. package/build/images/Cooler.png +0 -0
  113. package/build/images/Default.png +0 -0
  114. package/build/images/Footwear.png +0 -0
  115. package/build/images/Furniture.png +0 -0
  116. package/build/images/Glasses.png +0 -0
  117. package/build/images/HA.png +0 -0
  118. package/build/images/Laptop.png +0 -0
  119. package/build/images/Luggage.png +0 -0
  120. package/build/images/Microwave.png +0 -0
  121. package/build/images/Mobile.png +0 -0
  122. package/build/images/PdfSampleImage.png +0 -0
  123. package/build/images/Refrigerator.png +0 -0
  124. package/build/images/Shirts.png +0 -0
  125. package/build/images/Tablets.png +0 -0
  126. package/build/images/Television.png +0 -0
  127. package/build/images/TwoWheeler.png +0 -0
  128. package/build/images/Wallet.png +0 -0
  129. package/build/images/WashingMachine.png +0 -0
  130. package/build/images/WaterPurifier.png +0 -0
  131. package/build/images/Wearable.png +0 -0
  132. package/build/images/ajax-loader.gif +0 -0
  133. package/build/images/astronaut_emptystate.png +0 -0
  134. package/build/images/caution.svg +3 -0
  135. package/build/images/close.svg +3 -0
  136. package/build/images/current-location.svg +3 -0
  137. package/build/images/delete.svg +8 -0
  138. package/build/images/exportGrp01.png +0 -0
  139. package/build/images/exportGrp02.png +0 -0
  140. package/build/images/exportGrp03.png +0 -0
  141. package/build/images/hand-icon.svg +4 -0
  142. package/build/images/iphone.svg +9 -0
  143. package/build/images/left-icon.svg +28 -0
  144. package/build/images/map_pointer.svg +25 -0
  145. package/build/images/modal-img.svg +8 -0
  146. package/build/images/oaChat.svg +5 -0
  147. package/build/images/offer.svg +3 -0
  148. package/build/images/oneassist-logo.png +0 -0
  149. package/build/images/outOfStock.png +0 -0
  150. package/build/images/right-icon.svg +28 -0
  151. package/build/images/search_ic.svg +3 -0
  152. package/build/images/search_not_found.svg +7 -0
  153. package/build/images/upload.svg +8 -0
  154. package/build/images/zoom.svg +4 -0
  155. package/build/index.js +763 -0
  156. package/build/layout/DetailDataLayout/DetailDataLayout.js +20 -0
  157. package/build/layout/DetailDataLayout/components/Form.js +22 -0
  158. package/build/layout/DetailDataLayout/components/Header.js +32 -0
  159. package/build/layout/DetailDataLayout/style.css +9 -0
  160. package/build/layout/DetailDataLayout/styles.js +12 -0
  161. package/build/layout/EntityOverviewLayout/EntityOverviewLayout.js +235 -0
  162. package/build/layout/EntityOverviewLayout/reducer/entityOverviewLayoutReducer.js +63 -0
  163. package/build/layout/EntityOverviewLayout/styles.js +13 -0
  164. package/build/layout/GenricLayOut/GenricLayOut.js +2293 -0
  165. package/build/layout/GenricLayOut/components/AppliedFilters.js +84 -0
  166. package/build/layout/GenricLayOut/components/CardList.js +34 -0
  167. package/build/layout/GenricLayOut/components/DropdownSearch.js +48 -0
  168. package/build/layout/GenricLayOut/components/Header.js +74 -0
  169. package/build/layout/GenricLayOut/components/Modal.js +85 -0
  170. package/build/layout/GenricLayOut/components/ProfileSection.js +87 -0
  171. package/build/layout/GenricLayOut/components/Search.js +51 -0
  172. package/build/layout/GenricLayOut/components/StaticFilter.css +73 -0
  173. package/build/layout/GenricLayOut/components/StaticFilter.js +37 -0
  174. package/build/layout/GenricLayOut/reducer/layoutReducer.js +294 -0
  175. package/build/layout/GenricLayOut/resolver/staticConfigResolver.js +98 -0
  176. package/build/layout/GenricLayOut/styles.js +25 -0
  177. package/build/layout/paymentAndConsent/CancelScreen.js +46 -0
  178. package/build/layout/paymentAndConsent/ConsentCard.js +68 -0
  179. package/build/layout/paymentAndConsent/DetailsCard.js +75 -0
  180. package/build/layout/paymentAndConsent/DetailsList.js +38 -0
  181. package/build/layout/paymentAndConsent/Header.js +33 -0
  182. package/build/layout/paymentAndConsent/InProgressScreen.js +46 -0
  183. package/build/layout/paymentAndConsent/Loader.js +21 -0
  184. package/build/layout/paymentAndConsent/Modal.js +28 -0
  185. package/build/layout/paymentAndConsent/PaymentAndConsent.js +22 -0
  186. package/build/layout/paymentAndConsent/PaymentCard.js +83 -0
  187. package/build/layout/paymentAndConsent/Section.js +34 -0
  188. package/build/layout/paymentAndConsent/SuccessScreen.js +46 -0
  189. package/build/layout/paymentAndConsent/TimeLineCard.js +28 -0
  190. package/build/layout/paymentAndConsent/TncList.js +32 -0
  191. package/build/layout/paymentAndConsent/style.js +12 -0
  192. package/build/utils/common.js +20 -0
  193. package/build/utils/download-file.js +23 -0
  194. package/build/utils/fix-decimal-places.js +24 -0
  195. package/build/utils/get-uuid.js +41 -0
  196. package/build/utils/hex-to-rgb.js +30 -0
  197. package/build/utils/index.js +78 -0
  198. package/build/utils/random-generators.js +19 -0
  199. package/build/utils/rupee-formatters.js +69 -0
  200. package/build/utils/type-checkers.js +16 -0
  201. package/build/widgets/oa-form-widget/FormWidget.js +544 -0
  202. package/build/widgets/oa-form-widget/FormWidgetStyle.js +18 -0
  203. package/build/widgets/oa-widget-add-spare-part/AddSparePartCollapseWidget.js +461 -0
  204. package/build/widgets/oa-widget-add-spare-part/AddSparePartWidget.js +355 -0
  205. package/build/widgets/oa-widget-add-spare-part/styles.js +12 -0
  206. package/build/widgets/oa-widget-address/AddressWidget.js +55 -0
  207. package/build/widgets/oa-widget-address/styles.js +13 -0
  208. package/build/widgets/oa-widget-approval/ApprovalWidget.js +200 -0
  209. package/build/widgets/oa-widget-approval/ApprovalWidgetNew.js +492 -0
  210. package/build/widgets/oa-widget-approval/styles.js +13 -0
  211. package/build/widgets/oa-widget-chat/ChatWidget.js +261 -0
  212. package/build/widgets/oa-widget-chat/styles.js +17 -0
  213. package/build/widgets/oa-widget-close-claim/CloseClaimWidget.js +256 -0
  214. package/build/widgets/oa-widget-close-claim/styles.js +12 -0
  215. package/build/widgets/oa-widget-collapsible-key-value/CollapsibleKeyValueWidget.js +395 -0
  216. package/build/widgets/oa-widget-collapsible-key-value/styles.js +16 -0
  217. package/build/widgets/oa-widget-content-panel/ContentPanel.js +82 -0
  218. package/build/widgets/oa-widget-content-panel/styles.js +12 -0
  219. package/build/widgets/oa-widget-custom-details/CustomDetails.js +41 -0
  220. package/build/widgets/oa-widget-customer-rating-card/CustomerRatingCard.js +147 -0
  221. package/build/widgets/oa-widget-customer-rating-card/styles.js +12 -0
  222. package/build/widgets/oa-widget-date-dropdown/DateDropDown.js +385 -0
  223. package/build/widgets/oa-widget-date-dropdown/styles.js +12 -0
  224. package/build/widgets/oa-widget-detailcard/MembershipDetailCard.js +182 -0
  225. package/build/widgets/oa-widget-detailcard/styles.js +12 -0
  226. package/build/widgets/oa-widget-document-upload/DocUploadWidget.js +264 -0
  227. package/build/widgets/oa-widget-document-upload/styles.js +13 -0
  228. package/build/widgets/oa-widget-document-upload-card/DocUploadCardWidget.js +178 -0
  229. package/build/widgets/oa-widget-document-upload-card/styles.js +13 -0
  230. package/build/widgets/oa-widget-dropdown-search-input/DropdownSearchInput.js +200 -0
  231. package/build/widgets/oa-widget-dropdown-search-input/styles.js +12 -0
  232. package/build/widgets/oa-widget-feedback/FeedbackWidget.js +83 -0
  233. package/build/widgets/oa-widget-feedback/styles.js +13 -0
  234. package/build/widgets/oa-widget-form/CustomFormWidget.js +51 -0
  235. package/build/widgets/oa-widget-form/styles.js +12 -0
  236. package/build/widgets/oa-widget-googlerating/GoogleRating.js +55 -0
  237. package/build/widgets/oa-widget-googlerating/styles.js +12 -0
  238. package/build/widgets/oa-widget-guide/GuideWidget.js +70 -0
  239. package/build/widgets/oa-widget-guide/GuideWidgetStyle.js +12 -0
  240. package/build/widgets/oa-widget-header/CustomHeaderWidget.js +98 -0
  241. package/build/widgets/oa-widget-header/styles.js +12 -0
  242. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationDeleteBiker.js +24 -0
  243. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModal.js +34 -0
  244. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModalStyle.js +13 -0
  245. package/build/widgets/oa-widget-image-carousel/ImageCarouselWidget.js +256 -0
  246. package/build/widgets/oa-widget-image-carousel/styles.js +23 -0
  247. package/build/widgets/oa-widget-image-gallery/FullscreenViewer.js +169 -0
  248. package/build/widgets/oa-widget-image-gallery/ImageGallery.js +87 -0
  249. package/build/widgets/oa-widget-image-gallery/ThumbnailGrid.js +146 -0
  250. package/build/widgets/oa-widget-image-gallery/imageCache.js +15 -0
  251. package/build/widgets/oa-widget-image-gallery/imageGalleryStyle.js +16 -0
  252. package/build/widgets/oa-widget-input-pattern-pin/CustomPinPatternCaptureWidget.js +395 -0
  253. package/build/widgets/oa-widget-input-pattern-pin/styles.js +12 -0
  254. package/build/widgets/oa-widget-item-info-card/InfoCardListWidget.js +60 -0
  255. package/build/widgets/oa-widget-item-info-card/ItemInfoCardWidget.js +77 -0
  256. package/build/widgets/oa-widget-item-info-card/styles.css +50 -0
  257. package/build/widgets/oa-widget-item-info-card/styles.js +14 -0
  258. package/build/widgets/oa-widget-key-value/KeyValueWidget.js +121 -0
  259. package/build/widgets/oa-widget-key-value/styles.js +14 -0
  260. package/build/widgets/oa-widget-kpi/KPICardWidget.js +86 -0
  261. package/build/widgets/oa-widget-kpi/styles.js +12 -0
  262. package/build/widgets/oa-widget-location-access/LocationAccessWidget.js +92 -0
  263. package/build/widgets/oa-widget-location-access/styles.js +12 -0
  264. package/build/widgets/oa-widget-map-base-location/AddressDetails.js +84 -0
  265. package/build/widgets/oa-widget-map-base-location/AddressForm.js +106 -0
  266. package/build/widgets/oa-widget-map-base-location/CustomModalComponent.js +58 -0
  267. package/build/widgets/oa-widget-map-base-location/MapBaseLocation.js +93 -0
  268. package/build/widgets/oa-widget-map-base-location/MapComponent.js +167 -0
  269. package/build/widgets/oa-widget-map-base-location/styles.js +12 -0
  270. package/build/widgets/oa-widget-membershipcard/MembershipCard.js +266 -0
  271. package/build/widgets/oa-widget-membershipcard/styles.js +13 -0
  272. package/build/widgets/oa-widget-multiple-collapse-with-slots/MultipleCollapseWithSlots.js +85 -0
  273. package/build/widgets/oa-widget-multiple-collapse-with-slots/checkactive.svg +8 -0
  274. package/build/widgets/oa-widget-multiple-collapse-with-slots/checkhover.svg +8 -0
  275. package/build/widgets/oa-widget-multiple-collapse-with-slots/styles.js +16 -0
  276. package/build/widgets/oa-widget-notes/NotesWidget.js +135 -0
  277. package/build/widgets/oa-widget-notes/styles.js +13 -0
  278. package/build/widgets/oa-widget-pincode-base-location/PincodeBaseLocation.js +281 -0
  279. package/build/widgets/oa-widget-pincode-base-location/styles.js +12 -0
  280. package/build/widgets/oa-widget-plan-card/PlanCard.js +183 -0
  281. package/build/widgets/oa-widget-plan-card/styles.js +13 -0
  282. package/build/widgets/oa-widget-preview/Preview.js +172 -0
  283. package/build/widgets/oa-widget-preview/ZoomImageComponent.js +95 -0
  284. package/build/widgets/oa-widget-preview/styles.js +12 -0
  285. package/build/widgets/oa-widget-profile-data/ProfileDataWidget.js +117 -0
  286. package/build/widgets/oa-widget-profile-data/styles.js +13 -0
  287. package/build/widgets/oa-widget-progressive-steps/ProgressiveStepsWidget.js +362 -0
  288. package/build/widgets/oa-widget-progressive-steps/styles.js +12 -0
  289. package/build/widgets/oa-widget-reimbursement-breakup/ReimbursementBreakupWidget.js +141 -0
  290. package/build/widgets/oa-widget-reimbursement-breakup/styles.js +12 -0
  291. package/build/widgets/oa-widget-repair-service/RepairServiceWidget.js +79 -0
  292. package/build/widgets/oa-widget-repair-service/styles.js +12 -0
  293. package/build/widgets/oa-widget-reupload-drawer/ReUploadDrawer.js +164 -0
  294. package/build/widgets/oa-widget-send-payment-link/SendPaymentLinkWidget.js +224 -0
  295. package/build/widgets/oa-widget-send-payment-link/styles.js +15 -0
  296. package/build/widgets/oa-widget-servicecard/ServiceCard.js +185 -0
  297. package/build/widgets/oa-widget-servicecard/styles.js +13 -0
  298. package/build/widgets/oa-widget-sidebar/SidebarWidget.js +105 -0
  299. package/build/widgets/oa-widget-sidebar/components/Header.js +33 -0
  300. package/build/widgets/oa-widget-sidebar/sidebar.css +0 -0
  301. package/build/widgets/oa-widget-sidebar/styles.js +13 -0
  302. package/build/widgets/oa-widget-spare-part/SparePartsCollapseWidget.js +127 -0
  303. package/build/widgets/oa-widget-spare-part/SparePartsWidget.js +294 -0
  304. package/build/widgets/oa-widget-spare-part/styles.js +18 -0
  305. package/build/widgets/oa-widget-stage-timeline/StageTimelineWidget.js +159 -0
  306. package/build/widgets/oa-widget-stage-timeline/styles.js +29 -0
  307. package/build/widgets/oa-widget-track-shipment/TrackShipmentWidget.js +232 -0
  308. package/build/widgets/oa-widget-track-shipment/styles.js +13 -0
  309. package/build/widgets/oa-widget-track-shipment-list/TrackShipmentWidgetList.js +103 -0
  310. package/build/widgets/oa-widget-track-shipment-list/fn.js +81 -0
  311. package/build/widgets/oa-widget-track-shipment-list/styles.js +13 -0
  312. package/build/widgets/oa-widget-upload-download/UploadDownloadWidget.js +167 -0
  313. package/build/widgets/oa-widget-upload-download/styles.js +14 -0
  314. package/build/widgets/oa-widget-user-management/UserManagementWidget.js +352 -0
  315. package/build/widgets/oa-widget-user-management/styles.js +15 -0
  316. package/build/widgets/oa-widget-view-history/ViewHistoryWidget.js +181 -0
  317. package/build/widgets/oa-widget-view-history/styles.js +12 -0
  318. package/build/widgets/oa-widget-view-previous-description/ViewPreviousDescriptionWidget.js +188 -0
  319. package/build/widgets/oa-widget-view-previous-description/styles.js +16 -0
  320. package/package.json +100 -0
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.assign.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/es.array.includes.js");
9
+ require("core-js/modules/es.string.includes.js");
10
+ require("core-js/modules/es.promise.js");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _antd = require("antd");
15
+ var _InfoOutlined = _interopRequireDefault(require("@material-ui/icons/InfoOutlined"));
16
+ var _CustomDrawer = _interopRequireDefault(require("../../components/oa-component-drawer/CustomDrawer"));
17
+ var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
18
+ var _CustomInfo = _interopRequireDefault(require("../../components/oa-component-info/CustomInfo"));
19
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
20
+ var _CustomUpload = _interopRequireDefault(require("../../dev/oa-component-upload/CustomUpload"));
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+ function GenericUpload(_ref) {
24
+ var _config$documents;
25
+ let {
26
+ config,
27
+ uploadHandler,
28
+ deleteHandler: _deleteHandler,
29
+ downloadHandler,
30
+ previewHandler,
31
+ visible,
32
+ onClose,
33
+ validationConfig = {
34
+ maxSize: 5,
35
+ allowedTypes: ['image/jpeg', 'image/png', 'image/jpg', 'application/pdf'],
36
+ customValidation: null
37
+ },
38
+ uploadedDocuments,
39
+ showDelete = true,
40
+ showPreview = false,
41
+ form
42
+ } = _ref;
43
+ const validateFile = (file, docTypeId) => {
44
+ const isValidType = validationConfig.allowedTypes.includes(file.type);
45
+ if (!isValidType) {
46
+ form.setFields([{
47
+ name: docTypeId,
48
+ errors: ["Only ".concat(validationConfig.allowedTypes.map(type => type.split('/')[1].toUpperCase()).join('/'), " files are allowed!")]
49
+ }]);
50
+ return false;
51
+ }
52
+ const isValidSize = file.size / 1024 / 1024 < validationConfig.maxSize;
53
+ if (!isValidSize) {
54
+ form.setFields([{
55
+ name: docTypeId,
56
+ errors: ["File must be smaller than ".concat(validationConfig.maxSize, "MB!")]
57
+ }]);
58
+ return false;
59
+ }
60
+ if (validationConfig.customValidation) {
61
+ return validationConfig.customValidation(file, docTypeId);
62
+ }
63
+ return true;
64
+ };
65
+ const handleUpload = async (file, docTypeId, documentId) => {
66
+ if (!validateFile(file, docTypeId)) {
67
+ return null;
68
+ }
69
+ return uploadHandler(file, docTypeId, documentId);
70
+ };
71
+ return /*#__PURE__*/_react.default.createElement(_CustomDrawer.default, {
72
+ title: config.title,
73
+ width: config.width,
74
+ open: visible,
75
+ onClose: onClose,
76
+ buttonConfig: config.buttonConfig
77
+ }, config.systemInfo && /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "margin-bottom-32"
79
+ }, /*#__PURE__*/_react.default.createElement(_CustomInfo.default, _extends({}, config.systemInfo, {
80
+ iconConfig: {
81
+ icon: /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
82
+ icon: _InfoOutlined.default,
83
+ size: 24,
84
+ color: "negative"
85
+ }),
86
+ position: 'left'
87
+ }
88
+ }))), (config === null || config === void 0 ? void 0 : config.heading) && /*#__PURE__*/_react.default.createElement("div", {
89
+ className: "padding-bottom-32"
90
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
91
+ className: "type-t1-500",
92
+ color: "primary-content"
93
+ }, config.heading, ' ')), /*#__PURE__*/_react.default.createElement(_antd.Form, {
94
+ form: form
95
+ }, (_config$documents = config.documents) === null || _config$documents === void 0 ? void 0 : _config$documents.map(item => /*#__PURE__*/_react.default.createElement("div", {
96
+ key: item.docTypeId
97
+ }, /*#__PURE__*/_react.default.createElement("div", {
98
+ className: "padding-bottom-4"
99
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
100
+ typography: "type-b2-500",
101
+ color: "primary-content"
102
+ }, item === null || item === void 0 ? void 0 : item.docName)), /*#__PURE__*/_react.default.createElement(_CustomUpload.default, {
103
+ isMandatory: true,
104
+ handleCustomOnChange: (file, status) => handleUpload(file, item.docTypeId, item.documentId),
105
+ formName: item.docTypeId,
106
+ uploadedDocuments: uploadedDocuments && uploadedDocuments[item.docTypeId] ? [uploadedDocuments[item.docTypeId]] : [],
107
+ deleteHandler: selectedFile => _deleteHandler(item.docTypeId),
108
+ downloadCallback: file => downloadHandler(item.docTypeId),
109
+ getPreview: previewHandler || (() => {}),
110
+ showDelete: showDelete,
111
+ showPreview: showPreview,
112
+ accept: validationConfig.allowedTypes.join(', '),
113
+ docName: item.docName
114
+ })))));
115
+ }
116
+ GenericUpload.propTypes = {
117
+ config: _propTypes.default.shape({
118
+ title: _propTypes.default.string.isRequired,
119
+ width: _propTypes.default.number,
120
+ buttonConfig: _propTypes.default.arrayOf(_propTypes.default.shape({
121
+ callback: _propTypes.default.func,
122
+ label: _propTypes.default.string,
123
+ type: _propTypes.default.string
124
+ })),
125
+ systemInfo: _propTypes.default.shape({
126
+ title: _propTypes.default.string,
127
+ color: _propTypes.default.string,
128
+ description: _propTypes.default.node
129
+ }),
130
+ heading: _propTypes.default.string,
131
+ documents: _propTypes.default.arrayOf(_propTypes.default.shape({
132
+ title: _propTypes.default.string,
133
+ docTypeId: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
134
+ docName: _propTypes.default.string
135
+ }))
136
+ }).isRequired,
137
+ uploadHandler: _propTypes.default.func.isRequired,
138
+ deleteHandler: _propTypes.default.func.isRequired,
139
+ downloadHandler: _propTypes.default.func.isRequired,
140
+ previewHandler: _propTypes.default.func,
141
+ validationConfig: _propTypes.default.shape({
142
+ maxSize: _propTypes.default.number,
143
+ allowedTypes: _propTypes.default.arrayOf(_propTypes.default.string),
144
+ customValidation: _propTypes.default.func
145
+ }),
146
+ uploadedDocuments: _propTypes.default.object,
147
+ showDelete: _propTypes.default.bool,
148
+ showPreview: _propTypes.default.bool,
149
+ form: _propTypes.default.object.isRequired,
150
+ visible: _propTypes.default.bool.isRequired,
151
+ onClose: _propTypes.default.func.isRequired
152
+ };
153
+ GenericUpload.defaultProps = {
154
+ previewHandler: () => {},
155
+ validationConfig: {
156
+ maxSize: 5,
157
+ allowedTypes: ['image/jpeg', 'image/png', 'image/jpg', 'application/pdf'],
158
+ customValidation: null
159
+ },
160
+ uploadedDocuments: {},
161
+ showDelete: true,
162
+ showPreview: false
163
+ };
164
+ var _default = exports.default = GenericUpload;
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.weak-map.js");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = SendPaymentLinkWidget;
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _antd = require("antd");
13
+ var _styles = require("./styles");
14
+ var _CustomDrawer = _interopRequireDefault(require("../../components/oa-component-drawer/CustomDrawer"));
15
+ var _CustomRadio = _interopRequireDefault(require("../../components/oa-component-radio/CustomRadio"));
16
+ var _CustomInput = _interopRequireDefault(require("../../components/oa-component-input/CustomInput"));
17
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
25
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // TODO: Select the appropriate typographies for each text below.
26
+ /**
27
+ * @description A widget to send a payment link to customers.
28
+ * @param {Object} props The component props.
29
+ * @param {string} [props.data-test] The data-test attribute for the component.
30
+ * @param {string} [props.heading] The heading for the payment link drawer.
31
+ * @param {function} [props.onClose] A callback function to be called when the drawer is closed.
32
+ * @param {function} [props.onSubmit] A callback function to be called when the "Send" button is clicked.
33
+ * @param {boolean} [props.open] The open state of the drawer.
34
+ * @param {string} [props.placement] The placement of the drawer.
35
+ * @param {array} [props.options] An array of options to be shown as radio buttons.
36
+ * @param {string} [props.height] The height of the drawer.
37
+ * @param {string} [props.width] The width of the drawer.
38
+ * @returns {React.ReactElement} The React component.
39
+ */
40
+ function SendPaymentLinkWidget(_ref) {
41
+ var _options$selectedRadi, _options$selectedRadi2, _options$selectedRadi3;
42
+ let {
43
+ 'data-test': dataTest,
44
+ heading,
45
+ onClose,
46
+ onSubmit,
47
+ open,
48
+ options,
49
+ height,
50
+ width,
51
+ placement
52
+ } = _ref;
53
+ const [form] = _antd.Form.useForm();
54
+ const [selectedRadio, setSelectedRadio] = (0, _react.useState)(0);
55
+
56
+ /**
57
+ * @description Handles the radio button change event.
58
+ * @param {Object} event - The event object.
59
+ * @fires setSelectedRadio - Updates the selected radio button state.
60
+ * @fires form.setFieldsValue - Updates the form fields with the new values.
61
+ */
62
+ const onRadioChange = event => {
63
+ var _options$event$target;
64
+ setSelectedRadio(event.target.value);
65
+
66
+ // Setting mobileNum and email to falsy values just in case the data is empty.
67
+ const newValues = _objectSpread({
68
+ mobileNum: null,
69
+ email: ''
70
+ }, (_options$event$target = options[event.target.value]) === null || _options$event$target === void 0 ? void 0 : _options$event$target.data);
71
+ form.setFieldsValue(newValues);
72
+ };
73
+
74
+ /**
75
+ * @description Handles the form submission process.
76
+ * Validates form fields and formats the form data with additional
77
+ * label and value information before invoking the `onSubmit` callback.
78
+ * Resets the form fields upon successful submission.
79
+ * @fires onSubmit - Passes the modified form data to the parent component.
80
+ */
81
+ const handleSubmit = () => {
82
+ // Customize submit behavior over here.
83
+
84
+ form.validateFields().then(formData => {
85
+ const modifiedFormData = _objectSpread(_objectSpread({}, formData), {}, {
86
+ label: options[selectedRadio].label,
87
+ value: options[selectedRadio].value
88
+ });
89
+
90
+ /*
91
+ Call to `onSubmit` callback received from props.
92
+ Passing the form data up to the parent by putting it as an argument.
93
+ */
94
+ onSubmit(modifiedFormData);
95
+
96
+ // This resets the form upon submit.
97
+ form.resetFields();
98
+ });
99
+ };
100
+ const handleClose = () => {
101
+ // Customize close behavior over here.
102
+
103
+ // Call to `onClose` callback received from props.
104
+ onClose();
105
+ };
106
+ return /*#__PURE__*/_react.default.createElement(_CustomDrawer.default, {
107
+ buttonConfig: [{
108
+ callback: handleClose,
109
+ 'data-test': dataTest ? "".concat(dataTest, "--cancel-button") : undefined,
110
+ label: 'Cancel',
111
+ type: 'secondary'
112
+ }, {
113
+ // Calling submit on the form, if the Send button is clicked
114
+ callback: handleSubmit,
115
+ 'data-test': dataTest ? "".concat(dataTest, "--send-button") : undefined,
116
+ label: 'Send',
117
+ type: 'primary'
118
+ }],
119
+ "data-test": dataTest ? "".concat(dataTest, "--drawer") : undefined,
120
+ onClose: handleClose,
121
+ open: open,
122
+ title: heading,
123
+ placement: placement,
124
+ height: height,
125
+ width: width
126
+ }, /*#__PURE__*/_react.default.createElement(_styles.RadioContainer, null, /*#__PURE__*/_react.default.createElement("h2", {
127
+ className: "type-t2-700"
128
+ }, "Send to"), /*#__PURE__*/_react.default.createElement(_CustomRadio.default.Group, {
129
+ "data-test": dataTest ? "".concat(dataTest, "--contact-radio-group") : undefined,
130
+ onChange: onRadioChange,
131
+ value: selectedRadio
132
+ }, /*#__PURE__*/_react.default.createElement(_styles.RadioGrid, null, options.map((option, idx) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
133
+ key: option.value
134
+ }, /*#__PURE__*/_react.default.createElement(_CustomRadio.default, {
135
+ "data-test": dataTest ? "".concat(dataTest, "--contact-radio-(").concat(option.label, ")") : undefined,
136
+ onChange: onRadioChange,
137
+ label: option.label,
138
+ value: idx
139
+ })))))), /*#__PURE__*/_react.default.createElement(_styles.FormContainer, null, /*#__PURE__*/_react.default.createElement(_antd.Form, {
140
+ form: form,
141
+ initialValues: (_options$selectedRadi = options[selectedRadio]) === null || _options$selectedRadi === void 0 ? void 0 : _options$selectedRadi.data,
142
+ layout: "vertical"
143
+ }, /*#__PURE__*/_react.default.createElement("div", {
144
+ className: "padding-bottom-4"
145
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
146
+ color: "primary-content"
147
+ }, "Mobile Number", /*#__PURE__*/_react.default.createElement(_Typography.default, {
148
+ color: "negative"
149
+ }, "*"))), /*#__PURE__*/_react.default.createElement(_antd.Form.Item, {
150
+ name: "mobileNum",
151
+ rules: [{
152
+ required: true,
153
+ message: dataTest ? /*#__PURE__*/_react.default.createElement("span", {
154
+ "data-test": "".concat(dataTest, "--mobile-number-validation-message")
155
+ }, "A mobile number is required.") : 'A mobile number is required.'
156
+ }, {
157
+ pattern: /^[+]?\d{1}[\d- ]*$/,
158
+ message: dataTest ? /*#__PURE__*/_react.default.createElement("span", {
159
+ "data-test": "".concat(dataTest, "--mobile-number-validation-message")
160
+ }, "Please enter a valid mobile number.") : 'Please enter a valid mobile number.'
161
+ }]
162
+ }, /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
163
+ style: {
164
+ height: '48px',
165
+ borderRadius: '4px'
166
+ },
167
+ "data-test": dataTest ? "".concat(dataTest, "--mobile-number") : undefined,
168
+ disabled: (_options$selectedRadi2 = options[selectedRadio]) === null || _options$selectedRadi2 === void 0 || (_options$selectedRadi2 = _options$selectedRadi2.data) === null || _options$selectedRadi2 === void 0 ? void 0 : _options$selectedRadi2.mobileNum
169
+ })), /*#__PURE__*/_react.default.createElement("div", {
170
+ className: "padding-bottom-4"
171
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
172
+ color: "primary-content"
173
+ }, "Email ID", /*#__PURE__*/_react.default.createElement(_Typography.default, {
174
+ color: "negative"
175
+ }, "*"))), /*#__PURE__*/_react.default.createElement(_antd.Form.Item, {
176
+ name: "email",
177
+ rules: [{
178
+ required: true,
179
+ message: dataTest ? /*#__PURE__*/_react.default.createElement("span", {
180
+ "data-test": "".concat(dataTest, "--email-validation-message")
181
+ }, "An e-mail ID is required.") : 'An e-mail ID is required.'
182
+ }, {
183
+ type: 'email',
184
+ message: dataTest ? /*#__PURE__*/_react.default.createElement("span", {
185
+ "data-test": "".concat(dataTest, "--email-validation-message")
186
+ }, "Please enter a valid e-mail.") : 'Please enter a valid e-mail.'
187
+ }]
188
+ }, /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
189
+ style: {
190
+ height: '48px',
191
+ borderRadius: '4px'
192
+ },
193
+ "data-test": dataTest ? "".concat(dataTest, "--email") : undefined,
194
+ disabled: (_options$selectedRadi3 = options[selectedRadio]) === null || _options$selectedRadi3 === void 0 || (_options$selectedRadi3 = _options$selectedRadi3.data) === null || _options$selectedRadi3 === void 0 ? void 0 : _options$selectedRadi3.email
195
+ })))));
196
+ }
197
+ SendPaymentLinkWidget.propTypes = {
198
+ 'data-test': _propTypes.default.string,
199
+ heading: _propTypes.default.string,
200
+ height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
201
+ onClose: _propTypes.default.func,
202
+ onSubmit: _propTypes.default.func,
203
+ open: _propTypes.default.bool,
204
+ options: _propTypes.default.arrayOf(_propTypes.default.shape({
205
+ label: _propTypes.default.string.isRequired,
206
+ value: _propTypes.default.string.isRequired,
207
+ data: _propTypes.default.shape({
208
+ mobileNum: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
209
+ email: _propTypes.default.string
210
+ })
211
+ })).isRequired,
212
+ placement: _propTypes.default.oneOf(['top', 'right', 'bottom', 'left']),
213
+ width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
214
+ };
215
+ SendPaymentLinkWidget.defaultProps = {
216
+ 'data-test': null,
217
+ heading: '',
218
+ height: 'auto',
219
+ onClose: () => {},
220
+ onSubmit: () => {},
221
+ open: true,
222
+ placement: 'right',
223
+ width: '480'
224
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RadioGrid = exports.RadioContainer = exports.FormContainer = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _templateObject, _templateObject2, _templateObject3;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ const RadioContainer = exports.RadioContainer = _styledComponents.default.section(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n h2{\n color: var(--color-primary-content);\n }\n \n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-bottom: 44px;\n .ant-form-item .ant-form-item-label >label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{\n position: absolute;\n right: 0;\n }\n"])));
12
+
13
+ // This helps make the radio buttons aligned in uniform columns
14
+ const RadioGrid = exports.RadioGrid = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n"])));
15
+ const FormContainer = exports.FormContainer = _styledComponents.default.aside(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .ant-form-item-label >label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {\n position: absolute;\n right: 0;\n color: var(--color-negative);\n }\n .ant-form-item {\n margin-bottom: 36px;\n }\n label{\n display: block;\n }\n .ant-form-item .ant-form-item-label{\n text-align: start;\n }\n .ant-row{\n flex-direction: column;\n }\n .padding-bottom-4{\n padding: 0 0 4px;\n }\n"])));
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ require("core-js/modules/es.symbol.description.js");
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _ArrowForwardIosSharp = _interopRequireDefault(require("@material-ui/icons/ArrowForwardIosSharp"));
13
+ var _Call = _interopRequireDefault(require("@material-ui/icons/Call"));
14
+ var _CustomButton = _interopRequireDefault(require("../../components/oa-component-button/CustomButton"));
15
+ var _CustomModal = _interopRequireDefault(require("../../components/oa-component-modal/CustomModal"));
16
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
17
+ var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
18
+ var _styles = require("./styles");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ /**
23
+ * ServiceCard component
24
+ *
25
+ * @param {Object} card - The card object which contains all the necessary data to render the component
26
+ * @param {Object} card.body - The body object which contains the properties for the card
27
+ * @param {string} card.body.heading - The heading of the card
28
+ * @param {string} card.body.subHeading - The subheading of the card
29
+ * @param {Object} card.body.alert - The alert object which contains the description and actions
30
+ * @param {string} card.body.alert.description.text - The description text of the alert
31
+ * @param {string} card.body.alert.description.type - The type of the alert
32
+ * @param {Array} card.body.alert.actions - The actions array of the alert
33
+ * @param {Object} card.body.alert.actions[i] - The action object
34
+ * @param {string} card.body.alert.actions[i].label - The label of the action
35
+ * @param {string} card.body.alert.actions[i].type - The type of the action
36
+ * @param {function} card.body.alert.actions[i].name - The function to be called on click
37
+ * @param {Object} card.footer - The footer object which contains the properties for the footer
38
+ * @param {string} card.footer.type - The type of the footer
39
+ * @param {Array} card.footer.actions - The actions array of the footer
40
+ * @param {Object} card.footer.actions[i] - The action object
41
+ * @param {string} card.footer.actions[i].label - The label of the action
42
+ * @param {string} card.footer.actions[i].type - The type of the action
43
+ * @param {function} card.footer.actions[i].name - The function to be called on click
44
+ * @returns {React.ReactElement} The rendered component
45
+ */
46
+ function ServiceCard(_ref) {
47
+ var _body$heading, _body$heading2, _alert$description, _alert$description2, _alert$description3, _alert$description4, _footer$actions;
48
+ let {
49
+ card
50
+ } = _ref;
51
+ const {
52
+ body,
53
+ footer
54
+ } = card;
55
+ const [showModal, setShowModal] = (0, _react.useState)(false);
56
+ const toggleModal = () => {
57
+ setShowModal(!showModal);
58
+ };
59
+ const itemsToShow = (body === null || body === void 0 || (_body$heading = body.heading) === null || _body$heading === void 0 ? void 0 : _body$heading.slice(0, 1)) || [];
60
+ const remainingItems = (body === null || body === void 0 || (_body$heading2 = body.heading) === null || _body$heading2 === void 0 ? void 0 : _body$heading2.slice(1)) || [];
61
+ const {
62
+ heading,
63
+ subHeading,
64
+ alert
65
+ } = body || {};
66
+ const {
67
+ actions
68
+ } = footer || {};
69
+ return /*#__PURE__*/_react.default.createElement(_styles.MembershipCardStyle, null, body && /*#__PURE__*/_react.default.createElement(_styles.CardBody, null, /*#__PURE__*/_react.default.createElement("div", {
70
+ className: "cardHead"
71
+ }, /*#__PURE__*/_react.default.createElement("div", null, heading && heading.length > 0 && /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
72
+ className: "type-t1-500",
73
+ color: "primary-content"
74
+ }, itemsToShow.length && itemsToShow.join(', '), remainingItems.length > 0 && /*#__PURE__*/_react.default.createElement("span", {
75
+ style: {
76
+ color: 'var(--color-primary)',
77
+ cursor: 'pointer'
78
+ },
79
+ role: "button",
80
+ tabIndex: 0,
81
+ onClick: () => setShowModal(true),
82
+ onKeyPress: event => {
83
+ if (event.key === 'Enter') {
84
+ setShowModal(true);
85
+ }
86
+ }
87
+ }, "...+".concat(remainingItems.length, " more")))), subHeading && /*#__PURE__*/_react.default.createElement("p", {
88
+ className: "padding-top-4"
89
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
90
+ className: "type-b1-400",
91
+ color: "secondary-content"
92
+ }, subHeading)))), (alert === null || alert === void 0 || (_alert$description = alert.description) === null || _alert$description === void 0 ? void 0 : _alert$description.text) !== undefined && /*#__PURE__*/_react.default.createElement("div", {
93
+ className: alert !== null && alert !== void 0 && (_alert$description2 = alert.description) !== null && _alert$description2 !== void 0 && _alert$description2.text && (alert === null || alert === void 0 || (_alert$description3 = alert.description) === null || _alert$description3 === void 0 ? void 0 : _alert$description3.text) !== '' ? "toolTipInfo ".concat(alert.description.type) : 'toolTipInfo flexChangeBody'
94
+ }, /*#__PURE__*/_react.default.createElement("div", {
95
+ className: "toolTip"
96
+ }, /*#__PURE__*/_react.default.createElement("div", {
97
+ className: "flexGap"
98
+ }, (alert === null || alert === void 0 ? void 0 : alert.description) && (alert === null || alert === void 0 || (_alert$description4 = alert.description) === null || _alert$description4 === void 0 ? void 0 : _alert$description4.text) && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
99
+ color: "primary-content",
100
+ className: "type-b2-400"
101
+ }, alert.description.text))))), alert.actions && /*#__PURE__*/_react.default.createElement("div", {
102
+ className: "viewStatus"
103
+ }, alert.actions.map((action, index) => /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
104
+ key: action.label,
105
+ label: action.label,
106
+ type: action.type,
107
+ onClick: action.name,
108
+ iconConfig: {
109
+ icon: /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
110
+ icon: _ArrowForwardIosSharp.default,
111
+ size: 16
112
+ }),
113
+ position: 'right'
114
+ }
115
+ }))))), footer && footer.type === 'button' && (footer === null || footer === void 0 || (_footer$actions = footer.actions) === null || _footer$actions === void 0 ? void 0 : _footer$actions.length) > 0 && /*#__PURE__*/_react.default.createElement(_styles.CardFooter, null, actions && actions.map((action, index) => /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
116
+ key: action === null || action === void 0 ? void 0 : action.label,
117
+ label: action === null || action === void 0 ? void 0 : action.label,
118
+ type: action === null || action === void 0 ? void 0 : action.type,
119
+ size: "large",
120
+ onClick: action === null || action === void 0 ? void 0 : action.name,
121
+ disabled: action === null || action === void 0 ? void 0 : action.disabled
122
+ }))), footer && footer.type === 'text' && /*#__PURE__*/_react.default.createElement(_styles.CardFooter, null, /*#__PURE__*/_react.default.createElement("div", {
123
+ className: "fullWidth"
124
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
125
+ color: "secondary-content",
126
+ className: "type-b1-400"
127
+ }, "For further help, call us at", /*#__PURE__*/_react.default.createElement(_Typography.default, {
128
+ color: "primary-content",
129
+ className: "type-t2-700"
130
+ }, " 1800 123 3300"))), /*#__PURE__*/_react.default.createElement("div", {
131
+ className: "mobileIcon"
132
+ }, /*#__PURE__*/_react.default.createElement("a", {
133
+ href: "tel:1800 123 3300",
134
+ style: {
135
+ textDecoration: 'none',
136
+ color: 'inherit'
137
+ }
138
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
139
+ icon: _Call.default,
140
+ size: 24,
141
+ style: {
142
+ color: 'inherit'
143
+ }
144
+ })))), showModal && /*#__PURE__*/_react.default.createElement(_CustomModal.default, {
145
+ open: showModal,
146
+ imgSrc: null,
147
+ onCancel: toggleModal,
148
+ title: "Your Appliances"
149
+ }, /*#__PURE__*/_react.default.createElement("ul", {
150
+ className: "noOfAppliances"
151
+ }, body === null || body === void 0 ? void 0 : body.heading.map((item, index) => /*#__PURE__*/_react.default.createElement("li", {
152
+ key: item
153
+ }, item)))));
154
+ }
155
+ ServiceCard.propTypes = {
156
+ card: _propTypes.default.shape({
157
+ body: _propTypes.default.shape({
158
+ heading: _propTypes.default.arrayOf(_propTypes.default.string),
159
+ subHeading: _propTypes.default.string,
160
+ alert: _propTypes.default.shape({
161
+ description: _propTypes.default.shape({
162
+ text: _propTypes.default.string,
163
+ type: _propTypes.default.string
164
+ }),
165
+ actions: _propTypes.default.arrayOf(_propTypes.default.shape({
166
+ label: _propTypes.default.string,
167
+ type: _propTypes.default.string,
168
+ name: _propTypes.default.func
169
+ }))
170
+ })
171
+ }),
172
+ footer: _propTypes.default.shape({
173
+ type: _propTypes.default.string,
174
+ actions: _propTypes.default.arrayOf(_propTypes.default.shape({
175
+ label: _propTypes.default.string,
176
+ type: _propTypes.default.string,
177
+ name: _propTypes.default.func
178
+ }))
179
+ })
180
+ })
181
+ };
182
+ ServiceCard.defaultProps = {
183
+ card: null
184
+ };
185
+ var _default = exports.default = ServiceCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MembershipCardStyle = exports.CardFooter = exports.CardBody = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _templateObject, _templateObject2, _templateObject3;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ const MembershipCardStyle = exports.MembershipCardStyle = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.flexGap div{\n padding: 0 0 8px;\n}\n.viewStatus button{\n padding: 16px 0 0;\n}\n.flexGap div:last-child{\n padding: 0;\n}\n.primaryInfo svg{\n cursor: pointer;\n}\np,h1, h2, h3, h4, h5, h6{\n margin: 0;\n}\n padding: 24px;\n background: var(--color-primary-background);\n border-radius: 12px;\n box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.14);\n position: relative;\n margin: 0 0 24px;\n border: 1px solid var(--color-divider);\n @media only screen and (max-width: 600px) {\n .type-t1-500 {\n font-size: 16px;\n font-weight: 700;\n line-height: 24px;\n }\n gap: 16px;\n padding: 24px 16px 16px;\n .cardHead p .type-b1-400{\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n }\n .primary-info label .type-t2-700{\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n }\n }\n .primaryInfo{\n display: flex;\n padding: 12px 8px;\n justify-content: space-between;\n background: var(--color-primary);\n border-radius: 8px;\n align-items: center;\n cursor: pointer;\n }\n .primaryInfo img{\n width: 24px;\n height: 24px;\n }\n .toolTipInfo .text-container svg {\n font-size: 16px !important;\n }\n .paraWithIcon{\n display: flex;\n gap: 8px;\n align-items: center;\n }\n .toolTipInfo{\n display: flex;\n background: var(--color-background-positive);\n padding: 12px;\n border-radius: 8px;\n flex-direction: column;\n justify-content: space-between;\n }\n .flexChangeBody{\n flex-direction: row;\n align-items: center;\n }\n\n .toolTipInfo .toolTip + div{\n display: flex;\n justify-content: end;\n }\n .error{\n background: var(--color-background-negative);\n }\n .error .toolTip svg{\n color: var(--color-negative);\n }\n .warning{\n background: var(--color-background-warning);\n }\n .warning .toolTip svg{\n color: var(--color-warning);\n }\n .success{\n background: var(--color-background-positive);\n }\n\n .success .toolTip svg{\n color: var(--color-positive);\n }\n .toolTip{\n display: flex;\n gap: 8px;\n }\n .cardHead{\n display: flex;\n justify-content: space-between;\n gap: 24px;\n }\n .imgBg{\n border-radius: 8px;\n background: #DEF1FB;\n min-width: 56px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n .ant-modal-footer{\n display: none;\n }\n .toolTip svg{\n margin: 0px 0 0;\n }\n .flexChangeBody{\n align-items: center !important;\n flex-direction: row !important;\n gap: 8px !important;\n }\n .flexChangeBody .text-container{\n white-space: nowrap;\n }\n .flexChangeBody .viewStatus button {\n margin: 0 !important;\n}\n.displayFlex{\n display: flex;\n}\n @media only screen and (max-width: 600px) {\n .type-b1-400{\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n }\n .toolTipInfo {\n flex-direction: column;\n gap: 0;\n align-items: unset;\n }\n \n .cardHead .titleHead > span{\n font-size: 16px;\n font-weight: 700;\n line-height: 24px;\n }\n }\n"])));
12
+ const CardBody = exports.CardBody = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\ndisplay: flex;\nflex-direction: column;\ngap: 24px;\n@media only screen and (max-width: 600px) {\n gap: 16px;\n}\n"])));
13
+ const CardFooter = exports.CardFooter = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n.mobileIcon{\n display: none;\n}\ndisplay: flex;\npadding: 16px 24px;\ngap: 24px;\nborder-top: 1px solid var(--color-divider);\nwidth: calc(100% + 48px);\nmargin: 0 0 0 -24px;\nposition: relative;\ntop: 24px;\njustify-content: end;\n@media only screen and (max-width: 600px) {\n .fullWidth{\n width: 100%;\n }\n .mobileIcon{\n min-width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--color-primary);\n border-radius: 50%;\n color: var(--color-primary-background);\n }\n .mobileIcon a{\n display: flex;\n }\n padding: 16px 16px;\n width: calc(100% + 32px);\n margin: 0 0 0 -16px;\n top: 16px;\n align-items:center;\ndiv span {\n display: block;\n}\ndiv span > .type-t2-700{\n padding: 4px 0 0;\n}\n .text-container .type-t2-700 {\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n}\n.large {\n height: 36px;\n min-width: 100px;\n padding: 10px 16px;\n}\n}\n"])));