udp-react-enterprise-component-library 25.18.1-beta.24 → 25.18.1-beta.26

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 (1091) hide show
  1. package/dist/ActionProvider-BD-KHHCT.js +368 -0
  2. package/dist/ActionProvider-BD-KHHCT.js.map +1 -0
  3. package/dist/ActionSplitScreen-CtAOjowI.js +296 -0
  4. package/dist/ActionSplitScreen-CtAOjowI.js.map +1 -0
  5. package/dist/ActionWrapper-Cw09Hku3.js +891 -0
  6. package/dist/ActionWrapper-Cw09Hku3.js.map +1 -0
  7. package/dist/ActionsRenderer-BBzqHvyt.js +242 -0
  8. package/dist/ActionsRenderer-BBzqHvyt.js.map +1 -0
  9. package/dist/AggregateChip-CyVLcLQh.js +242 -0
  10. package/dist/AggregateChip-CyVLcLQh.js.map +1 -0
  11. package/dist/AmChart-CJNcCHxn.js +71 -0
  12. package/dist/AmChart-CJNcCHxn.js.map +1 -0
  13. package/dist/AmbientGridTemplate-_nVDm-nz.js +458 -0
  14. package/dist/AmbientGridTemplate-_nVDm-nz.js.map +1 -0
  15. package/dist/AmbientSingleDateSelector-CeV7Lwew.js +51 -0
  16. package/dist/AmbientSingleDateSelector-CeV7Lwew.js.map +1 -0
  17. package/dist/AmbientStepper-D9NzCqa8.js +175 -0
  18. package/dist/AmbientStepper-D9NzCqa8.js.map +1 -0
  19. package/dist/AmbientToast-D3Rfpzvy.js +70 -0
  20. package/dist/AmbientToast-D3Rfpzvy.js.map +1 -0
  21. package/dist/AmbientToggleButtonGroup-BNCJrq_q.js +87 -0
  22. package/dist/AmbientToggleButtonGroup-BNCJrq_q.js.map +1 -0
  23. package/dist/AmbientVisualizationCard-DbIyhnw9.js +232 -0
  24. package/dist/AmbientVisualizationCard-DbIyhnw9.js.map +1 -0
  25. package/dist/AmbientVisualizer-B6kX3oPX.js +627 -0
  26. package/dist/AmbientVisualizer-B6kX3oPX.js.map +1 -0
  27. package/dist/AppMenu-DDbhqgdp.js +174 -0
  28. package/dist/AppMenu-DDbhqgdp.js.map +1 -0
  29. package/dist/AvatarAlphabet-wbHcpayy.js +187 -0
  30. package/dist/AvatarAlphabet-wbHcpayy.js.map +1 -0
  31. package/dist/BarChartWidget-B3cv8kvU.js +85 -0
  32. package/dist/BarChartWidget-B3cv8kvU.js.map +1 -0
  33. package/dist/BaseTreeMenu-B-qO4AqE.js +357 -0
  34. package/dist/BaseTreeMenu-B-qO4AqE.js.map +1 -0
  35. package/dist/BioCardWrapper-2gNRNXbs.js +513 -0
  36. package/dist/BioCardWrapper-2gNRNXbs.js.map +1 -0
  37. package/dist/Box-Dzi_sgXS.js +11 -0
  38. package/dist/Box-Dzi_sgXS.js.map +1 -0
  39. package/dist/BubbleWidget-DXtzIz3j.js +57 -0
  40. package/dist/BubbleWidget-DXtzIz3j.js.map +1 -0
  41. package/dist/BulkActionsGridButton-C0Gm7VUV.js +922 -0
  42. package/dist/BulkActionsGridButton-C0Gm7VUV.js.map +1 -0
  43. package/dist/CardList-BUUOGUhM.js +78 -0
  44. package/dist/CardList-BUUOGUhM.js.map +1 -0
  45. package/dist/ChipAlphabet-CektqzPW.js +353 -0
  46. package/dist/ChipAlphabet-CektqzPW.js.map +1 -0
  47. package/dist/CircleButton-DZk_tZkr.js +240 -0
  48. package/dist/CircleButton-DZk_tZkr.js.map +1 -0
  49. package/dist/CircleGaugeWidget-ByKcP5ut.js +111 -0
  50. package/dist/CircleGaugeWidget-ByKcP5ut.js.map +1 -0
  51. package/dist/CompactDataList-DjKgQdBo.js +16 -0
  52. package/dist/CompactDataList-DjKgQdBo.js.map +1 -0
  53. package/dist/ContentContainer-DM8k_rkb.js +30 -0
  54. package/dist/ContentContainer-DM8k_rkb.js.map +1 -0
  55. package/dist/CrudBrowserContainer-BOjdVMWv.js +176 -0
  56. package/dist/CrudBrowserContainer-BOjdVMWv.js.map +1 -0
  57. package/dist/CrudForm-kmRD2mZW.js +349 -0
  58. package/dist/CrudForm-kmRD2mZW.js.map +1 -0
  59. package/dist/CrudTableSidePanel-DwpQr6ct.js +120 -0
  60. package/dist/CrudTableSidePanel-DwpQr6ct.js.map +1 -0
  61. package/dist/DataBrowserContainer-Dtp_hqDU.js +397 -0
  62. package/dist/DataBrowserContainer-Dtp_hqDU.js.map +1 -0
  63. package/dist/DateTrendWidget-iHML5bn0.js +60 -0
  64. package/dist/DateTrendWidget-iHML5bn0.js.map +1 -0
  65. package/dist/DensePlotWidget-7KP-883i.js +67 -0
  66. package/dist/DensePlotWidget-7KP-883i.js.map +1 -0
  67. package/dist/Directory-B5mkfHQR.js +52 -0
  68. package/dist/Directory-B5mkfHQR.js.map +1 -0
  69. package/dist/ExtenderToggle-Dx1oH4cO.js +48 -0
  70. package/dist/ExtenderToggle-Dx1oH4cO.js.map +1 -0
  71. package/dist/FieldArrayCard-CAvPZq-S.js +404 -0
  72. package/dist/FieldArrayCard-CAvPZq-S.js.map +1 -0
  73. package/dist/FileUpload-Dmr2JBlf.js +241 -0
  74. package/dist/FileUpload-Dmr2JBlf.js.map +1 -0
  75. package/dist/FluentActivity-Dp10v1uQ.js +69 -0
  76. package/dist/FluentActivity-Dp10v1uQ.js.map +1 -0
  77. package/dist/FluentBody-r3EdysCX.js +16 -0
  78. package/dist/FluentBody-r3EdysCX.js.map +1 -0
  79. package/dist/FluentCardHeader-CsQtNtjK.js +29 -0
  80. package/dist/FluentCardHeader-CsQtNtjK.js.map +1 -0
  81. package/dist/FluentCardText-fXTPCGC5.js +89 -0
  82. package/dist/FluentCardText-fXTPCGC5.js.map +1 -0
  83. package/dist/FluentCell-BdAbSU0g.js +81 -0
  84. package/dist/FluentCell-BdAbSU0g.js.map +1 -0
  85. package/dist/FluentDataTable-Fmp9_RoS.js +30 -0
  86. package/dist/FluentDataTable-Fmp9_RoS.js.map +1 -0
  87. package/dist/FluentHead-By0IfZ6c.js +20 -0
  88. package/dist/FluentHead-By0IfZ6c.js.map +1 -0
  89. package/dist/FluentLink-ChTXAsZZ.js +39 -0
  90. package/dist/FluentLink-ChTXAsZZ.js.map +1 -0
  91. package/dist/FluentProfileMenuCard-C2glYLWq.js +821 -0
  92. package/dist/FluentProfileMenuCard-C2glYLWq.js.map +1 -0
  93. package/dist/FluentRadioGroup-VkzuXCCX.js +31 -0
  94. package/dist/FluentRadioGroup-VkzuXCCX.js.map +1 -0
  95. package/dist/FluentRow-BkndCNsc.js +18 -0
  96. package/dist/FluentRow-BkndCNsc.js.map +1 -0
  97. package/dist/FluentSelectMenu-BlGxxA1Z.js +28 -0
  98. package/dist/FluentSelectMenu-BlGxxA1Z.js.map +1 -0
  99. package/dist/FluentSimpleSelect-BcsHWdeR.js +420 -0
  100. package/dist/FluentSimpleSelect-BcsHWdeR.js.map +1 -0
  101. package/dist/FluentSimpleTabs-B0Ntb9X_.js +72 -0
  102. package/dist/FluentSimpleTabs-B0Ntb9X_.js.map +1 -0
  103. package/dist/FluentTabPanel-BEM6uZRI.js +24 -0
  104. package/dist/FluentTabPanel-BEM6uZRI.js.map +1 -0
  105. package/dist/FluentTimePicker-CtijxH02.js +67 -0
  106. package/dist/FluentTimePicker-CtijxH02.js.map +1 -0
  107. package/dist/FluentTimeline-CnEyJi1Y.js +92 -0
  108. package/dist/FluentTimeline-CnEyJi1Y.js.map +1 -0
  109. package/dist/FormControl-CTmN8TEq.js +12 -0
  110. package/dist/FormControl-CTmN8TEq.js.map +1 -0
  111. package/dist/FormControlLabel-BOOvA6CZ.js +17 -0
  112. package/dist/FormControlLabel-BOOvA6CZ.js.map +1 -0
  113. package/dist/GaugeWidget-CWLWh2EV.js +382 -0
  114. package/dist/GaugeWidget-CWLWh2EV.js.map +1 -0
  115. package/dist/GraphCard-pKYdmcBy.js +75 -0
  116. package/dist/GraphCard-pKYdmcBy.js.map +1 -0
  117. package/dist/Grid-BHKvVKV6.js +17 -0
  118. package/dist/Grid-BHKvVKV6.js.map +1 -0
  119. package/dist/GridFunctions-Cw1f6eYk.js +150 -0
  120. package/dist/GridFunctions-Cw1f6eYk.js.map +1 -0
  121. package/dist/GroupNode-CvWfVjNU.js +39 -0
  122. package/dist/GroupNode-CvWfVjNU.js.map +1 -0
  123. package/dist/HeaderExpander-BPeziE8c.js +53 -0
  124. package/dist/HeaderExpander-BPeziE8c.js.map +1 -0
  125. package/dist/IconKey-DKiQELkd.js +60 -0
  126. package/dist/IconKey-DKiQELkd.js.map +1 -0
  127. package/dist/IconRenderer-Cl025sZh.js +43 -0
  128. package/dist/IconRenderer-Cl025sZh.js.map +1 -0
  129. package/dist/ImportDataFromFileMapping-Cb4pY_z3.js +569 -0
  130. package/dist/ImportDataFromFileMapping-Cb4pY_z3.js.map +1 -0
  131. package/dist/IndicatorChip-BZ2U9xpf.js +32 -0
  132. package/dist/IndicatorChip-BZ2U9xpf.js.map +1 -0
  133. package/dist/InputAdornment-N5f6DHtc.js +15 -0
  134. package/dist/InputAdornment-N5f6DHtc.js.map +1 -0
  135. package/dist/LineAndSparklinesWidget-B_XMmRJB.js +101 -0
  136. package/dist/LineAndSparklinesWidget-B_XMmRJB.js.map +1 -0
  137. package/dist/LineGraphWidget-DxbK-VmZ.js +92 -0
  138. package/dist/LineGraphWidget-DxbK-VmZ.js.map +1 -0
  139. package/dist/ListCard-1S6RXAVX.js +33 -0
  140. package/dist/ListCard-1S6RXAVX.js.map +1 -0
  141. package/dist/MapUtilities-B8j0yvED.js +96 -0
  142. package/dist/MapUtilities-B8j0yvED.js.map +1 -0
  143. package/dist/MenuPage-BrTIhNi9.js +268 -0
  144. package/dist/MenuPage-BrTIhNi9.js.map +1 -0
  145. package/dist/MenuPage-IWIb1y2K.js +58 -0
  146. package/dist/MttMainTimeline-Db55Xc-Y.js +888 -0
  147. package/dist/MttMainTimeline-Db55Xc-Y.js.map +1 -0
  148. package/dist/MttSummary-B7IVJe0I.js +256 -0
  149. package/dist/MttSummary-B7IVJe0I.js.map +1 -0
  150. package/dist/MyExportsPage-DDCvI2ao.js +216 -0
  151. package/dist/MyExportsPage-DDCvI2ao.js.map +1 -0
  152. package/dist/MyExportsPage-Dl-oOhi0.js +64 -0
  153. package/dist/NestedGrid-DfQ6g71t.js +84 -0
  154. package/dist/NestedGrid-DfQ6g71t.js.map +1 -0
  155. package/dist/NewsCard-BBh7InGE.js +57 -0
  156. package/dist/NewsCard-BBh7InGE.js.map +1 -0
  157. package/dist/Notes-BEga_Q4I.js +63 -0
  158. package/dist/Notes-BEga_Q4I.js.map +1 -0
  159. package/dist/NotesScreen-BDelTynN.js +365 -0
  160. package/dist/NotesScreen-BDelTynN.js.map +1 -0
  161. package/dist/OutlookCallback-DZIJrpWI.js +50 -0
  162. package/dist/OutlookCallback-DZIJrpWI.js.map +1 -0
  163. package/dist/PDFViewer-DJxLIH-L.js +169 -0
  164. package/dist/PDFViewer-DJxLIH-L.js.map +1 -0
  165. package/dist/PageActionWrapper-CrN4S2HJ.js +55 -0
  166. package/dist/PageActionWrapper-CrN4S2HJ.js.map +1 -0
  167. package/dist/PageNotFoundRoute-DQHEEDki.js +4 -0
  168. package/dist/PageNotFoundRoute-TBmPL3Ws.js +24 -0
  169. package/dist/PageNotFoundRoute-TBmPL3Ws.js.map +1 -0
  170. package/dist/PageRenderer-C9eqTDgk.js +29 -0
  171. package/dist/PageRenderer-C9eqTDgk.js.map +1 -0
  172. package/dist/PaymentForm-D9Y5D7TN.js +2250 -0
  173. package/dist/PaymentForm-D9Y5D7TN.js.map +1 -0
  174. package/dist/RecentlyLoadedNodesTable-B5wu7rbg.js +108 -0
  175. package/dist/RecentlyLoadedNodesTable-B5wu7rbg.js.map +1 -0
  176. package/dist/RecentlyLoadedNodesWidget-CKVvQWCz.js +34 -0
  177. package/dist/RecentlyLoadedNodesWidget-CKVvQWCz.js.map +1 -0
  178. package/dist/RejectIcon-BKb45HQk.js +40 -0
  179. package/dist/RejectIcon-BKb45HQk.js.map +1 -0
  180. package/dist/RemindersCard-BVyXF-iC.js +138 -0
  181. package/dist/RemindersCard-BVyXF-iC.js.map +1 -0
  182. package/dist/RemindersScreen-BSG5Vgtg.js +440 -0
  183. package/dist/RemindersScreen-BSG5Vgtg.js.map +1 -0
  184. package/dist/RemindersWidget-BOKoMdGI.js +338 -0
  185. package/dist/RemindersWidget-BOKoMdGI.js.map +1 -0
  186. package/dist/SearchServiceDatasource-DWBFU9Mh.js +156 -0
  187. package/dist/SearchServiceDatasource-DWBFU9Mh.js.map +1 -0
  188. package/dist/SearchUtilities-LooYyhu6.js +176 -0
  189. package/dist/SearchUtilities-LooYyhu6.js.map +1 -0
  190. package/dist/Shell-XBvjhqh4.js +269 -0
  191. package/dist/Shell-XBvjhqh4.js.map +1 -0
  192. package/dist/ShortcutContentFinder-CnkOZWCH.js +123 -0
  193. package/dist/ShortcutContentFinder-CnkOZWCH.js.map +1 -0
  194. package/dist/SimpleTable-ikgJidPf.js +25 -0
  195. package/dist/SimpleTable-ikgJidPf.js.map +1 -0
  196. package/dist/SparsePlotWidget-CPiQJOPd.js +82 -0
  197. package/dist/SparsePlotWidget-CPiQJOPd.js.map +1 -0
  198. package/dist/Statistic-CI4JF6kf.js +323 -0
  199. package/dist/Statistic-CI4JF6kf.js.map +1 -0
  200. package/dist/StatusCellRenderer-CEjlK_fO.js +18 -0
  201. package/dist/StatusCellRenderer-CEjlK_fO.js.map +1 -0
  202. package/dist/SupportCaseSideSheet-D-ocCbfg.js +33 -0
  203. package/dist/SupportCaseSideSheet-k7s85iYT.js +376 -0
  204. package/dist/SupportCaseSideSheet-k7s85iYT.js.map +1 -0
  205. package/dist/TableContainer-DZTBwhds.js +110 -0
  206. package/dist/TableContainer-DZTBwhds.js.map +1 -0
  207. package/dist/TenantProvider-5j0-Ay9P.js +37 -0
  208. package/dist/TenantProvider-5j0-Ay9P.js.map +1 -0
  209. package/dist/TicketCard-DQGB9AgD.js +143 -0
  210. package/dist/TicketCard-DQGB9AgD.js.map +1 -0
  211. package/dist/TimelineCalendar-6oAnmcUI.js +12 -0
  212. package/dist/TimelineCalendar-6oAnmcUI.js.map +1 -0
  213. package/dist/TokenGroupItem-DLU0AK1S.js +36 -0
  214. package/dist/TokenGroupItem-DLU0AK1S.js.map +1 -0
  215. package/dist/TreeUtilities-CDlHioSI.js +1130 -0
  216. package/dist/TreeUtilities-CDlHioSI.js.map +1 -0
  217. package/dist/TrimForAvatar-BnH-TI_i.js +8 -0
  218. package/dist/TrimForAvatar-BnH-TI_i.js.map +1 -0
  219. package/dist/UI/accordion/index.js +5 -6
  220. package/dist/UI/advancedSearchBuilder/index.js +1 -2
  221. package/dist/UI/charts/amcharts/index.js +2 -2
  222. package/dist/UI/charts/index.js +3 -4
  223. package/dist/UI/components/dataDisplay/index.js +1 -2
  224. package/dist/UI/components/feedback/index.js +1 -1
  225. package/dist/UI/components/index.js +3 -4
  226. package/dist/UI/containers/index.js +1 -1
  227. package/dist/UI/dataDisplay/FluentActivity/index.js +2 -3
  228. package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.js +1 -1
  229. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +5 -5
  230. package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.js +1 -1
  231. package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.js +1 -1
  232. package/dist/UI/dataDisplay/FluentDataTable/index.js +9 -10
  233. package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
  234. package/dist/UI/dataDisplay/calendar/index.js +1 -1
  235. package/dist/UI/dataDisplay/cardList/index.js +1 -1
  236. package/dist/UI/dataDisplay/directory/index.js +1 -1
  237. package/dist/UI/dataDisplay/entityHeader/index.js +13 -13
  238. package/dist/UI/dataDisplay/index.js +16 -19
  239. package/dist/UI/dataDisplay/map/index.js +1 -1
  240. package/dist/UI/dataDisplay/notes/index.js +3 -3
  241. package/dist/UI/dataDisplay/status/index.js +1 -1
  242. package/dist/UI/dataDisplay/ticketCard/index.js +1 -1
  243. package/dist/UI/dataDisplay/typography/index.js +1 -1
  244. package/dist/UI/dataDisplay/visualization/amCharts/index.js +2 -2
  245. package/dist/UI/dataDisplay/visualization/index.js +1 -1
  246. package/dist/UI/feedback/index.js +2 -2
  247. package/dist/UI/fileViewer/index.js +6 -7
  248. package/dist/UI/fileViewer/pdfViewer/index.js +1 -1
  249. package/dist/UI/floorplans/index.js +10 -11
  250. package/dist/UI/forms/index.js +10 -11
  251. package/dist/UI/iframe/index.js +1 -1
  252. package/dist/UI/index.js +82 -107
  253. package/dist/UI/inputs/buttons/UdpActionCard/UdpActionCard.css +142 -0
  254. package/dist/UI/inputs/buttons/UdpActionCard/index.js +10 -0
  255. package/dist/UI/inputs/buttons/index.js +10 -38
  256. package/dist/UI/inputs/calendar/index.js +1 -1
  257. package/dist/UI/inputs/dateRangeSelector/index.js +1 -1
  258. package/dist/UI/inputs/fieldArrayCard/index.js +10 -10
  259. package/dist/UI/inputs/link/index.js +1 -1
  260. package/dist/UI/inputs/menus/AmbientStepper/index.js +1 -1
  261. package/dist/UI/inputs/menus/index.js +3 -3
  262. package/dist/UI/inputs/pickers/index.js +2 -2
  263. package/dist/UI/inputs/radio/index.js +1 -1
  264. package/dist/UI/inputs/textField/index.js +1 -1
  265. package/dist/UI/loading/index.js +1 -1
  266. package/dist/UI/mapLayout/index.js +11 -12
  267. package/dist/UI/mapLayout/ui/index.js +9 -9
  268. package/dist/UI/mapLayout/utilities/index.js +1 -1
  269. package/dist/UI/maps/index.js +2 -3
  270. package/dist/UI/navigation/index.js +10 -14
  271. package/dist/UI/navigation/menus/index.js +5 -6
  272. package/dist/UI/navigation/tabs/defaultTabs/index.js +3 -4
  273. package/dist/UI/navigation/tabs/index.js +4 -6
  274. package/dist/UI/property/index.js +1 -1
  275. package/dist/UI/stepper/index.js +1 -2
  276. package/dist/UI/support/index.js +2 -2
  277. package/dist/UI/surfaces/NestedGrid/index.js +2 -4
  278. package/dist/UI/surfaces/NestedGrid/ui/index.js +1 -2
  279. package/dist/UI/surfaces/cards/chartDisplayCards/index.js +6 -6
  280. package/dist/UI/surfaces/cards/fluentCards/index.js +2 -2
  281. package/dist/UI/surfaces/cards/index.js +1 -2
  282. package/dist/UI/surfaces/cards/newsCard/index.js +1 -1
  283. package/dist/UI/surfaces/cards/workOrderCard/index.js +1 -1
  284. package/dist/UI/surfaces/index.js +4 -7
  285. package/dist/UI/templates/calendar/index.js +1 -1
  286. package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +6 -6
  287. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  288. package/dist/UI/templates/index.js +2 -3
  289. package/dist/UI/templates/ui/index.js +2 -2
  290. package/dist/UI/templates/ui/renderers/index.js +7 -7
  291. package/dist/UI/timeline/fluentTimeline/index.js +5 -6
  292. package/dist/UI/timeline/index.js +6 -8
  293. package/dist/UI/utilityDisplay/alerts/index.js +7 -7
  294. package/dist/UI/utilityDisplay/index.js +19 -20
  295. package/dist/UI/utilityDisplay/ui/index.js +1 -1
  296. package/dist/UI/utilityDisplay/utilities/index.js +3 -3
  297. package/dist/UI/utilityDisplay/utilityHeader/index.js +2 -3
  298. package/dist/UI/widgets/FluentComponents/index.js +1 -1
  299. package/dist/UI/widgets/FluentComponents/molecules/index.js +1 -1
  300. package/dist/UI/widgets/index.js +1 -2
  301. package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
  302. package/dist/UI/widgets/library/BubbleWidget/index.js +2 -2
  303. package/dist/UI/widgets/library/CircleGaugeWidget/index.js +1 -1
  304. package/dist/UI/widgets/library/DateTrendWidget/index.js +1 -1
  305. package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
  306. package/dist/UI/widgets/library/GaugeWidget/index.js +1 -1
  307. package/dist/UI/widgets/library/LineAndSparklinesWidget/index.js +1 -1
  308. package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
  309. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +7 -7
  310. package/dist/UI/widgets/library/RemindersWidget/index.js +8 -8
  311. package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
  312. package/dist/UI/widgets/library/TableWidget/index.js +1 -1
  313. package/dist/UI-B7xP2JRT.js +45 -0
  314. package/dist/UI-B7xP2JRT.js.map +1 -0
  315. package/dist/UdpActionCard-DeLkj1IR.js +86 -0
  316. package/dist/UdpActionCard-DeLkj1IR.js.map +1 -0
  317. package/dist/UdpAlertsContainer-Bsb0CsGV.js +80 -0
  318. package/dist/UdpAlertsContainer-Bsb0CsGV.js.map +1 -0
  319. package/dist/UdpAuditEvents-BNstrkn2.js +9 -0
  320. package/dist/UdpAuditEvents-BNstrkn2.js.map +1 -0
  321. package/dist/UdpAuditEventsPage-B2vbY_jP.js +86 -0
  322. package/dist/UdpAuditEventsPage-DJ6WbPGj.js +424 -0
  323. package/dist/UdpAuditEventsPage-DJ6WbPGj.js.map +1 -0
  324. package/dist/UdpBarChart-DEUzMui8.js +44 -0
  325. package/dist/UdpBarChart-DEUzMui8.js.map +1 -0
  326. package/dist/UdpCalendarYearView-TZowGC77.js +61 -0
  327. package/dist/UdpCalendarYearView-TZowGC77.js.map +1 -0
  328. package/dist/UdpDataBrowserPage-CmNprA4K.js +458 -0
  329. package/dist/UdpDataBrowserPage-CmNprA4K.js.map +1 -0
  330. package/dist/UdpDateRangeSelector-C5toPT2E.js +11 -0
  331. package/dist/UdpDateRangeSelector-C5toPT2E.js.map +1 -0
  332. package/dist/UdpFormsBuilderPage-CoNaXBSz.js +45 -0
  333. package/dist/UdpFormsBuilderPage-CoNaXBSz.js.map +1 -0
  334. package/dist/UdpFormsListPage-BNgD_gIh.js +30 -0
  335. package/dist/UdpFormsListPage-BNgD_gIh.js.map +1 -0
  336. package/dist/UdpFormsSubmissionGrid-DVtFTCjm.js +459 -0
  337. package/dist/UdpFormsSubmissionGrid-DVtFTCjm.js.map +1 -0
  338. package/dist/UdpGridPanelManagementPage-BumaIYkU.js +239 -0
  339. package/dist/UdpGridPanelManagementPage-BumaIYkU.js.map +1 -0
  340. package/dist/UdpGridTemplate-DPDoknAW.js +46 -0
  341. package/dist/UdpGridTemplate-DPDoknAW.js.map +1 -0
  342. package/dist/UdpImportFromFileMappingPage-BWHqbgGz.js +17 -0
  343. package/dist/UdpImportFromFileMappingPage-BWHqbgGz.js.map +1 -0
  344. package/dist/UdpInquiryMaintenanceEnginePage-Bhe6wuEc.js +26 -0
  345. package/dist/UdpInquiryMaintenanceEnginePage-Bhe6wuEc.js.map +1 -0
  346. package/dist/UdpMaintenanceEnginePage-julKco7K.js +468 -0
  347. package/dist/UdpMaintenanceEnginePage-julKco7K.js.map +1 -0
  348. package/dist/UdpMapToolbar-BMKECgVT.js +17 -0
  349. package/dist/UdpMapToolbar-BMKECgVT.js.map +1 -0
  350. package/dist/UdpNotesPage-CTUX9YDI.js +185 -0
  351. package/dist/UdpNotesPage-CTUX9YDI.js.map +1 -0
  352. package/dist/UdpPages-5DwK_4GO.js +52 -0
  353. package/dist/UdpPages-5DwK_4GO.js.map +1 -0
  354. package/dist/UdpPrivateForm-4xtSFtnr.js +52 -0
  355. package/dist/UdpPrivateForm-4xtSFtnr.js.map +1 -0
  356. package/dist/UdpRemindersPage-DPzNy7FG.js +208 -0
  357. package/dist/UdpRemindersPage-DPzNy7FG.js.map +1 -0
  358. package/dist/UdpRoutes-C9a8HDW5.js +131 -0
  359. package/dist/UdpRoutes-C9a8HDW5.js.map +1 -0
  360. package/dist/UdpTimeSelector-XsmTgOvP.js +147 -0
  361. package/dist/UdpTimeSelector-XsmTgOvP.js.map +1 -0
  362. package/dist/UdpTransactionTypesPage-fo1YR5Cw.js +1979 -0
  363. package/dist/UdpTransactionTypesPage-fo1YR5Cw.js.map +1 -0
  364. package/dist/UdpTransactionsPage-CpgF8O9C.js +928 -0
  365. package/dist/UdpTransactionsPage-CpgF8O9C.js.map +1 -0
  366. package/dist/UdpVerticalManagementPage-DjhSmiTo.js +184 -0
  367. package/dist/UdpVerticalManagementPage-DjhSmiTo.js.map +1 -0
  368. package/dist/UdpVerticalManagementSidesheet-Cgz6vF7O.js +228 -0
  369. package/dist/UdpVerticalManagementSidesheet-Cgz6vF7O.js.map +1 -0
  370. package/dist/UserForm-D0-wO_DY.js +315 -0
  371. package/dist/UserForm-D0-wO_DY.js.map +1 -0
  372. package/dist/UserFormSideSheet-CDUZXsPZ.js +93 -0
  373. package/dist/UserFormSideSheet-CDUZXsPZ.js.map +1 -0
  374. package/dist/UserFormSideSheet-ClFe6N55.js +25 -0
  375. package/dist/UtilityBar-DosDheWu.js +98 -0
  376. package/dist/UtilityBar-DosDheWu.js.map +1 -0
  377. package/dist/VirtualBrowser-B_6xehfd.js +76 -0
  378. package/dist/VirtualBrowser-xUyUFhkU.js +427 -0
  379. package/dist/VirtualBrowser-xUyUFhkU.js.map +1 -0
  380. package/dist/VirtualForm-BQrYKgn3.js +66 -0
  381. package/dist/VirtualForm-BQrYKgn3.js.map +1 -0
  382. package/dist/WorkOrderCard-SG7aBovD.js +55 -0
  383. package/dist/WorkOrderCard-SG7aBovD.js.map +1 -0
  384. package/dist/WorkflowContainer-D3EuK5do.js +75 -0
  385. package/dist/WorkflowContainer-DFidyJU3.js +187 -0
  386. package/dist/WorkflowContainer-DFidyJU3.js.map +1 -0
  387. package/dist/WorkflowTreeMenu-CLMTRLUg.js +346 -0
  388. package/dist/WorkflowTreeMenu-CLMTRLUg.js.map +1 -0
  389. package/dist/accordion-DQ6VVvdg.js +192 -0
  390. package/dist/accordion-DQ6VVvdg.js.map +1 -0
  391. package/dist/actionSummary-B6PRTaPr.js +255 -0
  392. package/dist/actionSummary-B6PRTaPr.js.map +1 -0
  393. package/dist/actionUtils-BEMs2nQ4.js +218 -0
  394. package/dist/actionUtils-BEMs2nQ4.js.map +1 -0
  395. package/dist/actions/actionSummary/index.js +4 -4
  396. package/dist/actions/index.js +16 -16
  397. package/dist/actions/sidebar/index.js +1 -1
  398. package/dist/actions/utils/index.js +3 -3
  399. package/dist/advancedSearchBuilder-COqoNVYj.js +19 -0
  400. package/dist/advancedSearchBuilder-COqoNVYj.js.map +1 -0
  401. package/dist/aggregateUtils-D2KR3BpS.js +70 -0
  402. package/dist/aggregateUtils-D2KR3BpS.js.map +1 -0
  403. package/dist/aggridHelpers-BQaR3R3V.js +103 -0
  404. package/dist/aggridHelpers-BQaR3R3V.js.map +1 -0
  405. package/dist/amcharts-Bjv7vesy.js +16 -0
  406. package/dist/amcharts-Bjv7vesy.js.map +1 -0
  407. package/dist/auth-coxAZdaS.js +253 -0
  408. package/dist/auth-coxAZdaS.js.map +1 -0
  409. package/dist/buttons-DC7mOFCO.js +159 -0
  410. package/dist/buttons-DC7mOFCO.js.map +1 -0
  411. package/dist/cards-CJMVTqxZ.js +129 -0
  412. package/dist/cards-CJMVTqxZ.js.map +1 -0
  413. package/dist/charts-bC5gW0LR.js +83 -0
  414. package/dist/charts-bC5gW0LR.js.map +1 -0
  415. package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
  416. package/dist/componentSystems/multiThreadTimeline/index.js +13 -13
  417. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +7 -7
  418. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +8 -8
  419. package/dist/componentSystems/multiThreadTimeline/ui/index.js +8 -8
  420. package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
  421. package/dist/componentSystems/pageRenderer/hocs/index.js +9 -9
  422. package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
  423. package/dist/componentSystems/pageRenderer/index.js +13 -13
  424. package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
  425. package/dist/componentSystems/pageRenderer/wrappers/index.js +8 -8
  426. package/dist/dataBrowser/forms/index.js +1 -1
  427. package/dist/dataBrowser/index.js +12 -12
  428. package/dist/dataDisplay-2QrOSmK3.js +50 -0
  429. package/dist/dataDisplay-2QrOSmK3.js.map +1 -0
  430. package/dist/dataDisplay-CAKbZ3U3.js +180 -0
  431. package/dist/dataDisplay-CAKbZ3U3.js.map +1 -0
  432. package/dist/defaultTabs-CFFLh6gs.js +93 -0
  433. package/dist/defaultTabs-CFFLh6gs.js.map +1 -0
  434. package/dist/entityHeader-gJY5fljR.js +528 -0
  435. package/dist/entityHeader-gJY5fljR.js.map +1 -0
  436. package/dist/enums/index.js +3 -3
  437. package/dist/fileViewer-Sj7Bvi_o.js +385 -0
  438. package/dist/fileViewer-Sj7Bvi_o.js.map +1 -0
  439. package/dist/floorplans-BH9LvKkB.js +154 -0
  440. package/dist/floorplans-BH9LvKkB.js.map +1 -0
  441. package/dist/fluentTimeline--gqVMMeZ.js +156 -0
  442. package/dist/fluentTimeline--gqVMMeZ.js.map +1 -0
  443. package/dist/forms-ByNiOQ7n.js +431 -0
  444. package/dist/forms-ByNiOQ7n.js.map +1 -0
  445. package/dist/gridVisualizationFunctions-UuAFtTxS.js +67 -0
  446. package/dist/gridVisualizationFunctions-UuAFtTxS.js.map +1 -0
  447. package/dist/hooks/index.js +5 -5
  448. package/dist/index.js +206 -186
  449. package/dist/inquiry/dashboard/index.js +6 -6
  450. package/dist/inquiry/index.js +22 -22
  451. package/dist/inquiry/inquiryBar/index.js +2 -2
  452. package/dist/inquiry/search/index.js +5 -5
  453. package/dist/inquiry-CZDA-Ywb.js +2946 -0
  454. package/dist/inquiry-CZDA-Ywb.js.map +1 -0
  455. package/dist/inquiryBar-B8LrbRSQ.js +209 -0
  456. package/dist/inquiryBar-B8LrbRSQ.js.map +1 -0
  457. package/dist/maintenanceEngine/crudBrowser/index.js +5 -5
  458. package/dist/maintenanceEngine/index.js +17 -17
  459. package/dist/maintenanceEngine/tableBrowser/index.js +10 -10
  460. package/dist/maintenanceEngine/virtualBrowser/index.js +9 -9
  461. package/dist/mapLayout-zCCFzltZ.js +513 -0
  462. package/dist/mapLayout-zCCFzltZ.js.map +1 -0
  463. package/dist/maps-B_ISS-nU.js +11 -0
  464. package/dist/maps-B_ISS-nU.js.map +1 -0
  465. package/dist/menuPage/index.js +9 -9
  466. package/dist/menuPage-D-4Vjs91.js +98 -0
  467. package/dist/menuPage-D-4Vjs91.js.map +1 -0
  468. package/dist/menuUtilities-DWga3EVp.js +71 -0
  469. package/dist/menuUtilities-DWga3EVp.js.map +1 -0
  470. package/dist/menus-BuyTjiXS.js +81 -0
  471. package/dist/menus-BuyTjiXS.js.map +1 -0
  472. package/dist/models/index.js +2 -2
  473. package/dist/navigation-DA_nr87U.js +144 -0
  474. package/dist/navigation-DA_nr87U.js.map +1 -0
  475. package/dist/notes/index.js +9 -9
  476. package/dist/reminders/index.js +10 -10
  477. package/dist/routes/components/index.js +1 -1
  478. package/dist/routes/index.js +1 -1
  479. package/dist/search-BSUkQ-Xr.js +835 -0
  480. package/dist/search-BSUkQ-Xr.js.map +1 -0
  481. package/dist/shell/index.js +26 -26
  482. package/dist/shell/ui/addUser/index.js +4 -4
  483. package/dist/shell/ui/appSwitcher/index.js +1 -1
  484. package/dist/shell/ui/index.js +10 -10
  485. package/dist/status-B1s9Enk7.js +70 -0
  486. package/dist/status-B1s9Enk7.js.map +1 -0
  487. package/dist/stepper-aL9VMcSC.js +11 -0
  488. package/dist/stepper-aL9VMcSC.js.map +1 -0
  489. package/dist/stores/index.js +3 -2
  490. package/dist/stringUtils-B4WGDL48.js +27 -0
  491. package/dist/stringUtils-B4WGDL48.js.map +1 -0
  492. package/dist/tabs-D_suXiTu.js +49 -0
  493. package/dist/tabs-D_suXiTu.js.map +1 -0
  494. package/dist/templates-CzJupJdo.js +116 -0
  495. package/dist/templates-CzJupJdo.js.map +1 -0
  496. package/dist/tenantStore-C-KEqiXA.js +19 -0
  497. package/dist/tenantStore-C-KEqiXA.js.map +1 -0
  498. package/dist/textField-DVB-j22h.js +104 -0
  499. package/dist/textField-DVB-j22h.js.map +1 -0
  500. package/dist/timeline-D-bycvFn.js +213 -0
  501. package/dist/timeline-D-bycvFn.js.map +1 -0
  502. package/dist/treeMenu/index.js +7 -7
  503. package/dist/types/src/UI/inputs/buttons/UdpActionCard/CpsWorkflowCardExample.d.ts +7 -0
  504. package/dist/types/src/UI/inputs/buttons/UdpActionCard/CpsWorkflowCardExample.d.ts.map +1 -0
  505. package/dist/types/src/UI/inputs/buttons/UdpActionCard/UdpActionCard.d.ts +38 -0
  506. package/dist/types/src/UI/inputs/buttons/UdpActionCard/UdpActionCard.d.ts.map +1 -0
  507. package/dist/types/src/UI/inputs/buttons/UdpActionCard/index.d.ts +2 -0
  508. package/dist/types/src/UI/inputs/buttons/UdpActionCard/index.d.ts.map +1 -0
  509. package/dist/types/src/UI/inputs/buttons/index.d.ts +1 -0
  510. package/dist/types/src/UI/inputs/buttons/index.d.ts.map +1 -1
  511. package/dist/types/src/enums/unitySystemEnums.d.ts +29 -1
  512. package/dist/types/src/enums/unitySystemEnums.d.ts.map +1 -1
  513. package/dist/types/src/hooks/useTransactionType.d.ts +7 -0
  514. package/dist/types/src/hooks/useTransactionType.d.ts.map +1 -0
  515. package/dist/types/src/index.d.ts +2 -0
  516. package/dist/types/src/index.d.ts.map +1 -1
  517. package/dist/types/src/routes/UdpRoutes.d.ts.map +1 -1
  518. package/dist/types/src/stores/transactionStore.d.ts +7 -0
  519. package/dist/types/src/stores/transactionStore.d.ts.map +1 -0
  520. package/dist/types/src/udp/pages/UdpFormsBuilderPage/index.d.ts +1 -1
  521. package/dist/types/src/udp/pages/UdpFormsBuilderPage/index.d.ts.map +1 -1
  522. package/dist/types/src/udp/pages/UdpFormsListPage/index.d.ts +1 -1
  523. package/dist/types/src/udp/pages/UdpFormsListPage/index.d.ts.map +1 -1
  524. package/dist/types/src/udp/pages/UdpPages/index.d.ts +4 -0
  525. package/dist/types/src/udp/pages/UdpPages/index.d.ts.map +1 -1
  526. package/dist/types/src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts +4 -0
  527. package/dist/types/src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -0
  528. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.d.ts +4 -0
  529. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.d.ts.map +1 -0
  530. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.d.ts +4 -0
  531. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.d.ts.map +1 -0
  532. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionForm.d.ts +4 -0
  533. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionForm.d.ts.map +1 -0
  534. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionFormFields.d.ts +4 -0
  535. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionFormFields.d.ts.map +1 -0
  536. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionUiActionForm.d.ts +4 -0
  537. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionUiActionForm.d.ts.map +1 -0
  538. package/dist/types/src/udp/pages/UdpTransactionTypesPage/index.d.ts +3 -0
  539. package/dist/types/src/udp/pages/UdpTransactionTypesPage/index.d.ts.map +1 -0
  540. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.d.ts +4 -0
  541. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.d.ts.map +1 -0
  542. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusCreateAndEditSidesheet.d.ts +4 -0
  543. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusCreateAndEditSidesheet.d.ts.map +1 -0
  544. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.d.ts +4 -0
  545. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.d.ts.map +1 -0
  546. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionCreateAndEditSidesheet.d.ts +4 -0
  547. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionCreateAndEditSidesheet.d.ts.map +1 -0
  548. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionSidesheet.d.ts +4 -0
  549. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionSidesheet.d.ts.map +1 -0
  550. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionCreateAndEditSidesheet.d.ts +4 -0
  551. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionCreateAndEditSidesheet.d.ts.map +1 -0
  552. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionSidesheet.d.ts +4 -0
  553. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionSidesheet.d.ts.map +1 -0
  554. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts +3 -0
  555. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -0
  556. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts +4 -0
  557. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -0
  558. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts +4 -0
  559. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -0
  560. package/dist/types/src/udp/pages/UdpTransactionsPage/index.d.ts +3 -0
  561. package/dist/types/src/udp/pages/UdpTransactionsPage/index.d.ts.map +1 -0
  562. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentList.d.ts +3 -0
  563. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentList.d.ts.map +1 -0
  564. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentTransaction.d.ts +3 -0
  565. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentTransaction.d.ts.map +1 -0
  566. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.d.ts +4 -0
  567. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.d.ts.map +1 -0
  568. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransactionHeaderItem.d.ts +5 -0
  569. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransactionHeaderItem.d.ts.map +1 -0
  570. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/ViewTransaction.d.ts +4 -0
  571. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/ViewTransaction.d.ts.map +1 -0
  572. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts +7 -0
  573. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -0
  574. package/dist/types/src/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  575. package/dist/types/src/utilities/transactions/useTransactionEngine.d.ts +11 -0
  576. package/dist/types/src/utilities/transactions/useTransactionEngine.d.ts.map +1 -0
  577. package/dist/types/tsconfig.tsbuildinfo +1 -1
  578. package/dist/typography-DjzjMppe.js +47 -0
  579. package/dist/typography-DjzjMppe.js.map +1 -0
  580. package/dist/udp/ShortcutContent/index.js +6 -6
  581. package/dist/udp/export/index.js +11 -11
  582. package/dist/udp/fileImportMapping/index.js +11 -11
  583. package/dist/udp/pages/UdpAuditEvents/index.js +8 -8
  584. package/dist/udp/pages/UdpDataBrowserPage/index.js +15 -15
  585. package/dist/udp/pages/UdpFormsBuilderPage/index.js +2 -2
  586. package/dist/udp/pages/UdpFormsListPage/index.js +2 -2
  587. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +17 -17
  588. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +11 -11
  589. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +3 -3
  590. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +27 -27
  591. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +26 -26
  592. package/dist/udp/pages/UdpNotesPage/index.js +13 -13
  593. package/dist/udp/pages/UdpPages/index.js +151 -52
  594. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  595. package/dist/udp/pages/UdpPrivateForm/index.js +7 -7
  596. package/dist/udp/pages/UdpRemindersPage/index.js +13 -13
  597. package/dist/udp/pages/UdpTransactionTypesPage/index.js +246 -0
  598. package/dist/udp/pages/UdpTransactionsPage/index.js +249 -0
  599. package/dist/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.css +141 -0
  600. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.css +7 -0
  601. package/dist/udp/pages/UdpVerticalManagementPage/index.js +11 -11
  602. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +10 -10
  603. package/dist/udp/pages/index.js +151 -52
  604. package/dist/ui-8A2eXECe.js +19 -0
  605. package/dist/ui-8A2eXECe.js.map +1 -0
  606. package/dist/ui-DEMpHwaH.js +20 -0
  607. package/dist/ui-DEMpHwaH.js.map +1 -0
  608. package/dist/unitySystemEnums-DtVX3A-I.js +327 -0
  609. package/dist/unitySystemEnums-DtVX3A-I.js.map +1 -0
  610. package/dist/useActions-C4vaudH3.js +192 -0
  611. package/dist/useActions-C4vaudH3.js.map +1 -0
  612. package/dist/usePromotedMethodEntities-vVQQqHwx.js +97 -0
  613. package/dist/usePromotedMethodEntities-vVQQqHwx.js.map +1 -0
  614. package/dist/useSearchFilterParamsMap-bkogr9GV.js +128 -0
  615. package/dist/useSearchFilterParamsMap-bkogr9GV.js.map +1 -0
  616. package/dist/utilities/aggrid/datasources/index.js +3 -3
  617. package/dist/utilities/aggrid/index.js +4 -4
  618. package/dist/utilities/auth/index.js +4 -4
  619. package/dist/utilities/customIcons/index.js +1 -1
  620. package/dist/utilities/floorplanFunctions/index.js +1 -1
  621. package/dist/utilities/form/paymentForm/index.js +12 -12
  622. package/dist/utilities/iconLibrary/index.js +1 -0
  623. package/dist/utilities/index.js +3 -3
  624. package/dist/utilities/menus/index.js +2 -2
  625. package/dist/utilities/provider/index.js +15 -15
  626. package/dist/utilities/redirect/pages/index.js +1 -1
  627. package/dist/utilities/search/index.js +2 -2
  628. package/dist/utilities/style/index.js +1 -1
  629. package/dist/utilities/tenant/index.js +3 -3
  630. package/dist/utilities/tree/index.js +5 -4
  631. package/dist/utilities/uploader/index.js +1 -1
  632. package/dist/utilities-BP_Xnt81.js +262 -0
  633. package/dist/utilities-BP_Xnt81.js.map +1 -0
  634. package/dist/utilityHeader-DoERC8u4.js +47 -0
  635. package/dist/utilityHeader-DoERC8u4.js.map +1 -0
  636. package/dist/widgets-GXn2cZB2.js +180 -0
  637. package/dist/widgets-GXn2cZB2.js.map +1 -0
  638. package/dist/withEngineComponent-sMtO2PAT.js +28 -0
  639. package/dist/withEngineComponent-sMtO2PAT.js.map +1 -0
  640. package/dist/workflow/components/index.js +1 -1
  641. package/dist/workflow/index.js +10 -10
  642. package/dist/workflow/menus/index.js +8 -8
  643. package/export-map.json +8 -2
  644. package/package.json +1 -1
  645. package/dist/Accordion-BVLUCIjd.js +0 -192
  646. package/dist/Accordion-BVLUCIjd.js.map +0 -1
  647. package/dist/ActionProvider-MFZvkh4u.js +0 -368
  648. package/dist/ActionProvider-MFZvkh4u.js.map +0 -1
  649. package/dist/ActionSplitScreen-SncJFJJQ.js +0 -296
  650. package/dist/ActionSplitScreen-SncJFJJQ.js.map +0 -1
  651. package/dist/ActionWrapper-Dq45yDqo.js +0 -891
  652. package/dist/ActionWrapper-Dq45yDqo.js.map +0 -1
  653. package/dist/ActionsRenderer-B7z5hXrD.js +0 -242
  654. package/dist/ActionsRenderer-B7z5hXrD.js.map +0 -1
  655. package/dist/AggregateChip-BDugg_kG.js +0 -242
  656. package/dist/AggregateChip-BDugg_kG.js.map +0 -1
  657. package/dist/AlertContainer-BxilszfK.js +0 -45
  658. package/dist/AlertContainer-BxilszfK.js.map +0 -1
  659. package/dist/AmChart-CbmGrf-h.js +0 -71
  660. package/dist/AmChart-CbmGrf-h.js.map +0 -1
  661. package/dist/AmbientGridTemplate-BecuOnHe.js +0 -458
  662. package/dist/AmbientGridTemplate-BecuOnHe.js.map +0 -1
  663. package/dist/AmbientList-Dtxq1B-8.js +0 -141
  664. package/dist/AmbientList-Dtxq1B-8.js.map +0 -1
  665. package/dist/AmbientSingleDateSelector-O4JMluV8.js +0 -51
  666. package/dist/AmbientSingleDateSelector-O4JMluV8.js.map +0 -1
  667. package/dist/AmbientStepper-Dv1WH2x1.js +0 -175
  668. package/dist/AmbientStepper-Dv1WH2x1.js.map +0 -1
  669. package/dist/AmbientToast-CM8hpLDi.js +0 -70
  670. package/dist/AmbientToast-CM8hpLDi.js.map +0 -1
  671. package/dist/AmbientToggleButtonGroup-IGzzT7IL.js +0 -87
  672. package/dist/AmbientToggleButtonGroup-IGzzT7IL.js.map +0 -1
  673. package/dist/AmbientVisualizationCard-DbJKDm3n.js +0 -232
  674. package/dist/AmbientVisualizationCard-DbJKDm3n.js.map +0 -1
  675. package/dist/AmbientVisualizer-APmXdX5E.js +0 -627
  676. package/dist/AmbientVisualizer-APmXdX5E.js.map +0 -1
  677. package/dist/AppMenu-B9CCWiY8.js +0 -174
  678. package/dist/AppMenu-B9CCWiY8.js.map +0 -1
  679. package/dist/AvatarAlphabet-CX-usWH_.js +0 -187
  680. package/dist/AvatarAlphabet-CX-usWH_.js.map +0 -1
  681. package/dist/BarChartWidget-DvxJmSJp.js +0 -85
  682. package/dist/BarChartWidget-DvxJmSJp.js.map +0 -1
  683. package/dist/BaseTreeMenu-DitVfbeZ.js +0 -357
  684. package/dist/BaseTreeMenu-DitVfbeZ.js.map +0 -1
  685. package/dist/BioCardWrapper-CI0ZngTU.js +0 -513
  686. package/dist/BioCardWrapper-CI0ZngTU.js.map +0 -1
  687. package/dist/Box-Ba-rt7ri.js +0 -11
  688. package/dist/Box-Ba-rt7ri.js.map +0 -1
  689. package/dist/BubbleWidget-sXx3k5jw.js +0 -57
  690. package/dist/BubbleWidget-sXx3k5jw.js.map +0 -1
  691. package/dist/BulkActionsGridButton-CSzHiVvH.js +0 -922
  692. package/dist/BulkActionsGridButton-CSzHiVvH.js.map +0 -1
  693. package/dist/CardList-GnXMuKID.js +0 -78
  694. package/dist/CardList-GnXMuKID.js.map +0 -1
  695. package/dist/ChipAlphabet-Co4gOUVP.js +0 -353
  696. package/dist/ChipAlphabet-Co4gOUVP.js.map +0 -1
  697. package/dist/CircleButton-Cz82uLst.js +0 -240
  698. package/dist/CircleButton-Cz82uLst.js.map +0 -1
  699. package/dist/CircleGaugeWidget-yhjzKo-3.js +0 -111
  700. package/dist/CircleGaugeWidget-yhjzKo-3.js.map +0 -1
  701. package/dist/CompactDataList-DKttySfi.js +0 -16
  702. package/dist/CompactDataList-DKttySfi.js.map +0 -1
  703. package/dist/ContentContainer-C-E_bjje.js +0 -30
  704. package/dist/ContentContainer-C-E_bjje.js.map +0 -1
  705. package/dist/CoreLayoutFloorplan-xIdceY2Q.js +0 -154
  706. package/dist/CoreLayoutFloorplan-xIdceY2Q.js.map +0 -1
  707. package/dist/CrudBrowserContainer-C2-yNCJg.js +0 -176
  708. package/dist/CrudBrowserContainer-C2-yNCJg.js.map +0 -1
  709. package/dist/CrudForm-DzmNPfVa.js +0 -349
  710. package/dist/CrudForm-DzmNPfVa.js.map +0 -1
  711. package/dist/CrudTableSidePanel-CXOSojmw.js +0 -120
  712. package/dist/CrudTableSidePanel-CXOSojmw.js.map +0 -1
  713. package/dist/DataBrowserContainer-DHE9PS3L.js +0 -397
  714. package/dist/DataBrowserContainer-DHE9PS3L.js.map +0 -1
  715. package/dist/DateTrendWidget-CwSCalMf.js +0 -60
  716. package/dist/DateTrendWidget-CwSCalMf.js.map +0 -1
  717. package/dist/DensePlotWidget-DekKAdvx.js +0 -67
  718. package/dist/DensePlotWidget-DekKAdvx.js.map +0 -1
  719. package/dist/Directory-BHqbhwpx.js +0 -52
  720. package/dist/Directory-BHqbhwpx.js.map +0 -1
  721. package/dist/EntityHeader-y6CNHP0L.js +0 -528
  722. package/dist/EntityHeader-y6CNHP0L.js.map +0 -1
  723. package/dist/ExpandRenderer-B8RDzjXQ.js +0 -20
  724. package/dist/ExpandRenderer-B8RDzjXQ.js.map +0 -1
  725. package/dist/Expander-BxaMSun-.js +0 -81
  726. package/dist/Expander-BxaMSun-.js.map +0 -1
  727. package/dist/ExtenderToggle-CKt1tY6l.js +0 -48
  728. package/dist/ExtenderToggle-CKt1tY6l.js.map +0 -1
  729. package/dist/FieldArrayCard-KGSDXwrq.js +0 -404
  730. package/dist/FieldArrayCard-KGSDXwrq.js.map +0 -1
  731. package/dist/FileUpload-DZ-Dv79i.js +0 -241
  732. package/dist/FileUpload-DZ-Dv79i.js.map +0 -1
  733. package/dist/FileViewer-D4N4iN6a.js +0 -385
  734. package/dist/FileViewer-D4N4iN6a.js.map +0 -1
  735. package/dist/FluentActivityRow-ClmtMW8u.js +0 -69
  736. package/dist/FluentActivityRow-ClmtMW8u.js.map +0 -1
  737. package/dist/FluentBody-BObfuo5B.js +0 -16
  738. package/dist/FluentBody-BObfuo5B.js.map +0 -1
  739. package/dist/FluentCardHeader-DTGhjIV0.js +0 -29
  740. package/dist/FluentCardHeader-DTGhjIV0.js.map +0 -1
  741. package/dist/FluentCardText-xjUpNmY9.js +0 -89
  742. package/dist/FluentCardText-xjUpNmY9.js.map +0 -1
  743. package/dist/FluentCell-7rw6RNJU.js +0 -81
  744. package/dist/FluentCell-7rw6RNJU.js.map +0 -1
  745. package/dist/FluentDataTable-UPj_BezW.js +0 -30
  746. package/dist/FluentDataTable-UPj_BezW.js.map +0 -1
  747. package/dist/FluentHead-B9Abo5q9.js +0 -20
  748. package/dist/FluentHead-B9Abo5q9.js.map +0 -1
  749. package/dist/FluentLink-D_wxolsb.js +0 -39
  750. package/dist/FluentLink-D_wxolsb.js.map +0 -1
  751. package/dist/FluentProfileMenuCard-DPPx-nDJ.js +0 -821
  752. package/dist/FluentProfileMenuCard-DPPx-nDJ.js.map +0 -1
  753. package/dist/FluentRadioGroup-B-nH3Qn7.js +0 -31
  754. package/dist/FluentRadioGroup-B-nH3Qn7.js.map +0 -1
  755. package/dist/FluentRow-C-TnzO9m.js +0 -18
  756. package/dist/FluentRow-C-TnzO9m.js.map +0 -1
  757. package/dist/FluentSelectMenu-CfF5p6vV.js +0 -28
  758. package/dist/FluentSelectMenu-CfF5p6vV.js.map +0 -1
  759. package/dist/FluentSideNav-BmKdRF_s.js +0 -144
  760. package/dist/FluentSideNav-BmKdRF_s.js.map +0 -1
  761. package/dist/FluentSimpleSelect-sDwSJFGU.js +0 -420
  762. package/dist/FluentSimpleSelect-sDwSJFGU.js.map +0 -1
  763. package/dist/FluentSimpleTabs-DczLNWuA.js +0 -72
  764. package/dist/FluentSimpleTabs-DczLNWuA.js.map +0 -1
  765. package/dist/FluentTabPanel-B1ag1UNP.js +0 -24
  766. package/dist/FluentTabPanel-B1ag1UNP.js.map +0 -1
  767. package/dist/FluentTabUtility-BjySMPdy.js +0 -55
  768. package/dist/FluentTabUtility-BjySMPdy.js.map +0 -1
  769. package/dist/FluentTimePicker-BfGJcPck.js +0 -67
  770. package/dist/FluentTimePicker-BfGJcPck.js.map +0 -1
  771. package/dist/FluentTimeline-CiDvNDHN.js +0 -92
  772. package/dist/FluentTimeline-CiDvNDHN.js.map +0 -1
  773. package/dist/FluentTimeline-vLyX4O7h.js +0 -156
  774. package/dist/FluentTimeline-vLyX4O7h.js.map +0 -1
  775. package/dist/FluentUploadIconButton-Dj9WO9s2.js +0 -129
  776. package/dist/FluentUploadIconButton-Dj9WO9s2.js.map +0 -1
  777. package/dist/FormControl-CX_uERHp.js +0 -12
  778. package/dist/FormControl-CX_uERHp.js.map +0 -1
  779. package/dist/FormControlLabel-CtB6GV-I.js +0 -17
  780. package/dist/FormControlLabel-CtB6GV-I.js.map +0 -1
  781. package/dist/GaugeWidget-BsJZcZAU.js +0 -382
  782. package/dist/GaugeWidget-BsJZcZAU.js.map +0 -1
  783. package/dist/GraphCard-B7t1rFb-.js +0 -75
  784. package/dist/GraphCard-B7t1rFb-.js.map +0 -1
  785. package/dist/Grid-CQe49OTv.js +0 -17
  786. package/dist/Grid-CQe49OTv.js.map +0 -1
  787. package/dist/GridFunctions-BmV2e-nR.js +0 -150
  788. package/dist/GridFunctions-BmV2e-nR.js.map +0 -1
  789. package/dist/GroupNode-BxnXH0gG.js +0 -39
  790. package/dist/GroupNode-BxnXH0gG.js.map +0 -1
  791. package/dist/HeaderExpander-XX12jgXn.js +0 -53
  792. package/dist/HeaderExpander-XX12jgXn.js.map +0 -1
  793. package/dist/IconKey-DS-8yvP3.js +0 -60
  794. package/dist/IconKey-DS-8yvP3.js.map +0 -1
  795. package/dist/IconRenderer-B2FUVnhs.js +0 -43
  796. package/dist/IconRenderer-B2FUVnhs.js.map +0 -1
  797. package/dist/ImportDataFromFileMapping-CBKGm2pM.js +0 -569
  798. package/dist/ImportDataFromFileMapping-CBKGm2pM.js.map +0 -1
  799. package/dist/IndicatorChip-auCyd2E-.js +0 -32
  800. package/dist/IndicatorChip-auCyd2E-.js.map +0 -1
  801. package/dist/InfoCard-CvkmC7Sv.js +0 -59
  802. package/dist/InfoCard-CvkmC7Sv.js.map +0 -1
  803. package/dist/InputAdornment-D7eaaFHG.js +0 -15
  804. package/dist/InputAdornment-D7eaaFHG.js.map +0 -1
  805. package/dist/InsightRenderer-BwE5OX4C.js +0 -83
  806. package/dist/InsightRenderer-BwE5OX4C.js.map +0 -1
  807. package/dist/ItemsWidgetCard-D1rGMaXQ.js +0 -180
  808. package/dist/ItemsWidgetCard-D1rGMaXQ.js.map +0 -1
  809. package/dist/KeyValueTextField-Bih18GOZ.js +0 -104
  810. package/dist/KeyValueTextField-Bih18GOZ.js.map +0 -1
  811. package/dist/LineAndSparklinesWidget-BEWoRerh.js +0 -101
  812. package/dist/LineAndSparklinesWidget-BEWoRerh.js.map +0 -1
  813. package/dist/LineGraphWidget-Dc-G6-QJ.js +0 -92
  814. package/dist/LineGraphWidget-Dc-G6-QJ.js.map +0 -1
  815. package/dist/ListCard-BbtJhbNg.js +0 -33
  816. package/dist/ListCard-BbtJhbNg.js.map +0 -1
  817. package/dist/MapLayout-D6hNVarS.js +0 -513
  818. package/dist/MapLayout-D6hNVarS.js.map +0 -1
  819. package/dist/MapUtilities-BdP6EnoS.js +0 -96
  820. package/dist/MapUtilities-BdP6EnoS.js.map +0 -1
  821. package/dist/MenuPage-D-GljLi1.js +0 -268
  822. package/dist/MenuPage-D-GljLi1.js.map +0 -1
  823. package/dist/MenuPage-DZl_yJC2.js +0 -58
  824. package/dist/MttMainTimeline-BsI0z3aG.js +0 -888
  825. package/dist/MttMainTimeline-BsI0z3aG.js.map +0 -1
  826. package/dist/MttSummary-DowXi1ZV.js +0 -256
  827. package/dist/MttSummary-DowXi1ZV.js.map +0 -1
  828. package/dist/MyExportsPage-3e8kRwNT.js +0 -216
  829. package/dist/MyExportsPage-3e8kRwNT.js.map +0 -1
  830. package/dist/MyExportsPage-D3yr41VC.js +0 -64
  831. package/dist/NestedGrid-DoJN7e4x.js +0 -84
  832. package/dist/NestedGrid-DoJN7e4x.js.map +0 -1
  833. package/dist/NewsCard-CG1s3H8F.js +0 -57
  834. package/dist/NewsCard-CG1s3H8F.js.map +0 -1
  835. package/dist/Notes-C7LG4j_s.js +0 -63
  836. package/dist/Notes-C7LG4j_s.js.map +0 -1
  837. package/dist/NotesScreen-COYYhVJJ.js +0 -365
  838. package/dist/NotesScreen-COYYhVJJ.js.map +0 -1
  839. package/dist/OutlookCallback-BJmI0px0.js +0 -50
  840. package/dist/OutlookCallback-BJmI0px0.js.map +0 -1
  841. package/dist/PAHAdditionalTitleComponent-BxXnCmRL.js +0 -47
  842. package/dist/PAHAdditionalTitleComponent-BxXnCmRL.js.map +0 -1
  843. package/dist/PDFViewer-DSCCSPA6.js +0 -169
  844. package/dist/PDFViewer-DSCCSPA6.js.map +0 -1
  845. package/dist/PageActionWrapper-DuvcqQCs.js +0 -55
  846. package/dist/PageActionWrapper-DuvcqQCs.js.map +0 -1
  847. package/dist/PageNotFoundRoute-CBxqlkDM.js +0 -4
  848. package/dist/PageNotFoundRoute-DO8_7Seh.js +0 -24
  849. package/dist/PageNotFoundRoute-DO8_7Seh.js.map +0 -1
  850. package/dist/PageRenderer-ToHJXkJq.js +0 -29
  851. package/dist/PageRenderer-ToHJXkJq.js.map +0 -1
  852. package/dist/PaymentForm-D09B2VrH.js +0 -2250
  853. package/dist/PaymentForm-D09B2VrH.js.map +0 -1
  854. package/dist/PaymentReversalForm-BCACJcnX.js +0 -431
  855. package/dist/PaymentReversalForm-BCACJcnX.js.map +0 -1
  856. package/dist/RecentlyLoadedNodesTable-YIoOLaPx.js +0 -108
  857. package/dist/RecentlyLoadedNodesTable-YIoOLaPx.js.map +0 -1
  858. package/dist/RecentlyLoadedNodesWidget-CFSKFiGc.js +0 -34
  859. package/dist/RecentlyLoadedNodesWidget-CFSKFiGc.js.map +0 -1
  860. package/dist/RejectIcon-DNo11W_H.js +0 -40
  861. package/dist/RejectIcon-DNo11W_H.js.map +0 -1
  862. package/dist/RemindersCard-EbJUUB54.js +0 -138
  863. package/dist/RemindersCard-EbJUUB54.js.map +0 -1
  864. package/dist/RemindersScreen-bwvsZOGc.js +0 -440
  865. package/dist/RemindersScreen-bwvsZOGc.js.map +0 -1
  866. package/dist/RemindersWidget-iGOcibjO.js +0 -338
  867. package/dist/RemindersWidget-iGOcibjO.js.map +0 -1
  868. package/dist/SearchServiceDatasource-CFWLJElU.js +0 -156
  869. package/dist/SearchServiceDatasource-CFWLJElU.js.map +0 -1
  870. package/dist/SearchUtilities-Df1gkDw9.js +0 -176
  871. package/dist/SearchUtilities-Df1gkDw9.js.map +0 -1
  872. package/dist/Shell-FkTfRpO5.js +0 -269
  873. package/dist/Shell-FkTfRpO5.js.map +0 -1
  874. package/dist/ShortcutContentFinder-MyXbDeFJ.js +0 -123
  875. package/dist/ShortcutContentFinder-MyXbDeFJ.js.map +0 -1
  876. package/dist/SimpleTable-DX9xdKYK.js +0 -25
  877. package/dist/SimpleTable-DX9xdKYK.js.map +0 -1
  878. package/dist/SparsePlotWidget-DtSUgvpM.js +0 -82
  879. package/dist/SparsePlotWidget-DtSUgvpM.js.map +0 -1
  880. package/dist/Statistic-Bue94-gf.js +0 -323
  881. package/dist/Statistic-Bue94-gf.js.map +0 -1
  882. package/dist/StatusCellRenderer-DK3MexwY.js +0 -18
  883. package/dist/StatusCellRenderer-DK3MexwY.js.map +0 -1
  884. package/dist/StatusFlags-rQW0_El6.js +0 -70
  885. package/dist/StatusFlags-rQW0_El6.js.map +0 -1
  886. package/dist/Sticky-CIJot-6K.js +0 -50
  887. package/dist/Sticky-CIJot-6K.js.map +0 -1
  888. package/dist/StylizedTitle-DF4cuZ3l.js +0 -47
  889. package/dist/StylizedTitle-DF4cuZ3l.js.map +0 -1
  890. package/dist/SupportCaseSideSheet-BTCZjI26.js +0 -376
  891. package/dist/SupportCaseSideSheet-BTCZjI26.js.map +0 -1
  892. package/dist/SupportCaseSideSheet-Bv9FsrIk.js +0 -33
  893. package/dist/TableContainer-B4aFO7ly.js +0 -110
  894. package/dist/TableContainer-B4aFO7ly.js.map +0 -1
  895. package/dist/TenantProvider-rYWrO7y7.js +0 -37
  896. package/dist/TenantProvider-rYWrO7y7.js.map +0 -1
  897. package/dist/TicketCard-CVryZ0w6.js +0 -143
  898. package/dist/TicketCard-CVryZ0w6.js.map +0 -1
  899. package/dist/TimelineCalendar-L-xwg4nj.js +0 -12
  900. package/dist/TimelineCalendar-L-xwg4nj.js.map +0 -1
  901. package/dist/ToggleSection-D08xH-j8.js +0 -116
  902. package/dist/ToggleSection-D08xH-j8.js.map +0 -1
  903. package/dist/TokenGroupItem-BUctOTdr.js +0 -36
  904. package/dist/TokenGroupItem-BUctOTdr.js.map +0 -1
  905. package/dist/TreeUtilities-C6e2dd4g.js +0 -1130
  906. package/dist/TreeUtilities-C6e2dd4g.js.map +0 -1
  907. package/dist/TrimForAvatar-Co2o_WKF.js +0 -8
  908. package/dist/TrimForAvatar-Co2o_WKF.js.map +0 -1
  909. package/dist/UI/inputs/buttons/index.js.map +0 -1
  910. package/dist/UdpAdvancedSearchBuilder-6P8dWXaP.js +0 -19
  911. package/dist/UdpAdvancedSearchBuilder-6P8dWXaP.js.map +0 -1
  912. package/dist/UdpAlertsContainer-DehnlBcE.js +0 -80
  913. package/dist/UdpAlertsContainer-DehnlBcE.js.map +0 -1
  914. package/dist/UdpAuditEvents-C15mWgaI.js +0 -9
  915. package/dist/UdpAuditEvents-C15mWgaI.js.map +0 -1
  916. package/dist/UdpAuditEventsPage-BF-AXqwI.js +0 -86
  917. package/dist/UdpAuditEventsPage-CUXXlLY1.js +0 -424
  918. package/dist/UdpAuditEventsPage-CUXXlLY1.js.map +0 -1
  919. package/dist/UdpCalendarYearView-DlwZdsjG.js +0 -61
  920. package/dist/UdpCalendarYearView-DlwZdsjG.js.map +0 -1
  921. package/dist/UdpDataBrowserPage-ByYTIFed.js +0 -458
  922. package/dist/UdpDataBrowserPage-ByYTIFed.js.map +0 -1
  923. package/dist/UdpDateRangeSelector-CMi3ky3H.js +0 -11
  924. package/dist/UdpDateRangeSelector-CMi3ky3H.js.map +0 -1
  925. package/dist/UdpFormsBuilderPage-C2M1ha_P.js +0 -42
  926. package/dist/UdpFormsBuilderPage-C2M1ha_P.js.map +0 -1
  927. package/dist/UdpFormsListPage-kZnZP2Hi.js +0 -27
  928. package/dist/UdpFormsListPage-kZnZP2Hi.js.map +0 -1
  929. package/dist/UdpFormsSubmissionGrid-bDwM_jk1.js +0 -459
  930. package/dist/UdpFormsSubmissionGrid-bDwM_jk1.js.map +0 -1
  931. package/dist/UdpGridPanelManagementPage-CTLw0vlP.js +0 -239
  932. package/dist/UdpGridPanelManagementPage-CTLw0vlP.js.map +0 -1
  933. package/dist/UdpGridTemplate-CodLjVVL.js +0 -46
  934. package/dist/UdpGridTemplate-CodLjVVL.js.map +0 -1
  935. package/dist/UdpImportFromFileMappingPage-B-GRm1zk.js +0 -17
  936. package/dist/UdpImportFromFileMappingPage-B-GRm1zk.js.map +0 -1
  937. package/dist/UdpInquiryMaintenanceEnginePage-BascqEkC.js +0 -26
  938. package/dist/UdpInquiryMaintenanceEnginePage-BascqEkC.js.map +0 -1
  939. package/dist/UdpMaintenanceEnginePage-DbI1T8S6.js +0 -468
  940. package/dist/UdpMaintenanceEnginePage-DbI1T8S6.js.map +0 -1
  941. package/dist/UdpMap-BgkNp2X2.js +0 -11
  942. package/dist/UdpMap-BgkNp2X2.js.map +0 -1
  943. package/dist/UdpMapToolbar-DBzTPyjO.js +0 -17
  944. package/dist/UdpMapToolbar-DBzTPyjO.js.map +0 -1
  945. package/dist/UdpNotesPage-BRk1UPem.js +0 -185
  946. package/dist/UdpNotesPage-BRk1UPem.js.map +0 -1
  947. package/dist/UdpPages-BHCz4sn1.js +0 -48
  948. package/dist/UdpPages-BHCz4sn1.js.map +0 -1
  949. package/dist/UdpPrivateForm-CamStDVL.js +0 -52
  950. package/dist/UdpPrivateForm-CamStDVL.js.map +0 -1
  951. package/dist/UdpRemindersPage-CkGREvgu.js +0 -208
  952. package/dist/UdpRemindersPage-CkGREvgu.js.map +0 -1
  953. package/dist/UdpRoutes-f3JxaT47.js +0 -123
  954. package/dist/UdpRoutes-f3JxaT47.js.map +0 -1
  955. package/dist/UdpTabUtility-Bsw7cSha.js +0 -49
  956. package/dist/UdpTabUtility-Bsw7cSha.js.map +0 -1
  957. package/dist/UdpTimeSelector-DXm0N2kq.js +0 -147
  958. package/dist/UdpTimeSelector-DXm0N2kq.js.map +0 -1
  959. package/dist/UdpTimelineItemSeparator-jXg9Fier.js +0 -213
  960. package/dist/UdpTimelineItemSeparator-jXg9Fier.js.map +0 -1
  961. package/dist/UdpVerticalManagementPage-Bpf_2UGu.js +0 -184
  962. package/dist/UdpVerticalManagementPage-Bpf_2UGu.js.map +0 -1
  963. package/dist/UdpVerticalManagementSidesheet-aIPwJWAM.js +0 -228
  964. package/dist/UdpVerticalManagementSidesheet-aIPwJWAM.js.map +0 -1
  965. package/dist/UdpXYMultiSeriesChart-BLyAiDEL.js +0 -44
  966. package/dist/UdpXYMultiSeriesChart-BLyAiDEL.js.map +0 -1
  967. package/dist/UserForm-Crii1kld.js +0 -315
  968. package/dist/UserForm-Crii1kld.js.map +0 -1
  969. package/dist/UserFormSideSheet-2QRJUUnm.js +0 -93
  970. package/dist/UserFormSideSheet-2QRJUUnm.js.map +0 -1
  971. package/dist/UserFormSideSheet-DGU02bqo.js +0 -25
  972. package/dist/UtilityBar-CdvZ37Da.js +0 -98
  973. package/dist/UtilityBar-CdvZ37Da.js.map +0 -1
  974. package/dist/VirtualBrowser-CKvzgu8L.js +0 -427
  975. package/dist/VirtualBrowser-CKvzgu8L.js.map +0 -1
  976. package/dist/VirtualBrowser-CxAjZWKa.js +0 -76
  977. package/dist/VirtualForm-Dj5FMp9u.js +0 -66
  978. package/dist/VirtualForm-Dj5FMp9u.js.map +0 -1
  979. package/dist/WorkOrderCard-BbpgAiyV.js +0 -55
  980. package/dist/WorkOrderCard-BbpgAiyV.js.map +0 -1
  981. package/dist/WorkflowContainer-CBoWiJQY.js +0 -187
  982. package/dist/WorkflowContainer-CBoWiJQY.js.map +0 -1
  983. package/dist/WorkflowContainer-CW9NJXbF.js +0 -75
  984. package/dist/WorkflowTreeMenu-DKGbOQSH.js +0 -346
  985. package/dist/WorkflowTreeMenu-DKGbOQSH.js.map +0 -1
  986. package/dist/actionSummary-Ciu0y-s0.js +0 -255
  987. package/dist/actionSummary-Ciu0y-s0.js.map +0 -1
  988. package/dist/actionUtils-cC_2y5Xi.js +0 -218
  989. package/dist/actionUtils-cC_2y5Xi.js.map +0 -1
  990. package/dist/aggregateUtils-BTBSWD8I.js +0 -70
  991. package/dist/aggregateUtils-BTBSWD8I.js.map +0 -1
  992. package/dist/aggridHelpers-DzXtwfbq.js +0 -103
  993. package/dist/aggridHelpers-DzXtwfbq.js.map +0 -1
  994. package/dist/amcharts-C-oU6vTx.js +0 -16
  995. package/dist/amcharts-C-oU6vTx.js.map +0 -1
  996. package/dist/auth-BEf5rt4s.js +0 -253
  997. package/dist/auth-BEf5rt4s.js.map +0 -1
  998. package/dist/cards-Bpy1zoxV.js +0 -76
  999. package/dist/cards-Bpy1zoxV.js.map +0 -1
  1000. package/dist/dataDisplay-CBFgak2F.js +0 -44
  1001. package/dist/dataDisplay-CBFgak2F.js.map +0 -1
  1002. package/dist/defaultTabs-CVeUq9lw.js +0 -43
  1003. package/dist/defaultTabs-CVeUq9lw.js.map +0 -1
  1004. package/dist/gridVisualizationFunctions-Dfc8cyIL.js +0 -67
  1005. package/dist/gridVisualizationFunctions-Dfc8cyIL.js.map +0 -1
  1006. package/dist/inquiry-OhbvzcJ3.js +0 -2946
  1007. package/dist/inquiry-OhbvzcJ3.js.map +0 -1
  1008. package/dist/inquiryBar-Dzmswo8F.js +0 -209
  1009. package/dist/inquiryBar-Dzmswo8F.js.map +0 -1
  1010. package/dist/menuPage-DPvDtKpN.js +0 -98
  1011. package/dist/menuPage-DPvDtKpN.js.map +0 -1
  1012. package/dist/menuUtilities-58E3hJ9u.js +0 -71
  1013. package/dist/menuUtilities-58E3hJ9u.js.map +0 -1
  1014. package/dist/search-DdbraDFl.js +0 -835
  1015. package/dist/search-DdbraDFl.js.map +0 -1
  1016. package/dist/sidebar-C8yBp4eL.js +0 -1
  1017. package/dist/stepper-sZXSP0dk.js +0 -1
  1018. package/dist/stringUtils-B2JFmevx.js +0 -27
  1019. package/dist/stringUtils-B2JFmevx.js.map +0 -1
  1020. package/dist/support-BhMVhBcD.js +0 -1
  1021. package/dist/surfaces-B445R0FQ.js +0 -1
  1022. package/dist/tableBrowser-BRVY65f3.js +0 -1
  1023. package/dist/tabs-BMrd1KM-.js +0 -1
  1024. package/dist/templates-CQ8zAjnU.js +0 -1
  1025. package/dist/tenantStore-OMCaM0Mv.js +0 -19
  1026. package/dist/tenantStore-OMCaM0Mv.js.map +0 -1
  1027. package/dist/timeline-x3kpYbLD.js +0 -1
  1028. package/dist/udp-stepper-DVglFvkY.js +0 -11
  1029. package/dist/udp-stepper-DVglFvkY.js.map +0 -1
  1030. package/dist/ui-BjpkPJO5.js +0 -1
  1031. package/dist/ui-Bqag992Z.js +0 -1
  1032. package/dist/ui-DBhxlgrk.js +0 -1
  1033. package/dist/ui-gRqaK08H.js +0 -19
  1034. package/dist/ui-gRqaK08H.js.map +0 -1
  1035. package/dist/unitySystemEnums-DQSkCr3D.js +0 -296
  1036. package/dist/unitySystemEnums-DQSkCr3D.js.map +0 -1
  1037. package/dist/useActions-BbqecXkd.js +0 -192
  1038. package/dist/useActions-BbqecXkd.js.map +0 -1
  1039. package/dist/usePromotedMethodEntities-bv9ewSry.js +0 -97
  1040. package/dist/usePromotedMethodEntities-bv9ewSry.js.map +0 -1
  1041. package/dist/useSearchFilterParamsMap-1qMwke0K.js +0 -128
  1042. package/dist/useSearchFilterParamsMap-1qMwke0K.js.map +0 -1
  1043. package/dist/utilities-BLu3F9sJ.js +0 -262
  1044. package/dist/utilities-BLu3F9sJ.js.map +0 -1
  1045. package/dist/utilities-CMoiGbGt.js +0 -1
  1046. package/dist/utilityDisplay-BHYWs3gf.js +0 -1
  1047. package/dist/utilityHeader-BsUlwtE7.js +0 -1
  1048. package/dist/utils-CRdMZZPC.js +0 -1
  1049. package/dist/utils-Cpcp_Rx8.js +0 -1
  1050. package/dist/virtualBrowser-pfw07Czd.js +0 -1
  1051. package/dist/widgets-BcHFxfRK.js +0 -1
  1052. package/dist/withEngineComponent-CUQbIi-0.js +0 -28
  1053. package/dist/withEngineComponent-CUQbIi-0.js.map +0 -1
  1054. package/dist/wrappers-CGE2HK5z.js +0 -1
  1055. /package/dist/{FluentActivity-DNv5ppko.js → addUser-U6yZur0J.js} +0 -0
  1056. /package/dist/{FluentDataTable-BXPIqR8m.js → alerts-CrXrBC0U.js} +0 -0
  1057. /package/dist/{NestedGrid-CQ_tEe-B.js → appSwitcher-DL-h1udN.js} +0 -0
  1058. /package/dist/{accordion-BLXGkcTH.js → components-BnDMVIC2.js} +0 -0
  1059. /package/dist/{addUser-D2pqu0AW.js → components-CSewXF4W.js} +0 -0
  1060. /package/dist/{advancedSearchBuilder-DAGBcP1-.js → containers-C2xRRZrD.js} +0 -0
  1061. /package/dist/{alerts-Gbvcpl4E.js → crudBrowser-l-LoWB3a.js} +0 -0
  1062. /package/dist/{appSwitcher-Cj_OxE8O.js → enums-C-EFH3bg.js} +0 -0
  1063. /package/dist/{charts-R51kXdbo.js → feedback-BWqLDcMH.js} +0 -0
  1064. /package/dist/{components-BbPynQ4E.js → feedback-D7h0Wbkr.js} +0 -0
  1065. /package/dist/{components-HFPHj0Z0.js → forms-DUpzjbB8.js} +0 -0
  1066. /package/dist/{containers-Do3V9CjC.js → functions-DN2Xb4SH.js} +0 -0
  1067. /package/dist/{crudBrowser-CNJMNMPk.js → hocs-CD62aqf-.js} +0 -0
  1068. /package/dist/{dataDisplay-CHdSKRO0.js → hooks-CBVnUtZX.js} +0 -0
  1069. /package/dist/{enums-Edm9Kwqq.js → iconLibrary-DPQEZ_2F.js} +0 -0
  1070. /package/dist/{feedback-DL6EKTOa.js → iframe-BKIvcPNh.js} +0 -0
  1071. /package/dist/{feedback-Dw-Qh7A6.js → loading-CJl_FaA7.js} +0 -0
  1072. /package/dist/{fileViewer-CMBhBXGp.js → menus-CneHHpNo.js} +0 -0
  1073. /package/dist/{floorplans-CtbDAfnq.js → modified-BZxg92lm.js} +0 -0
  1074. /package/dist/{fluentTimeline-BbvrZFSz.js → mttMainTimeline-CraR32VF.js} +0 -0
  1075. /package/dist/{forms-Bqbd2PSS.js → mttSummary-DBOBy0l7.js} +0 -0
  1076. /package/dist/{forms-uSV7-14b.js → property-DJRbzFOj.js} +0 -0
  1077. /package/dist/{functions-BKH-pLPX.js → renderers-BcqFRzzi.js} +0 -0
  1078. /package/dist/{hocs-DwAy8u5A.js → sidebar-BXnt1Pk3.js} +0 -0
  1079. /package/dist/{hooks-B7ab4j1m.js → stores-BpJXBWl4.js} +0 -0
  1080. /package/dist/{iframe-TEQyCzjj.js → support-By4zGDv2.js} +0 -0
  1081. /package/dist/{loading-BwkuGJoi.js → surfaces-jlu-tvbv.js} +0 -0
  1082. /package/dist/{mapLayout-Cg6spO9k.js → tableBrowser-DQt0n7EP.js} +0 -0
  1083. /package/dist/{maps-D2whP8Zh.js → tree-D13DjzRt.js} +0 -0
  1084. /package/dist/{menus-DugtDOhA.js → ui-P3i_0RoE.js} +0 -0
  1085. /package/dist/{menus-VWidUTp_.js → ui-ol1XdwRh.js} +0 -0
  1086. /package/dist/{modified--RrdyRlS.js → utilities-B7xYr832.js} +0 -0
  1087. /package/dist/{mttMainTimeline-DFHSLEBw.js → utilityDisplay-DDb-laj6.js} +0 -0
  1088. /package/dist/{mttSummary-BrQ0Tb62.js → utils-B78EuI1A.js} +0 -0
  1089. /package/dist/{navigation-2kyWDJg1.js → utils-BiOgBKP9.js} +0 -0
  1090. /package/dist/{property-CB8U10nw.js → virtualBrowser-DRLOvU1f.js} +0 -0
  1091. /package/dist/{renderers-BI4w5Al3.js → wrappers-6TV_GYbs.js} +0 -0
@@ -0,0 +1,2250 @@
1
+ import { t as Form } from "./Form-DbOA5j38.js";
2
+ import { t as Field } from "./Field-Cda5rJe2.js";
3
+ import { t as FluentButton } from "./FluentButton-BexKrnAp.js";
4
+ import { t as ConfigService } from "./configService-C4uoG3wj.js";
5
+ import { t as useUser } from "./useUser-wpHGo6jU.js";
6
+ import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
7
+ import { t as UnityFluentIcon } from "./UnityFluentIcon-DrASIcTF.js";
8
+ import { t as Typography$1 } from "./Typography-BMsa1JYd.js";
9
+ import { S as getIconFromName } from "./TreeUtilities-CDlHioSI.js";
10
+ import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
11
+ import { t as useAxiosGet } from "./useAxiosGet-vvPjwB4W.js";
12
+ import { n as PaymentTenderTypeEnum, r as PaymentMethodTypeEnum, t as PaymentVendorFactoryEnum } from "./paymentVendorFactoryEnum-CwnzkF9A.js";
13
+ import { t as LinearProgress$1 } from "./LinearProgress-DM2DNWCe.js";
14
+ import { t as CircularProgress$1 } from "./CircularProgress-CACqWr56.js";
15
+ import { t as FluentTextField } from "./FluentTextField-CXvZawOG.js";
16
+ import { t as FluentCheckbox } from "./FluentCheckbox-CW8pHQ21.js";
17
+ import { t as stringToProps } from "./stringUtils-B4WGDL48.js";
18
+ import { t as FormControlLabel$1 } from "./FormControlLabel-BOOvA6CZ.js";
19
+ import { t as FormControl$1 } from "./FormControl-CTmN8TEq.js";
20
+ import { t as InputAdornment$1 } from "./InputAdornment-N5f6DHtc.js";
21
+ import { t as Box$1 } from "./Box-Dzi_sgXS.js";
22
+ import { t as Grid$1 } from "./Grid-BHKvVKV6.js";
23
+ import { t as FluentSelectMenu } from "./FluentSelectMenu-BlGxxA1Z.js";
24
+ import * as React$2 from "react";
25
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
26
+ import { Badge, Box, Card, CardContent, Chip, FormControl, FormControlLabel, Grow, InputAdornment, InputLabel, LinearProgress, MenuItem, Select, Tab, Tabs, Tooltip, Typography, lighten, makeStyles, styled, useTheme } from "@material-ui/core";
27
+ import { useTranslation } from "react-i18next";
28
+ import { v4 } from "uuid";
29
+ import visaLogo from "./assets/paymentIcons/visa-logo.svg";
30
+ import masterCardLogo from "./assets/paymentIcons/mastercard-logo.svg";
31
+ import discoverLogo from "./assets/paymentIcons/discover-logo.svg";
32
+ import americaExpressLogo from "./assets/paymentIcons/american-logo.svg";
33
+ import eCheckLogo from "./assets/paymentIcons/echeck-logo.svg";
34
+ import Payment from "payment";
35
+ import visa from "./assets/paymentIcons/visa.svg";
36
+ import mastercard from "./assets/paymentIcons/mastercard.svg";
37
+ import amex from "./assets/paymentIcons/amex.svg";
38
+ import discover from "./assets/paymentIcons/discover.svg";
39
+ import diners from "./assets/paymentIcons/diners.svg";
40
+ import unionpay from "./assets/paymentIcons/unionpay.svg";
41
+ import jcb from "./assets/paymentIcons/jcb.svg";
42
+ import grey from "@material-ui/core/colors/grey";
43
+
44
+ //#region src/utilities/form/paymentForm/vendorsForms/ICheckForm.tsx
45
+ const defaultCssStyles$1 = (theme) => `
46
+ body {
47
+ background: ${theme.palette.background.default};
48
+ }
49
+ payment {
50
+ padding: 1rem;
51
+ max-width: none;
52
+ background: ${theme.palette.background.paper};
53
+ border: none;
54
+ box-shadow: none;
55
+ color: ${theme.palette.text.primary};
56
+ }
57
+ paymentNumber {
58
+ border: 1px solid ${theme.palette.divider};
59
+ }
60
+ input[type='button'],
61
+ input[type='reset'],
62
+ input[type='submit'] {
63
+ background-color: ${theme.palette.primary.main};
64
+ font-size: 14px;
65
+ height: 40px;
66
+ border-radius: 0px;
67
+ border: none;
68
+ }
69
+ `.trim();
70
+ /**
71
+ * `ICheckForm` Component
72
+ *
73
+ * Renders an iframe for payment processing via the iCheckGateway. Depending on the payment method, it dynamically generates the iframe URL with the appropriate query parameters. The component also listens for messages from the iframe, handling payment data or errors.
74
+ *
75
+ * @param {Object} props The properties passed to the component.
76
+ * @param {PaymentTenderTypeEnum} [paymentMethod=PaymentTenderTypeEnum.CreditCard] Specifies the type of payment method, influencing the iframe endpoint.
77
+ * @param {Object} [onStatusChange=null] Callback function to handle the status change event.
78
+ * @param {Object} [paymentDetails=null] An object containing customer details such as firstName, lastName, email, etc.
79
+ * @param {string} [baseUrl="https://iframe.icheckgateway.com"] The base URL for the payment gateway iframe.
80
+ * @param {string} [customCss=defaultCssStyles] Custom CSS styles to be applied within the iframe.
81
+ * @param {Object} [attributes=null] An object containing additional payment attributes such as appId, appSecret, custId, etc. These are dynamically appended to the iframe URL as query parameters.
82
+ * @param {string} [attributes.appId] Application ID for the payment gateway.
83
+ * @param {string} [attributes.appSecret] Application secret for the payment gateway.
84
+ * @param {string} [attributes.custId] Customer ID.
85
+ * @param {string} [attributes.saveTokenDisabled] Flag to disable token saving.
86
+ * @param {string} [attributes.firstName] Customer's first name.
87
+ * @param {string} [attributes.lastName] Customer's last name.
88
+ * @param {string} [attributes.email] Customer's email address.
89
+ * @param {string} [attributes.company] Customer's company name.
90
+ * @param {string} [attributes.street1] Customer's street address line 1.
91
+ * @param {string} [attributes.street2] Customer's street address line 2.
92
+ * @param {string} [attributes.city] Customer's city.
93
+ * @param {string} [attributes.custom1] A custom field for additional data.
94
+ * @param {string} [attributes.amount] Payment amount.
95
+ * @param {string} [attributes.salesTax] Applicable sales tax.
96
+ * @param {string} [attributes.entryClassCode] Entry class code for the transaction.
97
+ * @param {string} [attributes.css] Custom CSS for the iframe content.
98
+ * @param {string} [attributes.hostedURL="https://iframe.icheckgateway.com"] Hosted URL; defaults to the base URL but can be overridden.
99
+ *
100
+ * @return {React.Component} The `ICheckForm` component renders an iframe for payment processing and displays the payment response.
101
+ */
102
+ const ICheckForm = ({ paymentMethod = PaymentTenderTypeEnum.CreditCard, onStatusChange = null, paymentDetails = null, baseUrl = "https://iframe.icheckgateway.com", customCss = "", attributes = null, paymentData = null }) => {
103
+ const iframePaymentMethod = paymentMethod === PaymentTenderTypeEnum.CreditCard ? "iFrameCC" : "iFrameBA";
104
+ const [src, setSrc] = useState(`${baseUrl}/${iframePaymentMethod}.aspx?`);
105
+ const [response, setResponse] = useState({});
106
+ const [loading, setLoading] = useState(true);
107
+ const [error, setError] = useState("");
108
+ const { t } = useTranslation();
109
+ const defaultCss = defaultCssStyles$1(useTheme());
110
+ /**
111
+ * handleFiservResponse
112
+ *
113
+ * @param {*} response
114
+ */
115
+ const handleICheckResponse = useCallback((response$1) => {
116
+ const isError = response$1?.error;
117
+ const payload = JSON.stringify(response$1, null, 2);
118
+ const paymentFormResponse = {
119
+ isValid: !isError,
120
+ payload,
121
+ message: response$1?.token,
122
+ errorCode: response$1?.error,
123
+ errorMessage: response$1?.error,
124
+ selectedHostedPayment: PaymentVendorFactoryEnum.ICheck
125
+ };
126
+ onStatusChange?.(paymentFormResponse);
127
+ }, [onStatusChange, paymentMethod]);
128
+ const handleLoad = () => {
129
+ setLoading(false);
130
+ };
131
+ const handleError = () => {
132
+ setLoading(false);
133
+ };
134
+ useEffect(() => {
135
+ try {
136
+ let urlAttributes = src;
137
+ let queryParams = "";
138
+ if (paymentDetails) {
139
+ const mergedDetails = {
140
+ ...attributes,
141
+ ...paymentDetails
142
+ };
143
+ const baseUrl$1 = attributes?.baseUrl + `/${iframePaymentMethod}.aspx`;
144
+ delete mergedDetails.baseUrl;
145
+ queryParams = `${baseUrl$1}?${Object.keys(mergedDetails).filter((key) => mergedDetails[key] !== "" && mergedDetails[key] != null).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(mergedDetails[key])}`).join("&")}`;
146
+ }
147
+ queryParams += `&css=${encodeURIComponent(customCss || defaultCss)}`;
148
+ if (paymentDetails) urlAttributes = queryParams;
149
+ else urlAttributes += queryParams;
150
+ setSrc(urlAttributes);
151
+ } catch (e) {
152
+ console.error("Error generating iframe source URL:", e);
153
+ setError(t("Error generating iframe source") + e?.message);
154
+ }
155
+ }, [
156
+ attributes,
157
+ paymentDetails,
158
+ baseUrl,
159
+ iframePaymentMethod,
160
+ customCss
161
+ ]);
162
+ useEffect(() => {
163
+ const handleMessage = (e) => {
164
+ const jsonData = e.data;
165
+ if (typeof jsonData === "object" && jsonData.constructor.name === "Object") {
166
+ if (jsonData.source === "iCheck") {
167
+ if (jsonData.error) console.log("Error: " + jsonData.error);
168
+ handleICheckResponse(jsonData);
169
+ setResponse(jsonData);
170
+ }
171
+ }
172
+ };
173
+ window.addEventListener("message", handleMessage);
174
+ return () => {
175
+ window.removeEventListener("message", handleMessage);
176
+ };
177
+ }, []);
178
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, error ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Typography, {
179
+ variant: "subtitle1",
180
+ color: "error"
181
+ }, t("There was an error rendering the hosted payment form. Please check your settings and try again"), ":"), /* @__PURE__ */ React.createElement(LayoutUnit, { unit: "xxs" }), /* @__PURE__ */ React.createElement(Typography, {
182
+ variant: "body1",
183
+ color: "error"
184
+ }, t("Error"), ":", error)) : /* @__PURE__ */ React.createElement(React.Fragment, null, loading && /* @__PURE__ */ React.createElement(Box, {
185
+ sx: {
186
+ position: "fixed",
187
+ top: 0,
188
+ left: 0,
189
+ width: "100%",
190
+ height: "100%",
191
+ zIndex: 9999,
192
+ display: "flex",
193
+ alignItems: "center",
194
+ justifyContent: "center"
195
+ },
196
+ style: { backgroundColor: "rgba(255, 255, 255, 0.8)" }
197
+ }, /* @__PURE__ */ React.createElement(CircularProgress$1, {
198
+ size: "3rem",
199
+ color: "primary"
200
+ })), /* @__PURE__ */ React.createElement("iframe", {
201
+ id: "iFrameBA",
202
+ name: "iFrameBA",
203
+ src,
204
+ scrolling: "yes",
205
+ width: "100%",
206
+ height: "500",
207
+ frameBorder: "0",
208
+ onLoad: handleLoad,
209
+ onError: handleError,
210
+ style: { display: loading ? "none" : "block" }
211
+ })));
212
+ };
213
+
214
+ //#endregion
215
+ //#region src/utilities/form/paymentForm/vendorsForms/FiservForm.tsx
216
+ const defaultCssStyles = (theme) => {
217
+ return `
218
+ input, button, select {
219
+ font-family: 'Segoe UI', Roboto, Noto, 'Helvetica Neue', Helvetica, Ubuntu, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
220
+ font-size: 14px;
221
+ line-height: 1.1876em;
222
+ height: 16.6146px;
223
+ border: 1px solid ${theme.palette.grey[400]};
224
+ border-radius: 2px;
225
+ color: currentColor;
226
+ width: 80%;
227
+ height: 1.1876em;
228
+ margin: 8px 0px 0px 0px;
229
+ display: block;
230
+ padding: 6px 0px 6px 5px;
231
+ min-width: 0;
232
+ background: none;
233
+ box-sizing: content-box;
234
+ animation-name: mui-auto-fill-cancel;
235
+ letter-spacing: inherit;
236
+ animation-duration: 10ms;
237
+ }
238
+ input:focus, button:focus, select:focus {
239
+ outline: none;
240
+ border-color: ${theme.palette.primary.main};
241
+ box-shadow: 0px 0px 3px ${theme.palette.primary.main};
242
+ }
243
+ #ccexpirymonth, #ccexpiryyear {
244
+ display: inline-block;
245
+ vertical-align: middle;
246
+ }
247
+ #ccexpirymonth, #ccexpiryyear {
248
+ width: 30%;
249
+ }
250
+ br {
251
+ display: none;
252
+ }
253
+ button {
254
+ background-color: ${theme.palette.primary.main};
255
+ color: ${theme.palette.background.paper};
256
+ text-transform: uppercase;
257
+ }
258
+ label {
259
+ display: block;
260
+ font-family: "Segoe UI", Roboto, Noto, "Helvetica Neue", Helvetica, Ubuntu, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
261
+ font-size: 14px;
262
+ color: ${theme.palette.text.secondary};
263
+ margin-top: 10px;
264
+ }
265
+ .error {
266
+ color: ${theme.palette.error.main};
267
+ border-color: ${theme.palette.error.main};
268
+ }
269
+ ::placeholder {
270
+ color: ${theme.palette.grey[500]};
271
+ }`.trim();
272
+ };
273
+ const DEFAULT_CREDIT_CARD_PLACEHOLDERS = "`placeholder=Enter Card Details&placeholdercvv=123&placeholdermonth=MM&placeholderyear=YYYY`;";
274
+ const DEFAULT_CREDIT_CARD_FEATURES = `&useexpiry=true&usecvv=true&invalidcreditcardevent=true&formatinput=true&unique=true&enhancedresponse=true&cardnumbernumericonly=true`;
275
+ const DEFAULT_ECHECK_PLACEHOLDERS = `placeholder=Routing Number / Account Number`;
276
+ const DEFAULT_ECHECK_FEATURES = `&fullmobilekeyboard=true`;
277
+ /**
278
+ * `FiservForm` Component
279
+ *
280
+ * This component is responsible for rendering an iframe for payment processing tailored for the Fiserv payment gateway. It manages the dynamic creation of the iframe URL based on the provided attributes and configures the iframe behavior accordingly.
281
+ *
282
+ * @param {Object} {
283
+ * paymentMethod = PaymentTenderTypeEnum.CreditCard,
284
+ * baseUrl = "https://fts-uat.cardconnect.com/itoke/ajax-tokenizer.html",
285
+ * customCss = defaultCssStyles,
286
+ * attributes = null
287
+ * } The properties passed to the component.
288
+ * @param {PaymentTenderTypeEnum} [paymentMethod=PaymentTenderTypeEnum.CreditCard] The payment method type, affecting the endpoint.
289
+ * @param {Object} [onStatusChange=null] Callback function to handle the status change event.
290
+ * @param {string} [baseUrl="https://fts-uat.cardconnect.com/itoke/ajax-tokenizer.html"] The base URL for the Fiserv payment gateway iframe.
291
+ * @param {string} [customCss=defaultCssStyles] Custom CSS to apply within the iframe.
292
+ * @param {Object} [attributes=null] Additional payment attributes to append as query parameters.
293
+ * @param {string} [attributes.placeholder] Placeholder text for the card fields.
294
+ * @param {string} [attributes.placeholdercvv] Placeholder text for the CVV field.
295
+ * @param {string} [attributes.placeholdermonth] Placeholder for the expiration month field.
296
+ * @param {string} [attributes.placeholderyear] Placeholder for the expiration year field.
297
+ * @param {boolean} [attributes.useexpiry=true] Flag to enable the use of the expiration date.
298
+ * @param {boolean} [attributes.usecvv=true] Flag to enable the use of the CVV code.
299
+ * @param {boolean} [attributes.invalidcreditcardevent=true] Event triggered on invalid card input.
300
+ * @param {boolean} [attributes.formatinput=true] Formats the card input fields.
301
+ * @param {boolean} [attributes.unique=true] Ensures unique card number inputs.
302
+ * @param {boolean} [attributes.enhancedresponse=true] Provides enhanced responses.
303
+ * @param {boolean} [attributes.cardnumbernumericonly=true] Allows only numeric input for the card number.
304
+ * @param {boolean} [attributes.fullmobilekeyboard=false] Enables full mobile keyboard access.
305
+ *
306
+ * @return {React.Component} The `FiservForm` component that handles the rendering of the payment iframe and processes payment data or errors.
307
+ */
308
+ const FiservForm = ({ paymentMethod = PaymentTenderTypeEnum.CreditCard, onStatusChange = (paymentFormResult) => {}, baseUrl = "https://fts-uat.cardconnect.com/itoke/ajax-tokenizer.html", customCss = "", attributes = null, paymentData = null }) => {
309
+ const [loading, setLoading] = useState(true);
310
+ const [token, setToken] = useState("");
311
+ const [error, setError] = useState(null);
312
+ const { t } = useTranslation();
313
+ const defaultCss = defaultCssStyles(useTheme());
314
+ /**
315
+ * handleFiservResponse
316
+ *
317
+ * @param {*} response
318
+ */
319
+ const handleFiservResponse = useCallback((response) => {
320
+ let isError;
321
+ if (paymentMethod === PaymentTenderTypeEnum.CreditCard) isError = response?.errorCode !== "0" || response?.errorMessage || !response?.token;
322
+ else if (paymentMethod === PaymentTenderTypeEnum.ECheck) isError = !response?.message;
323
+ onStatusChange({
324
+ isValid: !isError,
325
+ payload: response,
326
+ message: response?.message,
327
+ errorCode: response?.errorCode,
328
+ errorMessage: response?.errorMessage
329
+ });
330
+ }, [onStatusChange, paymentMethod]);
331
+ const handleLoad = () => {
332
+ setLoading(false);
333
+ };
334
+ const handleError = () => {
335
+ setLoading(false);
336
+ };
337
+ useEffect(() => {
338
+ const handleMessage = (event) => {
339
+ try {
340
+ const data = JSON.parse(event.data);
341
+ setToken(data.message);
342
+ handleFiservResponse(data);
343
+ } catch (error$1) {
344
+ console.error("Error parsing the event data", error$1);
345
+ }
346
+ };
347
+ window.addEventListener("message", handleMessage, false);
348
+ return () => {
349
+ window.removeEventListener("message", handleMessage, false);
350
+ };
351
+ }, [paymentMethod]);
352
+ /**
353
+ * iFrameURL
354
+ *
355
+ * @return {*}
356
+ */
357
+ const iFrameURL = useMemo(() => {
358
+ let url = "";
359
+ try {
360
+ const encodedCss = encodeURIComponent(customCss || defaultCss);
361
+ switch (paymentMethod) {
362
+ case PaymentTenderTypeEnum.CreditCard:
363
+ const creditCardCssStyles = `css=${encodedCss}`;
364
+ const queryParams = attributes ? Object.entries(attributes)?.map(([key, value]) => `${key.toLowerCase()}=${value?.toString()}`).join("&") : "";
365
+ url = attributes ? `${queryParams}&${creditCardCssStyles}` : `${DEFAULT_CREDIT_CARD_PLACEHOLDERS}&${creditCardCssStyles}${DEFAULT_CREDIT_CARD_FEATURES}`;
366
+ break;
367
+ case PaymentTenderTypeEnum.ECheck:
368
+ const eCheckCssStyles = `css=${encodedCss}`;
369
+ const queryParamsECheck = attributes ? Object.entries(attributes)?.map(([key, value]) => `${key.toLowerCase()}=${value?.toString()}`).join("&") : "";
370
+ url = attributes ? `${queryParamsECheck}&${eCheckCssStyles}` : `${DEFAULT_ECHECK_PLACEHOLDERS}&${eCheckCssStyles}${DEFAULT_ECHECK_FEATURES}`;
371
+ break;
372
+ default: url = "";
373
+ }
374
+ } catch (error$1) {
375
+ setError(error$1?.message);
376
+ }
377
+ return `
378
+ ${url}
379
+ `.trim();
380
+ }, [paymentMethod]);
381
+ return /* @__PURE__ */ React.createElement("div", null, error ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Typography, {
382
+ variant: "subtitle1",
383
+ color: "error"
384
+ }, t("There was an error rendering the hosted payment form. Please check your settings and try again"), ":"), /* @__PURE__ */ React.createElement(LayoutUnit, { unit: "xxs" }), /* @__PURE__ */ React.createElement(Typography, {
385
+ variant: "body1",
386
+ color: "error"
387
+ }, t("Error"), ":", error)) : /* @__PURE__ */ React.createElement("form", {
388
+ name: "tokenform",
389
+ id: "tokenform"
390
+ }, paymentMethod === PaymentTenderTypeEnum.ECheck && /* @__PURE__ */ React.createElement(InputLabel, { style: {
391
+ fontSize: 15,
392
+ marginLeft: 10
393
+ } }, t("eCheck Information")), loading && /* @__PURE__ */ React.createElement(Box, { sx: {
394
+ position: "fixed",
395
+ top: 0,
396
+ left: 0,
397
+ width: "100%",
398
+ height: "100%",
399
+ backgroundColor: "rgba(255, 255, 255, 0.8)",
400
+ zIndex: 9999,
401
+ display: "flex",
402
+ alignItems: "center",
403
+ justifyContent: "center"
404
+ } }, /* @__PURE__ */ React.createElement(CircularProgress$1, {
405
+ size: "3rem",
406
+ color: "primary"
407
+ })), /* @__PURE__ */ React.createElement("iframe", {
408
+ id: "tokenframe",
409
+ name: "tokenframe",
410
+ src: `${baseUrl}?${iFrameURL}`,
411
+ scrolling: "yes",
412
+ width: "100%",
413
+ height: "220",
414
+ frameBorder: "0",
415
+ onLoad: handleLoad,
416
+ onError: handleError,
417
+ style: { display: loading ? "none" : "block" }
418
+ })));
419
+ };
420
+
421
+ //#endregion
422
+ //#region src/utilities/form/paymentForm/vendorsForms/PaymentusForm.tsx
423
+ const PaymentusForm = ({ paymentMethod = PaymentTenderTypeEnum.CreditCard, onStatusChange = null, paymentDetails = null, baseUrl = "https://secure4.paymentus.com/xotp/pm/sgc2", attributes = null, paymentData = null }) => {
424
+ const methodURL = paymentMethod === PaymentTenderTypeEnum.CreditCard ? "creditcard" : "echeck";
425
+ const [src, setSrc] = useState(`${baseUrl}`);
426
+ const [response, setResponse] = useState({});
427
+ const [loading, setLoading] = useState(true);
428
+ const [error, setError] = useState("");
429
+ const user = useUser();
430
+ const [paymentTokenCreditCardIDGuid] = useState(v4());
431
+ const [paymentTokenIDGuid] = useState(v4());
432
+ const { t } = useTranslation();
433
+ /**
434
+ * API call to get the Paymentus Token
435
+ */
436
+ const getPaymentusToken = useCallback(async (payload) => {
437
+ if (!payload) return null;
438
+ return apiMutate(ConfigService.pgV1ApiUrl, `ProcessHostedPaymentPagePayment/authToken/${methodURL}`, {
439
+ method: "POST",
440
+ data: payload
441
+ }, {});
442
+ }, []);
443
+ useCallback(async (payload) => {
444
+ if (!payload) return null;
445
+ const PostURL = paymentMethod === PaymentTenderTypeEnum.CreditCard ? "PaymentTokenCreditCard/ByPass" : "PaymentTokenECheck/CreateByPass";
446
+ return apiMutate(ConfigService.pgV1ApiUrl, `${PostURL}`, {
447
+ method: "POST",
448
+ data: payload
449
+ }, {});
450
+ }, []);
451
+ /**
452
+ * handleFiservResponse
453
+ *
454
+ * @param {*} response
455
+ */
456
+ const handlePaymentusResponse = useCallback((response$1) => {
457
+ const paymentFormResponse = {
458
+ isValid: !response$1?.error,
459
+ payload: response$1,
460
+ message: response$1?.Token,
461
+ errorCode: response$1?.error,
462
+ errorMessage: response$1?.error,
463
+ selectedHostedPayment: PaymentVendorFactoryEnum.Paymentus
464
+ };
465
+ onStatusChange?.(paymentFormResponse);
466
+ }, [onStatusChange, paymentMethod]);
467
+ const handleLoad = () => {
468
+ setLoading(false);
469
+ };
470
+ const handleError = () => {
471
+ setLoading(false);
472
+ };
473
+ useEffect(() => {
474
+ const handleMessage = async (e) => {
475
+ const jsonData = e.data;
476
+ if (typeof jsonData === "object" && jsonData.constructor.name === "Object") {
477
+ if (jsonData && jsonData.height) {
478
+ const iframe = document.querySelector("iframe");
479
+ if (iframe) iframe.style.height = `${jsonData.height}px`;
480
+ }
481
+ let responseData;
482
+ try {
483
+ responseData = JSON.parse(jsonData?.postBackData);
484
+ } catch (e$1) {
485
+ return;
486
+ }
487
+ if (responseData?.Token) {
488
+ if (jsonData.error) console.log("Error: " + jsonData.error);
489
+ handlePaymentusResponse(responseData);
490
+ setResponse(responseData);
491
+ }
492
+ }
493
+ };
494
+ window.addEventListener("message", handleMessage);
495
+ return () => {
496
+ window.removeEventListener("message", handleMessage);
497
+ };
498
+ }, []);
499
+ useEffect(() => {
500
+ const preLoadForm = async () => {
501
+ try {
502
+ if (!paymentData?.appPaymentVendorID === null || !paymentDetails) {
503
+ setError(t("Missing required data to render the hosted payment form"));
504
+ return;
505
+ }
506
+ const response$1 = await getPaymentusToken({
507
+ TenantID: user?.currentTenantId,
508
+ AppPaymentVendorID: paymentData?.appPaymentVendorID,
509
+ PaymentAmount: paymentDetails?.amount,
510
+ CurrencyCode: "USD",
511
+ Customer: {
512
+ FirstName: paymentDetails?.firstName,
513
+ LastName: paymentDetails?.lastName,
514
+ Email: null,
515
+ Phone: paymentDetails?.phone
516
+ },
517
+ OriginUrl: window.location.origin,
518
+ Reference1: paymentDetails?.reference1,
519
+ Reference2: paymentDetails?.reference2,
520
+ Reference3: paymentDetails?.reference3
521
+ });
522
+ if (response$1?.data) setSrc(`${baseUrl}?authToken=${response$1.data}`);
523
+ } catch (e) {
524
+ console.error("Error generating iframe source URL:", e);
525
+ setError(t("Error generating iframe source") + e?.message);
526
+ }
527
+ };
528
+ preLoadForm();
529
+ }, [
530
+ attributes,
531
+ paymentData,
532
+ paymentDetails,
533
+ baseUrl,
534
+ user
535
+ ]);
536
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, error ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Typography, {
537
+ variant: "subtitle1",
538
+ color: "error"
539
+ }, t("There was an error rendering the hosted payment form. Please check your settings and try again"), ":"), /* @__PURE__ */ React.createElement(LayoutUnit, { unit: "xxs" }), /* @__PURE__ */ React.createElement(Typography, {
540
+ variant: "body1",
541
+ color: "error"
542
+ }, t("Error"), ":", error)) : /* @__PURE__ */ React.createElement(React.Fragment, null, loading && /* @__PURE__ */ React.createElement(Box, { sx: {
543
+ position: "fixed",
544
+ top: 0,
545
+ left: 0,
546
+ width: "100%",
547
+ height: "100%",
548
+ backgroundColor: "rgba(255, 255, 255, 0.8)",
549
+ zIndex: 9999,
550
+ display: "flex",
551
+ alignItems: "center",
552
+ justifyContent: "center"
553
+ } }, /* @__PURE__ */ React.createElement(CircularProgress$1, {
554
+ size: "3rem",
555
+ color: "primary"
556
+ })), /* @__PURE__ */ React.createElement("iframe", {
557
+ id: "iFramePS",
558
+ name: "iFramePS",
559
+ src,
560
+ scrolling: "yes",
561
+ width: "100%",
562
+ height: "785",
563
+ frameBorder: "0",
564
+ onLoad: handleLoad,
565
+ onError: handleError,
566
+ style: { display: loading ? "none" : "block" }
567
+ })));
568
+ };
569
+
570
+ //#endregion
571
+ //#region src/utilities/form/paymentForm/usePaymentProviderForm.tsx
572
+ /**
573
+ * useProviderForm
574
+ *
575
+ * @param {(PaymentTenderTypeEnum | undefined)} paymentMethod
576
+ * @param {*} providerType
577
+ * @param {*} providerProps
578
+ * @param {(paymentFormResult: any) => void} onStatusChange
579
+ * @return {*} {*}
580
+ */
581
+ const usePaymentProviderForm = (paymentMethod, providerType, providerProps, onStatusChange, paymentDetails, data) => {
582
+ switch (providerType) {
583
+ case PaymentVendorFactoryEnum.ICheck: return /* @__PURE__ */ React.createElement(ICheckForm, {
584
+ paymentMethod,
585
+ onStatusChange,
586
+ paymentDetails,
587
+ paymentData: data,
588
+ ...providerProps
589
+ });
590
+ case PaymentVendorFactoryEnum.Fiserv: return /* @__PURE__ */ React.createElement(FiservForm, {
591
+ paymentMethod,
592
+ onStatusChange,
593
+ paymentData: data,
594
+ ...providerProps
595
+ });
596
+ case PaymentVendorFactoryEnum.Paymentus: return /* @__PURE__ */ React.createElement(PaymentusForm, {
597
+ paymentMethod,
598
+ onStatusChange,
599
+ paymentDetails,
600
+ paymentData: data,
601
+ ...providerProps
602
+ });
603
+ case PaymentVendorFactoryEnum.Stripe: return /* @__PURE__ */ React.createElement(React.Fragment, null);
604
+ case PaymentVendorFactoryEnum.AuthorizeNet: return /* @__PURE__ */ React.createElement(React.Fragment, null);
605
+ default: return null;
606
+ }
607
+ };
608
+
609
+ //#endregion
610
+ //#region src/utilities/form/paymentForm/PaymentCardDetail.tsx
611
+ const logos$1 = {
612
+ visa: visaLogo,
613
+ mastercard: masterCardLogo,
614
+ discover: discoverLogo,
615
+ amex: americaExpressLogo,
616
+ default: visaLogo
617
+ };
618
+ /**
619
+ * PaymentCardDetail component displays the details of a payment card.
620
+ *
621
+ * @param {Object} props - The component props.
622
+ * @param {CardData} props.cardData - The data of the payment card.
623
+ * @param {string} props.cardData.paymentToken - The token of the payment card.
624
+ * @param {string} props.cardData.expirationDate - The expiration date of the payment card.
625
+ * @param {boolean} props.cardData.active - The active status of the payment card.
626
+ *
627
+ * @returns {JSX.Element} The rendered PaymentCardDetail component.
628
+ *
629
+ * The component displays the card logo, nickname, and expiration date.
630
+ * If the card is expired, it shows an "Expired" chip.
631
+ * The card logo is determined based on the nickname of the card.
632
+ */
633
+ const PaymentCardDetail = ({ cardData }) => {
634
+ const { paymentToken, expirationDate, active } = cardData || {};
635
+ const isExpired = new Date(expirationDate) < /* @__PURE__ */ new Date() && !active;
636
+ const getCardLogo = (nickname) => {
637
+ const lowerNickname = nickname?.toLowerCase();
638
+ if (lowerNickname.includes("visa")) return logos$1.visa;
639
+ if (lowerNickname.includes("mc")) return logos$1.mastercard;
640
+ if (lowerNickname.includes("disc")) return logos$1.discover;
641
+ if (lowerNickname.includes("amex") || lowerNickname.includes("american express")) return logos$1.amex;
642
+ return logos$1.default;
643
+ };
644
+ const styles = {
645
+ card: {
646
+ border: 0,
647
+ padding: "5px 15px",
648
+ width: "100%"
649
+ },
650
+ logoContainer: {
651
+ border: "2px solid #e0e0e0",
652
+ borderRadius: "8px",
653
+ padding: "8px",
654
+ display: "flex",
655
+ justifyContent: "center",
656
+ alignItems: "center",
657
+ height: "42px",
658
+ width: "70px"
659
+ },
660
+ logoImage: {
661
+ width: 55,
662
+ height: "auto",
663
+ objectFit: "contain"
664
+ },
665
+ nickname: { fontWeight: 600 },
666
+ expiration: { fontWeight: 400 },
667
+ expiredChip: { fontWeight: "bold" }
668
+ };
669
+ return /* @__PURE__ */ React.createElement(Card, {
670
+ variant: "outlined",
671
+ style: styles.card
672
+ }, /* @__PURE__ */ React.createElement(CardContent, { style: { padding: "5px 0" } }, /* @__PURE__ */ React.createElement(Grid$1, {
673
+ container: true,
674
+ alignItems: "center",
675
+ spacing: 2
676
+ }, /* @__PURE__ */ React.createElement(Grid$1, { item: true }, /* @__PURE__ */ React.createElement("div", { style: styles.logoContainer }, /* @__PURE__ */ React.createElement("img", {
677
+ src: getCardLogo(paymentToken?.nickname || ""),
678
+ alt: "Card Logo",
679
+ style: styles.logoImage
680
+ }))), /* @__PURE__ */ React.createElement(Grid$1, {
681
+ item: true,
682
+ xs: true
683
+ }, /* @__PURE__ */ React.createElement(Typography, {
684
+ variant: "body1",
685
+ style: styles.nickname
686
+ }, paymentToken?.nickname || "Unknown Card"), /* @__PURE__ */ React.createElement(Typography, {
687
+ variant: "subtitle2",
688
+ color: "textSecondary",
689
+ style: styles.expiration
690
+ }, "Exp. date: ", " ", expirationDate ? new Date(expirationDate).toLocaleDateString("en-US", {
691
+ month: "2-digit",
692
+ year: "2-digit"
693
+ }) : "N/A")), /* @__PURE__ */ React.createElement(Grid$1, {
694
+ item: true,
695
+ style: { marginRight: "15px" }
696
+ }, isExpired && /* @__PURE__ */ React.createElement(Chip, {
697
+ label: "Expired",
698
+ color: "secondary",
699
+ size: "small",
700
+ style: styles.expiredChip
701
+ })))));
702
+ };
703
+
704
+ //#endregion
705
+ //#region src/utilities/form/paymentForm/PaymentBankDetails.tsx
706
+ const logos = { default: eCheckLogo };
707
+ /**
708
+ * PaymentBankDetails component displays the bank details of a payment method.
709
+ * It shows the card logo, nickname, routing number, and an inactive chip if the card is not active.
710
+ *
711
+ * @param {Object} props - The component props.
712
+ * @param {CardData} props.bankData - The bank data containing payment token and routing number.
713
+ * @returns {JSX.Element} The rendered PaymentBankDetails component.
714
+ */
715
+ const PaymentBankDetails = ({ bankData }) => {
716
+ const { paymentToken, routingNumber } = bankData || {};
717
+ const getCardLogo = (nickname) => {
718
+ if ((nickname?.toLowerCase()).includes("visa")) return logos.default;
719
+ return logos.default;
720
+ };
721
+ const styles = {
722
+ card: {
723
+ border: 0,
724
+ padding: "5px 15px",
725
+ width: "100%"
726
+ },
727
+ logoContainer: {
728
+ border: "2px solid #e0e0e0",
729
+ borderRadius: "8px",
730
+ padding: "8px",
731
+ display: "flex",
732
+ justifyContent: "center",
733
+ alignItems: "center",
734
+ height: "42px",
735
+ width: "70px"
736
+ },
737
+ logoImage: {
738
+ width: 52,
739
+ height: "auto",
740
+ objectFit: "contain"
741
+ },
742
+ nickname: { fontWeight: 600 },
743
+ expiration: { fontWeight: 400 },
744
+ expiredChip: { fontWeight: "bold" }
745
+ };
746
+ return /* @__PURE__ */ React.createElement(Card, {
747
+ variant: "outlined",
748
+ style: styles.card
749
+ }, /* @__PURE__ */ React.createElement(CardContent, { style: { padding: "5px 0" } }, /* @__PURE__ */ React.createElement(Grid$1, {
750
+ container: true,
751
+ alignItems: "center",
752
+ spacing: 2
753
+ }, /* @__PURE__ */ React.createElement(Grid$1, { item: true }, /* @__PURE__ */ React.createElement("div", { style: styles.logoContainer }, /* @__PURE__ */ React.createElement("img", {
754
+ src: getCardLogo(paymentToken?.nickname || ""),
755
+ alt: "Card Logo",
756
+ style: styles.logoImage
757
+ }))), /* @__PURE__ */ React.createElement(Grid$1, {
758
+ item: true,
759
+ xs: true
760
+ }, /* @__PURE__ */ React.createElement(Typography, {
761
+ variant: "body1",
762
+ style: styles.nickname
763
+ }, paymentToken?.nickname || "Unknown Card"), /* @__PURE__ */ React.createElement(Typography, {
764
+ variant: "subtitle2",
765
+ color: "textSecondary",
766
+ style: styles.expiration
767
+ }, "Routing Number: ", " ", routingNumber ? routingNumber : "N/A")), /* @__PURE__ */ React.createElement(Grid$1, {
768
+ item: true,
769
+ style: { marginRight: "15px" }
770
+ }, !paymentToken?.active && /* @__PURE__ */ React.createElement(Chip, {
771
+ label: "Inactive",
772
+ color: "secondary",
773
+ size: "small",
774
+ style: styles.expiredChip
775
+ })))));
776
+ };
777
+
778
+ //#endregion
779
+ //#region src/utilities/form/paymentForm/PaymentDropdown.tsx
780
+ const useStyles$5 = makeStyles(() => ({ select: {
781
+ background: "#F5F6F9",
782
+ paddingTop: 2,
783
+ paddingBottom: 0,
784
+ paddingLeft: 0
785
+ } }));
786
+ /**
787
+ * PaymentDropdown component renders a dropdown menu for selecting a payment account.
788
+ * It supports both credit card and bank account payment types.
789
+ *
790
+ * @component
791
+ * @param {PaymentDropdownProps} props - The properties for the PaymentDropdown component.
792
+ * @param {Array} props.paymentAccounts - An array of payment accounts to display in the dropdown.
793
+ * @param {Function} props.setSelectedPaymentAccount - A function to set the selected payment account.
794
+ * @param {PaymentTenderTypeEnum} props.paymentType - The type of payment (CreditCard or BankAccount).
795
+ *
796
+ * @returns {JSX.Element} The rendered PaymentDropdown component.
797
+ */
798
+ const PaymentDropdown = ({ paymentAccounts, setSelectedPaymentAccount, paymentType }) => {
799
+ const [selectedPaymentCard, setSelectedPaymentCard] = useState(paymentAccounts?.[0]?.paymentTokenID || "");
800
+ const classes = useStyles$5();
801
+ const { t } = useTranslation();
802
+ /**
803
+ * Renders the content for a MenuItem based on the payment type.
804
+ *
805
+ * @param {CardData} card - The card data.
806
+ * @returns {JSX.Element} The rendered component for the MenuItem.
807
+ */
808
+ const renderMenuItemContent = useCallback((card) => {
809
+ switch (paymentType) {
810
+ case PaymentTenderTypeEnum.CreditCard: return /* @__PURE__ */ React.createElement(PaymentCardDetail, { cardData: card });
811
+ case PaymentTenderTypeEnum.ECheck: return /* @__PURE__ */ React.createElement(PaymentBankDetails, { bankData: card });
812
+ default: return null;
813
+ }
814
+ }, [paymentType]);
815
+ /**
816
+ * Handles the change event for the dropdown menu.
817
+ *
818
+ * @param {React.ChangeEvent<{ value: unknown }>} event
819
+ */
820
+ const handleChange = (event) => {
821
+ const selectedPaymentAccount = paymentAccounts.find((account) => account.paymentTokenID === event.target.value);
822
+ setSelectedPaymentCard(event.target.value);
823
+ setSelectedPaymentAccount?.(selectedPaymentAccount);
824
+ };
825
+ /**
826
+ * Generates a memoized list of menu items for payment accounts.
827
+ *
828
+ * This function uses the `useMemo` hook to optimize performance by memoizing the list of menu items.
829
+ * It maps over the `paymentAccounts` array and creates a `MenuItem` for each account.
830
+ *
831
+ * @returns {JSX.Element[]} A memoized array of `MenuItem` components.
832
+ */
833
+ const menuItems = useMemo(() => paymentAccounts?.map((card) => /* @__PURE__ */ React.createElement(MenuItem, {
834
+ key: card.paymentTokenID,
835
+ value: card.paymentTokenID,
836
+ style: { padding: 0 }
837
+ }, renderMenuItemContent(card))), [paymentAccounts, renderMenuItemContent]);
838
+ /**
839
+ * useEffect()
840
+ * Set the default selected payment account when the component mounts or paymentAccounts change
841
+ */
842
+ useEffect(() => {
843
+ const defaultPaymentAccount = paymentAccounts.find((account) => account.paymentTokenID === paymentAccounts?.[0]?.paymentTokenID);
844
+ setSelectedPaymentAccount?.(defaultPaymentAccount);
845
+ }, [paymentAccounts, setSelectedPaymentAccount]);
846
+ return /* @__PURE__ */ React.createElement(FormControl, {
847
+ fullWidth: true,
848
+ variant: "outlined"
849
+ }, /* @__PURE__ */ React.createElement(InputLabel, { id: "payment-select-label" }, t("Select Payment Account")), /* @__PURE__ */ React.createElement(Select, {
850
+ labelId: "payment-select-label",
851
+ label: t(`Select Payment Account`),
852
+ onChange: handleChange,
853
+ value: selectedPaymentCard,
854
+ classes: { root: classes.select }
855
+ }, menuItems));
856
+ };
857
+ var PaymentDropdown_default = PaymentDropdown;
858
+
859
+ //#endregion
860
+ //#region src/utilities/form/paymentForm/HostedPaymentError.tsx
861
+ /**
862
+ * @file HostedPaymentError.tsx
863
+ * @description This component displays an error message when there is an issue rendering the hosted payment form.
864
+ */
865
+ /**
866
+ * HostedPaymentError component
867
+ *
868
+ * This component is used to display an error message when there is an issue rendering the hosted payment form.
869
+ * It utilizes the `useTranslation` hook to support internationalization.
870
+ *
871
+ * @param {Object} props - The properties object.
872
+ * @param {string} props.error - The error string.
873
+ * @param {string} props.message - The error message to be displayed.
874
+ *
875
+ * @returns {JSX.Element} The rendered error message component.
876
+ */
877
+ const HostedPaymentError = ({ error, message }) => {
878
+ const { t } = useTranslation();
879
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Typography$1, {
880
+ variant: "subtitle1",
881
+ color: "error"
882
+ }, t("There was an error rendering the hosted payment form. Please check your settings and try again"), ":"), /* @__PURE__ */ React.createElement(LayoutUnit, { unit: "xxs" }), /* @__PURE__ */ React.createElement(Typography$1, {
883
+ variant: "body1",
884
+ color: "error"
885
+ }, t("Error"), ": ", message));
886
+ };
887
+
888
+ //#endregion
889
+ //#region src/utilities/form/paymentForm/PaymentCard.tsx
890
+ const useStyles$4 = makeStyles((theme) => ({
891
+ root: {},
892
+ paper: {
893
+ width: "100%",
894
+ height: "100%",
895
+ position: "relative"
896
+ },
897
+ styleWidth: { width: "75%" },
898
+ media: { height: 120 },
899
+ cardContent: { paddingTop: 0 },
900
+ titleWrapper: {
901
+ display: "flex",
902
+ backgroundColor: (props) => props?.headerColor || "#FFFFFF",
903
+ alignItems: "center"
904
+ },
905
+ loading: {
906
+ position: "absolute",
907
+ top: 0,
908
+ left: 0
909
+ },
910
+ expandMessage: { display: "flex" },
911
+ cardRoot: { "&:last-child": { paddingBottom: theme.spacing(10) } },
912
+ title: { flex: 1 },
913
+ visualization: {
914
+ display: "flex",
915
+ alignItems: "flex-end",
916
+ width: "100%",
917
+ height: 300
918
+ }
919
+ }));
920
+ const PaymentCard = (props) => {
921
+ const { title, className, style, loading, headerElement, children } = props;
922
+ const classes = useStyles$4(props);
923
+ return /* @__PURE__ */ React.createElement(Card, {
924
+ className,
925
+ style: {
926
+ border: "none",
927
+ boxShadow: "none",
928
+ borderRadius: 0,
929
+ ...style
930
+ }
931
+ }, title && /* @__PURE__ */ React.createElement(CardContent, {
932
+ className: classes.titleWrapper,
933
+ classes: { root: classes.cardRoot }
934
+ }, /* @__PURE__ */ React.createElement(Typography, {
935
+ className: classes.title,
936
+ component: "h2",
937
+ variant: "h6"
938
+ }, title), headerElement && headerElement), loading && /* @__PURE__ */ React.createElement(Box, { sx: { width: "100%" } }, /* @__PURE__ */ React.createElement(LinearProgress, null)), /* @__PURE__ */ React.createElement(Box, { className }, children));
939
+ };
940
+
941
+ //#endregion
942
+ //#region src/utilities/form/paymentForm/CreditCardUtils.ts
943
+ /**
944
+ * clearNumber
945
+ *
946
+ * @param {string} [value='']
947
+ * @return {*}
948
+ */
949
+ function clearNumber(value = "") {
950
+ return value.replace(/\D+/g, "");
951
+ }
952
+ /**
953
+ * formatCreditCardNumber - Format credit card number
954
+ *
955
+ * @export
956
+ * @param {*} value
957
+ * @return {*}
958
+ */
959
+ function formatCreditCardNumber(value) {
960
+ if (!value) return value;
961
+ const issuer = Payment.fns.cardType(value);
962
+ const clearValue = clearNumber(value);
963
+ let nextValue;
964
+ switch (issuer) {
965
+ case "amex":
966
+ nextValue = `${clearValue.slice(0, 4)} ${clearValue.slice(4, 10)} ${clearValue.slice(10, 15)}`;
967
+ break;
968
+ case "dinersclub":
969
+ nextValue = `${clearValue.slice(0, 4)} ${clearValue.slice(4, 10)} ${clearValue.slice(10, 14)}`;
970
+ break;
971
+ default:
972
+ nextValue = `${clearValue.slice(0, 4)} ${clearValue.slice(4, 8)} ${clearValue.slice(8, 12)} ${clearValue.slice(12, 19)}`;
973
+ break;
974
+ }
975
+ return nextValue.trim();
976
+ }
977
+ /**
978
+ * formatCVC - formats the CVC value
979
+ *
980
+ * @export
981
+ * @param {*} value
982
+ * @param {*} prevValue
983
+ * @param {*} [allValues={}]
984
+ * @return {*}
985
+ */
986
+ function formatCVC(value, prevValue, allValues = {}) {
987
+ const clearValue = clearNumber(value);
988
+ let maxLength = 4;
989
+ if (allValues?.number) maxLength = Payment.fns.cardType(allValues?.number) === "amex" ? 4 : 3;
990
+ return clearValue.slice(0, maxLength);
991
+ }
992
+ /**
993
+ * formatExpirationDate - format expiration date
994
+ * @export
995
+ * @param {*} value
996
+ * @return {*}
997
+ */
998
+ function formatExpirationDate(value) {
999
+ const clearValue = clearNumber(value);
1000
+ if (clearValue.length >= 3) return `${clearValue.slice(0, 2)}/${clearValue.slice(2, 4)}`;
1001
+ return clearValue;
1002
+ }
1003
+ /**
1004
+ * formatBankAccountNumber - Format bank account number
1005
+ * @export
1006
+ * @param {*} value
1007
+ * @return {*}
1008
+ */
1009
+ function formatBankAccountNumber(value) {
1010
+ const clearValue = clearNumber(value);
1011
+ return `${clearValue.slice(0, 4)} ${clearValue.slice(4, 8)} ${clearValue.slice(8, 12)} ${clearValue.slice(12, 16)} ${clearValue.slice(16, 20)}`;
1012
+ }
1013
+ /**
1014
+ * formatRoutingNumber - format routing number
1015
+ * @export
1016
+ * @param {*} value
1017
+ * @return {*}
1018
+ */
1019
+ function formatRoutingNumber(value) {
1020
+ const clearValue = clearNumber(value);
1021
+ return `${clearValue.slice(0, 3)} ${clearValue.slice(3, 9)}`;
1022
+ }
1023
+ const CreditCardBrandIconUrls = {
1024
+ visa,
1025
+ mastercard,
1026
+ amex,
1027
+ discover,
1028
+ jcb,
1029
+ dinersclub: diners,
1030
+ unionpay
1031
+ };
1032
+ const getCreditCardMethodIconUrl = (creditCardNumber) => {
1033
+ return CreditCardBrandIconUrls[Payment.fns.cardType(creditCardNumber)] ?? null;
1034
+ };
1035
+ const getCreditCardMethodIcon = getCreditCardMethodIconUrl;
1036
+
1037
+ //#endregion
1038
+ //#region src/utilities/form/paymentForm/CreditCardAdornment.tsx
1039
+ /**
1040
+ * CreditCardAdornment component displays an icon at the start of an input field.
1041
+ * It shows a default payment card icon if no credit card number is provided.
1042
+ * If a valid credit card number is provided, it displays the corresponding credit card method icon.
1043
+ *
1044
+ * @param {Object} props - The props object.
1045
+ * @param {string} props.creditCardNumberInput - The credit card number input string.
1046
+ * @returns {JSX.Element} The InputAdornment component with the appropriate icon.
1047
+ */
1048
+ const CreditCardAdornment = ({ creditCardNumberInput }) => {
1049
+ const defaultAdornment = /* @__PURE__ */ React.createElement(InputAdornment$1, { position: "start" }, /* @__PURE__ */ React.createElement(UnityFluentIcon, {
1050
+ size: 12,
1051
+ icon: getIconFromName("PaymentCardIcon")
1052
+ }));
1053
+ if (!creditCardNumberInput) return defaultAdornment;
1054
+ const iconPath = getCreditCardMethodIcon(creditCardNumberInput);
1055
+ if (!iconPath || iconPath === "unknown") return defaultAdornment;
1056
+ return /* @__PURE__ */ React.createElement(InputAdornment$1, { position: "start" }, /* @__PURE__ */ React.createElement("img", {
1057
+ src: iconPath,
1058
+ alt: "credit-card",
1059
+ width: 21
1060
+ }));
1061
+ };
1062
+
1063
+ //#endregion
1064
+ //#region src/utilities/form/paymentForm/NewCreditCardForm.tsx
1065
+ /**
1066
+ * NewCardForm component renders a form for entering new credit card details.
1067
+ *
1068
+ * @param {Object} props - The properties object.
1069
+ * @param {boolean} props.isFormDisabled - Flag to disable the form fields.
1070
+ * @param {Record<string, string>} props.classes - CSS classes for styling the form controls.
1071
+ * @param {React.Dispatch<React.SetStateAction<string>>} props.setCreditCardNumberInput - Function to set the credit card number input value.
1072
+ *
1073
+ * @returns {JSX.Element} The rendered NewCardForm component.
1074
+ */
1075
+ const NewCreditCardForm = ({ isFormDisabled, classes, creditCardNumberInput, paymentDetails, setCreditCardNumberInput }) => {
1076
+ const { accountNumber } = paymentDetails || {};
1077
+ const { t } = useTranslation();
1078
+ return /* @__PURE__ */ React.createElement(PaymentCard, null, /* @__PURE__ */ React.createElement(FormControl$1, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1079
+ component: FluentTextField,
1080
+ ComponentProps: {
1081
+ label: t("Cardholder"),
1082
+ variant: "outlined",
1083
+ size: "small",
1084
+ disabled: isFormDisabled,
1085
+ fullWidth: true
1086
+ },
1087
+ name: "nameOnCard",
1088
+ initialValue: "",
1089
+ required: !isFormDisabled,
1090
+ onChange: () => {}
1091
+ })), /* @__PURE__ */ React.createElement(FormControl$1, { className: classes.cardNumber }, /* @__PURE__ */ React.createElement(Field, {
1092
+ component: FluentTextField,
1093
+ ComponentProps: {
1094
+ label: t("Card Number"),
1095
+ variant: "outlined",
1096
+ size: "small",
1097
+ disabled: isFormDisabled,
1098
+ fullWidth: true,
1099
+ InputProps: { startAdornment: /* @__PURE__ */ React.createElement(CreditCardAdornment, { creditCardNumberInput }) }
1100
+ },
1101
+ name: "cardNumber",
1102
+ initialValue: "",
1103
+ required: !isFormDisabled,
1104
+ pattern: "\\d{16,22}",
1105
+ format: formatCreditCardNumber,
1106
+ onChange: (e) => setCreditCardNumberInput(e.target.value)
1107
+ })), /* @__PURE__ */ React.createElement(Box$1, {
1108
+ display: "flex",
1109
+ flexDirection: "row",
1110
+ alignItems: "flex-start",
1111
+ padding: "0px",
1112
+ width: "100%",
1113
+ style: { gap: "10px" }
1114
+ }, /* @__PURE__ */ React.createElement(FormControl$1, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1115
+ component: FluentTextField,
1116
+ ComponentProps: {
1117
+ label: t("Expiry Date"),
1118
+ variant: "outlined",
1119
+ margin: "normal",
1120
+ size: "small",
1121
+ width: "100%",
1122
+ disabled: isFormDisabled,
1123
+ fullWidth: true
1124
+ },
1125
+ name: "expiryDate",
1126
+ helperText: "MM/YY",
1127
+ initialValue: "",
1128
+ required: !isFormDisabled,
1129
+ pattern: "\\d\\d/\\d\\d",
1130
+ format: formatExpirationDate,
1131
+ onChange: () => {}
1132
+ })), /* @__PURE__ */ React.createElement(FormControl$1, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1133
+ component: FluentTextField,
1134
+ ComponentProps: {
1135
+ label: "CVV",
1136
+ variant: "outlined",
1137
+ margin: "normal",
1138
+ size: "small",
1139
+ width: "100%",
1140
+ disabled: isFormDisabled,
1141
+ fullWidth: true
1142
+ },
1143
+ name: "cvv",
1144
+ helperText: t("3-digit code on back"),
1145
+ initialValue: "",
1146
+ required: !isFormDisabled,
1147
+ pattern: "\\d{3,4}",
1148
+ format: formatCVC,
1149
+ onChange: () => {}
1150
+ }))), /* @__PURE__ */ React.createElement(FormControl$1, { className: classes.formControlCheck }, /* @__PURE__ */ React.createElement(FormControlLabel$1, {
1151
+ control: /* @__PURE__ */ React.createElement(Field, {
1152
+ component: FluentCheckbox,
1153
+ name: "isSaveAsNewMethod",
1154
+ type: "checkbox",
1155
+ defaultValue: false,
1156
+ disabled: isFormDisabled,
1157
+ required: false,
1158
+ onChange: () => {}
1159
+ }),
1160
+ label: /* @__PURE__ */ React.createElement(Typography$1, null, accountNumber ? /* @__PURE__ */ React.createElement("span", null, t("Save this card to"), " ", /* @__PURE__ */ React.createElement("strong", null, " ", t("Account"), " ", accountNumber), " ", t("file")) : t("Save"))
1161
+ })));
1162
+ };
1163
+
1164
+ //#endregion
1165
+ //#region src/utilities/form/paymentForm/CreditCardForm.tsx
1166
+ const useStyles$3 = makeStyles((theme) => ({
1167
+ cardNumber: {
1168
+ width: "100%",
1169
+ marginBottom: "10px"
1170
+ },
1171
+ formControl: {
1172
+ width: "100%",
1173
+ "&.cardNumber": { marginBottom: "10px" },
1174
+ "&.submitControl": { marginTop: "35px" }
1175
+ },
1176
+ formControlCheck: {
1177
+ width: "100%",
1178
+ marginTop: "5px",
1179
+ marginLeft: "3px"
1180
+ }
1181
+ }));
1182
+ /**
1183
+ * CreditCardForm component handles the rendering of a credit card payment form.
1184
+ * It supports both hosted payment pages and direct credit card input forms.
1185
+ *
1186
+ * @param {boolean} isFormDisabled - Flag to disable the form.
1187
+ * @param {object} data - Data related to the payment form.
1188
+ * @param {string} externalId - External identifier for the payment form.
1189
+ * @param {object} paymentDetails - Details of the payment.
1190
+ * @param {string|null} providerType - Type of the payment provider.
1191
+ * @param {object|null} providerProps - Properties for the payment provider.
1192
+ * @param {boolean} isHostedPaymentPage - Flag to indicate if it is a hosted payment page.
1193
+ * @param {boolean} hasReadPropertiesError - Flag to indicate if there was an error reading properties.
1194
+ * @param {string} readPropertiesMessageError - Error message for reading properties.
1195
+ * @param {boolean} enabled - Flag to indicate if the form is enabled.
1196
+ * @param {function} onStatusChange - Callback function to handle status changes.
1197
+ * @param {function} setSelectedPaymentAccount - Callback function to set the selected payment account.
1198
+ * @param {string} actionLabel - Label for the action button.
1199
+ * @param {object} restProps - Additional properties.
1200
+ *
1201
+ * @returns {JSX.Element} The rendered CreditCardForm component.
1202
+ */
1203
+ const CreditCardForm = ({ isFormDisabled = false, data, externalId, paymentDetails, providerType = null, providerProps = null, isHostedPaymentPage, hasReadPropertiesError, readPropertiesMessageError, enabled, actionLabel, onStatusChange, setSelectedPaymentAccount, ...restProps }) => {
1204
+ const { t } = useTranslation();
1205
+ const classes = useStyles$3();
1206
+ useUser();
1207
+ const paymentProviderForm = usePaymentProviderForm(PaymentTenderTypeEnum.CreditCard, providerType, providerProps, onStatusChange, paymentDetails, data);
1208
+ const [showHostedPaymentPage, setShowHostedPaymentPage] = useState(false);
1209
+ const [creditCardNumberInput, setCreditCardNumberInput] = useState("");
1210
+ const [{ data: paymentAccounts, loading: loadingPaymentAccounts }] = useAxiosGet(ConfigService.pgV1ApiUrl, `PaymentTokenCreditCard/${externalId}`, {}, false);
1211
+ const handleShowHostedPaymentPage = () => {
1212
+ setShowHostedPaymentPage(true);
1213
+ onStatusChange && onStatusChange({ isValid: false });
1214
+ };
1215
+ useEffect(() => {
1216
+ const showHostedPaymentPageByDefault = isHostedPaymentPage && paymentAccounts?.length > 0;
1217
+ const enableSubmitForm = isHostedPaymentPage === false || paymentAccounts?.length > 0;
1218
+ setShowHostedPaymentPage(!showHostedPaymentPageByDefault);
1219
+ onStatusChange && onStatusChange({ isValid: enableSubmitForm });
1220
+ }, [isHostedPaymentPage, paymentAccounts]);
1221
+ if (loadingPaymentAccounts) return /* @__PURE__ */ React.createElement(Box, { sx: { width: "100%" } }, /* @__PURE__ */ React.createElement(LinearProgress$1, null));
1222
+ if (!showHostedPaymentPage && paymentAccounts?.length > 0) return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(PaymentDropdown_default, {
1223
+ paymentAccounts,
1224
+ setSelectedPaymentAccount,
1225
+ paymentType: PaymentTenderTypeEnum.CreditCard
1226
+ }), /* @__PURE__ */ React.createElement(Box, {
1227
+ textAlign: "center",
1228
+ mt: 3
1229
+ }, /* @__PURE__ */ React.createElement(FluentButton, {
1230
+ variant: "outlined",
1231
+ color: "primary",
1232
+ onClick: handleShowHostedPaymentPage,
1233
+ size: "small",
1234
+ startIcon: /* @__PURE__ */ React.createElement(UnityFluentIcon, { icon: getIconFromName("PaymentCardIcon") }),
1235
+ style: { padding: "18px 20px" }
1236
+ }, actionLabel || t("Enter Card Details"))));
1237
+ if (hasReadPropertiesError) return /* @__PURE__ */ React.createElement(HostedPaymentError, {
1238
+ error: "Error",
1239
+ message: readPropertiesMessageError || t("Unknown error")
1240
+ });
1241
+ return showHostedPaymentPage && isHostedPaymentPage ? paymentProviderForm : /* @__PURE__ */ React.createElement(NewCreditCardForm, {
1242
+ isFormDisabled,
1243
+ classes,
1244
+ paymentDetails,
1245
+ creditCardNumberInput,
1246
+ setCreditCardNumberInput
1247
+ });
1248
+ };
1249
+
1250
+ //#endregion
1251
+ //#region src/utilities/form/paymentForm/NewECheckForm.tsx
1252
+ /**
1253
+ * NewCardForm component renders a form for entering new credit card details.
1254
+ *
1255
+ * @param {Object} props - The properties object.
1256
+ * @param {boolean} props.isFormDisabled - Flag to disable the form fields.
1257
+ * @param {Record<string, string>} props.classes - CSS classes for styling the form controls.
1258
+ * @param {React.Dispatch<React.SetStateAction<string>>} props.setCreditCardNumberInput - Function to set the credit card number input value.
1259
+ *
1260
+ * @returns {JSX.Element} The rendered NewCardForm component.
1261
+ */
1262
+ const NewECheckForm = ({ isFormDisabled, classes, bankAccountTypes }) => {
1263
+ const { t } = useTranslation();
1264
+ return /* @__PURE__ */ React.createElement(PaymentCard, null, /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1265
+ component: FluentTextField,
1266
+ ComponentProps: {
1267
+ label: t("Name on Bank Account"),
1268
+ variant: "outlined",
1269
+ size: "small",
1270
+ disabled: isFormDisabled,
1271
+ fullWidth: true,
1272
+ inputProps: { maxLength: 256 }
1273
+ },
1274
+ name: "accountNickName",
1275
+ initialValue: "",
1276
+ required: !isFormDisabled
1277
+ })), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1278
+ component: FluentTextField,
1279
+ ComponentProps: {
1280
+ label: t("Account Number"),
1281
+ variant: "outlined",
1282
+ size: "small",
1283
+ disabled: isFormDisabled,
1284
+ fullWidth: true
1285
+ },
1286
+ name: "accountNumber",
1287
+ initialValue: "",
1288
+ required: !isFormDisabled,
1289
+ pattern: "\\d{16,22}",
1290
+ format: formatBankAccountNumber
1291
+ })), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1292
+ component: FluentSelectMenu,
1293
+ ComponentProps: {
1294
+ label: t("Account Type"),
1295
+ id: "bankAccountType",
1296
+ variant: "outlined",
1297
+ margin: "normal",
1298
+ size: "small",
1299
+ width: "100%",
1300
+ fullWidth: true,
1301
+ disabled: false,
1302
+ data: bankAccountTypes || [],
1303
+ displayProperty: "name",
1304
+ autoCompleteProps: { disableClearable: true }
1305
+ },
1306
+ valueForChange: (e) => {
1307
+ return e.value;
1308
+ },
1309
+ name: "bankAccountType",
1310
+ required: !isFormDisabled,
1311
+ onChange: () => {}
1312
+ })), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1313
+ component: FluentTextField,
1314
+ ComponentProps: {
1315
+ label: t("Routing Number"),
1316
+ variant: "outlined",
1317
+ size: "small",
1318
+ disabled: isFormDisabled,
1319
+ fullWidth: true
1320
+ },
1321
+ name: "routingNumber",
1322
+ initialValue: "",
1323
+ required: !isFormDisabled,
1324
+ pattern: "\\d{9}",
1325
+ format: formatRoutingNumber
1326
+ })), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControlCheck }, /* @__PURE__ */ React.createElement(FormControlLabel, {
1327
+ control: /* @__PURE__ */ React.createElement(Field, {
1328
+ component: FluentCheckbox,
1329
+ name: "isSaveAsNewMethod",
1330
+ type: "checkbox",
1331
+ defaultValue: false,
1332
+ disabled: isFormDisabled
1333
+ }),
1334
+ label: /* @__PURE__ */ React.createElement(Typography$1, null, t("Save"))
1335
+ })));
1336
+ };
1337
+
1338
+ //#endregion
1339
+ //#region src/utilities/form/paymentForm/BankAccountForm.tsx
1340
+ const useStyles$2 = makeStyles((theme) => ({
1341
+ formControl: {
1342
+ width: "100%",
1343
+ marginTop: "5px"
1344
+ },
1345
+ formControlCheck: {
1346
+ width: "100%",
1347
+ marginTop: "5px",
1348
+ marginLeft: "3px"
1349
+ }
1350
+ }));
1351
+ /**
1352
+ * `BankAccountForm` is a React functional component that renders a form for managing bank accounts.
1353
+ * It supports both hosted payment pages and direct input forms for bank account details.
1354
+ *
1355
+ * @param {Object} props - The properties passed to the component.
1356
+ * @param {Array} props.bankAccountTypes - An array of available bank account types.
1357
+ * @param {Object} props.data - Data related to the bank account form.
1358
+ * @param {string} props.externalId - External identifier for the bank account.
1359
+ * @param {boolean} [props.isFormDisabled=false] - Flag to disable the form.
1360
+ * @param {string|null} [props.providerType=null] - Type of the payment provider.
1361
+ * @param {Object|null} [props.providerProps=null] - Properties for the payment provider.
1362
+ * @param {Object} props.paymentDetails - Details of the payment.
1363
+ * @param {boolean} props.isHostedPaymentPage - Flag to indicate if it is a hosted payment page.
1364
+ * @param {boolean} props.hasReadPropertiesError - Flag to indicate if there was an error reading properties.
1365
+ * @param {string} props.readPropertiesMessageError - Error message for reading properties.
1366
+ * @param {Function} props.onStatusChange - Callback function to handle status changes.
1367
+ * @param {boolean} props.enabled - Flag to indicate if the form is enabled.
1368
+ * @param {Function} props.setSelectedPaymentAccount - Callback function to set the selected payment account.
1369
+ * @param {string} props.actionLabel - The label for the action button.
1370
+ * @param {Object} restProps - Additional properties passed to the component.
1371
+ *
1372
+ * @returns {JSX.Element} The rendered component.
1373
+ */
1374
+ const BankAccountForm = ({ bankAccountTypes = [], data, externalId, isFormDisabled = false, providerType = null, providerProps = null, paymentDetails, isHostedPaymentPage, hasReadPropertiesError, readPropertiesMessageError, onStatusChange, enabled, actionLabel, setSelectedPaymentAccount, ...restProps }) => {
1375
+ const classes = useStyles$2();
1376
+ const { t } = useTranslation();
1377
+ useUser();
1378
+ const paymentProviderForm = usePaymentProviderForm(PaymentTenderTypeEnum.ECheck, providerType, providerProps, onStatusChange, paymentDetails, data);
1379
+ const [showHostedPaymentPage, setShowHostedPaymentPage] = useState(false);
1380
+ const [{ data: paymentAccounts, loading: loadingPaymentAccounts }] = useAxiosGet(ConfigService.pgV1ApiUrl, `PaymentTokenECheck/${externalId}`, {}, false);
1381
+ const handleShowHostedPaymentPage = () => {
1382
+ setShowHostedPaymentPage(true);
1383
+ onStatusChange && onStatusChange({ isValid: false });
1384
+ };
1385
+ useEffect(() => {
1386
+ const showHostedPaymentPageByDefault = isHostedPaymentPage && paymentAccounts?.length > 0;
1387
+ const enableSubmitForm = isHostedPaymentPage === false || paymentAccounts?.length > 0;
1388
+ setShowHostedPaymentPage(!showHostedPaymentPageByDefault);
1389
+ onStatusChange && onStatusChange({ isValid: enableSubmitForm });
1390
+ }, [isHostedPaymentPage, paymentAccounts]);
1391
+ if (loadingPaymentAccounts) return /* @__PURE__ */ React.createElement(Box$1, { sx: { width: "100%" } }, /* @__PURE__ */ React.createElement(LinearProgress$1, null));
1392
+ if (!showHostedPaymentPage && paymentAccounts?.length > 0) return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(PaymentDropdown_default, {
1393
+ paymentAccounts,
1394
+ setSelectedPaymentAccount,
1395
+ paymentType: PaymentTenderTypeEnum.ECheck
1396
+ }), /* @__PURE__ */ React.createElement(Box$1, {
1397
+ textAlign: "center",
1398
+ mt: 3
1399
+ }, /* @__PURE__ */ React.createElement(FluentButton, {
1400
+ variant: "outlined",
1401
+ color: "primary",
1402
+ onClick: handleShowHostedPaymentPage,
1403
+ size: "small",
1404
+ startIcon: /* @__PURE__ */ React.createElement(UnityFluentIcon, { icon: getIconFromName("BankIcon") }),
1405
+ style: { padding: "18px 20px" }
1406
+ }, actionLabel || t("Enter Bank Account Details"))));
1407
+ if (hasReadPropertiesError) return /* @__PURE__ */ React.createElement(HostedPaymentError, {
1408
+ error: "Error",
1409
+ message: readPropertiesMessageError || t("Unknown error")
1410
+ });
1411
+ return showHostedPaymentPage && isHostedPaymentPage ? paymentProviderForm : /* @__PURE__ */ React.createElement(NewECheckForm, {
1412
+ isFormDisabled,
1413
+ classes,
1414
+ bankAccountTypes
1415
+ });
1416
+ };
1417
+
1418
+ //#endregion
1419
+ //#region src/utilities/form/paymentForm/CreditCardIcon.tsx
1420
+ /**
1421
+ * CreditCardIcon
1422
+ *
1423
+ * @param {(JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>)} props
1424
+ * @return {*}
1425
+ */
1426
+ const CreditCardIcon = (props) => {
1427
+ const { color = "#2196F3" } = props;
1428
+ return /* @__PURE__ */ React$2.createElement("svg", {
1429
+ width: "112",
1430
+ height: "25",
1431
+ viewBox: "0 0 112 25",
1432
+ fill: color,
1433
+ xmlns: "http://www.w3.org/2000/svg",
1434
+ ...props
1435
+ }, /* @__PURE__ */ React$2.createElement("path", {
1436
+ d: "M65.6406 4H45.8594C44.6963 4 43.75 4.94627 43.75 6.10938V18.7656C43.75 19.9287 44.6963 20.875 45.8594 20.875H65.6406C66.8037 20.875 67.75 19.9287 67.75 18.7656V6.10938C67.75 4.94627 66.8037 4 65.6406 4ZM45.1562 8.21875H66.3438V9.625H45.1562V8.21875ZM45.8594 5.40625H65.6406C66.0283 5.40625 66.3438 5.72167 66.3438 6.10938V6.8125H45.1562V6.10938C45.1562 5.72167 45.4717 5.40625 45.8594 5.40625ZM65.6406 19.4688H45.8594C45.4717 19.4688 45.1562 19.1533 45.1562 18.7656V11.0312H66.3438V18.7656C66.3438 19.1533 66.0283 19.4688 65.6406 19.4688Z",
1437
+ fill: color
1438
+ }), /* @__PURE__ */ React$2.createElement("path", {
1439
+ d: "M48.7188 16.6562H47.3125C46.9242 16.6562 46.6094 16.9711 46.6094 17.3594C46.6094 17.7477 46.9242 18.0625 47.3125 18.0625H48.7188C49.1071 18.0625 49.4219 17.7477 49.4219 17.3594C49.4219 16.9711 49.1071 16.6562 48.7188 16.6562Z",
1440
+ fill: color
1441
+ }), /* @__PURE__ */ React$2.createElement("path", {
1442
+ d: "M52.9375 16.6562H51.5312C51.1429 16.6562 50.8281 16.9711 50.8281 17.3594C50.8281 17.7477 51.1429 18.0625 51.5312 18.0625H52.9375C53.3258 18.0625 53.6406 17.7477 53.6406 17.3594C53.6406 16.9711 53.3258 16.6562 52.9375 16.6562Z",
1443
+ fill: color
1444
+ }), /* @__PURE__ */ React$2.createElement("path", {
1445
+ d: "M57.1562 16.6562H55.75C55.3617 16.6562 55.0469 16.9711 55.0469 17.3594C55.0469 17.7477 55.3617 18.0625 55.75 18.0625H57.1562C57.5446 18.0625 57.8594 17.7477 57.8594 17.3594C57.8594 16.9711 57.5446 16.6562 57.1562 16.6562Z",
1446
+ fill: color
1447
+ }), /* @__PURE__ */ React$2.createElement("path", {
1448
+ d: "M61.375 16.6562H59.9688C59.5804 16.6562 59.2656 16.9711 59.2656 17.3594C59.2656 17.7477 59.5804 18.0625 59.9688 18.0625H61.375C61.7633 18.0625 62.0781 17.7477 62.0781 17.3594C62.0781 16.9711 61.7633 16.6562 61.375 16.6562Z",
1449
+ fill: color
1450
+ }), /* @__PURE__ */ React$2.createElement("path", {
1451
+ d: "M52.9375 13.8438H47.3125C46.9242 13.8438 46.6094 14.1586 46.6094 14.5469C46.6094 14.9352 46.9242 15.25 47.3125 15.25H52.9375C53.3258 15.25 53.6406 14.9352 53.6406 14.5469C53.6406 14.1586 53.3258 13.8438 52.9375 13.8438Z",
1452
+ fill: color
1453
+ }));
1454
+ };
1455
+
1456
+ //#endregion
1457
+ //#region src/utilities/form/paymentForm/BankIcon.tsx
1458
+ /**
1459
+ * BankIcon
1460
+ *
1461
+ * @param {(JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>)} props
1462
+ * @return {*}
1463
+ */
1464
+ const BankIcon = (props) => {
1465
+ const { color = "#2196F3" } = props;
1466
+ return /* @__PURE__ */ React$2.createElement("svg", {
1467
+ width: "25",
1468
+ height: "24",
1469
+ viewBox: "0 0 25 24",
1470
+ fill: "none",
1471
+ xmlns: "http://www.w3.org/2000/svg"
1472
+ }, /* @__PURE__ */ React$2.createElement("g", { "clip-path": "url(#clip0_3352_7830)" }, /* @__PURE__ */ React$2.createElement("path", {
1473
+ d: "M5.82697 13.5073H8.13464C8.51697 13.5073 8.82697 13.1973 8.82697 12.815C8.82697 12.4327 8.51697 12.1227 8.13464 12.1227H6.98071V11.1996C6.98071 10.8171 6.67072 10.5073 6.28839 10.5073C5.90607 10.5073 5.59607 10.8171 5.59607 11.1996V12.1359C4.55914 12.251 3.75 13.1323 3.75 14.1996V14.8918C3.75 15.2743 4.06 15.5841 4.44232 15.5841H7.44232C7.44232 15.9659 7.13178 16.2764 6.75 16.2764H4.44232C4.06 16.2764 3.75 16.5864 3.75 16.9688C3.75 17.3511 4.06 17.6611 4.44232 17.6611H5.59607V18.5841C5.59607 18.9664 5.90607 19.2764 6.28839 19.2764C6.67072 19.2764 6.98071 18.9664 6.98071 18.5841V17.6479C8.01782 17.5327 8.82697 16.6514 8.82697 15.5841V14.8918C8.82697 14.5095 8.51697 14.1996 8.13464 14.1996H5.13464C5.13464 13.8179 5.44519 13.5073 5.82697 13.5073Z",
1474
+ fill: color
1475
+ }), /* @__PURE__ */ React$2.createElement("path", {
1476
+ d: "M24.0577 7.73804H20.6993L22.923 5.51422C23.7328 4.70453 23.7328 3.3869 22.923 2.57703C22.5308 2.18481 22.0093 1.96875 21.4545 1.96875C20.8997 1.96875 20.3782 2.18481 19.986 2.57703L14.825 7.73804H1.44232C1.06 7.73804 0.75 8.04803 0.75 8.43036V21.3534C0.75 21.7357 1.06 22.0457 1.44232 22.0457H24.0577C24.44 22.0457 24.75 21.7357 24.75 21.3534V8.43036C24.75 8.04803 24.44 7.73804 24.0577 7.73804ZM14.3903 12.089L12.9216 12.5786L13.411 11.1099L19.3332 5.18793L20.3123 6.16699L14.3903 12.089ZM21.4545 3.35339C21.6394 3.35339 21.8132 3.42554 21.9439 3.55627C22.2109 3.82306 22.2109 4.26837 21.9439 4.53534L21.2913 5.18811L20.3123 4.20905L20.965 3.55627C21.0958 3.42554 21.2695 3.35339 21.4545 3.35339ZM23.3654 20.6611H2.13464V9.12268H13.4403L12.3164 10.2466C12.2404 10.3226 12.1831 10.4152 12.1492 10.5172L11.1702 13.4544C11.0945 13.6811 11.127 13.9565 11.2703 14.1498C11.4001 14.3249 11.6089 14.4304 11.827 14.4304H21.0577C21.44 14.4304 21.75 14.1204 21.75 13.738C21.75 13.3557 21.44 13.0457 21.0577 13.0457H15.3917L19.3147 9.12268H23.3654V20.6611Z",
1477
+ fill: color
1478
+ }), /* @__PURE__ */ React$2.createElement("path", {
1479
+ d: "M21.0579 16.0459H15.5195C15.1371 16.0459 14.8271 16.3559 14.8271 16.7382C14.8271 17.1205 15.1371 17.4305 15.5195 17.4305H21.0579C21.4402 17.4305 21.7502 17.1205 21.7502 16.7382C21.7502 16.3559 21.4402 16.0459 21.0579 16.0459Z",
1480
+ fill: color
1481
+ })), /* @__PURE__ */ React$2.createElement("defs", null, /* @__PURE__ */ React$2.createElement("clipPath", { id: "clip0_3352_7830" }, /* @__PURE__ */ React$2.createElement("rect", {
1482
+ width: "24",
1483
+ height: "24",
1484
+ fill: "white",
1485
+ transform: "translate(0.75)"
1486
+ }))));
1487
+ };
1488
+
1489
+ //#endregion
1490
+ //#region src/utilities/form/paymentForm/CashForm.tsx
1491
+ const useStyles$1 = makeStyles((theme) => ({
1492
+ formControl: {
1493
+ width: "100%",
1494
+ marginBottom: "10px"
1495
+ },
1496
+ formControlCheck: {
1497
+ width: "100%",
1498
+ marginTop: "5px",
1499
+ marginLeft: "3px"
1500
+ }
1501
+ }));
1502
+ const CashForm = ({ isFormDisabled = false, paymentDetails, amountValue = null, onStatusChange }) => {
1503
+ const { t } = useTranslation();
1504
+ const classes = useStyles$1();
1505
+ return /* @__PURE__ */ React.createElement(PaymentCard, null, /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1506
+ component: FluentTextField,
1507
+ ComponentProps: {
1508
+ label: t("Amount"),
1509
+ variant: "outlined",
1510
+ margin: "none",
1511
+ size: "small",
1512
+ disabled: isFormDisabled || amountValue || false,
1513
+ fullWidth: true,
1514
+ InputProps: { startAdornment: /* @__PURE__ */ React.createElement(InputAdornment, { position: "start" }, "$") }
1515
+ },
1516
+ name: "cashAmount",
1517
+ initialValue: amountValue,
1518
+ required: !isFormDisabled
1519
+ })), /* @__PURE__ */ React.createElement(FormControl, { className: classes.formControl }, /* @__PURE__ */ React.createElement(Field, {
1520
+ component: FluentTextField,
1521
+ ComponentProps: {
1522
+ label: t("Description"),
1523
+ variant: "outlined",
1524
+ margin: "normal",
1525
+ size: "small",
1526
+ disabled: false,
1527
+ fullWidth: true,
1528
+ autoComplete: "off",
1529
+ multiline: true,
1530
+ rows: 4,
1531
+ inputProps: {
1532
+ maxLength: 256,
1533
+ autocomplete: "off"
1534
+ }
1535
+ },
1536
+ name: "cashDescription",
1537
+ initialValue: "",
1538
+ required: !isFormDisabled
1539
+ })));
1540
+ };
1541
+
1542
+ //#endregion
1543
+ //#region src/utilities/form/paymentForm/CashIcon.tsx
1544
+ /**
1545
+ * CashIcon
1546
+ *
1547
+ * @param {(JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>)} props
1548
+ * @return {*}
1549
+ */
1550
+ const CashIcon = (props) => {
1551
+ const { color = "#2196F3" } = props;
1552
+ return /* @__PURE__ */ React$2.createElement("svg", {
1553
+ width: "25",
1554
+ height: "24",
1555
+ viewBox: "0 0 25 24",
1556
+ fill: "none",
1557
+ xmlns: "http://www.w3.org/2000/svg",
1558
+ ...props
1559
+ }, /* @__PURE__ */ React$2.createElement("g", { "clip-path": "url(#clip0_3352_7835)" }, /* @__PURE__ */ React$2.createElement("path", {
1560
+ d: "M23.5469 4.24902H0.953125C0.564812 4.24902 0.25 4.55927 0.25 4.94196V18.7099C0.25 19.0926 0.564812 19.4029 0.953125 19.4029H23.5469C23.9352 19.4029 24.25 19.0926 24.25 18.7099V4.94196C24.25 4.55927 23.9352 4.24902 23.5469 4.24902ZM1.65625 10.094C4.00342 9.78446 5.86684 7.94805 6.18091 5.63489H18.319C18.6331 7.94805 20.4965 9.78446 22.8438 10.094V13.5579C20.4965 13.8674 18.6331 15.7038 18.319 18.017H6.18091C5.86684 15.7038 4.00342 13.8674 1.65625 13.5579V10.094ZM22.8438 8.69014C21.2735 8.40469 20.0332 7.18236 19.7435 5.63489H22.8438V8.69014ZM4.75642 5.63489C4.46678 7.18236 3.22647 8.40469 1.65625 8.69014V5.63489H4.75642ZM1.65625 14.9618C3.22647 15.2472 4.46678 16.4695 4.75642 18.017H1.65625V14.9618ZM19.7435 18.017C20.0332 16.4695 21.2735 15.2472 22.8438 14.9618V18.017H19.7435Z",
1561
+ fill: color
1562
+ }), /* @__PURE__ */ React$2.createElement("path", {
1563
+ d: "M13.0683 11.1408C12.5517 10.9609 11.9814 10.7443 11.6691 10.5029C11.6035 10.4522 11.5758 10.3114 11.6032 10.1681C11.6182 10.0897 11.6877 9.82792 11.9521 9.74938C12.4412 9.60414 12.7728 9.79401 12.8927 9.88233C13.2037 10.1114 13.6443 10.0487 13.8769 9.74222C14.1094 9.43571 14.0457 9.00148 13.7347 8.7723C13.6151 8.68416 13.3282 8.49827 12.9177 8.39137V8.25251C12.9177 7.86982 12.6029 7.55957 12.2146 7.55957C11.8263 7.55957 11.5115 7.86982 11.5115 8.25251V8.43419C10.8489 8.64521 10.3559 9.20741 10.2213 9.9113C10.0945 10.5743 10.3167 11.2188 10.8013 11.5933C11.2723 11.9574 11.944 12.219 12.5996 12.4474C13.0826 12.6156 13.097 12.9788 13.0626 13.1803C13.0043 13.522 12.7126 13.8912 12.2099 13.8946C11.6612 13.8982 11.5178 13.8759 11.1086 13.6121C10.7837 13.4026 10.3479 13.4924 10.1353 13.8126C9.92272 14.1329 10.0138 14.5623 10.3388 14.7718C10.7847 15.0593 11.1222 15.1893 11.5115 15.2443V15.3996C11.5115 15.7823 11.8263 16.0926 12.2146 16.0926C12.6029 16.0926 12.9177 15.7823 12.9177 15.3996V15.1709C13.7751 14.8969 14.3234 14.1487 14.4494 13.4101C14.6216 12.4006 14.0666 11.4886 13.0683 11.1408Z",
1564
+ fill: color
1565
+ })), /* @__PURE__ */ React$2.createElement("defs", null, /* @__PURE__ */ React$2.createElement("clipPath", { id: "clip0_3352_7835" }, /* @__PURE__ */ React$2.createElement("rect", {
1566
+ width: "24",
1567
+ height: "23.6522",
1568
+ fill: "white",
1569
+ transform: "translate(0.25)"
1570
+ }))));
1571
+ };
1572
+
1573
+ //#endregion
1574
+ //#region src/utilities/form/paymentForm/DisableOverlay.tsx
1575
+ /**
1576
+ * DisabledOverlay
1577
+ *
1578
+ * @param {*} { message }
1579
+ * @return {*}
1580
+ */
1581
+ const DisabledOverlay = ({ message }) => {
1582
+ return /* @__PURE__ */ React.createElement("div", { style: {
1583
+ position: "absolute",
1584
+ top: 0,
1585
+ left: 0,
1586
+ right: 0,
1587
+ bottom: 0,
1588
+ backgroundColor: "rgba(255, 255, 255, 0.5)",
1589
+ display: "flex",
1590
+ justifyContent: "center",
1591
+ alignItems: "center",
1592
+ color: "#7f7f7f",
1593
+ fontSize: "1.2rem",
1594
+ textAlign: "center",
1595
+ padding: "20px",
1596
+ zIndex: 1e3
1597
+ } }, message);
1598
+ };
1599
+
1600
+ //#endregion
1601
+ //#region src/utilities/form/paymentForm/CheckIcon.tsx
1602
+ /**
1603
+ * CheckIcon
1604
+ *
1605
+ * @param {(JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>)} props
1606
+ * @return {*}
1607
+ */
1608
+ const CheckIcon = (props) => {
1609
+ const { color = "#2196F3" } = props;
1610
+ return /* @__PURE__ */ React$2.createElement("svg", {
1611
+ width: "25",
1612
+ height: "24",
1613
+ viewBox: "0 0 25 24",
1614
+ fill: "none",
1615
+ xmlns: "http://www.w3.org/2000/svg"
1616
+ }, /* @__PURE__ */ React$2.createElement("g", { "clip-path": "url(#clip0_3352_7813)" }, /* @__PURE__ */ React$2.createElement("path", {
1617
+ d: "M23.5357 4.51562H0.964281C0.569828 4.51562 0.25 4.83541 0.25 5.22991V18.7705C0.25 19.165 0.569828 19.4847 0.964281 19.4847H23.5357C23.9302 19.4847 24.25 19.1649 24.25 18.7705V5.22991C24.25 4.83541 23.9302 4.51562 23.5357 4.51562ZM22.8214 18.0561H1.67856V5.94419H22.8214V18.0561Z",
1618
+ fill: color
1619
+ }), /* @__PURE__ */ React$2.createElement("path", {
1620
+ d: "M6.69818 11.2856H5.04012C4.70445 11.2856 4.4314 11.0126 4.4314 10.6769C4.4314 10.3412 4.70445 10.0682 5.04012 10.0682H8.02123C8.41568 10.0682 8.73551 9.74833 8.73551 9.35388C8.73551 8.95943 8.41568 8.6396 8.02123 8.6396H6.58352V7.86321C6.58352 7.46875 6.2637 7.14893 5.86924 7.14893C5.47479 7.14893 5.15496 7.46875 5.15496 7.86321V8.6396H5.04021C3.91685 8.6396 3.00293 9.55352 3.00293 10.6769C3.00293 11.8003 3.9168 12.7142 5.04016 12.7142H6.69823C7.0339 12.7142 7.30694 12.9872 7.30694 13.3229C7.30694 13.6586 7.0339 13.9316 6.69823 13.9316H3.74018C3.34573 13.9316 3.0259 14.2514 3.0259 14.6459C3.0259 15.0403 3.34573 15.3602 3.74018 15.3602H5.15491V16.1366C5.15491 16.531 5.47474 16.8508 5.86919 16.8508C6.26365 16.8508 6.58348 16.531 6.58348 16.1366V15.3602H6.69818C7.82159 15.3602 8.73546 14.4462 8.73546 13.3229C8.73546 12.1995 7.82159 11.2856 6.69818 11.2856Z",
1621
+ fill: color
1622
+ }), /* @__PURE__ */ React$2.createElement("path", {
1623
+ d: "M21.2281 7.21729H14.2983C13.9038 7.21729 13.584 7.53711 13.584 7.93157C13.584 8.32607 13.9038 8.64585 14.2983 8.64585H21.2282C21.6227 8.64585 21.9425 8.32602 21.9425 7.93157C21.9425 7.53711 21.6226 7.21729 21.2281 7.21729Z",
1624
+ fill: color
1625
+ }), /* @__PURE__ */ React$2.createElement("path", {
1626
+ d: "M21.2281 9.7041H14.2983C13.9038 9.7041 13.584 10.0239 13.584 10.4184C13.584 10.8128 13.9038 11.1327 14.2983 11.1327H21.2282C21.6227 11.1327 21.9425 10.8128 21.9425 10.4184C21.9425 10.0239 21.6226 9.7041 21.2281 9.7041Z",
1627
+ fill: color
1628
+ }), /* @__PURE__ */ React$2.createElement("path", {
1629
+ d: "M21.2274 14.4291H19.3673L18.6357 13.4674C18.3715 13.1202 17.8598 13.0889 17.5553 13.4018L16.6815 14.2997L16.0694 13.1591C15.7951 12.6481 15.0555 12.6606 14.7992 13.1814L13.5335 15.7527C13.3594 16.1066 13.505 16.5347 13.859 16.709C14.2106 16.8821 14.6399 16.7397 14.8153 16.3836L15.4675 15.0585L15.884 15.8345C16.1115 16.2585 16.6876 16.3419 17.0253 15.9949L18.0008 14.9924L18.4447 15.5759C18.5798 15.7534 18.7901 15.8576 19.0132 15.8576H21.2274C21.6218 15.8576 21.9417 15.5378 21.9417 15.1434C21.9417 14.7489 21.6218 14.4291 21.2274 14.4291Z",
1630
+ fill: color
1631
+ })), /* @__PURE__ */ React$2.createElement("defs", null, /* @__PURE__ */ React$2.createElement("clipPath", { id: "clip0_3352_7813" }, /* @__PURE__ */ React$2.createElement("rect", {
1632
+ width: "24",
1633
+ height: "24",
1634
+ fill: "white",
1635
+ transform: "translate(0.25)"
1636
+ }))));
1637
+ };
1638
+
1639
+ //#endregion
1640
+ //#region src/utilities/form/paymentForm/TabPanel.tsx
1641
+ const StyledTab = styled(Tab)(({ theme, style }) => ({
1642
+ textTransform: "none",
1643
+ "&.Mui-selected": {
1644
+ backgroundColor: lighten(theme.palette.secondary.light, .9),
1645
+ color: theme.palette.primary.main
1646
+ },
1647
+ backgroundColor: theme.palette.background.paper,
1648
+ ...style
1649
+ }));
1650
+ /**
1651
+ * TabPanel
1652
+ *
1653
+ * @param {TabPanelProps} props
1654
+ * @return {*}
1655
+ */
1656
+ const TabPanel = (props) => {
1657
+ const { children, value, index, sx, ...other } = props;
1658
+ return /* @__PURE__ */ React.createElement("div", {
1659
+ role: "tabpanel",
1660
+ hidden: value !== index,
1661
+ id: `simple-tabpanel-${index}`,
1662
+ "aria-labelledby": `simple-tab-${index}`,
1663
+ ...other
1664
+ }, value === index && /* @__PURE__ */ React.createElement(Box, { sx: sx ? { ...sx } : { p: 3 } }, /* @__PURE__ */ React.createElement(Typography, { variant: "subtitle2" }, children)));
1665
+ };
1666
+
1667
+ //#endregion
1668
+ //#region src/utilities/form/paymentForm/PaymentForm.tsx
1669
+ const useStyles = makeStyles((theme) => ({
1670
+ tab: {
1671
+ color: grey[800],
1672
+ "&.Mui-selected": { color: theme.palette.secondary.main },
1673
+ textTransform: "none",
1674
+ minWidth: 115,
1675
+ width: 115
1676
+ },
1677
+ cardFullWidth: {
1678
+ width: "100%",
1679
+ minWidth: "100%",
1680
+ padding: 0
1681
+ },
1682
+ paddingZero: { padding: 0 },
1683
+ submitControl: { marginLeft: "50px" },
1684
+ buttonProgress: {
1685
+ color: theme.palette.secondary.main,
1686
+ position: "absolute",
1687
+ top: "50%",
1688
+ left: "50%",
1689
+ marginTop: -12,
1690
+ marginLeft: -12
1691
+ },
1692
+ dropDownPaymentsCard: { padding: "20px 12px 0px 12px" },
1693
+ assetTypeLabel: { top: theme.spacing(-.7) },
1694
+ formControl: {
1695
+ width: "100%",
1696
+ marginTop: "-15px"
1697
+ }
1698
+ }));
1699
+ /** paymentMethodIcons @type {*} */
1700
+ const paymentMethodIcons = {
1701
+ "Credit Card": CreditCardIcon,
1702
+ "Cash": CashIcon,
1703
+ "eCheck": BankIcon,
1704
+ "Debit Card": CheckIcon
1705
+ };
1706
+ const DEFAULT_ACCOUNT_TYPES = [{
1707
+ name: "Checking",
1708
+ value: "checking"
1709
+ }, {
1710
+ name: "Savings",
1711
+ value: "savings"
1712
+ }];
1713
+ const PAYMENT_METHODS = {
1714
+ CREDIT_CARD: "credit card",
1715
+ CASH: "cash",
1716
+ E_CHECK: "echeck",
1717
+ DEBIT_CARD: "debit card"
1718
+ };
1719
+ /**
1720
+ * getPaymentMethodIcon
1721
+ *
1722
+ * @param {string} paymentMethodName
1723
+ * @param {boolean} isSelected
1724
+ * @param {boolean} isEnabled
1725
+ * @param {*} theme
1726
+ * @return {*}
1727
+ */
1728
+ const getPaymentMethodIcon = (paymentMethodName, isSelected, isEnabled, theme) => {
1729
+ const color = isEnabled ? isSelected ? theme.palette.secondary.main : grey[800] : grey[400];
1730
+ const IconComponent = paymentMethodIcons[paymentMethodName];
1731
+ if (!IconComponent) return null;
1732
+ return /* @__PURE__ */ React.createElement(Badge, {
1733
+ color: "secondary",
1734
+ badgeContent: !isEnabled ? "!" : null
1735
+ }, /* @__PURE__ */ React.createElement(IconComponent, { color }));
1736
+ };
1737
+ /**
1738
+ * PaymentForm Component
1739
+ *
1740
+ * This component provides a user interface for selecting and handling different payment methods.
1741
+ * It allows users to switch between available payment methods using tabs and handles the form submission process.
1742
+ * Each payment method has its own form component that is displayed based on the selected tab.
1743
+ *
1744
+ * Props:
1745
+ * @param {PaymentMethodProps} props - Object containing the following properties:
1746
+ * @param {string} id - Unique identifier for the payment form.
1747
+ * @param {number} [activeTab=0] - The index of the currently active tab. Defaults to 0. [OPTIONAL]
1748
+ * @param {any[]} [paymentAccounts] - Array of payment accounts associated with the user. [OPTIONAL]
1749
+ * @param {PaymentDetails} paymentDetails - Object containing details about the customer's payment information.
1750
+ * @param {any[]} [bankAccountTypes=DEFAULT_ACCOUNT_TYPES] - Array of available bank account types, with a default value.
1751
+ * @param {boolean} loading - Boolean flag indicating if asynchronous operations like data fetching are in progress.
1752
+ * @param {Function} onTabChange - Function to be called when the active tab changes.
1753
+ * @param {Function} [onFormStatusChange] - Optional function to handle status changes during form interactions.
1754
+ * @param {Function} [onSubmitCompleted] - Optional function to be called upon successful form submission.
1755
+ * @param {Function} presetDataRequest - Function to prepare the data request for payment processing.
1756
+ * @param {Function} [submit] - Optional function to be called on form submission.
1757
+ * @param {any} [children] - Optional elements to be rendered inside the form.
1758
+ * @param {"before" | "after" | "outside"} [childrenPosition="before"] - Position of the children elements relative to the form.
1759
+ * @param {string} [actionLabel] - Optional label for the form action button.
1760
+ * @param {any} [render] - Optional render function for custom rendering inside the component.
1761
+ *
1762
+ * Usage:
1763
+ * The component renders tabs to switch between different payment methods and handles form interactions
1764
+ * for submitting payments. It integrates with Material-UI components to render the form and uses React hooks
1765
+ * for managing state, such as the currently active tab and form interaction data.
1766
+ *
1767
+ * The component uses the `useMemo` hook to optimize rendering performance and to handle the memoization of
1768
+ * computed payment fields. It ensures that the form submission process is smooth, even for hosted payments.
1769
+ *
1770
+ * Each payment method form (e.g., CreditCardForm, eCheckForm, etc.) is conditionally rendered based on the
1771
+ * currently selected payment method, ensuring a consistent user experience.
1772
+ *
1773
+ * Example:
1774
+ * <PaymentForm
1775
+ * id="paymentForm"
1776
+ * activeTab={0}
1777
+ * paymentAccounts={accounts}
1778
+ * paymentDetails={paymentDetails}
1779
+ * bankAccountTypes={accountTypes}
1780
+ * loading={isLoading}
1781
+ * onTabChange={handleTabChange}
1782
+ * onFormStatusChange={handleStatusChange}
1783
+ * presetDataRequest={createDataRequest}
1784
+ * onSubmitCompleted={handleSubmitCompleted}
1785
+ * actionLabel="Enter Card Details"
1786
+ * submit={handleSubmit}
1787
+ * />
1788
+ *
1789
+ * Note:
1790
+ * This component should be used within a React environment that supports hooks and functional components.
1791
+ * It relies on Material-UI for UI components and theming.
1792
+ */
1793
+ const PaymentForm = ({ id, activeTab = 0, externalId, paymentAccounts, paymentDetails, bankAccountTypes = DEFAULT_ACCOUNT_TYPES, loading, presetDataRequest, onTabChange, onFormStatusChange, onSubmitCompleted, submit, children, childrenPosition = "before", actionLabel, render }) => {
1794
+ const classes = useStyles();
1795
+ const theme = useTheme();
1796
+ const user = useUser();
1797
+ const { t } = useTranslation();
1798
+ const [value, setValue] = useState(activeTab);
1799
+ const formRef = useRef(null);
1800
+ const [paymentFormStatus, setPaymentFormStatus] = useState(null);
1801
+ const [paymentMethodsArray, setPaymentMethodsArray] = useState();
1802
+ const [selectedHostedPayment, setSelectedHostedPayment] = useState(null);
1803
+ const [selectedPaymentType, setSelectedPaymentType] = useState(PaymentMethodTypeEnum.CreditCard);
1804
+ const [loadingProcessPayment, setLoadingProcessPayment] = useState(false);
1805
+ const [selectedPaymentAccount, setSelectedPaymentAccount] = useState(null);
1806
+ /**
1807
+ * API call to get the payment accounts (Credit cards, Bank accounts) associated with the account
1808
+ */
1809
+ const [{ data: paymentMethods, loading: loadingPaymentMethods }] = useAxiosGet(ConfigService.pgV1ApiUrl, `PaymentMethod`, {}, false);
1810
+ /**
1811
+ * API call to get the payment method information and determine if the payment method is enabled or not
1812
+ *
1813
+ * @param {*} paymentMethodID : Credit card: 4001, Bank account: 4002, eCheck: 4004
1814
+ * @return {*}
1815
+ */
1816
+ const getPaymentMethodInfo = useCallback(async (paymentMethodID) => {
1817
+ if (!paymentMethodID || !user?.currentTenantId) return;
1818
+ try {
1819
+ return await apiMutate(ConfigService.pgV1ApiUrl, `AppPaymentVendor/PaymentMethod/${paymentMethodID}`, { method: "GET" }, {});
1820
+ } catch (error) {
1821
+ throw new Error(`Error getting payment method info: ${error?.message}`);
1822
+ }
1823
+ }, [user]);
1824
+ /**
1825
+ * API call to fetchPaymentMethod
1826
+ *
1827
+ * @param {string} currentTenantID
1828
+ * @param {string} paymentMethodId
1829
+ * @return {*}
1830
+ */
1831
+ const fetchPaymentMethod = useCallback(async (currentTenantID, paymentMethodId) => {
1832
+ if (!currentTenantID || !paymentMethodId) return null;
1833
+ return apiMutate(ConfigService.pgV1ApiUrl, `AppPaymentVendor/PaymentMethod/${paymentMethodId}`, { method: "GET" }, {});
1834
+ }, []);
1835
+ /**
1836
+ * fetchPaymentMethodDetails
1837
+ *
1838
+ * @param {*} tenantID
1839
+ * @param {*} methodId
1840
+ * @return {*}
1841
+ */
1842
+ const fetchPaymentMethodDetails = useCallback(async (tenantID, methodId) => {
1843
+ const paymentMethod = (await fetchPaymentMethod(tenantID, methodId))?.data;
1844
+ if (!paymentMethod) throw new Error(`${t("Payment method configuration not found")}: ${methodId}`);
1845
+ return paymentMethod;
1846
+ }, [fetchPaymentMethod]);
1847
+ /**
1848
+ * executePaymentPG
1849
+ *
1850
+ * @param {string} paymentType
1851
+ * @param {any} requestBody
1852
+ * @return {*}
1853
+ */
1854
+ const executePaymentPG = useCallback(async (paymentType, requestBody) => {
1855
+ if (!paymentType || !requestBody) return null;
1856
+ return apiMutate(ConfigService.pgV1ApiUrl, `ProcessPayment/${paymentType}`, {
1857
+ method: "POST",
1858
+ data: requestBody
1859
+ }, {});
1860
+ }, []);
1861
+ /**
1862
+ * executeHostedPaymentPG
1863
+ *
1864
+ * @param {string} paymentType
1865
+ * @param {any} requestBody
1866
+ * @return {*}
1867
+ */
1868
+ const executeHostedPaymentPG = useCallback(async (paymentType, requestBody) => {
1869
+ if (!paymentType || !requestBody) return null;
1870
+ const path = requestBody?.paymentTokenId ? `ProcessPayment/${paymentType}Profile` : `ProcessHostedPaymentPagePayment/${paymentType}`;
1871
+ return apiMutate(ConfigService.pgV1ApiUrl, path, {
1872
+ method: "POST",
1873
+ data: requestBody
1874
+ }, {});
1875
+ }, []);
1876
+ const paymentMethodLabels = useMemo(() => ({
1877
+ "creditcard": t("Credit Card"),
1878
+ "debitcard": t("Debit Card"),
1879
+ "echeck": t("eCheck"),
1880
+ "check": t("Check"),
1881
+ "cash": t("Cash")
1882
+ }), [t]);
1883
+ /**
1884
+ * handleChange
1885
+ *
1886
+ * @param {React.ChangeEvent<{}>} event
1887
+ * @param {number} newValue
1888
+ */
1889
+ const handleChange = (event, newValue) => {
1890
+ event.preventDefault();
1891
+ setValue(newValue);
1892
+ const selectedPaymentMethod = paymentMethodsArray?.[newValue];
1893
+ setSelectedHostedPayment(selectedPaymentMethod?.paymentVendorConnection?.paymentVendorFactoryID);
1894
+ setSelectedPaymentType(selectedPaymentMethod?.paymentMethodID);
1895
+ onTabChange(event, selectedPaymentMethod);
1896
+ };
1897
+ const handleStatusChange = (paymentFormStatus$1) => {
1898
+ setPaymentFormStatus(paymentFormStatus$1);
1899
+ onFormStatusChange?.(paymentFormStatus$1);
1900
+ };
1901
+ /**
1902
+ * useCallback()
1903
+ * renderPaymentMethodForm
1904
+ *
1905
+ * @param {any} method
1906
+ * @return {*}
1907
+ */
1908
+ const renderPaymentMethodForm = useCallback((method) => {
1909
+ const isDisabled = !method.enabled;
1910
+ const overlayMessage = t("This Payment method is currently unavailable");
1911
+ return /* @__PURE__ */ React.createElement("div", { style: { position: "relative" } }, isDisabled && /* @__PURE__ */ React.createElement(DisabledOverlay, { message: overlayMessage }), /* @__PURE__ */ React.createElement("div", { style: { opacity: isDisabled ? .5 : 1 } }, method?.name?.toLowerCase() === PAYMENT_METHODS.CREDIT_CARD && /* @__PURE__ */ React.createElement(CreditCardForm, {
1912
+ onStatusChange: handleStatusChange,
1913
+ paymentDetails,
1914
+ externalId,
1915
+ setSelectedPaymentAccount,
1916
+ actionLabel,
1917
+ ...method
1918
+ }), method?.name?.toLowerCase() === PAYMENT_METHODS.CASH && /* @__PURE__ */ React.createElement(CashForm, {
1919
+ onStatusChange: handleStatusChange,
1920
+ paymentDetails,
1921
+ ...method
1922
+ }), method?.name?.toLowerCase() === PAYMENT_METHODS.E_CHECK && /* @__PURE__ */ React.createElement(BankAccountForm, {
1923
+ bankAccountTypes,
1924
+ onStatusChange: handleStatusChange,
1925
+ paymentDetails,
1926
+ externalId,
1927
+ setSelectedPaymentAccount,
1928
+ actionLabel,
1929
+ ...method
1930
+ }), method?.name?.toLowerCase() === PAYMENT_METHODS.DEBIT_CARD && /* @__PURE__ */ React.createElement(CreditCardForm, {
1931
+ onStatusChange: handleStatusChange,
1932
+ paymentDetails,
1933
+ ...method
1934
+ }), " "));
1935
+ }, [paymentDetails, bankAccountTypes]);
1936
+ /**
1937
+ * isLiveMode
1938
+ *
1939
+ * @return {*}
1940
+ */
1941
+ const isSandBoxMode = useMemo(() => {
1942
+ const isLiveMode = paymentMethodsArray?.[value]?.paymentVendorConnection?.isLiveMode;
1943
+ if (isLiveMode === void 0) return false;
1944
+ return !isLiveMode;
1945
+ }, [paymentMethodsArray, value]);
1946
+ /**
1947
+ * getPaymentMethodLabel
1948
+ *
1949
+ * @param {*} method
1950
+ * @return {*}
1951
+ */
1952
+ const getPaymentMethodLabel = (method) => {
1953
+ const normalizedMethodName = method?.name?.toLowerCase().replace(/\s+/g, "") || "";
1954
+ return paymentMethodLabels?.[normalizedMethodName] || method.name;
1955
+ };
1956
+ /**
1957
+ * setPaymentMethodsEnabled
1958
+ * take every paymentMethod (eCheck, credit card, etc) and verify if the payment methods are enabled or not
1959
+ * @return {*}
1960
+ */
1961
+ const setPaymentMethodsEnabled = useCallback(async () => {
1962
+ const validPaymentMethods = paymentMethods?.filter(Boolean);
1963
+ const filteredResults = (await Promise.allSettled(validPaymentMethods?.map(async (paymentMethod) => {
1964
+ try {
1965
+ const paymentMethodEnable = await getPaymentMethodInfo(paymentMethod.paymentMethodID);
1966
+ const paymentVendorConnection = paymentMethodEnable?.data?.paymentVendorConnection || null;
1967
+ const providerType = paymentVendorConnection?.paymentVendorFactoryID;
1968
+ const hostedPaymentPageSetup = paymentVendorConnection?.hostedPaymentPageSetup.find((x) => x.useHostedPaymentPage) || null;
1969
+ const isHostedPaymentPage = hostedPaymentPageSetup?.useHostedPaymentPage || false;
1970
+ let providerProps = {};
1971
+ let hasReadPropertiesError = false;
1972
+ let readPropertiesMessageError = null;
1973
+ if (isHostedPaymentPage) {
1974
+ const { error, attributes } = stringToProps(hostedPaymentPageSetup?.hostedPaymentPageConfig);
1975
+ providerProps = {
1976
+ customCss: hostedPaymentPageSetup?.customCSS,
1977
+ attributes,
1978
+ ...attributes?.baseUrl ? { baseUrl: attributes?.baseUrl } : null
1979
+ };
1980
+ hasReadPropertiesError = error ? true : false;
1981
+ readPropertiesMessageError = error;
1982
+ }
1983
+ return {
1984
+ paymentMethodID: paymentMethod.paymentMethodID,
1985
+ name: paymentMethod.name,
1986
+ enabled: paymentMethodEnable?.status === 200,
1987
+ data: paymentMethodEnable?.status === 200 ? paymentMethodEnable.data : null,
1988
+ paymentVendorConnection,
1989
+ isHostedPaymentPage,
1990
+ providerType,
1991
+ providerProps,
1992
+ hasReadPropertiesError,
1993
+ readPropertiesMessageError
1994
+ };
1995
+ } catch (error) {
1996
+ console.error(`Error fetching payment method info for ${paymentMethod?.paymentMethodID}:`, error);
1997
+ return null;
1998
+ }
1999
+ }))).filter((result) => result.status === "fulfilled" && result.value !== null).map((result) => result.value) || null;
2000
+ setPaymentMethodsArray(filteredResults);
2001
+ setSelectedHostedPayment(filteredResults?.find((x) => x.enabled)?.providerType || null);
2002
+ }, [paymentMethods]);
2003
+ /**
2004
+ * createHostedPaymentRequest
2005
+ *
2006
+ * @param {*} baseRequest
2007
+ * @param {*} paymentMethod
2008
+ * @return {*}
2009
+ */
2010
+ const createHostedPaymentRequest = useCallback((baseRequest, paymentMethod, paymentMethodId, selectedPaymentAccount$1) => {
2011
+ const vendorFactoryID = paymentMethod.paymentVendorConnection?.paymentVendorFactoryID;
2012
+ let vendorRequest = {};
2013
+ switch (vendorFactoryID) {
2014
+ case PaymentVendorFactoryEnum.Fiserv:
2015
+ vendorRequest = {
2016
+ HostedPageToken: paymentFormStatus?.payload?.token || paymentFormStatus?.payload?.message,
2017
+ ...paymentFormStatus?.payload?.expiry && { Expiry: paymentFormStatus?.payload?.expiry }
2018
+ };
2019
+ break;
2020
+ case PaymentVendorFactoryEnum.ICheck:
2021
+ if (!paymentFormStatus?.isValid) throw new Error(`${t("Payment error. Please check the form and try again")} ${paymentFormStatus?.errorMessage}`);
2022
+ vendorRequest = { ResponseData: JSON.parse(paymentFormStatus?.payload)?.transactionResponse };
2023
+ break;
2024
+ case PaymentVendorFactoryEnum.Paymentus:
2025
+ const paymentTokenId = selectedPaymentAccount$1 ? selectedPaymentAccount$1?.paymentTokenID : null;
2026
+ vendorRequest = {
2027
+ NameOnAccount: paymentFormStatus?.payload?.CardHolderName,
2028
+ HostedPageToken: paymentFormStatus?.payload?.Token,
2029
+ ...paymentFormStatus?.payload?.ExpiryDate && { Expiry: paymentFormStatus?.payload?.ExpiryDate },
2030
+ ...paymentTokenId && { PaymentTokenId: paymentTokenId }
2031
+ };
2032
+ break;
2033
+ default: break;
2034
+ }
2035
+ return {
2036
+ ...baseRequest,
2037
+ PaymentVendorFactoryID: vendorFactoryID,
2038
+ ...vendorRequest
2039
+ };
2040
+ }, [paymentFormStatus]);
2041
+ /**
2042
+ * createNonHostedPaymentRequest
2043
+ *
2044
+ * @param {*} baseRequest
2045
+ * @param {*} formData
2046
+ * @return {*}
2047
+ */
2048
+ const createNonHostedPaymentRequest = useCallback((baseRequest, formData) => {
2049
+ let dataRequest = { ...baseRequest };
2050
+ if (selectedPaymentType === PaymentMethodTypeEnum.CreditCard) Object.assign(dataRequest, setCreditCardAttr(formData));
2051
+ else if (selectedPaymentType === PaymentMethodTypeEnum.eCheck) Object.assign(dataRequest, setECheckAttr(formData));
2052
+ return dataRequest;
2053
+ }, [selectedPaymentType]);
2054
+ /**
2055
+ * createDataRequest
2056
+ *
2057
+ * @param {*} formData
2058
+ * @param {*} paymentMethod
2059
+ * @param {*} isHostedPayment
2060
+ * @return {*}
2061
+ */
2062
+ const createDataRequest = useCallback((formData, paymentMethod, isHostedPayment, paymentMethodId, selectedPaymentAccount$1) => {
2063
+ const baseRequest = presetDataRequest(formData, paymentMethod, isHostedPayment);
2064
+ return isHostedPayment ? createHostedPaymentRequest(baseRequest, paymentMethod, paymentMethodId, selectedPaymentAccount$1) : createNonHostedPaymentRequest(baseRequest, formData);
2065
+ }, [
2066
+ paymentFormStatus,
2067
+ user,
2068
+ presetDataRequest,
2069
+ paymentDetails,
2070
+ selectedPaymentType
2071
+ ]);
2072
+ /**
2073
+ * executePayment
2074
+ * Executes the payment process based on the payment method and request data.
2075
+ *
2076
+ * @param {*} paymentMethodId The ID of the payment method.
2077
+ * @param {*} dataRequest The request data for the payment.
2078
+ * @param {boolean} isHostedPayment Indicates if the payment is a hosted payment.
2079
+ * @return {*} The result of the payment execution.
2080
+ */
2081
+ const executePayment = useCallback(async (paymentMethodId, dataRequest, isHostedPayment) => {
2082
+ if (!paymentMethodId || !dataRequest) throw new Error(t("Invalid payment data"));
2083
+ if (typeof isHostedPayment !== "boolean") throw new Error(t("Invalid hosted payment flag"));
2084
+ const paymentMethodName = PaymentMethodTypeEnum?.[paymentMethodId];
2085
+ if (!paymentMethodName) throw new Error(t("Unknown payment method") + `: ${paymentMethodId}`);
2086
+ return (isHostedPayment ? await executeHostedPaymentPG(paymentMethodName, dataRequest) : await executePaymentPG(paymentMethodName, dataRequest))?.data || null;
2087
+ }, [executePaymentPG, executeHostedPaymentPG]);
2088
+ /**
2089
+ * setCreditCardAttr
2090
+ *
2091
+ * @param {*} formData
2092
+ * @param {string} currentTenantID
2093
+ * @param {IPaymentMethod} paymentMethod
2094
+ * @return {*}
2095
+ */
2096
+ const setCreditCardAttr = (formData) => {
2097
+ const expireMonth = formData.expiryDate.split("/")?.[0];
2098
+ const expirationDate = `20${formData.expiryDate.split("/")?.[1]}-${expireMonth}-01`;
2099
+ return {
2100
+ CardNumber: formData.cardNumber.replace(/\s/g, ""),
2101
+ ExpirationDate: expirationDate,
2102
+ SecurityCode: formData.cvv
2103
+ };
2104
+ };
2105
+ /**
2106
+ * setECheckAttr
2107
+ * @param {*} formData
2108
+ */
2109
+ const setECheckAttr = (formData) => ({
2110
+ routingNumber: formData.routingNumber.replace(/\s/g, ""),
2111
+ accountNumber: formData.accountNumber.replace(/\s/g, "")
2112
+ });
2113
+ /**
2114
+ * submitPaymentForm
2115
+ * Processes the payment form submission.
2116
+ * @param {*} formData The form data.
2117
+ */
2118
+ const submitPaymentForm = useCallback(async (formData) => {
2119
+ if (!formData) return;
2120
+ setLoadingProcessPayment(true);
2121
+ const currentTenantID = user?.currentTenantId;
2122
+ const paymentMethodId = selectedPaymentType;
2123
+ if (!currentTenantID || !paymentMethodId) onSubmitCompleted?.(null, { error: true });
2124
+ try {
2125
+ const paymentMethod = await fetchPaymentMethodDetails(currentTenantID, paymentMethodId);
2126
+ const isHostedPayment = paymentMethod.paymentVendorConnection?.hostedPaymentPageSetup?.[0]?.useHostedPaymentPage || false;
2127
+ const paymentResult = await executePayment(paymentMethodId, createDataRequest(formData, paymentMethod, isHostedPayment, paymentMethodId, selectedPaymentAccount), isHostedPayment);
2128
+ onSubmitCompleted?.(formData, paymentResult);
2129
+ } catch (error) {
2130
+ throw new Error("Error processing payment: " + error?.message);
2131
+ } finally {
2132
+ setLoadingProcessPayment(false);
2133
+ }
2134
+ }, [
2135
+ paymentFormStatus,
2136
+ createDataRequest,
2137
+ selectedPaymentType,
2138
+ user,
2139
+ selectedPaymentAccount
2140
+ ]);
2141
+ /**
2142
+ * Handles the form submission for iCheck payments.
2143
+ *
2144
+ * This function checks if the selected payment method is `ECheck` (electronic check)
2145
+ * from the `PaymentVendorFactoryEnum`. If it is, and the form reference (`formRef`) exists
2146
+ * and is currently mounted in the component, it programmatically triggers the form submission.
2147
+ *
2148
+ */
2149
+ const handleICheckPaymentFormStatus = useCallback(() => {
2150
+ if (paymentFormStatus?.selectedHostedPayment === PaymentVendorFactoryEnum.ICheck || paymentFormStatus?.selectedHostedPayment === PaymentVendorFactoryEnum.Paymentus && formRef?.current) formRef.current?.submit();
2151
+ }, [paymentFormStatus]);
2152
+ useEffect(() => {
2153
+ setPaymentMethodsEnabled();
2154
+ }, [paymentMethods]);
2155
+ useEffect(() => {
2156
+ onFormStatusChange?.(paymentFormStatus);
2157
+ handleICheckPaymentFormStatus();
2158
+ }, [paymentFormStatus]);
2159
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, loadingProcessPayment && /* @__PURE__ */ React.createElement(Box$1, { sx: {
2160
+ position: "fixed",
2161
+ top: 0,
2162
+ left: 0,
2163
+ width: "100%",
2164
+ height: "100%",
2165
+ backgroundColor: "rgba(255, 255, 255, 0.8)",
2166
+ zIndex: 9999,
2167
+ display: "flex",
2168
+ alignItems: "center",
2169
+ justifyContent: "center"
2170
+ } }, /* @__PURE__ */ React.createElement(CircularProgress$1, {
2171
+ size: "3rem",
2172
+ color: "primary"
2173
+ })), /* @__PURE__ */ React.createElement(Form, {
2174
+ id,
2175
+ onSubmit: submitPaymentForm,
2176
+ autocomplete: "off",
2177
+ render: (params) => {
2178
+ formRef.current = params?.form;
2179
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Box$1, {
2180
+ display: "flex",
2181
+ flexDirection: "column",
2182
+ style: {
2183
+ gap: "10px",
2184
+ flex: 1
2185
+ }
2186
+ }, childrenPosition === "before" && children, /* @__PURE__ */ React.createElement(Box$1, {
2187
+ display: "flex",
2188
+ flexDirection: "column",
2189
+ padding: "0"
2190
+ }, /* @__PURE__ */ React.createElement(Tabs, {
2191
+ value,
2192
+ onChange: handleChange,
2193
+ "aria-label": t("(payment method tabs")
2194
+ }, paymentMethodsArray?.map((method, index) => /* @__PURE__ */ React.createElement(Tooltip, {
2195
+ key: method.paymentMethodID,
2196
+ title: !method.enabled ? t("This Payment method is currently unavailable") : ""
2197
+ }, /* @__PURE__ */ React.createElement(Tab, {
2198
+ key: method.paymentMethodID,
2199
+ icon: getPaymentMethodIcon(method.name, value === index, method.enabled, theme),
2200
+ label: getPaymentMethodLabel(method),
2201
+ "aria-label": getPaymentMethodLabel(method),
2202
+ className: classes.tab
2203
+ })))), /* @__PURE__ */ React.createElement(Card, { className: classes.cardFullWidth }, /* @__PURE__ */ React.createElement(CardContent, { className: classes.paddingZero }, (loading || loadingPaymentMethods) && /* @__PURE__ */ React.createElement(LinearProgress, null), /* @__PURE__ */ React.createElement(Grow, {
2204
+ in: isSandBoxMode,
2205
+ style: {
2206
+ transformOrigin: "0 0 0",
2207
+ display: isSandBoxMode ? "flex" : "none"
2208
+ },
2209
+ timeout: 800
2210
+ }, /* @__PURE__ */ React.createElement(Box$1, {
2211
+ display: "flex",
2212
+ flexDirection: "row",
2213
+ justifyContent: "space-between",
2214
+ alignItems: "center",
2215
+ style: {
2216
+ gap: "8px",
2217
+ boxSizing: "border-box",
2218
+ background: "#FFF2CD",
2219
+ borderWidth: "1px 0px",
2220
+ borderStyle: "solid",
2221
+ borderColor: "rgba(0, 0, 0, 0.12)",
2222
+ padding: "10px"
2223
+ }
2224
+ }, /* @__PURE__ */ React.createElement(Typography$1, {
2225
+ variant: "subtitle2",
2226
+ style: {
2227
+ width: "100%",
2228
+ textAlign: "center"
2229
+ }
2230
+ }, t("You are currently in test mode using a Sandbox account")))), /* @__PURE__ */ React.createElement(LayoutUnit, { unit: "xxs" }), paymentMethodsArray?.map((method, index) => /* @__PURE__ */ React.createElement(TabPanel, {
2231
+ value,
2232
+ index,
2233
+ key: method.paymentMethodID
2234
+ }, renderPaymentMethodForm(method))), submit && /* @__PURE__ */ React.createElement(FluentButton, {
2235
+ variant: "contained",
2236
+ color: "secondary",
2237
+ disabled: false,
2238
+ type: "submit",
2239
+ className: classes.submitControl
2240
+ }, loading && /* @__PURE__ */ React.createElement(CircularProgress$1, {
2241
+ size: 24,
2242
+ className: classes.buttonProgress
2243
+ }), /* @__PURE__ */ React.createElement(Typography$1, null, t("Save")))))), childrenPosition === "after" && children, typeof render === "function" ? render(params) : render), childrenPosition === "outside" && children);
2244
+ }
2245
+ }));
2246
+ };
2247
+
2248
+ //#endregion
2249
+ export { PaymentForm as t };
2250
+ //# sourceMappingURL=PaymentForm-D9Y5D7TN.js.map