@okta/odyssey-react-mui 1.58.0 → 1.59.0
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/cjs/Accordion.cjs +1 -1
- package/dist/cjs/Autocomplete.cjs +1 -1
- package/dist/cjs/Badge.cjs +1 -1
- package/dist/cjs/Banner.cjs +1 -1
- package/dist/cjs/Box.cjs +1 -1
- package/dist/cjs/Breadcrumbs.cjs +1 -1
- package/dist/cjs/Buttons/BaseButton.cjs +1 -1
- package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
- package/dist/cjs/Buttons/Button.cjs +1 -1
- package/dist/cjs/Buttons/MenuButton.cjs +1 -1
- package/dist/cjs/Buttons/MenuItem.cjs +1 -1
- package/dist/cjs/Callout.cjs +1 -1
- package/dist/cjs/Card.cjs +1 -1
- package/dist/cjs/CircularProgress.cjs +1 -1
- package/dist/cjs/ConditionalWrapper.cjs +1 -1
- package/dist/cjs/DataTable/DataTable.cjs +4 -2
- package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
- package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
- package/dist/cjs/DatePickers/DateField.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
- package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
- package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
- package/dist/cjs/Dialog.cjs +1 -1
- package/dist/cjs/Drawer.cjs +1 -1
- package/dist/cjs/EmptyState.cjs +1 -1
- package/dist/cjs/ErrorMessageList.cjs +1 -1
- package/dist/cjs/Field.cjs +1 -1
- package/dist/cjs/FieldError.cjs +1 -1
- package/dist/cjs/FieldHint.cjs +1 -1
- package/dist/cjs/FieldLabel.cjs +1 -1
- package/dist/cjs/Fields/Checkbox.cjs +1 -1
- package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
- package/dist/cjs/Fields/Radio.cjs +1 -1
- package/dist/cjs/Fields/RadioGroup.cjs +1 -1
- package/dist/cjs/Fieldset.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/Form.cjs +1 -1
- package/dist/cjs/FullScreenOverlay.cjs +1 -1
- package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
- package/dist/cjs/HintLink.cjs +1 -1
- package/dist/cjs/IconWithTooltip.cjs +1 -1
- package/dist/cjs/Link.cjs +1 -1
- package/dist/cjs/MuiPropsChild.cjs +1 -1
- package/dist/cjs/NativeSelect.cjs +1 -1
- package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
- package/dist/cjs/OdysseyDesignTokensContext.cjs +3 -3
- package/dist/cjs/OdysseyDesignTokensContext.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs +27 -20
- package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/PasswordField.cjs +1 -1
- package/dist/cjs/ScreenReaderText.cjs +1 -1
- package/dist/cjs/SearchField.cjs +1 -1
- package/dist/cjs/Select.cjs +1 -1
- package/dist/cjs/Stack.cjs +1 -1
- package/dist/cjs/Status.cjs +1 -1
- package/dist/cjs/Surface.cjs +1 -1
- package/dist/cjs/Switch.cjs +2 -2
- package/dist/cjs/Tabs.cjs +1 -1
- package/dist/cjs/Tag.cjs +3 -2
- package/dist/cjs/Tag.cjs.map +1 -1
- package/dist/cjs/TagList.cjs +3 -1
- package/dist/cjs/TagList.cjs.map +1 -1
- package/dist/cjs/TextField.cjs +1 -1
- package/dist/cjs/Toast.cjs +1 -1
- package/dist/cjs/ToastStack.cjs +1 -1
- package/dist/cjs/Tooltip.cjs +1 -1
- package/dist/cjs/Typography.cjs +12 -12
- package/dist/cjs/icons.generated/Add.cjs +1 -1
- package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
- package/dist/cjs/icons.generated/Apps.cjs +1 -1
- package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
- package/dist/cjs/icons.generated/Bug.cjs +1 -1
- package/dist/cjs/icons.generated/Calendar.cjs +1 -1
- package/dist/cjs/icons.generated/Call.cjs +1 -1
- package/dist/cjs/icons.generated/Chat.cjs +1 -1
- package/dist/cjs/icons.generated/Check.cjs +1 -1
- package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
- package/dist/cjs/icons.generated/Clock.cjs +1 -1
- package/dist/cjs/icons.generated/Close.cjs +1 -1
- package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
- package/dist/cjs/icons.generated/Copy.cjs +1 -1
- package/dist/cjs/icons.generated/Custom.cjs +1 -1
- package/dist/cjs/icons.generated/Customizations.cjs +1 -1
- package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Delete.cjs +1 -1
- package/dist/cjs/icons.generated/Deny.cjs +1 -1
- package/dist/cjs/icons.generated/Devices.cjs +1 -1
- package/dist/cjs/icons.generated/Directory.cjs +1 -1
- package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
- package/dist/cjs/icons.generated/Documentation.cjs +1 -1
- package/dist/cjs/icons.generated/Download.cjs +1 -1
- package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
- package/dist/cjs/icons.generated/Duo.cjs +1 -1
- package/dist/cjs/icons.generated/Edit.cjs +1 -1
- package/dist/cjs/icons.generated/Email.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
- package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
- package/dist/cjs/icons.generated/Fido2.cjs +1 -1
- package/dist/cjs/icons.generated/Filter.cjs +1 -1
- package/dist/cjs/icons.generated/Folder.cjs +1 -1
- package/dist/cjs/icons.generated/Globe.cjs +1 -1
- package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
- package/dist/cjs/icons.generated/Grid.cjs +1 -1
- package/dist/cjs/icons.generated/Group.cjs +1 -1
- package/dist/cjs/icons.generated/Happy.cjs +1 -1
- package/dist/cjs/icons.generated/Hide.cjs +1 -1
- package/dist/cjs/icons.generated/Home.cjs +1 -1
- package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Idp.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Link.cjs +1 -1
- package/dist/cjs/icons.generated/List.cjs +1 -1
- package/dist/cjs/icons.generated/Lock.cjs +1 -1
- package/dist/cjs/icons.generated/Menu.cjs +1 -1
- package/dist/cjs/icons.generated/More.cjs +1 -1
- package/dist/cjs/icons.generated/Neutral.cjs +1 -1
- package/dist/cjs/icons.generated/Notification.cjs +1 -1
- package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
- package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
- package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
- package/dist/cjs/icons.generated/Password.cjs +1 -1
- package/dist/cjs/icons.generated/Pause.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Refresh.cjs +1 -1
- package/dist/cjs/icons.generated/Reports.cjs +1 -1
- package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Reset.cjs +1 -1
- package/dist/cjs/icons.generated/Resume.cjs +1 -1
- package/dist/cjs/icons.generated/Sad.cjs +1 -1
- package/dist/cjs/icons.generated/Same.cjs +1 -1
- package/dist/cjs/icons.generated/Search.cjs +1 -1
- package/dist/cjs/icons.generated/Security.cjs +1 -1
- package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
- package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
- package/dist/cjs/icons.generated/Send.cjs +1 -1
- package/dist/cjs/icons.generated/Server.cjs +1 -1
- package/dist/cjs/icons.generated/Settings.cjs +1 -1
- package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Show.cjs +1 -1
- package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
- package/dist/cjs/icons.generated/Sms.cjs +1 -1
- package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
- package/dist/cjs/icons.generated/Subtract.cjs +1 -1
- package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
- package/dist/cjs/icons.generated/Sync.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
- package/dist/cjs/icons.generated/Unlock.cjs +1 -1
- package/dist/cjs/icons.generated/Upload.cjs +1 -1
- package/dist/cjs/icons.generated/User.cjs +1 -1
- package/dist/cjs/icons.generated/Video.cjs +1 -1
- package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
- package/dist/cjs/icons.generated/Warning.cjs +1 -1
- package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Workflows.cjs +1 -1
- package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/labs/AppTile.cjs +1 -1
- package/dist/cjs/labs/DataFilters.cjs +19 -5
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/labs/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataTablePagination.cjs +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
- package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
- package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs +9 -3
- package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
- package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
- package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
- package/dist/cjs/labs/DataView/dataTypes.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs +1 -1
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
- package/dist/cjs/labs/PaginatedTable.cjs +1 -1
- package/dist/cjs/labs/StaticTable.cjs +1 -1
- package/dist/cjs/labs/UserProfile.cjs +1 -1
- package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
- package/dist/cjs/theme/components.cjs +7 -7
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
- package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +5 -2
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
- package/dist/cjs/ui-shell/SkipToContent.cjs +124 -0
- package/dist/cjs/ui-shell/SkipToContent.cjs.map +1 -0
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +1 -1
- package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +5 -2
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/index.cjs +12 -0
- package/dist/cjs/ui-shell/index.cjs.map +1 -1
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs +2 -1
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs.map +1 -1
- package/dist/cjs/useContrastMode.cjs +38 -20
- package/dist/cjs/useContrastMode.cjs.map +1 -1
- package/dist/cjs/useThemeCache.cjs +53 -0
- package/dist/cjs/useThemeCache.cjs.map +1 -0
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/esm/Accordion.js +1 -1
- package/dist/esm/Autocomplete.js +1 -1
- package/dist/esm/Badge.js +1 -1
- package/dist/esm/Banner.js +1 -1
- package/dist/esm/Box.js +1 -1
- package/dist/esm/Breadcrumbs.js +1 -1
- package/dist/esm/Buttons/BaseButton.js +1 -1
- package/dist/esm/Buttons/BaseMenuButton.js +1 -1
- package/dist/esm/Buttons/Button.js +1 -1
- package/dist/esm/Buttons/MenuButton.js +1 -1
- package/dist/esm/Buttons/MenuItem.js +1 -1
- package/dist/esm/Callout.js +1 -1
- package/dist/esm/Card.js +1 -1
- package/dist/esm/CircularProgress.js +1 -1
- package/dist/esm/ConditionalWrapper.js +1 -1
- package/dist/esm/DataTable/DataTable.js +4 -2
- package/dist/esm/DataTable/DataTable.js.map +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js +1 -1
- package/dist/esm/DataTable/DataTableSettings.js +1 -1
- package/dist/esm/DatePickers/DateField.js +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
- package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
- package/dist/esm/DatePickers/DatePicker.js +1 -1
- package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
- package/dist/esm/Dialog.js +1 -1
- package/dist/esm/Drawer.js +1 -1
- package/dist/esm/EmptyState.js +1 -1
- package/dist/esm/ErrorMessageList.js +1 -1
- package/dist/esm/Field.js +1 -1
- package/dist/esm/FieldError.js +1 -1
- package/dist/esm/FieldHint.js +1 -1
- package/dist/esm/FieldLabel.js +1 -1
- package/dist/esm/Fields/Checkbox.js +1 -1
- package/dist/esm/Fields/CheckboxGroup.js +1 -1
- package/dist/esm/Fields/Radio.js +1 -1
- package/dist/esm/Fields/RadioGroup.js +1 -1
- package/dist/esm/Fieldset.js +1 -1
- package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
- package/dist/esm/FileUploader/FileUploader.js +1 -1
- package/dist/esm/Form.js +1 -1
- package/dist/esm/FullScreenOverlay.js +1 -1
- package/dist/esm/FullScreenOverlayContext.js +1 -1
- package/dist/esm/HintLink.js +1 -1
- package/dist/esm/IconWithTooltip.js +1 -1
- package/dist/esm/Link.js +1 -1
- package/dist/esm/MuiPropsChild.js +1 -1
- package/dist/esm/NativeSelect.js +1 -1
- package/dist/esm/OdysseyCacheProvider.js +1 -1
- package/dist/esm/OdysseyDesignTokensContext.js +3 -1
- package/dist/esm/OdysseyDesignTokensContext.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +1 -1
- package/dist/esm/OdysseyThemeProvider.js +28 -21
- package/dist/esm/OdysseyThemeProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
- package/dist/esm/Pagination/Pagination.js +1 -1
- package/dist/esm/PasswordField.js +1 -1
- package/dist/esm/ScreenReaderText.js +1 -1
- package/dist/esm/SearchField.js +1 -1
- package/dist/esm/Select.js +1 -1
- package/dist/esm/Stack.js +1 -1
- package/dist/esm/Status.js +1 -1
- package/dist/esm/Surface.js +1 -1
- package/dist/esm/Switch.js +2 -2
- package/dist/esm/Tabs.js +1 -1
- package/dist/esm/Tag.js +3 -2
- package/dist/esm/Tag.js.map +1 -1
- package/dist/esm/TagList.js +3 -1
- package/dist/esm/TagList.js.map +1 -1
- package/dist/esm/TextField.js +1 -1
- package/dist/esm/Toast.js +1 -1
- package/dist/esm/ToastStack.js +1 -1
- package/dist/esm/Tooltip.js +1 -1
- package/dist/esm/Typography.js +12 -12
- package/dist/esm/icons.generated/Add.js +1 -1
- package/dist/esm/icons.generated/AddCircle.js +1 -1
- package/dist/esm/icons.generated/Apps.js +1 -1
- package/dist/esm/icons.generated/AppsSelected.js +1 -1
- package/dist/esm/icons.generated/ArrowBottom.js +1 -1
- package/dist/esm/icons.generated/ArrowDown.js +1 -1
- package/dist/esm/icons.generated/ArrowLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
- package/dist/esm/icons.generated/ArrowRight.js +1 -1
- package/dist/esm/icons.generated/ArrowTop.js +1 -1
- package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
- package/dist/esm/icons.generated/ArrowUp.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
- package/dist/esm/icons.generated/Bug.js +1 -1
- package/dist/esm/icons.generated/Calendar.js +1 -1
- package/dist/esm/icons.generated/Call.js +1 -1
- package/dist/esm/icons.generated/Chat.js +1 -1
- package/dist/esm/icons.generated/Check.js +1 -1
- package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
- package/dist/esm/icons.generated/ChevronDown.js +1 -1
- package/dist/esm/icons.generated/ChevronLeft.js +1 -1
- package/dist/esm/icons.generated/ChevronRight.js +1 -1
- package/dist/esm/icons.generated/ChevronUp.js +1 -1
- package/dist/esm/icons.generated/Clock.js +1 -1
- package/dist/esm/icons.generated/Close.js +1 -1
- package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
- package/dist/esm/icons.generated/CollapseLeft.js +1 -1
- package/dist/esm/icons.generated/CollapseRight.js +1 -1
- package/dist/esm/icons.generated/Copy.js +1 -1
- package/dist/esm/icons.generated/Custom.js +1 -1
- package/dist/esm/icons.generated/Customizations.js +1 -1
- package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
- package/dist/esm/icons.generated/DangerDiamond.js +1 -1
- package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
- package/dist/esm/icons.generated/Delete.js +1 -1
- package/dist/esm/icons.generated/Deny.js +1 -1
- package/dist/esm/icons.generated/Devices.js +1 -1
- package/dist/esm/icons.generated/Directory.js +1 -1
- package/dist/esm/icons.generated/DirectorySelected.js +1 -1
- package/dist/esm/icons.generated/Documentation.js +1 -1
- package/dist/esm/icons.generated/Download.js +1 -1
- package/dist/esm/icons.generated/DragIndicator.js +1 -1
- package/dist/esm/icons.generated/Duo.js +1 -1
- package/dist/esm/icons.generated/Edit.js +1 -1
- package/dist/esm/icons.generated/Email.js +1 -1
- package/dist/esm/icons.generated/ExpandLeft.js +1 -1
- package/dist/esm/icons.generated/ExpandRight.js +1 -1
- package/dist/esm/icons.generated/ExternalLink.js +1 -1
- package/dist/esm/icons.generated/Fido2.js +1 -1
- package/dist/esm/icons.generated/Filter.js +1 -1
- package/dist/esm/icons.generated/Folder.js +1 -1
- package/dist/esm/icons.generated/Globe.js +1 -1
- package/dist/esm/icons.generated/GoogleAuth.js +1 -1
- package/dist/esm/icons.generated/Grid.js +1 -1
- package/dist/esm/icons.generated/Group.js +1 -1
- package/dist/esm/icons.generated/Happy.js +1 -1
- package/dist/esm/icons.generated/Hide.js +1 -1
- package/dist/esm/icons.generated/Home.js +1 -1
- package/dist/esm/icons.generated/HomeSelected.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
- package/dist/esm/icons.generated/Idp.js +1 -1
- package/dist/esm/icons.generated/InformationCircle.js +1 -1
- package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
- package/dist/esm/icons.generated/Link.js +1 -1
- package/dist/esm/icons.generated/List.js +1 -1
- package/dist/esm/icons.generated/Lock.js +1 -1
- package/dist/esm/icons.generated/Menu.js +1 -1
- package/dist/esm/icons.generated/More.js +1 -1
- package/dist/esm/icons.generated/Neutral.js +1 -1
- package/dist/esm/icons.generated/Notification.js +1 -1
- package/dist/esm/icons.generated/OktaVerify.js +1 -1
- package/dist/esm/icons.generated/OnPremMfa.js +1 -1
- package/dist/esm/icons.generated/OneTimePassword.js +1 -1
- package/dist/esm/icons.generated/Password.js +1 -1
- package/dist/esm/icons.generated/Pause.js +1 -1
- package/dist/esm/icons.generated/QuestionCircle.js +1 -1
- package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
- package/dist/esm/icons.generated/Refresh.js +1 -1
- package/dist/esm/icons.generated/Reports.js +1 -1
- package/dist/esm/icons.generated/ReportsSelected.js +1 -1
- package/dist/esm/icons.generated/Reset.js +1 -1
- package/dist/esm/icons.generated/Resume.js +1 -1
- package/dist/esm/icons.generated/Sad.js +1 -1
- package/dist/esm/icons.generated/Same.js +1 -1
- package/dist/esm/icons.generated/Search.js +1 -1
- package/dist/esm/icons.generated/Security.js +1 -1
- package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
- package/dist/esm/icons.generated/SecuritySelected.js +1 -1
- package/dist/esm/icons.generated/Send.js +1 -1
- package/dist/esm/icons.generated/Server.js +1 -1
- package/dist/esm/icons.generated/Settings.js +1 -1
- package/dist/esm/icons.generated/SettingsSelected.js +1 -1
- package/dist/esm/icons.generated/Show.js +1 -1
- package/dist/esm/icons.generated/SmartCard.js +1 -1
- package/dist/esm/icons.generated/Sms.js +1 -1
- package/dist/esm/icons.generated/Sparkle.js +1 -1
- package/dist/esm/icons.generated/Subtract.js +1 -1
- package/dist/esm/icons.generated/SymantecVip.js +1 -1
- package/dist/esm/icons.generated/Sync.js +1 -1
- package/dist/esm/icons.generated/ThumbsDown.js +1 -1
- package/dist/esm/icons.generated/ThumbsUp.js +1 -1
- package/dist/esm/icons.generated/Unlock.js +1 -1
- package/dist/esm/icons.generated/Upload.js +1 -1
- package/dist/esm/icons.generated/User.js +1 -1
- package/dist/esm/icons.generated/Video.js +1 -1
- package/dist/esm/icons.generated/VoiceCall.js +1 -1
- package/dist/esm/icons.generated/Warning.js +1 -1
- package/dist/esm/icons.generated/WarningFilled.js +1 -1
- package/dist/esm/icons.generated/Workflows.js +1 -1
- package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
- package/dist/esm/icons.generated/Yubikey.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/labs/AppTile.js +1 -1
- package/dist/esm/labs/DataFilters.js +19 -5
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataTable.js +1 -1
- package/dist/esm/labs/DataTablePagination.js +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
- package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
- package/dist/esm/labs/DataView/DataCard.js +1 -1
- package/dist/esm/labs/DataView/DataTable.js +1 -1
- package/dist/esm/labs/DataView/DataView.js +9 -3
- package/dist/esm/labs/DataView/DataView.js.map +1 -1
- package/dist/esm/labs/DataView/DetailPanel.js +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
- package/dist/esm/labs/DataView/RowActions.js +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
- package/dist/esm/labs/DataView/TableSettings.js +1 -1
- package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
- package/dist/esm/labs/DataView/dataTypes.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
- package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
- package/dist/esm/labs/PageTemplate/Layout.js +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
- package/dist/esm/labs/PaginatedTable.js +1 -1
- package/dist/esm/labs/StaticTable.js +1 -1
- package/dist/esm/labs/UserProfile.js +1 -1
- package/dist/esm/labs/UserProfileMenuButton.js +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
- package/dist/esm/theme/components.js +7 -7
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
- package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +5 -2
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/NavAccordion.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -2
- package/dist/esm/ui-shell/SkipToContent.js +118 -0
- package/dist/esm/ui-shell/SkipToContent.js.map +1 -0
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
- package/dist/esm/ui-shell/UiShell.js +1 -1
- package/dist/esm/ui-shell/UiShellLogo.js +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +5 -2
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/index.js +2 -1
- package/dist/esm/ui-shell/index.js.map +1 -1
- package/dist/esm/ui-shell/uiShellSharedConstants.js +1 -0
- package/dist/esm/ui-shell/uiShellSharedConstants.js.map +1 -1
- package/dist/esm/useContrastMode.js +37 -20
- package/dist/esm/useContrastMode.js.map +1 -1
- package/dist/esm/useThemeCache.js +46 -0
- package/dist/esm/useThemeCache.js.map +1 -0
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/DataTable/DataTable.d.ts +5 -1
- package/dist/types/DataTable/DataTable.d.ts.map +1 -1
- package/dist/types/OdysseyDesignTokensContext.d.ts +678 -3
- package/dist/types/OdysseyDesignTokensContext.d.ts.map +1 -1
- package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
- package/dist/types/Tag.d.ts +1 -1
- package/dist/types/Tag.d.ts.map +1 -1
- package/dist/types/TagList.d.ts +2 -2
- package/dist/types/TagList.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.d.ts +4 -0
- package/dist/types/i18n.generated/i18n.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.resources.d.ts +6 -0
- package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/labs/DataFilters.d.ts +10 -1
- package/dist/types/labs/DataFilters.d.ts.map +1 -1
- package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
- package/dist/types/labs/DataView/componentTypes.d.ts +4 -1
- package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
- package/dist/types/labs/DataView/dataTypes.d.ts +2 -1
- package/dist/types/labs/DataView/dataTypes.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SkipToContent.d.ts +17 -0
- package/dist/types/ui-shell/SkipToContent.d.ts.map +1 -0
- package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/index.d.ts +2 -1
- package/dist/types/ui-shell/index.d.ts.map +1 -1
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts +1 -0
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts.map +1 -1
- package/dist/types/useContrastMode.d.ts +6 -2
- package/dist/types/useContrastMode.d.ts.map +1 -1
- package/dist/types/useThemeCache.d.ts +28 -0
- package/dist/types/useThemeCache.d.ts.map +1 -0
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataFilters.cjs","names":["_styled","_interopRequireDefault","require","_react","_Autocomplete","_Box","_Button","_Checkbox","_CheckboxGroup","_Radio","_RadioGroup","_i18n","_index","_OdysseyDesignTokensContext","_SearchField","_Tag","_TagList","_TextField","_Typography3","_jsxRuntime","e","__esModule","default","StyledAutocompleteOuterContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","alignItems","gap","Spacing2","StyledAutocompleteInnerContainer","width","FilterTags","activeFilters","updateFilterAndInputValues","filtersWithValues","filter","activeFilter","value","filtersToRender","forEach","Array","isArray","filterValue","optionLabel","label","optionValue","push","filterId","id","filterLabel","getFilter","find","removeValueFromFilterAndInput","removedFilterValue","currentFilter","updatedValues","currentValue","length","undefined","jsx","TagList","children","map","chip","Tag","onRemove","MemoizedFilterTags","memo","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","setFilters","useState","t","useTranslation","useOdysseyDesignTokens","initialInputValues","useMemo","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","useRef","useEffect","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","useCallback","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","jsxs","Fragment","Box","Button","ariaControls","ariaExpanded","ariaHasPopup","ariaLabel","endIcon","FilterIcon","onClick","event","currentTarget","variant","_Menu2","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem2","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography2","fontWeight","marginBlockEnd","Subordinate","component","Trans","i18nKey","values","toLowerCase","count","ChevronRightIcon","autoCompleteValue","maxWidth","_Popover2","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","Autocomplete","hasMultipleChoices","isCustomValueAllowed","onChange","_","CheckIcon","type","TextField","endAdornment","_IconButton2","size","CloseCircleFilledIcon","hasInitialFocus","CheckboxGroup","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","Checkbox","isChecked","RadioGroup","Radio","style","SearchField","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters","exports"],"sources":["../../../src/labs/DataFilters.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n IconButton as MuiIconButton,\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n Popover as MuiPopover,\n Typography as MuiTypography,\n} from \"@mui/material\";\nimport { MRT_ColumnDef, MRT_RowData } from \"material-react-table\";\nimport {\n memo,\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Autocomplete } from \"../Autocomplete.js\";\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { Checkbox } from \"../Fields/Checkbox.js\";\nimport { CheckboxGroup } from \"../Fields/CheckboxGroup.js\";\nimport { Radio } from \"../Fields/Radio.js\";\nimport { RadioGroup } from \"../Fields/RadioGroup.js\";\nimport { Trans, useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n CloseCircleFilledIcon,\n FilterIcon,\n} from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SearchField } from \"../SearchField.js\";\nimport { Tag } from \"../Tag.js\";\nimport { TagList } from \"../TagList.js\";\nimport { TextField } from \"../TextField.js\";\nimport { Subordinate } from \"../Typography.js\";\n\nconst StyledAutocompleteOuterContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAutocompleteInnerContainer = styled(\"div\")({\n width: \"100%\",\n});\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport type DataFilterValue = string | string[] | Option[] | undefined;\n\nexport type UpdateFiltersOrValues = ({\n filterId,\n value,\n}: {\n filterId: string;\n value: DataFilterValue;\n}) => void;\n\n// This is the shape of each individual filter\nexport type DataFilter = {\n /**\n * A unique ID for the filter, typically the same id\n * as the column it'll be applied to.\n */\n id: Exclude<MRT_ColumnDef<MRT_RowData>[\"accessorKey\"], undefined>;\n /**\n * `Autocomplete` normally only allows values that exist in the list box. This feature allows you to enter in any value in the text field and have that be the stored value in `Autocomplete`\n *\n * NOTE: This only applies when `variant` is `autocomplete`\n */\n isCustomValueAllowed?: boolean;\n /**\n * The human-friendly name of the filter.\n */\n label: string;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n options?: Option[];\n /**\n * A callback which renders a custom filter control\n */\n render?: (updateFilters: UpdateFiltersOrValues) => ReactNode;\n /**\n * The current value of the filter. Typically a string, but\n * filters that allow for multiple selections (such as multi-select)\n * can accept an array.\n */\n value?: DataFilterValue;\n /**\n * The type of filter, which determines which filtering control\n * is shown.\n */\n variant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n};\n\n// This is the type of the DataFilters component itself\nexport type DataFiltersProps = {\n /**\n * A slot for optional additional actions, like buttons, to be displayed\n * on the opposite side of the top row from the search and filter controls.\n */\n additionalActions?: ReactNode;\n /**\n * The starting value of the search input\n */\n defaultSearchTerm?: string;\n /**\n * The filters available in the filter menu. If undefined,\n * the filter menu won't be shown.\n */\n filters?: Array<DataFilter>;\n /**\n * If true, a Search button will be provided alongside the search input\n * and `onChangeSearch` will fire when the button is clicked, rather than\n * whenever the input value changes.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the filter and search will be disabled\n */\n isDisabled?: boolean;\n /**\n * The callback that's fired when filter values change.\n */\n onChangeFilters?: (filters: Array<DataFilter>) => void;\n /**\n * The callback that's fired when the search input changes\n * (either on change or on submit, based on the value of `hasSearchSubmitButton`).\n * If this is undefined, the search input will not be shown.\n */\n onChangeSearch?: (value: string) => void;\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n};\n\ntype FilterTagsProps = {\n activeFilters: DataFilter[];\n updateFilterAndInputValues: UpdateFiltersOrValues;\n};\n\ntype FiltersToRender = {\n filterId: string;\n filterLabel: string;\n optionLabel: string;\n optionValue: string;\n};\n\nconst FilterTags = ({\n activeFilters,\n updateFilterAndInputValues,\n}: FilterTagsProps) => {\n const filtersWithValues = activeFilters.filter(\n (activeFilter: DataFilter) => activeFilter.value,\n );\n const filtersToRender: FiltersToRender[] = [];\n\n filtersWithValues.forEach((filter) => {\n if (Array.isArray(filter.value)) {\n filter.value.forEach((filterValue) => {\n const optionLabel =\n typeof filterValue === \"string\" ? filterValue : filterValue.label;\n const optionValue =\n typeof filterValue === \"string\" ? filterValue : filterValue.value;\n filtersToRender.push({\n filterId: filter.id,\n filterLabel: filter.label,\n optionLabel,\n optionValue,\n });\n });\n }\n if (typeof filter.value === \"string\") {\n filtersToRender.push({\n filterId: filter.id,\n filterLabel: filter.label,\n optionLabel: filter.value,\n optionValue: filter.value,\n });\n }\n });\n\n const getFilter = (id: string) =>\n filtersWithValues.find((filter) => filter.id === id);\n\n const removeValueFromFilterAndInput = (\n id: string,\n removedFilterValue: string,\n ) => {\n const currentFilter = getFilter(id);\n\n if (currentFilter) {\n const { value } = currentFilter;\n\n if (Array.isArray(value)) {\n const updatedValues = value.filter((currentValue) => {\n return (currentValue as Option).value !== removedFilterValue;\n });\n updateFilterAndInputValues({\n filterId: id,\n value:\n updatedValues.length > 0 ? (updatedValues as Option[]) : undefined,\n });\n }\n\n if (typeof value === \"string\") {\n updateFilterAndInputValues({\n filterId: id,\n value: undefined,\n });\n }\n }\n };\n\n return (\n <TagList>\n {filtersToRender.map((chip) => (\n <Tag\n key={`${chip.filterLabel}: ${chip.optionValue}`}\n label={`${chip.filterLabel}: ${chip.optionLabel}`}\n onRemove={() =>\n removeValueFromFilterAndInput(chip.filterId, chip.optionValue)\n }\n />\n ))}\n </TagList>\n );\n};\n\nconst MemoizedFilterTags = memo(FilterTags);\nMemoizedFilterTags.displayName = \"FilterTags\";\n\nconst DataFilters = ({\n onChangeSearch,\n onChangeFilters,\n hasSearchSubmitButton = false,\n searchDelayTime = 200,\n defaultSearchTerm = \"\",\n additionalActions,\n filters: filtersProp = [],\n isDisabled,\n}: DataFiltersProps) => {\n const [filters, setFilters] = useState<DataFilter[]>(filtersProp);\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const initialInputValues = useMemo(() => {\n return filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = filter.value;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n }, [filtersProp]);\n\n const [inputValues, setInputValues] = useState(initialInputValues);\n\n const [searchValue, setSearchValue] = useState<string>(defaultSearchTerm);\n\n const activeFilters = useMemo(() => {\n return filters.filter((filter) => filter.value);\n }, [filters]);\n\n const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState<boolean>(false);\n\n const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [isFilterPopoverOpen, setIsFilterPopoverOpen] =\n useState<boolean>(false);\n\n const [filterPopoverAnchorElement, setFilterPopoverAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [filterPopoverCurrentFilter, setFilterPopoverCurrentFilter] = useState<\n DataFilter | undefined\n >();\n\n const menuRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n onChangeFilters?.(filters);\n }, [filters, onChangeFilters]);\n\n const debouncer = useRef<NodeJS.Timeout | undefined>(undefined);\n\n useEffect(() => {\n if (!hasSearchSubmitButton) {\n if (debouncer.current) {\n clearTimeout(debouncer.current);\n }\n\n debouncer.current = setTimeout(() => {\n onChangeSearch?.(searchValue ?? \"\");\n }, searchDelayTime);\n }\n }, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);\n\n const autocompleteOptions = useMemo(() => {\n return filterPopoverCurrentFilter?.options || [];\n }, [filterPopoverCurrentFilter]);\n\n const updateInputValue = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues({ ...inputValues, [filterId]: value });\n },\n [inputValues],\n );\n\n const updateFilters = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues((prevInputValues) => ({\n ...prevInputValues,\n [filterId]: value,\n }));\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: filter.id === filterId ? value : inputValues[filter.id],\n }));\n setFilters(updatedFilters);\n },\n [inputValues, filtersProp],\n );\n\n const updateFilterAndInputValues = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n updateInputValue({ filterId, value });\n updateFilters({ filterId, value });\n },\n [updateFilters, updateInputValue],\n );\n\n const handleCheckboxFilterAndInputValueChange = useCallback<\n (filterId: string, option: Option, checked: boolean) => void\n >(\n (filterId, option, checked) => {\n const currentValues = (inputValues[filterId] as Option[]) || [];\n\n const updatedValues = checked\n ? [...currentValues, option]\n : currentValues.filter(\n (inputValue) => inputValue.value !== option.value,\n );\n\n const normalizedUpdatedValues =\n updatedValues.length > 0 ? updatedValues : undefined;\n\n setInputValues({\n ...inputValues,\n [filterId]: normalizedUpdatedValues,\n });\n\n const updatedFilters = filters.map((filter) => ({\n ...filter,\n value:\n filter.id === filterId\n ? normalizedUpdatedValues\n : inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n },\n [filters, inputValues],\n );\n\n const handleAutocompleteFilterChange = useCallback<\n (filterId: string, option: Option[]) => void\n >(\n (filterId, option) => {\n setInputValues({ ...inputValues, [filterId]: option });\n },\n [inputValues],\n );\n\n const clearAllFilters = useCallback(() => {\n const updatedInputValues = filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = undefined;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n\n setInputValues(updatedInputValues);\n\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: undefined,\n }));\n\n setFilters(updatedFilters);\n }, [filtersProp]);\n\n const handleFilterSubmit = useCallback(() => {\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n }, [inputValues, filtersProp]);\n\n const filterMenu = useMemo(\n () => (\n <>\n <Box>\n <Button\n ariaControls={isFiltersMenuOpen ? \"filters-menu\" : undefined}\n ariaExpanded={isFiltersMenuOpen ? \"true\" : undefined}\n ariaHasPopup=\"true\"\n ariaLabel={t(\"filters.filters.arialabel\")}\n endIcon={<FilterIcon />}\n isDisabled={isDisabled}\n onClick={(event) => {\n setFiltersMenuAnchorElement(event.currentTarget);\n setIsFiltersMenuOpen(true);\n }}\n variant=\"secondary\"\n />\n </Box>\n\n <MuiMenu\n anchorEl={filtersMenuAnchorElement}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n id=\"filters-menu\"\n onClose={() => setIsFiltersMenuOpen(false)}\n open={isFiltersMenuOpen}\n PaperProps={{\n ref: menuRef as MutableRefObject<HTMLDivElement>,\n }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n {filtersProp.map((filter) => {\n // Unintuitively, we can't just use filter.value to grab the filter value.\n // `filter` is the initial set of filters provided to the component, so its\n // value prop may not reflect the current value of the filter.\n const latestFilterValue = filters.find(\n (f) => f.id === filter.id,\n )?.value;\n\n return (\n <MuiMenuItem\n aria-controls={isFilterPopoverOpen ? \"filter-form\" : undefined}\n className={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n ? \"isVisiblySelected\"\n : undefined\n }\n key={filter.id}\n onClick={(event) => {\n setIsFilterPopoverOpen(true);\n setFilterPopoverAnchorElement(event.currentTarget);\n setFilterPopoverCurrentFilter(filter);\n }}\n selected={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n }\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n minWidth: 180,\n paddingBlock: 1,\n paddingInlineStart: 2,\n }}\n >\n <Box sx={{ marginRight: 2 }}>\n <MuiTypography fontWeight=\"500\" sx={{ marginBlockEnd: 2 }}>\n {filter.label}\n </MuiTypography>\n <Subordinate component=\"div\">\n {!latestFilterValue ||\n (Array.isArray(latestFilterValue) &&\n latestFilterValue.length === 0) ? (\n <Trans\n i18nKey=\"filters.menuitem.any\"\n values={{\n label: filter.label.toLowerCase(),\n }}\n />\n ) : Array.isArray(latestFilterValue) ? (\n <Trans\n count={latestFilterValue.length}\n i18nKey=\"filters.menuitem.selected\"\n values={{\n selected: latestFilterValue.length,\n }}\n />\n ) : (\n latestFilterValue\n )}\n </Subordinate>\n </Box>\n <ChevronRightIcon />\n </Box>\n </MuiMenuItem>\n );\n })}\n </MuiMenu>\n </>\n ),\n [\n isFiltersMenuOpen,\n isDisabled,\n filterPopoverCurrentFilter,\n isFilterPopoverOpen,\n filtersMenuAnchorElement,\n filtersProp,\n filters,\n t,\n ],\n );\n\n const autoCompleteValue = useMemo(\n () =>\n filterPopoverCurrentFilter?.id\n ? (inputValues[filterPopoverCurrentFilter.id] as Option[])\n : undefined,\n [filterPopoverCurrentFilter, inputValues],\n );\n\n return (\n <Box>\n {/* Upper section */}\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\" }}>\n {/* Upper section left (filters and search) */}\n <Box sx={{ display: \"flex\", gap: 2, width: \"50%\", maxWidth: 480 }}>\n {/* Filter menu */}\n {filters.length > 0 && (\n <>\n {filterMenu}\n {/* Filter popover */}\n <MuiPopover\n anchorEl={filterPopoverAnchorElement}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n // Positions the popover flush with the edge of the parent menu\n // and at the right shadow elevation. These magic values are simply\n // to match the default popover offset.\n elevation={2}\n id=\"filter-form\"\n onClose={(ev: MouseEvent) => {\n if (menuRef.current) {\n const menuRect = menuRef.current.getBoundingClientRect();\n const clickInsideMenu =\n ev.clientX >= menuRect.left &&\n ev.clientX <= menuRect.right &&\n ev.clientY >= menuRect.top &&\n ev.clientY <= menuRect.bottom;\n\n if (!clickInsideMenu) {\n setIsFiltersMenuOpen(false);\n }\n }\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n }}\n open={isFilterPopoverOpen}\n sx={{ marginLeft: 2, marginTop: -1 }}\n >\n <Box sx={{ padding: 4, minWidth: 320 }}>\n <form\n noValidate\n onSubmit={(ev) => {\n ev.preventDefault();\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n setIsFiltersMenuOpen(false);\n }}\n >\n {filterPopoverCurrentFilter?.render ? (\n filterPopoverCurrentFilter.render(updateFilters)\n ) : (\n <>\n {/* Autocomplete */}\n {filterPopoverCurrentFilter?.variant ===\n \"autocomplete\" &&\n filterPopoverCurrentFilter?.options && (\n <StyledAutocompleteOuterContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledAutocompleteInnerContainer>\n <Autocomplete\n hasMultipleChoices\n isCustomValueAllowed={\n filterPopoverCurrentFilter?.isCustomValueAllowed\n }\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n handleAutocompleteFilterChange(\n filterPopoverCurrentFilter.id,\n value as Option[],\n );\n }}\n options={autocompleteOptions}\n value={autoCompleteValue}\n />\n </StyledAutocompleteInnerContainer>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </StyledAutocompleteOuterContainer>\n )}\n {/* Text, Number, or undefined */}\n {(filterPopoverCurrentFilter?.variant === \"text\" ||\n filterPopoverCurrentFilter?.variant === \"range\" ||\n (filterPopoverCurrentFilter &&\n filterPopoverCurrentFilter?.variant ==\n undefined)) && (\n <Box\n sx={{\n display: \"flex\",\n gap: 2,\n alignItems: \"flex-end\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n <TextField\n endAdornment={\n inputValues[\n filterPopoverCurrentFilter.id\n ] && (\n <MuiIconButton\n aria-label={t(\"filters.filter.clear\")}\n onClick={() => {\n updateInputValue({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n\n updateFilters({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n }}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </MuiIconButton>\n )\n }\n hasInitialFocus\n label={filterPopoverCurrentFilter.label}\n onChange={(ev) =>\n updateInputValue({\n filterId: filterPopoverCurrentFilter.id,\n value: ev.currentTarget.value,\n })\n }\n type={\n filterPopoverCurrentFilter.variant === \"range\"\n ? \"number\"\n : \"text\"\n }\n value={\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as string) ?? \"\"\n }\n />\n </Box>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </Box>\n )}\n\n {/* Checkbox */}\n {filterPopoverCurrentFilter?.variant ===\n \"multi-select\" &&\n filterPopoverCurrentFilter?.options && (\n <CheckboxGroup\n isRequired\n label={filterPopoverCurrentFilter.label}\n >\n {filterPopoverCurrentFilter.options.map(\n (option: { label: string; value: string }) => {\n const checkFilterInputValuesAsArray =\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as Option[]) || [];\n const isOptionValueInInputValues =\n checkFilterInputValuesAsArray.some(\n (inputValue) =>\n inputValue.value === option.value,\n );\n return (\n <Checkbox\n isChecked={isOptionValueInInputValues}\n key={option.value}\n label={option.label}\n onChange={(_, checked) => {\n handleCheckboxFilterAndInputValueChange(\n filterPopoverCurrentFilter.id,\n option,\n checked,\n );\n }}\n value={option.value}\n />\n );\n },\n )}\n </CheckboxGroup>\n )}\n\n {/* Radio */}\n {filterPopoverCurrentFilter?.variant === \"select\" &&\n filterPopoverCurrentFilter?.options && (\n <RadioGroup\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n updateFilterAndInputValues({\n filterId: filterPopoverCurrentFilter.id,\n value,\n });\n }}\n >\n <Radio\n isChecked={\n !inputValues[filterPopoverCurrentFilter.id]\n }\n label={t(\"filters.filter.any\")}\n value={\"\"}\n />\n <>\n {filterPopoverCurrentFilter.options.map(\n (option: {\n label: string;\n value: string;\n }) => (\n <Radio\n isChecked={\n inputValues[\n filterPopoverCurrentFilter.id\n ] === option.value\n }\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ),\n )}\n </>\n </RadioGroup>\n )}\n </>\n )}\n </form>\n </Box>\n </MuiPopover>\n </>\n )}\n\n {/* Search */}\n {onChangeSearch && (\n <form\n onSubmit={(event) => {\n event.preventDefault();\n if (hasSearchSubmitButton) {\n onChangeSearch(searchValue);\n }\n }}\n style={{ width: \"100%\" }}\n >\n <Box sx={{ display: \"flex\", gap: 2, width: \"100%\" }}>\n <SearchField\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onChange={(ev) => setSearchValue(ev.target.value)}\n onClear={() => {\n setSearchValue(\"\");\n onChangeSearch(\"\");\n }}\n placeholder={t(\"filters.search.label\")}\n value={searchValue}\n />\n {hasSearchSubmitButton && (\n <Box>\n <Button\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onClick={() => onChangeSearch(searchValue)}\n variant=\"primary\"\n />\n </Box>\n )}\n </Box>\n </form>\n )}\n </Box>\n\n {/* Upper section right (clear filters & additional actions) */}\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {activeFilters.length > 0 && (\n <Box>\n <Button\n label={t(\"filters.clear.label\")}\n onClick={clearAllFilters}\n variant=\"secondary\"\n />\n </Box>\n )}\n {additionalActions}\n </Box>\n </Box>\n\n {/* Lower section */}\n {activeFilters.length > 0 && (\n <Box\n sx={{\n borderTopWidth: 1,\n borderTopColor: \"#eeeeee\",\n borderTopStyle: \"solid\",\n paddingTop: 4,\n marginTop: 4,\n }}\n >\n <MemoizedFilterTags\n activeFilters={activeFilters}\n updateFilterAndInputValues={updateFilterAndInputValues}\n />\n </Box>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataFilters = memo(DataFilters);\nMemoizedDataFilters.displayName = \"DataFilters\";\n\nexport { MemoizedDataFilters as DataFilters };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataFilters.cjs","names":["_styled","_interopRequireDefault","require","_react","_Autocomplete","_Box","_Button","_Checkbox","_CheckboxGroup","_Radio","_RadioGroup","_i18n","_index","_OdysseyDesignTokensContext","_SearchField","_Tag","_TagList","_TextField","_Typography3","_jsxRuntime","e","__esModule","default","StyledAutocompleteOuterContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","alignItems","gap","Spacing2","StyledAutocompleteInnerContainer","width","FilterTags","activeFilters","updateFilterAndInputValues","t","useTranslation","filtersWithValues","filter","activeFilter","value","filtersToRender","forEach","Array","isArray","filterValue","optionLabel","label","optionValue","push","filterId","id","filterLabel","getFilter","find","removeValueFromFilterAndInput","removedFilterValue","currentFilter","updatedValues","currentValue","length","undefined","jsx","TagList","ariaLabel","children","map","chip","Tag","onRemove","MemoizedFilterTags","memo","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","searchFieldLabel","setFilters","useState","resolvedSearchFieldLabel","useOdysseyDesignTokens","initialInputValues","useMemo","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","useRef","useEffect","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","useCallback","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","jsxs","Fragment","Box","Button","ariaControls","ariaExpanded","ariaHasPopup","endIcon","FilterIcon","onClick","event","currentTarget","variant","_Menu2","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem2","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography2","fontWeight","marginBlockEnd","description","Subordinate","component","Trans","i18nKey","values","toLowerCase","count","ChevronRightIcon","autoCompleteValue","maxWidth","_Popover2","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","Autocomplete","hasMultipleChoices","isCustomValueAllowed","onChange","_","CheckIcon","type","TextField","endAdornment","_IconButton2","size","CloseCircleFilledIcon","hasInitialFocus","CheckboxGroup","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","Checkbox","isChecked","RadioGroup","Radio","style","SearchField","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters","exports"],"sources":["../../../src/labs/DataFilters.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n IconButton as MuiIconButton,\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n Popover as MuiPopover,\n Typography as MuiTypography,\n} from \"@mui/material\";\nimport { MRT_ColumnDef, MRT_RowData } from \"material-react-table\";\nimport {\n memo,\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Autocomplete } from \"../Autocomplete.js\";\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { Checkbox } from \"../Fields/Checkbox.js\";\nimport { CheckboxGroup } from \"../Fields/CheckboxGroup.js\";\nimport { Radio } from \"../Fields/Radio.js\";\nimport { RadioGroup } from \"../Fields/RadioGroup.js\";\nimport { Trans, useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n CloseCircleFilledIcon,\n FilterIcon,\n} from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SearchField } from \"../SearchField.js\";\nimport { Tag } from \"../Tag.js\";\nimport { TagList } from \"../TagList.js\";\nimport { TextField } from \"../TextField.js\";\nimport { Subordinate } from \"../Typography.js\";\n\nconst StyledAutocompleteOuterContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAutocompleteInnerContainer = styled(\"div\")({\n width: \"100%\",\n});\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport type DataFilterValue = string | string[] | Option[] | undefined;\n\nexport type UpdateFiltersOrValues = ({\n filterId,\n value,\n}: {\n filterId: string;\n value: DataFilterValue;\n}) => void;\n\n// This is the shape of each individual filter\nexport type DataFilter = {\n /**\n * Optional description for the filter that appears as subtext in the menu,\n * between the filter label and the dynamic selection text.\n */\n description?: string;\n /**\n * A unique ID for the filter, typically the same id\n * as the column it'll be applied to.\n */\n id: Exclude<MRT_ColumnDef<MRT_RowData>[\"accessorKey\"], undefined>;\n /**\n * `Autocomplete` normally only allows values that exist in the list box. This feature allows you to enter in any value in the text field and have that be the stored value in `Autocomplete`\n *\n * NOTE: This only applies when `variant` is `autocomplete`\n */\n isCustomValueAllowed?: boolean;\n /**\n * The human-friendly name of the filter.\n */\n label: string;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n options?: Option[];\n /**\n * A callback which renders a custom filter control\n */\n render?: (updateFilters: UpdateFiltersOrValues) => ReactNode;\n /**\n * The current value of the filter. Typically a string, but\n * filters that allow for multiple selections (such as multi-select)\n * can accept an array.\n */\n value?: DataFilterValue;\n /**\n * The type of filter, which determines which filtering control\n * is shown.\n */\n variant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n};\n\n// This is the type of the DataFilters component itself\nexport type DataFiltersProps = {\n /**\n * A slot for optional additional actions, like buttons, to be displayed\n * on the opposite side of the top row from the search and filter controls.\n */\n additionalActions?: ReactNode;\n /**\n * The starting value of the search input\n */\n defaultSearchTerm?: string;\n /**\n * The filters available in the filter menu. If undefined,\n * the filter menu won't be shown.\n */\n filters?: Array<DataFilter>;\n /**\n * If true, a Search button will be provided alongside the search input\n * and `onChangeSearch` will fire when the button is clicked, rather than\n * whenever the input value changes.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the filter and search will be disabled\n */\n isDisabled?: boolean;\n /**\n * The callback that's fired when filter values change.\n */\n onChangeFilters?: (filters: Array<DataFilter>) => void;\n /**\n * The callback that's fired when the search input changes\n * (either on change or on submit, based on the value of `hasSearchSubmitButton`).\n * If this is undefined, the search input will not be shown.\n */\n onChangeSearch?: (value: string) => void;\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n /**\n * Overrides the default label for the search field.\n */\n searchFieldLabel?: string;\n};\n\ntype FilterTagsProps = {\n activeFilters: DataFilter[];\n updateFilterAndInputValues: UpdateFiltersOrValues;\n};\n\ntype FiltersToRender = {\n filterId: string;\n filterLabel: string;\n optionLabel: string;\n optionValue: string;\n};\n\nconst FilterTags = ({\n activeFilters,\n updateFilterAndInputValues,\n}: FilterTagsProps) => {\n const { t } = useTranslation();\n const filtersWithValues = activeFilters.filter(\n (activeFilter: DataFilter) => activeFilter.value,\n );\n const filtersToRender: FiltersToRender[] = [];\n\n filtersWithValues.forEach((filter) => {\n if (Array.isArray(filter.value)) {\n filter.value.forEach((filterValue) => {\n const optionLabel =\n typeof filterValue === \"string\" ? filterValue : filterValue.label;\n const optionValue =\n typeof filterValue === \"string\" ? filterValue : filterValue.value;\n filtersToRender.push({\n filterId: filter.id,\n filterLabel: filter.label,\n optionLabel,\n optionValue,\n });\n });\n }\n if (typeof filter.value === \"string\") {\n filtersToRender.push({\n filterId: filter.id,\n filterLabel: filter.label,\n optionLabel: filter.value,\n optionValue: filter.value,\n });\n }\n });\n\n const getFilter = (id: string) =>\n filtersWithValues.find((filter) => filter.id === id);\n\n const removeValueFromFilterAndInput = (\n id: string,\n removedFilterValue: string,\n ) => {\n const currentFilter = getFilter(id);\n\n if (currentFilter) {\n const { value } = currentFilter;\n\n if (Array.isArray(value)) {\n const updatedValues = value.filter((currentValue) => {\n return (currentValue as Option).value !== removedFilterValue;\n });\n updateFilterAndInputValues({\n filterId: id,\n value:\n updatedValues.length > 0 ? (updatedValues as Option[]) : undefined,\n });\n }\n\n if (typeof value === \"string\") {\n updateFilterAndInputValues({\n filterId: id,\n value: undefined,\n });\n }\n }\n };\n\n return (\n <TagList ariaLabel={t(\"filters.activetags.arialabel\")}>\n {filtersToRender.map((chip) => (\n <Tag\n key={`${chip.filterLabel}: ${chip.optionValue}`}\n label={`${chip.filterLabel}: ${chip.optionLabel}`}\n onRemove={() =>\n removeValueFromFilterAndInput(chip.filterId, chip.optionValue)\n }\n />\n ))}\n </TagList>\n );\n};\n\nconst MemoizedFilterTags = memo(FilterTags);\nMemoizedFilterTags.displayName = \"FilterTags\";\n\nconst DataFilters = ({\n onChangeSearch,\n onChangeFilters,\n hasSearchSubmitButton = false,\n searchDelayTime = 200,\n defaultSearchTerm = \"\",\n additionalActions,\n filters: filtersProp = [],\n isDisabled,\n searchFieldLabel,\n}: DataFiltersProps) => {\n const [filters, setFilters] = useState<DataFilter[]>(filtersProp);\n const { t } = useTranslation();\n const resolvedSearchFieldLabel =\n searchFieldLabel || t(\"filters.search.label\");\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const initialInputValues = useMemo(() => {\n return filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = filter.value;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n }, [filtersProp]);\n\n const [inputValues, setInputValues] = useState(initialInputValues);\n\n const [searchValue, setSearchValue] = useState<string>(defaultSearchTerm);\n\n const activeFilters = useMemo(() => {\n return filters.filter((filter) => filter.value);\n }, [filters]);\n\n const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState<boolean>(false);\n\n const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [isFilterPopoverOpen, setIsFilterPopoverOpen] =\n useState<boolean>(false);\n\n const [filterPopoverAnchorElement, setFilterPopoverAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [filterPopoverCurrentFilter, setFilterPopoverCurrentFilter] = useState<\n DataFilter | undefined\n >();\n\n const menuRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n onChangeFilters?.(filters);\n }, [filters, onChangeFilters]);\n\n const debouncer = useRef<NodeJS.Timeout | undefined>(undefined);\n\n useEffect(() => {\n if (!hasSearchSubmitButton) {\n if (debouncer.current) {\n clearTimeout(debouncer.current);\n }\n\n debouncer.current = setTimeout(() => {\n onChangeSearch?.(searchValue ?? \"\");\n }, searchDelayTime);\n }\n }, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);\n\n const autocompleteOptions = useMemo(() => {\n return filterPopoverCurrentFilter?.options || [];\n }, [filterPopoverCurrentFilter]);\n\n const updateInputValue = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues({ ...inputValues, [filterId]: value });\n },\n [inputValues],\n );\n\n const updateFilters = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues((prevInputValues) => ({\n ...prevInputValues,\n [filterId]: value,\n }));\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: filter.id === filterId ? value : inputValues[filter.id],\n }));\n setFilters(updatedFilters);\n },\n [inputValues, filtersProp],\n );\n\n const updateFilterAndInputValues = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n updateInputValue({ filterId, value });\n updateFilters({ filterId, value });\n },\n [updateFilters, updateInputValue],\n );\n\n const handleCheckboxFilterAndInputValueChange = useCallback<\n (filterId: string, option: Option, checked: boolean) => void\n >(\n (filterId, option, checked) => {\n const currentValues = (inputValues[filterId] as Option[]) || [];\n\n const updatedValues = checked\n ? [...currentValues, option]\n : currentValues.filter(\n (inputValue) => inputValue.value !== option.value,\n );\n\n const normalizedUpdatedValues =\n updatedValues.length > 0 ? updatedValues : undefined;\n\n setInputValues({\n ...inputValues,\n [filterId]: normalizedUpdatedValues,\n });\n\n const updatedFilters = filters.map((filter) => ({\n ...filter,\n value:\n filter.id === filterId\n ? normalizedUpdatedValues\n : inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n },\n [filters, inputValues],\n );\n\n const handleAutocompleteFilterChange = useCallback<\n (filterId: string, option: Option[]) => void\n >(\n (filterId, option) => {\n setInputValues({ ...inputValues, [filterId]: option });\n },\n [inputValues],\n );\n\n const clearAllFilters = useCallback(() => {\n const updatedInputValues = filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = undefined;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n\n setInputValues(updatedInputValues);\n\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: undefined,\n }));\n\n setFilters(updatedFilters);\n }, [filtersProp]);\n\n const handleFilterSubmit = useCallback(() => {\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n }, [inputValues, filtersProp]);\n\n const filterMenu = useMemo(\n () => (\n <>\n <Box>\n <Button\n ariaControls={isFiltersMenuOpen ? \"filters-menu\" : undefined}\n ariaExpanded={isFiltersMenuOpen ? \"true\" : undefined}\n ariaHasPopup=\"true\"\n ariaLabel={t(\"filters.filters.arialabel\")}\n endIcon={<FilterIcon />}\n isDisabled={isDisabled}\n onClick={(event) => {\n setFiltersMenuAnchorElement(event.currentTarget);\n setIsFiltersMenuOpen(true);\n }}\n variant=\"secondary\"\n />\n </Box>\n\n <MuiMenu\n anchorEl={filtersMenuAnchorElement}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n id=\"filters-menu\"\n onClose={() => setIsFiltersMenuOpen(false)}\n open={isFiltersMenuOpen}\n PaperProps={{\n ref: menuRef as MutableRefObject<HTMLDivElement>,\n }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n {filtersProp.map((filter) => {\n // Unintuitively, we can't just use filter.value to grab the filter value.\n // `filter` is the initial set of filters provided to the component, so its\n // value prop may not reflect the current value of the filter.\n const latestFilterValue = filters.find(\n (f) => f.id === filter.id,\n )?.value;\n\n return (\n <MuiMenuItem\n aria-controls={isFilterPopoverOpen ? \"filter-form\" : undefined}\n className={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n ? \"isVisiblySelected\"\n : undefined\n }\n key={filter.id}\n onClick={(event) => {\n setIsFilterPopoverOpen(true);\n setFilterPopoverAnchorElement(event.currentTarget);\n setFilterPopoverCurrentFilter(filter);\n }}\n selected={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n }\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n minWidth: 180,\n paddingBlock: 1,\n paddingInlineStart: 2,\n }}\n >\n <Box sx={{ marginRight: 2 }}>\n <MuiTypography fontWeight=\"500\" sx={{ marginBlockEnd: 2 }}>\n {filter.label}\n </MuiTypography>\n {filter.description && (\n <Box sx={{ marginBlockEnd: 1 }}>\n <Subordinate component=\"div\">\n {filter.description}\n </Subordinate>\n </Box>\n )}\n <Subordinate component=\"div\">\n {!latestFilterValue ||\n (Array.isArray(latestFilterValue) &&\n latestFilterValue.length === 0) ? (\n <Trans\n i18nKey=\"filters.menuitem.any\"\n values={{\n label: filter.label.toLowerCase(),\n }}\n />\n ) : Array.isArray(latestFilterValue) ? (\n <Trans\n count={latestFilterValue.length}\n i18nKey=\"filters.menuitem.selected\"\n values={{\n selected: latestFilterValue.length,\n }}\n />\n ) : (\n latestFilterValue\n )}\n </Subordinate>\n </Box>\n <ChevronRightIcon />\n </Box>\n </MuiMenuItem>\n );\n })}\n </MuiMenu>\n </>\n ),\n [\n isFiltersMenuOpen,\n isDisabled,\n filterPopoverCurrentFilter,\n isFilterPopoverOpen,\n filtersMenuAnchorElement,\n filtersProp,\n filters,\n t,\n ],\n );\n\n const autoCompleteValue = useMemo(\n () =>\n filterPopoverCurrentFilter?.id\n ? (inputValues[filterPopoverCurrentFilter.id] as Option[])\n : undefined,\n [filterPopoverCurrentFilter, inputValues],\n );\n\n return (\n <Box>\n {/* Upper section */}\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\" }}>\n {/* Upper section left (filters and search) */}\n <Box sx={{ display: \"flex\", gap: 2, width: \"50%\", maxWidth: 480 }}>\n {/* Filter menu */}\n {filters.length > 0 && (\n <>\n {filterMenu}\n {/* Filter popover */}\n <MuiPopover\n anchorEl={filterPopoverAnchorElement}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n // Positions the popover flush with the edge of the parent menu\n // and at the right shadow elevation. These magic values are simply\n // to match the default popover offset.\n elevation={2}\n id=\"filter-form\"\n onClose={(ev: MouseEvent) => {\n if (menuRef.current) {\n const menuRect = menuRef.current.getBoundingClientRect();\n const clickInsideMenu =\n ev.clientX >= menuRect.left &&\n ev.clientX <= menuRect.right &&\n ev.clientY >= menuRect.top &&\n ev.clientY <= menuRect.bottom;\n\n if (!clickInsideMenu) {\n setIsFiltersMenuOpen(false);\n }\n }\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n }}\n open={isFilterPopoverOpen}\n sx={{ marginLeft: 2, marginTop: -1 }}\n >\n <Box sx={{ padding: 4, minWidth: 320 }}>\n <form\n noValidate\n onSubmit={(ev) => {\n ev.preventDefault();\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n setIsFiltersMenuOpen(false);\n }}\n >\n {filterPopoverCurrentFilter?.render ? (\n filterPopoverCurrentFilter.render(updateFilters)\n ) : (\n <>\n {/* Autocomplete */}\n {filterPopoverCurrentFilter?.variant ===\n \"autocomplete\" &&\n filterPopoverCurrentFilter?.options && (\n <StyledAutocompleteOuterContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledAutocompleteInnerContainer>\n <Autocomplete\n hasMultipleChoices\n isCustomValueAllowed={\n filterPopoverCurrentFilter?.isCustomValueAllowed\n }\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n handleAutocompleteFilterChange(\n filterPopoverCurrentFilter.id,\n value as Option[],\n );\n }}\n options={autocompleteOptions}\n value={autoCompleteValue}\n />\n </StyledAutocompleteInnerContainer>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </StyledAutocompleteOuterContainer>\n )}\n {/* Text, Number, or undefined */}\n {(filterPopoverCurrentFilter?.variant === \"text\" ||\n filterPopoverCurrentFilter?.variant === \"range\" ||\n (filterPopoverCurrentFilter &&\n filterPopoverCurrentFilter?.variant ==\n undefined)) && (\n <Box\n sx={{\n display: \"flex\",\n gap: 2,\n alignItems: \"flex-end\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n <TextField\n endAdornment={\n inputValues[\n filterPopoverCurrentFilter.id\n ] && (\n <MuiIconButton\n aria-label={t(\"filters.filter.clear\")}\n onClick={() => {\n updateInputValue({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n\n updateFilters({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n }}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </MuiIconButton>\n )\n }\n hasInitialFocus\n label={filterPopoverCurrentFilter.label}\n onChange={(ev) =>\n updateInputValue({\n filterId: filterPopoverCurrentFilter.id,\n value: ev.currentTarget.value,\n })\n }\n type={\n filterPopoverCurrentFilter.variant === \"range\"\n ? \"number\"\n : \"text\"\n }\n value={\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as string) ?? \"\"\n }\n />\n </Box>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </Box>\n )}\n\n {/* Checkbox */}\n {filterPopoverCurrentFilter?.variant ===\n \"multi-select\" &&\n filterPopoverCurrentFilter?.options && (\n <CheckboxGroup\n isRequired\n label={filterPopoverCurrentFilter.label}\n >\n {filterPopoverCurrentFilter.options.map(\n (option: { label: string; value: string }) => {\n const checkFilterInputValuesAsArray =\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as Option[]) || [];\n const isOptionValueInInputValues =\n checkFilterInputValuesAsArray.some(\n (inputValue) =>\n inputValue.value === option.value,\n );\n return (\n <Checkbox\n isChecked={isOptionValueInInputValues}\n key={option.value}\n label={option.label}\n onChange={(_, checked) => {\n handleCheckboxFilterAndInputValueChange(\n filterPopoverCurrentFilter.id,\n option,\n checked,\n );\n }}\n value={option.value}\n />\n );\n },\n )}\n </CheckboxGroup>\n )}\n\n {/* Radio */}\n {filterPopoverCurrentFilter?.variant === \"select\" &&\n filterPopoverCurrentFilter?.options && (\n <RadioGroup\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n updateFilterAndInputValues({\n filterId: filterPopoverCurrentFilter.id,\n value,\n });\n }}\n >\n <Radio\n isChecked={\n !inputValues[filterPopoverCurrentFilter.id]\n }\n label={t(\"filters.filter.any\")}\n value={\"\"}\n />\n <>\n {filterPopoverCurrentFilter.options.map(\n (option: {\n label: string;\n value: string;\n }) => (\n <Radio\n isChecked={\n inputValues[\n filterPopoverCurrentFilter.id\n ] === option.value\n }\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ),\n )}\n </>\n </RadioGroup>\n )}\n </>\n )}\n </form>\n </Box>\n </MuiPopover>\n </>\n )}\n\n {/* Search */}\n {onChangeSearch && (\n <form\n onSubmit={(event) => {\n event.preventDefault();\n if (hasSearchSubmitButton) {\n onChangeSearch(searchValue);\n }\n }}\n style={{ width: \"100%\" }}\n >\n <Box sx={{ display: \"flex\", gap: 2, width: \"100%\" }}>\n <SearchField\n isDisabled={isDisabled}\n label={resolvedSearchFieldLabel}\n onChange={(ev) => setSearchValue(ev.target.value)}\n onClear={() => {\n setSearchValue(\"\");\n onChangeSearch(\"\");\n }}\n placeholder={resolvedSearchFieldLabel}\n value={searchValue}\n />\n {hasSearchSubmitButton && (\n <Box>\n <Button\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onClick={() => onChangeSearch(searchValue)}\n variant=\"primary\"\n />\n </Box>\n )}\n </Box>\n </form>\n )}\n </Box>\n\n {/* Upper section right (clear filters & additional actions) */}\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {activeFilters.length > 0 && (\n <Box>\n <Button\n label={t(\"filters.clear.label\")}\n onClick={clearAllFilters}\n variant=\"secondary\"\n />\n </Box>\n )}\n {additionalActions}\n </Box>\n </Box>\n\n {/* Lower section */}\n {activeFilters.length > 0 && (\n <Box\n sx={{\n borderTopWidth: 1,\n borderTopColor: \"#eeeeee\",\n borderTopStyle: \"solid\",\n paddingTop: 4,\n marginTop: 4,\n }}\n >\n <MemoizedFilterTags\n activeFilters={activeFilters}\n updateFilterAndInputValues={updateFilterAndInputValues}\n />\n </Box>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataFilters = memo(DataFilters);\nMemoizedDataFilters.displayName = \"DataFilters\";\n\nexport { MemoizedDataFilters as DataFilters };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -481,5 +481,5 @@ const DataTable = ({
|
|
|
481
481
|
});
|
|
482
482
|
};
|
|
483
483
|
const MemoizedDataTable = exports.DataTable = (0, _react.memo)(DataTable);
|
|
484
|
-
MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.
|
|
484
|
+
MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.59.0";
|
|
485
485
|
//# sourceMappingURL=DataTable.cjs.map
|
|
@@ -72,5 +72,5 @@ const DataTablePagination = ({
|
|
|
72
72
|
});
|
|
73
73
|
};
|
|
74
74
|
const MemoizedDataTablePagination = exports.DataTablePagination = (0, _react.memo)(DataTablePagination);
|
|
75
|
-
MemoizedDataTablePagination.displayName = "DataTablePagination::pkg=odyssey&odysseyV=1.
|
|
75
|
+
MemoizedDataTablePagination.displayName = "DataTablePagination::pkg=odyssey&odysseyV=1.59.0";
|
|
76
76
|
//# sourceMappingURL=DataTablePagination.cjs.map
|
|
@@ -78,5 +78,5 @@ const BulkActionsMenu = ({
|
|
|
78
78
|
});
|
|
79
79
|
};
|
|
80
80
|
const MemoizedBulkActionsMenu = exports.BulkActionsMenu = (0, _react.memo)(BulkActionsMenu);
|
|
81
|
-
MemoizedBulkActionsMenu.displayName = "BulkActionsMenu::pkg=odyssey&odysseyV=1.
|
|
81
|
+
MemoizedBulkActionsMenu.displayName = "BulkActionsMenu::pkg=odyssey&odysseyV=1.59.0";
|
|
82
82
|
//# sourceMappingURL=BulkActionsMenu.cjs.map
|
|
@@ -106,7 +106,7 @@ const RowDataCard = ({
|
|
|
106
106
|
}, row.id);
|
|
107
107
|
};
|
|
108
108
|
const MemoizedRowDataCard = (0, _react.memo)(RowDataCard);
|
|
109
|
-
MemoizedRowDataCard.displayName = "RowDataCard::pkg=odyssey&odysseyV=1.
|
|
109
|
+
MemoizedRowDataCard.displayName = "RowDataCard::pkg=odyssey&odysseyV=1.59.0";
|
|
110
110
|
const CardLayoutContent = ({
|
|
111
111
|
currentLayout,
|
|
112
112
|
data,
|
|
@@ -162,5 +162,5 @@ const CardLayoutContent = ({
|
|
|
162
162
|
});
|
|
163
163
|
};
|
|
164
164
|
const MemoizedCardLayoutContent = exports.CardLayoutContent = (0, _react.memo)(CardLayoutContent);
|
|
165
|
-
MemoizedCardLayoutContent.displayName = "CardLayoutContent::pkg=odyssey&odysseyV=1.
|
|
165
|
+
MemoizedCardLayoutContent.displayName = "CardLayoutContent::pkg=odyssey&odysseyV=1.59.0";
|
|
166
166
|
//# sourceMappingURL=CardLayoutContent.cjs.map
|
|
@@ -100,5 +100,5 @@ const DataCard = ({
|
|
|
100
100
|
});
|
|
101
101
|
};
|
|
102
102
|
const MemoizedDataCard = exports.DataCard = (0, _react.memo)(DataCard);
|
|
103
|
-
MemoizedDataCard.displayName = "DataCard::pkg=odyssey&odysseyV=1.
|
|
103
|
+
MemoizedDataCard.displayName = "DataCard::pkg=odyssey&odysseyV=1.59.0";
|
|
104
104
|
//# sourceMappingURL=DataCard.cjs.map
|
|
@@ -101,5 +101,5 @@ const DataTable = ({
|
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
103
|
const MemoizedDataTable = exports.DataTable = (0, _react.memo)(DataTable);
|
|
104
|
-
MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.
|
|
104
|
+
MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.59.0";
|
|
105
105
|
//# sourceMappingURL=DataTable.cjs.map
|
|
@@ -110,11 +110,13 @@ const DataView = ({
|
|
|
110
110
|
metaText,
|
|
111
111
|
noResultsPlaceholder,
|
|
112
112
|
onChangeRowSelection,
|
|
113
|
+
onColumnVisibilityChange,
|
|
113
114
|
onReorderRows,
|
|
114
115
|
onRowSelectionChange,
|
|
115
116
|
paginationType = "paged",
|
|
116
117
|
resultsPerPage = 20,
|
|
117
118
|
searchDelayTime,
|
|
119
|
+
searchFieldLabel,
|
|
118
120
|
cardLayoutOptions,
|
|
119
121
|
tableLayoutOptions,
|
|
120
122
|
totalRows,
|
|
@@ -147,7 +149,7 @@ const DataView = ({
|
|
|
147
149
|
});
|
|
148
150
|
const [tableState, setTableState] = (0, _react.useState)({
|
|
149
151
|
columnSorting: [],
|
|
150
|
-
columnVisibility: {},
|
|
152
|
+
columnVisibility: tableLayoutOptions?.initialColumnVisibility ?? {},
|
|
151
153
|
rowDensity: tableLayoutOptions?.initialDensity ?? _constants.densityValues[0]
|
|
152
154
|
});
|
|
153
155
|
const shouldShowFilters = hasSearch || hasFilters || additionalActionButton || additionalActionMenuItems;
|
|
@@ -204,6 +206,9 @@ const DataView = ({
|
|
|
204
206
|
(0, _react.useEffect)(() => {
|
|
205
207
|
onPaginationChange?.(pagination);
|
|
206
208
|
}, [onPaginationChange, pagination]);
|
|
209
|
+
(0, _react.useEffect)(() => {
|
|
210
|
+
onColumnVisibilityChange?.(tableState.columnVisibility);
|
|
211
|
+
}, [onColumnVisibilityChange, tableState.columnVisibility]);
|
|
207
212
|
(0, _react.useEffect)(() => {
|
|
208
213
|
(0, _fetchData.fetchData)({
|
|
209
214
|
dataQueryParams,
|
|
@@ -290,7 +295,8 @@ const DataView = ({
|
|
|
290
295
|
isDisabled: isEmpty,
|
|
291
296
|
onChangeFilters: hasFilters ? setFilters : undefined,
|
|
292
297
|
onChangeSearch: hasSearch ? setSearch : undefined,
|
|
293
|
-
searchDelayTime: searchDelayTime
|
|
298
|
+
searchDelayTime: searchDelayTime,
|
|
299
|
+
searchFieldLabel: searchFieldLabel
|
|
294
300
|
}), (bulkActionMenuItems || hasRowSelection) && (0, _jsxRuntime.jsxs)(StyledBulkActionsContainer, {
|
|
295
301
|
children: [(0, _jsxRuntime.jsx)(_BulkActionsMenu.BulkActionsMenu, {
|
|
296
302
|
data: data,
|
|
@@ -366,5 +372,5 @@ const DataView = ({
|
|
|
366
372
|
});
|
|
367
373
|
};
|
|
368
374
|
const MemoizedDataView = exports.DataView = (0, _react.memo)(DataView);
|
|
369
|
-
MemoizedDataView.displayName = "DataView::pkg=odyssey&odysseyV=1.
|
|
375
|
+
MemoizedDataView.displayName = "DataView::pkg=odyssey&odysseyV=1.59.0";
|
|
370
376
|
//# sourceMappingURL=DataView.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataView.cjs","names":["_styled","_interopRequireDefault","require","_lodash","_react","_Box","_MenuButton","_Callout","_createUniqueId","_useRowReordering","_EmptyState","_i18n","_index","_OdysseyDesignTokensContext","_Pagination","_usePagination","_Typography","_DataFilters","_BulkActionsMenu","_CardLayoutContent","_constants","_fetchData","_LayoutSwitcher","_TableLayoutContent","_TableSettings","_useFilterConversion","_jsxRuntime","e","__esModule","default","StyledDataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","StyledBulkActionsContainer","justifyContent","StyledAdditionalActionsContainer","Spacing2","StyledAdditionalActionsInner","alignItems","StyledMetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasPageInput","hasRowCountInput","hasRowCountLabel","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","onRowSelectionChange","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","initialAvailableFilters","useMemo","hasEmptyOrInitialFilters","isEqual","calculatedIsEmpty","length","hasNoResults","dataQueryParams","page","sort","useCallback","row","index","parentRow","id","createUniqueId","prev","fetchData","undefined","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","hasTableSettings","hasColumnVisibility","hasChangeableDensity","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport isEqual from \"lodash.isequal\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { memo, useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { MenuButton } from \"../../Buttons/MenuButton.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { createUniqueId } from \"../../createUniqueId.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Pagination } from \"../../Pagination/Pagination.js\";\nimport { usePagination } from \"../../Pagination/usePagination.js\";\nimport { Typography } from \"../../Typography.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport {\n DataLayout,\n TableState,\n UniversalProps,\n ViewProps,\n} from \"./componentTypes.js\";\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledDataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst StyledBulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst StyledAdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledMetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = <TData extends MRT_RowData>({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasPageInput,\n hasRowCountInput,\n hasRowCountLabel,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n onRowSelectionChange,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<TData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n // will format the initial filters to be used for comparison\n const initialAvailableFilters = useFilterConversion({\n filters: initialFilters,\n columns: tableLayoutOptions?.columns,\n });\n\n const isEmpty = useMemo(() => {\n const hasEmptyOrInitialFilters =\n !hasFilters || isEqual(filters, initialAvailableFilters);\n\n const calculatedIsEmpty =\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n hasEmptyOrInitialFilters &&\n data.length === 0;\n\n return isEmptyProp ?? calculatedIsEmpty;\n }, [\n currentPage,\n data.length,\n filters,\n hasFilters,\n initialAvailableFilters,\n isEmptyProp,\n pagination.pageIndex,\n pagination.pageSize,\n resultsPerPage,\n search,\n ]);\n\n const isNoResults = useMemo(() => {\n const hasNoResults = isLoading\n ? false\n : // DB isn't actually empty (!isEmpty) and we have zero rows\n !isEmpty && data.length === 0;\n\n return isNoResultsProp ?? hasNoResults;\n }, [data, isEmpty, isLoading, isNoResultsProp]);\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = useCallback<Required<UniversalProps<TData>>[\"getRowId\"]>(\n (row, index, parentRow) => {\n if (getRowIdProp) {\n return getRowIdProp(row, index, parentRow);\n }\n if (row.id) {\n return row.id as string;\n }\n return createUniqueId();\n },\n [getRowIdProp],\n );\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp !== undefined ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // Change loading state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n const hasTableSettings =\n currentLayout === \"table\" &&\n tableLayoutOptions &&\n (tableLayoutOptions.hasColumnVisibility ||\n tableLayoutOptions.hasChangeableDensity);\n\n return (\n (metaText ||\n hasTableSettings ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <StyledAdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <StyledMetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </StyledMetaTextContainer>\n )}\n\n {hasTableSettings && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </StyledAdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <StyledDataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <StyledBulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </StyledBulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <StyledAdditionalActionsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {additionalActions}\n </StyledAdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowIdProp || getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n cardLayoutOptions={cardLayoutOptions}\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowIdProp || getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n currentRowsCount={data.length}\n hasPageInput={hasPageInput}\n hasRowCountInput={hasRowCountInput}\n hasRowCountLabel={hasRowCountLabel}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n variant={paginationType}\n />\n )}\n </StyledDataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":";;;;;;AAYA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAMA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,2BAAA,GAAAX,OAAA;AAIA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,gBAAA,GAAAhB,OAAA;AACA,IAAAiB,kBAAA,GAAAjB,OAAA;AAOA,IAAAkB,UAAA,GAAAlB,OAAA;AAIA,IAAAmB,UAAA,GAAAnB,OAAA;AACA,IAAAoB,eAAA,GAAApB,OAAA;AACA,IAAAqB,mBAAA,GAAArB,OAAA;AACA,IAAAsB,cAAA,GAAAtB,OAAA;AACA,IAAAuB,oBAAA,GAAAvB,OAAA;AAA+D,IAAAwB,WAAA,GAAAxB,OAAA;AAAA,SAAAD,uBAAA0B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AArD/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqDA,MAAMG,uBAAuB,GAAG,IAAAC,eAAM,EAAC,KAAK,EAAE;EAC5CC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,GAAG,EAAEH,mBAAmB,CAACI;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMC,0BAA0B,GAAG,IAAAR,eAAM,EAAC,KAAK,CAAC,CAAC,OAAO;EACtDI,OAAO,EAAE,MAAM;EACfK,cAAc,EAAE;AAClB,CAAC,CAAC,CAAC;AAEH,MAAMC,gCAAgC,GAAG,IAAAV,eAAM,EAAC,KAAK,EAAE;EACrDC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEC,OAAO,EAAE,MAAM;EACfK,cAAc,EAAE,UAAU;EAC1BH,GAAG,EAAEH,mBAAmB,CAACQ;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMC,4BAA4B,GAAG,IAAAZ,eAAM,EAAC,KAAK,EAAE;EACjDC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEC,OAAO,EAAE,MAAM;EACfS,UAAU,EAAE,QAAQ;EACpBP,GAAG,EAAEH,mBAAmB,CAACQ;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMG,uBAAuB,GAAG,IAAAd,eAAM,EAAC,KAAK,EAAE;EAC5CC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEY,eAAe,EAAEZ,mBAAmB,CAACQ;AACvC,CAAC,CAAC,CAAC;AAEH,MAAMK,QAAQ,GAAGA,CAA4B;EAC3CC,sBAAsB;EACtBC,yBAAyB;EACzBC,gBAAgB,GAAGC,2BAAmB;EACtCC,mBAAmB;EACnBC,WAAW,GAAG,CAAC;EACfC,gBAAgB;EAChBC,oBAAoB,EAAEC,wBAAwB;EAC9CC,YAAY,EAAEC,gBAAgB;EAC9BC,OAAO,EAAEC,WAAW;EACpBC,OAAO;EACPC,QAAQ,EAAEC,YAAY;EACtBC,UAAU;EACVC,aAAa;EACbC,YAAY;EACZC,gBAAgB;EAChBC,gBAAgB;EAChBC,SAAS;EACTC,qBAAqB;EACrBC,gBAAgB;EAChBC,eAAe;EACfC,aAAa;EACbC,OAAO,EAAEC,WAAW;EACpBC,SAAS,EAAEC,aAAa;EACxBC,WAAW,EAAEC,eAAe;EAC5BC,wBAAwB;EACxBC,uBAAuB;EACvBC,QAAQ;EACRC,oBAAoB;EACpBC,oBAAoB;EACpBC,aAAa;EACbC,oBAAoB;EACpBC,cAAc,GAAG,OAAO;EACxBC,cAAc,GAAG,EAAE;EACnBC,eAAe;EACfC,iBAAiB;EACjBC,kBAAkB;EAClBC,SAAS;EACTC,QAAQ;EACRC,iBAAiB;EACjBC;AACoB,CAAC,KAAK;EAC1B,MAAM7D,mBAAmB,GAAG,IAAA8D,kDAAsB,EAAC,CAAC;EACpD,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,oBAAc,EAAC,CAAC;EAE9B,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAChD5B,aAAa,IAAIvB,gBAAgB,CAAC,CAAC,CACrC,CAAC;EAED,MAAM,CAACoD,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAU,EAAE,CAAC;EAC7C,MAAM,CAACzB,SAAS,EAAE4B,YAAY,CAAC,GAAG,IAAAH,eAAQ,EAAUxB,aAAa,IAAI,IAAI,CAAC;EAC1E,MAAM,CAACpB,YAAY,EAAEgD,eAAe,CAAC,GACnC,IAAAJ,eAAQ,EAAwC3C,gBAAgB,CAAC;EAEnE,MAAM,CAACgD,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAN,eAAQ,EAAS,EAAE,CAAC;EAEhD,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GACvC,IAAAR,eAAQ,EAAmCzC,WAAW,CAAC;EACzD,MAAM,CAACD,OAAO,EAAEmD,UAAU,CAAC,GACzB,IAAAT,eAAQ,EAAmCzC,WAAW,CAAC;EAEzD,MAAM,CAACmD,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAX,eAAQ,EAAwB,CAAC;EAEvE,MAAM,CAACY,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAb,eAAQ,EAAwB,CAAC,CAAC,CAAC;EAE3E,IAAAc,gBAAS,EAAC,MAAM;IACd/B,oBAAoB,GAAG6B,YAAY,CAAC;EACtC,CAAC,EAAE,CAACA,YAAY,EAAE7B,oBAAoB,CAAC,CAAC;EAExC,IAAA+B,gBAAS,EAAC,MAAM;IACd7B,oBAAoB,GAAG2B,YAAY,CAAC;EACtC,CAAC,EAAE,CAACA,YAAY,EAAE3B,oBAAoB,CAAC,CAAC;EAExC,MAAM,CAAC8B,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAhB,eAAQ,EAAC;IAC3CiB,SAAS,EAAEjE,WAAW;IACtBkE,QAAQ,EAAE/B;EACZ,CAAC,CAAC;EAEF,MAAM,CAACgC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAApB,eAAQ,EAAa;IACvDqB,aAAa,EAAE,EAAE;IACjBC,gBAAgB,EAAE,CAAC,CAAC;IACpBC,UAAU,EAAEjC,kBAAkB,EAAEkC,cAAc,IAAIC,wBAAa,CAAC,CAAC;EACnE,CAAC,CAAC;EAEF,MAAMC,iBAAiB,GACrB1D,SAAS,IACTL,UAAU,IACVhB,sBAAsB,IACtBC,yBAAyB;EAE3B,MAAM+E,gBAAgB,GAAG,IAAAC,wCAAmB,EAAC;IAC3CtE,OAAO,EAAEA,OAAO;IAChBuE,OAAO,EAAEvC,kBAAkB,EAAEuC;EAC/B,CAAC,CAAC;EAEF,MAAMC,uBAAuB,GAAG,IAAAF,wCAAmB,EAAC;IAClDtE,OAAO,EAAEiD,cAAc;IACvBsB,OAAO,EAAEvC,kBAAkB,EAAEuC;EAC/B,CAAC,CAAC;EAEF,MAAMxD,OAAO,GAAG,IAAA0D,cAAO,EAAC,MAAM;IAC5B,MAAMC,wBAAwB,GAC5B,CAACrE,UAAU,IAAI,IAAAsE,eAAO,EAAC3E,OAAO,EAAEwE,uBAAuB,CAAC;IAE1D,MAAMI,iBAAiB,GACrBnB,UAAU,CAACE,SAAS,KAAKjE,WAAW,IACpC+D,UAAU,CAACG,QAAQ,KAAK/B,cAAc,IACtCkB,MAAM,KAAK,EAAE,IACb2B,wBAAwB,IACxB/B,IAAI,CAACkC,MAAM,KAAK,CAAC;IAEnB,OAAO7D,WAAW,IAAI4D,iBAAiB;EACzC,CAAC,EAAE,CACDlF,WAAW,EACXiD,IAAI,CAACkC,MAAM,EACX7E,OAAO,EACPK,UAAU,EACVmE,uBAAuB,EACvBxD,WAAW,EACXyC,UAAU,CAACE,SAAS,EACpBF,UAAU,CAACG,QAAQ,EACnB/B,cAAc,EACdkB,MAAM,CACP,CAAC;EAEF,MAAM5B,WAAW,GAAG,IAAAsD,cAAO,EAAC,MAAM;IAChC,MAAMK,YAAY,GAAG7D,SAAS,GAC1B,KAAK,GAEL,CAACF,OAAO,IAAI4B,IAAI,CAACkC,MAAM,KAAK,CAAC;IAEjC,OAAOzD,eAAe,IAAI0D,YAAY;EACxC,CAAC,EAAE,CAACnC,IAAI,EAAE5B,OAAO,EAAEE,SAAS,EAAEG,eAAe,CAAC,CAAC;EAE/C,IAAAoC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACP,cAAc,IAAIoB,gBAAgB,EAAE;MACvCnB,iBAAiB,CAACmB,gBAAgB,CAAC;IACrC;EACF,CAAC,EAAE,CAACA,gBAAgB,EAAEpB,cAAc,CAAC,CAAC;EAEtC,MAAM8B,eAAe,GAAG,IAAAN,cAAO,EAC7B,OAAO;IACLO,IAAI,EAAEvB,UAAU,CAACE,SAAS;IAC1B9B,cAAc,EAAE4B,UAAU,CAACG,QAAQ;IACnCb,MAAM;IACN/C,OAAO,EAAEqE,gBAAgB;IACzBY,IAAI,EAAEpB,UAAU,EAAEE;EACpB,CAAC,CAAC,EACF,CACEN,UAAU,CAACE,SAAS,EACpBF,UAAU,CAACG,QAAQ,EACnBb,MAAM,EACNsB,gBAAgB,EAChBR,UAAU,EAAEE,aAAa,CAE7B,CAAC;EAED,MAAM5D,QAAQ,GAAG,IAAA+E,kBAAW,EAC1B,CAACC,GAAG,EAAEC,KAAK,EAAEC,SAAS,KAAK;IACzB,IAAIjF,YAAY,EAAE;MAChB,OAAOA,YAAY,CAAC+E,GAAG,EAAEC,KAAK,EAAEC,SAAS,CAAC;IAC5C;IACA,IAAIF,GAAG,CAACG,EAAE,EAAE;MACV,OAAOH,GAAG,CAACG,EAAE;IACf;IACA,OAAO,IAAAC,8BAAc,EAAC,CAAC;EACzB,CAAC,EACD,CAACnF,YAAY,CACf,CAAC;EAGD,IAAAoD,gBAAS,EAAC,MAAM;IACdE,aAAa,CAAC;MACZC,SAAS,EAAEjE,WAAW;MACtBkE,QAAQ,EAAE/B;IACZ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACnC,WAAW,EAAEmC,cAAc,CAAC,CAAC;EAGjC,IAAA2B,gBAAS,EAAC,MAAM;IACdE,aAAa,CAAE8B,IAAI,KAAM;MACvB7B,SAAS,EAAE,CAAC;MACZC,QAAQ,EAAEhC,cAAc,IAAI,UAAU,GAAGC,cAAc,GAAG2D,IAAI,CAAC5B;IACjE,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAAC5D,OAAO,EAAE4B,cAAc,EAAEC,cAAc,EAAEkB,MAAM,CAAC,CAAC;EAGrD,IAAAS,gBAAS,EAAC,MAAM;IACdpB,kBAAkB,GAAGqB,UAAU,CAAC;EAClC,CAAC,EAAE,CAACrB,kBAAkB,EAAEqB,UAAU,CAAC,CAAC;EAGpC,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAAiC,oBAAS,EAAC;MACRV,eAAe;MACfhF,gBAAgB;MAChBG,OAAO;MACP0C,OAAO;MACPE,eAAe;MAEfD,YAAY,EAAE3B,aAAa,KAAKwE,SAAS,GAAGA,SAAS,GAAG7C;IAC1D,CAAC,CAAC;EACJ,CAAC,EAAE,CAACkC,eAAe,EAAEhF,gBAAgB,EAAEG,OAAO,EAAEgB,aAAa,CAAC,CAAC;EAG/D,IAAAsC,gBAAS,EAAC,MAAM;IACdX,YAAY,CAAE8C,SAAS,IAAKzE,aAAa,IAAIyE,SAAS,CAAC;EACzD,CAAC,EAAE,CAACzE,aAAa,CAAC,CAAC;EAEnB,MAAM0E,UAAU,GAAG,IAAAnB,cAAO,EAAC,MAAM;IAC/B,MAAMoB,qBAAqB,GAAGrE,oBAAoB,IAChD,IAAAzD,WAAA,CAAA+H,GAAA,EAAC/I,WAAA,CAAAgJ,UAAU;MACTC,WAAW,EAAE1D,CAAC,CAAC,sBAAsB,CAAE;MACvC2D,OAAO,EAAE3D,CAAC,CAAC,yBAAyB;IAAE,CACvC,CACF;IAED,IAAIvB,OAAO,EAAE;MACX,OAAOpB,gBAAgB,IAAIkG,qBAAqB;IAClD;IAEA,IAAI1E,WAAW,EAAE;MACf,OAAO0E,qBAAqB;IAC9B;IAEA;EACF,CAAC,EAAE,CAACrE,oBAAoB,EAAEc,CAAC,EAAEvB,OAAO,EAAEI,WAAW,EAAExB,gBAAgB,CAAC,CAAC;EAErE,MAAMuG,iBAAiB,GAAG,IAAAzB,cAAO,EAAC,MAAM;IACtC,MAAM0B,gBAAgB,GACpB3D,aAAa,KAAK,OAAO,IACzBR,kBAAkB,KACjBA,kBAAkB,CAACoE,mBAAmB,IACrCpE,kBAAkB,CAACqE,oBAAoB,CAAC;IAE5C,OACE,CAAC9E,QAAQ,IACP4E,gBAAgB,IAChB5G,gBAAgB,CAACsF,MAAM,GAAG,CAAC,IAC3BxF,sBAAsB,IACtBC,yBAAyB,KACzB,IAAAvB,WAAA,CAAAuI,IAAA,EAACtH,4BAA4B;MAACT,mBAAmB,EAAEA,mBAAoB;MAAAgI,QAAA,GACpEhF,QAAQ,IACP,IAAAxD,WAAA,CAAA+H,GAAA,EAAC5G,uBAAuB;QAACX,mBAAmB,EAAEA,mBAAoB;QAAAgI,QAAA,EAChE,IAAAxI,WAAA,CAAA+H,GAAA,EAACzI,WAAA,CAAAmJ,UAAU;UAACC,KAAK,EAAC,eAAe;UAAAF,QAAA,EAAEhF;QAAQ,CAAa;MAAC,CAClC,CAC1B,EAEA4E,gBAAgB,IACf,IAAApI,WAAA,CAAA+H,GAAA,EAACjI,cAAA,CAAA6I,aAAa;QACZ5C,aAAa,EAAEA,aAAc;QAC7B9B,kBAAkB,EAAEA,kBAAmB;QACvC6B,UAAU,EAAEA;MAAW,CACxB,CACF,EAEAtE,gBAAgB,CAACsF,MAAM,GAAG,CAAC,IAC1B,IAAA9G,WAAA,CAAA+H,GAAA,EAACnI,eAAA,CAAAgJ,cAAc;QACbpH,gBAAgB,EAAEA,gBAAiB;QACnCiD,aAAa,EAAEA,aAAc;QAC7BC,gBAAgB,EAAEA;MAAiB,CACpC,CACF,EAEApD,sBAAsB,EAEtBC,yBAAyB,IACxB,IAAAvB,WAAA,CAAA+H,GAAA,EAACnJ,WAAA,CAAAiK,UAAU;QACTC,SAAS,EAAEvE,CAAC,CAAC,6BAA6B,CAAE;QAC5CwE,aAAa,EAAC,WAAW;QACzBC,OAAO,EAAE,IAAAhJ,WAAA,CAAA+H,GAAA,EAAC7I,MAAA,CAAA+J,QAAQ,IAAE,CAAE;QACtBC,aAAa,EAAC,OAAO;QAAAV,QAAA,EAEpBjH;MAAyB,CAChB,CACb;IAAA,CAC2B,CAC/B;EAEL,CAAC,EAAE,CACDD,sBAAsB,EACtBC,yBAAyB,EACzBC,gBAAgB,EAChBiD,aAAa,EACbjB,QAAQ,EACRhD,mBAAmB,EACnByD,kBAAkB,EAClB6B,UAAU,EACVvB,CAAC,CACF,CAAC;EAEF,MAAM1C,oBAAoB,GAAG,IAAA6E,cAAO,EAClC,MAAM5E,wBAAwB,IAAI+B,cAAc,KAAK,UAAU,EAC/D,CAAC/B,wBAAwB,EAAE+B,cAAc,CAC3C,CAAC;EAED,MAAM;IAAEsF,OAAO,EAAEC;EAAc,CAAC,GAAG,IAAAC,4BAAa,EAAC;IAC/CC,gBAAgB,EAAE1E,IAAI,CAACkC,MAAM;IAC7BlB,SAAS,EAAEF,UAAU,CAACE,SAAS;IAC/BC,QAAQ,EAAEH,UAAU,CAACG,QAAQ;IAC7B3B;EACF,CAAC,CAAC;EAEF,MAAMqF,sBAAsB,GAAG,IAAAC,kCAAgB,EAAC;IAC9CtF,SAAS;IACTP,aAAa;IACbiB,IAAI;IACJC,OAAO;IACPQ,WAAW;IACXC,cAAc;IACdxB,cAAc,EAAE4B,UAAU,CAACG,QAAQ;IACnCoB,IAAI,EAAEvB,UAAU,CAACE;EACnB,CAAC,CAAC;EAEF,OACE,IAAA5F,WAAA,CAAAuI,IAAA,EAACnI,uBAAuB;IAACI,mBAAmB,EAAEA,mBAAoB;IAAAgI,QAAA,GAC/DzG,YAAY,IACX,IAAA/B,WAAA,CAAA+H,GAAA,EAACpJ,IAAA,CAAA8K,GAAG;MAAAjB,QAAA,EACF,IAAAxI,WAAA,CAAA+H,GAAA,EAAClJ,QAAA,CAAA6K,OAAO;QAACC,QAAQ,EAAC,OAAO;QAACC,IAAI,EAAE7H;MAAa,CAAE;IAAC,CAC7C,CACN,EAEAsE,iBAAiB,IAChB,IAAArG,WAAA,CAAA+H,GAAA,EAACxI,YAAA,CAAAsK,WAAW;MACV1B,iBAAiB,EAAEA,iBAAkB;MACrClG,OAAO,EAAEK,UAAU,GAAGgE,gBAAgB,GAAGqB,SAAU;MACnD/E,qBAAqB,EAAEA,qBAAsB;MAC7CkH,UAAU,EAAE9G,OAAQ;MACpB+G,eAAe,EAAEzH,UAAU,GAAG8C,UAAU,GAAGuC,SAAU;MACrDqC,cAAc,EAAErH,SAAS,GAAGsC,SAAS,GAAG0C,SAAU;MAClD5D,eAAe,EAAEA;IAAgB,CAClC,CACF,EAEA,CAACrC,mBAAmB,IAAIoB,eAAe,KACtC,IAAA9C,WAAA,CAAAuI,IAAA,EAAC1H,0BAA0B;MAAA2H,QAAA,GACzB,IAAAxI,WAAA,CAAA+H,GAAA,EAACvI,gBAAA,CAAAyK,eAAe;QACdrF,IAAI,EAAEA,IAAK;QACXsF,SAAS,EAAExI,mBAAoB;QAC/B6D,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA;MAAgB,CAClC,CAAC,EACD,CAACa,iBAAiB,IAAI8B,iBAAiB;IAAA,CACd,CAC7B,EAEA,CAAC9B,iBAAiB,IACjB,CAAC3E,mBAAmB,IACpB,CAACoB,eAAe,IAChBqF,iBAAiB,IACf,IAAAnI,WAAA,CAAA+H,GAAA,EAAChH,gCAAgC;MAC/BP,mBAAmB,EAAEA,mBAAoB;MAAAgI,QAAA,EAExCL;IAAiB,CACc,CACnC,EAEF1D,aAAa,KAAK,OAAO,IAAIR,kBAAkB,IAC9C,IAAAjE,WAAA,CAAA+H,GAAA,EAAClI,mBAAA,CAAAsK,kBAAkB;MACjB3D,OAAO,EAAEvC,kBAAkB,CAACuC,OAAQ;MACpC5B,IAAI,EAAEA,IAAK;MACXS,WAAW,EAAEA,WAAY;MACzBwC,UAAU,EAAEA,UAAW;MACvBhG,oBAAoB,EAAEA,oBAAqB;MAC3CO,QAAQ,EAAEC,YAAY,IAAID,QAAS;MACnCS,gBAAgB,EAAEA,gBAAiB;MACnCC,eAAe,EAAEA,eAAgB;MACjCE,OAAO,EAAEA,OAAQ;MACjBE,SAAS,EAAEA,SAAU;MACrBE,WAAW,EAAEA,WAAY;MACzBG,uBAAuB,EAAEA,uBAAwB;MACjDI,aAAa,EAAEA,aAAc;MAC7B+B,UAAU,EAAEA,UAAW;MACvB6D,sBAAsB,EAAEA,sBAAuB;MAC/ChE,YAAY,EAAEA,YAAa;MAC3BC,eAAe,EAAEA,eAAgB;MACjCO,aAAa,EAAEA,aAAc;MAC7B9B,kBAAkB,EAAEA,kBAAmB;MACvC6B,UAAU,EAAEA,UAAW;MACvB5B,SAAS,EAAEA;IAAU,CACtB,CACF,EACA,CAACO,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,MAAM,KACpDT,iBAAiB,IACf,IAAAhE,WAAA,CAAA+H,GAAA,EAACtI,kBAAA,CAAA2K,iBAAiB;MAChBpG,iBAAiB,EAAEA,iBAAkB;MACrCS,aAAa,EAAEA,aAAc;MAC7BG,IAAI,EAAEA,IAAK;MACXS,WAAW,EAAEA,WAAY;MACzBwC,UAAU,EAAEA,UAAW;MACvBzF,QAAQ,EAAEC,YAAY,IAAID,QAAS;MACnCS,gBAAgB,EAAEA,gBAAiB;MACnCC,eAAe,EAAEA,eAAgB;MACjCE,OAAO,EAAEA,OAAQ;MACjBE,SAAS,EAAEA,SAAU;MACrBE,WAAW,EAAEA,WAAY;MACzBG,uBAAuB,EAAEA,uBAAwB;MACjDI,aAAa,EAAEA,aAAc;MAC7B+B,UAAU,EAAEA,UAAW;MACvB6D,sBAAsB,EAAEA,sBAAuB;MAC/ChE,YAAY,EAAEA,YAAa;MAC3BC,eAAe,EAAEA,eAAgB;MACjCtB,SAAS,EAAEA;IAAU,CACtB,CACF,EAEF3B,aAAa,IACZ,IAAAvC,WAAA,CAAA+H,GAAA,EAAC3I,WAAA,CAAAiL,UAAU;MACTC,gBAAgB,EAAE/F,CAAC,CAAC,iBAAiB,CAAE;MACvC+E,gBAAgB,EAAE1E,IAAI,CAACkC,MAAO;MAC9BtE,YAAY,EAAEA,YAAa;MAC3BC,gBAAgB,EAAEA,gBAAiB;MACnCC,gBAAgB,EAAEA,gBAAiB;MACnCoH,UAAU,EAAE9G,OAAQ;MACpBuH,cAAc,EAAEjH,wBAAyB;MACzC6F,OAAO,EAAEC,aAAc;MACvBoB,aAAa,EAAEjG,CAAC,CAAC,qBAAqB,CAAE;MACxCkG,YAAY,EAAEtG,QAAS;MACvBuG,WAAW,EAAEtG,iBAAkB;MAC/BuG,SAAS,EAAEpG,CAAC,CAAC,iBAAiB,CAAE;MAChCF,kBAAkB,EAAEsB,aAAc;MAClCC,SAAS,EAAEF,UAAU,CAACE,SAAU;MAChCC,QAAQ,EAAEH,UAAU,CAACG,QAAS;MAC9B+E,aAAa,EAAErG,CAAC,CAAC,qBAAqB,CAAE;MACxCsG,gBAAgB,EAAEtG,CAAC,CAAC,wBAAwB,CAAE;MAC9CL,SAAS,EAAEA,SAAU;MACrB4G,OAAO,EAAEjH;IAAe,CACzB,CACF;EAAA,CACsB,CAAC;AAE9B,CAAC;AAED,MAAMkH,gBAAgB,GAAAC,OAAA,CAAA3J,QAAA,GAAG,IAAA4J,WAAI,EAAC5J,QAAQ,CAAsB;AAC5D0J,gBAAgB,CAACG,WAAW,0CAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataView.cjs","names":["_styled","_interopRequireDefault","require","_lodash","_react","_Box","_MenuButton","_Callout","_createUniqueId","_useRowReordering","_EmptyState","_i18n","_index","_OdysseyDesignTokensContext","_Pagination","_usePagination","_Typography","_DataFilters","_BulkActionsMenu","_CardLayoutContent","_constants","_fetchData","_LayoutSwitcher","_TableLayoutContent","_TableSettings","_useFilterConversion","_jsxRuntime","e","__esModule","default","StyledDataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","StyledBulkActionsContainer","justifyContent","StyledAdditionalActionsContainer","Spacing2","StyledAdditionalActionsInner","alignItems","StyledMetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasPageInput","hasRowCountInput","hasRowCountLabel","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onColumnVisibilityChange","onReorderRows","onRowSelectionChange","paginationType","resultsPerPage","searchDelayTime","searchFieldLabel","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","initialColumnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","initialAvailableFilters","useMemo","hasEmptyOrInitialFilters","isEqual","calculatedIsEmpty","length","hasNoResults","dataQueryParams","page","sort","useCallback","row","index","parentRow","id","createUniqueId","prev","fetchData","undefined","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","hasTableSettings","hasColumnVisibility","hasChangeableDensity","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport isEqual from \"lodash.isequal\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { memo, useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { MenuButton } from \"../../Buttons/MenuButton.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { createUniqueId } from \"../../createUniqueId.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Pagination } from \"../../Pagination/Pagination.js\";\nimport { usePagination } from \"../../Pagination/usePagination.js\";\nimport { Typography } from \"../../Typography.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport {\n DataLayout,\n TableState,\n UniversalProps,\n ViewProps,\n} from \"./componentTypes.js\";\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledDataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst StyledBulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst StyledAdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledMetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = <TData extends MRT_RowData>({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasPageInput,\n hasRowCountInput,\n hasRowCountLabel,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onColumnVisibilityChange,\n onReorderRows,\n onRowSelectionChange,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n searchFieldLabel,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<TData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: tableLayoutOptions?.initialColumnVisibility ?? {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n // will format the initial filters to be used for comparison\n const initialAvailableFilters = useFilterConversion({\n filters: initialFilters,\n columns: tableLayoutOptions?.columns,\n });\n\n const isEmpty = useMemo(() => {\n const hasEmptyOrInitialFilters =\n !hasFilters || isEqual(filters, initialAvailableFilters);\n\n const calculatedIsEmpty =\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n hasEmptyOrInitialFilters &&\n data.length === 0;\n\n return isEmptyProp ?? calculatedIsEmpty;\n }, [\n currentPage,\n data.length,\n filters,\n hasFilters,\n initialAvailableFilters,\n isEmptyProp,\n pagination.pageIndex,\n pagination.pageSize,\n resultsPerPage,\n search,\n ]);\n\n const isNoResults = useMemo(() => {\n const hasNoResults = isLoading\n ? false\n : // DB isn't actually empty (!isEmpty) and we have zero rows\n !isEmpty && data.length === 0;\n\n return isNoResultsProp ?? hasNoResults;\n }, [data, isEmpty, isLoading, isNoResultsProp]);\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = useCallback<Required<UniversalProps<TData>>[\"getRowId\"]>(\n (row, index, parentRow) => {\n if (getRowIdProp) {\n return getRowIdProp(row, index, parentRow);\n }\n if (row.id) {\n return row.id as string;\n }\n return createUniqueId();\n },\n [getRowIdProp],\n );\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Fire onColumnVisibilityChange if column visibility changes\n useEffect(() => {\n onColumnVisibilityChange?.(tableState.columnVisibility);\n }, [onColumnVisibilityChange, tableState.columnVisibility]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp !== undefined ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // Change loading state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n const hasTableSettings =\n currentLayout === \"table\" &&\n tableLayoutOptions &&\n (tableLayoutOptions.hasColumnVisibility ||\n tableLayoutOptions.hasChangeableDensity);\n\n return (\n (metaText ||\n hasTableSettings ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <StyledAdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <StyledMetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </StyledMetaTextContainer>\n )}\n\n {hasTableSettings && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </StyledAdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <StyledDataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n searchFieldLabel={searchFieldLabel}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <StyledBulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </StyledBulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <StyledAdditionalActionsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {additionalActions}\n </StyledAdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowIdProp || getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n cardLayoutOptions={cardLayoutOptions}\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowIdProp || getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n currentRowsCount={data.length}\n hasPageInput={hasPageInput}\n hasRowCountInput={hasRowCountInput}\n hasRowCountLabel={hasRowCountLabel}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n variant={paginationType}\n />\n )}\n </StyledDataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,5 +27,5 @@ const DetailPanel = ({
|
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
29
|
const MemoizedDetailPanel = exports.DetailPanel = (0, _react.memo)(DetailPanel);
|
|
30
|
-
MemoizedDetailPanel.displayName = "DetailPanel::pkg=odyssey&odysseyV=1.
|
|
30
|
+
MemoizedDetailPanel.displayName = "DetailPanel::pkg=odyssey&odysseyV=1.59.0";
|
|
31
31
|
//# sourceMappingURL=DetailPanel.cjs.map
|
|
@@ -54,5 +54,5 @@ const LayoutSwitcher = ({
|
|
|
54
54
|
});
|
|
55
55
|
};
|
|
56
56
|
const MemoizedLayoutSwitcher = exports.LayoutSwitcher = (0, _react.memo)(LayoutSwitcher);
|
|
57
|
-
MemoizedLayoutSwitcher.displayName = "LayoutSwitcher::pkg=odyssey&odysseyV=1.
|
|
57
|
+
MemoizedLayoutSwitcher.displayName = "LayoutSwitcher::pkg=odyssey&odysseyV=1.59.0";
|
|
58
58
|
//# sourceMappingURL=LayoutSwitcher.cjs.map
|
|
@@ -86,5 +86,5 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
const MemoizedRowActions = exports.RowActions = (0, _react.memo)(RowActions);
|
|
89
|
-
MemoizedRowActions.displayName = "RowActions::pkg=odyssey&odysseyV=1.
|
|
89
|
+
MemoizedRowActions.displayName = "RowActions::pkg=odyssey&odysseyV=1.59.0";
|
|
90
90
|
//# sourceMappingURL=RowActions.cjs.map
|
|
@@ -310,5 +310,5 @@ const TableLayoutContent = ({
|
|
|
310
310
|
});
|
|
311
311
|
};
|
|
312
312
|
const MemoizedTableLayoutContent = exports.TableLayoutContent = (0, _react.memo)(TableLayoutContent);
|
|
313
|
-
MemoizedTableLayoutContent.displayName = "TableLayoutContent::pkg=odyssey&odysseyV=1.
|
|
313
|
+
MemoizedTableLayoutContent.displayName = "TableLayoutContent::pkg=odyssey&odysseyV=1.59.0";
|
|
314
314
|
//# sourceMappingURL=TableLayoutContent.cjs.map
|
|
@@ -86,5 +86,5 @@ const TableSettings = ({
|
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
const MemoizedTableSettings = exports.TableSettings = (0, _react.memo)(TableSettings);
|
|
89
|
-
MemoizedTableSettings.displayName = "TableSettings::pkg=odyssey&odysseyV=1.
|
|
89
|
+
MemoizedTableSettings.displayName = "TableSettings::pkg=odyssey&odysseyV=1.59.0";
|
|
90
90
|
//# sourceMappingURL=TableSettings.cjs.map
|