udp-react-enterprise-component-library 25.18.3-beta.1 → 25.18.3-beta.2

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 (457) hide show
  1. package/dist/{ActionProvider-BGugOmjV.js → ActionProvider-B1-CUDQT.js} +7 -7
  2. package/dist/{ActionProvider-BGugOmjV.js.map → ActionProvider-B1-CUDQT.js.map} +1 -1
  3. package/dist/{ActionSplitScreen-D6_7PlK-.js → ActionSplitScreen-DjSUjE6M.js} +8 -8
  4. package/dist/{ActionSplitScreen-D6_7PlK-.js.map → ActionSplitScreen-DjSUjE6M.js.map} +1 -1
  5. package/dist/{ActionWrapper-DnP7lGDq.js → ActionWrapper-BwnB_Qw4.js} +14 -14
  6. package/dist/{ActionWrapper-DnP7lGDq.js.map → ActionWrapper-BwnB_Qw4.js.map} +1 -1
  7. package/dist/{ActionsRenderer-DbrPKZ1o.js → ActionsRenderer-DbMlilVW.js} +2 -2
  8. package/dist/{ActionsRenderer-DbrPKZ1o.js.map → ActionsRenderer-DbMlilVW.js.map} +1 -1
  9. package/dist/{AggregateChip-BF7S3x_K.js → AggregateChip-Dm3js2LK.js} +5 -5
  10. package/dist/{AggregateChip-BF7S3x_K.js.map → AggregateChip-Dm3js2LK.js.map} +1 -1
  11. package/dist/{AmbientChipButton-DYAYXuKp.js → AmbientChipButton-XFBUrwCb.js} +2 -2
  12. package/dist/AmbientChipButton-XFBUrwCb.js.map +1 -0
  13. package/dist/{AmbientGridTemplate-D1TMpzxb.js → AmbientGridTemplate-UXA3KgIL.js} +7 -7
  14. package/dist/{AmbientGridTemplate-D1TMpzxb.js.map → AmbientGridTemplate-UXA3KgIL.js.map} +1 -1
  15. package/dist/{AmbientTokenButton-B53E25r2.js → AmbientTokenButton-F3Wg-88V.js} +2 -2
  16. package/dist/AmbientTokenButton-F3Wg-88V.js.map +1 -0
  17. package/dist/{AppMenu-oGJtO6Vp.js → AppMenu-5JJDLddA.js} +3 -3
  18. package/dist/{AppMenu-oGJtO6Vp.js.map → AppMenu-5JJDLddA.js.map} +1 -1
  19. package/dist/{AuthProvider-J79EBNDc.js → AuthProvider-DtiKAaWb.js} +5 -5
  20. package/dist/{AuthProvider-J79EBNDc.js.map → AuthProvider-DtiKAaWb.js.map} +1 -1
  21. package/dist/{BarChartWidget-u-8fxMn5.js → BarChartWidget-DDsXC3pz.js} +3 -3
  22. package/dist/BarChartWidget-DDsXC3pz.js.map +1 -0
  23. package/dist/{BaseTreeMenu-Dg8MW4TD.js → BaseTreeMenu-CHRy-g7V.js} +4 -4
  24. package/dist/{BaseTreeMenu-Dg8MW4TD.js.map → BaseTreeMenu-CHRy-g7V.js.map} +1 -1
  25. package/dist/{BioCardWrapper-D1ZOHyA4.js → BioCardWrapper-CUuubD2U.js} +3 -3
  26. package/dist/{BioCardWrapper-D1ZOHyA4.js.map → BioCardWrapper-CUuubD2U.js.map} +1 -1
  27. package/dist/{BubbleWidget-CMJYN-7J.js → BubbleWidget-Bx4c0P2X.js} +3 -3
  28. package/dist/BubbleWidget-Bx4c0P2X.js.map +1 -0
  29. package/dist/{BulkActionsGridButton-JYgIABWU.js → BulkActionsGridButton-zrOoVMFg.js} +8 -8
  30. package/dist/{BulkActionsGridButton-JYgIABWU.js.map → BulkActionsGridButton-zrOoVMFg.js.map} +1 -1
  31. package/dist/{CardList-B8nTYXo7.js → CardList-mxsKMn2s.js} +6 -6
  32. package/dist/{CardList-B8nTYXo7.js.map → CardList-mxsKMn2s.js.map} +1 -1
  33. package/dist/{ChatBotProvider-CmrKYl2I.js → ChatBotProvider-BgWP6rfO.js} +6 -6
  34. package/dist/{ChatBotProvider-CmrKYl2I.js.map → ChatBotProvider-BgWP6rfO.js.map} +1 -1
  35. package/dist/{ChatContainer-CXzPIP9R.js → ChatContainer-C5pau9eF.js} +2 -2
  36. package/dist/{ChatContainer-CXzPIP9R.js.map → ChatContainer-C5pau9eF.js.map} +1 -1
  37. package/dist/{ChatUDP-DYAsqqXk.js → ChatUDP-rGP1IC_e.js} +2 -2
  38. package/dist/{ChatUDP-DYAsqqXk.js.map → ChatUDP-rGP1IC_e.js.map} +1 -1
  39. package/dist/{CircleButton-CrvnPHDw.js → CircleButton-CwA9EAmx.js} +2 -2
  40. package/dist/{CircleButton-CrvnPHDw.js.map → CircleButton-CwA9EAmx.js.map} +1 -1
  41. package/dist/{CrudBrowserContainer-UJvAMHYL.js → CrudBrowserContainer-4xalY8qW.js} +2 -2
  42. package/dist/{CrudBrowserContainer-UJvAMHYL.js.map → CrudBrowserContainer-4xalY8qW.js.map} +1 -1
  43. package/dist/{CrudForm-C9xMnPoA.js → CrudForm-B9K31dMq.js} +8 -8
  44. package/dist/{CrudForm-C9xMnPoA.js.map → CrudForm-B9K31dMq.js.map} +1 -1
  45. package/dist/{CrudTableSidePanel-D8UYaXhS.js → CrudTableSidePanel-DmC2bKKS.js} +5 -5
  46. package/dist/{CrudTableSidePanel-D8UYaXhS.js.map → CrudTableSidePanel-DmC2bKKS.js.map} +1 -1
  47. package/dist/{DataBrowserContainer-DGEL52Un.js → DataBrowserContainer-zVg6Htb9.js} +10 -10
  48. package/dist/{DataBrowserContainer-DGEL52Un.js.map → DataBrowserContainer-zVg6Htb9.js.map} +1 -1
  49. package/dist/{DensePlotWidget-lJW-uzdQ.js → DensePlotWidget-C3hgu_PW.js} +3 -3
  50. package/dist/DensePlotWidget-C3hgu_PW.js.map +1 -0
  51. package/dist/{DynamicContainerWithMenu-lYZyNyb_.js → DynamicContainerWithMenu-DB27WYKY.js} +2 -2
  52. package/dist/{DynamicContainerWithMenu-lYZyNyb_.js.map → DynamicContainerWithMenu-DB27WYKY.js.map} +1 -1
  53. package/dist/{EntityHeader-CPvUEp7i.js → EntityHeader-CuQJ8F5K.js} +4 -4
  54. package/dist/{EntityHeader-CPvUEp7i.js.map → EntityHeader-CuQJ8F5K.js.map} +1 -1
  55. package/dist/{EntitySideBarContent-Bl_8gI69.js → EntitySideBarContent-DfmL6BdB.js} +2 -2
  56. package/dist/{EntitySideBarContent-Bl_8gI69.js.map → EntitySideBarContent-DfmL6BdB.js.map} +1 -1
  57. package/dist/{ExportSidesheet-eHGdT42e.js → ExportSidesheet-CM6A7I6E.js} +3 -3
  58. package/dist/{ExportSidesheet-eHGdT42e.js.map → ExportSidesheet-CM6A7I6E.js.map} +1 -1
  59. package/dist/{FieldArrayCard-CkVvDF-N.js → FieldArrayCard-vX6wT9RN.js} +13 -13
  60. package/dist/{FieldArrayCard-CkVvDF-N.js.map → FieldArrayCard-vX6wT9RN.js.map} +1 -1
  61. package/dist/{FluentCell-CuJJAwCD.js → FluentCell-BxgROwUy.js} +2 -2
  62. package/dist/{FluentCell-CuJJAwCD.js.map → FluentCell-BxgROwUy.js.map} +1 -1
  63. package/dist/{FluentDataTable-CYNp3-qT.js → FluentDataTable-BLAHPWUk.js} +2 -2
  64. package/dist/{FluentDataTable-CYNp3-qT.js.map → FluentDataTable-BLAHPWUk.js.map} +1 -1
  65. package/dist/{FluentSimpleSelect-BfoxBQj4.js → FluentSimpleSelect-BnXJTE2z.js} +2 -2
  66. package/dist/{FluentSimpleSelect-BfoxBQj4.js.map → FluentSimpleSelect-BnXJTE2z.js.map} +1 -1
  67. package/dist/{GridFunctions-D76ygiH2.js → GridFunctions-quS_QhSZ.js} +4 -4
  68. package/dist/GridFunctions-quS_QhSZ.js.map +1 -0
  69. package/dist/{GridGroupingSidebar-D-ozXbff.js → GridGroupingSidebar-CfXk_nd_.js} +2 -2
  70. package/dist/{GridGroupingSidebar-D-ozXbff.js.map → GridGroupingSidebar-CfXk_nd_.js.map} +1 -1
  71. package/dist/{GroupNode-CZX--ble.js → GroupNode-BVz5rDVG.js} +2 -2
  72. package/dist/{GroupNode-CZX--ble.js.map → GroupNode-BVz5rDVG.js.map} +1 -1
  73. package/dist/{IconRenderer-BEezfZ3N.js → IconRenderer-BKy2VlFt.js} +2 -2
  74. package/dist/{IconRenderer-BEezfZ3N.js.map → IconRenderer-BKy2VlFt.js.map} +1 -1
  75. package/dist/{ImportDataFromFileMapping-Dy1iJMkI.js → ImportDataFromFileMapping-ByNxnvjo.js} +6 -6
  76. package/dist/{ImportDataFromFileMapping-Dy1iJMkI.js.map → ImportDataFromFileMapping-ByNxnvjo.js.map} +1 -1
  77. package/dist/InputFieldTypeEnums-CtR8GR5A.js +14 -0
  78. package/dist/{InputFieldTypeEnums-Mg684vvi.js.map → InputFieldTypeEnums-CtR8GR5A.js.map} +1 -1
  79. package/dist/{Inquiry-D6nWpzu2.js → Inquiry-CsHgJgaV.js} +19 -19
  80. package/dist/{Inquiry-D6nWpzu2.js.map → Inquiry-CsHgJgaV.js.map} +1 -1
  81. package/dist/Inquiry-DjeqfXvY.js +3 -0
  82. package/dist/{InquiryNodeControls-DeK_hTzo.js → InquiryNodeControls-ivQYYK6C.js} +2 -2
  83. package/dist/{InquiryNodeControls-DeK_hTzo.js.map → InquiryNodeControls-ivQYYK6C.js.map} +1 -1
  84. package/dist/{InquirySearchContainer-zxbukV51.js → InquirySearchContainer-Di8nXQP_.js} +6 -6
  85. package/dist/{InquirySearchContainer-zxbukV51.js.map → InquirySearchContainer-Di8nXQP_.js.map} +1 -1
  86. package/dist/{LineGraphWidget-Ly1fmTyr.js → LineGraphWidget-CrPDR99w.js} +3 -3
  87. package/dist/LineGraphWidget-CrPDR99w.js.map +1 -0
  88. package/dist/{MenuPage-KiNfnc7P.js → MenuPage-DiNO7jTV.js} +6 -6
  89. package/dist/{MenuPage-KiNfnc7P.js.map → MenuPage-DiNO7jTV.js.map} +1 -1
  90. package/dist/MenuPage-DiuaPlMe.js +3 -0
  91. package/dist/{MenuProvider-BqEZve2y.js → MenuProvider-CqV76ZaL.js} +3 -3
  92. package/dist/{MenuProvider-BqEZve2y.js.map → MenuProvider-CqV76ZaL.js.map} +1 -1
  93. package/dist/{MttMainTimeline-DbaaXXQv.js → MttMainTimeline-CinommZ-.js} +3 -3
  94. package/dist/{MttMainTimeline-DbaaXXQv.js.map → MttMainTimeline-CinommZ-.js.map} +1 -1
  95. package/dist/{MttSummary-DNc71fHh.js → MttSummary-C9BFDiPS.js} +4 -4
  96. package/dist/{MttSummary-DNc71fHh.js.map → MttSummary-C9BFDiPS.js.map} +1 -1
  97. package/dist/{MyExportsPage-C-pr-R0K.js → MyExportsPage-CvYXdQux.js} +6 -6
  98. package/dist/{MyExportsPage-C-pr-R0K.js.map → MyExportsPage-CvYXdQux.js.map} +1 -1
  99. package/dist/MyExportsPage-zDOtLpTr.js +3 -0
  100. package/dist/{NestedGrid-DAqsZ216.js → NestedGrid-BYfgg6bn.js} +3 -3
  101. package/dist/NestedGrid-BYfgg6bn.js.map +1 -0
  102. package/dist/{NotesScreen-D8-QnWaB.js → NotesScreen-B1Kf1FUL.js} +8 -8
  103. package/dist/{NotesScreen-D8-QnWaB.js.map → NotesScreen-B1Kf1FUL.js.map} +1 -1
  104. package/dist/{NumberOperator-p4HsHHx3.js → NumberOperator-BhGfG6ZY.js} +10 -10
  105. package/dist/{NumberOperator-p4HsHHx3.js.map → NumberOperator-BhGfG6ZY.js.map} +1 -1
  106. package/dist/{OutlookCallback-D3no-Urx.js → OutlookCallback-ChCk_gx1.js} +2 -2
  107. package/dist/{OutlookCallback-D3no-Urx.js.map → OutlookCallback-ChCk_gx1.js.map} +1 -1
  108. package/dist/{PageActionWrapper-Bm6J0thr.js → PageActionWrapper-B2NHh8V9.js} +4 -4
  109. package/dist/{PageActionWrapper-Bm6J0thr.js.map → PageActionWrapper-B2NHh8V9.js.map} +1 -1
  110. package/dist/{PageContainer-ButX_XVS.js → PageContainer-B6aRZIrC.js} +2 -2
  111. package/dist/{PageContainer-ButX_XVS.js.map → PageContainer-B6aRZIrC.js.map} +1 -1
  112. package/dist/{PageRenderer-hxobUKe_.js → PageRenderer-BaE_3AVi.js} +2 -2
  113. package/dist/{PageRenderer-hxobUKe_.js.map → PageRenderer-BaE_3AVi.js.map} +1 -1
  114. package/dist/{PaymentForm-C4IXoROF.js → PaymentForm-u1QxkAwH.js} +5 -5
  115. package/dist/{PaymentForm-C4IXoROF.js.map → PaymentForm-u1QxkAwH.js.map} +1 -1
  116. package/dist/{PowerBIReport-CMrcDCCK.js → PowerBIReport-D4IhLgYA.js} +2 -2
  117. package/dist/{PowerBIReport-CMrcDCCK.js.map → PowerBIReport-D4IhLgYA.js.map} +1 -1
  118. package/dist/{RecentlyLoadedNodesTable-BzvR0L0h.js → RecentlyLoadedNodesTable-Bih97GZe.js} +2 -2
  119. package/dist/{RecentlyLoadedNodesTable-BzvR0L0h.js.map → RecentlyLoadedNodesTable-Bih97GZe.js.map} +1 -1
  120. package/dist/{RecentlyLoadedNodesWidget-7c9IngMR.js → RecentlyLoadedNodesWidget-C_SvOidH.js} +2 -2
  121. package/dist/{RecentlyLoadedNodesWidget-7c9IngMR.js.map → RecentlyLoadedNodesWidget-C_SvOidH.js.map} +1 -1
  122. package/dist/{RemindersCard-C1_GeqUW.js → RemindersCard-DtILCRPZ.js} +4 -4
  123. package/dist/{RemindersCard-C1_GeqUW.js.map → RemindersCard-DtILCRPZ.js.map} +1 -1
  124. package/dist/{RemindersScreen-BDgMIUaq.js → RemindersScreen-CR_7sXWV.js} +8 -8
  125. package/dist/{RemindersScreen-BDgMIUaq.js.map → RemindersScreen-CR_7sXWV.js.map} +1 -1
  126. package/dist/{RemindersWidget-u_d6RoVv.js → RemindersWidget-VugVy-04.js} +7 -7
  127. package/dist/{RemindersWidget-u_d6RoVv.js.map → RemindersWidget-VugVy-04.js.map} +1 -1
  128. package/dist/Reports-ChMzlAeX.js +3 -0
  129. package/dist/{Reports-D6LOvcOA.js → Reports-XnOyqOdW.js} +2 -2
  130. package/dist/{Reports-D6LOvcOA.js.map → Reports-XnOyqOdW.js.map} +1 -1
  131. package/dist/{RequiredFieldsMappingForm-rstcZ1W0.js → RequiredFieldsMappingForm-_Faww_eR.js} +2 -2
  132. package/dist/{RequiredFieldsMappingForm-rstcZ1W0.js.map → RequiredFieldsMappingForm-_Faww_eR.js.map} +1 -1
  133. package/dist/{SearchServiceDatasource-D8egrLwe.js → SearchServiceDatasource-DxoCnnUT.js} +3 -3
  134. package/dist/{SearchServiceDatasource-D8egrLwe.js.map → SearchServiceDatasource-DxoCnnUT.js.map} +1 -1
  135. package/dist/{SearchUtilities-DUW0kaw_.js → SearchUtilities-4D3aArPk.js} +45 -45
  136. package/dist/SearchUtilities-4D3aArPk.js.map +1 -0
  137. package/dist/{Shell-n8SMDgV0.js → Shell-CiVs1HZp.js} +10 -10
  138. package/dist/{Shell-n8SMDgV0.js.map → Shell-CiVs1HZp.js.map} +1 -1
  139. package/dist/{ShortcutContentFinder-BR-Gd55o.js → ShortcutContentFinder-DJveYwAo.js} +6 -6
  140. package/dist/{ShortcutContentFinder-BR-Gd55o.js.map → ShortcutContentFinder-DJveYwAo.js.map} +1 -1
  141. package/dist/{SiteHeader-DaL_Dy45.js → SiteHeader-CwTZVROQ.js} +8 -8
  142. package/dist/{SiteHeader-DaL_Dy45.js.map → SiteHeader-CwTZVROQ.js.map} +1 -1
  143. package/dist/{SparsePlotWidget-DuHbmEom.js → SparsePlotWidget-ZYrmPIXJ.js} +3 -3
  144. package/dist/SparsePlotWidget-ZYrmPIXJ.js.map +1 -0
  145. package/dist/{Statistic-DWW8GxYI.js → Statistic-D_p5eqdf.js} +2 -2
  146. package/dist/{Statistic-DWW8GxYI.js.map → Statistic-D_p5eqdf.js.map} +1 -1
  147. package/dist/{SupportCaseSideSheet-6P8CVloZ.js → SupportCaseSideSheet-B9BxUCym.js} +2 -2
  148. package/dist/{SupportCaseSideSheet-6P8CVloZ.js.map → SupportCaseSideSheet-B9BxUCym.js.map} +1 -1
  149. package/dist/{SupportCaseSideSheet-BKAsjpN1.js → SupportCaseSideSheet-D9IjAIwL.js} +1 -1
  150. package/dist/{TableContainer-B0IAjIA3.js → TableContainer-mo1phK4j.js} +5 -5
  151. package/dist/{TableContainer-B0IAjIA3.js.map → TableContainer-mo1phK4j.js.map} +1 -1
  152. package/dist/{TenantProvider-BeFMHYP8.js → TenantProvider-CBiqIIsu.js} +5 -5
  153. package/dist/{TenantProvider-BeFMHYP8.js.map → TenantProvider-CBiqIIsu.js.map} +1 -1
  154. package/dist/{TreeUtilities-jEhtZNg5.js → TreeUtilities-Iv9nOf-6.js} +4 -4
  155. package/dist/{TreeUtilities-jEhtZNg5.js.map → TreeUtilities-Iv9nOf-6.js.map} +1 -1
  156. package/dist/UI/accordion/index.js +1 -1
  157. package/dist/UI/charts/index.js +1 -1
  158. package/dist/UI/containers/index.js +1 -1
  159. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
  160. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  161. package/dist/UI/dataDisplay/cardList/index.js +1 -1
  162. package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
  163. package/dist/UI/dataDisplay/index.js +1 -1
  164. package/dist/UI/fileViewer/index.js +1 -1
  165. package/dist/UI/floorplans/index.js +1 -1
  166. package/dist/UI/forms/index.js +3 -3
  167. package/dist/UI/index.js +20 -20
  168. package/dist/UI/inputs/buttons/index.js +2 -2
  169. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  170. package/dist/UI/inputs/menus/index.js +1 -1
  171. package/dist/UI/mapLayout/index.js +1 -1
  172. package/dist/UI/mapLayout/ui/index.js +1 -1
  173. package/dist/UI/navigation/index.js +1 -1
  174. package/dist/UI/navigation/menus/index.js +1 -1
  175. package/dist/UI/support/index.js +1 -1
  176. package/dist/UI/surfaces/NestedGrid/index.js +1 -1
  177. package/dist/UI/surfaces/index.js +1 -1
  178. package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +1 -1
  179. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  180. package/dist/UI/templates/newGrid/index.js +1 -1
  181. package/dist/UI/templates/ui/index.js +1 -1
  182. package/dist/UI/templates/ui/renderers/index.js +2 -2
  183. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  184. package/dist/UI/timeline/index.js +1 -1
  185. package/dist/UI/utilityDisplay/alerts/index.js +1 -1
  186. package/dist/UI/utilityDisplay/index.js +5 -5
  187. package/dist/UI/utilityDisplay/utilities/index.js +1 -1
  188. package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
  189. package/dist/UI/widgets/library/BubbleWidget/index.js +1 -1
  190. package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
  191. package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
  192. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  193. package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
  194. package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
  195. package/dist/{UdpAlertsContainer-CbiqX1P0.js → UdpAlertsContainer-C9r41A58.js} +5 -5
  196. package/dist/{UdpAlertsContainer-CbiqX1P0.js.map → UdpAlertsContainer-C9r41A58.js.map} +1 -1
  197. package/dist/{UdpAppProvider-DXgzyeHZ.js → UdpAppProvider-DaFJNNnP.js} +4 -4
  198. package/dist/{UdpAppProvider-DXgzyeHZ.js.map → UdpAppProvider-DaFJNNnP.js.map} +1 -1
  199. package/dist/{UdpAuditEvents-CoD2y2CV.js → UdpAuditEvents-SVdK01j4.js} +2 -2
  200. package/dist/{UdpAuditEvents-CoD2y2CV.js.map → UdpAuditEvents-SVdK01j4.js.map} +1 -1
  201. package/dist/{UdpAuditEventsPage-B0yZyLfH.js → UdpAuditEventsPage-B8wDHsxq.js} +9 -9
  202. package/dist/{UdpAuditEventsPage-B0yZyLfH.js.map → UdpAuditEventsPage-B8wDHsxq.js.map} +1 -1
  203. package/dist/UdpAuditEventsPage-bigxgoZ7.js +3 -0
  204. package/dist/{UdpDataBrowserPage-Br0DJTMq.js → UdpDataBrowserPage-DO-d-rsj.js} +14 -14
  205. package/dist/{UdpDataBrowserPage-Br0DJTMq.js.map → UdpDataBrowserPage-DO-d-rsj.js.map} +1 -1
  206. package/dist/{UdpFormsPrivateForm-ip2aj9xl.js → UdpFormsPrivateForm-_yiSaFcM.js} +2 -2
  207. package/dist/{UdpFormsPrivateForm-ip2aj9xl.js.map → UdpFormsPrivateForm-_yiSaFcM.js.map} +1 -1
  208. package/dist/{UdpFormsPublicForm-YjrVSCGi.js → UdpFormsPublicForm-3J1HBXQU.js} +2 -2
  209. package/dist/{UdpFormsPublicForm-YjrVSCGi.js.map → UdpFormsPublicForm-3J1HBXQU.js.map} +1 -1
  210. package/dist/{UdpFormsSubmissionGrid-fhcfXjlD.js → UdpFormsSubmissionGrid-BRJpRv4S.js} +5 -5
  211. package/dist/{UdpFormsSubmissionGrid-fhcfXjlD.js.map → UdpFormsSubmissionGrid-BRJpRv4S.js.map} +1 -1
  212. package/dist/{UdpGridPanelManagementPage-CkeP9nO-.js → UdpGridPanelManagementPage-DrQKKAKQ.js} +5 -5
  213. package/dist/{UdpGridPanelManagementPage-CkeP9nO-.js.map → UdpGridPanelManagementPage-DrQKKAKQ.js.map} +1 -1
  214. package/dist/{UdpGridTemplate-BjsxZFOQ.js → UdpGridTemplate-DDsHQyJt.js} +2 -2
  215. package/dist/{UdpGridTemplate-BjsxZFOQ.js.map → UdpGridTemplate-DDsHQyJt.js.map} +1 -1
  216. package/dist/{UdpImportFromFileMappingPage-xfq_3nOx.js → UdpImportFromFileMappingPage-DxGrLgP4.js} +2 -2
  217. package/dist/{UdpImportFromFileMappingPage-xfq_3nOx.js.map → UdpImportFromFileMappingPage-DxGrLgP4.js.map} +1 -1
  218. package/dist/{UdpInquiryMaintenanceEnginePage-WRu7l1i_.js → UdpInquiryMaintenanceEnginePage-eKMlKemV.js} +3 -3
  219. package/dist/{UdpInquiryMaintenanceEnginePage-WRu7l1i_.js.map → UdpInquiryMaintenanceEnginePage-eKMlKemV.js.map} +1 -1
  220. package/dist/{UdpMaintenanceEnginePage-D5pCaMao.js → UdpMaintenanceEnginePage-g4EGoMtb.js} +12 -12
  221. package/dist/{UdpMaintenanceEnginePage-D5pCaMao.js.map → UdpMaintenanceEnginePage-g4EGoMtb.js.map} +1 -1
  222. package/dist/{UdpNotesPage-Bc1J9jHc.js → UdpNotesPage-D0p12dX2.js} +9 -9
  223. package/dist/{UdpNotesPage-Bc1J9jHc.js.map → UdpNotesPage-D0p12dX2.js.map} +1 -1
  224. package/dist/{UdpRemindersPage-BmNTjbO_.js → UdpRemindersPage-kPco6gzY.js} +9 -9
  225. package/dist/{UdpRemindersPage-BmNTjbO_.js.map → UdpRemindersPage-kPco6gzY.js.map} +1 -1
  226. package/dist/{UdpReportsPage-ljtdb45L.js → UdpReportsPage-n1ymR1VK.js} +2 -2
  227. package/dist/{UdpReportsPage-ljtdb45L.js.map → UdpReportsPage-n1ymR1VK.js.map} +1 -1
  228. package/dist/{UdpTransactionTypesPage-Uk2cRhpd.js → UdpTransactionTypesPage-BD8K_tZp.js} +6 -6
  229. package/dist/{UdpTransactionTypesPage-Uk2cRhpd.js.map → UdpTransactionTypesPage-BD8K_tZp.js.map} +1 -1
  230. package/dist/{UdpTransactionsPage-BfJvIOG4.js → UdpTransactionsPage-D3LYIRnP.js} +34 -34
  231. package/dist/UdpTransactionsPage-D3LYIRnP.js.map +1 -0
  232. package/dist/{UdpVerticalManagementPage-DQAI1xe3.js → UdpVerticalManagementPage-Dl3ub3z_.js} +6 -6
  233. package/dist/{UdpVerticalManagementPage-DQAI1xe3.js.map → UdpVerticalManagementPage-Dl3ub3z_.js.map} +1 -1
  234. package/dist/{UdpVerticalManagementSidesheet-heFj83jt.js → UdpVerticalManagementSidesheet-UA0aBt8U.js} +7 -7
  235. package/dist/{UdpVerticalManagementSidesheet-heFj83jt.js.map → UdpVerticalManagementSidesheet-UA0aBt8U.js.map} +1 -1
  236. package/dist/{UserForm-DhBINx6I.js → UserForm-CkInKaUZ.js} +3 -3
  237. package/dist/{UserForm-DhBINx6I.js.map → UserForm-CkInKaUZ.js.map} +1 -1
  238. package/dist/UserFormSideSheet-ClbFBL2A.js +3 -0
  239. package/dist/{UserFormSideSheet-Cj7IyfX1.js → UserFormSideSheet-CwC3BnSQ.js} +4 -4
  240. package/dist/{UserFormSideSheet-Cj7IyfX1.js.map → UserFormSideSheet-CwC3BnSQ.js.map} +1 -1
  241. package/dist/{VirtualBrowser-qF1k097T.js → VirtualBrowser-B8-wmiLh.js} +10 -10
  242. package/dist/{VirtualBrowser-qF1k097T.js.map → VirtualBrowser-B8-wmiLh.js.map} +1 -1
  243. package/dist/VirtualBrowser-C5uqdpHU.js +3 -0
  244. package/dist/{VirtualForm-Cw3gjug-.js → VirtualForm-tukfZj85.js} +2 -2
  245. package/dist/{VirtualForm-Cw3gjug-.js.map → VirtualForm-tukfZj85.js.map} +1 -1
  246. package/dist/{WorkflowContainer-Cec3FFwP.js → WorkflowContainer-BouRffwp.js} +6 -6
  247. package/dist/{WorkflowContainer-Cec3FFwP.js.map → WorkflowContainer-BouRffwp.js.map} +1 -1
  248. package/dist/{WorkflowContainer-DecC3Yux.js → WorkflowContainer-DugpUjjf.js} +1 -1
  249. package/dist/{WorkflowContent-HlBHhWl8.js → WorkflowContent-C_1mXaJA.js} +5 -5
  250. package/dist/{WorkflowContent-HlBHhWl8.js.map → WorkflowContent-C_1mXaJA.js.map} +1 -1
  251. package/dist/{WorkflowTreeMenu-HHtwkDzu.js → WorkflowTreeMenu-BfKb88w4.js} +4 -4
  252. package/dist/{WorkflowTreeMenu-HHtwkDzu.js.map → WorkflowTreeMenu-BfKb88w4.js.map} +1 -1
  253. package/dist/{accordion-CQ1AqRla.js → accordion-M9f7ltSo.js} +2 -2
  254. package/dist/{accordion-CQ1AqRla.js.map → accordion-M9f7ltSo.js.map} +1 -1
  255. package/dist/{actionSummary-DwSHY1Tt.js → actionSummary-4uornpGM.js} +2 -2
  256. package/dist/{actionSummary-DwSHY1Tt.js.map → actionSummary-4uornpGM.js.map} +1 -1
  257. package/dist/{actionUtils-CPmiSAig.js → actionUtils-BU2Z1V_c.js} +3 -3
  258. package/dist/{actionUtils-CPmiSAig.js.map → actionUtils-BU2Z1V_c.js.map} +1 -1
  259. package/dist/actions/actionSummary/index.js +1 -1
  260. package/dist/actions/index.js +6 -6
  261. package/dist/actions/sidebar/index.js +1 -1
  262. package/dist/actions/utils/index.js +1 -1
  263. package/dist/{aggregateUtils-UcpEjFnf.js → aggregateUtils-BQEbw0_E.js} +3 -3
  264. package/dist/{aggregateUtils-UcpEjFnf.js.map → aggregateUtils-BQEbw0_E.js.map} +1 -1
  265. package/dist/{aggridHelpers-BvrSzjdD.js → aggridHelpers-DVAyzpUF.js} +3 -3
  266. package/dist/{aggridHelpers-BvrSzjdD.js.map → aggridHelpers-DVAyzpUF.js.map} +1 -1
  267. package/dist/{apiHelpers-WIR8pqy0.js → apiHelpers-CMlmFUix.js} +2 -2
  268. package/dist/{apiHelpers-WIR8pqy0.js.map → apiHelpers-CMlmFUix.js.map} +1 -1
  269. package/dist/{auth-BWJ4-JF-.js → auth-09twu9dt.js} +3 -3
  270. package/dist/{auth-BWJ4-JF-.js.map → auth-09twu9dt.js.map} +1 -1
  271. package/dist/{axiosInterceptors-MZ6xeLRS.js → axiosInterceptors-C27H4uT-.js} +2 -2
  272. package/dist/{axiosInterceptors-MZ6xeLRS.js.map → axiosInterceptors-C27H4uT-.js.map} +1 -1
  273. package/dist/{charts--rJXTRtu.js → charts-CPeB-__9.js} +2 -2
  274. package/dist/{charts--rJXTRtu.js.map → charts-CPeB-__9.js.map} +1 -1
  275. package/dist/chatBot/index.js +1 -1
  276. package/dist/componentSystems/multiThreadTimeline/index.js +3 -3
  277. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  278. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
  279. package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
  280. package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
  281. package/dist/componentSystems/pageRenderer/index.js +3 -3
  282. package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
  283. package/dist/{crudActions-C1Ur7cS5.js → crudActions-BNDjc56_.js} +4 -4
  284. package/dist/{crudActions-C1Ur7cS5.js.map → crudActions-BNDjc56_.js.map} +1 -1
  285. package/dist/dataBrowser/forms/index.js +1 -1
  286. package/dist/dataBrowser/index.js +2 -2
  287. package/dist/enums/index.js +8 -8
  288. package/dist/{fileViewer-CtY7cOmL.js → fileViewer-CJmEQUZM.js} +2 -2
  289. package/dist/{fileViewer-CtY7cOmL.js.map → fileViewer-CJmEQUZM.js.map} +1 -1
  290. package/dist/{floorplans-9voWXvF2.js → floorplans-ClCj18Qu.js} +2 -2
  291. package/dist/{floorplans-9voWXvF2.js.map → floorplans-ClCj18Qu.js.map} +1 -1
  292. package/dist/{fluentTimeline-CiONGsTd.js → fluentTimeline-WyxEgKFr.js} +2 -2
  293. package/dist/{fluentTimeline-CiONGsTd.js.map → fluentTimeline-WyxEgKFr.js.map} +1 -1
  294. package/dist/{forms-DsdldFST.js → forms-HlBYZESz.js} +3 -3
  295. package/dist/{forms-DsdldFST.js.map → forms-HlBYZESz.js.map} +1 -1
  296. package/dist/hooks/index.js +9 -9
  297. package/dist/{hooks-BNndjGer.js → hooks-B_0PVsdp.js} +3 -3
  298. package/dist/{hooks-BNndjGer.js.map → hooks-B_0PVsdp.js.map} +1 -1
  299. package/dist/index.js +101 -101
  300. package/dist/inquiry/dashboard/index.js +1 -1
  301. package/dist/inquiry/index.js +4 -4
  302. package/dist/inquiry/inquiryBar/index.js +1 -1
  303. package/dist/inquiry/search/index.js +1 -1
  304. package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
  305. package/dist/maintenanceEngine/index.js +4 -4
  306. package/dist/maintenanceEngine/tableBrowser/index.js +1 -1
  307. package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
  308. package/dist/{mapLayout-DNtsBpcK.js → mapLayout-BaAcodmS.js} +2 -2
  309. package/dist/{mapLayout-DNtsBpcK.js.map → mapLayout-BaAcodmS.js.map} +1 -1
  310. package/dist/menuPage/index.js +1 -1
  311. package/dist/{menuPage-BHXchSeD.js → menuPage-BCcvcFa5.js} +2 -2
  312. package/dist/{menuPage-BHXchSeD.js.map → menuPage-BCcvcFa5.js.map} +1 -1
  313. package/dist/{menuUtilities-BOnqojY6.js → menuUtilities-CkZ_pe8p.js} +4 -4
  314. package/dist/{menuUtilities-BOnqojY6.js.map → menuUtilities-CkZ_pe8p.js.map} +1 -1
  315. package/dist/{methodUtils-CDx9usdO.js → methodUtils-BmW5r7qU.js} +2 -2
  316. package/dist/{methodUtils-CDx9usdO.js.map → methodUtils-BmW5r7qU.js.map} +1 -1
  317. package/dist/models/index.js +1 -1
  318. package/dist/{newGrid-B6oyV5FZ.js → newGrid-tFtQU1l7.js} +2 -2
  319. package/dist/{newGrid-B6oyV5FZ.js.map → newGrid-tFtQU1l7.js.map} +1 -1
  320. package/dist/notes/index.js +1 -1
  321. package/dist/page/PageContainer/index.js +1 -1
  322. package/dist/pageEnums-Bw4Yfa6D.js +22 -0
  323. package/dist/{pageEnums-DHCYa0ey.js.map → pageEnums-Bw4Yfa6D.js.map} +1 -1
  324. package/dist/paymentVendorFactoryEnum-Mq0LPnfG.js +38 -0
  325. package/dist/{paymentVendorFactoryEnum-CwnzkF9A.js.map → paymentVendorFactoryEnum-Mq0LPnfG.js.map} +1 -1
  326. package/dist/{profile-7BieC5qc.js → profile-DGLuxYkB.js} +3 -3
  327. package/dist/{profile-7BieC5qc.js.map → profile-DGLuxYkB.js.map} +1 -1
  328. package/dist/propertyTypeEnums-kRCZNBn6.js +15 -0
  329. package/dist/{propertyTypeEnums-Dys-84NL.js.map → propertyTypeEnums-kRCZNBn6.js.map} +1 -1
  330. package/dist/providers/index.js +1 -1
  331. package/dist/reminders/index.js +2 -2
  332. package/dist/reports/index.js +1 -1
  333. package/dist/routes/index.js +1 -1
  334. package/dist/{routes-BC24z6ls.js → routes-JTWJvNY3.js} +9 -9
  335. package/dist/{routes-BC24z6ls.js.map → routes-JTWJvNY3.js.map} +1 -1
  336. package/dist/searchEnums-DruwPmGC.js +11 -0
  337. package/dist/{searchEnums-BTFUwf6v.js.map → searchEnums-DruwPmGC.js.map} +1 -1
  338. package/dist/shell/index.js +3 -3
  339. package/dist/shell/ui/addUser/index.js +1 -1
  340. package/dist/shell/ui/index.js +2 -2
  341. package/dist/shell/ui/profile/index.js +1 -1
  342. package/dist/stores/index.js +1 -1
  343. package/dist/tagEnums-pSvvqkV3.js +11 -0
  344. package/dist/{tagEnums-Bc9xOKJw.js.map → tagEnums-pSvvqkV3.js.map} +1 -1
  345. package/dist/{tenantStore-CFYu7ndZ.js → tenantStore-BUT7oepr.js} +2 -2
  346. package/dist/{tenantStore-CFYu7ndZ.js.map → tenantStore-BUT7oepr.js.map} +1 -1
  347. package/dist/{theme-_CEHumbt.js → theme-ubmTDmGy.js} +2 -2
  348. package/dist/{theme-_CEHumbt.js.map → theme-ubmTDmGy.js.map} +1 -1
  349. package/dist/treeMenu/index.js +1 -1
  350. package/dist/types/src/enums/unitySystemEnums.d.ts +2 -1
  351. package/dist/types/src/enums/unitySystemEnums.d.ts.map +1 -1
  352. package/dist/types/src/hooks/useUdpGridFilterModel.d.ts.map +1 -1
  353. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  354. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  355. package/dist/types/src/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  356. package/dist/types/src/utilities/search/SearchUtilities.d.ts.map +1 -1
  357. package/dist/types/tsconfig.tsbuildinfo +1 -1
  358. package/dist/udp/ShortcutContent/index.js +1 -1
  359. package/dist/udp/export/index.js +2 -2
  360. package/dist/udp/fileImportMapping/index.js +8 -8
  361. package/dist/udp/fileImportMapping/index.js.map +1 -1
  362. package/dist/udp/pages/ChatUDP/index.js +1 -1
  363. package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
  364. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  365. package/dist/udp/pages/UdpFormsPrivateForm/index.js +1 -1
  366. package/dist/udp/pages/UdpFormsPublicForm/index.js +1 -1
  367. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  368. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +1 -1
  369. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
  370. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  371. package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +2 -2
  372. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  373. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  374. package/dist/udp/pages/UdpPages/index.js +17 -17
  375. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  376. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  377. package/dist/udp/pages/UdpReportsPage/index.js +1 -1
  378. package/dist/udp/pages/UdpTransactionTypesPage/index.js +1 -1
  379. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  380. package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
  381. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
  382. package/dist/udp/utilities/index.js +1 -1
  383. package/dist/unitySystemEnums-BhRg17du.js +344 -0
  384. package/dist/{unitySystemEnums-CZDCsD5t.js.map → unitySystemEnums-BhRg17du.js.map} +1 -1
  385. package/dist/uploader/index.js +1 -1
  386. package/dist/{uploader-D_e-kKhB.js → uploader-D8ZrNmfQ.js} +8 -8
  387. package/dist/{uploader-D_e-kKhB.js.map → uploader-D8ZrNmfQ.js.map} +1 -1
  388. package/dist/{useActions-DZe6YlEm.js → useActions-Ct3UAtTb.js} +4 -4
  389. package/dist/{useActions-DZe6YlEm.js.map → useActions-Ct3UAtTb.js.map} +1 -1
  390. package/dist/{useApiCatalog-cpchDfC1.js → useApiCatalog-CFnv-X8K.js} +2 -2
  391. package/dist/{useApiCatalog-cpchDfC1.js.map → useApiCatalog-CFnv-X8K.js.map} +1 -1
  392. package/dist/{useAxiosGet-CYnt6Hd0.js → useAxiosGet-B3uusywz.js} +3 -3
  393. package/dist/{useAxiosGet-CYnt6Hd0.js.map → useAxiosGet-B3uusywz.js.map} +1 -1
  394. package/dist/{useAxiosMutate-DeqKSi5z.js → useAxiosMutate-CChDJc0L.js} +3 -3
  395. package/dist/{useAxiosMutate-DeqKSi5z.js.map → useAxiosMutate-CChDJc0L.js.map} +1 -1
  396. package/dist/{usePromotedMethodEntities-D-GoZJZB.js → usePromotedMethodEntities-CKfXJwBP.js} +3 -3
  397. package/dist/{usePromotedMethodEntities-D-GoZJZB.js.map → usePromotedMethodEntities-CKfXJwBP.js.map} +1 -1
  398. package/dist/{usePromotedMethodEntity-B4rk75tH.js → usePromotedMethodEntity-Fr6JxDuh.js} +2 -2
  399. package/dist/{usePromotedMethodEntity-B4rk75tH.js.map → usePromotedMethodEntity-Fr6JxDuh.js.map} +1 -1
  400. package/dist/{useQueryExecutors-DuuHrj2M.js → useQueryExecutors-6dxzYiaQ.js} +3 -3
  401. package/dist/{useQueryExecutors-DuuHrj2M.js.map → useQueryExecutors-6dxzYiaQ.js.map} +1 -1
  402. package/dist/{useSearchFilterParamsMap-hAHx2Rav.js → useSearchFilterParamsMap-BR31_fpl.js} +3 -3
  403. package/dist/{useSearchFilterParamsMap-hAHx2Rav.js.map → useSearchFilterParamsMap-BR31_fpl.js.map} +1 -1
  404. package/dist/utilities/aggrid/datasources/index.js +1 -1
  405. package/dist/utilities/aggrid/index.js +2 -2
  406. package/dist/utilities/auth/index.js +4 -4
  407. package/dist/utilities/chatBot/index.js +1 -1
  408. package/dist/utilities/form/paymentForm/index.js +1 -1
  409. package/dist/utilities/index.js +3 -3
  410. package/dist/utilities/menus/index.js +1 -1
  411. package/dist/utilities/provider/index.js +1 -1
  412. package/dist/utilities/redirect/pages/index.js +1 -1
  413. package/dist/utilities/search/index.js +1 -1
  414. package/dist/utilities/tenant/index.js +1 -1
  415. package/dist/utilities/theme/index.js +1 -1
  416. package/dist/utilities/tree/index.js +1 -1
  417. package/dist/utilities/workflow/index.js +1 -1
  418. package/dist/{utilityDisplay-DtdjV7V1.js → utilityDisplay-lia_3vnq.js} +2 -2
  419. package/dist/{utilityDisplay-DtdjV7V1.js.map → utilityDisplay-lia_3vnq.js.map} +1 -1
  420. package/dist/{virtualActions-B788CBd7.js → virtualActions-DGiVDudB.js} +2 -2
  421. package/dist/{virtualActions-B788CBd7.js.map → virtualActions-DGiVDudB.js.map} +1 -1
  422. package/dist/{withEngineComponent-Bcnxug3h.js → withEngineComponent-CoMj91Ad.js} +2 -2
  423. package/dist/{withEngineComponent-Bcnxug3h.js.map → withEngineComponent-CoMj91Ad.js.map} +1 -1
  424. package/dist/workflow/index.js +3 -3
  425. package/dist/workflow/menus/index.js +1 -1
  426. package/dist/workflowEnums-ztRFwx_L.js +48 -0
  427. package/dist/{workflowEnums-BJmSE_P8.js.map → workflowEnums-ztRFwx_L.js.map} +1 -1
  428. package/dist/{workflowUtilities-Brby0vts.js → workflowUtilities-DBcBJOKf.js} +2 -2
  429. package/dist/{workflowUtilities-Brby0vts.js.map → workflowUtilities-DBcBJOKf.js.map} +1 -1
  430. package/export-map.json +1 -1
  431. package/package.json +1 -1
  432. package/dist/AmbientChipButton-DYAYXuKp.js.map +0 -1
  433. package/dist/AmbientTokenButton-B53E25r2.js.map +0 -1
  434. package/dist/BarChartWidget-u-8fxMn5.js.map +0 -1
  435. package/dist/BubbleWidget-CMJYN-7J.js.map +0 -1
  436. package/dist/DensePlotWidget-lJW-uzdQ.js.map +0 -1
  437. package/dist/GridFunctions-D76ygiH2.js.map +0 -1
  438. package/dist/InputFieldTypeEnums-Mg684vvi.js +0 -14
  439. package/dist/Inquiry-C6fDp46v.js +0 -3
  440. package/dist/LineGraphWidget-Ly1fmTyr.js.map +0 -1
  441. package/dist/MenuPage-CdzHSWBt.js +0 -3
  442. package/dist/MyExportsPage-DNvL1_1X.js +0 -3
  443. package/dist/NestedGrid-DAqsZ216.js.map +0 -1
  444. package/dist/Reports-B5vRQpl0.js +0 -3
  445. package/dist/SearchUtilities-DUW0kaw_.js.map +0 -1
  446. package/dist/SparsePlotWidget-DuHbmEom.js.map +0 -1
  447. package/dist/UdpAuditEventsPage-u7pIg9Z9.js +0 -3
  448. package/dist/UdpTransactionsPage-BfJvIOG4.js.map +0 -1
  449. package/dist/UserFormSideSheet-LAR4fJpW.js +0 -3
  450. package/dist/VirtualBrowser-CbL5X-W-.js +0 -3
  451. package/dist/pageEnums-DHCYa0ey.js +0 -22
  452. package/dist/paymentVendorFactoryEnum-CwnzkF9A.js +0 -38
  453. package/dist/propertyTypeEnums-Dys-84NL.js +0 -15
  454. package/dist/searchEnums-BTFUwf6v.js +0 -11
  455. package/dist/tagEnums-Bc9xOKJw.js +0 -11
  456. package/dist/unitySystemEnums-CZDCsD5t.js +0 -343
  457. package/dist/workflowEnums-BJmSE_P8.js +0 -48
@@ -1 +1 @@
1
- {"version":3,"file":"actionSummary-DwSHY1Tt.js","names":["useStyles","useStyles","useStyles","useStyles","Typography"],"sources":["../src/actions/actionSummary/ActionSummaryCard.tsx","../src/actions/actionSummary/ActionSummaryListContainer.tsx","../src/actions/actionSummary/ActionSummaryHeader.tsx","../src/actions/actionSummary/ActionSummaryListItem.tsx","../src/actions/actionSummary/ActionSummaryPopover.jsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { FluentSearchField } from '../../UI/inputs/textField/FluentSearchField';\nimport {\n ActionSummaryHeader,\n ActionSummaryListContainer,\n ActionSummaryListItemProps\n} from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: 750,\n paddingLeft: 12,\n paddingRight: 12,\n maxHeight: 750,\n overflowY: 'scroll'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n //backgroundColor: 'red'\n }\n}));\n\nexport type ActionSummaryProps = {\n actionMenuContent: Array<ActionSummaryContent>;\n selectedNode: object | null | undefined;\n};\n\nexport type ActionSummaryContent = {\n header: string;\n icon: string;\n iconType?: string;\n items: Array<ActionSummaryListItemProps>;\n};\n\nexport const ActionSummaryCard: FC<ActionSummaryProps> = ({\n actionMenuContent,\n selectedNode\n}: ActionSummaryProps) => {\n const classes = useStyles();\n const [searchValue, setSearchValue] = useState<string>('');\n\n return (\n <div className={classes.root}>\n <div className={classes.header}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column'\n }}\n >\n <Typography variant='h6'>Actions</Typography>\n </div>\n <FluentSearchField\n id='udpRecord-ActionSummaryCard-Search'\n udprecordid='udpRecord-ActionSummaryCard-Search'\n value={searchValue}\n onChange={(e: any) => setSearchValue(e.target.value)}\n variant='filled'\n // searchOptions={searchOptions}\n style={{ marginTop: 0, paddingTop: 0 }}\n />\n </div>\n {actionMenuContent.map((section: ActionSummaryContent, i: number) => (\n <>\n <ActionSummaryHeader\n key={i}\n iconType={section.iconType}\n icon={section.icon}\n header={section.header}\n />\n <ActionSummaryListContainer\n key={i}\n selectedNode={selectedNode}\n items={section.items.map((item): ActionSummaryListItemProps => {\n const highlighted =\n item?.value &&\n item.value.toLowerCase().includes(searchValue.toLowerCase()) &&\n searchValue.length > 0;\n return { ...item, highlighted: highlighted || item.highlighted };\n })}\n />\n </>\n ))}\n </div>\n );\n};\n","import { List, makeStyles, Typography, ListItem } from '@material-ui/core';\nimport React, { FC, MutableRefObject } from 'react';\nimport { ActionSummaryListItemProps, ActionSummaryListItem } from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'scroll',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n itemContainer: {\n display: 'flex',\n flexDirection: 'column',\n paddingLeft: 1,\n // paddingBottom: theme.spacing(2),\n width: '33%'\n }\n}));\n\ntype ActionSummaryListContainerProps = {\n items: Array<ActionSummaryListItemProps>;\n selectedNode?: object;\n};\n\nexport const ActionSummaryListContainer: FC<\n ActionSummaryListContainerProps\n> = ({ items, selectedNode }: ActionSummaryListContainerProps) => {\n const classes = useStyles();\n function* keyGenerator() {\n let count: number = 0;\n while (true) {\n yield count++;\n }\n }\n const countGen = keyGenerator();\n return (\n <div className={classes.root}>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 0)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 1)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 2)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n </div>\n );\n};\n","import * as Icons from \"@fluentui/react-icons\";\nimport { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { FC } from \"react\";\nimport { UnityFluentIcon } from '../../utilities/iconLibrary/UnityFluentIcon'\n\ntype ActionSummaryHeaderProps = {\n icon: string;\n header: string;\n iconType?: string\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.primary.main + '1A',\n display: \"flex\",\n padding: 5,\n gap: 10,\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n\n },\n icon: {\n color: theme.palette.primary.main\n }\n}));\n\nexport const ActionSummaryHeader: FC<ActionSummaryHeaderProps> = (\n {\n icon,\n header,\n iconType\n }: ActionSummaryHeaderProps\n) => {\n const classes = useStyles();\n return (\n <div className={classes.root}>\n <div className={classes.container}>\n <UnityFluentIcon className={classes.icon} type={iconType} component={Icons[icon]} />\n </div>\n <div className={classes.container}>\n <Typography display='inline' variant='h6' >{header}</Typography>\n </div>\n </div>\n );\n};\n","import React, { FC, useMemo, MutableRefObject } from 'react';\nimport { Chip, makeStyles } from '@material-ui/core';\nimport { useActions } from '../../hooks/useActions';\nimport { UdpTheme } from '../../utilities/theme/theme.types';\n\nexport type ActionSummaryListItemProps = {\n value: string;\n highlighted?: boolean; // gives an mui chip background\n enabled?: boolean; // greys out the item\n actionId: string;\n setLoading: Function;\n selectedNode?: any;\n};\n\nconst useStyles = makeStyles((theme: UdpTheme) => ({\n listItemWithChip: {\n paddingTop: 1,\n paddingBottom: 1,\n alignItems: 'start'\n },\n listItemGutters: {\n paddingLeft: 10\n },\n chipSelected: {\n backgroundColor: theme.palette.secondary.main + '1A',\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white'\n },\n chipWhite: {\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white',\n backgroundColor: theme.palette.background.paper\n },\n chipRoot: {\n width: '100%',\n justifyContent: 'start',\n paddingTop: 1\n },\n chipWhiteDeselected: {\n color: 'grey',\n backgroundColor: theme.palette.background.paper\n },\n chipHover: {\n '&:hover': {\n backgroundColor: theme.palette.secondary.main + '3A'\n },\n '&:focus': {\n backgroundColor: theme.palette.secondary.main + '3A'\n }\n }\n}));\n\nexport const ActionSummaryListItem: FC<ActionSummaryListItemProps> = ({\n value,\n highlighted,\n enabled,\n actionId,\n selectedNode\n}: ActionSummaryListItemProps) => {\n const classes = useStyles();\n const { triggerAction } = useActions();\n const render = useMemo(() => {\n return (\n <div className={classes.listItemWithChip}>\n <Chip\n color='primary'\n clickable={enabled}\n onClick={\n enabled\n ? () => triggerAction(actionId, selectedNode?.nodeObj)\n : () => {}\n }\n classes={{\n colorPrimary: enabled\n ? highlighted\n ? classes.chipSelected\n : classes.chipWhite\n : classes.chipWhiteDeselected,\n root: classes.chipRoot,\n clickableColorPrimary: classes.chipHover\n }}\n label={value}\n />\n </div>\n );\n }, [highlighted, enabled, value]);\n\n return render;\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { makeStyles, Popover } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ActionSummaryCard } from './';\nimport { evaluateRule, mapRule } from '../../utilities/rules/RuleUtilities';\nimport { PrimaryActionButton } from '../../UI/inputs/buttons/PrimaryActionButton';\nimport { Typography } from '../../UI/dataDisplay/typography/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionsMenu: {\n color: theme?.palette?.getContrastText(theme?.palette?.primary?.main)\n }\n}));\n\nexport const ActionSummaryPopover = (props) => {\n const { panelActions, noContrastColor, selectedNode, setLoading } = props;\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = useState(null);\n const { t } = useTranslation();\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const actionSummaryPopoverActions = useMemo(() => {\n return panelActions?.reduce((actions, current) => {\n if (!current.enabled) return actions;\n\n const passRule =\n current.action.actionRules?.reduce((boolValue, rule) => {\n const ruleExpression = mapRule(rule.mapping, rule.jsonLogic);\n return (\n boolValue &&\n evaluateRule(\n ruleExpression,\n selectedNode?.nodeObj,\n selectedNode?.properties?.joiningEntityCatalogObjectKey,\n selectedNode?.wasLazyLoaded\n )\n );\n }, true) ?? true;\n\n if (!passRule && current?.hideAction) return actions;\n\n const currentVal = {\n value: current.action.name,\n actionId: current.actionId,\n sequence: current.sequence,\n enabled: passRule\n };\n\n const group = actions.find(\n (action) =>\n action?.header?.toLowerCase() === current?.groupName?.toLowerCase()\n );\n if (group) {\n group.items.push(currentVal);\n group.items.sort((a, b) => a.sequence - b.sequence);\n } else {\n actions.push({\n header: current.groupName,\n icon: current.icon.name,\n iconType: current.icon.type,\n items: [currentVal]\n });\n }\n return actions;\n }, []);\n }, [panelActions, selectedNode]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'action-summary-popover' : undefined;\n\n return (\n <>\n <PrimaryActionButton onClick={handleClick} icon={<MoreVerticalIcon />}>\n <Typography>{t('Actions')}</Typography>\n </PrimaryActionButton>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n >\n <ActionSummaryCard\n actionMenuContent={actionSummaryPopoverActions}\n setLoading={setLoading}\n selectedNode={selectedNode}\n />\n </Popover>\n </>\n );\n};\n\nActionSummaryPopover.propTypes = {\n /**\n * Actions configured within Action Panel\n */\n panelActions: PropTypes.array,\n /**\n * Boolean to toggle contrast color\n */\n noContrastColor: PropTypes.bool,\n /**\n * Action Panels\n */\n selectedNode: PropTypes.object\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"actionSummary-4uornpGM.js","names":["useStyles","useStyles","useStyles","useStyles","Typography"],"sources":["../src/actions/actionSummary/ActionSummaryCard.tsx","../src/actions/actionSummary/ActionSummaryListContainer.tsx","../src/actions/actionSummary/ActionSummaryHeader.tsx","../src/actions/actionSummary/ActionSummaryListItem.tsx","../src/actions/actionSummary/ActionSummaryPopover.jsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { FluentSearchField } from '../../UI/inputs/textField/FluentSearchField';\nimport {\n ActionSummaryHeader,\n ActionSummaryListContainer,\n ActionSummaryListItemProps\n} from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: 750,\n paddingLeft: 12,\n paddingRight: 12,\n maxHeight: 750,\n overflowY: 'scroll'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n //backgroundColor: 'red'\n }\n}));\n\nexport type ActionSummaryProps = {\n actionMenuContent: Array<ActionSummaryContent>;\n selectedNode: object | null | undefined;\n};\n\nexport type ActionSummaryContent = {\n header: string;\n icon: string;\n iconType?: string;\n items: Array<ActionSummaryListItemProps>;\n};\n\nexport const ActionSummaryCard: FC<ActionSummaryProps> = ({\n actionMenuContent,\n selectedNode\n}: ActionSummaryProps) => {\n const classes = useStyles();\n const [searchValue, setSearchValue] = useState<string>('');\n\n return (\n <div className={classes.root}>\n <div className={classes.header}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column'\n }}\n >\n <Typography variant='h6'>Actions</Typography>\n </div>\n <FluentSearchField\n id='udpRecord-ActionSummaryCard-Search'\n udprecordid='udpRecord-ActionSummaryCard-Search'\n value={searchValue}\n onChange={(e: any) => setSearchValue(e.target.value)}\n variant='filled'\n // searchOptions={searchOptions}\n style={{ marginTop: 0, paddingTop: 0 }}\n />\n </div>\n {actionMenuContent.map((section: ActionSummaryContent, i: number) => (\n <>\n <ActionSummaryHeader\n key={i}\n iconType={section.iconType}\n icon={section.icon}\n header={section.header}\n />\n <ActionSummaryListContainer\n key={i}\n selectedNode={selectedNode}\n items={section.items.map((item): ActionSummaryListItemProps => {\n const highlighted =\n item?.value &&\n item.value.toLowerCase().includes(searchValue.toLowerCase()) &&\n searchValue.length > 0;\n return { ...item, highlighted: highlighted || item.highlighted };\n })}\n />\n </>\n ))}\n </div>\n );\n};\n","import { List, makeStyles, Typography, ListItem } from '@material-ui/core';\nimport React, { FC, MutableRefObject } from 'react';\nimport { ActionSummaryListItemProps, ActionSummaryListItem } from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'scroll',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n itemContainer: {\n display: 'flex',\n flexDirection: 'column',\n paddingLeft: 1,\n // paddingBottom: theme.spacing(2),\n width: '33%'\n }\n}));\n\ntype ActionSummaryListContainerProps = {\n items: Array<ActionSummaryListItemProps>;\n selectedNode?: object;\n};\n\nexport const ActionSummaryListContainer: FC<\n ActionSummaryListContainerProps\n> = ({ items, selectedNode }: ActionSummaryListContainerProps) => {\n const classes = useStyles();\n function* keyGenerator() {\n let count: number = 0;\n while (true) {\n yield count++;\n }\n }\n const countGen = keyGenerator();\n return (\n <div className={classes.root}>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 0)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 1)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 2)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n </div>\n );\n};\n","import * as Icons from \"@fluentui/react-icons\";\nimport { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { FC } from \"react\";\nimport { UnityFluentIcon } from '../../utilities/iconLibrary/UnityFluentIcon'\n\ntype ActionSummaryHeaderProps = {\n icon: string;\n header: string;\n iconType?: string\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.primary.main + '1A',\n display: \"flex\",\n padding: 5,\n gap: 10,\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n\n },\n icon: {\n color: theme.palette.primary.main\n }\n}));\n\nexport const ActionSummaryHeader: FC<ActionSummaryHeaderProps> = (\n {\n icon,\n header,\n iconType\n }: ActionSummaryHeaderProps\n) => {\n const classes = useStyles();\n return (\n <div className={classes.root}>\n <div className={classes.container}>\n <UnityFluentIcon className={classes.icon} type={iconType} component={Icons[icon]} />\n </div>\n <div className={classes.container}>\n <Typography display='inline' variant='h6' >{header}</Typography>\n </div>\n </div>\n );\n};\n","import React, { FC, useMemo, MutableRefObject } from 'react';\nimport { Chip, makeStyles } from '@material-ui/core';\nimport { useActions } from '../../hooks/useActions';\nimport { UdpTheme } from '../../utilities/theme/theme.types';\n\nexport type ActionSummaryListItemProps = {\n value: string;\n highlighted?: boolean; // gives an mui chip background\n enabled?: boolean; // greys out the item\n actionId: string;\n setLoading: Function;\n selectedNode?: any;\n};\n\nconst useStyles = makeStyles((theme: UdpTheme) => ({\n listItemWithChip: {\n paddingTop: 1,\n paddingBottom: 1,\n alignItems: 'start'\n },\n listItemGutters: {\n paddingLeft: 10\n },\n chipSelected: {\n backgroundColor: theme.palette.secondary.main + '1A',\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white'\n },\n chipWhite: {\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white',\n backgroundColor: theme.palette.background.paper\n },\n chipRoot: {\n width: '100%',\n justifyContent: 'start',\n paddingTop: 1\n },\n chipWhiteDeselected: {\n color: 'grey',\n backgroundColor: theme.palette.background.paper\n },\n chipHover: {\n '&:hover': {\n backgroundColor: theme.palette.secondary.main + '3A'\n },\n '&:focus': {\n backgroundColor: theme.palette.secondary.main + '3A'\n }\n }\n}));\n\nexport const ActionSummaryListItem: FC<ActionSummaryListItemProps> = ({\n value,\n highlighted,\n enabled,\n actionId,\n selectedNode\n}: ActionSummaryListItemProps) => {\n const classes = useStyles();\n const { triggerAction } = useActions();\n const render = useMemo(() => {\n return (\n <div className={classes.listItemWithChip}>\n <Chip\n color='primary'\n clickable={enabled}\n onClick={\n enabled\n ? () => triggerAction(actionId, selectedNode?.nodeObj)\n : () => {}\n }\n classes={{\n colorPrimary: enabled\n ? highlighted\n ? classes.chipSelected\n : classes.chipWhite\n : classes.chipWhiteDeselected,\n root: classes.chipRoot,\n clickableColorPrimary: classes.chipHover\n }}\n label={value}\n />\n </div>\n );\n }, [highlighted, enabled, value]);\n\n return render;\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { makeStyles, Popover } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ActionSummaryCard } from './';\nimport { evaluateRule, mapRule } from '../../utilities/rules/RuleUtilities';\nimport { PrimaryActionButton } from '../../UI/inputs/buttons/PrimaryActionButton';\nimport { Typography } from '../../UI/dataDisplay/typography/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionsMenu: {\n color: theme?.palette?.getContrastText(theme?.palette?.primary?.main)\n }\n}));\n\nexport const ActionSummaryPopover = (props) => {\n const { panelActions, noContrastColor, selectedNode, setLoading } = props;\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = useState(null);\n const { t } = useTranslation();\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const actionSummaryPopoverActions = useMemo(() => {\n return panelActions?.reduce((actions, current) => {\n if (!current.enabled) return actions;\n\n const passRule =\n current.action.actionRules?.reduce((boolValue, rule) => {\n const ruleExpression = mapRule(rule.mapping, rule.jsonLogic);\n return (\n boolValue &&\n evaluateRule(\n ruleExpression,\n selectedNode?.nodeObj,\n selectedNode?.properties?.joiningEntityCatalogObjectKey,\n selectedNode?.wasLazyLoaded\n )\n );\n }, true) ?? true;\n\n if (!passRule && current?.hideAction) return actions;\n\n const currentVal = {\n value: current.action.name,\n actionId: current.actionId,\n sequence: current.sequence,\n enabled: passRule\n };\n\n const group = actions.find(\n (action) =>\n action?.header?.toLowerCase() === current?.groupName?.toLowerCase()\n );\n if (group) {\n group.items.push(currentVal);\n group.items.sort((a, b) => a.sequence - b.sequence);\n } else {\n actions.push({\n header: current.groupName,\n icon: current.icon.name,\n iconType: current.icon.type,\n items: [currentVal]\n });\n }\n return actions;\n }, []);\n }, [panelActions, selectedNode]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'action-summary-popover' : undefined;\n\n return (\n <>\n <PrimaryActionButton onClick={handleClick} icon={<MoreVerticalIcon />}>\n <Typography>{t('Actions')}</Typography>\n </PrimaryActionButton>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n >\n <ActionSummaryCard\n actionMenuContent={actionSummaryPopoverActions}\n setLoading={setLoading}\n selectedNode={selectedNode}\n />\n </Popover>\n </>\n );\n};\n\nActionSummaryPopover.propTypes = {\n /**\n * Actions configured within Action Panel\n */\n panelActions: PropTypes.array,\n /**\n * Boolean to toggle contrast color\n */\n noContrastColor: PropTypes.bool,\n /**\n * Action Panels\n */\n selectedNode: PropTypes.object\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { i as getPathParametersObj } from "./CrudBrowserUtilities-C9nVmUR3.js";
2
2
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
3
- import { t as apiMutate } from "./useAxiosMutate-DeqKSi5z.js";
4
- import { _ as NodeActionEnums, j as SplitScreenTypeEnums } from "./unitySystemEnums-CZDCsD5t.js";
3
+ import { t as apiMutate } from "./useAxiosMutate-CChDJc0L.js";
4
+ import { _ as NodeActionEnums, j as SplitScreenTypeEnums } from "./unitySystemEnums-BhRg17du.js";
5
5
  import { r as useActionStore, t as useInquiryStore } from "./inquiryStore-BMYKf5MP.js";
6
6
  import React from "react";
7
7
  import { Button } from "@material-ui/core";
@@ -215,4 +215,4 @@ const useHandleAction = () => {
215
215
 
216
216
  //#endregion
217
217
  export { getSuccessAction as n, useHandleAction as t };
218
- //# sourceMappingURL=actionUtils-CPmiSAig.js.map
218
+ //# sourceMappingURL=actionUtils-BU2Z1V_c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionUtils-CPmiSAig.js","names":[],"sources":["../src/UI/SuccessAction.jsx","../src/actions/utils/actionUtils.js"],"sourcesContent":["import React from 'react';\nimport { Button } from '@material-ui/core';\n\nexport const getSuccessAction = (closeSnackbar) => {\n const successAction = (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n OK\n </Button>\n );\n return successAction;\n};\n","import { useHistory } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../configService';\nimport {\n NodeActionEnums,\n SplitScreenTypeEnums\n} from '../../enums/unitySystemEnums';\nimport { getSuccessAction } from '../../UI/SuccessAction';\nimport { useActionStore } from '../../stores/actionStore';\nimport { useInquiryStore } from '../../stores/inquiryStore';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { getPathParametersObj } from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\n\nfunction isValidURL(url) {\n // Regular expression for URL validation\n const urlPattern = /^(ftp|http|https):\\/\\/[^ \"]+$/;\n return urlPattern.test(url);\n}\n\nexport const useHandleAction = () => {\n const history = useHistory();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n const selectedNode = useActionStore((state) => state.selectedNode);\n const setWorkflowMap = useInquiryStore((state) => state.setWorkflowMap);\n const setWorkflowStarting = useInquiryStore(\n (state) => state.setWorkflowStarting\n );\n\n const executeStartWorkflow = async (workflowId, payload) =>\n apiMutate(\n ConfigService.config.BUILDER_API_BASE,\n `workflow/${workflowId}/start`,\n {\n method: 'post'\n },\n { data: payload }\n );\n\n const getApiMethod = async (apiMethodId) =>\n apiMutate(\n ConfigService.config.INTEGRATION_API_BASE,\n `apimethod/${apiMethodId}`,\n {\n method: 'get'\n }\n );\n\n const handleAction = async (\n dispatch,\n action,\n state,\n executeAction,\n apiCatalogId,\n entityAttributes,\n actionData,\n currentContainerId\n ) => {\n if (!action) {\n return;\n }\n\n const actionName = action.name;\n let actionValue = action.value;\n if (action?.parameters?.entityName) {\n actionValue +=\n '?entityName=' +\n action.parameters.entityName +\n '&apiCatalogId=' +\n apiCatalogId;\n }\n\n switch (action.actionTypeId) {\n case NodeActionEnums.Open_External_Link:\n window.open(actionValue, '_blank');\n break;\n case NodeActionEnums.Redirect:\n // if the url is valid, redirect to that url, if its not valid, assume its a path redirect on the same origin\n if (isValidURL(actionValue)) {\n window.location.href = actionValue;\n } else {\n history.push(actionValue);\n }\n break;\n case NodeActionEnums.Create:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Update:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Delete:\n if (dispatch) {\n dispatch({\n type: 'OPEN_MODAL',\n modal: { action: action, open: true, title: 'Delete ' }\n });\n }\n break;\n case NodeActionEnums.Retrieve:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Entity\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Page_Split_Screen:\n if (dispatch) {\n if (!!selectedNode) {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n } else {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Shell_Split_Screen:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Notes:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Notes\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Reminders:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Reminders\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Api:\n if (executeAction && action?.value) {\n let data = {};\n\n if (\n entityAttributes.length > 0 &&\n (selectedNode?.nodeObj || actionData)\n ) {\n // actionData will be used as Request Data first as it is directly passed into function\n if (actionData) {\n data = { ...actionData };\n } else {\n data = { ...selectedNode?.nodeObj };\n }\n const removeAttributes = entityAttributes.filter(\n (p) => p?.extendedProperties?.childEntity\n );\n removeAttributes.forEach((att) => {\n if (att['name'] in data || 'serializeFields' in data) {\n delete data[att['name']];\n }\n });\n }\n const apiMethod = await getApiMethod(action?.value);\n const pathParamValues = getPathParametersObj(\n apiMethod?.data?.pathParametersDefinition,\n data\n );\n\n const response = executeAction(\n {\n data: { requestBody: data, ...pathParamValues }\n },\n action.value\n )\n .then((res) => {\n enqueueSnackbar(\n t(`${action?.name} api has been executed successfully.`),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n })\n .catch((res) => {\n enqueueSnackbar(res.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n } else {\n enqueueSnackbar(t(`Unable to execute ${actionName} action.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n break;\n case NodeActionEnums.Start_Workflow:\n setWorkflowStarting(true);\n // actionValue will be workflowId where we can call Start workflow\n // actionData is the selected nodeObj used as payload\n const response = await executeStartWorkflow(\n actionValue,\n actionData || {}\n ).catch((e) => {\n enqueueSnackbar(t(`Unable to Start Workflow`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n setWorkflowStarting(false);\n if (response.status === 200) {\n const playId = response.data;\n // if selectedNode it means we're in Inquiry\n if (selectedNode) {\n const workflow = {\n inWorkflowMode: true,\n currentWorkflowPlayId: playId\n };\n const containerId = currentContainerId || 0;\n setWorkflowMap({ [containerId]: workflow });\n } else {\n history.push({\n pathname: `/workflowtask/${playId}?taskId=${''}`,\n state: {\n label: t('Workflow')\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Function:\n !!actionData?.execute && actionData.execute();\n\n break;\n default:\n break;\n }\n };\n return { handleAction };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"actionUtils-BU2Z1V_c.js","names":[],"sources":["../src/UI/SuccessAction.jsx","../src/actions/utils/actionUtils.js"],"sourcesContent":["import React from 'react';\nimport { Button } from '@material-ui/core';\n\nexport const getSuccessAction = (closeSnackbar) => {\n const successAction = (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n OK\n </Button>\n );\n return successAction;\n};\n","import { useHistory } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../configService';\nimport {\n NodeActionEnums,\n SplitScreenTypeEnums\n} from '../../enums/unitySystemEnums';\nimport { getSuccessAction } from '../../UI/SuccessAction';\nimport { useActionStore } from '../../stores/actionStore';\nimport { useInquiryStore } from '../../stores/inquiryStore';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { getPathParametersObj } from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\n\nfunction isValidURL(url) {\n // Regular expression for URL validation\n const urlPattern = /^(ftp|http|https):\\/\\/[^ \"]+$/;\n return urlPattern.test(url);\n}\n\nexport const useHandleAction = () => {\n const history = useHistory();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n const selectedNode = useActionStore((state) => state.selectedNode);\n const setWorkflowMap = useInquiryStore((state) => state.setWorkflowMap);\n const setWorkflowStarting = useInquiryStore(\n (state) => state.setWorkflowStarting\n );\n\n const executeStartWorkflow = async (workflowId, payload) =>\n apiMutate(\n ConfigService.config.BUILDER_API_BASE,\n `workflow/${workflowId}/start`,\n {\n method: 'post'\n },\n { data: payload }\n );\n\n const getApiMethod = async (apiMethodId) =>\n apiMutate(\n ConfigService.config.INTEGRATION_API_BASE,\n `apimethod/${apiMethodId}`,\n {\n method: 'get'\n }\n );\n\n const handleAction = async (\n dispatch,\n action,\n state,\n executeAction,\n apiCatalogId,\n entityAttributes,\n actionData,\n currentContainerId\n ) => {\n if (!action) {\n return;\n }\n\n const actionName = action.name;\n let actionValue = action.value;\n if (action?.parameters?.entityName) {\n actionValue +=\n '?entityName=' +\n action.parameters.entityName +\n '&apiCatalogId=' +\n apiCatalogId;\n }\n\n switch (action.actionTypeId) {\n case NodeActionEnums.Open_External_Link:\n window.open(actionValue, '_blank');\n break;\n case NodeActionEnums.Redirect:\n // if the url is valid, redirect to that url, if its not valid, assume its a path redirect on the same origin\n if (isValidURL(actionValue)) {\n window.location.href = actionValue;\n } else {\n history.push(actionValue);\n }\n break;\n case NodeActionEnums.Create:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Update:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Delete:\n if (dispatch) {\n dispatch({\n type: 'OPEN_MODAL',\n modal: { action: action, open: true, title: 'Delete ' }\n });\n }\n break;\n case NodeActionEnums.Retrieve:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Entity\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Page_Split_Screen:\n if (dispatch) {\n if (!!selectedNode) {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n } else {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Shell_Split_Screen:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Notes:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Notes\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Reminders:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Reminders\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Api:\n if (executeAction && action?.value) {\n let data = {};\n\n if (\n entityAttributes.length > 0 &&\n (selectedNode?.nodeObj || actionData)\n ) {\n // actionData will be used as Request Data first as it is directly passed into function\n if (actionData) {\n data = { ...actionData };\n } else {\n data = { ...selectedNode?.nodeObj };\n }\n const removeAttributes = entityAttributes.filter(\n (p) => p?.extendedProperties?.childEntity\n );\n removeAttributes.forEach((att) => {\n if (att['name'] in data || 'serializeFields' in data) {\n delete data[att['name']];\n }\n });\n }\n const apiMethod = await getApiMethod(action?.value);\n const pathParamValues = getPathParametersObj(\n apiMethod?.data?.pathParametersDefinition,\n data\n );\n\n const response = executeAction(\n {\n data: { requestBody: data, ...pathParamValues }\n },\n action.value\n )\n .then((res) => {\n enqueueSnackbar(\n t(`${action?.name} api has been executed successfully.`),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n })\n .catch((res) => {\n enqueueSnackbar(res.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n } else {\n enqueueSnackbar(t(`Unable to execute ${actionName} action.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n break;\n case NodeActionEnums.Start_Workflow:\n setWorkflowStarting(true);\n // actionValue will be workflowId where we can call Start workflow\n // actionData is the selected nodeObj used as payload\n const response = await executeStartWorkflow(\n actionValue,\n actionData || {}\n ).catch((e) => {\n enqueueSnackbar(t(`Unable to Start Workflow`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n setWorkflowStarting(false);\n if (response.status === 200) {\n const playId = response.data;\n // if selectedNode it means we're in Inquiry\n if (selectedNode) {\n const workflow = {\n inWorkflowMode: true,\n currentWorkflowPlayId: playId\n };\n const containerId = currentContainerId || 0;\n setWorkflowMap({ [containerId]: workflow });\n } else {\n history.push({\n pathname: `/workflowtask/${playId}?taskId=${''}`,\n state: {\n label: t('Workflow')\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Function:\n !!actionData?.execute && actionData.execute();\n\n break;\n default:\n break;\n }\n };\n return { handleAction };\n};\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../../actionSummary-DwSHY1Tt.js";
1
+ import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../../actionSummary-4uornpGM.js";
2
2
 
3
3
  export { ActionSummaryCard, ActionSummaryHeader, ActionSummaryListContainer, ActionSummaryListItem, ActionSummaryPopover };
@@ -1,9 +1,9 @@
1
- import { a as ActionModal, i as ActionSpeedDial, n as ActionSideSheet, o as ActionForm, r as ActionPanelPlacement, t as ActionWrapper } from "../ActionWrapper-DnP7lGDq.js";
2
- import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../actionSummary-DwSHY1Tt.js";
3
- import { t as useHandleAction } from "../actionUtils-CPmiSAig.js";
4
- import { t as EntitySideBarContent } from "../EntitySideBarContent-Bl_8gI69.js";
5
- import { t as ActionSplitScreen } from "../ActionSplitScreen-D6_7PlK-.js";
6
- import { t as PageActionWrapper } from "../PageActionWrapper-Bm6J0thr.js";
1
+ import { a as ActionModal, i as ActionSpeedDial, n as ActionSideSheet, o as ActionForm, r as ActionPanelPlacement, t as ActionWrapper } from "../ActionWrapper-BwnB_Qw4.js";
2
+ import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../actionSummary-4uornpGM.js";
3
+ import { t as useHandleAction } from "../actionUtils-BU2Z1V_c.js";
4
+ import { t as EntitySideBarContent } from "../EntitySideBarContent-DfmL6BdB.js";
5
+ import { t as ActionSplitScreen } from "../ActionSplitScreen-DjSUjE6M.js";
6
+ import { t as PageActionWrapper } from "../PageActionWrapper-B2NHh8V9.js";
7
7
  import "./utils/index.js";
8
8
  import "./sidebar/index.js";
9
9
 
@@ -1,3 +1,3 @@
1
- import { t as EntitySideBarContent } from "../../EntitySideBarContent-Bl_8gI69.js";
1
+ import { t as EntitySideBarContent } from "../../EntitySideBarContent-DfmL6BdB.js";
2
2
 
3
3
  export { EntitySideBarContent };
@@ -1,3 +1,3 @@
1
- import { t as useHandleAction } from "../../actionUtils-CPmiSAig.js";
1
+ import { t as useHandleAction } from "../../actionUtils-BU2Z1V_c.js";
2
2
 
3
3
  export { useHandleAction };
@@ -1,5 +1,5 @@
1
- import { A as SeverityTypeEnums } from "./unitySystemEnums-CZDCsD5t.js";
2
- import { t as NumberOperatorEnums } from "./NumberOperator-p4HsHHx3.js";
1
+ import { A as SeverityTypeEnums } from "./unitySystemEnums-BhRg17du.js";
2
+ import { t as NumberOperatorEnums } from "./NumberOperator-BhGfG6ZY.js";
3
3
 
4
4
  //#region src/UI/utilityDisplay/utilities/aggregateUtils.js
5
5
  const getThresholdStatus = (aggThreshold, aggregateValue) => {
@@ -67,4 +67,4 @@ const evaluateThreshold = (threshold = {}, aggregateValue) => {
67
67
 
68
68
  //#endregion
69
69
  export { getThresholdStatus as t };
70
- //# sourceMappingURL=aggregateUtils-UcpEjFnf.js.map
70
+ //# sourceMappingURL=aggregateUtils-BQEbw0_E.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregateUtils-UcpEjFnf.js","names":[],"sources":["../src/UI/utilityDisplay/utilities/aggregateUtils.js"],"sourcesContent":["import { SeverityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { NumberOperatorEnums } from '../../../models/NumberOperator';\n\nexport const getThresholdStatus = (aggThreshold, aggregateValue) => {\n if (!aggThreshold || !aggregateValue) return null;\n // Order of this array matters\n const thresholdTypes = [\n {\n type: SeverityTypeEnums.Success,\n threshold: aggThreshold.successThreshold\n },\n { type: SeverityTypeEnums.Error, threshold: aggThreshold.errorThreshold },\n {\n type: SeverityTypeEnums.Warning,\n threshold: aggThreshold.warningThreshold\n },\n { type: SeverityTypeEnums.Info, threshold: aggThreshold.infoThreshold }\n ];\n\n let thresholdStatus = '';\n for (const { type, threshold } of thresholdTypes) {\n if (threshold && evaluateThreshold(threshold, aggregateValue)) {\n thresholdStatus = type;\n break;\n }\n }\n\n return thresholdStatus;\n};\n\nconst evaluateThreshold = (threshold = {}, aggregateValue) => {\n if (typeof threshold === 'string') {\n try {\n threshold = JSON.parse(threshold);\n } catch {\n console.error(`Could not parse: ${threshold}`);\n return false;\n }\n }\n const { operator, value1, value2 } = threshold;\n let thresholdMet = false;\n\n switch (operator) {\n case NumberOperatorEnums.Equals:\n thresholdMet = aggregateValue === parseFloat(value1);\n break;\n case NumberOperatorEnums.Does_Not_Equal:\n thresholdMet = aggregateValue !== parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than:\n thresholdMet = aggregateValue > parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than:\n thresholdMet = aggregateValue < parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than_Or_Equal_To:\n thresholdMet = aggregateValue >= parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than_Or_Equal_To:\n thresholdMet = aggregateValue <= parseFloat(value1);\n break;\n case NumberOperatorEnums.Between:\n thresholdMet =\n aggregateValue >= parseFloat(value1) &&\n aggregateValue <= parseFloat(value2);\n break;\n default:\n break;\n }\n\n return thresholdMet;\n};\n"],"mappings":";;;;AAGA,MAAa,sBAAsB,cAAc,mBAAmB;AAClE,KAAI,CAAC,gBAAgB,CAAC,eAAgB,QAAO;CAE7C,MAAM,iBAAiB;EACrB;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAO,WAAW,aAAa;GAAgB;EACzE;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAM,WAAW,aAAa;GAAe;EACxE;CAED,IAAI,kBAAkB;AACtB,MAAK,MAAM,EAAE,MAAM,eAAe,eAChC,KAAI,aAAa,kBAAkB,WAAW,eAAe,EAAE;AAC7D,oBAAkB;AAClB;;AAIJ,QAAO;;AAGT,MAAM,qBAAqB,YAAY,EAAE,EAAE,mBAAmB;AAC5D,KAAI,OAAO,cAAc,SACvB,KAAI;AACF,cAAY,KAAK,MAAM,UAAU;SAC3B;AACN,UAAQ,MAAM,oBAAoB,YAAY;AAC9C,SAAO;;CAGX,MAAM,EAAE,UAAU,QAAQ,WAAW;CACrC,IAAI,eAAe;AAEnB,SAAQ,UAAR;EACE,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBACE,kBAAkB,WAAW,OAAO,IACpC,kBAAkB,WAAW,OAAO;AACtC;EACF,QACE;;AAGJ,QAAO"}
1
+ {"version":3,"file":"aggregateUtils-BQEbw0_E.js","names":[],"sources":["../src/UI/utilityDisplay/utilities/aggregateUtils.js"],"sourcesContent":["import { SeverityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { NumberOperatorEnums } from '../../../models/NumberOperator';\n\nexport const getThresholdStatus = (aggThreshold, aggregateValue) => {\n if (!aggThreshold || !aggregateValue) return null;\n // Order of this array matters\n const thresholdTypes = [\n {\n type: SeverityTypeEnums.Success,\n threshold: aggThreshold.successThreshold\n },\n { type: SeverityTypeEnums.Error, threshold: aggThreshold.errorThreshold },\n {\n type: SeverityTypeEnums.Warning,\n threshold: aggThreshold.warningThreshold\n },\n { type: SeverityTypeEnums.Info, threshold: aggThreshold.infoThreshold }\n ];\n\n let thresholdStatus = '';\n for (const { type, threshold } of thresholdTypes) {\n if (threshold && evaluateThreshold(threshold, aggregateValue)) {\n thresholdStatus = type;\n break;\n }\n }\n\n return thresholdStatus;\n};\n\nconst evaluateThreshold = (threshold = {}, aggregateValue) => {\n if (typeof threshold === 'string') {\n try {\n threshold = JSON.parse(threshold);\n } catch {\n console.error(`Could not parse: ${threshold}`);\n return false;\n }\n }\n const { operator, value1, value2 } = threshold;\n let thresholdMet = false;\n\n switch (operator) {\n case NumberOperatorEnums.Equals:\n thresholdMet = aggregateValue === parseFloat(value1);\n break;\n case NumberOperatorEnums.Does_Not_Equal:\n thresholdMet = aggregateValue !== parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than:\n thresholdMet = aggregateValue > parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than:\n thresholdMet = aggregateValue < parseFloat(value1);\n break;\n case NumberOperatorEnums.Greater_Than_Or_Equal_To:\n thresholdMet = aggregateValue >= parseFloat(value1);\n break;\n case NumberOperatorEnums.Less_Than_Or_Equal_To:\n thresholdMet = aggregateValue <= parseFloat(value1);\n break;\n case NumberOperatorEnums.Between:\n thresholdMet =\n aggregateValue >= parseFloat(value1) &&\n aggregateValue <= parseFloat(value2);\n break;\n default:\n break;\n }\n\n return thresholdMet;\n};\n"],"mappings":";;;;AAGA,MAAa,sBAAsB,cAAc,mBAAmB;AAClE,KAAI,CAAC,gBAAgB,CAAC,eAAgB,QAAO;CAE7C,MAAM,iBAAiB;EACrB;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAO,WAAW,aAAa;GAAgB;EACzE;GACE,MAAM,kBAAkB;GACxB,WAAW,aAAa;GACzB;EACD;GAAE,MAAM,kBAAkB;GAAM,WAAW,aAAa;GAAe;EACxE;CAED,IAAI,kBAAkB;AACtB,MAAK,MAAM,EAAE,MAAM,eAAe,eAChC,KAAI,aAAa,kBAAkB,WAAW,eAAe,EAAE;AAC7D,oBAAkB;AAClB;;AAIJ,QAAO;;AAGT,MAAM,qBAAqB,YAAY,EAAE,EAAE,mBAAmB;AAC5D,KAAI,OAAO,cAAc,SACvB,KAAI;AACF,cAAY,KAAK,MAAM,UAAU;SAC3B;AACN,UAAQ,MAAM,oBAAoB,YAAY;AAC9C,SAAO;;CAGX,MAAM,EAAE,UAAU,QAAQ,WAAW;CACrC,IAAI,eAAe;AAEnB,SAAQ,UAAR;EACE,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,mBAAmB,WAAW,OAAO;AACpD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,iBAAiB,WAAW,OAAO;AAClD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBAAe,kBAAkB,WAAW,OAAO;AACnD;EACF,KAAK,oBAAoB;AACvB,kBACE,kBAAkB,WAAW,OAAO,IACpC,kBAAkB,WAAW,OAAO;AACtC;EACF,QACE;;AAGJ,QAAO"}
@@ -1,5 +1,5 @@
1
- import { D as SearchGroupingType } from "./unitySystemEnums-CZDCsD5t.js";
2
- import { a as useConvertFilterModelToSearchFilters } from "./SearchUtilities-DUW0kaw_.js";
1
+ import { D as SearchGroupingType } from "./unitySystemEnums-BhRg17du.js";
2
+ import { a as useConvertFilterModelToSearchFilters } from "./SearchUtilities-4D3aArPk.js";
3
3
  import { useMemo } from "react";
4
4
 
5
5
  //#region src/utilities/aggrid/aggridHelpers.ts
@@ -100,4 +100,4 @@ const useServerSideDatasource = (refetchData, refetchGroupData, filterChanged, s
100
100
 
101
101
  //#endregion
102
102
  export { useServerSideDatasource as t };
103
- //# sourceMappingURL=aggridHelpers-BvrSzjdD.js.map
103
+ //# sourceMappingURL=aggridHelpers-DVAyzpUF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggridHelpers-BvrSzjdD.js","names":["element"],"sources":["../src/utilities/aggrid/aggridHelpers.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n IServerSideDatasource,\n IServerSideGetRowsParams\n} from '@ag-grid-community/core';\nimport { SearchGroupingType } from '../../enums/unitySystemEnums';\nimport { useConvertFilterModelToSearchFilters } from '../search/SearchUtilities';\n\nexport const useServerSideDatasource = (\n refetchData: Function,\n refetchGroupData: any,\n filterChanged: any, // a ref (from useRef()) for detecting when a grid's filters have been changed\n setFilterChanged: any\n) => {\n const convertFilterModelToSearchFilters =\n useConvertFilterModelToSearchFilters();\n\n const dataSource = useMemo(() => {\n const ds: IServerSideDatasource = {\n async getRows(params: IServerSideGetRowsParams) {\n if (!params) return;\n const {\n startRow,\n endRow,\n sortModel,\n filterModel,\n rowGroupCols,\n groupKeys\n } = params?.request || {};\n let refetch = refetchData;\n const pageSize = params?.api?.paginationGetPageSize();\n let pageNumber =\n filterChanged.current === true ? 1 : (endRow as number) / pageSize;\n if (isNaN(pageNumber)) {\n pageNumber = 1;\n }\n\n // Sorting\n let column = sortModel[0]?.colId ?? '';\n let sortDirection = sortModel[0]?.sort ?? '';\n let sortInfo: any = [];\n if (column && sortDirection) {\n sortInfo.push({ sortColumn: column, sortDirection: sortDirection });\n }\n\n // Filtering\n let searchFilters: any = [];\n searchFilters = convertFilterModelToSearchFilters(filterModel);\n\n // Grouping\n const groupingColumns = rowGroupCols?.map((col) => col.id);\n let groupingType = '';\n // As we are attempting to mimic the grouping functionality of the unity-fluent-library component AmbientGridTemplate which allows\n // grouping on only one column/property at a time, the following logic is to ensure the appropriate grouping endpoint is hit\n // and that the grouping portion of the query in the back-end is added (setting groupingType = AGGREGATE or DISTINCT takes care of this)\n // only when selecting a column to group by. Then, expanding that group would hit a different endpoint to retrieve all rows using the grouping\n // value as a filter value.\n if (groupingColumns.length > 0 && groupKeys.length === 0) {\n groupingType = SearchGroupingType.Distinct;\n refetch = refetchGroupData ? refetchGroupData : refetchData;\n }\n\n // Create the filter for the grouped column\n if (groupKeys.length) {\n if (groupKeys.length === rowGroupCols.length) {\n groupKeys.forEach((key, index) => {\n const rowGroupCol = rowGroupCols[index];\n const element = searchFilters.find(\n (element: any) => element.searchField === rowGroupCol.field\n );\n if (element) {\n element.searchValue = key;\n element.searchOperator = '=';\n } else {\n searchFilters.push({\n searchField: rowGroupCol.field ?? rowGroupCol.id,\n searchValue: key,\n searchOperator: '=',\n searchValueType: 0\n });\n }\n });\n }\n }\n\n let search: any;\n search = {\n eagerLoad: groupingType ? false : true,\n pageNumber: pageNumber,\n pageSize: pageSize,\n orderElements: sortInfo,\n filterElements: searchFilters,\n groupingType: groupingType,\n groupProperty: groupingColumns\n };\n\n params.api.hideOverlay();\n\n const response = await refetch({ data: search }).catch(() => {\n params.success({ rowData: [], rowCount: 0 });\n params.api.showNoRowsOverlay();\n });\n\n if (response) {\n const rowData = response.data;\n if (rowData) {\n // we are expecting response of type Univerus.Unity.Commons.Api.Model.Page, but need to maintain support for MDM\n if (typeof rowData === 'object' && rowData.pageList) {\n params.success({\n rowData: rowData.pageList,\n rowCount: parseInt(rowData.total)\n });\n } else if (rowData.length > 0) {\n params.success({\n rowData: rowData,\n rowCount: parseInt(response.headers['totalrows'])\n });\n } else {\n params.success({ rowData: [], rowCount: 0 });\n }\n if (filterChanged.current === true) {\n params.api.paginationGoToFirstPage();\n setFilterChanged(false);\n }\n } else {\n params.success({ rowData: [], rowCount: 0 });\n params.api.showNoRowsOverlay();\n }\n } else {\n params.fail();\n }\n }\n };\n return ds;\n }, [\n convertFilterModelToSearchFilters,\n filterChanged,\n refetchData,\n refetchGroupData,\n setFilterChanged\n ]);\n return dataSource;\n};\n"],"mappings":";;;;;AAQA,MAAa,2BACX,aACA,kBACA,eACA,qBACG;CACH,MAAM,oCACJ,sCAAsC;AA8HxC,QA5HmB,cAAc;AAoH/B,SAnHkC,EAChC,MAAM,QAAQ,QAAkC;AAC9C,OAAI,CAAC,OAAQ;GACb,MAAM,EACJ,UACA,QACA,WACA,aACA,cACA,cACE,QAAQ,WAAW,EAAE;GACzB,IAAI,UAAU;GACd,MAAM,WAAW,QAAQ,KAAK,uBAAuB;GACrD,IAAI,aACF,cAAc,YAAY,OAAO,IAAK,SAAoB;AAC5D,OAAI,MAAM,WAAW,CACnB,cAAa;GAIf,IAAI,SAAS,UAAU,IAAI,SAAS;GACpC,IAAI,gBAAgB,UAAU,IAAI,QAAQ;GAC1C,IAAI,WAAgB,EAAE;AACtB,OAAI,UAAU,cACZ,UAAS,KAAK;IAAE,YAAY;IAAuB;IAAe,CAAC;GAIrE,IAAI,gBAAqB,EAAE;AAC3B,mBAAgB,kCAAkC,YAAY;GAG9D,MAAM,kBAAkB,cAAc,KAAK,QAAQ,IAAI,GAAG;GAC1D,IAAI,eAAe;AAMnB,OAAI,gBAAgB,SAAS,KAAK,UAAU,WAAW,GAAG;AACxD,mBAAe,mBAAmB;AAClC,cAAU,mBAAmB,mBAAmB;;AAIlD,OAAI,UAAU,QACZ;QAAI,UAAU,WAAW,aAAa,OACpC,WAAU,SAAS,KAAK,UAAU;KAChC,MAAM,cAAc,aAAa;KACjC,MAAM,UAAU,cAAc,MAC3B,cAAiBA,UAAQ,gBAAgB,YAAY,MACvD;AACD,SAAI,SAAS;AACX,cAAQ,cAAc;AACtB,cAAQ,iBAAiB;WAEzB,eAAc,KAAK;MACjB,aAAa,YAAY,SAAS,YAAY;MAC9C,aAAa;MACb,gBAAgB;MAChB,iBAAiB;MAClB,CAAC;MAEJ;;GAIN,IAAI;AACJ,YAAS;IACP,WAAW,eAAe,QAAQ;IACtB;IACF;IACV,eAAe;IACf,gBAAgB;IACF;IACd,eAAe;IAChB;AAED,UAAO,IAAI,aAAa;GAExB,MAAM,WAAW,MAAM,QAAQ,EAAE,MAAM,QAAQ,CAAC,CAAC,YAAY;AAC3D,WAAO,QAAQ;KAAE,SAAS,EAAE;KAAE,UAAU;KAAG,CAAC;AAC5C,WAAO,IAAI,mBAAmB;KAC9B;AAEF,OAAI,UAAU;IACZ,MAAM,UAAU,SAAS;AACzB,QAAI,SAAS;AAEX,SAAI,OAAO,YAAY,YAAY,QAAQ,SACzC,QAAO,QAAQ;MACb,SAAS,QAAQ;MACjB,UAAU,SAAS,QAAQ,MAAM;MAClC,CAAC;cACO,QAAQ,SAAS,EAC1B,QAAO,QAAQ;MACJ;MACT,UAAU,SAAS,SAAS,QAAQ,aAAa;MAClD,CAAC;SAEF,QAAO,QAAQ;MAAE,SAAS,EAAE;MAAE,UAAU;MAAG,CAAC;AAE9C,SAAI,cAAc,YAAY,MAAM;AAClC,aAAO,IAAI,yBAAyB;AACpC,uBAAiB,MAAM;;WAEpB;AACL,YAAO,QAAQ;MAAE,SAAS,EAAE;MAAE,UAAU;MAAG,CAAC;AAC5C,YAAO,IAAI,mBAAmB;;SAGhC,QAAO,MAAM;KAGlB;IAEA;EACD;EACA;EACA;EACA;EACA;EACD,CAAC"}
1
+ {"version":3,"file":"aggridHelpers-DVAyzpUF.js","names":["element"],"sources":["../src/utilities/aggrid/aggridHelpers.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n IServerSideDatasource,\n IServerSideGetRowsParams\n} from '@ag-grid-community/core';\nimport { SearchGroupingType } from '../../enums/unitySystemEnums';\nimport { useConvertFilterModelToSearchFilters } from '../search/SearchUtilities';\n\nexport const useServerSideDatasource = (\n refetchData: Function,\n refetchGroupData: any,\n filterChanged: any, // a ref (from useRef()) for detecting when a grid's filters have been changed\n setFilterChanged: any\n) => {\n const convertFilterModelToSearchFilters =\n useConvertFilterModelToSearchFilters();\n\n const dataSource = useMemo(() => {\n const ds: IServerSideDatasource = {\n async getRows(params: IServerSideGetRowsParams) {\n if (!params) return;\n const {\n startRow,\n endRow,\n sortModel,\n filterModel,\n rowGroupCols,\n groupKeys\n } = params?.request || {};\n let refetch = refetchData;\n const pageSize = params?.api?.paginationGetPageSize();\n let pageNumber =\n filterChanged.current === true ? 1 : (endRow as number) / pageSize;\n if (isNaN(pageNumber)) {\n pageNumber = 1;\n }\n\n // Sorting\n let column = sortModel[0]?.colId ?? '';\n let sortDirection = sortModel[0]?.sort ?? '';\n let sortInfo: any = [];\n if (column && sortDirection) {\n sortInfo.push({ sortColumn: column, sortDirection: sortDirection });\n }\n\n // Filtering\n let searchFilters: any = [];\n searchFilters = convertFilterModelToSearchFilters(filterModel);\n\n // Grouping\n const groupingColumns = rowGroupCols?.map((col) => col.id);\n let groupingType = '';\n // As we are attempting to mimic the grouping functionality of the unity-fluent-library component AmbientGridTemplate which allows\n // grouping on only one column/property at a time, the following logic is to ensure the appropriate grouping endpoint is hit\n // and that the grouping portion of the query in the back-end is added (setting groupingType = AGGREGATE or DISTINCT takes care of this)\n // only when selecting a column to group by. Then, expanding that group would hit a different endpoint to retrieve all rows using the grouping\n // value as a filter value.\n if (groupingColumns.length > 0 && groupKeys.length === 0) {\n groupingType = SearchGroupingType.Distinct;\n refetch = refetchGroupData ? refetchGroupData : refetchData;\n }\n\n // Create the filter for the grouped column\n if (groupKeys.length) {\n if (groupKeys.length === rowGroupCols.length) {\n groupKeys.forEach((key, index) => {\n const rowGroupCol = rowGroupCols[index];\n const element = searchFilters.find(\n (element: any) => element.searchField === rowGroupCol.field\n );\n if (element) {\n element.searchValue = key;\n element.searchOperator = '=';\n } else {\n searchFilters.push({\n searchField: rowGroupCol.field ?? rowGroupCol.id,\n searchValue: key,\n searchOperator: '=',\n searchValueType: 0\n });\n }\n });\n }\n }\n\n let search: any;\n search = {\n eagerLoad: groupingType ? false : true,\n pageNumber: pageNumber,\n pageSize: pageSize,\n orderElements: sortInfo,\n filterElements: searchFilters,\n groupingType: groupingType,\n groupProperty: groupingColumns\n };\n\n params.api.hideOverlay();\n\n const response = await refetch({ data: search }).catch(() => {\n params.success({ rowData: [], rowCount: 0 });\n params.api.showNoRowsOverlay();\n });\n\n if (response) {\n const rowData = response.data;\n if (rowData) {\n // we are expecting response of type Univerus.Unity.Commons.Api.Model.Page, but need to maintain support for MDM\n if (typeof rowData === 'object' && rowData.pageList) {\n params.success({\n rowData: rowData.pageList,\n rowCount: parseInt(rowData.total)\n });\n } else if (rowData.length > 0) {\n params.success({\n rowData: rowData,\n rowCount: parseInt(response.headers['totalrows'])\n });\n } else {\n params.success({ rowData: [], rowCount: 0 });\n }\n if (filterChanged.current === true) {\n params.api.paginationGoToFirstPage();\n setFilterChanged(false);\n }\n } else {\n params.success({ rowData: [], rowCount: 0 });\n params.api.showNoRowsOverlay();\n }\n } else {\n params.fail();\n }\n }\n };\n return ds;\n }, [\n convertFilterModelToSearchFilters,\n filterChanged,\n refetchData,\n refetchGroupData,\n setFilterChanged\n ]);\n return dataSource;\n};\n"],"mappings":";;;;;AAQA,MAAa,2BACX,aACA,kBACA,eACA,qBACG;CACH,MAAM,oCACJ,sCAAsC;AA8HxC,QA5HmB,cAAc;AAoH/B,SAnHkC,EAChC,MAAM,QAAQ,QAAkC;AAC9C,OAAI,CAAC,OAAQ;GACb,MAAM,EACJ,UACA,QACA,WACA,aACA,cACA,cACE,QAAQ,WAAW,EAAE;GACzB,IAAI,UAAU;GACd,MAAM,WAAW,QAAQ,KAAK,uBAAuB;GACrD,IAAI,aACF,cAAc,YAAY,OAAO,IAAK,SAAoB;AAC5D,OAAI,MAAM,WAAW,CACnB,cAAa;GAIf,IAAI,SAAS,UAAU,IAAI,SAAS;GACpC,IAAI,gBAAgB,UAAU,IAAI,QAAQ;GAC1C,IAAI,WAAgB,EAAE;AACtB,OAAI,UAAU,cACZ,UAAS,KAAK;IAAE,YAAY;IAAuB;IAAe,CAAC;GAIrE,IAAI,gBAAqB,EAAE;AAC3B,mBAAgB,kCAAkC,YAAY;GAG9D,MAAM,kBAAkB,cAAc,KAAK,QAAQ,IAAI,GAAG;GAC1D,IAAI,eAAe;AAMnB,OAAI,gBAAgB,SAAS,KAAK,UAAU,WAAW,GAAG;AACxD,mBAAe,mBAAmB;AAClC,cAAU,mBAAmB,mBAAmB;;AAIlD,OAAI,UAAU,QACZ;QAAI,UAAU,WAAW,aAAa,OACpC,WAAU,SAAS,KAAK,UAAU;KAChC,MAAM,cAAc,aAAa;KACjC,MAAM,UAAU,cAAc,MAC3B,cAAiBA,UAAQ,gBAAgB,YAAY,MACvD;AACD,SAAI,SAAS;AACX,cAAQ,cAAc;AACtB,cAAQ,iBAAiB;WAEzB,eAAc,KAAK;MACjB,aAAa,YAAY,SAAS,YAAY;MAC9C,aAAa;MACb,gBAAgB;MAChB,iBAAiB;MAClB,CAAC;MAEJ;;GAIN,IAAI;AACJ,YAAS;IACP,WAAW,eAAe,QAAQ;IACtB;IACF;IACV,eAAe;IACf,gBAAgB;IACF;IACd,eAAe;IAChB;AAED,UAAO,IAAI,aAAa;GAExB,MAAM,WAAW,MAAM,QAAQ,EAAE,MAAM,QAAQ,CAAC,CAAC,YAAY;AAC3D,WAAO,QAAQ;KAAE,SAAS,EAAE;KAAE,UAAU;KAAG,CAAC;AAC5C,WAAO,IAAI,mBAAmB;KAC9B;AAEF,OAAI,UAAU;IACZ,MAAM,UAAU,SAAS;AACzB,QAAI,SAAS;AAEX,SAAI,OAAO,YAAY,YAAY,QAAQ,SACzC,QAAO,QAAQ;MACb,SAAS,QAAQ;MACjB,UAAU,SAAS,QAAQ,MAAM;MAClC,CAAC;cACO,QAAQ,SAAS,EAC1B,QAAO,QAAQ;MACJ;MACT,UAAU,SAAS,SAAS,QAAQ,aAAa;MAClD,CAAC;SAEF,QAAO,QAAQ;MAAE,SAAS,EAAE;MAAE,UAAU;MAAG,CAAC;AAE9C,SAAI,cAAc,YAAY,MAAM;AAClC,aAAO,IAAI,yBAAyB;AACpC,uBAAiB,MAAM;;WAEpB;AACL,YAAO,QAAQ;MAAE,SAAS,EAAE;MAAE,UAAU;MAAG,CAAC;AAC5C,YAAO,IAAI,mBAAmB;;SAGhC,QAAO,MAAM;KAGlB;IAEA;EACD;EACA;EACA;EACA;EACA;EACD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
2
- import { n as UdpPageEnums } from "./pageEnums-DHCYa0ey.js";
2
+ import { n as UdpPageEnums } from "./pageEnums-Bw4Yfa6D.js";
3
3
  import { n as getStoredTenant } from "./UnitySessionStorage-CUDx9YWR.js";
4
4
  import React, { useCallback } from "react";
5
5
  import { Button } from "@material-ui/core";
@@ -225,4 +225,4 @@ const useHandleAxiosSnackbar = () => {
225
225
 
226
226
  //#endregion
227
227
  export { acquireAccessToken as a, useLogoutAction as c, getLoginRequest as d, getSignInAuthProvider as f, useHandleAxiosSnackbar as i, whitelistedPaths as l, initSignInAuthProvider as m, getMergedConfig as n, loginRedirect as o, getTokenRequest as p, handleResponseErrors as r, useLoginAction as s, getAccessToken as t, getApiAccessScope as u };
228
- //# sourceMappingURL=apiHelpers-WIR8pqy0.js.map
228
+ //# sourceMappingURL=apiHelpers-CMlmFUix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiHelpers-WIR8pqy0.js","names":[],"sources":["../src/utilities/auth/signInAuthProvider.js","../src/utilities/auth/whitelistedPaths.js","../src/utilities/auth/authActions.ts","../src/utilities/apiHelpers.jsx"],"sourcesContent":["import { PublicClientApplication, EventType } from '@azure/msal-browser';\nimport { ConfigService } from '../../configService';\n\nlet signInAuthProviderInstance = null;\nlet loginRequestInstance = null;\nlet tokenRequestInstance = null;\nlet apiAccessScopeValue = null;\n\nexport async function initSignInAuthProvider() {\n if (signInAuthProviderInstance) {\n return; // Already initialized\n }\n\n const PUBLIC_URL = new URL(\n import.meta.env.BASE_URL || '/',\n window.location.origin\n ).href.replace(/\\/$/, '');\n\n const REDIRECT_URL_BASE = ConfigService.config.USE_AAD_REDIRECT\n ? ConfigService.config.UNITY_URL\n : PUBLIC_URL;\n\n if (!ConfigService.config.MSAL_TENANT)\n throw new Error('MSAL_TENANT not configured');\n if (!ConfigService.config.MSAL_CLIENT_ID)\n throw new Error('MSAL_CLIENT_ID not configured');\n\n const tenant = ConfigService.config.MSAL_TENANT;\n\n // Determine idp_target and id_token_hint for Unified Policy\n const currentPath = window.location.pathname;\n const searchParams = new URLSearchParams(window.location.search);\n\n let domainHint = searchParams.get('domain_hint');\n\n if (currentPath === '/sso/entra') {\n domainHint = 'entra';\n }\n\n if (currentPath === '/sso/entra') {\n domainHint = 'entra';\n window.history.replaceState(null, '', '/');\n }\n\n const idTokenHint = searchParams.get('id_token_hint');\n\n const signInPolicy = ConfigService.config.SIGN_IN_POLICY;\n\n const applicationID = ConfigService.config.MSAL_CLIENT_ID;\n const reactRedirectUri = `${REDIRECT_URL_BASE}/${ConfigService.config.USE_AAD_REDIRECT ? 'aad_redirect' : 'aad_callback'\n }`;\n const tenantSubdomain = tenant.split('.')[0];\n const instance = `https://${tenantSubdomain}.b2clogin.com/`;\n const signInAuthority = `${instance}${tenant}/${signInPolicy}`;\n apiAccessScopeValue = `https://${tenant}/${ConfigService.config.MSAL_API_ACCESS_SCOPE}`;\n\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n const msie11 = ua.indexOf('Trident/');\n const msedge = ua.indexOf('Edge/');\n const firefox = ua.indexOf('Firefox');\n const isIE = msie > 0 || msie11 > 0;\n const isEdge = msedge > 0;\n const isFirefox = firefox > 0; // Only needed if you need to support the redirect flow in Firefox incognito\n\n // Msal Configurations\n const signInConfig = {\n auth: {\n authority: signInAuthority,\n knownAuthorities: [`${tenantSubdomain}.b2clogin.com`],\n clientId: applicationID,\n redirectUri: reactRedirectUri,\n postLogoutRedirectUri: PUBLIC_URL + '/',\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: 'sessionStorage',\n storeAuthStateInCookie: isIE || isEdge || isFirefox,\n },\n system: {\n allowRedirectInIframe: true,\n },\n };\n\n signInAuthProviderInstance = new PublicClientApplication(signInConfig);\n\n await signInAuthProviderInstance.initialize();\n\n if (\n !signInAuthProviderInstance.getActiveAccount() &&\n signInAuthProviderInstance.getAllAccounts().length > 0\n ) {\n signInAuthProviderInstance.setActiveAccount(\n signInAuthProviderInstance.getAllAccounts()[0]\n );\n }\n\n // Check if the active account is an Entra account to set the hint\n const activeAccount = signInAuthProviderInstance.getActiveAccount();\n if (activeAccount && !domainHint) {\n const idp = activeAccount.idTokenClaims?.idp;\n if (idp && idp.includes('login.microsoftonline.com')) {\n domainHint = 'entra';\n }\n }\n\n signInAuthProviderInstance.addEventCallback((event) => {\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload.account) {\n const account = event.payload.account;\n signInAuthProviderInstance.setActiveAccount(account);\n }\n });\n\n tokenRequestInstance = { scopes: [apiAccessScopeValue] };\n\n loginRequestInstance = {\n scopes: [apiAccessScopeValue, 'openid', 'offline_access'],\n state: `${PUBLIC_URL}/aad_callback`,\n extraQueryParameters: {\n ...(idTokenHint && { id_token_hint: idTokenHint, flow: 'redeem' }),\n ...(domainHint && !idTokenHint && { domain_hint: 'entra' }),\n },\n };\n}\n\nexport const getSignInAuthProvider = () => {\n if (!signInAuthProviderInstance) {\n throw new Error(\n 'signInAuthProvider is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return signInAuthProviderInstance;\n};\n\nexport const getLoginRequest = () => {\n if (!loginRequestInstance) {\n throw new Error(\n 'loginRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return loginRequestInstance;\n};\n\nexport const getTokenRequest = () => {\n if (!tokenRequestInstance) {\n throw new Error(\n 'tokenRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return tokenRequestInstance;\n};\n\nexport const getApiAccessScope = () => {\n if (!apiAccessScopeValue) {\n throw new Error(\n 'apiAccessScope is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return apiAccessScopeValue;\n};\n","import { UdpPageEnums } from \"../../enums/pageEnums\";\n\nexport const whitelistedPaths = [\n '/verify', \n `/page/${UdpPageEnums.Udp_Public_Forms_Page}`, // Public forms page\n '/aad_redirect',\n '/passwordresetsuccess'\n];\n","import {\n getSignInAuthProvider,\n getTokenRequest,\n getLoginRequest,\n} from './signInAuthProvider';\nimport { BrowserUtils } from '@azure/msal-browser';\nimport { storeCurrentPath } from '../redirect/LocalRedirectUrlStorage';\nimport { whitelistedPaths } from './whitelistedPaths';\nexport type LoginFunction = () => void;\nexport type LogoutFunction = () => void;\n/**\n * Hook providing auth \"actions\" such as login/logout\n */\n\nexport const useLoginAction: LoginFunction = () => loginRedirect;\nexport const loginRedirect: () => void = () => {\n const signInAuthProvider = getSignInAuthProvider();\n signInAuthProvider.loginRedirect(getLoginRequest());\n};\n\nexport function useLogoutAction(): LogoutFunction {\n return async () => {\n const signInAuthProvider = getSignInAuthProvider();\n await signInAuthProvider.logoutRedirect({\n account: signInAuthProvider.getActiveAccount(),\n });\n };\n}\n\nexport async function acquireAccessToken(): Promise<string | void> {\n const signInAuthProvider = getSignInAuthProvider();\n const account = signInAuthProvider.getActiveAccount() ?? undefined;\n\n if (account) {\n return signInAuthProvider\n .acquireTokenSilent({ ...getTokenRequest(), account })\n .then((response) => {\n return response.accessToken;\n })\n .catch(async (error) => {\n const currentPathIsWhitelisted = whitelistedPaths.includes(\n window.location.pathname\n );\n if (!currentPathIsWhitelisted) {\n signInAuthProvider.loginRedirect(getLoginRequest());\n }\n });\n }\n}\n","import React from \"react\";\nimport { acquireAccessToken } from './auth/authActions';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { getStoredTenant } from './storage/UnitySessionStorage';\nimport { useSnackbar } from 'notistack';\nimport { Button } from '@material-ui/core';\nimport { useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nexport const getMergedConfig = (accessToken, config) => {\n const headers = config?.headers ?? {};\n\n headers.currentTenantId ||= getStoredTenant();\n if (accessToken) headers.Authorization ||= `Bearer ${accessToken}`;\n\n config.headers = headers;\n return config;\n};\n\nexport const handleResponseErrors = async (error) => {\n if (error?.response?.status === 401) {\n await acquireAccessToken();\n }\n};\n\nexport const getAccessToken = async () => {\n return await acquireAccessToken();\n};\n\n/**\n * Checks to make sure the error isn't cancelled, if so just return w/o doing anything\n *Otherwise call a pre-method, create a snackbar, then call a post-method\n *preCallBack returns a bool, true = show snackbar\n */\nexport const useHandleAxiosSnackbar = () => {\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n\n const dismissSnackbar = useCallback(\n (key, callback) => {\n closeSnackbar(key);\n callback?.();\n },\n [closeSnackbar]\n );\n\n const handleErrorSnackbar = useCallback(\n (error, customMessage, preCallBack, callback) => {\n const fallbackErrorMessage = 'Error executing request';\n if (\n error?.toString()?.toLowerCase() === 'cancel' ||\n error?.code === 'ERR_CANCELED'\n )\n return;\n\n // Don't call the preCallback unless we actually failed.\n const showSnackBar = preCallBack?.();\n if (preCallBack && !showSnackBar) return;\n\n let errorMessage =\n customMessage ??\n (error?.response?.data || error?.message || fallbackErrorMessage);\n if (\n typeof errorMessage !== 'string' ||\n !errorMessage ||\n errorMessage.length === 0\n ) {\n errorMessage = fallbackErrorMessage;\n }\n\n enqueueSnackbar(errorMessage, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n )\n });\n\n callback?.();\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n const handleSuccessSnackbar = useCallback(\n (message, preCallBack, callback, navigationPath, buttonText) => {\n const fallbackSuccessMessage = 'Executed request successfully';\n const showMessage = preCallBack?.();\n if (preCallBack && !showMessage) return;\n\n let successMessage = message ?? fallbackSuccessMessage;\n if (\n typeof successMessage !== 'string' ||\n !successMessage ||\n successMessage.length === 0\n ) {\n successMessage = fallbackSuccessMessage;\n }\n\n const options = {\n variant: 'default',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <>\n {navigationPath && (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n history.push(navigationPath);\n dismissSnackbar(key);\n }}\n >\n {buttonText? buttonText : 'Go to page'}\n </Button>\n )}\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n </>\n )\n };\n\n enqueueSnackbar(successMessage, options);\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n return { handleErrorSnackbar, handleSuccessSnackbar };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"apiHelpers-CMlmFUix.js","names":[],"sources":["../src/utilities/auth/signInAuthProvider.js","../src/utilities/auth/whitelistedPaths.js","../src/utilities/auth/authActions.ts","../src/utilities/apiHelpers.jsx"],"sourcesContent":["import { PublicClientApplication, EventType } from '@azure/msal-browser';\nimport { ConfigService } from '../../configService';\n\nlet signInAuthProviderInstance = null;\nlet loginRequestInstance = null;\nlet tokenRequestInstance = null;\nlet apiAccessScopeValue = null;\n\nexport async function initSignInAuthProvider() {\n if (signInAuthProviderInstance) {\n return; // Already initialized\n }\n\n const PUBLIC_URL = new URL(\n import.meta.env.BASE_URL || '/',\n window.location.origin\n ).href.replace(/\\/$/, '');\n\n const REDIRECT_URL_BASE = ConfigService.config.USE_AAD_REDIRECT\n ? ConfigService.config.UNITY_URL\n : PUBLIC_URL;\n\n if (!ConfigService.config.MSAL_TENANT)\n throw new Error('MSAL_TENANT not configured');\n if (!ConfigService.config.MSAL_CLIENT_ID)\n throw new Error('MSAL_CLIENT_ID not configured');\n\n const tenant = ConfigService.config.MSAL_TENANT;\n\n // Determine idp_target and id_token_hint for Unified Policy\n const currentPath = window.location.pathname;\n const searchParams = new URLSearchParams(window.location.search);\n\n let domainHint = searchParams.get('domain_hint');\n\n if (currentPath === '/sso/entra') {\n domainHint = 'entra';\n }\n\n if (currentPath === '/sso/entra') {\n domainHint = 'entra';\n window.history.replaceState(null, '', '/');\n }\n\n const idTokenHint = searchParams.get('id_token_hint');\n\n const signInPolicy = ConfigService.config.SIGN_IN_POLICY;\n\n const applicationID = ConfigService.config.MSAL_CLIENT_ID;\n const reactRedirectUri = `${REDIRECT_URL_BASE}/${ConfigService.config.USE_AAD_REDIRECT ? 'aad_redirect' : 'aad_callback'\n }`;\n const tenantSubdomain = tenant.split('.')[0];\n const instance = `https://${tenantSubdomain}.b2clogin.com/`;\n const signInAuthority = `${instance}${tenant}/${signInPolicy}`;\n apiAccessScopeValue = `https://${tenant}/${ConfigService.config.MSAL_API_ACCESS_SCOPE}`;\n\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n const msie11 = ua.indexOf('Trident/');\n const msedge = ua.indexOf('Edge/');\n const firefox = ua.indexOf('Firefox');\n const isIE = msie > 0 || msie11 > 0;\n const isEdge = msedge > 0;\n const isFirefox = firefox > 0; // Only needed if you need to support the redirect flow in Firefox incognito\n\n // Msal Configurations\n const signInConfig = {\n auth: {\n authority: signInAuthority,\n knownAuthorities: [`${tenantSubdomain}.b2clogin.com`],\n clientId: applicationID,\n redirectUri: reactRedirectUri,\n postLogoutRedirectUri: PUBLIC_URL + '/',\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: 'sessionStorage',\n storeAuthStateInCookie: isIE || isEdge || isFirefox,\n },\n system: {\n allowRedirectInIframe: true,\n },\n };\n\n signInAuthProviderInstance = new PublicClientApplication(signInConfig);\n\n await signInAuthProviderInstance.initialize();\n\n if (\n !signInAuthProviderInstance.getActiveAccount() &&\n signInAuthProviderInstance.getAllAccounts().length > 0\n ) {\n signInAuthProviderInstance.setActiveAccount(\n signInAuthProviderInstance.getAllAccounts()[0]\n );\n }\n\n // Check if the active account is an Entra account to set the hint\n const activeAccount = signInAuthProviderInstance.getActiveAccount();\n if (activeAccount && !domainHint) {\n const idp = activeAccount.idTokenClaims?.idp;\n if (idp && idp.includes('login.microsoftonline.com')) {\n domainHint = 'entra';\n }\n }\n\n signInAuthProviderInstance.addEventCallback((event) => {\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload.account) {\n const account = event.payload.account;\n signInAuthProviderInstance.setActiveAccount(account);\n }\n });\n\n tokenRequestInstance = { scopes: [apiAccessScopeValue] };\n\n loginRequestInstance = {\n scopes: [apiAccessScopeValue, 'openid', 'offline_access'],\n state: `${PUBLIC_URL}/aad_callback`,\n extraQueryParameters: {\n ...(idTokenHint && { id_token_hint: idTokenHint, flow: 'redeem' }),\n ...(domainHint && !idTokenHint && { domain_hint: 'entra' }),\n },\n };\n}\n\nexport const getSignInAuthProvider = () => {\n if (!signInAuthProviderInstance) {\n throw new Error(\n 'signInAuthProvider is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return signInAuthProviderInstance;\n};\n\nexport const getLoginRequest = () => {\n if (!loginRequestInstance) {\n throw new Error(\n 'loginRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return loginRequestInstance;\n};\n\nexport const getTokenRequest = () => {\n if (!tokenRequestInstance) {\n throw new Error(\n 'tokenRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return tokenRequestInstance;\n};\n\nexport const getApiAccessScope = () => {\n if (!apiAccessScopeValue) {\n throw new Error(\n 'apiAccessScope is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return apiAccessScopeValue;\n};\n","import { UdpPageEnums } from \"../../enums/pageEnums\";\n\nexport const whitelistedPaths = [\n '/verify', \n `/page/${UdpPageEnums.Udp_Public_Forms_Page}`, // Public forms page\n '/aad_redirect',\n '/passwordresetsuccess'\n];\n","import {\n getSignInAuthProvider,\n getTokenRequest,\n getLoginRequest,\n} from './signInAuthProvider';\nimport { BrowserUtils } from '@azure/msal-browser';\nimport { storeCurrentPath } from '../redirect/LocalRedirectUrlStorage';\nimport { whitelistedPaths } from './whitelistedPaths';\nexport type LoginFunction = () => void;\nexport type LogoutFunction = () => void;\n/**\n * Hook providing auth \"actions\" such as login/logout\n */\n\nexport const useLoginAction: LoginFunction = () => loginRedirect;\nexport const loginRedirect: () => void = () => {\n const signInAuthProvider = getSignInAuthProvider();\n signInAuthProvider.loginRedirect(getLoginRequest());\n};\n\nexport function useLogoutAction(): LogoutFunction {\n return async () => {\n const signInAuthProvider = getSignInAuthProvider();\n await signInAuthProvider.logoutRedirect({\n account: signInAuthProvider.getActiveAccount(),\n });\n };\n}\n\nexport async function acquireAccessToken(): Promise<string | void> {\n const signInAuthProvider = getSignInAuthProvider();\n const account = signInAuthProvider.getActiveAccount() ?? undefined;\n\n if (account) {\n return signInAuthProvider\n .acquireTokenSilent({ ...getTokenRequest(), account })\n .then((response) => {\n return response.accessToken;\n })\n .catch(async (error) => {\n const currentPathIsWhitelisted = whitelistedPaths.includes(\n window.location.pathname\n );\n if (!currentPathIsWhitelisted) {\n signInAuthProvider.loginRedirect(getLoginRequest());\n }\n });\n }\n}\n","import React from \"react\";\nimport { acquireAccessToken } from './auth/authActions';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { getStoredTenant } from './storage/UnitySessionStorage';\nimport { useSnackbar } from 'notistack';\nimport { Button } from '@material-ui/core';\nimport { useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nexport const getMergedConfig = (accessToken, config) => {\n const headers = config?.headers ?? {};\n\n headers.currentTenantId ||= getStoredTenant();\n if (accessToken) headers.Authorization ||= `Bearer ${accessToken}`;\n\n config.headers = headers;\n return config;\n};\n\nexport const handleResponseErrors = async (error) => {\n if (error?.response?.status === 401) {\n await acquireAccessToken();\n }\n};\n\nexport const getAccessToken = async () => {\n return await acquireAccessToken();\n};\n\n/**\n * Checks to make sure the error isn't cancelled, if so just return w/o doing anything\n *Otherwise call a pre-method, create a snackbar, then call a post-method\n *preCallBack returns a bool, true = show snackbar\n */\nexport const useHandleAxiosSnackbar = () => {\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n\n const dismissSnackbar = useCallback(\n (key, callback) => {\n closeSnackbar(key);\n callback?.();\n },\n [closeSnackbar]\n );\n\n const handleErrorSnackbar = useCallback(\n (error, customMessage, preCallBack, callback) => {\n const fallbackErrorMessage = 'Error executing request';\n if (\n error?.toString()?.toLowerCase() === 'cancel' ||\n error?.code === 'ERR_CANCELED'\n )\n return;\n\n // Don't call the preCallback unless we actually failed.\n const showSnackBar = preCallBack?.();\n if (preCallBack && !showSnackBar) return;\n\n let errorMessage =\n customMessage ??\n (error?.response?.data || error?.message || fallbackErrorMessage);\n if (\n typeof errorMessage !== 'string' ||\n !errorMessage ||\n errorMessage.length === 0\n ) {\n errorMessage = fallbackErrorMessage;\n }\n\n enqueueSnackbar(errorMessage, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n )\n });\n\n callback?.();\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n const handleSuccessSnackbar = useCallback(\n (message, preCallBack, callback, navigationPath, buttonText) => {\n const fallbackSuccessMessage = 'Executed request successfully';\n const showMessage = preCallBack?.();\n if (preCallBack && !showMessage) return;\n\n let successMessage = message ?? fallbackSuccessMessage;\n if (\n typeof successMessage !== 'string' ||\n !successMessage ||\n successMessage.length === 0\n ) {\n successMessage = fallbackSuccessMessage;\n }\n\n const options = {\n variant: 'default',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <>\n {navigationPath && (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n history.push(navigationPath);\n dismissSnackbar(key);\n }}\n >\n {buttonText? buttonText : 'Go to page'}\n </Button>\n )}\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n </>\n )\n };\n\n enqueueSnackbar(successMessage, options);\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n return { handleErrorSnackbar, handleSuccessSnackbar };\n};\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { a as acquireAccessToken, c as useLogoutAction } from "./apiHelpers-WIR8pqy0.js";
1
+ import { a as acquireAccessToken, c as useLogoutAction } from "./apiHelpers-CMlmFUix.js";
2
2
  import { t as clearStoredTenant } from "./UnitySessionStorage-CUDx9YWR.js";
3
3
  import { t as clearStoredPath } from "./LocalRedirectUrlStorage-Bxz8TI-X.js";
4
4
  import { t as clearStoredExternalPath } from "./ExternalRedirectUrlStorage-BM-nmI4x.js";
5
- import { t as AuthProvider } from "./AuthProvider-J79EBNDc.js";
5
+ import { t as AuthProvider } from "./AuthProvider-DtiKAaWb.js";
6
6
  import React, { useState } from "react";
7
7
 
8
8
  //#region src/utilities/auth/AuthProviderWrapper.jsx
@@ -35,4 +35,4 @@ const useAccessToken = () => {
35
35
 
36
36
  //#endregion
37
37
  export { useSingleLogout as n, AuthProviderWrapper as r, useAccessToken as t };
38
- //# sourceMappingURL=auth-BWJ4-JF-.js.map
38
+ //# sourceMappingURL=auth-09twu9dt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-BWJ4-JF-.js","names":[],"sources":["../src/utilities/auth/AuthProviderWrapper.jsx","../src/utilities/auth/useSingleLogout.ts","../src/utilities/auth/useAccessToken.js"],"sourcesContent":["import React from 'react';\n// import { LocalAuthProvider } from './LocalAuthProvider';\nimport { AuthProvider } from './AuthProvider';\n\nexport const AuthProviderWrapper = props => {\n const { children } = props;\n\n return <AuthProvider {...props}> {children}</AuthProvider>\n\n};\n","import 'react';\nimport { clearStoredPath } from '../redirect/LocalRedirectUrlStorage';\nimport { clearStoredExternalPath } from '../redirect/ExternalRedirectUrlStorage';\nimport {clearStoredTenant} from '../storage/UnitySessionStorage'\nimport {useLogoutAction} from './authActions';\n\nexport const useSingleLogout: () => () => void = () => {\n const logout = useLogoutAction();\n return () => {\n clearStoredPath();\n clearStoredExternalPath();\n clearStoredTenant();\n logout()\n }\n\n};\n","import { useState } from 'react';\nimport { acquireAccessToken } from './authActions';\n\nexport const useAccessToken = () => {\n const [accessToken, setAccessToken] = useState(null);\n\n acquireAccessToken().then((token) => {\n if (accessToken !== token) {\n setAccessToken(token);\n }\n });\n\n return accessToken;\n};\n"],"mappings":";;;;;;;;AAIA,MAAa,uBAAsB,UAAS;CAC1C,MAAM,EAAE,aAAa;AAErB,QAAO,oCAAC,cAAiB,OAAO,KAAE,SAAwB;;;;;ACD5D,MAAa,wBAA0C;CACrD,MAAM,SAAS,iBAAiB;AAChC,cAAa;AACX,mBAAiB;AACjB,2BAAyB;AACzB,qBAAmB;AACnB,UAAQ;;;;;;ACTZ,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;AAEpD,qBAAoB,CAAC,MAAM,UAAU;AACnC,MAAI,gBAAgB,MAClB,gBAAe,MAAM;GAEvB;AAEF,QAAO"}
1
+ {"version":3,"file":"auth-09twu9dt.js","names":[],"sources":["../src/utilities/auth/AuthProviderWrapper.jsx","../src/utilities/auth/useSingleLogout.ts","../src/utilities/auth/useAccessToken.js"],"sourcesContent":["import React from 'react';\n// import { LocalAuthProvider } from './LocalAuthProvider';\nimport { AuthProvider } from './AuthProvider';\n\nexport const AuthProviderWrapper = props => {\n const { children } = props;\n\n return <AuthProvider {...props}> {children}</AuthProvider>\n\n};\n","import 'react';\nimport { clearStoredPath } from '../redirect/LocalRedirectUrlStorage';\nimport { clearStoredExternalPath } from '../redirect/ExternalRedirectUrlStorage';\nimport {clearStoredTenant} from '../storage/UnitySessionStorage'\nimport {useLogoutAction} from './authActions';\n\nexport const useSingleLogout: () => () => void = () => {\n const logout = useLogoutAction();\n return () => {\n clearStoredPath();\n clearStoredExternalPath();\n clearStoredTenant();\n logout()\n }\n\n};\n","import { useState } from 'react';\nimport { acquireAccessToken } from './authActions';\n\nexport const useAccessToken = () => {\n const [accessToken, setAccessToken] = useState(null);\n\n acquireAccessToken().then((token) => {\n if (accessToken !== token) {\n setAccessToken(token);\n }\n });\n\n return accessToken;\n};\n"],"mappings":";;;;;;;;AAIA,MAAa,uBAAsB,UAAS;CAC1C,MAAM,EAAE,aAAa;AAErB,QAAO,oCAAC,cAAiB,OAAO,KAAE,SAAwB;;;;;ACD5D,MAAa,wBAA0C;CACrD,MAAM,SAAS,iBAAiB;AAChC,cAAa;AACX,mBAAiB;AACjB,2BAAyB;AACzB,qBAAmB;AACnB,UAAQ;;;;;;ACTZ,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;AAEpD,qBAAoB,CAAC,MAAM,UAAU;AACnC,MAAI,gBAAgB,MAClB,gBAAe,MAAM;GAEvB;AAEF,QAAO"}
@@ -1,4 +1,4 @@
1
- import { l as whitelistedPaths, n as getMergedConfig, t as getAccessToken } from "./apiHelpers-WIR8pqy0.js";
1
+ import { l as whitelistedPaths, n as getMergedConfig, t as getAccessToken } from "./apiHelpers-CMlmFUix.js";
2
2
  import Axios from "axios";
3
3
 
4
4
  //#region src/utilities/axiosInterceptors.js
@@ -25,4 +25,4 @@ var axiosInterceptors_default = axiosInterceptors;
25
25
 
26
26
  //#endregion
27
27
  export { axiosInterceptors_default as t };
28
- //# sourceMappingURL=axiosInterceptors-MZ6xeLRS.js.map
28
+ //# sourceMappingURL=axiosInterceptors-C27H4uT-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"axiosInterceptors-MZ6xeLRS.js","names":[],"sources":["../src/utilities/axiosInterceptors.js"],"sourcesContent":["import Axios from 'axios';\nimport { getAccessToken, getMergedConfig } from './apiHelpers';\nimport { whitelistedPaths } from './auth/whitelistedPaths';\n\nconst axiosInterceptors = () => {\n Axios.interceptors.request.use(\n async (config) => {\n // don't want to change the access token if it's already there, this rule is already applied in getMergedConfig\n // we don't want to call getAccessToken until it is actually need it because it might log the user out\n if (!whitelistedPaths.includes(window.location.pathname)) {\n let accessToken = '';\n if(!config?.headers?.Authorization){\n accessToken = await getAccessToken()\n }\n return getMergedConfig(accessToken, config);\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n Axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const config = error?.config;\n if (\n error?.response?.status === 401 &&\n !config?._retry &&\n !whitelistedPaths.includes(window.location.pathname)\n ) {\n config.headers.Authorization = `Bearer ${await getAccessToken()}`;\n config._retry = true;\n\n return Axios(config);\n }\n\n return Promise.reject(error);\n }\n );\n};\n\nexport default axiosInterceptors;\n"],"mappings":";;;;AAIA,MAAM,0BAA0B;AAC9B,OAAM,aAAa,QAAQ,IACzB,OAAO,WAAW;AAGhB,MAAI,CAAC,iBAAiB,SAAS,OAAO,SAAS,SAAS,EAAE;GACxD,IAAI,cAAc;AAClB,OAAG,CAAC,QAAQ,SAAS,cACnB,eAAc,MAAM,gBAAgB;AAEtC,UAAO,gBAAgB,aAAa,OAAO;;AAE7C,SAAO;KAER,UAAU,QAAQ,OAAO,MAAM,CACjC;AAED,OAAM,aAAa,SAAS,KACzB,aAAa,UACd,OAAO,UAAU;EACf,MAAM,SAAS,OAAO;AACtB,MACE,OAAO,UAAU,WAAW,OAC5B,CAAC,QAAQ,UACT,CAAC,iBAAiB,SAAS,OAAO,SAAS,SAAS,EACpD;AACA,UAAO,QAAQ,gBAAgB,UAAU,MAAM,gBAAgB;AAC/D,UAAO,SAAS;AAEhB,UAAO,MAAM,OAAO;;AAGtB,SAAO,QAAQ,OAAO,MAAM;GAE/B;;AAGH,gCAAe"}
1
+ {"version":3,"file":"axiosInterceptors-C27H4uT-.js","names":[],"sources":["../src/utilities/axiosInterceptors.js"],"sourcesContent":["import Axios from 'axios';\nimport { getAccessToken, getMergedConfig } from './apiHelpers';\nimport { whitelistedPaths } from './auth/whitelistedPaths';\n\nconst axiosInterceptors = () => {\n Axios.interceptors.request.use(\n async (config) => {\n // don't want to change the access token if it's already there, this rule is already applied in getMergedConfig\n // we don't want to call getAccessToken until it is actually need it because it might log the user out\n if (!whitelistedPaths.includes(window.location.pathname)) {\n let accessToken = '';\n if(!config?.headers?.Authorization){\n accessToken = await getAccessToken()\n }\n return getMergedConfig(accessToken, config);\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n Axios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const config = error?.config;\n if (\n error?.response?.status === 401 &&\n !config?._retry &&\n !whitelistedPaths.includes(window.location.pathname)\n ) {\n config.headers.Authorization = `Bearer ${await getAccessToken()}`;\n config._retry = true;\n\n return Axios(config);\n }\n\n return Promise.reject(error);\n }\n );\n};\n\nexport default axiosInterceptors;\n"],"mappings":";;;;AAIA,MAAM,0BAA0B;AAC9B,OAAM,aAAa,QAAQ,IACzB,OAAO,WAAW;AAGhB,MAAI,CAAC,iBAAiB,SAAS,OAAO,SAAS,SAAS,EAAE;GACxD,IAAI,cAAc;AAClB,OAAG,CAAC,QAAQ,SAAS,cACnB,eAAc,MAAM,gBAAgB;AAEtC,UAAO,gBAAgB,aAAa,OAAO;;AAE7C,SAAO;KAER,UAAU,QAAQ,OAAO,MAAM,CACjC;AAED,OAAM,aAAa,SAAS,KACzB,aAAa,UACd,OAAO,UAAU;EACf,MAAM,SAAS,OAAO;AACtB,MACE,OAAO,UAAU,WAAW,OAC5B,CAAC,QAAQ,UACT,CAAC,iBAAiB,SAAS,OAAO,SAAS,SAAS,EACpD;AACA,UAAO,QAAQ,gBAAgB,UAAU,MAAM,gBAAgB;AAC/D,UAAO,SAAS;AAEhB,UAAO,MAAM,OAAO;;AAGtB,SAAO,QAAQ,OAAO,MAAM;GAE/B;;AAGH,gCAAe"}
@@ -1,6 +1,6 @@
1
1
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
2
2
  import { t as useUser } from "./useUser-wpHGo6jU.js";
3
- import { t as useAxiosGet } from "./useAxiosGet-CYnt6Hd0.js";
3
+ import { t as useAxiosGet } from "./useAxiosGet-B3uusywz.js";
4
4
  import { t as amcharts_exports } from "./amcharts-wdRwq2UE.js";
5
5
  import React, { useMemo } from "react";
6
6
 
@@ -80,4 +80,4 @@ const InsightRenderer = (props) => {
80
80
 
81
81
  //#endregion
82
82
  export { InsightRenderer as t };
83
- //# sourceMappingURL=charts--rJXTRtu.js.map
83
+ //# sourceMappingURL=charts-CPeB-__9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"charts--rJXTRtu.js","names":["UdpCharts"],"sources":["../src/UI/charts/InsightRenderer.tsx"],"sourcesContent":["import React, { useMemo, useState, useEffect } from 'react';\nimport * as UdpCharts from './amcharts';\nimport { Insight, InsightTypeField, InsightTypeProperties } from './types';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport QueryResult from '../../models/QueryResult';\nimport { ConfigService } from '../../configService';\nexport type UdpChart =\n | 'UdpBarChart'\n | 'UdpDonutChart'\n | 'UdpLineChart'\n | 'UdpDistributionChart';\nexport interface InsightRendererProps {\n insight: Insight | undefined;\n data: QueryResult | undefined;\n insightId: string | undefined;\n}\n\nconst capitilizeFirstLetter = (s: string): string =>\n s?.charAt?.(0)?.toUpperCase?.() + s?.slice?.(1);\nconst decapitilizeFirstLetter = (s: string): string =>\n s?.charAt?.(0)?.toLowerCase?.() + s?.slice?.(1);\n\nfunction getAggregateValue<T>(data: QueryResult | undefined, key: string): T {\n return data?.aggregateResults?.[0]?.[key] as T;\n}\n/**\n * InsightRenderer component\n *\n * This component is responsible for rendering insights based on the provided props.\n *\n * @prop {Insight} `insight` - The insight metadata\n * @prop {any} `data` - Search results associated with the insight\n * @prop {string} `insightId` - InsightId, if included the component will get the data from server\n * @returns {JSX.Element} - The rendered insight component.\n */\nexport const InsightRenderer: React.FC<InsightRendererProps> = (props: InsightRendererProps) => {\n const { insight: insightProp, data, insightId } = props;\n const user = useUser();\n const [{ data: loadedInsight }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `Insight/${insightId}/Full`,\n {},\n !insightId || !user\n ) as unknown as [{ data: Insight }];\n\n // Use the insight passed in or the insightId\n const insight = useMemo(() => {\n if (!!insightId) return loadedInsight;\n else return insightProp;\n }, [loadedInsight, insightId, insightProp]);\n\n // determine chart component\n const Chart = useMemo(() => {\n if (!insight?.insightInsightType?.properties) return null;\n let properties: InsightTypeProperties;\n if (typeof insight?.insightInsightType?.properties === 'string') {\n properties = JSON.parse(\n insight?.insightInsightType?.properties as unknown as string\n ) as InsightTypeProperties;\n } else {\n properties = insight?.insightInsightType?.properties;\n }\n // @ts-ignore\n return UdpCharts?.[properties?.component];\n }, [insight?.insightInsightType]);\n\n const kpis:\n | { value?: string; label?: string; active?: boolean }[]\n | undefined = useMemo(() => {\n if (insight == null) return undefined;\n return insight?.insightInsightKpi?.map?.((kpi) => {\n const kpiField: { operation?: string; property?: string } =\n typeof kpi.field === 'object' ? kpi.field : JSON.parse(kpi.field);\n console.log(kpiField);\n return {\n label: kpi.label,\n active: kpi.active,\n value: getAggregateValue<string>(\n data,\n `${\n decapitilizeFirstLetter(kpiField.property ?? '') ?? ''\n }${capitilizeFirstLetter(kpiField.operation?.toLowerCase() ?? '')}`\n )\n };\n });\n }, [data, insight?.insightInsightKpi]);\n\n const dataConfig: { [key: string]: any } | null = useMemo(() => {\n if (insight == null) return null;\n const dataMapping: {\n name: string;\n value: { name: string; operation: string | undefined };\n alias?: string;\n }[] =\n typeof insight.dataMapping === 'object'\n ? insight.dataMapping\n : JSON.parse(insight.dataMapping ?? '{}');\n const dataFields: InsightTypeField[] =\n typeof insight.insightInsightType?.dataFields === 'object'\n ? insight.insightInsightType?.dataFields\n : JSON.parse(insight.insightInsightType?.dataFields ?? '{}');\n\n return dataFields?.reduce?.((value: { [key: string]: any }, field) => {\n const fieldValue = dataMapping?.find?.(\n (dm) => dm.name === field.name\n )?.value;\n if (fieldValue?.operation != undefined) {\n value[field.name] =\n decapitilizeFirstLetter(fieldValue?.name) + fieldValue.operation;\n } else {\n // @ts-ignore\n value[field.name] = fieldValue?.alias ?? fieldValue?.name ?? fieldValue;\n }\n\n return value;\n }, {});\n }, [insight?.dataMapping, insight?.insightInsightType]);\n const combinedData = useMemo(() => {\n if (data?.aggregateResults == null || data?.aggregateResults?.length === 0)\n return data?.pageList;\n return data?.pageList.map((page, i) => ({\n ...page,\n ...data?.aggregateResults?.[i]\n }));\n }, [data]);\n if (Chart == null) return null;\n return (\n <Chart\n data={combinedData}\n title={insight?.title}\n subheader={insight?.subheader}\n {...dataConfig}\n kpis={kpis?.filter((kpi) => kpi.active)}\n />\n );\n};\n"],"mappings":";;;;;;;AAkBA,MAAM,yBAAyB,MAC7B,GAAG,SAAS,EAAE,EAAE,eAAe,GAAG,GAAG,QAAQ,EAAE;AACjD,MAAM,2BAA2B,MAC/B,GAAG,SAAS,EAAE,EAAE,eAAe,GAAG,GAAG,QAAQ,EAAE;AAEjD,SAAS,kBAAqB,MAA+B,KAAgB;AAC3E,QAAO,MAAM,mBAAmB,KAAK;;;;;;;;;;;;AAYvC,MAAa,mBAAmD,UAAgC;CAC9F,MAAM,EAAE,SAAS,aAAa,MAAM,cAAc;CAClD,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,EAAE,MAAM,mBAAmB,YAChC,cAAc,qBACd,WAAW,UAAU,QACrB,EAAE,EACF,CAAC,aAAa,CAAC,KAChB;CAGD,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,CAAC,UAAW,QAAO;MACnB,QAAO;IACX;EAAC;EAAe;EAAW;EAAY,CAAC;CAG3C,MAAM,QAAQ,cAAc;AAC1B,MAAI,CAAC,SAAS,oBAAoB,WAAY,QAAO;EACrD,IAAI;AACJ,MAAI,OAAO,SAAS,oBAAoB,eAAe,SACrD,cAAa,KAAK,MAChB,SAAS,oBAAoB,WAC9B;MAED,cAAa,SAAS,oBAAoB;AAG5C,SAAOA,mBAAY,YAAY;IAC9B,CAAC,SAAS,mBAAmB,CAAC;CAEjC,MAAM,OAEU,cAAc;AAC5B,MAAI,WAAW,KAAM,QAAO;AAC5B,SAAO,SAAS,mBAAmB,OAAO,QAAQ;GAChD,MAAM,WACJ,OAAO,IAAI,UAAU,WAAW,IAAI,QAAQ,KAAK,MAAM,IAAI,MAAM;AACnE,WAAQ,IAAI,SAAS;AACrB,UAAO;IACL,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,OAAO,kBACL,MACA,GACE,wBAAwB,SAAS,YAAY,GAAG,IAAI,KACnD,sBAAsB,SAAS,WAAW,aAAa,IAAI,GAAG,GAClE;IACF;IACD;IACD,CAAC,MAAM,SAAS,kBAAkB,CAAC;CAEtC,MAAM,aAA4C,cAAc;AAC9D,MAAI,WAAW,KAAM,QAAO;EAC5B,MAAM,cAKJ,OAAO,QAAQ,gBAAgB,WAC3B,QAAQ,cACR,KAAK,MAAM,QAAQ,eAAe,KAAK;AAM7C,UAJE,OAAO,QAAQ,oBAAoB,eAAe,WAC9C,QAAQ,oBAAoB,aAC5B,KAAK,MAAM,QAAQ,oBAAoB,cAAc,KAAK,GAE7C,UAAU,OAA+B,UAAU;GACpE,MAAM,aAAa,aAAa,QAC7B,OAAO,GAAG,SAAS,MAAM,KAC3B,EAAE;AACH,OAAI,YAAY,aAAa,OAC3B,OAAM,MAAM,QACV,wBAAwB,YAAY,KAAK,GAAG,WAAW;OAGzD,OAAM,MAAM,QAAQ,YAAY,SAAS,YAAY,QAAQ;AAG/D,UAAO;KACN,EAAE,CAAC;IACL,CAAC,SAAS,aAAa,SAAS,mBAAmB,CAAC;CACvD,MAAM,eAAe,cAAc;AACjC,MAAI,MAAM,oBAAoB,QAAQ,MAAM,kBAAkB,WAAW,EACvE,QAAO,MAAM;AACf,SAAO,MAAM,SAAS,KAAK,MAAM,OAAO;GACtC,GAAG;GACH,GAAG,MAAM,mBAAmB;GAC7B,EAAE;IACF,CAAC,KAAK,CAAC;AACV,KAAI,SAAS,KAAM,QAAO;AAC1B,QACE,oCAAC;EACC,MAAM;EACN,OAAO,SAAS;EAChB,WAAW,SAAS;EACpB,GAAI;EACJ,MAAM,MAAM,QAAQ,QAAQ,IAAI,OAAO;GACvC"}
1
+ {"version":3,"file":"charts-CPeB-__9.js","names":["UdpCharts"],"sources":["../src/UI/charts/InsightRenderer.tsx"],"sourcesContent":["import React, { useMemo, useState, useEffect } from 'react';\nimport * as UdpCharts from './amcharts';\nimport { Insight, InsightTypeField, InsightTypeProperties } from './types';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport QueryResult from '../../models/QueryResult';\nimport { ConfigService } from '../../configService';\nexport type UdpChart =\n | 'UdpBarChart'\n | 'UdpDonutChart'\n | 'UdpLineChart'\n | 'UdpDistributionChart';\nexport interface InsightRendererProps {\n insight: Insight | undefined;\n data: QueryResult | undefined;\n insightId: string | undefined;\n}\n\nconst capitilizeFirstLetter = (s: string): string =>\n s?.charAt?.(0)?.toUpperCase?.() + s?.slice?.(1);\nconst decapitilizeFirstLetter = (s: string): string =>\n s?.charAt?.(0)?.toLowerCase?.() + s?.slice?.(1);\n\nfunction getAggregateValue<T>(data: QueryResult | undefined, key: string): T {\n return data?.aggregateResults?.[0]?.[key] as T;\n}\n/**\n * InsightRenderer component\n *\n * This component is responsible for rendering insights based on the provided props.\n *\n * @prop {Insight} `insight` - The insight metadata\n * @prop {any} `data` - Search results associated with the insight\n * @prop {string} `insightId` - InsightId, if included the component will get the data from server\n * @returns {JSX.Element} - The rendered insight component.\n */\nexport const InsightRenderer: React.FC<InsightRendererProps> = (props: InsightRendererProps) => {\n const { insight: insightProp, data, insightId } = props;\n const user = useUser();\n const [{ data: loadedInsight }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `Insight/${insightId}/Full`,\n {},\n !insightId || !user\n ) as unknown as [{ data: Insight }];\n\n // Use the insight passed in or the insightId\n const insight = useMemo(() => {\n if (!!insightId) return loadedInsight;\n else return insightProp;\n }, [loadedInsight, insightId, insightProp]);\n\n // determine chart component\n const Chart = useMemo(() => {\n if (!insight?.insightInsightType?.properties) return null;\n let properties: InsightTypeProperties;\n if (typeof insight?.insightInsightType?.properties === 'string') {\n properties = JSON.parse(\n insight?.insightInsightType?.properties as unknown as string\n ) as InsightTypeProperties;\n } else {\n properties = insight?.insightInsightType?.properties;\n }\n // @ts-ignore\n return UdpCharts?.[properties?.component];\n }, [insight?.insightInsightType]);\n\n const kpis:\n | { value?: string; label?: string; active?: boolean }[]\n | undefined = useMemo(() => {\n if (insight == null) return undefined;\n return insight?.insightInsightKpi?.map?.((kpi) => {\n const kpiField: { operation?: string; property?: string } =\n typeof kpi.field === 'object' ? kpi.field : JSON.parse(kpi.field);\n console.log(kpiField);\n return {\n label: kpi.label,\n active: kpi.active,\n value: getAggregateValue<string>(\n data,\n `${\n decapitilizeFirstLetter(kpiField.property ?? '') ?? ''\n }${capitilizeFirstLetter(kpiField.operation?.toLowerCase() ?? '')}`\n )\n };\n });\n }, [data, insight?.insightInsightKpi]);\n\n const dataConfig: { [key: string]: any } | null = useMemo(() => {\n if (insight == null) return null;\n const dataMapping: {\n name: string;\n value: { name: string; operation: string | undefined };\n alias?: string;\n }[] =\n typeof insight.dataMapping === 'object'\n ? insight.dataMapping\n : JSON.parse(insight.dataMapping ?? '{}');\n const dataFields: InsightTypeField[] =\n typeof insight.insightInsightType?.dataFields === 'object'\n ? insight.insightInsightType?.dataFields\n : JSON.parse(insight.insightInsightType?.dataFields ?? '{}');\n\n return dataFields?.reduce?.((value: { [key: string]: any }, field) => {\n const fieldValue = dataMapping?.find?.(\n (dm) => dm.name === field.name\n )?.value;\n if (fieldValue?.operation != undefined) {\n value[field.name] =\n decapitilizeFirstLetter(fieldValue?.name) + fieldValue.operation;\n } else {\n // @ts-ignore\n value[field.name] = fieldValue?.alias ?? fieldValue?.name ?? fieldValue;\n }\n\n return value;\n }, {});\n }, [insight?.dataMapping, insight?.insightInsightType]);\n const combinedData = useMemo(() => {\n if (data?.aggregateResults == null || data?.aggregateResults?.length === 0)\n return data?.pageList;\n return data?.pageList.map((page, i) => ({\n ...page,\n ...data?.aggregateResults?.[i]\n }));\n }, [data]);\n if (Chart == null) return null;\n return (\n <Chart\n data={combinedData}\n title={insight?.title}\n subheader={insight?.subheader}\n {...dataConfig}\n kpis={kpis?.filter((kpi) => kpi.active)}\n />\n );\n};\n"],"mappings":";;;;;;;AAkBA,MAAM,yBAAyB,MAC7B,GAAG,SAAS,EAAE,EAAE,eAAe,GAAG,GAAG,QAAQ,EAAE;AACjD,MAAM,2BAA2B,MAC/B,GAAG,SAAS,EAAE,EAAE,eAAe,GAAG,GAAG,QAAQ,EAAE;AAEjD,SAAS,kBAAqB,MAA+B,KAAgB;AAC3E,QAAO,MAAM,mBAAmB,KAAK;;;;;;;;;;;;AAYvC,MAAa,mBAAmD,UAAgC;CAC9F,MAAM,EAAE,SAAS,aAAa,MAAM,cAAc;CAClD,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,EAAE,MAAM,mBAAmB,YAChC,cAAc,qBACd,WAAW,UAAU,QACrB,EAAE,EACF,CAAC,aAAa,CAAC,KAChB;CAGD,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,CAAC,UAAW,QAAO;MACnB,QAAO;IACX;EAAC;EAAe;EAAW;EAAY,CAAC;CAG3C,MAAM,QAAQ,cAAc;AAC1B,MAAI,CAAC,SAAS,oBAAoB,WAAY,QAAO;EACrD,IAAI;AACJ,MAAI,OAAO,SAAS,oBAAoB,eAAe,SACrD,cAAa,KAAK,MAChB,SAAS,oBAAoB,WAC9B;MAED,cAAa,SAAS,oBAAoB;AAG5C,SAAOA,mBAAY,YAAY;IAC9B,CAAC,SAAS,mBAAmB,CAAC;CAEjC,MAAM,OAEU,cAAc;AAC5B,MAAI,WAAW,KAAM,QAAO;AAC5B,SAAO,SAAS,mBAAmB,OAAO,QAAQ;GAChD,MAAM,WACJ,OAAO,IAAI,UAAU,WAAW,IAAI,QAAQ,KAAK,MAAM,IAAI,MAAM;AACnE,WAAQ,IAAI,SAAS;AACrB,UAAO;IACL,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,OAAO,kBACL,MACA,GACE,wBAAwB,SAAS,YAAY,GAAG,IAAI,KACnD,sBAAsB,SAAS,WAAW,aAAa,IAAI,GAAG,GAClE;IACF;IACD;IACD,CAAC,MAAM,SAAS,kBAAkB,CAAC;CAEtC,MAAM,aAA4C,cAAc;AAC9D,MAAI,WAAW,KAAM,QAAO;EAC5B,MAAM,cAKJ,OAAO,QAAQ,gBAAgB,WAC3B,QAAQ,cACR,KAAK,MAAM,QAAQ,eAAe,KAAK;AAM7C,UAJE,OAAO,QAAQ,oBAAoB,eAAe,WAC9C,QAAQ,oBAAoB,aAC5B,KAAK,MAAM,QAAQ,oBAAoB,cAAc,KAAK,GAE7C,UAAU,OAA+B,UAAU;GACpE,MAAM,aAAa,aAAa,QAC7B,OAAO,GAAG,SAAS,MAAM,KAC3B,EAAE;AACH,OAAI,YAAY,aAAa,OAC3B,OAAM,MAAM,QACV,wBAAwB,YAAY,KAAK,GAAG,WAAW;OAGzD,OAAM,MAAM,QAAQ,YAAY,SAAS,YAAY,QAAQ;AAG/D,UAAO;KACN,EAAE,CAAC;IACL,CAAC,SAAS,aAAa,SAAS,mBAAmB,CAAC;CACvD,MAAM,eAAe,cAAc;AACjC,MAAI,MAAM,oBAAoB,QAAQ,MAAM,kBAAkB,WAAW,EACvE,QAAO,MAAM;AACf,SAAO,MAAM,SAAS,KAAK,MAAM,OAAO;GACtC,GAAG;GACH,GAAG,MAAM,mBAAmB;GAC7B,EAAE;IACF,CAAC,KAAK,CAAC;AACV,KAAI,SAAS,KAAM,QAAO;AAC1B,QACE,oCAAC;EACC,MAAM;EACN,OAAO,SAAS;EAChB,WAAW,SAAS;EACpB,GAAI;EACJ,MAAM,MAAM,QAAQ,QAAQ,IAAI,OAAO;GACvC"}
@@ -1,3 +1,3 @@
1
- import { n as ChatMessage, t as ChatContainer } from "../ChatContainer-CXzPIP9R.js";
1
+ import { n as ChatMessage, t as ChatContainer } from "../ChatContainer-C5pau9eF.js";
2
2
 
3
3
  export { ChatContainer, ChatMessage };
@@ -2,9 +2,9 @@ import { a as plotX, i as plotCategoryBar, n as formatDataWithTimelineCategoryNa
2
2
  import { n as TimelineStatus, r as TimelineDateBar, t as MttYearTag } from "../../MttYearTag-Cw8OyKTy.js";
3
3
  import { t as TimelineToken } from "../../TimelineToken-nU7fdgjR.js";
4
4
  import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../DynamicRangeSlider-BX4kCzUd.js";
5
- import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../MttMainTimeline-DbaaXXQv.js";
6
- import { n as createTimeline, t as MttSummary } from "../../MttSummary-DNc71fHh.js";
7
- import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../CircleButton-CrvnPHDw.js";
5
+ import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../MttMainTimeline-CinommZ-.js";
6
+ import { n as createTimeline, t as MttSummary } from "../../MttSummary-C9BFDiPS.js";
7
+ import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../CircleButton-CwA9EAmx.js";
8
8
  import "./functions/index.js";
9
9
  import "./mttSummary/index.js";
10
10
  import "./ui/index.js";
@@ -1,3 +1,3 @@
1
- import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../../MttMainTimeline-DbaaXXQv.js";
1
+ import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../../MttMainTimeline-CinommZ-.js";
2
2
 
3
3
  export { HeightAdjuster, MttMainTimeline, MttTimeline };
@@ -1,3 +1,3 @@
1
- import { t as MttSummary } from "../../../MttSummary-DNc71fHh.js";
1
+ import { t as MttSummary } from "../../../MttSummary-C9BFDiPS.js";
2
2
 
3
3
  export { MttSummary };
@@ -1,6 +1,6 @@
1
1
  import { n as TimelineStatus, r as TimelineDateBar, t as MttYearTag } from "../../../MttYearTag-Cw8OyKTy.js";
2
2
  import { t as TimelineToken } from "../../../TimelineToken-nU7fdgjR.js";
3
3
  import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../../DynamicRangeSlider-BX4kCzUd.js";
4
- import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../../CircleButton-CrvnPHDw.js";
4
+ import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../../CircleButton-CwA9EAmx.js";
5
5
 
6
6
  export { CircleButton, DateWrapper, DynamicRangeSlider, MttYearTag, MultiDot, SummaryToken, TimelineDateBar, TimelineDot, TimelineHoverCard, TimelineNode, TimelinePreloaderNode, TimelineStatus, TimelineToggleButton, TimelineToken, TimelineTokenSummary, TimelineTopRowFilter, TimelineWrapper, VisualizationDot, useStyles };
@@ -1,3 +1,3 @@
1
- import { t as withEngineComponent } from "../../../withEngineComponent-Bcnxug3h.js";
1
+ import { t as withEngineComponent } from "../../../withEngineComponent-CoMj91Ad.js";
2
2
 
3
3
  export { withEngineComponent };
@@ -1,8 +1,8 @@
1
1
  import { t as useReadMetaData } from "../../useReadMetaData-CiWx4MJr.js";
2
- import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../BioCardWrapper-D1ZOHyA4.js";
2
+ import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../BioCardWrapper-CUuubD2U.js";
3
3
  import { n as defaultColActionsDef, t as TableColumnDefs } from "../../TableColumnDefs-BpaOx60h.js";
4
- import { t as withEngineComponent } from "../../withEngineComponent-Bcnxug3h.js";
5
- import { t as PageRenderer } from "../../PageRenderer-hxobUKe_.js";
4
+ import { t as withEngineComponent } from "../../withEngineComponent-CoMj91Ad.js";
5
+ import { t as PageRenderer } from "../../PageRenderer-BaE_3AVi.js";
6
6
  import "./wrappers/index.js";
7
7
  import "./utils/index.js";
8
8
  import "./hocs/index.js";
@@ -1,3 +1,3 @@
1
- import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../../BioCardWrapper-D1ZOHyA4.js";
1
+ import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../../BioCardWrapper-CUuubD2U.js";
2
2
 
3
3
  export { AgGridSimpleWrapper, BarChartWrapper, BioCardWrapper, DisplayCardWrapper, DonutWrapper, HistogramWrapper, LineGraphWrapper, PrimaryActionHeaderWrapper, barChartWrapperProps, data };