udp-react-enterprise-component-library 25.18.1-beta.11 → 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.
- package/dist/{ActionProvider-CTn1qVWd.js → ActionProvider-MFZvkh4u.js} +6 -6
- package/dist/{ActionProvider-CTn1qVWd.js.map → ActionProvider-MFZvkh4u.js.map} +1 -1
- package/dist/{ActionSplitScreen-KVa5olgd.js → ActionSplitScreen-SncJFJJQ.js} +7 -7
- package/dist/{ActionSplitScreen-KVa5olgd.js.map → ActionSplitScreen-SncJFJJQ.js.map} +1 -1
- package/dist/{ActionWrapper-47uvDDnB.js → ActionWrapper-Dq45yDqo.js} +11 -11
- package/dist/{ActionWrapper-47uvDDnB.js.map → ActionWrapper-Dq45yDqo.js.map} +1 -1
- package/dist/{ActionsRenderer-BVfaUEx2.js → ActionsRenderer-B1ImXko3.js} +2 -2
- package/dist/{ActionsRenderer-BVfaUEx2.js.map → ActionsRenderer-B1ImXko3.js.map} +1 -1
- package/dist/{AggregateChip-BF6RL_4_.js → AggregateChip-BDugg_kG.js} +3 -3
- package/dist/{AggregateChip-BF6RL_4_.js.map → AggregateChip-BDugg_kG.js.map} +1 -1
- package/dist/{AmbientGridTemplate-CDj051YK.js → AmbientGridTemplate-BecuOnHe.js} +5 -5
- package/dist/{AmbientGridTemplate-CDj051YK.js.map → AmbientGridTemplate-BecuOnHe.js.map} +1 -1
- package/dist/{AppMenu-l9dxXKrP.js → AppMenu-B9CCWiY8.js} +3 -3
- package/dist/{AppMenu-l9dxXKrP.js.map → AppMenu-B9CCWiY8.js.map} +1 -1
- package/dist/{BaseTreeMenu-Bk4XZUCL.js → BaseTreeMenu-DitVfbeZ.js} +2 -2
- package/dist/{BaseTreeMenu-Bk4XZUCL.js.map → BaseTreeMenu-DitVfbeZ.js.map} +1 -1
- package/dist/{BioCardWrapper-DmS18Z9H.js → BioCardWrapper-CI0ZngTU.js} +3 -3
- package/dist/{BioCardWrapper-DmS18Z9H.js.map → BioCardWrapper-CI0ZngTU.js.map} +1 -1
- package/dist/{BulkActionsGridButton-C2Nwb7c6.js → BulkActionsGridButton-CSzHiVvH.js} +3 -3
- package/dist/{BulkActionsGridButton-C2Nwb7c6.js.map → BulkActionsGridButton-CSzHiVvH.js.map} +1 -1
- package/dist/{ChatContainer-BpN6e_Of.js → ChatContainer-CW2u13tF.js} +2 -2
- package/dist/{ChatContainer-BpN6e_Of.js.map → ChatContainer-CW2u13tF.js.map} +1 -1
- package/dist/{ChatUDP-DglX5k_O.js → ChatUDP-B7dgnKO0.js} +2 -2
- package/dist/{ChatUDP-DglX5k_O.js.map → ChatUDP-B7dgnKO0.js.map} +1 -1
- package/dist/{CoreLayoutFloorplan-C-4DdwJz.js → CoreLayoutFloorplan-xIdceY2Q.js} +2 -2
- package/dist/{CoreLayoutFloorplan-C-4DdwJz.js.map → CoreLayoutFloorplan-xIdceY2Q.js.map} +1 -1
- package/dist/{CrudForm-mWpBEuUw.js → CrudForm-DzmNPfVa.js} +6 -6
- package/dist/{CrudForm-mWpBEuUw.js.map → CrudForm-DzmNPfVa.js.map} +1 -1
- package/dist/{CrudTableSidePanel-CepOcRgl.js → CrudTableSidePanel-CXOSojmw.js} +4 -4
- package/dist/{CrudTableSidePanel-CepOcRgl.js.map → CrudTableSidePanel-CXOSojmw.js.map} +1 -1
- package/dist/{DataBrowserContainer-hkDvrMzs.js → DataBrowserContainer-DHE9PS3L.js} +7 -7
- package/dist/{DataBrowserContainer-hkDvrMzs.js.map → DataBrowserContainer-DHE9PS3L.js.map} +1 -1
- package/dist/{EntityHeader-Ddk4syVV.js → EntityHeader-y6CNHP0L.js} +3 -3
- package/dist/{EntityHeader-Ddk4syVV.js.map → EntityHeader-y6CNHP0L.js.map} +1 -1
- package/dist/{EntitySideBarContent-CBckqx1w.js → EntitySideBarContent-Bp0saKq_.js} +2 -2
- package/dist/{EntitySideBarContent-CBckqx1w.js.map → EntitySideBarContent-Bp0saKq_.js.map} +1 -1
- package/dist/{ExportSidesheet-DA6NzDsz.js → ExportSidesheet-DBww0zIt.js} +3 -3
- package/dist/{ExportSidesheet-DA6NzDsz.js.map → ExportSidesheet-DBww0zIt.js.map} +1 -1
- package/dist/{FieldArrayCard-tENUf1YA.js → FieldArrayCard-56TLTaZc.js} +3 -3
- package/dist/{FieldArrayCard-tENUf1YA.js.map → FieldArrayCard-56TLTaZc.js.map} +1 -1
- package/dist/{FluentProfileMenuCard-CMRsJxqq.js → FluentProfileMenuCard-CnUOy-ne.js} +8 -8
- package/dist/{FluentProfileMenuCard-CMRsJxqq.js.map → FluentProfileMenuCard-CnUOy-ne.js.map} +1 -1
- package/dist/{FluentSimpleSelect-kMQgny9h.js → FluentSimpleSelect-sDwSJFGU.js} +2 -2
- package/dist/{FluentSimpleSelect-kMQgny9h.js.map → FluentSimpleSelect-sDwSJFGU.js.map} +1 -1
- package/dist/{ImportDataFromFileMapping-kkCJEGIS.js → ImportDataFromFileMapping-CBKGm2pM.js} +6 -6
- package/dist/{ImportDataFromFileMapping-kkCJEGIS.js.map → ImportDataFromFileMapping-CBKGm2pM.js.map} +1 -1
- package/dist/{InputsExample-2z_6lbK2.js → InputsExample-ClC-vFVK.js} +1 -1
- package/dist/{InputsExample-2z_6lbK2.js.map → InputsExample-ClC-vFVK.js.map} +1 -1
- package/dist/{InsightRenderer-DU65aYRt.js → InsightRenderer-UkS3B5zg.js} +2 -2
- package/dist/{InsightRenderer-DU65aYRt.js.map → InsightRenderer-UkS3B5zg.js.map} +1 -1
- package/dist/{MapLayout-D_OmMd5_.js → MapLayout-D6hNVarS.js} +2 -2
- package/dist/{MapLayout-D_OmMd5_.js.map → MapLayout-D6hNVarS.js.map} +1 -1
- package/dist/{MenuPage-CM3gZWnB.js → MenuPage-B4ZN_tQt.js} +4 -4
- package/dist/{MenuPage-CM3gZWnB.js.map → MenuPage-B4ZN_tQt.js.map} +1 -1
- package/dist/{MenuPage-C8256rDe.js → MenuPage-HFTfG0b-.js} +10 -10
- package/dist/{MttMainTimeline-CO2XiVps.js → MttMainTimeline-CwttwjLy.js} +2 -2
- package/dist/{MttMainTimeline-CO2XiVps.js.map → MttMainTimeline-CwttwjLy.js.map} +1 -1
- package/dist/{MttSummary-DDb0TusU.js → MttSummary-Br4SrY1Q.js} +2 -2
- package/dist/{MttSummary-DDb0TusU.js.map → MttSummary-Br4SrY1Q.js.map} +1 -1
- package/dist/{MyExportsPage-tRTJ5QKs.js → MyExportsPage-Bw0ueYE_.js} +14 -14
- package/dist/{MyExportsPage-BAtFVaZg.js → MyExportsPage-lqTyApig.js} +7 -7
- package/dist/{MyExportsPage-BAtFVaZg.js.map → MyExportsPage-lqTyApig.js.map} +1 -1
- package/dist/{NotesScreen-DeWD6LVV.js → NotesScreen-COYYhVJJ.js} +5 -5
- package/dist/{NotesScreen-DeWD6LVV.js.map → NotesScreen-COYYhVJJ.js.map} +1 -1
- package/dist/{OutlookCallback-BETH8x2Z.js → OutlookCallback-BJmI0px0.js} +2 -2
- package/dist/{OutlookCallback-BETH8x2Z.js.map → OutlookCallback-BJmI0px0.js.map} +1 -1
- package/dist/{PageActionWrapper-BCK4anE9.js → PageActionWrapper-DuvcqQCs.js} +4 -4
- package/dist/{PageActionWrapper-BCK4anE9.js.map → PageActionWrapper-DuvcqQCs.js.map} +1 -1
- package/dist/{PageContainer-BgNeJt3S.js → PageContainer-N4d5KO-T.js} +2 -2
- package/dist/{PageContainer-BgNeJt3S.js.map → PageContainer-N4d5KO-T.js.map} +1 -1
- package/dist/{PageRenderer-DDEem1OJ.js → PageRenderer-ToHJXkJq.js} +2 -2
- package/dist/{PageRenderer-DDEem1OJ.js.map → PageRenderer-ToHJXkJq.js.map} +1 -1
- package/dist/{PaymentForm-C0Hvky2o.js → PaymentForm-D09B2VrH.js} +3 -3
- package/dist/{PaymentForm-C0Hvky2o.js.map → PaymentForm-D09B2VrH.js.map} +1 -1
- package/dist/{PaymentReversalForm-CYoR6QL5.js → PaymentReversalForm-BCACJcnX.js} +2 -2
- package/dist/{PaymentReversalForm-CYoR6QL5.js.map → PaymentReversalForm-BCACJcnX.js.map} +1 -1
- package/dist/{PowerBIReport-BQP0l17v.js → PowerBIReport-DzVNLdH0.js} +2 -2
- package/dist/{PowerBIReport-BQP0l17v.js.map → PowerBIReport-DzVNLdH0.js.map} +1 -1
- package/dist/{RejectIcon-yEBYxlIm.js → RejectIcon-9a6AQhFS.js} +1 -1
- package/dist/{RejectIcon-yEBYxlIm.js.map → RejectIcon-9a6AQhFS.js.map} +1 -1
- package/dist/{RemindersCard-BJvpNrnD.js → RemindersCard-EbJUUB54.js} +2 -2
- package/dist/{RemindersCard-BJvpNrnD.js.map → RemindersCard-EbJUUB54.js.map} +1 -1
- package/dist/{RemindersScreen--hs-M0hg.js → RemindersScreen-bwvsZOGc.js} +5 -5
- package/dist/{RemindersScreen--hs-M0hg.js.map → RemindersScreen-bwvsZOGc.js.map} +1 -1
- package/dist/{RemindersWidget-BcypyEI4.js → RemindersWidget-Uk_ZyAW-.js} +5 -5
- package/dist/{RemindersWidget-BcypyEI4.js.map → RemindersWidget-Uk_ZyAW-.js.map} +1 -1
- package/dist/{RequiredFieldsMappingForm-BTnefL8X.js → RequiredFieldsMappingForm-KwEaUAJ-.js} +2 -2
- package/dist/{RequiredFieldsMappingForm-BTnefL8X.js.map → RequiredFieldsMappingForm-KwEaUAJ-.js.map} +1 -1
- package/dist/{Shell-DxRVAjoc.js → Shell-BnKSMfKq.js} +6 -6
- package/dist/{Shell-DxRVAjoc.js.map → Shell-BnKSMfKq.js.map} +1 -1
- package/dist/{ShortcutContentFinder-DV4VXUyJ.js → ShortcutContentFinder-MyXbDeFJ.js} +3 -3
- package/dist/{ShortcutContentFinder-DV4VXUyJ.js.map → ShortcutContentFinder-MyXbDeFJ.js.map} +1 -1
- package/dist/{SimpleTable-qZ0yJQ7F.js → SimpleTable-BMjywRbx.js} +1 -1
- package/dist/{SimpleTable-qZ0yJQ7F.js.map → SimpleTable-BMjywRbx.js.map} +1 -1
- package/dist/{StatusCellRenderer-DK3MexwY.js → StatusCellRenderer-DOYDkiZu.js} +1 -1
- package/dist/{StatusCellRenderer-DK3MexwY.js.map → StatusCellRenderer-DOYDkiZu.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-_IBBlr08.js → SupportCaseSideSheet-D5VyeXgu.js} +5 -5
- package/dist/{SupportCaseSideSheet-DNXocqwx.js → SupportCaseSideSheet-DPfapAFC.js} +2 -2
- package/dist/{SupportCaseSideSheet-DNXocqwx.js.map → SupportCaseSideSheet-DPfapAFC.js.map} +1 -1
- package/dist/{TableContainer-CNI8NNy2.js → TableContainer-B4aFO7ly.js} +4 -4
- package/dist/{TableContainer-CNI8NNy2.js.map → TableContainer-B4aFO7ly.js.map} +1 -1
- package/dist/{TenantProvider-DLI5riri.js → TenantProvider-rYWrO7y7.js} +2 -2
- package/dist/{TenantProvider-DLI5riri.js.map → TenantProvider-rYWrO7y7.js.map} +1 -1
- package/dist/UI/accordion/index.js +1 -1
- package/dist/UI/advancedSearchBuilder/index.js +1 -1
- package/dist/UI/charts/index.js +6 -6
- package/dist/UI/components/dataDisplay/index.js +1 -1
- package/dist/UI/components/feedback/index.js +1 -1
- package/dist/UI/components/index.js +3 -3
- package/dist/UI/containers/index.js +1 -1
- package/dist/UI/dataDisplay/FluentActivity/index.js +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
- package/dist/UI/dataDisplay/entityHeader/index.js +11 -11
- package/dist/UI/dataDisplay/index.js +3 -3
- package/dist/UI/demos/index.js +2 -2
- package/dist/UI/feedback/index.js +1 -1
- package/dist/UI/fileViewer/index.js +1 -1
- package/dist/UI/floorplans/index.js +11 -11
- package/dist/UI/forms/index.js +12 -12
- package/dist/UI/iframe/index.js +1 -1
- package/dist/UI/index.js +64 -64
- package/dist/UI/inputs/fieldArrayCard/index.js +10 -10
- package/dist/UI/inputs/menus/index.js +5 -5
- package/dist/UI/loading/index.js +1 -1
- package/dist/UI/mapLayout/index.js +11 -11
- package/dist/UI/maps/index.js +2 -2
- package/dist/UI/navigation/index.js +11 -11
- package/dist/UI/navigation/menus/index.js +8 -8
- package/dist/UI/navigation/tabs/defaultTabs/index.js +1 -1
- package/dist/UI/navigation/tabs/index.js +2 -2
- package/dist/UI/property/index.js +1 -1
- package/dist/UI/stepper/index.js +1 -1
- package/dist/UI/support/index.js +6 -6
- package/dist/UI/surfaces/NestedGrid/index.js +2 -2
- package/dist/UI/surfaces/NestedGrid/ui/index.js +1 -1
- package/dist/UI/surfaces/cards/index.js +1 -1
- package/dist/UI/surfaces/index.js +4 -4
- package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +9 -9
- package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +9 -9
- package/dist/UI/templates/index.js +1 -1
- package/dist/UI/templates/newGrid/index.js +9 -9
- package/dist/UI/templates/ui/renderers/index.js +3 -3
- package/dist/UI/timeline/fluentTimeline/index.js +1 -1
- package/dist/UI/timeline/index.js +2 -2
- package/dist/UI/utilityDisplay/alerts/index.js +11 -11
- package/dist/UI/utilityDisplay/index.js +17 -17
- package/dist/UI/utilityDisplay/ui/index.js +1 -1
- package/dist/UI/utilityDisplay/utilities/index.js +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/index.js +1 -1
- package/dist/UI/widgets/FluentComponents/index.js +1 -1
- package/dist/UI/widgets/index.js +1 -1
- package/dist/UI/widgets/library/RemindersWidget/index.js +9 -9
- package/dist/UI/widgets/library/TableWidget/index.js +1 -1
- package/dist/{UdpAlertsContainer-DexXCrFZ.js → UdpAlertsContainer-DehnlBcE.js} +4 -4
- package/dist/{UdpAlertsContainer-DexXCrFZ.js.map → UdpAlertsContainer-DehnlBcE.js.map} +1 -1
- package/dist/{UdpAuditEvents-BOsP49Fy.js → UdpAuditEvents-Dsvqz2Ad.js} +2 -2
- package/dist/{UdpAuditEvents-BOsP49Fy.js.map → UdpAuditEvents-Dsvqz2Ad.js.map} +1 -1
- package/dist/{UdpAuditEventsPage-mfZsK6Up.js → UdpAuditEventsPage-BF-AXqwI.js} +18 -18
- package/dist/{UdpAuditEventsPage-DoA7iu8S.js → UdpAuditEventsPage-CUXXlLY1.js} +3 -3
- package/dist/{UdpAuditEventsPage-DoA7iu8S.js.map → UdpAuditEventsPage-CUXXlLY1.js.map} +1 -1
- package/dist/{UdpDataBrowserPage-cKFWzGRk.js → UdpDataBrowserPage-DIq--ak3.js} +10 -10
- package/dist/{UdpDataBrowserPage-cKFWzGRk.js.map → UdpDataBrowserPage-DIq--ak3.js.map} +1 -1
- package/dist/{UdpFormsBuilderPage-_oo5DGDq.js → UdpFormsBuilderPage-C1_7kI_t.js} +7 -5
- package/dist/{UdpFormsBuilderPage-_oo5DGDq.js.map → UdpFormsBuilderPage-C1_7kI_t.js.map} +1 -1
- package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js +295 -0
- package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js.map +1 -0
- package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js → UdpGridPanelManagementPage-Dk0miZ38.js} +5 -5
- package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js.map → UdpGridPanelManagementPage-Dk0miZ38.js.map} +1 -1
- package/dist/{UdpGridTemplate-jILzGANi.js → UdpGridTemplate-CodLjVVL.js} +2 -2
- package/dist/{UdpGridTemplate-jILzGANi.js.map → UdpGridTemplate-CodLjVVL.js.map} +1 -1
- package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js → UdpImportFromFileMappingPage-BWaYkxhW.js} +2 -2
- package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js.map → UdpImportFromFileMappingPage-BWaYkxhW.js.map} +1 -1
- package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js → UdpInquiryMaintenanceEnginePage-DTanTz7X.js} +3 -3
- package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js.map → UdpInquiryMaintenanceEnginePage-DTanTz7X.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js → UdpMaintenanceEnginePage-DIyBfIMk.js} +8 -8
- package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js.map → UdpMaintenanceEnginePage-DIyBfIMk.js.map} +1 -1
- package/dist/{UdpMap-Bu59mmYa.js → UdpMap-DB0qsBfI.js} +1 -1
- package/dist/{UdpMap-Bu59mmYa.js.map → UdpMap-DB0qsBfI.js.map} +1 -1
- package/dist/{UdpNotesPage-CXu_ydp4.js → UdpNotesPage-B3cesDaw.js} +7 -7
- package/dist/{UdpNotesPage-CXu_ydp4.js.map → UdpNotesPage-B3cesDaw.js.map} +1 -1
- package/dist/{UdpPages-DVPJl-XO.js → UdpPages-Duf7s2Bf.js} +16 -16
- package/dist/{UdpPages-DVPJl-XO.js.map → UdpPages-Duf7s2Bf.js.map} +1 -1
- package/dist/{UdpPrivateForm-BJdYZzlO.js → UdpPrivateForm-Cju6dVDc.js} +9 -6
- package/dist/UdpPrivateForm-Cju6dVDc.js.map +1 -0
- package/dist/{UdpPublicForm-aCs42nKH.js → UdpPublicForm-D3D8GPrh.js} +2 -2
- package/dist/{UdpPublicForm-aCs42nKH.js.map → UdpPublicForm-D3D8GPrh.js.map} +1 -1
- package/dist/{UdpRemindersPage-5EYNlPs6.js → UdpRemindersPage-DBQ0SQO4.js} +7 -7
- package/dist/{UdpRemindersPage-5EYNlPs6.js.map → UdpRemindersPage-DBQ0SQO4.js.map} +1 -1
- package/dist/{UdpReportsPage-CKxd-e9T.js → UdpReportsPage-DMA-kvyF.js} +2 -2
- package/dist/{UdpReportsPage-CKxd-e9T.js.map → UdpReportsPage-DMA-kvyF.js.map} +1 -1
- package/dist/{UdpRoutes-BRQDUS6-.js → UdpRoutes-MhKxW3An.js} +6 -6
- package/dist/{UdpRoutes-BRQDUS6-.js.map → UdpRoutes-MhKxW3An.js.map} +1 -1
- package/dist/{UdpVerticalManagementPage-8VmP_fHh.js → UdpVerticalManagementPage-SWVycbx7.js} +6 -6
- package/dist/{UdpVerticalManagementPage-8VmP_fHh.js.map → UdpVerticalManagementPage-SWVycbx7.js.map} +1 -1
- package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js → UdpVerticalManagementSidesheet-aIPwJWAM.js} +6 -6
- package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js.map → UdpVerticalManagementSidesheet-aIPwJWAM.js.map} +1 -1
- package/dist/{UserForm-BvhytSr8.js → UserForm-Crii1kld.js} +2 -2
- package/dist/{UserForm-BvhytSr8.js.map → UserForm-Crii1kld.js.map} +1 -1
- package/dist/{UserFormSideSheet-hCzYWgFm.js → UserFormSideSheet-2QRJUUnm.js} +4 -4
- package/dist/{UserFormSideSheet-hCzYWgFm.js.map → UserFormSideSheet-2QRJUUnm.js.map} +1 -1
- package/dist/{UserFormSideSheet-7MuWUCQQ.js → UserFormSideSheet-DGU02bqo.js} +7 -7
- package/dist/{UtilityBar-DRKn9kf4.js → UtilityBar-CdvZ37Da.js} +2 -2
- package/dist/{UtilityBar-DRKn9kf4.js.map → UtilityBar-CdvZ37Da.js.map} +1 -1
- package/dist/{VirtualBrowser-BQ_Zpdh0.js → VirtualBrowser-CKvzgu8L.js} +9 -9
- package/dist/{VirtualBrowser-BQ_Zpdh0.js.map → VirtualBrowser-CKvzgu8L.js.map} +1 -1
- package/dist/{VirtualBrowser-CaeWWI1I.js → VirtualBrowser-CxAjZWKa.js} +14 -14
- package/dist/{VirtualForm-B3d7su-F.js → VirtualForm-Dj5FMp9u.js} +1 -1
- package/dist/{VirtualForm-B3d7su-F.js.map → VirtualForm-Dj5FMp9u.js.map} +1 -1
- package/dist/{WorkflowContainer-sEYHBwJR.js → WorkflowContainer-CBoWiJQY.js} +4 -4
- package/dist/{WorkflowContainer-sEYHBwJR.js.map → WorkflowContainer-CBoWiJQY.js.map} +1 -1
- package/dist/{WorkflowContainer-2ubt2MCe.js → WorkflowContainer-CW9NJXbF.js} +11 -11
- package/dist/{WorkflowContent-CaMS5xmR.js → WorkflowContent-B4W3IhqH.js} +4 -4
- package/dist/{WorkflowContent-CaMS5xmR.js.map → WorkflowContent-B4W3IhqH.js.map} +1 -1
- package/dist/{WorkflowTreeMenu-DC4CuF88.js → WorkflowTreeMenu-DKGbOQSH.js} +2 -2
- package/dist/{WorkflowTreeMenu-DC4CuF88.js.map → WorkflowTreeMenu-DKGbOQSH.js.map} +1 -1
- package/dist/{actionSummary-BOSgduAE.js → actionSummary-Ciu0y-s0.js} +2 -2
- package/dist/{actionSummary-BOSgduAE.js.map → actionSummary-Ciu0y-s0.js.map} +1 -1
- package/dist/{actionUtils-99XIoiDI.js → actionUtils-cC_2y5Xi.js} +2 -2
- package/dist/{actionUtils-99XIoiDI.js.map → actionUtils-cC_2y5Xi.js.map} +1 -1
- package/dist/actions/actionSummary/index.js +7 -7
- package/dist/actions/index.js +21 -21
- package/dist/actions/sidebar/index.js +6 -6
- package/dist/actions/utils/index.js +6 -6
- package/dist/{apiHelpers-BpZTkMX8.js → apiHelpers-B_cn3sZo.js} +2 -2
- package/dist/{apiHelpers-BpZTkMX8.js.map → apiHelpers-B_cn3sZo.js.map} +1 -1
- package/dist/{auth-EOQASxKM.js → auth-BEf5rt4s.js} +4 -4
- package/dist/{auth-EOQASxKM.js.map → auth-BEf5rt4s.js.map} +1 -1
- package/dist/{axiosInterceptors-6Czv1PA5.js → axiosInterceptors-FQ3b5kjr.js} +2 -2
- package/dist/{axiosInterceptors-6Czv1PA5.js.map → axiosInterceptors-FQ3b5kjr.js.map} +1 -1
- package/dist/{cards-CqNi83lO.js → cards-Bpy1zoxV.js} +1 -1
- package/dist/{cards-CqNi83lO.js.map → cards-Bpy1zoxV.js.map} +1 -1
- package/dist/chatBot/index.js +5 -5
- package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/index.js +11 -11
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +6 -6
- package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +6 -6
- package/dist/componentSystems/multiThreadTimeline/ui/index.js +2 -2
- package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
- package/dist/componentSystems/pageRenderer/hocs/index.js +13 -13
- package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
- package/dist/componentSystems/pageRenderer/index.js +17 -17
- package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/index.js +12 -12
- package/dist/{crudActions-Bl1NmJtO.js → crudActions-DXyHKaN8.js} +2 -2
- package/dist/{crudActions-Bl1NmJtO.js.map → crudActions-DXyHKaN8.js.map} +1 -1
- package/dist/dataBrowser/forms/index.js +6 -6
- package/dist/dataBrowser/index.js +20 -20
- package/dist/{dataDisplay-nJIK_NjC.js → dataDisplay-CBFgak2F.js} +1 -1
- package/dist/{dataDisplay-nJIK_NjC.js.map → dataDisplay-CBFgak2F.js.map} +1 -1
- package/dist/{defaultTabs-BzZY0_Jb.js → defaultTabs-CVeUq9lw.js} +1 -1
- package/dist/{defaultTabs-BzZY0_Jb.js.map → defaultTabs-CVeUq9lw.js.map} +1 -1
- package/dist/enums/index.js +2 -1
- package/dist/hooks/index.js +14 -14
- package/dist/{hooks-C2Rr_sq1.js → hooks-CxLP2j70.js} +3 -3
- package/dist/{hooks-C2Rr_sq1.js.map → hooks-CxLP2j70.js.map} +1 -1
- package/dist/index.js +99 -97
- package/dist/inquiry/index.js +20 -20
- package/dist/{inquiry-5fUj13A8.js → inquiry-J7m3wdvC.js} +10 -10
- package/dist/{inquiry-5fUj13A8.js.map → inquiry-J7m3wdvC.js.map} +1 -1
- package/dist/maintenanceEngine/crudBrowser/index.js +12 -12
- package/dist/maintenanceEngine/index.js +22 -22
- package/dist/maintenanceEngine/tableBrowser/index.js +13 -13
- package/dist/maintenanceEngine/virtualBrowser/index.js +15 -15
- package/dist/menuPage/index.js +11 -11
- package/dist/{CustomMenuPage-PSOKksBZ.js → menuPage-Df5ucoQW.js} +2 -2
- package/dist/menuPage-Df5ucoQW.js.map +1 -0
- package/dist/{menuUtilities-fX5ECi0i.js → menuUtilities-58E3hJ9u.js} +2 -2
- package/dist/{menuUtilities-fX5ECi0i.js.map → menuUtilities-58E3hJ9u.js.map} +1 -1
- package/dist/{methodUtils-DEk9B4A8.js → methodUtils-Cwo_kmVX.js} +2 -2
- package/dist/{methodUtils-DEk9B4A8.js.map → methodUtils-Cwo_kmVX.js.map} +1 -1
- package/dist/{newGrid-DPiAB3cO.js → newGrid-nbEL11Vp.js} +2 -2
- package/dist/{newGrid-DPiAB3cO.js.map → newGrid-nbEL11Vp.js.map} +1 -1
- package/dist/notes/index.js +9 -9
- package/dist/page/PageContainer/index.js +5 -5
- package/dist/{pageEnums-CA-HlW3W.js → pageEnums-DHCYa0ey.js} +2 -1
- package/dist/{pageEnums-CA-HlW3W.js.map → pageEnums-DHCYa0ey.js.map} +1 -1
- package/dist/reminders/index.js +10 -10
- package/dist/reports/index.js +5 -5
- package/dist/routes/index.js +2 -2
- package/dist/shell/index.js +32 -32
- package/dist/shell/ui/addUser/index.js +8 -8
- package/dist/shell/ui/appSwitcher/index.js +1 -1
- package/dist/shell/ui/index.js +14 -14
- package/dist/treeMenu/index.js +8 -8
- package/dist/types/src/enums/pageEnums.d.ts +2 -1
- package/dist/types/src/enums/pageEnums.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +5 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts +3 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts.map +1 -0
- package/dist/types/src/udp/pages/UdpPrivateForm/UdpPrivateForm.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/ShortcutContent/index.js +8 -8
- package/dist/udp/export/index.js +16 -16
- package/dist/udp/fileImportMapping/index.js +14 -14
- package/dist/udp/pages/ChatUDP/index.js +6 -6
- package/dist/udp/pages/UdpAuditEvents/index.js +19 -19
- package/dist/udp/pages/UdpDataBrowserPage/index.js +20 -20
- package/dist/udp/pages/UdpFormsBuilderPage/index.js +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +94 -0
- package/dist/udp/pages/UdpGridPanelManagementPage/index.js +12 -12
- package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +9 -9
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +26 -26
- package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +5 -5
- package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +25 -25
- package/dist/udp/pages/UdpNotesPage/index.js +14 -14
- package/dist/udp/pages/UdpPages/index.js +57 -57
- package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
- package/dist/udp/pages/UdpPrivateForm/index.js +11 -10
- package/dist/udp/pages/UdpPublicForm/index.js +3 -3
- package/dist/udp/pages/UdpRemindersPage/index.js +14 -14
- package/dist/udp/pages/UdpReportsPage/index.js +6 -6
- package/dist/udp/pages/UdpVerticalManagementPage/index.js +12 -12
- package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +11 -11
- package/dist/udp/pages/index.js +57 -57
- package/dist/udp/utilities/index.js +5 -5
- package/dist/{ui-CsyeuYr4.js → ui-gRqaK08H.js} +1 -1
- package/dist/{ui-CsyeuYr4.js.map → ui-gRqaK08H.js.map} +1 -1
- package/dist/{useActions-CBGNxEKr.js → useActions-BbqecXkd.js} +3 -3
- package/dist/{useActions-CBGNxEKr.js.map → useActions-BbqecXkd.js.map} +1 -1
- package/dist/{useApiCatalog-sZ6uMfzd.js → useApiCatalog-Yi_KDPot.js} +2 -2
- package/dist/{useApiCatalog-sZ6uMfzd.js.map → useApiCatalog-Yi_KDPot.js.map} +1 -1
- package/dist/{useAxiosGet-BMoXHfLN.js → useAxiosGet-vvPjwB4W.js} +3 -3
- package/dist/{useAxiosGet-BMoXHfLN.js.map → useAxiosGet-vvPjwB4W.js.map} +1 -1
- package/dist/{useAxiosMutate-q_ZpG98Z.js → useAxiosMutate-DcLxzykX.js} +3 -3
- package/dist/{useAxiosMutate-q_ZpG98Z.js.map → useAxiosMutate-DcLxzykX.js.map} +1 -1
- package/dist/{usePromotedMethodEntities-DGb2hZSz.js → usePromotedMethodEntities-bv9ewSry.js} +2 -2
- package/dist/{usePromotedMethodEntities-DGb2hZSz.js.map → usePromotedMethodEntities-bv9ewSry.js.map} +1 -1
- package/dist/{usePromotedMethodEntity-wRBkHT3x.js → usePromotedMethodEntity-Bi2neP26.js} +2 -2
- package/dist/{usePromotedMethodEntity-wRBkHT3x.js.map → usePromotedMethodEntity-Bi2neP26.js.map} +1 -1
- package/dist/{useQueryExecutors-CuXmVvXX.js → useQueryExecutors-UWa24-Mf.js} +3 -3
- package/dist/{useQueryExecutors-CuXmVvXX.js.map → useQueryExecutors-UWa24-Mf.js.map} +1 -1
- package/dist/utilities/auth/index.js +6 -6
- package/dist/utilities/customIcons/index.js +1 -1
- package/dist/utilities/form/paymentForm/index.js +6 -6
- package/dist/utilities/index.js +6 -6
- package/dist/utilities/menus/index.js +2 -2
- package/dist/utilities/provider/index.js +21 -21
- package/dist/utilities/redirect/pages/index.js +5 -5
- package/dist/utilities/tenant/index.js +5 -5
- package/dist/{theme-DLA8cxjc.js → utilities-BLu3F9sJ.js} +1 -1
- package/dist/utilities-BLu3F9sJ.js.map +1 -0
- package/dist/{withEngineComponent-Bya6z6jQ.js → withEngineComponent-CUQbIi-0.js} +2 -2
- package/dist/{withEngineComponent-Bya6z6jQ.js.map → withEngineComponent-CUQbIi-0.js.map} +1 -1
- package/dist/workflow/components/index.js +1 -1
- package/dist/workflow/index.js +13 -13
- package/dist/workflow/menus/index.js +9 -9
- package/dist/wrappers-CGE2HK5z.js +1 -0
- package/export-map.json +3 -2
- package/package.json +1 -1
- package/dist/CustomMenuPage-PSOKksBZ.js.map +0 -1
- package/dist/UdpPrivateForm-BJdYZzlO.js.map +0 -1
- package/dist/theme-DLA8cxjc.js.map +0 -1
- /package/dist/{FluentActivity-CSTNwtbg.js → FluentActivity-DNv5ppko.js} +0 -0
- /package/dist/{FluentDataTable-DaeSnPVT.js → FluentDataTable-BXPIqR8m.js} +0 -0
- /package/dist/{NestedGrid-DnwDKGuS.js → NestedGrid-CQ_tEe-B.js} +0 -0
- /package/dist/{accordion-b0s-0-RI.js → accordion-BLXGkcTH.js} +0 -0
- /package/dist/{addUser-B0865wVm.js → addUser-D2pqu0AW.js} +0 -0
- /package/dist/{advancedSearchBuilder-3XkAGMdW.js → advancedSearchBuilder-DAGBcP1-.js} +0 -0
- /package/dist/{alerts-OCaGbJa8.js → alerts-Gbvcpl4E.js} +0 -0
- /package/dist/{appSwitcher-CgqKfl97.js → appSwitcher-Cj_OxE8O.js} +0 -0
- /package/dist/{charts-Dqnchxlj.js → charts-R51kXdbo.js} +0 -0
- /package/dist/{components-DS49lfXu.js → components-BbPynQ4E.js} +0 -0
- /package/dist/{components-RSFyyue7.js → components-HFPHj0Z0.js} +0 -0
- /package/dist/{containers-CbiOWu6t.js → containers-Do3V9CjC.js} +0 -0
- /package/dist/{crudBrowser-B3M_qFXM.js → crudBrowser-CNJMNMPk.js} +0 -0
- /package/dist/{dataDisplay-C4xsjRpN.js → dataDisplay-CHdSKRO0.js} +0 -0
- /package/dist/{demos-CHF7C73o.js → demos-D1hYYoOq.js} +0 -0
- /package/dist/{feedback-8c0PUyzJ.js → enums-Edm9Kwqq.js} +0 -0
- /package/dist/{feedback-D7AaTszW.js → feedback-DL6EKTOa.js} +0 -0
- /package/dist/{fileViewer-N90YmIyL.js → feedback-Dw-Qh7A6.js} +0 -0
- /package/dist/{floorplans-rm7R2YbY.js → fileViewer-CMBhBXGp.js} +0 -0
- /package/dist/{fluentTimeline-De-79li3.js → floorplans-CtbDAfnq.js} +0 -0
- /package/dist/{forms-DUpzjbB8.js → fluentTimeline-BbvrZFSz.js} +0 -0
- /package/dist/{forms-DoLgP7J3.js → forms-Bqbd2PSS.js} +0 -0
- /package/dist/{functions-DjPVehfJ.js → forms-uSV7-14b.js} +0 -0
- /package/dist/{hocs-BuWIHy7I.js → functions-BKH-pLPX.js} +0 -0
- /package/dist/{hooks-Bgdv7Rjl.js → hocs-DwAy8u5A.js} +0 -0
- /package/dist/{iframe-AW8kvPvm.js → hooks-B7ab4j1m.js} +0 -0
- /package/dist/{loading-6mD-gixw.js → iframe-CM2OOxOu.js} +0 -0
- /package/dist/{mapLayout-CDZKQDHU.js → loading-BwkuGJoi.js} +0 -0
- /package/dist/{maps-Ce7LPzeA.js → mapLayout-Cg6spO9k.js} +0 -0
- /package/dist/{menus-BOCTn6h6.js → maps-D2whP8Zh.js} +0 -0
- /package/dist/{menus-pzqEb4ZE.js → menus-DugtDOhA.js} +0 -0
- /package/dist/{modified-CeJaPfN-.js → menus-VWidUTp_.js} +0 -0
- /package/dist/{mttMainTimeline-Bhn6Bx8O.js → modified--RrdyRlS.js} +0 -0
- /package/dist/{mttSummary-Bx5hrrL_.js → mttMainTimeline-DFHSLEBw.js} +0 -0
- /package/dist/{navigation-n9BzYj_m.js → mttSummary-BrQ0Tb62.js} +0 -0
- /package/dist/{property-BZsCMXJZ.js → navigation-2kyWDJg1.js} +0 -0
- /package/dist/{sidebar-BV9-4hst.js → property-CB8U10nw.js} +0 -0
- /package/dist/{stepper-CE7rAMMG.js → sidebar-C8yBp4eL.js} +0 -0
- /package/dist/{support-DeorQvzN.js → stepper-sZXSP0dk.js} +0 -0
- /package/dist/{surfaces-BjGAutOC.js → support-BhMVhBcD.js} +0 -0
- /package/dist/{tableBrowser-THunl5ws.js → surfaces-B445R0FQ.js} +0 -0
- /package/dist/{tabs-DcAL3Jpp.js → tableBrowser-BRVY65f3.js} +0 -0
- /package/dist/{templates-B2aOg0L7.js → tabs-BMrd1KM-.js} +0 -0
- /package/dist/{timeline-D0LJGudk.js → templates-Cz1v1M4q.js} +0 -0
- /package/dist/{ui-BCGHP5Tg.js → timeline-x3kpYbLD.js} +0 -0
- /package/dist/{ui-CWkntoL5.js → ui-BjpkPJO5.js} +0 -0
- /package/dist/{ui-P3i_0RoE.js → ui-Bqag992Z.js} +0 -0
- /package/dist/{utilities-tnyNft1v.js → ui-DBhxlgrk.js} +0 -0
- /package/dist/{utilityDisplay-9oT_42C1.js → utilities-CMoiGbGt.js} +0 -0
- /package/dist/{utilityHeader-CluhKbl1.js → utilityDisplay-BHYWs3gf.js} +0 -0
- /package/dist/{utils-B90bZC89.js → utilityHeader-BsUlwtE7.js} +0 -0
- /package/dist/{utils-ISMJodw8.js → utils-CRdMZZPC.js} +0 -0
- /package/dist/{virtualBrowser-CjWRkC7M.js → utils-Cpcp_Rx8.js} +0 -0
- /package/dist/{widgets-BbScraXi.js → virtualBrowser-pfw07Czd.js} +0 -0
- /package/dist/{wrappers-DT4B7IyD.js → widgets-BcHFxfRK.js} +0 -0
package/dist/{BulkActionsGridButton-C2Nwb7c6.js.map → BulkActionsGridButton-CSzHiVvH.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkActionsGridButton-C2Nwb7c6.js","names":["useStyles","useStyles","PrimaryActionButton","useStyles","makeStyles","Chip","Divider","Tooltip","Typography"],"sources":["../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx"],"sourcesContent":["import React from 'react';\nimport {\n makeStyles,\n Typography,\n Tabs,\n Tab,\n InputAdornment,\n lighten\n} from '@material-ui/core';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\nimport {\n SearchIcon,\n CombineIcon,\n ExportIcon,\n DownloadIcon,\n BlockedIcon,\n SaveIcon,\n DeleteIcon,\n ClearIcon\n} from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PropTypes from 'prop-types';\n// import {PAHExport} from './PAHExport'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5),\n background: (props) =>\n props.background\n ? props.background\n : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const GridActionBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n handleChange,\n value,\n exportCSV,\n exportExcel,\n exportPDF,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n saveGridConfig,\n deleteGridConfig,\n clearGridConfig,\n title,\n hideFitGrid = false,\n hideExpandGrid = false,\n hideExportGrid = false,\n hideRemoveFilters = false,\n hideFilterTab = false,\n hideGroupTab = false,\n hideColumnTab = false,\n hideSearchBar = false\n } = props;\n\n const gridControlsExport = (\n <div>\n {/* <PAHExport\n exportCSV={exportCSV}\n exportExcel={exportExcel}\n exportPDF={exportPDF}\n /> */}\n </div>\n );\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n <div> {gridControlsExport}</div>\n\n <div className={classes.controls}>\n {saveGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={SaveIcon}\n tooltip='Save Grid Configuration'\n ariaLabel='Save Grid Configuration'\n onClick={saveGridConfig}\n />\n )}\n {deleteGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DeleteIcon}\n tooltip='Delete Grid Configuration'\n ariaLabel='Delete Grid Configuration'\n onClick={deleteGridConfig}\n />\n )}\n {clearGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ClearIcon}\n tooltip='Clear Grid Configuration'\n ariaLabel='Clear Grid Configuration'\n onClick={clearGridConfig}\n />\n )}\n {!hideFitGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={CombineIcon}\n tooltip='Fit Grid'\n ariaLabel='Fit Grid'\n onClick={fitClick}\n />\n )}\n {!hideExpandGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ExportIcon}\n tooltip='Expand Grid'\n ariaLabel='Expand Grid'\n onClick={expandClick}\n />\n )}\n {!hideExportGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DownloadIcon}\n tooltip='Export Grid'\n ariaLabel='Export Grid'\n onClick={exportClick}\n />\n )}\n {!hideRemoveFilters && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={BlockedIcon}\n tooltip='Remove Filters'\n ariaLabel='Remove Filters'\n onClick={clearClick}\n />\n )}\n </div>\n\n <Tabs\n value={value}\n onChange={handleChange}\n aria-label='basic tabs example'\n >\n {!hideFilterTab && (\n <Tab label='Filter' classes={{ root: classes.tabRoot }} />\n )}\n {!hideGroupTab && (\n <Tab label='Group' classes={{ root: classes.tabRoot }} />\n )}\n {!hideColumnTab && (\n <Tab label='Column' classes={{ root: classes.tabRoot }} />\n )}\n </Tabs>\n\n {children}\n </div>\n );\n};\nGridActionBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * Handle change function for quick search\n */\n handleChange: PropTypes.func,\n /**\n * Passes the tab value of the action bar\n */\n value: PropTypes.number,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func\n};\n","import React from \"react\";\nimport {\n AppIconDefaultIcon,\n BlockedIcon,\n BulletedTreeListIcon,\n CombineIcon,\n ExportIcon,\n FavoriteStarIcon,\n FilterIcon,\n LightbulbIcon,\n MoreVerticalIcon,\n SaveIcon,\n SearchIcon,\n TripleColumnIcon,\n UploadIcon\n} from '@fluentui/react-icons';\nimport {\n InputAdornment,\n MenuItem,\n Popover,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AmbientChipButton } from '../inputs/buttons/AmbientChipButton';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PrimaryActionButton from '../inputs/buttons/PrimaryActionButton';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5)\n // background: (props) =>\n // props.background\n // ? props.background\n // : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const GridPrimaryBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n filterClick,\n columnsClick,\n groupClick,\n title,\n hiddenActionButtons,\n hiddenLabels,\n hideSearchBar = false,\n secondaryActionButtons,\n saveViewClick,\n viewsClick,\n insightsClick,\n onPrimaryActionClick,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n onSearchKeyDown\n } = props;\n\n const [actionButtonMedianPx, setActionButtonMedianPx] = useState(0);\n const [actionButtons, setActionButtons] = useState([]);\n const [menuActionButtons, setMenuActionButtons] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n const [windowWidthBreakpoint, setWindowWidthBreakpoint] = useState(1400);\n\n const chipButtonSizePx = 100;\n const tokenButtonSizePx = 40;\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n const defaultActionButtons = useMemo(\n () => [\n {\n icon: SaveIcon,\n tooltip: 'Save Grid Configuration',\n label: 'Save View',\n visible: !hiddenActionButtons.includes('saveView'),\n hideLabel: hiddenLabels.includes('saveView'),\n onClick: saveViewClick,\n background: 'transparent'\n },\n {\n icon: FavoriteStarIcon,\n tooltip: 'Browse Views',\n label: 'Views',\n visible: !hiddenActionButtons.includes('views'),\n onClick: viewsClick,\n hideLabel: hiddenLabels.includes('views'),\n iconClassName: classes.icon\n },\n {\n icon: LightbulbIcon,\n tooltip: 'Insights',\n label: 'Insights',\n visible: !hiddenActionButtons.includes('insights'),\n hideLabel: hiddenLabels.includes('insights'),\n onClick: insightsClick,\n iconClassName: classes.icon\n },\n {\n icon: UploadIcon,\n tooltip: 'Import/Export',\n label: 'Import/Export',\n visible: !!exportClick && !hiddenActionButtons.includes('importExport'),\n hideLabel: hiddenLabels.includes('importExport'),\n onClick: exportClick,\n iconClassName: classes.icon\n },\n {\n icon: BulletedTreeListIcon,\n tooltip: 'Group',\n label: 'Group',\n visible: !!groupClick && !hiddenActionButtons.includes('group'),\n hideLabel: hiddenLabels.includes('group'),\n onClick: groupClick,\n iconClassName: classes.icon\n },\n {\n icon: FilterIcon,\n tooltip: 'Filter',\n label: 'Filter',\n visible: !!filterClick && !hiddenActionButtons.includes('filter'),\n hideLabel: hiddenLabels.includes('filter'),\n onClick: filterClick,\n iconClassName: classes.icon\n },\n {\n icon: TripleColumnIcon,\n tooltip: 'Columns',\n label: 'Columns',\n visible: !!columnsClick && !hiddenActionButtons.includes('columns'),\n hideLabel: hiddenLabels.includes('columns'),\n onClick: columnsClick,\n iconClassName: classes.icon\n },\n {\n icon: CombineIcon,\n tooltip: 'Fit Grid',\n label: 'Fit Grid',\n visible: !!fitClick && !hiddenActionButtons.includes('fitGrid'),\n hideLabel: hiddenLabels.includes('fitGrid'),\n onClick: fitClick,\n iconClassName: classes.icon\n },\n {\n icon: ExportIcon,\n tooltip: 'Expand Grid',\n label: 'Expand Grid',\n visible: !!expandClick && !hiddenActionButtons.includes('expandGrid'),\n hideLabel: hiddenLabels.includes('expandGrid'),\n onClick: expandClick,\n iconClassName: classes.icon\n },\n {\n icon: BlockedIcon,\n tooltip: 'Clear Filters',\n label: 'Clear Filters',\n visible: !!clearClick && !hiddenActionButtons.includes('clearFilters'),\n hideLabel: hiddenLabels.includes('clearFilters'),\n onClick: clearClick,\n iconClassName: classes.icon\n }\n ],\n [\n classes.icon,\n clearClick,\n columnsClick,\n expandClick,\n exportClick,\n filterClick,\n fitClick,\n groupClick,\n hiddenActionButtons,\n hiddenLabels,\n insightsClick,\n saveViewClick,\n viewsClick\n ]\n );\n\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const formatActionButtons = useCallback(\n (buttons) => {\n // This allows users to not have to set the visible and showLabel properties when passing secondaryActionButtons\n return buttons.map((button) => {\n if (button.visible === undefined) {\n button.visible = true;\n }\n if (button.hideLabel === undefined) {\n button.hideLabel = false;\n }\n if (button.label === undefined) {\n button.label = button.tooltip ?? 'Button';\n button.hideLabel = true;\n }\n if (\n button.iconClassName === undefined &&\n button.background === undefined\n ) {\n button.iconClassName = classes.icon;\n }\n return button;\n });\n },\n [classes?.icon]\n );\n\n // calculate the action buttons to display based on the window width\n useEffect(() => {\n const allActionButtons = formatActionButtons([\n ...defaultActionButtons,\n ...secondaryActionButtons\n ]);\n const menuButtons = [];\n\n const numActionButtons =\n allActionButtons.length - hiddenActionButtons.length;\n const buttonTotalWidth =\n numActionButtons * chipButtonSizePx -\n (chipButtonSizePx - tokenButtonSizePx) * hiddenLabels.length;\n\n const calculatedMedian = Math.floor(buttonTotalWidth / numActionButtons);\n\n const breakPointOffset = calculatedMedian > 70 ? 950 : 900;\n let breakPoint = breakPointOffset + buttonTotalWidth;\n\n const currentWindowWidth = window.innerWidth;\n while (currentWindowWidth < breakPoint && allActionButtons.length > 0) {\n const movedAction = allActionButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= calculatedMedian;\n }\n\n setActionButtonMedianPx(calculatedMedian);\n setActionButtons(allActionButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n }, [\n formatActionButtons,\n defaultActionButtons,\n secondaryActionButtons,\n hiddenActionButtons?.length,\n hiddenLabels?.length\n ]);\n\n useEffect(() => {\n const handleResize = () => {\n let breakPoint = windowWidthBreakpoint;\n let visibleButtons = [...actionButtons];\n let menuButtons = [...menuActionButtons];\n\n while (window.innerWidth < breakPoint && visibleButtons.length > 0) {\n const movedAction = visibleButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= actionButtonMedianPx;\n }\n\n while (\n window.innerWidth > breakPoint + actionButtonMedianPx &&\n menuButtons.length > 0\n ) {\n const movedAction = menuButtons.pop(0);\n visibleButtons.push(movedAction);\n breakPoint += actionButtonMedianPx;\n }\n\n setActionButtons(visibleButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n windowWidthBreakpoint,\n actionButtons,\n menuActionButtons,\n actionButtonMedianPx\n ]);\n\n const handleCustomKeyDown = (event) => {\n if(onSearchKeyDown){\n if (event.key === 'Enter') {\n onSearchKeyDown()\n }\n }\n\n }\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16,\n maxWidth: 300\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n onKeyDown={handleCustomKeyDown}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n\n <div className={classes.controls}>\n {actionButtons.map(\n (button) =>\n button.visible &&\n (button.hideLabel ? (\n <AmbientTokenButton\n id={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n onClick={button.onClick}\n ariaLabel={button.label}\n iconClassName={button.iconClassName}\n />\n ) : (\n <AmbientChipButton\n id={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n label={button.label}\n onClick={button.onClick}\n background={button.background}\n />\n ))\n )}\n\n {!!menuActionButtons.length && (\n <div>\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='More Actions'\n ariaLabel='More Actions'\n onClick={handlePopoverClick}\n iconClassName={classes.icon}\n />\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {menuActionButtons\n .slice(0)\n .reverse()\n .map((button) => {\n if (!button.visible) return null;\n return (\n <MenuItem\n id={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n onClick={button.onClick}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n >\n <Typography>{button.label}</Typography>\n <FluentIcon\n component={button.icon ?? AppIconDefaultIcon}\n style={{ marginLeft: 7 }}\n />\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n\n {onPrimaryActionClick && (\n <PrimaryActionButton\n onClick={onPrimaryActionClick}\n id='udpRecord-GridPrimaryBar-Add'\n udprecordid='udpRecord-GridPrimaryBar-Add'\n disabled={primaryActionDisabled}\n >\n <Typography style={{ marginLeft: 4 }}>\n {primaryActionLabel ?? 'Button'}\n </Typography>\n <FluentIcon\n style={{ marginLeft: 7 }}\n component={primaryActionIcon ?? AppIconDefaultIcon}\n />\n </PrimaryActionButton>\n )}\n </div>\n );\n};\n\nGridPrimaryBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * The event that occurs when the grid changes due to a search\n */\n onChange: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for clearing filters\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /**\n * Passes click event to function for filtering grid\n */\n filterClick: PropTypes.func,\n /**\n * Passes click event to function for disabling columns in grid\n */\n columnsClick: PropTypes.func,\n /**\n * Passes click event to function for grouping grid\n */\n groupClick: PropTypes.func,\n /**\n * Specifies whether to hide the search bar\n */\n hideSearchBar: PropTypes.bool,\n /**\n * An optional array of secondary action buttons to display.\n * Required minimum format:\n * {\n tooltip: 'Description',\n label: 'Label',\n onClick: () => console.log('Button clicked'),\n },\n */\n secondaryActionButtons: PropTypes.arrayOf(PropTypes.object),\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType\n};\n","import {\n Box,\n Divider,\n FormControlLabel,\n Switch,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport React, { useCallback, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field, Form } from '../../utilities/form';\nimport { FluentDialog } from '../feedback/FluentDialog.jsx';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField.jsx';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers.jsx';\nimport { getGridState } from '../../utilities/aggrid/GridFunctions';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n saveForm: {\n minWidth: 450,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n column: {\n flex: 1,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n divider: {\n backgroundColor: 'grey',\n color: 'grey',\n width: 2,\n height: '100%'\n },\n infoHeader: {\n color: 'grey'\n }\n}));\n\n/**\n * @param {PropTypes.InferProps<typeof SaveViewFormDialog.propTypes>} props\n */\nexport const SaveViewFormDialog = (props) => {\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n const {\n open,\n handleClose,\n tenant,\n application,\n user,\n refetchViews,\n gApi,\n gcApi,\n gridId,\n domain,\n apiCatalogId\n } = props;\n const { t } = useTranslation();\n const classes = useStyles(props);\n\n const saveViewFormRef = useRef(null);\n const triggerSaveView = useCallback(() => {\n saveViewFormRef.current.handleSubmit();\n }, [saveViewFormRef]);\n\n const saveView = async (values) => {\n const data = {\n data: {\n gridView: {\n Name: values.name,\n GridViewVisibilityTypeId: values.private\n ? VisibilityTypeEnums.Private\n : VisibilityTypeEnums.Public,\n isDefault: 0,\n tenantId: user?.currentTenantId,\n userId: user?.id,\n gridId: gridId,\n domain: domain,\n apiCatalogId: apiCatalogId\n },\n gridConfigurations: getGridState(gApi, gcApi, gridId)\n },\n method: 'POST'\n };\n handleClose();\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/createGridView`,\n data\n )\n .then((response) => {\n handleSuccessSnackbar(t('View Saved'));\n refetchViews();\n })\n .catch((error) => {\n console.log(error);\n handleErrorSnackbar(error, t('Failed to Save View'));\n });\n };\n\n return (\n <FluentDialog\n title={t('Save New View')}\n open={open}\n handleClose={handleClose}\n labelOne={t('Save View')}\n labelTwo={t('Cancel')}\n actionOne={triggerSaveView}\n actionTwo={handleClose}\n >\n <Box display='flex'>\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Tenant')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {tenant ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Application')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {application ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Entity')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {domain ?? '--'}\n </Typography>\n </div>\n </Box>\n\n <div className={classes.saveForm}>\n <Form onSubmit={saveView} ref={saveViewFormRef}>\n <Field\n type='text'\n component={AmbientTextField}\n name='name'\n id='name'\n label={t('Name')}\n fullWidth={true}\n required={true}\n style={{ marginBottom: 20, marginTop: 10 }}\n />\n\n <FormControlLabel\n control={\n <Field\n component={Switch}\n name='private'\n id='private'\n defaultValue={false}\n type='checkbox'\n />\n }\n label={t('Private')}\n labelPlacement='end'\n />\n </Form>\n </div>\n </FluentDialog>\n );\n};\n\nSaveViewFormDialog.propTypes = {\n open: PropTypes.bool.isRequired, // Determines whether the dialog is open or closed\n handleClose: PropTypes.func.isRequired, // Function called when the dialog is closed\n tenant: PropTypes.string, // Tenant value (optional)\n application: PropTypes.string, // Application value (optional)\n entity: PropTypes.string, // Entity value (optional)\n user: PropTypes.object, // User object (optional)\n columnDefsValues: PropTypes.array, // Array of column definitions values (optional)\n refetchViews: PropTypes.func, // Function to refetch views (optional)\n gApi: PropTypes.object, // Grid API object (optional)\n gcApi: PropTypes.object, // Grid Column API object (optional)\n setSelectedView: PropTypes.func // Function to set selected view (optional)\n};\n","import React from \"react\";\nimport Chip from '@material-ui/core/Chip';\nimport Divider from '@material-ui/core/Divider';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport StarIcon from '@material-ui/icons/esm/Star';\nimport PropTypes from 'prop-types';\nimport { useRef, useState } from 'react';\nimport { DynamicContainerWithMenu } from '../containers/DynamicContainerWithMenu';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n flexGrow: 1,\n width: '100%'\n },\n chipHolder: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n overflow: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n flexGrow: 1\n },\n viewChip: {\n backgroundColor: theme.palette.secondary.main,\n color: 'white',\n maxWidth: '150px',\n transition: 'opacity 0.3s ease',\n marginLeft: theme.spacing(1)\n },\n menuItem: {\n backgroundColor: 'white'\n },\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n },\n additionalFilterChip: {},\n KPI: {\n marginLeft: 'auto',\n display: 'flex',\n gap: theme.spacing(1),\n color: 'grey',\n width: 'auto'\n },\n kpiValue: {\n color: 'black',\n fontSize: '1.1em'\n },\n kpiItem: {\n display: 'flex',\n justifyContent: 'center',\n width: 'max-content'\n },\n kpiLabel: {\n width: 'max-content',\n marginRight: theme.spacing(1)\n },\n clickedChip: {\n backgroundColor: theme.palette.primary.main,\n color: 'white',\n maxWidth: '150px'\n },\n filterChipLabel: {\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n marginRight: theme.spacing(1)\n },\n filterChipValue: {\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap'\n }\n}));\n\nexport const ChipSection = (props) => {\n // ################### Props ###################\n const {\n filterChips = [],\n viewChips = [],\n additionalFilterChips = [],\n hideKpiSection = false,\n kpiValues = [],\n maxKPIsDisplayed = 4,\n handleDelete\n } = props;\n\n // ################### Custom hooks ###################\n const classes = useStyles();\n\n // ################### Refs ###################\n const chipRefs = useRef([]);\n const chipSectionContainerRef = useRef(null);\n const viewChipsContainerRef = useRef(null);\n const filterChipsContainerRef = useRef(null);\n const additionalFilterChipsContainerRef = useRef(null);\n const kpiContainerRef = useRef(null);\n\n // ################### States ###################\n const [selectedFilterChip, setSelectedFilterChip] = useState(null);\n\n // ################### Helper Function ###################\n const abbrNum = (number, decPlaces) => {\n if (typeof number === 'string' && !isNaN(Number(number))) {\n number = Number(number);\n } else if (typeof number !== 'number') {\n throw new Error(\n 'The input must be a number or a string that can be converted to a number.'\n );\n }\n\n if (typeof decPlaces !== 'number') {\n return null;\n }\n\n decPlaces = Math.pow(10, decPlaces);\n let abbrev = ['k', 'm', 'b', 't'];\n\n for (let i = abbrev.length - 1; i >= 0; i--) {\n let size = Math.pow(10, (i + 1) * 3);\n\n if (size <= number) {\n number = Math.round((number * decPlaces) / size) / decPlaces;\n\n if (number === 1000 && i < abbrev.length - 1) {\n number = 1;\n i++;\n }\n\n number += abbrev[i];\n break;\n }\n }\n\n return number;\n };\n\n const isEmpty = (array) => Array.isArray(array) && array.length === 0;\n\n const abbreviateLabel = (label) => {\n const maxLength = 10;\n\n if (label.length > maxLength) {\n const newLabel = label.slice(0, maxLength - 3) + '...';\n return newLabel;\n } else {\n return null;\n }\n };\n\n const handleFilterChipToggle = (chip) => {\n setSelectedFilterChip(chip);\n\n if (typeof chip.onToggle === 'function') {\n chip.onToggle();\n }\n };\n\n const handleFilterChipUntoggle = () => {\n if (selectedFilterChip) {\n // if the user wants extra functionality when the filter chip is untoggled, call the function\n if (typeof selectedFilterChip.onUntoggle === 'function') {\n selectedFilterChip.onUntoggle();\n }\n\n setSelectedFilterChip(null);\n }\n };\n\n // ################### Render ###################\n return (\n <div\n ref={chipSectionContainerRef}\n className={classes.wrapper}\n style={{\n display: [\n kpiValues,\n additionalFilterChips,\n viewChips,\n filterChips\n ].every((arr) => arr.length === 0)\n ? 'none'\n : 'flex'\n }}\n >\n <div className={classes.chipHolder}>\n <div ref={viewChipsContainerRef}>\n {viewChips.map((chip, index) => (\n <Chip\n onDelete={() => handleDelete('view', index)}\n key={index}\n label={chip.label}\n className={classes.viewChip}\n icon={<StarIcon />}\n size='small'\n />\n ))}\n </div>\n\n {!isEmpty(viewChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n {!isEmpty(filterChips) && (\n <DynamicContainerWithMenu\n className={classes.chipHolder}\n ref={filterChipsContainerRef}\n >\n {selectedFilterChip && (\n <Chip\n onDelete={handleFilterChipUntoggle}\n label={selectedFilterChip.label}\n className={classes.viewChip}\n size='small'\n />\n )}\n {filterChips.map((chip, index) => {\n if (selectedFilterChip && chip.id === selectedFilterChip.id) {\n return null;\n }\n return (\n <Tooltip title={chip.label}>\n <Chip\n key={index}\n label={\n <div\n style={{\n display: 'flex',\n flexWrap: 'noWrap'\n }}\n >\n <Typography\n noWrap={true}\n className={chip.value ? classes.filterChipLabel : ''}\n >\n {chip.label}\n </Typography>\n <Typography\n noWrap={true}\n className={classes.filterChipValue}\n >\n {chip.value}\n </Typography>\n </div>\n }\n className={classes.filterChip}\n size='small'\n onClick={() => handleFilterChipToggle(chip)}\n ref={(el) => (chipRefs.current[index] = el)}\n />\n </Tooltip>\n );\n })}\n </DynamicContainerWithMenu>\n )}\n\n {!isEmpty(additionalFilterChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n <div\n ref={additionalFilterChipsContainerRef}\n style={{ display: 'flex' }}\n >\n {additionalFilterChips.map((chip, index) => (\n <Chip\n variant='outlined'\n onDelete={() => handleDelete('additionalFilter', index)}\n key={index}\n label={chip.label}\n className={classes.additionalFilterChip}\n size='small'\n />\n ))}\n </div>\n </div>\n\n {!hideKpiSection && (\n <div className={classes.KPI} ref={kpiContainerRef}>\n {kpiValues.slice(0, 4).map((kpi, index) => (\n <>\n <div className={classes.kpiItem} id={index}>\n <span className={classes.kpiLabel}>\n {(abbreviateLabel(kpi.label) && (\n <Tooltip title={kpi.label} arrow>\n <Typography noWrap={true}>\n <span>{kpi.label}:</span>\n </Typography>\n </Tooltip>\n )) || <>{kpi.label}</>}\n </span>\n <span className={classes.kpiValue}>\n <Tooltip title={kpi.value} arrow>\n <span>{abbrNum(kpi.value, 1)}</span>\n </Tooltip>\n </span>\n </div>\n {index !== maxKPIsDisplayed - 1 && (\n <Divider orientation='vertical' flexItem />\n )}\n </>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nChipSection.propTypes = {\n /**\n * An array of filter chips.\n */\n filterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n viewChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * Indicates whether to hide the KPI section.\n */\n hideKpiSection: PropTypes.bool,\n /**\n * An array of KPI values.\n */\n kpiValues: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * The maximum number of KPIs to display.\n */\n maxKPIsDisplayed: PropTypes.number,\n /**\n * A function to handle chip deletion.\n */\n handleDelete: PropTypes.func,\n /**\n * The index of the selected filter chip.\n */\n selectedFilterChipsIndex: PropTypes.number,\n /**\n * A function to set the selected filter chip index.\n */\n setSelectedFilterChipsIndex: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport {\n Badge,\n Popover,\n MenuItem,\n Typography,\n Tooltip\n} from '@material-ui/core';\nimport { FluentButton } from '../inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AppIconDefaultIcon, ErrorIcon } from '@fluentui/react-icons';\n\nexport const BulkActionsGridButton = (props) => {\n const { numSelectedRows, bulkActions, triggerAction, domain } = props;\n\n const [actionsAnchorEl, setActionsAnchorEl] = useState(null);\n\n const handleBulkActionsClick = (event) => {\n setActionsAnchorEl(event.currentTarget);\n };\n\n const triggerBulkAction = (actionId) => {\n triggerAction(actionId);\n };\n\n const filterAction = (action) => {\n return !!domain\n ? JSON.parse(action?.parameters)?.entityName === domain\n : true;\n };\n\n return (\n <div style={{ marginTop: 5, marginLeft: 20 }}>\n <Badge badgeContent={numSelectedRows} color='secondary'>\n <FluentButton\n type='button'\n onClick={handleBulkActionsClick}\n variant='outlined'\n color='primary'\n endIcon={<FluentIcon component={ChevronDownIcon} size='small' />}\n >\n With Selected\n </FluentButton>\n </Badge>\n <Popover\n id={'actions'}\n open={Boolean(actionsAnchorEl)}\n anchorEl={actionsAnchorEl}\n onClose={() => setActionsAnchorEl(null)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {bulkActions &&\n bulkActions.map((action) => {\n const valid = filterAction(action);\n return (\n <Tooltip\n placement='right'\n title={\n !valid ? 'Action entity does not match data grid entity' : ''\n }\n >\n <span>\n <MenuItem\n onClick={() => triggerBulkAction(action.actionId)}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n disabled={!valid}\n >\n <Typography>{action.name}</Typography>\n <FluentIcon\n component={\n valid ? action.icon ?? AppIconDefaultIcon : ErrorIcon\n }\n style={{ marginLeft: 7 }}\n color={!valid && 'red'}\n />\n </MenuItem>\n </span>\n </Tooltip>\n );\n })}\n </Popover>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BulkActionsGridButton-CSzHiVvH.js","names":["useStyles","useStyles","PrimaryActionButton","useStyles","makeStyles","Chip","Divider","Tooltip","Typography"],"sources":["../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx"],"sourcesContent":["import React from 'react';\nimport {\n makeStyles,\n Typography,\n Tabs,\n Tab,\n InputAdornment,\n lighten\n} from '@material-ui/core';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\nimport {\n SearchIcon,\n CombineIcon,\n ExportIcon,\n DownloadIcon,\n BlockedIcon,\n SaveIcon,\n DeleteIcon,\n ClearIcon\n} from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PropTypes from 'prop-types';\n// import {PAHExport} from './PAHExport'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5),\n background: (props) =>\n props.background\n ? props.background\n : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const GridActionBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n handleChange,\n value,\n exportCSV,\n exportExcel,\n exportPDF,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n saveGridConfig,\n deleteGridConfig,\n clearGridConfig,\n title,\n hideFitGrid = false,\n hideExpandGrid = false,\n hideExportGrid = false,\n hideRemoveFilters = false,\n hideFilterTab = false,\n hideGroupTab = false,\n hideColumnTab = false,\n hideSearchBar = false\n } = props;\n\n const gridControlsExport = (\n <div>\n {/* <PAHExport\n exportCSV={exportCSV}\n exportExcel={exportExcel}\n exportPDF={exportPDF}\n /> */}\n </div>\n );\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n <div> {gridControlsExport}</div>\n\n <div className={classes.controls}>\n {saveGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={SaveIcon}\n tooltip='Save Grid Configuration'\n ariaLabel='Save Grid Configuration'\n onClick={saveGridConfig}\n />\n )}\n {deleteGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DeleteIcon}\n tooltip='Delete Grid Configuration'\n ariaLabel='Delete Grid Configuration'\n onClick={deleteGridConfig}\n />\n )}\n {clearGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ClearIcon}\n tooltip='Clear Grid Configuration'\n ariaLabel='Clear Grid Configuration'\n onClick={clearGridConfig}\n />\n )}\n {!hideFitGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={CombineIcon}\n tooltip='Fit Grid'\n ariaLabel='Fit Grid'\n onClick={fitClick}\n />\n )}\n {!hideExpandGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ExportIcon}\n tooltip='Expand Grid'\n ariaLabel='Expand Grid'\n onClick={expandClick}\n />\n )}\n {!hideExportGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DownloadIcon}\n tooltip='Export Grid'\n ariaLabel='Export Grid'\n onClick={exportClick}\n />\n )}\n {!hideRemoveFilters && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={BlockedIcon}\n tooltip='Remove Filters'\n ariaLabel='Remove Filters'\n onClick={clearClick}\n />\n )}\n </div>\n\n <Tabs\n value={value}\n onChange={handleChange}\n aria-label='basic tabs example'\n >\n {!hideFilterTab && (\n <Tab label='Filter' classes={{ root: classes.tabRoot }} />\n )}\n {!hideGroupTab && (\n <Tab label='Group' classes={{ root: classes.tabRoot }} />\n )}\n {!hideColumnTab && (\n <Tab label='Column' classes={{ root: classes.tabRoot }} />\n )}\n </Tabs>\n\n {children}\n </div>\n );\n};\nGridActionBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * Handle change function for quick search\n */\n handleChange: PropTypes.func,\n /**\n * Passes the tab value of the action bar\n */\n value: PropTypes.number,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func\n};\n","import React from \"react\";\nimport {\n AppIconDefaultIcon,\n BlockedIcon,\n BulletedTreeListIcon,\n CombineIcon,\n ExportIcon,\n FavoriteStarIcon,\n FilterIcon,\n LightbulbIcon,\n MoreVerticalIcon,\n SaveIcon,\n SearchIcon,\n TripleColumnIcon,\n UploadIcon\n} from '@fluentui/react-icons';\nimport {\n InputAdornment,\n MenuItem,\n Popover,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AmbientChipButton } from '../inputs/buttons/AmbientChipButton';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PrimaryActionButton from '../inputs/buttons/PrimaryActionButton';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5)\n // background: (props) =>\n // props.background\n // ? props.background\n // : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const GridPrimaryBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n filterClick,\n columnsClick,\n groupClick,\n title,\n hiddenActionButtons,\n hiddenLabels,\n hideSearchBar = false,\n secondaryActionButtons,\n saveViewClick,\n viewsClick,\n insightsClick,\n onPrimaryActionClick,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n onSearchKeyDown\n } = props;\n\n const [actionButtonMedianPx, setActionButtonMedianPx] = useState(0);\n const [actionButtons, setActionButtons] = useState([]);\n const [menuActionButtons, setMenuActionButtons] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n const [windowWidthBreakpoint, setWindowWidthBreakpoint] = useState(1400);\n\n const chipButtonSizePx = 100;\n const tokenButtonSizePx = 40;\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n const defaultActionButtons = useMemo(\n () => [\n {\n icon: SaveIcon,\n tooltip: 'Save Grid Configuration',\n label: 'Save View',\n visible: !hiddenActionButtons.includes('saveView'),\n hideLabel: hiddenLabels.includes('saveView'),\n onClick: saveViewClick,\n background: 'transparent'\n },\n {\n icon: FavoriteStarIcon,\n tooltip: 'Browse Views',\n label: 'Views',\n visible: !hiddenActionButtons.includes('views'),\n onClick: viewsClick,\n hideLabel: hiddenLabels.includes('views'),\n iconClassName: classes.icon\n },\n {\n icon: LightbulbIcon,\n tooltip: 'Insights',\n label: 'Insights',\n visible: !hiddenActionButtons.includes('insights'),\n hideLabel: hiddenLabels.includes('insights'),\n onClick: insightsClick,\n iconClassName: classes.icon\n },\n {\n icon: UploadIcon,\n tooltip: 'Import/Export',\n label: 'Import/Export',\n visible: !!exportClick && !hiddenActionButtons.includes('importExport'),\n hideLabel: hiddenLabels.includes('importExport'),\n onClick: exportClick,\n iconClassName: classes.icon\n },\n {\n icon: BulletedTreeListIcon,\n tooltip: 'Group',\n label: 'Group',\n visible: !!groupClick && !hiddenActionButtons.includes('group'),\n hideLabel: hiddenLabels.includes('group'),\n onClick: groupClick,\n iconClassName: classes.icon\n },\n {\n icon: FilterIcon,\n tooltip: 'Filter',\n label: 'Filter',\n visible: !!filterClick && !hiddenActionButtons.includes('filter'),\n hideLabel: hiddenLabels.includes('filter'),\n onClick: filterClick,\n iconClassName: classes.icon\n },\n {\n icon: TripleColumnIcon,\n tooltip: 'Columns',\n label: 'Columns',\n visible: !!columnsClick && !hiddenActionButtons.includes('columns'),\n hideLabel: hiddenLabels.includes('columns'),\n onClick: columnsClick,\n iconClassName: classes.icon\n },\n {\n icon: CombineIcon,\n tooltip: 'Fit Grid',\n label: 'Fit Grid',\n visible: !!fitClick && !hiddenActionButtons.includes('fitGrid'),\n hideLabel: hiddenLabels.includes('fitGrid'),\n onClick: fitClick,\n iconClassName: classes.icon\n },\n {\n icon: ExportIcon,\n tooltip: 'Expand Grid',\n label: 'Expand Grid',\n visible: !!expandClick && !hiddenActionButtons.includes('expandGrid'),\n hideLabel: hiddenLabels.includes('expandGrid'),\n onClick: expandClick,\n iconClassName: classes.icon\n },\n {\n icon: BlockedIcon,\n tooltip: 'Clear Filters',\n label: 'Clear Filters',\n visible: !!clearClick && !hiddenActionButtons.includes('clearFilters'),\n hideLabel: hiddenLabels.includes('clearFilters'),\n onClick: clearClick,\n iconClassName: classes.icon\n }\n ],\n [\n classes.icon,\n clearClick,\n columnsClick,\n expandClick,\n exportClick,\n filterClick,\n fitClick,\n groupClick,\n hiddenActionButtons,\n hiddenLabels,\n insightsClick,\n saveViewClick,\n viewsClick\n ]\n );\n\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const formatActionButtons = useCallback(\n (buttons) => {\n // This allows users to not have to set the visible and showLabel properties when passing secondaryActionButtons\n return buttons.map((button) => {\n if (button.visible === undefined) {\n button.visible = true;\n }\n if (button.hideLabel === undefined) {\n button.hideLabel = false;\n }\n if (button.label === undefined) {\n button.label = button.tooltip ?? 'Button';\n button.hideLabel = true;\n }\n if (\n button.iconClassName === undefined &&\n button.background === undefined\n ) {\n button.iconClassName = classes.icon;\n }\n return button;\n });\n },\n [classes?.icon]\n );\n\n // calculate the action buttons to display based on the window width\n useEffect(() => {\n const allActionButtons = formatActionButtons([\n ...defaultActionButtons,\n ...secondaryActionButtons\n ]);\n const menuButtons = [];\n\n const numActionButtons =\n allActionButtons.length - hiddenActionButtons.length;\n const buttonTotalWidth =\n numActionButtons * chipButtonSizePx -\n (chipButtonSizePx - tokenButtonSizePx) * hiddenLabels.length;\n\n const calculatedMedian = Math.floor(buttonTotalWidth / numActionButtons);\n\n const breakPointOffset = calculatedMedian > 70 ? 950 : 900;\n let breakPoint = breakPointOffset + buttonTotalWidth;\n\n const currentWindowWidth = window.innerWidth;\n while (currentWindowWidth < breakPoint && allActionButtons.length > 0) {\n const movedAction = allActionButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= calculatedMedian;\n }\n\n setActionButtonMedianPx(calculatedMedian);\n setActionButtons(allActionButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n }, [\n formatActionButtons,\n defaultActionButtons,\n secondaryActionButtons,\n hiddenActionButtons?.length,\n hiddenLabels?.length\n ]);\n\n useEffect(() => {\n const handleResize = () => {\n let breakPoint = windowWidthBreakpoint;\n let visibleButtons = [...actionButtons];\n let menuButtons = [...menuActionButtons];\n\n while (window.innerWidth < breakPoint && visibleButtons.length > 0) {\n const movedAction = visibleButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= actionButtonMedianPx;\n }\n\n while (\n window.innerWidth > breakPoint + actionButtonMedianPx &&\n menuButtons.length > 0\n ) {\n const movedAction = menuButtons.pop(0);\n visibleButtons.push(movedAction);\n breakPoint += actionButtonMedianPx;\n }\n\n setActionButtons(visibleButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n windowWidthBreakpoint,\n actionButtons,\n menuActionButtons,\n actionButtonMedianPx\n ]);\n\n const handleCustomKeyDown = (event) => {\n if(onSearchKeyDown){\n if (event.key === 'Enter') {\n onSearchKeyDown()\n }\n }\n\n }\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16,\n maxWidth: 300\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n onKeyDown={handleCustomKeyDown}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n\n <div className={classes.controls}>\n {actionButtons.map(\n (button) =>\n button.visible &&\n (button.hideLabel ? (\n <AmbientTokenButton\n id={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n onClick={button.onClick}\n ariaLabel={button.label}\n iconClassName={button.iconClassName}\n />\n ) : (\n <AmbientChipButton\n id={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n label={button.label}\n onClick={button.onClick}\n background={button.background}\n />\n ))\n )}\n\n {!!menuActionButtons.length && (\n <div>\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='More Actions'\n ariaLabel='More Actions'\n onClick={handlePopoverClick}\n iconClassName={classes.icon}\n />\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {menuActionButtons\n .slice(0)\n .reverse()\n .map((button) => {\n if (!button.visible) return null;\n return (\n <MenuItem\n id={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n onClick={button.onClick}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n >\n <Typography>{button.label}</Typography>\n <FluentIcon\n component={button.icon ?? AppIconDefaultIcon}\n style={{ marginLeft: 7 }}\n />\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n\n {onPrimaryActionClick && (\n <PrimaryActionButton\n onClick={onPrimaryActionClick}\n id='udpRecord-GridPrimaryBar-Add'\n udprecordid='udpRecord-GridPrimaryBar-Add'\n disabled={primaryActionDisabled}\n >\n <Typography style={{ marginLeft: 4 }}>\n {primaryActionLabel ?? 'Button'}\n </Typography>\n <FluentIcon\n style={{ marginLeft: 7 }}\n component={primaryActionIcon ?? AppIconDefaultIcon}\n />\n </PrimaryActionButton>\n )}\n </div>\n );\n};\n\nGridPrimaryBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * The event that occurs when the grid changes due to a search\n */\n onChange: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for clearing filters\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /**\n * Passes click event to function for filtering grid\n */\n filterClick: PropTypes.func,\n /**\n * Passes click event to function for disabling columns in grid\n */\n columnsClick: PropTypes.func,\n /**\n * Passes click event to function for grouping grid\n */\n groupClick: PropTypes.func,\n /**\n * Specifies whether to hide the search bar\n */\n hideSearchBar: PropTypes.bool,\n /**\n * An optional array of secondary action buttons to display.\n * Required minimum format:\n * {\n tooltip: 'Description',\n label: 'Label',\n onClick: () => console.log('Button clicked'),\n },\n */\n secondaryActionButtons: PropTypes.arrayOf(PropTypes.object),\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType\n};\n","import {\n Box,\n Divider,\n FormControlLabel,\n Switch,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport React, { useCallback, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field, Form } from '../../utilities/form';\nimport { FluentDialog } from '../feedback/FluentDialog.jsx';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField.jsx';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers.jsx';\nimport { getGridState } from '../../utilities/aggrid/GridFunctions';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n saveForm: {\n minWidth: 450,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n column: {\n flex: 1,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n divider: {\n backgroundColor: 'grey',\n color: 'grey',\n width: 2,\n height: '100%'\n },\n infoHeader: {\n color: 'grey'\n }\n}));\n\n/**\n * @param {PropTypes.InferProps<typeof SaveViewFormDialog.propTypes>} props\n */\nexport const SaveViewFormDialog = (props) => {\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n const {\n open,\n handleClose,\n tenant,\n application,\n user,\n refetchViews,\n gApi,\n gcApi,\n gridId,\n domain,\n apiCatalogId\n } = props;\n const { t } = useTranslation();\n const classes = useStyles(props);\n\n const saveViewFormRef = useRef(null);\n const triggerSaveView = useCallback(() => {\n saveViewFormRef.current.handleSubmit();\n }, [saveViewFormRef]);\n\n const saveView = async (values) => {\n const data = {\n data: {\n gridView: {\n Name: values.name,\n GridViewVisibilityTypeId: values.private\n ? VisibilityTypeEnums.Private\n : VisibilityTypeEnums.Public,\n isDefault: 0,\n tenantId: user?.currentTenantId,\n userId: user?.id,\n gridId: gridId,\n domain: domain,\n apiCatalogId: apiCatalogId\n },\n gridConfigurations: getGridState(gApi, gcApi, gridId)\n },\n method: 'POST'\n };\n handleClose();\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/createGridView`,\n data\n )\n .then((response) => {\n handleSuccessSnackbar(t('View Saved'));\n refetchViews();\n })\n .catch((error) => {\n console.log(error);\n handleErrorSnackbar(error, t('Failed to Save View'));\n });\n };\n\n return (\n <FluentDialog\n title={t('Save New View')}\n open={open}\n handleClose={handleClose}\n labelOne={t('Save View')}\n labelTwo={t('Cancel')}\n actionOne={triggerSaveView}\n actionTwo={handleClose}\n >\n <Box display='flex'>\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Tenant')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {tenant ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Application')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {application ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Entity')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {domain ?? '--'}\n </Typography>\n </div>\n </Box>\n\n <div className={classes.saveForm}>\n <Form onSubmit={saveView} ref={saveViewFormRef}>\n <Field\n type='text'\n component={AmbientTextField}\n name='name'\n id='name'\n label={t('Name')}\n fullWidth={true}\n required={true}\n style={{ marginBottom: 20, marginTop: 10 }}\n />\n\n <FormControlLabel\n control={\n <Field\n component={Switch}\n name='private'\n id='private'\n defaultValue={false}\n type='checkbox'\n />\n }\n label={t('Private')}\n labelPlacement='end'\n />\n </Form>\n </div>\n </FluentDialog>\n );\n};\n\nSaveViewFormDialog.propTypes = {\n open: PropTypes.bool.isRequired, // Determines whether the dialog is open or closed\n handleClose: PropTypes.func.isRequired, // Function called when the dialog is closed\n tenant: PropTypes.string, // Tenant value (optional)\n application: PropTypes.string, // Application value (optional)\n entity: PropTypes.string, // Entity value (optional)\n user: PropTypes.object, // User object (optional)\n columnDefsValues: PropTypes.array, // Array of column definitions values (optional)\n refetchViews: PropTypes.func, // Function to refetch views (optional)\n gApi: PropTypes.object, // Grid API object (optional)\n gcApi: PropTypes.object, // Grid Column API object (optional)\n setSelectedView: PropTypes.func // Function to set selected view (optional)\n};\n","import React from \"react\";\nimport Chip from '@material-ui/core/Chip';\nimport Divider from '@material-ui/core/Divider';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport StarIcon from '@material-ui/icons/esm/Star';\nimport PropTypes from 'prop-types';\nimport { useRef, useState } from 'react';\nimport { DynamicContainerWithMenu } from '../containers/DynamicContainerWithMenu';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n flexGrow: 1,\n width: '100%'\n },\n chipHolder: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n overflow: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n flexGrow: 1\n },\n viewChip: {\n backgroundColor: theme.palette.secondary.main,\n color: 'white',\n maxWidth: '150px',\n transition: 'opacity 0.3s ease',\n marginLeft: theme.spacing(1)\n },\n menuItem: {\n backgroundColor: 'white'\n },\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n },\n additionalFilterChip: {},\n KPI: {\n marginLeft: 'auto',\n display: 'flex',\n gap: theme.spacing(1),\n color: 'grey',\n width: 'auto'\n },\n kpiValue: {\n color: 'black',\n fontSize: '1.1em'\n },\n kpiItem: {\n display: 'flex',\n justifyContent: 'center',\n width: 'max-content'\n },\n kpiLabel: {\n width: 'max-content',\n marginRight: theme.spacing(1)\n },\n clickedChip: {\n backgroundColor: theme.palette.primary.main,\n color: 'white',\n maxWidth: '150px'\n },\n filterChipLabel: {\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n marginRight: theme.spacing(1)\n },\n filterChipValue: {\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap'\n }\n}));\n\nexport const ChipSection = (props) => {\n // ################### Props ###################\n const {\n filterChips = [],\n viewChips = [],\n additionalFilterChips = [],\n hideKpiSection = false,\n kpiValues = [],\n maxKPIsDisplayed = 4,\n handleDelete\n } = props;\n\n // ################### Custom hooks ###################\n const classes = useStyles();\n\n // ################### Refs ###################\n const chipRefs = useRef([]);\n const chipSectionContainerRef = useRef(null);\n const viewChipsContainerRef = useRef(null);\n const filterChipsContainerRef = useRef(null);\n const additionalFilterChipsContainerRef = useRef(null);\n const kpiContainerRef = useRef(null);\n\n // ################### States ###################\n const [selectedFilterChip, setSelectedFilterChip] = useState(null);\n\n // ################### Helper Function ###################\n const abbrNum = (number, decPlaces) => {\n if (typeof number === 'string' && !isNaN(Number(number))) {\n number = Number(number);\n } else if (typeof number !== 'number') {\n throw new Error(\n 'The input must be a number or a string that can be converted to a number.'\n );\n }\n\n if (typeof decPlaces !== 'number') {\n return null;\n }\n\n decPlaces = Math.pow(10, decPlaces);\n let abbrev = ['k', 'm', 'b', 't'];\n\n for (let i = abbrev.length - 1; i >= 0; i--) {\n let size = Math.pow(10, (i + 1) * 3);\n\n if (size <= number) {\n number = Math.round((number * decPlaces) / size) / decPlaces;\n\n if (number === 1000 && i < abbrev.length - 1) {\n number = 1;\n i++;\n }\n\n number += abbrev[i];\n break;\n }\n }\n\n return number;\n };\n\n const isEmpty = (array) => Array.isArray(array) && array.length === 0;\n\n const abbreviateLabel = (label) => {\n const maxLength = 10;\n\n if (label.length > maxLength) {\n const newLabel = label.slice(0, maxLength - 3) + '...';\n return newLabel;\n } else {\n return null;\n }\n };\n\n const handleFilterChipToggle = (chip) => {\n setSelectedFilterChip(chip);\n\n if (typeof chip.onToggle === 'function') {\n chip.onToggle();\n }\n };\n\n const handleFilterChipUntoggle = () => {\n if (selectedFilterChip) {\n // if the user wants extra functionality when the filter chip is untoggled, call the function\n if (typeof selectedFilterChip.onUntoggle === 'function') {\n selectedFilterChip.onUntoggle();\n }\n\n setSelectedFilterChip(null);\n }\n };\n\n // ################### Render ###################\n return (\n <div\n ref={chipSectionContainerRef}\n className={classes.wrapper}\n style={{\n display: [\n kpiValues,\n additionalFilterChips,\n viewChips,\n filterChips\n ].every((arr) => arr.length === 0)\n ? 'none'\n : 'flex'\n }}\n >\n <div className={classes.chipHolder}>\n <div ref={viewChipsContainerRef}>\n {viewChips.map((chip, index) => (\n <Chip\n onDelete={() => handleDelete('view', index)}\n key={index}\n label={chip.label}\n className={classes.viewChip}\n icon={<StarIcon />}\n size='small'\n />\n ))}\n </div>\n\n {!isEmpty(viewChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n {!isEmpty(filterChips) && (\n <DynamicContainerWithMenu\n className={classes.chipHolder}\n ref={filterChipsContainerRef}\n >\n {selectedFilterChip && (\n <Chip\n onDelete={handleFilterChipUntoggle}\n label={selectedFilterChip.label}\n className={classes.viewChip}\n size='small'\n />\n )}\n {filterChips.map((chip, index) => {\n if (selectedFilterChip && chip.id === selectedFilterChip.id) {\n return null;\n }\n return (\n <Tooltip title={chip.label}>\n <Chip\n key={index}\n label={\n <div\n style={{\n display: 'flex',\n flexWrap: 'noWrap'\n }}\n >\n <Typography\n noWrap={true}\n className={chip.value ? classes.filterChipLabel : ''}\n >\n {chip.label}\n </Typography>\n <Typography\n noWrap={true}\n className={classes.filterChipValue}\n >\n {chip.value}\n </Typography>\n </div>\n }\n className={classes.filterChip}\n size='small'\n onClick={() => handleFilterChipToggle(chip)}\n ref={(el) => (chipRefs.current[index] = el)}\n />\n </Tooltip>\n );\n })}\n </DynamicContainerWithMenu>\n )}\n\n {!isEmpty(additionalFilterChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n <div\n ref={additionalFilterChipsContainerRef}\n style={{ display: 'flex' }}\n >\n {additionalFilterChips.map((chip, index) => (\n <Chip\n variant='outlined'\n onDelete={() => handleDelete('additionalFilter', index)}\n key={index}\n label={chip.label}\n className={classes.additionalFilterChip}\n size='small'\n />\n ))}\n </div>\n </div>\n\n {!hideKpiSection && (\n <div className={classes.KPI} ref={kpiContainerRef}>\n {kpiValues.slice(0, 4).map((kpi, index) => (\n <>\n <div className={classes.kpiItem} id={index}>\n <span className={classes.kpiLabel}>\n {(abbreviateLabel(kpi.label) && (\n <Tooltip title={kpi.label} arrow>\n <Typography noWrap={true}>\n <span>{kpi.label}:</span>\n </Typography>\n </Tooltip>\n )) || <>{kpi.label}</>}\n </span>\n <span className={classes.kpiValue}>\n <Tooltip title={kpi.value} arrow>\n <span>{abbrNum(kpi.value, 1)}</span>\n </Tooltip>\n </span>\n </div>\n {index !== maxKPIsDisplayed - 1 && (\n <Divider orientation='vertical' flexItem />\n )}\n </>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nChipSection.propTypes = {\n /**\n * An array of filter chips.\n */\n filterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n viewChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * Indicates whether to hide the KPI section.\n */\n hideKpiSection: PropTypes.bool,\n /**\n * An array of KPI values.\n */\n kpiValues: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * The maximum number of KPIs to display.\n */\n maxKPIsDisplayed: PropTypes.number,\n /**\n * A function to handle chip deletion.\n */\n handleDelete: PropTypes.func,\n /**\n * The index of the selected filter chip.\n */\n selectedFilterChipsIndex: PropTypes.number,\n /**\n * A function to set the selected filter chip index.\n */\n setSelectedFilterChipsIndex: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport {\n Badge,\n Popover,\n MenuItem,\n Typography,\n Tooltip\n} from '@material-ui/core';\nimport { FluentButton } from '../inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AppIconDefaultIcon, ErrorIcon } from '@fluentui/react-icons';\n\nexport const BulkActionsGridButton = (props) => {\n const { numSelectedRows, bulkActions, triggerAction, domain } = props;\n\n const [actionsAnchorEl, setActionsAnchorEl] = useState(null);\n\n const handleBulkActionsClick = (event) => {\n setActionsAnchorEl(event.currentTarget);\n };\n\n const triggerBulkAction = (actionId) => {\n triggerAction(actionId);\n };\n\n const filterAction = (action) => {\n return !!domain\n ? JSON.parse(action?.parameters)?.entityName === domain\n : true;\n };\n\n return (\n <div style={{ marginTop: 5, marginLeft: 20 }}>\n <Badge badgeContent={numSelectedRows} color='secondary'>\n <FluentButton\n type='button'\n onClick={handleBulkActionsClick}\n variant='outlined'\n color='primary'\n endIcon={<FluentIcon component={ChevronDownIcon} size='small' />}\n >\n With Selected\n </FluentButton>\n </Badge>\n <Popover\n id={'actions'}\n open={Boolean(actionsAnchorEl)}\n anchorEl={actionsAnchorEl}\n onClose={() => setActionsAnchorEl(null)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {bulkActions &&\n bulkActions.map((action) => {\n const valid = filterAction(action);\n return (\n <Tooltip\n placement='right'\n title={\n !valid ? 'Action entity does not match data grid entity' : ''\n }\n >\n <span>\n <MenuItem\n onClick={() => triggerBulkAction(action.actionId)}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n disabled={!valid}\n >\n <Typography>{action.name}</Typography>\n <FluentIcon\n component={\n valid ? action.icon ?? AppIconDefaultIcon : ErrorIcon\n }\n style={{ marginLeft: 7 }}\n color={!valid && 'red'}\n />\n </MenuItem>\n </span>\n </Tooltip>\n );\n })}\n </Popover>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as FluentButton } from "./FluentButton-BexKrnAp.js";
|
|
2
2
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
3
3
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
4
|
-
import { t as apiMutate } from "./useAxiosMutate-
|
|
4
|
+
import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
|
|
5
5
|
import { t as AmbientTextField } from "./AmbientTextField-CdnqPJUw.js";
|
|
6
6
|
import { t as useChatBot } from "./useChatBot-DsJZ4f0O.js";
|
|
7
7
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
@@ -251,4 +251,4 @@ const ChatContainer = (props) => {
|
|
|
251
251
|
|
|
252
252
|
//#endregion
|
|
253
253
|
export { ChatMessage as n, ChatContainer as t };
|
|
254
|
-
//# sourceMappingURL=ChatContainer-
|
|
254
|
+
//# sourceMappingURL=ChatContainer-CW2u13tF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatContainer-BpN6e_Of.js","names":["useStyles","makeStyles","newMessageContent","addMessage"],"sources":["../src/chatBot/ChatMessage.jsx","../src/chatBot/ChatContainer.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Card, CardContent, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: 5,\n background: (props) => (props.message.outgoing ? '#cdecfa' : '#e1e2e3'),\n width: '85%',\n padding: '3px',\n alignSelf: (props) => props.message.outgoing && 'flex-end',\n flexShrink: 0, \n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)'\n },\n userName: {\n fontWeight: 'bold'\n },\n timestamp: {\n color: '#A9A9A9',\n margin: '0 0 0 5px',\n },\n}));\n\nexport const ChatMessage = (props) => {\n const classes = useStyles(props);\n const { message } = props;\n\n return (\n <Card className={classes.root}>\n <CardContent>\n <div style={{display:'flex', flexDirection:'row'}}>\n <Typography noWrap variant='caption' className={classes.userName}>\n {message.createdBy.name}\n </Typography>\n {!message.createdBy.loading && (\n <Typography noWrap variant='caption' className={classes.timestamp}>\n {message.createdAt}\n </Typography>\n )}\n </div>\n <div style={{wordWrap: 'break-word'}}>\n <Typography variant='body2' style={{whiteSpace: 'pre-line'}}>\n {message.messageContent}\n </Typography>\n </div>\n </CardContent>\n </Card>\n );\n};\n\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { AmbientTextField } from '../UI/inputs/textField/AmbientTextField';\nimport { FluentButton } from '../UI/inputs/buttons/FluentButton';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ChatMessage } from './ChatMessage';\nimport { Link, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useChatBot } from '../utilities/chatBot/useChatBot';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../configService';\n\nconst useStyles = makeStyles((theme) => ({\n loadingContainer: {\n display: 'inline-block',\n fontSize: '2em', // Adjust the font size to make the whole section bigger\n },\n pulseEllipsis: {\n display: 'inline-block',\n animation: '$pulse 1.5s infinite',\n '&:nth-of-type(2)': {\n animationDelay: '0.5s',\n },\n '&:nth-of-type(3)': {\n animationDelay: '1s',\n },\n },\n '@keyframes pulse': {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n '50%': {\n transform: 'scale(1.2)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n },\n}));\n\n\nexport const ChatContainer = (props) => {\n const classes = useStyles();\n const { messageHistory, addMessage, removeMessageHistory, removeLoadingMessage } = useChatBot()\n const user = useUser();\n const [newMessageContent, setNewMessageContent] = useState('');\n const messageEndRef = useRef(null);\n const productId = ConfigService.config.UNITY_PRODUCT_ID;\n const aiSearchUrl = ConfigService.config.AI_SEARCH_URL;\n const aiSearchIndexName = ConfigService.config.AI_SEARCH_INDEX_NAME;\n const aiSearchKey = ConfigService.config.AI_SEARCH_KEY;\n const udpAiApiBase = ConfigService.config.UDPAI_API_BASE;\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n\n const handleSendMessage = async () => {\n addMessage(newMessageContent, { ...user, name: 'You' }, newMessageContent);\n setNewMessageContent('');\n addLoadingMessage();\n\n try {\n await sendMessage(newMessageContent, addMessage);\n removeLoadingMessage();\n } catch (error) {\n console.error('Error sending message:', error);\n }\n };\n\n const handleNewSession = async () => {\n try {\n await removeMessageHistory();\n enqueueSnackbar(t(`Chat Session Cleared`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n }\n });\n } catch (error) {\n console.error('Error create new chat session:', error);\n }\n }\n\n const addLoadingMessage = () => {\n const messageContent = (\n <div className={classes.loadingContainer}>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n </div>\n );\n addMessage(messageContent, { name: 'AI Assistant', loading: true }, \"\");\n };\n\n\n useEffect(() => {\n messageEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n }, [messageHistory]);\n\n\n const formatCitations = (citations) => {\n return (\n <div>\n <ol>\n {citations.map((citation) => {\n return (\n <li>\n <Link href={citation.url} target='_blank' rel='noopener'>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {citation.title}\n </Typography>\n </Link>\n </li>\n );\n })}\n </ol>\n </div>\n );\n };\n\n const parseAiResponse = (response, addMessage) => {\n try {\n const gptResponseMessage = response.data.LLMResponse.choices[0].message;\n const messageText = gptResponseMessage.content;\n const citations = gptResponseMessage.context.citations;\n const showCitations = messageText.toString().includes('[doc');\n const textContent = messageText.toString().replaceAll('[doc', '[');\n\n const responseMessage = (\n <div>\n <div style={{ wordWrap: 'break-word' }}>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {textContent}\n </Typography>\n </div>\n {citations.length > 0 && showCitations && (\n <div>\n <br />\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n Refer to the XWiki documents for more info:\n </Typography>\n {formatCitations(citations)}\n </div>\n )}\n </div>\n );\n addMessage(responseMessage, { name: 'AI Assistant' }, textContent);\n } catch (e) {\n const errorMessage = \"Sorry, an error has occurred.\"\n addMessage(errorMessage, { name: 'AI Assistant' }, errorMessage);\n }\n\n };\n\n const executeQuery = useCallback(\n async (data, aiModelId) =>\n apiMutate(\n udpAiApiBase,\n `aiservice/llm`,\n {\n method: 'post',\n headers: {\n currentProductId: productId, //temporary bypass -> //currentProductId: '1'\n }\n },\n data\n ),\n [productId, udpAiApiBase]\n );\n\n\n\n const sendMessage = async (newMessageContent, addMessage) => {\n const messageHistoryTextArray = messageHistory\n .map(item => ({\n role: item.createdBy.name === 'AI Assistant' ? 'assistant' : item.createdBy.name === 'You' ? 'user' : item.createdBy.name,\n content: item.messageText\n }));\n\n const body = {\n modelName: 'gpt-4o',\n useCache: 'false',\n payload: {\n max_tokens: 4096,\n temperature: 0.5,\n n: 1,\n presence_penalty: 0,\n messages: [\n {\n role: 'system',\n content:\n 'You are an assistant helping a user using existing knowledge supplemented by additional data.'\n },\n ...messageHistoryTextArray,\n {\n role: 'user',\n content: newMessageContent\n }\n ],\n data_sources: [\n {\n type: 'azure_search',\n parameters: {\n endpoint: aiSearchUrl,\n // set sematic configuration name to match index name\n semantic_configuration: aiSearchIndexName,\n query_type: \"semantic\",\n in_scope: false,\n //role_information: \"You are an AI search assistant having access to wiki documentation data. Please be helpful to the user answer any questions to the best of your ability.\",\n strictness: 1,\n top_n_documents: 5,\n authentication: {\n type: 'api_key',\n key: aiSearchKey\n },\n index_name: aiSearchIndexName,\n filter: `Products/any(p: p eq '${productId}')`\n }\n }\n ]\n }\n };\n\n const aiResponse = await executeQuery({ data: body });\n parseAiResponse(aiResponse, addMessage);\n }\n\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%'}}>\n <FluentButton id='udpRecord-ChatContainer-NewSession' onClick={handleNewSession}>Clear Chat</FluentButton>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n padding: '3px',\n height: '100%',\n overflowY: 'auto',\n flexGrow: 1\n }}\n >\n {messageHistory.map((message, index) => (\n <ChatMessage key={index} message={message} />\n ))}\n <div ref={messageEndRef} />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginTop: '5px', position: 'sticky', bottom: 0, padding: '3px', zIndex: 1, background: 'white' }}>\n <div style={{ flexGrow: 1 }}>\n <AmbientTextField\n id='udpRecord-ChatContainer-Enter'\n multiline\n value={newMessageContent}\n onChange={(e) => setNewMessageContent(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n handleSendMessage();\n }\n }}\n />\n </div>\n <FluentButton\n id='udpRecord-ChatContainer-Send'\n onClick={handleSendMessage}\n autoFocus\n variant='outlined'\n >\n Send\n </FluentButton>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatContainer-CW2u13tF.js","names":["useStyles","makeStyles","newMessageContent","addMessage"],"sources":["../src/chatBot/ChatMessage.jsx","../src/chatBot/ChatContainer.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Card, CardContent, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: 5,\n background: (props) => (props.message.outgoing ? '#cdecfa' : '#e1e2e3'),\n width: '85%',\n padding: '3px',\n alignSelf: (props) => props.message.outgoing && 'flex-end',\n flexShrink: 0, \n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)'\n },\n userName: {\n fontWeight: 'bold'\n },\n timestamp: {\n color: '#A9A9A9',\n margin: '0 0 0 5px',\n },\n}));\n\nexport const ChatMessage = (props) => {\n const classes = useStyles(props);\n const { message } = props;\n\n return (\n <Card className={classes.root}>\n <CardContent>\n <div style={{display:'flex', flexDirection:'row'}}>\n <Typography noWrap variant='caption' className={classes.userName}>\n {message.createdBy.name}\n </Typography>\n {!message.createdBy.loading && (\n <Typography noWrap variant='caption' className={classes.timestamp}>\n {message.createdAt}\n </Typography>\n )}\n </div>\n <div style={{wordWrap: 'break-word'}}>\n <Typography variant='body2' style={{whiteSpace: 'pre-line'}}>\n {message.messageContent}\n </Typography>\n </div>\n </CardContent>\n </Card>\n );\n};\n\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { AmbientTextField } from '../UI/inputs/textField/AmbientTextField';\nimport { FluentButton } from '../UI/inputs/buttons/FluentButton';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ChatMessage } from './ChatMessage';\nimport { Link, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useChatBot } from '../utilities/chatBot/useChatBot';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../configService';\n\nconst useStyles = makeStyles((theme) => ({\n loadingContainer: {\n display: 'inline-block',\n fontSize: '2em', // Adjust the font size to make the whole section bigger\n },\n pulseEllipsis: {\n display: 'inline-block',\n animation: '$pulse 1.5s infinite',\n '&:nth-of-type(2)': {\n animationDelay: '0.5s',\n },\n '&:nth-of-type(3)': {\n animationDelay: '1s',\n },\n },\n '@keyframes pulse': {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n '50%': {\n transform: 'scale(1.2)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n },\n}));\n\n\nexport const ChatContainer = (props) => {\n const classes = useStyles();\n const { messageHistory, addMessage, removeMessageHistory, removeLoadingMessage } = useChatBot()\n const user = useUser();\n const [newMessageContent, setNewMessageContent] = useState('');\n const messageEndRef = useRef(null);\n const productId = ConfigService.config.UNITY_PRODUCT_ID;\n const aiSearchUrl = ConfigService.config.AI_SEARCH_URL;\n const aiSearchIndexName = ConfigService.config.AI_SEARCH_INDEX_NAME;\n const aiSearchKey = ConfigService.config.AI_SEARCH_KEY;\n const udpAiApiBase = ConfigService.config.UDPAI_API_BASE;\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n\n const handleSendMessage = async () => {\n addMessage(newMessageContent, { ...user, name: 'You' }, newMessageContent);\n setNewMessageContent('');\n addLoadingMessage();\n\n try {\n await sendMessage(newMessageContent, addMessage);\n removeLoadingMessage();\n } catch (error) {\n console.error('Error sending message:', error);\n }\n };\n\n const handleNewSession = async () => {\n try {\n await removeMessageHistory();\n enqueueSnackbar(t(`Chat Session Cleared`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n }\n });\n } catch (error) {\n console.error('Error create new chat session:', error);\n }\n }\n\n const addLoadingMessage = () => {\n const messageContent = (\n <div className={classes.loadingContainer}>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n </div>\n );\n addMessage(messageContent, { name: 'AI Assistant', loading: true }, \"\");\n };\n\n\n useEffect(() => {\n messageEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n }, [messageHistory]);\n\n\n const formatCitations = (citations) => {\n return (\n <div>\n <ol>\n {citations.map((citation) => {\n return (\n <li>\n <Link href={citation.url} target='_blank' rel='noopener'>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {citation.title}\n </Typography>\n </Link>\n </li>\n );\n })}\n </ol>\n </div>\n );\n };\n\n const parseAiResponse = (response, addMessage) => {\n try {\n const gptResponseMessage = response.data.LLMResponse.choices[0].message;\n const messageText = gptResponseMessage.content;\n const citations = gptResponseMessage.context.citations;\n const showCitations = messageText.toString().includes('[doc');\n const textContent = messageText.toString().replaceAll('[doc', '[');\n\n const responseMessage = (\n <div>\n <div style={{ wordWrap: 'break-word' }}>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {textContent}\n </Typography>\n </div>\n {citations.length > 0 && showCitations && (\n <div>\n <br />\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n Refer to the XWiki documents for more info:\n </Typography>\n {formatCitations(citations)}\n </div>\n )}\n </div>\n );\n addMessage(responseMessage, { name: 'AI Assistant' }, textContent);\n } catch (e) {\n const errorMessage = \"Sorry, an error has occurred.\"\n addMessage(errorMessage, { name: 'AI Assistant' }, errorMessage);\n }\n\n };\n\n const executeQuery = useCallback(\n async (data, aiModelId) =>\n apiMutate(\n udpAiApiBase,\n `aiservice/llm`,\n {\n method: 'post',\n headers: {\n currentProductId: productId, //temporary bypass -> //currentProductId: '1'\n }\n },\n data\n ),\n [productId, udpAiApiBase]\n );\n\n\n\n const sendMessage = async (newMessageContent, addMessage) => {\n const messageHistoryTextArray = messageHistory\n .map(item => ({\n role: item.createdBy.name === 'AI Assistant' ? 'assistant' : item.createdBy.name === 'You' ? 'user' : item.createdBy.name,\n content: item.messageText\n }));\n\n const body = {\n modelName: 'gpt-4o',\n useCache: 'false',\n payload: {\n max_tokens: 4096,\n temperature: 0.5,\n n: 1,\n presence_penalty: 0,\n messages: [\n {\n role: 'system',\n content:\n 'You are an assistant helping a user using existing knowledge supplemented by additional data.'\n },\n ...messageHistoryTextArray,\n {\n role: 'user',\n content: newMessageContent\n }\n ],\n data_sources: [\n {\n type: 'azure_search',\n parameters: {\n endpoint: aiSearchUrl,\n // set sematic configuration name to match index name\n semantic_configuration: aiSearchIndexName,\n query_type: \"semantic\",\n in_scope: false,\n //role_information: \"You are an AI search assistant having access to wiki documentation data. Please be helpful to the user answer any questions to the best of your ability.\",\n strictness: 1,\n top_n_documents: 5,\n authentication: {\n type: 'api_key',\n key: aiSearchKey\n },\n index_name: aiSearchIndexName,\n filter: `Products/any(p: p eq '${productId}')`\n }\n }\n ]\n }\n };\n\n const aiResponse = await executeQuery({ data: body });\n parseAiResponse(aiResponse, addMessage);\n }\n\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%'}}>\n <FluentButton id='udpRecord-ChatContainer-NewSession' onClick={handleNewSession}>Clear Chat</FluentButton>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n padding: '3px',\n height: '100%',\n overflowY: 'auto',\n flexGrow: 1\n }}\n >\n {messageHistory.map((message, index) => (\n <ChatMessage key={index} message={message} />\n ))}\n <div ref={messageEndRef} />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginTop: '5px', position: 'sticky', bottom: 0, padding: '3px', zIndex: 1, background: 'white' }}>\n <div style={{ flexGrow: 1 }}>\n <AmbientTextField\n id='udpRecord-ChatContainer-Enter'\n multiline\n value={newMessageContent}\n onChange={(e) => setNewMessageContent(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n handleSendMessage();\n }\n }}\n />\n </div>\n <FluentButton\n id='udpRecord-ChatContainer-Send'\n onClick={handleSendMessage}\n autoFocus\n variant='outlined'\n >\n Send\n </FluentButton>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __export } from "./chunk-Bp6m_JJh.js";
|
|
2
|
-
import { t as ChatContainer } from "./ChatContainer-
|
|
2
|
+
import { t as ChatContainer } from "./ChatContainer-CW2u13tF.js";
|
|
3
3
|
import React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/udp/pages/ChatUDP/ChatUDP.jsx
|
|
@@ -14,4 +14,4 @@ var ChatUDP_exports = /* @__PURE__ */ __export({ default: () => ChatUDP_default
|
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
16
16
|
export { ChatUDP_default as n, ChatUDP_exports as t };
|
|
17
|
-
//# sourceMappingURL=ChatUDP-
|
|
17
|
+
//# sourceMappingURL=ChatUDP-B7dgnKO0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatUDP-
|
|
1
|
+
{"version":3,"file":"ChatUDP-B7dgnKO0.js","names":[],"sources":["../src/udp/pages/ChatUDP/ChatUDP.jsx","../src/udp/pages/ChatUDP/index.ts"],"sourcesContent":["import React from 'react';\nimport { ChatContainer } from '../../../chatBot/ChatContainer';\n\nconst ChatUDP = () => {\n return (\n <ChatContainer />\n );\n};\n\nexport default ChatUDP;\n","export { default } from './ChatUDP';\nexport * from './ChatUDP';\n"],"mappings":";;;;;AAGA,MAAM,gBAAgB;AACpB,QACE,oCAAC,oBAAiB;;AAItB,sBAAe"}
|
|
@@ -2,7 +2,7 @@ import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
|
|
|
2
2
|
import { n as SideSheet } from "./SideSheet-C-rILQqR.js";
|
|
3
3
|
import { t as DraggableSidebarTemplate } from "./DraggableSidebarTemplate-BUWBvL6H.js";
|
|
4
4
|
import { t as FluentDialog } from "./FluentDialog-B5ZxvX1E.js";
|
|
5
|
-
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-
|
|
5
|
+
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-BecuOnHe.js";
|
|
6
6
|
import { t as SubHeaderAction } from "./SubHeaderAction-B9e4Fnrd.js";
|
|
7
7
|
import { t as AmbientAlert } from "./AmbientAlert-LVJtZhxz.js";
|
|
8
8
|
import { t as HeaderExpander } from "./HeaderExpander-XX12jgXn.js";
|
|
@@ -151,4 +151,4 @@ CoreLayoutFloorplan.propTypes = {
|
|
|
151
151
|
|
|
152
152
|
//#endregion
|
|
153
153
|
export { CoreLayoutFloorplan as t };
|
|
154
|
-
//# sourceMappingURL=CoreLayoutFloorplan-
|
|
154
|
+
//# sourceMappingURL=CoreLayoutFloorplan-xIdceY2Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreLayoutFloorplan-C-4DdwJz.js","names":[],"sources":["../src/UI/floorplans/CoreLayoutFloorplan.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\n// MUI\nimport {\n Card,\n CardContent,\n useTheme,\n useMediaQuery,\n makeStyles,\n Slide\n} from '@material-ui/core';\n\n//FLuent library\nimport { SubHeaderAction } from '../../utilities/utilityBar/SubHeaderAction';\nimport { FluentDialog } from '../feedback/FluentDialog';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { AmbientGridTemplate } from '../templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport { HeaderExpander } from '../dataDisplay/HeaderExpander';\nimport { DraggableSidebarTemplate } from '../templates/DraggableSidebarTemplate';\nimport { AmbientToast } from '../feedback/AmbientToast';\nimport { AmbientAlert } from '../feedback/AmbientAlert';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n cardDisplay: {\n marginBottom: theme.spacing(2)\n },\n padding: {\n padding: (props) => !props.noPadding && theme.spacing(1)\n },\n splitScreen: {\n width: '100%',\n height: '100%'\n }\n }),\n { name: 'CoreLayoutFloorplan' }\n);\n\nexport const CoreLayoutFloorplan = (props) => {\n const {\n PrimaryActionHeader,\n children,\n footer,\n gridData,\n groupData,\n columnDefinitions,\n expandedData,\n splitScreen,\n splitScreenContent,\n splitScreenWidth,\n setSplitScreenWidth,\n sideSheetTitle,\n sideSheetButton,\n sideSheetDisabled,\n sideSheetProgress,\n sideSheetOpen,\n setSideSheetOpen,\n setSideSheetClose,\n sideSheetContent,\n dialogActionOne,\n dialogActionTwo,\n dialogClose,\n dialogOpen,\n dialogTitle,\n dialogMessage,\n dialogLabelOne,\n dialogLabelTwo,\n notice,\n alertButton,\n alertMessage,\n alertType,\n closeNotice,\n noticeOpen,\n noticeAction,\n noticeType,\n noticeMessage,\n noticeButton,\n alertSeverity,\n showAlert,\n closeAlert,\n DialogLoadingvariant = 'determinate',\n disableDialogAction,\n compactHeader,\n headerExpanded,\n expanderLeftContainer,\n gridTemplateTitle,\n removePadding,\n removeHeader,\n hideSidebarButton,\n defaultAutoSize,\n hideGrid = false,\n useSubHeaderAction = true,\n ...otherProps\n } = props;\n const theme = useTheme();\n const desktop = useMediaQuery(theme.breakpoints.up('sm'));\n const mobile = useMediaQuery(theme.breakpoints.down('sm'));\n const classes = useStyles(props);\n\n const actionHeader = useMemo(\n () => (\n <>\n <AmbientAlert\n alertMessage={alertMessage}\n alertButton={alertButton}\n alertSeverity={alertSeverity}\n showAlert={showAlert}\n closeAlert={closeAlert}\n />\n {PrimaryActionHeader}\n </>\n ),\n [\n alertMessage,\n alertButton,\n alertSeverity,\n showAlert,\n closeAlert,\n PrimaryActionHeader\n ]\n );\n\n return (\n <div>\n <DraggableSidebarTemplate\n width={splitScreenWidth}\n setWidth={setSplitScreenWidth}\n // @todo: remove padding hack\n removePadding={removePadding}\n hide={hideSidebarButton}\n {...otherProps}\n body={\n <div>\n <div>\n {!useSubHeaderAction && !!PrimaryActionHeader && (\n <Card variant='outlined'>{actionHeader}</Card>\n )}\n {useSubHeaderAction && !!PrimaryActionHeader && (\n <SubHeaderAction>{actionHeader}</SubHeaderAction>\n )}\n {!removeHeader && (\n <HeaderExpander\n toggleLabel='Data Visualization'\n sectionOpen={headerExpanded}\n compact={compactHeader}\n options={expanderLeftContainer}\n >\n <div className={classes.padding}> {expandedData} </div>\n </HeaderExpander>\n )}\n\n {!removeHeader && <LayoutUnit unit='xxs' />}\n\n {children}\n {!hideGrid && (\n <AmbientGridTemplate\n {...otherProps}\n title={gridTemplateTitle}\n data={gridData}\n columnDefs={columnDefinitions}\n groupingData={groupData}\n defaultAutoSize={defaultAutoSize}\n />\n )}\n </div>\n </div>\n }\n sidebar={\n <Slide in={splitScreen && splitScreen} direction='left'>\n <div style={{ height: '100%' }}>\n {splitScreen && (\n <div className={classes.splitScreen}>\n <Card square style={{ height: '100%' }}>\n <CardContent>{splitScreenContent}</CardContent>\n </Card>\n </div>\n )}\n </div>\n </Slide>\n }\n />\n\n <SideSheet\n key={'sideSheet'}\n title={sideSheetTitle}\n width={!desktop ? 350 : 500}\n buttonLabel={sideSheetButton}\n open={sideSheetOpen}\n onClose={setSideSheetClose}\n disabled={sideSheetDisabled}\n progress={sideSheetProgress}\n buttonProgress\n children={sideSheetContent}\n />\n\n <FluentDialog\n title={dialogTitle}\n message={dialogMessage}\n labelOne={dialogLabelOne}\n actionOne={dialogActionOne}\n labelTwo={dialogLabelTwo}\n actionTwo={dialogActionTwo}\n open={dialogOpen}\n handleClose={dialogClose}\n progress={20}\n variant={DialogLoadingvariant}\n disableTwo={disableDialogAction}\n />\n <AmbientToast\n noticeType={noticeType}\n noticeMessage={noticeMessage}\n noticeButton={noticeButton}\n closeNotice={closeNotice}\n noticeOpen={noticeOpen}\n noticeAction={noticeAction}\n alertSeverity={alertSeverity}\n />\n {footer}\n </div>\n );\n};\n\nCoreLayoutFloorplan.propTypes = {\n /**\n * Container to add Primary Action Header to page\n */\n PrimaryActionHeader: PropTypes.node,\n /**\n * Additional open area on page to add content. Adds a space above the grid area.\n */\n children: PropTypes.object,\n /**\n * Content that shows up in the split screen area.\n */\n splitScreenContent: PropTypes.node,\n /**\n * Data for AgGrid.\n */\n gridData: PropTypes.array,\n /**\n * Accepts an array of data to build out the buttons and functions to group data on the grid.\n */\n groupData: PropTypes.array,\n /**\n * Grid definitions to define keys for AgGrid.\n */\n columnDefinitions: PropTypes.arrayOf(PropTypes.object),\n /**\n * Content area for top expanded section.\n */\n expandedData: PropTypes.string,\n /**\n * shows or hides split screen (default: false)\n */\n splitScreen: PropTypes.string,\n /**\n * The width the split screen displays at.\n */\n splitScreenWidth: PropTypes.string,\n /**\n * To connect function to update state for split screen width.\n */\n setSplitScreenWidth: PropTypes.string,\n /**\n * Used to set side sheet title.\n */\n sideSheetTitle: PropTypes.string,\n /**\n * Lable for the side sheet action button.\n */\n sideSheetButton: PropTypes.string,\n /**\n * Disable Toggle for the side sheet button.\n */\n sideSheetDisabled: PropTypes.string,\n /**\n * Allows progress indication for the side sheet.\n */\n sideSheetProgress: PropTypes.number,\n /**\n * When true sets the side sheet open (default: false)\n */\n sideSheetOpen: PropTypes.bool,\n /**\n * State function to set the side sheet state true or false.\n */\n setSideSheetOpen: PropTypes.string,\n /**\n * Function to set the side sheet closed.\n */\n setSideSheetClose: PropTypes.string,\n /**\n * Content that displays in the side sheet.\n */\n setSideSheetContent: PropTypes.string,\n /**\n * Action for the first button in the dialog.\n */\n dialogActionOne: PropTypes.string,\n /**\n * Action for the second button in the dialog.\n */\n dialogActionTwo: PropTypes.string,\n /**\n * Function to canel open dialog.\n */\n dialogClose: PropTypes.string,\n /**\n * If true will cause the dialog to open.\n */\n dialogOpen: PropTypes.string,\n /**\n * Main title of the dialog.\n */\n dialogTitle: PropTypes.string,\n /**\n * Dialog message.\n */\n dialogMessage: PropTypes.string,\n /**\n * Label for first button of dialog.\n */\n dialogLabelOne: PropTypes.string,\n /**\n * Label for second button of dialog.\n */\n dialogLableTwo: PropTypes.string,\n /**\n * If true will display the notice message.\n */\n notice: PropTypes.string,\n /**\n * Label for alert button.\n */\n alertButton: PropTypes.string,\n /**\n * Message that displays in alert.\n */\n alertMessage: PropTypes.string,\n /**\n * Sets the severity of the alert (info, warning, error, success).\n */\n alertType: PropTypes.string,\n /**\n * Function to close notice.\n */\n closeNotice: PropTypes.string,\n /**\n * If true the notice will be displayed.\n */\n noticeOpen: PropTypes.string,\n /**\n * Optional action assigned to notice.\n */\n noticeAction: PropTypes.string,\n /**\n * The type of notice: error, warning, success, info (toast).\n */\n noticeType: PropTypes.string,\n /**\n * The message contained in the notice (toast).\n */\n noticeMessage: PropTypes.string,\n /**\n * The label for the notice button (toast).\n */\n noticeButton: PropTypes.string,\n /**\n * Sets the severity of the alert (info, warning, error, success).\n */\n alertSeverity: PropTypes.string,\n /**\n * If true the alert will display.\n */\n showAlert: PropTypes.string,\n /**\n * Function to close alert.\n */\n closeAlert: PropTypes.string,\n /**\n * Sets the type of the progress indicator for the dialog.\n */\n DialogLoadingvariant: PropTypes.string,\n /**\n * sets the action button on the dialog to disabled.\n */\n disableDialogAction: PropTypes.string,\n /**\n * Allows for a smaller tab version of the expandable drawer.\n */\n compactHeader: PropTypes.string,\n /**\n * If true, the header expander will be open (default: true)\n */\n headerExpanded: PropTypes.string,\n /**\n * Section in expander to allow for additional content within the tab area.\n */\n expanderLeftContainer: PropTypes.string,\n /**\n * Sets the grid default to expaned size if true. The default is 'size to fit'.\n */\n defaultAutoSize: PropTypes.bool,\n /**\n * Sets the teleporter for primary action header if it's true\n */\n useSubHeaderAction: PropTypes.bool\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoreLayoutFloorplan-xIdceY2Q.js","names":[],"sources":["../src/UI/floorplans/CoreLayoutFloorplan.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\n// MUI\nimport {\n Card,\n CardContent,\n useTheme,\n useMediaQuery,\n makeStyles,\n Slide\n} from '@material-ui/core';\n\n//FLuent library\nimport { SubHeaderAction } from '../../utilities/utilityBar/SubHeaderAction';\nimport { FluentDialog } from '../feedback/FluentDialog';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { AmbientGridTemplate } from '../templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport { HeaderExpander } from '../dataDisplay/HeaderExpander';\nimport { DraggableSidebarTemplate } from '../templates/DraggableSidebarTemplate';\nimport { AmbientToast } from '../feedback/AmbientToast';\nimport { AmbientAlert } from '../feedback/AmbientAlert';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n cardDisplay: {\n marginBottom: theme.spacing(2)\n },\n padding: {\n padding: (props) => !props.noPadding && theme.spacing(1)\n },\n splitScreen: {\n width: '100%',\n height: '100%'\n }\n }),\n { name: 'CoreLayoutFloorplan' }\n);\n\nexport const CoreLayoutFloorplan = (props) => {\n const {\n PrimaryActionHeader,\n children,\n footer,\n gridData,\n groupData,\n columnDefinitions,\n expandedData,\n splitScreen,\n splitScreenContent,\n splitScreenWidth,\n setSplitScreenWidth,\n sideSheetTitle,\n sideSheetButton,\n sideSheetDisabled,\n sideSheetProgress,\n sideSheetOpen,\n setSideSheetOpen,\n setSideSheetClose,\n sideSheetContent,\n dialogActionOne,\n dialogActionTwo,\n dialogClose,\n dialogOpen,\n dialogTitle,\n dialogMessage,\n dialogLabelOne,\n dialogLabelTwo,\n notice,\n alertButton,\n alertMessage,\n alertType,\n closeNotice,\n noticeOpen,\n noticeAction,\n noticeType,\n noticeMessage,\n noticeButton,\n alertSeverity,\n showAlert,\n closeAlert,\n DialogLoadingvariant = 'determinate',\n disableDialogAction,\n compactHeader,\n headerExpanded,\n expanderLeftContainer,\n gridTemplateTitle,\n removePadding,\n removeHeader,\n hideSidebarButton,\n defaultAutoSize,\n hideGrid = false,\n useSubHeaderAction = true,\n ...otherProps\n } = props;\n const theme = useTheme();\n const desktop = useMediaQuery(theme.breakpoints.up('sm'));\n const mobile = useMediaQuery(theme.breakpoints.down('sm'));\n const classes = useStyles(props);\n\n const actionHeader = useMemo(\n () => (\n <>\n <AmbientAlert\n alertMessage={alertMessage}\n alertButton={alertButton}\n alertSeverity={alertSeverity}\n showAlert={showAlert}\n closeAlert={closeAlert}\n />\n {PrimaryActionHeader}\n </>\n ),\n [\n alertMessage,\n alertButton,\n alertSeverity,\n showAlert,\n closeAlert,\n PrimaryActionHeader\n ]\n );\n\n return (\n <div>\n <DraggableSidebarTemplate\n width={splitScreenWidth}\n setWidth={setSplitScreenWidth}\n // @todo: remove padding hack\n removePadding={removePadding}\n hide={hideSidebarButton}\n {...otherProps}\n body={\n <div>\n <div>\n {!useSubHeaderAction && !!PrimaryActionHeader && (\n <Card variant='outlined'>{actionHeader}</Card>\n )}\n {useSubHeaderAction && !!PrimaryActionHeader && (\n <SubHeaderAction>{actionHeader}</SubHeaderAction>\n )}\n {!removeHeader && (\n <HeaderExpander\n toggleLabel='Data Visualization'\n sectionOpen={headerExpanded}\n compact={compactHeader}\n options={expanderLeftContainer}\n >\n <div className={classes.padding}> {expandedData} </div>\n </HeaderExpander>\n )}\n\n {!removeHeader && <LayoutUnit unit='xxs' />}\n\n {children}\n {!hideGrid && (\n <AmbientGridTemplate\n {...otherProps}\n title={gridTemplateTitle}\n data={gridData}\n columnDefs={columnDefinitions}\n groupingData={groupData}\n defaultAutoSize={defaultAutoSize}\n />\n )}\n </div>\n </div>\n }\n sidebar={\n <Slide in={splitScreen && splitScreen} direction='left'>\n <div style={{ height: '100%' }}>\n {splitScreen && (\n <div className={classes.splitScreen}>\n <Card square style={{ height: '100%' }}>\n <CardContent>{splitScreenContent}</CardContent>\n </Card>\n </div>\n )}\n </div>\n </Slide>\n }\n />\n\n <SideSheet\n key={'sideSheet'}\n title={sideSheetTitle}\n width={!desktop ? 350 : 500}\n buttonLabel={sideSheetButton}\n open={sideSheetOpen}\n onClose={setSideSheetClose}\n disabled={sideSheetDisabled}\n progress={sideSheetProgress}\n buttonProgress\n children={sideSheetContent}\n />\n\n <FluentDialog\n title={dialogTitle}\n message={dialogMessage}\n labelOne={dialogLabelOne}\n actionOne={dialogActionOne}\n labelTwo={dialogLabelTwo}\n actionTwo={dialogActionTwo}\n open={dialogOpen}\n handleClose={dialogClose}\n progress={20}\n variant={DialogLoadingvariant}\n disableTwo={disableDialogAction}\n />\n <AmbientToast\n noticeType={noticeType}\n noticeMessage={noticeMessage}\n noticeButton={noticeButton}\n closeNotice={closeNotice}\n noticeOpen={noticeOpen}\n noticeAction={noticeAction}\n alertSeverity={alertSeverity}\n />\n {footer}\n </div>\n );\n};\n\nCoreLayoutFloorplan.propTypes = {\n /**\n * Container to add Primary Action Header to page\n */\n PrimaryActionHeader: PropTypes.node,\n /**\n * Additional open area on page to add content. Adds a space above the grid area.\n */\n children: PropTypes.object,\n /**\n * Content that shows up in the split screen area.\n */\n splitScreenContent: PropTypes.node,\n /**\n * Data for AgGrid.\n */\n gridData: PropTypes.array,\n /**\n * Accepts an array of data to build out the buttons and functions to group data on the grid.\n */\n groupData: PropTypes.array,\n /**\n * Grid definitions to define keys for AgGrid.\n */\n columnDefinitions: PropTypes.arrayOf(PropTypes.object),\n /**\n * Content area for top expanded section.\n */\n expandedData: PropTypes.string,\n /**\n * shows or hides split screen (default: false)\n */\n splitScreen: PropTypes.string,\n /**\n * The width the split screen displays at.\n */\n splitScreenWidth: PropTypes.string,\n /**\n * To connect function to update state for split screen width.\n */\n setSplitScreenWidth: PropTypes.string,\n /**\n * Used to set side sheet title.\n */\n sideSheetTitle: PropTypes.string,\n /**\n * Lable for the side sheet action button.\n */\n sideSheetButton: PropTypes.string,\n /**\n * Disable Toggle for the side sheet button.\n */\n sideSheetDisabled: PropTypes.string,\n /**\n * Allows progress indication for the side sheet.\n */\n sideSheetProgress: PropTypes.number,\n /**\n * When true sets the side sheet open (default: false)\n */\n sideSheetOpen: PropTypes.bool,\n /**\n * State function to set the side sheet state true or false.\n */\n setSideSheetOpen: PropTypes.string,\n /**\n * Function to set the side sheet closed.\n */\n setSideSheetClose: PropTypes.string,\n /**\n * Content that displays in the side sheet.\n */\n setSideSheetContent: PropTypes.string,\n /**\n * Action for the first button in the dialog.\n */\n dialogActionOne: PropTypes.string,\n /**\n * Action for the second button in the dialog.\n */\n dialogActionTwo: PropTypes.string,\n /**\n * Function to canel open dialog.\n */\n dialogClose: PropTypes.string,\n /**\n * If true will cause the dialog to open.\n */\n dialogOpen: PropTypes.string,\n /**\n * Main title of the dialog.\n */\n dialogTitle: PropTypes.string,\n /**\n * Dialog message.\n */\n dialogMessage: PropTypes.string,\n /**\n * Label for first button of dialog.\n */\n dialogLabelOne: PropTypes.string,\n /**\n * Label for second button of dialog.\n */\n dialogLableTwo: PropTypes.string,\n /**\n * If true will display the notice message.\n */\n notice: PropTypes.string,\n /**\n * Label for alert button.\n */\n alertButton: PropTypes.string,\n /**\n * Message that displays in alert.\n */\n alertMessage: PropTypes.string,\n /**\n * Sets the severity of the alert (info, warning, error, success).\n */\n alertType: PropTypes.string,\n /**\n * Function to close notice.\n */\n closeNotice: PropTypes.string,\n /**\n * If true the notice will be displayed.\n */\n noticeOpen: PropTypes.string,\n /**\n * Optional action assigned to notice.\n */\n noticeAction: PropTypes.string,\n /**\n * The type of notice: error, warning, success, info (toast).\n */\n noticeType: PropTypes.string,\n /**\n * The message contained in the notice (toast).\n */\n noticeMessage: PropTypes.string,\n /**\n * The label for the notice button (toast).\n */\n noticeButton: PropTypes.string,\n /**\n * Sets the severity of the alert (info, warning, error, success).\n */\n alertSeverity: PropTypes.string,\n /**\n * If true the alert will display.\n */\n showAlert: PropTypes.string,\n /**\n * Function to close alert.\n */\n closeAlert: PropTypes.string,\n /**\n * Sets the type of the progress indicator for the dialog.\n */\n DialogLoadingvariant: PropTypes.string,\n /**\n * sets the action button on the dialog to disabled.\n */\n disableDialogAction: PropTypes.string,\n /**\n * Allows for a smaller tab version of the expandable drawer.\n */\n compactHeader: PropTypes.string,\n /**\n * If true, the header expander will be open (default: true)\n */\n headerExpanded: PropTypes.string,\n /**\n * Section in expander to allow for additional content within the tab area.\n */\n expanderLeftContainer: PropTypes.string,\n /**\n * Sets the grid default to expaned size if true. The default is 'size to fit'.\n */\n defaultAutoSize: PropTypes.bool,\n /**\n * Sets the teleporter for primary action header if it's true\n */\n useSubHeaderAction: PropTypes.bool\n};\n"],"mappings":"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"}
|
|
@@ -3,16 +3,16 @@ import { t as Field$1 } from "./Field-Cda5rJe2.js";
|
|
|
3
3
|
import { n as SubmitButton, t as FormButtons } from "./FormButtons-BTCO-pzW.js";
|
|
4
4
|
import { a as getPrimaryKeyValues, r as getPathObject } from "./CrudBrowserUtilities-C9nVmUR3.js";
|
|
5
5
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
6
|
-
import { i as useHandleAxiosSnackbar } from "./apiHelpers-
|
|
6
|
+
import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
|
|
7
7
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
8
|
-
import { n as useAxiosMutate } from "./useAxiosMutate-
|
|
8
|
+
import { n as useAxiosMutate } from "./useAxiosMutate-DcLxzykX.js";
|
|
9
9
|
import { t as FluentTextFieldAutoComplete } from "./FluentTextFieldAutoComplete-5Hp3qpk6.js";
|
|
10
10
|
import { i as toLowerFirstChar } from "./StringUtilities-u-cxAW6-.js";
|
|
11
11
|
import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
|
|
12
|
-
import { t as useCrudActions } from "./crudActions-
|
|
12
|
+
import { t as useCrudActions } from "./crudActions-DXyHKaN8.js";
|
|
13
13
|
import { N as UdpEnums, a as EntityAttributeEnums, n as CardinalityTypeEnums } from "./unitySystemEnums-DQSkCr3D.js";
|
|
14
|
-
import { i as executeQueryWithParameters } from "./methodUtils-
|
|
15
|
-
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-
|
|
14
|
+
import { i as executeQueryWithParameters } from "./methodUtils-Cwo_kmVX.js";
|
|
15
|
+
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-Bi2neP26.js";
|
|
16
16
|
import { n as useDefaultFormValues_default } from "./useDefaultFormValues-BVsgZOlc.js";
|
|
17
17
|
import { t as TagEnums } from "./tagEnums-BG8WEzei.js";
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
@@ -346,4 +346,4 @@ CrudForm.propTypes = {
|
|
|
346
346
|
|
|
347
347
|
//#endregion
|
|
348
348
|
export { UdpCrudFormFields as n, CrudForm as t };
|
|
349
|
-
//# sourceMappingURL=CrudForm-
|
|
349
|
+
//# sourceMappingURL=CrudForm-DzmNPfVa.js.map
|