udp-react-enterprise-component-library 25.18.1-beta.10 → 25.18.1-beta.12

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 (413) hide show
  1. package/dist/{ActionProvider-CTn1qVWd.js → ActionProvider-MFZvkh4u.js} +6 -6
  2. package/dist/{ActionProvider-CTn1qVWd.js.map → ActionProvider-MFZvkh4u.js.map} +1 -1
  3. package/dist/{ActionSplitScreen-KVa5olgd.js → ActionSplitScreen-SncJFJJQ.js} +7 -7
  4. package/dist/{ActionSplitScreen-KVa5olgd.js.map → ActionSplitScreen-SncJFJJQ.js.map} +1 -1
  5. package/dist/{ActionWrapper-47uvDDnB.js → ActionWrapper-Dq45yDqo.js} +11 -11
  6. package/dist/{ActionWrapper-47uvDDnB.js.map → ActionWrapper-Dq45yDqo.js.map} +1 -1
  7. package/dist/{ActionsRenderer-BVfaUEx2.js → ActionsRenderer-B1ImXko3.js} +2 -2
  8. package/dist/{ActionsRenderer-BVfaUEx2.js.map → ActionsRenderer-B1ImXko3.js.map} +1 -1
  9. package/dist/{AggregateChip-BF6RL_4_.js → AggregateChip-BDugg_kG.js} +3 -3
  10. package/dist/{AggregateChip-BF6RL_4_.js.map → AggregateChip-BDugg_kG.js.map} +1 -1
  11. package/dist/{AmbientGridTemplate-CDj051YK.js → AmbientGridTemplate-BecuOnHe.js} +5 -5
  12. package/dist/{AmbientGridTemplate-CDj051YK.js.map → AmbientGridTemplate-BecuOnHe.js.map} +1 -1
  13. package/dist/{AppMenu-l9dxXKrP.js → AppMenu-B9CCWiY8.js} +3 -3
  14. package/dist/{AppMenu-l9dxXKrP.js.map → AppMenu-B9CCWiY8.js.map} +1 -1
  15. package/dist/{BaseTreeMenu-Bk4XZUCL.js → BaseTreeMenu-DitVfbeZ.js} +2 -2
  16. package/dist/{BaseTreeMenu-Bk4XZUCL.js.map → BaseTreeMenu-DitVfbeZ.js.map} +1 -1
  17. package/dist/{BioCardWrapper-DmS18Z9H.js → BioCardWrapper-CI0ZngTU.js} +3 -3
  18. package/dist/{BioCardWrapper-DmS18Z9H.js.map → BioCardWrapper-CI0ZngTU.js.map} +1 -1
  19. package/dist/{BulkActionsGridButton-C2Nwb7c6.js → BulkActionsGridButton-CSzHiVvH.js} +3 -3
  20. package/dist/{BulkActionsGridButton-C2Nwb7c6.js.map → BulkActionsGridButton-CSzHiVvH.js.map} +1 -1
  21. package/dist/{ChatContainer-BpN6e_Of.js → ChatContainer-CW2u13tF.js} +2 -2
  22. package/dist/{ChatContainer-BpN6e_Of.js.map → ChatContainer-CW2u13tF.js.map} +1 -1
  23. package/dist/{ChatUDP-DglX5k_O.js → ChatUDP-B7dgnKO0.js} +2 -2
  24. package/dist/{ChatUDP-DglX5k_O.js.map → ChatUDP-B7dgnKO0.js.map} +1 -1
  25. package/dist/{CoreLayoutFloorplan-C-4DdwJz.js → CoreLayoutFloorplan-xIdceY2Q.js} +2 -2
  26. package/dist/{CoreLayoutFloorplan-C-4DdwJz.js.map → CoreLayoutFloorplan-xIdceY2Q.js.map} +1 -1
  27. package/dist/{CrudForm-mWpBEuUw.js → CrudForm-DzmNPfVa.js} +6 -6
  28. package/dist/{CrudForm-mWpBEuUw.js.map → CrudForm-DzmNPfVa.js.map} +1 -1
  29. package/dist/{CrudTableSidePanel-CepOcRgl.js → CrudTableSidePanel-CXOSojmw.js} +4 -4
  30. package/dist/{CrudTableSidePanel-CepOcRgl.js.map → CrudTableSidePanel-CXOSojmw.js.map} +1 -1
  31. package/dist/{DataBrowserContainer-hkDvrMzs.js → DataBrowserContainer-DHE9PS3L.js} +7 -7
  32. package/dist/{DataBrowserContainer-hkDvrMzs.js.map → DataBrowserContainer-DHE9PS3L.js.map} +1 -1
  33. package/dist/{EntityHeader-Ddk4syVV.js → EntityHeader-y6CNHP0L.js} +3 -3
  34. package/dist/{EntityHeader-Ddk4syVV.js.map → EntityHeader-y6CNHP0L.js.map} +1 -1
  35. package/dist/{EntitySideBarContent-CBckqx1w.js → EntitySideBarContent-Bp0saKq_.js} +2 -2
  36. package/dist/{EntitySideBarContent-CBckqx1w.js.map → EntitySideBarContent-Bp0saKq_.js.map} +1 -1
  37. package/dist/{ExportSidesheet-DA6NzDsz.js → ExportSidesheet-DBww0zIt.js} +3 -3
  38. package/dist/{ExportSidesheet-DA6NzDsz.js.map → ExportSidesheet-DBww0zIt.js.map} +1 -1
  39. package/dist/{FieldArrayCard-tENUf1YA.js → FieldArrayCard-56TLTaZc.js} +3 -3
  40. package/dist/{FieldArrayCard-tENUf1YA.js.map → FieldArrayCard-56TLTaZc.js.map} +1 -1
  41. package/dist/{FluentProfileMenuCard-CMRsJxqq.js → FluentProfileMenuCard-CnUOy-ne.js} +8 -8
  42. package/dist/{FluentProfileMenuCard-CMRsJxqq.js.map → FluentProfileMenuCard-CnUOy-ne.js.map} +1 -1
  43. package/dist/{FluentSimpleSelect-kMQgny9h.js → FluentSimpleSelect-sDwSJFGU.js} +2 -2
  44. package/dist/{FluentSimpleSelect-kMQgny9h.js.map → FluentSimpleSelect-sDwSJFGU.js.map} +1 -1
  45. package/dist/{ImportDataFromFileMapping-kkCJEGIS.js → ImportDataFromFileMapping-CBKGm2pM.js} +6 -6
  46. package/dist/{ImportDataFromFileMapping-kkCJEGIS.js.map → ImportDataFromFileMapping-CBKGm2pM.js.map} +1 -1
  47. package/dist/{InputsExample-2z_6lbK2.js → InputsExample-ClC-vFVK.js} +1 -1
  48. package/dist/{InputsExample-2z_6lbK2.js.map → InputsExample-ClC-vFVK.js.map} +1 -1
  49. package/dist/{InsightRenderer-DU65aYRt.js → InsightRenderer-UkS3B5zg.js} +2 -2
  50. package/dist/{InsightRenderer-DU65aYRt.js.map → InsightRenderer-UkS3B5zg.js.map} +1 -1
  51. package/dist/{MapLayout-D_OmMd5_.js → MapLayout-D6hNVarS.js} +2 -2
  52. package/dist/{MapLayout-D_OmMd5_.js.map → MapLayout-D6hNVarS.js.map} +1 -1
  53. package/dist/{MenuPage-CM3gZWnB.js → MenuPage-B4ZN_tQt.js} +4 -4
  54. package/dist/{MenuPage-CM3gZWnB.js.map → MenuPage-B4ZN_tQt.js.map} +1 -1
  55. package/dist/{MenuPage-C8256rDe.js → MenuPage-HFTfG0b-.js} +10 -10
  56. package/dist/{MttMainTimeline-CO2XiVps.js → MttMainTimeline-CwttwjLy.js} +2 -2
  57. package/dist/{MttMainTimeline-CO2XiVps.js.map → MttMainTimeline-CwttwjLy.js.map} +1 -1
  58. package/dist/{MttSummary-DDb0TusU.js → MttSummary-Br4SrY1Q.js} +2 -2
  59. package/dist/{MttSummary-DDb0TusU.js.map → MttSummary-Br4SrY1Q.js.map} +1 -1
  60. package/dist/{MyExportsPage-tRTJ5QKs.js → MyExportsPage-Bw0ueYE_.js} +14 -14
  61. package/dist/{MyExportsPage-BAtFVaZg.js → MyExportsPage-lqTyApig.js} +7 -7
  62. package/dist/{MyExportsPage-BAtFVaZg.js.map → MyExportsPage-lqTyApig.js.map} +1 -1
  63. package/dist/{NotesScreen-DeWD6LVV.js → NotesScreen-COYYhVJJ.js} +5 -5
  64. package/dist/{NotesScreen-DeWD6LVV.js.map → NotesScreen-COYYhVJJ.js.map} +1 -1
  65. package/dist/{OutlookCallback-BETH8x2Z.js → OutlookCallback-BJmI0px0.js} +2 -2
  66. package/dist/{OutlookCallback-BETH8x2Z.js.map → OutlookCallback-BJmI0px0.js.map} +1 -1
  67. package/dist/{PageActionWrapper-BCK4anE9.js → PageActionWrapper-DuvcqQCs.js} +4 -4
  68. package/dist/{PageActionWrapper-BCK4anE9.js.map → PageActionWrapper-DuvcqQCs.js.map} +1 -1
  69. package/dist/{PageContainer-BgNeJt3S.js → PageContainer-N4d5KO-T.js} +2 -2
  70. package/dist/{PageContainer-BgNeJt3S.js.map → PageContainer-N4d5KO-T.js.map} +1 -1
  71. package/dist/{PageRenderer-DDEem1OJ.js → PageRenderer-ToHJXkJq.js} +2 -2
  72. package/dist/{PageRenderer-DDEem1OJ.js.map → PageRenderer-ToHJXkJq.js.map} +1 -1
  73. package/dist/{PaymentForm-C0Hvky2o.js → PaymentForm-D09B2VrH.js} +3 -3
  74. package/dist/{PaymentForm-C0Hvky2o.js.map → PaymentForm-D09B2VrH.js.map} +1 -1
  75. package/dist/{PaymentReversalForm-CYoR6QL5.js → PaymentReversalForm-BCACJcnX.js} +2 -2
  76. package/dist/{PaymentReversalForm-CYoR6QL5.js.map → PaymentReversalForm-BCACJcnX.js.map} +1 -1
  77. package/dist/{PowerBIReport-BQP0l17v.js → PowerBIReport-DzVNLdH0.js} +2 -2
  78. package/dist/{PowerBIReport-BQP0l17v.js.map → PowerBIReport-DzVNLdH0.js.map} +1 -1
  79. package/dist/{RejectIcon-yEBYxlIm.js → RejectIcon-9a6AQhFS.js} +1 -1
  80. package/dist/{RejectIcon-yEBYxlIm.js.map → RejectIcon-9a6AQhFS.js.map} +1 -1
  81. package/dist/{RemindersCard-BJvpNrnD.js → RemindersCard-EbJUUB54.js} +2 -2
  82. package/dist/{RemindersCard-BJvpNrnD.js.map → RemindersCard-EbJUUB54.js.map} +1 -1
  83. package/dist/{RemindersScreen--hs-M0hg.js → RemindersScreen-bwvsZOGc.js} +5 -5
  84. package/dist/{RemindersScreen--hs-M0hg.js.map → RemindersScreen-bwvsZOGc.js.map} +1 -1
  85. package/dist/{RemindersWidget-BcypyEI4.js → RemindersWidget-Uk_ZyAW-.js} +5 -5
  86. package/dist/{RemindersWidget-BcypyEI4.js.map → RemindersWidget-Uk_ZyAW-.js.map} +1 -1
  87. package/dist/{RequiredFieldsMappingForm-BTnefL8X.js → RequiredFieldsMappingForm-KwEaUAJ-.js} +2 -2
  88. package/dist/{RequiredFieldsMappingForm-BTnefL8X.js.map → RequiredFieldsMappingForm-KwEaUAJ-.js.map} +1 -1
  89. package/dist/{Shell-DxRVAjoc.js → Shell-BnKSMfKq.js} +6 -6
  90. package/dist/{Shell-DxRVAjoc.js.map → Shell-BnKSMfKq.js.map} +1 -1
  91. package/dist/{ShortcutContentFinder-DV4VXUyJ.js → ShortcutContentFinder-MyXbDeFJ.js} +3 -3
  92. package/dist/{ShortcutContentFinder-DV4VXUyJ.js.map → ShortcutContentFinder-MyXbDeFJ.js.map} +1 -1
  93. package/dist/{SimpleTable-qZ0yJQ7F.js → SimpleTable-BMjywRbx.js} +1 -1
  94. package/dist/{SimpleTable-qZ0yJQ7F.js.map → SimpleTable-BMjywRbx.js.map} +1 -1
  95. package/dist/{StatusCellRenderer-DK3MexwY.js → StatusCellRenderer-DOYDkiZu.js} +1 -1
  96. package/dist/{StatusCellRenderer-DK3MexwY.js.map → StatusCellRenderer-DOYDkiZu.js.map} +1 -1
  97. package/dist/{SupportCaseSideSheet-_IBBlr08.js → SupportCaseSideSheet-D5VyeXgu.js} +5 -5
  98. package/dist/{SupportCaseSideSheet-DNXocqwx.js → SupportCaseSideSheet-DPfapAFC.js} +2 -2
  99. package/dist/{SupportCaseSideSheet-DNXocqwx.js.map → SupportCaseSideSheet-DPfapAFC.js.map} +1 -1
  100. package/dist/{TableContainer-CNI8NNy2.js → TableContainer-B4aFO7ly.js} +4 -4
  101. package/dist/{TableContainer-CNI8NNy2.js.map → TableContainer-B4aFO7ly.js.map} +1 -1
  102. package/dist/{TenantProvider-DLI5riri.js → TenantProvider-rYWrO7y7.js} +2 -2
  103. package/dist/{TenantProvider-DLI5riri.js.map → TenantProvider-rYWrO7y7.js.map} +1 -1
  104. package/dist/UI/accordion/index.js +1 -1
  105. package/dist/UI/advancedSearchBuilder/index.js +1 -1
  106. package/dist/UI/charts/index.js +6 -6
  107. package/dist/UI/components/dataDisplay/index.js +1 -1
  108. package/dist/UI/components/feedback/index.js +1 -1
  109. package/dist/UI/components/index.js +3 -3
  110. package/dist/UI/containers/index.js +1 -1
  111. package/dist/UI/dataDisplay/FluentActivity/index.js +1 -1
  112. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  113. package/dist/UI/dataDisplay/entityHeader/index.js +11 -11
  114. package/dist/UI/dataDisplay/index.js +3 -3
  115. package/dist/UI/demos/index.js +2 -2
  116. package/dist/UI/feedback/index.js +1 -1
  117. package/dist/UI/fileViewer/index.js +1 -1
  118. package/dist/UI/floorplans/index.js +11 -11
  119. package/dist/UI/forms/index.js +12 -12
  120. package/dist/UI/iframe/index.js +1 -1
  121. package/dist/UI/index.js +64 -64
  122. package/dist/UI/inputs/fieldArrayCard/index.js +10 -10
  123. package/dist/UI/inputs/menus/index.js +5 -5
  124. package/dist/UI/loading/index.js +1 -1
  125. package/dist/UI/mapLayout/index.js +11 -11
  126. package/dist/UI/maps/index.js +2 -2
  127. package/dist/UI/navigation/index.js +11 -11
  128. package/dist/UI/navigation/menus/index.js +8 -8
  129. package/dist/UI/navigation/tabs/defaultTabs/index.js +1 -1
  130. package/dist/UI/navigation/tabs/index.js +2 -2
  131. package/dist/UI/property/index.js +1 -1
  132. package/dist/UI/stepper/index.js +1 -1
  133. package/dist/UI/support/index.js +6 -6
  134. package/dist/UI/surfaces/NestedGrid/index.js +2 -2
  135. package/dist/UI/surfaces/NestedGrid/ui/index.js +1 -1
  136. package/dist/UI/surfaces/cards/index.js +1 -1
  137. package/dist/UI/surfaces/index.js +4 -4
  138. package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +9 -9
  139. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +9 -9
  140. package/dist/UI/templates/index.js +1 -1
  141. package/dist/UI/templates/newGrid/index.js +9 -9
  142. package/dist/UI/templates/ui/renderers/index.js +3 -3
  143. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  144. package/dist/UI/timeline/index.js +2 -2
  145. package/dist/UI/utilityDisplay/alerts/index.js +11 -11
  146. package/dist/UI/utilityDisplay/index.js +17 -17
  147. package/dist/UI/utilityDisplay/ui/index.js +1 -1
  148. package/dist/UI/utilityDisplay/utilities/index.js +1 -1
  149. package/dist/UI/utilityDisplay/utilityHeader/index.js +1 -1
  150. package/dist/UI/widgets/FluentComponents/index.js +1 -1
  151. package/dist/UI/widgets/index.js +1 -1
  152. package/dist/UI/widgets/library/RemindersWidget/index.js +9 -9
  153. package/dist/UI/widgets/library/TableWidget/index.js +1 -1
  154. package/dist/{UdpAlertsContainer-DexXCrFZ.js → UdpAlertsContainer-DehnlBcE.js} +4 -4
  155. package/dist/{UdpAlertsContainer-DexXCrFZ.js.map → UdpAlertsContainer-DehnlBcE.js.map} +1 -1
  156. package/dist/{UdpAuditEvents-BOsP49Fy.js → UdpAuditEvents-Dsvqz2Ad.js} +2 -2
  157. package/dist/{UdpAuditEvents-BOsP49Fy.js.map → UdpAuditEvents-Dsvqz2Ad.js.map} +1 -1
  158. package/dist/{UdpAuditEventsPage-mfZsK6Up.js → UdpAuditEventsPage-BF-AXqwI.js} +18 -18
  159. package/dist/{UdpAuditEventsPage-DoA7iu8S.js → UdpAuditEventsPage-CUXXlLY1.js} +3 -3
  160. package/dist/{UdpAuditEventsPage-DoA7iu8S.js.map → UdpAuditEventsPage-CUXXlLY1.js.map} +1 -1
  161. package/dist/{UdpDataBrowserPage-cKFWzGRk.js → UdpDataBrowserPage-DIq--ak3.js} +10 -10
  162. package/dist/{UdpDataBrowserPage-cKFWzGRk.js.map → UdpDataBrowserPage-DIq--ak3.js.map} +1 -1
  163. package/dist/{UdpFormsBuilderPage-_oo5DGDq.js → UdpFormsBuilderPage-C1_7kI_t.js} +7 -5
  164. package/dist/{UdpFormsBuilderPage-_oo5DGDq.js.map → UdpFormsBuilderPage-C1_7kI_t.js.map} +1 -1
  165. package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js +295 -0
  166. package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js.map +1 -0
  167. package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js → UdpGridPanelManagementPage-Dk0miZ38.js} +5 -5
  168. package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js.map → UdpGridPanelManagementPage-Dk0miZ38.js.map} +1 -1
  169. package/dist/{UdpGridTemplate-jILzGANi.js → UdpGridTemplate-CodLjVVL.js} +2 -2
  170. package/dist/{UdpGridTemplate-jILzGANi.js.map → UdpGridTemplate-CodLjVVL.js.map} +1 -1
  171. package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js → UdpImportFromFileMappingPage-BWaYkxhW.js} +2 -2
  172. package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js.map → UdpImportFromFileMappingPage-BWaYkxhW.js.map} +1 -1
  173. package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js → UdpInquiryMaintenanceEnginePage-DTanTz7X.js} +3 -3
  174. package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js.map → UdpInquiryMaintenanceEnginePage-DTanTz7X.js.map} +1 -1
  175. package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js → UdpMaintenanceEnginePage-DIyBfIMk.js} +8 -8
  176. package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js.map → UdpMaintenanceEnginePage-DIyBfIMk.js.map} +1 -1
  177. package/dist/{UdpMap-Bu59mmYa.js → UdpMap-DB0qsBfI.js} +1 -1
  178. package/dist/{UdpMap-Bu59mmYa.js.map → UdpMap-DB0qsBfI.js.map} +1 -1
  179. package/dist/{UdpNotesPage-CXu_ydp4.js → UdpNotesPage-B3cesDaw.js} +7 -7
  180. package/dist/{UdpNotesPage-CXu_ydp4.js.map → UdpNotesPage-B3cesDaw.js.map} +1 -1
  181. package/dist/{UdpPages-DVPJl-XO.js → UdpPages-Duf7s2Bf.js} +16 -16
  182. package/dist/{UdpPages-DVPJl-XO.js.map → UdpPages-Duf7s2Bf.js.map} +1 -1
  183. package/dist/{UdpPrivateForm-BJdYZzlO.js → UdpPrivateForm-Cju6dVDc.js} +9 -6
  184. package/dist/UdpPrivateForm-Cju6dVDc.js.map +1 -0
  185. package/dist/{UdpPublicForm-aCs42nKH.js → UdpPublicForm-D3D8GPrh.js} +2 -2
  186. package/dist/{UdpPublicForm-aCs42nKH.js.map → UdpPublicForm-D3D8GPrh.js.map} +1 -1
  187. package/dist/{UdpRemindersPage-5EYNlPs6.js → UdpRemindersPage-DBQ0SQO4.js} +7 -7
  188. package/dist/{UdpRemindersPage-5EYNlPs6.js.map → UdpRemindersPage-DBQ0SQO4.js.map} +1 -1
  189. package/dist/{UdpReportsPage-CKxd-e9T.js → UdpReportsPage-DMA-kvyF.js} +2 -2
  190. package/dist/{UdpReportsPage-CKxd-e9T.js.map → UdpReportsPage-DMA-kvyF.js.map} +1 -1
  191. package/dist/{UdpRoutes-BRQDUS6-.js → UdpRoutes-MhKxW3An.js} +6 -6
  192. package/dist/{UdpRoutes-BRQDUS6-.js.map → UdpRoutes-MhKxW3An.js.map} +1 -1
  193. package/dist/{UdpVerticalManagementPage-8VmP_fHh.js → UdpVerticalManagementPage-SWVycbx7.js} +6 -6
  194. package/dist/{UdpVerticalManagementPage-8VmP_fHh.js.map → UdpVerticalManagementPage-SWVycbx7.js.map} +1 -1
  195. package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js → UdpVerticalManagementSidesheet-aIPwJWAM.js} +6 -6
  196. package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js.map → UdpVerticalManagementSidesheet-aIPwJWAM.js.map} +1 -1
  197. package/dist/{UserForm-BvhytSr8.js → UserForm-Crii1kld.js} +2 -2
  198. package/dist/{UserForm-BvhytSr8.js.map → UserForm-Crii1kld.js.map} +1 -1
  199. package/dist/{UserFormSideSheet-hCzYWgFm.js → UserFormSideSheet-2QRJUUnm.js} +4 -4
  200. package/dist/{UserFormSideSheet-hCzYWgFm.js.map → UserFormSideSheet-2QRJUUnm.js.map} +1 -1
  201. package/dist/{UserFormSideSheet-7MuWUCQQ.js → UserFormSideSheet-DGU02bqo.js} +7 -7
  202. package/dist/{UtilityBar-DRKn9kf4.js → UtilityBar-CdvZ37Da.js} +2 -2
  203. package/dist/{UtilityBar-DRKn9kf4.js.map → UtilityBar-CdvZ37Da.js.map} +1 -1
  204. package/dist/{VirtualBrowser-BQ_Zpdh0.js → VirtualBrowser-CKvzgu8L.js} +9 -9
  205. package/dist/{VirtualBrowser-BQ_Zpdh0.js.map → VirtualBrowser-CKvzgu8L.js.map} +1 -1
  206. package/dist/{VirtualBrowser-CaeWWI1I.js → VirtualBrowser-CxAjZWKa.js} +14 -14
  207. package/dist/{VirtualForm-B3d7su-F.js → VirtualForm-Dj5FMp9u.js} +1 -1
  208. package/dist/{VirtualForm-B3d7su-F.js.map → VirtualForm-Dj5FMp9u.js.map} +1 -1
  209. package/dist/{WorkflowContainer-sEYHBwJR.js → WorkflowContainer-CBoWiJQY.js} +4 -4
  210. package/dist/{WorkflowContainer-sEYHBwJR.js.map → WorkflowContainer-CBoWiJQY.js.map} +1 -1
  211. package/dist/{WorkflowContainer-2ubt2MCe.js → WorkflowContainer-CW9NJXbF.js} +11 -11
  212. package/dist/{WorkflowContent-CaMS5xmR.js → WorkflowContent-B4W3IhqH.js} +4 -4
  213. package/dist/{WorkflowContent-CaMS5xmR.js.map → WorkflowContent-B4W3IhqH.js.map} +1 -1
  214. package/dist/{WorkflowTreeMenu-DC4CuF88.js → WorkflowTreeMenu-DKGbOQSH.js} +2 -2
  215. package/dist/{WorkflowTreeMenu-DC4CuF88.js.map → WorkflowTreeMenu-DKGbOQSH.js.map} +1 -1
  216. package/dist/{actionSummary-BOSgduAE.js → actionSummary-Ciu0y-s0.js} +2 -2
  217. package/dist/{actionSummary-BOSgduAE.js.map → actionSummary-Ciu0y-s0.js.map} +1 -1
  218. package/dist/{actionUtils-99XIoiDI.js → actionUtils-cC_2y5Xi.js} +2 -2
  219. package/dist/{actionUtils-99XIoiDI.js.map → actionUtils-cC_2y5Xi.js.map} +1 -1
  220. package/dist/actions/actionSummary/index.js +7 -7
  221. package/dist/actions/index.js +21 -21
  222. package/dist/actions/sidebar/index.js +6 -6
  223. package/dist/actions/utils/index.js +6 -6
  224. package/dist/{apiHelpers-BpZTkMX8.js → apiHelpers-B_cn3sZo.js} +2 -2
  225. package/dist/{apiHelpers-BpZTkMX8.js.map → apiHelpers-B_cn3sZo.js.map} +1 -1
  226. package/dist/{auth-EOQASxKM.js → auth-BEf5rt4s.js} +4 -4
  227. package/dist/{auth-EOQASxKM.js.map → auth-BEf5rt4s.js.map} +1 -1
  228. package/dist/{axiosInterceptors-6Czv1PA5.js → axiosInterceptors-FQ3b5kjr.js} +2 -2
  229. package/dist/{axiosInterceptors-6Czv1PA5.js.map → axiosInterceptors-FQ3b5kjr.js.map} +1 -1
  230. package/dist/{cards-CqNi83lO.js → cards-Bpy1zoxV.js} +1 -1
  231. package/dist/{cards-CqNi83lO.js.map → cards-Bpy1zoxV.js.map} +1 -1
  232. package/dist/chatBot/index.js +5 -5
  233. package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
  234. package/dist/componentSystems/multiThreadTimeline/index.js +11 -11
  235. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +6 -6
  236. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +6 -6
  237. package/dist/componentSystems/multiThreadTimeline/ui/index.js +2 -2
  238. package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
  239. package/dist/componentSystems/pageRenderer/hocs/index.js +13 -13
  240. package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
  241. package/dist/componentSystems/pageRenderer/index.js +17 -17
  242. package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
  243. package/dist/componentSystems/pageRenderer/wrappers/index.js +12 -12
  244. package/dist/{crudActions-Bl1NmJtO.js → crudActions-DXyHKaN8.js} +2 -2
  245. package/dist/{crudActions-Bl1NmJtO.js.map → crudActions-DXyHKaN8.js.map} +1 -1
  246. package/dist/dataBrowser/forms/index.js +6 -6
  247. package/dist/dataBrowser/index.js +20 -20
  248. package/dist/{dataDisplay-nJIK_NjC.js → dataDisplay-CBFgak2F.js} +1 -1
  249. package/dist/{dataDisplay-nJIK_NjC.js.map → dataDisplay-CBFgak2F.js.map} +1 -1
  250. package/dist/{defaultTabs-BzZY0_Jb.js → defaultTabs-CVeUq9lw.js} +1 -1
  251. package/dist/{defaultTabs-BzZY0_Jb.js.map → defaultTabs-CVeUq9lw.js.map} +1 -1
  252. package/dist/enums/index.js +2 -1
  253. package/dist/hooks/index.js +14 -14
  254. package/dist/{hooks-C2Rr_sq1.js → hooks-CxLP2j70.js} +3 -3
  255. package/dist/{hooks-C2Rr_sq1.js.map → hooks-CxLP2j70.js.map} +1 -1
  256. package/dist/index.js +99 -97
  257. package/dist/inquiry/index.js +20 -20
  258. package/dist/{inquiry-5fUj13A8.js → inquiry-J7m3wdvC.js} +10 -10
  259. package/dist/{inquiry-5fUj13A8.js.map → inquiry-J7m3wdvC.js.map} +1 -1
  260. package/dist/maintenanceEngine/crudBrowser/index.js +12 -12
  261. package/dist/maintenanceEngine/index.js +22 -22
  262. package/dist/maintenanceEngine/tableBrowser/index.js +13 -13
  263. package/dist/maintenanceEngine/virtualBrowser/index.js +15 -15
  264. package/dist/menuPage/index.js +11 -11
  265. package/dist/{CustomMenuPage-PSOKksBZ.js → menuPage-Df5ucoQW.js} +2 -2
  266. package/dist/menuPage-Df5ucoQW.js.map +1 -0
  267. package/dist/{menuUtilities-fX5ECi0i.js → menuUtilities-58E3hJ9u.js} +2 -2
  268. package/dist/{menuUtilities-fX5ECi0i.js.map → menuUtilities-58E3hJ9u.js.map} +1 -1
  269. package/dist/{methodUtils-DEk9B4A8.js → methodUtils-Cwo_kmVX.js} +2 -2
  270. package/dist/{methodUtils-DEk9B4A8.js.map → methodUtils-Cwo_kmVX.js.map} +1 -1
  271. package/dist/{newGrid-DPiAB3cO.js → newGrid-nbEL11Vp.js} +2 -2
  272. package/dist/{newGrid-DPiAB3cO.js.map → newGrid-nbEL11Vp.js.map} +1 -1
  273. package/dist/notes/index.js +9 -9
  274. package/dist/page/PageContainer/index.js +5 -5
  275. package/dist/{pageEnums-CA-HlW3W.js → pageEnums-DHCYa0ey.js} +2 -1
  276. package/dist/{pageEnums-CA-HlW3W.js.map → pageEnums-DHCYa0ey.js.map} +1 -1
  277. package/dist/reminders/index.js +10 -10
  278. package/dist/reports/index.js +5 -5
  279. package/dist/routes/index.js +2 -2
  280. package/dist/shell/index.js +32 -32
  281. package/dist/shell/ui/addUser/index.js +8 -8
  282. package/dist/shell/ui/appSwitcher/index.js +1 -1
  283. package/dist/shell/ui/index.js +14 -14
  284. package/dist/treeMenu/index.js +8 -8
  285. package/dist/types/src/enums/pageEnums.d.ts +2 -1
  286. package/dist/types/src/enums/pageEnums.d.ts.map +1 -1
  287. package/dist/types/src/hooks/usePromotedLookupMethods.d.ts +1 -1
  288. package/dist/types/src/hooks/usePromotedMethodEntity.d.ts +1 -1
  289. package/dist/types/src/index.d.ts +1 -0
  290. package/dist/types/src/index.d.ts.map +1 -1
  291. package/dist/types/src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.d.ts.map +1 -1
  292. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +5 -0
  293. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -0
  294. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts +3 -0
  295. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts.map +1 -0
  296. package/dist/types/src/udp/pages/UdpPrivateForm/UdpPrivateForm.d.ts.map +1 -1
  297. package/dist/types/tsconfig.tsbuildinfo +1 -1
  298. package/dist/udp/ShortcutContent/index.js +8 -8
  299. package/dist/udp/export/index.js +16 -16
  300. package/dist/udp/fileImportMapping/index.js +14 -14
  301. package/dist/udp/pages/ChatUDP/index.js +6 -6
  302. package/dist/udp/pages/UdpAuditEvents/index.js +19 -19
  303. package/dist/udp/pages/UdpDataBrowserPage/index.js +20 -20
  304. package/dist/udp/pages/UdpFormsBuilderPage/index.js +1 -1
  305. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +94 -0
  306. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +12 -12
  307. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +9 -9
  308. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +26 -26
  309. package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +5 -5
  310. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +25 -25
  311. package/dist/udp/pages/UdpNotesPage/index.js +14 -14
  312. package/dist/udp/pages/UdpPages/index.js +57 -57
  313. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  314. package/dist/udp/pages/UdpPrivateForm/index.js +11 -10
  315. package/dist/udp/pages/UdpPublicForm/index.js +3 -3
  316. package/dist/udp/pages/UdpRemindersPage/index.js +14 -14
  317. package/dist/udp/pages/UdpReportsPage/index.js +6 -6
  318. package/dist/udp/pages/UdpVerticalManagementPage/index.js +12 -12
  319. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +11 -11
  320. package/dist/udp/pages/index.js +57 -57
  321. package/dist/udp/utilities/index.js +5 -5
  322. package/dist/{ui-CsyeuYr4.js → ui-gRqaK08H.js} +1 -1
  323. package/dist/{ui-CsyeuYr4.js.map → ui-gRqaK08H.js.map} +1 -1
  324. package/dist/{useActions-CBGNxEKr.js → useActions-BbqecXkd.js} +3 -3
  325. package/dist/{useActions-CBGNxEKr.js.map → useActions-BbqecXkd.js.map} +1 -1
  326. package/dist/{useApiCatalog-sZ6uMfzd.js → useApiCatalog-Yi_KDPot.js} +2 -2
  327. package/dist/{useApiCatalog-sZ6uMfzd.js.map → useApiCatalog-Yi_KDPot.js.map} +1 -1
  328. package/dist/{useAxiosGet-BMoXHfLN.js → useAxiosGet-vvPjwB4W.js} +3 -3
  329. package/dist/{useAxiosGet-BMoXHfLN.js.map → useAxiosGet-vvPjwB4W.js.map} +1 -1
  330. package/dist/{useAxiosMutate-q_ZpG98Z.js → useAxiosMutate-DcLxzykX.js} +3 -3
  331. package/dist/{useAxiosMutate-q_ZpG98Z.js.map → useAxiosMutate-DcLxzykX.js.map} +1 -1
  332. package/dist/{usePromotedMethodEntities-DGb2hZSz.js → usePromotedMethodEntities-bv9ewSry.js} +2 -2
  333. package/dist/{usePromotedMethodEntities-DGb2hZSz.js.map → usePromotedMethodEntities-bv9ewSry.js.map} +1 -1
  334. package/dist/{usePromotedMethodEntity-wRBkHT3x.js → usePromotedMethodEntity-Bi2neP26.js} +2 -2
  335. package/dist/{usePromotedMethodEntity-wRBkHT3x.js.map → usePromotedMethodEntity-Bi2neP26.js.map} +1 -1
  336. package/dist/{useQueryExecutors-CuXmVvXX.js → useQueryExecutors-UWa24-Mf.js} +3 -3
  337. package/dist/{useQueryExecutors-CuXmVvXX.js.map → useQueryExecutors-UWa24-Mf.js.map} +1 -1
  338. package/dist/utilities/auth/index.js +6 -6
  339. package/dist/utilities/customIcons/index.js +1 -1
  340. package/dist/utilities/form/paymentForm/index.js +6 -6
  341. package/dist/utilities/index.js +6 -6
  342. package/dist/utilities/menus/index.js +2 -2
  343. package/dist/utilities/provider/index.js +21 -21
  344. package/dist/utilities/redirect/pages/index.js +5 -5
  345. package/dist/utilities/tenant/index.js +5 -5
  346. package/dist/{theme-DLA8cxjc.js → utilities-BLu3F9sJ.js} +1 -1
  347. package/dist/utilities-BLu3F9sJ.js.map +1 -0
  348. package/dist/{withEngineComponent-Bya6z6jQ.js → withEngineComponent-CUQbIi-0.js} +2 -2
  349. package/dist/{withEngineComponent-Bya6z6jQ.js.map → withEngineComponent-CUQbIi-0.js.map} +1 -1
  350. package/dist/workflow/components/index.js +1 -1
  351. package/dist/workflow/index.js +13 -13
  352. package/dist/workflow/menus/index.js +9 -9
  353. package/dist/wrappers-CGE2HK5z.js +1 -0
  354. package/export-map.json +3 -2
  355. package/package.json +2 -2
  356. package/dist/CustomMenuPage-PSOKksBZ.js.map +0 -1
  357. package/dist/UdpPrivateForm-BJdYZzlO.js.map +0 -1
  358. package/dist/theme-DLA8cxjc.js.map +0 -1
  359. /package/dist/{FluentActivity-CSTNwtbg.js → FluentActivity-DNv5ppko.js} +0 -0
  360. /package/dist/{FluentDataTable-DaeSnPVT.js → FluentDataTable-BXPIqR8m.js} +0 -0
  361. /package/dist/{NestedGrid-DnwDKGuS.js → NestedGrid-CQ_tEe-B.js} +0 -0
  362. /package/dist/{accordion-b0s-0-RI.js → accordion-BLXGkcTH.js} +0 -0
  363. /package/dist/{addUser-B0865wVm.js → addUser-D2pqu0AW.js} +0 -0
  364. /package/dist/{advancedSearchBuilder-3XkAGMdW.js → advancedSearchBuilder-DAGBcP1-.js} +0 -0
  365. /package/dist/{alerts-OCaGbJa8.js → alerts-Gbvcpl4E.js} +0 -0
  366. /package/dist/{appSwitcher-CgqKfl97.js → appSwitcher-Cj_OxE8O.js} +0 -0
  367. /package/dist/{charts-Dqnchxlj.js → charts-R51kXdbo.js} +0 -0
  368. /package/dist/{components-DS49lfXu.js → components-BbPynQ4E.js} +0 -0
  369. /package/dist/{components-RSFyyue7.js → components-HFPHj0Z0.js} +0 -0
  370. /package/dist/{containers-CbiOWu6t.js → containers-Do3V9CjC.js} +0 -0
  371. /package/dist/{crudBrowser-B3M_qFXM.js → crudBrowser-CNJMNMPk.js} +0 -0
  372. /package/dist/{dataDisplay-C4xsjRpN.js → dataDisplay-CHdSKRO0.js} +0 -0
  373. /package/dist/{demos-CHF7C73o.js → demos-D1hYYoOq.js} +0 -0
  374. /package/dist/{feedback-8c0PUyzJ.js → enums-Edm9Kwqq.js} +0 -0
  375. /package/dist/{feedback-D7AaTszW.js → feedback-DL6EKTOa.js} +0 -0
  376. /package/dist/{fileViewer-N90YmIyL.js → feedback-Dw-Qh7A6.js} +0 -0
  377. /package/dist/{floorplans-rm7R2YbY.js → fileViewer-CMBhBXGp.js} +0 -0
  378. /package/dist/{fluentTimeline-De-79li3.js → floorplans-CtbDAfnq.js} +0 -0
  379. /package/dist/{forms-DUpzjbB8.js → fluentTimeline-BbvrZFSz.js} +0 -0
  380. /package/dist/{forms-DoLgP7J3.js → forms-Bqbd2PSS.js} +0 -0
  381. /package/dist/{functions-DjPVehfJ.js → forms-uSV7-14b.js} +0 -0
  382. /package/dist/{hocs-BuWIHy7I.js → functions-BKH-pLPX.js} +0 -0
  383. /package/dist/{hooks-Bgdv7Rjl.js → hocs-DwAy8u5A.js} +0 -0
  384. /package/dist/{iframe-AW8kvPvm.js → hooks-B7ab4j1m.js} +0 -0
  385. /package/dist/{loading-6mD-gixw.js → iframe-CM2OOxOu.js} +0 -0
  386. /package/dist/{mapLayout-CDZKQDHU.js → loading-BwkuGJoi.js} +0 -0
  387. /package/dist/{maps-Ce7LPzeA.js → mapLayout-Cg6spO9k.js} +0 -0
  388. /package/dist/{menus-BOCTn6h6.js → maps-D2whP8Zh.js} +0 -0
  389. /package/dist/{menus-pzqEb4ZE.js → menus-DugtDOhA.js} +0 -0
  390. /package/dist/{modified-CeJaPfN-.js → menus-VWidUTp_.js} +0 -0
  391. /package/dist/{mttMainTimeline-Bhn6Bx8O.js → modified--RrdyRlS.js} +0 -0
  392. /package/dist/{mttSummary-Bx5hrrL_.js → mttMainTimeline-DFHSLEBw.js} +0 -0
  393. /package/dist/{navigation-n9BzYj_m.js → mttSummary-BrQ0Tb62.js} +0 -0
  394. /package/dist/{property-BZsCMXJZ.js → navigation-2kyWDJg1.js} +0 -0
  395. /package/dist/{sidebar-BV9-4hst.js → property-CB8U10nw.js} +0 -0
  396. /package/dist/{stepper-CE7rAMMG.js → sidebar-C8yBp4eL.js} +0 -0
  397. /package/dist/{support-DeorQvzN.js → stepper-sZXSP0dk.js} +0 -0
  398. /package/dist/{surfaces-BjGAutOC.js → support-BhMVhBcD.js} +0 -0
  399. /package/dist/{tableBrowser-THunl5ws.js → surfaces-B445R0FQ.js} +0 -0
  400. /package/dist/{tabs-DcAL3Jpp.js → tableBrowser-BRVY65f3.js} +0 -0
  401. /package/dist/{templates-B2aOg0L7.js → tabs-BMrd1KM-.js} +0 -0
  402. /package/dist/{timeline-D0LJGudk.js → templates-Cz1v1M4q.js} +0 -0
  403. /package/dist/{ui-BCGHP5Tg.js → timeline-x3kpYbLD.js} +0 -0
  404. /package/dist/{ui-CWkntoL5.js → ui-BjpkPJO5.js} +0 -0
  405. /package/dist/{ui-P3i_0RoE.js → ui-Bqag992Z.js} +0 -0
  406. /package/dist/{utilities-tnyNft1v.js → ui-DBhxlgrk.js} +0 -0
  407. /package/dist/{utilityDisplay-9oT_42C1.js → utilities-CMoiGbGt.js} +0 -0
  408. /package/dist/{utilityHeader-CluhKbl1.js → utilityDisplay-BHYWs3gf.js} +0 -0
  409. /package/dist/{utils-B90bZC89.js → utilityHeader-BsUlwtE7.js} +0 -0
  410. /package/dist/{utils-ISMJodw8.js → utils-CRdMZZPC.js} +0 -0
  411. /package/dist/{virtualBrowser-CjWRkC7M.js → utils-Cpcp_Rx8.js} +0 -0
  412. /package/dist/{widgets-BbScraXi.js → virtualBrowser-pfw07Czd.js} +0 -0
  413. /package/dist/{wrappers-DT4B7IyD.js → widgets-BcHFxfRK.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"UdpRoutes-BRQDUS6-.js","names":["props"],"sources":["../src/routes/PrivateRoute.jsx","../src/routes/UdpRoutes.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useIsUnityAuthenticated } from '../utilities/auth/useIsUnityAuthenticated';\r\nimport { useUser } from '../utilities/auth/useUser';\r\nimport { PageForbiddenRoute } from './components/PageForbiddenRoute';\r\n\r\nexport const PrivateRoute = ({ ...otherProps }) => {\r\n const isAuthenticated = useIsUnityAuthenticated();\r\n const user = useUser();\r\n const { t } = useTranslation();\r\n const { rolesMap, menuActiveMap } = otherProps;\r\n const userRoles = user.roleIds;\r\n //path is passed from frontend so making sure it meets expected fromat of all lowercase, no spaces, and has format /pathname or /pathname/:param\r\n let pathAsKey = otherProps.path\r\n .toLowerCase()\r\n .replaceAll(' ', '')\r\n .replace('/', '');\r\n pathAsKey = pathAsKey.split('/:')[0];\r\n\r\n const userHasAccessToTenant = useMemo(() => {\r\n if (user?.tenantIds?.includes(user.currentTenantId)) {\r\n return true;\r\n }\r\n return false;\r\n }, [user]);\r\n\r\n const userHasRoles = useMemo(() => {\r\n if (rolesMap?.size > 0) {\r\n if (!rolesMap.has(pathAsKey)) {\r\n return false;\r\n }\r\n const routeRoles = rolesMap.get(pathAsKey);\r\n return routeRoles.every((element) => userRoles.includes(element));\r\n }\r\n }, [userRoles, rolesMap, pathAsKey]);\r\n\r\n const menuIsActive = useMemo(() => {\r\n if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) {\r\n return menuActiveMap.get(pathAsKey);\r\n }\r\n }, [menuActiveMap, pathAsKey]);\r\n\r\n if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have access to this tenant. Please select a different Tenant.'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (rolesMap?.has(pathAsKey) && !menuIsActive) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'Trying to access inactive menu. Please check your menu configurations'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have the required roles to access this page.Please contact an administrator to get access'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (isAuthenticated && user?.statusCode === 200) {\r\n return <Route {...otherProps} />;\r\n }\r\n\r\n return null;\r\n};\r\n","import React, { Suspense, lazy } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { PrivateRoute } from './PrivateRoute';\nimport { UdpPageEnums } from '../enums/pageEnums';\nimport { ConfigService } from '../configService';\nimport { PageLoading } from '../UI/feedback/PageLoading';\n\n// Lazy load route components\nconst VirtualBrowser = lazy(() =>\n import('../maintenanceEngine/virtualBrowser/VirtualBrowser')\n);\nconst MenuPage = lazy(() => import('../menuPage/MenuPage'));\nconst UdpPublicForm = lazy(() => import('../udp/pages/UdpPublicForm'));\nconst WorkflowContainer = lazy(() => import('../workflow/WorkflowContainer'));\nconst PasswordResetRedirect = lazy(() =>\n import('./components/PasswordResetRedirect')\n);\nconst MyExportsPage = lazy(() => import('../udp/export/MyExportsPage'));\nconst PageNotFoundRoute = lazy(() => import('./components/PageNotFoundRoute'));\nconst UdpMaintenanceConfigPage = lazy(() =>\n import('../udp/pages/UdpMaintenanceConfigPage')\n);\nconst UdpMaintenanceEnginePage = lazy(() =>\n import('../udp/pages/UdpMaintenanceEnginePage')\n);\n\nexport const UdpRoutes = (props) => {\n const { ...other } = props;\n return (\n <Suspense fallback={<PageLoading />}>\n <Switch>\n <PrivateRoute\n path='/virtual/:id'\n render={(props) => <VirtualBrowser {...props} {...other} />}\n />\n <PrivateRoute\n path='/menupage/:id'\n render={(props) => <MenuPage {...props} {...other} />}\n />\n\n <Route\n path={`/page/${UdpPageEnums.Udp_Public_Forms_Page}`}\n render={(props) => <UdpPublicForm {...props} {...other} />}\n />\n <Route\n path={`/passwordresetsuccess`}\n render={(props) => <PasswordResetRedirect props={props} />}\n />\n <PrivateRoute\n path='/workflowtask/:id'\n render={(props) => <WorkflowContainer {...props} {...other} />}\n />\n <PrivateRoute\n path='/myexports'\n render={(props) => (\n <MyExportsPage\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n {...props}\n {...other}\n />\n )}\n />\n <PrivateRoute\n path='/crudbrowser'\n render={(props) => <UdpMaintenanceEnginePage {...props} />}\n />\n <PrivateRoute\n path='/tablebrowser'\n render={(props) => <UdpMaintenanceConfigPage {...props} />}\n />\n <PrivateRoute path='*' component={PageNotFoundRoute} />\n </Switch>\n </Suspense>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpRoutes-MhKxW3An.js","names":["props"],"sources":["../src/routes/PrivateRoute.jsx","../src/routes/UdpRoutes.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useIsUnityAuthenticated } from '../utilities/auth/useIsUnityAuthenticated';\r\nimport { useUser } from '../utilities/auth/useUser';\r\nimport { PageForbiddenRoute } from './components/PageForbiddenRoute';\r\n\r\nexport const PrivateRoute = ({ ...otherProps }) => {\r\n const isAuthenticated = useIsUnityAuthenticated();\r\n const user = useUser();\r\n const { t } = useTranslation();\r\n const { rolesMap, menuActiveMap } = otherProps;\r\n const userRoles = user.roleIds;\r\n //path is passed from frontend so making sure it meets expected fromat of all lowercase, no spaces, and has format /pathname or /pathname/:param\r\n let pathAsKey = otherProps.path\r\n .toLowerCase()\r\n .replaceAll(' ', '')\r\n .replace('/', '');\r\n pathAsKey = pathAsKey.split('/:')[0];\r\n\r\n const userHasAccessToTenant = useMemo(() => {\r\n if (user?.tenantIds?.includes(user.currentTenantId)) {\r\n return true;\r\n }\r\n return false;\r\n }, [user]);\r\n\r\n const userHasRoles = useMemo(() => {\r\n if (rolesMap?.size > 0) {\r\n if (!rolesMap.has(pathAsKey)) {\r\n return false;\r\n }\r\n const routeRoles = rolesMap.get(pathAsKey);\r\n return routeRoles.every((element) => userRoles.includes(element));\r\n }\r\n }, [userRoles, rolesMap, pathAsKey]);\r\n\r\n const menuIsActive = useMemo(() => {\r\n if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) {\r\n return menuActiveMap.get(pathAsKey);\r\n }\r\n }, [menuActiveMap, pathAsKey]);\r\n\r\n if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have access to this tenant. Please select a different Tenant.'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (rolesMap?.has(pathAsKey) && !menuIsActive) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'Trying to access inactive menu. Please check your menu configurations'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have the required roles to access this page.Please contact an administrator to get access'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (isAuthenticated && user?.statusCode === 200) {\r\n return <Route {...otherProps} />;\r\n }\r\n\r\n return null;\r\n};\r\n","import React, { Suspense, lazy } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { PrivateRoute } from './PrivateRoute';\nimport { UdpPageEnums } from '../enums/pageEnums';\nimport { ConfigService } from '../configService';\nimport { PageLoading } from '../UI/feedback/PageLoading';\n\n// Lazy load route components\nconst VirtualBrowser = lazy(() =>\n import('../maintenanceEngine/virtualBrowser/VirtualBrowser')\n);\nconst MenuPage = lazy(() => import('../menuPage/MenuPage'));\nconst UdpPublicForm = lazy(() => import('../udp/pages/UdpPublicForm'));\nconst WorkflowContainer = lazy(() => import('../workflow/WorkflowContainer'));\nconst PasswordResetRedirect = lazy(() =>\n import('./components/PasswordResetRedirect')\n);\nconst MyExportsPage = lazy(() => import('../udp/export/MyExportsPage'));\nconst PageNotFoundRoute = lazy(() => import('./components/PageNotFoundRoute'));\nconst UdpMaintenanceConfigPage = lazy(() =>\n import('../udp/pages/UdpMaintenanceConfigPage')\n);\nconst UdpMaintenanceEnginePage = lazy(() =>\n import('../udp/pages/UdpMaintenanceEnginePage')\n);\n\nexport const UdpRoutes = (props) => {\n const { ...other } = props;\n return (\n <Suspense fallback={<PageLoading />}>\n <Switch>\n <PrivateRoute\n path='/virtual/:id'\n render={(props) => <VirtualBrowser {...props} {...other} />}\n />\n <PrivateRoute\n path='/menupage/:id'\n render={(props) => <MenuPage {...props} {...other} />}\n />\n\n <Route\n path={`/page/${UdpPageEnums.Udp_Public_Forms_Page}`}\n render={(props) => <UdpPublicForm {...props} {...other} />}\n />\n <Route\n path={`/passwordresetsuccess`}\n render={(props) => <PasswordResetRedirect props={props} />}\n />\n <PrivateRoute\n path='/workflowtask/:id'\n render={(props) => <WorkflowContainer {...props} {...other} />}\n />\n <PrivateRoute\n path='/myexports'\n render={(props) => (\n <MyExportsPage\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n {...props}\n {...other}\n />\n )}\n />\n <PrivateRoute\n path='/crudbrowser'\n render={(props) => <UdpMaintenanceEnginePage {...props} />}\n />\n <PrivateRoute\n path='/tablebrowser'\n render={(props) => <UdpMaintenanceConfigPage {...props} />}\n />\n <PrivateRoute path='*' component={PageNotFoundRoute} />\n </Switch>\n </Suspense>\n );\n};\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { t as __export } from "./chunk-Bp6m_JJh.js";
2
2
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
3
- import { i as useHandleAxiosSnackbar } from "./apiHelpers-BpZTkMX8.js";
4
- import { t as apiMutate } from "./useAxiosMutate-q_ZpG98Z.js";
3
+ import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
4
+ import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
5
5
  import { t as PrimaryActionButton } from "./PrimaryActionButton-Dk8zvDAW.js";
6
6
  import { t as FluentDialog } from "./FluentDialog-B5ZxvX1E.js";
7
- import { t as AmbientGridTemplate } from "./AmbientGridTemplate-CDj051YK.js";
8
- import { t as ActionsRenderer } from "./ActionsRenderer-BVfaUEx2.js";
9
- import { t as UdpVerticalManagementSidesheet_default } from "./UdpVerticalManagementSidesheet-DUahRHZG.js";
7
+ import { t as AmbientGridTemplate } from "./AmbientGridTemplate-BecuOnHe.js";
8
+ import { t as ActionsRenderer } from "./ActionsRenderer-B1ImXko3.js";
9
+ import { t as UdpVerticalManagementSidesheet_default } from "./UdpVerticalManagementSidesheet-aIPwJWAM.js";
10
10
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
11
11
  import { Typography } from "@material-ui/core";
12
12
  import { AddIcon, DeleteIcon, EditIcon } from "@fluentui/react-icons";
@@ -181,4 +181,4 @@ var UdpVerticalManagementPage_exports = /* @__PURE__ */ __export({ default: () =
181
181
 
182
182
  //#endregion
183
183
  export { UdpVerticalManagementPage_default as n, UdpVerticalManagementPage_exports as t };
184
- //# sourceMappingURL=UdpVerticalManagementPage-8VmP_fHh.js.map
184
+ //# sourceMappingURL=UdpVerticalManagementPage-SWVycbx7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpVerticalManagementPage-8VmP_fHh.js","names":["UdpVerticalManagementSidesheet"],"sources":["../src/udp/pages/UdpVerticalManagementPage/UdpVerticalManagementPage.jsx","../src/udp/pages/UdpVerticalManagementPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\n// import { executeQueryAdHoc, getBaseMethod } from '../utilities/methodUtils';\nimport { AddIcon, DeleteIcon, EditIcon } from '@fluentui/react-icons';\nimport { Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { PrimaryActionButton } from '../../../UI/inputs/buttons/PrimaryActionButton';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport UdpVerticalManagementSidesheet from '../UdpVerticalManagementSidesheet';\nimport { FluentDialog } from '../../../UI/feedback/FluentDialog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\nconst UdpVerticalManagementPage = (props) => {\n const { params } = props;\n const { nodeObj: environment, inquiryNodeProperties } = params;\n const { t } = useTranslation();\n\n const [sideSheetOpen, setSideSheetOpen] = useState(false);\n const [sideSheetEdit, setSideSheetEdit] = useState(false);\n const [loading, setLoading] = useState(false);\n const [selectedVertical, setSelectedVertical] = useState(null);\n const [verticals, setVerticals] = useState([]);\n const [productVertical, setProductVertical] = useState([]);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const selectedVerticalRef = useRef();\n selectedVerticalRef.current = selectedVertical ? selectedVertical : null;\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const openSheetAsEdit = useCallback((isEdit) => {\n setSideSheetOpen(true);\n setSideSheetEdit(isEdit);\n }, []);\n\n const closeDeleteDialog = useCallback(() => {\n setDeleteDialogOpen(false);\n }, [setDeleteDialogOpen]);\n\n const executeMutation = useCallback(\n async (endpoint, method, data) =>\n apiMutate(\n ConfigService.uemV1ApiUrl,\n endpoint,\n {\n method: method || 'post'\n },\n data\n ),\n []\n );\n\n const getVerticals = useCallback(\n async (data, isFirstLoad = false) => {\n if (isFirstLoad) {\n setLoading(true);\n }\n\n const response = await executeMutation('uem', 'post', data);\n if (response?.status === 200) {\n setVerticals(response?.data);\n }\n if (isFirstLoad) {\n setLoading(false);\n }\n },\n [executeMutation]\n );\n\n const deleteVertical = useCallback(async () => {\n const data = {\n data: {\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical/${selectedVerticalRef.current.verticalId}/uemDelete`\n }\n };\n const response = await executeMutation(\n `vertical/${selectedVerticalRef.current.verticalId}/uemDelete`,\n 'delete',\n data\n );\n if (response?.status === 204) {\n console.log('success');\n handleSuccessSnackbar('Vertical Deleted Successfully');\n }\n const getVerticalsData = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n getVerticals(getVerticalsData, true);\n closeDeleteDialog();\n }, [executeMutation, selectedVertical, closeDeleteDialog]);\n\n const getProductVerticals = useCallback(\n async (data) => {\n const response = await executeMutation('productVertical', 'get', data);\n if (response?.status === 200) {\n setProductVertical(response?.data);\n }\n },\n [executeMutation]\n );\n\n useEffect(() => {\n if (environment && getVerticals) {\n if (environment.environmentId) {\n const productVerticalData = {\n data: {\n apiPath: `api/v2/ProductVertical`\n }\n };\n getProductVerticals(productVerticalData);\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n getVerticals(data, true);\n }\n }\n }, [environment, getVerticals, getProductVerticals, deleteVertical]);\n\n const closeSheet = useCallback(() => {\n setSideSheetOpen(false);\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n\n getVerticals(data);\n }, [getVerticals, environment]);\n\n const handleEditPage = useCallback(\n (value) => {\n setSelectedVertical(value);\n console.log('Edit page, value: ', value);\n openSheetAsEdit(true);\n },\n [t]\n );\n\n const handleCreateVertical = useCallback(\n (value) => {\n openSheetAsEdit(false);\n },\n [t]\n );\n\n const handleDelete = useCallback(\n (value) => {\n setSelectedVertical(value);\n console.log('Delete page, value: ', value);\n setDeleteDialogOpen(true);\n },\n [t]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Delete'),\n icon: DeleteIcon,\n onClick: handleDelete,\n disabled: false\n }\n ],\n [t, handleEditPage, handleDelete]\n );\n\n const gridOptions = useMemo(\n () => ({\n frameworkComponents: {\n actionsRenderer: ActionsRenderer\n },\n columnDefs: [\n {\n headerName: t('Name'),\n field: 'name',\n minWidth: 300\n },\n {\n headerName: t('Icon'),\n field: 'icon'\n },\n {\n headerName: t('Actions'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ]\n }),\n [t, actionList, productVertical]\n );\n\n const pab = (\n <PrimaryActionButton onClick={handleCreateVertical}>\n <Typography style={{ marginRight: 5 }}>Add</Typography>\n <AddIcon />\n </PrimaryActionButton>\n );\n\n return (\n <>\n <UdpVerticalManagementSidesheet\n open={sideSheetOpen}\n closeSidesheet={closeSheet}\n selectedVertical={selectedVertical}\n environment={environment}\n title={t(sideSheetEdit ? 'Edit Vertical' : 'Create Vertical')}\n associatedProducts={productVertical}\n isEdit={sideSheetEdit}\n />\n <AmbientGridTemplate\n title={t('Vertical Manager')}\n primaryActionButton={pab}\n data={verticals}\n // hideGroupTab\n // hideColumnTab\n loading={loading}\n gridOptions={gridOptions}\n groupingData={[]}\n />\n <FluentDialog\n open={deleteDialogOpen}\n handleClose={closeDeleteDialog}\n title={t('Delete Vertical')}\n message={\n t('Are you sure you want to Delete') + ` \"${selectedVertical?.name}\"?`\n }\n actionOne={deleteVertical}\n labelOne={t('Delete')}\n actionTwo={closeDeleteDialog}\n labelTwo={t('Cancel')}\n />\n </>\n );\n};\n\nexport default UdpVerticalManagementPage;\n","export {default} from './UdpVerticalManagementPage';\nexport * from './UdpVerticalManagementPage';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpVerticalManagementPage-SWVycbx7.js","names":["UdpVerticalManagementSidesheet"],"sources":["../src/udp/pages/UdpVerticalManagementPage/UdpVerticalManagementPage.jsx","../src/udp/pages/UdpVerticalManagementPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\n// import { executeQueryAdHoc, getBaseMethod } from '../utilities/methodUtils';\nimport { AddIcon, DeleteIcon, EditIcon } from '@fluentui/react-icons';\nimport { Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { PrimaryActionButton } from '../../../UI/inputs/buttons/PrimaryActionButton';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport UdpVerticalManagementSidesheet from '../UdpVerticalManagementSidesheet';\nimport { FluentDialog } from '../../../UI/feedback/FluentDialog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\nconst UdpVerticalManagementPage = (props) => {\n const { params } = props;\n const { nodeObj: environment, inquiryNodeProperties } = params;\n const { t } = useTranslation();\n\n const [sideSheetOpen, setSideSheetOpen] = useState(false);\n const [sideSheetEdit, setSideSheetEdit] = useState(false);\n const [loading, setLoading] = useState(false);\n const [selectedVertical, setSelectedVertical] = useState(null);\n const [verticals, setVerticals] = useState([]);\n const [productVertical, setProductVertical] = useState([]);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const selectedVerticalRef = useRef();\n selectedVerticalRef.current = selectedVertical ? selectedVertical : null;\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const openSheetAsEdit = useCallback((isEdit) => {\n setSideSheetOpen(true);\n setSideSheetEdit(isEdit);\n }, []);\n\n const closeDeleteDialog = useCallback(() => {\n setDeleteDialogOpen(false);\n }, [setDeleteDialogOpen]);\n\n const executeMutation = useCallback(\n async (endpoint, method, data) =>\n apiMutate(\n ConfigService.uemV1ApiUrl,\n endpoint,\n {\n method: method || 'post'\n },\n data\n ),\n []\n );\n\n const getVerticals = useCallback(\n async (data, isFirstLoad = false) => {\n if (isFirstLoad) {\n setLoading(true);\n }\n\n const response = await executeMutation('uem', 'post', data);\n if (response?.status === 200) {\n setVerticals(response?.data);\n }\n if (isFirstLoad) {\n setLoading(false);\n }\n },\n [executeMutation]\n );\n\n const deleteVertical = useCallback(async () => {\n const data = {\n data: {\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical/${selectedVerticalRef.current.verticalId}/uemDelete`\n }\n };\n const response = await executeMutation(\n `vertical/${selectedVerticalRef.current.verticalId}/uemDelete`,\n 'delete',\n data\n );\n if (response?.status === 204) {\n console.log('success');\n handleSuccessSnackbar('Vertical Deleted Successfully');\n }\n const getVerticalsData = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n getVerticals(getVerticalsData, true);\n closeDeleteDialog();\n }, [executeMutation, selectedVertical, closeDeleteDialog]);\n\n const getProductVerticals = useCallback(\n async (data) => {\n const response = await executeMutation('productVertical', 'get', data);\n if (response?.status === 200) {\n setProductVertical(response?.data);\n }\n },\n [executeMutation]\n );\n\n useEffect(() => {\n if (environment && getVerticals) {\n if (environment.environmentId) {\n const productVerticalData = {\n data: {\n apiPath: `api/v2/ProductVertical`\n }\n };\n getProductVerticals(productVerticalData);\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n getVerticals(data, true);\n }\n }\n }, [environment, getVerticals, getProductVerticals, deleteVertical]);\n\n const closeSheet = useCallback(() => {\n setSideSheetOpen(false);\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `TenantService/api/v2/Vertical`\n }\n };\n\n getVerticals(data);\n }, [getVerticals, environment]);\n\n const handleEditPage = useCallback(\n (value) => {\n setSelectedVertical(value);\n console.log('Edit page, value: ', value);\n openSheetAsEdit(true);\n },\n [t]\n );\n\n const handleCreateVertical = useCallback(\n (value) => {\n openSheetAsEdit(false);\n },\n [t]\n );\n\n const handleDelete = useCallback(\n (value) => {\n setSelectedVertical(value);\n console.log('Delete page, value: ', value);\n setDeleteDialogOpen(true);\n },\n [t]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Delete'),\n icon: DeleteIcon,\n onClick: handleDelete,\n disabled: false\n }\n ],\n [t, handleEditPage, handleDelete]\n );\n\n const gridOptions = useMemo(\n () => ({\n frameworkComponents: {\n actionsRenderer: ActionsRenderer\n },\n columnDefs: [\n {\n headerName: t('Name'),\n field: 'name',\n minWidth: 300\n },\n {\n headerName: t('Icon'),\n field: 'icon'\n },\n {\n headerName: t('Actions'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ]\n }),\n [t, actionList, productVertical]\n );\n\n const pab = (\n <PrimaryActionButton onClick={handleCreateVertical}>\n <Typography style={{ marginRight: 5 }}>Add</Typography>\n <AddIcon />\n </PrimaryActionButton>\n );\n\n return (\n <>\n <UdpVerticalManagementSidesheet\n open={sideSheetOpen}\n closeSidesheet={closeSheet}\n selectedVertical={selectedVertical}\n environment={environment}\n title={t(sideSheetEdit ? 'Edit Vertical' : 'Create Vertical')}\n associatedProducts={productVertical}\n isEdit={sideSheetEdit}\n />\n <AmbientGridTemplate\n title={t('Vertical Manager')}\n primaryActionButton={pab}\n data={verticals}\n // hideGroupTab\n // hideColumnTab\n loading={loading}\n gridOptions={gridOptions}\n groupingData={[]}\n />\n <FluentDialog\n open={deleteDialogOpen}\n handleClose={closeDeleteDialog}\n title={t('Delete Vertical')}\n message={\n t('Are you sure you want to Delete') + ` \"${selectedVertical?.name}\"?`\n }\n actionOne={deleteVertical}\n labelOne={t('Delete')}\n actionTwo={closeDeleteDialog}\n labelTwo={t('Cancel')}\n />\n </>\n );\n};\n\nexport default UdpVerticalManagementPage;\n","export {default} from './UdpVerticalManagementPage';\nexport * from './UdpVerticalManagementPage';\n"],"mappings":"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"}
@@ -2,15 +2,15 @@ import { t as Form } from "./Form-DbOA5j38.js";
2
2
  import { t as Field } from "./Field-Cda5rJe2.js";
3
3
  import { n as SubmitButton, t as FormButtons } from "./FormButtons-BTCO-pzW.js";
4
4
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
5
- import { i as useHandleAxiosSnackbar } from "./apiHelpers-BpZTkMX8.js";
6
- import { t as apiMutate } from "./useAxiosMutate-q_ZpG98Z.js";
5
+ import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
6
+ import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
7
7
  import { t as UnityFluentIcon } from "./UnityFluentIcon-DrASIcTF.js";
8
- import { t as useActionState } from "./useActions-CBGNxEKr.js";
8
+ import { t as useActionState } from "./useActions-BbqecXkd.js";
9
9
  import { S as getIconFromName } from "./TreeUtilities-C6e2dd4g.js";
10
10
  import { t as getUnityIconFromName } from "./UnityIconLibrary-CjIwzfjv.js";
11
11
  import { n as SideSheet } from "./SideSheet-C-rILQqR.js";
12
- import { t as AmbientGridTemplate } from "./AmbientGridTemplate-CDj051YK.js";
13
- import { t as ActionsRenderer } from "./ActionsRenderer-BVfaUEx2.js";
12
+ import { t as AmbientGridTemplate } from "./AmbientGridTemplate-BecuOnHe.js";
13
+ import { t as ActionsRenderer } from "./ActionsRenderer-B1ImXko3.js";
14
14
  import { t as FluentCheckbox } from "./FluentCheckbox-CW8pHQ21.js";
15
15
  import { t as IconLibrary_default } from "./IconLibrary-t_JfzpS3.js";
16
16
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
@@ -225,4 +225,4 @@ var UdpVerticalManagementSidesheet_default = UdpVerticalManagementSidesheet;
225
225
 
226
226
  //#endregion
227
227
  export { UdpVerticalManagementSidesheet_default as t };
228
- //# sourceMappingURL=UdpVerticalManagementSidesheet-DUahRHZG.js.map
228
+ //# sourceMappingURL=UdpVerticalManagementSidesheet-aIPwJWAM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpVerticalManagementSidesheet-DUahRHZG.js","names":["products","IconLibrary"],"sources":["../src/udp/pages/UdpVerticalManagementSidesheet/UdpVerticalManagementSidesheet.jsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useMemo,\n useRef,\n useEffect,\n useLayoutEffect\n} from 'react';\nimport {\n TextField,\n Button,\n LinearProgress,\n IconButton\n} from '@material-ui/core';\nimport { Form } from '../../../utilities/form/Form';\nimport { Field } from '../../../utilities/form/Field';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useTranslation } from 'react-i18next';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { FluentCheckbox } from '../../../UI/inputs/checkbox/FluentCheckbox';\nimport { UnityFluentIcon } from '../../../utilities/iconLibrary/UnityFluentIcon';\nimport {\n findAllParentIds,\n getIconFromName\n} from '../../../utilities/tree/TreeUtilities';\nimport { getUnityIconFromName } from '../../../utilities/iconLibrary/UnityIconLibrary';\nimport IconLibrary from '../../../utilities/iconLibrary/IconLibrary';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { FormButtons } from '../../../utilities/form';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\nconst UdpVerticalManagementSidesheet = (props) => {\n const {\n selectedVertical,\n environment,\n associatedProducts,\n isEdit,\n deleteVertical,\n open,\n selectedCatalog,\n closeSidesheet,\n onSubmit,\n ...sheetProps\n } = props;\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const actionState = useActionState();\n const [displayedIcon, setDisplayedIcon] = useState({\n name: 'StatusCircleQuestionMarkIcon',\n color: '',\n type: ''\n });\n const [products, setProducts] = useState([]);\n const [openIconLibrary, setOpenIconLibrary] = useState(false);\n\n const [selectedProductIds, setSelectedProductIds] = useState([]);\n const [checkboxValues, setCheckboxValues] = useState([]);\n const [submitButtonDisabled, setSubmitButtonDisabled] = useState(true);\n const selectedProductIdsRef = useRef();\n selectedProductIdsRef.current = selectedProductIds;\n const displayedIconRef = useRef();\n displayedIconRef.current = displayedIcon;\n const selectedVerticalRef = useRef();\n selectedVerticalRef.current = selectedVertical;\n const formRef = useRef();\n const nameRef = useRef();\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const CheckBoxRenderer = ({ onChange, value, id, defaultChecked }) => {\n const isAssociatedToVertical = useCallback(\n (productId) => {\n if (!isEdit) return false;\n for (let product of associatedProducts) {\n if (\n product.productId === productId &&\n product.verticalId === selectedVerticalRef.current.verticalId\n ) {\n return true;\n }\n }\n // console.log(selectedVerticalRef.current.icon)\n const icon = getIconFromName(selectedVerticalRef.current.icon);\n // console.log(\"🚀 ~ file: UdpVerticalManagementSidesheet.jsx:81 ~ isAssociatedToVertical ~ icon:\", icon)\n\n return false;\n },\n [associatedProducts, selectedVerticalRef]\n );\n\n const handleCheckboxChange = (e) => {\n if (e.target.checked) {\n setSelectedProductIds((prevState) => [...prevState, id]);\n } else {\n setSelectedProductIds((prevState) =>\n prevState.filter((item) => item !== id)\n );\n }\n };\n\n return (\n <FluentCheckbox\n // checked={value}\n defaultChecked={isAssociatedToVertical(id)}\n onChange={handleCheckboxChange}\n aria='column-active'\n />\n );\n };\n\n // const actionList = useMemo(\n // () => [\n // {\n // id: 1, // Must be unique\n // title: t('Edit'),\n // icon: EditIcon,\n // onClick: handleEditPage,\n // disabled: false\n // },\n // {\n // id: 2, // Must be unique\n // title: t('Delete'),\n // icon: DeleteIcon,\n // onClick: handleDelete,\n // disabled: false\n // }\n // ],\n // [t, handleEditPage, handleDelete]\n // );\n\n const gridOptions = useMemo(\n () => ({\n frameworkComponents: {\n actionsRenderer: ActionsRenderer,\n checkboxRenderer: CheckBoxRenderer\n },\n columnDefs: [\n {\n headerName: '',\n field: 'select',\n cellRenderer: 'checkboxRenderer',\n cellRendererParams: (params) => ({\n // onChange: onChange,\n // value: checked[params.data.productId] || false,\n id: params.data.productId\n })\n },\n {\n headerName: t('Product Name'),\n field: 'name',\n minWidth: 200\n }\n ]\n }),\n [isEdit, selectedVertical, associatedProducts]\n );\n\n const executeMutation = useCallback(\n async (endpoint, method, data) =>\n apiMutate(\n ConfigService.uemV1ApiUrl,\n endpoint,\n {\n method: method || 'post'\n },\n data\n ),\n []\n );\n\n const getProducts = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation('uem', 'post', data);\n if (response?.status === 200) {\n setProducts(response?.data);\n }\n setLoading(false);\n },\n [executeMutation, setProducts]\n );\n\n const createVertical = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation(\n 'vertical/uemCreate',\n 'post',\n data\n );\n if (response?.status === 201) {\n closeSidesheet();\n handleSuccessSnackbar('Vertical Created Successfully');\n } else {\n handleErrorSnackbar('Something went wrong');\n }\n setLoading(false);\n },\n [executeMutation]\n );\n\n const updateVertical = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation(\n `vertical/${selectedVertical.verticalId}/uemUpdate`,\n 'put',\n data\n );\n if (response?.status === 204) {\n closeSidesheet();\n handleSuccessSnackbar('Vertical Updated Successfully');\n } else {\n handleErrorSnackbar('Something went wrong');\n }\n setLoading(false);\n },\n [selectedVertical, executeMutation]\n );\n\n const handleSubmit = useCallback(\n (values) => {\n setLoading(true);\n const products = selectedProductIdsRef.current.map((productId) => ({\n productId\n }));\n\n !isEdit\n ? createVertical({\n data: {\n name: values.name,\n products: products,\n icon: displayedIconRef?.current.name,\n EnvironmentId: environment.environmentId,\n apiPath: 'api/v1/vertical/uemCreate'\n }\n })\n : updateVertical({\n data: {\n name: values.name,\n products: products,\n icon: displayedIconRef?.current.name,\n EnvironmentId: environment.environmentId,\n apiPath: `api/v1/vertical/${selectedVertical.verticalId}/uemUpdate`\n }\n });\n },\n [\n isEdit,\n createVertical,\n environment,\n updateVertical,\n selectedVertical,\n selectedProductIdsRef\n ]\n );\n\n useEffect(() => {\n if (environment && getProducts) {\n if (environment.environmentId) {\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `tenantService/api/v2/product`\n }\n };\n getProducts(data);\n }\n }\n }, [environment, getProducts]);\n\n useEffect(() => {\n if (selectedVertical) {\n const associatedProductIds = selectedVertical.verticalProductVertical.map(\n (product) => product.productId\n );\n setSelectedProductIds((prevState) => [\n ...prevState,\n ...associatedProductIds\n ]);\n }\n }, [selectedVertical, setSelectedProductIds]);\n\n const setDisplayedIconCallback = useCallback(() => {\n setDisplayedIcon({\n name:\n isEdit && selectedVertical?.icon\n ? selectedVertical?.icon\n : 'StatusCircleQuestionMarkIcon'\n });\n }, [selectedVertical, isEdit]);\n\n useEffect(() => {\n setDisplayedIconCallback();\n }, [open]);\n\n const closeIconLibrary = () => {\n setOpenIconLibrary(false);\n };\n\n const onOpenLibrary = () => {\n setOpenIconLibrary(true);\n };\n\n const handleIconSelect = (icon) => {\n const updateddisplayedIcon = { ...props.displayedIcon };\n updateddisplayedIcon.name = icon.id;\n updateddisplayedIcon.type = icon.type || null;\n setDisplayedIcon(updateddisplayedIcon);\n closeIconLibrary();\n };\n\n const initialValues = useMemo(() => {\n return {\n name: isEdit ? selectedVertical?.name : ''\n };\n }, [associatedProducts, selectedVertical, isEdit]);\n\n return (\n <>\n <SideSheet\n open={open}\n onClose={() => closeSidesheet()}\n width={400}\n title={props.title}\n // buttonLabel={\"Create\"}\n // onSubmit={handleSubmit}\n >\n <Form\n ref={formRef}\n onSubmit={handleSubmit}\n initialValues={initialValues}\n >\n <div style={{ display: 'flex' }}>\n <Field\n ref={nameRef}\n component={TextField}\n label={t('Name')}\n id='name'\n name='name'\n variant='outlined'\n size='small'\n required={true}\n style={{ marginTop: 8 }}\n />\n\n <IconButton onClick={onOpenLibrary}>\n {displayedIcon && (\n <UnityFluentIcon\n type={displayedIcon?.type}\n icon={\n displayedIcon?.type === 'unity'\n ? getUnityIconFromName(displayedIcon?.name)\n : getIconFromName(displayedIcon?.name)\n }\n />\n )}\n </IconButton>\n </div>\n <AmbientGridTemplate\n data={products}\n title={t('Products')}\n loading={loading}\n height={'calc(100vh - 300px)'}\n hideGroupTab\n hideColumnTab\n disablePagination\n hideFitGrid\n hideExpandGrid\n hideExportGrid\n hideRemoveFilters\n hideFilterTab\n {...gridOptions}\n />\n <FormButtons>\n <SubmitButton\n variant='contained'\n color='secondary'\n marginTop={'50px'}\n disabled={false}\n disablePristine={false}\n >\n {t(isEdit ? 'Update' : 'Create')}\n </SubmitButton>\n </FormButtons>\n {loading && <LinearProgress />}\n </Form>\n </SideSheet>\n <SideSheet\n open={openIconLibrary}\n onClose={closeIconLibrary}\n title={t('Icon Library')}\n width={'100%'}\n anchor='bottom'\n >\n <IconLibrary\n addItem={handleIconSelect}\n selectedIconName={displayedIcon?.name}\n title={t('Select Icon')}\n />\n </SideSheet>\n </>\n );\n};\n\nexport default UdpVerticalManagementSidesheet;\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpVerticalManagementSidesheet-aIPwJWAM.js","names":["products","IconLibrary"],"sources":["../src/udp/pages/UdpVerticalManagementSidesheet/UdpVerticalManagementSidesheet.jsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useMemo,\n useRef,\n useEffect,\n useLayoutEffect\n} from 'react';\nimport {\n TextField,\n Button,\n LinearProgress,\n IconButton\n} from '@material-ui/core';\nimport { Form } from '../../../utilities/form/Form';\nimport { Field } from '../../../utilities/form/Field';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useTranslation } from 'react-i18next';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { FluentCheckbox } from '../../../UI/inputs/checkbox/FluentCheckbox';\nimport { UnityFluentIcon } from '../../../utilities/iconLibrary/UnityFluentIcon';\nimport {\n findAllParentIds,\n getIconFromName\n} from '../../../utilities/tree/TreeUtilities';\nimport { getUnityIconFromName } from '../../../utilities/iconLibrary/UnityIconLibrary';\nimport IconLibrary from '../../../utilities/iconLibrary/IconLibrary';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { FormButtons } from '../../../utilities/form';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\nconst UdpVerticalManagementSidesheet = (props) => {\n const {\n selectedVertical,\n environment,\n associatedProducts,\n isEdit,\n deleteVertical,\n open,\n selectedCatalog,\n closeSidesheet,\n onSubmit,\n ...sheetProps\n } = props;\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const actionState = useActionState();\n const [displayedIcon, setDisplayedIcon] = useState({\n name: 'StatusCircleQuestionMarkIcon',\n color: '',\n type: ''\n });\n const [products, setProducts] = useState([]);\n const [openIconLibrary, setOpenIconLibrary] = useState(false);\n\n const [selectedProductIds, setSelectedProductIds] = useState([]);\n const [checkboxValues, setCheckboxValues] = useState([]);\n const [submitButtonDisabled, setSubmitButtonDisabled] = useState(true);\n const selectedProductIdsRef = useRef();\n selectedProductIdsRef.current = selectedProductIds;\n const displayedIconRef = useRef();\n displayedIconRef.current = displayedIcon;\n const selectedVerticalRef = useRef();\n selectedVerticalRef.current = selectedVertical;\n const formRef = useRef();\n const nameRef = useRef();\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const CheckBoxRenderer = ({ onChange, value, id, defaultChecked }) => {\n const isAssociatedToVertical = useCallback(\n (productId) => {\n if (!isEdit) return false;\n for (let product of associatedProducts) {\n if (\n product.productId === productId &&\n product.verticalId === selectedVerticalRef.current.verticalId\n ) {\n return true;\n }\n }\n // console.log(selectedVerticalRef.current.icon)\n const icon = getIconFromName(selectedVerticalRef.current.icon);\n // console.log(\"🚀 ~ file: UdpVerticalManagementSidesheet.jsx:81 ~ isAssociatedToVertical ~ icon:\", icon)\n\n return false;\n },\n [associatedProducts, selectedVerticalRef]\n );\n\n const handleCheckboxChange = (e) => {\n if (e.target.checked) {\n setSelectedProductIds((prevState) => [...prevState, id]);\n } else {\n setSelectedProductIds((prevState) =>\n prevState.filter((item) => item !== id)\n );\n }\n };\n\n return (\n <FluentCheckbox\n // checked={value}\n defaultChecked={isAssociatedToVertical(id)}\n onChange={handleCheckboxChange}\n aria='column-active'\n />\n );\n };\n\n // const actionList = useMemo(\n // () => [\n // {\n // id: 1, // Must be unique\n // title: t('Edit'),\n // icon: EditIcon,\n // onClick: handleEditPage,\n // disabled: false\n // },\n // {\n // id: 2, // Must be unique\n // title: t('Delete'),\n // icon: DeleteIcon,\n // onClick: handleDelete,\n // disabled: false\n // }\n // ],\n // [t, handleEditPage, handleDelete]\n // );\n\n const gridOptions = useMemo(\n () => ({\n frameworkComponents: {\n actionsRenderer: ActionsRenderer,\n checkboxRenderer: CheckBoxRenderer\n },\n columnDefs: [\n {\n headerName: '',\n field: 'select',\n cellRenderer: 'checkboxRenderer',\n cellRendererParams: (params) => ({\n // onChange: onChange,\n // value: checked[params.data.productId] || false,\n id: params.data.productId\n })\n },\n {\n headerName: t('Product Name'),\n field: 'name',\n minWidth: 200\n }\n ]\n }),\n [isEdit, selectedVertical, associatedProducts]\n );\n\n const executeMutation = useCallback(\n async (endpoint, method, data) =>\n apiMutate(\n ConfigService.uemV1ApiUrl,\n endpoint,\n {\n method: method || 'post'\n },\n data\n ),\n []\n );\n\n const getProducts = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation('uem', 'post', data);\n if (response?.status === 200) {\n setProducts(response?.data);\n }\n setLoading(false);\n },\n [executeMutation, setProducts]\n );\n\n const createVertical = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation(\n 'vertical/uemCreate',\n 'post',\n data\n );\n if (response?.status === 201) {\n closeSidesheet();\n handleSuccessSnackbar('Vertical Created Successfully');\n } else {\n handleErrorSnackbar('Something went wrong');\n }\n setLoading(false);\n },\n [executeMutation]\n );\n\n const updateVertical = useCallback(\n async (data) => {\n setLoading(true);\n\n const response = await executeMutation(\n `vertical/${selectedVertical.verticalId}/uemUpdate`,\n 'put',\n data\n );\n if (response?.status === 204) {\n closeSidesheet();\n handleSuccessSnackbar('Vertical Updated Successfully');\n } else {\n handleErrorSnackbar('Something went wrong');\n }\n setLoading(false);\n },\n [selectedVertical, executeMutation]\n );\n\n const handleSubmit = useCallback(\n (values) => {\n setLoading(true);\n const products = selectedProductIdsRef.current.map((productId) => ({\n productId\n }));\n\n !isEdit\n ? createVertical({\n data: {\n name: values.name,\n products: products,\n icon: displayedIconRef?.current.name,\n EnvironmentId: environment.environmentId,\n apiPath: 'api/v1/vertical/uemCreate'\n }\n })\n : updateVertical({\n data: {\n name: values.name,\n products: products,\n icon: displayedIconRef?.current.name,\n EnvironmentId: environment.environmentId,\n apiPath: `api/v1/vertical/${selectedVertical.verticalId}/uemUpdate`\n }\n });\n },\n [\n isEdit,\n createVertical,\n environment,\n updateVertical,\n selectedVertical,\n selectedProductIdsRef\n ]\n );\n\n useEffect(() => {\n if (environment && getProducts) {\n if (environment.environmentId) {\n const data = {\n data: {\n customerId: null,\n environmentId: environment.environmentId,\n apiPath: `tenantService/api/v2/product`\n }\n };\n getProducts(data);\n }\n }\n }, [environment, getProducts]);\n\n useEffect(() => {\n if (selectedVertical) {\n const associatedProductIds = selectedVertical.verticalProductVertical.map(\n (product) => product.productId\n );\n setSelectedProductIds((prevState) => [\n ...prevState,\n ...associatedProductIds\n ]);\n }\n }, [selectedVertical, setSelectedProductIds]);\n\n const setDisplayedIconCallback = useCallback(() => {\n setDisplayedIcon({\n name:\n isEdit && selectedVertical?.icon\n ? selectedVertical?.icon\n : 'StatusCircleQuestionMarkIcon'\n });\n }, [selectedVertical, isEdit]);\n\n useEffect(() => {\n setDisplayedIconCallback();\n }, [open]);\n\n const closeIconLibrary = () => {\n setOpenIconLibrary(false);\n };\n\n const onOpenLibrary = () => {\n setOpenIconLibrary(true);\n };\n\n const handleIconSelect = (icon) => {\n const updateddisplayedIcon = { ...props.displayedIcon };\n updateddisplayedIcon.name = icon.id;\n updateddisplayedIcon.type = icon.type || null;\n setDisplayedIcon(updateddisplayedIcon);\n closeIconLibrary();\n };\n\n const initialValues = useMemo(() => {\n return {\n name: isEdit ? selectedVertical?.name : ''\n };\n }, [associatedProducts, selectedVertical, isEdit]);\n\n return (\n <>\n <SideSheet\n open={open}\n onClose={() => closeSidesheet()}\n width={400}\n title={props.title}\n // buttonLabel={\"Create\"}\n // onSubmit={handleSubmit}\n >\n <Form\n ref={formRef}\n onSubmit={handleSubmit}\n initialValues={initialValues}\n >\n <div style={{ display: 'flex' }}>\n <Field\n ref={nameRef}\n component={TextField}\n label={t('Name')}\n id='name'\n name='name'\n variant='outlined'\n size='small'\n required={true}\n style={{ marginTop: 8 }}\n />\n\n <IconButton onClick={onOpenLibrary}>\n {displayedIcon && (\n <UnityFluentIcon\n type={displayedIcon?.type}\n icon={\n displayedIcon?.type === 'unity'\n ? getUnityIconFromName(displayedIcon?.name)\n : getIconFromName(displayedIcon?.name)\n }\n />\n )}\n </IconButton>\n </div>\n <AmbientGridTemplate\n data={products}\n title={t('Products')}\n loading={loading}\n height={'calc(100vh - 300px)'}\n hideGroupTab\n hideColumnTab\n disablePagination\n hideFitGrid\n hideExpandGrid\n hideExportGrid\n hideRemoveFilters\n hideFilterTab\n {...gridOptions}\n />\n <FormButtons>\n <SubmitButton\n variant='contained'\n color='secondary'\n marginTop={'50px'}\n disabled={false}\n disablePristine={false}\n >\n {t(isEdit ? 'Update' : 'Create')}\n </SubmitButton>\n </FormButtons>\n {loading && <LinearProgress />}\n </Form>\n </SideSheet>\n <SideSheet\n open={openIconLibrary}\n onClose={closeIconLibrary}\n title={t('Icon Library')}\n width={'100%'}\n anchor='bottom'\n >\n <IconLibrary\n addItem={handleIconSelect}\n selectedIconName={displayedIcon?.name}\n title={t('Select Icon')}\n />\n </SideSheet>\n </>\n );\n};\n\nexport default UdpVerticalManagementSidesheet;\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { t as ConfigService } from "./configService-C4uoG3wj.js";
5
5
  import { t as useUser } from "./useUser-wpHGo6jU.js";
6
6
  import { t as FluentTextFieldAutoComplete } from "./FluentTextFieldAutoComplete-5Hp3qpk6.js";
7
7
  import { t as ADUserTypeEnums } from "./unitySystemEnums-DQSkCr3D.js";
8
- import { t as useAxiosGet } from "./useAxiosGet-BMoXHfLN.js";
8
+ import { t as useAxiosGet } from "./useAxiosGet-vvPjwB4W.js";
9
9
  import React, { useCallback, useEffect, useMemo, useState } from "react";
10
10
  import { Checkbox, Divider, FormControlLabel, IconButton, InputAdornment, LinearProgress, Radio, RadioGroup, TextField, makeStyles } from "@material-ui/core";
11
11
  import { useForm } from "react-final-form";
@@ -312,4 +312,4 @@ var UserForm_default = UserForm;
312
312
 
313
313
  //#endregion
314
314
  export { UserForm_default as n, isPasswordValid as r, UserForm as t };
315
- //# sourceMappingURL=UserForm-BvhytSr8.js.map
315
+ //# sourceMappingURL=UserForm-Crii1kld.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserForm-BvhytSr8.js","names":["useStyles","Field","PasswordValidator","Form","UserFormFields"],"sources":["../src/shell/ui/addUser/PasswordValidator.jsx","../src/shell/ui/addUser/UserFormFields.jsx","../src/shell/ui/addUser/UserForm.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nconst validatePassword = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n let issues = [];\n if(!password) return [];\n if (lengthRestriction && password.length < lengthRestriction) {\n issues.push(\n `Password must be at least ${lengthRestriction} characters long.`\n );\n }\n if (upperCaseRestriction && !/[A-Z]/.test(password)) {\n issues.push('Password must contain at least one uppercase letter.');\n }\n if (specialCharacterRestriction && !/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n issues.push('Password must contain at least one special character.');\n }\n if (numberRestriction && !/\\d/.test(password)) {\n issues.push('Password must contain at least one number.');\n }\n if (lowerCaseRestriction && !/[a-z]/.test(password)) {\n issues.push('Password must contain at least one lowercase letter.');\n }\n return issues;\n};\nexport const isPasswordValid = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n return (\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ).length === 0\n );\n};\nconst PasswordValidator = ({\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction,\n}) => {\n const issues = useMemo(\n () =>\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ),\n [password]\n );\n\n return issues?.length && password?.length ? (\n <div>\n <p style={{ color: 'red' }}>\n {issues.map((issue, index) => (\n <>\n {issue}\n <br />\n </>\n ))}\n </p>\n </div>\n ) : null;\n};\n\nexport default PasswordValidator;\n","import {\n Checkbox,\n FormControlLabel,\n makeStyles,\n TextField,\n RadioGroup,\n Radio,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { ADUserTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { Field } from '../../../utilities/form/Field';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport { useForm } from 'react-final-form';\nimport PasswordValidator, { isPasswordValid } from './PasswordValidator';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextFieldAutoComplete } from '../../../UI/inputs/textField/FluentTextFieldAutoComplete';\n\n\nconst removeWhiteSpace = str => {\n if (!str) {\n return '';\n }\n return str.replace(/\\s/g, '');\n};\n\n\n\nconst useStyles = makeStyles(theme => ({\n field: {\n marginBottom: theme.spacing(2),\n },\n selectors: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginTop: theme.spacing(-2),\n marginBottom: theme.spacing(2),\n },\n accountDisabledCheckbox: {\n height: 'auto',\n },\n accountDisabledCheckboxLabel: {\n marginTop: theme.spacing(1),\n },\n}));\n\n\nconst UserFormFields = props => {\n const {\n editedUser,\n rolesData,\n showRolesField = true,\n handlePasswordTypeChange,\n passwordType,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [showPassword, setShowPassword] = useState(false);\n const form = useForm();\n const { t } = useTranslation();\n\n const roles = useMemo(() => {\n if (!rolesData) {\n return [];\n }\n rolesData.forEach(r => {\n r.label = r.name;\n r.value = r.name;\n });\n return rolesData\n .sort((a, b) => a.label.localeCompare(b.label))\n .sort((a, b) => a.productName.localeCompare(b.productName));\n }, [rolesData]);\n\n\n const handleClickShowPassword = useCallback(() => {\n setShowPassword(!showPassword);\n }, [showPassword]);\n\n useEffect(() => {\n if (editedUser) {\n form.change('givenName', editedUser.givenName);\n form.change('surname', editedUser.surname);\n form.change('jobTitle', editedUser.jobTitle);\n form.change('location', editedUser.location);\n form.change('mobilePhone', editedUser.mobilePhone);\n form.change('officePhone', editedUser.officePhone);\n }\n }, [editedUser, form]);\n\n return (\n <>\n {editedUser && (\n <Field\n component={TextField}\n label={t(\"Unity ID\")}\n id=\"unity-id\"\n udprecordid=\"udpRecord-UserFormFields-unity-id\"\n name=\"unityId\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n editedUser?.userId\n }\n disabled={true}\n />\n )}\n <Field\n component={TextField}\n label={t(\"First Name\")}\n id=\"first-name\"\n udprecordid=\"udpRecord-UserFormFields-first-name\"\n name=\"givenName\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.givenName}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Last Name\")}\n id=\"last-name\"\n udprecordid=\"udpRecord-UserFormFields-last-name\"\n name=\"surname\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.surname}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Email\")}\n id=\"email\"\n udprecordid=\"udpRecord-UserFormFields-email\"\n name=\"email\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.email}\n disabled={editedUser && !user.can.CAN_MODIFY_EMAIL}\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n return t('Invalid email address');\n }\n }}\n />\n <Field\n component={TextField}\n label={t(\"Title\")}\n id=\"title\"\n udprecordid=\"udpRecord-UserFormFields-title\"\n name=\"jobTitle\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.jobTitle === 'string'\n ? editedUser?.jobTitle.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value} // makes empty string values get added to form submission object\n />\n <Field\n component={TextField}\n label={t(\"Location\")}\n id=\"location\"\n udprecordid=\"udpRecord-UserFormFields-location\"\n name=\"location\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.location === 'string'\n ? editedUser?.location.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Mobile Phone\")}\n id=\"mobile-phone\"\n udprecordid=\"udpRecord-UserFormFields-mobile-phone\"\n name=\"mobilePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.mobilePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Office Phone\")}\n id=\"office-phone\"\n udprecordid=\"udpRecord-UserFormFields-office-phone\"\n name=\"officePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.officePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n {showRolesField && (\n <Field\n component={FluentTextFieldAutoComplete}\n label={t(\"Select Role\")}\n id=\"roles\"\n udprecordid=\"udpRecord-UserFormFields-roles\"\n name=\"roles\"\n fullWidth\n options={roles || []}\n textFieldProps={{\n id: 'roles',\n name: 'roles',\n }}\n optionKey={'label'}\n isMultiple={true}\n groupBy={(option) => option.productName}\n required\n />\n )}\n {!editedUser && (\n <>\n <RadioGroup\n aria-labelledby=\"password-type\"\n name=\"password-type\"\n value={passwordType}\n onChange={handlePasswordTypeChange}\n >\n <FormControlLabel\n value=\"autoGeneratePassword\"\n control={<Radio />}\n label={t(\"Auto-generate password\")}\n udprecordid=\"udpRecord-UserFormFields-auto-generate-password\"\n />\n <FormControlLabel\n value=\"createPassword\"\n control={<Radio />}\n label={t(\"Let me create the password\")}\n udprecordid=\"udpRecord-UserFormFields-create-password\"\n />\n </RadioGroup>\n {passwordType === 'createPassword' && (\n <Field\n component={TextField}\n label={t(\"Password\")}\n id=\"passwordProfile\"\n udprecordid=\"udpRecord-UserFormFields-passwordProfile\"\n name=\"passwordProfile\"\n type={showPassword ? 'text' : 'password'}\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n autoComplete=\"new-password\"\n validate={value =>\n !isPasswordValid(value, 8, true, true, true, true) && (\n <PasswordValidator\n password={value}\n numberRestriction\n lowerCaseRestriction\n upperCaseRestriction\n lengthRestriction={8}\n specialCharacterRestriction\n />\n )\n }\n InputProps={{\n // <-- This is where the toggle button is added.\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n >\n {showPassword ? <Visibility /> : <VisibilityOff />}\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n )}\n </>\n )}\n {!editedUser && (\n <FormControlLabel\n className={classes.accountDisabledCheckboxLabel}\n label={t('Do not activate account and do not send a welcome email.')}\n control={\n <Field\n component={Checkbox}\n id=\"account-disabled\"\n udprecordid=\"udpRecord-UserFormFields-account-disabled\"\n name={'locked'}\n type=\"checkbox\"\n disabled={!user.can.CAN_MANAGE_USERS}\n classes={classes}\n />\n }\n />\n )}\n </>\n );\n};\nexport default UserFormFields;\n","import { Divider, LinearProgress, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { Form } from '../../../utilities/form/Form';\nimport { FormButtons } from '../../../utilities/form/FormButtons';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { useAxiosGet } from '../../../../src/utilities/useAxiosGet';\nimport { useUser } from '../../../../src/utilities/auth/useUser';\nimport UserFormFields from './UserFormFields';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../../configService';\n\n\nconst useStyles = makeStyles(theme => ({\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n loadingBar: {\n bottom: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nexport const UserForm = props => {\n const {\n submitUser,\n editedUser,\n creatingUser,\n tenant,\n updateCreatedUser,\n showRolesField = true,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [passwordType, setPasswordType] = useState('autoGeneratePassword');\n const { t } = useTranslation();\n\n\n // GET list of roles\n const [{ data: rolesData }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `roles?userId=${user.id}&tenantId=${tenant?.tenantId}`,\n {},\n !!!tenant,\n false\n );\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleSubmitUser = useCallback(\n values => {\n if (submitUser) {\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n updateCreatedUser && editedUser\n ? updateCreatedUser(values)\n : submitUser(values);\n }\n },\n [submitUser, passwordType, updateCreatedUser, editedUser]\n );\n\n return (\n <>\n <Form onSubmit={handleSubmitUser}>\n <UserFormFields\n rolesData={rolesData}\n editedUser={editedUser}\n showRolesField={showRolesField}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n />\n {user.can.CAN_MANAGE_USERS && (\n <>\n <div className={classes.divider}>\n <Divider />\n </div>\n <FormButtons>\n <SubmitButton\n variant=\"contained\"\n color=\"primary\"\n disablePristine={false}\n disabled={creatingUser}\n udprecordid=\"udpRecord-UserFormFields-submit\"\n >\n {editedUser ? t('Update') : t('Create')}\n </SubmitButton>\n </FormButtons>\n </>\n )}\n </Form>\n {creatingUser && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n </>\n );\n};\nexport default UserForm;\n"],"mappings":"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"}
1
+ {"version":3,"file":"UserForm-Crii1kld.js","names":["useStyles","Field","PasswordValidator","Form","UserFormFields"],"sources":["../src/shell/ui/addUser/PasswordValidator.jsx","../src/shell/ui/addUser/UserFormFields.jsx","../src/shell/ui/addUser/UserForm.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nconst validatePassword = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n let issues = [];\n if(!password) return [];\n if (lengthRestriction && password.length < lengthRestriction) {\n issues.push(\n `Password must be at least ${lengthRestriction} characters long.`\n );\n }\n if (upperCaseRestriction && !/[A-Z]/.test(password)) {\n issues.push('Password must contain at least one uppercase letter.');\n }\n if (specialCharacterRestriction && !/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n issues.push('Password must contain at least one special character.');\n }\n if (numberRestriction && !/\\d/.test(password)) {\n issues.push('Password must contain at least one number.');\n }\n if (lowerCaseRestriction && !/[a-z]/.test(password)) {\n issues.push('Password must contain at least one lowercase letter.');\n }\n return issues;\n};\nexport const isPasswordValid = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n return (\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ).length === 0\n );\n};\nconst PasswordValidator = ({\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction,\n}) => {\n const issues = useMemo(\n () =>\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ),\n [password]\n );\n\n return issues?.length && password?.length ? (\n <div>\n <p style={{ color: 'red' }}>\n {issues.map((issue, index) => (\n <>\n {issue}\n <br />\n </>\n ))}\n </p>\n </div>\n ) : null;\n};\n\nexport default PasswordValidator;\n","import {\n Checkbox,\n FormControlLabel,\n makeStyles,\n TextField,\n RadioGroup,\n Radio,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { ADUserTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { Field } from '../../../utilities/form/Field';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport { useForm } from 'react-final-form';\nimport PasswordValidator, { isPasswordValid } from './PasswordValidator';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextFieldAutoComplete } from '../../../UI/inputs/textField/FluentTextFieldAutoComplete';\n\n\nconst removeWhiteSpace = str => {\n if (!str) {\n return '';\n }\n return str.replace(/\\s/g, '');\n};\n\n\n\nconst useStyles = makeStyles(theme => ({\n field: {\n marginBottom: theme.spacing(2),\n },\n selectors: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginTop: theme.spacing(-2),\n marginBottom: theme.spacing(2),\n },\n accountDisabledCheckbox: {\n height: 'auto',\n },\n accountDisabledCheckboxLabel: {\n marginTop: theme.spacing(1),\n },\n}));\n\n\nconst UserFormFields = props => {\n const {\n editedUser,\n rolesData,\n showRolesField = true,\n handlePasswordTypeChange,\n passwordType,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [showPassword, setShowPassword] = useState(false);\n const form = useForm();\n const { t } = useTranslation();\n\n const roles = useMemo(() => {\n if (!rolesData) {\n return [];\n }\n rolesData.forEach(r => {\n r.label = r.name;\n r.value = r.name;\n });\n return rolesData\n .sort((a, b) => a.label.localeCompare(b.label))\n .sort((a, b) => a.productName.localeCompare(b.productName));\n }, [rolesData]);\n\n\n const handleClickShowPassword = useCallback(() => {\n setShowPassword(!showPassword);\n }, [showPassword]);\n\n useEffect(() => {\n if (editedUser) {\n form.change('givenName', editedUser.givenName);\n form.change('surname', editedUser.surname);\n form.change('jobTitle', editedUser.jobTitle);\n form.change('location', editedUser.location);\n form.change('mobilePhone', editedUser.mobilePhone);\n form.change('officePhone', editedUser.officePhone);\n }\n }, [editedUser, form]);\n\n return (\n <>\n {editedUser && (\n <Field\n component={TextField}\n label={t(\"Unity ID\")}\n id=\"unity-id\"\n udprecordid=\"udpRecord-UserFormFields-unity-id\"\n name=\"unityId\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n editedUser?.userId\n }\n disabled={true}\n />\n )}\n <Field\n component={TextField}\n label={t(\"First Name\")}\n id=\"first-name\"\n udprecordid=\"udpRecord-UserFormFields-first-name\"\n name=\"givenName\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.givenName}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Last Name\")}\n id=\"last-name\"\n udprecordid=\"udpRecord-UserFormFields-last-name\"\n name=\"surname\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.surname}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Email\")}\n id=\"email\"\n udprecordid=\"udpRecord-UserFormFields-email\"\n name=\"email\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.email}\n disabled={editedUser && !user.can.CAN_MODIFY_EMAIL}\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n return t('Invalid email address');\n }\n }}\n />\n <Field\n component={TextField}\n label={t(\"Title\")}\n id=\"title\"\n udprecordid=\"udpRecord-UserFormFields-title\"\n name=\"jobTitle\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.jobTitle === 'string'\n ? editedUser?.jobTitle.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value} // makes empty string values get added to form submission object\n />\n <Field\n component={TextField}\n label={t(\"Location\")}\n id=\"location\"\n udprecordid=\"udpRecord-UserFormFields-location\"\n name=\"location\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.location === 'string'\n ? editedUser?.location.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Mobile Phone\")}\n id=\"mobile-phone\"\n udprecordid=\"udpRecord-UserFormFields-mobile-phone\"\n name=\"mobilePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.mobilePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Office Phone\")}\n id=\"office-phone\"\n udprecordid=\"udpRecord-UserFormFields-office-phone\"\n name=\"officePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.officePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n {showRolesField && (\n <Field\n component={FluentTextFieldAutoComplete}\n label={t(\"Select Role\")}\n id=\"roles\"\n udprecordid=\"udpRecord-UserFormFields-roles\"\n name=\"roles\"\n fullWidth\n options={roles || []}\n textFieldProps={{\n id: 'roles',\n name: 'roles',\n }}\n optionKey={'label'}\n isMultiple={true}\n groupBy={(option) => option.productName}\n required\n />\n )}\n {!editedUser && (\n <>\n <RadioGroup\n aria-labelledby=\"password-type\"\n name=\"password-type\"\n value={passwordType}\n onChange={handlePasswordTypeChange}\n >\n <FormControlLabel\n value=\"autoGeneratePassword\"\n control={<Radio />}\n label={t(\"Auto-generate password\")}\n udprecordid=\"udpRecord-UserFormFields-auto-generate-password\"\n />\n <FormControlLabel\n value=\"createPassword\"\n control={<Radio />}\n label={t(\"Let me create the password\")}\n udprecordid=\"udpRecord-UserFormFields-create-password\"\n />\n </RadioGroup>\n {passwordType === 'createPassword' && (\n <Field\n component={TextField}\n label={t(\"Password\")}\n id=\"passwordProfile\"\n udprecordid=\"udpRecord-UserFormFields-passwordProfile\"\n name=\"passwordProfile\"\n type={showPassword ? 'text' : 'password'}\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n autoComplete=\"new-password\"\n validate={value =>\n !isPasswordValid(value, 8, true, true, true, true) && (\n <PasswordValidator\n password={value}\n numberRestriction\n lowerCaseRestriction\n upperCaseRestriction\n lengthRestriction={8}\n specialCharacterRestriction\n />\n )\n }\n InputProps={{\n // <-- This is where the toggle button is added.\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n >\n {showPassword ? <Visibility /> : <VisibilityOff />}\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n )}\n </>\n )}\n {!editedUser && (\n <FormControlLabel\n className={classes.accountDisabledCheckboxLabel}\n label={t('Do not activate account and do not send a welcome email.')}\n control={\n <Field\n component={Checkbox}\n id=\"account-disabled\"\n udprecordid=\"udpRecord-UserFormFields-account-disabled\"\n name={'locked'}\n type=\"checkbox\"\n disabled={!user.can.CAN_MANAGE_USERS}\n classes={classes}\n />\n }\n />\n )}\n </>\n );\n};\nexport default UserFormFields;\n","import { Divider, LinearProgress, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { Form } from '../../../utilities/form/Form';\nimport { FormButtons } from '../../../utilities/form/FormButtons';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { useAxiosGet } from '../../../../src/utilities/useAxiosGet';\nimport { useUser } from '../../../../src/utilities/auth/useUser';\nimport UserFormFields from './UserFormFields';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../../configService';\n\n\nconst useStyles = makeStyles(theme => ({\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n loadingBar: {\n bottom: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nexport const UserForm = props => {\n const {\n submitUser,\n editedUser,\n creatingUser,\n tenant,\n updateCreatedUser,\n showRolesField = true,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [passwordType, setPasswordType] = useState('autoGeneratePassword');\n const { t } = useTranslation();\n\n\n // GET list of roles\n const [{ data: rolesData }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `roles?userId=${user.id}&tenantId=${tenant?.tenantId}`,\n {},\n !!!tenant,\n false\n );\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleSubmitUser = useCallback(\n values => {\n if (submitUser) {\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n updateCreatedUser && editedUser\n ? updateCreatedUser(values)\n : submitUser(values);\n }\n },\n [submitUser, passwordType, updateCreatedUser, editedUser]\n );\n\n return (\n <>\n <Form onSubmit={handleSubmitUser}>\n <UserFormFields\n rolesData={rolesData}\n editedUser={editedUser}\n showRolesField={showRolesField}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n />\n {user.can.CAN_MANAGE_USERS && (\n <>\n <div className={classes.divider}>\n <Divider />\n </div>\n <FormButtons>\n <SubmitButton\n variant=\"contained\"\n color=\"primary\"\n disablePristine={false}\n disabled={creatingUser}\n udprecordid=\"udpRecord-UserFormFields-submit\"\n >\n {editedUser ? t('Update') : t('Create')}\n </SubmitButton>\n </FormButtons>\n </>\n )}\n </Form>\n {creatingUser && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n </>\n );\n};\nexport default UserForm;\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
2
- import { i as useHandleAxiosSnackbar } from "./apiHelpers-BpZTkMX8.js";
3
- import { t as apiMutate } from "./useAxiosMutate-q_ZpG98Z.js";
2
+ import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
3
+ import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
4
4
  import { n as SideSheet } from "./SideSheet-C-rILQqR.js";
5
5
  import { t as useTenant } from "./useTenant-MqKOZve_.js";
6
- import { n as UserForm_default } from "./UserForm-BvhytSr8.js";
6
+ import { n as UserForm_default } from "./UserForm-Crii1kld.js";
7
7
  import React, { useCallback, useState } from "react";
8
8
  import { useSnackbar } from "notistack";
9
9
  import { cloneDeep } from "lodash";
@@ -90,4 +90,4 @@ var UserFormSideSheet_default = UserFormSideSheet;
90
90
 
91
91
  //#endregion
92
92
  export { UserFormSideSheet_default as t };
93
- //# sourceMappingURL=UserFormSideSheet-hCzYWgFm.js.map
93
+ //# sourceMappingURL=UserFormSideSheet-2QRJUUnm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserFormSideSheet-hCzYWgFm.js","names":["UserForm"],"sources":["../src/shell/ui/addUser/UserFormSideSheet.jsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport UserForm from './UserForm';\nimport { useSnackbar } from 'notistack';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../../configService';\n\n\nconst UserFormSideSheet = ({\n open,\n onClose,\n}) => {\n const [loading, setLoading] = useState(false);\n const tenant = useTenant();\n const { t } = useTranslation();\n const { handleErrorSnackbar, handleSuccessSnackbar } = useHandleAxiosSnackbar();\n\n // Helper functions\n const getUserByEmail = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/email/${email}`,\n { method: 'get' }\n );\n },\n []\n );\n\n const createUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/${tenant?.activeTenant?.tenantId ?? ''}`,\n { method: 'post' },\n data\n );\n },\n [tenant]\n );\n\n const addUserToTenant = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenants/${tenant?.activeTenant?.tenantId ?? ''}/${email}`,\n { method: 'post' }\n );\n },\n [tenant]\n );\n\n const updateExistingUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/aad/${data.id}`,\n { method: 'patch' },\n data\n );\n },\n []\n );\n\n const fillInValues = (oldValues, newValues) => {\n const invalidFields = [\n 'id', 'displayName', 'mail', 'userType', 'email',\n 'accountEnabled', 'mailNickname', 'identities',\n 'password', 'passwordProfile', 'unityId',\n 'unityDefaultTenantId'\n ];\n for (let field in oldValues) {\n if (!invalidFields.includes(field)) {\n if (!oldValues[field]) {\n oldValues[field] = newValues[field];\n }\n }\n }\n return oldValues;\n };\n\n const handleSubmit = useCallback(\n async values => {\n setLoading(true);\n try {\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n\n const userExistsResponse = await getUserByEmail(values.email);\n const userExists = userExistsResponse.data;\n\n if (userExists) {\n const existingUser = cloneDeep(userExists);\n const updatedValues = fillInValues(existingUser, values);\n\n // Update existing user and add to tenant\n await updateExistingUser({ data: updatedValues });\n await addUserToTenant(values.email);\n handleSuccessSnackbar(t('User has been updated and added to the tenant'))\n } else {\n // Create a new user\n await createUser({ data: values });\n handleSuccessSnackbar(t('User has been created successfully'))\n }\n\n onClose(); // Close the SideSheet after successful submission\n } catch (error) {\n handleErrorSnackbar(error.message || t('An error occurred, please ensure you are creating a new user'))\n } finally {\n setLoading(false);\n }\n },\n [\n getUserByEmail,\n createUser,\n addUserToTenant,\n updateExistingUser,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n onClose,\n ]\n );\n\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title={t(\"Add User\")}\n width={600} // Adjust the width as needed\n >\n <UserForm\n submitUser={handleSubmit}\n creatingUser={loading}\n tenant={tenant?.activeTenant}\n />\n </SideSheet>\n );\n};\n\nexport default UserFormSideSheet;\n"],"mappings":";;;;;;;;;;;;AAYA,MAAM,qBAAqB,EACzB,MACA,cACI;CACJ,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,SAAS,WAAW;CAC1B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,EAAE,qBAAqB,0BAA0B,wBAAwB;CAG/E,MAAM,iBAAiB,YACrB,OAAM,UAAS;AACb,SAAO,MAAM,UACX,cAAc,kBACd,eAAe,SACf,EAAE,QAAQ,OAAO,CAClB;IAEH,EAAE,CACH;CAED,MAAM,aAAa,YACjB,OAAM,SAAQ;AACZ,SAAO,MAAM,UACX,cAAc,kBACd,SAAS,QAAQ,cAAc,YAAY,MAC3C,EAAE,QAAQ,QAAQ,EAClB,KACD;IAEH,CAAC,OAAO,CACT;CAED,MAAM,kBAAkB,YACtB,OAAM,UAAS;AACb,SAAO,MAAM,UACX,cAAc,gBACd,WAAW,QAAQ,cAAc,YAAY,GAAG,GAAG,SACnD,EAAE,QAAQ,QAAQ,CACnB;IAEH,CAAC,OAAO,CACT;CAED,MAAM,qBAAqB,YACzB,OAAM,SAAQ;AACZ,SAAO,MAAM,UACX,cAAc,kBACd,aAAa,KAAK,MAClB,EAAE,QAAQ,SAAS,EACnB,KACD;IAEH,EAAE,CACH;CAED,MAAM,gBAAgB,WAAW,cAAc;EAC7C,MAAM,gBAAgB;GACpB;GAAM;GAAe;GAAQ;GAAY;GACzC;GAAkB;GAAgB;GAClC;GAAY;GAAmB;GAC/B;GACD;AACD,OAAK,IAAI,SAAS,UAChB,KAAI,CAAC,cAAc,SAAS,MAAM,EAChC;OAAI,CAAC,UAAU,OACb,WAAU,SAAS,UAAU;;AAInC,SAAO;;CAGT,MAAM,eAAe,YACnB,OAAM,WAAU;AACd,aAAW,KAAK;AAChB,MAAI;AACF,OAAI,OAAO,MACT,QAAO,QAAQ,OAAO,MAAM,aAAa,CAAC,MAAM;GAIlD,MAAM,cADqB,MAAM,eAAe,OAAO,MAAM,EACvB;AAEtC,OAAI,YAAY;AAKd,UAAM,mBAAmB,EAAE,MAHL,aADD,UAAU,WAAW,EACO,OAAO,EAGR,CAAC;AACjD,UAAM,gBAAgB,OAAO,MAAM;AACnC,0BAAsB,EAAE,gDAAgD,CAAC;UACpE;AAEL,UAAM,WAAW,EAAE,MAAM,QAAQ,CAAC;AAClC,0BAAsB,EAAE,qCAAqC,CAAC;;AAGhE,YAAS;WACF,OAAO;AACd,uBAAoB,MAAM,WAAW,EAAE,+DAA+D,CAAC;YAC/F;AACR,cAAW,MAAM;;IAGrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAED,QACE,oCAAC;EACO;EACG;EACT,OAAO,EAAE,WAAW;EACpB,OAAO;IAEP,oCAACA;EACC,YAAY;EACZ,cAAc;EACd,QAAQ,QAAQ;GAChB,CACQ;;AAIhB,gCAAe"}
1
+ {"version":3,"file":"UserFormSideSheet-2QRJUUnm.js","names":["UserForm"],"sources":["../src/shell/ui/addUser/UserFormSideSheet.jsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport UserForm from './UserForm';\nimport { useSnackbar } from 'notistack';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../../../configService';\n\n\nconst UserFormSideSheet = ({\n open,\n onClose,\n}) => {\n const [loading, setLoading] = useState(false);\n const tenant = useTenant();\n const { t } = useTranslation();\n const { handleErrorSnackbar, handleSuccessSnackbar } = useHandleAxiosSnackbar();\n\n // Helper functions\n const getUserByEmail = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/email/${email}`,\n { method: 'get' }\n );\n },\n []\n );\n\n const createUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/${tenant?.activeTenant?.tenantId ?? ''}`,\n { method: 'post' },\n data\n );\n },\n [tenant]\n );\n\n const addUserToTenant = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenants/${tenant?.activeTenant?.tenantId ?? ''}/${email}`,\n { method: 'post' }\n );\n },\n [tenant]\n );\n\n const updateExistingUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/aad/${data.id}`,\n { method: 'patch' },\n data\n );\n },\n []\n );\n\n const fillInValues = (oldValues, newValues) => {\n const invalidFields = [\n 'id', 'displayName', 'mail', 'userType', 'email',\n 'accountEnabled', 'mailNickname', 'identities',\n 'password', 'passwordProfile', 'unityId',\n 'unityDefaultTenantId'\n ];\n for (let field in oldValues) {\n if (!invalidFields.includes(field)) {\n if (!oldValues[field]) {\n oldValues[field] = newValues[field];\n }\n }\n }\n return oldValues;\n };\n\n const handleSubmit = useCallback(\n async values => {\n setLoading(true);\n try {\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n\n const userExistsResponse = await getUserByEmail(values.email);\n const userExists = userExistsResponse.data;\n\n if (userExists) {\n const existingUser = cloneDeep(userExists);\n const updatedValues = fillInValues(existingUser, values);\n\n // Update existing user and add to tenant\n await updateExistingUser({ data: updatedValues });\n await addUserToTenant(values.email);\n handleSuccessSnackbar(t('User has been updated and added to the tenant'))\n } else {\n // Create a new user\n await createUser({ data: values });\n handleSuccessSnackbar(t('User has been created successfully'))\n }\n\n onClose(); // Close the SideSheet after successful submission\n } catch (error) {\n handleErrorSnackbar(error.message || t('An error occurred, please ensure you are creating a new user'))\n } finally {\n setLoading(false);\n }\n },\n [\n getUserByEmail,\n createUser,\n addUserToTenant,\n updateExistingUser,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n onClose,\n ]\n );\n\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title={t(\"Add User\")}\n width={600} // Adjust the width as needed\n >\n <UserForm\n submitUser={handleSubmit}\n creatingUser={loading}\n tenant={tenant?.activeTenant}\n />\n </SideSheet>\n );\n};\n\nexport default UserFormSideSheet;\n"],"mappings":";;;;;;;;;;;;AAYA,MAAM,qBAAqB,EACzB,MACA,cACI;CACJ,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,SAAS,WAAW;CAC1B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,EAAE,qBAAqB,0BAA0B,wBAAwB;CAG/E,MAAM,iBAAiB,YACrB,OAAM,UAAS;AACb,SAAO,MAAM,UACX,cAAc,kBACd,eAAe,SACf,EAAE,QAAQ,OAAO,CAClB;IAEH,EAAE,CACH;CAED,MAAM,aAAa,YACjB,OAAM,SAAQ;AACZ,SAAO,MAAM,UACX,cAAc,kBACd,SAAS,QAAQ,cAAc,YAAY,MAC3C,EAAE,QAAQ,QAAQ,EAClB,KACD;IAEH,CAAC,OAAO,CACT;CAED,MAAM,kBAAkB,YACtB,OAAM,UAAS;AACb,SAAO,MAAM,UACX,cAAc,gBACd,WAAW,QAAQ,cAAc,YAAY,GAAG,GAAG,SACnD,EAAE,QAAQ,QAAQ,CACnB;IAEH,CAAC,OAAO,CACT;CAED,MAAM,qBAAqB,YACzB,OAAM,SAAQ;AACZ,SAAO,MAAM,UACX,cAAc,kBACd,aAAa,KAAK,MAClB,EAAE,QAAQ,SAAS,EACnB,KACD;IAEH,EAAE,CACH;CAED,MAAM,gBAAgB,WAAW,cAAc;EAC7C,MAAM,gBAAgB;GACpB;GAAM;GAAe;GAAQ;GAAY;GACzC;GAAkB;GAAgB;GAClC;GAAY;GAAmB;GAC/B;GACD;AACD,OAAK,IAAI,SAAS,UAChB,KAAI,CAAC,cAAc,SAAS,MAAM,EAChC;OAAI,CAAC,UAAU,OACb,WAAU,SAAS,UAAU;;AAInC,SAAO;;CAGT,MAAM,eAAe,YACnB,OAAM,WAAU;AACd,aAAW,KAAK;AAChB,MAAI;AACF,OAAI,OAAO,MACT,QAAO,QAAQ,OAAO,MAAM,aAAa,CAAC,MAAM;GAIlD,MAAM,cADqB,MAAM,eAAe,OAAO,MAAM,EACvB;AAEtC,OAAI,YAAY;AAKd,UAAM,mBAAmB,EAAE,MAHL,aADD,UAAU,WAAW,EACO,OAAO,EAGR,CAAC;AACjD,UAAM,gBAAgB,OAAO,MAAM;AACnC,0BAAsB,EAAE,gDAAgD,CAAC;UACpE;AAEL,UAAM,WAAW,EAAE,MAAM,QAAQ,CAAC;AAClC,0BAAsB,EAAE,qCAAqC,CAAC;;AAGhE,YAAS;WACF,OAAO;AACd,uBAAoB,MAAM,WAAW,EAAE,+DAA+D,CAAC;YAC/F;AACR,cAAW,MAAM;;IAGrB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAED,QACE,oCAAC;EACO;EACG;EACT,OAAO,EAAE,WAAW;EACpB,OAAO;IAEP,oCAACA;EACC,YAAY;EACZ,cAAc;EACd,QAAQ,QAAQ;GAChB,CACQ;;AAIhB,gCAAe"}
@@ -3,12 +3,12 @@ import "./Field-Cda5rJe2.js";
3
3
  import "./FluentButton-BexKrnAp.js";
4
4
  import "./FormButtons-BTCO-pzW.js";
5
5
  import "./configService-C4uoG3wj.js";
6
- import "./apiHelpers-BpZTkMX8.js";
7
- import "./pageEnums-CA-HlW3W.js";
6
+ import "./apiHelpers-B_cn3sZo.js";
7
+ import "./pageEnums-DHCYa0ey.js";
8
8
  import "./UnitySessionStorage-CUDx9YWR.js";
9
- import "./axiosInterceptors-6Czv1PA5.js";
9
+ import "./axiosInterceptors-FQ3b5kjr.js";
10
10
  import "./useUser-wpHGo6jU.js";
11
- import "./useAxiosMutate-q_ZpG98Z.js";
11
+ import "./useAxiosMutate-DcLxzykX.js";
12
12
  import "./FluentTextFieldAutoComplete-5Hp3qpk6.js";
13
13
  import "./FluentIcon-DQ6nSDJg.js";
14
14
  import "./FluentIconButton-Dc95mE3v.js";
@@ -16,10 +16,10 @@ import "./unitySystemEnums-DQSkCr3D.js";
16
16
  import "./StandardTitle-DJ9zcNBA.js";
17
17
  import "./SideSheetHeader-DgnkLGmv.js";
18
18
  import "./SideSheet-C-rILQqR.js";
19
- import "./useAxiosGet-BMoXHfLN.js";
19
+ import "./useAxiosGet-vvPjwB4W.js";
20
20
  import "./tenantContext-Bu-2lTI5.js";
21
21
  import "./useTenant-MqKOZve_.js";
22
- import "./UserForm-BvhytSr8.js";
23
- import { t as UserFormSideSheet_default } from "./UserFormSideSheet-hCzYWgFm.js";
22
+ import "./UserForm-Crii1kld.js";
23
+ import { t as UserFormSideSheet_default } from "./UserFormSideSheet-2QRJUUnm.js";
24
24
 
25
25
  export { UserFormSideSheet_default as default };
@@ -1,6 +1,6 @@
1
1
  import { t as FluentIconButton } from "./FluentIconButton-Dc95mE3v.js";
2
2
  import { n as useShellStore } from "./shellStore-C8zfPsZ-.js";
3
- import { t as useActionState } from "./useActions-CBGNxEKr.js";
3
+ import { t as useActionState } from "./useActions-BbqecXkd.js";
4
4
  import { i as InquiryHeaderSecondaryTarget, n as InquiryHeaderSecondaryAlertTarget } from "./InquiryHeaderSecondaryAlert-BO16fXvI.js";
5
5
  import { n as SubHeaderActionsTarget } from "./SubHeaderAction-B9e4Fnrd.js";
6
6
  import { i as InquiryHeaderTitleTarget, n as InquiryHeaderControlTarget } from "./InquiryHeaderControl-B3Er0Gy0.js";
@@ -95,4 +95,4 @@ const UtilityBar = (props) => {
95
95
 
96
96
  //#endregion
97
97
  export { UtilityBar as t };
98
- //# sourceMappingURL=UtilityBar-DRKn9kf4.js.map
98
+ //# sourceMappingURL=UtilityBar-CdvZ37Da.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtilityBar-DRKn9kf4.js","names":[],"sources":["../src/UI/utilityDisplay/UtilityBar.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Card, Collapse, Divider } from '@material-ui/core';\nimport { FluentIconButton } from '../inputs/buttons/FluentIconButton';\nimport { ChevronDownIcon, ChevronUpIcon } from '@fluentui/react-icons';\nimport clsx from 'clsx';\nimport { SubHeaderActionsTarget } from '../../utilities/utilityBar/SubHeaderAction';\nimport { InquiryHeaderTitleTarget } from '../../utilities/utilityBar/InquiryHeaderTitle';\nimport { InquiryHeaderControlTarget } from '../../utilities/utilityBar/InquiryHeaderControl';\nimport { InquiryHeaderSecondaryTarget } from '../../utilities/utilityBar/InquiryHeaderSecondary';\nimport { InquiryHeaderSecondaryAlertTarget } from '../../utilities/utilityBar/InquiryHeaderSecondaryAlert';\nimport { useActionState } from '../../hooks/useActions';\nimport { useShellStore } from '../../stores/shellStore';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n bar: {\n display: 'flex',\n flexDirection: 'row'\n },\n gutters: {\n paddingLeft: theme.spacing(2)\n },\n content: {\n flex: 1,\n width: '100%'\n },\n collapsed: {\n height: 0,\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n expanded: {\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.enteringScreen\n })\n },\n open: {\n display: 'flex',\n justifyContent: 'flex-end'\n },\n toggleButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1)\n },\n cardRoot: {\n '&:last-child': {\n paddingBottom: theme.spacing(1)\n }\n },\n chevronButtonOpen: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosed: {\n position: 'absolute',\n left: '50%',\n top: 11,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosedLower: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n inquiryHeader: {\n display: 'flex',\n flexDirection: 'column'\n // alignItems: 'center'\n }\n }),\n\n { name: 'UtilityBar' }\n);\n\nexport const UtilityBar = (props) => {\n // const [expanded, setExpanded] = useState(false)\n // const [expandedSecondary, setExpandedSecondary] = useState(false)\n\n const classes = useStyles(props);\n // const { expanded = true, gutters = true, className } = props\n const {\n className,\n gutters = true,\n expander,\n toggleOne,\n toggleTwo,\n closePrimary = false,\n closeSecondary = false,\n expanded = true,\n expandedSecondary,\n setExpanded,\n setExpandedSecondary\n } = props;\n\n const actionState = useActionState();\n const { pageSplitScreen } = actionState || {};\n\n const shaHasChildren = useShellStore(\n (state) => state.subHeaderActionHasChildren\n );\n\n return (\n <div className={clsx(classes.bar, gutters && classes.gutters, className)}>\n <div\n className={classes.content}\n style={{ zIndex: pageSplitScreen?.open ? 1100 : '' }}\n >\n {!expander && (\n <Card variant={`${shaHasChildren ? 'outlined' : ''}`}>\n <SubHeaderActionsTarget className={classes.actions} />\n </Card>\n )}\n {expander && (\n <div>\n <Card className={classes.card} square>\n {/* <CardContent classes={{ root: classes.cardRoot }}> */}\n <div>\n <InquiryHeaderTitleTarget />\n\n {/* <Collapse in={expanded || closePrimary} timeout='auto'> */}\n <Collapse in={closePrimary} timeout='auto'>\n <SubHeaderActionsTarget className={classes.actions} />\n </Collapse>\n\n {toggleOne && (\n <div\n className={clsx(\n expanded\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosed\n )}\n >\n <FluentIconButton\n // onClick={() => setExpanded(!expanded)}\n onClick={setExpanded}\n icon={expanded ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expanded}\n />\n </div>\n )}\n </div>\n <Divider />\n {/* </CardContent> */}\n {/* <Collapse in={expandedSecondary || closeSecondary} timeout='auto'> */}\n <Collapse in={closeSecondary} timeout='auto'>\n <div className={classes.inquiryHeader}>\n <InquiryHeaderSecondaryTarget className={classes.actions} />\n <InquiryHeaderSecondaryAlertTarget\n className={classes.actions}\n />\n </div>\n </Collapse>\n <InquiryHeaderControlTarget />\n {toggleTwo && (\n <div\n className={clsx(\n expandedSecondary\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosedLower\n )}\n >\n <FluentIconButton\n // onClick={() => setExpandedSecondary(!expandedSecondary)}\n onClick={setExpandedSecondary}\n icon={expandedSecondary ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expandedSecondary}\n />\n </div>\n )}\n </Card>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,YACf,WAAW;CACV,MAAM,EAAE;CACR,KAAK;EACH,SAAS;EACT,eAAe;EAChB;CACD,SAAS,EACP,aAAa,MAAM,QAAQ,EAAE,EAC9B;CACD,SAAS;EACP,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;EACR,YAAY,MAAM,YAAY,OAAO,UAAU;GAC7C,QAAQ,MAAM,YAAY,OAAO;GACjC,UAAU,MAAM,YAAY,SAAS;GACtC,CAAC;EACH;CACD,UAAU,EACR,YAAY,MAAM,YAAY,OAAO,UAAU;EAC7C,QAAQ,MAAM,YAAY,OAAO;EACjC,UAAU,MAAM,YAAY,SAAS;EACtC,CAAC,EACH;CACD,MAAM;EACJ,SAAS;EACT,gBAAgB;EACjB;CACD,cAAc;EACZ,UAAU;EACV,OAAO,MAAM,QAAQ,EAAE;EACvB,KAAK,MAAM,QAAQ,EAAE;EACtB;CACD,UAAU,EACR,gBAAgB,EACd,eAAe,MAAM,QAAQ,EAAE,EAChC,EACF;CACD,mBAAmB;EACjB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM;EACN,KAAK;EACL,QAAQ,MAAM,OAAO;EACtB;CACD,0BAA0B;EACxB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,eAAe;EACb,SAAS;EACT,eAAe;EAEhB;CACF,GAED,EAAE,MAAM,cAAc,CACvB;AAED,MAAa,cAAc,UAAU;CAInC,MAAM,UAAU,UAAU,MAAM;CAEhC,MAAM,EACJ,WACA,UAAU,MACV,UACA,WACA,WACA,eAAe,OACf,iBAAiB,OACjB,WAAW,MACX,mBACA,aACA,yBACE;CAGJ,MAAM,EAAE,oBADY,gBAAgB,IACO,EAAE;CAE7C,MAAM,iBAAiB,eACpB,UAAU,MAAM,2BAClB;AAED,QACE,oCAAC,SAAI,WAAW,KAAK,QAAQ,KAAK,WAAW,QAAQ,SAAS,UAAU,IACtE,oCAAC;EACC,WAAW,QAAQ;EACnB,OAAO,EAAE,QAAQ,iBAAiB,OAAO,OAAO,IAAI;IAEnD,CAAC,YACA,oCAAC,QAAK,SAAS,GAAG,iBAAiB,aAAa,QAC9C,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CACjD,EAER,YACC,oCAAC,aACC,oCAAC;EAAK,WAAW,QAAQ;EAAM;IAE7B,oCAAC,aACC,oCAAC,+BAA2B,EAG5B,oCAAC;EAAS,IAAI;EAAc,SAAQ;IAClC,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CAC7C,EAEV,aACC,oCAAC,SACC,WAAW,KACT,WACI,QAAQ,oBACR,QAAQ,oBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,WAAW,gBAAgB;EACjC,WAAW,QAAQ;GAEnB,CACE,CAEJ,EACN,oCAAC,cAAU,EAGX,oCAAC;EAAS,IAAI;EAAgB,SAAQ;IACpC,oCAAC,SAAI,WAAW,QAAQ,iBACtB,oCAAC,gCAA6B,WAAW,QAAQ,UAAW,EAC5D,oCAAC,qCACC,WAAW,QAAQ,UACnB,CACE,CACG,EACX,oCAAC,iCAA6B,EAC7B,aACC,oCAAC,SACC,WAAW,KACT,oBACI,QAAQ,oBACR,QAAQ,yBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,oBAAoB,gBAAgB;EAC1C,WAAW,QAAQ;GAEnB,CACE,CAEH,CACH,CAEJ,CACF"}
1
+ {"version":3,"file":"UtilityBar-CdvZ37Da.js","names":[],"sources":["../src/UI/utilityDisplay/UtilityBar.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Card, Collapse, Divider } from '@material-ui/core';\nimport { FluentIconButton } from '../inputs/buttons/FluentIconButton';\nimport { ChevronDownIcon, ChevronUpIcon } from '@fluentui/react-icons';\nimport clsx from 'clsx';\nimport { SubHeaderActionsTarget } from '../../utilities/utilityBar/SubHeaderAction';\nimport { InquiryHeaderTitleTarget } from '../../utilities/utilityBar/InquiryHeaderTitle';\nimport { InquiryHeaderControlTarget } from '../../utilities/utilityBar/InquiryHeaderControl';\nimport { InquiryHeaderSecondaryTarget } from '../../utilities/utilityBar/InquiryHeaderSecondary';\nimport { InquiryHeaderSecondaryAlertTarget } from '../../utilities/utilityBar/InquiryHeaderSecondaryAlert';\nimport { useActionState } from '../../hooks/useActions';\nimport { useShellStore } from '../../stores/shellStore';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n bar: {\n display: 'flex',\n flexDirection: 'row'\n },\n gutters: {\n paddingLeft: theme.spacing(2)\n },\n content: {\n flex: 1,\n width: '100%'\n },\n collapsed: {\n height: 0,\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n expanded: {\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.enteringScreen\n })\n },\n open: {\n display: 'flex',\n justifyContent: 'flex-end'\n },\n toggleButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1)\n },\n cardRoot: {\n '&:last-child': {\n paddingBottom: theme.spacing(1)\n }\n },\n chevronButtonOpen: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosed: {\n position: 'absolute',\n left: '50%',\n top: 11,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosedLower: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n inquiryHeader: {\n display: 'flex',\n flexDirection: 'column'\n // alignItems: 'center'\n }\n }),\n\n { name: 'UtilityBar' }\n);\n\nexport const UtilityBar = (props) => {\n // const [expanded, setExpanded] = useState(false)\n // const [expandedSecondary, setExpandedSecondary] = useState(false)\n\n const classes = useStyles(props);\n // const { expanded = true, gutters = true, className } = props\n const {\n className,\n gutters = true,\n expander,\n toggleOne,\n toggleTwo,\n closePrimary = false,\n closeSecondary = false,\n expanded = true,\n expandedSecondary,\n setExpanded,\n setExpandedSecondary\n } = props;\n\n const actionState = useActionState();\n const { pageSplitScreen } = actionState || {};\n\n const shaHasChildren = useShellStore(\n (state) => state.subHeaderActionHasChildren\n );\n\n return (\n <div className={clsx(classes.bar, gutters && classes.gutters, className)}>\n <div\n className={classes.content}\n style={{ zIndex: pageSplitScreen?.open ? 1100 : '' }}\n >\n {!expander && (\n <Card variant={`${shaHasChildren ? 'outlined' : ''}`}>\n <SubHeaderActionsTarget className={classes.actions} />\n </Card>\n )}\n {expander && (\n <div>\n <Card className={classes.card} square>\n {/* <CardContent classes={{ root: classes.cardRoot }}> */}\n <div>\n <InquiryHeaderTitleTarget />\n\n {/* <Collapse in={expanded || closePrimary} timeout='auto'> */}\n <Collapse in={closePrimary} timeout='auto'>\n <SubHeaderActionsTarget className={classes.actions} />\n </Collapse>\n\n {toggleOne && (\n <div\n className={clsx(\n expanded\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosed\n )}\n >\n <FluentIconButton\n // onClick={() => setExpanded(!expanded)}\n onClick={setExpanded}\n icon={expanded ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expanded}\n />\n </div>\n )}\n </div>\n <Divider />\n {/* </CardContent> */}\n {/* <Collapse in={expandedSecondary || closeSecondary} timeout='auto'> */}\n <Collapse in={closeSecondary} timeout='auto'>\n <div className={classes.inquiryHeader}>\n <InquiryHeaderSecondaryTarget className={classes.actions} />\n <InquiryHeaderSecondaryAlertTarget\n className={classes.actions}\n />\n </div>\n </Collapse>\n <InquiryHeaderControlTarget />\n {toggleTwo && (\n <div\n className={clsx(\n expandedSecondary\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosedLower\n )}\n >\n <FluentIconButton\n // onClick={() => setExpandedSecondary(!expandedSecondary)}\n onClick={setExpandedSecondary}\n icon={expandedSecondary ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expandedSecondary}\n />\n </div>\n )}\n </Card>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,YACf,WAAW;CACV,MAAM,EAAE;CACR,KAAK;EACH,SAAS;EACT,eAAe;EAChB;CACD,SAAS,EACP,aAAa,MAAM,QAAQ,EAAE,EAC9B;CACD,SAAS;EACP,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;EACR,YAAY,MAAM,YAAY,OAAO,UAAU;GAC7C,QAAQ,MAAM,YAAY,OAAO;GACjC,UAAU,MAAM,YAAY,SAAS;GACtC,CAAC;EACH;CACD,UAAU,EACR,YAAY,MAAM,YAAY,OAAO,UAAU;EAC7C,QAAQ,MAAM,YAAY,OAAO;EACjC,UAAU,MAAM,YAAY,SAAS;EACtC,CAAC,EACH;CACD,MAAM;EACJ,SAAS;EACT,gBAAgB;EACjB;CACD,cAAc;EACZ,UAAU;EACV,OAAO,MAAM,QAAQ,EAAE;EACvB,KAAK,MAAM,QAAQ,EAAE;EACtB;CACD,UAAU,EACR,gBAAgB,EACd,eAAe,MAAM,QAAQ,EAAE,EAChC,EACF;CACD,mBAAmB;EACjB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM;EACN,KAAK;EACL,QAAQ,MAAM,OAAO;EACtB;CACD,0BAA0B;EACxB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,eAAe;EACb,SAAS;EACT,eAAe;EAEhB;CACF,GAED,EAAE,MAAM,cAAc,CACvB;AAED,MAAa,cAAc,UAAU;CAInC,MAAM,UAAU,UAAU,MAAM;CAEhC,MAAM,EACJ,WACA,UAAU,MACV,UACA,WACA,WACA,eAAe,OACf,iBAAiB,OACjB,WAAW,MACX,mBACA,aACA,yBACE;CAGJ,MAAM,EAAE,oBADY,gBAAgB,IACO,EAAE;CAE7C,MAAM,iBAAiB,eACpB,UAAU,MAAM,2BAClB;AAED,QACE,oCAAC,SAAI,WAAW,KAAK,QAAQ,KAAK,WAAW,QAAQ,SAAS,UAAU,IACtE,oCAAC;EACC,WAAW,QAAQ;EACnB,OAAO,EAAE,QAAQ,iBAAiB,OAAO,OAAO,IAAI;IAEnD,CAAC,YACA,oCAAC,QAAK,SAAS,GAAG,iBAAiB,aAAa,QAC9C,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CACjD,EAER,YACC,oCAAC,aACC,oCAAC;EAAK,WAAW,QAAQ;EAAM;IAE7B,oCAAC,aACC,oCAAC,+BAA2B,EAG5B,oCAAC;EAAS,IAAI;EAAc,SAAQ;IAClC,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CAC7C,EAEV,aACC,oCAAC,SACC,WAAW,KACT,WACI,QAAQ,oBACR,QAAQ,oBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,WAAW,gBAAgB;EACjC,WAAW,QAAQ;GAEnB,CACE,CAEJ,EACN,oCAAC,cAAU,EAGX,oCAAC;EAAS,IAAI;EAAgB,SAAQ;IACpC,oCAAC,SAAI,WAAW,QAAQ,iBACtB,oCAAC,gCAA6B,WAAW,QAAQ,UAAW,EAC5D,oCAAC,qCACC,WAAW,QAAQ,UACnB,CACE,CACG,EACX,oCAAC,iCAA6B,EAC7B,aACC,oCAAC,SACC,WAAW,KACT,oBACI,QAAQ,oBACR,QAAQ,yBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,oBAAoB,gBAAgB;EAC1C,WAAW,QAAQ;GAEnB,CACE,CAEH,CACH,CAEJ,CACF"}
@@ -1,22 +1,22 @@
1
1
  import { r as getPathObject } from "./CrudBrowserUtilities-C9nVmUR3.js";
2
2
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
3
- import { i as useHandleAxiosSnackbar } from "./apiHelpers-BpZTkMX8.js";
3
+ import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
4
4
  import { t as useUser } from "./useUser-wpHGo6jU.js";
5
- import { n as useAxiosMutate } from "./useAxiosMutate-q_ZpG98Z.js";
5
+ import { n as useAxiosMutate } from "./useAxiosMutate-DcLxzykX.js";
6
6
  import { a as toTitleCase } from "./StringUtilities-u-cxAW6-.js";
7
7
  import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
8
8
  import { N as UdpEnums } from "./unitySystemEnums-DQSkCr3D.js";
9
9
  import { n as PrimaryActionButton_default } from "./PrimaryActionButton-Dk8zvDAW.js";
10
10
  import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
11
11
  import { n as SideSheet } from "./SideSheet-C-rILQqR.js";
12
- import { t as useAxiosGet } from "./useAxiosGet-BMoXHfLN.js";
12
+ import { t as useAxiosGet } from "./useAxiosGet-vvPjwB4W.js";
13
13
  import { t as useSetLocationState } from "./useSetLocationState-Kvcc9BTb.js";
14
- import { t as PageContainer } from "./PageContainer-BgNeJt3S.js";
15
- import { i as executeQueryWithParameters } from "./methodUtils-DEk9B4A8.js";
14
+ import { t as PageContainer } from "./PageContainer-N4d5KO-T.js";
15
+ import { i as executeQueryWithParameters } from "./methodUtils-Cwo_kmVX.js";
16
16
  import { n as useBuildEnvironment } from "./useBuildEnvironment-2gdqpmBX.js";
17
- import { t as AmbientGridTemplate } from "./AmbientGridTemplate-CDj051YK.js";
18
- import { t as ActionsRenderer } from "./ActionsRenderer-BVfaUEx2.js";
19
- import { t as VirtualForm } from "./VirtualForm-B3d7su-F.js";
17
+ import { t as AmbientGridTemplate } from "./AmbientGridTemplate-BecuOnHe.js";
18
+ import { t as ActionsRenderer } from "./ActionsRenderer-B1ImXko3.js";
19
+ import { t as VirtualForm } from "./VirtualForm-Dj5FMp9u.js";
20
20
  import React, { useCallback, useEffect, useMemo, useState } from "react";
21
21
  import { Divider, Typography, makeStyles } from "@material-ui/core";
22
22
  import { useLocation } from "react-router-dom";
@@ -424,4 +424,4 @@ var VirtualBrowser_default = VirtualBrowser;
424
424
 
425
425
  //#endregion
426
426
  export { defaultColActionsDef as a, VirtualTableColumnDefs as i, VirtualBrowser_default as n, VirtualTableSidePanel as r, VirtualBrowser as t };
427
- //# sourceMappingURL=VirtualBrowser-BQ_Zpdh0.js.map
427
+ //# sourceMappingURL=VirtualBrowser-CKvzgu8L.js.map