udp-react-enterprise-component-library 25.18.1-beta.70 → 25.18.1-beta.72
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-DGzli-X1.js → ActionProvider-BGugOmjV.js} +2 -2
- package/dist/{ActionProvider-DGzli-X1.js.map → ActionProvider-BGugOmjV.js.map} +1 -1
- package/dist/{ActionSplitScreen-gKH4ISoo.js → ActionSplitScreen-D6_7PlK-.js} +4 -4
- package/dist/{ActionSplitScreen-gKH4ISoo.js.map → ActionSplitScreen-D6_7PlK-.js.map} +1 -1
- package/dist/{ActionWrapper-Bpp9Mn4j.js → ActionWrapper-DnP7lGDq.js} +4 -4
- package/dist/{ActionWrapper-Bpp9Mn4j.js.map → ActionWrapper-DnP7lGDq.js.map} +1 -1
- package/dist/{AmbientCard-CLW4bPCu.js → AmbientCard-DhAiVDYD.js} +2 -2
- package/dist/{AmbientCard-CLW4bPCu.js.map → AmbientCard-DhAiVDYD.js.map} +1 -1
- package/dist/{AmbientVisualizationCard-CAxx4QWe.js → AmbientVisualizationCard-CivQRhmD.js} +4 -4
- package/dist/{AmbientVisualizationCard-CAxx4QWe.js.map → AmbientVisualizationCard-CivQRhmD.js.map} +1 -1
- package/dist/{AmbientVisualizer-BABKxgsK.js → AmbientVisualizer-buICwVdO.js} +2 -2
- package/dist/{AmbientVisualizer-BABKxgsK.js.map → AmbientVisualizer-buICwVdO.js.map} +1 -1
- package/dist/{BioCardWrapper-B2bT-4zw.js → BioCardWrapper-D1ZOHyA4.js} +3 -3
- package/dist/{BioCardWrapper-B2bT-4zw.js.map → BioCardWrapper-D1ZOHyA4.js.map} +1 -1
- package/dist/{CrudTableSidePanel-CNEZxJi0.js → CrudTableSidePanel-Dw8gZSqR.js} +2 -2
- package/dist/{CrudTableSidePanel-CNEZxJi0.js.map → CrudTableSidePanel-Dw8gZSqR.js.map} +1 -1
- package/dist/{DashboardWidget-CsOrr74H.js → DashboardWidget-D3HStfJA.js} +26 -10
- package/dist/DashboardWidget-D3HStfJA.js.map +1 -0
- package/dist/{DataBrowserContainer-cU_EEIiR.js → DataBrowserContainer-D4gJ66IC.js} +2 -2
- package/dist/{DataBrowserContainer-cU_EEIiR.js.map → DataBrowserContainer-D4gJ66IC.js.map} +1 -1
- package/dist/{DynamicRangeSlider-prr4fg8d.js → DynamicRangeSlider-BX4kCzUd.js} +2 -2
- package/dist/{DynamicRangeSlider-prr4fg8d.js.map → DynamicRangeSlider-BX4kCzUd.js.map} +1 -1
- package/dist/{EmailDisplay-Dm8ynSko.js → EmailDisplay-DZHmPeiL.js} +2 -2
- package/dist/{EmailDisplay-Dm8ynSko.js.map → EmailDisplay-DZHmPeiL.js.map} +1 -1
- package/dist/{ExportSidesheet-DWkoiwxC.js → ExportSidesheet-BQiNzxN9.js} +4 -4
- package/dist/{ExportSidesheet-DWkoiwxC.js.map → ExportSidesheet-BQiNzxN9.js.map} +1 -1
- package/dist/{FieldArrayCard-Ds_ysYWL.js → FieldArrayCard-sEe2pmg7.js} +3 -3
- package/dist/{FieldArrayCard-Ds_ysYWL.js.map → FieldArrayCard-sEe2pmg7.js.map} +1 -1
- package/dist/{FluentListItem-_Nq3fhEY.js → FluentListItem-1fzW--Dq.js} +2 -2
- package/dist/{FluentListItem-_Nq3fhEY.js.map → FluentListItem-1fzW--Dq.js.map} +1 -1
- package/dist/{GraphCard-BhcSveF4.js → GraphCard-Bdh6VeDb.js} +2 -2
- package/dist/{GraphCard-BhcSveF4.js.map → GraphCard-Bdh6VeDb.js.map} +1 -1
- package/dist/{ImportDataFromFileMapping-3XXgUR-Z.js → ImportDataFromFileMapping-BIcQmKll.js} +2 -2
- package/dist/{ImportDataFromFileMapping-3XXgUR-Z.js.map → ImportDataFromFileMapping-BIcQmKll.js.map} +1 -1
- package/dist/{Inquiry-KKLgba3g.js → Inquiry-1o8EuckI.js} +12 -10
- package/dist/{Inquiry-KKLgba3g.js.map → Inquiry-1o8EuckI.js.map} +1 -1
- package/dist/Inquiry-B9U7e2Iu.js +3 -0
- package/dist/{InquirySearchContainer-DKDrIqNO.js → InquirySearchContainer-zxbukV51.js} +3 -3
- package/dist/{InquirySearchContainer-DKDrIqNO.js.map → InquirySearchContainer-zxbukV51.js.map} +1 -1
- package/dist/MenuPage-CdzHSWBt.js +3 -0
- package/dist/{MenuPage-tkkhpco5.js → MenuPage-KiNfnc7P.js} +3 -3
- package/dist/{MenuPage-tkkhpco5.js.map → MenuPage-KiNfnc7P.js.map} +1 -1
- package/dist/{MttMainTimeline-s0ANW7l-.js → MttMainTimeline-DbaaXXQv.js} +2 -2
- package/dist/{MttMainTimeline-s0ANW7l-.js.map → MttMainTimeline-DbaaXXQv.js.map} +1 -1
- package/dist/{NotesScreen-DQatppnX.js → NotesScreen-D8-QnWaB.js} +2 -2
- package/dist/{NotesScreen-DQatppnX.js.map → NotesScreen-D8-QnWaB.js.map} +1 -1
- package/dist/{PDFViewer-B4nJKbIy.js → PDFViewer-BvaqCfIS.js} +2 -2
- package/dist/{PDFViewer-B4nJKbIy.js.map → PDFViewer-BvaqCfIS.js.map} +1 -1
- package/dist/{Page-fxgRfgm6.js → Page-BNjiUMqy.js} +5 -4
- package/dist/Page-BNjiUMqy.js.map +1 -0
- package/dist/{PageActionWrapper-BBkGtnC6.js → PageActionWrapper-Bm6J0thr.js} +2 -2
- package/dist/{PageActionWrapper-BBkGtnC6.js.map → PageActionWrapper-Bm6J0thr.js.map} +1 -1
- package/dist/{PageContainer-DTXNLt_2.js → PageContainer-ButX_XVS.js} +8 -6
- package/dist/PageContainer-ButX_XVS.js.map +1 -0
- package/dist/{PageRenderer-BTkUO-hr.js → PageRenderer-hxobUKe_.js} +2 -2
- package/dist/{PageRenderer-BTkUO-hr.js.map → PageRenderer-hxobUKe_.js.map} +1 -1
- package/dist/{PaymentForm-Dum5p1mf.js → PaymentForm-BdWY9dEt.js} +2 -2
- package/dist/{PaymentForm-Dum5p1mf.js.map → PaymentForm-BdWY9dEt.js.map} +1 -1
- package/dist/{PrimaryActionHeader-DBJpROPu.js → PrimaryActionHeader-H5w3twaM.js} +3 -2
- package/dist/PrimaryActionHeader-H5w3twaM.js.map +1 -0
- package/dist/{RecentlyLoadedNodesTable-Dy8yBVfH.js → RecentlyLoadedNodesTable-BzvR0L0h.js} +2 -2
- package/dist/{RecentlyLoadedNodesTable-Dy8yBVfH.js.map → RecentlyLoadedNodesTable-BzvR0L0h.js.map} +1 -1
- package/dist/{RecentlyLoadedNodesWidget-Cb8fiSSn.js → RecentlyLoadedNodesWidget-Kt5BElrK.js} +2 -2
- package/dist/{RecentlyLoadedNodesWidget-Cb8fiSSn.js.map → RecentlyLoadedNodesWidget-Kt5BElrK.js.map} +1 -1
- package/dist/{RemindersScreen-Cp7lMWrE.js → RemindersScreen-BDgMIUaq.js} +2 -2
- package/dist/{RemindersScreen-Cp7lMWrE.js.map → RemindersScreen-BDgMIUaq.js.map} +1 -1
- package/dist/{Shell-BE_Aq6W2.js → Shell-Bcr0PHnd.js} +6 -6
- package/dist/{Shell-BE_Aq6W2.js.map → Shell-Bcr0PHnd.js.map} +1 -1
- package/dist/{SiteHeader-CuOFCr7D.js → SiteHeader-DmfTUOmH.js} +4 -4
- package/dist/{SiteHeader-CuOFCr7D.js.map → SiteHeader-DmfTUOmH.js.map} +1 -1
- package/dist/{SummaryBlock-BjUNDl4q.js → SummaryBlock-Q5Jf4V8A.js} +2 -2
- package/dist/{SummaryBlock-BjUNDl4q.js.map → SummaryBlock-Q5Jf4V8A.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-DuvvXDWF.js → SupportCaseSideSheet-9iAiZyOu.js} +1 -1
- package/dist/{SupportCaseSideSheet-BNec-nDN.js → SupportCaseSideSheet-CT15Dg8h.js} +2 -2
- package/dist/{SupportCaseSideSheet-BNec-nDN.js.map → SupportCaseSideSheet-CT15Dg8h.js.map} +1 -1
- package/dist/{Typography-BMsa1JYd.js → Typography-FuShOop3.js} +2 -2
- package/dist/{Typography-BMsa1JYd.js.map → Typography-FuShOop3.js.map} +1 -1
- package/dist/UI/accordion/index.js +1 -1
- package/dist/UI/components/dataDisplay/index.js +1 -1
- package/dist/UI/components/index.js +1 -1
- package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
- package/dist/UI/dataDisplay/index.js +2 -2
- package/dist/UI/dataDisplay/typography/index.js +1 -1
- package/dist/UI/dataDisplay/visualization/index.js +1 -1
- package/dist/UI/fileViewer/index.js +1 -1
- package/dist/UI/fileViewer/pdfViewer/index.js +1 -1
- package/dist/UI/forms/index.js +1 -1
- package/dist/UI/index.js +11 -11
- package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
- package/dist/UI/mapLayout/index.js +1 -1
- package/dist/UI/support/index.js +1 -1
- package/dist/UI/surfaces/cards/AmbientCard/index.js +1 -1
- package/dist/UI/surfaces/cards/chartDisplayCards/index.js +1 -1
- package/dist/UI/surfaces/cards/workOrderCard/index.js +1 -1
- package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
- package/dist/UI/templates/newGrid/index.js +1 -1
- package/dist/UI/utilityDisplay/index.js +2 -2
- package/dist/UI/utilityDisplay/utilityHeader/index.js +1 -1
- package/dist/UI/widgets/index.js +1 -1
- package/dist/UI/widgets/library/CircleGaugeWidget/index.js +1 -1
- package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
- package/dist/{UdpAuditEvents-C5p1KgV0.js → UdpAuditEvents-DotSR4R9.js} +2 -2
- package/dist/{UdpAuditEvents-C5p1KgV0.js.map → UdpAuditEvents-DotSR4R9.js.map} +1 -1
- package/dist/{UdpAuditEventsPage-CohNvZiq.js → UdpAuditEventsPage-BZ5fMCYW.js} +2 -2
- package/dist/{UdpAuditEventsPage-CohNvZiq.js.map → UdpAuditEventsPage-BZ5fMCYW.js.map} +1 -1
- package/dist/UdpAuditEventsPage-BtsmPFyR.js +3 -0
- package/dist/{UdpDataBrowserPage-DQXaWtYD.js → UdpDataBrowserPage-3fiOCSkx.js} +3 -3
- package/dist/{UdpDataBrowserPage-DQXaWtYD.js.map → UdpDataBrowserPage-3fiOCSkx.js.map} +1 -1
- package/dist/{UdpFormsSubmissionGrid-DzMuwwTO.js → UdpFormsSubmissionGrid-B3pQiK5q.js} +10 -9
- package/dist/UdpFormsSubmissionGrid-B3pQiK5q.js.map +1 -0
- package/dist/{UdpGridTemplate-OsS_O6jR.js → UdpGridTemplate-xen0Fvww.js} +2 -2
- package/dist/{UdpGridTemplate-OsS_O6jR.js.map → UdpGridTemplate-xen0Fvww.js.map} +1 -1
- package/dist/{UdpImportFromFileMappingPage-Dti79T9x.js → UdpImportFromFileMappingPage-BxGvGFua.js} +2 -2
- package/dist/{UdpImportFromFileMappingPage-Dti79T9x.js.map → UdpImportFromFileMappingPage-BxGvGFua.js.map} +1 -1
- package/dist/{UdpInquiryMaintenanceEnginePage-Boln3evx.js → UdpInquiryMaintenanceEnginePage-CSf7jB35.js} +2 -2
- package/dist/{UdpInquiryMaintenanceEnginePage-Boln3evx.js.map → UdpInquiryMaintenanceEnginePage-CSf7jB35.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-B8OpNNcP.js → UdpMaintenanceEnginePage-C8NLZSPb.js} +3 -3
- package/dist/{UdpMaintenanceEnginePage-B8OpNNcP.js.map → UdpMaintenanceEnginePage-C8NLZSPb.js.map} +1 -1
- package/dist/{UdpNotesPage-DCjDBqqU.js → UdpNotesPage-BABI4D2S.js} +2 -2
- package/dist/{UdpNotesPage-DCjDBqqU.js.map → UdpNotesPage-BABI4D2S.js.map} +1 -1
- package/dist/{UdpRemindersPage-CrgWmKWD.js → UdpRemindersPage-DuS3aPUk.js} +2 -2
- package/dist/{UdpRemindersPage-CrgWmKWD.js.map → UdpRemindersPage-DuS3aPUk.js.map} +1 -1
- package/dist/{UdpTransactionsPage-X1Wu4-CC.js → UdpTransactionsPage-DXt_i8vP.js} +6 -6
- package/dist/{UdpTransactionsPage-X1Wu4-CC.js.map → UdpTransactionsPage-DXt_i8vP.js.map} +1 -1
- package/dist/{UtilitySideBar-wvrocDGI.js → UtilitySideBar-BU3ppHrv.js} +2 -2
- package/dist/{UtilitySideBar-wvrocDGI.js.map → UtilitySideBar-BU3ppHrv.js.map} +1 -1
- package/dist/VirtualBrowser-CbL5X-W-.js +3 -0
- package/dist/{VirtualBrowser-CVs-vW3x.js → VirtualBrowser-qF1k097T.js} +2 -2
- package/dist/{VirtualBrowser-CVs-vW3x.js.map → VirtualBrowser-qF1k097T.js.map} +1 -1
- package/dist/{WorkOrderCard-s-6QK3Re.js → WorkOrderCard-geZ9o4iP.js} +2 -2
- package/dist/{WorkOrderCard-s-6QK3Re.js.map → WorkOrderCard-geZ9o4iP.js.map} +1 -1
- package/dist/{WorkflowContainer-Boj87JRI.js → WorkflowContainer-BxBxnHEY.js} +1 -1
- package/dist/{WorkflowContainer-DDGm1Cxo.js → WorkflowContainer-Drts8hsZ.js} +3 -3
- package/dist/{WorkflowContainer-DDGm1Cxo.js.map → WorkflowContainer-Drts8hsZ.js.map} +1 -1
- package/dist/{WorkflowContent-CU_-pOym.js → WorkflowContent-HlBHhWl8.js} +4 -4
- package/dist/{WorkflowContent-CU_-pOym.js.map → WorkflowContent-HlBHhWl8.js.map} +1 -1
- package/dist/{accordion--zpb1uMC.js → accordion-Ca8ECaw2.js} +3 -3
- package/dist/accordion-Ca8ECaw2.js.map +1 -0
- package/dist/{actionSummary-D0CwyTXJ.js → actionSummary-DwSHY1Tt.js} +2 -2
- package/dist/{actionSummary-D0CwyTXJ.js.map → actionSummary-DwSHY1Tt.js.map} +1 -1
- package/dist/actions/actionSummary/index.js +1 -1
- package/dist/actions/index.js +4 -4
- package/dist/{colorConverter-x64WSLsF.js → colorConverter-5PvESBA1.js} +7 -1
- package/dist/colorConverter-5PvESBA1.js.map +1 -0
- package/dist/componentSystems/multiThreadTimeline/index.js +2 -2
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
- package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
- package/dist/componentSystems/pageRenderer/index.js +3 -3
- package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dataBrowser/index.js +1 -1
- package/dist/{fileViewer-BbIFHura.js → fileViewer-C_Q-hFda.js} +4 -4
- package/dist/{fileViewer-BbIFHura.js.map → fileViewer-C_Q-hFda.js.map} +1 -1
- package/dist/{forms-BVssUn2h.js → forms-lyNriVSn.js} +3 -3
- package/dist/{forms-BVssUn2h.js.map → forms-lyNriVSn.js.map} +1 -1
- package/dist/index.js +47 -47
- package/dist/inquiry/dashboard/index.js +1 -1
- package/dist/inquiry/index.js +3 -3
- package/dist/inquiry/search/index.js +1 -1
- package/dist/layout/index.js +1 -1
- package/dist/{layout-Do6o2q2R.js → layout-IgoykV-U.js} +2 -2
- package/dist/{layout-Do6o2q2R.js.map → layout-IgoykV-U.js.map} +1 -1
- package/dist/maintenanceEngine/crudBrowser/index.js +1 -1
- package/dist/maintenanceEngine/index.js +2 -2
- package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
- package/dist/{mapLayout-B_m2Fh8n.js → mapLayout-BlHtCf7p.js} +2 -2
- package/dist/{mapLayout-B_m2Fh8n.js.map → mapLayout-BlHtCf7p.js.map} +1 -1
- package/dist/menuPage/index.js +1 -1
- package/dist/{menuPage-7DcUM-Q3.js → menuPage-BHXchSeD.js} +2 -2
- package/dist/{menuPage-7DcUM-Q3.js.map → menuPage-BHXchSeD.js.map} +1 -1
- package/dist/{newGrid-zmtQXU5G.js → newGrid-Cx_UGQS8.js} +2 -2
- package/dist/{newGrid-zmtQXU5G.js.map → newGrid-Cx_UGQS8.js.map} +1 -1
- package/dist/notes/index.js +1 -1
- package/dist/page/PageContainer/index.js +1 -1
- package/dist/reminders/index.js +1 -1
- package/dist/routes/index.js +1 -1
- package/dist/{routes-DafRlYVQ.js → routes-Cep1JMTf.js} +5 -5
- package/dist/{routes-DafRlYVQ.js.map → routes-Cep1JMTf.js.map} +1 -1
- package/dist/shell/index.js +2 -2
- package/dist/shell/ui/index.js +1 -1
- package/dist/types/src/UI/accordion/Accordion.d.ts.map +1 -1
- package/dist/types/src/UI/utilityDisplay/utilityHeader/PrimaryActionHeader.d.ts.map +1 -1
- package/dist/types/src/dashboard/DashboardCardGrid.d.ts.map +1 -1
- package/dist/types/src/inquiry/InquiryContainer.d.ts.map +1 -1
- package/dist/types/src/page/Page.d.ts.map +1 -1
- package/dist/types/src/page/PageContainer/PageContainer.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +3 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -1
- package/dist/types/src/utilities/style/colorConverter.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/export/index.js +1 -1
- package/dist/udp/fileImportMapping/index.js +1 -1
- package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
- package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
- package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpNotesPage/index.js +1 -1
- package/dist/udp/pages/UdpPages/index.js +9 -9
- package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
- package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
- package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
- package/dist/uploader/index.js +1 -1
- package/dist/{uploader-YWjDebFN.js → uploader-BdeUKdYW.js} +2 -2
- package/dist/{uploader-YWjDebFN.js.map → uploader-BdeUKdYW.js.map} +1 -1
- package/dist/utilities/form/paymentForm/index.js +1 -1
- package/dist/utilities/provider/index.js +1 -1
- package/dist/utilities/style/index.js +1 -1
- package/dist/{widgets-BCHN3J80.js → widgets-Bwklnxz1.js} +2 -2
- package/dist/{widgets-BCHN3J80.js.map → widgets-Bwklnxz1.js.map} +1 -1
- package/dist/{withEngineComponent-CpOJBSmx.js → withEngineComponent-Bcnxug3h.js} +2 -2
- package/dist/{withEngineComponent-CpOJBSmx.js.map → withEngineComponent-Bcnxug3h.js.map} +1 -1
- package/dist/workflow/index.js +2 -2
- package/export-map.json +1 -1
- package/package.json +2 -2
- package/dist/DashboardWidget-CsOrr74H.js.map +0 -1
- package/dist/Inquiry-C094H1jQ.js +0 -3
- package/dist/MenuPage-R6mbeCuS.js +0 -3
- package/dist/Page-fxgRfgm6.js.map +0 -1
- package/dist/PageContainer-DTXNLt_2.js.map +0 -1
- package/dist/PrimaryActionHeader-DBJpROPu.js.map +0 -1
- package/dist/UdpAuditEventsPage-BiUdXrGu.js +0 -3
- package/dist/UdpFormsSubmissionGrid-DzMuwwTO.js.map +0 -1
- package/dist/VirtualBrowser-CcWYHhRb.js +0 -3
- package/dist/accordion--zpb1uMC.js.map +0 -1
- package/dist/colorConverter-x64WSLsF.js.map +0 -1
|
@@ -3,7 +3,7 @@ import { t as UnityFluentIcon } from "./UnityFluentIcon-DrASIcTF.js";
|
|
|
3
3
|
import { n as useActions } from "./useActions-DZe6YlEm.js";
|
|
4
4
|
import { i as mapRule, t as evaluateRule } from "./RuleUtilities-D5ACzikQ.js";
|
|
5
5
|
import { t as PrimaryActionButton } from "./PrimaryActionButton-Dk8zvDAW.js";
|
|
6
|
-
import { t as Typography$1 } from "./Typography-
|
|
6
|
+
import { t as Typography$1 } from "./Typography-FuShOop3.js";
|
|
7
7
|
import React, { useMemo, useState } from "react";
|
|
8
8
|
import { Chip, List, Popover, Typography, makeStyles } from "@material-ui/core";
|
|
9
9
|
import * as Icons from "@fluentui/react-icons";
|
|
@@ -252,4 +252,4 @@ ActionSummaryPopover.propTypes = {
|
|
|
252
252
|
|
|
253
253
|
//#endregion
|
|
254
254
|
export { ActionSummaryCard as a, ActionSummaryListContainer as i, ActionSummaryListItem as n, ActionSummaryHeader as r, ActionSummaryPopover as t };
|
|
255
|
-
//# sourceMappingURL=actionSummary-
|
|
255
|
+
//# sourceMappingURL=actionSummary-DwSHY1Tt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionSummary-D0CwyTXJ.js","names":["useStyles","useStyles","useStyles","useStyles","Typography"],"sources":["../src/actions/actionSummary/ActionSummaryCard.tsx","../src/actions/actionSummary/ActionSummaryListContainer.tsx","../src/actions/actionSummary/ActionSummaryHeader.tsx","../src/actions/actionSummary/ActionSummaryListItem.tsx","../src/actions/actionSummary/ActionSummaryPopover.jsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { FluentSearchField } from '../../UI/inputs/textField/FluentSearchField';\nimport {\n ActionSummaryHeader,\n ActionSummaryListContainer,\n ActionSummaryListItemProps\n} from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: 750,\n paddingLeft: 12,\n paddingRight: 12,\n maxHeight: 750,\n overflowY: 'scroll'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n //backgroundColor: 'red'\n }\n}));\n\nexport type ActionSummaryProps = {\n actionMenuContent: Array<ActionSummaryContent>;\n selectedNode: object | null | undefined;\n};\n\nexport type ActionSummaryContent = {\n header: string;\n icon: string;\n iconType?: string;\n items: Array<ActionSummaryListItemProps>;\n};\n\nexport const ActionSummaryCard: FC<ActionSummaryProps> = ({\n actionMenuContent,\n selectedNode\n}: ActionSummaryProps) => {\n const classes = useStyles();\n const [searchValue, setSearchValue] = useState<string>('');\n\n return (\n <div className={classes.root}>\n <div className={classes.header}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column'\n }}\n >\n <Typography variant='h6'>Actions</Typography>\n </div>\n <FluentSearchField\n id='udpRecord-ActionSummaryCard-Search'\n udprecordid='udpRecord-ActionSummaryCard-Search'\n value={searchValue}\n onChange={(e: any) => setSearchValue(e.target.value)}\n variant='filled'\n // searchOptions={searchOptions}\n style={{ marginTop: 0, paddingTop: 0 }}\n />\n </div>\n {actionMenuContent.map((section: ActionSummaryContent, i: number) => (\n <>\n <ActionSummaryHeader\n key={i}\n iconType={section.iconType}\n icon={section.icon}\n header={section.header}\n />\n <ActionSummaryListContainer\n key={i}\n selectedNode={selectedNode}\n items={section.items.map((item): ActionSummaryListItemProps => {\n const highlighted =\n item?.value &&\n item.value.toLowerCase().includes(searchValue.toLowerCase()) &&\n searchValue.length > 0;\n return { ...item, highlighted: highlighted || item.highlighted };\n })}\n />\n </>\n ))}\n </div>\n );\n};\n","import { List, makeStyles, Typography, ListItem } from '@material-ui/core';\nimport React, { FC, MutableRefObject } from 'react';\nimport { ActionSummaryListItemProps, ActionSummaryListItem } from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'scroll',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n itemContainer: {\n display: 'flex',\n flexDirection: 'column',\n paddingLeft: 1,\n // paddingBottom: theme.spacing(2),\n width: '33%'\n }\n}));\n\ntype ActionSummaryListContainerProps = {\n items: Array<ActionSummaryListItemProps>;\n selectedNode?: object;\n};\n\nexport const ActionSummaryListContainer: FC<\n ActionSummaryListContainerProps\n> = ({ items, selectedNode }: ActionSummaryListContainerProps) => {\n const classes = useStyles();\n function* keyGenerator() {\n let count: number = 0;\n while (true) {\n yield count++;\n }\n }\n const countGen = keyGenerator();\n return (\n <div className={classes.root}>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 0)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 1)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 2)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n </div>\n );\n};\n","import * as Icons from \"@fluentui/react-icons\";\nimport { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { FC } from \"react\";\nimport { UnityFluentIcon } from '../../utilities/iconLibrary/UnityFluentIcon'\n\ntype ActionSummaryHeaderProps = {\n icon: string;\n header: string;\n iconType?: string\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.primary.main + '1A',\n display: \"flex\",\n padding: 5,\n gap: 10,\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n\n },\n icon: {\n color: theme.palette.primary.main\n }\n}));\n\nexport const ActionSummaryHeader: FC<ActionSummaryHeaderProps> = (\n {\n icon,\n header,\n iconType\n }: ActionSummaryHeaderProps\n) => {\n const classes = useStyles();\n return (\n <div className={classes.root}>\n <div className={classes.container}>\n <UnityFluentIcon className={classes.icon} type={iconType} component={Icons[icon]} />\n </div>\n <div className={classes.container}>\n <Typography display='inline' variant='h6' >{header}</Typography>\n </div>\n </div>\n );\n};\n","import React, { FC, useMemo, MutableRefObject } from 'react';\nimport { Chip, makeStyles } from '@material-ui/core';\nimport { useActions } from '../../hooks/useActions';\nimport { UdpTheme } from '../../utilities/theme/theme.types';\n\nexport type ActionSummaryListItemProps = {\n value: string;\n highlighted?: boolean; // gives an mui chip background\n enabled?: boolean; // greys out the item\n actionId: string;\n setLoading: Function;\n selectedNode?: any;\n};\n\nconst useStyles = makeStyles((theme: UdpTheme) => ({\n listItemWithChip: {\n paddingTop: 1,\n paddingBottom: 1,\n alignItems: 'start'\n },\n listItemGutters: {\n paddingLeft: 10\n },\n chipSelected: {\n backgroundColor: theme.palette.secondary.main + '1A',\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white'\n },\n chipWhite: {\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white',\n backgroundColor: theme.palette.background.paper\n },\n chipRoot: {\n width: '100%',\n justifyContent: 'start',\n paddingTop: 1\n },\n chipWhiteDeselected: {\n color: 'grey',\n backgroundColor: theme.palette.background.paper\n },\n chipHover: {\n '&:hover': {\n backgroundColor: theme.palette.secondary.main + '3A'\n },\n '&:focus': {\n backgroundColor: theme.palette.secondary.main + '3A'\n }\n }\n}));\n\nexport const ActionSummaryListItem: FC<ActionSummaryListItemProps> = ({\n value,\n highlighted,\n enabled,\n actionId,\n selectedNode\n}: ActionSummaryListItemProps) => {\n const classes = useStyles();\n const { triggerAction } = useActions();\n const render = useMemo(() => {\n return (\n <div className={classes.listItemWithChip}>\n <Chip\n color='primary'\n clickable={enabled}\n onClick={\n enabled\n ? () => triggerAction(actionId, selectedNode?.nodeObj)\n : () => {}\n }\n classes={{\n colorPrimary: enabled\n ? highlighted\n ? classes.chipSelected\n : classes.chipWhite\n : classes.chipWhiteDeselected,\n root: classes.chipRoot,\n clickableColorPrimary: classes.chipHover\n }}\n label={value}\n />\n </div>\n );\n }, [highlighted, enabled, value]);\n\n return render;\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { makeStyles, Popover } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ActionSummaryCard } from './';\nimport { evaluateRule, mapRule } from '../../utilities/rules/RuleUtilities';\nimport { PrimaryActionButton } from '../../UI/inputs/buttons/PrimaryActionButton';\nimport { Typography } from '../../UI/dataDisplay/typography/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionsMenu: {\n color: theme?.palette?.getContrastText(theme?.palette?.primary?.main)\n }\n}));\n\nexport const ActionSummaryPopover = (props) => {\n const { panelActions, noContrastColor, selectedNode, setLoading } = props;\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = useState(null);\n const { t } = useTranslation();\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const actionSummaryPopoverActions = useMemo(() => {\n return panelActions?.reduce((actions, current) => {\n if (!current.enabled) return actions;\n\n const passRule =\n current.action.actionRules?.reduce((boolValue, rule) => {\n const ruleExpression = mapRule(rule.mapping, rule.jsonLogic);\n return (\n boolValue &&\n evaluateRule(\n ruleExpression,\n selectedNode?.nodeObj,\n selectedNode?.properties?.joiningEntityCatalogObjectKey,\n selectedNode?.wasLazyLoaded\n )\n );\n }, true) ?? true;\n\n if (!passRule && current?.hideAction) return actions;\n\n const currentVal = {\n value: current.action.name,\n actionId: current.actionId,\n sequence: current.sequence,\n enabled: passRule\n };\n\n const group = actions.find(\n (action) =>\n action?.header?.toLowerCase() === current?.groupName?.toLowerCase()\n );\n if (group) {\n group.items.push(currentVal);\n group.items.sort((a, b) => a.sequence - b.sequence);\n } else {\n actions.push({\n header: current.groupName,\n icon: current.icon.name,\n iconType: current.icon.type,\n items: [currentVal]\n });\n }\n return actions;\n }, []);\n }, [panelActions, selectedNode]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'action-summary-popover' : undefined;\n\n return (\n <>\n <PrimaryActionButton onClick={handleClick} icon={<MoreVerticalIcon />}>\n <Typography>{t('Actions')}</Typography>\n </PrimaryActionButton>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n >\n <ActionSummaryCard\n actionMenuContent={actionSummaryPopoverActions}\n setLoading={setLoading}\n selectedNode={selectedNode}\n />\n </Popover>\n </>\n );\n};\n\nActionSummaryPopover.propTypes = {\n /**\n * Actions configured within Action Panel\n */\n panelActions: PropTypes.array,\n /**\n * Boolean to toggle contrast color\n */\n noContrastColor: PropTypes.bool,\n /**\n * Action Panels\n */\n selectedNode: PropTypes.object\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actionSummary-DwSHY1Tt.js","names":["useStyles","useStyles","useStyles","useStyles","Typography"],"sources":["../src/actions/actionSummary/ActionSummaryCard.tsx","../src/actions/actionSummary/ActionSummaryListContainer.tsx","../src/actions/actionSummary/ActionSummaryHeader.tsx","../src/actions/actionSummary/ActionSummaryListItem.tsx","../src/actions/actionSummary/ActionSummaryPopover.jsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { FluentSearchField } from '../../UI/inputs/textField/FluentSearchField';\nimport {\n ActionSummaryHeader,\n ActionSummaryListContainer,\n ActionSummaryListItemProps\n} from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: 750,\n paddingLeft: 12,\n paddingRight: 12,\n maxHeight: 750,\n overflowY: 'scroll'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n //backgroundColor: 'red'\n }\n}));\n\nexport type ActionSummaryProps = {\n actionMenuContent: Array<ActionSummaryContent>;\n selectedNode: object | null | undefined;\n};\n\nexport type ActionSummaryContent = {\n header: string;\n icon: string;\n iconType?: string;\n items: Array<ActionSummaryListItemProps>;\n};\n\nexport const ActionSummaryCard: FC<ActionSummaryProps> = ({\n actionMenuContent,\n selectedNode\n}: ActionSummaryProps) => {\n const classes = useStyles();\n const [searchValue, setSearchValue] = useState<string>('');\n\n return (\n <div className={classes.root}>\n <div className={classes.header}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column'\n }}\n >\n <Typography variant='h6'>Actions</Typography>\n </div>\n <FluentSearchField\n id='udpRecord-ActionSummaryCard-Search'\n udprecordid='udpRecord-ActionSummaryCard-Search'\n value={searchValue}\n onChange={(e: any) => setSearchValue(e.target.value)}\n variant='filled'\n // searchOptions={searchOptions}\n style={{ marginTop: 0, paddingTop: 0 }}\n />\n </div>\n {actionMenuContent.map((section: ActionSummaryContent, i: number) => (\n <>\n <ActionSummaryHeader\n key={i}\n iconType={section.iconType}\n icon={section.icon}\n header={section.header}\n />\n <ActionSummaryListContainer\n key={i}\n selectedNode={selectedNode}\n items={section.items.map((item): ActionSummaryListItemProps => {\n const highlighted =\n item?.value &&\n item.value.toLowerCase().includes(searchValue.toLowerCase()) &&\n searchValue.length > 0;\n return { ...item, highlighted: highlighted || item.highlighted };\n })}\n />\n </>\n ))}\n </div>\n );\n};\n","import { List, makeStyles, Typography, ListItem } from '@material-ui/core';\nimport React, { FC, MutableRefObject } from 'react';\nimport { ActionSummaryListItemProps, ActionSummaryListItem } from '.';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'scroll',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n itemContainer: {\n display: 'flex',\n flexDirection: 'column',\n paddingLeft: 1,\n // paddingBottom: theme.spacing(2),\n width: '33%'\n }\n}));\n\ntype ActionSummaryListContainerProps = {\n items: Array<ActionSummaryListItemProps>;\n selectedNode?: object;\n};\n\nexport const ActionSummaryListContainer: FC<\n ActionSummaryListContainerProps\n> = ({ items, selectedNode }: ActionSummaryListContainerProps) => {\n const classes = useStyles();\n function* keyGenerator() {\n let count: number = 0;\n while (true) {\n yield count++;\n }\n }\n const countGen = keyGenerator();\n return (\n <div className={classes.root}>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 0)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 1)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n <div className={classes.itemContainer}>\n <List disablePadding>\n {items\n .filter((item, i) => i % 3 === 2)\n .map((item: ActionSummaryListItemProps) => (\n <ActionSummaryListItem\n selectedNode={selectedNode}\n {...item}\n key={countGen.next().value as number}\n />\n ))}\n </List>\n </div>\n </div>\n );\n};\n","import * as Icons from \"@fluentui/react-icons\";\nimport { makeStyles, Typography } from \"@material-ui/core\";\nimport React, { FC } from \"react\";\nimport { UnityFluentIcon } from '../../utilities/iconLibrary/UnityFluentIcon'\n\ntype ActionSummaryHeaderProps = {\n icon: string;\n header: string;\n iconType?: string\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.primary.main + '1A',\n display: \"flex\",\n padding: 5,\n gap: 10,\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n\n },\n icon: {\n color: theme.palette.primary.main\n }\n}));\n\nexport const ActionSummaryHeader: FC<ActionSummaryHeaderProps> = (\n {\n icon,\n header,\n iconType\n }: ActionSummaryHeaderProps\n) => {\n const classes = useStyles();\n return (\n <div className={classes.root}>\n <div className={classes.container}>\n <UnityFluentIcon className={classes.icon} type={iconType} component={Icons[icon]} />\n </div>\n <div className={classes.container}>\n <Typography display='inline' variant='h6' >{header}</Typography>\n </div>\n </div>\n );\n};\n","import React, { FC, useMemo, MutableRefObject } from 'react';\nimport { Chip, makeStyles } from '@material-ui/core';\nimport { useActions } from '../../hooks/useActions';\nimport { UdpTheme } from '../../utilities/theme/theme.types';\n\nexport type ActionSummaryListItemProps = {\n value: string;\n highlighted?: boolean; // gives an mui chip background\n enabled?: boolean; // greys out the item\n actionId: string;\n setLoading: Function;\n selectedNode?: any;\n};\n\nconst useStyles = makeStyles((theme: UdpTheme) => ({\n listItemWithChip: {\n paddingTop: 1,\n paddingBottom: 1,\n alignItems: 'start'\n },\n listItemGutters: {\n paddingLeft: 10\n },\n chipSelected: {\n backgroundColor: theme.palette.secondary.main + '1A',\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white'\n },\n chipWhite: {\n color: theme?.getThemeData()?.mode === 'light' ? 'black' : 'white',\n backgroundColor: theme.palette.background.paper\n },\n chipRoot: {\n width: '100%',\n justifyContent: 'start',\n paddingTop: 1\n },\n chipWhiteDeselected: {\n color: 'grey',\n backgroundColor: theme.palette.background.paper\n },\n chipHover: {\n '&:hover': {\n backgroundColor: theme.palette.secondary.main + '3A'\n },\n '&:focus': {\n backgroundColor: theme.palette.secondary.main + '3A'\n }\n }\n}));\n\nexport const ActionSummaryListItem: FC<ActionSummaryListItemProps> = ({\n value,\n highlighted,\n enabled,\n actionId,\n selectedNode\n}: ActionSummaryListItemProps) => {\n const classes = useStyles();\n const { triggerAction } = useActions();\n const render = useMemo(() => {\n return (\n <div className={classes.listItemWithChip}>\n <Chip\n color='primary'\n clickable={enabled}\n onClick={\n enabled\n ? () => triggerAction(actionId, selectedNode?.nodeObj)\n : () => {}\n }\n classes={{\n colorPrimary: enabled\n ? highlighted\n ? classes.chipSelected\n : classes.chipWhite\n : classes.chipWhiteDeselected,\n root: classes.chipRoot,\n clickableColorPrimary: classes.chipHover\n }}\n label={value}\n />\n </div>\n );\n }, [highlighted, enabled, value]);\n\n return render;\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { makeStyles, Popover } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ActionSummaryCard } from './';\nimport { evaluateRule, mapRule } from '../../utilities/rules/RuleUtilities';\nimport { PrimaryActionButton } from '../../UI/inputs/buttons/PrimaryActionButton';\nimport { Typography } from '../../UI/dataDisplay/typography/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionsMenu: {\n color: theme?.palette?.getContrastText(theme?.palette?.primary?.main)\n }\n}));\n\nexport const ActionSummaryPopover = (props) => {\n const { panelActions, noContrastColor, selectedNode, setLoading } = props;\n const classes = useStyles();\n const [anchorEl, setAnchorEl] = useState(null);\n const { t } = useTranslation();\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const actionSummaryPopoverActions = useMemo(() => {\n return panelActions?.reduce((actions, current) => {\n if (!current.enabled) return actions;\n\n const passRule =\n current.action.actionRules?.reduce((boolValue, rule) => {\n const ruleExpression = mapRule(rule.mapping, rule.jsonLogic);\n return (\n boolValue &&\n evaluateRule(\n ruleExpression,\n selectedNode?.nodeObj,\n selectedNode?.properties?.joiningEntityCatalogObjectKey,\n selectedNode?.wasLazyLoaded\n )\n );\n }, true) ?? true;\n\n if (!passRule && current?.hideAction) return actions;\n\n const currentVal = {\n value: current.action.name,\n actionId: current.actionId,\n sequence: current.sequence,\n enabled: passRule\n };\n\n const group = actions.find(\n (action) =>\n action?.header?.toLowerCase() === current?.groupName?.toLowerCase()\n );\n if (group) {\n group.items.push(currentVal);\n group.items.sort((a, b) => a.sequence - b.sequence);\n } else {\n actions.push({\n header: current.groupName,\n icon: current.icon.name,\n iconType: current.icon.type,\n items: [currentVal]\n });\n }\n return actions;\n }, []);\n }, [panelActions, selectedNode]);\n\n const open = Boolean(anchorEl);\n const id = open ? 'action-summary-popover' : undefined;\n\n return (\n <>\n <PrimaryActionButton onClick={handleClick} icon={<MoreVerticalIcon />}>\n <Typography>{t('Actions')}</Typography>\n </PrimaryActionButton>\n\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left'\n }}\n >\n <ActionSummaryCard\n actionMenuContent={actionSummaryPopoverActions}\n setLoading={setLoading}\n selectedNode={selectedNode}\n />\n </Popover>\n </>\n );\n};\n\nActionSummaryPopover.propTypes = {\n /**\n * Actions configured within Action Panel\n */\n panelActions: PropTypes.array,\n /**\n * Boolean to toggle contrast color\n */\n noContrastColor: PropTypes.bool,\n /**\n * Action Panels\n */\n selectedNode: PropTypes.object\n};\n"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../../actionSummary-
|
|
1
|
+
import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../../actionSummary-DwSHY1Tt.js";
|
|
2
2
|
|
|
3
3
|
export { ActionSummaryCard, ActionSummaryHeader, ActionSummaryListContainer, ActionSummaryListItem, ActionSummaryPopover };
|
package/dist/actions/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as ActionModal, i as ActionSpeedDial, n as ActionSideSheet, o as ActionForm, r as ActionPanelPlacement, t as ActionWrapper } from "../ActionWrapper-
|
|
2
|
-
import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../actionSummary-
|
|
1
|
+
import { a as ActionModal, i as ActionSpeedDial, n as ActionSideSheet, o as ActionForm, r as ActionPanelPlacement, t as ActionWrapper } from "../ActionWrapper-DnP7lGDq.js";
|
|
2
|
+
import { a as ActionSummaryCard, i as ActionSummaryListContainer, n as ActionSummaryListItem, r as ActionSummaryHeader, t as ActionSummaryPopover } from "../actionSummary-DwSHY1Tt.js";
|
|
3
3
|
import { t as useHandleAction } from "../actionUtils-CPmiSAig.js";
|
|
4
4
|
import { t as EntitySideBarContent } from "../EntitySideBarContent-Bl_8gI69.js";
|
|
5
|
-
import { t as ActionSplitScreen } from "../ActionSplitScreen-
|
|
6
|
-
import { t as PageActionWrapper } from "../PageActionWrapper-
|
|
5
|
+
import { t as ActionSplitScreen } from "../ActionSplitScreen-D6_7PlK-.js";
|
|
6
|
+
import { t as PageActionWrapper } from "../PageActionWrapper-Bm6J0thr.js";
|
|
7
7
|
import "./utils/index.js";
|
|
8
8
|
import "./sidebar/index.js";
|
|
9
9
|
|
|
@@ -35,6 +35,12 @@ const getEllipseColor = (theme, color, variant = "main") => {
|
|
|
35
35
|
case "success":
|
|
36
36
|
ellipseColor = theme.palette.success[variant];
|
|
37
37
|
break;
|
|
38
|
+
case "textPrimary":
|
|
39
|
+
ellipseColor = theme.palette.text?.primary;
|
|
40
|
+
break;
|
|
41
|
+
case "textSecondary":
|
|
42
|
+
ellipseColor = theme.palette.text?.secondary;
|
|
43
|
+
break;
|
|
38
44
|
default:
|
|
39
45
|
ellipseColor = theme.palette.secondary[variant];
|
|
40
46
|
break;
|
|
@@ -88,4 +94,4 @@ const getCategoryColor = (color) => {
|
|
|
88
94
|
|
|
89
95
|
//#endregion
|
|
90
96
|
export { getCustomHintColor as n, getEllipseColor as r, getCategoryColor as t };
|
|
91
|
-
//# sourceMappingURL=colorConverter-
|
|
97
|
+
//# sourceMappingURL=colorConverter-5PvESBA1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorConverter-5PvESBA1.js","names":[],"sources":["../src/utilities/style/colorConverter.js"],"sourcesContent":["import { colors } from './colors';\n\nexport const getEllipseColor = (theme, color, variant = 'main') => {\n if (!theme) {\n return '';\n }\n let ellipseColor = theme.palette.primary[variant];\n switch (color) {\n case 'action':\n ellipseColor = theme.palette.action?.[variant];\n break;\n case 'sequence':\n ellipseColor = theme.palette.sequence?.[variant];\n break;\n case 'trigger':\n ellipseColor = theme.palette.trigger?.[variant];\n break;\n case 'condition':\n ellipseColor = theme.palette.condition?.[variant];\n break;\n case 'primary':\n ellipseColor = theme.palette.primary[variant];\n break;\n case 'secondary':\n ellipseColor = theme.palette.secondary[variant];\n break;\n case 'info':\n ellipseColor = theme.palette.info[variant];\n break;\n case 'warning':\n ellipseColor = theme.palette.warning[variant];\n break;\n case 'error':\n ellipseColor = theme.palette.error[variant];\n break;\n case 'success':\n ellipseColor = theme.palette.success[variant];\n break;\n case 'textPrimary':\n ellipseColor = theme.palette.text?.primary;\n break;\n case 'textSecondary':\n ellipseColor = theme.palette.text?.secondary;\n break;\n default:\n ellipseColor = theme.palette.secondary[variant];\n break;\n }\n return ellipseColor;\n};\n\nexport const getCustomHintColor = (color) => {\n // if (!theme) {\n // return '';\n // }\n let customHintColor = colors.unity.info.hint;\n switch (color) {\n // case 'primary':\n // customHintColor = theme.palette.primary.hint;\n // break;\n // case 'secondary':\n // customHintColor = theme.palette.secondary.hint;\n // break;\n case 'info':\n customHintColor = colors.unity.info.hint;\n break;\n case 'warning':\n customHintColor = colors.unity.warning.hint;\n break;\n case 'error':\n customHintColor = colors.unity.error.hint;\n break;\n case 'success':\n customHintColor = colors.unity.success.hint;\n break;\n default:\n customHintColor = colors.unity.info.hint;\n }\n\n return customHintColor;\n};\n\nexport const getCategoryColor = (color) => {\n // if (!theme) {\n // return '';\n // }\n let highlightColor = colors.unity.info.hint;\n switch (color) {\n case 'info':\n highlightColor = colors.unity.info.hint;\n break;\n case 'warning':\n highlightColor = colors.unity.warning.hint;\n break;\n case 'error':\n highlightColor = colors.unity.error.hint;\n break;\n case 'four':\n highlightColor = colors.categoryColors.four.main;\n break;\n case 'five':\n highlightColor = colors.categoryColors.five.main;\n break;\n case 'six':\n highlightColor = colors.categoryColors.six.main;\n break;\n default:\n highlightColor = colors.unity.info.hint;\n }\n\n return highlightColor;\n};\n"],"mappings":";;;AAEA,MAAa,mBAAmB,OAAO,OAAO,UAAU,WAAW;AACjE,KAAI,CAAC,MACH,QAAO;CAET,IAAI,eAAe,MAAM,QAAQ,QAAQ;AACzC,SAAQ,OAAR;EACE,KAAK;AACH,kBAAe,MAAM,QAAQ,SAAS;AACtC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,WAAW;AACxC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,UAAU;AACvC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,YAAY;AACzC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,QAAQ;AACrC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,UAAU;AACvC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,KAAK;AAClC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,QAAQ;AACrC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,MAAM;AACnC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,QAAQ;AACrC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,MAAM;AACnC;EACF,KAAK;AACH,kBAAe,MAAM,QAAQ,MAAM;AACnC;EACF;AACE,kBAAe,MAAM,QAAQ,UAAU;AACvC;;AAEJ,QAAO;;AAGT,MAAa,sBAAsB,UAAU;CAI3C,IAAI,kBAAkB,OAAO,MAAM,KAAK;AACxC,SAAQ,OAAR;EAOE,KAAK;AACH,qBAAkB,OAAO,MAAM,KAAK;AACpC;EACF,KAAK;AACH,qBAAkB,OAAO,MAAM,QAAQ;AACvC;EACF,KAAK;AACH,qBAAkB,OAAO,MAAM,MAAM;AACrC;EACF,KAAK;AACH,qBAAkB,OAAO,MAAM,QAAQ;AACvC;EACF,QACE,mBAAkB,OAAO,MAAM,KAAK;;AAGxC,QAAO;;AAGT,MAAa,oBAAoB,UAAU;CAIzC,IAAI,iBAAiB,OAAO,MAAM,KAAK;AACvC,SAAQ,OAAR;EACE,KAAK;AACH,oBAAiB,OAAO,MAAM,KAAK;AACnC;EACF,KAAK;AACH,oBAAiB,OAAO,MAAM,QAAQ;AACtC;EACF,KAAK;AACH,oBAAiB,OAAO,MAAM,MAAM;AACpC;EACF,KAAK;AACH,oBAAiB,OAAO,eAAe,KAAK;AAC5C;EACF,KAAK;AACH,oBAAiB,OAAO,eAAe,KAAK;AAC5C;EACF,KAAK;AACH,oBAAiB,OAAO,eAAe,IAAI;AAC3C;EACF,QACE,kBAAiB,OAAO,MAAM,KAAK;;AAGvC,QAAO"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as plotX, i as plotCategoryBar, n as formatDataWithTimelineCategoryNameOrderedByDate, o as plotY, t as formatDataWithTimelineCategoryName } from "../../mttFunctions-5g2DjtR9.js";
|
|
2
2
|
import { n as TimelineStatus, r as TimelineDateBar, t as MttYearTag } from "../../MttYearTag-Cw8OyKTy.js";
|
|
3
3
|
import { t as TimelineToken } from "../../TimelineToken-nU7fdgjR.js";
|
|
4
|
-
import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../DynamicRangeSlider-
|
|
5
|
-
import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../MttMainTimeline-
|
|
4
|
+
import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../DynamicRangeSlider-BX4kCzUd.js";
|
|
5
|
+
import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../MttMainTimeline-DbaaXXQv.js";
|
|
6
6
|
import { n as createTimeline, t as MttSummary } from "../../MttSummary-DNc71fHh.js";
|
|
7
7
|
import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../CircleButton-CrvnPHDw.js";
|
|
8
8
|
import "./functions/index.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../../MttMainTimeline-
|
|
1
|
+
import { n as MttTimeline, r as HeightAdjuster, t as MttMainTimeline } from "../../../MttMainTimeline-DbaaXXQv.js";
|
|
2
2
|
|
|
3
3
|
export { HeightAdjuster, MttMainTimeline, MttTimeline };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as TimelineStatus, r as TimelineDateBar, t as MttYearTag } from "../../../MttYearTag-Cw8OyKTy.js";
|
|
2
2
|
import { t as TimelineToken } from "../../../TimelineToken-nU7fdgjR.js";
|
|
3
|
-
import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../../DynamicRangeSlider-
|
|
3
|
+
import { a as TimelineWrapper, c as TimelineDot, i as MultiDot, l as TimelineHoverCard, n as TimelinePreloaderNode, o as TimelineNode, r as VisualizationDot, s as TimelineTokenSummary, t as DynamicRangeSlider } from "../../../DynamicRangeSlider-BX4kCzUd.js";
|
|
4
4
|
import { a as useStyles, i as TimelineToggleButton, n as DateWrapper, o as SummaryToken, r as TimelineTopRowFilter, t as CircleButton } from "../../../CircleButton-CrvnPHDw.js";
|
|
5
5
|
|
|
6
6
|
export { CircleButton, DateWrapper, DynamicRangeSlider, MttYearTag, MultiDot, SummaryToken, TimelineDateBar, TimelineDot, TimelineHoverCard, TimelineNode, TimelinePreloaderNode, TimelineStatus, TimelineToggleButton, TimelineToken, TimelineTokenSummary, TimelineTopRowFilter, TimelineWrapper, VisualizationDot, useStyles };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as useReadMetaData } from "../../useReadMetaData-CiWx4MJr.js";
|
|
2
|
-
import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../BioCardWrapper-
|
|
2
|
+
import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../BioCardWrapper-D1ZOHyA4.js";
|
|
3
3
|
import { n as defaultColActionsDef, t as TableColumnDefs } from "../../TableColumnDefs-BpaOx60h.js";
|
|
4
|
-
import { t as withEngineComponent } from "../../withEngineComponent-
|
|
5
|
-
import { t as PageRenderer } from "../../PageRenderer-
|
|
4
|
+
import { t as withEngineComponent } from "../../withEngineComponent-Bcnxug3h.js";
|
|
5
|
+
import { t as PageRenderer } from "../../PageRenderer-hxobUKe_.js";
|
|
6
6
|
import "./wrappers/index.js";
|
|
7
7
|
import "./utils/index.js";
|
|
8
8
|
import "./hocs/index.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../../BioCardWrapper-
|
|
1
|
+
import { a as DonutWrapper, c as BarChartWrapper, i as LineGraphWrapper, l as DisplayCardWrapper, n as AgGridSimpleWrapper, o as barChartWrapperProps, r as data, s as HistogramWrapper, t as BioCardWrapper, u as PrimaryActionHeaderWrapper } from "../../../BioCardWrapper-D1ZOHyA4.js";
|
|
2
2
|
|
|
3
3
|
export { AgGridSimpleWrapper, BarChartWrapper, BioCardWrapper, DisplayCardWrapper, DonutWrapper, HistogramWrapper, LineGraphWrapper, PrimaryActionHeaderWrapper, barChartWrapperProps, data };
|
package/dist/dashboard/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as ParamsMappingFields, n as RequiredFieldsMappingField, r as ParamsMappingForm, t as RequiredFieldsMappingForm } from "../RequiredFieldsMappingForm-rstcZ1W0.js";
|
|
2
|
-
import { n as DataBrowserColumnDefs, r as defaultColActionsDef, t as DataBrowserContainer } from "../DataBrowserContainer-
|
|
2
|
+
import { n as DataBrowserColumnDefs, r as defaultColActionsDef, t as DataBrowserContainer } from "../DataBrowserContainer-D4gJ66IC.js";
|
|
3
3
|
import "./forms/index.js";
|
|
4
4
|
|
|
5
5
|
export { DataBrowserColumnDefs, DataBrowserContainer, ParamsMappingFields, ParamsMappingForm, RequiredFieldsMappingField, RequiredFieldsMappingForm, defaultColActionsDef };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as Typography$1 } from "./Typography-
|
|
1
|
+
import { t as Typography$1 } from "./Typography-FuShOop3.js";
|
|
2
2
|
import { S as getIconFromName } from "./TreeUtilities-jEhtZNg5.js";
|
|
3
3
|
import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
|
|
4
|
-
import { t as AmbientCard } from "./AmbientCard-
|
|
4
|
+
import { t as AmbientCard } from "./AmbientCard-DhAiVDYD.js";
|
|
5
5
|
import { t as IconButtonWithTooltip } from "./IconButtonWithToolTip-DswviiJB.js";
|
|
6
6
|
import { t as AmbientAlert } from "./AmbientAlert-DcYkGCUm.js";
|
|
7
|
-
import { t as PDFViewer } from "./PDFViewer-
|
|
7
|
+
import { t as PDFViewer } from "./PDFViewer-BvaqCfIS.js";
|
|
8
8
|
import React, { useCallback, useMemo, useState } from "react";
|
|
9
9
|
import { Dialog, makeStyles } from "@material-ui/core";
|
|
10
10
|
import { useTranslation } from "react-i18next";
|
|
@@ -382,4 +382,4 @@ const FileViewer = (props) => {
|
|
|
382
382
|
|
|
383
383
|
//#endregion
|
|
384
384
|
export { FileViewer as t };
|
|
385
|
-
//# sourceMappingURL=fileViewer-
|
|
385
|
+
//# sourceMappingURL=fileViewer-C_Q-hFda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileViewer-BbIFHura.js","names":["useStyles","Typography","useStyles","defaultFieldMapping"],"sources":["../src/UI/fileViewer/utils/fileTypes.js","../src/UI/fileViewer/utils/fileUtils.js","../src/UI/fileViewer/imageSlider/ImageFooter.jsx","../src/UI/fileViewer/imageSlider/Image.jsx","../src/UI/fileViewer/imageSlider/ImageViewerSideSheet.jsx","../src/UI/fileViewer/imageSlider/ImageSlider.jsx","../src/UI/fileViewer/FileViewer.jsx"],"sourcesContent":["export const imageExtension = [\n 'png',\n 'jpeg',\n 'jpg',\n 'jpe',\n 'jif',\n 'jfif',\n 'jfi',\n 'gif',\n 'raw',\n 'svg',\n 'ttif',\n 'tif',\n 'webp',\n 'arw',\n 'sr2',\n 'nrw',\n 'k25',\n 'bmp',\n 'dib',\n 'heif',\n 'heic',\n 'ind',\n 'indd',\n 'indt',\n 'jp2',\n 'j2k',\n 'jpf',\n 'jpm',\n 'mj2',\n 'svgz',\n 'ai',\n 'eps',\n];\n","import { imageExtension } from './fileTypes';\n\nexport const handleDownloadFile = (fileUrl, fileName) => {\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(fileUrl);\n};\n\nexport const validateFilesImageType = (files = [], fileExtensionField) => {\n let type = \"image\";\n files.forEach(file => {\n if (!imageExtension.includes(file?.[fileExtensionField])) {\n type = 'invalid';\n return;\n }\n });\n return type;\n};\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport { makeStyles } from '@material-ui/core';\nimport React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from '../../dataDisplay/typography/Typography';\nimport { IconButtonWithTooltip } from '../../inputs/buttons/IconButtonWithToolTip';\nimport { getIconFromName } from '../../../utilities/tree/TreeUtilities';\n\nconst useStyles = makeStyles(theme => ({\n secondaryText: {\n color: theme.palette.text.secondary,\n },\n description: {\n margin: theme.spacing(2),\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n },\n pageAction: {\n display: 'flex',\n justifyContent: 'space-between',\n gap: theme.spacing(1),\n alignItems: 'center',\n },\n}));\n\nexport const ImageFooter = props => {\n const {\n images,\n currentImageObj,\n hidePrimaryText,\n hideSecondaryText,\n handleViewImage,\n currentImageIndex,\n } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n\n const showItem = useMemo(() => {\n const showPrimaryText = !hidePrimaryText && currentImageObj?.primaryText;\n const showSecondaryText =\n !hideSecondaryText && currentImageObj?.secondaryText;\n const showPageAction = images?.length > 1;\n return {\n footer: showPageAction || showPrimaryText || showSecondaryText,\n primaryText: showPrimaryText,\n secondaryText: showSecondaryText,\n pageAction: showPageAction,\n };\n }, [currentImageObj, hidePrimaryText, hideSecondaryText, images]);\n\n return (\n <>\n {showItem?.footer && (\n <div className={classes.description}>\n {showItem?.primaryText && (\n <Typography variant=\"h6\">{currentImageObj?.primaryText}</Typography>\n )}\n\n {showItem?.secondaryText && (\n <Typography variant=\"subtitle1\" className={classes.secondaryText}>\n {currentImageObj?.secondaryText}\n </Typography>\n )}\n {showItem?.pageAction && (\n <div className={classes.pageAction}>\n <IconButtonWithTooltip\n icon={getIconFromName('ChevronLeft')}\n title={t('Previous')}\n disabled={currentImageIndex == 0}\n onClick={() => {\n handleViewImage(true);\n }}\n id=\"udpRecord-ImageSlider-PreviousBtn\"\n udprecordid=\"udpRecord-ImageSlider-PreviousBtn\"\n />\n\n <div>\n <Typography>\n {currentImageIndex + 1} {t('of')} {images?.length ?? 0}\n </Typography>\n </div>\n <IconButtonWithTooltip\n icon={getIconFromName('ChevronRight')}\n title={t('Next')}\n disabled={currentImageIndex === images?.length - 1}\n onClick={() => {\n handleViewImage();\n }}\n id=\"udpRecord-ImageSlider-NextBtn\"\n udprecordid=\"udpRecord-ImageSlider-NextBtn\"\n />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n","import { makeStyles } from '@material-ui/core';\nimport React from 'react';\nimport { ImageFooter } from './ImageFooter';\n\nconst useStyles = makeStyles(theme => ({\n imageWrapper: {\n flex: '1 1 auto',\n overflow: 'hidden',\n position: 'relative',\n margin: theme.spacing(2)\n },\n image: {\n objectFit: 'contain',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n },\n cardContent: {\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n height: '100%',\n background: theme.palette.background.paper,\n },\n}));\n\nexport const Image = props => {\n const { imageObj, hidePrimaryText, hideSecondaryText } = props;\n const classes = useStyles();\n\n return (\n <div className={classes.cardContent}>\n <div className={classes.imageWrapper}>\n <img\n src={imageObj?.filePath}\n loading=\"lazy\"\n alt={`${imageObj?.fileName}`}\n className={classes.image}\n />\n </div>\n <ImageFooter\n currentImageObj={imageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n />\n </div>\n );\n};\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { handleDownloadFile } from '../utils/fileUtils';\nimport { Image } from './Image';\nimport { SideSheet } from '../../surfaces/SideSheet';\n\nexport const ImageViewerSideSheet = (props) => {\n const {\n title,\n width,\n imageObj,\n open,\n onClose,\n hideDownload,\n hidePrimaryText,\n hideSecondaryText\n } = props;\n const { t } = useTranslation();\n\n const handleDownloadImage = useCallback(() => {\n handleDownloadFile(imageObj?.filePath, imageObj?.fileName);\n }, [imageObj]);\n\n return (\n <SideSheet\n title={title ?? t('Image Viewer')}\n buttonLabel={hideDownload ? null : t('Download')}\n width={width ?? '90vw'}\n onSubmit={handleDownloadImage}\n open={open}\n onClose={onClose}\n contentHeight='100%'\n >\n <Image\n imageObj={imageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n />\n </SideSheet>\n );\n};\n","import { Dialog, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ImageViewerSideSheet } from './ImageViewerSideSheet';\nimport { Image } from './Image';\nimport { ImageFooter } from './ImageFooter';\nimport { AmbientCard } from '../../surfaces/cards/AmbientCard';\nimport { IconButtonWithTooltip } from '../../inputs/buttons/IconButtonWithToolTip';\nimport { getIconFromName } from '../../../utilities/tree/TreeUtilities';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.paper,\n },\n imagesWrapper: {\n display: 'flex',\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n alignItems: 'center',\n },\n imageSection: {\n width: '100%',\n height: '100%',\n },\n image: {\n objectFit: 'contain',\n display: 'block',\n flexShrink: 0,\n flexGrow: 0,\n transition: 'translate 300ms ease-in-out',\n },\n openSideSheetIcon: {\n display: 'block',\n position: 'absolute',\n top: props => (props?.title ? 64 : 8),\n right: 8,\n zIndex: 3,\n backgroundColor: theme.palette.background.paper,\n },\n dialogContent: {\n overflow: 'hidden',\n width: '100vw',\n height: '100vh',\n display: 'flex',\n flexDirection: 'column',\n },\n closeDialog: {\n margin: theme.spacing(1),\n },\n dialogImageSection: {\n flex: 2,\n height: '100%',\n },\n}));\n\nconst defaultFieldMapping = {\n filePath: 'filePath',\n fileName: 'fileName',\n primaryText: 'primaryText',\n secondaryText: 'secondaryText',\n};\n\nexport const ImageSlider = props => {\n const {\n title,\n images,\n fieldMapping = defaultFieldMapping,\n sideSheetTitle,\n sideSheetWidth,\n hideDownload,\n hidePrimaryText,\n hideSecondaryText,\n hidePrimaryTextInExpandMode,\n hideSecondaryTextInExpandMode,\n expandInSideSheet = true,\n } = props;\n const classes = useStyles(props);\n const { t } = useTranslation();\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n const [openSideSheet, setOpenSideSheet] = useState(false);\n\n const handleViewImage = useCallback((previous = false) => {\n if (previous) {\n setCurrentImageIndex(prev => prev - 1);\n } else {\n setCurrentImageIndex(prev => prev + 1);\n }\n }, []);\n\n const handleExpandImage = useCallback(() => {\n setOpenSideSheet(true);\n }, []);\n\n const currentImageObj = useMemo(() => {\n const imgObj = images?.[currentImageIndex];\n if (!imgObj) return {};\n\n return {\n filePath: imgObj[fieldMapping?.filePath],\n fileName: imgObj[fieldMapping?.fileName],\n primaryText: imgObj[fieldMapping?.primaryText],\n secondaryText: imgObj[fieldMapping?.secondaryText],\n };\n }, [currentImageIndex, fieldMapping, images]);\n\n return (\n <AmbientCard\n fullWidth\n title={title}\n removePadding\n lastChildBottomPadding=\"0px\"\n removeTopLayoutUnit\n >\n <div className={classes.imagesWrapper}>\n {images?.map(image => (\n <img\n src={image?.[fieldMapping?.filePath]}\n alt={`${image?.[fieldMapping?.fileName]}`}\n loading=\"lazy\"\n width=\"100%\"\n height=\"auto\"\n className={classes.image}\n style={{ translate: `${-100 * currentImageIndex}%` }}\n />\n ))}\n </div>\n <IconButtonWithTooltip\n icon={getIconFromName('MiniExpand')}\n title={t('Expand Image')}\n onClick={handleExpandImage}\n id=\"udpRecord-ImageSlider-ExpandBtn\"\n udprecordid=\"udpRecord-ImageSlider-ExpandBtn\"\n className={classes.openSideSheetIcon}\n />\n <ImageFooter\n images={images}\n currentImageObj={currentImageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n handleViewImage={handleViewImage}\n currentImageIndex={currentImageIndex}\n />\n\n {expandInSideSheet ? (\n <ImageViewerSideSheet\n title={sideSheetTitle}\n open={openSideSheet}\n onClose={() => {\n setOpenSideSheet(false);\n }}\n imageObj={currentImageObj}\n width={sideSheetWidth}\n hideDownload={hideDownload}\n hidePrimaryText={hidePrimaryTextInExpandMode}\n hideSecondaryText={hideSecondaryTextInExpandMode}\n />\n ) : (\n <Dialog\n onClose={() => {\n setOpenSideSheet(false);\n }}\n open={openSideSheet}\n fullScreen\n >\n <div className={classes.dialogContent}>\n <div className={classes.closeDialog}>\n <IconButtonWithTooltip\n icon={getIconFromName('Cancel')}\n title={t('Close')}\n onClick={() => {\n setOpenSideSheet(false);\n }}\n id=\"udpRecord-ImageSlider-PreviousBtn\"\n udprecordid=\"udpRecord-ImageSlider-PreviousBtn\"\n />\n </div>\n <div className={classes.dialogImageSection}>\n <Image\n imageObj={currentImageObj}\n hidePrimaryText={hidePrimaryTextInExpandMode}\n hideSecondaryText={hideSecondaryTextInExpandMode}\n />\n </div>\n </div>\n </Dialog>\n )}\n </AmbientCard>\n );\n};\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport React, { useMemo } from 'react';\nimport { PDFViewer } from './pdfViewer/PDFViewer';\nimport { ImageSlider } from './imageSlider/ImageSlider';\nimport { validateFilesImageType } from './utils/fileUtils';\nimport { useTranslation } from 'react-i18next';\nimport { AmbientAlert } from '../feedback/AmbientAlert';\n\nconst defaultFieldMapping = {\n filePath: 'filePath',\n blobFile: 'blobFile',\n fileName: 'fileName',\n fileExtension: 'fileExtension',\n primaryText: 'primaryText',\n secondaryText: 'secondaryText',\n};\n\nexport const FileViewer = props => {\n const {\n data,\n fieldMapping = defaultFieldMapping,\n acceptedFileExtensions,\n ...otherProps\n } = props;\n const { t } = useTranslation();\n\n //filter data\n const filteredData = useMemo(() => {\n if (!acceptedFileExtensions || acceptedFileExtensions?.length === 0)\n return data;\n if (data instanceof Array && data?.length > 0) {\n return data?.filter(item =>\n acceptedFileExtensions?.includes(item?.[fieldMapping?.fileExtension])\n );\n } else {\n return acceptedFileExtensions?.includes(\n data?.[fieldMapping?.fileExtension]\n )\n ? data\n : null;\n }\n }, [acceptedFileExtensions, data, fieldMapping]);\n\n // check if the data is an array. If yes, currently only image viewer accept this list,\n // we need to validate if all the file in the list is image\n const fileType = useMemo(() => {\n if (filteredData instanceof Array) {\n const type = validateFilesImageType(\n filteredData,\n fieldMapping?.fileExtension\n );\n return type;\n }\n return filteredData?.[fieldMapping?.fileExtension];\n }, [fieldMapping, filteredData]);\n\n const viewer = useMemo(() => {\n switch (fileType) {\n case 'pdf':\n return (\n <PDFViewer\n fileUrl={filteredData?.[fieldMapping?.filePath]}\n blobPDF={filteredData?.[fieldMapping?.blobFile]}\n {...otherProps}\n />\n );\n case 'image':\n return (\n <ImageSlider\n images={filteredData}\n fieldMapping={fieldMapping}\n {...otherProps}\n />\n );\n default:\n return (\n <AmbientAlert\n alertMessage={t('Unable to view file')}\n showAlert\n alertSeverity=\"error\"\n />\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fileType, data, fieldMapping, otherProps]);\n\n return <>{viewer}</>;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fileViewer-C_Q-hFda.js","names":["useStyles","Typography","useStyles","defaultFieldMapping"],"sources":["../src/UI/fileViewer/utils/fileTypes.js","../src/UI/fileViewer/utils/fileUtils.js","../src/UI/fileViewer/imageSlider/ImageFooter.jsx","../src/UI/fileViewer/imageSlider/Image.jsx","../src/UI/fileViewer/imageSlider/ImageViewerSideSheet.jsx","../src/UI/fileViewer/imageSlider/ImageSlider.jsx","../src/UI/fileViewer/FileViewer.jsx"],"sourcesContent":["export const imageExtension = [\n 'png',\n 'jpeg',\n 'jpg',\n 'jpe',\n 'jif',\n 'jfif',\n 'jfi',\n 'gif',\n 'raw',\n 'svg',\n 'ttif',\n 'tif',\n 'webp',\n 'arw',\n 'sr2',\n 'nrw',\n 'k25',\n 'bmp',\n 'dib',\n 'heif',\n 'heic',\n 'ind',\n 'indd',\n 'indt',\n 'jp2',\n 'j2k',\n 'jpf',\n 'jpm',\n 'mj2',\n 'svgz',\n 'ai',\n 'eps',\n];\n","import { imageExtension } from './fileTypes';\n\nexport const handleDownloadFile = (fileUrl, fileName) => {\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = fileUrl;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(fileUrl);\n};\n\nexport const validateFilesImageType = (files = [], fileExtensionField) => {\n let type = \"image\";\n files.forEach(file => {\n if (!imageExtension.includes(file?.[fileExtensionField])) {\n type = 'invalid';\n return;\n }\n });\n return type;\n};\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport { makeStyles } from '@material-ui/core';\nimport React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from '../../dataDisplay/typography/Typography';\nimport { IconButtonWithTooltip } from '../../inputs/buttons/IconButtonWithToolTip';\nimport { getIconFromName } from '../../../utilities/tree/TreeUtilities';\n\nconst useStyles = makeStyles(theme => ({\n secondaryText: {\n color: theme.palette.text.secondary,\n },\n description: {\n margin: theme.spacing(2),\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n },\n pageAction: {\n display: 'flex',\n justifyContent: 'space-between',\n gap: theme.spacing(1),\n alignItems: 'center',\n },\n}));\n\nexport const ImageFooter = props => {\n const {\n images,\n currentImageObj,\n hidePrimaryText,\n hideSecondaryText,\n handleViewImage,\n currentImageIndex,\n } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n\n const showItem = useMemo(() => {\n const showPrimaryText = !hidePrimaryText && currentImageObj?.primaryText;\n const showSecondaryText =\n !hideSecondaryText && currentImageObj?.secondaryText;\n const showPageAction = images?.length > 1;\n return {\n footer: showPageAction || showPrimaryText || showSecondaryText,\n primaryText: showPrimaryText,\n secondaryText: showSecondaryText,\n pageAction: showPageAction,\n };\n }, [currentImageObj, hidePrimaryText, hideSecondaryText, images]);\n\n return (\n <>\n {showItem?.footer && (\n <div className={classes.description}>\n {showItem?.primaryText && (\n <Typography variant=\"h6\">{currentImageObj?.primaryText}</Typography>\n )}\n\n {showItem?.secondaryText && (\n <Typography variant=\"subtitle1\" className={classes.secondaryText}>\n {currentImageObj?.secondaryText}\n </Typography>\n )}\n {showItem?.pageAction && (\n <div className={classes.pageAction}>\n <IconButtonWithTooltip\n icon={getIconFromName('ChevronLeft')}\n title={t('Previous')}\n disabled={currentImageIndex == 0}\n onClick={() => {\n handleViewImage(true);\n }}\n id=\"udpRecord-ImageSlider-PreviousBtn\"\n udprecordid=\"udpRecord-ImageSlider-PreviousBtn\"\n />\n\n <div>\n <Typography>\n {currentImageIndex + 1} {t('of')} {images?.length ?? 0}\n </Typography>\n </div>\n <IconButtonWithTooltip\n icon={getIconFromName('ChevronRight')}\n title={t('Next')}\n disabled={currentImageIndex === images?.length - 1}\n onClick={() => {\n handleViewImage();\n }}\n id=\"udpRecord-ImageSlider-NextBtn\"\n udprecordid=\"udpRecord-ImageSlider-NextBtn\"\n />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n","import { makeStyles } from '@material-ui/core';\nimport React from 'react';\nimport { ImageFooter } from './ImageFooter';\n\nconst useStyles = makeStyles(theme => ({\n imageWrapper: {\n flex: '1 1 auto',\n overflow: 'hidden',\n position: 'relative',\n margin: theme.spacing(2)\n },\n image: {\n objectFit: 'contain',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n },\n cardContent: {\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n height: '100%',\n background: theme.palette.background.paper,\n },\n}));\n\nexport const Image = props => {\n const { imageObj, hidePrimaryText, hideSecondaryText } = props;\n const classes = useStyles();\n\n return (\n <div className={classes.cardContent}>\n <div className={classes.imageWrapper}>\n <img\n src={imageObj?.filePath}\n loading=\"lazy\"\n alt={`${imageObj?.fileName}`}\n className={classes.image}\n />\n </div>\n <ImageFooter\n currentImageObj={imageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n />\n </div>\n );\n};\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { handleDownloadFile } from '../utils/fileUtils';\nimport { Image } from './Image';\nimport { SideSheet } from '../../surfaces/SideSheet';\n\nexport const ImageViewerSideSheet = (props) => {\n const {\n title,\n width,\n imageObj,\n open,\n onClose,\n hideDownload,\n hidePrimaryText,\n hideSecondaryText\n } = props;\n const { t } = useTranslation();\n\n const handleDownloadImage = useCallback(() => {\n handleDownloadFile(imageObj?.filePath, imageObj?.fileName);\n }, [imageObj]);\n\n return (\n <SideSheet\n title={title ?? t('Image Viewer')}\n buttonLabel={hideDownload ? null : t('Download')}\n width={width ?? '90vw'}\n onSubmit={handleDownloadImage}\n open={open}\n onClose={onClose}\n contentHeight='100%'\n >\n <Image\n imageObj={imageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n />\n </SideSheet>\n );\n};\n","import { Dialog, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ImageViewerSideSheet } from './ImageViewerSideSheet';\nimport { Image } from './Image';\nimport { ImageFooter } from './ImageFooter';\nimport { AmbientCard } from '../../surfaces/cards/AmbientCard';\nimport { IconButtonWithTooltip } from '../../inputs/buttons/IconButtonWithToolTip';\nimport { getIconFromName } from '../../../utilities/tree/TreeUtilities';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.background.paper,\n },\n imagesWrapper: {\n display: 'flex',\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n alignItems: 'center',\n },\n imageSection: {\n width: '100%',\n height: '100%',\n },\n image: {\n objectFit: 'contain',\n display: 'block',\n flexShrink: 0,\n flexGrow: 0,\n transition: 'translate 300ms ease-in-out',\n },\n openSideSheetIcon: {\n display: 'block',\n position: 'absolute',\n top: props => (props?.title ? 64 : 8),\n right: 8,\n zIndex: 3,\n backgroundColor: theme.palette.background.paper,\n },\n dialogContent: {\n overflow: 'hidden',\n width: '100vw',\n height: '100vh',\n display: 'flex',\n flexDirection: 'column',\n },\n closeDialog: {\n margin: theme.spacing(1),\n },\n dialogImageSection: {\n flex: 2,\n height: '100%',\n },\n}));\n\nconst defaultFieldMapping = {\n filePath: 'filePath',\n fileName: 'fileName',\n primaryText: 'primaryText',\n secondaryText: 'secondaryText',\n};\n\nexport const ImageSlider = props => {\n const {\n title,\n images,\n fieldMapping = defaultFieldMapping,\n sideSheetTitle,\n sideSheetWidth,\n hideDownload,\n hidePrimaryText,\n hideSecondaryText,\n hidePrimaryTextInExpandMode,\n hideSecondaryTextInExpandMode,\n expandInSideSheet = true,\n } = props;\n const classes = useStyles(props);\n const { t } = useTranslation();\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n const [openSideSheet, setOpenSideSheet] = useState(false);\n\n const handleViewImage = useCallback((previous = false) => {\n if (previous) {\n setCurrentImageIndex(prev => prev - 1);\n } else {\n setCurrentImageIndex(prev => prev + 1);\n }\n }, []);\n\n const handleExpandImage = useCallback(() => {\n setOpenSideSheet(true);\n }, []);\n\n const currentImageObj = useMemo(() => {\n const imgObj = images?.[currentImageIndex];\n if (!imgObj) return {};\n\n return {\n filePath: imgObj[fieldMapping?.filePath],\n fileName: imgObj[fieldMapping?.fileName],\n primaryText: imgObj[fieldMapping?.primaryText],\n secondaryText: imgObj[fieldMapping?.secondaryText],\n };\n }, [currentImageIndex, fieldMapping, images]);\n\n return (\n <AmbientCard\n fullWidth\n title={title}\n removePadding\n lastChildBottomPadding=\"0px\"\n removeTopLayoutUnit\n >\n <div className={classes.imagesWrapper}>\n {images?.map(image => (\n <img\n src={image?.[fieldMapping?.filePath]}\n alt={`${image?.[fieldMapping?.fileName]}`}\n loading=\"lazy\"\n width=\"100%\"\n height=\"auto\"\n className={classes.image}\n style={{ translate: `${-100 * currentImageIndex}%` }}\n />\n ))}\n </div>\n <IconButtonWithTooltip\n icon={getIconFromName('MiniExpand')}\n title={t('Expand Image')}\n onClick={handleExpandImage}\n id=\"udpRecord-ImageSlider-ExpandBtn\"\n udprecordid=\"udpRecord-ImageSlider-ExpandBtn\"\n className={classes.openSideSheetIcon}\n />\n <ImageFooter\n images={images}\n currentImageObj={currentImageObj}\n hidePrimaryText={hidePrimaryText}\n hideSecondaryText={hideSecondaryText}\n handleViewImage={handleViewImage}\n currentImageIndex={currentImageIndex}\n />\n\n {expandInSideSheet ? (\n <ImageViewerSideSheet\n title={sideSheetTitle}\n open={openSideSheet}\n onClose={() => {\n setOpenSideSheet(false);\n }}\n imageObj={currentImageObj}\n width={sideSheetWidth}\n hideDownload={hideDownload}\n hidePrimaryText={hidePrimaryTextInExpandMode}\n hideSecondaryText={hideSecondaryTextInExpandMode}\n />\n ) : (\n <Dialog\n onClose={() => {\n setOpenSideSheet(false);\n }}\n open={openSideSheet}\n fullScreen\n >\n <div className={classes.dialogContent}>\n <div className={classes.closeDialog}>\n <IconButtonWithTooltip\n icon={getIconFromName('Cancel')}\n title={t('Close')}\n onClick={() => {\n setOpenSideSheet(false);\n }}\n id=\"udpRecord-ImageSlider-PreviousBtn\"\n udprecordid=\"udpRecord-ImageSlider-PreviousBtn\"\n />\n </div>\n <div className={classes.dialogImageSection}>\n <Image\n imageObj={currentImageObj}\n hidePrimaryText={hidePrimaryTextInExpandMode}\n hideSecondaryText={hideSecondaryTextInExpandMode}\n />\n </div>\n </div>\n </Dialog>\n )}\n </AmbientCard>\n );\n};\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport React, { useMemo } from 'react';\nimport { PDFViewer } from './pdfViewer/PDFViewer';\nimport { ImageSlider } from './imageSlider/ImageSlider';\nimport { validateFilesImageType } from './utils/fileUtils';\nimport { useTranslation } from 'react-i18next';\nimport { AmbientAlert } from '../feedback/AmbientAlert';\n\nconst defaultFieldMapping = {\n filePath: 'filePath',\n blobFile: 'blobFile',\n fileName: 'fileName',\n fileExtension: 'fileExtension',\n primaryText: 'primaryText',\n secondaryText: 'secondaryText',\n};\n\nexport const FileViewer = props => {\n const {\n data,\n fieldMapping = defaultFieldMapping,\n acceptedFileExtensions,\n ...otherProps\n } = props;\n const { t } = useTranslation();\n\n //filter data\n const filteredData = useMemo(() => {\n if (!acceptedFileExtensions || acceptedFileExtensions?.length === 0)\n return data;\n if (data instanceof Array && data?.length > 0) {\n return data?.filter(item =>\n acceptedFileExtensions?.includes(item?.[fieldMapping?.fileExtension])\n );\n } else {\n return acceptedFileExtensions?.includes(\n data?.[fieldMapping?.fileExtension]\n )\n ? data\n : null;\n }\n }, [acceptedFileExtensions, data, fieldMapping]);\n\n // check if the data is an array. If yes, currently only image viewer accept this list,\n // we need to validate if all the file in the list is image\n const fileType = useMemo(() => {\n if (filteredData instanceof Array) {\n const type = validateFilesImageType(\n filteredData,\n fieldMapping?.fileExtension\n );\n return type;\n }\n return filteredData?.[fieldMapping?.fileExtension];\n }, [fieldMapping, filteredData]);\n\n const viewer = useMemo(() => {\n switch (fileType) {\n case 'pdf':\n return (\n <PDFViewer\n fileUrl={filteredData?.[fieldMapping?.filePath]}\n blobPDF={filteredData?.[fieldMapping?.blobFile]}\n {...otherProps}\n />\n );\n case 'image':\n return (\n <ImageSlider\n images={filteredData}\n fieldMapping={fieldMapping}\n {...otherProps}\n />\n );\n default:\n return (\n <AmbientAlert\n alertMessage={t('Unable to view file')}\n showAlert\n alertSeverity=\"error\"\n />\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fileType, data, fieldMapping, otherProps]);\n\n return <>{viewer}</>;\n};\n"],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { r as useForm } from "./form-Dj1zVw6K.js";
|
|
|
4
4
|
import { n as SubmitButton, t as FormButtons } from "./FormButtons-BTCO-pzW.js";
|
|
5
5
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
6
6
|
import { t as apiMutate } from "./useAxiosMutate-DeqKSi5z.js";
|
|
7
|
-
import { t as Typography$1 } from "./Typography-
|
|
7
|
+
import { t as Typography$1 } from "./Typography-FuShOop3.js";
|
|
8
8
|
import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
|
|
9
9
|
import { t as CkRichEditor } from "./CkRichEditor-CoP_h6jt.js";
|
|
10
|
-
import { t as AmbientCard } from "./AmbientCard-
|
|
10
|
+
import { t as AmbientCard } from "./AmbientCard-DhAiVDYD.js";
|
|
11
11
|
import { t as AmbientTextField } from "./AmbientTextField-CdnqPJUw.js";
|
|
12
12
|
import { t as LinearProgress$1 } from "./LinearProgress-CpJeIaEP.js";
|
|
13
13
|
import { t as FluentTextField } from "./FluentTextField-WfFk-koa.js";
|
|
@@ -485,4 +485,4 @@ const UdpTransactionEmailForm = ({ existingTransactionAttachments, toOptions, cc
|
|
|
485
485
|
|
|
486
486
|
//#endregion
|
|
487
487
|
export { PaymentReversalForm as n, LoginForm as r, UdpTransactionEmailForm as t };
|
|
488
|
-
//# sourceMappingURL=forms-
|
|
488
|
+
//# sourceMappingURL=forms-lyNriVSn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms-BVssUn2h.js","names":["useStyles","Box","LinearProgress","Typography","Grid","FormControl"],"sources":["../src/UI/forms/LoginForm.jsx","../src/UI/forms/PaymentReversalForm.jsx","../src/UI/forms/UdpTransactionEmailForm.jsx"],"sourcesContent":["import React from 'react';\nimport {\n TextField,\n Paper,\n Typography,\n makeStyles,\n LinearProgress,\n useTheme\n} from '@material-ui/core';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { Form, FormButtons, SubmitButton, Field } from '../../utilities/form';\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(8)\n },\n loginWindow: {\n position: 'relative',\n flex: 1,\n padding: theme.spacing(3),\n width: 390\n },\n underline: {\n '&::after': {\n borderColor: 'black'\n }\n },\n label: {\n color: 'black'\n },\n logo: {\n width: 150\n },\n error: {\n color: theme.palette.error.main\n }\n}));\n\nexport const LoginForm = (props) => {\n const { onSubmit, logo, usernameLabel, passwordLabel, error, loading } =\n props;\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n <div className={classes.root}>\n <Form onSubmit={onSubmit}>\n <Paper className={classes.loginWindow}>\n <Typography variant='h5' gutterBottom>\n Login\n </Typography>\n {error && (\n <Typography variant='body1' className={classes.error}>\n Your username or password is invalid\n </Typography>\n )}\n <Field\n component={TextField}\n margin='normal'\n type='email'\n name='username'\n InputProps={{\n classes: {\n underline: classes.underline\n }\n }}\n InputLabelProps={{\n focused: true,\n shrink: true,\n style: { color: theme.palette.grey[500] }\n }}\n label={usernameLabel || 'Sign in name'}\n fullWidth\n size='small'\n variant='standard'\n validate={(value) => {\n if (!value?.length) {\n return 'Please enter your sign in name';\n }\n }}\n />\n <Field\n component={TextField}\n margin='normal'\n type='password'\n name='password'\n InputProps={{\n classes: {\n underline: classes.underline\n }\n }}\n InputLabelProps={{\n focused: true,\n shrink: true,\n style: { color: theme.palette.grey[500] }\n }}\n label={passwordLabel || 'Password'}\n fullWidth\n size='small'\n variant='standard'\n validate={(value) => {\n if (!value?.length) {\n return 'Please enter your password';\n }\n }}\n />\n\n <FormButtons style={{ justifyContent: 'flex-end', marginBottom: 0 }}>\n <SubmitButton\n variant='contained'\n disablePristine={false}\n style={{\n margin: 0,\n backgroundColor: theme.palette.grey[800],\n color: '#fff'\n }}\n >\n Sign In\n </SubmitButton>\n </FormButtons>\n {logo && (\n <div>\n <img className={classes.logo} src={logo} alt='Unity' />\n </div>\n )}\n <LayoutUnit unit='xxs' />\n </Paper>\n {loading && <LinearProgress />}\n </Form>\n </div>\n );\n};\n","import React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport { format } from 'date-fns';\nimport { FluentCardText } from '../surfaces/cards/fluentCards/FluentCardText';\nimport { IndicatorChip } from '../utilityDisplay/IndicatorChip';\nimport { makeStyles, Divider, FormControlLabel } from '@material-ui/core';\nimport { Box } from '../Box';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { Typography } from '../dataDisplay/typography/Typography';\nimport { Grid } from '../Grid';\nimport { ListElement } from '../mapLayout/ui/ListCard';\nimport { useTranslation } from 'react-i18next';\nimport { FluentCheckbox } from '../inputs/checkbox/FluentCheckbox';\nimport { FormControl } from '../utilityDisplay/FormControl';\nimport { Field } from '../../utilities/form/Field';\nimport { FluentTextField } from '../inputs/textField/FluentTextField';\nimport { Form } from '../../utilities/form/Form';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { LinearProgress } from '../loading/LinearProgress';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n formControlHalf: {\n width: '40%'\n },\n formControl: {\n width: '100%'\n },\n formControlMargin: {\n width: '100%',\n marginTop: '5px'\n },\n formControlCheck: {\n width: '100%',\n marginTop: '5px',\n marginLeft: '3px'\n },\n submitControl: {\n marginTop: '35px'\n },\n assetTypeLabel: {\n top: theme.spacing(-0.7)\n },\n labelText: {\n color: 'rgba(0, 0, 0)',\n fontSize: '0.875rem'\n },\n main: {\n flexGrow: 1,\n padding: '0 24px',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n appIcon: {\n width: 24,\n height: 24,\n color: theme.palette.text.primary\n },\n arrowIcon: {\n width: 12,\n height: 12\n },\n linkTitle: {\n marginRight: theme.spacing(1)\n },\n formControlGeneral: {\n width: '100%',\n marginLeft: '5px',\n marginTop: '5px'\n },\n cardNumber: {\n width: '60%'\n },\n accordion: {\n width: '100%',\n margin: '0px',\n padding: '0px',\n boxShadow: 'none',\n backgroundColor: 'inherit',\n '&:before': {\n display: 'none'\n },\n '&$expanded': {\n margin: '0px'\n }\n },\n accordionSummary: {\n padding: '0px',\n paddingLeft: '5px',\n margin: '0px',\n minHeight: '0px',\n backgroundColor: 'inherit',\n flexDirection: 'row-reverse',\n '&$expanded': {\n margin: '0px',\n padding: '0px',\n minHeight: '0px'\n }\n },\n expanded: {\n margin: '0px',\n paddingLeft: '5px'\n },\n content: {\n margin: 0,\n backgroundColor: 'inherit',\n '&$expanded': {\n margin: 0\n }\n },\n accordionDetails: {\n padding: '0px',\n display: 'block',\n margin: '0px'\n },\n cardContent: {\n backgroundColor: '#FAFAFA'\n },\n listItem: {\n paddingTop: '3px',\n paddingBottom: '3px',\n fontSize: '0.875rem'\n },\n listItemDetail: {\n display: 'flex',\n justifyContent: 'flex-end'\n },\n listItemAccordion: {\n paddingTop: '3px',\n paddingBottom: '3px',\n paddingLeft: '0px'\n },\n divider: {\n margin: '0px 12px'\n },\n dividerBold: {\n margin: '0px 12px',\n backgroundColor: 'black'\n },\n itemCheckbox: {\n padding: '0px'\n },\n itemDescription: {\n color: 'grey'\n },\n list: {\n backgroundColor: '#FFF'\n },\n dropdown: {\n marginTop: theme.spacing(-1),\n backgroundColor: '#FFF'\n },\n locationDropDown: {\n margin: theme.spacing(0),\n marginTop: theme.spacing(-0.5),\n fontSize: '0.75rem'\n },\n box: {\n display: 'flex',\n justifyContent: 'space-around',\n flexDirection: 'row',\n paddingBottom: '15px',\n gap: '10px',\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start'\n }\n }\n}));\n\nconst PAYMENT_APPROVED = 1;\nconst PAYMENT_DENIED = 43;\nconst RESULT_SUCCESS = 200;\nconst RESULT_FAILURE = 401;\n\nexport const PaymentReversalForm = ({ id, paymentData, onSubmitCompleted }) => {\n const classes = useStyles();\n const { t } = useTranslation();\n\n const [loading, setLoading] = useState(true);\n const [paymentTransaction, setPaymentTransaction] = useState(undefined);\n\n /**\n * API call to get the payment transaction details\n */\n const getPaymentTransaction = useCallback(\n async (payload) => {\n if (!payload) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `PaymentTransaction/search`,\n {\n method: 'POST',\n data: payload\n },\n {}\n );\n },\n []\n );\n\n /**\n * API call to get the account information by account number\n */\n const reverseTransactionExecute = useCallback(\n async (transactionID) => {\n if (!transactionID) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `PaymentTransaction/${transactionID}`,\n {\n method: 'DELETE',\n },\n {}\n );\n },\n []\n );\n\n /**\n * submitAccountDetailsForm\n * @param {*} formData\n * @return {*}\n */\n const handleSubmitPaymentReversal = (values) => {\n // const data = {\n // amountToReverse: values.amountToReverse,\n // isSendCustomerPaymentConfirmation:\n // values.isSendCustomerPaymentConfirmation\n // };\n\n if (!paymentData?.transactionId) {\n return;\n }\n\n reverseTransactionExecute(paymentData?.transactionId)\n .then(() => {\n onSubmitCompleted && onSubmitCompleted({ transactionId: paymentData?.transactionId, error: false });\n })\n .catch((error) => {\n onSubmitCompleted && onSubmitCompleted({ transactionId: paymentData?.transactionId, error });\n });\n }\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n setLoading(true);\n const response = await getPaymentTransaction({\n eagerLoad: true,\n pageNumber: 1,\n pageSize: 20,\n filterElements: [\n {\n searchField: 'transactionId',\n searchValue: paymentData?.transactionId,\n searchOperator: '=',\n },\n ],\n orderElements: [],\n });\n\n if (response?.data) {\n setPaymentTransaction(response?.data?.pageList?.[0]);\n }\n\n } catch (err) {\n console.error(err);\n } finally {\n setLoading(false);\n }\n };\n\n if (paymentData?.transactionId) {\n fetchData();\n }\n }, [getPaymentTransaction, paymentData]);\n\n const statusText = useMemo(() => {\n return (paymentTransaction?.responseCode === PAYMENT_APPROVED && paymentTransaction?.paymentResultID === RESULT_SUCCESS) ? 'Approved' :\n (paymentTransaction?.responseCode === PAYMENT_DENIED && paymentTransaction?.paymentResultID === RESULT_FAILURE) ? 'Declined' : 'Undetermined';\n }, [paymentTransaction]);\n\n const statusCode = useMemo(() => {\n return (paymentTransaction?.responseCode === PAYMENT_APPROVED && paymentTransaction?.paymentResultID === RESULT_SUCCESS) ? 'ok':\n (paymentTransaction?.responseCode === PAYMENT_DENIED && paymentTransaction?.paymentResultID === RESULT_FAILURE) ? 'error' : 'warning';\n }, [paymentTransaction]);\n\n return (\n <Box>\n {loading && (\n <Box sx={{ width: '100%' }}>\n <LinearProgress />\n </Box>\n )}\n <Box className={classes.box}>\n <FluentCardText title='Value' description={`$${paymentData?.amount}`} />\n <FluentCardText\n title='Status'\n description={\n <IndicatorChip\n text={statusText}\n status={statusCode}\n />\n }\n />\n </Box>\n <AmbientCard fullWidth={true}>\n <Typography\n variant='subtitle2'\n style={{ marginTop: '0px', marginBottom: '10px' }}\n >\n {t('Payment Details')}\n </Typography>\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('Transaction ID'), paymentData?.transactionId || t('N/A')],\n [t('Date/Time'), paymentData?.transactionDate ? format(new Date(paymentData?.transactionDate), 'EEE, MMM d, yyyy') : t('N/A')],\n [t('Processor'), paymentData?.paymentSourceName || t('No Information found')],\n [t('Response Code'), paymentData?.authorizationNumber || t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('Customer Name'), paymentTransaction?.reference3 || t('N/A')],\n [t('Type'), paymentData?.tender || t('N/A')],\n [t('Card Holder Name'), t('N/A')],\n [t('CC Number'), paymentData?.cardLast4 || t('N/A')],\n [t('Company'), paymentTransaction?.applicationClient?.name || t('N/A')],\n [t('Expiration Date'), paymentData?.date || t('N/A')],\n [t('AVS'), t('N/A')],\n [t('Status'),paymentData?.authorizationNumber ? 'Approved' : 'Declined'],\n [t('Confirmation'), paymentData?.authorizationNumber || t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('First Attempt Date'), paymentData?.date || t('N/A')],\n [t('Initial Transaction'), paymentData?.date || t('N/A')],\n [t('Next Attempt Date'), paymentData?.date || t('N/A')],\n [t('Retry Count'), t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Form\n id={id}\n onSubmit={handleSubmitPaymentReversal}\n render={({ handleSubmit, form, values }) => {\n return (\n <>\n <FormControl className={classes.formControl}>\n <Field\n component={FluentTextField}\n ComponentProps={{\n label: t('Amount to Reverse'),\n variant: 'outlined',\n margin: 'normal',\n size: 'small',\n disabled: false,\n fullWidth: true,\n autoComplete: 'off',\n inputProps: {\n maxLength: 256,\n autocomplete: 'off'\n }\n }}\n name='amountToReverse'\n initialValue={paymentData?.amount}\n onChange={() => {}}\n required={true}\n />\n </FormControl>\n\n <FormControl className={classes.formControlGeneral}>\n <FormControlLabel\n control={\n <Field\n component={FluentCheckbox}\n name='isSendCustomerPaymentConfirmation'\n type='checkbox'\n defaultValue={false}\n required={false}\n onChange={() => {}}\n // @ts-ignore\n size='small'\n />\n }\n label={t('Send Customer Payment Confirmation')}\n />\n </FormControl>\n </>\n );\n }}\n />\n </AmbientCard>\n </Box>\n );\n};\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field } from '../../utilities/form';\nimport { CkRichEditor } from '../inputs/richEditors';\nimport { AmbientAutoComplete, AmbientTextField } from '../inputs/textField';\nimport { useForm } from '../../utilities/form';\nimport { LayoutUnit } from '../../layout';\n\nexport const UdpTransactionEmailForm = ({\n existingTransactionAttachments,\n toOptions,\n ccOptions,\n toLabelFunction,\n toGroupBy,\n toFilterOptions,\n ccLabelFunction,\n ccGroupBy,\n ccFilterOptions,\n attachmentsLabelFunction\n}) => {\n const i18n = useTranslation().t;\n const form = useForm();\n\n const handleOnBodyChange = useCallback(\n (value) => {\n form.change('body', value);\n },\n [form]\n );\n\n return (\n <>\n <Field\n component={AmbientAutoComplete}\n name='to'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={toOptions}\n getOptionLabelFunction={toLabelFunction}\n groupBy={toGroupBy}\n filterOptions={toFilterOptions}\n label={i18n('To')}\n required={true}\n />\n <Field\n component={AmbientAutoComplete}\n name='cc'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={ccOptions}\n getOptionLabelFunction={ccLabelFunction}\n groupBy={ccGroupBy}\n filterOptions={ccFilterOptions}\n label={i18n('Cc')}\n />\n <Field\n component={AmbientAutoComplete}\n name='attachments'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={existingTransactionAttachments}\n getOptionLabelFunction={attachmentsLabelFunction}\n label={i18n('Attachments')}\n />\n <Field\n component={AmbientTextField}\n name='subject'\n margin='normal'\n variant='outlined'\n label={i18n('Subject')}\n required={true}\n />\n <LayoutUnit unit='nudge' />\n <CkRichEditor name='body' handleChange={handleOnBodyChange} />\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms-lyNriVSn.js","names":["useStyles","Box","LinearProgress","Typography","Grid","FormControl"],"sources":["../src/UI/forms/LoginForm.jsx","../src/UI/forms/PaymentReversalForm.jsx","../src/UI/forms/UdpTransactionEmailForm.jsx"],"sourcesContent":["import React from 'react';\nimport {\n TextField,\n Paper,\n Typography,\n makeStyles,\n LinearProgress,\n useTheme\n} from '@material-ui/core';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { Form, FormButtons, SubmitButton, Field } from '../../utilities/form';\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(8)\n },\n loginWindow: {\n position: 'relative',\n flex: 1,\n padding: theme.spacing(3),\n width: 390\n },\n underline: {\n '&::after': {\n borderColor: 'black'\n }\n },\n label: {\n color: 'black'\n },\n logo: {\n width: 150\n },\n error: {\n color: theme.palette.error.main\n }\n}));\n\nexport const LoginForm = (props) => {\n const { onSubmit, logo, usernameLabel, passwordLabel, error, loading } =\n props;\n const classes = useStyles();\n const theme = useTheme();\n\n return (\n <div className={classes.root}>\n <Form onSubmit={onSubmit}>\n <Paper className={classes.loginWindow}>\n <Typography variant='h5' gutterBottom>\n Login\n </Typography>\n {error && (\n <Typography variant='body1' className={classes.error}>\n Your username or password is invalid\n </Typography>\n )}\n <Field\n component={TextField}\n margin='normal'\n type='email'\n name='username'\n InputProps={{\n classes: {\n underline: classes.underline\n }\n }}\n InputLabelProps={{\n focused: true,\n shrink: true,\n style: { color: theme.palette.grey[500] }\n }}\n label={usernameLabel || 'Sign in name'}\n fullWidth\n size='small'\n variant='standard'\n validate={(value) => {\n if (!value?.length) {\n return 'Please enter your sign in name';\n }\n }}\n />\n <Field\n component={TextField}\n margin='normal'\n type='password'\n name='password'\n InputProps={{\n classes: {\n underline: classes.underline\n }\n }}\n InputLabelProps={{\n focused: true,\n shrink: true,\n style: { color: theme.palette.grey[500] }\n }}\n label={passwordLabel || 'Password'}\n fullWidth\n size='small'\n variant='standard'\n validate={(value) => {\n if (!value?.length) {\n return 'Please enter your password';\n }\n }}\n />\n\n <FormButtons style={{ justifyContent: 'flex-end', marginBottom: 0 }}>\n <SubmitButton\n variant='contained'\n disablePristine={false}\n style={{\n margin: 0,\n backgroundColor: theme.palette.grey[800],\n color: '#fff'\n }}\n >\n Sign In\n </SubmitButton>\n </FormButtons>\n {logo && (\n <div>\n <img className={classes.logo} src={logo} alt='Unity' />\n </div>\n )}\n <LayoutUnit unit='xxs' />\n </Paper>\n {loading && <LinearProgress />}\n </Form>\n </div>\n );\n};\n","import React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport { format } from 'date-fns';\nimport { FluentCardText } from '../surfaces/cards/fluentCards/FluentCardText';\nimport { IndicatorChip } from '../utilityDisplay/IndicatorChip';\nimport { makeStyles, Divider, FormControlLabel } from '@material-ui/core';\nimport { Box } from '../Box';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { Typography } from '../dataDisplay/typography/Typography';\nimport { Grid } from '../Grid';\nimport { ListElement } from '../mapLayout/ui/ListCard';\nimport { useTranslation } from 'react-i18next';\nimport { FluentCheckbox } from '../inputs/checkbox/FluentCheckbox';\nimport { FormControl } from '../utilityDisplay/FormControl';\nimport { Field } from '../../utilities/form/Field';\nimport { FluentTextField } from '../inputs/textField/FluentTextField';\nimport { Form } from '../../utilities/form/Form';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { LinearProgress } from '../loading/LinearProgress';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n formControlHalf: {\n width: '40%'\n },\n formControl: {\n width: '100%'\n },\n formControlMargin: {\n width: '100%',\n marginTop: '5px'\n },\n formControlCheck: {\n width: '100%',\n marginTop: '5px',\n marginLeft: '3px'\n },\n submitControl: {\n marginTop: '35px'\n },\n assetTypeLabel: {\n top: theme.spacing(-0.7)\n },\n labelText: {\n color: 'rgba(0, 0, 0)',\n fontSize: '0.875rem'\n },\n main: {\n flexGrow: 1,\n padding: '0 24px',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n appIcon: {\n width: 24,\n height: 24,\n color: theme.palette.text.primary\n },\n arrowIcon: {\n width: 12,\n height: 12\n },\n linkTitle: {\n marginRight: theme.spacing(1)\n },\n formControlGeneral: {\n width: '100%',\n marginLeft: '5px',\n marginTop: '5px'\n },\n cardNumber: {\n width: '60%'\n },\n accordion: {\n width: '100%',\n margin: '0px',\n padding: '0px',\n boxShadow: 'none',\n backgroundColor: 'inherit',\n '&:before': {\n display: 'none'\n },\n '&$expanded': {\n margin: '0px'\n }\n },\n accordionSummary: {\n padding: '0px',\n paddingLeft: '5px',\n margin: '0px',\n minHeight: '0px',\n backgroundColor: 'inherit',\n flexDirection: 'row-reverse',\n '&$expanded': {\n margin: '0px',\n padding: '0px',\n minHeight: '0px'\n }\n },\n expanded: {\n margin: '0px',\n paddingLeft: '5px'\n },\n content: {\n margin: 0,\n backgroundColor: 'inherit',\n '&$expanded': {\n margin: 0\n }\n },\n accordionDetails: {\n padding: '0px',\n display: 'block',\n margin: '0px'\n },\n cardContent: {\n backgroundColor: '#FAFAFA'\n },\n listItem: {\n paddingTop: '3px',\n paddingBottom: '3px',\n fontSize: '0.875rem'\n },\n listItemDetail: {\n display: 'flex',\n justifyContent: 'flex-end'\n },\n listItemAccordion: {\n paddingTop: '3px',\n paddingBottom: '3px',\n paddingLeft: '0px'\n },\n divider: {\n margin: '0px 12px'\n },\n dividerBold: {\n margin: '0px 12px',\n backgroundColor: 'black'\n },\n itemCheckbox: {\n padding: '0px'\n },\n itemDescription: {\n color: 'grey'\n },\n list: {\n backgroundColor: '#FFF'\n },\n dropdown: {\n marginTop: theme.spacing(-1),\n backgroundColor: '#FFF'\n },\n locationDropDown: {\n margin: theme.spacing(0),\n marginTop: theme.spacing(-0.5),\n fontSize: '0.75rem'\n },\n box: {\n display: 'flex',\n justifyContent: 'space-around',\n flexDirection: 'row',\n paddingBottom: '15px',\n gap: '10px',\n [theme.breakpoints.down('sm')]: {\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start'\n }\n }\n}));\n\nconst PAYMENT_APPROVED = 1;\nconst PAYMENT_DENIED = 43;\nconst RESULT_SUCCESS = 200;\nconst RESULT_FAILURE = 401;\n\nexport const PaymentReversalForm = ({ id, paymentData, onSubmitCompleted }) => {\n const classes = useStyles();\n const { t } = useTranslation();\n\n const [loading, setLoading] = useState(true);\n const [paymentTransaction, setPaymentTransaction] = useState(undefined);\n\n /**\n * API call to get the payment transaction details\n */\n const getPaymentTransaction = useCallback(\n async (payload) => {\n if (!payload) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `PaymentTransaction/search`,\n {\n method: 'POST',\n data: payload\n },\n {}\n );\n },\n []\n );\n\n /**\n * API call to get the account information by account number\n */\n const reverseTransactionExecute = useCallback(\n async (transactionID) => {\n if (!transactionID) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `PaymentTransaction/${transactionID}`,\n {\n method: 'DELETE',\n },\n {}\n );\n },\n []\n );\n\n /**\n * submitAccountDetailsForm\n * @param {*} formData\n * @return {*}\n */\n const handleSubmitPaymentReversal = (values) => {\n // const data = {\n // amountToReverse: values.amountToReverse,\n // isSendCustomerPaymentConfirmation:\n // values.isSendCustomerPaymentConfirmation\n // };\n\n if (!paymentData?.transactionId) {\n return;\n }\n\n reverseTransactionExecute(paymentData?.transactionId)\n .then(() => {\n onSubmitCompleted && onSubmitCompleted({ transactionId: paymentData?.transactionId, error: false });\n })\n .catch((error) => {\n onSubmitCompleted && onSubmitCompleted({ transactionId: paymentData?.transactionId, error });\n });\n }\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n setLoading(true);\n const response = await getPaymentTransaction({\n eagerLoad: true,\n pageNumber: 1,\n pageSize: 20,\n filterElements: [\n {\n searchField: 'transactionId',\n searchValue: paymentData?.transactionId,\n searchOperator: '=',\n },\n ],\n orderElements: [],\n });\n\n if (response?.data) {\n setPaymentTransaction(response?.data?.pageList?.[0]);\n }\n\n } catch (err) {\n console.error(err);\n } finally {\n setLoading(false);\n }\n };\n\n if (paymentData?.transactionId) {\n fetchData();\n }\n }, [getPaymentTransaction, paymentData]);\n\n const statusText = useMemo(() => {\n return (paymentTransaction?.responseCode === PAYMENT_APPROVED && paymentTransaction?.paymentResultID === RESULT_SUCCESS) ? 'Approved' :\n (paymentTransaction?.responseCode === PAYMENT_DENIED && paymentTransaction?.paymentResultID === RESULT_FAILURE) ? 'Declined' : 'Undetermined';\n }, [paymentTransaction]);\n\n const statusCode = useMemo(() => {\n return (paymentTransaction?.responseCode === PAYMENT_APPROVED && paymentTransaction?.paymentResultID === RESULT_SUCCESS) ? 'ok':\n (paymentTransaction?.responseCode === PAYMENT_DENIED && paymentTransaction?.paymentResultID === RESULT_FAILURE) ? 'error' : 'warning';\n }, [paymentTransaction]);\n\n return (\n <Box>\n {loading && (\n <Box sx={{ width: '100%' }}>\n <LinearProgress />\n </Box>\n )}\n <Box className={classes.box}>\n <FluentCardText title='Value' description={`$${paymentData?.amount}`} />\n <FluentCardText\n title='Status'\n description={\n <IndicatorChip\n text={statusText}\n status={statusCode}\n />\n }\n />\n </Box>\n <AmbientCard fullWidth={true}>\n <Typography\n variant='subtitle2'\n style={{ marginTop: '0px', marginBottom: '10px' }}\n >\n {t('Payment Details')}\n </Typography>\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('Transaction ID'), paymentData?.transactionId || t('N/A')],\n [t('Date/Time'), paymentData?.transactionDate ? format(new Date(paymentData?.transactionDate), 'EEE, MMM d, yyyy') : t('N/A')],\n [t('Processor'), paymentData?.paymentSourceName || t('No Information found')],\n [t('Response Code'), paymentData?.authorizationNumber || t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('Customer Name'), paymentTransaction?.reference3 || t('N/A')],\n [t('Type'), paymentData?.tender || t('N/A')],\n [t('Card Holder Name'), t('N/A')],\n [t('CC Number'), paymentData?.cardLast4 || t('N/A')],\n [t('Company'), paymentTransaction?.applicationClient?.name || t('N/A')],\n [t('Expiration Date'), paymentData?.date || t('N/A')],\n [t('AVS'), t('N/A')],\n [t('Status'),paymentData?.authorizationNumber ? 'Approved' : 'Declined'],\n [t('Confirmation'), paymentData?.authorizationNumber || t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Box display='flex' flexDirection='column'>\n <Grid container spacing={1}>\n {[\n [t('First Attempt Date'), paymentData?.date || t('N/A')],\n [t('Initial Transaction'), paymentData?.date || t('N/A')],\n [t('Next Attempt Date'), paymentData?.date || t('N/A')],\n [t('Retry Count'), t('N/A')]\n ].map(([k, v]) => (\n <Grid item xs={12} sm={6}>\n {/* @ts-ignore */}\n <ListElement subject={k} value={v} hideDivider={true} />\n </Grid>\n ))}\n </Grid>\n </Box>\n\n <Divider style={{ marginTop: '10px', marginBottom: '10px' }} />\n\n <Form\n id={id}\n onSubmit={handleSubmitPaymentReversal}\n render={({ handleSubmit, form, values }) => {\n return (\n <>\n <FormControl className={classes.formControl}>\n <Field\n component={FluentTextField}\n ComponentProps={{\n label: t('Amount to Reverse'),\n variant: 'outlined',\n margin: 'normal',\n size: 'small',\n disabled: false,\n fullWidth: true,\n autoComplete: 'off',\n inputProps: {\n maxLength: 256,\n autocomplete: 'off'\n }\n }}\n name='amountToReverse'\n initialValue={paymentData?.amount}\n onChange={() => {}}\n required={true}\n />\n </FormControl>\n\n <FormControl className={classes.formControlGeneral}>\n <FormControlLabel\n control={\n <Field\n component={FluentCheckbox}\n name='isSendCustomerPaymentConfirmation'\n type='checkbox'\n defaultValue={false}\n required={false}\n onChange={() => {}}\n // @ts-ignore\n size='small'\n />\n }\n label={t('Send Customer Payment Confirmation')}\n />\n </FormControl>\n </>\n );\n }}\n />\n </AmbientCard>\n </Box>\n );\n};\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field } from '../../utilities/form';\nimport { CkRichEditor } from '../inputs/richEditors';\nimport { AmbientAutoComplete, AmbientTextField } from '../inputs/textField';\nimport { useForm } from '../../utilities/form';\nimport { LayoutUnit } from '../../layout';\n\nexport const UdpTransactionEmailForm = ({\n existingTransactionAttachments,\n toOptions,\n ccOptions,\n toLabelFunction,\n toGroupBy,\n toFilterOptions,\n ccLabelFunction,\n ccGroupBy,\n ccFilterOptions,\n attachmentsLabelFunction\n}) => {\n const i18n = useTranslation().t;\n const form = useForm();\n\n const handleOnBodyChange = useCallback(\n (value) => {\n form.change('body', value);\n },\n [form]\n );\n\n return (\n <>\n <Field\n component={AmbientAutoComplete}\n name='to'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={toOptions}\n getOptionLabelFunction={toLabelFunction}\n groupBy={toGroupBy}\n filterOptions={toFilterOptions}\n label={i18n('To')}\n required={true}\n />\n <Field\n component={AmbientAutoComplete}\n name='cc'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={ccOptions}\n getOptionLabelFunction={ccLabelFunction}\n groupBy={ccGroupBy}\n filterOptions={ccFilterOptions}\n label={i18n('Cc')}\n />\n <Field\n component={AmbientAutoComplete}\n name='attachments'\n margin='normal'\n variant='outlined'\n isMultiple={true}\n options={existingTransactionAttachments}\n getOptionLabelFunction={attachmentsLabelFunction}\n label={i18n('Attachments')}\n />\n <Field\n component={AmbientTextField}\n name='subject'\n margin='normal'\n variant='outlined'\n label={i18n('Subject')}\n required={true}\n />\n <LayoutUnit unit='nudge' />\n <CkRichEditor name='body' handleChange={handleOnBodyChange} />\n </>\n );\n};\n"],"mappings":"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"}
|