udp-react-enterprise-component-library 25.16.0 → 25.16.1
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/README.md +97 -0
- package/dist/ActionLoadingContext-CNjaZnRA.js +8 -0
- package/dist/ActionLoadingContext-CNjaZnRA.js.map +1 -0
- package/dist/ActionLoadingDispatchContext-BnmdA_n3.js +16 -0
- package/dist/ActionLoadingDispatchContext-BnmdA_n3.js.map +1 -0
- package/dist/ActionProvider-1yV0Pb_q.js +368 -0
- package/dist/ActionProvider-1yV0Pb_q.js.map +1 -0
- package/dist/ActionSplitScreen-QDScakF5.js +296 -0
- package/dist/ActionSplitScreen-QDScakF5.js.map +1 -0
- package/dist/ActionWrapper-si5rnFjn.js +889 -0
- package/dist/ActionWrapper-si5rnFjn.js.map +1 -0
- package/dist/AddressListItem-ab1iGRhK.js +19 -0
- package/dist/AddressListItem-ab1iGRhK.js.map +1 -0
- package/dist/Adornment-9YJw6GPr.js +19 -0
- package/dist/Adornment-9YJw6GPr.js.map +1 -0
- package/dist/AgTable-0F_xrxvX.js +184 -0
- package/dist/AgTable-0F_xrxvX.js.map +1 -0
- package/dist/AggregateChip-7tOziH82.js +242 -0
- package/dist/AggregateChip-7tOziH82.js.map +1 -0
- package/dist/AmbientAlert-Daw5MVak.js +42 -0
- package/dist/AmbientAlert-Daw5MVak.js.map +1 -0
- package/dist/AmbientAutoComplete-BmBgMVpv.js +101 -0
- package/dist/AmbientAutoComplete-BmBgMVpv.js.map +1 -0
- package/dist/AmbientCard-Cp-eNzrW.js +165 -0
- package/dist/AmbientCard-Cp-eNzrW.js.map +1 -0
- package/dist/AmbientCardButton-DGmyyJxn.js +31 -0
- package/dist/AmbientCardButton-DGmyyJxn.js.map +1 -0
- package/dist/AmbientCardTitle-CF2luWZ_.js +38 -0
- package/dist/AmbientCardTitle-CF2luWZ_.js.map +1 -0
- package/dist/AmbientChipButton-C2KvNywY.js +50 -0
- package/dist/AmbientChipButton-C2KvNywY.js.map +1 -0
- package/dist/AmbientGridTemplate-B58pNLnZ.js +1664 -0
- package/dist/AmbientGridTemplate-B58pNLnZ.js.map +1 -0
- package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js +75 -0
- package/dist/AmbientPopoverMenuItem-Dy3rQ7sp.js.map +1 -0
- package/dist/AmbientSingleDateSelector-bGMAQaH2.js +51 -0
- package/dist/AmbientSingleDateSelector-bGMAQaH2.js.map +1 -0
- package/dist/AmbientTextField-BHfLW2L3.js +76 -0
- package/dist/AmbientTextField-BHfLW2L3.js.map +1 -0
- package/dist/AmbientToast-7aYv2gtH.js +70 -0
- package/dist/AmbientToast-7aYv2gtH.js.map +1 -0
- package/dist/AmbientToggleButton-C-7jtLY0.js +67 -0
- package/dist/AmbientToggleButton-C-7jtLY0.js.map +1 -0
- package/dist/AmbientToggleButtonGroup-BWYKeDtB.js +87 -0
- package/dist/AmbientToggleButtonGroup-BWYKeDtB.js.map +1 -0
- package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js +107 -0
- package/dist/AmbientToggleButtonGroupDefault-JAnbpfxZ.js.map +1 -0
- package/dist/AmbientTokenButton-CpdlLmsF.js +46 -0
- package/dist/AmbientTokenButton-CpdlLmsF.js.map +1 -0
- package/dist/AmbientVisualizer-BFFwonre.js +672 -0
- package/dist/AmbientVisualizer-BFFwonre.js.map +1 -0
- package/dist/AppMenu-CWyoGTC4.js +170 -0
- package/dist/AppMenu-CWyoGTC4.js.map +1 -0
- package/dist/AvatarAlphabet-kN4P-dsj.js +187 -0
- package/dist/AvatarAlphabet-kN4P-dsj.js.map +1 -0
- package/dist/{MenuPage-BZk69VmF.js → BaseTreeMenu-CroItvOA.js} +18 -219
- package/dist/BaseTreeMenu-CroItvOA.js.map +1 -0
- package/dist/BioCard-DWXySB2s.js +60 -0
- package/dist/BioCard-DWXySB2s.js.map +1 -0
- package/dist/BioCardWrapper-oL2gu9ec.js +512 -0
- package/dist/BioCardWrapper-oL2gu9ec.js.map +1 -0
- package/dist/Box-DQPELDGC.js +11 -0
- package/dist/Box-DQPELDGC.js.map +1 -0
- package/dist/BreadCrumbMenu-42SrTsSI.js +54 -0
- package/dist/BreadCrumbMenu-42SrTsSI.js.map +1 -0
- package/dist/CatalogUtilities-C2RsZM3t.js +16 -0
- package/dist/CatalogUtilities-C2RsZM3t.js.map +1 -0
- package/dist/ChatBotContext-aIWq8Gqd.js +8 -0
- package/dist/ChatBotContext-aIWq8Gqd.js.map +1 -0
- package/dist/ChatBotProvider-3yBWdcfe.js +67 -0
- package/dist/ChatBotProvider-3yBWdcfe.js.map +1 -0
- package/dist/ChatContainer-il3bj22z.js +252 -0
- package/dist/ChatContainer-il3bj22z.js.map +1 -0
- package/dist/CircleButton-RIWPMVG6.js +240 -0
- package/dist/CircleButton-RIWPMVG6.js.map +1 -0
- package/dist/CircularProgress-BNz8u0DY.js +48 -0
- package/dist/CircularProgress-BNz8u0DY.js.map +1 -0
- package/dist/CkRichEditor-BzyNk5CH.js +47 -0
- package/dist/CkRichEditor-BzyNk5CH.js.map +1 -0
- package/dist/ClientSideUdpGrid-DPeVlSHy.js +11 -0
- package/dist/ClientSideUdpGrid-DPeVlSHy.js.map +1 -0
- package/dist/CompactDataList-QWDPJrR5.js +16 -0
- package/dist/CompactDataList-QWDPJrR5.js.map +1 -0
- package/dist/CompactDataListItem-DMGFdFDP.js +28 -0
- package/dist/CompactDataListItem-DMGFdFDP.js.map +1 -0
- package/dist/ContentContainer-DfQA0RcA.js +30 -0
- package/dist/ContentContainer-DfQA0RcA.js.map +1 -0
- package/dist/Controls-Dns0KUBq.js +27 -0
- package/dist/Controls-Dns0KUBq.js.map +1 -0
- package/dist/CrudBrowserContainer-CkKwGxjy.js +175 -0
- package/dist/CrudBrowserContainer-CkKwGxjy.js.map +1 -0
- package/dist/CrudBrowserUtilities-Cm_FNdfE.js +77 -0
- package/dist/CrudBrowserUtilities-Cm_FNdfE.js.map +1 -0
- package/dist/CrudForm-CS8iy0jE.js +348 -0
- package/dist/CrudForm-CS8iy0jE.js.map +1 -0
- package/dist/CrudTableSidePanel-DdQ_D8g0.js +120 -0
- package/dist/CrudTableSidePanel-DdQ_D8g0.js.map +1 -0
- package/dist/DashboardWidget-CpxtRgWv.js +248 -0
- package/dist/DashboardWidget-CpxtRgWv.js.map +1 -0
- package/dist/DataBrowserContainer-CESNdu3e.js +396 -0
- package/dist/DataBrowserContainer-CESNdu3e.js.map +1 -0
- package/dist/DateTimeField-O7EKOyoH.js +32 -0
- package/dist/DateTimeField-O7EKOyoH.js.map +1 -0
- package/dist/DateUtilities-DHTEYbE8.js +15 -0
- package/dist/DateUtilities-DHTEYbE8.js.map +1 -0
- package/dist/DemoJuly-46P2EFI7.js +1 -0
- package/dist/DiffChecker-BZGx08fd.js +38 -0
- package/dist/DiffChecker-BZGx08fd.js.map +1 -0
- package/dist/Divider-BU1-Ll14.js +11 -0
- package/dist/Divider-BU1-Ll14.js.map +1 -0
- package/dist/DragDropFileUpload-D2moCBGI.js +89 -0
- package/dist/DragDropFileUpload-D2moCBGI.js.map +1 -0
- package/dist/DraggableSidebarTemplate-Dhrbn1H1.js +93 -0
- package/dist/DraggableSidebarTemplate-Dhrbn1H1.js.map +1 -0
- package/dist/DynamicContainerWithMenu-CQLpIY2A.js +141 -0
- package/dist/DynamicContainerWithMenu-CQLpIY2A.js.map +1 -0
- package/dist/DynamicRangeSlider-D8UVBHSs.js +569 -0
- package/dist/DynamicRangeSlider-D8UVBHSs.js.map +1 -0
- package/dist/Ellipse-q1-sPjh3.js +113 -0
- package/dist/Ellipse-q1-sPjh3.js.map +1 -0
- package/dist/EmailDisplay-Bglp_poX.js +116 -0
- package/dist/EmailDisplay-Bglp_poX.js.map +1 -0
- package/dist/EmptyStateDisplay-BMhnBskG.js +66 -0
- package/dist/EmptyStateDisplay-BMhnBskG.js.map +1 -0
- package/dist/EntitySideBarContent-Do-R7Fr2.js +84 -0
- package/dist/EntitySideBarContent-Do-R7Fr2.js.map +1 -0
- package/dist/EnvironmentRibbon-CPm8YnJ4.js +59 -0
- package/dist/EnvironmentRibbon-CPm8YnJ4.js.map +1 -0
- package/dist/ExportSidesheet-RFDKlbH5.js +334 -0
- package/dist/ExportSidesheet-RFDKlbH5.js.map +1 -0
- package/dist/ExtenderToggle-C16vjdkn.js +48 -0
- package/dist/ExtenderToggle-C16vjdkn.js.map +1 -0
- package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js +15 -0
- package/dist/ExternalRedirectUrlStorage-DWzDQVSk.js.map +1 -0
- package/dist/FUIAppSwitcher-DzE2TQlx.js +360 -0
- package/dist/FUIAppSwitcher-DzE2TQlx.js.map +1 -0
- package/dist/FUICard-B5SvhKL0.js +140 -0
- package/dist/FUICard-B5SvhKL0.js.map +1 -0
- package/dist/FUIMenuItem-C6Ypt-fU.js +26 -0
- package/dist/FUIMenuItem-C6Ypt-fU.js.map +1 -0
- package/dist/FUISquareIconButton-CzLgq8u-.js +20 -0
- package/dist/FUISquareIconButton-CzLgq8u-.js.map +1 -0
- package/dist/Field-Idoc1A5M.js +61 -0
- package/dist/Field-Idoc1A5M.js.map +1 -0
- package/dist/FieldArrayCard-BOx60qvz.js +404 -0
- package/dist/FieldArrayCard-BOx60qvz.js.map +1 -0
- package/dist/FileUpload-BZYmsW6_.js +241 -0
- package/dist/FileUpload-BZYmsW6_.js.map +1 -0
- package/dist/FluentActivity-CtrJ9Fik.js +69 -0
- package/dist/FluentActivity-CtrJ9Fik.js.map +1 -0
- package/dist/FluentBody-CFW_TccT.js +16 -0
- package/dist/FluentBody-CFW_TccT.js.map +1 -0
- package/dist/FluentButton-h_8VjXGT.js +44 -0
- package/dist/FluentButton-h_8VjXGT.js.map +1 -0
- package/dist/FluentCard-CjR2Ft0S.js +23 -0
- package/dist/FluentCard-CjR2Ft0S.js.map +1 -0
- package/dist/FluentCardText-jo91oH3j.js +89 -0
- package/dist/FluentCardText-jo91oH3j.js.map +1 -0
- package/dist/FluentCell-DVrO5tto.js +81 -0
- package/dist/FluentCell-DVrO5tto.js.map +1 -0
- package/dist/FluentCheckbox-DdPx94AF.js +23 -0
- package/dist/FluentCheckbox-DdPx94AF.js.map +1 -0
- package/dist/FluentColorPicker-DWJ1ri6q.js +77 -0
- package/dist/FluentColorPicker-DWJ1ri6q.js.map +1 -0
- package/dist/FluentDataTable-qC_3o6gq.js +30 -0
- package/dist/FluentDataTable-qC_3o6gq.js.map +1 -0
- package/dist/FluentDatePicker-BV0xrRuX.js +75 -0
- package/dist/FluentDatePicker-BV0xrRuX.js.map +1 -0
- package/dist/FluentDialog-DU5BAKwU.js +80 -0
- package/dist/FluentDialog-DU5BAKwU.js.map +1 -0
- package/dist/FluentHead-XCqa3kd7.js +20 -0
- package/dist/FluentHead-XCqa3kd7.js.map +1 -0
- package/dist/FluentIcon-CB-ANF6C.js +57 -0
- package/dist/FluentIcon-CB-ANF6C.js.map +1 -0
- package/dist/FluentIconButton-le92OnEc.js +29 -0
- package/dist/FluentIconButton-le92OnEc.js.map +1 -0
- package/dist/FluentIconKey-DdoCGnzt.js +41 -0
- package/dist/FluentIconKey-DdoCGnzt.js.map +1 -0
- package/dist/FluentInputSlider-brB0q5Ek.js +50 -0
- package/dist/FluentInputSlider-brB0q5Ek.js.map +1 -0
- package/dist/FluentLink-3Baymb9o.js +39 -0
- package/dist/FluentLink-3Baymb9o.js.map +1 -0
- package/dist/FluentListItem-kFAFSSEq.js +99 -0
- package/dist/FluentListItem-kFAFSSEq.js.map +1 -0
- package/dist/FluentMap-Ba3tDjti.js +72 -0
- package/dist/FluentMap-Ba3tDjti.js.map +1 -0
- package/dist/FluentMenuListItem-B_HwFoIS.js +32 -0
- package/dist/FluentMenuListItem-B_HwFoIS.js.map +1 -0
- package/dist/FluentProfileMenuCard-BIwebgKW.js +771 -0
- package/dist/FluentProfileMenuCard-BIwebgKW.js.map +1 -0
- package/dist/FluentRadioGroup-BS69aaHF.js +31 -0
- package/dist/FluentRadioGroup-BS69aaHF.js.map +1 -0
- package/dist/FluentRow-B46NBxvd.js +18 -0
- package/dist/FluentRow-B46NBxvd.js.map +1 -0
- package/dist/FluentSearchField-D8ke5wUJ.js +135 -0
- package/dist/FluentSearchField-D8ke5wUJ.js.map +1 -0
- package/dist/FluentSimpleSelect-C2BL_HdI.js +441 -0
- package/dist/FluentSimpleSelect-C2BL_HdI.js.map +1 -0
- package/dist/FluentSimpleTabs-DUU2kdmG.js +72 -0
- package/dist/FluentSimpleTabs-DUU2kdmG.js.map +1 -0
- package/dist/FluentTabPanel-BGuFHfIQ.js +24 -0
- package/dist/FluentTabPanel-BGuFHfIQ.js.map +1 -0
- package/dist/FluentTextField-DCzp_6wE.js +68 -0
- package/dist/FluentTextField-DCzp_6wE.js.map +1 -0
- package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js +100 -0
- package/dist/FluentTextFieldAutoComplete-BQvVv8m_.js.map +1 -0
- package/dist/FluentTimePicker-Dr8FiVtC.js +67 -0
- package/dist/FluentTimePicker-Dr8FiVtC.js.map +1 -0
- package/dist/FluentToggle-CCL31z0_.js +49 -0
- package/dist/FluentToggle-CCL31z0_.js.map +1 -0
- package/dist/FluentUploadIconButton-CzNiaIpa.js +129 -0
- package/dist/FluentUploadIconButton-CzNiaIpa.js.map +1 -0
- package/dist/FormButtons-BL9d-T3e.js +130 -0
- package/dist/FormButtons-BL9d-T3e.js.map +1 -0
- package/dist/FormControlLabel-C2H2jokx.js +17 -0
- package/dist/FormControlLabel-C2H2jokx.js.map +1 -0
- package/dist/GeoLocation-Dv1vb1xw.js +116 -0
- package/dist/GeoLocation-Dv1vb1xw.js.map +1 -0
- package/dist/GeoMap-CVGJXRRA.js +108 -0
- package/dist/GeoMap-CVGJXRRA.js.map +1 -0
- package/dist/Grid-5LtTpExg.js +17 -0
- package/dist/Grid-5LtTpExg.js.map +1 -0
- package/dist/GridFunctions-Dx91xe8e.js +150 -0
- package/dist/GridFunctions-Dx91xe8e.js.map +1 -0
- package/dist/GridGroupingSidebar-nHJQULrr.js +142 -0
- package/dist/GridGroupingSidebar-nHJQULrr.js.map +1 -0
- package/dist/GridRow-Bu4ZB7BW.js +54 -0
- package/dist/GridRow-Bu4ZB7BW.js.map +1 -0
- package/dist/GroupNode-C1Y28U4c.js +39 -0
- package/dist/GroupNode-C1Y28U4c.js.map +1 -0
- package/dist/HeaderExpander-Ai4mICeo.js +53 -0
- package/dist/HeaderExpander-Ai4mICeo.js.map +1 -0
- package/dist/HintPanel-DkMCmuP2.js +44 -0
- package/dist/HintPanel-DkMCmuP2.js.map +1 -0
- package/dist/IconButtonWithToolTip-DQacH9wQ.js +28 -0
- package/dist/IconButtonWithToolTip-DQacH9wQ.js.map +1 -0
- package/dist/IconLibrary-CPErCan6.js +180 -0
- package/dist/IconLibrary-CPErCan6.js.map +1 -0
- package/dist/IconRenderer-BbcxG30f.js +43 -0
- package/dist/IconRenderer-BbcxG30f.js.map +1 -0
- package/dist/Iframe-T9O-RU10.js +31 -0
- package/dist/Iframe-T9O-RU10.js.map +1 -0
- package/dist/IframeContainer-Cr0vSFwX.js +23 -0
- package/dist/IframeContainer-Cr0vSFwX.js.map +1 -0
- package/dist/ImportDataFromFileMapping-CjANFPa8.js +737 -0
- package/dist/ImportDataFromFileMapping-CjANFPa8.js.map +1 -0
- package/dist/IndicatorChip-Bi4tqLlK.js +39 -0
- package/dist/IndicatorChip-Bi4tqLlK.js.map +1 -0
- package/dist/InputFieldTypeEnums-yNsnE6kL.js +14 -0
- package/dist/InputFieldTypeEnums-yNsnE6kL.js.map +1 -0
- package/dist/Inquiry-C4hRlNvR.js +2978 -0
- package/dist/Inquiry-C4hRlNvR.js.map +1 -0
- package/dist/InquiryDashboard-Cn4F0BuC.js +17 -0
- package/dist/InquiryDashboard-Cn4F0BuC.js.map +1 -0
- package/dist/InquiryHeaderControl-D8G6OuEN.js +40 -0
- package/dist/InquiryHeaderControl-D8G6OuEN.js.map +1 -0
- package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js +39 -0
- package/dist/InquiryHeaderSecondaryAlert-BnYD5HYk.js.map +1 -0
- package/dist/InquiryNodeControls-u17S3yQl.js +209 -0
- package/dist/InquiryNodeControls-u17S3yQl.js.map +1 -0
- package/dist/InquirySearchContainer-BluT5hv3.js +834 -0
- package/dist/InquirySearchContainer-BluT5hv3.js.map +1 -0
- package/dist/KeyValueTextField-DPDWprk4.js +104 -0
- package/dist/KeyValueTextField-DPDWprk4.js.map +1 -0
- package/dist/LayoutUnit-fGVQwt6Y.js +80 -0
- package/dist/LayoutUnit-fGVQwt6Y.js.map +1 -0
- package/dist/LibraryData-BtirxoE9.js +9043 -0
- package/dist/LibraryData-BtirxoE9.js.map +1 -0
- package/dist/LinearProgress-CVk0GRO-.js +49 -0
- package/dist/LinearProgress-CVk0GRO-.js.map +1 -0
- package/dist/LoadingIndicator-DDx4mIsm.js +47 -0
- package/dist/LoadingIndicator-DDx4mIsm.js.map +1 -0
- package/dist/LoadingOverlay-DBYfWYwS.js +17 -0
- package/dist/LoadingOverlay-DBYfWYwS.js.map +1 -0
- package/dist/LocalRedirectUrlStorage-BQHr5JcA.js +21 -0
- package/dist/LocalRedirectUrlStorage-BQHr5JcA.js.map +1 -0
- package/dist/Map-CM3OkjUS.js +56 -0
- package/dist/Map-CM3OkjUS.js.map +1 -0
- package/dist/Map-yjCCFFzf.js +127 -0
- package/dist/Map-yjCCFFzf.js.map +1 -0
- package/dist/MapContent-JgIyNm5C.js +117 -0
- package/dist/MapContent-JgIyNm5C.js.map +1 -0
- package/dist/MapContext-CUKty8Mr.js +9 -0
- package/dist/MapContext-CUKty8Mr.js.map +1 -0
- package/dist/MapContext-D6Th9h9w.js +9 -0
- package/dist/MapContext-D6Th9h9w.js.map +1 -0
- package/dist/MapControlsStandard-twyqBTRG.js +142 -0
- package/dist/MapControlsStandard-twyqBTRG.js.map +1 -0
- package/dist/MenuPage-BSU-NITc.js +227 -0
- package/dist/MenuPage-BSU-NITc.js.map +1 -0
- package/dist/MenuPage-BtoG6GuI.js +56 -0
- package/dist/MttMainTimeline-B5wICTvi.js +888 -0
- package/dist/MttMainTimeline-B5wICTvi.js.map +1 -0
- package/dist/MttSummary-nc74ZtC8.js +256 -0
- package/dist/MttSummary-nc74ZtC8.js.map +1 -0
- package/dist/MttYearTag-Cb_oIUNq.js +178 -0
- package/dist/MttYearTag-Cb_oIUNq.js.map +1 -0
- package/dist/MyExportsPage-C3PjlL4J.js +229 -0
- package/dist/MyExportsPage-C3PjlL4J.js.map +1 -0
- package/dist/MyExportsPage-DbH8z4-2.js +65 -0
- package/dist/NestedGrid-qYvtjvQd.js +84 -0
- package/dist/NestedGrid-qYvtjvQd.js.map +1 -0
- package/dist/NodeLoader-DRIIc46w.js +46 -0
- package/dist/NodeLoader-DRIIc46w.js.map +1 -0
- package/dist/NotesScreen-CvAvZ_R3.js +365 -0
- package/dist/NotesScreen-CvAvZ_R3.js.map +1 -0
- package/dist/NumberOperator-CDToRW8i.js +45 -0
- package/dist/NumberOperator-CDToRW8i.js.map +1 -0
- package/dist/PAHAdditionalRightComponent-CvWTgdMd.js +21 -0
- package/dist/PAHAdditionalRightComponent-CvWTgdMd.js.map +1 -0
- package/dist/PageActionWrapper-D2qr_WIM.js +55 -0
- package/dist/PageActionWrapper-D2qr_WIM.js.map +1 -0
- package/dist/PageContainer-BI8ve3o2.js +223 -0
- package/dist/PageContainer-BI8ve3o2.js.map +1 -0
- package/dist/PageContext-DujK-Yng.js +49 -0
- package/dist/PageContext-DujK-Yng.js.map +1 -0
- package/dist/PageLoading-DCoyVjWf.js +18 -0
- package/dist/PageLoading-DCoyVjWf.js.map +1 -0
- package/dist/PageNotFoundRoute-B82i8e68.js +24 -0
- package/dist/PageNotFoundRoute-B82i8e68.js.map +1 -0
- package/dist/PageNotFoundRoute-CsXuq0vw.js +4 -0
- package/dist/PageRenderer-NgWXYsLr.js +29 -0
- package/dist/PageRenderer-NgWXYsLr.js.map +1 -0
- package/dist/PageSectionSpacer-D_yz3sra.js +88 -0
- package/dist/PageSectionSpacer-D_yz3sra.js.map +1 -0
- package/dist/{PageNotFoundRoute-D9dLbM_w.js → PageStatus-CjupI8az.js} +4 -21
- package/dist/PageStatus-CjupI8az.js.map +1 -0
- package/dist/PageSubHeaderAction-Cw7gmU2W.js +20 -0
- package/dist/PageSubHeaderAction-Cw7gmU2W.js.map +1 -0
- package/dist/PasswordResetRedirect-DmhA2INZ.js +4 -0
- package/dist/{PasswordResetRedirect-C3g8L0vA.js → PasswordResetRedirect-MMUb4reI.js} +4 -21
- package/dist/PasswordResetRedirect-MMUb4reI.js.map +1 -0
- package/dist/PowerBIReport-CYX6YxbE.js +60 -0
- package/dist/PowerBIReport-CYX6YxbE.js.map +1 -0
- package/dist/PrimaryActionButton-CQXyHAeG.js +36 -0
- package/dist/PrimaryActionButton-CQXyHAeG.js.map +1 -0
- package/dist/PrimaryActionHeader-D9vn0zfH.js +547 -0
- package/dist/PrimaryActionHeader-D9vn0zfH.js.map +1 -0
- package/dist/PropertyFields-BOhyMi0i.js +65 -0
- package/dist/PropertyFields-BOhyMi0i.js.map +1 -0
- package/dist/QueryResult-BXX3-4Zh.js +10 -0
- package/dist/QueryResult-BXX3-4Zh.js.map +1 -0
- package/dist/QuickViewCard-Du-MuSVf.js +24 -0
- package/dist/QuickViewCard-Du-MuSVf.js.map +1 -0
- package/dist/RecentlyLoadedNodesTable-BZ4YiuvL.js +108 -0
- package/dist/RecentlyLoadedNodesTable-BZ4YiuvL.js.map +1 -0
- package/dist/RejectIcon-BbYRcoLI.js +40 -0
- package/dist/RejectIcon-BbYRcoLI.js.map +1 -0
- package/dist/RemindersCard-BJhfqNQk.js +138 -0
- package/dist/RemindersCard-BJhfqNQk.js.map +1 -0
- package/dist/RemindersScreen-9OpdtOBe.js +440 -0
- package/dist/RemindersScreen-9OpdtOBe.js.map +1 -0
- package/dist/RequiredFieldsMappingForm-D_mg2RJ2.js +344 -0
- package/dist/RequiredFieldsMappingForm-D_mg2RJ2.js.map +1 -0
- package/dist/RuleUtilities-DXVlN84J.js +89 -0
- package/dist/RuleUtilities-DXVlN84J.js.map +1 -0
- package/dist/SearchMethodUdpGrid-Ua0Kj84J.js +11 -0
- package/dist/SearchMethodUdpGrid-Ua0Kj84J.js.map +1 -0
- package/dist/SearchOperator-BLSwbmXG.js +59 -0
- package/dist/SearchOperator-BLSwbmXG.js.map +1 -0
- package/dist/SearchServiceDatasource-C-eLl_u3.js +156 -0
- package/dist/SearchServiceDatasource-C-eLl_u3.js.map +1 -0
- package/dist/{SearchUtilities-lVLvOpzo.js → SearchUtilities-CxVn31Ak.js} +4 -5
- package/dist/SearchUtilities-CxVn31Ak.js.map +1 -0
- package/dist/SelectUtilities-BCLrDhpD.js +30 -0
- package/dist/SelectUtilities-BCLrDhpD.js.map +1 -0
- package/dist/Shell-B9M8lQ22.js +268 -0
- package/dist/Shell-B9M8lQ22.js.map +1 -0
- package/dist/ShortcutContentFinder-D5qCCU1l.js +123 -0
- package/dist/ShortcutContentFinder-D5qCCU1l.js.map +1 -0
- package/dist/SideBarTemplate-CsJPE01r.js +128 -0
- package/dist/SideBarTemplate-CsJPE01r.js.map +1 -0
- package/dist/SideSheet-BhKZOd2G.js +82 -0
- package/dist/SideSheet-BhKZOd2G.js.map +1 -0
- package/dist/SideSheetHeader-DomTDjrB.js +79 -0
- package/dist/SideSheetHeader-DomTDjrB.js.map +1 -0
- package/dist/SidebarCollapseButton-B6H3WAMn.js +64 -0
- package/dist/SidebarCollapseButton-B6H3WAMn.js.map +1 -0
- package/dist/SidebarHeader-BKV537q9.js +82 -0
- package/dist/SidebarHeader-BKV537q9.js.map +1 -0
- package/dist/SiteHeaderRightComponent-zuiawaq3.js +20 -0
- package/dist/SiteHeaderRightComponent-zuiawaq3.js.map +1 -0
- package/dist/Source-BUBwrbaZ.js +34 -0
- package/dist/Source-BUBwrbaZ.js.map +1 -0
- package/dist/StandardTitle-DkEO3oI5.js +23 -0
- package/dist/StandardTitle-DkEO3oI5.js.map +1 -0
- package/dist/StatusChip-Bw-0wE_B.js +75 -0
- package/dist/StatusChip-Bw-0wE_B.js.map +1 -0
- package/dist/StringUtilities-DyjYA5pU.js +30 -0
- package/dist/StringUtilities-DyjYA5pU.js.map +1 -0
- package/dist/SubHeaderAction-vXEAp3A2.js +27 -0
- package/dist/SubHeaderAction-vXEAp3A2.js.map +1 -0
- package/dist/SummaryBlock-BUKWxmJe.js +98 -0
- package/dist/SummaryBlock-BUKWxmJe.js.map +1 -0
- package/dist/SupportCaseSideSheet-GV3FfBpO.js +375 -0
- package/dist/SupportCaseSideSheet-GV3FfBpO.js.map +1 -0
- package/dist/TableColumnDefs-nlfu2DdT.js +33 -0
- package/dist/TableColumnDefs-nlfu2DdT.js.map +1 -0
- package/dist/TableContainer-DX7ylhSY.js +109 -0
- package/dist/TableContainer-DX7ylhSY.js.map +1 -0
- package/dist/TenantProvider-CKbxaw0X.js +37 -0
- package/dist/TenantProvider-CKbxaw0X.js.map +1 -0
- package/dist/TileDisplay-Bg0ZJFDh.js +224 -0
- package/dist/TileDisplay-Bg0ZJFDh.js.map +1 -0
- package/dist/TileLayer-Bk6rITEu.js +31 -0
- package/dist/TileLayer-Bk6rITEu.js.map +1 -0
- package/dist/TimeField-DK4r4zAc.js +62 -0
- package/dist/TimeField-DK4r4zAc.js.map +1 -0
- package/dist/TimelineToken-H8lALbXg.js +72 -0
- package/dist/TimelineToken-H8lALbXg.js.map +1 -0
- package/dist/Token-DOIAu9p4.js +70 -0
- package/dist/Token-DOIAu9p4.js.map +1 -0
- package/dist/TokenGroupItem-DKGmGnzr.js +36 -0
- package/dist/TokenGroupItem-DKGmGnzr.js.map +1 -0
- package/dist/{UtilitySideBar-9LDu9AaN.js → TreeUtilities-BxV5PMJ8.js} +15 -854
- package/dist/TreeUtilities-BxV5PMJ8.js.map +1 -0
- package/dist/TrimForAvatar-BQMU2_5J.js +8 -0
- package/dist/TrimForAvatar-BQMU2_5J.js.map +1 -0
- package/dist/Typography-6jelcyoY.js +22 -0
- package/dist/Typography-6jelcyoY.js.map +1 -0
- package/dist/UI/accordion/index.js +14 -0
- package/dist/UI/advancedSearchBuilder/index.js +4 -0
- package/dist/UI/charts/index.js +3 -0
- package/dist/UI/components/dataDisplay/index.js +19 -0
- package/dist/UI/components/feedback/index.js +4 -0
- package/dist/UI/components/index.js +22 -0
- package/dist/UI/containers/index.js +7 -0
- package/dist/UI/dataDisplay/FluentActivity/index.js +5 -0
- package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.js +3 -0
- package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +13 -0
- package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.js +3 -0
- package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.js +3 -0
- package/dist/UI/dataDisplay/FluentDataTable/index.js +17 -0
- package/dist/UI/dataDisplay/address/index.js +4 -0
- package/dist/UI/dataDisplay/cardList/index.js +4 -0
- package/dist/UI/dataDisplay/directory/index.js +4 -0
- package/dist/UI/dataDisplay/entityHeader/index.js +34 -0
- package/dist/UI/dataDisplay/index.js +78 -0
- package/dist/UI/dataDisplay/map/index.js +6 -0
- package/dist/UI/dataDisplay/notes/index.js +7 -0
- package/dist/UI/dataDisplay/ticketCard/index.js +6 -0
- package/dist/UI/dataDisplay/typography/index.js +12 -0
- package/dist/UI/dataDisplay/visualization/index.js +7 -0
- package/dist/UI/demos/index.js +3 -0
- package/dist/UI/feedback/index.js +12 -0
- package/dist/UI/fileViewer/index.js +27 -0
- package/dist/UI/floorplans/index.js +56 -0
- package/dist/UI/forms/index.js +50 -0
- package/dist/UI/iframe/index.js +4 -0
- package/dist/UI/index.js +213 -0
- package/dist/UI/inputs/buttons/index.js +53 -0
- package/dist/UI/inputs/buttons/index.js.map +1 -0
- package/dist/UI/inputs/calendar/index.js +3 -0
- package/dist/UI/inputs/checkbox/index.js +3 -0
- package/dist/UI/inputs/datetimes/index.js +4 -0
- package/dist/UI/inputs/fieldArrayCard/index.js +66 -0
- package/dist/UI/inputs/link/index.js +4 -0
- package/dist/UI/inputs/menus/index.js +11 -0
- package/dist/UI/inputs/pickers/index.js +8 -0
- package/dist/UI/inputs/radio/index.js +3 -0
- package/dist/UI/inputs/richEditors/index.js +3 -0
- package/dist/UI/inputs/sliders/index.js +3 -0
- package/dist/UI/inputs/textField/index.js +14 -0
- package/dist/UI/inputs/toggle/index.js +3 -0
- package/dist/UI/loading/LoadingIndicator/index.js +3 -0
- package/dist/UI/loading/index.js +6 -0
- package/dist/UI/mapLayout/index.js +61 -0
- package/dist/UI/maps/index.js +4 -0
- package/dist/UI/navigation/index.js +27 -0
- package/dist/UI/navigation/menus/index.js +21 -0
- package/dist/UI/navigation/tabs/defaultTabs/index.js +5 -0
- package/dist/UI/navigation/tabs/index.js +8 -0
- package/dist/UI/property/index.js +9 -0
- package/dist/UI/property/widgets/index.js +7 -0
- package/dist/UI/stepper/index.js +3 -0
- package/dist/UI/support/index.js +31 -0
- package/dist/UI/surfaces/NestedGrid/index.js +6 -0
- package/dist/UI/surfaces/NestedGrid/ui/index.js +4 -0
- package/dist/UI/surfaces/cards/index.js +33 -0
- package/dist/UI/surfaces/cards/newsCard/index.js +3 -0
- package/dist/UI/surfaces/cards/workOrderCard/index.js +13 -0
- package/dist/UI/surfaces/index.js +39 -0
- package/dist/UI/templates/index.js +74 -0
- package/dist/UI/templates/newGrid/index.js +36 -0
- package/dist/UI/templates/ui/index.js +15 -0
- package/dist/UI/timeline/fluentTimeline/index.js +13 -0
- package/dist/UI/timeline/index.js +14 -0
- package/dist/UI/utilityDisplay/alerts/index.js +24 -0
- package/dist/UI/utilityDisplay/index.js +85 -0
- package/dist/UI/utilityDisplay/ui/index.js +5 -0
- package/dist/UI/utilityDisplay/utilities/index.js +6 -0
- package/dist/UI/utilityDisplay/utilityHeader/index.js +16 -0
- package/dist/UI/widgets/index.js +17 -0
- package/dist/UI-B4fGY3AB.js +45 -0
- package/dist/UI-B4fGY3AB.js.map +1 -0
- package/dist/UdpAlertsContainer-BFByWJQT.js +80 -0
- package/dist/UdpAlertsContainer-BFByWJQT.js.map +1 -0
- package/dist/{UdpMaintenanceConfigPage-Bbaa9QQm.js → UdpMaintenanceConfigPage-Chsq3iZC.js} +10 -8
- package/dist/UdpMaintenanceConfigPage-Chsq3iZC.js.map +1 -0
- package/dist/UdpMaintenanceConfigPage-DvSwjF_L.js +15 -0
- package/dist/UdpMaintenanceEnginePage-CpqXzyEv.js +439 -0
- package/dist/UdpMaintenanceEnginePage-CpqXzyEv.js.map +1 -0
- package/dist/UdpMaintenanceEnginePage-CutwTNgV.js +59 -0
- package/dist/UdpMapToolbar-B6g5Kc_y.js +17 -0
- package/dist/UdpMapToolbar-B6g5Kc_y.js.map +1 -0
- package/dist/{UdpPublicForm-3xkpVjji.js → UdpPublicForm-DNVbin2l.js} +8 -15
- package/dist/UdpPublicForm-DNVbin2l.js.map +1 -0
- package/dist/UdpPublicForm-DQ70FtUQ.js +6 -0
- package/dist/UdpRoutes-BctzBOjG.js +110 -0
- package/dist/UdpRoutes-BctzBOjG.js.map +1 -0
- package/dist/UdpTabs-C7pvmyRq.js +209 -0
- package/dist/UdpTabs-C7pvmyRq.js.map +1 -0
- package/dist/UdpTimeSelector-BIKJO-Q4.js +147 -0
- package/dist/UdpTimeSelector-BIKJO-Q4.js.map +1 -0
- package/dist/UnityFluentIcon-fuqAQh0C.js +70 -0
- package/dist/UnityFluentIcon-fuqAQh0C.js.map +1 -0
- package/dist/UnityIconLibrary-DnCuEr5M.js +44 -0
- package/dist/UnityIconLibrary-DnCuEr5M.js.map +1 -0
- package/dist/UnitySessionStorage-DBqfMiK5.js +19 -0
- package/dist/UnitySessionStorage-DBqfMiK5.js.map +1 -0
- package/dist/UserFormSideSheet-ExBC8Coy.js +399 -0
- package/dist/UserFormSideSheet-ExBC8Coy.js.map +1 -0
- package/dist/UtilityBar-CoBkrOKT.js +98 -0
- package/dist/UtilityBar-CoBkrOKT.js.map +1 -0
- package/dist/UtilityBarInport-BZbPE650.js +22 -0
- package/dist/UtilityBarInport-BZbPE650.js.map +1 -0
- package/dist/UtilitySideBar-otYqGPhu.js +95 -0
- package/dist/UtilitySideBar-otYqGPhu.js.map +1 -0
- package/dist/VectorLayer-DvXP_PbI.js +72 -0
- package/dist/VectorLayer-DvXP_PbI.js.map +1 -0
- package/dist/{VirtualBrowser-CiD8XKsM.js → VirtualBrowser-79SyTCIe.js} +28 -141
- package/dist/VirtualBrowser-79SyTCIe.js.map +1 -0
- package/dist/VirtualBrowser-CiO6tvKp.js +76 -0
- package/dist/VirtualForm-CZWtQ2vU.js +65 -0
- package/dist/VirtualForm-CZWtQ2vU.js.map +1 -0
- package/dist/WorkflowContainer-9V9u_P1t.js +187 -0
- package/dist/WorkflowContainer-9V9u_P1t.js.map +1 -0
- package/dist/WorkflowContainer-DtvXxyTb.js +73 -0
- package/dist/WorkflowContent-BnzM52Sa.js +428 -0
- package/dist/WorkflowContent-BnzM52Sa.js.map +1 -0
- package/dist/WorkflowTaskFlow-BCm5Iyy0.js +135 -0
- package/dist/WorkflowTaskFlow-BCm5Iyy0.js.map +1 -0
- package/dist/WorkflowTreeMenu-H_Nbxi3A.js +346 -0
- package/dist/WorkflowTreeMenu-H_Nbxi3A.js.map +1 -0
- package/dist/ZoomControl-Bud43x3A.js +38 -0
- package/dist/ZoomControl-Bud43x3A.js.map +1 -0
- package/dist/accordion-Sv7pQXQW.js +192 -0
- package/dist/accordion-Sv7pQXQW.js.map +1 -0
- package/dist/actionSummary-CyjnFFFF.js +255 -0
- package/dist/actionSummary-CyjnFFFF.js.map +1 -0
- package/dist/actionUtils-7dmb-PYX.js +218 -0
- package/dist/actionUtils-7dmb-PYX.js.map +1 -0
- package/dist/actions/actionSummary/index.js +26 -0
- package/dist/actions/index.js +89 -0
- package/dist/actions/sidebar/index.js +12 -0
- package/dist/actions/utils/index.js +13 -0
- package/dist/addUser-DdxKkJbW.js +1 -0
- package/dist/address-CHc5T3Ve.js +1 -0
- package/dist/advancedSearchBuilder-tEAoUd1I.js +19 -0
- package/dist/advancedSearchBuilder-tEAoUd1I.js.map +1 -0
- package/dist/aggregateUtils-C04KQf3k.js +70 -0
- package/dist/aggregateUtils-C04KQf3k.js.map +1 -0
- package/dist/aggrid-TPfO-kkM.js +1 -0
- package/dist/aggridHelpers-C5ZG2ZqM.js +103 -0
- package/dist/aggridHelpers-C5ZG2ZqM.js.map +1 -0
- package/dist/alerts-DzYv3cz-.js +1 -0
- package/dist/{apiHelpers-DZPI1QCL.js → apiHelpers-Bju2gkBq.js} +4 -38
- package/dist/apiHelpers-Bju2gkBq.js.map +1 -0
- package/dist/appSwitcher-ERlag4rB.js +1 -0
- package/dist/assets/index.js +1 -0
- package/dist/auth-BOzVI3A0.js +1 -0
- package/dist/axiosInterceptors-Dn_haR1Q.js +28 -0
- package/dist/axiosInterceptors-Dn_haR1Q.js.map +1 -0
- package/dist/cardList-DCz9PlTm.js +78 -0
- package/dist/cardList-DCz9PlTm.js.map +1 -0
- package/dist/cards-K6gJJHyT.js +287 -0
- package/dist/cards-K6gJJHyT.js.map +1 -0
- package/dist/catalog-DoJ2_1fY.js +1 -0
- package/dist/catalogStore-DDyUXvDn.js +30 -0
- package/dist/catalogStore-DDyUXvDn.js.map +1 -0
- package/dist/charts-OdBKS6di.js +55 -0
- package/dist/charts-OdBKS6di.js.map +1 -0
- package/dist/chatBot/index.js +13 -0
- package/dist/chatBot-flH0_FCC.js +1 -0
- package/dist/chunk-CTAAG5j7.js +13 -0
- package/dist/colorConverter-sleh0lAZ.js +91 -0
- package/dist/colorConverter-sleh0lAZ.js.map +1 -0
- package/dist/colors-VLk-T125.js +73 -0
- package/dist/colors-VLk-T125.js.map +1 -0
- package/dist/componentSystems/multiThreadTimeline/functions/index.js +4 -0
- package/dist/componentSystems/multiThreadTimeline/index.js +34 -0
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +28 -0
- package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +24 -0
- package/dist/componentSystems/multiThreadTimeline/ui/index.js +23 -0
- package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +5 -0
- package/dist/componentSystems/pageRenderer/hocs/index.js +68 -0
- package/dist/componentSystems/pageRenderer/hooks/index.js +4 -0
- package/dist/componentSystems/pageRenderer/index.js +72 -0
- package/dist/componentSystems/pageRenderer/utils/index.js +4 -0
- package/dist/componentSystems/pageRenderer/wrappers/index.js +67 -0
- package/dist/components-CG2vp7rI.js +1 -0
- package/dist/components-DqInG_Nm.js +1 -0
- package/dist/configService/index.js +3 -0
- package/dist/constants/index.js +3 -0
- package/dist/containers/index.js +4 -0
- package/dist/containers-DDfXvwcE.js +1 -0
- package/dist/contexts/index.js +6 -0
- package/dist/crud-BCrruPIb.js +1 -0
- package/dist/crudActions-DL7ifk-D.js +205 -0
- package/dist/crudActions-DL7ifk-D.js.map +1 -0
- package/dist/crudBrowser-BG7BYo4m.js +1 -0
- package/dist/customIcons-D0bpSyKS.js +1 -0
- package/dist/dashboard/index.js +10 -0
- package/dist/dashboard-DfDQY2Uz.js +1 -0
- package/dist/dataBrowser/forms/index.js +17 -0
- package/dist/dataBrowser/index.js +90 -0
- package/dist/dataDisplay-CAJwXLeD.js +50 -0
- package/dist/dataDisplay-CAJwXLeD.js.map +1 -0
- package/dist/dataDisplay-CFDmXer4.js +280 -0
- package/dist/dataDisplay-CFDmXer4.js.map +1 -0
- package/dist/defaultTabs-OEo6-sj7.js +93 -0
- package/dist/defaultTabs-OEo6-sj7.js.map +1 -0
- package/dist/demos-CF7sKLmt.js +11 -0
- package/dist/demos-CF7sKLmt.js.map +1 -0
- package/dist/diffChecker/index.js +4 -0
- package/dist/directory-BTN_b0Hg.js +52 -0
- package/dist/directory-BTN_b0Hg.js.map +1 -0
- package/dist/entities-B32Z17Rb.js +1 -0
- package/dist/entityHeader-DDrAG_I8.js +875 -0
- package/dist/entityHeader-DDrAG_I8.js.map +1 -0
- package/dist/{entityUtilities-Hohniu0Q.js → entityUtilities-D7_FeTEd.js} +2 -2
- package/dist/{entityUtilities-Hohniu0Q.js.map → entityUtilities-D7_FeTEd.js.map} +1 -1
- package/dist/enums/index.js +10 -0
- package/dist/feedback-BYM33Djb.js +1 -0
- package/dist/feedback-xwtgVkbx.js +1 -0
- package/dist/fileViewer-DnbpU0bo.js +546 -0
- package/dist/fileViewer-DnbpU0bo.js.map +1 -0
- package/dist/floorplanFunctions-QEXAOJwy.js +1 -0
- package/dist/floorplans-c_VQn4Rz.js +154 -0
- package/dist/floorplans-c_VQn4Rz.js.map +1 -0
- package/dist/fluentTimeline-DSUMhWcD.js +156 -0
- package/dist/fluentTimeline-DSUMhWcD.js.map +1 -0
- package/dist/form-CiiauVLk.js +76 -0
- package/dist/form-CiiauVLk.js.map +1 -0
- package/dist/formatBytes-D6vdwZ2k.js +23 -0
- package/dist/formatBytes-D6vdwZ2k.js.map +1 -0
- package/dist/forms-CKk0LTpY.js +456 -0
- package/dist/forms-CKk0LTpY.js.map +1 -0
- package/dist/forms-DJnB4tsd.js +1 -0
- package/dist/functions-MWuMR-lY.js +1 -0
- package/dist/gridVisualizationFunctions-CRMRUuum.js +67 -0
- package/dist/gridVisualizationFunctions-CRMRUuum.js.map +1 -0
- package/dist/hocs-1cIHPs7M.js +1 -0
- package/dist/hooks/index.js +52 -0
- package/dist/hooks-BJgvHLxQ.js +1 -0
- package/dist/hooks-CqVWErg9.js +160 -0
- package/dist/hooks-CqVWErg9.js.map +1 -0
- package/dist/iconLibrary-C8sePp_X.js +1 -0
- package/dist/iframe-T69IOxry.js +1 -0
- package/dist/index.js +3813 -44099
- package/dist/index.js.map +1 -1
- package/dist/input-B3JblbZF.js +1 -0
- package/dist/inquiry/dashboard/index.js +29 -0
- package/dist/inquiry/index.js +150 -0
- package/dist/inquiry/index.js.map +1 -0
- package/dist/inquiry/inquiryBar/index.js +10 -0
- package/dist/inquiry/search/index.js +41 -0
- package/dist/inquiryBar-CTeb-8eD.js +1 -0
- package/dist/inquiryStore-COAx0QBg.js +39 -0
- package/dist/inquiryStore-COAx0QBg.js.map +1 -0
- package/dist/isValueSelected-BfNYVyaD.js +10 -0
- package/dist/isValueSelected-BfNYVyaD.js.map +1 -0
- package/dist/layout/index.js +14 -0
- package/dist/leafletMaps-DKJcEBvd.js +1 -0
- package/dist/loading-DRhXmScv.js +1 -0
- package/dist/lookupsStore-A8pX7cDA.js +20 -0
- package/dist/lookupsStore-A8pX7cDA.js.map +1 -0
- package/dist/maintenanceEngine/crudBrowser/index.js +54 -0
- package/dist/maintenanceEngine/index.js +93 -0
- package/dist/maintenanceEngine/tableBrowser/index.js +61 -0
- package/dist/maintenanceEngine/virtualBrowser/index.js +77 -0
- package/dist/maintenanceEngine-CpZ9tfB0.js +1 -0
- package/dist/map-DU7O_P-0.js +60 -0
- package/dist/map-DU7O_P-0.js.map +1 -0
- package/dist/map-library/Controls/index.js +31 -0
- package/dist/map-library/Controls/index.js.map +1 -0
- package/dist/map-library/Layers/index.js +4 -0
- package/dist/map-library/Map/index.js +8 -0
- package/dist/map-library/Source/index.js +34 -0
- package/dist/map-library/Source/index.js.map +1 -0
- package/dist/map-library/functions/index.js +3 -0
- package/dist/map-library/geoLocation/index.js +5 -0
- package/dist/map-library/ui/index.js +6 -0
- package/dist/mapFunctions-6iGvgVF1.js +32 -0
- package/dist/mapFunctions-6iGvgVF1.js.map +1 -0
- package/dist/mapLayout-CxliPJ5p.js +785 -0
- package/dist/mapLayout-CxliPJ5p.js.map +1 -0
- package/dist/maps/index.js +16 -0
- package/dist/maps/leafletMaps/index.js +7 -0
- package/dist/maps/leafletMaps/ui/index.js +5 -0
- package/dist/maps/openLayerMaps/Controls/index.js +4 -0
- package/dist/maps/openLayerMaps/Layers/index.js +46 -0
- package/dist/maps/openLayerMaps/Layers/index.js.map +1 -0
- package/dist/maps/openLayerMaps/Map/index.js +4 -0
- package/dist/maps/openLayerMaps/Source/index.js +3 -0
- package/dist/maps/openLayerMaps/ui/index.js +6 -0
- package/dist/maps-DgJG7ziA.js +11 -0
- package/dist/maps-DgJG7ziA.js.map +1 -0
- package/dist/menuPage/index.js +56 -0
- package/dist/menuUtilities-DTbyD6bg.js +55 -0
- package/dist/menuUtilities-DTbyD6bg.js.map +1 -0
- package/dist/menus-B-Xz-Ggy.js +1 -0
- package/dist/menus-QHvrjl6w.js +1 -0
- package/dist/menus-berWqAF-.js +81 -0
- package/dist/menus-berWqAF-.js.map +1 -0
- package/dist/methodUtils-Bgi0VCWP.js +20 -0
- package/dist/methodUtils-Bgi0VCWP.js.map +1 -0
- package/dist/models/index.js +7 -0
- package/dist/modified-Bg5LeKdV.js +1 -0
- package/dist/mttFunctions-BFUthekm.js +248 -0
- package/dist/mttFunctions-BFUthekm.js.map +1 -0
- package/dist/mttMainTimeline-DgGEegXs.js +1 -0
- package/dist/mttSummary-Dbl2ZLl1.js +1 -0
- package/dist/navigation-DtBAqSLf.js +144 -0
- package/dist/navigation-DtBAqSLf.js.map +1 -0
- package/dist/newGrid-Da54TcHb.js +126 -0
- package/dist/newGrid-Da54TcHb.js.map +1 -0
- package/dist/newsCard-CTtyYCtA.js +57 -0
- package/dist/newsCard-CTtyYCtA.js.map +1 -0
- package/dist/notes/index.js +40 -0
- package/dist/notes-D_Iqxv0x.js +63 -0
- package/dist/notes-D_Iqxv0x.js.map +1 -0
- package/dist/page/index.js +29 -0
- package/dist/page-BGtqWrDb.js +1 -0
- package/dist/pageEnums-CT6NFA8B.js +21 -0
- package/dist/pageEnums-CT6NFA8B.js.map +1 -0
- package/dist/paymentVendorFactoryEnum-BqXZMcQF.js +38 -0
- package/dist/paymentVendorFactoryEnum-BqXZMcQF.js.map +1 -0
- package/dist/property-CkiS6bPL.js +1 -0
- package/dist/propertyTypeEnums-VqSmSIfe.js +15 -0
- package/dist/propertyTypeEnums-VqSmSIfe.js.map +1 -0
- package/dist/provider-D1EvAE26.js +1 -0
- package/dist/redirect-DEombgSz.js +1 -0
- package/dist/redirectToLink-B4Y9oH1K.js +31 -0
- package/dist/redirectToLink-B4Y9oH1K.js.map +1 -0
- package/dist/redirectToProduct-BHIghYZd.js +9 -0
- package/dist/redirectToProduct-BHIghYZd.js.map +1 -0
- package/dist/reminderConstants-Btqf39dU.js +12 -0
- package/dist/reminderConstants-Btqf39dU.js.map +1 -0
- package/dist/reminders/index.js +45 -0
- package/dist/reports/index.js +12 -0
- package/dist/routes/index.js +8 -0
- package/dist/rules-Bbd-Yg6p.js +1 -0
- package/dist/search-D3z7GAO_.js +1 -0
- package/dist/search-YPsWhV_L.js +1 -0
- package/dist/searchEnums-BFWywTGh.js +11 -0
- package/dist/searchEnums-BFWywTGh.js.map +1 -0
- package/dist/shell/index.js +124 -0
- package/dist/shell/ui/addUser/index.js +23 -0
- package/dist/shell/ui/appSwitcher/index.js +9 -0
- package/dist/shell/ui/index.js +60 -0
- package/dist/shellStore-Bqwtbs_K.js +31 -0
- package/dist/shellStore-Bqwtbs_K.js.map +1 -0
- package/dist/sidebar-C96Z7xFg.js +1 -0
- package/dist/stepper-BNXvKPS_.js +11 -0
- package/dist/stepper-BNXvKPS_.js.map +1 -0
- package/dist/storage-Dxdn7n1x.js +1 -0
- package/dist/stores/index.js +10 -0
- package/dist/style-C58TNESf.js +1 -0
- package/dist/support-BmEH05sB.js +1 -0
- package/dist/surfaces-BermwmhU.js +1 -0
- package/dist/tableBrowser-_iJW5ftf.js +1 -0
- package/dist/tabs-BcnfMjRc.js +49 -0
- package/dist/tabs-BcnfMjRc.js.map +1 -0
- package/dist/tagEnums-BD6xUu3X.js +11 -0
- package/dist/tagEnums-BD6xUu3X.js.map +1 -0
- package/dist/teleporterStore-hSgRrvso.js +33 -0
- package/dist/teleporterStore-hSgRrvso.js.map +1 -0
- package/dist/templates-DuK-z0vt.js +211 -0
- package/dist/templates-DuK-z0vt.js.map +1 -0
- package/dist/tenant-Dv4CtN1T.js +1 -0
- package/dist/tenantContext-Bh6_Lj9T.js +8 -0
- package/dist/tenantContext-Bh6_Lj9T.js.map +1 -0
- package/dist/tenantStore-dj8UJA7G.js +19 -0
- package/dist/tenantStore-dj8UJA7G.js.map +1 -0
- package/dist/theme-DLwkifVk.js +286 -0
- package/dist/theme-DLwkifVk.js.map +1 -0
- package/dist/ticketCard-CFV9u37h.js +143 -0
- package/dist/ticketCard-CFV9u37h.js.map +1 -0
- package/dist/timeline-BjNWT18j.js +213 -0
- package/dist/timeline-BjNWT18j.js.map +1 -0
- package/dist/tree-BE3grkxa.js +1 -0
- package/dist/treeMenu/index.js +23 -0
- package/dist/types/UI/accordion/index.d.ts +3 -0
- package/dist/types/UI/advancedSearchBuilder/index.d.ts +3 -0
- package/dist/types/UI/charts/UdpSankeyChart.d.ts +12 -0
- package/dist/types/UI/charts/UdpXYMultiSeriesChart.d.ts +9 -0
- package/dist/types/UI/charts/types.d.ts +32 -6
- package/dist/types/UI/components/dataDisplay/index.d.ts +5 -0
- package/dist/types/UI/components/feedback/index.d.ts +1 -0
- package/dist/types/UI/components/index.d.ts +2 -0
- package/dist/types/UI/containers/index.d.ts +3 -0
- package/dist/types/UI/dataDisplay/FluentActivity/index.d.ts +4 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/index.d.ts +3 -0
- package/dist/types/UI/dataDisplay/address/index.d.ts +3 -0
- package/dist/types/UI/dataDisplay/cardList/index.d.ts +4 -0
- package/dist/types/UI/dataDisplay/directory/index.d.ts +4 -0
- package/dist/types/UI/dataDisplay/entityHeader/index.d.ts +3 -0
- package/dist/types/UI/dataDisplay/index.d.ts +28 -0
- package/dist/types/UI/dataDisplay/map/index.d.ts +5 -0
- package/dist/types/UI/dataDisplay/notes/index.d.ts +4 -0
- package/dist/types/UI/dataDisplay/ticketCard/index.d.ts +5 -0
- package/dist/types/UI/dataDisplay/typography/index.d.ts +8 -0
- package/dist/types/UI/dataDisplay/visualization/amCharts/AmChart.d.ts +1 -1
- package/dist/types/UI/dataDisplay/visualization/index.d.ts +5 -0
- package/dist/types/UI/demos/index.d.ts +3 -0
- package/dist/types/UI/feedback/index.d.ts +7 -0
- package/dist/types/UI/fileViewer/index.d.ts +3 -0
- package/dist/types/UI/floorplans/index.d.ts +3 -0
- package/dist/types/UI/forms/index.d.ts +7 -0
- package/dist/types/UI/iframe/index.d.ts +3 -0
- package/dist/types/UI/index.d.ts +30 -0
- package/dist/types/UI/inputs/buttons/index.d.ts +21 -0
- package/dist/types/UI/inputs/calendar/AmbientDateRangeSelector.d.ts +3 -0
- package/dist/types/UI/inputs/calendar/AmbientSingleDateSelector.d.ts +3 -0
- package/dist/types/UI/inputs/calendar/index.d.ts +4 -0
- package/dist/types/UI/inputs/checkbox/index.d.ts +3 -0
- package/dist/types/UI/inputs/dateRangeSelector/UdpDateRangeSelector.d.ts +2 -0
- package/dist/types/UI/inputs/datetimes/index.d.ts +5 -0
- package/dist/types/UI/inputs/fieldArrayCard/index.d.ts +7 -0
- package/dist/types/UI/inputs/link/index.d.ts +4 -0
- package/dist/types/UI/inputs/menus/index.d.ts +7 -0
- package/dist/types/UI/inputs/pickers/index.d.ts +8 -0
- package/dist/types/UI/inputs/radio/index.d.ts +4 -0
- package/dist/types/UI/inputs/richEditors/index.d.ts +3 -0
- package/dist/types/UI/inputs/sliders/index.d.ts +3 -0
- package/dist/types/UI/inputs/textField/index.d.ts +9 -0
- package/dist/types/UI/inputs/toggle/index.d.ts +3 -0
- package/dist/types/UI/loading/LoadingIndicator/index.d.ts +1 -0
- package/dist/types/UI/loading/index.d.ts +5 -0
- package/dist/types/UI/mapLayout/index.d.ts +3 -0
- package/dist/types/UI/maps/index.d.ts +5 -0
- package/dist/types/UI/navigation/index.d.ts +5 -0
- package/dist/types/UI/navigation/menus/index.d.ts +8 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/index.d.ts +7 -0
- package/dist/types/UI/navigation/tabs/index.d.ts +6 -0
- package/dist/types/UI/property/index.d.ts +3 -0
- package/dist/types/UI/stepper/index.d.ts +4 -0
- package/dist/types/UI/support/index.d.ts +4 -0
- package/dist/types/UI/surfaces/NestedGrid/index.d.ts +4 -0
- package/dist/types/UI/surfaces/NestedGrid/ui/index.d.ts +3 -0
- package/dist/types/UI/surfaces/cards/index.d.ts +18 -0
- package/dist/types/UI/surfaces/cards/newsCard/index.d.ts +3 -0
- package/dist/types/UI/surfaces/cards/workOrderCard/index.d.ts +4 -0
- package/dist/types/UI/surfaces/index.d.ts +5 -0
- package/dist/types/UI/templates/index.d.ts +15 -0
- package/dist/types/UI/templates/newGrid/index.d.ts +8 -0
- package/dist/types/UI/templates/ui/index.d.ts +7 -0
- package/dist/types/UI/timeline/fluentTimeline/index.d.ts +5 -0
- package/dist/types/UI/timeline/index.d.ts +14 -0
- package/dist/types/UI/utilityDisplay/alerts/index.d.ts +4 -0
- package/dist/types/UI/utilityDisplay/index.d.ts +20 -0
- package/dist/types/UI/utilityDisplay/ui/index.d.ts +3 -0
- package/dist/types/UI/utilityDisplay/utilities/index.d.ts +3 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/index.d.ts +7 -0
- package/dist/types/UI/widgets/index.d.ts +4 -0
- package/dist/types/UI/widgets/utils/dateUtils.d.ts +46 -0
- package/dist/types/actions/index.d.ts +13 -0
- package/dist/types/actions/sidebar/index.d.ts +3 -0
- package/dist/types/actions/utils/index.d.ts +3 -0
- package/dist/types/assets/index.d.ts +2 -0
- package/dist/types/chatBot/index.d.ts +4 -0
- package/dist/types/componentSystems/multiThreadTimeline/functions/index.d.ts +3 -0
- package/dist/types/componentSystems/multiThreadTimeline/index.d.ts +7 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/index.d.ts +5 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttSummary/index.d.ts +3 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/index.d.ts +20 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/modified/index.d.ts +3 -0
- package/dist/types/componentSystems/pageRenderer/hocs/index.d.ts +3 -0
- package/dist/types/componentSystems/pageRenderer/hooks/index.d.ts +3 -0
- package/dist/types/componentSystems/pageRenderer/index.d.ts +7 -0
- package/dist/types/componentSystems/pageRenderer/utils/index.d.ts +3 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/index.d.ts +10 -0
- package/dist/types/configService/index.d.ts +1 -0
- package/dist/types/constants/index.d.ts +3 -0
- package/dist/types/containers/index.d.ts +3 -0
- package/dist/types/contexts/index.d.ts +8 -0
- package/dist/types/dashboard/index.d.ts +7 -0
- package/dist/types/dataBrowser/forms/index.d.ts +6 -0
- package/dist/types/dataBrowser/index.d.ts +5 -0
- package/dist/types/diffChecker/index.d.ts +3 -0
- package/dist/types/enums/auditEventEnums.d.ts +5 -0
- package/dist/types/enums/index.d.ts +12 -0
- package/dist/types/enums/unitySystemEnums.d.ts +12 -1
- package/dist/types/hooks/index.d.ts +21 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/inquiry/dashboard/index.d.ts +4 -0
- package/dist/types/inquiry/index.d.ts +23 -0
- package/dist/types/inquiry/inquiryBar/index.d.ts +4 -0
- package/dist/types/inquiry/search/index.d.ts +7 -0
- package/dist/types/layout/index.d.ts +9 -0
- package/dist/types/maintenanceEngine/crudBrowser/index.d.ts +6 -0
- package/dist/types/maintenanceEngine/index.d.ts +6 -0
- package/dist/types/maintenanceEngine/tableBrowser/index.d.ts +4 -0
- package/dist/types/maintenanceEngine/virtualBrowser/VirtualBrowser.d.ts +1 -0
- package/dist/types/maintenanceEngine/virtualBrowser/index.d.ts +5 -0
- package/dist/types/map-library/Controls/index.d.ts +7 -5
- package/dist/types/map-library/Layers/index.d.ts +7 -5
- package/dist/types/map-library/Map/index.d.ts +5 -1
- package/dist/types/map-library/Source/index.d.ts +6 -4
- package/dist/types/map-library/functions/index.d.ts +3 -0
- package/dist/types/map-library/geoLocation/index.d.ts +4 -0
- package/dist/types/map-library/ui/index.d.ts +12 -0
- package/dist/types/maps/index.d.ts +4 -0
- package/dist/types/maps/leafletMaps/index.d.ts +5 -0
- package/dist/types/maps/leafletMaps/ui/index.d.ts +4 -0
- package/dist/types/maps/openLayerMaps/Layers/index.d.ts +7 -5
- package/dist/types/maps/openLayerMaps/ui/index.d.ts +9 -0
- package/dist/types/menuPage/CustomMenuPage.d.ts +22 -0
- package/dist/types/menuPage/index.d.ts +3 -0
- package/dist/types/models/index.d.ts +8 -0
- package/dist/types/notes/index.d.ts +3 -0
- package/dist/types/page/index.d.ts +8 -0
- package/dist/types/reminders/index.d.ts +5 -0
- package/dist/types/reports/index.d.ts +3 -0
- package/dist/types/routes/components/PageNotFoundRoute.d.ts +1 -0
- package/dist/types/routes/components/PasswordResetRedirect.d.ts +1 -0
- package/dist/types/routes/index.d.ts +4 -0
- package/dist/types/shell/index.d.ts +4 -0
- package/dist/types/shell/ui/addUser/index.d.ts +6 -0
- package/dist/types/shell/ui/appSwitcher/index.d.ts +9 -0
- package/dist/types/shell/ui/index.d.ts +17 -0
- package/dist/types/stores/index.d.ts +10 -0
- package/dist/types/treeMenu/index.d.ts +4 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/udp/ShortcutContent/index.d.ts +4 -0
- package/dist/types/udp/export/MyExportsPage.d.ts +1 -0
- package/dist/types/udp/export/index.d.ts +6 -0
- package/dist/types/udp/fileImportMapping/index.d.ts +8 -0
- package/dist/types/udp/pages/UdpAuditEventSidesheet.d.ts +3 -0
- package/dist/types/udp/pages/UdpAuditEventsPage.d.ts +3 -0
- package/dist/types/udp/pages/index.d.ts +20 -0
- package/dist/types/udp/pages/udpPages.d.ts +2 -0
- package/dist/types/udp/utilities/dateLocalizationHooks.d.ts +26 -0
- package/dist/types/udp/utilities/index.d.ts +3 -0
- package/dist/types/udp/utilities/useDateStringColumnDef.d.ts +18 -0
- package/dist/types/uploader/index.d.ts +7 -0
- package/dist/types/utilities/DemoJuly/index.d.ts +3 -0
- package/dist/types/utilities/aggrid/index.d.ts +6 -0
- package/dist/types/utilities/auth/index.d.ts +17 -0
- package/dist/types/utilities/catalog/index.d.ts +3 -0
- package/dist/types/utilities/chatBot/index.d.ts +5 -0
- package/dist/types/utilities/crud/index.d.ts +3 -0
- package/dist/types/utilities/customIcons/index.d.ts +4 -0
- package/dist/types/utilities/entities/index.d.ts +3 -0
- package/dist/types/utilities/floorplanFunctions/index.d.ts +3 -0
- package/dist/types/utilities/form/paymentForm/CreditCardUtils.d.ts +5 -1
- package/dist/types/utilities/iconLibrary/SvgIcon.d.ts +12 -0
- package/dist/types/utilities/iconLibrary/index.d.ts +9 -0
- package/dist/types/utilities/index.d.ts +44 -0
- package/dist/types/utilities/input/index.d.ts +5 -0
- package/dist/types/utilities/maintenanceEngine/index.d.ts +3 -0
- package/dist/types/utilities/menus/index.d.ts +4 -0
- package/dist/types/utilities/page/index.d.ts +3 -0
- package/dist/types/utilities/provider/index.d.ts +3 -0
- package/dist/types/utilities/redirect/index.d.ts +4 -0
- package/dist/types/utilities/rules/index.d.ts +3 -0
- package/dist/types/utilities/search/index.d.ts +4 -0
- package/dist/types/utilities/storage/index.d.ts +3 -0
- package/dist/types/utilities/style/index.d.ts +6 -0
- package/dist/types/utilities/tenant/index.d.ts +5 -0
- package/dist/types/utilities/tree/TreeUtilities.d.ts +2 -0
- package/dist/types/utilities/tree/index.d.ts +3 -0
- package/dist/types/utilities/uploader/index.d.ts +7 -0
- package/dist/types/utilities/utilityBar/index.d.ts +8 -0
- package/dist/types/utilities/workflow/index.d.ts +3 -0
- package/dist/types/workflow/WorkflowContainer.d.ts +1 -0
- package/dist/types/workflow/components/index.d.ts +3 -0
- package/dist/types/workflow/index.d.ts +7 -0
- package/dist/types/workflow/menus/index.d.ts +4 -0
- package/dist/typography-Cm-MBm67.js +47 -0
- package/dist/typography-Cm-MBm67.js.map +1 -0
- package/dist/udp/ShortcutContent/index.js +20 -0
- package/dist/udp/export/index.js +73 -0
- package/dist/udp/fileImportMapping/index.js +120 -0
- package/dist/udp/fileImportMapping/index.js.map +1 -0
- package/dist/udp/pages/index.js +255 -0
- package/dist/udp/utilities/index.js +3 -0
- package/dist/udpPages-DigIOO_J.js +2821 -0
- package/dist/udpPages-DigIOO_J.js.map +1 -0
- package/dist/ui-AtMBCKfe.js +20 -0
- package/dist/ui-AtMBCKfe.js.map +1 -0
- package/dist/ui-CdJK-GeY.js +1 -0
- package/dist/ui-DIMtL2w5.js +1 -0
- package/dist/ui-DJnya6DW.js +19 -0
- package/dist/ui-DJnya6DW.js.map +1 -0
- package/dist/ui-Dk8IEfOq.js +1 -0
- package/dist/ui-_KR24HU9.js +1 -0
- package/dist/unitySystemEnums-DXk8yS3v.js +296 -0
- package/dist/unitySystemEnums-DXk8yS3v.js.map +1 -0
- package/dist/uploader/index.js +107 -0
- package/dist/uploader/index.js.map +1 -0
- package/dist/uploader-CslKfeTU.js +1 -0
- package/dist/useActions-C4qJAr_e.js +192 -0
- package/dist/useActions-C4qJAr_e.js.map +1 -0
- package/dist/useApiCatalog-Bt9zKIld.js +62 -0
- package/dist/useApiCatalog-Bt9zKIld.js.map +1 -0
- package/dist/useAuthedUser-BbuZ-TTz.js +34 -0
- package/dist/useAuthedUser-BbuZ-TTz.js.map +1 -0
- package/dist/useAxiosGet-CAH3ZOZ8.js +76 -0
- package/dist/useAxiosGet-CAH3ZOZ8.js.map +1 -0
- package/dist/{useAxiosMutate-pB7OdGIa.js → useAxiosMutate-BiRO7ZCN.js} +4 -3
- package/dist/{useAxiosMutate-pB7OdGIa.js.map → useAxiosMutate-BiRO7ZCN.js.map} +1 -1
- package/dist/useChatBot-CFYM_uhz.js +11 -0
- package/dist/useChatBot-CFYM_uhz.js.map +1 -0
- package/dist/useDefaultFormValues-DvWSqhBl.js +14 -0
- package/dist/useDefaultFormValues-DvWSqhBl.js.map +1 -0
- package/dist/useDynamicListCalculation-B4erIwyM.js +41 -0
- package/dist/useDynamicListCalculation-B4erIwyM.js.map +1 -0
- package/dist/useFluentIcon-CfE2FQgB.js +14 -0
- package/dist/useFluentIcon-CfE2FQgB.js.map +1 -0
- package/dist/useGravatar-CbLAVn5R.js +49 -0
- package/dist/useGravatar-CbLAVn5R.js.map +1 -0
- package/dist/useId-Dfv7qFlj.js +23 -0
- package/dist/useId-Dfv7qFlj.js.map +1 -0
- package/dist/useIsUnityAuthenticated-n3QuDnIj.js +10 -0
- package/dist/useIsUnityAuthenticated-n3QuDnIj.js.map +1 -0
- package/dist/useItemSubCard-BxxyLSUY.js +41 -0
- package/dist/useItemSubCard-BxxyLSUY.js.map +1 -0
- package/dist/usePageContext-BSM5LtIY.js +9 -0
- package/dist/usePageContext-BSM5LtIY.js.map +1 -0
- package/dist/usePrevious-BAOvZhl7.js +14 -0
- package/dist/usePrevious-BAOvZhl7.js.map +1 -0
- package/dist/usePromotedMethodEntities-BNxCKmpY.js +97 -0
- package/dist/usePromotedMethodEntities-BNxCKmpY.js.map +1 -0
- package/dist/usePromotedMethodEntity-YlKDqDnn.js +90 -0
- package/dist/usePromotedMethodEntity-YlKDqDnn.js.map +1 -0
- package/dist/useQueryExecutors-CU1LD7zt.js +148 -0
- package/dist/useQueryExecutors-CU1LD7zt.js.map +1 -0
- package/dist/useReadMetaData-CxjwewcJ.js +31 -0
- package/dist/useReadMetaData-CxjwewcJ.js.map +1 -0
- package/dist/useSearchFilterParamsMap-tHRVgYQ-.js +128 -0
- package/dist/useSearchFilterParamsMap-tHRVgYQ-.js.map +1 -0
- package/dist/useSetLocationState-BGgFvNVh.js +25 -0
- package/dist/useSetLocationState-BGgFvNVh.js.map +1 -0
- package/dist/useSingleLogout-CxS-L1qp.js +272 -0
- package/dist/useSingleLogout-CxS-L1qp.js.map +1 -0
- package/dist/useSplitDecimal-DWG5FyYU.js +24 -0
- package/dist/useSplitDecimal-DWG5FyYU.js.map +1 -0
- package/dist/useTenant-BGWpH8AX.js +11 -0
- package/dist/useTenant-BGWpH8AX.js.map +1 -0
- package/dist/useUpdateSearchParams-DmNKNx8U.js +23 -0
- package/dist/useUpdateSearchParams-DmNKNx8U.js.map +1 -0
- package/dist/useUser-Cn88hlN_.js +21 -0
- package/dist/useUser-Cn88hlN_.js.map +1 -0
- package/dist/users-Dd3wK8x1.js +42 -0
- package/dist/users-Dd3wK8x1.js.map +1 -0
- package/dist/utilities/DemoJuly/index.js +4 -0
- package/dist/utilities/aggrid/index.js +10 -0
- package/dist/utilities/auth/index.js +21 -0
- package/dist/utilities/catalog/index.js +4 -0
- package/dist/utilities/chatBot/index.js +7 -0
- package/dist/utilities/crud/index.js +5 -0
- package/dist/utilities/customIcons/index.js +4 -0
- package/dist/utilities/entities/index.js +5 -0
- package/dist/utilities/floorplanFunctions/index.js +4 -0
- package/dist/utilities/form/index.js +6 -0
- package/dist/utilities/iconLibrary/index.js +9 -0
- package/dist/utilities/index.js +159 -0
- package/dist/utilities/input/index.js +6 -0
- package/dist/utilities/maintenanceEngine/index.js +4 -0
- package/dist/utilities/menus/index.js +7 -0
- package/dist/utilities/page/index.js +4 -0
- package/dist/utilities/provider/index.js +94 -0
- package/dist/utilities/redirect/index.js +5 -0
- package/dist/utilities/rules/index.js +4 -0
- package/dist/utilities/search/index.js +6 -0
- package/dist/utilities/storage/index.js +4 -0
- package/dist/utilities/style/index.js +7 -0
- package/dist/utilities/tenant/index.js +14 -0
- package/dist/utilities/tree/index.js +10 -0
- package/dist/utilities/uploader/index.js +6 -0
- package/dist/utilities/utilityBar/index.js +8 -0
- package/dist/utilities/workflow/index.js +6 -0
- package/dist/utilities-CO8iPD5J.js +1 -0
- package/dist/utilityBar-efXsIsm6.js +1 -0
- package/dist/utilityDisplay-CpRgXxVJ.js +15 -0
- package/dist/utilityDisplay-CpRgXxVJ.js.map +1 -0
- package/dist/utilityHeader-DR5YhYZ4.js +47 -0
- package/dist/utilityHeader-DR5YhYZ4.js.map +1 -0
- package/dist/utils-Ccah2Nvr.js +1 -0
- package/dist/utils-K0OjqNhn.js +1 -0
- package/dist/verticalStyles-CNJRNnZb.js +141 -0
- package/dist/verticalStyles-CNJRNnZb.js.map +1 -0
- package/dist/virtualActions-ByTDOaHE.js +84 -0
- package/dist/virtualActions-ByTDOaHE.js.map +1 -0
- package/dist/virtualBrowser-BjGPv8Ks.js +1 -0
- package/dist/visualization-BmGUb6uk.js +1 -0
- package/dist/widgets-C-lZrGAQ.js +281 -0
- package/dist/widgets-C-lZrGAQ.js.map +1 -0
- package/dist/widgets-CRzkTpIV.js +246 -0
- package/dist/widgets-CRzkTpIV.js.map +1 -0
- package/dist/withEngineComponent-BZhUdMxf.js +28 -0
- package/dist/withEngineComponent-BZhUdMxf.js.map +1 -0
- package/dist/workOrderCard-BpoZx9de.js +55 -0
- package/dist/workOrderCard-BpoZx9de.js.map +1 -0
- package/dist/workflow/components/index.js +6 -0
- package/dist/workflow/index.js +75 -0
- package/dist/workflow/menus/index.js +24 -0
- package/dist/workflow-B3zdi9Fz.js +1 -0
- package/dist/workflowEnums-xHM1JN6x.js +48 -0
- package/dist/workflowEnums-xHM1JN6x.js.map +1 -0
- package/dist/workflowStore-PaHzw4YO.js +25 -0
- package/dist/workflowStore-PaHzw4YO.js.map +1 -0
- package/dist/workflowUtilities-DpW6oHRe.js +152 -0
- package/dist/workflowUtilities-DpW6oHRe.js.map +1 -0
- package/dist/wrappers-CLy_1LEL.js +1 -0
- package/export-map.json +782 -0
- package/package.json +29 -7
- package/dist/AmbientGridTemplate-Ch1eLyEu.js +0 -3478
- package/dist/AmbientGridTemplate-Ch1eLyEu.js.map +0 -1
- package/dist/ClientSideUdpGrid-B3NVu-9l.js +0 -56
- package/dist/ClientSideUdpGrid-B3NVu-9l.js.map +0 -1
- package/dist/EnvironmentRibbon-OD01SY9G.js +0 -935
- package/dist/EnvironmentRibbon-OD01SY9G.js.map +0 -1
- package/dist/MenuPage-BZk69VmF.js.map +0 -1
- package/dist/MyExportsPage-DxyYPVIc.js +0 -11
- package/dist/MyExportsPage-WaXST3tF.js +0 -662
- package/dist/MyExportsPage-WaXST3tF.js.map +0 -1
- package/dist/PageContainer-BxChq1eP.js +0 -1536
- package/dist/PageContainer-BxChq1eP.js.map +0 -1
- package/dist/PageNotFoundRoute-D9dLbM_w.js.map +0 -1
- package/dist/PageNotFoundRoute-DUj0Q9J8.js +0 -3
- package/dist/PasswordResetRedirect-C3g8L0vA.js.map +0 -1
- package/dist/PasswordResetRedirect-Dh-S5Ril.js +0 -3
- package/dist/SearchUtilities-lVLvOpzo.js.map +0 -1
- package/dist/SideSheet-D48-jzNi.js +0 -288
- package/dist/SideSheet-D48-jzNi.js.map +0 -1
- package/dist/UdpMaintenanceConfigPage-Bbaa9QQm.js.map +0 -1
- package/dist/UdpPublicForm-3xkpVjji.js.map +0 -1
- package/dist/UdpPublicForm-BdzIFRc0.js +0 -4
- package/dist/UtilitySideBar-9LDu9AaN.js.map +0 -1
- package/dist/VirtualBrowser-CiD8XKsM.js.map +0 -1
- package/dist/WorkflowContainer-BK2z5UDl.js +0 -11
- package/dist/WorkflowContainer-CpWRhlBx.js +0 -1552
- package/dist/WorkflowContainer-CpWRhlBx.js.map +0 -1
- package/dist/apiHelpers-DZPI1QCL.js.map +0 -1
- package/dist/propertyTypeEnums-BfQfG6sp.js +0 -136
- package/dist/propertyTypeEnums-BfQfG6sp.js.map +0 -1
- package/dist/types/UI/dataDisplay/visualization/amCharts/AmSankeyChart.d.ts +0 -3
- package/dist/useAxiosGet-Bi4Z0b8W.js +0 -143
- package/dist/useAxiosGet-Bi4Z0b8W.js.map +0 -1
- /package/dist/types/UI/loading/{LoadingIndicator.d.ts → LoadingIndicator/LoadingIndicator.d.ts} +0 -0
- /package/dist/types/utilities/{FluentIcon.d.ts → iconLibrary/FluentIcon.d.ts} +0 -0
- /package/dist/types/utilities/{UnityFluentIcon.d.ts → iconLibrary/UnityFluentIcon.d.ts} +0 -0
- /package/dist/types/utilities/{UnityIcon.d.ts → iconLibrary/UnityIcon.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowContainer-CpWRhlBx.js","names":["useStyles","value","useStyles","other","useStyles","tree","expanded","useWorkflowStore: () => WorkflowState","useStyles","useStyles","makeStyles","LinearProgress","MuiLinearProgress","useStyles","makeStyles","CircularProgress","MuiCircularProgress","useStyles","apiMutate","user","LinearProgress","CircularProgress","useStyles","useStyles","useStyles"],"sources":["../src/UI/inputs/textField/FluentTextFieldAutoComplete.jsx","../src/utilities/input/DateUtilities.js","../src/workflow/menus/WorkflowTreeMenuItem.jsx","../src/workflow/menus/WorkflowTreeMenu.jsx","../src/enums/workflowEnums.ts","../src/utilities/workflow/workflowUtilities.js","../src/stores/workflowStore.ts","../src/workflow/components/WorkflowTaskFlow.jsx","../src/UI/loading/LinearProgress.jsx","../src/UI/loading/CircularProgress.jsx","../src/workflow/WorkflowUiInterruptContent.jsx","../src/UI/components/dataDisplay/SmsDisplay.jsx","../src/UI/components/dataDisplay/EmailDisplay.jsx","../src/workflow/WorkflowContent.jsx","../src/hooks/useUpdateSearchParams.js","../src/workflow/WorkflowContainer.jsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport React, { useCallback, useState } from 'react';\nimport { TextField, makeStyles, Popper } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles((theme) => ({\n formTextInput: {\n fontSize: 14\n },\n labelRoot: {\n fontSize: 14\n }\n}));\n\nconst AutoCompletePopper = (props) => {\n return <Popper {...props} placement='bottom-start' />;\n};\n\nexport const FluentTextFieldAutoComplete = (props) => {\n const {\n label,\n placeholder,\n options,\n textFieldProps,\n disabled,\n onChange: onChangeProp,\n value,\n optionKey,\n additionalOnChangeAction,\n classes: classProps,\n variant = 'outlined',\n inputProps,\n inputPropClasses,\n customPopper,\n disableClearable = false,\n defaultValue,\n additionalOptionKey,\n isMultiple = false,\n limitTags,\n renderTags,\n optionLabelDisplayFunction = (option) => option,\n groupBy = null,\n size = 'medium',\n id,\n udprecordid,\n freeSolo = false,\n formatUserInputValue,\n ...other\n } = props;\n\n const classes = useStyles();\n const { autocompleteRoot } = classProps || {};\n const [inputValue, setInputValue] = useState('');\n\n const onChange = useCallback(\n (e, value) => {\n if (additionalOnChangeAction) {\n additionalOnChangeAction(value);\n }\n return onChangeProp?.(value);\n },\n [onChangeProp, additionalOnChangeAction]\n );\n\n const handleInputChange = useCallback((e, newInputValue) => {\n setInputValue(newInputValue ?? '');\n }, []);\n\n const handleClose = useCallback(\n (event, reason) => {\n if (!freeSolo) return;\n if (isMultiple) return;\n\n if (value && typeof value === 'object') return;\n\n const raw = (inputValue || '').trim();\n if (!raw) return;\n\n if (\n reason === 'blur' ||\n reason === 'enter' ||\n reason === 'create-option'\n ) {\n const updatedValue = formatUserInputValue\n ? formatUserInputValue(raw)\n : raw;\n if (additionalOnChangeAction) additionalOnChangeAction(updatedValue);\n onChangeProp?.(updatedValue);\n }\n },\n [\n freeSolo,\n isMultiple,\n value,\n inputValue,\n formatUserInputValue,\n additionalOnChangeAction,\n onChangeProp\n ]\n );\n\n return (\n <Autocomplete\n id='autocomplete'\n multiple={isMultiple}\n limitTags={limitTags}\n disabled={disabled}\n options={options || []}\n getOptionLabel={(option) =>\n option &&\n (optionKey\n ? `${optionLabelDisplayFunction(option[optionKey])}${\n additionalOptionKey ? ` - (${option[additionalOptionKey]})` : ''\n }`\n : optionLabelDisplayFunction(option) || '')\n }\n getOptionSelected={(option, val) =>\n optionKey ? option[optionKey] === val[optionKey] : option === val\n }\n groupBy={groupBy}\n onChange={onChange}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n onClose={handleClose}\n value={value || (isMultiple ? [] : null)}\n className={autocompleteRoot}\n classes={{\n root: classProps?.formControl\n }}\n PopperComponent={customPopper || AutoCompletePopper}\n disableClearable={disableClearable}\n defaultValue={defaultValue}\n size={size}\n renderInput={(params) => (\n <TextField\n {...textFieldProps}\n {...params}\n {...other}\n inputProps={{\n ...params.inputProps,\n id: id,\n udprecordid: udprecordid\n }}\n label={label}\n margin='dense'\n variant={variant}\n placeholder={placeholder}\n size='small'\n InputProps={{\n ...params.InputProps,\n ...inputProps,\n classes: {\n root: classProps?.inputPropRoot,\n input: clsx(classes.formTextInput, classProps?.inputPropInput)\n }\n }}\n InputLabelProps={{\n classes: {\n root: clsx(classes.labelRoot, classProps?.formLabelRoot)\n }\n }}\n />\n )}\n renderTags={renderTags}\n freeSolo={freeSolo}\n />\n );\n};\n","import { DateTime } from 'luxon';\n\nexport const formatDateToLocaleString = (isoDate, luxonFormat = '') => {\n return DateTime.fromISO(isoDate, { zone: 'utc' })\n .toLocal()\n .toLocaleString(luxonFormat);\n};\n\n// convert date into UTC date format\nexport const toUtcDate = (date) => {\n if (!date) {\n return null;\n }\n\n if (date.endsWith('Z')) {\n return new Date(date);\n } else {\n return new Date(date + 'Z');\n }\n};\n","import React, { useCallback } from 'react';\nimport {\n makeStyles,\n lighten,\n Typography,\n CircularProgress,\n darken,\n useTheme,\n Tooltip\n} from '@material-ui/core';\nimport TreeItem from '@material-ui/lab/TreeItem';\nimport { getIconFromName } from '../../utilities/tree/TreeUtilities';\nimport clsx from 'clsx';\nimport { UnityFluentIcon } from '../../utilities/UnityFluentIcon';\nimport { getUnityIconFromName } from '../../utilities/iconLibrary/UnityIconLibrary';\nimport { useDrag, useDrop } from 'react-dnd';\nimport {\n NodeActionTriggerEnums,\n TreeViewModeEnums\n} from '../../enums/unitySystemEnums.ts';\nimport { AggregateChip } from '../../UI/utilityDisplay/AggregateChip';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '&.Mui-selected > .MuiTreeItem-content': {\n backgroundColor:\n theme?.getThemeData()?.mode === 'dark'\n ? theme.palette.grey[700]\n : theme.palette.grey[300],\n borderRight: `4px solid ${theme.palette.primary.main}`\n },\n '&.Mui-selected > .MuiTreeItem-content .MuiTreeItem-label': {\n backgroundColor: 'transparent',\n paddingLeft: 0\n },\n '&.Mui-selected > .MuiTreeItem-content > .MuiCollapse-wrapperInner': {\n backgroundColor:\n theme?.getThemeData()?.mode !== 'dark' && theme.palette.grey[50]\n },\n '& .MuiTreeItem-content .MuiTreeItem-iconContainer': {\n display: (props) => (props.sidebarExpanded ? 'flex' : 'none')\n }\n },\n content: {\n backgroundColor: (props) =>\n theme?.getThemeData()?.mode !== 'dark' &&\n !props.sidebarExpanded &&\n props.conditionalIconName &&\n props.conditionalIconColor\n ? lighten(props.conditionalIconColor, 0.92)\n : ''\n },\n labelRoot: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.sidebarExpanded ? 0 : theme.spacing(1.5)),\n width: '100%'\n },\n labelContainer: {\n display: (props) => (!props.sidebarExpanded ? 'none' : ''),\n width: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? `calc(100% - ${theme.spacing(6.25)}px)`\n : `calc(100% - ${theme.spacing(7.75)}px)`\n },\n conditionalIconContainer: {\n display: 'inline-flex'\n },\n labelText: {\n fontSize: '0.75rem',\n fontWeight: 600,\n lineHeight: '1rem',\n letterSpacing: 0.1\n },\n captionText: {\n marginLeft: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact ? theme.spacing(1) : '',\n fontSize: '0.65rem',\n fontWeight: 400,\n lineHeight: 1,\n letterSpacing: 0.4\n },\n labelOverflow: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginTop: `-${theme.spacing(0.25)}px`\n },\n group: {\n width: '100%',\n '& .MuiTreeItem-group': {\n marginLeft: 0\n },\n '& .MuiTreeItem-content': {\n paddingLeft: (props) =>\n props.sidebarExpanded ? (props.depth || 1) * theme.spacing(1) : 0,\n borderRight: (props) =>\n props.showRightBorderColor\n ? `4px solid ${theme.palette.primary.main}`\n : '',\n borderBottom: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? `1px solid ${theme.palette.grey[200]}`\n : ''\n },\n '& .MuiTreeItem-content .MuiTreeItem-label': {\n paddingLeft: 0,\n width: (props) =>\n props.sidebarExpanded && `calc(100% - ${theme.spacing(2.5)}px)`\n },\n '& .MuiTreeItem-content .MuiTreeItem-iconContainer span': {\n display: (props) => (props.hideExpansion ? 'none' : '')\n },\n '& .MuiCollapse-wrapperInner': {\n backgroundColor: (props) =>\n theme?.getThemeData()?.mode !== 'dark' && props.isSelectedNode\n ? theme.palette.grey[50]\n : ''\n }\n },\n iconContainer: {\n display: 'flex',\n // alignItems: 'center',\n justifyContent: 'center',\n // borderRadius: 50,\n marginTop: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? theme.spacing(0.25)\n : theme.spacing(0.5),\n marginBottom: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? theme.spacing(0.25)\n : theme.spacing(0.5),\n marginRight: theme.spacing(1),\n width: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? theme.spacing(3)\n : theme.spacing(4),\n height: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? theme.spacing(3)\n : theme.spacing(4)\n // border: (props) =>\n // props.iconColor\n // ? `1px solid ${darken(props.iconColor, 0.1)}`\n // : `1px solid ${theme.palette.secondary.main}`,\n // backgroundColor: '#ffffff'\n }\n}));\n\nexport const WorkflowTreeMenuItem = (props) => {\n const {\n parentId,\n nodeId,\n iconName,\n iconType,\n conditionalIconName,\n conditionalIconType,\n conditionalIconColor,\n label,\n iconColor,\n onNodeSelect,\n isSelectedNode,\n subLabel,\n sidebarExpanded,\n isLastNode,\n loading,\n node,\n onDropNode,\n treeViewMode,\n menuIndex,\n aggregateThresholdId,\n ...other\n } = props;\n const classes = useStyles(props);\n const theme = useTheme();\n\n const [{ isDragging }, dragRef] = useDrag({\n type: 'BaseTreeMenuItem',\n item: { ...node, sourceNodeMenuIndex: menuIndex },\n collect: (monitor) => ({\n isDragging: monitor.isDragging()\n })\n });\n\n const handleOnDrop = useCallback(\n (sourceNode, monitor) => {\n if (!monitor.didDrop()) {\n if (onDropNode) {\n const { sourceNodeMenuIndex, ...other } = sourceNode;\n onDropNode({ ...other }, node, sourceNodeMenuIndex, menuIndex);\n }\n }\n },\n [onDropNode, node, menuIndex]\n );\n\n const [{ canDrop, isOver }, dropRef] = useDrop(\n () => ({\n accept: ['BaseTreeMenuItem'],\n drop: (sourceNode, monitor) => {\n // condition to only handle first drop\n handleOnDrop(sourceNode, monitor);\n },\n canDrop: (sourceNode) => checkCanDrop(sourceNode),\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n canDrop: !!monitor.canDrop()\n })\n }),\n [handleOnDrop]\n );\n\n const checkCanDrop = useCallback(\n (sourceNode) => {\n if (sourceNode) {\n const onDropActions = node?.properties?.nodeActions?.filter(\n (na) => na?.triggerType === NodeActionTriggerEnums.On_Node_Drop\n );\n if (!onDropActions) {\n return false;\n }\n const nodeDragEntities = onDropActions?.map(\n (action) => action?.dragEntityName\n );\n return nodeDragEntities.includes(\n sourceNode?.properties?.catalogReturnObject\n );\n }\n },\n [node]\n );\n\n const handleOnLabelClick = useCallback(\n (e) => {\n e.preventDefault();\n onNodeSelect(e, nodeId);\n },\n [onNodeSelect, nodeId]\n );\n\n return (\n <TreeItem\n className={classes.group}\n key={nodeId}\n nodeId={nodeId}\n label={\n <div ref={dropRef}>\n <Tooltip title={sidebarExpanded ? '' : label}>\n <div\n ref={(node?.properties?.isDraggable && dragRef) || null}\n style={{ opacity: isDragging ? 0.5 : 1 }}\n >\n {loading ? (\n <CircularProgress size={12} />\n ) : (\n <div\n id={\n 'udpRecord-BaseTreeMenuItem-' + label?.replace(/\\s+/g, '')\n }\n udprecordid={\n 'udpRecord-BaseTreeMenuItem-' + label?.replace(/\\s+/g, '')\n }\n className={classes.labelRoot}\n style={{\n fontWeight: isSelectedNode ? 'bold' : ''\n }}\n >\n {iconName && (\n <div className={classes.iconContainer}>\n <UnityFluentIcon\n size={\n treeViewMode === TreeViewModeEnums.Compact\n ? 'small'\n : 'large'\n }\n color={iconColor}\n type={iconType}\n icon={\n iconType === 'unity'\n ? getUnityIconFromName(iconName)\n : getIconFromName(iconName)\n }\n style={{\n color: iconColor\n ? darken(iconColor, 0.1)\n : theme.palette.secondary.main\n }}\n />\n </div>\n )}\n <div className={classes.labelContainer}>\n <Typography\n variant='subtitle2'\n className={clsx(classes.labelText, classes.labelOverflow)}\n >\n {label}\n {subLabel &&\n treeViewMode === TreeViewModeEnums.Compact && (\n <Typography\n variant='caption'\n className={clsx(\n classes.captionText,\n classes.labelOverflow\n )}\n >\n {subLabel}\n </Typography>\n )}\n </Typography>\n {subLabel && treeViewMode === TreeViewModeEnums.Classic && (\n <div className={classes.labelOverflow}>\n <Typography\n variant='caption'\n className={clsx(classes.captionText)}\n >\n {subLabel}\n </Typography>\n </div>\n )}\n </div>\n <AggregateChip aggregateThresholdId={aggregateThresholdId} />\n {conditionalIconName && sidebarExpanded && (\n <div className={classes.conditionalIconContainer}>\n <UnityFluentIcon\n size={\n treeViewMode === TreeViewModeEnums.Compact\n ? 'small'\n : 'default'\n }\n color={conditionalIconColor}\n type={conditionalIconType}\n icon={\n conditionalIconType === 'unity'\n ? getUnityIconFromName(conditionalIconName)\n : getIconFromName(conditionalIconName)\n }\n style={{\n color: conditionalIconColor\n }}\n />\n </div>\n )}\n </div>\n )}\n </div>\n </Tooltip>\n </div>\n }\n onLabelClick={handleOnLabelClick}\n classes={{ root: classes.root, content: classes.content }}\n {...other}\n />\n );\n};\n","import React, { useCallback, useState, useEffect } from 'react';\nimport {\n makeStyles,\n useTheme,\n lighten,\n CircularProgress,\n Typography\n} from '@material-ui/core';\nimport TreeView from '@material-ui/lab/TreeView';\nimport { WorkflowTreeMenuItem } from './WorkflowTreeMenuItem';\nimport {\n searchTree,\n findAllParentIds,\n getNodeIdForRightBorder\n} from '../../utilities/tree/TreeUtilities';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { CaretUpSolid8Icon, CaretDownSolid8Icon } from '@fluentui/react-icons';\nimport { cloneDeep } from 'lodash';\nimport { TreeViewModeEnums } from '../../enums/unitySystemEnums.ts';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginBottom: theme.spacing(1.75),\n borderTop: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? `1px solid ${theme.palette.grey[200]}`\n : ''\n },\n noChildrenContainer: {\n borderBottom: (props) =>\n props.treeViewMode === TreeViewModeEnums.Compact\n ? `1px solid ${theme.palette.grey[200]}`\n : ''\n }\n}));\n\nexport const WorkflowTreeMenu = (props) => {\n const {\n menuItems,\n onSelectNode,\n onDropNode,\n menuIndex,\n selectedNodeId,\n selectedNodeParentId,\n sidebarExpanded,\n treeViewMode,\n childrenKey = 'children'\n } = props;\n const [expanded, setExpanded] = useState(null);\n const [isCurrentActiveTree, setIsCurrentActiveTree] = useState(false);\n const [selectedNodeIsHidden, setSelectedNodeIsHidden] = useState(false);\n const [tree, setTree] = useState(menuItems);\n const theme = useTheme();\n const classes = useStyles(props);\n\n const handleSelectedNode = useCallback(\n (e, value) => {\n const selectedNode = searchTree(tree, value);\n if (onSelectNode) {\n onSelectNode(selectedNode, menuIndex);\n setSelectedNodeIsHidden(false);\n }\n },\n [tree, menuIndex, onSelectNode]\n );\n\n const renderTree = useCallback(\n (node, depth = 1) => {\n let label = node.properties?.nodeLabel || node.properties?.name;\n let subLabel = node.properties?.nodeSubLabel;\n let iconName = node.properties?.defaultIcon?.name;\n let iconType = node.properties?.defaultIcon?.type;\n let conditionalIconName = node.properties?.conditionalIcon?.name || '';\n let conditionalIconType = node.properties?.conditionalIcon?.name\n ? node.properties.conditionalIcon?.type\n : '';\n let conditionalIconColor = node.properties?.conditionalIcon?.name\n ? node.properties?.conditionalIcon?.color\n : '';\n let nodeId = node.id;\n let iconColor = node.properties?.conditionalIconName\n ? node.properties?.conditionalIconColor\n : node.properties?.defaultIcon?.color?.hex;\n let aggregateThresholdId = node.properties?.aggregateThresholdId || '';\n\n if (node.isGroupNode) {\n label = node.properties?.label;\n subLabel = node.properties?.subLabel;\n iconName = node.properties?.icon?.name;\n iconType = node.properties?.icon?.type;\n iconColor = node.properties?.icon?.color?.hex;\n }\n\n return (\n <WorkflowTreeMenuItem\n key={nodeId}\n nodeId={nodeId}\n label={label}\n subLabel={subLabel}\n iconName={iconName}\n iconType={iconType}\n conditionalIconName={conditionalIconName}\n conditionalIconType={conditionalIconType}\n conditionalIconColor={conditionalIconColor}\n parentId={node.parentId}\n iconColor={iconColor}\n onNodeSelect={handleSelectedNode}\n selectedNodeId={selectedNodeId}\n isSelectedNode={selectedNodeId === node.id}\n showRightBorderColor={\n selectedNodeIsHidden &&\n isCurrentActiveTree &&\n getNodeIdForRightBorder(expanded, tree, selectedNodeParentId) ===\n node.id\n }\n isCurrentActiveTree={isCurrentActiveTree}\n sidebarExpanded={sidebarExpanded}\n depth={depth}\n hideExpansion={!!!node[childrenKey]?.length}\n node={node}\n onDropNode={onDropNode}\n treeViewMode={treeViewMode}\n menuIndex={menuIndex}\n aggregateThresholdId={aggregateThresholdId}\n >\n {node.properties?.lazyLoad &&\n !!!node[childrenKey]?.length &&\n !node.completedLoadingChildren && (\n <CircularProgress\n size={12}\n style={{ marginLeft: (depth || 1) * theme.spacing(1) }}\n />\n )}\n {node.properties?.lazyLoad &&\n !!!node[childrenKey]?.length &&\n node.completedLoadingChildren &&\n sidebarExpanded &&\n !node.errorRetrievingChildren && (\n <div className={classes.noChildrenContainer}>\n <Typography\n variant='caption'\n style={{\n marginLeft: (depth || 1) * theme.spacing(3),\n fontWeight: 400\n }}\n >\n No Children\n </Typography>\n </div>\n )}\n {node.properties?.lazyLoad &&\n node.completedLoadingChildren &&\n sidebarExpanded &&\n node.errorRetrievingChildren && (\n <div className={classes.noChildrenContainer}>\n <Typography\n variant='caption'\n style={{\n marginLeft: (depth || 1) * theme.spacing(3),\n fontWeight: 400\n }}\n >\n {`Error Retrieving ${\n !!node[childrenKey]?.length ? `Additional ` : ''\n }Children`}\n </Typography>\n </div>\n )}\n {Array.isArray(node[childrenKey])\n ? node[childrenKey].map((n, i) => renderTree(n, depth + 1))\n : null}\n </WorkflowTreeMenuItem>\n );\n },\n [\n handleSelectedNode,\n selectedNodeId,\n selectedNodeIsHidden,\n isCurrentActiveTree,\n sidebarExpanded,\n expanded,\n tree,\n selectedNodeParentId,\n theme,\n classes,\n onDropNode,\n treeViewMode,\n menuIndex,\n childrenKey\n ]\n );\n\n const handleNodeExpansion = useCallback(\n async (evt, nodeIds) => {\n const treeCopy = cloneDeep(tree);\n setExpanded(nodeIds);\n\n const parentNode = searchTree(treeCopy, selectedNodeParentId);\n const initialAllParentNodeIds = selectedNodeParentId\n ? [selectedNodeParentId]\n : [];\n const allParentNodeIds = findAllParentIds(\n treeCopy,\n parentNode,\n initialAllParentNodeIds\n );\n const selectedNodeShown = allParentNodeIds.every((id) =>\n nodeIds.includes(id)\n );\n if (\n isCurrentActiveTree &&\n allParentNodeIds.length &&\n !selectedNodeShown\n ) {\n setSelectedNodeIsHidden(true);\n } else {\n setSelectedNodeIsHidden(false);\n }\n },\n [isCurrentActiveTree, tree, selectedNodeParentId]\n );\n\n const getExpandedRecursively = useCallback(\n (tree) => {\n if (!tree) return [];\n return tree.reduce((expandedIds, item) => {\n if (item?.isExpanded) {\n expandedIds.push(item.id);\n }\n if (item && item[childrenKey]?.length) {\n expandedIds = expandedIds.concat(\n getExpandedRecursively(item[childrenKey])\n );\n }\n return expandedIds;\n }, []);\n },\n [childrenKey]\n );\n\n useEffect(() => {\n setTree(menuItems);\n }, [menuItems]);\n\n useEffect(() => {\n if (!tree) {\n return;\n }\n let expanded = [];\n if (tree?.isExpanded) {\n expanded.push(tree.id);\n }\n expanded = expanded.concat(getExpandedRecursively(tree[childrenKey]));\n setExpanded(expanded);\n }, [getExpandedRecursively, tree, childrenKey]);\n\n useEffect(() => {\n if (!!searchTree(tree, selectedNodeId)) {\n setIsCurrentActiveTree(true);\n } else {\n setIsCurrentActiveTree(false);\n }\n }, [tree, selectedNodeId]);\n\n if (!expanded) {\n return null;\n }\n\n return (\n <TreeView\n key={tree}\n className={classes.root}\n defaultCollapseIcon={\n <FluentIcon\n size='small'\n component={CaretUpSolid8Icon}\n style={{\n color: lighten(theme.palette.primary.main, 0.5),\n width: theme.spacing(1.5),\n height: theme.spacing(1.5)\n }}\n />\n }\n expanded={expanded || []}\n onNodeToggle={handleNodeExpansion}\n defaultExpandIcon={\n <FluentIcon\n size='small'\n component={CaretDownSolid8Icon}\n style={{\n color: lighten(theme.palette.primary.main, 0.5),\n width: theme.spacing(1.5),\n height: theme.spacing(1.5)\n }}\n />\n }\n selected={selectedNodeId}\n >\n {tree && renderTree(tree)}\n </TreeView>\n );\n};\n","export enum UnitTypeEnums {\n Scope = 0,\n Sequence = 1,\n Group = 2,\n Fork = 3,\n Branch = 4,\n Retry = 5,\n Attempt = 6,\n Iterator = 7,\n Loop = 8,\n Break = 9,\n Block = 10,\n Adaptor = 11,\n Code = 12,\n Pause = 13,\n Fault = 14,\n Trace = 15,\n Catcher = 16,\n Thrower = 17,\n Plan = 18,\n Task = 19,\n Sprint = 20,\n Auth = 21,\n Rest = 22,\n Fuse = 23,\n Mail = 24,\n Sms = 25,\n Publisher = 26,\n Fiber = 27,\n Mapper = 28,\n Section = 29,\n Scene = 30,\n Placeholder = 100\n}\n\nexport enum UnitStateType {\n Initial = 0,\n Started = 1,\n Completed = 2,\n Cancelled = 3,\n Failed = 4\n}\n","import { UnitStateType, UnitTypeEnums } from '../../enums/workflowEnums';\nimport { DateTime } from 'luxon';\nimport { formatDateToLocaleString } from '../input/DateUtilities';\n\nexport const getWorkflowTaskIconByActionType = (type) => {\n let iconName = 'ClipboardListIcon';\n switch (type) {\n case UnitTypeEnums.Rest:\n iconName = 'CloudImportExportIcon';\n break;\n case UnitTypeEnums.Sms:\n iconName = 'MessageFillIcon';\n break;\n case UnitTypeEnums.Mail:\n iconName = 'MailSolidIcon';\n break;\n case UnitTypeEnums.Scene:\n iconName = 'ReleaseGateIcon';\n break;\n default:\n break;\n }\n return iconName;\n};\n\nexport const getWorkflowTaskStateIconByStateType = (type) => {\n let iconName = '';\n switch (type) {\n case UnitStateType.Initial:\n iconName = 'StopwatchIcon';\n break;\n case UnitStateType.Started:\n iconName = 'ProgressLoopOuterIcon';\n break;\n case UnitStateType.Completed:\n iconName = 'CheckMarkIcon';\n break;\n case UnitStateType.Cancelled:\n iconName = 'CancelIcon';\n break;\n case UnitStateType.Failed:\n default:\n iconName = 'ErrorBadgeIcon';\n break;\n }\n return iconName;\n};\n\nexport const getWorkflowTaskStateIconColorByStateType = (type) => {\n let color = '';\n switch (type) {\n case UnitStateType.Initial:\n color = '#ffa726';\n break;\n case UnitStateType.Started:\n color = '#29b6f6';\n break;\n case UnitStateType.Completed:\n color = '#66bb6a';\n break;\n case UnitStateType.Cancelled:\n color = '#f44336';\n break;\n case UnitStateType.Failed:\n default:\n color = '#f44336';\n break;\n }\n return color;\n};\n\nconst SELECTABLE_NODE_TYPES = [\n UnitTypeEnums.Sms,\n UnitTypeEnums.Mail,\n UnitTypeEnums.Scene\n];\n\nexport const transformWorkflowPlayTree = (node) => {\n if (!node) return null;\n const label = node.name || '';\n const expanded = 'expanded';\n const startedAt = node.startedAt\n ? formatDateToLocaleString(node.startedAt, DateTime.DATETIME_SHORT)\n : null;\n\n const updatedNode = {\n id: node.id,\n parentId: node.parentId,\n isExpanded: expanded,\n isSelectable: !!node.type && SELECTABLE_NODE_TYPES.includes(node.type),\n properties: {\n defaultIcon: {\n type: '',\n name: getWorkflowTaskIconByActionType(node.type),\n color: ''\n },\n conditionalIcon: {\n type: '',\n name: !!node.type && getWorkflowTaskStateIconByStateType(node.state),\n color:\n !!node.type && getWorkflowTaskStateIconColorByStateType(node.state)\n },\n nodeLabel: label,\n nodeSubLabel: node.parentId ? node.description : startedAt || '',\n state: node.state,\n type: node.type,\n interruptPages: node.interruptPages,\n playSceneId: node.playSceneId,\n startedAt: node.startedAt,\n endedAt: node.endedAt,\n dueDate: node.dueDate,\n variables: node.variables,\n sms:\n node.type === UnitTypeEnums.Sms\n ? {\n templateData: node.templateData,\n to: node.to,\n from: node.from,\n body: node.body\n }\n : null,\n email:\n node.type === UnitTypeEnums.Mail\n ? {\n templateData: node.templateData,\n to: node.to,\n from: node.from,\n subject: node.subject,\n text: node.text,\n html: node.html\n }\n : null\n },\n children: []\n };\n\n for (const child of node.children) {\n const updatedChild = transformWorkflowPlayTree(child);\n if (updatedChild) {\n updatedNode.children.push(updatedChild);\n }\n }\n\n return updatedNode;\n};\n\nexport const updateWorkflowPlayNodeState = (node, nodeId, nodeState) => {\n if (!node) return null;\n\n // Check if the current node matches the nodeId\n if (node.id === nodeId) {\n node.properties.state = nodeState;\n node.properties.defaultIcon = {\n type: '',\n name: getWorkflowTaskIconByActionType(node.properties.type),\n color: ''\n };\n node.properties.conditionalIcon = {\n type: '',\n name:\n !!node.properties.type &&\n getWorkflowTaskStateIconByStateType(nodeState),\n color:\n !!node.properties.type &&\n getWorkflowTaskStateIconColorByStateType(nodeState)\n };\n return node; // Return the updated node\n }\n\n // Recursively check and update children nodes if any\n if (node.children && node.children.length) {\n for (const child of node.children) {\n const updatedChild = updateWorkflowPlayNodeState(\n child,\n nodeId,\n nodeState\n );\n if (updatedChild) {\n return node; // Return the updated node\n }\n }\n }\n\n return null; // If no matching nodeId is found\n};\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface PageDataMap {\n [pageId: string]: Object | null | undefined;\n}\n\ninterface TaskDataMap {\n [taskId: string]: PageDataMap;\n}\n\ninterface WorkflowState {\n title: string | null | undefined;\n setWorkflowToolbarTitle: (title: string) => void;\n taskDataMap: TaskDataMap | null | undefined;\n updateTaskDataMap: (taskId: string, pageId: string, data: Object) => void;\n setTaskDataMap: (taskId: string, data: PageDataMap) => void;\n}\n\nexport const useWorkflowStore: () => WorkflowState = create<WorkflowState>()(\n devtools((set) => ({\n title: '',\n setWorkflowToolbarTitle: (title) => set((state) => ({ title: title })),\n taskDataMap: {},\n updateTaskDataMap: (taskId, pageId, data) =>\n set((state) => {\n const updatedTaskDataMap = { ...state.taskDataMap };\n if (updatedTaskDataMap[taskId]) {\n if (updatedTaskDataMap[taskId][pageId]) {\n updatedTaskDataMap[taskId][pageId] = data;\n } else {\n updatedTaskDataMap[taskId] = {\n [pageId]: data\n };\n }\n } else {\n updatedTaskDataMap[taskId] = {\n [pageId]: data\n };\n }\n return {\n taskDataMap: updatedTaskDataMap\n };\n }),\n setTaskDataMap: (taskId, data) =>\n set((state) => {\n const updatedTaskDataMap = { ...state.taskDataMap };\n updatedTaskDataMap[taskId] = data;\n return {\n taskDataMap: updatedTaskDataMap\n };\n })\n }))\n);\n","import React, { useCallback, useState } from 'react';\nimport {\n Stepper,\n Step,\n StepLabel,\n StepConnector,\n Typography,\n makeStyles,\n withStyles,\n lighten,\n Button\n} from '@material-ui/core';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons';\nimport { formatDateToLocaleString } from '../../utilities/input/DateUtilities';\nimport { DateTime } from 'luxon';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex'\n },\n taskInfoBlock: {\n backgroundColor: lighten(theme.palette.primary.main, 0.3),\n width: theme.spacing(25),\n color: theme.palette.common.white,\n padding: `${theme.spacing(0.5)}px ${theme.spacing(2.25)}px`\n },\n description: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n },\n button: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n borderRadius: 0,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark\n },\n minWidth: theme.spacing(3)\n },\n stepperContainer: {\n width: '100%',\n padding: 0,\n marginTop: `-${theme.spacing(1.5)}px`,\n background: 'none'\n },\n stepIconRoot: {\n zIndex: 1,\n color: theme.palette.primary.main,\n width: theme.spacing(3),\n height: theme.spacing(3),\n display: 'flex',\n borderRadius: '50%',\n justifyContent: 'center',\n alignItems: 'center',\n '&.active': {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white\n },\n '&.completed': {\n backgroundColor: theme.palette.common.white,\n color: theme.palette.success.main\n }\n },\n stepLabel: {\n '& > .MuiStepLabel-label': {\n marginTop: theme.spacing(0.5)\n }\n }\n}));\n\nconst ColorLibConnector = withStyles((theme) => ({\n connectorRoot: {\n top: 10,\n left: 'calc(-50% + 12px)',\n right: 'calc(50% + 12px)'\n },\n alternativeLabel: {\n left: 'calc(-50% + 12px)',\n right: 'calc(50% + 12px)'\n },\n active: {\n '& $line': {\n borderColor: theme.palette.primary.main\n }\n },\n completed: {\n '& $line': {\n borderColor: theme.palette.primary.main\n }\n },\n line: {\n borderTopWidth: 3,\n borderRadius: 1\n }\n}))(StepConnector);\n\nconst ColorlibStepIcon = (props) => {\n const { active, completed } = props;\n const classes = useStyles();\n const rootClass = `${classes.stepIconRoot} ${active ? 'active' : ''} ${\n completed ? 'completed' : ''\n }`;\n\n return (\n <div className={rootClass}>\n {completed ? (\n <CheckCircleIcon />\n ) : active ? (\n <RadioButtonCheckedIcon />\n ) : (\n <RadioButtonUncheckedIcon />\n )}\n </div>\n );\n};\n\nexport const WorkflowTaskFlow = (props) => {\n const { steps = [], handleClick = () => {}, task } = props;\n const classes = useStyles();\n const [activeStep, setActiveStep] = useState(0);\n\n const handleStepClick = (stepIndex) => {\n handleClick(stepIndex);\n setActiveStep(stepIndex);\n };\n\n const handleOnLeftButtonClick = useCallback(() => {\n if (activeStep > 0) {\n const newIndex = activeStep - 1;\n handleClick(newIndex);\n setActiveStep(newIndex);\n }\n }, [activeStep, handleClick]);\n\n const handleOnRightButtonClick = useCallback(() => {\n if (activeStep !== steps?.length - 1) {\n const newIndex = activeStep + 1;\n handleClick(newIndex);\n setActiveStep(newIndex);\n }\n }, [steps, activeStep, handleClick]);\n\n const getFormattedDueDate = useCallback((date) => {\n if (!date) {\n return '';\n }\n const shortDate = formatDateToLocaleString(date, DateTime.DATE_SHORT);\n return `Due ${shortDate}`;\n }, []);\n\n return (\n <div className={classes.root}>\n <div className={classes.taskInfoBlock}>\n <div className={classes.description}>\n <Typography variant='caption'>\n {task?.properties?.nodeLabel || ''}\n </Typography>\n </div>\n <div className={classes.description}>\n <Typography variant='caption' style={{ fontWeight: 500 }}>\n {getFormattedDueDate(task?.properties?.dueDate)}\n </Typography>\n </div>\n </div>\n <Button className={classes.button} onClick={handleOnLeftButtonClick}>\n <FluentIcon component={ChevronLeftIcon} />\n </Button>\n <Stepper\n alternativeLabel\n activeStep={activeStep}\n connector={<ColorLibConnector />}\n className={classes.stepperContainer}\n >\n {steps.map((step, index) => (\n <Step key={step.label} onClick={() => handleStepClick(index)}>\n <StepLabel\n classes={{ labelContainer: classes.stepLabel }}\n StepIconComponent={ColorlibStepIcon}\n >\n <Typography variant='caption'>{step.label}</Typography>\n </StepLabel>\n </Step>\n ))}\n </Stepper>\n <Button className={classes.button} onClick={handleOnRightButtonClick}>\n <FluentIcon component={ChevronRightIcon} />\n </Button>\n </div>\n );\n};\n","import React from 'react';\nimport { LinearProgress as MuiLinearProgress } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.grey[300]\n },\n barColorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n barColorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n barColorSuccess: {\n backgroundColor: theme.palette.success.main\n },\n barColorError: {\n backgroundColor: theme.palette.error.main\n },\n barColorWarning: {\n backgroundColor: theme.palette.warning.main\n },\n barColorInfo: {\n backgroundColor: theme.palette.info.main\n },\n // Custom bar color class\n customColorBar: (props) => ({\n backgroundColor: props.color\n })\n}));\n\nexport const LinearProgress = (props) => {\n const {\n variant = 'indeterminate',\n value,\n color = 'primary',\n ...otherProps\n } = props;\n\n const isPredefinedColor = [\n 'primary',\n 'secondary',\n 'success',\n 'error',\n 'warning',\n 'info'\n ].includes(color);\n const classes = useStyles({ color });\n\n return (\n <MuiLinearProgress\n {...otherProps}\n variant={variant}\n value={value}\n classes={{\n root: classes.root,\n bar: clsx({\n [classes.barColorPrimary]: color === 'primary',\n [classes.barColorSecondary]: color === 'secondary',\n [classes.barColorSuccess]: color === 'success',\n [classes.barColorError]: color === 'error',\n [classes.barColorWarning]: color === 'warning',\n [classes.barColorInfo]: color === 'info',\n [classes.customColorBar]: !isPredefinedColor\n })\n }}\n />\n );\n};\n","import React from 'react';\nimport { CircularProgress as MuiCircularProgress } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles(theme => ({\n circleColorPrimary: {\n color: theme.palette.primary.main,\n },\n circleColorSecondary: {\n color: theme.palette.secondary.main,\n },\n circleColorSuccess: {\n color: theme.palette.success.main,\n },\n circleColorError: {\n color: theme.palette.error.main,\n },\n circleColorWarning: {\n color: theme.palette.warning.main,\n },\n circleColorInfo: {\n color: theme.palette.info.main,\n },\n // Custom circle color class\n customColorCircle: props => ({\n backgroundColor: props.color,\n }),\n}));\n\nexport const CircularProgress = props => {\n const {\n variant = 'indeterminate',\n value,\n color = 'primary',\n ...otherProps\n } = props;\n\n const isPredefinedColor = [\n 'primary',\n 'secondary',\n 'success',\n 'error',\n 'warning',\n 'info',\n ].includes(color);\n const classes = useStyles({ color });\n\n return (\n <MuiCircularProgress\n {...otherProps}\n variant={variant}\n value={value}\n classes={{\n root: classes.root,\n circle: clsx({\n [classes.circleColorPrimary]: color === 'primary',\n [classes.circleColorSecondary]: color === 'secondary',\n [classes.circleColorSuccess]: color === 'success',\n [classes.circleColorError]: color === 'error',\n [classes.circleColorWarning]: color === 'warning',\n [classes.circleColorInfo]: color === 'info',\n [classes.customColorCircle]: !isPredefinedColor,\n }),\n }}\n />\n );\n};\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef\n} from 'react';\nimport { useAxiosGet } from '../utilities/useAxiosGet';\nimport { makeStyles } from '@material-ui/core';\nimport { PageContainer } from '../page/PageContainer';\nimport { useUser } from '../utilities/auth/useUser';\nimport { PrimaryActionHeader } from '../UI/utilityDisplay/utilityHeader/PrimaryActionHeader';\nimport { Card } from '@material-ui/core';\nimport { useWorkflowStore } from '../stores/workflowStore';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { WorkflowTaskFlow } from './components/WorkflowTaskFlow';\nimport { orderBy } from 'lodash';\nimport { UnitStateType } from '../enums/workflowEnums';\nimport { LinearProgress } from '../UI/loading/LinearProgress';\nimport { FluentTextFieldAutoComplete } from '../UI/inputs/textField/FluentTextFieldAutoComplete';\nimport { useTranslation } from 'react-i18next';\nimport { CancelIcon, ForwardIcon } from '@fluentui/react-icons';\nimport { SideSheet } from '../UI/surfaces/SideSheet';\nimport { Field, Form } from '../utilities/form';\nimport { cloneDeep } from 'lodash';\nimport { CircularProgress } from '../UI/loading/CircularProgress';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n loadingContent: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: 'calc(100vh - 160px)'\n }\n}));\n\nexport const WorkflowUiInterruptContent = (props) => {\n const {\n selectedNode,\n workflow,\n reloadWorkflow,\n users,\n groups,\n handleClose,\n inquiryPageParams = {}\n } = props;\n const classes = useStyles();\n const [selectedPageId, setSelectedPageId] = useState('');\n const [currentWorkflowStep, setCurrentWorkflowStep] = useState(0);\n const [loading, setLoading] = useState(false);\n const [loadingTaskData, setLoadingTaskData] = useState(true);\n const [reassignSidesheetOpen, setReassignSidesheetOpen] = useState(false);\n const [reassigningAssignee, setReassigningAssignee] = useState(false);\n const [workflowPageData, setWorkflowPageData] = useState(null);\n const [orderedPageData, setOrderedPageData] = useState([]);\n const user = useUser();\n const taskDataMap = useWorkflowStore((state) => state.taskDataMap);\n const setTaskDataMap = useWorkflowStore((state) => state.setTaskDataMap);\n const { t } = useTranslation();\n const formRef = useRef(null);\n\n const [{ data: pageData, loading: pageLoading, error: pageError }] =\n useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${selectedPageId}`,\n {},\n !!!selectedPageId,\n false\n );\n\n const [\n { data: playScene, loading: playSceneLoading, error: playSceneError },\n fetchPlayScene\n ] = useAxiosGet(\n ConfigService.maestroV1ApiUrl,\n `maestro/play/scene/${\n selectedNode?.properties?.playSceneId || null\n }?includeData=true`,\n {},\n !!!selectedNode?.properties?.playSceneId,\n false\n );\n\n const updatePlaySceneData = useCallback(\n async (data = '') =>\n apiMutate(\n ConfigService.maestroV1ApiUrl,\n `maestro/play/scene/${\n selectedNode?.properties?.playSceneId || null\n }/data`,\n {\n method: 'put'\n },\n { data: data }\n ),\n [selectedNode]\n );\n\n const updatePlaySceneState = useCallback(\n async (data = {}, sceneState) =>\n apiMutate(\n ConfigService.maestroV1ApiUrl,\n `maestro/play/scene/${\n selectedNode?.properties?.playSceneId || null\n }/${sceneState}`,\n {\n method: 'put'\n },\n { data: data }\n ),\n [selectedNode]\n );\n\n const updatePlaySceneAssignee = useCallback(\n async (data = '') =>\n apiMutate(\n ConfigService.maestroV1ApiUrl,\n `maestro/play/scene/${\n selectedNode?.properties?.playSceneId || null\n }/assignee`,\n {\n method: 'put'\n },\n { data: data }\n ),\n [selectedNode]\n );\n\n const closeReassignmentSheet = useCallback(() => {\n setReassignSidesheetOpen(false);\n }, []);\n\n const workflowTaskSteps = useMemo(() => {\n if (!selectedNode?.properties?.interruptPages) {\n return [];\n }\n const orderedInterruptPages = orderBy(\n selectedNode.properties.interruptPages,\n ['sequenceNo'],\n ['asc']\n );\n const steps = orderedInterruptPages.reduce((list, ip) => {\n const step = {\n label: ip.displayName || ip.page?.name,\n pageId: ip.page?.pageId,\n requiredFieldMapping: ip.requiredFieldMapping\n };\n list.push(step);\n return list;\n }, []);\n return steps;\n }, [selectedNode]);\n\n const assigneeOptions = useMemo(() => {\n const formattedUsers =\n users?.reduce((list, user) => {\n list.push({\n id: user?.unityId || '',\n name: `${user?.displayName} - (User)` || ''\n });\n return list;\n }, []) || [];\n const formattedGroups =\n groups.reduce((list, group) => {\n list.push({\n id: group?.groupId || '',\n name: `${group?.name} - (Group)` || ''\n });\n return list;\n }, []) || [];\n const options = formattedUsers.concat(formattedGroups);\n return options;\n }, [users, groups]);\n\n const saveCurrentWorkflowData = useCallback(async () => {\n let playSceneData = null;\n if (selectedNode?.properties?.playSceneId) {\n playSceneData = taskDataMap[selectedNode.properties.playSceneId];\n }\n if (playSceneData) {\n await updatePlaySceneData({\n data: JSON.stringify(playSceneData)\n });\n await fetchPlayScene();\n }\n }, [taskDataMap, fetchPlayScene, updatePlaySceneData, selectedNode]);\n\n const updateWorkflowPageData = useCallback(\n async (data, pageId) => {\n if (!selectedNode?.properties?.playSceneId || !pageId) {\n console.warn('No TaskId or PageId availble to save Workflow Page Data');\n return;\n }\n if (\n selectedNode?.properties?.state === UnitStateType.Initial ||\n selectedNode?.properties?.state === UnitStateType.Completed ||\n selectedNode?.properties?.state === UnitStateType.Cancelled ||\n selectedNode?.properties?.state === UnitStateType.Failed\n ) {\n return;\n }\n\n let playSceneData = null;\n if (selectedNode?.properties?.playSceneId) {\n playSceneData = taskDataMap[selectedNode.properties.playSceneId];\n if (playSceneData) {\n playSceneData[pageId] = data;\n }\n }\n if (playSceneData) {\n await updatePlaySceneData({\n data: JSON.stringify(playSceneData)\n });\n await fetchPlayScene();\n }\n },\n [selectedNode, fetchPlayScene, taskDataMap, updatePlaySceneData]\n );\n\n const handleTaskChange = useCallback(async (step) => {\n setCurrentWorkflowStep(step);\n }, []);\n\n const handleTaskSubmit = useCallback(async () => {\n setLoading(true);\n await saveCurrentWorkflowData();\n await updatePlaySceneState('', 2);\n await reloadWorkflow();\n setLoading(false);\n }, [updatePlaySceneState, reloadWorkflow, saveCurrentWorkflowData]);\n\n const secondaryButtons = useMemo(() => {\n const buttons = [];\n if (handleClose) {\n buttons.push({\n label: t('Close'),\n component: CancelIcon,\n click: () => handleClose()\n });\n }\n if (selectedNode?.properties?.state !== UnitStateType.Started) {\n return buttons;\n }\n buttons.push({\n label: t('Reassign'),\n component: ForwardIcon,\n click: () => setReassignSidesheetOpen(true)\n });\n return buttons;\n }, [t, selectedNode, handleClose]);\n\n const handleReassignment = useCallback(() => {\n formRef?.current.form.submit();\n }, []);\n\n const reassignTask = useCallback(\n async (values) => {\n setReassigningAssignee(true);\n await updatePlaySceneAssignee({\n data: values?.assignee?.id || ''\n });\n await fetchPlayScene();\n setReassigningAssignee(false);\n closeReassignmentSheet();\n },\n [updatePlaySceneAssignee, fetchPlayScene, closeReassignmentSheet]\n );\n\n const requiredFieldMapping = useMemo(() => {\n const step = workflowTaskSteps?.find(\n (wts) => wts.pageId === pageData?.pageId\n );\n let fieldMapping = step?.requiredFieldMapping\n ? cloneDeep(step.requiredFieldMapping)\n : {};\n const workflowVariables = selectedNode?.properties?.variables || null;\n if (!!fieldMapping && !!workflowVariables) {\n Object.keys(fieldMapping)?.forEach((rfmKey) => {\n const requiredField = fieldMapping[rfmKey];\n if (!!requiredField?.value) {\n if (requiredField?.type === 'workflowVariable') {\n let matchedVariable = false;\n Object.keys(workflowVariables).forEach((key) => {\n if (requiredField.value === key) {\n requiredField.value = workflowVariables[key] || '';\n matchedVariable = true;\n return;\n }\n });\n if (!matchedVariable) {\n requiredField.value = null;\n }\n }\n }\n });\n }\n return fieldMapping || {};\n }, [pageData?.pageId, selectedNode, workflowTaskSteps]);\n\n const pageWidgetParams = useMemo(() => {\n const requiredFieldsMap = Object.keys(requiredFieldMapping).reduce(\n (fieldMap, key) => {\n fieldMap[key] = requiredFieldMapping[key]?.value || '';\n return fieldMap;\n },\n {}\n );\n\n // have to pass in unimplemented parameters because certain pages\n // are used in action sheets/screens\n return {\n setSideSheetWidth: () => {\n console.warn('setSideSheetWidth Not implemented');\n },\n setSideSheetButtonLabel: () => {\n console.warn('setSideSheetButtonLabel Not implemented');\n },\n setSideSheetOnSubmit: () => {\n console.warn('setSideSheetOnSubmit Not implemented');\n },\n setSideSheetAdditionalOnClose: () => {\n console.warn('setSideSheetAdditionalOnClose Not implemented');\n },\n setSideSheetProps: () => {\n console.warn('setSideSheetProps Not implemented');\n },\n closeSideSheet: () => {\n console.warn('closeSideSheet Not implemented');\n },\n onCreate: () => {\n console.warn('onCreate Not implemented');\n },\n onUpdate: () => {\n console.warn('onUpdate Not implemented');\n },\n ...inquiryPageParams,\n pageId: pageData?.pageId,\n updateWorkflowPageData: (data) =>\n updateWorkflowPageData(data, pageData?.pageId),\n workflowTask: selectedNode,\n workflowPageData: { ...requiredFieldsMap, ...workflowPageData }, // workflowPageData will overwrite the requiredField values\n requiredFieldsMap: requiredFieldMapping || null,\n currentWorkflowStep,\n orderedWorkflowPageData: orderedPageData\n };\n }, [\n pageData?.pageId,\n selectedNode,\n workflowPageData,\n updateWorkflowPageData,\n requiredFieldMapping,\n inquiryPageParams,\n currentWorkflowStep,\n orderedPageData\n ]);\n\n const currentAssignee = useMemo(() => {\n if (!playScene?.assignee || !assigneeOptions?.length) {\n return '';\n }\n const matchingAssignee = assigneeOptions.find(\n (assignee) => assignee.id === playScene.assignee\n );\n return matchingAssignee || '';\n }, [playScene, assigneeOptions]);\n\n const pageHeight = useMemo(() => 'calc(100vh - 162px)', []);\n\n useEffect(() => {\n if (\n !selectedNode?.properties?.playSceneId ||\n !selectedPageId ||\n loadingTaskData\n ) {\n setWorkflowPageData(null);\n return;\n }\n if (\n taskDataMap?.[selectedNode.properties.playSceneId] &&\n taskDataMap[selectedNode.properties.playSceneId][selectedPageId]\n ) {\n setWorkflowPageData(\n taskDataMap[selectedNode.properties.playSceneId][selectedPageId]\n );\n return;\n }\n // Use this condition for making sure workflowPageData is resolved before\n // returning value so that PageContainer will render\n if (\n Object.keys(taskDataMap).length &&\n selectedNode?.properties?.playSceneId &&\n selectedPageId &&\n !playSceneLoading &&\n !loadingTaskData\n ) {\n setWorkflowPageData((prevData) => {\n if (!prevData) {\n return {};\n } else if (!Object.keys(prevData).length) {\n return prevData;\n }\n });\n return;\n }\n setWorkflowPageData(null);\n }, [\n selectedNode,\n selectedPageId,\n taskDataMap,\n loadingTaskData,\n playSceneLoading,\n workflowTaskSteps\n ]);\n\n useEffect(() => {\n if (workflowTaskSteps?.length) {\n setSelectedPageId(workflowTaskSteps[currentWorkflowStep]?.pageId);\n }\n }, [workflowTaskSteps, currentWorkflowStep]);\n\n useEffect(() => {\n setLoadingTaskData(true);\n if (!playSceneLoading && selectedNode?.properties?.playSceneId) {\n const json = playScene?.data ? JSON.parse(playScene.data) : {};\n setTaskDataMap(selectedNode.properties.playSceneId, json);\n }\n setLoadingTaskData(false);\n }, [playScene, playSceneLoading, setTaskDataMap, selectedNode]);\n\n useEffect(() => {\n const orderedData = [];\n if (taskDataMap?.[selectedNode.properties.playSceneId]) {\n workflowTaskSteps.forEach((step) => {\n orderedData.push(\n taskDataMap[selectedNode.properties.playSceneId][step.pageId] || {}\n );\n });\n }\n setOrderedPageData(orderedData);\n }, [taskDataMap, workflowTaskSteps, selectedNode]);\n\n return (\n <div>\n <Card\n variant={'outlined'}\n style={{\n border: 'none',\n paddingBottom: workflowTaskSteps?.length > 1 ? 10 : 0\n }}\n >\n <PrimaryActionHeader\n single\n title={workflow?.name}\n buttonLabel={'Submit'}\n handleClick={handleTaskSubmit}\n pabDisabled={\n selectedNode?.properties?.state !== UnitStateType.Started\n }\n secondaryButtons={secondaryButtons}\n />\n {loading && <LinearProgress />}\n </Card>\n {workflowTaskSteps?.length > 1 && (\n <WorkflowTaskFlow\n steps={workflowTaskSteps}\n handleClick={handleTaskChange}\n task={selectedNode}\n />\n )}\n {selectedPageId && workflowPageData ? (\n <PageContainer\n user={user}\n // key={playScene?.playSceneId || selectedNode?.id}\n key={selectedPageId}\n pageData={pageData}\n pageLoading={pageLoading}\n widgetParams={pageWidgetParams}\n disableMargins={true}\n fromMenu={true}\n height={pageHeight}\n />\n ) : (\n <div className={classes.loadingContent}>\n <CircularProgress size={64} />\n </div>\n )}\n <SideSheet\n open={reassignSidesheetOpen}\n buttonLabel={t('Reassign')}\n onClose={closeReassignmentSheet}\n onSubmit={handleReassignment}\n title={t('Reassign Task')}\n width={'25%'}\n progress={reassigningAssignee}\n variant='indeterminate'\n >\n <Form onSubmit={reassignTask} ref={formRef}>\n <Field\n component={FluentTextFieldAutoComplete}\n name='assignee'\n id='assignee'\n label={t('Assignee')}\n initialValue={currentAssignee || ''}\n options={assigneeOptions || []}\n optionKey={'name'}\n variant='outlined'\n margin='dense'\n />\n </Form>\n </SideSheet>\n </div>\n );\n};\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { makeStyles, Box, Grow, Card } from '@material-ui/core';\nimport PhoneImage from '../../../assets/images/phone.png';\nimport { PrimaryActionHeader } from '../../utilityDisplay/utilityHeader/PrimaryActionHeader';\nimport { useTranslation } from 'react-i18next';\nimport { CancelIcon } from '@fluentui/react-icons';\n\nconst useStyles = makeStyles((theme) => ({\n messages: {\n flex: '1',\n // height: '100%',\n margin: '0 20px',\n overflow: 'hidden'\n },\n messagesBox: {\n paddingRight: '3%',\n paddingLeft: '3%',\n width: '23vw',\n height: '88%',\n overflowY: 'auto',\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'center'\n },\n message: {\n backgroundColor: '#E9E9EB',\n borderRadius: '10px',\n padding: '10px',\n marginBottom: '10px',\n alignSelf: 'flex-start',\n overflowWrap: 'break-word',\n margin: theme.spacing(1)\n },\n messageSection: {\n flex: '1',\n overflowY: 'auto',\n padding: '20px',\n backgroundImage: `url(${PhoneImage})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 'calc(100vh - 140px)' // Ensures the container takes full viewport height\n }\n}));\n\nexport const SmsDisplay = (props) => {\n const { messages = [], to, from, title, handleClose } = props;\n const classes = useStyles();\n const [messagesList, setMessagesList] = useState(messages);\n const { t } = useTranslation();\n\n const messagesBoxRef = useRef(null);\n\n const secondaryButtons = useMemo(() => {\n const buttons = [];\n if (handleClose) {\n buttons.push({\n label: t('Close'),\n component: CancelIcon,\n click: () => handleClose()\n });\n }\n return buttons;\n }, [t, handleClose]);\n\n useEffect(() => {\n if (messagesBoxRef.current) {\n messagesBoxRef.current.scrollTop = messagesBoxRef.current.scrollHeight;\n }\n }, [messagesList]);\n\n return (\n <>\n <Card square>\n <PrimaryActionHeader\n // key={`${selectedNode?.id}-${inSearch}`}\n // title={headerTitle}\n // buttonLabel={'Load'}\n // secondaryButtons={secondaryButtons}\n // handleClick={handlePrimaryAction}\n // single\n hidePAB={true}\n title={title}\n subheader={`To: ${to} . From: ${from}`}\n secondaryButtons={secondaryButtons}\n />\n </Card>\n <Box className={classes.messages}>\n <Box className={classes.messageSection}>\n <Box className={classes.messagesBox} ref={messagesBoxRef}>\n {messagesList.map((message, index) => (\n <Grow key={index} in={true} timeout={800}>\n <Box\n className={classes.message}\n dangerouslySetInnerHTML={{ __html: message }}\n />\n </Grow>\n ))}\n </Box>\n </Box>\n </Box>\n </>\n );\n};\n","import React, { useMemo } from 'react';\nimport { makeStyles, Card } from '@material-ui/core';\nimport ReactHtmlParser from 'react-html-parser';\nimport { PrimaryActionHeader } from '../../utilityDisplay/utilityHeader/PrimaryActionHeader';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { useTranslation } from 'react-i18next';\nimport { CancelIcon } from '@fluentui/react-icons';\n\nconst useStyles = makeStyles((theme) => ({\n htmlContainer: { display: 'flex', justifyContent: 'center' }\n}));\n\nexport const EmailDisplay = (props) => {\n const { html = '', to, from, title, handleClose } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n\n const secondaryButtons = useMemo(() => {\n const buttons = [];\n if (handleClose) {\n buttons.push({\n label: t('Close'),\n component: CancelIcon,\n click: () => handleClose()\n });\n }\n return buttons;\n }, [t, handleClose]);\n\n return (\n <>\n <Card square>\n <PrimaryActionHeader\n // key={`${selectedNode?.id}-${inSearch}`}\n // title={headerTitle}\n // buttonLabel={'Load'}\n // secondaryButtons={secondaryButtons}\n // handleClick={handlePrimaryAction}\n // single\n hidePAB={true}\n title={title}\n subheader={`To: ${to} . From: ${from}`}\n secondaryButtons={secondaryButtons}\n />\n </Card>\n <LayoutUnit unit='sm' />\n <div className={classes.htmlContainer}>{ReactHtmlParser(html)}</div>\n </>\n );\n};\n","import React, { useMemo } from 'react';\nimport { useAxiosGet } from '../utilities/useAxiosGet';\nimport { makeStyles } from '@material-ui/core';\nimport { PageContainer } from '../page/PageContainer';\nimport { useUser } from '../utilities/auth/useUser';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../shell/ui/EnvironmentRibbon';\nimport { UnitTypeEnums } from '../enums/workflowEnums';\nimport { WorkflowUiInterruptContent } from './WorkflowUiInterruptContent';\nimport { SmsDisplay } from '../UI/components/dataDisplay/SmsDisplay';\nimport { EmailDisplay } from '../UI/components/dataDisplay/EmailDisplay';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100%'\n }\n}));\n\nexport const WorkflowContent = (props) => {\n const {\n selectedNode,\n workflow,\n reloadWorkflow,\n users,\n groups,\n handleClose,\n inquiryPageParams = {}\n } = props;\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const user = useUser();\n\n const [{ data: pageData, loading: pageLoading, error: pageError }] =\n useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${selectedNode?.properties?.page?.id}`,\n {},\n !!!selectedNode?.properties?.page?.id,\n false\n );\n\n const content = useMemo(() => {\n let res = null;\n if (selectedNode?.properties?.type === UnitTypeEnums.Scene) {\n res = (\n <WorkflowUiInterruptContent\n key={selectedNode.id}\n selectedNode={selectedNode}\n workflow={workflow}\n reloadWorkflow={reloadWorkflow}\n users={users}\n groups={groups}\n handleClose={handleClose}\n inquiryPageParams={inquiryPageParams}\n />\n );\n } else if (selectedNode?.properties?.type === UnitTypeEnums.Sms) {\n res = (\n <SmsDisplay\n messages={[selectedNode?.properties?.sms?.body || '']}\n to={selectedNode?.properties?.sms?.to || ''}\n from={selectedNode?.properties?.sms?.from || ''}\n title={selectedNode?.properties?.nodeLabel || ''}\n handleClose={handleClose}\n />\n );\n } else if (selectedNode?.properties?.type === UnitTypeEnums.Mail) {\n res = (\n <EmailDisplay\n html={\n selectedNode?.properties?.email?.html ||\n selectedNode?.properties?.email?.text ||\n ''\n }\n to={selectedNode?.properties?.email?.to || ''}\n from={selectedNode?.properties?.email?.from || ''}\n title={selectedNode?.properties?.nodeLabel || ''}\n handleClose={handleClose}\n />\n );\n } else if (selectedNode?.properties?.page?.id) {\n res = (\n <PageContainer\n user={user}\n key={selectedNode?.id}\n pageData={pageData}\n pageLoading={pageLoading}\n widgetParams={{\n pageId: pageData?.pageId,\n entityName: selectedNode?.properties?.page?.entity?.entityName,\n pbiReportCode: selectedNode?.properties?.page?.pbiReportCode,\n requiredFieldsMap:\n selectedNode?.properties?.page?.requiredFieldMapping,\n udpTagId: selectedNode?.properties?.page?.udpTagId,\n queryId: selectedNode?.properties?.page?.queryId,\n inquiryTreeId: selectedNode?.properties?.page?.inquiryTreeId\n }}\n disableMargins={true}\n fromMenu={true}\n />\n );\n }\n return res;\n }, [\n groups,\n pageData,\n pageLoading,\n reloadWorkflow,\n selectedNode,\n user,\n users,\n workflow,\n handleClose\n ]);\n\n return <div className={classes.root}>{content}</div>;\n};\n","import { useHistory, useLocation } from 'react-router-dom';\n\nexport const useUpdateSearchParams = () => {\n const history = useHistory();\n const location = useLocation();\n\n const updateSearchParams = (params) => {\n const searchParams = new URLSearchParams(location.search);\n\n Object.keys(params).forEach((key) => {\n if (params[key] !== null) {\n searchParams.set(key, params[key]);\n } else {\n searchParams.delete(key);\n }\n });\n\n history.push({\n pathname: location.pathname,\n search: searchParams.toString()\n });\n };\n\n return updateSearchParams;\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useAxiosGet } from '../utilities/useAxiosGet';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport { makeStyles } from '@material-ui/core';\nimport { WorkflowTreeMenu } from './menus/WorkflowTreeMenu';\nimport { TreeViewModeEnums } from '../enums/unitySystemEnums';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useShellStore } from '../stores/shellStore';\nimport { NodeLoader } from '../UI/feedback/NodeLoader';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../shell/ui/EnvironmentRibbon';\nimport { WorkflowContent } from './WorkflowContent';\nimport {\n transformWorkflowPlayTree,\n updateWorkflowPlayNodeState\n} from '../utilities/workflow/workflowUtilities';\nimport { useUpdateSearchParams } from '../hooks/useUpdateSearchParams';\nimport { useUser } from '../utilities/auth/useUser';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useSetLocationState } from '../hooks/useSetLocationState';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flex: 1,\n minHeight: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'grid',\n gridTemplateAreas: ['sidebar content'].map((line) => `\"${line}\"`).join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n sidebar: {\n gridArea: 'sidebar',\n marginRight: theme.spacing(1)\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n overflowY: 'auto'\n },\n menuContent: {\n marginTop: theme.spacing(1),\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 116}px)`,\n overflowX: 'hidden'\n },\n loader: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n loadingContent: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n }\n}));\n\nexport const WorkflowContainer = (props) => {\n const { playId, taskId, autoCollapseNav = true } = props;\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const location = useLocation();\n const updateSearchParams = useUpdateSearchParams();\n const user = useUser();\n const setLocationState = useSetLocationState();\n const { t } = useTranslation();\n\n const [menuItemsList, setMenuItemsList] = useState([]); // holds a list of trees\n const [selectedNode, setSelectedNode] = useState(null);\n const [sidebarExpanded, setSidebarExpanded] = useState(true);\n const [reloadFromPage, setReloadFromPage] = useState(false);\n const [workflow, setWorkflow] = useState(false);\n\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const urlPlayId = location.pathname.replace('/workflowtask/', '');\n const udpPlayId =\n playId ||\n urlPlayId ||\n (state\n ? state.playId\n : searchParams.has('playId') === true\n ? searchParams.get('playId')\n : '');\n\n const udpTaskId =\n taskId ||\n (state\n ? state.taskId\n : searchParams.has('taskId') === true\n ? searchParams.get('taskId')\n : '');\n\n const [{ data: workflowPlay, loading: workflowPlayLoading }, reloadWorkflow] =\n useAxiosGet(\n ConfigService.builderV1ApiUrl,\n `workflow/play/${udpPlayId}`,\n {},\n !!!udpPlayId,\n false\n );\n\n const [{ data: users }] = useAxiosGet(\n ConfigService.securityV1ApiUrl,\n `users?tenantId=${user?.currentTenantId || ''}`,\n {},\n !!!user?.currentTenantId\n );\n\n const [{ data: groups }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `groups?tenantId=${user?.currentTenantId || ''}&productId=${\n ConfigService.config.UNITY_PRODUCT_ID\n }`,\n {},\n !!!user?.currentTenantId\n );\n\n // const getNodeState = useCallback(\n // async (nodeId) =>\n // apiMutate(\n // ConfigService.builderV1ApiUrl,\n // `workflow/play/${udpPlayId}/node/${nodeId}/state`,\n // {\n // method: 'get'\n // }\n // ),\n // [udpPlayId]\n // );\n\n const { setSubHeaderActionHasChildren, setNavigationExpanded } =\n useShellStore();\n\n const handleReloadWorkflow = useCallback(async () => {\n setReloadFromPage(true);\n await reloadWorkflow();\n setReloadFromPage(false);\n }, [reloadWorkflow]);\n\n const handleSelectedNode = useCallback(\n async (node, menuIndex) => {\n if (node.isSelectable) {\n setSelectedNode(node);\n await handleReloadWorkflow();\n if (node?.properties?.playSceneId) {\n updateSearchParams({ taskId: node.properties.playSceneId });\n }\n }\n },\n [updateSearchParams, handleReloadWorkflow]\n );\n\n const handleDropNode = useCallback(\n (sourceNode, targetNode, sourceNodeMenuIndex, targetNodeMenuIndex) => {\n // TODO: Implement if we need to for next Phase\n },\n []\n );\n\n const handleSidebarExpandClick = useCallback(() => {\n setSidebarExpanded((expanded) => !expanded);\n }, []);\n\n useEffect(() => {\n if (workflowPlay) {\n setWorkflow(workflowPlay);\n }\n }, [workflowPlay]);\n\n // Setting location state label so that if this page was saved to favorites\n // we can determine the bread crumb\n useEffect(() => {\n setLocationState({ label: t('Workflow') });\n }, [setLocationState, t]);\n\n // this is used for updating the state node for page use\n useEffect(() => {\n if (workflow) {\n setSelectedNode((prevNode) => {\n if (!!prevNode) {\n const foundNode = workflow.workflowPlayNode?.children?.find(\n (child) => child.id === prevNode.id\n );\n if (!!foundNode) {\n const updatedNode = { ...prevNode };\n // TODO: using this to update state for now but may need to update\n // other properties of the selected node when we pull workflow tree\n updatedNode.properties.state = foundNode.state;\n return updatedNode;\n } else {\n return prevNode;\n }\n }\n });\n }\n }, [workflow]);\n\n useEffect(() => {\n if (workflow) {\n const list = [];\n const updatedMenu = transformWorkflowPlayTree(workflow.workflowPlayNode);\n if (updatedMenu) {\n list.push(updatedMenu);\n }\n setMenuItemsList(list);\n }\n }, [workflow]);\n\n useEffect(() => {\n if (!selectedNode) {\n const menu = menuItemsList[0];\n // Use Task Id to find the first matching node in tree\n if (menu) {\n if (!!udpTaskId) {\n const matchingTaskNode = menu.children.find(\n (child) => child?.properties?.playSceneId === udpTaskId\n );\n setSelectedNode(matchingTaskNode || menu.children[0] || null);\n } else {\n const firstSelectableMenuItem = menu?.children?.find(\n (item) => item.isSelectable\n );\n setSelectedNode(firstSelectableMenuItem || null);\n }\n if (autoCollapseNav) {\n setNavigationExpanded(false);\n }\n }\n }\n }, [\n udpTaskId,\n menuItemsList,\n selectedNode,\n setNavigationExpanded,\n autoCollapseNav\n ]);\n\n useEffect(() => {\n setSubHeaderActionHasChildren(false);\n }, [setSubHeaderActionHasChildren]);\n\n // useEffect(() => {\n // if (selectedNode) {\n // const getState = async () => {\n // const response = await getNodeState(selectedNode.id);\n // if (response.status === 200) {\n // setMenuItemsList((prevMenuList) => {\n // let updatedList = [];\n // prevMenuList.forEach((menu) => {\n // const updatedMenu = updateWorkflowPlayNodeState(\n // menu,\n // selectedNode.id,\n // response.data\n // );\n // updatedList.push(updatedMenu);\n // });\n // return updatedList;\n // });\n // }\n // };\n // getState();\n // }\n // }, [selectedNode, getNodeState]);\n\n return (\n <DndProvider backend={HTML5Backend}>\n <div className={classes.root}>\n <div className={classes.sidebar}>\n <UtilitySideBar\n title={'Workflow'}\n isUsingChildren={true}\n resizable={true}\n removePadding={true}\n removeTopLayoutUnit={true}\n onUtilitySidebarToggleExpandClick={handleSidebarExpandClick}\n collapsedWidth={64}\n >\n <div className={classes.menuContent} key={playId}>\n {menuItemsList?.length > 0 &&\n (!workflowPlayLoading || reloadFromPage) &&\n menuItemsList.map((menuItems, index) => (\n <div key={menuItems.id} className={classes.nodeContainer}>\n <WorkflowTreeMenu\n menuItems={menuItems}\n onSelectNode={handleSelectedNode}\n onDropNode={handleDropNode}\n menuIndex={index}\n selectedNodeId={selectedNode?.id}\n selectedNodeParentId={selectedNode?.parentId}\n sidebarExpanded={sidebarExpanded}\n treeViewMode={TreeViewModeEnums.Classic}\n />\n </div>\n ))}\n {workflowPlayLoading && !reloadFromPage && (\n <div className={classes.loader}>\n <NodeLoader loading={workflowPlayLoading} />\n </div>\n )}\n </div>\n </UtilitySideBar>\n </div>\n <div className={classes.content}>\n <WorkflowContent\n selectedNode={selectedNode}\n workflow={workflow}\n reloadWorkflow={handleReloadWorkflow}\n users={users}\n groups={groups}\n />\n </div>\n </div>\n </DndProvider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiHelpers-DZPI1QCL.js","names":["useLoginAction: LoginFunction","loginRedirect: () => void"],"sources":["../src/utilities/auth/signInAuthProvider.js","../src/enums/pageEnums.ts","../src/utilities/auth/whitelistedPaths.js","../src/utilities/auth/authActions.ts","../src/utilities/storage/UnitySessionStorage.js","../src/utilities/apiHelpers.jsx"],"sourcesContent":["import { PublicClientApplication, EventType } from '@azure/msal-browser';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nlet signInAuthProviderInstance = null;\nlet loginRequestInstance = null;\nlet tokenRequestInstance = null;\nlet apiAccessScopeValue = null;\n\nexport async function initSignInAuthProvider() {\n if (signInAuthProviderInstance) {\n return; // Already initialized\n }\n\n const PUBLIC_URL = new URL(\n import.meta.env.BASE_URL || '/',\n window.location.origin\n ).href.replace(/\\/$/, '');\n\n const REDIRECT_URL_BASE = ConfigService.config.USE_AAD_REDIRECT\n ? ConfigService.config.UNITY_URL\n : PUBLIC_URL;\n\n if (!ConfigService.config.MSAL_TENANT)\n throw new Error('MSAL_TENANT not configured');\n if (!ConfigService.config.MSAL_CLIENT_ID)\n throw new Error('MSAL_CLIENT_ID not configured');\n\n const tenant = ConfigService.config.MSAL_TENANT;\n const signInPolicy = ConfigService.config.SIGN_IN_POLICY;\n const applicationID = ConfigService.config.MSAL_CLIENT_ID;\n const reactRedirectUri = `${REDIRECT_URL_BASE}/${\n ConfigService.config.USE_AAD_REDIRECT ? 'aad_redirect' : 'aad_callback'\n }`;\n const tenantSubdomain = tenant.split('.')[0];\n const instance = `https://${tenantSubdomain}.b2clogin.com/`;\n const signInAuthority = `${instance}${tenant}/${signInPolicy}`;\n apiAccessScopeValue = `https://${tenant}/${ConfigService.config.MSAL_API_ACCESS_SCOPE}`;\n\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n const msie11 = ua.indexOf('Trident/');\n const msedge = ua.indexOf('Edge/');\n const firefox = ua.indexOf('Firefox');\n const isIE = msie > 0 || msie11 > 0;\n const isEdge = msedge > 0;\n const isFirefox = firefox > 0; // Only needed if you need to support the redirect flow in Firefox incognito\n\n // Msal Configurations\n const signInConfig = {\n auth: {\n authority: signInAuthority,\n knownAuthorities: [`${tenantSubdomain}.b2clogin.com`],\n clientId: applicationID,\n redirectUri: reactRedirectUri,\n postLogoutRedirectUri: PUBLIC_URL + '/',\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: 'sessionStorage',\n storeAuthStateInCookie: isIE || isEdge || isFirefox,\n },\n system: {\n allowRedirectInIframe: true,\n },\n };\n\n signInAuthProviderInstance = new PublicClientApplication(signInConfig);\n\n await signInAuthProviderInstance.initialize();\n\n if (\n !signInAuthProviderInstance.getActiveAccount() &&\n signInAuthProviderInstance.getAllAccounts().length > 0\n ) {\n signInAuthProviderInstance.setActiveAccount(\n signInAuthProviderInstance.getAllAccounts()[0]\n );\n }\n\n signInAuthProviderInstance.addEventCallback((event) => {\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload.account) {\n const account = event.payload.account;\n signInAuthProviderInstance.setActiveAccount(account);\n }\n });\n\n tokenRequestInstance = { scopes: [apiAccessScopeValue] };\n\n loginRequestInstance = {\n scopes: [apiAccessScopeValue, 'openid', 'offline_access'],\n state: `${PUBLIC_URL}/aad_callback`,\n };\n}\n\nexport const getSignInAuthProvider = () => {\n if (!signInAuthProviderInstance) {\n throw new Error(\n 'signInAuthProvider is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return signInAuthProviderInstance;\n};\n\nexport const getLoginRequest = () => {\n if (!loginRequestInstance) {\n throw new Error(\n 'loginRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return loginRequestInstance;\n};\n\nexport const getTokenRequest = () => {\n if (!tokenRequestInstance) {\n throw new Error(\n 'tokenRequest is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return tokenRequestInstance;\n};\n\nexport const getApiAccessScope = () => {\n if (!apiAccessScopeValue) {\n throw new Error(\n 'apiAccessScope is not initialized. Call initSignInAuthProvider first.'\n );\n }\n return apiAccessScopeValue;\n};\n","export enum ClickOpenEnums {\n SideSheet = 'sideSheet',\n Dialog = 'dialog',\n SplitScreen = 'splitScreen'\n}\n\nexport enum UdpPageEnums {\n Udp_Maintenance_Engine_Page = '32f32abb-e633-494e-b4c7-8e187c731e95',\n Udp_Data_Browser_Page = 'efaa7518-c943-4cd3-ad44-d78941de3211',\n Udp_Notes_Page = 'ef18c935-4d7b-4923-a87e-975d71f019a2',\n Udp_Reminders_Page = '308d9644-60db-4a0f-88c6-3a1309600ebc',\n Udp_Reports_Page = '35eb68db-cadc-497a-b915-de4e4b709459',\n Udp_Inquiry_Explore_Page = '8118a06e-5e26-437f-8661-8171f9e2ab16',\n Udp_Public_Forms_Page = '0a2f83f1-6f74-4088-b954-7d5762d93cfa'\n}\n","import { UdpPageEnums } from \"../../enums/pageEnums\";\n\nexport const whitelistedPaths = [\n '/verify', \n `/page/${UdpPageEnums.Udp_Public_Forms_Page}`, // Public forms page\n '/aad_redirect',\n '/passwordresetsuccess'\n];\n","import {\n getSignInAuthProvider,\n getTokenRequest,\n getLoginRequest,\n} from './signInAuthProvider';\nimport { BrowserUtils } from '@azure/msal-browser';\nimport { storeCurrentPath } from '../redirect/LocalRedirectUrlStorage';\nimport { whitelistedPaths } from './whitelistedPaths';\nexport type LoginFunction = () => void;\nexport type LogoutFunction = () => void;\n/**\n * Hook providing auth \"actions\" such as login/logout\n */\n\nexport const useLoginAction: LoginFunction = () => loginRedirect;\nexport const loginRedirect: () => void = () => {\n const signInAuthProvider = getSignInAuthProvider();\n signInAuthProvider.loginRedirect(getLoginRequest());\n};\n\nexport function useLogoutAction(): LogoutFunction {\n return async () => {\n const signInAuthProvider = getSignInAuthProvider();\n await signInAuthProvider.logoutRedirect({\n account: signInAuthProvider.getActiveAccount(),\n });\n };\n}\n\nexport async function acquireAccessToken(): Promise<string | void> {\n const signInAuthProvider = getSignInAuthProvider();\n const account = signInAuthProvider.getActiveAccount() ?? undefined;\n\n if (account) {\n return signInAuthProvider\n .acquireTokenSilent({ ...getTokenRequest(), account })\n .then((response) => {\n return response.accessToken;\n })\n .catch(async (error) => {\n const currentPathIsWhitelisted = whitelistedPaths.includes(\n window.location.pathname\n );\n if (!currentPathIsWhitelisted) {\n signInAuthProvider.loginRedirect(getLoginRequest());\n }\n });\n }\n}\n","const TenantStorageKey = 'active-tenant';\n\nexport const storeInitialTenant = () => {\n const urlParams = new URLSearchParams(window.location.search);\n const urlTenantId = urlParams.get('tenantId');\n\n if (urlTenantId) {\n storeTenant(urlTenantId);\n }\n};\n\nexport const storeTenant = (tenantId) => {\n window.sessionStorage.setItem(TenantStorageKey, tenantId);\n};\n\nexport const getStoredTenant = () => {\n return window.sessionStorage.getItem(TenantStorageKey);\n};\n\nexport const clearStoredTenant = () => {\n window.sessionStorage.removeItem(TenantStorageKey);\n};\n","import React from \"react\";\nimport { acquireAccessToken } from './auth/authActions';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { getStoredTenant } from './storage/UnitySessionStorage';\nimport { useSnackbar } from 'notistack';\nimport { Button } from '@material-ui/core';\nimport { useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nexport const getMergedConfig = (accessToken, config) => {\n const headers = config?.headers ?? {};\n\n headers.currentTenantId ||= getStoredTenant();\n if (accessToken) headers.Authorization ||= `Bearer ${accessToken}`;\n\n config.headers = headers;\n return config;\n};\n\nexport const handleResponseErrors = async (error) => {\n if (error?.response?.status === 401) {\n await acquireAccessToken();\n }\n};\n\nexport const getAccessToken = async () => {\n return await acquireAccessToken();\n};\n\n/**\n * Checks to make sure the error isn't cancelled, if so just return w/o doing anything\n *Otherwise call a pre-method, create a snackbar, then call a post-method\n *preCallBack returns a bool, true = show snackbar\n */\nexport const useHandleAxiosSnackbar = () => {\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n\n const dismissSnackbar = useCallback(\n (key, callback) => {\n closeSnackbar(key);\n callback?.();\n },\n [closeSnackbar]\n );\n\n const handleErrorSnackbar = useCallback(\n (error, customMessage, preCallBack, callback) => {\n const fallbackErrorMessage = 'Error executing request';\n if (\n error?.toString()?.toLowerCase() === 'cancel' ||\n error?.code === 'ERR_CANCELED'\n )\n return;\n\n // Don't call the preCallback unless we actually failed.\n const showSnackBar = preCallBack?.();\n if (preCallBack && !showSnackBar) return;\n\n let errorMessage =\n customMessage ??\n (error?.response?.data || error?.message || fallbackErrorMessage);\n if (\n typeof errorMessage !== 'string' ||\n !errorMessage ||\n errorMessage.length === 0\n ) {\n errorMessage = fallbackErrorMessage;\n }\n\n enqueueSnackbar(errorMessage, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n )\n });\n\n callback?.();\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n const handleSuccessSnackbar = useCallback(\n (message, preCallBack, callback, navigationPath, buttonText) => {\n const fallbackSuccessMessage = 'Executed request successfully';\n const showMessage = preCallBack?.();\n if (preCallBack && !showMessage) return;\n\n let successMessage = message ?? fallbackSuccessMessage;\n if (\n typeof successMessage !== 'string' ||\n !successMessage ||\n successMessage.length === 0\n ) {\n successMessage = fallbackSuccessMessage;\n }\n\n const options = {\n variant: 'default',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <>\n {navigationPath && (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n history.push(navigationPath);\n dismissSnackbar(key);\n }}\n >\n {buttonText? buttonText : 'Go to page'}\n </Button>\n )}\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n dismissSnackbar(key);\n }}\n >\n Ok\n </Button>\n </>\n )\n };\n\n enqueueSnackbar(successMessage, options);\n },\n [dismissSnackbar, enqueueSnackbar]\n );\n\n return { handleErrorSnackbar, handleSuccessSnackbar };\n};\n"],"mappings":"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"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { FluentButton } from "./EnvironmentRibbon-OD01SY9G.js";
|
|
2
|
-
import React, { forwardRef, useCallback, useMemo } from "react";
|
|
3
|
-
import { Switch, makeStyles, withStyles } from "@material-ui/core";
|
|
4
|
-
import { FormSpy } from "react-final-form";
|
|
5
|
-
import { DateTime } from "luxon";
|
|
6
|
-
import { KeyboardDateTimePicker, MuiPickersUtilsProvider } from "@material-ui/pickers";
|
|
7
|
-
import DateFnsUtils from "@date-io/date-fns";
|
|
8
|
-
|
|
9
|
-
//#region src/utilities/form/SubmitButton.tsx
|
|
10
|
-
/**
|
|
11
|
-
* A MUI Button varaint intended for use as the submit button for a form
|
|
12
|
-
*/
|
|
13
|
-
let SubmitButton = forwardRef((props, ref) => {
|
|
14
|
-
const { ButtonComponent = FluentButton, disabled, disablePristine = true,...otherProps } = props;
|
|
15
|
-
return /* @__PURE__ */ React.createElement(FormSpy, { subscription: {
|
|
16
|
-
submitting: true,
|
|
17
|
-
pristine: true
|
|
18
|
-
} }, ({ submitting, pristine }) => /* @__PURE__ */ React.createElement(ButtonComponent, {
|
|
19
|
-
ref,
|
|
20
|
-
type: "submit",
|
|
21
|
-
disabled: submitting || disablePristine && pristine || disabled,
|
|
22
|
-
...otherProps
|
|
23
|
-
}));
|
|
24
|
-
});
|
|
25
|
-
SubmitButton.displayName = "SubmitButton";
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
//#region src/utilities/form/FormButtons.tsx
|
|
29
|
-
const useStyles = makeStyles((theme) => ({ root: {
|
|
30
|
-
display: "flex",
|
|
31
|
-
flexDirection: "row",
|
|
32
|
-
alignItems: "center",
|
|
33
|
-
justifyContent: "flex-start",
|
|
34
|
-
marginBottom: theme.spacing(2),
|
|
35
|
-
marginTop: theme.spacing(1),
|
|
36
|
-
"& > *": { margin: `0 ${theme.spacing(2)}px 0 0` }
|
|
37
|
-
} }));
|
|
38
|
-
/**
|
|
39
|
-
* A MUI Button varaint intended for use as the submit button for a form
|
|
40
|
-
*/
|
|
41
|
-
const FormButtonsCore = (props, ref) => {
|
|
42
|
-
const classes = useStyles(props);
|
|
43
|
-
const { children,...otherProps } = props;
|
|
44
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
45
|
-
...otherProps,
|
|
46
|
-
ref,
|
|
47
|
-
className: classes.root
|
|
48
|
-
}, children);
|
|
49
|
-
};
|
|
50
|
-
const FormButtons = forwardRef(FormButtonsCore);
|
|
51
|
-
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/UI/inputs/datetimes/DateTimeField.jsx
|
|
54
|
-
/**
|
|
55
|
-
* TextField for date input
|
|
56
|
-
*/
|
|
57
|
-
const DateTimeField = (props) => {
|
|
58
|
-
const { onChange: onChangeProp, value: valueProp,...other } = props;
|
|
59
|
-
const dateFormat = "yyyy-MM-dd HH:mm";
|
|
60
|
-
const isValidDate = (date) => {
|
|
61
|
-
return date instanceof Date && !isNaN(date);
|
|
62
|
-
};
|
|
63
|
-
const onChange = useCallback((value$1) => onChangeProp && onChangeProp(isValidDate(value$1) ? value$1 : void 0), [onChangeProp]);
|
|
64
|
-
const value = useMemo(() => {
|
|
65
|
-
console.log(valueProp);
|
|
66
|
-
return isValidDate(valueProp) ? DateTime.fromISO(valueProp.toISOString()) : null;
|
|
67
|
-
}, [valueProp]);
|
|
68
|
-
return /* @__PURE__ */ React.createElement(MuiPickersUtilsProvider, { utils: DateFnsUtils }, /* @__PURE__ */ React.createElement(KeyboardDateTimePicker, {
|
|
69
|
-
format: dateFormat,
|
|
70
|
-
variant: "inline",
|
|
71
|
-
onChange,
|
|
72
|
-
value,
|
|
73
|
-
...other
|
|
74
|
-
}));
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/UI/inputs/toggle/FluentToggle.jsx
|
|
79
|
-
const FluentSwitch = withStyles((theme) => ({
|
|
80
|
-
root: {
|
|
81
|
-
width: 40,
|
|
82
|
-
height: 20,
|
|
83
|
-
padding: 0,
|
|
84
|
-
display: "flex"
|
|
85
|
-
},
|
|
86
|
-
switchBase: {
|
|
87
|
-
padding: 4,
|
|
88
|
-
color: theme.palette.grey[500],
|
|
89
|
-
"&$checked": {
|
|
90
|
-
transform: "translateX(20px)",
|
|
91
|
-
color: theme.palette.common.white,
|
|
92
|
-
"& + $track": {
|
|
93
|
-
opacity: 1,
|
|
94
|
-
borderColor: theme.palette.primary.main
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
thumb: {
|
|
99
|
-
width: 12,
|
|
100
|
-
height: 12,
|
|
101
|
-
boxShadow: "none"
|
|
102
|
-
},
|
|
103
|
-
track: {
|
|
104
|
-
border: `1px solid ${theme.palette.grey[500]}`,
|
|
105
|
-
borderRadius: 20 / 2,
|
|
106
|
-
opacity: 1,
|
|
107
|
-
backgroundColor: theme.palette.common.white
|
|
108
|
-
},
|
|
109
|
-
checked: {}
|
|
110
|
-
}))(Switch);
|
|
111
|
-
const FluentToggle = (props) => {
|
|
112
|
-
const { name, onChange, checked,...otherProps } = props;
|
|
113
|
-
return /* @__PURE__ */ React.createElement(FluentSwitch, {
|
|
114
|
-
...otherProps,
|
|
115
|
-
checked,
|
|
116
|
-
onChange,
|
|
117
|
-
name
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
//#endregion
|
|
122
|
-
//#region src/enums/propertyTypeEnums.ts
|
|
123
|
-
let PropertyTypeEnum = /* @__PURE__ */ function(PropertyTypeEnum$1) {
|
|
124
|
-
PropertyTypeEnum$1["Int"] = "int";
|
|
125
|
-
PropertyTypeEnum$1["Long"] = "long";
|
|
126
|
-
PropertyTypeEnum$1["Double"] = "double";
|
|
127
|
-
PropertyTypeEnum$1["DateTime"] = "DateTime";
|
|
128
|
-
PropertyTypeEnum$1["String"] = "string";
|
|
129
|
-
PropertyTypeEnum$1["String_Uuid"] = "string uuid";
|
|
130
|
-
PropertyTypeEnum$1["Boolean"] = "bool";
|
|
131
|
-
return PropertyTypeEnum$1;
|
|
132
|
-
}({});
|
|
133
|
-
|
|
134
|
-
//#endregion
|
|
135
|
-
export { DateTimeField, FluentToggle, FormButtons, PropertyTypeEnum, SubmitButton };
|
|
136
|
-
//# sourceMappingURL=propertyTypeEnums-BfQfG6sp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"propertyTypeEnums-BfQfG6sp.js","names":["FormButtonsCore: any","FormButtons: React.FC<FormButtonsProps>","value"],"sources":["../src/utilities/form/SubmitButton.tsx","../src/utilities/form/FormButtons.tsx","../src/UI/inputs/datetimes/DateTimeField.jsx","../src/UI/inputs/toggle/FluentToggle.jsx","../src/enums/propertyTypeEnums.ts"],"sourcesContent":["import { Button, ButtonProps } from '@material-ui/core';\nimport React, { forwardRef, ComponentType } from 'react';\nimport { FormSpy } from 'react-final-form';\nimport { FluentButton } from '../../UI/inputs/buttons/FluentButton';\n\nexport type SubmitButtonProps<\n P = {},\n D extends React.ElementType = 'button'\n > = ButtonProps<D, P> & {\n // @fixme Probably want to swap this with something that'll allow ...otherProps to inherit the specified component's props to pass through\n ButtonComponent?: typeof FluentButton;\n disablePristine: boolean;\n };\n\ntype SubmitButtonComponent<\n P = {},\n D extends React.ElementType = 'button'\n > = ComponentType<SubmitButtonProps<P, D>>;\n\n/**\n * A MUI Button varaint intended for use as the submit button for a form\n */\nexport let SubmitButton = forwardRef<HTMLButtonElement, SubmitButtonProps>((props, ref) => {\n const {\n ButtonComponent = FluentButton,\n disabled,\n disablePristine = true,\n ...otherProps\n } = props;\n\n return (\n <FormSpy subscription={{ submitting: true, pristine: true }}>\n {({ submitting, pristine }) => (\n <ButtonComponent\n ref={ref}\n type=\"submit\"\n disabled={submitting || (disablePristine && pristine) || disabled}\n {...otherProps}\n />\n )}\n </FormSpy>\n );\n});\nSubmitButton.displayName = 'SubmitButton';\n","import { makeStyles } from '@material-ui/core';\nimport React, { forwardRef, } from 'react';\n\nconst useStyles = makeStyles((theme:any) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(1),\n '& > *': {\n margin: `0 ${theme.spacing(2)}px 0 0`,\n },\n },\n}));\n\nexport type FormButtonsProps = {};\n\n/**\n * A MUI Button varaint intended for use as the submit button for a form\n */\nconst FormButtonsCore: any = (\n props: any,\n ref: any\n) => {\n const classes = useStyles(props);\n const { children, ...otherProps } = props;\n\n return (\n <div {...otherProps} ref={ref as any} className={classes.root}>\n {children}\n </div>\n );\n};\nexport const FormButtons: React.FC<FormButtonsProps> = forwardRef(FormButtonsCore);\n","import { DateTime } from 'luxon';\nimport React, { useCallback, useMemo } from 'react';\nimport {\n KeyboardDateTimePicker,\n MuiPickersUtilsProvider\n} from '@material-ui/pickers';\n// import { useIntl } from '../../../intl';\n// import { useDateFormat } from '../../utils/CompanyPreferencesProvider';\nimport DateFnsUtils from '@date-io/date-fns';\n\n/**\n * TextField for date input\n */\nexport const DateTimeField = (props) => {\n const { onChange: onChangeProp, value: valueProp, ...other } = props;\n // TODO: implement intl, use CPS as reference\n // const { shortDateFormatString } = useIntl();\n const dateFormat = 'yyyy-MM-dd HH:mm';\n\n const isValidDate = (date) => {\n return date instanceof Date && !isNaN(date);\n };\n\n const onChange = useCallback(\n (value) =>\n onChangeProp && onChangeProp(isValidDate(value) ? value : undefined),\n [onChangeProp]\n );\n\n const value = useMemo(() => {\n console.log(valueProp);\n return isValidDate(valueProp)\n ? DateTime.fromISO(valueProp.toISOString())\n : null;\n }, [valueProp]);\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <KeyboardDateTimePicker\n format={dateFormat}\n variant='inline'\n onChange={onChange}\n value={value}\n {...other}\n />\n </MuiPickersUtilsProvider>\n );\n};\n","import React from 'react'\nimport { Switch, withStyles } from '@material-ui/core'\n\nconst FluentSwitch = withStyles((theme) => ({\n root: {\n width: 40,\n height: 20,\n padding: 0,\n display: 'flex',\n },\n switchBase: {\n padding: 4,\n color: theme.palette.grey[500],\n '&$checked': {\n transform: 'translateX(20px)',\n color: theme.palette.common.white,\n '& + $track': {\n opacity: 1,\n borderColor: theme.palette.primary.main\n }\n }\n },\n thumb: {\n width: 12,\n height: 12,\n boxShadow: 'none'\n },\n track: {\n border: `1px solid ${theme.palette.grey[500]}`,\n borderRadius: 20 / 2,\n opacity: 1,\n backgroundColor: theme.palette.common.white\n },\n checked: {}\n}))(Switch)\n\nexport const FluentToggle = (props) => {\n const { name, onChange, checked, ...otherProps } = props\n\n return (\n <FluentSwitch\n {...otherProps}\n checked={checked}\n onChange={onChange}\n name={name}\n />\n )\n}\n","export enum PropertyTypeEnum {\n Int = 'int',\n Long = 'long',\n Double = 'double',\n DateTime = 'DateTime',\n String = 'string',\n String_Uuid = 'string uuid',\n Boolean = 'bool'\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,IAAW,eAAe,YAAkD,OAAO,QAAQ;CACzF,MAAM,EACJ,kBAAkB,cAClB,UACA,kBAAkB,KAClB,GAAG,eACD;AAEJ,QACE,oCAAC,WAAQ,cAAc;EAAE,YAAY;EAAM,UAAU;EAAM,KACvD,EAAE,YAAY,eACd,oCAAC;EACM;EACL,MAAK;EACL,UAAU,cAAe,mBAAmB,YAAa;EACzD,GAAI;GACJ,CAEI;EAEZ;AACF,aAAa,cAAc;;;;ACxC3B,MAAM,YAAY,YAAY,WAAe,EAC3C,MAAM;CACJ,SAAS;CACT,eAAe;CACf,YAAY;CACZ,gBAAgB;CAChB,cAAc,MAAM,QAAQ,EAAE;CAC9B,WAAW,MAAM,QAAQ,EAAE;CAC3B,SAAS,EACP,QAAQ,KAAK,MAAM,QAAQ,EAAE,CAAC,SAC/B;CACF,EACF,EAAE;;;;AAOH,MAAMA,mBACJ,OACA,QACG;CACH,MAAM,UAAU,UAAU,MAAM;CAChC,MAAM,EAAE,SAAU,GAAG,eAAe;AAEpC,QACE,oCAAC;EAAI,GAAI;EAAiB;EAAY,WAAW,QAAQ;IACtD,SACG;;AAGV,MAAaC,cAA0C,WAAW,gBAAgB;;;;;;;ACtBlF,MAAa,iBAAiB,UAAU;CACtC,MAAM,EAAE,UAAU,cAAc,OAAO,UAAW,GAAG,UAAU;CAG/D,MAAM,aAAa;CAEnB,MAAM,eAAe,SAAS;AAC5B,SAAO,gBAAgB,QAAQ,CAAC,MAAM,KAAK;;CAG7C,MAAM,WAAW,aACd,YACC,gBAAgB,aAAa,YAAYC,QAAM,GAAGA,UAAQ,OAAU,EACtE,CAAC,aAAa,CACf;CAED,MAAM,QAAQ,cAAc;AAC1B,UAAQ,IAAI,UAAU;AACtB,SAAO,YAAY,UAAU,GACzB,SAAS,QAAQ,UAAU,aAAa,CAAC,GACzC;IACH,CAAC,UAAU,CAAC;AAEf,QACE,oCAAC,2BAAwB,OAAO,gBAC9B,oCAAC;EACC,QAAQ;EACR,SAAQ;EACE;EACH;EACP,GAAI;GACJ,CACsB;;;;;AC1C9B,MAAM,eAAe,YAAY,WAAW;CAC1C,MAAM;EACJ,OAAO;EACP,QAAQ;EACR,SAAS;EACT,SAAS;EACV;CACD,YAAY;EACV,SAAS;EACT,OAAO,MAAM,QAAQ,KAAK;EAC1B,aAAa;GACX,WAAW;GACX,OAAO,MAAM,QAAQ,OAAO;GAC5B,cAAc;IACZ,SAAS;IACT,aAAa,MAAM,QAAQ,QAAQ;IACpC;GACF;EACF;CACD,OAAO;EACL,OAAO;EACP,QAAQ;EACR,WAAW;EACZ;CACD,OAAO;EACL,QAAQ,aAAa,MAAM,QAAQ,KAAK;EACxC,cAAc,KAAK;EACnB,SAAS;EACT,iBAAiB,MAAM,QAAQ,OAAO;EACvC;CACD,SAAS,EAAE;CACZ,EAAE,CAAC,OAAO;AAEX,MAAa,gBAAgB,UAAU;CACrC,MAAM,EAAE,MAAM,UAAU,QAAS,GAAG,eAAe;AAEnD,QACE,oCAAC;EACC,GAAI;EACK;EACC;EACJ;GACN;;;;;AC7CN,IAAY,gEAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { getAccessToken, getMergedConfig, handleResponseErrors, whitelistedPaths } from "./apiHelpers-DZPI1QCL.js";
|
|
2
|
-
import { createContext, useContext, useEffect, useMemo } from "react";
|
|
3
|
-
import useAxios from "axios-hooks";
|
|
4
|
-
import Axios from "axios";
|
|
5
|
-
|
|
6
|
-
//#region src/utilities/axiosInterceptors.js
|
|
7
|
-
const axiosInterceptors = () => {
|
|
8
|
-
Axios.interceptors.request.use(async (config) => {
|
|
9
|
-
if (!whitelistedPaths.includes(window.location.pathname)) {
|
|
10
|
-
let accessToken = "";
|
|
11
|
-
if (!config?.headers?.Authorization) accessToken = await getAccessToken();
|
|
12
|
-
return getMergedConfig(accessToken, config);
|
|
13
|
-
}
|
|
14
|
-
return config;
|
|
15
|
-
}, (error) => Promise.reject(error));
|
|
16
|
-
Axios.interceptors.response.use((response) => response, async (error) => {
|
|
17
|
-
const config = error?.config;
|
|
18
|
-
if (error?.response?.status === 401 && !config?._retry && !whitelistedPaths.includes(window.location.pathname)) {
|
|
19
|
-
config.headers.Authorization = `Bearer ${await getAccessToken()}`;
|
|
20
|
-
config._retry = true;
|
|
21
|
-
return Axios(config);
|
|
22
|
-
}
|
|
23
|
-
return Promise.reject(error);
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var axiosInterceptors_default = axiosInterceptors;
|
|
27
|
-
|
|
28
|
-
//#endregion
|
|
29
|
-
//#region src/utilities/auth/internal.ts
|
|
30
|
-
const UserContext = createContext(null);
|
|
31
|
-
const UserDispatchContext = createContext(null);
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
//#region src/utilities/auth/useUser.ts
|
|
35
|
-
/**
|
|
36
|
-
* Get the current User object (or null if not logged in)
|
|
37
|
-
*
|
|
38
|
-
* Does not redirect to login
|
|
39
|
-
* @see {@link useAuthedUser}
|
|
40
|
-
*/
|
|
41
|
-
function useUser() {
|
|
42
|
-
return useContext(UserContext);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
//#endregion
|
|
46
|
-
//#region src/utilities/input/StringUtilities.js
|
|
47
|
-
const removeWhiteSpace = (str) => {
|
|
48
|
-
if (!str) return "";
|
|
49
|
-
return str.replace(/\s/g, "");
|
|
50
|
-
};
|
|
51
|
-
const camelToPascalCaseWithSpace = (str) => {
|
|
52
|
-
return (str.charAt(0).toUpperCase() + str.slice(1)).replace(/([a-z0-9])([A-Z])/g, "$1 $2");
|
|
53
|
-
};
|
|
54
|
-
const trimStringAfter = (str, character) => {
|
|
55
|
-
const lastIndex = str.lastIndexOf(character);
|
|
56
|
-
return str.substring(0, lastIndex === -1 ? str.length : lastIndex);
|
|
57
|
-
};
|
|
58
|
-
const toLowerFirstChar = (field) => {
|
|
59
|
-
return field?.charAt(0)?.toLowerCase() + field?.slice(1);
|
|
60
|
-
};
|
|
61
|
-
const toUpperFirstChar = (field) => {
|
|
62
|
-
return field?.charAt(0)?.toUpperCase() + field?.slice(1);
|
|
63
|
-
};
|
|
64
|
-
const toTitleCase = (str) => {
|
|
65
|
-
const result = str.replace(/([A-Z][a-z]+)/g, " $1").replace(/([A-Z]+)\b/g, " $1").replace(/_/g, " ").trim();
|
|
66
|
-
return result.charAt(0).toUpperCase() + result.slice(1);
|
|
67
|
-
};
|
|
68
|
-
const pluralize = (str) => {
|
|
69
|
-
if (str.charAt(str.length - 1) === "s") return str;
|
|
70
|
-
else return `${str}s`;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
//#endregion
|
|
74
|
-
//#region src/utilities/useAxiosGet.js
|
|
75
|
-
axiosInterceptors_default();
|
|
76
|
-
/**
|
|
77
|
-
* A custom hook for making GET requests with query parameters.
|
|
78
|
-
* @template T - The expected type of the response data.
|
|
79
|
-
* @param {string} url - The URL for the request.
|
|
80
|
-
* @param {object} [params] - Optional object for query parameters.
|
|
81
|
-
* @param {import('axios').AxiosRequestConfig} [config] - Optional Axios request config.
|
|
82
|
-
* @param {boolean} [isManual] - If true, the request is not made automatically.
|
|
83
|
-
* @returns {import('axios-hooks').AxiosHooksResult<T>}
|
|
84
|
-
*/
|
|
85
|
-
const useAxiosGetQuery = (url, params, config, isManual) => {
|
|
86
|
-
const user = useUser();
|
|
87
|
-
if (!user?.accessToken) isManual = true;
|
|
88
|
-
config.headers = useMemo(() => {
|
|
89
|
-
const currentHeaders = config.headers ?? {};
|
|
90
|
-
currentHeaders.currentTenantId ||= user?.currentTenantId ?? "";
|
|
91
|
-
return currentHeaders;
|
|
92
|
-
}, [user, config]);
|
|
93
|
-
const [{ data, loading, error }, refetch] = useAxios({
|
|
94
|
-
url,
|
|
95
|
-
params,
|
|
96
|
-
...config
|
|
97
|
-
}, { manual: isManual });
|
|
98
|
-
useEffect(() => {
|
|
99
|
-
handleResponseErrors(error);
|
|
100
|
-
}, [error]);
|
|
101
|
-
return [{
|
|
102
|
-
data,
|
|
103
|
-
loading,
|
|
104
|
-
error
|
|
105
|
-
}, refetch];
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* A custom hook for making GET requests with Axios.
|
|
109
|
-
* @template T - The expected type of the response data.
|
|
110
|
-
* @param {string} baseURL - The base URL for the request.
|
|
111
|
-
* @param {string} url - The URL path for the request.
|
|
112
|
-
* @param {import('axios').AxiosRequestConfig} [config={}] - Optional Axios request config.
|
|
113
|
-
* @param {boolean} [isManual] - If true, the request is not made automatically.
|
|
114
|
-
* @param {boolean} [useCache=true] - If true, caching is enabled.
|
|
115
|
-
* @returns {import('axios-hooks').AxiosHooksResult<T>}
|
|
116
|
-
*/
|
|
117
|
-
const useAxiosGet = (baseURL, url, config = {}, isManual, useCache = true) => {
|
|
118
|
-
const user = useUser();
|
|
119
|
-
config.headers = useMemo(() => {
|
|
120
|
-
const currentHeaders = config.headers ?? {};
|
|
121
|
-
currentHeaders.currentTenantId ||= user?.currentTenantId ?? "";
|
|
122
|
-
return currentHeaders;
|
|
123
|
-
}, [user, config]);
|
|
124
|
-
const [{ data, loading, error }, refetch] = useAxios({
|
|
125
|
-
url: `${baseURL}/${url}`,
|
|
126
|
-
...config
|
|
127
|
-
}, {
|
|
128
|
-
manual: isManual,
|
|
129
|
-
useCache
|
|
130
|
-
});
|
|
131
|
-
useEffect(() => {
|
|
132
|
-
handleResponseErrors(error);
|
|
133
|
-
}, [error]);
|
|
134
|
-
return [{
|
|
135
|
-
data,
|
|
136
|
-
loading,
|
|
137
|
-
error
|
|
138
|
-
}, refetch];
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
//#endregion
|
|
142
|
-
export { UserContext, UserDispatchContext, axiosInterceptors_default, camelToPascalCaseWithSpace, pluralize, removeWhiteSpace, toLowerFirstChar, toTitleCase, toUpperFirstChar, trimStringAfter, useAxiosGet, useAxiosGetQuery, useUser };
|
|
143
|
-
//# sourceMappingURL=useAxiosGet-Bi4Z0b8W.js.map
|