@okta/odyssey-react-mui 1.56.0 → 1.57.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/Accordion.cjs.map +1 -1
- package/dist/cjs/Autocomplete.cjs +2 -1
- package/dist/cjs/Autocomplete.cjs.map +1 -1
- package/dist/cjs/Badge.cjs +1 -1
- package/dist/cjs/Badge.cjs.map +1 -1
- package/dist/cjs/Banner.cjs +1 -1
- package/dist/cjs/Banner.cjs.map +1 -1
- package/dist/cjs/Box.cjs +1 -1
- package/dist/cjs/Box.cjs.map +1 -1
- package/dist/cjs/Breadcrumbs.cjs +1 -1
- package/dist/cjs/Breadcrumbs.cjs.map +1 -1
- package/dist/cjs/Buttons/BaseButton.cjs +1 -1
- package/dist/cjs/Buttons/BaseButton.cjs.map +1 -1
- package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
- package/dist/cjs/Buttons/BaseMenuButton.cjs.map +1 -1
- package/dist/cjs/Buttons/Button.cjs +1 -1
- package/dist/cjs/Buttons/Button.cjs.map +1 -1
- package/dist/cjs/Buttons/MenuButton.cjs +1 -1
- package/dist/cjs/Buttons/MenuButton.cjs.map +1 -1
- package/dist/cjs/Buttons/MenuItem.cjs +1 -1
- package/dist/cjs/Buttons/MenuItem.cjs.map +1 -1
- package/dist/cjs/Callout.cjs +1 -1
- package/dist/cjs/Callout.cjs.map +1 -1
- package/dist/cjs/Card.cjs +1 -1
- package/dist/cjs/Card.cjs.map +1 -1
- package/dist/cjs/CircularProgress.cjs +1 -1
- package/dist/cjs/CircularProgress.cjs.map +1 -1
- package/dist/cjs/ConditionalWrapper.cjs +1 -1
- package/dist/cjs/ConditionalWrapper.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTable.cjs +1 -1
- package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
- package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
- package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
- package/dist/cjs/DatePickers/DateField.cjs +4 -2
- package/dist/cjs/DatePickers/DateField.cjs.map +1 -1
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
- package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs.map +1 -1
- package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
- package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
- package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
- package/dist/cjs/DatePickers/TimeZonePicker.cjs.map +1 -1
- package/dist/cjs/Dialog.cjs +1 -1
- package/dist/cjs/Dialog.cjs.map +1 -1
- package/dist/cjs/Drawer.cjs +1 -1
- package/dist/cjs/Drawer.cjs.map +1 -1
- package/dist/cjs/EmptyState.cjs +1 -1
- package/dist/cjs/EmptyState.cjs.map +1 -1
- package/dist/cjs/ErrorMessageList.cjs +1 -1
- package/dist/cjs/ErrorMessageList.cjs.map +1 -1
- package/dist/cjs/Field.cjs +1 -1
- package/dist/cjs/Field.cjs.map +1 -1
- package/dist/cjs/FieldError.cjs +1 -1
- package/dist/cjs/FieldError.cjs.map +1 -1
- package/dist/cjs/FieldHint.cjs +1 -1
- package/dist/cjs/FieldHint.cjs.map +1 -1
- package/dist/cjs/FieldLabel.cjs +1 -1
- package/dist/cjs/FieldLabel.cjs.map +1 -1
- package/dist/cjs/Fields/Checkbox.cjs +1 -1
- package/dist/cjs/Fields/Checkbox.cjs.map +1 -1
- package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
- package/dist/cjs/Fields/CheckboxGroup.cjs.map +1 -1
- package/dist/cjs/Fields/Radio.cjs +2 -2
- package/dist/cjs/Fields/Radio.cjs.map +1 -1
- package/dist/cjs/Fields/RadioGroup.cjs +1 -1
- package/dist/cjs/Fields/RadioGroup.cjs.map +1 -1
- package/dist/cjs/Fieldset.cjs +1 -1
- package/dist/cjs/Fieldset.cjs.map +1 -1
- package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadIllustration.cjs.map +1 -1
- package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadPreview.cjs.map +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/Form.cjs +1 -1
- package/dist/cjs/Form.cjs.map +1 -1
- package/dist/cjs/FullScreenOverlay.cjs +1 -1
- package/dist/cjs/FullScreenOverlay.cjs.map +1 -1
- package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
- package/dist/cjs/FullScreenOverlayContext.cjs.map +1 -1
- package/dist/cjs/HintLink.cjs +1 -1
- package/dist/cjs/HintLink.cjs.map +1 -1
- package/dist/cjs/IconWithTooltip.cjs +1 -1
- package/dist/cjs/IconWithTooltip.cjs.map +1 -1
- package/dist/cjs/Link.cjs +1 -1
- package/dist/cjs/Link.cjs.map +1 -1
- package/dist/cjs/MuiPropsChild.cjs +1 -1
- package/dist/cjs/MuiPropsChild.cjs.map +1 -1
- package/dist/cjs/NativeSelect.cjs +1 -1
- package/dist/cjs/NativeSelect.cjs.map +1 -1
- package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
- package/dist/cjs/OdysseyCacheProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +1 -1
- package/dist/cjs/OdysseyProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -1
- package/dist/cjs/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/PasswordField.cjs +3 -1
- package/dist/cjs/PasswordField.cjs.map +1 -1
- package/dist/cjs/ScreenReaderText.cjs +1 -1
- package/dist/cjs/ScreenReaderText.cjs.map +1 -1
- package/dist/cjs/SearchField.cjs +1 -1
- package/dist/cjs/SearchField.cjs.map +1 -1
- package/dist/cjs/Select.cjs +4 -2
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/Stack.cjs +1 -1
- package/dist/cjs/Stack.cjs.map +1 -1
- package/dist/cjs/Status.cjs +1 -1
- package/dist/cjs/Status.cjs.map +1 -1
- package/dist/cjs/Surface.cjs +1 -1
- package/dist/cjs/Surface.cjs.map +1 -1
- package/dist/cjs/Switch.cjs +3 -2
- package/dist/cjs/Switch.cjs.map +1 -1
- package/dist/cjs/Tabs.cjs +1 -1
- package/dist/cjs/Tabs.cjs.map +1 -1
- package/dist/cjs/Tag.cjs +1 -1
- package/dist/cjs/Tag.cjs.map +1 -1
- package/dist/cjs/TagList.cjs +1 -1
- package/dist/cjs/TagList.cjs.map +1 -1
- package/dist/cjs/TextField.cjs +11 -3
- package/dist/cjs/TextField.cjs.map +1 -1
- package/dist/cjs/Toast.cjs +1 -1
- package/dist/cjs/Toast.cjs.map +1 -1
- package/dist/cjs/ToastStack.cjs +1 -1
- package/dist/cjs/ToastStack.cjs.map +1 -1
- package/dist/cjs/Tooltip.cjs +1 -1
- package/dist/cjs/Tooltip.cjs.map +1 -1
- package/dist/cjs/Typography.cjs +12 -12
- package/dist/cjs/Typography.cjs.map +1 -1
- package/dist/cjs/icons.generated/Add.cjs +1 -1
- package/dist/cjs/icons.generated/Add.cjs.map +1 -1
- package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
- package/dist/cjs/icons.generated/AddCircle.cjs.map +1 -1
- package/dist/cjs/icons.generated/Apps.cjs +1 -1
- package/dist/cjs/icons.generated/Apps.cjs.map +1 -1
- package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/AppsSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowBottom.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowDown.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowTop.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUnsorted.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUp.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/Bug.cjs +1 -1
- package/dist/cjs/icons.generated/Bug.cjs.map +1 -1
- package/dist/cjs/icons.generated/Calendar.cjs +1 -1
- package/dist/cjs/icons.generated/Calendar.cjs.map +1 -1
- package/dist/cjs/icons.generated/Call.cjs +1 -1
- package/dist/cjs/icons.generated/Call.cjs.map +1 -1
- package/dist/cjs/icons.generated/Chat.cjs +1 -1
- package/dist/cjs/icons.generated/Chat.cjs.map +1 -1
- package/dist/cjs/icons.generated/Check.cjs +1 -1
- package/dist/cjs/icons.generated/Check.cjs.map +1 -1
- package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/CheckCircleFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronDown.cjs.map +1 -1
- package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronUp.cjs.map +1 -1
- package/dist/cjs/icons.generated/Clock.cjs +1 -1
- package/dist/cjs/icons.generated/Clock.cjs.map +1 -1
- package/dist/cjs/icons.generated/Close.cjs +1 -1
- package/dist/cjs/icons.generated/Close.cjs.map +1 -1
- package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/CloseCircleFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/Copy.cjs +1 -1
- package/dist/cjs/icons.generated/Copy.cjs.map +1 -1
- package/dist/cjs/icons.generated/Custom.cjs +1 -1
- package/dist/cjs/icons.generated/Custom.cjs.map +1 -1
- package/dist/cjs/icons.generated/Customizations.cjs +1 -1
- package/dist/cjs/icons.generated/Customizations.cjs.map +1 -1
- package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/CustomizationsSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamond.cjs.map +1 -1
- package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamondFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/Delete.cjs +1 -1
- package/dist/cjs/icons.generated/Delete.cjs.map +1 -1
- package/dist/cjs/icons.generated/Deny.cjs +1 -1
- package/dist/cjs/icons.generated/Deny.cjs.map +1 -1
- package/dist/cjs/icons.generated/Devices.cjs +1 -1
- package/dist/cjs/icons.generated/Devices.cjs.map +1 -1
- package/dist/cjs/icons.generated/Directory.cjs +1 -1
- package/dist/cjs/icons.generated/Directory.cjs.map +1 -1
- package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
- package/dist/cjs/icons.generated/DirectorySelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Documentation.cjs +1 -1
- package/dist/cjs/icons.generated/Documentation.cjs.map +1 -1
- package/dist/cjs/icons.generated/Download.cjs +1 -1
- package/dist/cjs/icons.generated/Download.cjs.map +1 -1
- package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
- package/dist/cjs/icons.generated/DragIndicator.cjs.map +1 -1
- package/dist/cjs/icons.generated/Duo.cjs +1 -1
- package/dist/cjs/icons.generated/Duo.cjs.map +1 -1
- package/dist/cjs/icons.generated/Edit.cjs +1 -1
- package/dist/cjs/icons.generated/Edit.cjs.map +1 -1
- package/dist/cjs/icons.generated/Email.cjs +1 -1
- package/dist/cjs/icons.generated/Email.cjs.map +1 -1
- package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandLeft.cjs.map +1 -1
- package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandRight.cjs.map +1 -1
- package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
- package/dist/cjs/icons.generated/ExternalLink.cjs.map +1 -1
- package/dist/cjs/icons.generated/Fido2.cjs +1 -1
- package/dist/cjs/icons.generated/Fido2.cjs.map +1 -1
- package/dist/cjs/icons.generated/Filter.cjs +1 -1
- package/dist/cjs/icons.generated/Filter.cjs.map +1 -1
- package/dist/cjs/icons.generated/Folder.cjs +1 -1
- package/dist/cjs/icons.generated/Folder.cjs.map +1 -1
- package/dist/cjs/icons.generated/Globe.cjs +1 -1
- package/dist/cjs/icons.generated/Globe.cjs.map +1 -1
- package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
- package/dist/cjs/icons.generated/GoogleAuth.cjs.map +1 -1
- package/dist/cjs/icons.generated/Grid.cjs +1 -1
- package/dist/cjs/icons.generated/Grid.cjs.map +1 -1
- package/dist/cjs/icons.generated/Group.cjs +1 -1
- package/dist/cjs/icons.generated/Group.cjs.map +1 -1
- package/dist/cjs/icons.generated/Happy.cjs +1 -1
- package/dist/cjs/icons.generated/Happy.cjs.map +1 -1
- package/dist/cjs/icons.generated/Hide.cjs +1 -1
- package/dist/cjs/icons.generated/Hide.cjs.map +1 -1
- package/dist/cjs/icons.generated/Home.cjs +1 -1
- package/dist/cjs/icons.generated/Home.cjs.map +1 -1
- package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
- package/dist/cjs/icons.generated/HomeSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernance.cjs.map +1 -1
- package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Idp.cjs +1 -1
- package/dist/cjs/icons.generated/Idp.cjs.map +1 -1
- package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircle.cjs.map +1 -1
- package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircleFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/Link.cjs +1 -1
- package/dist/cjs/icons.generated/Link.cjs.map +1 -1
- package/dist/cjs/icons.generated/List.cjs +1 -1
- package/dist/cjs/icons.generated/List.cjs.map +1 -1
- package/dist/cjs/icons.generated/Lock.cjs +1 -1
- package/dist/cjs/icons.generated/Lock.cjs.map +1 -1
- package/dist/cjs/icons.generated/Menu.cjs +1 -1
- package/dist/cjs/icons.generated/Menu.cjs.map +1 -1
- package/dist/cjs/icons.generated/More.cjs +1 -1
- package/dist/cjs/icons.generated/More.cjs.map +1 -1
- package/dist/cjs/icons.generated/Neutral.cjs +1 -1
- package/dist/cjs/icons.generated/Neutral.cjs.map +1 -1
- package/dist/cjs/icons.generated/Notification.cjs +1 -1
- package/dist/cjs/icons.generated/Notification.cjs.map +1 -1
- package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
- package/dist/cjs/icons.generated/OktaVerify.cjs.map +1 -1
- package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
- package/dist/cjs/icons.generated/OnPremMfa.cjs.map +1 -1
- package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
- package/dist/cjs/icons.generated/OneTimePassword.cjs.map +1 -1
- package/dist/cjs/icons.generated/Password.cjs +1 -1
- package/dist/cjs/icons.generated/Password.cjs.map +1 -1
- package/dist/cjs/icons.generated/Pause.cjs +1 -1
- package/dist/cjs/icons.generated/Pause.cjs.map +1 -1
- package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircle.cjs.map +1 -1
- package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircleFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/Refresh.cjs +1 -1
- package/dist/cjs/icons.generated/Refresh.cjs.map +1 -1
- package/dist/cjs/icons.generated/Reports.cjs +1 -1
- package/dist/cjs/icons.generated/Reports.cjs.map +1 -1
- package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/ReportsSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Reset.cjs +1 -1
- package/dist/cjs/icons.generated/Reset.cjs.map +1 -1
- package/dist/cjs/icons.generated/Resume.cjs +1 -1
- package/dist/cjs/icons.generated/Resume.cjs.map +1 -1
- package/dist/cjs/icons.generated/Sad.cjs +1 -1
- package/dist/cjs/icons.generated/Sad.cjs.map +1 -1
- package/dist/cjs/icons.generated/Same.cjs +1 -1
- package/dist/cjs/icons.generated/Same.cjs.map +1 -1
- package/dist/cjs/icons.generated/Search.cjs +1 -1
- package/dist/cjs/icons.generated/Search.cjs.map +1 -1
- package/dist/cjs/icons.generated/Security.cjs +1 -1
- package/dist/cjs/icons.generated/Security.cjs.map +1 -1
- package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
- package/dist/cjs/icons.generated/SecurityQuestion.cjs.map +1 -1
- package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
- package/dist/cjs/icons.generated/SecuritySelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Send.cjs +1 -1
- package/dist/cjs/icons.generated/Send.cjs.map +1 -1
- package/dist/cjs/icons.generated/Server.cjs +1 -1
- package/dist/cjs/icons.generated/Server.cjs.map +1 -1
- package/dist/cjs/icons.generated/Settings.cjs +1 -1
- package/dist/cjs/icons.generated/Settings.cjs.map +1 -1
- package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/SettingsSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Show.cjs +1 -1
- package/dist/cjs/icons.generated/Show.cjs.map +1 -1
- package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
- package/dist/cjs/icons.generated/SmartCard.cjs.map +1 -1
- package/dist/cjs/icons.generated/Sms.cjs +1 -1
- package/dist/cjs/icons.generated/Sms.cjs.map +1 -1
- package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
- package/dist/cjs/icons.generated/Sparkle.cjs.map +1 -1
- package/dist/cjs/icons.generated/Subtract.cjs +1 -1
- package/dist/cjs/icons.generated/Subtract.cjs.map +1 -1
- package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
- package/dist/cjs/icons.generated/SymantecVip.cjs.map +1 -1
- package/dist/cjs/icons.generated/Sync.cjs +1 -1
- package/dist/cjs/icons.generated/Sync.cjs.map +1 -1
- package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsDown.cjs.map +1 -1
- package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsUp.cjs.map +1 -1
- package/dist/cjs/icons.generated/Unlock.cjs +1 -1
- package/dist/cjs/icons.generated/Unlock.cjs.map +1 -1
- package/dist/cjs/icons.generated/Upload.cjs +1 -1
- package/dist/cjs/icons.generated/Upload.cjs.map +1 -1
- package/dist/cjs/icons.generated/User.cjs +1 -1
- package/dist/cjs/icons.generated/User.cjs.map +1 -1
- package/dist/cjs/icons.generated/Video.cjs +1 -1
- package/dist/cjs/icons.generated/Video.cjs.map +1 -1
- package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
- package/dist/cjs/icons.generated/VoiceCall.cjs.map +1 -1
- package/dist/cjs/icons.generated/Warning.cjs +1 -1
- package/dist/cjs/icons.generated/Warning.cjs.map +1 -1
- package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
- package/dist/cjs/icons.generated/WarningFilled.cjs.map +1 -1
- package/dist/cjs/icons.generated/Workflows.cjs +1 -1
- package/dist/cjs/icons.generated/Workflows.cjs.map +1 -1
- package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/WorkflowsSelected.cjs.map +1 -1
- package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
- package/dist/cjs/icons.generated/Yubikey.cjs.map +1 -1
- package/dist/cjs/labs/AppTile.cjs +1 -1
- package/dist/cjs/labs/AppTile.cjs.map +1 -1
- package/dist/cjs/labs/DataFilters.cjs +2 -2
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/labs/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataTable.cjs.map +1 -1
- package/dist/cjs/labs/DataTablePagination.cjs +1 -1
- package/dist/cjs/labs/DataTablePagination.cjs.map +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
- package/dist/cjs/labs/DataView/DataCard.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataView/DataTable.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
- package/dist/cjs/labs/DataView/DetailPanel.cjs.map +1 -1
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
- package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs +4 -2
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +2 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/Layout.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
- package/dist/cjs/labs/PaginatedTable.cjs +1 -1
- package/dist/cjs/labs/PaginatedTable.cjs.map +1 -1
- package/dist/cjs/labs/StaticTable.cjs +1 -1
- package/dist/cjs/labs/StaticTable.cjs.map +1 -1
- package/dist/cjs/labs/UserProfile.cjs +1 -1
- package/dist/cjs/labs/UserProfile.cjs.map +1 -1
- package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
- package/dist/cjs/labs/UserProfileMenuButton.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +7 -5
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +3 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
- package/dist/cjs/ui-shell/InnerAppContainer.cjs.map +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +1 -1
- 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/NavAccordion.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
- package/dist/cjs/ui-shell/UiShellLogo.cjs.map +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/useAutocomplete.cjs +4 -1
- package/dist/cjs/useAutocomplete.cjs.map +1 -1
- 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/Accordion.js.map +1 -1
- package/dist/esm/Autocomplete.js +2 -1
- package/dist/esm/Autocomplete.js.map +1 -1
- package/dist/esm/Badge.js +1 -1
- package/dist/esm/Badge.js.map +1 -1
- package/dist/esm/Banner.js +1 -1
- package/dist/esm/Banner.js.map +1 -1
- package/dist/esm/Box.js +1 -1
- package/dist/esm/Box.js.map +1 -1
- package/dist/esm/Breadcrumbs.js +1 -1
- package/dist/esm/Breadcrumbs.js.map +1 -1
- package/dist/esm/Buttons/BaseButton.js +1 -1
- package/dist/esm/Buttons/BaseButton.js.map +1 -1
- package/dist/esm/Buttons/BaseMenuButton.js +1 -1
- package/dist/esm/Buttons/BaseMenuButton.js.map +1 -1
- package/dist/esm/Buttons/Button.js +1 -1
- package/dist/esm/Buttons/Button.js.map +1 -1
- package/dist/esm/Buttons/MenuButton.js +1 -1
- package/dist/esm/Buttons/MenuButton.js.map +1 -1
- package/dist/esm/Buttons/MenuItem.js +1 -1
- package/dist/esm/Buttons/MenuItem.js.map +1 -1
- package/dist/esm/Callout.js +1 -1
- package/dist/esm/Callout.js.map +1 -1
- package/dist/esm/Card.js +1 -1
- package/dist/esm/Card.js.map +1 -1
- package/dist/esm/CircularProgress.js +1 -1
- package/dist/esm/CircularProgress.js.map +1 -1
- package/dist/esm/ConditionalWrapper.js +1 -1
- package/dist/esm/ConditionalWrapper.js.map +1 -1
- package/dist/esm/DataTable/DataTable.js +1 -1
- package/dist/esm/DataTable/DataTable.js.map +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
- package/dist/esm/DataTable/DataTableSettings.js +1 -1
- package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
- package/dist/esm/DatePickers/DateField.js +4 -2
- package/dist/esm/DatePickers/DateField.js.map +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
- package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
- package/dist/esm/DatePickers/DateFieldLocalizationProvider.js.map +1 -1
- package/dist/esm/DatePickers/DatePicker.js +1 -1
- package/dist/esm/DatePickers/DatePicker.js.map +1 -1
- package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
- package/dist/esm/DatePickers/TimeZonePicker.js.map +1 -1
- package/dist/esm/Dialog.js +1 -1
- package/dist/esm/Dialog.js.map +1 -1
- package/dist/esm/Drawer.js +1 -1
- package/dist/esm/Drawer.js.map +1 -1
- package/dist/esm/EmptyState.js +1 -1
- package/dist/esm/EmptyState.js.map +1 -1
- package/dist/esm/ErrorMessageList.js +1 -1
- package/dist/esm/ErrorMessageList.js.map +1 -1
- package/dist/esm/Field.js +1 -1
- package/dist/esm/Field.js.map +1 -1
- package/dist/esm/FieldError.js +1 -1
- package/dist/esm/FieldError.js.map +1 -1
- package/dist/esm/FieldHint.js +1 -1
- package/dist/esm/FieldHint.js.map +1 -1
- package/dist/esm/FieldLabel.js +1 -1
- package/dist/esm/FieldLabel.js.map +1 -1
- package/dist/esm/Fields/Checkbox.js +1 -1
- package/dist/esm/Fields/Checkbox.js.map +1 -1
- package/dist/esm/Fields/CheckboxGroup.js +1 -1
- package/dist/esm/Fields/CheckboxGroup.js.map +1 -1
- package/dist/esm/Fields/Radio.js +2 -2
- package/dist/esm/Fields/Radio.js.map +1 -1
- package/dist/esm/Fields/RadioGroup.js +1 -1
- package/dist/esm/Fields/RadioGroup.js.map +1 -1
- package/dist/esm/Fieldset.js +1 -1
- package/dist/esm/Fieldset.js.map +1 -1
- package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
- package/dist/esm/FileUploader/FileUploadIllustration.js.map +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js.map +1 -1
- package/dist/esm/FileUploader/FileUploader.js +1 -1
- package/dist/esm/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/Form.js +1 -1
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FullScreenOverlay.js +1 -1
- package/dist/esm/FullScreenOverlay.js.map +1 -1
- package/dist/esm/FullScreenOverlayContext.js +1 -1
- package/dist/esm/FullScreenOverlayContext.js.map +1 -1
- package/dist/esm/HintLink.js +1 -1
- package/dist/esm/HintLink.js.map +1 -1
- package/dist/esm/IconWithTooltip.js +1 -1
- package/dist/esm/IconWithTooltip.js.map +1 -1
- package/dist/esm/Link.js +1 -1
- package/dist/esm/Link.js.map +1 -1
- package/dist/esm/MuiPropsChild.js +1 -1
- package/dist/esm/MuiPropsChild.js.map +1 -1
- package/dist/esm/NativeSelect.js +1 -1
- package/dist/esm/NativeSelect.js.map +1 -1
- package/dist/esm/OdysseyCacheProvider.js +1 -1
- package/dist/esm/OdysseyCacheProvider.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +1 -1
- package/dist/esm/OdysseyProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProvider.js +1 -1
- package/dist/esm/OdysseyThemeProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
- package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -1
- package/dist/esm/Pagination/Pagination.js +1 -1
- package/dist/esm/Pagination/Pagination.js.map +1 -1
- package/dist/esm/PasswordField.js +3 -1
- package/dist/esm/PasswordField.js.map +1 -1
- package/dist/esm/ScreenReaderText.js +1 -1
- package/dist/esm/ScreenReaderText.js.map +1 -1
- package/dist/esm/SearchField.js +1 -1
- package/dist/esm/SearchField.js.map +1 -1
- package/dist/esm/Select.js +4 -2
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/Stack.js +1 -1
- package/dist/esm/Stack.js.map +1 -1
- package/dist/esm/Status.js +1 -1
- package/dist/esm/Status.js.map +1 -1
- package/dist/esm/Surface.js +1 -1
- package/dist/esm/Surface.js.map +1 -1
- package/dist/esm/Switch.js +3 -2
- package/dist/esm/Switch.js.map +1 -1
- package/dist/esm/Tabs.js +1 -1
- package/dist/esm/Tabs.js.map +1 -1
- package/dist/esm/Tag.js +1 -1
- package/dist/esm/Tag.js.map +1 -1
- package/dist/esm/TagList.js +1 -1
- package/dist/esm/TagList.js.map +1 -1
- package/dist/esm/TextField.js +11 -3
- package/dist/esm/TextField.js.map +1 -1
- package/dist/esm/Toast.js +1 -1
- package/dist/esm/Toast.js.map +1 -1
- package/dist/esm/ToastStack.js +1 -1
- package/dist/esm/ToastStack.js.map +1 -1
- package/dist/esm/Tooltip.js +1 -1
- package/dist/esm/Tooltip.js.map +1 -1
- package/dist/esm/Typography.js +12 -12
- package/dist/esm/Typography.js.map +1 -1
- package/dist/esm/icons.generated/Add.js +1 -1
- package/dist/esm/icons.generated/Add.js.map +1 -1
- package/dist/esm/icons.generated/AddCircle.js +1 -1
- package/dist/esm/icons.generated/AddCircle.js.map +1 -1
- package/dist/esm/icons.generated/Apps.js +1 -1
- package/dist/esm/icons.generated/Apps.js.map +1 -1
- package/dist/esm/icons.generated/AppsSelected.js +1 -1
- package/dist/esm/icons.generated/AppsSelected.js.map +1 -1
- package/dist/esm/icons.generated/ArrowBottom.js +1 -1
- package/dist/esm/icons.generated/ArrowBottom.js.map +1 -1
- package/dist/esm/icons.generated/ArrowDown.js +1 -1
- package/dist/esm/icons.generated/ArrowDown.js.map +1 -1
- package/dist/esm/icons.generated/ArrowLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLeft.js.map +1 -1
- package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerLeft.js.map +1 -1
- package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerRight.js.map +1 -1
- package/dist/esm/icons.generated/ArrowRight.js +1 -1
- package/dist/esm/icons.generated/ArrowRight.js.map +1 -1
- package/dist/esm/icons.generated/ArrowTop.js +1 -1
- package/dist/esm/icons.generated/ArrowTop.js.map +1 -1
- package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
- package/dist/esm/icons.generated/ArrowUnsorted.js.map +1 -1
- package/dist/esm/icons.generated/ArrowUp.js +1 -1
- package/dist/esm/icons.generated/ArrowUp.js.map +1 -1
- package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperLeft.js.map +1 -1
- package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperRight.js.map +1 -1
- package/dist/esm/icons.generated/Bug.js +1 -1
- package/dist/esm/icons.generated/Bug.js.map +1 -1
- package/dist/esm/icons.generated/Calendar.js +1 -1
- package/dist/esm/icons.generated/Calendar.js.map +1 -1
- package/dist/esm/icons.generated/Call.js +1 -1
- package/dist/esm/icons.generated/Call.js.map +1 -1
- package/dist/esm/icons.generated/Chat.js +1 -1
- package/dist/esm/icons.generated/Chat.js.map +1 -1
- package/dist/esm/icons.generated/Check.js +1 -1
- package/dist/esm/icons.generated/Check.js.map +1 -1
- package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
- package/dist/esm/icons.generated/CheckCircleFilled.js.map +1 -1
- package/dist/esm/icons.generated/ChevronDown.js +1 -1
- package/dist/esm/icons.generated/ChevronDown.js.map +1 -1
- package/dist/esm/icons.generated/ChevronLeft.js +1 -1
- package/dist/esm/icons.generated/ChevronLeft.js.map +1 -1
- package/dist/esm/icons.generated/ChevronRight.js +1 -1
- package/dist/esm/icons.generated/ChevronRight.js.map +1 -1
- package/dist/esm/icons.generated/ChevronUp.js +1 -1
- package/dist/esm/icons.generated/ChevronUp.js.map +1 -1
- package/dist/esm/icons.generated/Clock.js +1 -1
- package/dist/esm/icons.generated/Clock.js.map +1 -1
- package/dist/esm/icons.generated/Close.js +1 -1
- package/dist/esm/icons.generated/Close.js.map +1 -1
- package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
- package/dist/esm/icons.generated/CloseCircleFilled.js.map +1 -1
- package/dist/esm/icons.generated/CollapseLeft.js +1 -1
- package/dist/esm/icons.generated/CollapseLeft.js.map +1 -1
- package/dist/esm/icons.generated/CollapseRight.js +1 -1
- package/dist/esm/icons.generated/CollapseRight.js.map +1 -1
- package/dist/esm/icons.generated/Copy.js +1 -1
- package/dist/esm/icons.generated/Copy.js.map +1 -1
- package/dist/esm/icons.generated/Custom.js +1 -1
- package/dist/esm/icons.generated/Custom.js.map +1 -1
- package/dist/esm/icons.generated/Customizations.js +1 -1
- package/dist/esm/icons.generated/Customizations.js.map +1 -1
- package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
- package/dist/esm/icons.generated/CustomizationsSelected.js.map +1 -1
- package/dist/esm/icons.generated/DangerDiamond.js +1 -1
- package/dist/esm/icons.generated/DangerDiamond.js.map +1 -1
- package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
- package/dist/esm/icons.generated/DangerDiamondFilled.js.map +1 -1
- package/dist/esm/icons.generated/Delete.js +1 -1
- package/dist/esm/icons.generated/Delete.js.map +1 -1
- package/dist/esm/icons.generated/Deny.js +1 -1
- package/dist/esm/icons.generated/Deny.js.map +1 -1
- package/dist/esm/icons.generated/Devices.js +1 -1
- package/dist/esm/icons.generated/Devices.js.map +1 -1
- package/dist/esm/icons.generated/Directory.js +1 -1
- package/dist/esm/icons.generated/Directory.js.map +1 -1
- package/dist/esm/icons.generated/DirectorySelected.js +1 -1
- package/dist/esm/icons.generated/DirectorySelected.js.map +1 -1
- package/dist/esm/icons.generated/Documentation.js +1 -1
- package/dist/esm/icons.generated/Documentation.js.map +1 -1
- package/dist/esm/icons.generated/Download.js +1 -1
- package/dist/esm/icons.generated/Download.js.map +1 -1
- package/dist/esm/icons.generated/DragIndicator.js +1 -1
- package/dist/esm/icons.generated/DragIndicator.js.map +1 -1
- package/dist/esm/icons.generated/Duo.js +1 -1
- package/dist/esm/icons.generated/Duo.js.map +1 -1
- package/dist/esm/icons.generated/Edit.js +1 -1
- package/dist/esm/icons.generated/Edit.js.map +1 -1
- package/dist/esm/icons.generated/Email.js +1 -1
- package/dist/esm/icons.generated/Email.js.map +1 -1
- package/dist/esm/icons.generated/ExpandLeft.js +1 -1
- package/dist/esm/icons.generated/ExpandLeft.js.map +1 -1
- package/dist/esm/icons.generated/ExpandRight.js +1 -1
- package/dist/esm/icons.generated/ExpandRight.js.map +1 -1
- package/dist/esm/icons.generated/ExternalLink.js +1 -1
- package/dist/esm/icons.generated/ExternalLink.js.map +1 -1
- package/dist/esm/icons.generated/Fido2.js +1 -1
- package/dist/esm/icons.generated/Fido2.js.map +1 -1
- package/dist/esm/icons.generated/Filter.js +1 -1
- package/dist/esm/icons.generated/Filter.js.map +1 -1
- package/dist/esm/icons.generated/Folder.js +1 -1
- package/dist/esm/icons.generated/Folder.js.map +1 -1
- package/dist/esm/icons.generated/Globe.js +1 -1
- package/dist/esm/icons.generated/Globe.js.map +1 -1
- package/dist/esm/icons.generated/GoogleAuth.js +1 -1
- package/dist/esm/icons.generated/GoogleAuth.js.map +1 -1
- package/dist/esm/icons.generated/Grid.js +1 -1
- package/dist/esm/icons.generated/Grid.js.map +1 -1
- package/dist/esm/icons.generated/Group.js +1 -1
- package/dist/esm/icons.generated/Group.js.map +1 -1
- package/dist/esm/icons.generated/Happy.js +1 -1
- package/dist/esm/icons.generated/Happy.js.map +1 -1
- package/dist/esm/icons.generated/Hide.js +1 -1
- package/dist/esm/icons.generated/Hide.js.map +1 -1
- package/dist/esm/icons.generated/Home.js +1 -1
- package/dist/esm/icons.generated/Home.js.map +1 -1
- package/dist/esm/icons.generated/HomeSelected.js +1 -1
- package/dist/esm/icons.generated/HomeSelected.js.map +1 -1
- package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernance.js.map +1 -1
- package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernanceSelected.js.map +1 -1
- package/dist/esm/icons.generated/Idp.js +1 -1
- package/dist/esm/icons.generated/Idp.js.map +1 -1
- package/dist/esm/icons.generated/InformationCircle.js +1 -1
- package/dist/esm/icons.generated/InformationCircle.js.map +1 -1
- package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
- package/dist/esm/icons.generated/InformationCircleFilled.js.map +1 -1
- package/dist/esm/icons.generated/Link.js +1 -1
- package/dist/esm/icons.generated/Link.js.map +1 -1
- package/dist/esm/icons.generated/List.js +1 -1
- package/dist/esm/icons.generated/List.js.map +1 -1
- package/dist/esm/icons.generated/Lock.js +1 -1
- package/dist/esm/icons.generated/Lock.js.map +1 -1
- package/dist/esm/icons.generated/Menu.js +1 -1
- package/dist/esm/icons.generated/Menu.js.map +1 -1
- package/dist/esm/icons.generated/More.js +1 -1
- package/dist/esm/icons.generated/More.js.map +1 -1
- package/dist/esm/icons.generated/Neutral.js +1 -1
- package/dist/esm/icons.generated/Neutral.js.map +1 -1
- package/dist/esm/icons.generated/Notification.js +1 -1
- package/dist/esm/icons.generated/Notification.js.map +1 -1
- package/dist/esm/icons.generated/OktaVerify.js +1 -1
- package/dist/esm/icons.generated/OktaVerify.js.map +1 -1
- package/dist/esm/icons.generated/OnPremMfa.js +1 -1
- package/dist/esm/icons.generated/OnPremMfa.js.map +1 -1
- package/dist/esm/icons.generated/OneTimePassword.js +1 -1
- package/dist/esm/icons.generated/OneTimePassword.js.map +1 -1
- package/dist/esm/icons.generated/Password.js +1 -1
- package/dist/esm/icons.generated/Password.js.map +1 -1
- package/dist/esm/icons.generated/Pause.js +1 -1
- package/dist/esm/icons.generated/Pause.js.map +1 -1
- package/dist/esm/icons.generated/QuestionCircle.js +1 -1
- package/dist/esm/icons.generated/QuestionCircle.js.map +1 -1
- package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
- package/dist/esm/icons.generated/QuestionCircleFilled.js.map +1 -1
- package/dist/esm/icons.generated/Refresh.js +1 -1
- package/dist/esm/icons.generated/Refresh.js.map +1 -1
- package/dist/esm/icons.generated/Reports.js +1 -1
- package/dist/esm/icons.generated/Reports.js.map +1 -1
- package/dist/esm/icons.generated/ReportsSelected.js +1 -1
- package/dist/esm/icons.generated/ReportsSelected.js.map +1 -1
- package/dist/esm/icons.generated/Reset.js +1 -1
- package/dist/esm/icons.generated/Reset.js.map +1 -1
- package/dist/esm/icons.generated/Resume.js +1 -1
- package/dist/esm/icons.generated/Resume.js.map +1 -1
- package/dist/esm/icons.generated/Sad.js +1 -1
- package/dist/esm/icons.generated/Sad.js.map +1 -1
- package/dist/esm/icons.generated/Same.js +1 -1
- package/dist/esm/icons.generated/Same.js.map +1 -1
- package/dist/esm/icons.generated/Search.js +1 -1
- package/dist/esm/icons.generated/Search.js.map +1 -1
- package/dist/esm/icons.generated/Security.js +1 -1
- package/dist/esm/icons.generated/Security.js.map +1 -1
- package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
- package/dist/esm/icons.generated/SecurityQuestion.js.map +1 -1
- package/dist/esm/icons.generated/SecuritySelected.js +1 -1
- package/dist/esm/icons.generated/SecuritySelected.js.map +1 -1
- package/dist/esm/icons.generated/Send.js +1 -1
- package/dist/esm/icons.generated/Send.js.map +1 -1
- package/dist/esm/icons.generated/Server.js +1 -1
- package/dist/esm/icons.generated/Server.js.map +1 -1
- package/dist/esm/icons.generated/Settings.js +1 -1
- package/dist/esm/icons.generated/Settings.js.map +1 -1
- package/dist/esm/icons.generated/SettingsSelected.js +1 -1
- package/dist/esm/icons.generated/SettingsSelected.js.map +1 -1
- package/dist/esm/icons.generated/Show.js +1 -1
- package/dist/esm/icons.generated/Show.js.map +1 -1
- package/dist/esm/icons.generated/SmartCard.js +1 -1
- package/dist/esm/icons.generated/SmartCard.js.map +1 -1
- package/dist/esm/icons.generated/Sms.js +1 -1
- package/dist/esm/icons.generated/Sms.js.map +1 -1
- package/dist/esm/icons.generated/Sparkle.js +1 -1
- package/dist/esm/icons.generated/Sparkle.js.map +1 -1
- package/dist/esm/icons.generated/Subtract.js +1 -1
- package/dist/esm/icons.generated/Subtract.js.map +1 -1
- package/dist/esm/icons.generated/SymantecVip.js +1 -1
- package/dist/esm/icons.generated/SymantecVip.js.map +1 -1
- package/dist/esm/icons.generated/Sync.js +1 -1
- package/dist/esm/icons.generated/Sync.js.map +1 -1
- package/dist/esm/icons.generated/ThumbsDown.js +1 -1
- package/dist/esm/icons.generated/ThumbsDown.js.map +1 -1
- package/dist/esm/icons.generated/ThumbsUp.js +1 -1
- package/dist/esm/icons.generated/ThumbsUp.js.map +1 -1
- package/dist/esm/icons.generated/Unlock.js +1 -1
- package/dist/esm/icons.generated/Unlock.js.map +1 -1
- package/dist/esm/icons.generated/Upload.js +1 -1
- package/dist/esm/icons.generated/Upload.js.map +1 -1
- package/dist/esm/icons.generated/User.js +1 -1
- package/dist/esm/icons.generated/User.js.map +1 -1
- package/dist/esm/icons.generated/Video.js +1 -1
- package/dist/esm/icons.generated/Video.js.map +1 -1
- package/dist/esm/icons.generated/VoiceCall.js +1 -1
- package/dist/esm/icons.generated/VoiceCall.js.map +1 -1
- package/dist/esm/icons.generated/Warning.js +1 -1
- package/dist/esm/icons.generated/Warning.js.map +1 -1
- package/dist/esm/icons.generated/WarningFilled.js +1 -1
- package/dist/esm/icons.generated/WarningFilled.js.map +1 -1
- package/dist/esm/icons.generated/Workflows.js +1 -1
- package/dist/esm/icons.generated/Workflows.js.map +1 -1
- package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
- package/dist/esm/icons.generated/WorkflowsSelected.js.map +1 -1
- package/dist/esm/icons.generated/Yubikey.js +1 -1
- package/dist/esm/icons.generated/Yubikey.js.map +1 -1
- package/dist/esm/labs/AppTile.js +1 -1
- package/dist/esm/labs/AppTile.js.map +1 -1
- package/dist/esm/labs/DataFilters.js +2 -2
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataTable.js +1 -1
- package/dist/esm/labs/DataTable.js.map +1 -1
- package/dist/esm/labs/DataTablePagination.js +1 -1
- package/dist/esm/labs/DataTablePagination.js.map +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
- package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
- package/dist/esm/labs/DataView/CardLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/DataCard.js +1 -1
- package/dist/esm/labs/DataView/DataCard.js.map +1 -1
- package/dist/esm/labs/DataView/DataTable.js +1 -1
- package/dist/esm/labs/DataView/DataTable.js.map +1 -1
- package/dist/esm/labs/DataView/DataView.js +1 -1
- package/dist/esm/labs/DataView/DataView.js.map +1 -1
- package/dist/esm/labs/DataView/DetailPanel.js +1 -1
- package/dist/esm/labs/DataView/DetailPanel.js.map +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
- package/dist/esm/labs/DataView/RowActions.js +1 -1
- package/dist/esm/labs/DataView/RowActions.js.map +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/TableSettings.js +1 -1
- package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimeField.js +4 -2
- package/dist/esm/labs/DatePickers/DateTimeField.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +2 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/Picker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js.map +1 -1
- package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
- package/dist/esm/labs/PageTemplate/DocumentationLink.js.map +1 -1
- package/dist/esm/labs/PageTemplate/Layout.js +1 -1
- package/dist/esm/labs/PageTemplate/Layout.js.map +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/esm/labs/PaginatedTable.js +1 -1
- package/dist/esm/labs/PaginatedTable.js.map +1 -1
- package/dist/esm/labs/StaticTable.js +1 -1
- package/dist/esm/labs/StaticTable.js.map +1 -1
- package/dist/esm/labs/UserProfile.js +1 -1
- package/dist/esm/labs/UserProfile.js.map +1 -1
- package/dist/esm/labs/UserProfileMenuButton.js +1 -1
- package/dist/esm/labs/UserProfileMenuButton.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js +7 -5
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js +3 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
- package/dist/esm/ui-shell/InnerAppContainer.js.map +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +1 -1
- 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/NavAccordion.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavLinksList.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavListItem.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +1 -1
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/UiShellLogo.js +1 -1
- package/dist/esm/ui-shell/UiShellLogo.js.map +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/useAutocomplete.js +4 -1
- package/dist/esm/useAutocomplete.js.map +1 -1
- 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/Autocomplete.d.ts.map +1 -1
- package/dist/types/DatePickers/DateField.d.ts.map +1 -1
- package/dist/types/PasswordField.d.ts.map +1 -1
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/Switch.d.ts.map +1 -1
- package/dist/types/TextField.d.ts +24 -0
- package/dist/types/TextField.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.resources.d.ts +62 -6
- package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
- package/dist/types/labs/DatePickers/DateTimeField.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +7 -5
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +3 -1
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
- package/dist/types/useAutocomplete.d.ts +2 -2
- package/dist/types/useAutocomplete.d.ts.map +1 -1
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/package.json +8 -7
- package/CHANGELOG.md +0 -63
- package/dist/index.cjs +0 -231
- package/dist/index.d.ts +0 -233
- package/dist/index.d.ts.map +0 -1
- package/dist/index.es.js +0 -3173
- package/dist/index.es.js.map +0 -1
- package/dist/index.iife.js +0 -9
- package/dist/index.iife.js.map +0 -1
- package/dist/index.js +0 -25
- package/dist/index.mjs +0 -229
- package/dist/index.scss +0 -549
- package/dist/index.umd.cjs +0 -9
- package/dist/index.umd.cjs.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/getTranslationServices.browser.test.d.ts +0 -1
- package/dist/types/getTranslationServices.browser.test.js +0 -88
- package/dist/types/getTranslationServices.browser.test.js.map +0 -1
- package/dist/types/getTranslationServices.d.ts +0 -89
- package/dist/types/getTranslationServices.js +0 -77
- package/dist/types/getTranslationServices.js.map +0 -1
- package/dist/types/getTypedObjectEntries.d.ts +0 -1
- package/dist/types/getTypedObjectEntries.js +0 -2
- package/dist/types/getTypedObjectEntries.js.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/translationServices.types.d.ts +0 -2
- package/dist/types/translationServices.types.js +0 -34
- package/dist/types/translationServices.types.js.map +0 -1
- package/dist/types/tsconfig.tsbuildinfo +0 -1
- package/ok.yaml +0 -1
- package/src/getTranslationServices.browser.test.tsx +0 -173
- package/src/getTranslationServices.tsx +0 -288
- package/src/getTypedObjectEntries.ts +0 -3
- package/src/index.ts +0 -2
- package/src/translationServices.types.ts +0 -36
- package/src/tsconfig.json +0 -7
- package/tsconfig.json +0 -41
- package/vite.config.project.ts +0 -61
- package/vite.config.ts +0 -21
- package/vite.config.ts.bak +0 -33
- package/vitest-browser-setup.ts +0 -14
- package/vitest-jsdom-setup.ts +0 -13
- package/vitest-node-setup.ts +0 -13
- package/vitest.config.project.ts +0 -16
- package/vitest.config.ts +0 -27
- package/vitest.config.ts.bak +0 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataFilters.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","Autocomplete","Box","Button","Checkbox","CheckboxGroup","Radio","RadioGroup","Trans","useTranslation","CheckIcon","ChevronRightIcon","CloseCircleFilledIcon","FilterIcon","useOdysseyDesignTokens","SearchField","Tag","TagList","TextField","Subordinate","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAutocompleteOuterContainer","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","children","map","chip","onRemove","MemoizedFilterTags","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","setFilters","t","initialInputValues","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","ariaControls","ariaExpanded","ariaHasPopup","ariaLabel","endIcon","onClick","event","currentTarget","variant","_Menu","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography","fontWeight","marginBlockEnd","component","i18nKey","values","toLowerCase","count","autoCompleteValue","maxWidth","_Popover","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","hasMultipleChoices","isCustomValueAllowed","onChange","_","type","endAdornment","_IconButton","size","hasInitialFocus","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","isChecked","style","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters"],"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.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","Autocomplete","Box","Button","Checkbox","CheckboxGroup","Radio","RadioGroup","Trans","useTranslation","CheckIcon","ChevronRightIcon","CloseCircleFilledIcon","FilterIcon","useOdysseyDesignTokens","SearchField","Tag","TagList","TextField","Subordinate","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAutocompleteOuterContainer","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","children","map","chip","onRemove","MemoizedFilterTags","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","setFilters","t","initialInputValues","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","ariaControls","ariaExpanded","ariaHasPopup","ariaLabel","endIcon","onClick","event","currentTarget","variant","_Menu","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography","fontWeight","marginBlockEnd","component","i18nKey","values","toLowerCase","count","autoCompleteValue","maxWidth","_Popover","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","hasMultipleChoices","isCustomValueAllowed","onChange","_","type","endAdornment","_IconButton","size","hasInitialFocus","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","isChecked","style","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters"],"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":[]}
|
|
@@ -473,6 +473,6 @@ const DataTable = ({
|
|
|
473
473
|
});
|
|
474
474
|
};
|
|
475
475
|
const MemoizedDataTable = memo(DataTable);
|
|
476
|
-
MemoizedDataTable.displayName = "DataTable";
|
|
476
|
+
MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.57.0";
|
|
477
477
|
export { MemoizedDataTable as DataTable };
|
|
478
478
|
//# sourceMappingURL=DataTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["MRT_TableContainer","useMaterialReactTable","memo","useCallback","useEffect","useMemo","useRef","useState","Box","MenuButton","MenuItem","useTranslation","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUnsortedIcon","ArrowUpIcon","DragIndicatorIcon","ListIcon","MoreIcon","ShowIcon","useOdysseyDesignTokens","DataFilters","DataTablePagination","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","densityValues","reorderDataRowsLocally","currentData","rowId","newIndex","updatedData","rowIndex","findIndex","row","id","removedRow","splice","DataTable","columns","data","dataProp","getRowId","page","pageProp","initialDensity","resultsPerPage","resultsPerPageProp","fetchDataFn","reorderDataFn","totalRows","hasSearchSubmitButton","searchDelayTime","paginationType","onRowSelectionChange","rowActionButtons","rowActionMenuItems","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSorting","odysseyDesignTokens","t","draggingRow","setDraggingRow","showSkeletons","setShowSkeletons","setData","setPage","setResultsPerPage","rowSelection","setRowSelection","sorting","setSorting","density","setDensity","initialColumnVisibility","reduce","acc","column","accessorKey","columnVisibility","setColumnVisibility","globalFilter","setGlobalFilter","filters","setFilters","refreshData","newData","sort","search","Promise","error","console","handleSortingChange","updater","prevSorting","Function","handleColumnVisibility","columnId","prevVisibility","handleSearch","value","handleFilters","updatedFilters","handleRowSelectionChange","prevRowSelection","updateRowOrder","rowVirtualizerInstanceRef","setHoveredRow","table","nextRow","getRow","resetDraggingAndHoveredRow","handleDragHandleKeyDown","event","hoveredRow","getState","key","isSpaceKey","isEnterKey","isEscapeKey","isArrowDown","isArrowUp","isSpaceOrEnter","zeroIndexedPageNumber","currentIndex","index","preventDefault","stopPropagation","pageRelativeIndex","setTimeout","TransitionDurationMainAsNumber","nextIndex","handleDragHandleOnDragEnd","cols","getAllColumns","toggleVisibility","handleDragHandleOnDragCapture","tableState","state","rowVirtualizerOptions","overscan","enableRowVirtualization","enableColumnResizing","enableDensityToggle","enableFullScreenToggle","enablePagination","enableRowSelection","enableFilters","enableHiding","enableRowOrdering","enableRowDragging","enableSorting","selectAllMode","enableColumnActions","layoutMode","displayColumnDefOptions","muiTableBodyCellProps","align","sx","overflow","width","muiTableHeadCellProps","header","minWidth","enableGlobalFilter","manualFiltering","manualSorting","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","onSortingChange","enableRowActions","positionActionsColumn","className","find","item","muiTableBodyRowProps","undefined","muiRowDragHandleProps","title","onKeyDown","onBlur","onDragEnd","onDragCapture","padding","Spacing1","borderRadius","BorderRadiusMain","boxShadow","HueNeutralWhite","PalettePrimaryMain","outline","outlineOffset","renderRowActions","display","children","original","ariaLabel","buttonVariant","endIcon","menuAlignment","size","isDisabled","onClick","tableSettings","shouldCloseOnSelect","map","isSelected","charAt","toUpperCase","slice","filter","_Checkbox","checked","flexDirection","gap","additionalActions","enableColumnFilter","label","variant","filterVariant","options","filterSelectOptions","onChangeFilters","onChangeSearch","currentNumberOfResults","length","currentPage","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","MemoizedDataTable","displayName"],"sources":["../../../src/labs/DataTable.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 { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport {\n MRT_ColumnDef,\n MRT_DensityState,\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_RowVirtualizer,\n MRT_SortingState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n MRT_Updater,\n MRT_VisibilityState,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport {\n Fragment,\n KeyboardEvent,\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { MenuButton } from \"../Buttons/MenuButton.js\";\nimport { MenuItem } from \"../Buttons/MenuItem.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUnsortedIcon,\n ArrowUpIcon,\n DragIndicatorIcon,\n ListIcon,\n MoreIcon,\n ShowIcon,\n} from \"../icons.generated/index.js\";\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext.js\";\nimport { DataFilter, DataFilters } from \"./DataFilters.js\";\nimport {\n DataTablePagination,\n paginationTypeValues,\n} from \"./DataTablePagination.js\";\n\nexport const densityValues = [\"comfortable\", \"spacious\", \"compact\"] as const;\n\nexport type {\n MRT_ColumnFiltersState,\n MRT_SortingState,\n MRT_ColumnDef as TableColumn,\n} from \"material-react-table\";\n\n// The shape of the table columns,\n// with props named to match their MRT_ColumnDef counterparts\nexport type DataTableColumn<TData extends MRT_RowData> = {\n /**\n * The unique ID of the column\n */\n accessorKey: string;\n /**\n * Customize the way each cell in the column is\n * displayed via a custom React component.\n */\n Cell?: MRT_ColumnDef<TData>[\"Cell\"];\n /**\n * If set to false, the column won't be filterable\n */\n enableColumnFilter?: boolean;\n /**\n * If set to false, the column won't be searchable\n */\n enableGlobalFilter?: boolean;\n /**\n * If set to false, the column won't be hidable\n */\n enableHiding?: boolean;\n /**\n * If set to false, the column won't be resizable\n */\n enableResizing?: boolean;\n /**\n * If set to false, the column won't be sortable\n */\n enableSorting?: boolean;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n filterSelectOptions?: Array<{ label: string; value: string }>;\n /**\n * The UI control that will be used to filter the column.\n * Defaults to a standard text input.\n */\n filterVariant?: MRT_ColumnDef<TData>[\"filterVariant\"];\n /**\n * The human-friendly title of the column\n */\n header: string;\n /**\n * The maximum column width, in pixels\n */\n maxSize?: number;\n /**\n * The minimum column width, in pixels\n */\n minSize?: number;\n /**\n * The optional column width, in pixels\n */\n size?: number;\n};\n\nexport type DataTableProps<TData extends MRT_RowData> = {\n /**\n * The columns that make up the table\n */\n columns: DataTableColumn<TData>[];\n /**\n * The data that goes into the table, which will be displayed\n * as the table rows\n */\n data: MRT_TableOptions<TData>[\"data\"];\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n fetchDataFn: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n }) =>\n | MRT_TableOptions<TData>[\"data\"]\n | Promise<MRT_TableOptions<TData>[\"data\"]>;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<TData>[\"getRowId\"];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * The initial density of the table. This is available even if the table density\n * isn't changeable.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onRowSelectionChange?: (rowSelection: MRT_RowSelectionState) => void;\n /**\n * The current page number.\n */\n page?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propagate order change to the backend.\n */\n reorderDataFn?: ({\n rowId,\n newIndex,\n }: {\n newIndex: number;\n rowId: string;\n }) => void;\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: (\n row: TData,\n ) => ReactElement<typeof Button | typeof Fragment>;\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: (\n row: TData,\n ) => ReactElement<typeof MenuItem | typeof Fragment>;\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 * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n};\n\ntype TableType<TData extends MRT_RowData> = MRT_TableInstance<TData>;\n\nconst reorderDataRowsLocally = <TData extends MRT_RowData>({\n currentData,\n rowId,\n newIndex,\n}: {\n currentData: MRT_TableOptions<TData>[\"data\"];\n newIndex: number;\n rowId: string;\n}) => {\n const updatedData = [...currentData];\n\n const rowIndex = updatedData.findIndex((row) => row.id === rowId);\n\n if (rowIndex !== -1) {\n // Remove the row from its current position\n const [removedRow] = updatedData.splice(rowIndex, 1);\n\n // Insert the row at the new index\n updatedData.splice(newIndex, 0, removedRow);\n }\n\n return updatedData;\n};\n\nconst DataTable = <TData extends MRT_RowData>({\n columns,\n data: dataProp,\n getRowId,\n page: pageProp = 1,\n initialDensity = densityValues[0],\n resultsPerPage: resultsPerPageProp = 20,\n fetchDataFn,\n reorderDataFn,\n totalRows,\n hasSearchSubmitButton,\n searchDelayTime,\n paginationType = \"paged\",\n onRowSelectionChange,\n rowActionButtons,\n rowActionMenuItems,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSorting,\n}: DataTableProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n const [showSkeletons, setShowSkeletons] = useState<boolean>(true);\n const [data, setData] = useState<MRT_TableOptions<TData>[\"data\"]>(dataProp);\n const [page, setPage] = useState<number>(pageProp);\n const [resultsPerPage, setResultsPerPage] =\n useState<number>(resultsPerPageProp);\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n const [density, setDensity] = useState<MRT_DensityState>(initialDensity);\n\n const initialColumnVisibility = useMemo(() => {\n return columns.reduce((acc, column) => {\n acc[column.accessorKey] = true;\n return acc;\n }, {} as MRT_VisibilityState);\n }, [columns]);\n\n const [columnVisibility, setColumnVisibility] = useState<MRT_VisibilityState>(\n initialColumnVisibility,\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>(\"\");\n const [filters, setFilters] = useState<Array<DataFilter>>();\n\n useEffect(() => {\n setShowSkeletons(false);\n }, [data]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const refreshData = useCallback(async () => {\n setShowSkeletons(true);\n try {\n const newData = fetchDataFn({\n page: page,\n resultsPerPage: resultsPerPage,\n sort: sorting,\n search: globalFilter,\n filters: filters,\n });\n\n setData(newData instanceof Promise ? await newData : newData);\n\n setShowSkeletons(false);\n } catch (error) {\n console.error(error);\n setShowSkeletons(false);\n }\n }, [page, resultsPerPage, sorting, globalFilter, filters, fetchDataFn]);\n\n useEffect(() => {\n refreshData();\n }, [refreshData, page, resultsPerPage, sorting, globalFilter, filters]);\n\n const handleSortingChange = useCallback(\n (updater: MRT_Updater<MRT_SortingState>) => {\n setSorting((prevSorting) =>\n updater instanceof Function ? updater(prevSorting) : sorting,\n );\n },\n [sorting],\n );\n\n const handleColumnVisibility = useCallback(\n (columnId: string) => {\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: !columnVisibility[columnId],\n }));\n },\n [columnVisibility],\n );\n\n const handleSearch = useCallback((value: string) => {\n setGlobalFilter(value);\n }, []);\n\n const handleFilters = useCallback((updatedFilters: Array<DataFilter>) => {\n setFilters(updatedFilters);\n }, []);\n\n const handleRowSelectionChange = useCallback(\n (updater: MRT_Updater<MRT_RowSelectionState>) => {\n setRowSelection((prevRowSelection) =>\n updater instanceof Function ? updater(prevRowSelection) : rowSelection,\n );\n },\n [rowSelection],\n );\n\n const updateRowOrder = useCallback(\n ({ rowId, newIndex }: { newIndex: number; rowId: string }) => {\n if (newIndex < 0) {\n return;\n }\n\n if (totalRows && newIndex > totalRows) {\n return;\n }\n\n const newData = reorderDataRowsLocally({\n currentData: data,\n rowId,\n newIndex,\n });\n\n setData(newData);\n reorderDataFn?.({ rowId, newIndex });\n refreshData();\n },\n [data, totalRows, reorderDataFn, refreshData],\n );\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_RowVirtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const setHoveredRow = useCallback<\n (table: TableType<TData>, id: TData[\"id\"]) => void\n >((table, id) => {\n if (id) {\n const nextRow = table.getRow(id) as MRT_Row<TData>;\n\n if (nextRow) {\n table.setHoveredRow(nextRow);\n }\n }\n }, []);\n\n const resetDraggingAndHoveredRow = useCallback<\n (table: TableType<TData>) => void\n >(\n (table) => {\n setDraggingRow(null);\n table.setHoveredRow(null);\n },\n [setDraggingRow],\n );\n\n type HandleDragHandleKeyDownArgs = {\n event: KeyboardEvent<HTMLButtonElement>;\n row: MRT_Row<TData>;\n table: TableType<TData>;\n };\n\n const handleDragHandleKeyDown = useCallback(\n ({ table, row, event }: HandleDragHandleKeyDownArgs) => {\n const { hoveredRow } = table.getState();\n\n const { key } = event;\n\n const isSpaceKey = key === \" \";\n const isEnterKey = key === \"Enter\";\n const isEscapeKey = key === \"Escape\";\n const isArrowDown = key === \"ArrowDown\";\n const isArrowUp = key === \"ArrowUp\";\n const isSpaceOrEnter = isSpaceKey || isEnterKey;\n const zeroIndexedPageNumber = page - 1;\n const currentIndex = row.index + zeroIndexedPageNumber * resultsPerPage;\n\n if (isEscapeKey) {\n resetDraggingAndHoveredRow(table);\n return;\n }\n\n if (isSpaceOrEnter) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (draggingRow) {\n if (typeof hoveredRow?.index === \"number\") {\n const { index } = hoveredRow;\n\n if (isSpaceOrEnter) {\n const pageRelativeIndex =\n index + zeroIndexedPageNumber * resultsPerPage;\n\n if (pageRelativeIndex !== currentIndex) {\n updateRowOrder({\n rowId: row.id,\n newIndex: pageRelativeIndex,\n });\n\n // Can't transition CSS hover effect. Use timeout to delay hovered row effect removal\n setTimeout(() => {\n resetDraggingAndHoveredRow(table);\n }, odysseyDesignTokens.TransitionDurationMainAsNumber);\n return;\n }\n }\n\n if (isArrowDown || isArrowUp) {\n const nextIndex = isArrowDown ? index + 1 : index - 1;\n // This is a legacy file. In general, we shouldn't have `as` here. Newer versions will have this fixed. --Kevin Ghadyani\n setHoveredRow(table, data[nextIndex]?.id as TData[\"id\"]);\n }\n } else {\n if (isArrowDown || isArrowUp) {\n const nextIndex = isArrowDown ? row.index + 1 : row.index - 1;\n // This is a legacy file. In general, we shouldn't have `as` here. Newer versions will have this fixed. --Kevin Ghadyani\n setHoveredRow(table, data[nextIndex]?.id as TData[\"id\"]);\n }\n }\n } else {\n if (isSpaceOrEnter) {\n setDraggingRow(row);\n }\n }\n },\n [\n data,\n draggingRow,\n odysseyDesignTokens.TransitionDurationMainAsNumber,\n page,\n resetDraggingAndHoveredRow,\n resultsPerPage,\n setHoveredRow,\n updateRowOrder,\n ],\n );\n\n const handleDragHandleOnDragEnd = useCallback(\n (table: TableType<TData>) => {\n const cols = table.getAllColumns();\n cols[0].toggleVisibility();\n\n const { draggingRow, hoveredRow } = table.getState();\n\n if (draggingRow) {\n updateRowOrder({\n newIndex: (hoveredRow as TData).index as number,\n rowId: draggingRow.id,\n });\n }\n\n setDraggingRow(null);\n },\n [updateRowOrder],\n );\n\n const handleDragHandleOnDragCapture = useCallback(\n (table: TableType<TData>) => {\n if (!draggingRow && table.getState().draggingRow?.id) {\n setDraggingRow(table.getState().draggingRow);\n }\n },\n [draggingRow],\n );\n\n const tableState = useMemo(\n () => ({\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n }),\n [\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n ],\n );\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n state: tableState,\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n enableRowVirtualization:\n paginationType === \"loadMore\" || resultsPerPage > 50,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFullScreenToggle: false,\n enablePagination: false,\n enableRowSelection: hasRowSelection,\n enableFilters: false,\n enableHiding: false,\n enableRowOrdering: hasRowReordering,\n enableRowDragging: hasRowReordering,\n enableSorting: hasSorting,\n selectAllMode: \"all\",\n enableColumnActions: false,\n layoutMode: \"grid-no-grow\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n },\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n },\n },\n },\n enableGlobalFilter: false,\n manualFiltering: true,\n manualSorting: true,\n getRowId: getRowId,\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n },\n onSortingChange: handleSortingChange,\n onRowSelectionChange: handleRowSelectionChange,\n enableRowActions:\n hasRowReordering === true || rowActionButtons || rowActionMenuItems\n ? true\n : false,\n positionActionsColumn: \"last\",\n\n muiTableHeadCellProps: ({ column }) => ({\n className: sorting.find((item) => item.id === column.id)\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n\n muiTableBodyRowProps: ({ table, row }) => ({\n className:\n draggingRow?.id === row.id && table.getState().hoveredRow?.id !== row.id\n ? \"isDragging\"\n : table.getState().hoveredRow?.id === row.id &&\n draggingRow?.id !== row.id\n ? \"isDragTarget\"\n : draggingRow?.id === row.id &&\n table.getState().hoveredRow?.id === row.id\n ? \"isDragging isDragTarget\"\n : undefined,\n }),\n\n muiRowDragHandleProps: ({ table, row }) => ({\n title: t(\"table.draghandle.tooltip\"),\n \"aria-label\": t(\"table.draghandle.arialabel\"),\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => {\n resetDraggingAndHoveredRow(table);\n },\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n sx: {\n padding: odysseyDesignTokens.Spacing1,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n\n \"&:focus-visible\": {\n boxShadow: `0 0 0 2px ${odysseyDesignTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyDesignTokens.PalettePrimaryMain}`,\n outline: \"2px solid transparent\",\n outlineOffset: \"1px\",\n },\n },\n }),\n\n renderRowActions: ({ row }) => {\n const currentIndex = row.index + (page - 1) * resultsPerPage;\n\n return (\n <Box sx={{ display: \"flex\" }}>\n {rowActionButtons?.(row.original)}\n {(rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n {rowActionMenuItems && (\n <>\n {rowActionMenuItems(row.original)}\n <hr />\n </>\n )}\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() => updateRowOrder({ rowId: row.id, newIndex: 0 })}\n >\n <ArrowTopIcon /> Bring to front\n </MenuItem>\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: currentIndex <= 0 ? 0 : currentIndex - 1,\n })\n }\n >\n <ArrowUpIcon /> Bring forward\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? currentIndex >= totalRows - 1 : false}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: currentIndex + 1,\n })\n }\n >\n <ArrowDownIcon /> Send backward\n </MenuItem>\n <>\n {totalRows && (\n <MenuItem\n isDisabled={currentIndex >= totalRows - 1}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: totalRows,\n })\n }\n >\n <ArrowBottomIcon /> Send to back\n </MenuItem>\n )}\n </>\n </MenuButton>\n )}\n </Box>\n );\n },\n });\n\n const tableSettings = useMemo(\n () => (\n <>\n {hasChangeableDensity && (\n <MenuButton\n ariaLabel=\"Table density\"\n endIcon={<ListIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: MRT_DensityState) => (\n <MenuItem\n isSelected={density === value}\n key={value}\n onClick={() => setDensity(value)}\n >\n {`${value.charAt(0).toUpperCase()}${value.slice(1)}`}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n\n {hasColumnVisibility && (\n <MenuButton\n ariaLabel=\"Show/hide columns\"\n endIcon={<ShowIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {columns\n .filter((column) => column.enableHiding !== false)\n .map((column) => (\n <MenuItem\n key={column.accessorKey}\n onClick={() => handleColumnVisibility(column.accessorKey)}\n >\n <MuiCheckbox\n checked={columnVisibility[column.accessorKey] !== false}\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n ),\n [\n columnVisibility,\n columns,\n density,\n hasChangeableDensity,\n handleColumnVisibility,\n hasColumnVisibility,\n ],\n );\n\n return (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n <DataFilters\n additionalActions={tableSettings}\n filters={\n hasFilters\n ? columns\n .filter((column) => column.enableColumnFilter !== false)\n .map((column) => {\n return {\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant ?? \"text\",\n options: column.filterSelectOptions,\n };\n })\n : undefined\n }\n hasSearchSubmitButton={hasSearchSubmitButton}\n onChangeFilters={handleFilters}\n onChangeSearch={hasSearch ? handleSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n\n <MRT_TableContainer table={table} />\n\n {hasPagination && (\n <DataTablePagination\n currentNumberOfResults={data.length}\n currentPage={page}\n isNextButtonDisabled={false} // TODO: Add logic for disabling next/load more button\n isPreviousButtonDisabled={page <= 1}\n onClickNext={() => {\n if (paginationType === \"loadMore\") {\n setResultsPerPage(resultsPerPage + resultsPerPageProp);\n } else {\n setPage(page + 1);\n }\n }}\n onClickPrevious={() => setPage(page - 1)}\n paginationType={paginationType}\n />\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["MRT_TableContainer","useMaterialReactTable","memo","useCallback","useEffect","useMemo","useRef","useState","Box","MenuButton","MenuItem","useTranslation","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUnsortedIcon","ArrowUpIcon","DragIndicatorIcon","ListIcon","MoreIcon","ShowIcon","useOdysseyDesignTokens","DataFilters","DataTablePagination","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","densityValues","reorderDataRowsLocally","currentData","rowId","newIndex","updatedData","rowIndex","findIndex","row","id","removedRow","splice","DataTable","columns","data","dataProp","getRowId","page","pageProp","initialDensity","resultsPerPage","resultsPerPageProp","fetchDataFn","reorderDataFn","totalRows","hasSearchSubmitButton","searchDelayTime","paginationType","onRowSelectionChange","rowActionButtons","rowActionMenuItems","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSorting","odysseyDesignTokens","t","draggingRow","setDraggingRow","showSkeletons","setShowSkeletons","setData","setPage","setResultsPerPage","rowSelection","setRowSelection","sorting","setSorting","density","setDensity","initialColumnVisibility","reduce","acc","column","accessorKey","columnVisibility","setColumnVisibility","globalFilter","setGlobalFilter","filters","setFilters","refreshData","newData","sort","search","Promise","error","console","handleSortingChange","updater","prevSorting","Function","handleColumnVisibility","columnId","prevVisibility","handleSearch","value","handleFilters","updatedFilters","handleRowSelectionChange","prevRowSelection","updateRowOrder","rowVirtualizerInstanceRef","setHoveredRow","table","nextRow","getRow","resetDraggingAndHoveredRow","handleDragHandleKeyDown","event","hoveredRow","getState","key","isSpaceKey","isEnterKey","isEscapeKey","isArrowDown","isArrowUp","isSpaceOrEnter","zeroIndexedPageNumber","currentIndex","index","preventDefault","stopPropagation","pageRelativeIndex","setTimeout","TransitionDurationMainAsNumber","nextIndex","handleDragHandleOnDragEnd","cols","getAllColumns","toggleVisibility","handleDragHandleOnDragCapture","tableState","state","rowVirtualizerOptions","overscan","enableRowVirtualization","enableColumnResizing","enableDensityToggle","enableFullScreenToggle","enablePagination","enableRowSelection","enableFilters","enableHiding","enableRowOrdering","enableRowDragging","enableSorting","selectAllMode","enableColumnActions","layoutMode","displayColumnDefOptions","muiTableBodyCellProps","align","sx","overflow","width","muiTableHeadCellProps","header","minWidth","enableGlobalFilter","manualFiltering","manualSorting","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","onSortingChange","enableRowActions","positionActionsColumn","className","find","item","muiTableBodyRowProps","undefined","muiRowDragHandleProps","title","onKeyDown","onBlur","onDragEnd","onDragCapture","padding","Spacing1","borderRadius","BorderRadiusMain","boxShadow","HueNeutralWhite","PalettePrimaryMain","outline","outlineOffset","renderRowActions","display","children","original","ariaLabel","buttonVariant","endIcon","menuAlignment","size","isDisabled","onClick","tableSettings","shouldCloseOnSelect","map","isSelected","charAt","toUpperCase","slice","filter","_Checkbox","checked","flexDirection","gap","additionalActions","enableColumnFilter","label","variant","filterVariant","options","filterSelectOptions","onChangeFilters","onChangeSearch","currentNumberOfResults","length","currentPage","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","MemoizedDataTable","displayName"],"sources":["../../../src/labs/DataTable.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 { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport {\n MRT_ColumnDef,\n MRT_DensityState,\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_RowVirtualizer,\n MRT_SortingState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n MRT_Updater,\n MRT_VisibilityState,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport {\n Fragment,\n KeyboardEvent,\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { MenuButton } from \"../Buttons/MenuButton.js\";\nimport { MenuItem } from \"../Buttons/MenuItem.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUnsortedIcon,\n ArrowUpIcon,\n DragIndicatorIcon,\n ListIcon,\n MoreIcon,\n ShowIcon,\n} from \"../icons.generated/index.js\";\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext.js\";\nimport { DataFilter, DataFilters } from \"./DataFilters.js\";\nimport {\n DataTablePagination,\n paginationTypeValues,\n} from \"./DataTablePagination.js\";\n\nexport const densityValues = [\"comfortable\", \"spacious\", \"compact\"] as const;\n\nexport type {\n MRT_ColumnFiltersState,\n MRT_SortingState,\n MRT_ColumnDef as TableColumn,\n} from \"material-react-table\";\n\n// The shape of the table columns,\n// with props named to match their MRT_ColumnDef counterparts\nexport type DataTableColumn<TData extends MRT_RowData> = {\n /**\n * The unique ID of the column\n */\n accessorKey: string;\n /**\n * Customize the way each cell in the column is\n * displayed via a custom React component.\n */\n Cell?: MRT_ColumnDef<TData>[\"Cell\"];\n /**\n * If set to false, the column won't be filterable\n */\n enableColumnFilter?: boolean;\n /**\n * If set to false, the column won't be searchable\n */\n enableGlobalFilter?: boolean;\n /**\n * If set to false, the column won't be hidable\n */\n enableHiding?: boolean;\n /**\n * If set to false, the column won't be resizable\n */\n enableResizing?: boolean;\n /**\n * If set to false, the column won't be sortable\n */\n enableSorting?: boolean;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n filterSelectOptions?: Array<{ label: string; value: string }>;\n /**\n * The UI control that will be used to filter the column.\n * Defaults to a standard text input.\n */\n filterVariant?: MRT_ColumnDef<TData>[\"filterVariant\"];\n /**\n * The human-friendly title of the column\n */\n header: string;\n /**\n * The maximum column width, in pixels\n */\n maxSize?: number;\n /**\n * The minimum column width, in pixels\n */\n minSize?: number;\n /**\n * The optional column width, in pixels\n */\n size?: number;\n};\n\nexport type DataTableProps<TData extends MRT_RowData> = {\n /**\n * The columns that make up the table\n */\n columns: DataTableColumn<TData>[];\n /**\n * The data that goes into the table, which will be displayed\n * as the table rows\n */\n data: MRT_TableOptions<TData>[\"data\"];\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n fetchDataFn: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n }) =>\n | MRT_TableOptions<TData>[\"data\"]\n | Promise<MRT_TableOptions<TData>[\"data\"]>;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<TData>[\"getRowId\"];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * The initial density of the table. This is available even if the table density\n * isn't changeable.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onRowSelectionChange?: (rowSelection: MRT_RowSelectionState) => void;\n /**\n * The current page number.\n */\n page?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propagate order change to the backend.\n */\n reorderDataFn?: ({\n rowId,\n newIndex,\n }: {\n newIndex: number;\n rowId: string;\n }) => void;\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: (\n row: TData,\n ) => ReactElement<typeof Button | typeof Fragment>;\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: (\n row: TData,\n ) => ReactElement<typeof MenuItem | typeof Fragment>;\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 * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n};\n\ntype TableType<TData extends MRT_RowData> = MRT_TableInstance<TData>;\n\nconst reorderDataRowsLocally = <TData extends MRT_RowData>({\n currentData,\n rowId,\n newIndex,\n}: {\n currentData: MRT_TableOptions<TData>[\"data\"];\n newIndex: number;\n rowId: string;\n}) => {\n const updatedData = [...currentData];\n\n const rowIndex = updatedData.findIndex((row) => row.id === rowId);\n\n if (rowIndex !== -1) {\n // Remove the row from its current position\n const [removedRow] = updatedData.splice(rowIndex, 1);\n\n // Insert the row at the new index\n updatedData.splice(newIndex, 0, removedRow);\n }\n\n return updatedData;\n};\n\nconst DataTable = <TData extends MRT_RowData>({\n columns,\n data: dataProp,\n getRowId,\n page: pageProp = 1,\n initialDensity = densityValues[0],\n resultsPerPage: resultsPerPageProp = 20,\n fetchDataFn,\n reorderDataFn,\n totalRows,\n hasSearchSubmitButton,\n searchDelayTime,\n paginationType = \"paged\",\n onRowSelectionChange,\n rowActionButtons,\n rowActionMenuItems,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSorting,\n}: DataTableProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n const [showSkeletons, setShowSkeletons] = useState<boolean>(true);\n const [data, setData] = useState<MRT_TableOptions<TData>[\"data\"]>(dataProp);\n const [page, setPage] = useState<number>(pageProp);\n const [resultsPerPage, setResultsPerPage] =\n useState<number>(resultsPerPageProp);\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n const [density, setDensity] = useState<MRT_DensityState>(initialDensity);\n\n const initialColumnVisibility = useMemo(() => {\n return columns.reduce((acc, column) => {\n acc[column.accessorKey] = true;\n return acc;\n }, {} as MRT_VisibilityState);\n }, [columns]);\n\n const [columnVisibility, setColumnVisibility] = useState<MRT_VisibilityState>(\n initialColumnVisibility,\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>(\"\");\n const [filters, setFilters] = useState<Array<DataFilter>>();\n\n useEffect(() => {\n setShowSkeletons(false);\n }, [data]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const refreshData = useCallback(async () => {\n setShowSkeletons(true);\n try {\n const newData = fetchDataFn({\n page: page,\n resultsPerPage: resultsPerPage,\n sort: sorting,\n search: globalFilter,\n filters: filters,\n });\n\n setData(newData instanceof Promise ? await newData : newData);\n\n setShowSkeletons(false);\n } catch (error) {\n console.error(error);\n setShowSkeletons(false);\n }\n }, [page, resultsPerPage, sorting, globalFilter, filters, fetchDataFn]);\n\n useEffect(() => {\n refreshData();\n }, [refreshData, page, resultsPerPage, sorting, globalFilter, filters]);\n\n const handleSortingChange = useCallback(\n (updater: MRT_Updater<MRT_SortingState>) => {\n setSorting((prevSorting) =>\n updater instanceof Function ? updater(prevSorting) : sorting,\n );\n },\n [sorting],\n );\n\n const handleColumnVisibility = useCallback(\n (columnId: string) => {\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: !columnVisibility[columnId],\n }));\n },\n [columnVisibility],\n );\n\n const handleSearch = useCallback((value: string) => {\n setGlobalFilter(value);\n }, []);\n\n const handleFilters = useCallback((updatedFilters: Array<DataFilter>) => {\n setFilters(updatedFilters);\n }, []);\n\n const handleRowSelectionChange = useCallback(\n (updater: MRT_Updater<MRT_RowSelectionState>) => {\n setRowSelection((prevRowSelection) =>\n updater instanceof Function ? updater(prevRowSelection) : rowSelection,\n );\n },\n [rowSelection],\n );\n\n const updateRowOrder = useCallback(\n ({ rowId, newIndex }: { newIndex: number; rowId: string }) => {\n if (newIndex < 0) {\n return;\n }\n\n if (totalRows && newIndex > totalRows) {\n return;\n }\n\n const newData = reorderDataRowsLocally({\n currentData: data,\n rowId,\n newIndex,\n });\n\n setData(newData);\n reorderDataFn?.({ rowId, newIndex });\n refreshData();\n },\n [data, totalRows, reorderDataFn, refreshData],\n );\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_RowVirtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const setHoveredRow = useCallback<\n (table: TableType<TData>, id: TData[\"id\"]) => void\n >((table, id) => {\n if (id) {\n const nextRow = table.getRow(id) as MRT_Row<TData>;\n\n if (nextRow) {\n table.setHoveredRow(nextRow);\n }\n }\n }, []);\n\n const resetDraggingAndHoveredRow = useCallback<\n (table: TableType<TData>) => void\n >(\n (table) => {\n setDraggingRow(null);\n table.setHoveredRow(null);\n },\n [setDraggingRow],\n );\n\n type HandleDragHandleKeyDownArgs = {\n event: KeyboardEvent<HTMLButtonElement>;\n row: MRT_Row<TData>;\n table: TableType<TData>;\n };\n\n const handleDragHandleKeyDown = useCallback(\n ({ table, row, event }: HandleDragHandleKeyDownArgs) => {\n const { hoveredRow } = table.getState();\n\n const { key } = event;\n\n const isSpaceKey = key === \" \";\n const isEnterKey = key === \"Enter\";\n const isEscapeKey = key === \"Escape\";\n const isArrowDown = key === \"ArrowDown\";\n const isArrowUp = key === \"ArrowUp\";\n const isSpaceOrEnter = isSpaceKey || isEnterKey;\n const zeroIndexedPageNumber = page - 1;\n const currentIndex = row.index + zeroIndexedPageNumber * resultsPerPage;\n\n if (isEscapeKey) {\n resetDraggingAndHoveredRow(table);\n return;\n }\n\n if (isSpaceOrEnter) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (draggingRow) {\n if (typeof hoveredRow?.index === \"number\") {\n const { index } = hoveredRow;\n\n if (isSpaceOrEnter) {\n const pageRelativeIndex =\n index + zeroIndexedPageNumber * resultsPerPage;\n\n if (pageRelativeIndex !== currentIndex) {\n updateRowOrder({\n rowId: row.id,\n newIndex: pageRelativeIndex,\n });\n\n // Can't transition CSS hover effect. Use timeout to delay hovered row effect removal\n setTimeout(() => {\n resetDraggingAndHoveredRow(table);\n }, odysseyDesignTokens.TransitionDurationMainAsNumber);\n return;\n }\n }\n\n if (isArrowDown || isArrowUp) {\n const nextIndex = isArrowDown ? index + 1 : index - 1;\n // This is a legacy file. In general, we shouldn't have `as` here. Newer versions will have this fixed. --Kevin Ghadyani\n setHoveredRow(table, data[nextIndex]?.id as TData[\"id\"]);\n }\n } else {\n if (isArrowDown || isArrowUp) {\n const nextIndex = isArrowDown ? row.index + 1 : row.index - 1;\n // This is a legacy file. In general, we shouldn't have `as` here. Newer versions will have this fixed. --Kevin Ghadyani\n setHoveredRow(table, data[nextIndex]?.id as TData[\"id\"]);\n }\n }\n } else {\n if (isSpaceOrEnter) {\n setDraggingRow(row);\n }\n }\n },\n [\n data,\n draggingRow,\n odysseyDesignTokens.TransitionDurationMainAsNumber,\n page,\n resetDraggingAndHoveredRow,\n resultsPerPage,\n setHoveredRow,\n updateRowOrder,\n ],\n );\n\n const handleDragHandleOnDragEnd = useCallback(\n (table: TableType<TData>) => {\n const cols = table.getAllColumns();\n cols[0].toggleVisibility();\n\n const { draggingRow, hoveredRow } = table.getState();\n\n if (draggingRow) {\n updateRowOrder({\n newIndex: (hoveredRow as TData).index as number,\n rowId: draggingRow.id,\n });\n }\n\n setDraggingRow(null);\n },\n [updateRowOrder],\n );\n\n const handleDragHandleOnDragCapture = useCallback(\n (table: TableType<TData>) => {\n if (!draggingRow && table.getState().draggingRow?.id) {\n setDraggingRow(table.getState().draggingRow);\n }\n },\n [draggingRow],\n );\n\n const tableState = useMemo(\n () => ({\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n }),\n [\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n ],\n );\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n state: tableState,\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n enableRowVirtualization:\n paginationType === \"loadMore\" || resultsPerPage > 50,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFullScreenToggle: false,\n enablePagination: false,\n enableRowSelection: hasRowSelection,\n enableFilters: false,\n enableHiding: false,\n enableRowOrdering: hasRowReordering,\n enableRowDragging: hasRowReordering,\n enableSorting: hasSorting,\n selectAllMode: \"all\",\n enableColumnActions: false,\n layoutMode: \"grid-no-grow\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n },\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n },\n },\n },\n enableGlobalFilter: false,\n manualFiltering: true,\n manualSorting: true,\n getRowId: getRowId,\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n },\n onSortingChange: handleSortingChange,\n onRowSelectionChange: handleRowSelectionChange,\n enableRowActions:\n hasRowReordering === true || rowActionButtons || rowActionMenuItems\n ? true\n : false,\n positionActionsColumn: \"last\",\n\n muiTableHeadCellProps: ({ column }) => ({\n className: sorting.find((item) => item.id === column.id)\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n\n muiTableBodyRowProps: ({ table, row }) => ({\n className:\n draggingRow?.id === row.id && table.getState().hoveredRow?.id !== row.id\n ? \"isDragging\"\n : table.getState().hoveredRow?.id === row.id &&\n draggingRow?.id !== row.id\n ? \"isDragTarget\"\n : draggingRow?.id === row.id &&\n table.getState().hoveredRow?.id === row.id\n ? \"isDragging isDragTarget\"\n : undefined,\n }),\n\n muiRowDragHandleProps: ({ table, row }) => ({\n title: t(\"table.draghandle.tooltip\"),\n \"aria-label\": t(\"table.draghandle.arialabel\"),\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => {\n resetDraggingAndHoveredRow(table);\n },\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n sx: {\n padding: odysseyDesignTokens.Spacing1,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n\n \"&:focus-visible\": {\n boxShadow: `0 0 0 2px ${odysseyDesignTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyDesignTokens.PalettePrimaryMain}`,\n outline: \"2px solid transparent\",\n outlineOffset: \"1px\",\n },\n },\n }),\n\n renderRowActions: ({ row }) => {\n const currentIndex = row.index + (page - 1) * resultsPerPage;\n\n return (\n <Box sx={{ display: \"flex\" }}>\n {rowActionButtons?.(row.original)}\n {(rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n {rowActionMenuItems && (\n <>\n {rowActionMenuItems(row.original)}\n <hr />\n </>\n )}\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() => updateRowOrder({ rowId: row.id, newIndex: 0 })}\n >\n <ArrowTopIcon /> Bring to front\n </MenuItem>\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: currentIndex <= 0 ? 0 : currentIndex - 1,\n })\n }\n >\n <ArrowUpIcon /> Bring forward\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? currentIndex >= totalRows - 1 : false}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: currentIndex + 1,\n })\n }\n >\n <ArrowDownIcon /> Send backward\n </MenuItem>\n <>\n {totalRows && (\n <MenuItem\n isDisabled={currentIndex >= totalRows - 1}\n onClick={() =>\n updateRowOrder({\n rowId: row.id,\n newIndex: totalRows,\n })\n }\n >\n <ArrowBottomIcon /> Send to back\n </MenuItem>\n )}\n </>\n </MenuButton>\n )}\n </Box>\n );\n },\n });\n\n const tableSettings = useMemo(\n () => (\n <>\n {hasChangeableDensity && (\n <MenuButton\n ariaLabel=\"Table density\"\n endIcon={<ListIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: MRT_DensityState) => (\n <MenuItem\n isSelected={density === value}\n key={value}\n onClick={() => setDensity(value)}\n >\n {`${value.charAt(0).toUpperCase()}${value.slice(1)}`}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n\n {hasColumnVisibility && (\n <MenuButton\n ariaLabel=\"Show/hide columns\"\n endIcon={<ShowIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {columns\n .filter((column) => column.enableHiding !== false)\n .map((column) => (\n <MenuItem\n key={column.accessorKey}\n onClick={() => handleColumnVisibility(column.accessorKey)}\n >\n <MuiCheckbox\n checked={columnVisibility[column.accessorKey] !== false}\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n ),\n [\n columnVisibility,\n columns,\n density,\n hasChangeableDensity,\n handleColumnVisibility,\n hasColumnVisibility,\n ],\n );\n\n return (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n <DataFilters\n additionalActions={tableSettings}\n filters={\n hasFilters\n ? columns\n .filter((column) => column.enableColumnFilter !== false)\n .map((column) => {\n return {\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant ?? \"text\",\n options: column.filterSelectOptions,\n };\n })\n : undefined\n }\n hasSearchSubmitButton={hasSearchSubmitButton}\n onChangeFilters={handleFilters}\n onChangeSearch={hasSearch ? handleSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n\n <MRT_TableContainer table={table} />\n\n {hasPagination && (\n <DataTablePagination\n currentNumberOfResults={data.length}\n currentPage={page}\n isNextButtonDisabled={false} // TODO: Add logic for disabling next/load more button\n isPreviousButtonDisabled={page <= 1}\n onClickNext={() => {\n if (paginationType === \"loadMore\") {\n setResultsPerPage(resultsPerPage + resultsPerPageProp);\n } else {\n setPage(page + 1);\n }\n }}\n onClickPrevious={() => setPage(page - 1)}\n paginationType={paginationType}\n />\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -66,6 +66,6 @@ const DataTablePagination = ({
|
|
|
66
66
|
});
|
|
67
67
|
};
|
|
68
68
|
const MemoizedDataTablePagination = memo(DataTablePagination);
|
|
69
|
-
MemoizedDataTablePagination.displayName = "DataTablePagination";
|
|
69
|
+
MemoizedDataTablePagination.displayName = "DataTablePagination::pkg=odyssey&odysseyV=1.57.0";
|
|
70
70
|
export { MemoizedDataTablePagination as DataTablePagination };
|
|
71
71
|
//# sourceMappingURL=DataTablePagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePagination.js","names":["memo","Box","Button","ArrowLeftIcon","ArrowRightIcon","Support","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","paginationTypeValues","DataTablePagination","currentPage","currentNumberOfResults","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","paginationType","sx","display","gap","alignItems","children","isDisabled","label","onClick","variant","color","startIcon","component","endIcon","MemoizedDataTablePagination","displayName"],"sources":["../../../src/labs/DataTablePagination.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 { memo } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport { Support } from \"../Typography.js\";\n\nexport const paginationTypeValues = [\"paged\", \"loadMore\"] as const;\n\nexport type DataTablePaginationProps = {\n currentNumberOfResults?: number;\n currentPage?: number;\n isNextButtonDisabled?: boolean;\n isPreviousButtonDisabled?: boolean;\n onClickNext: () => void;\n onClickPrevious?: () => void;\n paginationType?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n currentPage,\n currentNumberOfResults,\n isNextButtonDisabled,\n isPreviousButtonDisabled,\n onClickNext,\n onClickPrevious,\n paginationType,\n}: DataTablePaginationProps) => {\n return (\n <Box sx={{ display: \"flex\", gap: 4, alignItems: \"center\" }}>\n {paginationType === \"loadMore\" ? (\n <>\n <Button\n isDisabled={isNextButtonDisabled}\n label=\"Show more\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n {currentNumberOfResults && (\n <Support color=\"textSecondary\">\n {currentNumberOfResults} results\n </Support>\n )}\n </>\n ) : (\n <>\n <Button\n isDisabled={isPreviousButtonDisabled}\n label=\"Previous\"\n onClick={onClickPrevious}\n startIcon={<ArrowLeftIcon />}\n variant=\"secondary\"\n />\n {currentPage && (\n <Box>\n <Support color=\"textSecondary\" component=\"span\">\n Page {currentPage}\n </Support>\n </Box>\n )}\n <Button\n endIcon={<ArrowRightIcon />}\n isDisabled={isNextButtonDisabled}\n label=\"Next\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,GAAG,QAAQ,WAAW;AAC/B,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,aAAa,EAAEC,cAAc,QAAQ,6BAA6B;AAC3E,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE3C,OAAO,MAAMC,oBAAoB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU;AAYlE,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC,sBAAsB;EACtBC,oBAAoB;EACpBC,wBAAwB;EACxBC,WAAW;EACXC,eAAe;EACfC;AACwB,CAAC,KAAK;EAC9B,OACEb,IAAA,CAACN,GAAG;IAACoB,EAAE,EAAE;MAAEC,OAAO,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,EACxDL,cAAc,KAAK,UAAU,GAC5BX,KAAA,CAAAE,SAAA;MAAAc,QAAA,GACElB,IAAA,CAACL,MAAM;QACLwB,UAAU,EAAEV,oBAAqB;QACjCW,KAAK,EAAC,WAAW;QACjBC,OAAO,EAAEV,WAAY;QACrBW,OAAO,EAAC;MAAW,CACpB,CAAC,EACDd,sBAAsB,IACrBN,KAAA,CAACJ,OAAO;QAACyB,KAAK,EAAC,eAAe;QAAAL,QAAA,GAC3BV,sBAAsB,EAAC,UAC1B;MAAA,CAAS,CACV;IAAA,CACD,CAAC,GAEHN,KAAA,CAAAE,SAAA;MAAAc,QAAA,GACElB,IAAA,CAACL,MAAM;QACLwB,UAAU,EAAET,wBAAyB;QACrCU,KAAK,EAAC,UAAU;QAChBC,OAAO,EAAET,eAAgB;QACzBY,SAAS,EAAExB,IAAA,CAACJ,aAAa,IAAE,CAAE;QAC7B0B,OAAO,EAAC;MAAW,CACpB,CAAC,EACDf,WAAW,IACVP,IAAA,CAACN,GAAG;QAAAwB,QAAA,EACFhB,KAAA,CAACJ,OAAO;UAACyB,KAAK,EAAC,eAAe;UAACE,SAAS,EAAC,MAAM;UAAAP,QAAA,GAAC,OACzC,EAACX,WAAW;QAAA,CACV;MAAC,CACP,CACN,EACDP,IAAA,CAACL,MAAM;QACL+B,OAAO,EAAE1B,IAAA,CAACH,cAAc,IAAE,CAAE;QAC5BsB,UAAU,EAAEV,oBAAqB;QACjCW,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEV,WAAY;QACrBW,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACF;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMK,2BAA2B,GAAGlC,IAAI,CAACa,mBAAmB,CAAC;AAC7DqB,2BAA2B,CAACC,WAAW,
|
|
1
|
+
{"version":3,"file":"DataTablePagination.js","names":["memo","Box","Button","ArrowLeftIcon","ArrowRightIcon","Support","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","paginationTypeValues","DataTablePagination","currentPage","currentNumberOfResults","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","paginationType","sx","display","gap","alignItems","children","isDisabled","label","onClick","variant","color","startIcon","component","endIcon","MemoizedDataTablePagination","displayName"],"sources":["../../../src/labs/DataTablePagination.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 { memo } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport { Support } from \"../Typography.js\";\n\nexport const paginationTypeValues = [\"paged\", \"loadMore\"] as const;\n\nexport type DataTablePaginationProps = {\n currentNumberOfResults?: number;\n currentPage?: number;\n isNextButtonDisabled?: boolean;\n isPreviousButtonDisabled?: boolean;\n onClickNext: () => void;\n onClickPrevious?: () => void;\n paginationType?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n currentPage,\n currentNumberOfResults,\n isNextButtonDisabled,\n isPreviousButtonDisabled,\n onClickNext,\n onClickPrevious,\n paginationType,\n}: DataTablePaginationProps) => {\n return (\n <Box sx={{ display: \"flex\", gap: 4, alignItems: \"center\" }}>\n {paginationType === \"loadMore\" ? (\n <>\n <Button\n isDisabled={isNextButtonDisabled}\n label=\"Show more\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n {currentNumberOfResults && (\n <Support color=\"textSecondary\">\n {currentNumberOfResults} results\n </Support>\n )}\n </>\n ) : (\n <>\n <Button\n isDisabled={isPreviousButtonDisabled}\n label=\"Previous\"\n onClick={onClickPrevious}\n startIcon={<ArrowLeftIcon />}\n variant=\"secondary\"\n />\n {currentPage && (\n <Box>\n <Support color=\"textSecondary\" component=\"span\">\n Page {currentPage}\n </Support>\n </Box>\n )}\n <Button\n endIcon={<ArrowRightIcon />}\n isDisabled={isNextButtonDisabled}\n label=\"Next\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,GAAG,QAAQ,WAAW;AAC/B,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,aAAa,EAAEC,cAAc,QAAQ,6BAA6B;AAC3E,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE3C,OAAO,MAAMC,oBAAoB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU;AAYlE,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC,sBAAsB;EACtBC,oBAAoB;EACpBC,wBAAwB;EACxBC,WAAW;EACXC,eAAe;EACfC;AACwB,CAAC,KAAK;EAC9B,OACEb,IAAA,CAACN,GAAG;IAACoB,EAAE,EAAE;MAAEC,OAAO,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,EACxDL,cAAc,KAAK,UAAU,GAC5BX,KAAA,CAAAE,SAAA;MAAAc,QAAA,GACElB,IAAA,CAACL,MAAM;QACLwB,UAAU,EAAEV,oBAAqB;QACjCW,KAAK,EAAC,WAAW;QACjBC,OAAO,EAAEV,WAAY;QACrBW,OAAO,EAAC;MAAW,CACpB,CAAC,EACDd,sBAAsB,IACrBN,KAAA,CAACJ,OAAO;QAACyB,KAAK,EAAC,eAAe;QAAAL,QAAA,GAC3BV,sBAAsB,EAAC,UAC1B;MAAA,CAAS,CACV;IAAA,CACD,CAAC,GAEHN,KAAA,CAAAE,SAAA;MAAAc,QAAA,GACElB,IAAA,CAACL,MAAM;QACLwB,UAAU,EAAET,wBAAyB;QACrCU,KAAK,EAAC,UAAU;QAChBC,OAAO,EAAET,eAAgB;QACzBY,SAAS,EAAExB,IAAA,CAACJ,aAAa,IAAE,CAAE;QAC7B0B,OAAO,EAAC;MAAW,CACpB,CAAC,EACDf,WAAW,IACVP,IAAA,CAACN,GAAG;QAAAwB,QAAA,EACFhB,KAAA,CAACJ,OAAO;UAACyB,KAAK,EAAC,eAAe;UAACE,SAAS,EAAC,MAAM;UAAAP,QAAA,GAAC,OACzC,EAACX,WAAW;QAAA,CACV;MAAC,CACP,CACN,EACDP,IAAA,CAACL,MAAM;QACL+B,OAAO,EAAE1B,IAAA,CAACH,cAAc,IAAE,CAAE;QAC5BsB,UAAU,EAAEV,oBAAqB;QACjCW,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEV,WAAY;QACrBW,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACF;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMK,2BAA2B,GAAGlC,IAAI,CAACa,mBAAmB,CAAC;AAC7DqB,2BAA2B,CAACC,WAAW,qDAAwB;AAE/D,SAASD,2BAA2B,IAAIrB,mBAAmB","ignoreList":[]}
|
|
@@ -71,6 +71,6 @@ const BulkActionsMenu = ({
|
|
|
71
71
|
});
|
|
72
72
|
};
|
|
73
73
|
const MemoizedBulkActionsMenu = memo(BulkActionsMenu);
|
|
74
|
-
MemoizedBulkActionsMenu.displayName = "BulkActionsMenu";
|
|
74
|
+
MemoizedBulkActionsMenu.displayName = "BulkActionsMenu::pkg=odyssey&odysseyV=1.57.0";
|
|
75
75
|
export { MemoizedBulkActionsMenu as BulkActionsMenu };
|
|
76
76
|
//# sourceMappingURL=BulkActionsMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkActionsMenu.js","names":["styled","memo","useCallback","Box","Button","MenuButton","useTranslation","ChevronDownIcon","useOdysseyDesignTokens","jsx","_jsx","jsxs","_jsxs","BulkActionsContainer","shouldForwardProp","prop","odysseyDesignTokens","display","gap","Spacing2","BulkActionsMenu","data","menuItems","rowSelection","setRowSelection","t","selectedRowCount","Object","values","filter","Boolean","length","handleSelectAll","rows","fromEntries","map","row","id","handleSelectNone","children","ariaLabel","buttonLabel","buttonVariant","endIcon","isDisabled","label","onClick","variant","MemoizedBulkActionsMenu","displayName"],"sources":["../../../../src/labs/DataView/BulkActionsMenu.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 { MRT_RowData, MRT_RowSelectionState } from \"material-react-table\";\nimport { Dispatch, memo, SetStateAction, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { Button } from \"../../Buttons/Button.js\";\nimport { MenuButton } from \"../../Buttons/MenuButton.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronDownIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { UniversalProps } from \"./componentTypes.js\";\n\nexport type BulkActionsMenuProps<TData extends MRT_RowData> = {\n data: TData[];\n menuItems: UniversalProps<TData>[\"bulkActionMenuItems\"];\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n};\n\nconst BulkActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst BulkActionsMenu = <TData extends MRT_RowData>({\n data,\n menuItems,\n rowSelection,\n setRowSelection,\n}: BulkActionsMenuProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const selectedRowCount = Object.values(rowSelection).filter(Boolean).length;\n\n const handleSelectAll = useCallback(() => {\n const rows = Object.fromEntries(\n data.map((row) => [row.id as string, true]),\n );\n setRowSelection(rows);\n }, [data, setRowSelection]);\n\n const handleSelectNone = useCallback(() => {\n setRowSelection({});\n }, [setRowSelection]);\n\n return (\n <BulkActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {selectedRowCount > 0 && (\n <MenuButton\n ariaLabel={t(\"table.actions.arialabel\")}\n buttonLabel={t(\"table.actions.selectsome\", { selectedRowCount })}\n buttonVariant=\"primary\"\n endIcon={<ChevronDownIcon />}\n >\n {menuItems?.(rowSelection)}\n </MenuButton>\n )}\n <Box>\n <Button\n isDisabled={selectedRowCount === data.length} // Disabled if all are selected\n label={t(\"table.actions.selectall\")}\n onClick={handleSelectAll}\n variant=\"secondary\"\n />\n <Button\n isDisabled={selectedRowCount === 0} // Disabled if none are selected\n label={t(\"table.actions.selectnone\")}\n onClick={handleSelectNone}\n variant=\"secondary\"\n />\n </Box>\n </BulkActionsContainer>\n );\n};\n\nconst MemoizedBulkActionsMenu = memo(BulkActionsMenu);\nMemoizedBulkActionsMenu.displayName = \"BulkActionsMenu\";\n\nexport { MemoizedBulkActionsMenu as BulkActionsMenu };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAAmBC,IAAI,EAAkBC,WAAW,QAAQ,OAAO;AAEnE,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,MAAM,QAAQ,yBAAyB;AAChD,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAEEC,sBAAsB,QACjB,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU7C,MAAMC,oBAAoB,GAAGb,MAAM,CAAC,KAAK,EAAE;EACzCc,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EAC/BC,OAAO,EAAE,MAAM;EACfC,GAAG,EAAEF,mBAAmB,CAACG;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMC,eAAe,GAAGA,CAA4B;EAClDC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AAC2B,CAAC,KAAK;EACjC,MAAMR,mBAAmB,GAAGR,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEiB;EAAE,CAAC,GAAGnB,cAAc,CAAC,CAAC;EAE9B,MAAMoB,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACL,YAAY,CAAC,CAACM,MAAM,CAACC,OAAO,CAAC,CAACC,MAAM;EAE3E,MAAMC,eAAe,GAAG9B,WAAW,CAAC,MAAM;IACxC,MAAM+B,IAAI,GAAGN,MAAM,CAACO,WAAW,CAC7Bb,IAAI,CAACc,GAAG,CAAEC,GAAG,IAAK,CAACA,GAAG,CAACC,EAAE,EAAY,IAAI,CAAC,CAC5C,CAAC;IACDb,eAAe,CAACS,IAAI,CAAC;EACvB,CAAC,EAAE,CAACZ,IAAI,EAAEG,eAAe,CAAC,CAAC;EAE3B,MAAMc,gBAAgB,GAAGpC,WAAW,CAAC,MAAM;IACzCsB,eAAe,CAAC,CAAC,CAAC,CAAC;EACrB,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErB,OACEZ,KAAA,CAACC,oBAAoB;IAACG,mBAAmB,EAAEA,mBAAoB;IAAAuB,QAAA,GAC5Db,gBAAgB,GAAG,CAAC,IACnBhB,IAAA,CAACL,UAAU;MACTmC,SAAS,EAAEf,CAAC,CAAC,yBAAyB,CAAE;MACxCgB,WAAW,EAAEhB,CAAC,CAAC,0BAA0B,EAAE;QAAEC;MAAiB,CAAC,CAAE;MACjEgB,aAAa,EAAC,SAAS;MACvBC,OAAO,EAAEjC,IAAA,CAACH,eAAe,IAAE,CAAE;MAAAgC,QAAA,EAE5BjB,SAAS,GAAGC,YAAY;IAAC,CAChB,CACb,EACDX,KAAA,CAACT,GAAG;MAAAoC,QAAA,GACF7B,IAAA,CAACN,MAAM;QACLwC,UAAU,EAAElB,gBAAgB,KAAKL,IAAI,CAACU,MAAO;QAC7Cc,KAAK,EAAEpB,CAAC,CAAC,yBAAyB,CAAE;QACpCqB,OAAO,EAAEd,eAAgB;QACzBe,OAAO,EAAC;MAAW,CACpB,CAAC,EACFrC,IAAA,CAACN,MAAM;QACLwC,UAAU,EAAElB,gBAAgB,KAAK,CAAE;QACnCmB,KAAK,EAAEpB,CAAC,CAAC,0BAA0B,CAAE;QACrCqB,OAAO,EAAER,gBAAiB;QAC1BS,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACC,CAAC;EAAA,CACc,CAAC;AAE3B,CAAC;AAED,MAAMC,uBAAuB,GAAG/C,IAAI,CAACmB,eAAe,CAAC;AACrD4B,uBAAuB,CAACC,WAAW,
|
|
1
|
+
{"version":3,"file":"BulkActionsMenu.js","names":["styled","memo","useCallback","Box","Button","MenuButton","useTranslation","ChevronDownIcon","useOdysseyDesignTokens","jsx","_jsx","jsxs","_jsxs","BulkActionsContainer","shouldForwardProp","prop","odysseyDesignTokens","display","gap","Spacing2","BulkActionsMenu","data","menuItems","rowSelection","setRowSelection","t","selectedRowCount","Object","values","filter","Boolean","length","handleSelectAll","rows","fromEntries","map","row","id","handleSelectNone","children","ariaLabel","buttonLabel","buttonVariant","endIcon","isDisabled","label","onClick","variant","MemoizedBulkActionsMenu","displayName"],"sources":["../../../../src/labs/DataView/BulkActionsMenu.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 { MRT_RowData, MRT_RowSelectionState } from \"material-react-table\";\nimport { Dispatch, memo, SetStateAction, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { Button } from \"../../Buttons/Button.js\";\nimport { MenuButton } from \"../../Buttons/MenuButton.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronDownIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { UniversalProps } from \"./componentTypes.js\";\n\nexport type BulkActionsMenuProps<TData extends MRT_RowData> = {\n data: TData[];\n menuItems: UniversalProps<TData>[\"bulkActionMenuItems\"];\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n};\n\nconst BulkActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst BulkActionsMenu = <TData extends MRT_RowData>({\n data,\n menuItems,\n rowSelection,\n setRowSelection,\n}: BulkActionsMenuProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const selectedRowCount = Object.values(rowSelection).filter(Boolean).length;\n\n const handleSelectAll = useCallback(() => {\n const rows = Object.fromEntries(\n data.map((row) => [row.id as string, true]),\n );\n setRowSelection(rows);\n }, [data, setRowSelection]);\n\n const handleSelectNone = useCallback(() => {\n setRowSelection({});\n }, [setRowSelection]);\n\n return (\n <BulkActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {selectedRowCount > 0 && (\n <MenuButton\n ariaLabel={t(\"table.actions.arialabel\")}\n buttonLabel={t(\"table.actions.selectsome\", { selectedRowCount })}\n buttonVariant=\"primary\"\n endIcon={<ChevronDownIcon />}\n >\n {menuItems?.(rowSelection)}\n </MenuButton>\n )}\n <Box>\n <Button\n isDisabled={selectedRowCount === data.length} // Disabled if all are selected\n label={t(\"table.actions.selectall\")}\n onClick={handleSelectAll}\n variant=\"secondary\"\n />\n <Button\n isDisabled={selectedRowCount === 0} // Disabled if none are selected\n label={t(\"table.actions.selectnone\")}\n onClick={handleSelectNone}\n variant=\"secondary\"\n />\n </Box>\n </BulkActionsContainer>\n );\n};\n\nconst MemoizedBulkActionsMenu = memo(BulkActionsMenu);\nMemoizedBulkActionsMenu.displayName = \"BulkActionsMenu\";\n\nexport { MemoizedBulkActionsMenu as BulkActionsMenu };\n"],"mappings":"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","ignoreList":[]}
|