udp-react-enterprise-component-library 1.0.5-beta.2 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist-tsdown/AmbientGridTemplate-C4cO-UBE.js → dist/AmbientGridTemplate-BLwgiqwK.js} +800 -1133
- package/dist/AmbientGridTemplate-BLwgiqwK.js.map +1 -0
- package/{dist-tsdown/EnvironmentRibbon-W5AjvnLN.js → dist/EnvironmentRibbon-BMvQEZPZ.js} +91 -108
- package/dist/EnvironmentRibbon-BMvQEZPZ.js.map +1 -0
- package/{dist-tsdown/MenuPage-DsZUwqyz.js → dist/MenuPage-DLsNc-P8.js} +104 -160
- package/{dist-tsdown/MenuPage-DsZUwqyz.js.map → dist/MenuPage-DLsNc-P8.js.map} +1 -1
- package/{dist-tsdown/MyExportsPage-DWbSEbU5.js → dist/MyExportsPage-BYH2Wl9k.js} +120 -151
- package/dist/{MyExportsPage-B-xwnIEc.js.map → MyExportsPage-BYH2Wl9k.js.map} +1 -1
- package/dist/MyExportsPage-CVUIXWTf.js +8 -0
- package/{dist-tsdown/PageContainer-CWhjU1zS.js → dist/PageContainer-B65gsUfF.js} +401 -599
- package/dist/PageContainer-B65gsUfF.js.map +1 -0
- package/dist/PageNotFoundRoute-BbBtA9Cz.js +3 -0
- package/dist/PageNotFoundRoute-CxYZNEhN.js +69 -0
- package/{dist-tsdown/PageNotFoundRoute-Z5qYmErL.js.map → dist/PageNotFoundRoute-CxYZNEhN.js.map} +1 -1
- package/{dist-tsdown/PasswordResetRedirect-D6RVOdwy.js → dist/PasswordResetRedirect-BHnkAW40.js} +24 -34
- package/{dist-tsdown/PasswordResetRedirect-D6RVOdwy.js.map → dist/PasswordResetRedirect-BHnkAW40.js.map} +1 -1
- package/dist/{PasswordResetRedirect-CX9MEbof.js → PasswordResetRedirect-tUV2yEkH.js} +1 -1
- package/{dist-tsdown/SearchUtilities-URbeAh75.js → dist/SearchUtilities-dbXvMYoa.js} +5 -5
- package/dist/SearchUtilities-dbXvMYoa.js.map +1 -0
- package/{dist-tsdown/SideSheet-DcEfnfH_.js → dist/SideSheet-CPHhyWLB.js} +99 -132
- package/dist/SideSheet-CPHhyWLB.js.map +1 -0
- package/dist/UdpPublicForm-BrVSSMCN.js +4 -0
- package/dist/{UdpPublicForm-BNe1yTjb.js → UdpPublicForm-DFCL1GzD.js} +16 -7
- package/{dist-tsdown/UdpPublicForm-EOSy6X_O.js.map → dist/UdpPublicForm-DFCL1GzD.js.map} +1 -1
- package/{dist-tsdown/UtilitySideBar-D4Gdx13d.js → dist/UtilitySideBar-B4r2IAv5.js} +185 -303
- package/{dist-tsdown/UtilitySideBar-D4Gdx13d.js.map → dist/UtilitySideBar-B4r2IAv5.js.map} +1 -1
- package/{dist-tsdown/VirtualBrowser-OXhftZwa.js → dist/VirtualBrowser-C_IJ0I6f.js} +64 -85
- package/dist/VirtualBrowser-C_IJ0I6f.js.map +1 -0
- package/dist/WorkflowContainer-8-mmebY0.js +9 -0
- package/{dist-tsdown/WorkflowContainer-C2W0pr5f.js → dist/WorkflowContainer-DKwRWi1i.js} +200 -319
- package/dist/WorkflowContainer-DKwRWi1i.js.map +1 -0
- package/{dist-tsdown/apiHelpers-DtpC3VqG.js → dist/apiHelpers-t3rfkjFZ.js} +9 -13
- package/{dist-tsdown/apiHelpers-DtpC3VqG.js.map → dist/apiHelpers-t3rfkjFZ.js.map} +1 -1
- package/dist/index.js +10584 -15705
- package/dist/index.js.map +1 -1
- package/{dist-tsdown/propertyTypeEnums-CaDtepcE.js → dist/propertyTypeEnums-DTGsK5-s.js} +22 -30
- package/dist/propertyTypeEnums-DTGsK5-s.js.map +1 -0
- package/dist/types/AGLicense.d.ts +1 -0
- package/dist/types/UI/AlertContainer.d.ts +1 -0
- package/dist/types/UI/Box.d.ts +2 -0
- package/dist/types/UI/Grid.d.ts +1 -0
- package/dist/types/UI/SuccessAction.d.ts +1 -0
- package/dist/types/UI/accordion/Accordion.d.ts +1 -0
- package/dist/types/UI/advancedSearchBuilder/UdpAdvancedSearchBuilder.d.ts +2 -0
- package/dist/types/UI/charts/InsightRenderer.d.ts +20 -0
- package/dist/types/UI/charts/UdpBarChart.d.ts +7 -0
- package/dist/types/UI/charts/UdpDistributionChart.d.ts +5 -0
- package/dist/types/UI/charts/UdpDonutChart.d.ts +8 -0
- package/dist/types/UI/charts/UdpLineChart.d.ts +7 -0
- package/dist/types/UI/charts/index.d.ts +6 -0
- package/dist/types/UI/charts/types.d.ts +62 -0
- package/dist/types/UI/components/dataDisplay/Ellipse.d.ts +8 -0
- package/dist/types/UI/components/dataDisplay/EmailDisplay.d.ts +1 -0
- package/dist/types/UI/components/dataDisplay/SmsDisplay.d.ts +1 -0
- package/dist/types/UI/components/dataDisplay/Sticky.d.ts +8 -0
- package/dist/types/UI/components/dataDisplay/Token.d.ts +13 -0
- package/dist/types/UI/components/feedback/Adornment.d.ts +6 -0
- package/dist/types/UI/containers/DynamicContainerWithMenu.d.ts +1 -0
- package/dist/types/UI/dataDisplay/AmbientList.d.ts +15 -0
- package/dist/types/UI/dataDisplay/AvatarAlphabet.d.ts +1 -0
- package/dist/types/UI/dataDisplay/ChipAlphabet.d.ts +6 -0
- package/dist/types/UI/dataDisplay/CompactDataList.d.ts +1 -0
- package/dist/types/UI/dataDisplay/CompactDataListItem.d.ts +1 -0
- package/dist/types/UI/dataDisplay/EmptyStateDisplay.d.ts +19 -0
- package/dist/types/UI/dataDisplay/FluentActivity/FluentActivity.d.ts +1 -0
- package/dist/types/UI/dataDisplay/FluentActivity/FluentActivityRow.d.ts +1 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/FluentBody/index.d.ts +8 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/FluentCell/index.d.ts +78 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/FluentDataTable.d.ts +11 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/FluentHead/index.d.ts +9 -0
- package/dist/types/UI/dataDisplay/FluentDataTable/FluentRow/index.d.ts +8 -0
- package/dist/types/UI/dataDisplay/FluentListElement.d.ts +8 -0
- package/dist/types/UI/dataDisplay/FluentListItem.d.ts +1 -0
- package/dist/types/UI/dataDisplay/GraphCard.d.ts +31 -0
- package/dist/types/UI/dataDisplay/HeaderExpander.d.ts +31 -0
- package/dist/types/UI/dataDisplay/HintPanel.d.ts +10 -0
- package/dist/types/UI/dataDisplay/StatusChip.d.ts +9 -0
- package/dist/types/UI/dataDisplay/StatusFlags.d.ts +31 -0
- package/dist/types/UI/dataDisplay/SummaryBlock.d.ts +30 -0
- package/dist/types/UI/dataDisplay/TimelineCalendar.d.ts +1 -0
- package/dist/types/UI/dataDisplay/address/AddressListItem.d.ts +3 -0
- package/dist/types/UI/dataDisplay/cardList/CardList.d.ts +40 -0
- package/dist/types/UI/dataDisplay/cardList/enum.d.ts +5 -0
- package/dist/types/UI/dataDisplay/directory/Directory.d.ts +9 -0
- package/dist/types/UI/dataDisplay/directory/DirectoryListItem.d.ts +4 -0
- package/dist/types/UI/dataDisplay/entityHeader/EntityHeader.d.ts +13 -0
- package/dist/types/UI/dataDisplay/entityHeader/functions/groupSectionData.d.ts +1 -0
- package/dist/types/UI/dataDisplay/entityHeader/functions/useDivideArrayIntoGroups.d.ts +2 -0
- package/dist/types/UI/dataDisplay/entityHeader/functions/useElementWidth.d.ts +15 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/AlertPill.d.ts +47 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderContainer.d.ts +16 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderFlags.d.ts +4 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderList.d.ts +1 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderListItem.d.ts +1 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderSection.d.ts +16 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderStatList.d.ts +1 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderStatListItem.d.ts +1 -0
- package/dist/types/UI/dataDisplay/entityHeader/ui/EntityHeaderStats.d.ts +4 -0
- package/dist/types/UI/dataDisplay/map/ColorKey.d.ts +16 -0
- package/dist/types/UI/dataDisplay/map/FluentIconKey.d.ts +2 -0
- package/dist/types/UI/dataDisplay/map/IconKey.d.ts +16 -0
- package/dist/types/UI/dataDisplay/notes/Note.d.ts +7 -0
- package/dist/types/UI/dataDisplay/notes/Notes.d.ts +11 -0
- package/dist/types/UI/dataDisplay/ticketCard/NotificationElement.d.ts +11 -0
- package/dist/types/UI/dataDisplay/ticketCard/StatusLineItem.d.ts +31 -0
- package/dist/types/UI/dataDisplay/ticketCard/TicketCard.d.ts +39 -0
- package/dist/types/UI/dataDisplay/typography/FormHeaders.d.ts +2 -0
- package/dist/types/UI/dataDisplay/typography/SideSheetHeader.d.ts +4 -0
- package/dist/types/UI/dataDisplay/typography/SidebarHeader.d.ts +1 -0
- package/dist/types/UI/dataDisplay/typography/StandardTitle.d.ts +1 -0
- package/dist/types/UI/dataDisplay/typography/StylizedTitle.d.ts +24 -0
- package/dist/types/UI/dataDisplay/typography/Typography.d.ts +1 -0
- package/dist/types/UI/dataDisplay/visualization/AmbientVisualizer.d.ts +63 -0
- package/dist/types/UI/dataDisplay/visualization/GaugeGraph.d.ts +1 -0
- package/dist/types/UI/dataDisplay/visualization/RatioVisulization.d.ts +5 -0
- package/dist/types/UI/dataDisplay/visualization/amCharts/AmChart.d.ts +11 -0
- package/dist/types/UI/dataDisplay/visualization/amCharts/AmSankeyChart.d.ts +2 -0
- package/dist/types/UI/demos/InputsExample.d.ts +3 -0
- package/dist/types/UI/feedback/AmbientAlert.d.ts +12 -0
- package/dist/types/UI/feedback/AmbientToast.d.ts +1 -0
- package/dist/types/UI/feedback/FluentDialog.d.ts +1 -0
- package/dist/types/UI/feedback/NodeLoader.d.ts +4 -0
- package/dist/types/UI/feedback/PageLoading.d.ts +1 -0
- package/dist/types/UI/fileViewer/FileViewer.d.ts +1 -0
- package/dist/types/UI/fileViewer/imageSlider/Image.d.ts +1 -0
- package/dist/types/UI/fileViewer/imageSlider/ImageFooter.d.ts +1 -0
- package/dist/types/UI/fileViewer/imageSlider/ImageSlider.d.ts +1 -0
- package/dist/types/UI/fileViewer/imageSlider/ImageViewerSideSheet.d.ts +1 -0
- package/dist/types/UI/fileViewer/pdfViewer/ControlPanel.d.ts +2 -0
- package/dist/types/UI/fileViewer/pdfViewer/PDFViewer.d.ts +11 -0
- package/dist/types/UI/fileViewer/utils/fileTypes.d.ts +1 -0
- package/dist/types/UI/fileViewer/utils/fileUtils.d.ts +2 -0
- package/dist/types/UI/floorplans/CoreLayoutFloorplan.d.ts +189 -0
- package/dist/types/UI/forms/CrudForm.d.ts +29 -0
- package/dist/types/UI/forms/LoginForm.d.ts +1 -0
- package/dist/types/UI/forms/PaymentReversalForm.d.ts +5 -0
- package/dist/types/UI/forms/UdpCrudFormFields.d.ts +9 -0
- package/dist/types/UI/forms/VirtualForm.d.ts +17 -0
- package/dist/types/UI/iframe/Iframe.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/AdvanceButton.d.ts +4 -0
- package/dist/types/UI/inputs/buttons/AmbientCardButton.d.ts +21 -0
- package/dist/types/UI/inputs/buttons/AmbientChipButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/AmbientPopoverMenuItem.d.ts +5 -0
- package/dist/types/UI/inputs/buttons/AmbientToggleButton.d.ts +27 -0
- package/dist/types/UI/inputs/buttons/AmbientToggleButtonGroup.d.ts +2 -0
- package/dist/types/UI/inputs/buttons/AmbientToggleButtonGroupDefault.d.ts +63 -0
- package/dist/types/UI/inputs/buttons/AmbientTokenButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/FUISquareIconButton.d.ts +5 -0
- package/dist/types/UI/inputs/buttons/FluentButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/FluentCompoundButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/FluentIconButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/FluentMenuListButton.d.ts +9 -0
- package/dist/types/UI/inputs/buttons/FluentMenuListItem.d.ts +9 -0
- package/dist/types/UI/inputs/buttons/FluentUploadButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/FluentUploadIconButton.d.ts +1 -0
- package/dist/types/UI/inputs/buttons/IconButtonWithToolTip.d.ts +12 -0
- package/dist/types/UI/inputs/buttons/PrimaryActionButton.d.ts +6 -0
- package/dist/types/UI/inputs/buttons/ToolBarButton.d.ts +11 -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/checkbox/FluentCheckbox.d.ts +1 -0
- package/dist/types/UI/inputs/datetimes/DateField.d.ts +6 -0
- package/dist/types/UI/inputs/datetimes/DateTimeField.d.ts +4 -0
- package/dist/types/UI/inputs/datetimes/TimeField.d.ts +5 -0
- package/dist/types/UI/inputs/fieldArrayCard/AutocompleteFinalField.d.ts +3 -0
- package/dist/types/UI/inputs/fieldArrayCard/DateRangeField.d.ts +2 -0
- package/dist/types/UI/inputs/fieldArrayCard/FieldArrayCard.d.ts +1 -0
- package/dist/types/UI/inputs/fieldArrayCard/SearchSideSheet.d.ts +2 -0
- package/dist/types/UI/inputs/fieldArrayCard/fieldArrayCardEnum.d.ts +10 -0
- package/dist/types/UI/inputs/link/BreadCrumbMenu.d.ts +1 -0
- package/dist/types/UI/inputs/link/FluentLink.d.ts +1 -0
- package/dist/types/UI/inputs/menus/AmbientStepper/AmbientStepContent.d.ts +9 -0
- package/dist/types/UI/inputs/menus/AmbientStepper/AmbientStepper.d.ts +13 -0
- package/dist/types/UI/inputs/menus/AmbientStepper/StepLabel.d.ts +64 -0
- package/dist/types/UI/inputs/menus/FluentScrollLoadAutocompleteMenu.d.ts +109 -0
- package/dist/types/UI/inputs/menus/FluentSelectDirectoryMenu.d.ts +6 -0
- package/dist/types/UI/inputs/menus/FluentSelectGroupMenu.d.ts +7 -0
- package/dist/types/UI/inputs/menus/FluentSelectMenu-old.d.ts +1 -0
- package/dist/types/UI/inputs/menus/FluentSelectMenu.d.ts +9 -0
- package/dist/types/UI/inputs/menus/FluentSimpleSelect.d.ts +1 -0
- package/dist/types/UI/inputs/pickers/FluentColorPicker.d.ts +1 -0
- package/dist/types/UI/inputs/pickers/FluentDatePicker.d.ts +9 -0
- package/dist/types/UI/inputs/pickers/FluentDateTimePicker.d.ts +9 -0
- package/dist/types/UI/inputs/pickers/FluentTimePicker.d.ts +13 -0
- package/dist/types/UI/inputs/pickers/UdpDateSelector.d.ts +10 -0
- package/dist/types/UI/inputs/pickers/UdpTimeSelector.d.ts +14 -0
- package/dist/types/UI/inputs/radio/FluentRadio.d.ts +1 -0
- package/dist/types/UI/inputs/radio/FluentRadioGroup.d.ts +1 -0
- package/dist/types/UI/inputs/richEditors/CkRichEditor.d.ts +1 -0
- package/dist/types/UI/inputs/sliders/FluentInputSlider.d.ts +3 -0
- package/dist/types/UI/inputs/textField/AmbientAutoComplete.d.ts +1 -0
- package/dist/types/UI/inputs/textField/AmbientTextField.d.ts +21 -0
- package/dist/types/UI/inputs/textField/FluentSearchField.d.ts +1 -0
- package/dist/types/UI/inputs/textField/FluentTagField.d.ts +2 -0
- package/dist/types/UI/inputs/textField/FluentTextField.d.ts +2 -0
- package/dist/types/UI/inputs/textField/FluentTextFieldAutoComplete.d.ts +1 -0
- package/dist/types/UI/inputs/textField/KeyValueTextField.d.ts +1 -0
- package/dist/types/UI/inputs/toggle/FluentToggle.d.ts +1 -0
- package/dist/types/UI/loading/CircularProgress.d.ts +1 -0
- package/dist/types/UI/loading/LinearProgress.d.ts +1 -0
- package/dist/types/UI/loading/LoadingIndicator.d.ts +4 -0
- package/dist/types/UI/loading/LoadingOverlay.d.ts +4 -0
- package/dist/types/UI/mapLayout/MapLayout.d.ts +1 -0
- package/dist/types/UI/mapLayout/ui/ActionsRenderer.d.ts +2 -0
- package/dist/types/UI/mapLayout/ui/CheckboxGroup.d.ts +1 -0
- package/dist/types/UI/mapLayout/ui/CheckboxList.d.ts +1 -0
- package/dist/types/UI/mapLayout/ui/CompactCard.d.ts +1 -0
- package/dist/types/UI/mapLayout/ui/ListCard.d.ts +9 -0
- package/dist/types/UI/mapLayout/ui/ListView.d.ts +2 -0
- package/dist/types/UI/mapLayout/ui/MapLayoutToolbar.d.ts +2 -0
- package/dist/types/UI/mapLayout/ui/PopoverCard.d.ts +1 -0
- package/dist/types/UI/mapLayout/ui/PopoverOverlay.d.ts +2 -0
- package/dist/types/UI/mapLayout/ui/Statistic.d.ts +1 -0
- package/dist/types/UI/mapLayout/utilities/MapUtilities.d.ts +12 -0
- package/dist/types/UI/maps/UdpMap.d.ts +120 -0
- package/dist/types/UI/maps/UdpMapComponent.d.ts +128 -0
- package/dist/types/UI/maps/UdpMapToolbar.d.ts +87 -0
- package/dist/types/UI/navigation/FluentSideNav.d.ts +1 -0
- package/dist/types/UI/navigation/menus/AppMenu.d.ts +6 -0
- package/dist/types/UI/navigation/menus/AppMenuItem.d.ts +25 -0
- package/dist/types/UI/navigation/menus/AppMenuItemComponent.d.ts +1 -0
- package/dist/types/UI/navigation/menus/Expander.d.ts +1 -0
- package/dist/types/UI/navigation/menus/ExpanderItem.d.ts +4 -0
- package/dist/types/UI/navigation/menus/FluentMenuListItem.d.ts +5 -0
- package/dist/types/UI/navigation/tabs/UdpTabPanel.d.ts +1 -0
- package/dist/types/UI/navigation/tabs/UdpTabUtility.d.ts +1 -0
- package/dist/types/UI/navigation/tabs/UdpTabs.d.ts +1 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/FluentSimpleTab.d.ts +1 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/FluentSimpleTabs.d.ts +1 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/FluentTabPanel.d.ts +8 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/FluentTabPanels.d.ts +17 -0
- package/dist/types/UI/navigation/tabs/defaultTabs/FluentTabUtility.d.ts +1 -0
- package/dist/types/UI/property/PropertyFields.d.ts +16 -0
- package/dist/types/UI/property/widgets/AutoCompletePropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/BooleanPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/DatePropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/DateTimePropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/FloatPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/IntegerPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/MultilineTextPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/NumericPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/SelectPropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/TextPropertyWidget.d.ts +11 -0
- package/dist/types/UI/property/widgets/TimePropertyWidget.d.ts +7 -0
- package/dist/types/UI/property/widgets/index.d.ts +15 -0
- package/dist/types/UI/stepper/types.d.ts +38 -0
- package/dist/types/UI/stepper/udp-stepper.d.ts +3 -0
- package/dist/types/UI/support/SupportCaseForm.d.ts +6 -0
- package/dist/types/UI/support/SupportCaseSideSheet.d.ts +9 -0
- package/dist/types/UI/surfaces/NestedGrid/NestedGrid.d.ts +18 -0
- package/dist/types/UI/surfaces/NestedGrid/ui/ExpandRenderer.d.ts +5 -0
- package/dist/types/UI/surfaces/SideSheet.d.ts +60 -0
- package/dist/types/UI/surfaces/cards/AmbientCard.d.ts +1 -0
- package/dist/types/UI/surfaces/cards/AmbientCardTitle.d.ts +32 -0
- package/dist/types/UI/surfaces/cards/AmbientVisualizationCard.d.ts +10 -0
- package/dist/types/UI/surfaces/cards/BioCard.d.ts +10 -0
- package/dist/types/UI/surfaces/cards/ContentDisplayCard.d.ts +19 -0
- package/dist/types/UI/surfaces/cards/FUICard.d.ts +4 -0
- package/dist/types/UI/surfaces/cards/FUICardHeader.d.ts +2 -0
- package/dist/types/UI/surfaces/cards/FluentCard.d.ts +4 -0
- package/dist/types/UI/surfaces/cards/FluentCardActions.d.ts +4 -0
- package/dist/types/UI/surfaces/cards/FluentCardContent.d.ts +4 -0
- package/dist/types/UI/surfaces/cards/FluentCardHeader.d.ts +4 -0
- package/dist/types/UI/surfaces/cards/FluentCardText.d.ts +1 -0
- package/dist/types/UI/surfaces/cards/InfoCard.d.ts +54 -0
- package/dist/types/UI/surfaces/cards/QuickViewCard.d.ts +14 -0
- package/dist/types/UI/surfaces/cards/newsCard/NewsCard.d.ts +34 -0
- package/dist/types/UI/surfaces/cards/workOrderCard/WorkOrderCard.d.ts +12 -0
- package/dist/types/UI/surfaces/cards/workOrderCard/WorkOrderHeader.d.ts +4 -0
- package/dist/types/UI/templates/AmbientGridTemplate.d.ts +122 -0
- package/dist/types/UI/templates/DraggableSidebarTemplate.d.ts +1 -0
- package/dist/types/UI/templates/OpenPage.d.ts +4 -0
- package/dist/types/UI/templates/SapFlexibleTemplate.d.ts +5 -0
- package/dist/types/UI/templates/ToggleSection.d.ts +31 -0
- package/dist/types/UI/templates/UdpCalendar.d.ts +1 -0
- package/dist/types/UI/templates/UdpCalendarDayView.d.ts +1 -0
- package/dist/types/UI/templates/UdpCalendarMonthView.d.ts +1 -0
- package/dist/types/UI/templates/UdpCalendarWeekView.d.ts +1 -0
- package/dist/types/UI/templates/UdpCalendarYearView.d.ts +1 -0
- package/dist/types/UI/templates/UdpGridTemplate.d.ts +1 -0
- package/dist/types/UI/templates/newGrid/ApiMethodInstanceUdpGrid.d.ts +1 -0
- package/dist/types/UI/templates/newGrid/ApiMethodUdpGrid.d.ts +1 -0
- package/dist/types/UI/templates/newGrid/BackwardsCompatibleGrid.d.ts +5 -0
- package/dist/types/UI/templates/newGrid/ClientSideUdpGrid.d.ts +1 -0
- package/dist/types/UI/templates/newGrid/EntityMaintenanceUdpGrid.d.ts +2 -0
- package/dist/types/UI/templates/newGrid/ServerSideUdpGrid.d.ts +1 -0
- package/dist/types/UI/templates/ui/ExtenderToggle.d.ts +17 -0
- package/dist/types/UI/templates/ui/GridGroupingHeader.d.ts +16 -0
- package/dist/types/UI/templates/ui/GridGroupingSidebar.d.ts +37 -0
- package/dist/types/UI/templates/ui/GridSidebarContainer.d.ts +10 -0
- package/dist/types/UI/templates/ui/TokenGroupItem.d.ts +24 -0
- package/dist/types/UI/templates/ui/renderers/ActionsRenderer.d.ts +1 -0
- package/dist/types/UI/templates/ui/renderers/IconRenderer.d.ts +4 -0
- package/dist/types/UI/templates/ui/renderers/StatusCellRenderer.d.ts +1 -0
- package/dist/types/UI/timeline/ExtendActions.d.ts +2 -0
- package/dist/types/UI/timeline/ExtendedHeader.d.ts +2 -0
- package/dist/types/UI/timeline/TimeEntryStates.d.ts +1 -0
- package/dist/types/UI/timeline/TimeLine.d.ts +6 -0
- package/dist/types/UI/timeline/TimelineElement.d.ts +2 -0
- package/dist/types/UI/timeline/UdpTimeline.d.ts +1 -0
- package/dist/types/UI/timeline/UdpTimelineContent.d.ts +1 -0
- package/dist/types/UI/timeline/UdpTimelineDot.d.ts +1 -0
- package/dist/types/UI/timeline/UdpTimelineItem.d.ts +1 -0
- package/dist/types/UI/timeline/UdpTimelineItemConnector.d.ts +1 -0
- package/dist/types/UI/timeline/UdpTimelineItemSeparator.d.ts +1 -0
- package/dist/types/UI/timeline/fluentTimeline/FluentTimeline.d.ts +1 -0
- package/dist/types/UI/timeline/fluentTimeline/FluentTimelineContent.d.ts +1 -0
- package/dist/types/UI/timeline/fluentTimeline/FluentTimelineHeader.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/AggregateChip.d.ts +13 -0
- package/dist/types/UI/utilityDisplay/BulkActionsGridButton.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/ChipSection.d.ts +41 -0
- package/dist/types/UI/utilityDisplay/Divider.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/FormControl.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/FormControlLabel.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/GridActionBar.d.ts +37 -0
- package/dist/types/UI/utilityDisplay/GridPrimaryBar.d.ts +83 -0
- package/dist/types/UI/utilityDisplay/GridViewsSideSheet.d.ts +17 -0
- package/dist/types/UI/utilityDisplay/IndicatorChip.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/InputAdornment.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/SaveViewFormDialog.d.ts +4 -0
- package/dist/types/UI/utilityDisplay/UtilityBar.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/UtilitySideBar.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/alerts/UdpAlert.d.ts +9 -0
- package/dist/types/UI/utilityDisplay/alerts/UdpAlertsContainer.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/ui/UtilitySearch.d.ts +5 -0
- package/dist/types/UI/utilityDisplay/utilities/aggregateUtils.d.ts +1 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/PrimaryActionHeader.d.ts +148 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/UtilityTabHeader.d.ts +6 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/ui/PAHAdditionalRightComponent.d.ts +4 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/ui/PAHAdditionalTitleComponent.d.ts +4 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/ui/PAHExport.d.ts +5 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/ui/TeleporterSource.d.ts +8 -0
- package/dist/types/UI/utilityDisplay/utilityHeader/ui/teleporter.d.ts +1 -0
- package/dist/types/UI/widgets/FluentComponents/ChartSummaryToggle.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/FUIMenuItem.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/SimpleTable.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/atoms/FluentDisplayNumbers.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/atoms/FluentStatsSnippet.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/atoms/FluentTrendArrow.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/molecules/FluentPrimaryStatNumber.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/molecules/FluentSecondaryStatNumber.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/molecules/FluentStatNumber.d.ts +2 -0
- package/dist/types/UI/widgets/FluentComponents/molecules/FluentTimeline.d.ts +2 -0
- package/dist/types/UI/widgets/ItemsWidgetCard.d.ts +46 -0
- package/dist/types/UI/widgets/WidgetCard.d.ts +5 -0
- package/dist/types/UI/widgets/library/BarChartWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/BubbleWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/CircleGaugeWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/DateTrendWidget.d.ts +14 -0
- package/dist/types/UI/widgets/library/DensePlotWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/DonutChartWidget.d.ts +14 -0
- package/dist/types/UI/widgets/library/GaugeWidget.d.ts +23 -0
- package/dist/types/UI/widgets/library/LineAndSparklinesWidget.d.ts +14 -0
- package/dist/types/UI/widgets/library/LineGraphWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/ProgressBarWidget.d.ts +14 -0
- package/dist/types/UI/widgets/library/RecentlyLoadedNodesWidget.d.ts +7 -0
- package/dist/types/UI/widgets/library/RemindersWidget.d.ts +3 -0
- package/dist/types/UI/widgets/library/SparklineWidget.d.ts +14 -0
- package/dist/types/UI/widgets/library/SparsePlotWidget.d.ts +19 -0
- package/dist/types/UI/widgets/library/TableWidget.d.ts +14 -0
- package/dist/types/UI/widgets/utils/ConvertISODate.d.ts +1 -0
- package/dist/types/UI/widgets/utils/NumberVisualization.d.ts +2 -0
- package/dist/types/UI/widgets/utils/dateUtils.d.ts +3 -0
- package/dist/types/UI/widgets/utils/useId.d.ts +4 -0
- package/dist/types/actions/ActionForm.d.ts +29 -0
- package/dist/types/actions/ActionModal.d.ts +1 -0
- package/dist/types/actions/ActionPanelPlacement.d.ts +17 -0
- package/dist/types/actions/ActionSideSheet.d.ts +33 -0
- package/dist/types/actions/ActionSpeedDial.d.ts +13 -0
- package/dist/types/actions/ActionSplitScreen.d.ts +14 -0
- package/dist/types/actions/ActionWrapper.d.ts +12 -0
- package/dist/types/actions/PageActionWrapper.d.ts +1 -0
- package/dist/types/actions/actionSummary/ActionSummaryCard.d.ts +13 -0
- package/dist/types/actions/actionSummary/ActionSummaryHeader.d.ts +8 -0
- package/dist/types/actions/actionSummary/ActionSummaryListContainer.d.ts +8 -0
- package/dist/types/actions/actionSummary/ActionSummaryListItem.d.ts +10 -0
- package/dist/types/actions/actionSummary/ActionSummaryPopover.d.ts +17 -0
- package/dist/types/actions/actionSummary/index.d.ts +5 -0
- package/dist/types/actions/sidebar/EntitySideBarContent.d.ts +1 -0
- package/dist/types/actions/utils/actionUtils.d.ts +3 -0
- package/dist/types/assets/unityIcons/LibraryData.d.ts +9 -0
- package/dist/types/chatBot/ChatContainer.d.ts +1 -0
- package/dist/types/chatBot/ChatMessage.d.ts +1 -0
- package/dist/types/componentSystems/multiThreadTimeline/functions/mttFunctions.d.ts +8 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/HeightAdjust.d.ts +4 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/MttMainTimeline.d.ts +1 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttMainTimeline/MttTimeline.d.ts +3 -0
- package/dist/types/componentSystems/multiThreadTimeline/mttSummary/MttSummary.d.ts +6 -0
- package/dist/types/componentSystems/multiThreadTimeline/timeline.d.ts +26 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/CircleButton.d.ts +6 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/DateWrapper.d.ts +14 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/DynamicRangeSlider.d.ts +1 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/MttYearTag.d.ts +8 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/MultiDot.d.ts +9 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/SummaryToken.d.ts +18 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineDateBar.d.ts +13 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineDot.d.ts +9 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineHoverCard.d.ts +9 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineNode.d.ts +2 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelinePreloaderNode.d.ts +10 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineStatus.d.ts +6 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.d.ts +20 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineTokenSummary.d.ts +22 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.d.ts +16 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/TimelineWrapper.d.ts +11 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/VisualizationDot.d.ts +11 -0
- package/dist/types/componentSystems/multiThreadTimeline/ui/modified/TimelineToken.d.ts +18 -0
- package/dist/types/componentSystems/pageRenderer/PageRenderer.d.ts +9 -0
- package/dist/types/componentSystems/pageRenderer/hocs/withEngineComponent.d.ts +1 -0
- package/dist/types/componentSystems/pageRenderer/hooks/useReadMetaData.d.ts +34 -0
- package/dist/types/componentSystems/pageRenderer/utils/TableColumnDefs.d.ts +9 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/AgGridSimpleWrapper.d.ts +13 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/BarChartWrapper.d.ts +7 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/BioCardWrapper.d.ts +1 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/DisplayCardWrapper.d.ts +1 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/DonutWrapper.d.ts +7 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/HistogramWrapper.d.ts +1 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/LineGraphWrapper.d.ts +1 -0
- package/dist/types/componentSystems/pageRenderer/wrappers/PrimaryActionHeaderWrapper.d.ts +1 -0
- package/dist/types/constants/reminderConstants.d.ts +4 -0
- package/dist/types/containers/IframeContainer.d.ts +1 -0
- package/dist/types/contexts/ActionContext.d.ts +1 -0
- package/dist/types/contexts/ActionDispatchContext.d.ts +1 -0
- package/dist/types/contexts/ActionLoadingContext.d.ts +1 -0
- package/dist/types/contexts/ActionLoadingDispatchContext.d.ts +1 -0
- package/dist/types/contexts/PageContext.d.ts +15 -0
- package/dist/types/contexts/usePageContext.d.ts +1 -0
- package/dist/types/dashboard/DashboardCardGrid.d.ts +7 -0
- package/dist/types/dashboard/DashboardWidget.d.ts +2 -0
- package/dist/types/dashboard/WidgetCard.d.ts +4 -0
- package/dist/types/dashboard/getWidgetLayout.d.ts +5 -0
- package/dist/types/dashboard/types.d.ts +27 -0
- package/dist/types/dataBrowser/DataBrowserColumnDefs.d.ts +9 -0
- package/dist/types/dataBrowser/DataBrowserContainer.d.ts +1 -0
- package/dist/types/dataBrowser/forms/ParamsMappingFields.d.ts +1 -0
- package/dist/types/dataBrowser/forms/ParamsMappingForm.d.ts +1 -0
- package/dist/types/dataBrowser/forms/RequiredFieldsMappingField.d.ts +1 -0
- package/dist/types/dataBrowser/forms/RequiredFieldsMappingForm.d.ts +1 -0
- package/dist/types/diffChecker/DiffChecker.d.ts +6 -0
- package/dist/types/enums/InputFieldTypeEnums.d.ts +9 -0
- package/dist/types/enums/aggridEnums.d.ts +46 -0
- package/dist/types/enums/menuEnums.d.ts +6 -0
- package/dist/types/enums/pageEnums.d.ts +14 -0
- package/dist/types/enums/paymentMethodTypeEnum.d.ts +6 -0
- package/dist/types/enums/paymentTenderTypeEnum.d.ts +8 -0
- package/dist/types/enums/paymentVendorFactoryEnum.d.ts +10 -0
- package/dist/types/enums/propertyTypeEnums.d.ts +9 -0
- package/dist/types/enums/searchEnums.d.ts +5 -0
- package/dist/types/enums/tagEnums.d.ts +5 -0
- package/dist/types/enums/unitySystemEnums.d.ts +243 -0
- package/dist/types/enums/workflowEnums.d.ts +41 -0
- package/dist/types/hooks/crudActions.d.ts +5 -0
- package/dist/types/hooks/useActions.d.ts +17 -0
- package/dist/types/hooks/useApiCatalog.d.ts +6 -0
- package/dist/types/hooks/useDateLocale.d.ts +7 -0
- package/dist/types/hooks/useDynamicListCalculation.d.ts +20 -0
- package/dist/types/hooks/useFluentIcon.d.ts +3 -0
- package/dist/types/hooks/useItemSubCard.d.ts +10 -0
- package/dist/types/hooks/useOutlook.d.ts +6 -0
- package/dist/types/hooks/useProductVersion.d.ts +1 -0
- package/dist/types/hooks/usePromotedLookupMethods.d.ts +5 -0
- package/dist/types/hooks/usePromotedMethodEntity.d.ts +5 -0
- package/dist/types/hooks/useQueryExecutors.d.ts +23 -0
- package/dist/types/hooks/useSearchFilterParamsMap.d.ts +6 -0
- package/dist/types/hooks/useSetLocationState.d.ts +1 -0
- package/dist/types/hooks/useSplitDecimal.d.ts +8 -0
- package/dist/types/hooks/useUpdateSearchParams.d.ts +1 -0
- package/dist/types/hooks/useWorkflow.d.ts +3 -0
- package/dist/types/hooks/virtualActions.d.ts +3 -0
- package/dist/types/index.d.ts +444 -0
- package/dist/types/index.test.d.ts +1 -0
- package/dist/types/inquiry/AlertFlag.d.ts +4 -0
- package/dist/types/inquiry/AmbientListItem.d.ts +4 -0
- package/dist/types/inquiry/AmbientSplitStatCard.d.ts +4 -0
- package/dist/types/inquiry/AmbientSummaryListHeader.d.ts +4 -0
- package/dist/types/inquiry/EmbeddedInquiry.d.ts +2 -0
- package/dist/types/inquiry/ExecuteApiDialog.d.ts +1 -0
- package/dist/types/inquiry/FilterSearch.d.ts +3 -0
- package/dist/types/inquiry/FlagBlock.d.ts +4 -0
- package/dist/types/inquiry/Inquiry.d.ts +29 -0
- package/dist/types/inquiry/InquiryContainer.d.ts +28 -0
- package/dist/types/inquiry/InquiryTreeMenu.d.ts +1 -0
- package/dist/types/inquiry/InquiryTreeMenuItem.d.ts +1 -0
- package/dist/types/inquiry/InquiryWrapper.d.ts +1 -0
- package/dist/types/inquiry/ItemDescription.d.ts +4 -0
- package/dist/types/inquiry/NodeColumnHeader.d.ts +5 -0
- package/dist/types/inquiry/NodeDetails.d.ts +1 -0
- package/dist/types/inquiry/NodeList.d.ts +1 -0
- package/dist/types/inquiry/ToggleButton.d.ts +4 -0
- package/dist/types/inquiry/dashboard/InquiryDashboard.d.ts +1 -0
- package/dist/types/inquiry/dashboard/RecentlyLoadedNodesTable.d.ts +1 -0
- package/dist/types/inquiry/inquiryBar/InquiryControlList.d.ts +11 -0
- package/dist/types/inquiry/inquiryBar/InquiryNodeControls.d.ts +1 -0
- package/dist/types/inquiry/search/InquiryAdvancedSearch.d.ts +1 -0
- package/dist/types/inquiry/search/InquiryAdvancedSearchForm.d.ts +1 -0
- package/dist/types/inquiry/search/InquirySearchContainer.d.ts +1 -0
- package/dist/types/inquiry/search/InquirySearchDatasource.d.ts +4 -0
- package/dist/types/inquiry/search/InquirySearchTable.d.ts +1 -0
- package/dist/types/layout/GridGroup.d.ts +10 -0
- package/dist/types/layout/GridRow.d.ts +5 -0
- package/dist/types/layout/GridUnit.d.ts +1 -0
- package/dist/types/layout/HeaderLayout.d.ts +3 -0
- package/dist/types/layout/LayoutUnit.d.ts +2 -0
- package/dist/types/layout/getRatio.d.ts +1 -0
- package/dist/types/layout/templates/SideBarTemplate.d.ts +4 -0
- package/dist/types/maintenanceEngine/crudBrowser/CrudBrowserContainer.d.ts +1 -0
- package/dist/types/maintenanceEngine/crudBrowser/CrudTableActionRender.d.ts +2 -0
- package/dist/types/maintenanceEngine/crudBrowser/CrudTableColumnDefs.d.ts +9 -0
- package/dist/types/maintenanceEngine/crudBrowser/CrudTableSidePanel.d.ts +29 -0
- package/dist/types/maintenanceEngine/entityAttributeActions.d.ts +1 -0
- package/dist/types/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +46 -0
- package/dist/types/maintenanceEngine/tableBrowser/TableContainer.d.ts +1 -0
- package/dist/types/maintenanceEngine/virtualBrowser/VirtualBrowser.d.ts +1 -0
- package/dist/types/maintenanceEngine/virtualBrowser/VirtualTableColumnDefs.d.ts +9 -0
- package/dist/types/maintenanceEngine/virtualBrowser/VirtualTableSidePanel.d.ts +25 -0
- package/dist/types/map-library/Controls/Controls.d.ts +3 -0
- package/dist/types/map-library/Controls/CustomControl.d.ts +9 -0
- package/dist/types/map-library/Controls/FullScreenControl.d.ts +1 -0
- package/dist/types/map-library/Controls/ZoomControl.d.ts +1 -0
- package/dist/types/map-library/Controls/index.d.ts +5 -0
- package/dist/types/map-library/Layers/ImageLayer.d.ts +4 -0
- package/dist/types/map-library/Layers/Layers.d.ts +3 -0
- package/dist/types/map-library/Layers/TileLayer.d.ts +4 -0
- package/dist/types/map-library/Layers/VectorLayer.d.ts +6 -0
- package/dist/types/map-library/Layers/index.d.ts +5 -0
- package/dist/types/map-library/Map/Map.d.ts +23 -0
- package/dist/types/map-library/Map/MapContext.d.ts +2 -0
- package/dist/types/map-library/Map/index.d.ts +1 -0
- package/dist/types/map-library/Source/index.d.ts +4 -0
- package/dist/types/map-library/Source/osm.d.ts +3 -0
- package/dist/types/map-library/Source/vector.d.ts +9 -0
- package/dist/types/map-library/Source/xyz.d.ts +7 -0
- package/dist/types/map-library/functions/mapFunctions.d.ts +2 -0
- package/dist/types/map-library/geoLocation/FreeFormField.d.ts +1 -0
- package/dist/types/map-library/geoLocation/GeoLocation.d.ts +3 -0
- package/dist/types/map-library/ui/ControlZoom.d.ts +2 -0
- package/dist/types/map-library/ui/Filter.d.ts +2 -0
- package/dist/types/map-library/ui/FilterOptions.d.ts +2 -0
- package/dist/types/map-library/ui/LocationPin.d.ts +2 -0
- package/dist/types/map-library/ui/MapControls.d.ts +2 -0
- package/dist/types/map-library/ui/MapControlsStandard.d.ts +2 -0
- package/dist/types/map-library/ui/MapFilterBar.d.ts +1 -0
- package/dist/types/map-library/ui/MapSheet.d.ts +1 -0
- package/dist/types/map-library/ui/Position.d.ts +2 -0
- package/dist/types/map-library/ui/TileDisplay.d.ts +1 -0
- package/dist/types/map-library/ui/ToggleViewType.d.ts +2 -0
- package/dist/types/maps/GeoMap.d.ts +3 -0
- package/dist/types/maps/leafletMaps/FluentImageMap.d.ts +13 -0
- package/dist/types/maps/leafletMaps/FluentMap.d.ts +26 -0
- package/dist/types/maps/leafletMaps/ui/MapContent.d.ts +13 -0
- package/dist/types/maps/leafletMaps/ui/MapMarker.d.ts +1 -0
- package/dist/types/maps/openLayerMaps/Controls/Controls.d.ts +4 -0
- package/dist/types/maps/openLayerMaps/Controls/FullScreenControl.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/Controls/index.d.ts +3 -0
- package/dist/types/maps/openLayerMaps/Layers/ImageLayer.d.ts +4 -0
- package/dist/types/maps/openLayerMaps/Layers/Layers.d.ts +3 -0
- package/dist/types/maps/openLayerMaps/Layers/TileLayer.d.ts +4 -0
- package/dist/types/maps/openLayerMaps/Layers/VectorLayer.d.ts +5 -0
- package/dist/types/maps/openLayerMaps/Layers/index.d.ts +5 -0
- package/dist/types/maps/openLayerMaps/Map/Map.d.ts +7 -0
- package/dist/types/maps/openLayerMaps/Map/MapContext.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/Map/index.d.ts +1 -0
- package/dist/types/maps/openLayerMaps/Source/index.d.ts +4 -0
- package/dist/types/maps/openLayerMaps/Source/osm.d.ts +3 -0
- package/dist/types/maps/openLayerMaps/Source/vector.d.ts +9 -0
- package/dist/types/maps/openLayerMaps/Source/xyz.d.ts +7 -0
- package/dist/types/maps/openLayerMaps/ui/ControlZoom.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/Filter.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/LocationPin.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/MapControls.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/MapControlsStandard.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/Position.d.ts +2 -0
- package/dist/types/maps/openLayerMaps/ui/ToggleViewType.d.ts +2 -0
- package/dist/types/menuPage/MenuPage.d.ts +1 -0
- package/dist/types/models/ApiMethodInstance.d.ts +10 -0
- package/dist/types/models/GroupNode.d.ts +13 -0
- package/dist/types/models/Lookup.d.ts +6 -0
- package/dist/types/models/NumberOperator.d.ts +14 -0
- package/dist/types/models/QueryResult.d.ts +9 -0
- package/dist/types/models/SearchOperator.d.ts +17 -0
- package/dist/types/notes/NotesScreen.d.ts +1 -0
- package/dist/types/page/Page.d.ts +2 -0
- package/dist/types/page/PageContainer.d.ts +1 -0
- package/dist/types/page/PageContent.d.ts +4 -0
- package/dist/types/page/PageHeader.d.ts +6 -0
- package/dist/types/page/PageSectionHeader.d.ts +1 -0
- package/dist/types/page/PageSectionSpacer.d.ts +4 -0
- package/dist/types/reminders/CompleteReminderSwitch.d.ts +1 -0
- package/dist/types/reminders/RemindersCard.d.ts +1 -0
- package/dist/types/reminders/RemindersScreen.d.ts +1 -0
- package/dist/types/reports/PowerBIReport.d.ts +1 -0
- package/dist/types/routes/PrivateRoute.d.ts +3 -0
- package/dist/types/routes/UdpRoutes.d.ts +1 -0
- package/dist/types/routes/components/PageForbiddenRoute.d.ts +1 -0
- package/dist/types/routes/components/PageNotFoundRoute.d.ts +1 -0
- package/dist/types/routes/components/PageStatus.d.ts +1 -0
- package/dist/types/routes/components/PasswordResetRedirect.d.ts +1 -0
- package/dist/types/shell/Shell.d.ts +73 -0
- package/dist/types/shell/ui/AmbientProjectSwitcher.d.ts +17 -0
- package/dist/types/shell/ui/EnvironmentRibbon.d.ts +3 -0
- package/dist/types/shell/ui/FluentProfileMenuCard.d.ts +1 -0
- package/dist/types/shell/ui/HelpCenter.d.ts +1 -0
- package/dist/types/shell/ui/LanguageSwitcher.d.ts +1 -0
- package/dist/types/shell/ui/MiniCollapsibleSidebar.d.ts +2 -0
- package/dist/types/shell/ui/NavigationSidebar.d.ts +2 -0
- package/dist/types/shell/ui/SidebarCollapseButton.d.ts +4 -0
- package/dist/types/shell/ui/SidebarListItem.d.ts +5 -0
- package/dist/types/shell/ui/SiteHeader.d.ts +17 -0
- package/dist/types/shell/ui/SiteHeaderRightComponent.d.ts +9 -0
- package/dist/types/shell/ui/UserAvatar.d.ts +9 -0
- package/dist/types/shell/ui/addUser/PasswordValidator.d.ts +10 -0
- package/dist/types/shell/ui/addUser/UserForm.d.ts +2 -0
- package/dist/types/shell/ui/addUser/UserFormFields.d.ts +2 -0
- package/dist/types/shell/ui/addUser/UserFormSideSheet.d.ts +5 -0
- package/dist/types/shell/ui/appSwitcher/FUIAppHeader.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/FUIAppList.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/FUIAppListItem.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/FUIAppSwitcher.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/ProductAppList.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/ProductAppListItem.d.ts +2 -0
- package/dist/types/shell/ui/appSwitcher/UnityApps.d.ts +2 -0
- package/dist/types/stores/actionStore.d.ts +12 -0
- package/dist/types/stores/catalogStore.d.ts +10 -0
- package/dist/types/stores/inquiryStore.d.ts +21 -0
- package/dist/types/stores/lookupsStore.d.ts +8 -0
- package/dist/types/stores/shellStore.d.ts +21 -0
- package/dist/types/stores/teleporterStore.d.ts +13 -0
- package/dist/types/stores/tenantStore.d.ts +12 -0
- package/dist/types/stores/workflowStore.d.ts +15 -0
- package/dist/types/stories/Button.d.ts +41 -0
- package/dist/types/stories/Button.stories.d.ts +35 -0
- package/dist/types/stories/Header.d.ts +18 -0
- package/dist/types/stories/Header.stories.d.ts +23 -0
- package/dist/types/stories/Page.d.ts +18 -0
- package/dist/types/stories/Page.stories.d.ts +23 -0
- package/dist/types/treeMenu/BaseTreeMenu.d.ts +1 -0
- package/dist/types/treeMenu/BaseTreeMenuItem.d.ts +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/udp/ShortcutContent/ListSearch.d.ts +1 -0
- package/dist/types/udp/ShortcutContent/ShortcutContentFinder.d.ts +1 -0
- package/dist/types/udp/export/ExportSidesheet.d.ts +1 -0
- package/dist/types/udp/export/MyExportsPage.d.ts +1 -0
- package/dist/types/udp/export/VisualSearchObject.d.ts +3 -0
- package/dist/types/udp/export/useUdpExport.d.ts +14 -0
- package/dist/types/udp/fileImportMapping/FileImportConfigCard.d.ts +1 -0
- package/dist/types/udp/fileImportMapping/FileImportMappingEnums.d.ts +6 -0
- package/dist/types/udp/fileImportMapping/FileImportMappingWizard.d.ts +2 -0
- package/dist/types/udp/fileImportMapping/ImportDataFromFileMapping.d.ts +1 -0
- package/dist/types/udp/fileImportMapping/SampleFileImportGrid.d.ts +1 -0
- package/dist/types/udp/fileImportMapping/fileUtils.d.ts +3 -0
- package/dist/types/udp/pages/ChatUDP.d.ts +2 -0
- package/dist/types/udp/pages/UdpDataBrowserPage.d.ts +21 -0
- package/dist/types/udp/pages/UdpFormsBuilderPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpFormsListPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpGridPanelManagementPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpGridPanelManagementSidesheet.d.ts +31 -0
- package/dist/types/udp/pages/UdpImportFromFileMappingPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpInquiryMaintenanceEnginePage.d.ts +2 -0
- package/dist/types/udp/pages/UdpMaintenanceConfigPage.d.ts +1 -0
- package/dist/types/udp/pages/UdpMaintenanceEnginePage.d.ts +2 -0
- package/dist/types/udp/pages/UdpNotesPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpPrivateForm.d.ts +2 -0
- package/dist/types/udp/pages/UdpPublicForm.d.ts +2 -0
- package/dist/types/udp/pages/UdpRemindersPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpReportsPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpVerticalManagementPage.d.ts +2 -0
- package/dist/types/udp/pages/UdpVerticalManagementSidesheet.d.ts +2 -0
- package/dist/types/udp/pages/udpPages.d.ts +40 -0
- package/dist/types/udp/utilities/methodUtils.d.ts +5 -0
- package/dist/types/uploader/DragDropFileUpload.d.ts +35 -0
- package/dist/types/uploader/FileProfile.d.ts +2 -0
- package/dist/types/uploader/FileType.d.ts +1 -0
- package/dist/types/uploader/FileUpload.d.ts +2 -0
- package/dist/types/uploader/ImagePreview.d.ts +2 -0
- package/dist/types/utilities/CustomNavigationClient.d.ts +11 -0
- package/dist/types/utilities/DemoJuly/redirectToProduct.d.ts +14 -0
- package/dist/types/utilities/FluentIcon.d.ts +4 -0
- package/dist/types/utilities/TrimForAvatar.d.ts +1 -0
- package/dist/types/utilities/UnityFluentIcon.d.ts +1 -0
- package/dist/types/utilities/UnityIcon.d.ts +1 -0
- package/dist/types/utilities/aggrid/AgTable.d.ts +36 -0
- package/dist/types/utilities/aggrid/GridFunctions.d.ts +9 -0
- package/dist/types/utilities/aggrid/SplitButton.d.ts +4 -0
- package/dist/types/utilities/aggrid/aggridHelpers.d.ts +1 -0
- package/dist/types/utilities/aggrid/datasources/SearchServiceDatasource.d.ts +4 -0
- package/dist/types/utilities/apiHelpers.d.ts +12 -0
- package/dist/types/utilities/auth/AuthDialogs.d.ts +2 -0
- package/dist/types/utilities/auth/AuthProvider.d.ts +5 -0
- package/dist/types/utilities/auth/AuthProviderWrapper.d.ts +1 -0
- package/dist/types/utilities/auth/UserProvider.d.ts +2 -0
- package/dist/types/utilities/auth/authActions.d.ts +9 -0
- package/dist/types/utilities/auth/internal.d.ts +10 -0
- package/dist/types/utilities/auth/signInAuthProvider.d.ts +5 -0
- package/dist/types/utilities/auth/useAccessToken.d.ts +1 -0
- package/dist/types/utilities/auth/useAuthedUser.d.ts +16 -0
- package/dist/types/utilities/auth/useIsUnityAuthenticated.d.ts +1 -0
- package/dist/types/utilities/auth/useSingleLogout.d.ts +2 -0
- package/dist/types/utilities/auth/useUser.d.ts +8 -0
- package/dist/types/utilities/auth/user.d.ts +29 -0
- package/dist/types/utilities/auth/users.d.ts +8 -0
- package/dist/types/utilities/auth/whitelistedPaths.d.ts +1 -0
- package/dist/types/utilities/axiosInterceptors.d.ts +2 -0
- package/dist/types/utilities/brand.d.ts +23 -0
- package/dist/types/utilities/chatBot/ChatBotContext.d.ts +1 -0
- package/dist/types/utilities/chatBot/ChatBotProvider.d.ts +3 -0
- package/dist/types/utilities/chatBot/useChatBot.d.ts +6 -0
- package/dist/types/utilities/crud/useDefaultFormValues.d.ts +6 -0
- package/dist/types/utilities/customIcons/ApprovalIcon.d.ts +6 -0
- package/dist/types/utilities/customIcons/RejectIcon.d.ts +4 -0
- package/dist/types/utilities/entities/entityUtilities.d.ts +3 -0
- package/dist/types/utilities/floorplanFunctions/gridVisualizationFunctions.d.ts +2 -0
- package/dist/types/utilities/form/AltSubmitButton.d.ts +14 -0
- package/dist/types/utilities/form/Field.d.ts +23 -0
- package/dist/types/utilities/form/Form.d.ts +7 -0
- package/dist/types/utilities/form/FormButtons.d.ts +3 -0
- package/dist/types/utilities/form/FormError.d.ts +7 -0
- package/dist/types/utilities/form/FormSpy.d.ts +10 -0
- package/dist/types/utilities/form/SubmitButton.d.ts +14 -0
- package/dist/types/utilities/form/arrayMutators.d.ts +2 -0
- package/dist/types/utilities/form/final-form-scroll/createDecorator.d.ts +5 -0
- package/dist/types/utilities/form/final-form-scroll/findInput.d.ts +2 -0
- package/dist/types/utilities/form/final-form-scroll/getAllInputs.d.ts +2 -0
- package/dist/types/utilities/form/final-form-scroll/isFocusableInput.d.ts +2 -0
- package/dist/types/utilities/form/formHooks.d.ts +12 -0
- package/dist/types/utilities/form/index.d.ts +9 -0
- package/dist/types/utilities/form/paymentForm/AccountPayment.model.d.ts +143 -0
- package/dist/types/utilities/form/paymentForm/BankAccountForm.d.ts +48 -0
- package/dist/types/utilities/form/paymentForm/BankIcon.d.ts +7 -0
- package/dist/types/utilities/form/paymentForm/CashForm.d.ts +9 -0
- package/dist/types/utilities/form/paymentForm/CashIcon.d.ts +7 -0
- package/dist/types/utilities/form/paymentForm/CheckIcon.d.ts +7 -0
- package/dist/types/utilities/form/paymentForm/CreditCardAdornment.d.ts +12 -0
- package/dist/types/utilities/form/paymentForm/CreditCardForm.d.ts +41 -0
- package/dist/types/utilities/form/paymentForm/CreditCardIcon.d.ts +7 -0
- package/dist/types/utilities/form/paymentForm/CreditCardUtils.d.ts +42 -0
- package/dist/types/utilities/form/paymentForm/DisableOverlay.d.ts +7 -0
- package/dist/types/utilities/form/paymentForm/HostedPaymentError.d.ts +20 -0
- package/dist/types/utilities/form/paymentForm/NewCreditCardForm.d.ts +18 -0
- package/dist/types/utilities/form/paymentForm/NewECheckForm.d.ts +15 -0
- package/dist/types/utilities/form/paymentForm/PaymentAccount.model.d.ts +81 -0
- package/dist/types/utilities/form/paymentForm/PaymentBankDetails.d.ts +12 -0
- package/dist/types/utilities/form/paymentForm/PaymentBoxDetail.d.ts +32 -0
- package/dist/types/utilities/form/paymentForm/PaymentCard.d.ts +12 -0
- package/dist/types/utilities/form/paymentForm/PaymentCardDetail.d.ts +19 -0
- package/dist/types/utilities/form/paymentForm/PaymentDropdown.d.ts +32 -0
- package/dist/types/utilities/form/paymentForm/PaymentForm.d.ts +77 -0
- package/dist/types/utilities/form/paymentForm/TabPanel.d.ts +20 -0
- package/dist/types/utilities/form/paymentForm/usePaymentProviderForm.d.ts +12 -0
- package/dist/types/utilities/form/paymentForm/vendorsForms/FiservForm.d.ts +40 -0
- package/dist/types/utilities/form/paymentForm/vendorsForms/ICheckForm.d.ts +46 -0
- package/dist/types/utilities/form/paymentForm/vendorsForms/PaymentusForm.d.ts +13 -0
- package/dist/types/utilities/form/useFieldChangeListener.d.ts +7 -0
- package/dist/types/utilities/iconLibrary/IconLibrary.d.ts +2 -0
- package/dist/types/utilities/iconLibrary/IconLibraryComponent.d.ts +7 -0
- package/dist/types/utilities/iconLibrary/SelectedLibraryItem.d.ts +2 -0
- package/dist/types/utilities/iconLibrary/UnityIconLibrary.d.ts +7 -0
- package/dist/types/utilities/input/DateUtilities.d.ts +3 -0
- package/dist/types/utilities/input/SelectUtilities.d.ts +3 -0
- package/dist/types/utilities/input/StringUtilities.d.ts +7 -0
- package/dist/types/utilities/isValueSelected.d.ts +3 -0
- package/dist/types/utilities/maintenanceEngine/CrudBrowserUtilities.d.ts +5 -0
- package/dist/types/utilities/menus/menuUtilities.d.ts +1 -0
- package/dist/types/utilities/menus/redirectToLink.d.ts +1 -0
- package/dist/types/utilities/page/PageSubHeaderAction.d.ts +9 -0
- package/dist/types/utilities/provider/ActionProvider.d.ts +1 -0
- package/dist/types/utilities/redirect/ExternalRedirectUrlStorage.d.ts +3 -0
- package/dist/types/utilities/redirect/LocalRedirectUrlStorage.d.ts +5 -0
- package/dist/types/utilities/redirect/pages/OutlookCallback.d.ts +1 -0
- package/dist/types/utilities/rules/RuleUtilities.d.ts +40 -0
- package/dist/types/utilities/search/Search.d.ts +37 -0
- package/dist/types/utilities/search/SearchUtilities.d.ts +15 -0
- package/dist/types/utilities/storage/UnitySessionStorage.d.ts +4 -0
- package/dist/types/utilities/stringUtils.d.ts +8 -0
- package/dist/types/utilities/style/ContentContainer.d.ts +29 -0
- package/dist/types/utilities/style/colorConverter.d.ts +3 -0
- package/dist/types/utilities/style/colors.d.ts +76 -0
- package/dist/types/utilities/style/utils/styleUtils.d.ts +2 -0
- package/dist/types/utilities/style/verticalStyles.d.ts +4 -0
- package/dist/types/utilities/systemColors.d.ts +1 -0
- package/dist/types/utilities/tenant/TenantProvider.d.ts +3 -0
- package/dist/types/utilities/tenant/tenantContext.d.ts +1 -0
- package/dist/types/utilities/tenant/useTenant.d.ts +6 -0
- package/dist/types/utilities/theme.d.ts +6 -0
- package/dist/types/utilities/theme.types.d.ts +11 -0
- package/dist/types/utilities/tree/TreeUtilities.d.ts +81 -0
- package/dist/types/utilities/types.d.ts +31 -0
- package/dist/types/utilities/uploader/FileProfile.d.ts +2 -0
- package/dist/types/utilities/uploader/FileType.d.ts +1 -0
- package/dist/types/utilities/uploader/FileUpload.d.ts +1 -0
- package/dist/types/utilities/uploader/ImagePreview.d.ts +2 -0
- package/dist/types/utilities/uploader/formatBytes.d.ts +1 -0
- package/dist/types/utilities/useAxiosGet.d.ts +21 -0
- package/dist/types/utilities/useAxiosMutate.d.ts +6 -0
- package/dist/types/utilities/useDevicePixelRatio.d.ts +6 -0
- package/dist/types/utilities/useGravatar.d.ts +10 -0
- package/dist/types/utilities/usePrevious.d.ts +2 -0
- package/dist/types/utilities/utilityBar/InquiryHeaderControl.d.ts +9 -0
- package/dist/types/utilities/utilityBar/InquiryHeaderSecondary.d.ts +8 -0
- package/dist/types/utilities/utilityBar/InquiryHeaderSecondaryAlert.d.ts +8 -0
- package/dist/types/utilities/utilityBar/InquiryHeaderTitle.d.ts +8 -0
- package/dist/types/utilities/utilityBar/SubHeaderAction.d.ts +8 -0
- package/dist/types/utilities/utilityBar/UtilityBarInport.d.ts +8 -0
- package/dist/types/utilities/workflow/workflowUtilities.d.ts +47 -0
- package/dist/types/workflow/WorkflowContainer.d.ts +1 -0
- package/dist/types/workflow/WorkflowContent.d.ts +1 -0
- package/dist/types/workflow/WorkflowUiInterruptContent.d.ts +1 -0
- package/dist/types/workflow/components/WorkflowTaskFlow.d.ts +1 -0
- package/dist/types/workflow/menus/WorkflowTreeMenu.d.ts +1 -0
- package/dist/types/workflow/menus/WorkflowTreeMenuItem.d.ts +1 -0
- package/package.json +17 -24
- package/dist/AmbientGridTemplate-CvXWVsCb.cjs +0 -4205
- package/dist/AmbientGridTemplate-CvXWVsCb.cjs.map +0 -1
- package/dist/AmbientGridTemplate-Dq2QYPF2.js +0 -3905
- package/dist/AmbientGridTemplate-Dq2QYPF2.js.map +0 -1
- package/dist/EnvironmentRibbon-CgKsTmQ7.cjs +0 -1558
- package/dist/EnvironmentRibbon-CgKsTmQ7.cjs.map +0 -1
- package/dist/EnvironmentRibbon-DBJftQWQ.js +0 -1108
- package/dist/EnvironmentRibbon-DBJftQWQ.js.map +0 -1
- package/dist/MenuPage-DNywMmn2.cjs +0 -562
- package/dist/MenuPage-DNywMmn2.cjs.map +0 -1
- package/dist/MenuPage-MyE8iJHD.js +0 -561
- package/dist/MenuPage-MyE8iJHD.js.map +0 -1
- package/dist/MyExportsPage-B-xwnIEc.js +0 -724
- package/dist/MyExportsPage-C-NEjmfQ.cjs +0 -8
- package/dist/MyExportsPage-CKwuN1wj.js +0 -8
- package/dist/MyExportsPage-CcO8Mf8y.cjs +0 -778
- package/dist/MyExportsPage-CcO8Mf8y.cjs.map +0 -1
- package/dist/PageContainer-DFKnbhBN.cjs +0 -1858
- package/dist/PageContainer-DFKnbhBN.cjs.map +0 -1
- package/dist/PageContainer-SljTiaZr.js +0 -1756
- package/dist/PageContainer-SljTiaZr.js.map +0 -1
- package/dist/PageNotFoundRoute-BR4QPROq.js +0 -112
- package/dist/PageNotFoundRoute-BR4QPROq.js.map +0 -1
- package/dist/PageNotFoundRoute-B_3_Yw5c.js +0 -3
- package/dist/PageNotFoundRoute-Cu88CEUm.cjs +0 -124
- package/dist/PageNotFoundRoute-Cu88CEUm.cjs.map +0 -1
- package/dist/PageNotFoundRoute-DNBUulJh.cjs +0 -3
- package/dist/PasswordResetRedirect-BXP3ftKb.js +0 -86
- package/dist/PasswordResetRedirect-BXP3ftKb.js.map +0 -1
- package/dist/PasswordResetRedirect-CYJBeZIA.cjs +0 -122
- package/dist/PasswordResetRedirect-CYJBeZIA.cjs.map +0 -1
- package/dist/PasswordResetRedirect-DbPv1Au9.cjs +0 -3
- package/dist/SearchUtilities-BYR03EFr.cjs +0 -232
- package/dist/SearchUtilities-BYR03EFr.cjs.map +0 -1
- package/dist/SearchUtilities-Bl4U_j-0.js +0 -202
- package/dist/SearchUtilities-Bl4U_j-0.js.map +0 -1
- package/dist/SideSheet-DKR15EH5.js +0 -485
- package/dist/SideSheet-DKR15EH5.js.map +0 -1
- package/dist/SideSheet-ERkgeXFG.cjs +0 -575
- package/dist/SideSheet-ERkgeXFG.cjs.map +0 -1
- package/dist/UdpPublicForm-1vK6Ug4-.cjs +0 -5
- package/dist/UdpPublicForm-BNe1yTjb.js.map +0 -1
- package/dist/UdpPublicForm-C8eVm1sb.js +0 -4
- package/dist/UdpPublicForm-fWsuCBoR.cjs +0 -52
- package/dist/UdpPublicForm-fWsuCBoR.cjs.map +0 -1
- package/dist/UtilitySideBar-CoLVUjcV.cjs +0 -2647
- package/dist/UtilitySideBar-CoLVUjcV.cjs.map +0 -1
- package/dist/UtilitySideBar-Dz_17lBo.js +0 -2277
- package/dist/UtilitySideBar-Dz_17lBo.js.map +0 -1
- package/dist/VirtualBrowser-79L67ptM.js +0 -572
- package/dist/VirtualBrowser-79L67ptM.js.map +0 -1
- package/dist/VirtualBrowser-CBJQrZar.cjs +0 -573
- package/dist/VirtualBrowser-CBJQrZar.cjs.map +0 -1
- package/dist/WorkflowContainer-0_Aj2YEQ.js +0 -9
- package/dist/WorkflowContainer-C06Cr059.cjs +0 -9
- package/dist/WorkflowContainer-D8L8yLtX.cjs +0 -1774
- package/dist/WorkflowContainer-D8L8yLtX.cjs.map +0 -1
- package/dist/WorkflowContainer-mXeP_hbS.js +0 -1708
- package/dist/WorkflowContainer-mXeP_hbS.js.map +0 -1
- package/dist/apiHelpers-Dyq5plHt.cjs +0 -377
- package/dist/apiHelpers-Dyq5plHt.cjs.map +0 -1
- package/dist/apiHelpers-ntQQ4i7A.js +0 -257
- package/dist/apiHelpers-ntQQ4i7A.js.map +0 -1
- package/dist/chunk-Cn1u12Og.js +0 -34
- package/dist/chunk-DoeelZqw.cjs +0 -51
- package/dist/index.cjs +0 -50843
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -1727
- package/dist/index.d.ts +0 -1723
- package/dist/propertyTypeEnums-BcUuGbb0.js +0 -94
- package/dist/propertyTypeEnums-BcUuGbb0.js.map +0 -1
- package/dist/propertyTypeEnums-NvvbX8dM.cjs +0 -112
- package/dist/propertyTypeEnums-NvvbX8dM.cjs.map +0 -1
- package/dist-tsdown/AmbientGridTemplate-C4cO-UBE.js.map +0 -1
- package/dist-tsdown/AmbientGridTemplate-RvpH04W2.cjs +0 -4151
- package/dist-tsdown/AmbientGridTemplate-RvpH04W2.cjs.map +0 -1
- package/dist-tsdown/EnvironmentRibbon-C5I-zJ7u.cjs +0 -1546
- package/dist-tsdown/EnvironmentRibbon-C5I-zJ7u.cjs.map +0 -1
- package/dist-tsdown/EnvironmentRibbon-W5AjvnLN.js.map +0 -1
- package/dist-tsdown/MenuPage-Zn5ipVRK.cjs +0 -547
- package/dist-tsdown/MenuPage-Zn5ipVRK.cjs.map +0 -1
- package/dist-tsdown/MyExportsPage-B2wf-kFZ.cjs +0 -763
- package/dist-tsdown/MyExportsPage-B2wf-kFZ.cjs.map +0 -1
- package/dist-tsdown/MyExportsPage-BuzFo_X_.cjs +0 -8
- package/dist-tsdown/MyExportsPage-CuJoA0n6.js +0 -8
- package/dist-tsdown/MyExportsPage-DWbSEbU5.js.map +0 -1
- package/dist-tsdown/PageContainer-BG6v3pM7.cjs +0 -1841
- package/dist-tsdown/PageContainer-BG6v3pM7.cjs.map +0 -1
- package/dist-tsdown/PageContainer-CWhjU1zS.js.map +0 -1
- package/dist-tsdown/PageNotFoundRoute-CciC9cPY.cjs +0 -124
- package/dist-tsdown/PageNotFoundRoute-CciC9cPY.cjs.map +0 -1
- package/dist-tsdown/PageNotFoundRoute-DsRSLpI6.js +0 -3
- package/dist-tsdown/PageNotFoundRoute-Z5qYmErL.js +0 -112
- package/dist-tsdown/PageNotFoundRoute-aJr2o81C.cjs +0 -3
- package/dist-tsdown/PasswordResetRedirect-1cRmBJvr.cjs +0 -3
- package/dist-tsdown/PasswordResetRedirect-BMHXzpvb.js +0 -3
- package/dist-tsdown/PasswordResetRedirect-DRhK3lVL.cjs +0 -118
- package/dist-tsdown/PasswordResetRedirect-DRhK3lVL.cjs.map +0 -1
- package/dist-tsdown/SearchUtilities-URbeAh75.js.map +0 -1
- package/dist-tsdown/SearchUtilities-kF1roS4F.cjs +0 -216
- package/dist-tsdown/SearchUtilities-kF1roS4F.cjs.map +0 -1
- package/dist-tsdown/SideSheet-DcEfnfH_.js.map +0 -1
- package/dist-tsdown/SideSheet-XOQ0yjmY.cjs +0 -410
- package/dist-tsdown/SideSheet-XOQ0yjmY.cjs.map +0 -1
- package/dist-tsdown/UdpPublicForm-BZff9-Hy.js +0 -4
- package/dist-tsdown/UdpPublicForm-CaWFfHLQ.cjs +0 -5
- package/dist-tsdown/UdpPublicForm-DFEJakHu.cjs +0 -52
- package/dist-tsdown/UdpPublicForm-DFEJakHu.cjs.map +0 -1
- package/dist-tsdown/UdpPublicForm-EOSy6X_O.js +0 -41
- package/dist-tsdown/UtilitySideBar-C-5lGIvy.cjs +0 -2503
- package/dist-tsdown/UtilitySideBar-C-5lGIvy.cjs.map +0 -1
- package/dist-tsdown/VirtualBrowser-DmgmfhWg.cjs +0 -568
- package/dist-tsdown/VirtualBrowser-DmgmfhWg.cjs.map +0 -1
- package/dist-tsdown/VirtualBrowser-OXhftZwa.js.map +0 -1
- package/dist-tsdown/WorkflowContainer-BdakMxJP.js +0 -9
- package/dist-tsdown/WorkflowContainer-Bm1FHgJq.cjs +0 -1718
- package/dist-tsdown/WorkflowContainer-Bm1FHgJq.cjs.map +0 -1
- package/dist-tsdown/WorkflowContainer-C2W0pr5f.js.map +0 -1
- package/dist-tsdown/WorkflowContainer-C9hsSvOg.cjs +0 -9
- package/dist-tsdown/apiHelpers-TkqtXraB.cjs +0 -373
- package/dist-tsdown/apiHelpers-TkqtXraB.cjs.map +0 -1
- package/dist-tsdown/chunk-CHLpw0oG.js +0 -25
- package/dist-tsdown/chunk-CsX-DzYB.cjs +0 -42
- package/dist-tsdown/index.cjs +0 -49909
- package/dist-tsdown/index.cjs.map +0 -1
- package/dist-tsdown/index.d.cts +0 -1727
- package/dist-tsdown/index.d.ts +0 -1723
- package/dist-tsdown/index.js +0 -49180
- package/dist-tsdown/index.js.map +0 -1
- package/dist-tsdown/propertyTypeEnums-CaDtepcE.js.map +0 -1
- package/dist-tsdown/propertyTypeEnums-Cn4wJJc5.cjs +0 -174
- package/dist-tsdown/propertyTypeEnums-Cn4wJJc5.cjs.map +0 -1
- /package/{dist-tsdown → dist}/assets/images/phone.png +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/american-logo.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/amex.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/diners.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/discover-logo.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/discover.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/echeck-logo.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/jcb.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/mastercard-logo.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/mastercard.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/unionpay.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/visa-logo.svg +0 -0
- /package/{dist-tsdown → dist}/assets/paymentIcons/visa.svg +0 -0
- /package/{dist-tsdown → dist}/assets/unityIcons/NoEntityOpened.svg +0 -0
- /package/{dist-tsdown → dist}/assets/unityIcons/Sewer.svg +0 -0
- /package/{dist-tsdown → dist}/assets/unityIcons/TruckIcon.svg +0 -0
- /package/{dist-tsdown → dist}/assets/unityIcons/WaterDrop.svg +0 -0
- /package/{dist-tsdown → dist}/componentSystems/pageRenderer/style/style.css +0 -0
- /package/{dist-tsdown → dist}/map-library/Map/Map.css +0 -0
- /package/{dist-tsdown → dist}/maps/openLayerMaps/Map/Map.css +0 -0
- /package/{dist-tsdown → dist}/stories/assets/code-brackets.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/colors.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/comments.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/direction.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/flow.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/plugin.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/repo.svg +0 -0
- /package/{dist-tsdown → dist}/stories/assets/stackalt.svg +0 -0
- /package/{dist-tsdown → dist}/stories/button.css +0 -0
- /package/{dist-tsdown → dist}/stories/header.css +0 -0
- /package/{dist-tsdown → dist}/stories/page.css +0 -0
- /package/{dist-tsdown → dist}/style.css +0 -0
- /package/{dist-tsdown → dist}/styles.module.css +0 -0
- /package/{dist-tsdown → dist}/utilities/aggrid/ag-grid-styles.scss +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AmbientGridTemplate-RvpH04W2.cjs","names":["toTitleCase","Button","apiMutate","ConfigService","NodeActionEnums","SplitScreenTypeEnums","useShellStore","apiMutate","ConfigService","NodeActionEnums","useStyles","TextField","PropTypes","useStyles","PropTypes","useStyles","Paper","PropTypes","useStyles","AmbientTokenButton","ChevronDownIcon","Tooltip","IconButton","FluentIcon","PropTypes","useStyles","ChevronFold10Icon","ChevronUnfold10Icon","LayoutUnit","Typography","PropTypes","useStyles","Typography","UnityFluentIcon","IconButton","PropTypes","useStyles","ToggleButton","PropTypes","AmbientToggleButton","Children","PropTypes","useStyles","ChromeCloseIcon","AssessmentGroupIcon","Typography","AmbientToggleButtonGroupDefault","PropTypes","useStyles","useId","Children","React","ButtonGroup","Button","ArrowDropDownIcon","Popper","Grow","Paper","ClickAwayListener","MenuList","LicenseManager","useStyles","globalModules: Module[]","AllModules","ExcelExportModule","AgTableButtons: FC<AgTableButttonsProps>","allColumnIds: string[]","Box","Grid","Button","MenuItem","AgTable: FC<AgTableProps>","calculateRowHeight: (\n params: RowHeightParams\n ) => number | null | undefined","AgGridReact","useStyles","Typography","InputAdornment","SearchIcon","SaveIcon","DeleteIcon","ClearIcon","CombineIcon","ExportIcon","DownloadIcon","BlockedIcon","Tabs","Tab","PropTypes","useStyles","AmbientChipButton","Tooltip","Chip","Typography","FluentIcon","PropTypes","useStyles","SaveIcon","FavoriteStarIcon","LightbulbIcon","UploadIcon","BulletedTreeListIcon","FilterIcon","TripleColumnIcon","CombineIcon","ExportIcon","BlockedIcon","Typography","InputAdornment","SearchIcon","AppIconDefaultIcon","MoreVerticalIcon","Popover","MenuItem","FluentIcon","PrimaryActionButton","PropTypes","useStyles","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","PrimaryActionButton","LinearProgress","GridStateTypeEnums","deleteGridState","useStyles","useHandleAxiosSnackbar","VisibilityTypeEnums","apiMutate","ConfigService","Box","Typography","Divider","Form","Field","FormControlLabel","Switch","PropTypes","useStyles","visibleChildren","menuChildren","children","child","Children","ref","MoreVerticalIcon","Popover","MenuItem","PropTypes","useStyles","Chip","StarIcon","Divider","Tooltip","Typography","PropTypes","useStyles","Tooltip","IconButton","FluentIcon","useStyles","ClickOpenEnums","onClick","Skeleton","SideSheet","useStyles","PropTypes","useStyles","Chip","VisibilityTypeEnums","OpenInNewTabIcon","TableHeaderRowIcon","SideSheet","PropTypes","Badge","FluentButton","FluentIcon","ChevronDownIcon","Popover","Tooltip","MenuItem","Typography","AppIconDefaultIcon","ErrorIcon","SearchOperators: Array<SearchOperator>","value","useAxiosGet","ConfigService","apiMutate","Grow","LinearProgress","ServerSideRowModelModule","PropTypes"],"sources":["../src/AGLicense.js","../src/utilities/maintenanceEngine/CrudBrowserUtilities.js","../src/utilities/entities/entityUtilities.js","../src/contexts/ActionDispatchContext.js","../src/contexts/ActionContext.js","../src/UI/SuccessAction.jsx","../src/stores/actionStore.ts","../src/stores/inquiryStore.ts","../src/actions/utils/actionUtils.js","../src/contexts/ActionLoadingDispatchContext.js","../src/stores/catalogStore.ts","../src/hooks/useActions.js","../src/UI/inputs/textField/AmbientTextField.jsx","../src/utilities/style/utils/styleUtils.js","../src/UI/components/dataDisplay/Ellipse.jsx","../src/UI/templates/ui/GridSidebarContainer.jsx","../src/UI/inputs/buttons/AmbientTokenButton.jsx","../src/UI/templates/ui/GridGroupingHeader.jsx","../src/UI/components/dataDisplay/Token.jsx","../src/UI/inputs/buttons/AmbientToggleButton.jsx","../src/utilities/isValueSelected.js","../src/UI/inputs/buttons/AmbientToggleButtonGroupDefault.jsx","../src/UI/templates/ui/GridGroupingSidebar.jsx","../src/utilities/aggrid/SplitButton.jsx","../src/utilities/aggrid/AgTable.tsx","../src/UI/utilityDisplay/GridActionBar.jsx","../src/UI/inputs/buttons/AmbientChipButton.jsx","../src/UI/utilityDisplay/GridPrimaryBar.jsx","../src/UI/feedback/FluentDialog.jsx","../src/utilities/aggrid/GridFunctions.js","../src/UI/utilityDisplay/SaveViewFormDialog.jsx","../src/hooks/useDynamicListCalculation.jsx","../src/UI/containers/DynamicContainerWithMenu.jsx","../src/UI/utilityDisplay/ChipSection.jsx","../src/UI/inputs/buttons/IconButtonWithToolTip.jsx","../src/UI/templates/ui/renderers/ActionsRenderer.jsx","../src/UI/dataDisplay/HintPanel.jsx","../src/UI/utilityDisplay/GridViewsSideSheet.jsx","../src/UI/utilityDisplay/BulkActionsGridButton.jsx","../src/models/SearchOperator.ts","../src/UI/templates/AmbientGridTemplate.jsx"],"sourcesContent":["export const LicenseKey =\n'Using_this_{AG_Grid}_Enterprise_key_{AG-060880}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2025}____[v3]_[01]_MTc1MTA2NTIwMDAwMA==17ac166e7bb5dcca7f3eaa21c79da63b'\n","const RESERVED_PATH_PARAMETERS = ['version', 'udp-api-version'];\n\nexport const getPrimaryKeyValues = (properties, entityValue) => {\n const primaryKeyProperties = properties.filter(\n (property) => property?.extendedProperties?.identifier\n );\n const primaryKeyValues = primaryKeyProperties.reduce(\n (keyValues, property) => {\n if (entityValue && entityValue[property['name']] !== null) {\n keyValues.push(entityValue[property['name']]);\n }\n return keyValues;\n },\n []\n );\n return primaryKeyValues;\n};\n\nexport const getPathObject = (pathParameters, primaryKeyValues) => {\n const primaryKeyParameters = pathParameters.filter(\n (parameter) => parameter.name !== RESERVED_PATH_PARAMETERS\n );\n\n const pathObject = {};\n if (primaryKeyParameters.length && primaryKeyValues.length) {\n primaryKeyParameters.forEach((pkp, index) => {\n pathObject[`{${pkp.name}}`] = primaryKeyValues[index];\n });\n }\n return pathObject;\n};\n\nexport const findTermByType = (fieldType, term) => {\n if (fieldType.toLowerCase() === term) {\n return fieldType.toLowerCase();\n } else {\n return '';\n }\n};\n\nconst getModelProperties = (model, componentsObj) => {\n let modelPropertiesObj = null;\n if (model) {\n modelPropertiesObj = model.properties;\n if (!modelPropertiesObj) {\n const refKeys = [];\n if (model['allOf']?.length) {\n model['allOf'].forEach((reference) => {\n if (reference['$ref']) {\n const refString = reference['$ref'];\n if (refString) {\n const lastIndex = refString.lastIndexOf('/');\n const referenceModel = refString.substring(lastIndex + 1);\n refKeys.push(referenceModel);\n }\n }\n });\n }\n refKeys.forEach((key) => {\n const abstractModel = componentsObj[key];\n if (modelPropertiesObj && abstractModel?.properties) {\n modelPropertiesObj = {\n ...modelPropertiesObj,\n ...abstractModel.properties\n };\n } else {\n modelPropertiesObj = abstractModel?.properties;\n }\n });\n }\n }\n return modelPropertiesObj;\n};\n\nexport const getEntityAttributes = (catalog, entityName) => {\n if (!catalog) {\n return [];\n }\n const catalogObjectList = catalog?.ctlg?.catalogObjectList;\n const componentsObj = catalog?.ctlg?.components;\n const entity = catalogObjectList?.find(\n (catalogObject) => catalogObject.catalogObjectName === entityName\n );\n\n if (!!componentsObj && Object.keys(componentsObj).length) {\n const model = componentsObj[entityName];\n let modelPropertiesObj = getModelProperties(model, componentsObj);\n if (entity?.properties?.length) {\n entity.properties.forEach((property) => {\n let nullable = true;\n if (modelPropertiesObj) {\n const modelProperty = modelPropertiesObj[property['name']];\n if (modelProperty) {\n nullable = modelProperty.nullable || false;\n }\n }\n property['nullable'] = nullable;\n });\n }\n }\n\n return entity ? entity.properties : [];\n};\n\nexport const getPathParametersObj = (pathParametersDefinition, entityData) => {\n if (!pathParametersDefinition || !entityData) return {};\n \n const pathParametersObj = {};\n\n for (let param of pathParametersDefinition) {\n pathParametersObj[param.name] = entityData[param.name];\n }\n\n return pathParametersObj;\n};\n","import { toTitleCase } from '../input/StringUtilities';\nexport const getCommonEntityName = (entityName) => {\n if (!entityName) return entityName;\n return toTitleCase(getSanitizedName(entityName));\n};\n\nexport const getSanitizedName = (entityName) => {\n if (!entityName) return '';\n const entityNameParts = entityName.split('.');\n return entityNameParts[entityNameParts.length - 1];\n};\n\nexport const getFullyQualifiedName = (udpObjectInfo) => {\n if (!udpObjectInfo) return '';\n const modelNameSpace = udpObjectInfo.namespaceStructure?.model;\n if (modelNameSpace) {\n return `${modelNameSpace}.Models.${udpObjectInfo.sanitizedName}`;\n } else {\n return '';\n }\n};\n","import { createContext } from 'react';\n\nexport const ActionDispatchContext = createContext(null);\n","import { createContext } from 'react';\n\nexport const ActionContext = createContext(null);\n","import React from 'react';\nimport { Button } from '@material-ui/core';\n\nexport const getSuccessAction = (closeSnackbar) => {\n const successAction = (key) => (\n <Button\n color='secondary'\n size='small'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n OK\n </Button>\n );\n return successAction;\n};\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface ActionState {\n selectedNode: object | null | undefined;\n setSelectedNode: (selectedNode: object) => void;\n hideActions: boolean;\n setHideActions: (hideActions: boolean) => void;\n}\n\nexport const useActionStore = create<ActionState>()(\n devtools((set) => ({\n selectedNode: null,\n setSelectedNode: (selectedNode) =>\n set((state) => ({ selectedNode: selectedNode })),\n hideActions: false,\n setHideActions: (hideActions) => set((state) => ({ hideActions }))\n }))\n);\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface Workflow {\n inWorkflowMode: boolean;\n currentWorkflowPlayId: string | null | undefined;\n}\ninterface WorkflowMap {\n [containerId: string]: Workflow;\n}\n\ninterface InquiryState {\n title: string | null | undefined;\n setInquiryToolbarTitle: (title: string) => void;\n workflowMap: WorkflowMap | null | undefined;\n setWorkflowMap: (workflowMap: WorkflowMap) => void;\n workflowStarting: boolean;\n setWorkflowStarting: (workflowStarting: boolean) => void;\n}\n\nexport const useInquiryStore = create<InquiryState>()(\n devtools((set) => ({\n title: '',\n setInquiryToolbarTitle: (title) => set((state) => ({ title: title })),\n workflowMap: {},\n setWorkflowMap: (workflowMap) =>\n set((state) => ({\n workflowMap: { ...state.workflowMap, ...workflowMap }\n })),\n workflowStarting: false,\n setWorkflowStarting: (workflowStarting) =>\n set((state) => ({ workflowStarting }))\n }))\n);\n","import { useHistory } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport {\n NodeActionEnums,\n SplitScreenTypeEnums\n} from '../../enums/unitySystemEnums';\nimport { getSuccessAction } from '../../UI/SuccessAction';\nimport { useActionStore } from '../../stores/actionStore';\nimport { useInquiryStore } from '../../stores/inquiryStore';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { getPathParametersObj } from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\n\nfunction isValidURL(url) {\n // Regular expression for URL validation\n const urlPattern = /^(ftp|http|https):\\/\\/[^ \"]+$/;\n return urlPattern.test(url);\n}\n\nexport const useHandleAction = () => {\n const history = useHistory();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n const selectedNode = useActionStore((state) => state.selectedNode);\n const setWorkflowMap = useInquiryStore((state) => state.setWorkflowMap);\n const setWorkflowStarting = useInquiryStore(\n (state) => state.setWorkflowStarting\n );\n\n const executeStartWorkflow = async (workflowId, payload) =>\n apiMutate(\n ConfigService.config.BUILDER_API_BASE,\n `workflow/${workflowId}/start`,\n {\n method: 'post'\n },\n { data: payload }\n );\n\n const getApiMethod = async (apiMethodId) =>\n apiMutate(\n ConfigService.config.INTEGRATION_API_BASE,\n `apimethod/${apiMethodId}`,\n {\n method: 'get'\n }\n );\n\n const handleAction = async (\n dispatch,\n action,\n state,\n executeAction,\n apiCatalogId,\n entityAttributes,\n actionData,\n currentContainerId\n ) => {\n if (!action) {\n return;\n }\n\n const actionName = action.name;\n let actionValue = action.value;\n if (action?.parameters?.entityName) {\n actionValue +=\n '?entityName=' +\n action.parameters.entityName +\n '&apiCatalogId=' +\n apiCatalogId;\n }\n\n switch (action.actionTypeId) {\n case NodeActionEnums.Open_External_Link:\n window.open(actionValue, '_blank');\n break;\n case NodeActionEnums.Redirect:\n // if the url is valid, redirect to that url, if its not valid, assume its a path redirect on the same origin\n if (isValidURL(actionValue)) {\n window.location.href = actionValue;\n } else {\n history.push(actionValue);\n }\n break;\n case NodeActionEnums.Create:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Update:\n if (dispatch) {\n dispatch({\n type: 'OPEN_SIDESHEET',\n sideSheet: { action: action, open: true }\n });\n }\n break;\n case NodeActionEnums.Delete:\n if (dispatch) {\n dispatch({\n type: 'OPEN_MODAL',\n modal: { action: action, open: true, title: 'Delete ' }\n });\n }\n break;\n case NodeActionEnums.Retrieve:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Entity\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Page_Split_Screen:\n if (dispatch) {\n if (!!selectedNode) {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n } else {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Shell_Split_Screen:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Page\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Notes:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Notes\n }\n });\n }\n }\n break;\n case NodeActionEnums.Open_Reminders:\n if (dispatch) {\n if (currentContainerId) {\n break;\n } else {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen: {\n action: action,\n open: true,\n type: SplitScreenTypeEnums.Reminders\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Api:\n if (executeAction && action?.value) {\n let data = {};\n\n if (\n entityAttributes.length > 0 &&\n (selectedNode?.nodeObj || actionData)\n ) {\n // actionData will be used as Request Data first as it is directly passed into function\n if (actionData) {\n data = { ...actionData };\n } else {\n data = { ...selectedNode?.nodeObj };\n }\n const removeAttributes = entityAttributes.filter(\n (p) => p?.extendedProperties?.childEntity\n );\n removeAttributes.forEach((att) => {\n if (att['name'] in data || 'serializeFields' in data) {\n delete data[att['name']];\n }\n });\n }\n const apiMethod = await getApiMethod(action?.value);\n const pathParamValues = getPathParametersObj(\n apiMethod?.data?.pathParametersDefinition,\n data\n );\n\n const response = executeAction(\n {\n data: { requestBody: data, ...pathParamValues }\n },\n action.value\n )\n .then((res) => {\n enqueueSnackbar(\n t(`${action?.name} api has been executed successfully.`),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n })\n .catch((res) => {\n enqueueSnackbar(res.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n } else {\n enqueueSnackbar(t(`Unable to execute ${actionName} action.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n break;\n case NodeActionEnums.Start_Workflow:\n setWorkflowStarting(true);\n // actionValue will be workflowId where we can call Start workflow\n // actionData is the selected nodeObj used as payload\n const response = await executeStartWorkflow(\n actionValue,\n actionData || {}\n ).catch((e) => {\n enqueueSnackbar(t(`Unable to Start Workflow`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n });\n setWorkflowStarting(false);\n if (response.status === 200) {\n const playId = response.data;\n // if selectedNode it means we're in Inquiry\n if (selectedNode) {\n const workflow = {\n inWorkflowMode: true,\n currentWorkflowPlayId: playId\n };\n const containerId = currentContainerId || 0;\n setWorkflowMap({ [containerId]: workflow });\n } else {\n history.push({\n pathname: `/workflowtask/${playId}?taskId=${''}`,\n state: {\n label: t('Workflow')\n }\n });\n }\n }\n break;\n case NodeActionEnums.Execute_Function:\n !!actionData?.execute && actionData.execute();\n\n break;\n default:\n break;\n }\n };\n return { handleAction };\n};\n","import { createContext } from 'react';\n\nexport const ActionLoadingDispatchContext = createContext(null);\n","import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\n\ninterface CatalogState {\n currentApiCatalogId: string | null | undefined;\n setCurrentApiCatalogId: (apiCatalogId: string) => void;\n catalogsMap: Object | null | undefined;\n setCatalogsMap: (catalog: Object) => void;\n promotedEntityMap: Object | null | undefined;\n setPromotedEntityMap: (catalog: Object) => void;\n}\n\nexport const useCatalogStore = create<CatalogState>()(\n devtools((set) => ({\n currentApiCatalogId: '',\n setCurrentApiCatalogId: (apiCatalogId) => {\n sessionStorage.setItem('current-api-catalog-id', apiCatalogId);\n set((state) => ({ currentApiCatalogId: apiCatalogId }));\n },\n catalogsMap: {},\n setCatalogsMap: (catalogsMap) =>\n set((state) => ({\n catalogsMap: { ...state.catalogsMap, ...catalogsMap }\n })),\n promotedEntityMap: {},\n setPromotedEntityMap: (promotedEntityMap) =>\n set((state) => ({\n promotedEntityMap: { ...state.promotedEntityMap, ...promotedEntityMap }\n }))\n }))\n);\n","import { useContext, useCallback } from 'react';\nimport { ActionDispatchContext } from '../contexts/ActionDispatchContext';\nimport { ActionContext } from '../contexts/ActionContext';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { getEntityAttributes } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useHandleAction } from '../actions/utils/actionUtils';\nimport { ActionLoadingDispatchContext } from '../contexts/ActionLoadingDispatchContext';\nimport { useCatalogStore } from '../stores/catalogStore';\nimport { useShellStore } from '../stores/shellStore';\nimport { NodeActionEnums } from '../enums/unitySystemEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nexport const useActions = () => {\n const dispatch = useContext(ActionDispatchContext);\n const dispatchActionLoading = useContext(ActionLoadingDispatchContext);\n const actionState = useActionState();\n const { catalogsMap, currentApiCatalogId } = useCatalogStore();\n const currentContainerId = useShellStore((state) => state.currentContainerId);\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n const { handleAction } = useHandleAction();\n\n const setActionLoading = useCallback(\n (loading) => {\n dispatchActionLoading({\n type: 'SET_ACTION_LOADING',\n loading\n });\n },\n [dispatchActionLoading]\n );\n\n const setActionWaitingToExecute = useCallback(\n (actionId) => {\n dispatchActionLoading({\n type: 'SET_ACTION_WAITING_TO_EXECUTE',\n actionId\n });\n },\n [dispatchActionLoading]\n );\n\n const executeGetAction = useCallback(\n async (actionId) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `action/${actionId}`,\n {\n method: 'get'\n },\n {}\n ),\n []\n );\n\n const executeAction = useCallback(\n async (data, id) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${id}`,\n {\n method: 'post'\n },\n data\n ),\n []\n );\n\n const setActionPanels = useCallback(\n (actionPanels, containerId) => {\n dispatch({ type: 'SET_ACTION_PANELS', actionPanels, containerId });\n },\n [dispatch]\n );\n\n const getActionPanelByAction = useCallback(\n (act) => {\n if (act && actionState) {\n const actionPanels = actionState.actionPanels;\n const containerId = currentContainerId || 0;\n\n if (actionPanels && Array.isArray(actionPanels) && actionPanels[containerId]) {\n const actionPanel = actionPanels[containerId];\n\n if (Array.isArray(actionPanel.panelActions)) {\n const foundPanel = actionPanel.find((ap) => {\n return ap.panelActions.find((pa) => {\n return pa.actionId === act.actionId;\n });\n });\n\n return foundPanel;\n } else {\n console.error('panelActions is not an array:', actionPanel.panelActions);\n }\n } else {\n console.error('actionPanels is not valid:', actionPanels);\n }\n } else {\n console.error('act or actionState is not defined:', act, actionState);\n }\n\n return null;\n },\n [actionState, currentContainerId]\n );\n\n const setupAndExecuteAction = useCallback(\n async (catalog, actionId, actionData) => {\n await executeGetAction(actionId).then((resp) => {\n const panel = getActionPanelByAction(resp.data);\n let entityName = panel?.entityName;\n\n if (!panel) {\n entityName = resp?.data?.parameters?.entityName;\n }\n\n if (entityName) {\n actionState?.setCurrentEntityName &&\n actionState.setCurrentEntityName(entityName);\n\n const eAttributes = getEntityAttributes(catalog, entityName);\n\n if (\n !eAttributes?.length &&\n resp.data.actionTypeId !== NodeActionEnums.Start_Workflow\n ) {\n enqueueSnackbar(t(`Unable to retrieve entity attributes.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n } else {\n handleAction(\n dispatch,\n resp.data,\n actionState,\n executeAction,\n catalog?.apiCatalogId,\n eAttributes,\n actionData,\n currentContainerId\n );\n }\n } else {\n console.warn('Entity name does not exist');\n // global actions will not necissarily have an entity name\n handleAction(\n dispatch,\n resp.data,\n actionState,\n executeAction,\n catalog?.apiCatalogId,\n {},\n actionData,\n currentContainerId\n );\n }\n });\n },\n [\n actionState,\n enqueueSnackbar,\n executeAction,\n executeGetAction,\n getActionPanelByAction,\n handleAction,\n t,\n dispatch,\n currentContainerId\n ]\n );\n\n const executeTriggerAction = useCallback(\n async (actionId, actionData) => {\n if (actionState?.catalogPromise) {\n if (!actionState?.catalog) setActionWaitingToExecute(actionId);\n try {\n const result = await actionState.catalogPromise;\n // Promise has been fulfilled, handle the result\n setupAndExecuteAction(\n result?.data || catalogsMap[currentApiCatalogId],\n actionId,\n actionData\n );\n } catch (error) {\n // Promise has been rejected or an error occurred\n enqueueSnackbar(t(`Unable to retrieve catalog data.`), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n }\n }\n setActionWaitingToExecute('');\n },\n [\n setupAndExecuteAction,\n enqueueSnackbar,\n t,\n actionState,\n setActionWaitingToExecute,\n catalogsMap,\n currentApiCatalogId\n ]\n );\n\n const triggerAction = useCallback(\n (actionId, actionData) => {\n executeTriggerAction(actionId, actionData);\n },\n [executeTriggerAction]\n );\n\n const triggerMultipleActions = useCallback(\n (actionIds) => {\n actionIds.forEach((id) => {\n executeTriggerAction(id);\n });\n },\n [executeTriggerAction]\n );\n\n const setCatalogEntities = useCallback(\n (catalogEntities) => {\n dispatch({ type: 'SET_CATALOG_ENTITIES', catalogEntities });\n },\n [dispatch]\n );\n\n const setCatalogPromotedEntities = useCallback(\n (catalogPromotedEntities) => {\n dispatch({\n type: 'SET_CATALOG_PROMOTED_ENTITIES',\n catalogPromotedEntities\n });\n },\n [dispatch]\n );\n\n const setInquiryParams = useCallback(\n (inquiryParams, containerId) => {\n dispatch({\n type: 'SET_INQUIRY_PARAMS',\n inquiryParams,\n containerId\n });\n },\n [dispatch]\n );\n\n const setShowInquiryHeaderActions = useCallback(\n (showInquiryHeaderActions) => {\n dispatch({\n type: 'SET_SHOW_INQUIRY_HEADER_ACTIONS',\n showInquiryHeaderActions\n });\n },\n [dispatch]\n );\n\n const setMenuListState = useCallback(\n (menuListState) => {\n dispatch({\n type: 'SET_MENU_LIST_STATE',\n menuListState\n });\n },\n [dispatch]\n );\n\n const closeAllSplitScreens = useCallback(() => {\n dispatch({\n type: 'CLOSE_ALL_SPLIT_SCREENS'\n });\n }, [dispatch]);\n\n const openSplitScreen = useCallback(\n (splitScreen) => {\n dispatch({\n type: 'OPEN_SPLIT_SCREEN',\n splitScreen\n });\n },\n [dispatch]\n );\n\n const openPageSplitScreen = useCallback(\n (pageSplitScreen) => {\n dispatch({\n type: 'OPEN_PAGE_SPLIT_SCREEN',\n pageSplitScreen\n });\n },\n [dispatch]\n );\n\n const openPageContainerSplitScreen = useCallback(\n (pageContainerSplitScreen) => {\n dispatch({\n type: 'OPEN_PAGE_CONTAINER_SPLIT_SCREEN',\n pageContainerSplitScreen\n });\n },\n [dispatch]\n );\n\n const setApiCatalog = useCallback(\n (catalog) => {\n dispatch({\n type: 'SET_API_CATALOG',\n catalog\n });\n },\n [dispatch]\n );\n\n return {\n setActionPanels,\n triggerAction,\n triggerMultipleActions,\n setCatalogEntities,\n setCatalogPromotedEntities,\n setInquiryParams,\n setShowInquiryHeaderActions,\n setMenuListState,\n closeAllSplitScreens,\n openSplitScreen,\n openPageSplitScreen,\n openPageContainerSplitScreen,\n setApiCatalog,\n setActionLoading\n };\n};\n\nexport const useActionState = () => useContext(ActionContext);\n","import React from 'react';\nimport { makeStyles, TextField } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n input: {\n borderRadius: 2,\n height: (props) => !props.multiline && !Array.isArray(props.value) && 32, // multiline or multiselect\n padding: (props) => !props.multiline && 0,\n paddingBottom: 10,\n marginTop: 3,\n '& .MuiFilledInput-inputMarginDense': {\n paddingTop: 8\n },\n '& .MuiInputAdornment-filled.MuiInputAdornment-positionStart:not(.MuiInputAdornment-hiddenLabel)':\n {\n marginTop: theme.spacing(0.5),\n marginLeft: theme.spacing(1)\n }\n },\n formTextInput: {\n fontSize: 14\n },\n labelRoot: {\n fontSize: 14\n },\n FormControl: {\n display: 'none',\n marginTop: 0\n },\n root: {\n width: '100%',\n marginTop: 25,\n '& .MuiFormLabel-root': {\n marginTop: -30,\n marginLeft: -11\n },\n '& .MuiInputAdornment-root': {\n paddingLeft: theme.spacing(1)\n }\n // '& .MuiInputAdornment-filled.MuiInputAdornment-positionStart:not(.MuiInputAdornment-hiddenLabel)' : {\n // marginTop: 0\n // }\n },\n noLabel: {\n marginTop: theme.spacing(1)\n }\n}));\n\nexport const AmbientTextField = (props) => {\n const classes = useStyles(props);\n const { id, label, startAdornment, endAdornment, title = 'noTitle', ...InputProps } = props;\n return (\n <div className={label ? classes.root : classes.noLabel}>\n <TextField\n {...InputProps}\n id={id}\n udprecordid={`udpRecord-FluentAmbientTextField-${title.replace(/\\s/g, '')}-${props?.InputProps?.type}`}\n variant='filled'\n size='small'\n margin='dense'\n label={label}\n classes={{ label: classes.label }}\n InputProps={{\n classes: {\n root: classes.input,\n input: classes.formTextInput,\n ...props.InputProps?.classes\n },\n ...props.InputProps,\n ...startAdornment,\n ...endAdornment\n }}\n InputLabelProps={{\n shrink: false,\n classes: {\n root: classes.labelRoot,\n focused: classes.labelFocused\n }\n }}\n />\n </div>\n );\n};\n\nAmbientTextField.propTypes = {\n /**\n * id - textfield ID\n */\n id: PropTypes.string,\n /**\n * label - textField label\n */\n label: PropTypes.string,\n /**\n * startAdornment - icon placed at the beginning of the input\n */\n startAdornment: PropTypes.node,\n /**\n * endAdornment - icon placed at the end of the input\n */\n endAdornment: PropTypes.node\n};\n","export const getEllipseColor = (theme, color) => {\n if (!theme) {\n return '';\n }\n let ellipseColor = theme.palette.primary.main;\n switch (color) {\n case 'action':\n ellipseColor = theme.palette.systemIcon?.action?.main;\n break;\n case 'sequence':\n ellipseColor = theme.palette.systemIcon?.sequence?.main;\n break;\n case 'trigger':\n ellipseColor = theme.palette.systemIcon?.trigger?.main;\n break;\n case 'condition':\n ellipseColor = theme.palette.systemIcon?.condition?.main;\n break;\n case 'primary':\n ellipseColor = theme.palette.primary.main;\n break;\n case 'secondary':\n ellipseColor = theme.palette.secondary.main;\n break;\n case 'info':\n ellipseColor = theme.palette.info.main;\n break;\n case 'warning':\n ellipseColor = theme.palette.warning.main;\n break;\n case 'error':\n ellipseColor = theme.palette.error.main;\n break;\n case 'success':\n ellipseColor = theme.palette.success.main;\n break;\n default:\n ellipseColor = theme.palette.secondary.main;\n break;\n }\n return ellipseColor;\n};\n\nexport const getEllipseHintColor = (theme, color) => {\n if (!theme) {\n return '';\n }\n let ellipseHintColor = theme.palette.primary.main;\n switch (color) {\n case 'action':\n ellipseHintColor = theme.palette.systemIcon?.action?.hint;\n break;\n case 'sequence':\n ellipseHintColor = theme.palette.systemIcon?.sequence?.hint;\n break;\n case 'trigger':\n ellipseHintColor = theme.palette.systemIcon?.trigger?.hint;\n break;\n case 'condition':\n ellipseHintColor = theme.palette.systemIcon?.condition?.hint;\n break;\n case 'primary':\n ellipseHintColor = theme.palette.primary.hint;\n break;\n case 'secondary':\n ellipseHintColor = theme.palette.secondary.hint;\n break;\n case 'info':\n ellipseHintColor = theme.palette.unity?.info?.hint;\n break;\n case 'warning':\n ellipseHintColor = theme.palette.unity?.warning?.hint;\n break;\n case 'error':\n ellipseHintColor = theme.palette.unity?.error?.hint;\n break;\n case 'success':\n ellipseHintColor = theme.palette.unity?.success?.hint;\n break;\n default:\n ellipseHintColor = theme.palette.common.white;\n break;\n }\n\n return ellipseHintColor;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport {\n getEllipseColor,\n getEllipseHintColor\n} from '../../../utilities/style/utils/styleUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n height: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n borderRadius: 50,\n border: (props) => (props.variant === 'filled' ? 'none' : `2px solid`),\n backgroundColor: (props) =>\n props.variant === 'filled' && getEllipseHintColor(theme, props.color),\n borderColor: (props) => getEllipseColor(theme, props.color)\n }\n}));\n\nexport const Ellipse = (props) => {\n const { children } = props;\n const classes = useStyles(props);\n\n return <div className={classes.root}>{children}</div>;\n};\n\nEllipse.propTypes = {\n color: PropTypes.string,\n size: PropTypes.string,\n variant: PropTypes.string\n};\n","import React from 'react';\nimport { makeStyles, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupWrapper: {\n padding: theme.spacing(2),\n height: (props) =>\n props?.height\n ? `${props.height} !important`\n : 'calc(100vh - 280px) !important',\n overflow: 'auto'\n }\n}));\n\nexport const GridSidebarContainer = (props) => {\n const { children, color } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Paper elevation='0' square style={{ background: color }}>\n <div className={classes.groupWrapper}>{children}</div>\n </Paper>\n </div>\n );\n};\nGridSidebarContainer.propTypes = {\n /**\n * Children of component\n */\n children: PropTypes.node,\n color: PropTypes.string\n};\n","import React, { forwardRef } from 'react';\nimport { makeStyles, Tooltip, IconButton } from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row'\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const AmbientTokenButton = forwardRef(function AmbientTokenButton(\n props,\n ref\n) {\n const {\n tooltip,\n ariaLabel,\n onClick,\n size,\n icon = ChevronDownIcon,\n iconClassName,\n otherProps,\n id = 'token-button',\n udprecordid\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Tooltip title={tooltip}>\n <IconButton\n id={id}\n udprecordid={udprecordid}\n ref={ref}\n aria-label={ariaLabel}\n className={iconClassName ?? classes.icon}\n size={size ?? 'small'}\n onClick={onClick}\n {...otherProps}\n >\n <FluentIcon className={classes.iconButtonStyle} component={icon} />\n </IconButton>\n </Tooltip>\n </div>\n );\n});\n\nAmbientTokenButton.propTypes = {\n /**\n * Tooltip to display for button\n */\n tooltip: PropTypes.string.isRequired,\n /**\n * Accessiblity label for icon\n */\n ariaLabel: PropTypes.string.isRequired,\n /**\n * event for button function\n */\n onClick: PropTypes.func,\n /**\n * icon to appear in button\n */\n icon: PropTypes.func.isRequired\n};\n","import React from 'react'\nimport { makeStyles, Typography } from '@material-ui/core'\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { ChevronFold10Icon, ChevronUnfold10Icon } from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../../inputs/buttons/AmbientTokenButton'\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row',\n gap: 10\n },\n icon:{\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n\n}))\n\nexport const GridGroupingHeader = ({expandClick, collapseClick }) => {\n const classes = useStyles()\n return (\n <div className={classes.root} >\n <div className={classes.actionHeader} >\n <AmbientTokenButton icon={ChevronFold10Icon} tooltip=\"Collapse All\" ariaLabel=\"Collapse All\" onClick={collapseClick} />\n <AmbientTokenButton icon={ChevronUnfold10Icon} tooltip=\"Expand All\" ariaLabel=\"Expand All\" onClick={expandClick} />\n </div>\n <LayoutUnit unit=\"nudge\" /> \n <div className={classes.label} ><Typography variant=\"caption\">Group By:</Typography></div>\n <LayoutUnit unit=\"nudge\" />\n </div>\n )\n}\nGridGroupingHeader.propTypes = {\n /**\n * expand fucntion to expand grid when items are grouped\n */\n expandClick: PropTypes.func.isRequired,\n /**\n * expand fucntion to collapse grid when items are grouped\n */\n collapseClick: PropTypes.func.isRequired,\n}\n","import React, { useMemo } from 'react';\nimport {\n makeStyles,\n useTheme,\n Typography,\n IconButton\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { Ellipse } from './Ellipse';\nimport { UnityFluentIcon } from '../../../utilities/UnityFluentIcon';\nimport {\n getEllipseColor,\n getEllipseHintColor\n} from '../../../utilities/style/utils/styleUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n margin: (props) => (props.compact ? theme.spacing(0.5) : theme.spacing(1))\n },\n letter: {\n fontSize: (props) =>\n props.size === 'small' ? theme.spacing(2.25) : theme.spacing(2.5),\n color: (props) => getEllipseColor(theme, props.color)\n },\n buttonRoot: {\n margin: theme.spacing(1),\n width: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n height: (props) =>\n props.size === 'small' ? theme.spacing(4) : theme.spacing(5),\n background: (props) =>\n props.variant === 'filled' ? getEllipseHintColor(theme, props.color) : '',\n border: (props) => (props.variant === 'outlined' ? `1px solid` : 'none'),\n borderColor: (props) =>\n props.variant === 'outlined' ? getEllipseColor(theme, props.color) : ''\n }\n}));\n\nexport const Token = (props) => {\n const {\n type = 'default',\n variant = 'outlined',\n color = 'default',\n size = 'large',\n iconType,\n icon,\n letter = 'A',\n IconEllipseProps,\n onClick\n } = props;\n const classes = useStyles(props);\n const theme = useTheme();\n\n const iconColor = useMemo(() => {\n return getEllipseColor(theme, color);\n }, [color, theme]);\n\n const tokenComponent = (\n <div className={classes.root}>\n <Ellipse\n variant={variant}\n size={size}\n color={color}\n {...IconEllipseProps}\n >\n {type === 'letter' ? (\n <Typography variant='body1' className={classes.letter}>\n {letter.toUpperCase()}\n </Typography>\n ) : (\n <UnityFluentIcon\n size={size === 'small' ? size : 'medium'}\n color={iconColor}\n type={iconType}\n icon={icon}\n style={{\n color: iconColor\n }}\n />\n )}\n </Ellipse>\n </div>\n );\n\n if (type === 'action') {\n return (\n <IconButton\n classes={{\n root: classes.buttonRoot\n }}\n onClick={onClick}\n >\n <UnityFluentIcon\n size={size === 'small' ? size : 'medium'}\n color={iconColor}\n type={iconType}\n icon={icon}\n style={{\n color: iconColor\n }}\n />\n </IconButton>\n );\n }\n\n return tokenComponent;\n};\n\nToken.propTypes = {\n type: PropTypes.string,\n variant: PropTypes.string,\n color: PropTypes.string,\n size: PropTypes.string,\n iconType: PropTypes.string,\n icon: PropTypes.elementType,\n letter: PropTypes.string,\n onClick: PropTypes.func\n};\n","import React from 'react'\nimport { makeStyles } from '@material-ui/core'\nimport ToggleButton from '@material-ui/lab/ToggleButton';\nimport PropTypes from 'prop-types'\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupActionContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignContent: 'space-around',\n }, \n toggleRoot: {\n '&:not(:first-child)': {\n marginTop: 16,\n border: '1px solid lightgrey',\n borderTopLeftRadius: 25,\n borderTopRightRadius: 25,\n borderRadius: 25,\n padding: 0,\n paddingRight: theme.spacing(2),\n \n },\n '&:not(:last-child)': {\n borderBottomLeftRadius: 25,\n borderBottomRightRadius: 25,\n borderRadius: 25,\n padding: 0,\n border: '1px solid lightgrey',\n paddingRight: theme.spacing(2)\n },\n '& .MuiToggleButton-root.Mui-selected': {\n color: 'rgba(0, 0, 0, 0.54)',\n backgroundColor: 'white'\n }\n },\n buttonRoot: {\n textTransform: 'none',\n fontWeight: 700,\n justifyContent: 'flex-start'\n },\n '.MuiToggleButton-root.Mui-selected': {\n color: 'rgba(0, 0, 0, 0.54)',\n backgroundColor: 'white'\n }\n}))\n\nexport const AmbientToggleButton = ({children, value, ariaLabel, onClick, ...otherProps}) => {\n const classes = useStyles()\n\n\n return (\n <div className={classes.root} >\n \n <ToggleButton classes={{root: classes.buttonRoot}} value={value} aria-label={ariaLabel} onClick={onClick} {...otherProps} >\n {children}\n </ToggleButton>\n </div>\n )\n}\nAmbientToggleButton.propTypes = {\n /**\n * Contents of the button\n */\n children: PropTypes.node,\n /**\n * Value used to determine active toggle\n */\n value: PropTypes.string,\n /**\n * Lable for accessiblity on icon\n */\n ariaLabel: PropTypes.string,\n /**\n * Function to handle event\n */\n onClick: PropTypes.func,\n}\n","// Determine if the toggle button value matches, or is contained in, the\n// candidate group value.\nexport default function isValueSelected(value, candidate) {\n if (candidate === undefined || value === undefined) {\n return false;\n }\n \n if (Array.isArray(candidate)) {\n return candidate.indexOf(value) >= 0;\n }\n \n return value === candidate;\n }","import React, {forwardRef, Children, isValidElement, cloneElement} from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport isValueSelected from '../../../utilities/isValueSelected';\nimport { withStyles } from '@material-ui/core/styles';\nimport { capitalize } from '@material-ui/core/utils';\n\nexport const styles = (theme) => ({\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n padding: 0\n },\n /* Styles applied to the root element if `orientation=\"vertical\"`. */\n vertical: {\n flexDirection: 'column',\n },\n /* Styles applied to the children. */\n grouped: {},\n /* Styles applied to the children if `orientation=\"horizontal\"`. */\n groupedHorizontal: {\n // '&:not(:first-child)': {\n // marginLeft: -1,\n // borderLeft: '1px solid ',\n // borderTopLeftRadius: 25,\n // borderBottomLeftRadius: 25,\n // },\n // '&:not(:last-child)': {\n // borderTopRightRadius: 25,\n // borderBottomRightRadius: 25,\n // },\n borderRadius: 25,\n padding: 0,\n paddingRight: 16,\n '&:not(:first-child)': {\n marginTop: 16,\n borderRadius: 25,\n paddingRight: 16,\n padding: 0\n },\n '&:not(:last-child)': {\n padding: 0,\n borderRadius: 25,\n paddingRight: 16,\n },\n \n },\n /* Styles applied to the children if `orientation=\"vertical\"`. */\n groupedVertical: {\n borderRadius: 25,\n padding: 0,\n paddingRight: 16,\n '&:not(:first-child)': {\n marginTop: 16,\n borderRadius: 25,\n paddingRight: 16,\n padding: 0\n },\n '&:not(:last-child)': {\n padding: 0,\n borderRadius: 25,\n paddingRight: 16,\n },\n },\n});\n\nconst AmbientToggleButtonGroupDefault = forwardRef(function AmbientToggleButton(props, ref) {\n const {\n children,\n classes,\n className,\n exclusive = false,\n onChange,\n orientation = 'horizontal',\n size = 'medium',\n value,\n ...other\n } = props;\n\n const handleChange = (event, buttonValue) => {\n if (!onChange) {\n return;\n }\n\n const index = value && value.indexOf(buttonValue);\n let newValue;\n\n if (value && index >= 0) {\n newValue = value.slice();\n newValue.splice(index, 1);\n } else {\n newValue = value ? value.concat(buttonValue) : [buttonValue];\n }\n\n onChange(event, newValue);\n };\n\n const handleExclusiveChange = (event, buttonValue) => {\n if (!onChange) {\n return;\n }\n\n onChange(event, value === buttonValue ? null : buttonValue);\n };\n\n return (\n <div\n role=\"group\"\n className={clsx(\n classes.root,\n {\n [classes.vertical]: orientation === 'vertical',\n },\n className,\n )}\n ref={ref}\n {...other}\n >\n {Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error(\n [\n \"Material-UI: The ToggleButtonGroup component doesn't accept a Fragment as a child.\",\n 'Consider providing an array instead.',\n ].join('\\n'),\n );\n }\n }\n\n return cloneElement(child, {\n className: clsx(\n classes.grouped,\n classes[`grouped${capitalize(orientation)}`],\n child.props.className,\n ),\n onChange: exclusive ? handleExclusiveChange : handleChange,\n selected:\n child.props.selected === undefined\n ? isValueSelected(child.props.value, value)\n : child.props.selected,\n size: child.props.size || size,\n });\n })}\n </div>\n );\n});\n\nAmbientToggleButtonGroupDefault.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the button.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, only allow one of the child ToggleButton values to be selected.\n */\n exclusive: PropTypes.bool,\n /**\n * Callback fired when the value changes.\n *\n * @param {object} event The event source of the callback.\n * @param {any} value of the selected buttons. When `exclusive` is true\n * this is a single value; when false an array of selected values. If no value\n * is selected and `exclusive` is true the value is null; when false an empty array.\n */\n onChange: PropTypes.func,\n /**\n * The group orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The size of the buttons.\n */\n size: PropTypes.oneOf(['large', 'medium', 'small']),\n /**\n * The currently selected value within the group or an array of selected\n * values when `exclusive` is false.\n *\n * The value must have reference equality with the option in order to be selected.\n */\n value: PropTypes.any,\n};\n\nexport default withStyles(styles, { name: 'MuiToggleButtonGroup' })(AmbientToggleButtonGroupDefault);","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { GridSidebarContainer } from './GridSidebarContainer';\nimport { GridGroupingHeader } from './GridGroupingHeader';\nimport { AssessmentGroupIcon, ChromeCloseIcon } from '@fluentui/react-icons';\nimport { Token } from '../../components/dataDisplay/Token';\nimport { AmbientToggleButton } from '../../inputs/buttons/AmbientToggleButton';\nimport AmbientToggleButtonGroupDefault from '../../inputs/buttons/AmbientToggleButtonGroupDefault';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n groupActionContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignContent: 'space-around'\n },\n buttonRoot: {\n textTransform: 'none',\n fontWeight: 700,\n justifyContent: 'flex-start'\n },\n buttonGroupWrapper: {\n gap: theme.spacing(2)\n }\n}));\n\nexport const GridGroupingSidebar = ({\n groupItem,\n expandClick,\n collapseClick,\n closeClick,\n groupingData,\n height,\n color = '#F5F2F8'\n}) => {\n const classes = useStyles();\n\n const [view, setView] = useState('');\n\n const handleChange = (event, nextView) => {\n setView(nextView);\n };\n\n const GroupItem = ({ label, clear }) => {\n return (\n <>\n <Token\n icon={clear ? ChromeCloseIcon : AssessmentGroupIcon}\n color='trigger'\n size='small'\n variant='filled'\n type='icon'\n />\n <Typography variant='caption' style={{ color: 'black' }}>\n {' '}\n {label}{' '}\n </Typography>\n </>\n );\n };\n\n return (\n <div className={classes.root}>\n <GridSidebarContainer color={color} height={height}>\n <GridGroupingHeader\n expandClick={expandClick}\n collapseClick={collapseClick}\n closeClick={closeClick}\n />\n <div className={classes.groupActionContainer}>\n <AmbientToggleButtonGroupDefault\n orientation='vertical'\n value={view}\n exclusive\n onChange={handleChange}\n className={classes.buttonGroupWrapper}\n >\n {\n // @todo: consider combining value and groupItem.\n groupingData.map((item) => {\n return (\n <AmbientToggleButton\n value={item.value}\n aria-label={item.label}\n onClick={() => groupItem(item.groupItem)}\n >\n <GroupItem label={item.label} />\n </AmbientToggleButton>\n );\n })\n }\n <AmbientToggleButton\n value='noGroups'\n aria-label='noGroups'\n onClick={closeClick}\n >\n <GroupItem label='No Groups' clear />\n </AmbientToggleButton>\n </AmbientToggleButtonGroupDefault>\n </div>\n </GridSidebarContainer>\n </div>\n );\n};\nGridGroupingSidebar.propTypes = {\n /**\n * Function to pass along grid grouping\n */\n groupItem: PropTypes.func,\n /**\n * Expand Grouped items on grid\n */\n expandClick: PropTypes.func,\n /**\n * Collapse grouped items on grid\n */\n collapseClick: PropTypes.func,\n /**\n * Clear grouped items\n */\n closeClick: PropTypes.func,\n /**\n * Array of data to create grouping list. Example: {groupItem: 'instructors', label: 'Instructors', value: 'instructors'},\n */\n groupingData: PropTypes.array,\n /**\n * Color of the sidebar\n */\n color: PropTypes.string\n};\n","import React, { Children, useCallback } from 'react';\nimport {\n usePopupState,\n bindTrigger,\n bindPopper,\n} from 'material-ui-popup-state/hooks';\nimport useId from '../../UI/widgets/utils/useId';\nimport {\n Button,\n ButtonGroup,\n Popper,\n Grow,\n Paper,\n ClickAwayListener,\n MenuList,\n makeStyles,\n} from '@material-ui/core';\nimport { ArrowDropDown as ArrowDropDownIcon } from '@material-ui/icons';\n\nconst useStyles = makeStyles(\n theme => ({\n arrowButtonRoot: {\n padding: 0,\n },\n menu: {\n zIndex: theme.zIndex.tooltip,\n },\n paper: {},\n }),\n { name: 'SplitButton' }\n);\n\n/**\n * https://material-ui.com/components/button-group/#split-button\n */\nexport const SplitButton = props => {\n const classes = useStyles(props);\n const {\n popupName,\n color,\n size,\n variant,\n label,\n 'aria-label': ariaLabel,\n children,\n } = props;\n const popupId = useId(popupName);\n const popupState = usePopupState({ variant: 'popper', popupId });\n\n const firstItem = Children.toArray(children)[0];\n\n const setAnchorEl = useCallback(ref => {\n if (ref) popupState.setAnchorEl(ref);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <React.Fragment>\n <ButtonGroup\n variant={variant}\n color={color}\n size={size}\n ref={setAnchorEl}\n aria-label={ariaLabel}\n >\n <Button onClick={firstItem?.props?.onClick}>\n {label || firstItem?.props?.children}\n </Button>\n <Button\n {...bindTrigger(popupState)}\n className={classes.arrowButtonRoot}\n color={color}\n size=\"small\"\n aria-expanded={popupState.isOpen ? true : undefined}\n // @fixme Allow labels for this button\n >\n <ArrowDropDownIcon />\n </Button>\n </ButtonGroup>\n <Popper\n {...bindPopper(popupState)}\n role={undefined}\n transition\n disablePortal\n className={classes.menu}\n >\n {({ TransitionProps, placement }) => (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin:\n placement === 'bottom' ? 'center top' : 'center bottom',\n }}\n >\n <Paper className={classes.paper}>\n <ClickAwayListener onClickAway={popupState.close}>\n <MenuList /*id={popupState.popupId}*/>{children}</MenuList>\n </ClickAwayListener>\n </Paper>\n </Grow>\n )}\n </Popper>\n </React.Fragment>\n );\n};\n","import { AllModules, RowHeightParams } from '@ag-grid-enterprise/all-modules';\nimport {\n AgGridEvent,\n ColumnApi,\n GridApi,\n Module\n} from '@ag-grid-enterprise/all-modules/dist/cjs/main';\nimport '@ag-grid-enterprise/all-modules/dist/styles/ag-grid.css';\nimport '@ag-grid-enterprise/all-modules/dist/styles/ag-theme-material.css';\nimport './ag-grid-styles.scss';\nimport { AgGridReact, AgGridReactProps } from '@ag-grid-community/react';\nimport { ExcelExportModule } from '@ag-grid-enterprise/excel-export';\nimport {\n Box,\n Button,\n Grid,\n makeStyles,\n MenuItem,\n useTheme\n} from '@material-ui/core';\nimport clsx from 'clsx';\nimport invariant from 'invariant';\nimport React, {\n Dispatch,\n FC,\n Reducer,\n useCallback,\n useMemo,\n useReducer\n} from 'react';\nimport { SplitButton } from './SplitButton';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nimport { LicenseKey } from '../../AGLicense';\n\nLicenseManager.setLicenseKey(LicenseKey);\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {\n flex: 1,\n height: (props: any) =>\n props?.height ? props.height : 'calc(100vh - 280px)'\n },\n AgGrid: (props: any) => ({\n '--ag-control-panel-background-color': theme.palette.primary.light,\n '--ag-checkbox-checked-color': theme.palette.primary.main,\n ...(props.hideHeader ? {} : {\n '--ag-header-background-color': theme.palette.primary.main,\n '--ag-header-foreground-color': theme.palette.primary.light,\n }),\n })\n }),\n { name: 'AgTable' }\n);\n\nconst globalModules: Module[] = [...AllModules, ExcelExportModule];\n\ninterface AgGridApi {\n gridApi?: GridApi;\n gridColumnApi?: ColumnApi;\n}\n\ninterface UseAgGridApi extends AgGridApi {\n onGridReady: Dispatch<AgGridEvent>;\n}\n\n/**\n * Utility hook for getting the ag-grid APIs into state\n */\nexport function useAgGridApi(): UseAgGridApi {\n const [{ gridApi, gridColumnApi }, onGridReady] = useReducer<\n Reducer<AgGridApi, AgGridEvent>\n >((state, params) => {\n return { gridApi: params.api, gridColumnApi: params.columnApi };\n }, {});\n\n return { gridApi, gridColumnApi, onGridReady };\n}\n\nexport interface AgTableButttonsProps {\n gridApi?: GridApi;\n gridColumnApi?: ColumnApi;\n}\n\n/**\n * Size/Export buttons for AgGrid tables\n */\nexport const AgTableButtons: FC<AgTableButttonsProps> = (props) => {\n const { gridApi, gridColumnApi } = props;\n\n const exportToCSV = useCallback(() => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.exportDataAsCsv({\n allColumns: true,\n fileName: 'export'\n });\n }, [gridApi]);\n const exportToExcel = useCallback(() => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.exportDataAsExcel({\n allColumns: true,\n fileName: 'export'\n });\n }, [gridApi]);\n\n const sizeToFit = useCallback(\n (params: any) => {\n invariant(gridApi, `gridApi not ready`);\n gridApi?.sizeColumnsToFit();\n },\n [gridApi]\n );\n\n const autoSizeAll = useCallback(\n (skipHeader: any) => {\n invariant(gridColumnApi, `gridColumnApi not ready`);\n const allColumnIds: string[] = [];\n gridColumnApi\n ?.getAllColumns()\n ?.forEach((column: { getColId: () => string }) => {\n allColumnIds.push(column.getColId());\n });\n gridColumnApi?.autoSizeColumns(allColumnIds, skipHeader);\n },\n [gridColumnApi]\n );\n const autoSizeAllWithHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n const autoSizeAllWithoutHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n\n return (\n <Box mb={1}>\n <Grid container direction='row' spacing={1} justify='flex-end'>\n <Grid item>\n <Button variant='outlined' size='small' onClick={sizeToFit}>\n Size to Fit\n </Button>\n </Grid>\n <Grid item>\n <SplitButton\n popupName='auto-size'\n variant='outlined'\n size='small'\n label='Auto-Size'\n >\n <MenuItem onClick={autoSizeAllWithHeader}>All</MenuItem>\n <MenuItem onClick={autoSizeAllWithoutHeader}>Skip Header</MenuItem>\n </SplitButton>\n </Grid>\n <Grid item>\n <SplitButton\n popupName='export'\n variant='outlined'\n size='small'\n label='Export'\n >\n <MenuItem onClick={exportToExcel}>Excel</MenuItem>\n <MenuItem onClick={exportToCSV}>CSV</MenuItem>\n </SplitButton>\n </Grid>\n </Grid>\n </Box>\n );\n};\n\ninterface AgTableProps extends AgGridReactProps {\n dynamicSizing?: boolean;\n className?: string;\n isUsingAgRowHeight?: boolean;\n hideHeader?: boolean; // Add the hideHeader prop\n}\n\n/**\n * AgGrid with tweaks\n */\nexport const AgTable: FC<AgTableProps> = (props) => {\n const classes = useStyles(props);\n const {\n modules: modulesProp,\n className,\n getRowHeight,\n rowModelType,\n isUsingAgRowHeight = false,\n hideHeader = false // Add the hideHeader prop to the destructuring\n } = props;\n const modules = useMemo<Module[]>(\n () => (modulesProp ? globalModules.concat(modulesProp) : globalModules),\n [modulesProp]\n );\n\n const calculateRowHeight: (\n params: RowHeightParams\n ) => number | null | undefined = (params) => {\n if (params.node.level === 0) {\n return 48;\n }\n if (params.node.level === 1) {\n return 32;\n }\n return 16;\n };\n\n const rowHeightFunction = useCallback(\n (params) => {\n if (rowModelType === 'serverSide') {\n if (isUsingAgRowHeight) {\n return undefined;\n } else {\n if (getRowHeight) {\n return getRowHeight(params);\n } else {\n return calculateRowHeight(params);\n }\n }\n } else {\n if (getRowHeight) {\n return getRowHeight(params);\n }\n }\n return undefined;\n },\n [getRowHeight, isUsingAgRowHeight]\n );\n\n const onGridSizeChanged = () => {\n if (props.dynamicSizing) {\n props.api?.sizeColumnsToFit();\n }\n };\n\n return (\n <div className={clsx('ag-theme-material', classes.root, className)}>\n <AgGridReact\n {...props}\n modules={modules}\n onGridSizeChanged={onGridSizeChanged}\n getRowHeight={rowHeightFunction}\n className={classes.AgGrid}\n />\n </div>\n );\n};\n","import React from 'react';\nimport {\n makeStyles,\n Typography,\n Tabs,\n Tab,\n InputAdornment,\n lighten\n} from '@material-ui/core';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\nimport {\n SearchIcon,\n CombineIcon,\n ExportIcon,\n DownloadIcon,\n BlockedIcon,\n SaveIcon,\n DeleteIcon,\n ClearIcon\n} from '@fluentui/react-icons';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PropTypes from 'prop-types';\n// import {PAHExport} from './PAHExport'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5),\n background: (props) =>\n props.background\n ? props.background\n : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.secondary.main\n }\n}));\n\nexport const GridActionBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n handleChange,\n value,\n exportCSV,\n exportExcel,\n exportPDF,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n saveGridConfig,\n deleteGridConfig,\n clearGridConfig,\n title,\n hideFitGrid = false,\n hideExpandGrid = false,\n hideExportGrid = false,\n hideRemoveFilters = false,\n hideFilterTab = false,\n hideGroupTab = false,\n hideColumnTab = false,\n hideSearchBar = false\n } = props;\n\n const gridControlsExport = (\n <div>\n {/* <PAHExport\n exportCSV={exportCSV}\n exportExcel={exportExcel}\n exportPDF={exportPDF}\n /> */}\n </div>\n );\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n <div> {gridControlsExport}</div>\n\n <div className={classes.controls}>\n {saveGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={SaveIcon}\n tooltip='Save Grid Configuration'\n ariaLabel='Save Grid Configuration'\n onClick={saveGridConfig}\n />\n )}\n {deleteGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DeleteIcon}\n tooltip='Delete Grid Configuration'\n ariaLabel='Delete Grid Configuration'\n onClick={deleteGridConfig}\n />\n )}\n {clearGridConfig && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ClearIcon}\n tooltip='Clear Grid Configuration'\n ariaLabel='Clear Grid Configuration'\n onClick={clearGridConfig}\n />\n )}\n {!hideFitGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={CombineIcon}\n tooltip='Fit Grid'\n ariaLabel='Fit Grid'\n onClick={fitClick}\n />\n )}\n {!hideExpandGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={ExportIcon}\n tooltip='Expand Grid'\n ariaLabel='Expand Grid'\n onClick={expandClick}\n />\n )}\n {!hideExportGrid && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={DownloadIcon}\n tooltip='Export Grid'\n ariaLabel='Export Grid'\n onClick={exportClick}\n />\n )}\n {!hideRemoveFilters && (\n <AmbientTokenButton\n iconClassName={classes.icon}\n icon={BlockedIcon}\n tooltip='Remove Filters'\n ariaLabel='Remove Filters'\n onClick={clearClick}\n />\n )}\n </div>\n\n <Tabs\n value={value}\n onChange={handleChange}\n aria-label='basic tabs example'\n >\n {!hideFilterTab && (\n <Tab label='Filter' classes={{ root: classes.tabRoot }} />\n )}\n {!hideGroupTab && (\n <Tab label='Group' classes={{ root: classes.tabRoot }} />\n )}\n {!hideColumnTab && (\n <Tab label='Column' classes={{ root: classes.tabRoot }} />\n )}\n </Tabs>\n\n {children}\n </div>\n );\n};\nGridActionBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * Handle change function for quick search\n */\n handleChange: PropTypes.func,\n /**\n * Passes the tab value of the action bar\n */\n value: PropTypes.number,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func\n};\n","import React, { forwardRef } from 'react';\nimport {\n makeStyles,\n Tooltip,\n IconButton,\n Chip,\n Typography\n} from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actionHeader: {\n display: 'flex',\n flexDirection: 'row'\n },\n icon: {\n marginLeft: theme.spacing(1),\n color: (props) =>\n props.background === 'transparent'\n ? theme.palette.secondary.main\n : theme.palette.primary.main\n },\n chipRoot: {\n background: (props) =>\n props.background ? props.background : theme.palette.common.white\n },\n label: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }\n}));\n\nexport const AmbientChipButton = forwardRef(function AmbientChipButton(\n props,\n ref\n) {\n const {\n tooltip,\n label,\n onClick,\n icon,\n iconClassName,\n className,\n labelClassName,\n otherProps,\n id='chip-button',\n udprecordid\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={classes.root}>\n <Tooltip title={tooltip}>\n <Chip\n id={id}\n udprecordid={udprecordid}\n ref={ref}\n className={className ?? classes.chipRoot}\n label={\n <Typography className={labelClassName ?? classes.label}>\n {label}\n </Typography>\n }\n onClick={onClick}\n icon={\n icon && (\n <FluentIcon\n className={iconClassName ?? classes.icon}\n component={icon}\n />\n )\n }\n {...otherProps}\n />\n </Tooltip>\n </div>\n );\n});\n\nAmbientChipButton.propTypes = {\n /**\n * Tooltip to display for button\n */\n tooltip: PropTypes.string.isRequired,\n /**\n * Accessiblity label for icon\n */\n label: PropTypes.string.isRequired,\n /**\n * event for button function\n */\n onClick: PropTypes.func,\n /**\n * icon to appear in button\n */\n icon: PropTypes.func.isRequired\n};\n","import {\n AppIconDefaultIcon,\n BlockedIcon,\n BulletedTreeListIcon,\n CombineIcon,\n ExportIcon,\n FavoriteStarIcon,\n FilterIcon,\n LightbulbIcon,\n MoreVerticalIcon,\n SaveIcon,\n SearchIcon,\n TripleColumnIcon,\n UploadIcon\n} from '@fluentui/react-icons';\nimport {\n InputAdornment,\n MenuItem,\n Popover,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { React, useCallback, useEffect, useMemo, useState } from 'react';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { AmbientChipButton } from '../inputs/buttons/AmbientChipButton';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\nimport PrimaryActionButton from '../inputs/buttons/PrimaryActionButton';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n padding: theme.spacing(0.5)\n // background: (props) =>\n // props.background\n // ? props.background\n // : lighten(theme.palette.secondary.light, 0.9)\n },\n label: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n title: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n marginLeft: (props) => (props.title ? theme.spacing(2) : 0)\n },\n // @todo: switch to Fluent tabs and remove this style\n tabRoot: {\n minWidth: 0,\n textTransform: 'none'\n },\n controls: {\n display: 'flex',\n alignItems: 'center',\n gridGap: theme.spacing(2),\n gap: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n icon: {\n background: theme.palette.common.white,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const GridPrimaryBar = (props) => {\n const classes = useStyles(props);\n const {\n children,\n onChange,\n fitClick,\n expandClick,\n clearClick,\n exportClick,\n filterClick,\n columnsClick,\n groupClick,\n title,\n hiddenActionButtons,\n hiddenLabels,\n hideSearchBar = false,\n secondaryActionButtons,\n saveViewClick,\n viewsClick,\n insightsClick,\n onPrimaryActionClick,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n onSearchKeyDown\n } = props;\n\n const [actionButtonMedianPx, setActionButtonMedianPx] = useState(0);\n const [actionButtons, setActionButtons] = useState([]);\n const [menuActionButtons, setMenuActionButtons] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n const [windowWidthBreakpoint, setWindowWidthBreakpoint] = useState(1400);\n\n const chipButtonSizePx = 100;\n const tokenButtonSizePx = 40;\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n const defaultActionButtons = useMemo(\n () => [\n {\n icon: SaveIcon,\n tooltip: 'Save Grid Configuration',\n label: 'Save View',\n visible: !hiddenActionButtons.includes('saveView'),\n hideLabel: hiddenLabels.includes('saveView'),\n onClick: saveViewClick,\n background: 'transparent'\n },\n {\n icon: FavoriteStarIcon,\n tooltip: 'Browse Views',\n label: 'Views',\n visible: !hiddenActionButtons.includes('views'),\n onClick: viewsClick,\n hideLabel: hiddenLabels.includes('views'),\n iconClassName: classes.icon\n },\n {\n icon: LightbulbIcon,\n tooltip: 'Insights',\n label: 'Insights',\n visible: !hiddenActionButtons.includes('insights'),\n hideLabel: hiddenLabels.includes('insights'),\n onClick: insightsClick,\n iconClassName: classes.icon\n },\n {\n icon: UploadIcon,\n tooltip: 'Import/Export',\n label: 'Import/Export',\n visible: !!exportClick && !hiddenActionButtons.includes('importExport'),\n hideLabel: hiddenLabels.includes('importExport'),\n onClick: exportClick,\n iconClassName: classes.icon\n },\n {\n icon: BulletedTreeListIcon,\n tooltip: 'Group',\n label: 'Group',\n visible: !!groupClick && !hiddenActionButtons.includes('group'),\n hideLabel: hiddenLabels.includes('group'),\n onClick: groupClick,\n iconClassName: classes.icon\n },\n {\n icon: FilterIcon,\n tooltip: 'Filter',\n label: 'Filter',\n visible: !!filterClick && !hiddenActionButtons.includes('filter'),\n hideLabel: hiddenLabels.includes('filter'),\n onClick: filterClick,\n iconClassName: classes.icon\n },\n {\n icon: TripleColumnIcon,\n tooltip: 'Columns',\n label: 'Columns',\n visible: !!columnsClick && !hiddenActionButtons.includes('columns'),\n hideLabel: hiddenLabels.includes('columns'),\n onClick: columnsClick,\n iconClassName: classes.icon\n },\n {\n icon: CombineIcon,\n tooltip: 'Fit Grid',\n label: 'Fit Grid',\n visible: !!fitClick && !hiddenActionButtons.includes('fitGrid'),\n hideLabel: hiddenLabels.includes('fitGrid'),\n onClick: fitClick,\n iconClassName: classes.icon\n },\n {\n icon: ExportIcon,\n tooltip: 'Expand Grid',\n label: 'Expand Grid',\n visible: !!expandClick && !hiddenActionButtons.includes('expandGrid'),\n hideLabel: hiddenLabels.includes('expandGrid'),\n onClick: expandClick,\n iconClassName: classes.icon\n },\n {\n icon: BlockedIcon,\n tooltip: 'Clear Filters',\n label: 'Clear Filters',\n visible: !!clearClick && !hiddenActionButtons.includes('clearFilters'),\n hideLabel: hiddenLabels.includes('clearFilters'),\n onClick: clearClick,\n iconClassName: classes.icon\n }\n ],\n [\n classes.icon,\n clearClick,\n columnsClick,\n expandClick,\n exportClick,\n filterClick,\n fitClick,\n groupClick,\n hiddenActionButtons,\n hiddenLabels,\n insightsClick,\n saveViewClick,\n viewsClick\n ]\n );\n\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const formatActionButtons = useCallback(\n (buttons) => {\n // This allows users to not have to set the visible and showLabel properties when passing secondaryActionButtons\n return buttons.map((button) => {\n if (button.visible === undefined) {\n button.visible = true;\n }\n if (button.hideLabel === undefined) {\n button.hideLabel = false;\n }\n if (button.label === undefined) {\n button.label = button.tooltip ?? 'Button';\n button.hideLabel = true;\n }\n if (\n button.iconClassName === undefined &&\n button.background === undefined\n ) {\n button.iconClassName = classes.icon;\n }\n return button;\n });\n },\n [classes?.icon]\n );\n\n // calculate the action buttons to display based on the window width\n useEffect(() => {\n const allActionButtons = formatActionButtons([\n ...defaultActionButtons,\n ...secondaryActionButtons\n ]);\n const menuButtons = [];\n\n const numActionButtons =\n allActionButtons.length - hiddenActionButtons.length;\n const buttonTotalWidth =\n numActionButtons * chipButtonSizePx -\n (chipButtonSizePx - tokenButtonSizePx) * hiddenLabels.length;\n\n const calculatedMedian = Math.floor(buttonTotalWidth / numActionButtons);\n\n const breakPointOffset = calculatedMedian > 70 ? 950 : 900;\n let breakPoint = breakPointOffset + buttonTotalWidth;\n\n const currentWindowWidth = window.innerWidth;\n while (currentWindowWidth < breakPoint && allActionButtons.length > 0) {\n const movedAction = allActionButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= calculatedMedian;\n }\n\n setActionButtonMedianPx(calculatedMedian);\n setActionButtons(allActionButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n }, [\n formatActionButtons,\n defaultActionButtons,\n secondaryActionButtons,\n hiddenActionButtons?.length,\n hiddenLabels?.length\n ]);\n\n useEffect(() => {\n const handleResize = () => {\n let breakPoint = windowWidthBreakpoint;\n let visibleButtons = [...actionButtons];\n let menuButtons = [...menuActionButtons];\n\n while (window.innerWidth < breakPoint && visibleButtons.length > 0) {\n const movedAction = visibleButtons.pop();\n menuButtons.push(movedAction);\n breakPoint -= actionButtonMedianPx;\n }\n\n while (\n window.innerWidth > breakPoint + actionButtonMedianPx &&\n menuButtons.length > 0\n ) {\n const movedAction = menuButtons.pop(0);\n visibleButtons.push(movedAction);\n breakPoint += actionButtonMedianPx;\n }\n\n setActionButtons(visibleButtons);\n setMenuActionButtons(menuButtons);\n setWindowWidthBreakpoint(breakPoint);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [\n windowWidthBreakpoint,\n actionButtons,\n menuActionButtons,\n actionButtonMedianPx\n ]);\n\n const handleCustomKeyDown = (event) => {\n if(onSearchKeyDown){\n if (event.key === 'Enter') {\n onSearchKeyDown()\n }\n }\n \n }\n\n return (\n <div className={classes.root}>\n <div className={classes.title}>\n {title && (\n <Typography\n variant='h6'\n style={{\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }}\n >\n {' '}\n {title}{' '}\n </Typography>\n )}\n {!hideSearchBar && (\n <div\n style={{\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n marginTop: -16,\n maxWidth: 300\n }}\n >\n <AmbientTextField\n title={title}\n onChange={onChange}\n onKeyDown={handleCustomKeyDown}\n InputProps={{\n type: 'search',\n startAdornment: (\n <InputAdornment position='start'>\n <SearchIcon />\n </InputAdornment>\n )\n }}\n />\n </div>\n )}\n </div>\n\n <div className={classes.controls}>\n {actionButtons.map(\n (button) =>\n button.visible &&\n (button.hideLabel ? (\n <AmbientTokenButton\n id={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Token-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n onClick={button.onClick}\n ariaLabel={button.label}\n iconClassName={button.iconClassName}\n />\n ) : (\n <AmbientChipButton\n id={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-Chip-' +\n button.label.replace(/ /g, '-')\n }\n icon={button.icon ?? AppIconDefaultIcon}\n tooltip={button.tooltip}\n label={button.label}\n onClick={button.onClick}\n background={button.background}\n />\n ))\n )}\n\n {!!menuActionButtons.length && (\n <div>\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='More Actions'\n ariaLabel='More Actions'\n onClick={handlePopoverClick}\n iconClassName={classes.icon}\n />\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {menuActionButtons\n .slice(0)\n .reverse()\n .map((button) => {\n if (!button.visible) return null;\n return (\n <MenuItem\n id={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n udprecordid={\n 'udpRecord-GridPrimaryBar-MenuItem-' +\n button.label.replace(/ /g, '-')\n }\n onClick={button.onClick}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n >\n <Typography>{button.label}</Typography>\n <FluentIcon\n component={button.icon ?? AppIconDefaultIcon}\n style={{ marginLeft: 7 }}\n />\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n\n {onPrimaryActionClick && (\n <PrimaryActionButton\n onClick={onPrimaryActionClick}\n id='udpRecord-GridPrimaryBar-Add'\n udprecordid='udpRecord-GridPrimaryBar-Add'\n disabled={primaryActionDisabled}\n >\n <Typography style={{ marginLeft: 4 }}>\n {primaryActionLabel ?? 'Button'}\n </Typography>\n <FluentIcon\n style={{ marginLeft: 7 }}\n component={primaryActionIcon ?? AppIconDefaultIcon}\n />\n </PrimaryActionButton>\n )}\n </div>\n );\n};\n\nGridPrimaryBar.propTypes = {\n /**\n * Title of the action bar\n */\n title: PropTypes.string,\n /**\n * Child content to add within action bar\n */\n children: PropTypes.node,\n /**\n * The event that occurs when the grid changes due to a search\n */\n onChange: PropTypes.func,\n /**\n * Passes click event to function for fit to grid\n */\n fitClick: PropTypes.func,\n /**\n * Passes click event to function for expanding grid\n */\n expandClick: PropTypes.func,\n /**\n * Passes click event to function for clearing filters\n */\n clearClick: PropTypes.func,\n /**\n * Passes click event to function for exporting grid\n */\n exportClick: PropTypes.func,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /**\n * Passes click event to function for filtering grid\n */\n filterClick: PropTypes.func,\n /**\n * Passes click event to function for disabling columns in grid\n */\n columnsClick: PropTypes.func,\n /**\n * Passes click event to function for grouping grid\n */\n groupClick: PropTypes.func,\n /**\n * Specifies whether to hide the search bar\n */\n hideSearchBar: PropTypes.bool,\n /**\n * An optional array of secondary action buttons to display.\n * Required minimum format:\n * {\n tooltip: 'Description',\n label: 'Label',\n onClick: () => console.log('Button clicked'),\n },\n */\n secondaryActionButtons: PropTypes.arrayOf(PropTypes.object),\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType\n};\n","import {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n LinearProgress,\n makeStyles\n} from '@material-ui/core';\nimport React from 'react';\nimport { PrimaryActionButton } from '../inputs/buttons/PrimaryActionButton';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n paper: {\n borderRadius: 2,\n borderTop: (props) =>\n props.header && `4px solid ${theme.palette.secondary.main}`\n },\n title: {\n color: (props) => props.header && theme.palette.secondary.main\n },\n actions: {\n marginBottom: 0,\n marginRight: 0,\n padding: 0\n },\n button: {\n borderRadius: 0,\n padding: 'calc(.875rem - 3px) 23px calc(.875rem - 3px) 15px',\n textTransform: 'none'\n },\n dialogContent: {\n height: (props) => props.dialogContentHeight || 'auto',\n width: (props) => props.dialogContentWidth || 'auto'\n },\n dialogLeftBorder: {\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n width: theme.spacing(1),\n backgroundColor: (props) =>\n props.dialogLeftBorderColor ?? theme.palette.primary.main\n }\n}));\n\nexport const FluentDialog = (props) => {\n const classes = useStyles(props);\n const {\n title,\n message,\n actionOne,\n actionTwo,\n actionThree,\n labelOne,\n labelTwo,\n labelThree,\n open,\n handleClose,\n ariaLabelledby,\n ariaDescribedby,\n titleId,\n descriptionId,\n children,\n buttonOneHidden = false,\n buttonTwoHidden = false,\n buttonThreeHidden = true,\n disableOne,\n disableTwo,\n disableThree,\n progress,\n enableLeftBorderStyling = false,\n ...otherProps\n } = props;\n\n return (\n <Dialog\n open={open}\n onClose={handleClose}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n {...otherProps}\n classes={{\n paper: classes.paper\n }}\n >\n <div\n className={enableLeftBorderStyling ? classes.dialogLeftBorder : ''}\n />\n <DialogTitle className={classes.title} id={titleId}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n <DialogContentText id={descriptionId}>{message}</DialogContentText>\n {children}\n </DialogContent>\n\n <DialogActions className={classes.actions} disableSpacing>\n {!buttonThreeHidden && (\n <Button\n id='udpRecord-FluentDialog-Confirm'\n udprecordid='udpRecord-FluentDialog-Confirm'\n onClick={actionThree}\n color='secondary'\n disabled={disableThree}\n className={classes.button}\n >\n {labelThree}\n </Button>\n )}\n {!buttonTwoHidden && (\n <Button\n id='udpRecord-FluentDialog-Confirm'\n udprecordid='udpRecord-FluentDialog-Confirm'\n onClick={actionTwo}\n color='secondary'\n disabled={disableTwo}\n className={classes.button}\n >\n {labelTwo}\n </Button>\n )}\n {!buttonOneHidden && (\n <PrimaryActionButton\n id='udpRecord-FluentDialog-Cancel'\n udprecordid='udpRecord-FluentDialog-Cancel'\n disabled={disableOne}\n onClick={actionOne}\n >\n {labelOne}\n </PrimaryActionButton>\n )}\n </DialogActions>\n {progress && (\n <LinearProgress color='secondary' value={progress} {...otherProps} />\n )}\n </Dialog>\n );\n};\n","import { GridStateTypeEnums } from '../../enums/unitySystemEnums.ts';\n\nexport const useGridFormat = () => {\n const gridFormat = (gridApi, type) => {\n type === 'expand' && gridApi.expandAll()\n type === 'collapse' && gridApi.collapseAll()\n type === 'resize' && gridApi.sizeColumnsToFit()\n }\n return [gridFormat]\n}\n\nexport const useGridClear = () => {\n const gridClear = (gridApi, gridColumnApi) => {\n gridColumnApi.setRowGroupColumns([])\n gridApi.setFilterModel(null)\n gridApi.setQuickFilter('')\n gridApi.sizeColumnsToFit()\n gridColumnApi.resetColumnState()\n }\n return [gridClear]\n}\n\nexport const useQuickFilter = () => {\n const quickFilter = (gridApi, event) => {\n gridApi.setQuickFilter(event?.target.value)\n }\n return [quickFilter]\n}\n\nexport const useExport = () => {\n const gridExport = (gridApi, type) => {\n type === 'excel' && gridApi.exportDataAsExcel()\n type === 'csv' && gridApi.exportDataAsCsv()\n }\n return [gridExport]\n}\n\nexport const saveGridState = async (\n gridId,\n gridApi,\n gridColumnApi,\n execute\n) => {\n const columnState = gridColumnApi?.getColumnState();\n const columnGroupState = gridColumnApi?.getColumnGroupState();\n const sortModel = gridApi.getSortModel();\n const filterModel = gridApi.getFilterModel();\n const isPivotMode = gridColumnApi.isPivotMode();\n\n const gridState = [];\n const columnGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column,\n gridId: gridId,\n values: JSON.stringify(columnState),\n };\n const columnGroupGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Group,\n gridId: gridId,\n values: JSON.stringify(columnGroupState),\n };\n const columnSortGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Sort,\n gridId: gridId,\n values: JSON.stringify(sortModel),\n };\n const columnFilterGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Filter,\n gridId: gridId,\n values: JSON.stringify(filterModel),\n };\n const pivotGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Pivot_Mode,\n gridId: gridId,\n values: JSON.stringify(isPivotMode),\n };\n gridState.push(columnGridConfiguration);\n gridState.push(columnGroupGridConfiguration);\n gridState.push(columnSortGridConfiguration);\n gridState.push(columnFilterGridConfiguration);\n gridState.push(pivotGridConfiguration);\n\n return await execute({ data: gridState });\n};\n\n\nexport const getGridState = (gridApi, gridColumnApi, gridId) => {\n const columnState = gridColumnApi?.getColumnState();\n const columnGroupState = gridColumnApi?.getColumnGroupState();\n const sortModel = gridApi.getSortModel();\n const filterModel = gridApi.getFilterModel();\n const isPivotMode = gridColumnApi.isPivotMode();\n\n const gridState = [];\n const columnGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column,\n gridId: gridId,\n values: JSON.stringify(columnState),\n };\n const columnGroupGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Group,\n gridId: gridId,\n values: JSON.stringify(columnGroupState),\n };\n const columnSortGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Sort,\n gridId: gridId,\n values: JSON.stringify(sortModel),\n };\n const columnFilterGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Filter,\n gridId: gridId,\n values: JSON.stringify(filterModel),\n };\n const pivotGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Pivot_Mode,\n gridId: gridId,\n values: JSON.stringify(isPivotMode),\n };\n gridState.push(columnGridConfiguration);\n gridState.push(columnGroupGridConfiguration);\n gridState.push(columnSortGridConfiguration);\n gridState.push(columnFilterGridConfiguration);\n gridState.push(pivotGridConfiguration);\n\n return gridState;\n}\n\nexport const deleteGridState = async (\n gridApi,\n gridColumnApi,\n deleteGridState\n) => {\n clearGridState(gridApi, gridColumnApi);\n return await deleteGridState();\n};\n\nexport const clearGridState = (gridApi, gridColumnApi) => {\n gridColumnApi.resetColumnState();\n gridColumnApi.resetColumnGroupState();\n gridApi.setFilterModel({});\n gridApi.setSortModel([]);\n gridColumnApi.setPivotMode(false);\n gridApi.sizeColumnsToFit();\n};\n\nexport const onFirstDataRendered = (gridApi, gridColumnApi, gridStates) => {\n if (gridStates && gridStates.length) {\n gridStates.forEach(state => {\n switch (state.gridStateTypeId) {\n case GridStateTypeEnums.Column:\n gridColumnApi.setColumnState(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Group:\n gridColumnApi.setColumnGroupState(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Pivot_Mode:\n gridColumnApi.setPivotMode(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Sort:\n gridApi.setSortModel(JSON.parse(state.values));\n break;\n case GridStateTypeEnums.Column_Filter:\n gridApi.setFilterModel(JSON.parse(state.values));\n break;\n default:\n break;\n }\n });\n }\n};","import {\n Box,\n Divider,\n FormControlLabel,\n Switch,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport { useCallback, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Field, Form } from '../../utilities/form';\nimport { FluentDialog } from '../feedback/FluentDialog.jsx';\nimport { AmbientTextField } from '../inputs/textField/AmbientTextField.jsx';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers.jsx';\nimport { getGridState } from '../../utilities/aggrid/GridFunctions';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n saveForm: {\n minWidth: 450,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n column: {\n flex: 1,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n divider: {\n backgroundColor: 'grey',\n color: 'grey',\n width: 2,\n height: '100%'\n },\n infoHeader: {\n color: 'grey'\n }\n}));\n\nexport const SaveViewFormDialog = (props) => {\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n const {\n open,\n handleClose,\n tenant,\n application,\n user,\n refetchViews,\n gApi,\n gcApi,\n gridId,\n domain,\n apiCatalogId\n } = props;\n const { t } = useTranslation();\n const classes = useStyles(props);\n\n const saveViewFormRef = useRef(null);\n const triggerSaveView = useCallback(() => {\n saveViewFormRef.current.handleSubmit();\n }, [saveViewFormRef]);\n\n const saveView = async (values) => {\n const data = {\n data: {\n gridView: {\n Name: values.name,\n GridViewVisibilityTypeId: values.private\n ? VisibilityTypeEnums.Private\n : VisibilityTypeEnums.Public,\n isDefault: 0,\n tenantId: user?.currentTenantId,\n userId: user?.id,\n gridId: gridId,\n domain: domain,\n apiCatalogId: apiCatalogId\n },\n gridConfigurations: getGridState(gApi, gcApi, gridId)\n },\n method: 'POST'\n };\n handleClose();\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/createGridView`,\n data\n )\n .then((response) => {\n handleSuccessSnackbar(t('View Saved'));\n refetchViews();\n })\n .catch((error) => {\n console.log(error);\n handleErrorSnackbar(error, t('Failed to Save View'));\n });\n };\n\n return (\n <FluentDialog\n title={t('Save New View')}\n open={open}\n handleClose={handleClose}\n labelOne={t('Save View')}\n labelTwo={t('Cancel')}\n actionOne={triggerSaveView}\n actionTwo={handleClose}\n >\n <Box display='flex'>\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Tenant')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {tenant ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Application')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {application ?? '--'}\n </Typography>\n </div>\n <Divider flexItem orientation='vertical' />\n <div className={classes.column}>\n <Typography className={classes.infoHeader} align='left'>\n {t('Entity')}\n </Typography>\n <Typography variant='subtitle2' align='left'>\n {domain ?? '--'}\n </Typography>\n </div>\n </Box>\n\n <div className={classes.saveForm}>\n <Form onSubmit={saveView} ref={saveViewFormRef}>\n <Field\n type='text'\n component={AmbientTextField}\n name='name'\n id='name'\n label={t('Name')}\n fullWidth={true}\n required={true}\n style={{ marginBottom: 20, marginTop: 10 }}\n />\n\n <FormControlLabel\n control={\n <Field\n component={Switch}\n name='private'\n id='private'\n defaultValue={false}\n type='checkbox'\n />\n }\n label={t('Private')}\n labelPlacement='end'\n />\n </Form>\n </div>\n </FluentDialog>\n );\n};\n\nSaveViewFormDialog.propTypes = {\n open: PropTypes.bool.isRequired, // Determines whether the dialog is open or closed\n handleClose: PropTypes.func.isRequired, // Function called when the dialog is closed\n tenant: PropTypes.string, // Tenant value (optional)\n application: PropTypes.string, // Application value (optional)\n entity: PropTypes.string, // Entity value (optional)\n user: PropTypes.object, // User object (optional)\n columnDefsValues: PropTypes.array, // Array of column definitions values (optional)\n refetchViews: PropTypes.func, // Function to refetch views (optional)\n gApi: PropTypes.object, // Grid API object (optional)\n gcApi: PropTypes.object, // Grid Column API object (optional)\n setSelectedView: PropTypes.func // Function to set selected view (optional)\n};\n","import { useCallback, useState } from 'react';\n\n/**\n * A custom React hook for calculating the number of visible children in a dynamic list based on container width and child widths.\n *\n * @returns {object} An object containing the `calculateNumberOfVisibleChildren` function.\n *\n * @example\n * // Basic usage:\n * const parentRef = useRef();\n * const childRefs = useRef([]);\n * const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n * const maxVisibleChildren = calculateNumberOfVisibleChildren(parentRef, childRefs);\n\n * @example\n * // Excluding a buffer for less white space:\n * const parentRef = useRef();\n * const childRefs = useRef([]);\n * const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n * const maxVisibleChildren = calculateNumberOfVisibleChildren(parentRef, childRefs, false);\n */\nexport const useDynamicListCalculation = () => {\n const [averageChildWidth, setAverageChildWidth] = useState(0);\n const [previousChildRefs, setPreviousChildRefs] = useState([]);\n\n /**\n * Calculate the number of visible children based on container width and child widths.\n *\n * @param {object} parentRef - Ref object for the parent container.\n * @param {object} childRefs - Ref object for an array of child elements.\n * @param {boolean} includeBuffer - Whether to include a buffer for better performance (default: true).\n * @returns {number} The maximum number of visible children.\n */\n const calculateNumberOfVisibleChildren = useCallback(\n (parentRef, childRefs, includeBuffer = true) => {\n if (!parentRef.current || !childRefs.current) return;\n\n const containerWidth =\n parentRef.current.getBoundingClientRect().width ?? 0;\n\n // If the average child width has not been calculated yet, or the child refs have changed, then calculate the average child width\n if (!averageChildWidth || previousChildRefs !== childRefs.current) {\n const childrenTotalWidth = childRefs.current\n .map((ref) =>\n ref && typeof ref?.getBoundingClientRect === 'function'\n ? ref.getBoundingClientRect().width\n : 0\n )\n .reduce((acc, curr) => acc + curr, 0);\n\n const calculatedAverageWidth =\n childrenTotalWidth / childRefs.current.length;\n\n setAverageChildWidth(calculatedAverageWidth);\n setPreviousChildRefs(childRefs.current);\n }\n\n const maxVisibleChildren = Math.floor(containerWidth / averageChildWidth);\n\n if (includeBuffer) return maxVisibleChildren - 1;\n\n return maxVisibleChildren;\n },\n [averageChildWidth, previousChildRefs]\n );\n\n return { calculateNumberOfVisibleChildren };\n};\n","import { MoreVerticalIcon } from '@fluentui/react-icons';\nimport { MenuItem, Popover } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport React, {\n Children,\n cloneElement,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { useDynamicListCalculation } from '../../hooks/useDynamicListCalculation';\nimport { AmbientTokenButton } from '../inputs/buttons/AmbientTokenButton';\n\nconst useStyles = makeStyles((theme) => ({\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n }\n}));\n\nexport const DynamicContainerWithMenu = forwardRef((props, ref) => {\n // ################### Props ###################\n const {\n children,\n className,\n menuButton,\n menuIconClassName,\n includeBuffer = true\n } = props;\n\n // ################### Custom Hooks ###################\n const classes = useStyles();\n const { calculateNumberOfVisibleChildren } = useDynamicListCalculation();\n\n // ################### Memoized Values ###################\n const modifiedMenuButton = useMemo(() => {\n if (!menuButton) return null;\n\n return cloneElement(\n menuButton,\n {\n onClick: (event) => {\n menuButton.props.onClick(event);\n handlePopoverClick(event);\n },\n ...menuButton.props\n },\n menuButton.props.children\n );\n }, [menuButton]);\n\n // ################### States ###################\n const [allChildren, setAllChildren] = useState([]);\n const [visibleChildren, setVisibleChildren] = useState([]);\n const [menuChildren, setMenuChildren] = useState([]);\n const [anchorEl, setAnchorEl] = useState(null);\n\n // ################### Variables ###################\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n // ################### Refs ###################\n const containerRef = useRef(ref);\n const outerContainerRef = useRef(null);\n const childrenRefs = useRef([]);\n\n // ################### Functions ###################\n const handlePopoverClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n // ################### Callbacks ###################\n const handleSizeChange = useCallback(() => {\n const maxVisibleChildren = calculateNumberOfVisibleChildren(\n containerRef,\n childrenRefs,\n includeBuffer\n );\n\n const visibleChildren = allChildren.slice(0, maxVisibleChildren);\n const menuChildren = allChildren.slice(maxVisibleChildren);\n\n setVisibleChildren(visibleChildren);\n setMenuChildren(menuChildren);\n }, [\n containerRef,\n allChildren,\n childrenRefs,\n calculateNumberOfVisibleChildren,\n includeBuffer\n ]);\n\n const handleMenuItemClick = useCallback((child) => {\n if (child.props.onClick && typeof child.props.onClick === 'function') {\n child.props.onClick();\n }\n\n // If the child has children, then call the onClick function for each child\n let children = child.props.children;\n while (children) {\n if (Array.isArray(children) && children.length > 0) {\n children.forEach((child) => {\n if (\n child.props.onClick &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick();\n }\n });\n } else if (typeof children === 'object') {\n if (\n children.props.onClick &&\n typeof children.props.onClick === 'function'\n ) {\n children.props.onClick();\n }\n }\n\n children = children.props.children;\n }\n\n handlePopoverClose();\n }, []);\n\n // ################### Effects ###################\n useEffect(() => {\n const arrayChildren = Children.toArray(children);\n setAllChildren(arrayChildren);\n setVisibleChildren(arrayChildren);\n }, [children]);\n\n useLayoutEffect(handleSizeChange, [handleSizeChange]);\n\n useLayoutEffect(() => {\n // Add the resize event listener for when the browser window is resized\n window.addEventListener('resize', handleSizeChange);\n // Add the resize observer for when the parent div is resized\n const resizeObserver = new ResizeObserver(handleSizeChange);\n if (outerContainerRef.current) {\n resizeObserver.observe(outerContainerRef.current);\n }\n\n // Remove the event listeners on cleanup\n return () => {\n window.removeEventListener('resize', handleSizeChange);\n resizeObserver.disconnect();\n };\n }, [handleSizeChange, outerContainerRef]);\n\n // ################### Render ###################\n return (\n <div\n ref={outerContainerRef}\n style={{\n width: '100%',\n overflow: 'hidden'\n }}\n >\n <div\n className={className}\n ref={containerRef}\n style={{\n display: 'flex',\n flexWrap: 'noWrap',\n overflow: 'hidden',\n flexGrow: 1\n }}\n >\n {visibleChildren &&\n Children.map(visibleChildren, (child, index) => {\n return cloneElement(\n child,\n {\n ref: (ref) => (childrenRefs.current[index] = ref),\n ...child.props\n },\n child.props.children\n );\n })}\n {menuChildren && menuChildren.length > 0 && (\n <div>\n {modifiedMenuButton ?? (\n <AmbientTokenButton\n id={id}\n icon={MoreVerticalIcon}\n tooltip='Additional Filter Values'\n ariaLabel='Additional Filter Values'\n onClick={handlePopoverClick}\n iconClassName={menuIconClassName ?? classes.filterChipMenuIcon}\n />\n )}\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={handlePopoverClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {Children.map(menuChildren, (child, index) => {\n return (\n <MenuItem onClick={() => handleMenuItemClick(child)}>\n {cloneElement(\n child,\n {\n ...child.props\n },\n child.props.children\n )}\n </MenuItem>\n );\n })}\n </Popover>\n </div>\n )}\n </div>\n </div>\n );\n});\n\nDynamicContainerWithMenu.displayName = 'DynamicContainerWithMenu';\nDynamicContainerWithMenu.propTypes = {\n /**\n * The children to render in the container\n */\n children: PropTypes.node.isRequired,\n /**\n * A className to apply to the container\n */\n className: PropTypes.string,\n /**\n * A custom menu button to use instead of the default\n */\n menuButton: PropTypes.node,\n /**\n * A custom class to apply to the menu icon\n */\n menuIconClassName: PropTypes.string,\n /**\n * Whether to include a space buffer between the menu button and container border (default: true)\n * @default true\n */\n includeBuffer: PropTypes.bool\n};\n","import Chip from '@material-ui/core/Chip';\nimport Divider from '@material-ui/core/Divider';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport StarIcon from '@material-ui/icons/Star';\nimport PropTypes from 'prop-types';\nimport { React, useRef, useState } from 'react';\nimport { DynamicContainerWithMenu } from '../containers/DynamicContainerWithMenu';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n flexGrow: 1,\n width: '100%'\n },\n chipHolder: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'noWrap',\n backgroundColor: `${theme.palette.secondary.light}80`, // The \"80\" sets the opacity to 0.5\n alignItems: 'center',\n overflow: 'scroll',\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n flexGrow: 1\n },\n viewChip: {\n backgroundColor: theme.palette.secondary.main,\n color: 'white',\n maxWidth: '150px',\n transition: 'opacity 0.3s ease',\n marginLeft: theme.spacing(1)\n },\n menuItem: {\n backgroundColor: 'white'\n },\n filterChipMenuIcon: {\n background: theme.palette.common.grey,\n padding: theme.spacing(1),\n color: theme.palette.primary.main\n },\n additionalFilterChip: {},\n KPI: {\n marginLeft: 'auto',\n display: 'flex',\n gap: theme.spacing(1),\n color: 'grey',\n width: 'auto'\n },\n kpiValue: {\n color: 'black',\n fontSize: '1.1em'\n },\n kpiItem: {\n display: 'flex',\n justifyContent: 'center',\n width: 'max-content'\n },\n kpiLabel: {\n width: 'max-content',\n marginRight: theme.spacing(1)\n },\n clickedChip: {\n backgroundColor: theme.palette.primary.main,\n color: 'white',\n maxWidth: '150px'\n },\n filterChipLabel: {\n color: theme.palette.text.primary,\n whiteSpace: 'nowrap',\n marginRight: theme.spacing(1)\n },\n filterChipValue: {\n color: theme.palette.text.secondary,\n whiteSpace: 'nowrap'\n }\n}));\n\nexport const ChipSection = (props) => {\n // ################### Props ###################\n const {\n filterChips = [],\n viewChips = [],\n additionalFilterChips = [],\n hideKpiSection = false,\n kpiValues = [],\n maxKPIsDisplayed = 4,\n handleDelete\n } = props;\n\n // ################### Custom hooks ###################\n const classes = useStyles();\n\n // ################### Refs ###################\n const chipRefs = useRef([]);\n const chipSectionContainerRef = useRef(null);\n const viewChipsContainerRef = useRef(null);\n const filterChipsContainerRef = useRef(null);\n const additionalFilterChipsContainerRef = useRef(null);\n const kpiContainerRef = useRef(null);\n\n // ################### States ###################\n const [selectedFilterChip, setSelectedFilterChip] = useState(null);\n\n // ################### Helper Function ###################\n const abbrNum = (number, decPlaces) => {\n if (typeof number === 'string' && !isNaN(Number(number))) {\n number = Number(number);\n } else if (typeof number !== 'number') {\n throw new Error(\n 'The input must be a number or a string that can be converted to a number.'\n );\n }\n\n if (typeof decPlaces !== 'number') {\n return null;\n }\n\n decPlaces = Math.pow(10, decPlaces);\n let abbrev = ['k', 'm', 'b', 't'];\n\n for (let i = abbrev.length - 1; i >= 0; i--) {\n let size = Math.pow(10, (i + 1) * 3);\n\n if (size <= number) {\n number = Math.round((number * decPlaces) / size) / decPlaces;\n\n if (number === 1000 && i < abbrev.length - 1) {\n number = 1;\n i++;\n }\n\n number += abbrev[i];\n break;\n }\n }\n\n return number;\n };\n\n const isEmpty = (array) => Array.isArray(array) && array.length === 0;\n\n const abbreviateLabel = (label) => {\n const maxLength = 10;\n\n if (label.length > maxLength) {\n const newLabel = label.slice(0, maxLength - 3) + '...';\n return newLabel;\n } else {\n return null;\n }\n };\n\n const handleFilterChipToggle = (chip) => {\n setSelectedFilterChip(chip);\n\n if (typeof chip.onToggle === 'function') {\n chip.onToggle();\n }\n };\n\n const handleFilterChipUntoggle = () => {\n if (selectedFilterChip) {\n // if the user wants extra functionality when the filter chip is untoggled, call the function\n if (typeof selectedFilterChip.onUntoggle === 'function') {\n selectedFilterChip.onUntoggle();\n }\n\n setSelectedFilterChip(null);\n }\n };\n\n // ################### Render ###################\n return (\n <div\n ref={chipSectionContainerRef}\n className={classes.wrapper}\n style={{\n display: [\n kpiValues,\n additionalFilterChips,\n viewChips,\n filterChips\n ].every((arr) => arr.length === 0)\n ? 'none'\n : 'flex'\n }}\n >\n <div className={classes.chipHolder}>\n <div ref={viewChipsContainerRef}>\n {viewChips.map((chip, index) => (\n <Chip\n onDelete={() => handleDelete('view', index)}\n key={index}\n label={chip.label}\n className={classes.viewChip}\n icon={<StarIcon />}\n size='small'\n />\n ))}\n </div>\n\n {!isEmpty(viewChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n {!isEmpty(filterChips) && (\n <DynamicContainerWithMenu\n className={classes.chipHolder}\n ref={filterChipsContainerRef}\n >\n {selectedFilterChip && (\n <Chip\n onDelete={handleFilterChipUntoggle}\n label={selectedFilterChip.label}\n className={classes.viewChip}\n size='small'\n />\n )}\n {filterChips.map((chip, index) => {\n if (selectedFilterChip && chip.id === selectedFilterChip.id) {\n return null;\n }\n return (\n <Tooltip title={chip.label}>\n <Chip\n key={index}\n label={\n <div\n style={{\n display: 'flex',\n flexWrap: 'noWrap'\n }}\n >\n <Typography\n noWrap={true}\n className={chip.value ? classes.filterChipLabel : ''}\n >\n {chip.label}\n </Typography>\n <Typography\n noWrap={true}\n className={classes.filterChipValue}\n >\n {chip.value}\n </Typography>\n </div>\n }\n className={classes.filterChip}\n size='small'\n onClick={() => handleFilterChipToggle(chip)}\n ref={(el) => (chipRefs.current[index] = el)}\n />\n </Tooltip>\n );\n })}\n </DynamicContainerWithMenu>\n )}\n\n {!isEmpty(additionalFilterChips) && !isEmpty(filterChips) && (\n <Divider orientation='vertical' flexItem />\n )}\n\n <div\n ref={additionalFilterChipsContainerRef}\n style={{ display: 'flex' }}\n >\n {additionalFilterChips.map((chip, index) => (\n <Chip\n variant='outlined'\n onDelete={() => handleDelete('additionalFilter', index)}\n key={index}\n label={chip.label}\n className={classes.additionalFilterChip}\n size='small'\n />\n ))}\n </div>\n </div>\n\n {!hideKpiSection && (\n <div className={classes.KPI} ref={kpiContainerRef}>\n {kpiValues.slice(0, 4).map((kpi, index) => (\n <>\n <div className={classes.kpiItem} id={index}>\n <span className={classes.kpiLabel}>\n {(abbreviateLabel(kpi.label) && (\n <Tooltip title={kpi.label} arrow>\n <Typography noWrap={true}>\n <span>{kpi.label}:</span>\n </Typography>\n </Tooltip>\n )) || <>{kpi.label}</>}\n </span>\n <span className={classes.kpiValue}>\n <Tooltip title={kpi.value} arrow>\n <span>{abbrNum(kpi.value, 1)}</span>\n </Tooltip>\n </span>\n </div>\n {index !== maxKPIsDisplayed - 1 && (\n <Divider orientation='vertical' flexItem />\n )}\n </>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nChipSection.propTypes = {\n /**\n * An array of filter chips.\n */\n filterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n viewChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilterChips: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * Indicates whether to hide the KPI section.\n */\n hideKpiSection: PropTypes.bool,\n /**\n * An array of KPI values.\n */\n kpiValues: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * The maximum number of KPIs to display.\n */\n maxKPIsDisplayed: PropTypes.number,\n /**\n * A function to handle chip deletion.\n */\n handleDelete: PropTypes.func,\n /**\n * The index of the selected filter chip.\n */\n selectedFilterChipsIndex: PropTypes.number,\n /**\n * A function to set the selected filter chip index.\n */\n setSelectedFilterChipsIndex: PropTypes.func\n};\n","import React from 'react';\nimport { IconButton, Tooltip, makeStyles } from '@material-ui/core';\nimport { FluentIcon } from '../../../utilities/FluentIcon';\n\nconst useStyles = makeStyles(() => ({\n // Enables pointer events on disabled elements\n root: {\n '&.Mui-disabled': {\n pointerEvents: 'auto'\n }\n }\n}));\n\n// IconButtonWithTooltip allows you to set a tooltip on a disabled IconButton without ruining ButtonGroup layout\nexport const IconButtonWithTooltip = ({\n icon,\n title,\n disabled,\n onClick,\n className,\n fluentIconClassName,\n id,\n udprecordid,\n ...other\n}) => {\n const adjustedButtonProps = {\n disabled: disabled,\n component: disabled ? 'div' : undefined,\n onClick: disabled ? undefined : onClick\n };\n\n const classes = useStyles();\n\n return (\n <Tooltip title={title}>\n <IconButton\n id={id}\n udprecordid={udprecordid}\n className={`${className} ${classes.root}`}\n {...other}\n {...adjustedButtonProps}\n >\n <FluentIcon className={fluentIconClassName} component={icon} />\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { useState, useCallback, memo } from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Skeleton } from '@material-ui/lab';\nimport { SideSheet } from '../../../surfaces/SideSheet';\nimport { FluentDialog } from '../../../feedback/FluentDialog';\nimport { IconButtonWithTooltip } from '../../../inputs/buttons/IconButtonWithToolTip';\nimport { ClickOpenEnums } from '../../../../enums/pageEnums.ts';\n\nconst useStyles = makeStyles((theme) => ({\n icon: {\n margin: theme.spacing(0.5)\n },\n iconButtonStyle: {\n width: `${theme.spacing(3)}px !important`,\n height: `${theme.spacing(3)}px !important`,\n background: '#fff',\n borderRadius: 25,\n padding: 6\n },\n circularSkeleton: {\n borderRadius: '50%'\n }\n}));\n\nconst ActionItem = memo((props) => {\n const { icon, title, onClick, disabled, businessObjectKey='' } = props;\n const classes = useStyles();\n\n return (\n <IconButtonWithTooltip\n title={title}\n className={classes.icon}\n size='small'\n onClick={onClick}\n disabled={disabled}\n icon={icon}\n fluentIconClassName={classes.iconButtonStyle}\n id={'udpRecord-ActionsRenderer-'+title}//+'-'+businessObjectKey.replace(/\\./g, '')}\n udprecordid={'udpRecord-ActionsRenderer-'+title}//+'-'+businessObjectKey.replace(/\\./g, '')}\n />\n );\n});\n\nexport const ActionsRenderer = memo((props) => {\n const { data: value, actionList, onClick } = props;\n const classes = useStyles();\n const [sheetOpen, setSheetOpen] = useState(false);\n const [sheetItem, setSheetItem] = useState(null);\n const [dialogItem, setDialogItem] = useState(null);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n\n const openSheet = useCallback((sheetView) => {\n setSheetItem(sheetView);\n setSheetOpen(true);\n }, []);\n\n const openDialog = useCallback((dialogView) => {\n setDialogItem(dialogView);\n setDialogOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const closeDialog = useCallback(() => {\n setDialogOpen(false);\n }, []);\n\n const getSheetView = (actionItem) => {\n if (actionItem.opens === ClickOpenEnums.SideSheet) {\n const valuePropName = actionItem?.view?.properties?.valuePropName;\n if (valuePropName) {\n actionItem.view.properties[valuePropName] = value;\n }\n const closeSideSheetPropName =\n actionItem?.view?.properties?.closeSideSheetPropName;\n if (closeSideSheetPropName) {\n actionItem.view.properties[closeSideSheetPropName] = closeSheet;\n }\n }\n const properties = actionItem?.view?.properties || {};\n return {\n id: actionItem.id,\n title: actionItem.title || '',\n width: actionItem?.view?.width,\n children: actionItem?.view?.component({\n ...properties,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit\n })\n };\n };\n\n const getDialogView = (actionItem) => {\n if (actionItem.opens === ClickOpenEnums.Dialog) {\n const handleActionTwo = async () => {\n if (actionItem?.view?.properties?.actionTwo) {\n setIsLoading(true);\n await actionItem?.view?.properties?.actionTwo(value);\n setIsLoading(false);\n }\n closeDialog();\n };\n return {\n id: actionItem.id,\n title: actionItem?.title || '',\n closeDialog: closeDialog,\n message: actionItem?.view?.properties?.message,\n labelOne: actionItem?.view?.properties?.labelOne,\n actionTwo: handleActionTwo,\n labelTwo: actionItem?.view?.properties?.labelTwo\n };\n }\n };\n\n const displayActions = actionList.map((item, index) => {\n let onClick = () => item.onClick(value);\n let title = item.title;\n let disabled = item.disabled;\n if (item.opens === ClickOpenEnums.SideSheet) {\n const sheetView = getSheetView(item);\n onClick = () => openSheet(sheetView);\n }\n if (item.opens === ClickOpenEnums.Dialog) {\n const dialogView = getDialogView(item);\n onClick = () => openDialog(dialogView);\n }\n if (item.getTitle) {\n title = item.getTitle(value);\n }\n if (item.checkDisabled) {\n disabled = item.checkDisabled(value);\n }\n return (\n <>\n {item.loading && (\n <div style={{ display: 'inline-flex', marginRight: 10 }}>\n <Skeleton\n className={classes.circularSkeleton}\n width={24}\n height={40}\n />\n </div>\n )}\n {!item.loading && (\n <ActionItem\n key={`${item.id}-${index}`}\n title={title}\n icon={item.icon}\n onClick={onClick}\n disabled={disabled}\n businessObjectKey={value?.businessObjectKey}\n />\n )}\n </>\n );\n });\n\n /* Final Render */\n return (\n <div>\n {displayActions}\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={sheetItem?.title}\n width={sheetItem?.width || 600}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n >\n <div>{sheetItem?.children}</div>\n </SideSheet>\n <FluentDialog\n open={dialogOpen}\n handleClose={closeDialog}\n title={dialogItem?.title}\n message={dialogItem?.message}\n actionOne={dialogItem?.closeDialog}\n labelOne={dialogItem?.labelOne}\n actionTwo={dialogItem?.actionTwo}\n labelTwo={dialogItem?.labelTwo}\n progress={dialogItem?.isLoading}\n />\n </div>\n );\n});\n\nActionItem.displayName = 'ActionItem';\nActionsRenderer.displayName = 'ActionsRenderer';\n","import React, { useState } from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n hintContainer: {\n borderLeft: `3px solid ${theme.palette.primary.main}`\n },\n hintContent: {\n backgroundColor: '#F3F9FE',\n padding: `1rem`\n },\n hideHintButton: {\n border: 'none',\n background: 'none',\n cursor: 'pointer',\n color: '#0B79D0',\n textDecoration: 'none'\n },\n hidehelp: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n width: '100%'\n }\n}));\n\nexport const HintPanel = ({ hint, hideHintText }) => {\n const theme = useTheme();\n const classes = useStyles(theme);\n const [showHint, setShowHint] = useState(true);\n\n const handleHideHint = () => {\n setShowHint(false);\n };\n\n return (\n <div className={classes.hintContainer}>\n {showHint && (\n <div className={classes.hintContent}>\n <div>{hint}</div>\n <div className={classes.hidehelp}>\n <button className={classes.hideHintButton} onClick={handleHideHint}>\n {hideHintText}\n </button>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nHintPanel.propTypes = {\n hint: PropTypes.string.isRequired, // Hint content to be displayed\n hideHintText: PropTypes.string.isRequired // Text for the hide hint button\n};\n","import {\n makeStyles,\n} from '@material-ui/core';\nimport React, {\n useCallback,\n useMemo,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport { useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { ActionsRenderer } from '../templates/ui/renderers/ActionsRenderer';\nimport {\n TableHeaderRowIcon,\n OpenInNewTabIcon\n} from '@fluentui/react-icons';\nimport Chip from '@material-ui/core/Chip';\nimport { HintPanel } from '../dataDisplay/HintPanel';\nimport PropTypes from 'prop-types';\nimport { VisibilityTypeEnums } from '../../enums/unitySystemEnums';\nimport { AmbientGridTemplate } from '../templates/AmbientGridTemplate';\n\nconst useStyles = makeStyles((theme) => ({\n publicChip: {\n backgroundColor: '#96d2ff',\n color: 'black',\n width: '60%'\n },\n privateChip: {\n backgroundColor: '#fce597',\n color: 'black',\n width: '60%'\n },\n}));\n\nconst GridViewsSideSheet = (props) => {\n const {\n onClose,\n open,\n openSaveView,\n rowData,\n setSelectedView,\n } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n const { gridApi, onGridReady } = useAgGridApi();\n const gApi = gridApi;\n\n const ChipRenderer = ({ onChange, value, id }) => {\n const handleChipClick = () => {\n onChange(id);\n };\n\n return (\n <Chip\n label={\n value === VisibilityTypeEnums.Public ? t('Public') : t('Private')\n }\n onClick={handleChipClick}\n className={\n value === VisibilityTypeEnums.Public\n ? classes.publicChip\n : classes.privateChip\n }\n size='small'\n />\n );\n };\n\n const setView = useCallback(\n (value) => {\n setSelectedView(value);\n onClose();\n },\n [setSelectedView, onClose]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1,\n title: t('Load View'),\n icon: OpenInNewTabIcon,\n onClick: setView,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Workflows'),\n icon: TableHeaderRowIcon,\n // onClick: handleDelete,\n disabled: false\n }\n ],\n [setView, t]\n );\n\n const gridOptions = {\n headerHeight: 0,\n frameworkComponents: {\n actionsRenderer: ActionsRenderer,\n chipRenderer: ChipRenderer\n },\n columnDefs: [\n {\n headerName: t('Name'),\n field: 'name'\n },\n {\n field: 'visibility',\n cellRenderer: 'chipRenderer',\n cellRendererParams: (params) => ({\n onChange: (id) => {},\n value: params.data.gridViewVisibilityTypeId\n })\n },\n {\n headerName: t('Actions'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n width: '100px',\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ]\n };\n\n return (\n <SideSheet\n id='udpRecord-GridViewsSideSheet'\n udprecordid='udpRecord-GridViewsSideSheet'\n open={open}\n onClose={onClose}\n width={'40%'}\n title='Select a View'\n buttonLabel={'Create View'}\n onSubmit={openSaveView}\n >\n <div style={{ marginBottom: 10 }}>\n <HintPanel\n hint='Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.'\n hideHintText='Hide Help'\n />\n </div>\n\n <AmbientGridTemplate\n gridOptions={gridOptions}\n title='Saved Views'\n rowData={rowData || []}\n onGridReady={onGridReady}\n suppressCellSelection={true}\n suppressRowClickSelection={true}\n sideBar={false}\n pivotMode={false}\n pivotPanelShow='never'\n animateRows={true}\n pagination={false}\n api={gApi}\n useNewHeader\n hiddenActionButtons={[\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ]}\n />\n </SideSheet>\n );\n};\n\nexport default GridViewsSideSheet;\n\nGridViewsSideSheet.propTypes = {\n onClose: PropTypes.func.isRequired, // Function called when the component is closed\n open: PropTypes.bool.isRequired, // Determines whether the component is open or closed\n selectedMethod: PropTypes.string, // Currently selected method (optional)\n catalog: PropTypes.array, // Array of catalog items (optional)\n openSaveView: PropTypes.func, // Function called when the \"Save View\" button is clicked (optional)\n setViewChips: PropTypes.func, // Function to set view chips (optional)\n setFilter: PropTypes.func, // Function to set filter (optional)\n rowData: PropTypes.array, // Array of row data (optional)\n setSelectedView: PropTypes.func, // Function to set selected view (optional)\n frameworkComponents: PropTypes.object, // Object containing framework components (optional)\n scrollToTopOnStateChange: PropTypes.bool, // Determines whether to scroll to the top on state change (optional)\n};\n","import React, { useState } from 'react';\nimport {\n Badge,\n Popover,\n MenuItem,\n Typography,\n Tooltip\n} from '@material-ui/core';\nimport { FluentButton } from '../inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../utilities/FluentIcon';\nimport { AppIconDefaultIcon, ErrorIcon } from '@fluentui/react-icons';\n\nexport const BulkActionsGridButton = (props) => {\n const { numSelectedRows, bulkActions, triggerAction, domain } = props;\n\n const [actionsAnchorEl, setActionsAnchorEl] = useState(null);\n\n const handleBulkActionsClick = (event) => {\n setActionsAnchorEl(event.currentTarget);\n };\n\n const triggerBulkAction = (actionId) => {\n triggerAction(actionId);\n };\n\n const filterAction = (action) => {\n return !!domain\n ? JSON.parse(action?.parameters)?.entityName === domain\n : true;\n };\n\n return (\n <div style={{ marginTop: 5, marginLeft: 20 }}>\n <Badge badgeContent={numSelectedRows} color='secondary'>\n <FluentButton\n type='button'\n onClick={handleBulkActionsClick}\n variant='outlined'\n color='primary'\n endIcon={<FluentIcon component={ChevronDownIcon} size='small' />}\n >\n With Selected\n </FluentButton>\n </Badge>\n <Popover\n id={'actions'}\n open={Boolean(actionsAnchorEl)}\n anchorEl={actionsAnchorEl}\n onClose={() => setActionsAnchorEl(null)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n >\n {bulkActions &&\n bulkActions.map((action) => {\n const valid = filterAction(action);\n return (\n <Tooltip\n placement='right'\n title={\n !valid ? 'Action entity does not match data grid entity' : ''\n }\n >\n <span>\n <MenuItem\n onClick={() => triggerBulkAction(action.actionId)}\n style={{\n display: 'flex',\n justifyContent: 'space-between'\n }}\n disabled={!valid}\n >\n <Typography>{action.name}</Typography>\n <FluentIcon\n component={\n valid ? action.icon ?? AppIconDefaultIcon : ErrorIcon\n }\n style={{ marginLeft: 7 }}\n color={!valid && 'red'}\n />\n </MenuItem>\n </span>\n </Tooltip>\n );\n })}\n </Popover>\n </div>\n );\n};\n","export interface SearchOperator {\n value: string;\n label: string;\n}\n\nexport const SearchOperators: Array<SearchOperator> = [\n {\n value: '=',\n label: 'Equals'\n },\n {\n value: 'IN',\n label: 'Contains'\n },\n {\n value: '<>',\n label: 'Does not Equal'\n },\n {\n value: '>',\n label: 'Greater Than'\n },\n {\n value: '<',\n label: 'Less Than'\n },\n {\n value: '>=',\n label: 'Greater Than or Equal To'\n },\n {\n value: '<=',\n label: 'Less Than or Equal To'\n },\n {\n value: 'LIKE',\n label: 'Like'\n },\n {\n value: 'STARTSWITH',\n label: 'Starts With'\n },\n {\n value: 'BETWEEN',\n label: 'Between'\n }\n];\n\nexport const FilterOperators = {\n equals: '=',\n contains: 'LIKE',\n notEqual: '<>',\n greaterThan: '>',\n lessThan: '<',\n greaterThanOrEqual: '>=',\n lessThanOrEqual: '<=',\n between: 'BETWEEN',\n In: \"IN\",\n startsWith: \"STARTSWITH\"\n\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { makeStyles, LinearProgress, Grow } from '@material-ui/core';\nimport '../../style.css';\nimport { GridGroupingSidebar } from './ui/GridGroupingSidebar';\nimport { ServerSideRowModelModule } from '@ag-grid-enterprise/server-side-row-model';\nimport invariant from 'invariant';\nimport PropTypes from 'prop-types';\nimport { AgTable, useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { GridActionBar } from '../utilityDisplay/GridActionBar';\nimport { GridPrimaryBar } from '../utilityDisplay/GridPrimaryBar.jsx';\nimport { SaveViewFormDialog } from '../utilityDisplay/SaveViewFormDialog.jsx';\nimport { ChipSection } from '../utilityDisplay/ChipSection.jsx';\nimport GridViewsSideSheet from '../utilityDisplay/GridViewsSideSheet.jsx';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { onFirstDataRendered } from '../../utilities/aggrid/GridFunctions';\nimport { BulkActionsGridButton } from '../utilityDisplay/BulkActionsGridButton';\nimport { useActions } from '../../hooks/useActions';\nimport { FilterOperators } from '../../models/SearchOperator';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n pab: {\n display: 'flex',\n [theme.breakpoints.between('xs', 'sm')]: {\n position: 'fixed',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n zIndex: theme.zIndex.appBar\n }\n },\n groupSideBar: {\n width: 225\n },\n gridApi: {\n display: 'flex'\n }\n}));\nexport const AmbientGridTemplate = (props) => {\n const {\n additionalFilters,\n api,\n apiMethod,\n applicationName,\n bulkActionFunctions,\n clearGridConfig,\n columnApi,\n columnDefs,\n data,\n defaultAutoSize,\n deleteGridConfig,\n disablePagination,\n disableDynamicSizing,\n disableRowSelection,\n entityName,\n filterChips = [],\n filters,\n frameworkComponents,\n gridReady,\n gridId,\n groupingData,\n height,\n hideFitGrid,\n hideExpandGrid,\n hideExportGrid,\n hideRemoveFilters,\n hideFilterTab,\n hideGroupTab,\n hideColumnTab,\n hideSearchBar,\n hiddenLabels,\n hiddenActionButtons = [],\n kpiValues = [],\n loading = false,\n onRowSelected,\n onSearch,\n onPrimaryActionClick,\n paginationPageSize = 20,\n primaryActionButton,\n primaryActionDisabled,\n primaryActionLabel,\n primaryActionIcon,\n rowModelType = 'clientSide',\n rowNodeIdName,\n saveGridConfig,\n scrollToTopOnStateChange,\n secondaryActionButtons,\n title,\n tenantName,\n hideHeader,\n useNewHeader,\n insightsClick,\n user,\n id,\n udprecordid,\n additionalGridOptions = {},\n headerBackgroundColor,\n onSearchKeyDown,\n ...otherGridProps\n } = props;\n\n const classes = useStyles();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const [isVisible, setIsVisible] = useState();\n const [sidebarIsVisible, setSidebarIsVisible] = useState(false);\n const [showGroupOptions, setShowGroupOptions] = useState(false);\n const [selectedRow, setSelectedRow] = useState(null);\n const [value, setValue] = useState(0);\n const [saveViewOpen, setSaveViewOpen] = useState(false);\n const [defaultViews, setDefaultViews] = useState([]);\n const [viewsOpen, setViewsOpen] = useState(false);\n const [agGridOptions, setAgGridOptions] = useState({\n frameworkComponents: frameworkComponents,\n suppressScrollOnNewData: !scrollToTopOnStateChange,\n ...additionalGridOptions\n });\n const gApi = api || gridApi;\n const gcApi = columnApi || gridColumnApi;\n\n const [viewChips, setViewChips] = useState([]);\n const [additionalFilterChips, setAdditionalFilterChips] =\n useState(additionalFilters);\n const [columnDefsValues, setColumnDefsValues] = useState(null);\n const [selectedView, setSelectedView] = useState(null);\n const [viewsRowData, setViewsRowData] = useState(null);\n const [nonDefaultViewsRowData, setNonDefaultViewsRowData] = useState();\n const [numSelectedRows, setNumSelectedRows] = useState(0);\n const [domain, setDomain] = useState(null);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n\n const { triggerAction } = useActions();\n\n useEffect(() => {\n if (apiMethod) {\n setDomain(apiMethod.entityName);\n setApiCatalogId(apiMethod.apiCatalogId);\n }\n }, [apiMethod, setDomain, setApiCatalogId]);\n\n const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true,\n filterParams: {\n filterOptions: rowModelType === 'serverSide' ? Object.keys(FilterOperators) : undefined\n }\n };\n\n const handleChange = (event, newValue) => {\n event.preventDefault();\n setValue((preValue) => {\n if (newValue === preValue && newValue !== 1) {\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n } else if (newValue === 0) {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n } else if (newValue === 1) {\n showGrouping();\n gApi.setSideBarVisible(false);\n } else {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('columns');\n setShowGroupOptions(false);\n }\n\n return newValue;\n });\n };\n\n const onFilterClick = (event) => {\n event.preventDefault();\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n setValue(0);\n setSidebarIsVisible(!sidebarIsVisible);\n };\n\n const onGroupClick = (event) => {\n // event.preventDefault();\n // // gApi.setSideBarVisible(!gApi.isSideBarVisible());\n // showGrouping();\n // setValue(1);\n alert('Group button clicked');\n };\n\n const onColumnsClick = (event) => {\n event.preventDefault();\n gApi.setSideBarVisible(!gApi.isSideBarVisible());\n gApi.openToolPanel('columns');\n setShowGroupOptions(false);\n setValue(2);\n setSidebarIsVisible(!sidebarIsVisible);\n };\n\n const emptyArr = [];\n\n const handleRowSelected = useCallback(\n (event) => {\n if (!gApi) return;\n const selectedRows = gApi.getSelectedRows();\n setNumSelectedRows(selectedRows.length); //for bulk actions ui\n const row = selectedRows.length && selectedRows[0];\n setSelectedRow(row);\n if (onRowSelected) {\n onRowSelected(event, row);\n }\n },\n [gApi, onRowSelected]\n );\n\n const setSideBarInvisible = () => {\n if (gApi.isSideBarVisible()) {\n gApi.setSideBarVisible(false);\n setIsVisible(false);\n } else {\n gApi.setSideBarVisible(true);\n gApi.openToolPanel('filters');\n setShowGroupOptions(false);\n setIsVisible(true);\n }\n };\n\n const handleFilterChange = (event) => {\n gApi.setQuickFilter(event.target.value);\n };\n\n // Sets Grouping on grid based on passed filter string\n const groupGridItems = (groupItem) => {\n gcApi.setRowGroupColumns([groupItem]);\n gApi.expandAll();\n // setToggleFlag(groupItem)\n };\n\n const restoreGridDefault = () => {\n gApi.setQuickFilter('');\n gcApi.setRowGroupColumns([]);\n gApi.setFilterModel(null);\n gApi.setQuickFilter('');\n gcApi.resetColumnState();\n };\n\n const showGrouping = () => {\n setShowGroupOptions(!showGroupOptions);\n gApi.setSideBarVisible(false);\n };\n\n const expandGroupedGrid = () => {\n gApi.expandAll();\n };\n\n const collapseGroupedGrid = () => {\n gApi.collapseAll();\n };\n\n const fitToSpace = () => {\n gApi.sizeColumnsToFit();\n };\n\n const exportGrid = () => {\n gApi.exportDataAsCsv({\n allColumns: true,\n fileName: 'export'\n });\n };\n\n const openSaveView = () => {\n setColumnDefsValues(JSON.stringify(gcApi.getColumnState()));\n setSaveViewOpen(true);\n };\n\n const closeSaveView = () => {\n setSaveViewOpen(false);\n };\n\n const openViews = useCallback(() => {\n setViewsOpen(true);\n },[]);\n\n const closeViews = () => {\n setViewsOpen(false);\n };\n\n const handleTriggerAction = useCallback(\n (actionId) => {\n if (triggerAction && gApi) {\n triggerAction(actionId, gApi.getSelectedRows());\n }\n },\n [triggerAction, gApi]\n );\n\n const autoSizeAll = useCallback(\n (skipHeader) => {\n invariant(gcApi, `gridColumnApi not ready`);\n const allColumnIds = [];\n gcApi.getAllColumns().forEach((column) => {\n allColumnIds.push(column.getColId());\n });\n gcApi.autoSizeColumns(allColumnIds, skipHeader);\n },\n [gcApi]\n );\n\n const autoSizeAllWithoutHeader = useCallback(\n () => autoSizeAll(false),\n [autoSizeAll]\n );\n\n const firstDataRendered = useCallback(\n (params) => {\n // Size columns to fit after the first data render\n !defaultAutoSize && params?.api.sizeColumnsToFit();\n\n defaultAutoSize && autoSizeAllWithoutHeader();\n },\n [defaultAutoSize, autoSizeAllWithoutHeader]\n );\n\n useEffect(() => {\n if (!gApi) return;\n\n setSelectedRow(gApi.getSelectedRows()?.length && gApi.getSelectedRows()[0]);\n selectedRow && gApi.ensureNodeVisible(selectedRow);\n }, [gApi, selectedRow]);\n\n const handleChipDelete = (chipType, chipIndex) => {\n switch (chipType) {\n case 'view':\n setViewChips((prevChips) =>\n prevChips.filter((_, index) => index !== chipIndex)\n );\n setSelectedView(null);\n gcApi.resetColumnState();\n gApi.sizeColumnsToFit();\n break;\n case 'additionalFilter':\n setAdditionalFilterChips((prevChips) => {\n if (prevChips[chipIndex]?.onUntoggle) {\n prevChips[chipIndex]?.onUntoggle();\n }\n return prevChips.filter((_, index) => index !== chipIndex);\n });\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n if (viewsRowData?.length > 0) {\n const DefaultViews = viewsRowData.reduce((acc, row) => {\n if (row.isDefault) {\n return [...acc, row];\n }\n return acc;\n }, []);\n\n const nonDefaultViews = viewsRowData.reduce((acc, row) => {\n if (!row.isDefault) {\n return [...acc, row];\n }\n return acc;\n }, []);\n setDefaultViews(DefaultViews);\n setNonDefaultViewsRowData(nonDefaultViews);\n }\n }, [viewsRowData]);\n\n // Function to handle closing the side sheet\n // const handleSideSheetClose = () => {\n // setIsSideSheetOpen(false);\n // };\n\n const setView = useCallback(\n (value) => {\n const columnState = value?.gridViewGridViewGridConfiguration.map(\n (ele) => ele.gridViewGridConfigurationGridConfiguration\n );\n setViewChips((prevChips) => [{ label: value?.name }]);\n onFirstDataRendered(gApi, gcApi, columnState);\n },\n [setViewChips, gApi, gcApi]\n );\n\n const setFilter = (value) => {\n // todo: filter will come from the ApiMethodInstance endpoint\n };\n\n const [{ data: views }, refetch] = useAxiosGet(\n ConfigService.tenantV2ApiUrl,\n `GridView/getFromUser/${user?.id}/${gridId}`,\n {\n params: {\n domainName: domain,\n apiCatalogId: apiCatalogId\n }\n },\n !!!ConfigService.tenantV2ApiUrl || !!!gridId || !!!user\n );\n\n const [{ data: bulkActions }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `action/grid/${gridId}`,\n {},\n !!!ConfigService.integrationV2ApiUrl || !!!gridId\n );\n\n useEffect(() => {\n setViewsRowData(views);\n }, [openViews, views]);\n\n const getView = useCallback(async () => {\n await apiMutate(\n ConfigService.tenantV2ApiUrl,\n `GridView/${selectedView.gridViewId}/PartiallyFull`,\n {\n method: 'get'\n }\n )\n .then((response) => {\n setView(response.data);\n })\n .catch((error) => {\n console.log(error);\n });\n }, [selectedView, setView]);\n\n useEffect(() => {\n if (!selectedView?.gridViewId) {\n gcApi?.resetColumnState();\n gApi?.sizeColumnsToFit();\n return undefined;\n }\n getView();\n\n // No cleanup function needed, so return undefined\n return undefined;\n }, [setSelectedView, selectedView, gcApi, gApi, getView]);\n\n useEffect(() => {\n if (additionalFilters) {\n setAdditionalFilterChips(additionalFilters);\n }\n }, [additionalFilters]);\n\n return (\n <>\n {/* Must wait for gApi to be instantiated before rendering primary bar */}\n {!hideHeader && useNewHeader && gApi && (\n <GridPrimaryBar\n title={title}\n showFilter={setSideBarInvisible}\n selected={isVisible}\n onChange={onSearch || handleFilterChange}\n showGroup={showGrouping}\n value={value}\n saveViewClick={openSaveView}\n viewsClick={openViews}\n handleChange={handleChange}\n fitClick={fitToSpace}\n expandClick={autoSizeAllWithoutHeader}\n exportClick={exportGrid}\n insightsClick={insightsClick}\n clearClick={restoreGridDefault}\n filterClick={onFilterClick}\n columnsClick={onColumnsClick}\n // groupClick={onGroupClick}\n hideSearchBar={hideSearchBar}\n secondaryActionButtons={secondaryActionButtons || []}\n onPrimaryActionClick={onPrimaryActionClick}\n primaryActionDisabled={primaryActionDisabled}\n primaryActionLabel={primaryActionLabel}\n primaryActionIcon={primaryActionIcon}\n hiddenActionButtons={hiddenActionButtons || []}\n hiddenLabels={hiddenLabels || []}\n background={headerBackgroundColor}\n onSearchKeyDown={onSearchKeyDown}\n />\n )}\n {useNewHeader &&\n (kpiValues?.length > 0 ||\n filterChips?.length > 0 ||\n filters?.length > 0 ||\n viewChips?.length > 0 ||\n additionalFilterChips?.length > 0) && (\n <div style={{ display: 'flex', flexDirection: 'row', height: 40 }}>\n <Grow in={bulkActions && numSelectedRows > 0} unmountOnExit>\n <BulkActionsGridButton\n bulkActions={bulkActions}\n numSelectedRows={numSelectedRows}\n triggerAction={handleTriggerAction}\n domain={domain}\n />\n </Grow>\n\n <ChipSection\n filterChips={filterChips}\n viewChips={viewChips}\n additionalFilterChips={additionalFilterChips}\n kpiValues={kpiValues}\n handleDelete={handleChipDelete}\n setAdditionalFilterChips={setAdditionalFilterChips}\n setViewChips={setViewChips}\n setFilter={setFilter}\n />\n </div>\n )}\n\n {useNewHeader && gApi && gcApi && (\n <GridViewsSideSheet\n open={viewsOpen}\n onClose={closeViews}\n openSaveView={openSaveView}\n setViewChips={setViewChips}\n setFilter={setView}\n rowData={views}\n setSelectedView={setSelectedView}\n />\n )}\n\n {!hideHeader && !useNewHeader && (\n <GridActionBar\n title={title}\n showFilter={setSideBarInvisible}\n selected={isVisible}\n onChange={onSearch || handleFilterChange}\n showGroup={showGrouping}\n value={value}\n handleChange={handleChange}\n fitClick={fitToSpace}\n expandClick={autoSizeAllWithoutHeader}\n exportClick={exportGrid}\n clearClick={restoreGridDefault}\n saveGridConfig={saveGridConfig}\n deleteGridConfig={deleteGridConfig}\n clearGridConfig={clearGridConfig}\n hideFitGrid={hideFitGrid}\n hideExpandGrid={hideExpandGrid}\n hideExportGrid={hideExportGrid}\n hideRemoveFilters={hideRemoveFilters}\n hideFilterTab={hideFilterTab}\n hideGroupTab={hideGroupTab}\n hideColumnTab={hideColumnTab}\n hideSearchBar={hideSearchBar}\n >\n {primaryActionButton && (\n <div className={classes.pab}>{primaryActionButton}</div>\n )}\n </GridActionBar>\n )}\n\n {loading && <LinearProgress />}\n <div style={{ display: 'flex' }}>\n <div style={{ width: '100%' }}>\n <AgTable\n {...agGridOptions}\n columnDefs={columnDefs}\n dynamicSizing={!disableDynamicSizing}\n rowData={data || emptyArr}\n onGridReady={gridReady || onGridReady}\n onRowSelected={handleRowSelected}\n suppressCellSelection={true}\n suppressRowClickSelection={false}\n defaultColDef={defaultColActionsDef}\n enableRangeSelection={true}\n enableColResize\n sideBar={sidebarIsVisible}\n pivotMode={false}\n pivotPanelShow='never'\n groupSelectsChildren={true}\n animateRows={false}\n pagination={!disablePagination}\n showOpenedGroup={true}\n paginateChildRows={true}\n paginationPageSize={paginationPageSize}\n modules={\n rowModelType === 'serverSide' ? [ServerSideRowModelModule] : []\n }\n onFirstDataRendered={firstDataRendered}\n rowModelType={rowModelType}\n rowClassRules={{\n 'first-row-in-group': (params) =>\n params.node.rowIndex !== 0 && params.node.firstChild\n }}\n height={height}\n api={gApi}\n rowSelection={\n !disableRowSelection && (bulkActions ? 'multiple' : 'single')\n }\n hideHeader={hideHeader}\n {...otherGridProps}\n />\n </div>\n {showGroupOptions && (\n <div className={classes.groupSideBar}>\n <GridGroupingSidebar\n groupItem={(item) => groupGridItems(item)}\n closeClick={() => groupGridItems('')}\n expandClick={expandGroupedGrid}\n collapseClick={collapseGroupedGrid}\n groupingData={groupingData}\n height={height}\n />\n </div>\n )}\n {!hiddenActionButtons?.includes('saveView') && (\n <SaveViewFormDialog\n open={saveViewOpen}\n handleClose={closeSaveView}\n application={applicationName}\n tenant={tenantName}\n user={user}\n columnDefsValues={columnDefsValues}\n refetchViews={refetch}\n gApi={gApi}\n gcApi={gcApi}\n setSelectedView={setView}\n gridId={gridId}\n domain={domain}\n apiCatalogId={apiCatalogId}\n />\n )}\n </div>\n </>\n );\n};\n\nAmbientGridTemplate.propTypes = {\n /**\n * Column Definitions for Ag Grid\n */\n columnDefs: PropTypes.array,\n /**\n * AG Grid function for onRowSelected\n */\n handleRowSelected: PropTypes.func,\n /**\n * Data array for AG Grid\n */\n data: PropTypes.array,\n /**\n * Title of the grid\n */\n title: PropTypes.string,\n /**\n * Array of data to allow for custom grouping, example: {groupItem: 'instructors', label: 'Instructors', value: 'instructors'}\n */\n groupingData: PropTypes.array,\n /**\n * Grid Options\n */\n frameworkComponents: PropTypes.object,\n /**\n * Handle loading status with progress animation\n */\n loading: PropTypes.bool,\n /**\n * Primary Action Button Component\n */\n primaryActionButton: PropTypes.object,\n /**\n * name of the property for the id\n */\n rowNodeIdName: PropTypes.string,\n /**\n * Sets the grid default to expaned size if true. The default is 'size to fit'.\n */\n defaultAutoSize: PropTypes.bool,\n /**\n * Scrolls the grid back to the top on state change if true, otherwise maintains scroll position. The default is false.\n */\n scrollToTopOnStateChange: PropTypes.bool,\n /**\n * Disable dynamicSizing so that the grid size stays the same regardless of the window size if true. The default is false.\n */\n disableDynamicSizing: PropTypes.bool,\n /**\n * An array of filter chips.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of view chips.\n */\n views: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of additional filter chips.\n */\n additionalFilters: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired\n })\n ),\n /**\n * An array of KPI values.\n */\n kpis: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired\n })\n ),\n /**\n * Enable the new header for data grids v2 if true. The default is false.\n */\n useNewHeader: PropTypes.bool,\n /**\n * Passes function that executes on the insights button click\n */\n insightsClick: PropTypes.func,\n /*\n * Specifies which action buttons to hide\n */\n hiddenActionButtons: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /*\n * Specifies which action button labels to hide\n */\n hiddenLabels: PropTypes.arrayOf(\n PropTypes.oneOf([\n 'saveView',\n 'views',\n 'insights',\n 'importExport',\n 'group',\n 'filter',\n 'columns',\n 'fitGrid',\n 'expandGrid',\n 'clearFilters'\n ])\n ),\n /**\n * Passes function that executes on the primary action button click\n */\n onPrimaryActionClick: PropTypes.func,\n /**\n * Specifies the label for the primary action button\n */\n primaryActionLabel: PropTypes.string,\n /**\n * Specifies the icon for the primary action button\n */\n primaryActionIcon: PropTypes.elementType,\n /**\n * An array of objects that will be used to create the secondary action buttons. The default is an empty array.\n */\n secondaryActionButtons: PropTypes.array,\n /**\n * The name of the application that the grid is being used in\n */\n applicationName: PropTypes.string,\n /**\n * The name of the entity that the data in the grid is associated with\n */\n entityName: PropTypes.string,\n /**\n * The name of the tenant that is currently logged in\n */\n tenantName: PropTypes.string,\n /**\n * User object (optional)\n */\n user: PropTypes.object,\n /**\n * Array of KPI values (optional)\n */\n kpiValues: PropTypes.array\n};\n"],"mappings":"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oBACC,4CAACC;MACC,eAAe,kBAAkB,OAAO;MACxC,OAAO;OACL,SAAS;OACT,gBAAgB;OACjB;MACD,UAAU,CAAC;iBAEX,2CAACC,2CAAY,OAAO,SACpB,2CAACL;OACC,WACE,QAAQ,OAAO,QAAQM,4CAAqBC;OAE9C,OAAO,EAAE,YAAY,GAAG;OACxB,OAAO,CAAC,SAAS;;;;GAM5B;;;AAIV;;;;ACzFD,MAAaC,kBAAyC;CACpD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACF;AAED,MAAa,kBAAkB;CAC7B,QAAQ;CACR,UAAU;CACV,UAAU;CACV,aAAa;CACb,UAAU;CACV,oBAAoB;CACpB,iBAAiB;CACjB,SAAS;CACT,IAAI;CACJ,YAAY;CAEb;;;;ACvCD,MAAM,gDAAwB,WAAW;CACvC,MAAM,EAAE;CACR,KAAK;EACH,SAAS;GACR,MAAM,YAAY,QAAQ,MAAM,QAAQ;GACvC,UAAU;GACV,QAAQ,MAAM,QAAQ;GACtB,OAAO,MAAM,QAAQ;GACrB,QAAQ,MAAM,OAAO;GACtB;EACF;CACD,cAAc,EACZ,OAAO,KACR;CACD,SAAS,EACP,SAAS,QACV;CACF;AACD,MAAa,uBAAuB,UAAU;CAC5C,MAAM,EACJ,mBACA,KACA,WACA,iBACA,qBACA,iBACA,WACA,YACA,MACA,iBACA,kBACA,mBACA,sBACA,qBACA,YACA,cAAc,EAAE,EAChB,SACA,qBACA,WACA,QACA,cACA,QACA,aACA,gBACA,gBACA,mBACA,eACA,cACA,eACA,eACA,cACA,sBAAsB,EAAE,EACxB,YAAY,EAAE,EACd,UAAU,OACV,eACA,UACA,sBACA,qBAAqB,IACrB,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"}
|