@okta/odyssey-react-mui 1.15.9 → 1.20.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/CHANGELOG.md +35 -0
- package/dist/Accordion.js +2 -0
- package/dist/Accordion.js.map +1 -1
- package/dist/Autocomplete.js +9 -0
- package/dist/Autocomplete.js.map +1 -1
- package/dist/Badge.js +1 -0
- package/dist/Badge.js.map +1 -1
- package/dist/Banner.js +6 -5
- package/dist/Banner.js.map +1 -1
- package/dist/Button.js +15 -11
- package/dist/Button.js.map +1 -1
- package/dist/Callout.js +45 -7
- package/dist/Callout.js.map +1 -1
- package/dist/{Tile.js → Card.js} +43 -28
- package/dist/Card.js.map +1 -0
- package/dist/DataTable/DataTable.js +68 -41
- package/dist/DataTable/DataTable.js.map +1 -1
- package/dist/DataTable/DataTableRowActions.js.map +1 -1
- package/dist/DataTable/constants.js +0 -1
- package/dist/DataTable/constants.js.map +1 -1
- package/dist/DataTable/index.js +0 -1
- package/dist/DataTable/index.js.map +1 -1
- package/dist/Dialog.js +9 -3
- package/dist/Dialog.js.map +1 -1
- package/dist/{labs/Drawer.js → Drawer.js} +5 -5
- package/dist/Drawer.js.map +1 -0
- package/dist/{DataTable/DataTableEmptyState.js → EmptyState.js} +17 -15
- package/dist/EmptyState.js.map +1 -0
- package/dist/ErrorMessageList.js +1 -1
- package/dist/ErrorMessageList.js.map +1 -1
- package/dist/FieldError.js +3 -2
- package/dist/FieldError.js.map +1 -1
- package/dist/HtmlProps.js.map +1 -1
- package/dist/MenuItem.js +1 -0
- package/dist/MenuItem.js.map +1 -1
- package/dist/OdysseyCacheProvider.js +5 -2
- package/dist/OdysseyCacheProvider.js.map +1 -1
- package/dist/OdysseyProvider.js +1 -1
- package/dist/OdysseyProvider.js.map +1 -1
- package/dist/OdysseyTranslationProvider.js +1 -6
- package/dist/OdysseyTranslationProvider.js.map +1 -1
- package/dist/{DataTable/DataTablePagination.js → Pagination/Pagination.js} +56 -59
- package/dist/Pagination/Pagination.js.map +1 -0
- package/dist/Pagination/constants.js +14 -0
- package/dist/Pagination/constants.js.map +1 -0
- package/dist/Pagination/index.js +15 -0
- package/dist/Pagination/index.js.map +1 -0
- package/dist/Pagination/usePagination.js +51 -0
- package/dist/Pagination/usePagination.js.map +1 -0
- package/dist/Radio.js +17 -5
- package/dist/Radio.js.map +1 -1
- package/dist/ScreenReaderText.js +4 -0
- package/dist/ScreenReaderText.js.map +1 -1
- package/dist/Select.js +1 -0
- package/dist/Select.js.map +1 -1
- package/dist/Status.js +5 -3
- package/dist/Status.js.map +1 -1
- package/dist/Surface.js +38 -0
- package/dist/Surface.js.map +1 -0
- package/dist/Tabs.js +22 -0
- package/dist/Tabs.js.map +1 -1
- package/dist/TextField.js +48 -0
- package/dist/TextField.js.map +1 -1
- package/dist/Toast.js +37 -34
- package/dist/Toast.js.map +1 -1
- package/dist/assertEnv.d.ts +18 -0
- package/dist/assertEnv.d.ts.map +1 -0
- package/dist/assertEnv.js +32 -0
- package/dist/icons.generated/Add.js +1 -1
- package/dist/icons.generated/Add.js.map +1 -1
- package/dist/icons.generated/AddCircle.js +1 -1
- package/dist/icons.generated/AddCircle.js.map +1 -1
- package/dist/icons.generated/Apps.js +1 -1
- package/dist/icons.generated/Apps.js.map +1 -1
- package/dist/icons.generated/ArrowBottom.js +2 -2
- package/dist/icons.generated/ArrowBottom.js.map +1 -1
- package/dist/icons.generated/ArrowDown.js +1 -1
- package/dist/icons.generated/ArrowDown.js.map +1 -1
- package/dist/icons.generated/ArrowLeft.js +1 -1
- package/dist/icons.generated/ArrowLeft.js.map +1 -1
- package/dist/icons.generated/ArrowLowerLeft.js +1 -1
- package/dist/icons.generated/ArrowLowerLeft.js.map +1 -1
- package/dist/icons.generated/ArrowLowerRight.js +1 -1
- package/dist/icons.generated/ArrowLowerRight.js.map +1 -1
- package/dist/icons.generated/ArrowRight.js +1 -1
- package/dist/icons.generated/ArrowRight.js.map +1 -1
- package/dist/icons.generated/ArrowTop.js +2 -2
- package/dist/icons.generated/ArrowTop.js.map +1 -1
- package/dist/icons.generated/ArrowUnsorted.js +1 -1
- package/dist/icons.generated/ArrowUnsorted.js.map +1 -1
- package/dist/icons.generated/ArrowUp.js +1 -1
- package/dist/icons.generated/ArrowUp.js.map +1 -1
- package/dist/icons.generated/ArrowUpperLeft.js +1 -1
- package/dist/icons.generated/ArrowUpperLeft.js.map +1 -1
- package/dist/icons.generated/ArrowUpperRight.js +1 -1
- package/dist/icons.generated/ArrowUpperRight.js.map +1 -1
- package/dist/icons.generated/Bug.js +1 -1
- package/dist/icons.generated/Bug.js.map +1 -1
- package/dist/icons.generated/Calendar.js +1 -1
- package/dist/icons.generated/Calendar.js.map +1 -1
- package/dist/icons.generated/Call.js +1 -1
- package/dist/icons.generated/Call.js.map +1 -1
- package/dist/icons.generated/Chat.js +1 -1
- package/dist/icons.generated/Chat.js.map +1 -1
- package/dist/icons.generated/Check.js +1 -1
- package/dist/icons.generated/Check.js.map +1 -1
- package/dist/icons.generated/CheckCircleFilled.js +1 -1
- package/dist/icons.generated/CheckCircleFilled.js.map +1 -1
- package/dist/icons.generated/ChevronDown.js +1 -1
- package/dist/icons.generated/ChevronDown.js.map +1 -1
- package/dist/icons.generated/ChevronLeft.js +1 -1
- package/dist/icons.generated/ChevronLeft.js.map +1 -1
- package/dist/icons.generated/ChevronRight.js +1 -1
- package/dist/icons.generated/ChevronRight.js.map +1 -1
- package/dist/icons.generated/ChevronUp.js +1 -1
- package/dist/icons.generated/ChevronUp.js.map +1 -1
- package/dist/icons.generated/Clock.js +1 -1
- package/dist/icons.generated/Clock.js.map +1 -1
- package/dist/icons.generated/Close.js +1 -1
- package/dist/icons.generated/Close.js.map +1 -1
- package/dist/icons.generated/CloseCircleFilled.js +1 -1
- package/dist/icons.generated/CloseCircleFilled.js.map +1 -1
- package/dist/icons.generated/CollapseLeft.js +1 -1
- package/dist/icons.generated/CollapseLeft.js.map +1 -1
- package/dist/icons.generated/CollapseRight.js +1 -1
- package/dist/icons.generated/CollapseRight.js.map +1 -1
- package/dist/icons.generated/Copy.js +1 -1
- package/dist/icons.generated/Copy.js.map +1 -1
- package/dist/icons.generated/Custom.js +39 -0
- package/dist/icons.generated/Custom.js.map +1 -0
- package/dist/icons.generated/DangerDiamond.js +1 -1
- package/dist/icons.generated/DangerDiamond.js.map +1 -1
- package/dist/icons.generated/DangerDiamondFilled.js +1 -1
- package/dist/icons.generated/DangerDiamondFilled.js.map +1 -1
- package/dist/icons.generated/Delete.js +1 -1
- package/dist/icons.generated/Delete.js.map +1 -1
- package/dist/icons.generated/Deny.js +1 -1
- package/dist/icons.generated/Deny.js.map +1 -1
- package/dist/icons.generated/Devices.js +1 -1
- package/dist/icons.generated/Devices.js.map +1 -1
- package/dist/icons.generated/Directory.js +1 -1
- package/dist/icons.generated/Directory.js.map +1 -1
- package/dist/icons.generated/Documentation.js +1 -1
- package/dist/icons.generated/Documentation.js.map +1 -1
- package/dist/icons.generated/Download.js +1 -1
- package/dist/icons.generated/Download.js.map +1 -1
- package/dist/icons.generated/DragIndicator.js +1 -1
- package/dist/icons.generated/DragIndicator.js.map +1 -1
- package/dist/icons.generated/Duo.js +47 -0
- package/dist/icons.generated/Duo.js.map +1 -0
- package/dist/icons.generated/Edit.js +1 -1
- package/dist/icons.generated/Edit.js.map +1 -1
- package/dist/icons.generated/Email.js +38 -0
- package/dist/icons.generated/Email.js.map +1 -0
- package/dist/icons.generated/ExpandLeft.js +1 -1
- package/dist/icons.generated/ExpandLeft.js.map +1 -1
- package/dist/icons.generated/ExpandRight.js +1 -1
- package/dist/icons.generated/ExpandRight.js.map +1 -1
- package/dist/icons.generated/ExternalLink.js +1 -1
- package/dist/icons.generated/ExternalLink.js.map +1 -1
- package/dist/icons.generated/Fido2.js +57 -0
- package/dist/icons.generated/Fido2.js.map +1 -0
- package/dist/icons.generated/Filter.js +1 -1
- package/dist/icons.generated/Filter.js.map +1 -1
- package/dist/icons.generated/Folder.js +1 -1
- package/dist/icons.generated/Folder.js.map +1 -1
- package/dist/icons.generated/Globe.js +1 -1
- package/dist/icons.generated/Globe.js.map +1 -1
- package/dist/icons.generated/GoogleAuth.js +54 -0
- package/dist/icons.generated/GoogleAuth.js.map +1 -0
- package/dist/icons.generated/Grid.js +1 -1
- package/dist/icons.generated/Grid.js.map +1 -1
- package/dist/icons.generated/Group.js +1 -1
- package/dist/icons.generated/Group.js.map +1 -1
- package/dist/icons.generated/Hide.js +1 -1
- package/dist/icons.generated/Hide.js.map +1 -1
- package/dist/icons.generated/Home.js +1 -1
- package/dist/icons.generated/Home.js.map +1 -1
- package/dist/icons.generated/Idp.js +42 -0
- package/dist/icons.generated/Idp.js.map +1 -0
- package/dist/icons.generated/InformationCircle.js +1 -1
- package/dist/icons.generated/InformationCircle.js.map +1 -1
- package/dist/icons.generated/InformationCircleFilled.js +1 -1
- package/dist/icons.generated/InformationCircleFilled.js.map +1 -1
- package/dist/icons.generated/Link.js +1 -1
- package/dist/icons.generated/Link.js.map +1 -1
- package/dist/icons.generated/List.js +1 -1
- package/dist/icons.generated/List.js.map +1 -1
- package/dist/icons.generated/Lock.js +1 -1
- package/dist/icons.generated/Lock.js.map +1 -1
- package/dist/icons.generated/More.js +1 -1
- package/dist/icons.generated/More.js.map +1 -1
- package/dist/icons.generated/Notification.js +1 -1
- package/dist/icons.generated/Notification.js.map +1 -1
- package/dist/icons.generated/OktaVerify.js +33 -0
- package/dist/icons.generated/OktaVerify.js.map +1 -0
- package/dist/icons.generated/OnPremMfa.js +39 -0
- package/dist/icons.generated/OnPremMfa.js.map +1 -0
- package/dist/icons.generated/OneTimePassword.js +49 -0
- package/dist/icons.generated/OneTimePassword.js.map +1 -0
- package/dist/icons.generated/Password.js +61 -0
- package/dist/icons.generated/Password.js.map +1 -0
- package/dist/icons.generated/Pause.js +1 -1
- package/dist/icons.generated/Pause.js.map +1 -1
- package/dist/icons.generated/QuestionCircle.js +1 -1
- package/dist/icons.generated/QuestionCircle.js.map +1 -1
- package/dist/icons.generated/QuestionCircleFilled.js +1 -1
- package/dist/icons.generated/QuestionCircleFilled.js.map +1 -1
- package/dist/icons.generated/Refresh.js +1 -1
- package/dist/icons.generated/Refresh.js.map +1 -1
- package/dist/icons.generated/Reset.js +1 -1
- package/dist/icons.generated/Reset.js.map +1 -1
- package/dist/icons.generated/Resume.js +1 -1
- package/dist/icons.generated/Resume.js.map +1 -1
- package/dist/icons.generated/Search.js +1 -1
- package/dist/icons.generated/Search.js.map +1 -1
- package/dist/icons.generated/SecurityQuestion.js +41 -0
- package/dist/icons.generated/SecurityQuestion.js.map +1 -0
- package/dist/icons.generated/Server.js +1 -1
- package/dist/icons.generated/Server.js.map +1 -1
- package/dist/icons.generated/Settings.js +1 -1
- package/dist/icons.generated/Settings.js.map +1 -1
- package/dist/icons.generated/Show.js +1 -1
- package/dist/icons.generated/Show.js.map +1 -1
- package/dist/icons.generated/SmartCard.js +49 -0
- package/dist/icons.generated/SmartCard.js.map +1 -0
- package/dist/icons.generated/Sms.js +49 -0
- package/dist/icons.generated/Sms.js.map +1 -0
- package/dist/icons.generated/Subtract.js +1 -1
- package/dist/icons.generated/Subtract.js.map +1 -1
- package/dist/icons.generated/SymantecVip.js +38 -0
- package/dist/icons.generated/SymantecVip.js.map +1 -0
- package/dist/icons.generated/Sync.js +1 -1
- package/dist/icons.generated/Sync.js.map +1 -1
- package/dist/icons.generated/ThumbsDown.js +33 -0
- package/dist/icons.generated/ThumbsDown.js.map +1 -0
- package/dist/icons.generated/ThumbsUp.js +33 -0
- package/dist/icons.generated/ThumbsUp.js.map +1 -0
- package/dist/icons.generated/Unlock.js +1 -1
- package/dist/icons.generated/Unlock.js.map +1 -1
- package/dist/icons.generated/Upload.js +1 -1
- package/dist/icons.generated/Upload.js.map +1 -1
- package/dist/icons.generated/User.js +1 -1
- package/dist/icons.generated/User.js.map +1 -1
- package/dist/icons.generated/Video.js +1 -1
- package/dist/icons.generated/Video.js.map +1 -1
- package/dist/icons.generated/VoiceCall.js +54 -0
- package/dist/icons.generated/VoiceCall.js.map +1 -0
- package/dist/icons.generated/Warning.js +1 -1
- package/dist/icons.generated/Warning.js.map +1 -1
- package/dist/icons.generated/WarningFilled.js +1 -1
- package/dist/icons.generated/WarningFilled.js.map +1 -1
- package/dist/icons.generated/Yubikey.js +31 -0
- package/dist/icons.generated/Yubikey.js.map +1 -0
- package/dist/icons.generated/index.js +18 -0
- package/dist/icons.generated/index.js.map +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/index.scss +457 -0
- package/dist/labs/DataComponents/BulkActionsMenu.js +77 -0
- package/dist/labs/DataComponents/BulkActionsMenu.js.map +1 -0
- package/dist/labs/DataComponents/DataStack.js +79 -0
- package/dist/labs/DataComponents/DataStack.js.map +1 -0
- package/dist/labs/DataComponents/DataTable.js +90 -0
- package/dist/labs/DataComponents/DataTable.js.map +1 -0
- package/dist/labs/DataComponents/DataView.js +278 -0
- package/dist/labs/DataComponents/DataView.js.map +1 -0
- package/dist/{src/DataTable/DataTableEmptyState.d.ts → labs/DataComponents/DetailPanel.js} +14 -9
- package/dist/labs/DataComponents/DetailPanel.js.map +1 -0
- package/dist/labs/DataComponents/LayoutSwitcher.js +53 -0
- package/dist/labs/DataComponents/LayoutSwitcher.js.map +1 -0
- package/dist/labs/DataComponents/RowActions.js +80 -0
- package/dist/labs/DataComponents/RowActions.js.map +1 -0
- package/dist/labs/DataComponents/StackCard.js +163 -0
- package/dist/labs/DataComponents/StackCard.js.map +1 -0
- package/dist/labs/DataComponents/StackContent.js +143 -0
- package/dist/labs/DataComponents/StackContent.js.map +1 -0
- package/dist/labs/DataComponents/TableContent.js +248 -0
- package/dist/labs/DataComponents/TableContent.js.map +1 -0
- package/dist/labs/DataComponents/TableSettings.js +96 -0
- package/dist/labs/DataComponents/TableSettings.js.map +1 -0
- package/dist/labs/DataComponents/componentTypes.js +2 -0
- package/dist/labs/DataComponents/componentTypes.js.map +1 -0
- package/dist/labs/DataComponents/constants.js +17 -0
- package/dist/labs/DataComponents/constants.js.map +1 -0
- package/dist/labs/DataComponents/dataTypes.js +2 -0
- package/dist/labs/DataComponents/dataTypes.js.map +1 -0
- package/dist/labs/DataComponents/fetchData.js +33 -0
- package/dist/labs/DataComponents/fetchData.js.map +1 -0
- package/dist/labs/DataComponents/index.js +18 -0
- package/dist/labs/DataComponents/index.js.map +1 -0
- package/dist/labs/DataComponents/tableConstants.js +146 -0
- package/dist/labs/DataComponents/tableConstants.js.map +1 -0
- package/dist/labs/DataComponents/useFilterConversion.js +58 -0
- package/dist/labs/DataComponents/useFilterConversion.js.map +1 -0
- package/dist/labs/DataFilters.js +139 -82
- package/dist/labs/DataFilters.js.map +1 -1
- package/dist/labs/DateField.js +77 -0
- package/dist/labs/DateField.js.map +1 -0
- package/dist/labs/DatePicker.js +186 -23
- package/dist/labs/DatePicker.js.map +1 -1
- package/dist/labs/{DatePicker.types.js → DatePicker.types.d.js} +1 -1
- package/dist/labs/DatePicker.types.d.js.map +1 -0
- package/dist/labs/FileUpload.js +28 -25
- package/dist/labs/FileUpload.js.map +1 -1
- package/dist/labs/FileUploadIllustration.js +1 -1
- package/dist/labs/FileUploadIllustration.js.map +1 -1
- package/dist/labs/FileUploadPreview.js +1 -0
- package/dist/labs/FileUploadPreview.js.map +1 -1
- package/dist/labs/Layout.js +49 -0
- package/dist/labs/Layout.js.map +1 -0
- package/dist/labs/NavAccordion.js +80 -0
- package/dist/labs/NavAccordion.js.map +1 -0
- package/dist/labs/PageTemplate.js +140 -0
- package/dist/labs/PageTemplate.js.map +1 -0
- package/dist/labs/SideNav.js +478 -0
- package/dist/labs/SideNav.js.map +1 -0
- package/dist/labs/Switch.js +186 -77
- package/dist/labs/Switch.js.map +1 -1
- package/dist/labs/datePickerTheme.js +138 -80
- package/dist/labs/datePickerTheme.js.map +1 -1
- package/dist/labs/index.js +5 -1
- package/dist/labs/index.js.map +1 -1
- package/dist/labs/useDatePickerTranslations.js +71 -0
- package/dist/labs/useDatePickerTranslations.js.map +1 -0
- package/dist/preset.d.ts +23 -0
- package/dist/preset.d.ts.map +1 -0
- package/dist/preset.js +35 -0
- package/dist/properties/ts/odyssey-react-mui.js +68 -10
- package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_cs.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_da.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_de.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_el.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_es.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fi.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fr.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ht.js +98 -0
- package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -0
- package/dist/properties/ts/odyssey-react-mui_hu.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_id.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_it.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ja.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ko.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ms.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nb.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pl.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ro.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ru.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_sv.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_th.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_tr.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_uk.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_vi.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js +55 -8
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/remUtils.js +14 -0
- package/dist/remUtils.js.map +1 -0
- package/dist/scripts/generateTestSelectorsJson.d.ts +13 -0
- package/dist/scripts/generateTestSelectorsJson.d.ts.map +1 -0
- package/dist/src/Accordion.d.ts +1 -1
- package/dist/src/Accordion.d.ts.map +1 -1
- package/dist/src/Autocomplete.d.ts +7 -1
- package/dist/src/Autocomplete.d.ts.map +1 -1
- package/dist/src/Badge.d.ts +2 -2
- package/dist/src/Badge.d.ts.map +1 -1
- package/dist/src/Banner.d.ts.map +1 -1
- package/dist/src/Button.d.ts +10 -6
- package/dist/src/Button.d.ts.map +1 -1
- package/dist/src/Callout.d.ts +38 -2
- package/dist/src/Callout.d.ts.map +1 -1
- package/dist/src/{Tile.d.ts → Card.d.ts} +6 -27
- package/dist/src/Card.d.ts.map +1 -0
- package/dist/src/DataTable/DataTable.d.ts +65 -48
- package/dist/src/DataTable/DataTable.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableRowActions.d.ts +1 -1
- package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
- package/dist/src/DataTable/constants.d.ts +0 -1
- package/dist/src/DataTable/constants.d.ts.map +1 -1
- package/dist/src/DataTable/index.d.ts +1 -2
- package/dist/src/DataTable/index.d.ts.map +1 -1
- package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
- package/dist/src/DataTable/useRowReordering.d.ts +3 -3
- package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
- package/dist/src/Dialog.d.ts +19 -7
- package/dist/src/Dialog.d.ts.map +1 -1
- package/dist/src/{labs/Drawer.d.ts → Drawer.d.ts} +3 -3
- package/dist/src/Drawer.d.ts.map +1 -0
- package/dist/src/EmptyState.d.ts +34 -0
- package/dist/src/EmptyState.d.ts.map +1 -0
- package/dist/src/ErrorMessageList.d.ts.map +1 -1
- package/dist/src/FieldError.d.ts.map +1 -1
- package/dist/src/HtmlProps.d.ts +1 -0
- package/dist/src/HtmlProps.d.ts.map +1 -1
- package/dist/src/MenuItem.d.ts.map +1 -1
- package/dist/src/OdysseyCacheProvider.d.ts +6 -2
- package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
- package/dist/src/OdysseyProvider.d.ts.map +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/src/Pagination/Pagination.d.ts +70 -0
- package/dist/src/Pagination/Pagination.d.ts.map +1 -0
- package/dist/src/Pagination/constants.d.ts +13 -0
- package/dist/src/Pagination/constants.d.ts.map +1 -0
- package/dist/src/Pagination/index.d.ts +15 -0
- package/dist/src/Pagination/index.d.ts.map +1 -0
- package/dist/src/Pagination/usePagination.d.ts +23 -0
- package/dist/src/Pagination/usePagination.d.ts.map +1 -0
- package/dist/src/Radio.d.ts +2 -2
- package/dist/src/Radio.d.ts.map +1 -1
- package/dist/src/ScreenReaderText.d.ts +3 -2
- package/dist/src/ScreenReaderText.d.ts.map +1 -1
- package/dist/src/Select.d.ts.map +1 -1
- package/dist/src/Status.d.ts +7 -2
- package/dist/src/Status.d.ts.map +1 -1
- package/dist/src/{labs/DatePicker.types.d.ts → Surface.d.ts} +7 -8
- package/dist/src/Surface.d.ts.map +1 -0
- package/dist/src/Tabs.d.ts +22 -0
- package/dist/src/Tabs.d.ts.map +1 -1
- package/dist/src/TextField.d.ts +48 -0
- package/dist/src/TextField.d.ts.map +1 -1
- package/dist/src/Toast.d.ts.map +1 -1
- package/dist/src/icons.generated/Add.d.ts +1 -1
- package/dist/src/icons.generated/AddCircle.d.ts +1 -1
- package/dist/src/icons.generated/Apps.d.ts +1 -1
- package/dist/src/icons.generated/ArrowBottom.d.ts +1 -1
- package/dist/src/icons.generated/ArrowDown.d.ts +1 -1
- package/dist/src/icons.generated/ArrowLeft.d.ts +1 -1
- package/dist/src/icons.generated/ArrowLowerLeft.d.ts +1 -1
- package/dist/src/icons.generated/ArrowLowerRight.d.ts +1 -1
- package/dist/src/icons.generated/ArrowRight.d.ts +1 -1
- package/dist/src/icons.generated/ArrowTop.d.ts +1 -1
- package/dist/src/icons.generated/ArrowUnsorted.d.ts +1 -1
- package/dist/src/icons.generated/ArrowUp.d.ts +1 -1
- package/dist/src/icons.generated/ArrowUpperLeft.d.ts +1 -1
- package/dist/src/icons.generated/ArrowUpperRight.d.ts +1 -1
- package/dist/src/icons.generated/Bug.d.ts +1 -1
- package/dist/src/icons.generated/Calendar.d.ts +1 -1
- package/dist/src/icons.generated/Call.d.ts +1 -1
- package/dist/src/icons.generated/Chat.d.ts +1 -1
- package/dist/src/icons.generated/Check.d.ts +1 -1
- package/dist/src/icons.generated/CheckCircleFilled.d.ts +1 -1
- package/dist/src/icons.generated/ChevronDown.d.ts +1 -1
- package/dist/src/icons.generated/ChevronLeft.d.ts +1 -1
- package/dist/src/icons.generated/ChevronRight.d.ts +1 -1
- package/dist/src/icons.generated/ChevronUp.d.ts +1 -1
- package/dist/src/icons.generated/Clock.d.ts +1 -1
- package/dist/src/icons.generated/Close.d.ts +1 -1
- package/dist/src/icons.generated/CloseCircleFilled.d.ts +1 -1
- package/dist/src/icons.generated/CollapseLeft.d.ts +1 -1
- package/dist/src/icons.generated/CollapseRight.d.ts +1 -1
- package/dist/src/icons.generated/Copy.d.ts +1 -1
- package/dist/src/icons.generated/Custom.d.ts +16 -0
- package/dist/src/icons.generated/Custom.d.ts.map +1 -0
- package/dist/src/icons.generated/DangerDiamond.d.ts +1 -1
- package/dist/src/icons.generated/DangerDiamondFilled.d.ts +1 -1
- package/dist/src/icons.generated/Delete.d.ts +1 -1
- package/dist/src/icons.generated/Deny.d.ts +1 -1
- package/dist/src/icons.generated/Devices.d.ts +1 -1
- package/dist/src/icons.generated/Directory.d.ts +1 -1
- package/dist/src/icons.generated/Documentation.d.ts +1 -1
- package/dist/src/icons.generated/Download.d.ts +1 -1
- package/dist/src/icons.generated/DragIndicator.d.ts +1 -1
- package/dist/src/icons.generated/Duo.d.ts +16 -0
- package/dist/src/icons.generated/Duo.d.ts.map +1 -0
- package/dist/src/icons.generated/Edit.d.ts +1 -1
- package/dist/src/icons.generated/Email.d.ts +16 -0
- package/dist/src/icons.generated/Email.d.ts.map +1 -0
- package/dist/src/icons.generated/ExpandLeft.d.ts +1 -1
- package/dist/src/icons.generated/ExpandRight.d.ts +1 -1
- package/dist/src/icons.generated/ExternalLink.d.ts +1 -1
- package/dist/src/icons.generated/Fido2.d.ts +16 -0
- package/dist/src/icons.generated/Fido2.d.ts.map +1 -0
- package/dist/src/icons.generated/Filter.d.ts +1 -1
- package/dist/src/icons.generated/Folder.d.ts +1 -1
- package/dist/src/icons.generated/Globe.d.ts +1 -1
- package/dist/src/icons.generated/GoogleAuth.d.ts +16 -0
- package/dist/src/icons.generated/GoogleAuth.d.ts.map +1 -0
- package/dist/src/icons.generated/Grid.d.ts +1 -1
- package/dist/src/icons.generated/Group.d.ts +1 -1
- package/dist/src/icons.generated/Hide.d.ts +1 -1
- package/dist/src/icons.generated/Home.d.ts +1 -1
- package/dist/src/icons.generated/Idp.d.ts +16 -0
- package/dist/src/icons.generated/Idp.d.ts.map +1 -0
- package/dist/src/icons.generated/InformationCircle.d.ts +1 -1
- package/dist/src/icons.generated/InformationCircleFilled.d.ts +1 -1
- package/dist/src/icons.generated/Link.d.ts +1 -1
- package/dist/src/icons.generated/List.d.ts +1 -1
- package/dist/src/icons.generated/Lock.d.ts +1 -1
- package/dist/src/icons.generated/More.d.ts +1 -1
- package/dist/src/icons.generated/Notification.d.ts +1 -1
- package/dist/src/icons.generated/OktaVerify.d.ts +16 -0
- package/dist/src/icons.generated/OktaVerify.d.ts.map +1 -0
- package/dist/src/icons.generated/OnPremMfa.d.ts +16 -0
- package/dist/src/icons.generated/OnPremMfa.d.ts.map +1 -0
- package/dist/src/icons.generated/OneTimePassword.d.ts +16 -0
- package/dist/src/icons.generated/OneTimePassword.d.ts.map +1 -0
- package/dist/src/icons.generated/Password.d.ts +16 -0
- package/dist/src/icons.generated/Password.d.ts.map +1 -0
- package/dist/src/icons.generated/Pause.d.ts +1 -1
- package/dist/src/icons.generated/QuestionCircle.d.ts +1 -1
- package/dist/src/icons.generated/QuestionCircleFilled.d.ts +1 -1
- package/dist/src/icons.generated/Refresh.d.ts +1 -1
- package/dist/src/icons.generated/Reset.d.ts +1 -1
- package/dist/src/icons.generated/Resume.d.ts +1 -1
- package/dist/src/icons.generated/Search.d.ts +1 -1
- package/dist/src/icons.generated/SecurityQuestion.d.ts +16 -0
- package/dist/src/icons.generated/SecurityQuestion.d.ts.map +1 -0
- package/dist/src/icons.generated/Server.d.ts +1 -1
- package/dist/src/icons.generated/Settings.d.ts +1 -1
- package/dist/src/icons.generated/Show.d.ts +1 -1
- package/dist/src/icons.generated/SmartCard.d.ts +16 -0
- package/dist/src/icons.generated/SmartCard.d.ts.map +1 -0
- package/dist/src/icons.generated/Sms.d.ts +16 -0
- package/dist/src/icons.generated/Sms.d.ts.map +1 -0
- package/dist/src/icons.generated/Subtract.d.ts +1 -1
- package/dist/src/icons.generated/SymantecVip.d.ts +16 -0
- package/dist/src/icons.generated/SymantecVip.d.ts.map +1 -0
- package/dist/src/icons.generated/Sync.d.ts +1 -1
- package/dist/src/icons.generated/ThumbsDown.d.ts +16 -0
- package/dist/src/icons.generated/ThumbsDown.d.ts.map +1 -0
- package/dist/src/icons.generated/ThumbsUp.d.ts +16 -0
- package/dist/src/icons.generated/ThumbsUp.d.ts.map +1 -0
- package/dist/src/icons.generated/Unlock.d.ts +1 -1
- package/dist/src/icons.generated/Upload.d.ts +1 -1
- package/dist/src/icons.generated/User.d.ts +1 -1
- package/dist/src/icons.generated/Video.d.ts +1 -1
- package/dist/src/icons.generated/VoiceCall.d.ts +16 -0
- package/dist/src/icons.generated/VoiceCall.d.ts.map +1 -0
- package/dist/src/icons.generated/Warning.d.ts +1 -1
- package/dist/src/icons.generated/WarningFilled.d.ts +1 -1
- package/dist/src/icons.generated/Yubikey.d.ts +16 -0
- package/dist/src/icons.generated/Yubikey.d.ts.map +1 -0
- package/dist/src/icons.generated/index.d.ts +18 -0
- package/dist/src/icons.generated/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +7 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/inputUtils.d.ts.map +1 -1
- package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts +23 -0
- package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/DataStack.d.ts +21 -0
- package/dist/src/labs/DataComponents/DataStack.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/DataTable.d.ts +17 -0
- package/dist/src/labs/DataComponents/DataTable.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/DataView.d.ts +17 -0
- package/dist/src/labs/DataComponents/DataView.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/DetailPanel.d.ts +20 -0
- package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts +21 -0
- package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/RowActions.d.ts +31 -0
- package/dist/src/labs/DataComponents/RowActions.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/StackCard.d.ts +36 -0
- package/dist/src/labs/DataComponents/StackCard.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/StackContent.d.ts +64 -0
- package/dist/src/labs/DataComponents/StackContent.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/TableContent.d.ts +66 -0
- package/dist/src/labs/DataComponents/TableContent.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/TableSettings.d.ts +21 -0
- package/dist/src/labs/DataComponents/TableSettings.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/componentTypes.d.ts +81 -0
- package/dist/src/labs/DataComponents/componentTypes.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/constants.d.ts +16 -0
- package/dist/src/labs/DataComponents/constants.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/dataTypes.d.ts +52 -0
- package/dist/src/labs/DataComponents/dataTypes.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/fetchData.d.ts +26 -0
- package/dist/src/labs/DataComponents/fetchData.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/index.d.ts +18 -0
- package/dist/src/labs/DataComponents/index.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/tableConstants.d.ts +100 -0
- package/dist/src/labs/DataComponents/tableConstants.d.ts.map +1 -0
- package/dist/src/labs/DataComponents/useFilterConversion.d.ts +20 -0
- package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +1 -0
- package/dist/src/labs/DataFilters.d.ts +14 -7
- package/dist/src/labs/DataFilters.d.ts.map +1 -1
- package/dist/src/labs/DateField.d.ts +23 -0
- package/dist/src/labs/DateField.d.ts.map +1 -0
- package/dist/src/labs/DatePicker.d.ts +31 -8
- package/dist/src/labs/DatePicker.d.ts.map +1 -1
- package/dist/src/labs/FileUpload.d.ts +2 -2
- package/dist/src/labs/FileUpload.d.ts.map +1 -1
- package/dist/src/labs/FileUploadPreview.d.ts.map +1 -1
- package/dist/src/labs/GroupPicker.d.ts.map +1 -1
- package/dist/src/labs/Layout.d.ts +28 -0
- package/dist/src/labs/Layout.d.ts.map +1 -0
- package/dist/src/labs/NavAccordion.d.ts +52 -0
- package/dist/src/labs/NavAccordion.d.ts.map +1 -0
- package/dist/src/labs/PageTemplate.d.ts +57 -0
- package/dist/src/labs/PageTemplate.d.ts.map +1 -0
- package/dist/src/labs/PaginatedTable.d.ts.map +1 -1
- package/dist/src/labs/SideNav.d.ts +120 -0
- package/dist/src/labs/SideNav.d.ts.map +1 -0
- package/dist/src/labs/StaticTable.d.ts.map +1 -1
- package/dist/src/labs/Switch.d.ts +3 -7
- package/dist/src/labs/Switch.d.ts.map +1 -1
- package/dist/src/labs/datePickerTheme.d.ts.map +1 -1
- package/dist/src/labs/index.d.ts +5 -1
- package/dist/src/labs/index.d.ts.map +1 -1
- package/dist/src/labs/useDatePickerTranslations.d.ts +15 -0
- package/dist/src/labs/useDatePickerTranslations.d.ts.map +1 -0
- package/dist/src/properties/ts/odyssey-react-mui.d.ts +66 -8
- package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +98 -0
- package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +54 -7
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/src/remUtils.d.ts +24 -0
- package/dist/src/remUtils.d.ts.map +1 -0
- package/dist/src/test-selectors/featureTestSelector.d.ts +31 -0
- package/dist/src/test-selectors/featureTestSelector.d.ts.map +1 -0
- package/dist/src/test-selectors/index.d.ts +15 -0
- package/dist/src/test-selectors/index.d.ts.map +1 -0
- package/dist/src/test-selectors/odysseyTestSelectors.d.ts +120 -0
- package/dist/src/test-selectors/odysseyTestSelectors.d.ts.map +1 -0
- package/dist/src/test-selectors/querySelector.d.ts +3632 -0
- package/dist/src/test-selectors/querySelector.d.ts.map +1 -0
- package/dist/src/theme/components.d.ts +1 -1
- package/dist/src/theme/components.d.ts.map +1 -1
- package/dist/src/theme/components.types.d.ts +5 -3
- package/dist/src/theme/components.types.d.ts.map +1 -1
- package/dist/src/theme/createOdysseyMuiTheme.d.ts +1 -1
- package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
- package/dist/src/theme/mixins.d.ts.map +1 -1
- package/dist/src/theme/palette.d.ts.map +1 -1
- package/dist/src/theme/shape.d.ts.map +1 -1
- package/dist/src/theme/spacing.d.ts.map +1 -1
- package/dist/src/theme/typography.d.ts.map +1 -1
- package/dist/test-selectors/featureTestSelector.js +2 -0
- package/dist/test-selectors/featureTestSelector.js.map +1 -0
- package/dist/test-selectors/index.js +15 -0
- package/dist/test-selectors/index.js.map +1 -0
- package/dist/test-selectors/odysseyTestSelectors.js +20 -0
- package/dist/test-selectors/odysseyTestSelectors.js.map +1 -0
- package/dist/test-selectors/querySelector.js +78 -0
- package/dist/test-selectors/querySelector.js.map +1 -0
- package/dist/test-selectors/testSelectors.json +1 -0
- package/dist/theme/components.js +248 -177
- package/dist/theme/components.js.map +1 -1
- package/dist/theme/components.types.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/i18n.config.json +3 -1
- package/package.json +13 -5
- package/scripts/generateTestSelectorsJson.ts +28 -0
- package/src/Accordion.tsx +3 -0
- package/src/Autocomplete.tsx +13 -0
- package/src/Badge.tsx +4 -3
- package/src/Banner.tsx +4 -4
- package/src/Button.tsx +30 -16
- package/src/Callout.tsx +59 -12
- package/src/{Tile.tsx → Card.tsx} +63 -57
- package/src/DataTable/DataTable.tsx +164 -95
- package/src/DataTable/DataTableRowActions.tsx +1 -1
- package/src/DataTable/constants.ts +0 -1
- package/src/DataTable/index.tsx +1 -1
- package/src/Dialog.tsx +38 -13
- package/src/{labs/Drawer.tsx → Drawer.tsx} +10 -9
- package/src/{DataTable/DataTableEmptyState.tsx → EmptyState.tsx} +34 -19
- package/src/ErrorMessageList.tsx +6 -1
- package/src/FieldError.tsx +10 -5
- package/src/HtmlProps.ts +1 -0
- package/src/MenuItem.tsx +1 -0
- package/src/OdysseyCacheProvider.tsx +11 -3
- package/src/OdysseyProvider.tsx +1 -1
- package/src/OdysseyTranslationProvider.tsx +1 -17
- package/src/{DataTable/DataTablePagination.tsx → Pagination/Pagination.tsx} +107 -74
- package/src/Pagination/constants.ts +13 -0
- package/src/Pagination/index.ts +15 -0
- package/src/Pagination/usePagination.ts +49 -0
- package/src/Radio.tsx +18 -6
- package/src/ScreenReaderText.tsx +15 -3
- package/src/Select.tsx +2 -0
- package/src/Status.tsx +14 -2
- package/src/Surface.tsx +48 -0
- package/src/Tabs.tsx +24 -0
- package/src/TextField.tsx +50 -0
- package/src/Toast.tsx +44 -40
- package/src/icons.generated/Add.tsx +1 -1
- package/src/icons.generated/AddCircle.tsx +1 -1
- package/src/icons.generated/Apps.tsx +1 -1
- package/src/icons.generated/ArrowBottom.tsx +2 -2
- package/src/icons.generated/ArrowDown.tsx +1 -1
- package/src/icons.generated/ArrowLeft.tsx +1 -1
- package/src/icons.generated/ArrowLowerLeft.tsx +1 -1
- package/src/icons.generated/ArrowLowerRight.tsx +1 -1
- package/src/icons.generated/ArrowRight.tsx +1 -1
- package/src/icons.generated/ArrowTop.tsx +2 -2
- package/src/icons.generated/ArrowUnsorted.tsx +1 -1
- package/src/icons.generated/ArrowUp.tsx +1 -1
- package/src/icons.generated/ArrowUpperLeft.tsx +1 -1
- package/src/icons.generated/ArrowUpperRight.tsx +1 -1
- package/src/icons.generated/Bug.tsx +1 -1
- package/src/icons.generated/Calendar.tsx +1 -1
- package/src/icons.generated/Call.tsx +1 -1
- package/src/icons.generated/Chat.tsx +1 -1
- package/src/icons.generated/Check.tsx +1 -1
- package/src/icons.generated/CheckCircleFilled.tsx +1 -1
- package/src/icons.generated/ChevronDown.tsx +1 -1
- package/src/icons.generated/ChevronLeft.tsx +1 -1
- package/src/icons.generated/ChevronRight.tsx +1 -1
- package/src/icons.generated/ChevronUp.tsx +1 -1
- package/src/icons.generated/Clock.tsx +1 -1
- package/src/icons.generated/Close.tsx +1 -1
- package/src/icons.generated/CloseCircleFilled.tsx +1 -1
- package/src/icons.generated/CollapseLeft.tsx +1 -1
- package/src/icons.generated/CollapseRight.tsx +1 -1
- package/src/icons.generated/Copy.tsx +1 -1
- package/src/icons.generated/Custom.tsx +49 -0
- package/src/icons.generated/DangerDiamond.tsx +1 -1
- package/src/icons.generated/DangerDiamondFilled.tsx +1 -1
- package/src/icons.generated/Delete.tsx +1 -1
- package/src/icons.generated/Deny.tsx +1 -1
- package/src/icons.generated/Devices.tsx +1 -1
- package/src/icons.generated/Directory.tsx +1 -1
- package/src/icons.generated/Documentation.tsx +1 -1
- package/src/icons.generated/Download.tsx +1 -1
- package/src/icons.generated/DragIndicator.tsx +1 -1
- package/src/icons.generated/Duo.tsx +59 -0
- package/src/icons.generated/Edit.tsx +1 -1
- package/src/icons.generated/Email.tsx +48 -0
- package/src/icons.generated/ExpandLeft.tsx +1 -1
- package/src/icons.generated/ExpandRight.tsx +1 -1
- package/src/icons.generated/ExternalLink.tsx +1 -1
- package/src/icons.generated/Fido2.tsx +71 -0
- package/src/icons.generated/Filter.tsx +1 -1
- package/src/icons.generated/Folder.tsx +1 -1
- package/src/icons.generated/Globe.tsx +1 -1
- package/src/icons.generated/GoogleAuth.tsx +67 -0
- package/src/icons.generated/Grid.tsx +1 -1
- package/src/icons.generated/Group.tsx +1 -1
- package/src/icons.generated/Hide.tsx +1 -1
- package/src/icons.generated/Home.tsx +1 -1
- package/src/icons.generated/Idp.tsx +51 -0
- package/src/icons.generated/InformationCircle.tsx +1 -1
- package/src/icons.generated/InformationCircleFilled.tsx +1 -1
- package/src/icons.generated/Link.tsx +1 -1
- package/src/icons.generated/List.tsx +1 -1
- package/src/icons.generated/Lock.tsx +1 -1
- package/src/icons.generated/More.tsx +1 -1
- package/src/icons.generated/Notification.tsx +1 -1
- package/src/icons.generated/OktaVerify.tsx +43 -0
- package/src/icons.generated/OnPremMfa.tsx +49 -0
- package/src/icons.generated/OneTimePassword.tsx +63 -0
- package/src/icons.generated/Password.tsx +77 -0
- package/src/icons.generated/Pause.tsx +1 -1
- package/src/icons.generated/QuestionCircle.tsx +1 -1
- package/src/icons.generated/QuestionCircleFilled.tsx +1 -1
- package/src/icons.generated/Refresh.tsx +1 -1
- package/src/icons.generated/Reset.tsx +1 -1
- package/src/icons.generated/Resume.tsx +1 -1
- package/src/icons.generated/Search.tsx +1 -1
- package/src/icons.generated/SecurityQuestion.tsx +48 -0
- package/src/icons.generated/Server.tsx +1 -1
- package/src/icons.generated/Settings.tsx +1 -1
- package/src/icons.generated/Show.tsx +1 -1
- package/src/icons.generated/SmartCard.tsx +62 -0
- package/src/icons.generated/Sms.tsx +52 -0
- package/src/icons.generated/Subtract.tsx +1 -1
- package/src/icons.generated/SymantecVip.tsx +49 -0
- package/src/icons.generated/Sync.tsx +1 -1
- package/src/icons.generated/ThumbsDown.tsx +43 -0
- package/src/icons.generated/ThumbsUp.tsx +43 -0
- package/src/icons.generated/Unlock.tsx +1 -1
- package/src/icons.generated/Upload.tsx +1 -1
- package/src/icons.generated/User.tsx +1 -1
- package/src/icons.generated/Video.tsx +1 -1
- package/src/icons.generated/VoiceCall.tsx +59 -0
- package/src/icons.generated/Warning.tsx +1 -1
- package/src/icons.generated/WarningFilled.tsx +1 -1
- package/src/icons.generated/Yubikey.tsx +41 -0
- package/src/icons.generated/index.ts +18 -0
- package/src/index.ts +7 -2
- package/src/labs/DataComponents/BulkActionsMenu.tsx +97 -0
- package/src/labs/DataComponents/DataStack.tsx +99 -0
- package/src/labs/DataComponents/DataTable.tsx +111 -0
- package/src/labs/DataComponents/DataView.tsx +394 -0
- package/src/labs/DataComponents/DetailPanel.tsx +31 -0
- package/src/labs/DataComponents/LayoutSwitcher.tsx +73 -0
- package/src/labs/DataComponents/RowActions.tsx +122 -0
- package/src/labs/DataComponents/StackCard.tsx +256 -0
- package/src/labs/DataComponents/StackContent.tsx +254 -0
- package/src/labs/DataComponents/TableContent.tsx +390 -0
- package/src/labs/DataComponents/TableSettings.tsx +138 -0
- package/src/labs/DataComponents/componentTypes.ts +111 -0
- package/src/labs/DataComponents/constants.tsx +20 -0
- package/src/labs/DataComponents/dataTypes.ts +77 -0
- package/src/labs/DataComponents/fetchData.ts +47 -0
- package/src/labs/DataComponents/index.tsx +19 -0
- package/src/labs/DataComponents/tableConstants.tsx +162 -0
- package/src/labs/DataComponents/useFilterConversion.ts +92 -0
- package/src/labs/DataFilters.tsx +250 -162
- package/src/labs/DateField.tsx +119 -0
- package/src/labs/DatePicker.tsx +304 -31
- package/src/labs/{DatePicker.types.ts → DatePicker.types.d.ts} +0 -10
- package/src/labs/FileUpload.tsx +30 -21
- package/src/labs/FileUploadIllustration.tsx +1 -1
- package/src/labs/FileUploadPreview.tsx +1 -0
- package/src/labs/Layout.tsx +85 -0
- package/src/labs/NavAccordion.tsx +133 -0
- package/src/labs/PageTemplate.tsx +225 -0
- package/src/labs/SideNav.tsx +745 -0
- package/src/labs/Switch.tsx +240 -119
- package/src/labs/datePickerTheme.tsx +119 -83
- package/src/labs/index.ts +7 -1
- package/src/labs/useDatePickerTranslations.ts +92 -0
- package/src/properties/odyssey-react-mui.properties +76 -10
- package/src/properties/translations/odyssey-react-mui_cs.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_da.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_de.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_el.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_es.properties +65 -8
- package/src/properties/translations/odyssey-react-mui_fi.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_fr.properties +65 -8
- package/src/properties/translations/odyssey-react-mui_ht.properties +112 -0
- package/src/properties/translations/odyssey-react-mui_hu.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_id.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_it.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_ja.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_ko.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_ms.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_nb.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_nl_NL.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_pl.properties +65 -8
- package/src/properties/translations/odyssey-react-mui_pt_BR.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_ro.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_ru.properties +65 -8
- package/src/properties/translations/odyssey-react-mui_sv.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_th.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_tr.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_uk.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_vi.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_zh_CN.properties +64 -7
- package/src/properties/translations/odyssey-react-mui_zh_TW.properties +64 -7
- package/src/properties/ts/odyssey-react-mui.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ht.ts +1 -0
- package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
- package/src/remUtils.ts +27 -0
- package/src/test-selectors/featureTestSelector.ts +41 -0
- package/src/test-selectors/index.ts +15 -0
- package/src/test-selectors/odysseyTestSelectors.ts +22 -0
- package/src/test-selectors/querySelector.ts +198 -0
- package/src/theme/components.tsx +270 -189
- package/src/theme/components.types.ts +5 -3
- package/dist/DataTable/DataTableEmptyState.js.map +0 -1
- package/dist/DataTable/DataTablePagination.js.map +0 -1
- package/dist/Tile.js.map +0 -1
- package/dist/labs/DatePicker.types.js.map +0 -1
- package/dist/labs/Drawer.js.map +0 -1
- package/dist/src/DataTable/DataTableEmptyState.d.ts.map +0 -1
- package/dist/src/DataTable/DataTablePagination.d.ts +0 -33
- package/dist/src/DataTable/DataTablePagination.d.ts.map +0 -1
- package/dist/src/Tile.d.ts.map +0 -1
- package/dist/src/labs/DatePicker.types.d.ts.map +0 -1
- package/dist/src/labs/Drawer.d.ts.map +0 -1
package/src/labs/DataFilters.tsx
CHANGED
|
@@ -20,13 +20,7 @@ import {
|
|
|
20
20
|
useRef,
|
|
21
21
|
useState,
|
|
22
22
|
} from "react";
|
|
23
|
-
import
|
|
24
|
-
import { Autocomplete } from "../Autocomplete";
|
|
25
|
-
import { Box } from "../Box";
|
|
26
|
-
import { TagList } from "../TagList";
|
|
27
|
-
import { Tag } from "../Tag";
|
|
28
|
-
import { SearchField } from "../SearchField";
|
|
29
|
-
import { Button } from "../Button";
|
|
23
|
+
import { Trans, useTranslation } from "react-i18next";
|
|
30
24
|
import {
|
|
31
25
|
IconButton as MuiIconButton,
|
|
32
26
|
Menu as MuiMenu,
|
|
@@ -34,24 +28,52 @@ import {
|
|
|
34
28
|
Popover as MuiPopover,
|
|
35
29
|
Typography as MuiTypography,
|
|
36
30
|
} from "@mui/material";
|
|
31
|
+
import { MRT_ColumnDef, MRT_RowData } from "material-react-table";
|
|
32
|
+
import styled from "@emotion/styled";
|
|
33
|
+
|
|
34
|
+
import { Autocomplete } from "../Autocomplete";
|
|
35
|
+
import { Box } from "../Box";
|
|
36
|
+
import { Button } from "../Button";
|
|
37
|
+
import { CheckboxGroup } from "../CheckboxGroup";
|
|
38
|
+
import { Checkbox } from "../Checkbox";
|
|
37
39
|
import {
|
|
38
40
|
CheckIcon,
|
|
39
41
|
ChevronRightIcon,
|
|
40
42
|
CloseCircleFilledIcon,
|
|
41
43
|
FilterIcon,
|
|
42
44
|
} from "../icons.generated";
|
|
43
|
-
import {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
import {
|
|
46
|
+
DesignTokens,
|
|
47
|
+
useOdysseyDesignTokens,
|
|
48
|
+
} from "../OdysseyDesignTokensContext";
|
|
47
49
|
import { RadioGroup } from "../RadioGroup";
|
|
48
50
|
import { Radio } from "../Radio";
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
+
import { SearchField } from "../SearchField";
|
|
52
|
+
import { Tag } from "../Tag";
|
|
53
|
+
import { TagList } from "../TagList";
|
|
54
|
+
import { TextField } from "../TextField";
|
|
55
|
+
import { Subordinate } from "../Typography";
|
|
56
|
+
|
|
57
|
+
const AutocompleteOuterContainer = styled("div", {
|
|
58
|
+
shouldForwardProp: (prop) => prop !== "odysseyDesignTokens",
|
|
59
|
+
})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({
|
|
60
|
+
display: "flex",
|
|
61
|
+
alignItems: "flex-end",
|
|
62
|
+
gap: odysseyDesignTokens.Spacing2,
|
|
63
|
+
}));
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
const AutocompleteInnerContainer = styled("div")({
|
|
66
|
+
width: "100%",
|
|
67
|
+
});
|
|
53
68
|
|
|
54
|
-
|
|
69
|
+
type Option = {
|
|
70
|
+
label: string;
|
|
71
|
+
value: string;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export type DataFilterValue = string | string[] | Option[] | undefined;
|
|
75
|
+
|
|
76
|
+
export type UpdateFiltersOrValues = ({
|
|
55
77
|
filterId,
|
|
56
78
|
value,
|
|
57
79
|
}: {
|
|
@@ -66,6 +88,12 @@ export type DataFilter = {
|
|
|
66
88
|
* as the column it'll be applied to.
|
|
67
89
|
*/
|
|
68
90
|
id: Exclude<MRT_ColumnDef<MRT_RowData>["accessorKey"], undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* `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`
|
|
93
|
+
*
|
|
94
|
+
* NOTE: This only applies when `variant` is `autocomplete`
|
|
95
|
+
*/
|
|
96
|
+
isCustomValueAllowed?: boolean;
|
|
69
97
|
/**
|
|
70
98
|
* The human-friendly name of the filter.
|
|
71
99
|
*/
|
|
@@ -85,11 +113,11 @@ export type DataFilter = {
|
|
|
85
113
|
* If the filter control has preset options (such as a select or multi-select),
|
|
86
114
|
* these are the options provided.
|
|
87
115
|
*/
|
|
88
|
-
options?:
|
|
116
|
+
options?: Option[];
|
|
89
117
|
/**
|
|
90
118
|
* A callback which renders a custom filter control
|
|
91
119
|
*/
|
|
92
|
-
render?: (updateFilters:
|
|
120
|
+
render?: (updateFilters: UpdateFiltersOrValues) => ReactNode;
|
|
93
121
|
};
|
|
94
122
|
|
|
95
123
|
// This is the type of the DataFilters component itself
|
|
@@ -136,6 +164,97 @@ export type DataFiltersProps = {
|
|
|
136
164
|
isDisabled?: boolean;
|
|
137
165
|
};
|
|
138
166
|
|
|
167
|
+
type FilterTagsProps = {
|
|
168
|
+
activeFilters: DataFilter[];
|
|
169
|
+
updateFilterAndInputValues: UpdateFiltersOrValues;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
type FiltersToRender = {
|
|
173
|
+
id: string;
|
|
174
|
+
label: string;
|
|
175
|
+
value: string;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
const FilterTags = ({
|
|
179
|
+
activeFilters,
|
|
180
|
+
updateFilterAndInputValues,
|
|
181
|
+
}: FilterTagsProps) => {
|
|
182
|
+
const filtersWithValues = activeFilters.filter(
|
|
183
|
+
(activeFilter: DataFilter) => activeFilter.value,
|
|
184
|
+
);
|
|
185
|
+
const filtersToRender: FiltersToRender[] = [];
|
|
186
|
+
|
|
187
|
+
filtersWithValues.forEach((filter) => {
|
|
188
|
+
if (Array.isArray(filter.value)) {
|
|
189
|
+
filter.value.forEach((filterValue) => {
|
|
190
|
+
const formattedValue =
|
|
191
|
+
typeof filterValue === "string" ? filterValue : filterValue.value;
|
|
192
|
+
filtersToRender.push({
|
|
193
|
+
id: filter.id,
|
|
194
|
+
label: filter.label,
|
|
195
|
+
value: formattedValue,
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
if (typeof filter.value === "string") {
|
|
200
|
+
filtersToRender.push({
|
|
201
|
+
id: filter.id,
|
|
202
|
+
label: filter.label,
|
|
203
|
+
value: filter.value,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
const getFilter = (id: string) =>
|
|
209
|
+
filtersWithValues.find((filter) => filter.id === id);
|
|
210
|
+
|
|
211
|
+
const removeValueFromFilterAndInput = (
|
|
212
|
+
id: string,
|
|
213
|
+
removedFilterValue: string,
|
|
214
|
+
) => {
|
|
215
|
+
const currentFilter = getFilter(id);
|
|
216
|
+
|
|
217
|
+
if (currentFilter) {
|
|
218
|
+
const { value } = currentFilter;
|
|
219
|
+
|
|
220
|
+
if (Array.isArray(value)) {
|
|
221
|
+
const updatedValues = value.filter((currentValue) => {
|
|
222
|
+
return (currentValue as Option).value !== removedFilterValue;
|
|
223
|
+
});
|
|
224
|
+
updateFilterAndInputValues({
|
|
225
|
+
filterId: id,
|
|
226
|
+
value:
|
|
227
|
+
updatedValues.length > 0 ? (updatedValues as Option[]) : undefined,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
if (typeof value === "string") {
|
|
232
|
+
updateFilterAndInputValues({
|
|
233
|
+
filterId: id,
|
|
234
|
+
value: undefined,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
return (
|
|
241
|
+
<TagList>
|
|
242
|
+
{filtersToRender.map((filter) => (
|
|
243
|
+
<Tag
|
|
244
|
+
key={`${filter.label}: ${filter.value}`}
|
|
245
|
+
label={`${filter.label}: ${filter.value}`}
|
|
246
|
+
onRemove={() =>
|
|
247
|
+
removeValueFromFilterAndInput(filter.id, filter.value)
|
|
248
|
+
}
|
|
249
|
+
/>
|
|
250
|
+
))}
|
|
251
|
+
</TagList>
|
|
252
|
+
);
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
const MemoizedFilterTags = memo(FilterTags);
|
|
256
|
+
MemoizedFilterTags.displayName = "FilterTags";
|
|
257
|
+
|
|
139
258
|
const DataFilters = ({
|
|
140
259
|
onChangeSearch,
|
|
141
260
|
onChangeFilters,
|
|
@@ -148,6 +267,7 @@ const DataFilters = ({
|
|
|
148
267
|
}: DataFiltersProps) => {
|
|
149
268
|
const [filters, setFilters] = useState<DataFilter[]>(filtersProp);
|
|
150
269
|
const { t } = useTranslation();
|
|
270
|
+
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
151
271
|
|
|
152
272
|
const initialInputValues = useMemo(() => {
|
|
153
273
|
return filtersProp.reduce(
|
|
@@ -162,20 +282,24 @@ const DataFilters = ({
|
|
|
162
282
|
const [inputValues, setInputValues] = useState(initialInputValues);
|
|
163
283
|
|
|
164
284
|
const [searchValue, setSearchValue] = useState<string>(defaultSearchTerm);
|
|
285
|
+
|
|
165
286
|
const activeFilters = useMemo(() => {
|
|
166
|
-
return filters.filter(
|
|
167
|
-
(filter) => typeof filter.value === "string" && filter.value,
|
|
168
|
-
);
|
|
287
|
+
return filters.filter((filter) => filter.value);
|
|
169
288
|
}, [filters]);
|
|
289
|
+
|
|
170
290
|
const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState<boolean>(false);
|
|
291
|
+
|
|
171
292
|
const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState<
|
|
172
293
|
HTMLElement | undefined
|
|
173
294
|
>();
|
|
295
|
+
|
|
174
296
|
const [isFilterPopoverOpen, setIsFilterPopoverOpen] =
|
|
175
297
|
useState<boolean>(false);
|
|
298
|
+
|
|
176
299
|
const [filterPopoverAnchorElement, setFilterPopoverAnchorElement] = useState<
|
|
177
300
|
HTMLElement | undefined
|
|
178
301
|
>();
|
|
302
|
+
|
|
179
303
|
const [filterPopoverCurrentFilter, setFilterPopoverCurrentFilter] = useState<
|
|
180
304
|
DataFilter | undefined
|
|
181
305
|
>();
|
|
@@ -187,6 +311,7 @@ const DataFilters = ({
|
|
|
187
311
|
}, [filters, onChangeFilters]);
|
|
188
312
|
|
|
189
313
|
const debouncer = useRef<NodeJS.Timeout | undefined>(undefined);
|
|
314
|
+
|
|
190
315
|
useEffect(() => {
|
|
191
316
|
if (!hasSearchSubmitButton) {
|
|
192
317
|
if (debouncer.current) {
|
|
@@ -200,86 +325,79 @@ const DataFilters = ({
|
|
|
200
325
|
}, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);
|
|
201
326
|
|
|
202
327
|
const autocompleteOptions = useMemo(() => {
|
|
203
|
-
|
|
204
|
-
if (
|
|
205
|
-
filterPopoverCurrentFilter?.variant === "autocomplete" &&
|
|
206
|
-
filterPopoverCurrentFilter?.options
|
|
207
|
-
) {
|
|
208
|
-
return filterPopoverCurrentFilter.options.map((option) => ({
|
|
209
|
-
label: option.label,
|
|
210
|
-
}));
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// if filterPopoverCurrentFilter or filterPopoverCurrentFilter.options is undefined
|
|
214
|
-
return [];
|
|
328
|
+
return filterPopoverCurrentFilter?.options || [];
|
|
215
329
|
}, [filterPopoverCurrentFilter]);
|
|
216
330
|
|
|
217
|
-
const updateInputValue = useCallback(
|
|
218
|
-
({ filterId, value }
|
|
331
|
+
const updateInputValue = useCallback<UpdateFiltersOrValues>(
|
|
332
|
+
({ filterId, value }) => {
|
|
219
333
|
setInputValues({ ...inputValues, [filterId]: value });
|
|
220
334
|
},
|
|
221
335
|
[inputValues],
|
|
222
336
|
);
|
|
223
337
|
|
|
224
|
-
const updateFilters = useCallback<
|
|
338
|
+
const updateFilters = useCallback<UpdateFiltersOrValues>(
|
|
225
339
|
({ filterId, value }) => {
|
|
340
|
+
setInputValues((prevInputValues) => ({
|
|
341
|
+
...prevInputValues,
|
|
342
|
+
[filterId]: value,
|
|
343
|
+
}));
|
|
226
344
|
const updatedFilters = filtersProp.map((filter) => ({
|
|
227
345
|
...filter,
|
|
228
346
|
value: filter.id === filterId ? value : inputValues[filter.id],
|
|
229
347
|
}));
|
|
230
|
-
|
|
231
348
|
setFilters(updatedFilters);
|
|
232
349
|
},
|
|
233
350
|
[inputValues, filtersProp],
|
|
234
351
|
);
|
|
235
352
|
|
|
236
|
-
const
|
|
237
|
-
|
|
353
|
+
const updateFilterAndInputValues = useCallback<UpdateFiltersOrValues>(
|
|
354
|
+
({ filterId, value }) => {
|
|
355
|
+
updateInputValue({ filterId, value });
|
|
356
|
+
updateFilters({ filterId, value });
|
|
357
|
+
},
|
|
358
|
+
[updateFilters, updateInputValue],
|
|
359
|
+
);
|
|
360
|
+
|
|
361
|
+
const handleCheckboxFilterAndInputValueChange = useCallback<
|
|
362
|
+
(filterId: string, option: Option, checked: boolean) => void
|
|
238
363
|
>(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if (Array.isArray(value)) {
|
|
242
|
-
// Iterating to find the label
|
|
243
|
-
return value
|
|
244
|
-
.map((valueElement) => {
|
|
245
|
-
if (typeof valueElement === "string") {
|
|
246
|
-
return undefined;
|
|
247
|
-
}
|
|
248
|
-
return valueElement.label;
|
|
249
|
-
})
|
|
250
|
-
.filter((item): item is string => Boolean(item));
|
|
251
|
-
}
|
|
364
|
+
(filterId, option, checked) => {
|
|
365
|
+
const currentValues = (inputValues[filterId] as Option[]) || [];
|
|
252
366
|
|
|
253
|
-
|
|
254
|
-
|
|
367
|
+
const updatedValues = checked
|
|
368
|
+
? [...currentValues, option]
|
|
369
|
+
: currentValues.filter(
|
|
370
|
+
(inputValue) => inputValue.value !== option.value,
|
|
371
|
+
);
|
|
255
372
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
if (submit) {
|
|
274
|
-
const updatedFilters = filtersProp.map((filter) => ({
|
|
275
|
-
...filter,
|
|
276
|
-
value: filter.id === filterId ? valuesToSave : inputValues[filter.id],
|
|
277
|
-
}));
|
|
278
|
-
|
|
279
|
-
setFilters(updatedFilters);
|
|
280
|
-
}
|
|
373
|
+
const normalizedUpdatedValues =
|
|
374
|
+
updatedValues.length > 0 ? updatedValues : undefined;
|
|
375
|
+
|
|
376
|
+
setInputValues({
|
|
377
|
+
...inputValues,
|
|
378
|
+
[filterId]: normalizedUpdatedValues,
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
const updatedFilters = filters.map((filter) => ({
|
|
382
|
+
...filter,
|
|
383
|
+
value:
|
|
384
|
+
filter.id === filterId
|
|
385
|
+
? normalizedUpdatedValues
|
|
386
|
+
: inputValues[filter.id],
|
|
387
|
+
}));
|
|
388
|
+
|
|
389
|
+
setFilters(updatedFilters);
|
|
281
390
|
},
|
|
282
|
-
[
|
|
391
|
+
[filters, inputValues],
|
|
392
|
+
);
|
|
393
|
+
|
|
394
|
+
const handleAutocompleteFilterChange = useCallback<
|
|
395
|
+
(filterId: string, option: Option[]) => void
|
|
396
|
+
>(
|
|
397
|
+
(filterId, option) => {
|
|
398
|
+
setInputValues({ ...inputValues, [filterId]: option });
|
|
399
|
+
},
|
|
400
|
+
[inputValues],
|
|
283
401
|
);
|
|
284
402
|
|
|
285
403
|
const clearAllFilters = useCallback(() => {
|
|
@@ -310,16 +428,6 @@ const DataFilters = ({
|
|
|
310
428
|
setFilters(updatedFilters);
|
|
311
429
|
}, [inputValues, filtersProp]);
|
|
312
430
|
|
|
313
|
-
const AutocompleteOuterContainer = styled("div")({
|
|
314
|
-
display: "flex",
|
|
315
|
-
gap: "2",
|
|
316
|
-
alignItems: "flex-end",
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
const AutocompleteInnerContainer = styled("div")({
|
|
320
|
-
width: "100%",
|
|
321
|
-
});
|
|
322
|
-
|
|
323
431
|
const filterMenu = useMemo(
|
|
324
432
|
() => (
|
|
325
433
|
<>
|
|
@@ -435,6 +543,14 @@ const DataFilters = ({
|
|
|
435
543
|
],
|
|
436
544
|
);
|
|
437
545
|
|
|
546
|
+
const autoCompleteValue = useMemo(
|
|
547
|
+
() =>
|
|
548
|
+
filterPopoverCurrentFilter?.id
|
|
549
|
+
? (inputValues[filterPopoverCurrentFilter.id] as Option[])
|
|
550
|
+
: undefined,
|
|
551
|
+
[filterPopoverCurrentFilter, inputValues],
|
|
552
|
+
);
|
|
553
|
+
|
|
438
554
|
return (
|
|
439
555
|
<Box>
|
|
440
556
|
{/* Upper section */}
|
|
@@ -468,7 +584,7 @@ const DataFilters = ({
|
|
|
468
584
|
setIsFiltersMenuOpen(false);
|
|
469
585
|
}
|
|
470
586
|
}
|
|
471
|
-
|
|
587
|
+
handleFilterSubmit();
|
|
472
588
|
setIsFilterPopoverOpen(false);
|
|
473
589
|
}}
|
|
474
590
|
>
|
|
@@ -480,6 +596,7 @@ const DataFilters = ({
|
|
|
480
596
|
setIsFilterPopoverOpen(false);
|
|
481
597
|
setIsFiltersMenuOpen(false);
|
|
482
598
|
}}
|
|
599
|
+
noValidate
|
|
483
600
|
>
|
|
484
601
|
{filterPopoverCurrentFilter?.render ? (
|
|
485
602
|
filterPopoverCurrentFilter.render(updateFilters)
|
|
@@ -489,35 +606,22 @@ const DataFilters = ({
|
|
|
489
606
|
{filterPopoverCurrentFilter?.variant ===
|
|
490
607
|
"autocomplete" &&
|
|
491
608
|
filterPopoverCurrentFilter?.options && (
|
|
492
|
-
<AutocompleteOuterContainer
|
|
609
|
+
<AutocompleteOuterContainer
|
|
610
|
+
odysseyDesignTokens={odysseyDesignTokens}
|
|
611
|
+
>
|
|
493
612
|
<AutocompleteInnerContainer>
|
|
494
613
|
<Autocomplete
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
filterPopoverCurrentFilter.id
|
|
499
|
-
] ?? ""
|
|
614
|
+
hasMultipleChoices
|
|
615
|
+
isCustomValueAllowed={
|
|
616
|
+
filterPopoverCurrentFilter?.isCustomValueAllowed
|
|
500
617
|
}
|
|
618
|
+
label={filterPopoverCurrentFilter.label}
|
|
619
|
+
value={autoCompleteValue}
|
|
501
620
|
onChange={(_, value) => {
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
? getAutoCompleteLabel(
|
|
507
|
-
value.map((item) =>
|
|
508
|
-
typeof item === "string"
|
|
509
|
-
? { label: item }
|
|
510
|
-
: item,
|
|
511
|
-
),
|
|
512
|
-
)
|
|
513
|
-
: value
|
|
514
|
-
? getAutoCompleteLabel(value)
|
|
515
|
-
: "";
|
|
516
|
-
|
|
517
|
-
updateInputValue({
|
|
518
|
-
filterId: filterPopoverCurrentFilter.id,
|
|
519
|
-
value: label,
|
|
520
|
-
});
|
|
621
|
+
handleAutocompleteFilterChange(
|
|
622
|
+
filterPopoverCurrentFilter.id,
|
|
623
|
+
value as Option[],
|
|
624
|
+
);
|
|
521
625
|
}}
|
|
522
626
|
options={autocompleteOptions}
|
|
523
627
|
/>
|
|
@@ -606,28 +710,32 @@ const DataFilters = ({
|
|
|
606
710
|
isRequired
|
|
607
711
|
>
|
|
608
712
|
{filterPopoverCurrentFilter.options.map(
|
|
609
|
-
(option: { label: string; value: string }) =>
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
713
|
+
(option: { label: string; value: string }) => {
|
|
714
|
+
const checkFilterInputValuesAsArray =
|
|
715
|
+
(inputValues[
|
|
716
|
+
filterPopoverCurrentFilter.id
|
|
717
|
+
] as Option[]) || [];
|
|
718
|
+
const isOptionValueInInputValues =
|
|
719
|
+
checkFilterInputValuesAsArray.some(
|
|
720
|
+
(inputValue) =>
|
|
721
|
+
inputValue.value === option.value,
|
|
722
|
+
);
|
|
723
|
+
return (
|
|
724
|
+
<Checkbox
|
|
725
|
+
key={option.value}
|
|
726
|
+
label={option.label}
|
|
727
|
+
value={option.value}
|
|
728
|
+
isChecked={isOptionValueInInputValues}
|
|
729
|
+
onChange={(_, checked) => {
|
|
730
|
+
handleCheckboxFilterAndInputValueChange(
|
|
731
|
+
filterPopoverCurrentFilter.id,
|
|
732
|
+
option,
|
|
733
|
+
checked,
|
|
734
|
+
);
|
|
735
|
+
}}
|
|
736
|
+
/>
|
|
737
|
+
);
|
|
738
|
+
},
|
|
631
739
|
)}
|
|
632
740
|
</CheckboxGroup>
|
|
633
741
|
)}
|
|
@@ -638,12 +746,7 @@ const DataFilters = ({
|
|
|
638
746
|
<RadioGroup
|
|
639
747
|
label={filterPopoverCurrentFilter.label}
|
|
640
748
|
onChange={(_, value) => {
|
|
641
|
-
|
|
642
|
-
filterId: filterPopoverCurrentFilter.id,
|
|
643
|
-
value,
|
|
644
|
-
});
|
|
645
|
-
|
|
646
|
-
updateFilters({
|
|
749
|
+
updateFilterAndInputValues({
|
|
647
750
|
filterId: filterPopoverCurrentFilter.id,
|
|
648
751
|
value,
|
|
649
752
|
});
|
|
@@ -748,25 +851,10 @@ const DataFilters = ({
|
|
|
748
851
|
marginTop: 4,
|
|
749
852
|
}}
|
|
750
853
|
>
|
|
751
|
-
<
|
|
752
|
-
{activeFilters
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
label={`${filter.label}: ${filter.value}`}
|
|
756
|
-
onRemove={() => {
|
|
757
|
-
updateInputValue({
|
|
758
|
-
filterId: filter.id,
|
|
759
|
-
value: undefined,
|
|
760
|
-
});
|
|
761
|
-
|
|
762
|
-
updateFilters({
|
|
763
|
-
filterId: filter.id,
|
|
764
|
-
value: undefined,
|
|
765
|
-
});
|
|
766
|
-
}}
|
|
767
|
-
/>
|
|
768
|
-
))}
|
|
769
|
-
</TagList>
|
|
854
|
+
<MemoizedFilterTags
|
|
855
|
+
activeFilters={activeFilters}
|
|
856
|
+
updateFilterAndInputValues={updateFilterAndInputValues}
|
|
857
|
+
/>
|
|
770
858
|
</Box>
|
|
771
859
|
)}
|
|
772
860
|
</Box>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { ChangeEventHandler, ChangeEvent, memo, useCallback } from "react";
|
|
14
|
+
import { InputAdornment } from "@mui/material";
|
|
15
|
+
import {
|
|
16
|
+
DateField as MuiDateField,
|
|
17
|
+
DateFieldProps as MuiDateFieldProps,
|
|
18
|
+
} from "@mui/x-date-pickers";
|
|
19
|
+
import { DateTime } from "luxon";
|
|
20
|
+
|
|
21
|
+
import { Field, RenderFieldComponentProps } from "../Field";
|
|
22
|
+
import { TextFieldProps } from "../TextField";
|
|
23
|
+
|
|
24
|
+
export type DateFieldProps = {
|
|
25
|
+
defaultValue?: MuiDateFieldProps<DateTime>["defaultValue"];
|
|
26
|
+
onChange: ChangeEventHandler<HTMLInputElement>;
|
|
27
|
+
value?: MuiDateFieldProps<DateTime>["value"];
|
|
28
|
+
} & Pick<
|
|
29
|
+
TextFieldProps,
|
|
30
|
+
| "endAdornment"
|
|
31
|
+
| "errorMessage"
|
|
32
|
+
| "hasInitialFocus"
|
|
33
|
+
| "hint"
|
|
34
|
+
| "id"
|
|
35
|
+
| "isDisabled"
|
|
36
|
+
| "isOptional"
|
|
37
|
+
| "isReadOnly"
|
|
38
|
+
| "label"
|
|
39
|
+
| "onBlur"
|
|
40
|
+
| "onFocus"
|
|
41
|
+
>;
|
|
42
|
+
|
|
43
|
+
const DateField = ({
|
|
44
|
+
defaultValue,
|
|
45
|
+
endAdornment,
|
|
46
|
+
errorMessage,
|
|
47
|
+
hasInitialFocus,
|
|
48
|
+
hint,
|
|
49
|
+
id: idOverride,
|
|
50
|
+
isDisabled = false,
|
|
51
|
+
isOptional = false,
|
|
52
|
+
isReadOnly,
|
|
53
|
+
label,
|
|
54
|
+
onBlur,
|
|
55
|
+
onChange,
|
|
56
|
+
onFocus,
|
|
57
|
+
value,
|
|
58
|
+
}: DateFieldProps) => {
|
|
59
|
+
const renderFieldComponent = useCallback(
|
|
60
|
+
({ ariaDescribedBy, id, labelElementId }: RenderFieldComponentProps) => (
|
|
61
|
+
<MuiDateField
|
|
62
|
+
/* eslint-disable-next-line jsx-a11y/no-autofocus */
|
|
63
|
+
autoFocus={hasInitialFocus}
|
|
64
|
+
defaultValue={defaultValue}
|
|
65
|
+
disabled={isDisabled}
|
|
66
|
+
id={id}
|
|
67
|
+
inputProps={{
|
|
68
|
+
"aria-describedby": ariaDescribedBy,
|
|
69
|
+
"aria-labelledby": labelElementId,
|
|
70
|
+
onChange: (event) =>
|
|
71
|
+
onChange?.(event as ChangeEvent<HTMLInputElement>),
|
|
72
|
+
}}
|
|
73
|
+
InputProps={{
|
|
74
|
+
error: Boolean(errorMessage),
|
|
75
|
+
endAdornment: (
|
|
76
|
+
<InputAdornment position="end">{endAdornment}</InputAdornment>
|
|
77
|
+
),
|
|
78
|
+
}}
|
|
79
|
+
name={id}
|
|
80
|
+
onBlur={onBlur}
|
|
81
|
+
onFocus={onFocus}
|
|
82
|
+
readOnly={isReadOnly}
|
|
83
|
+
value={value}
|
|
84
|
+
variant="standard"
|
|
85
|
+
/>
|
|
86
|
+
),
|
|
87
|
+
[
|
|
88
|
+
defaultValue,
|
|
89
|
+
endAdornment,
|
|
90
|
+
errorMessage,
|
|
91
|
+
hasInitialFocus,
|
|
92
|
+
isDisabled,
|
|
93
|
+
onChange,
|
|
94
|
+
onFocus,
|
|
95
|
+
onBlur,
|
|
96
|
+
isReadOnly,
|
|
97
|
+
value,
|
|
98
|
+
],
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
return (
|
|
102
|
+
<Field
|
|
103
|
+
errorMessage={errorMessage}
|
|
104
|
+
fieldType="single"
|
|
105
|
+
hasVisibleLabel
|
|
106
|
+
hint={hint}
|
|
107
|
+
id={idOverride}
|
|
108
|
+
isDisabled={isDisabled}
|
|
109
|
+
isOptional={isOptional}
|
|
110
|
+
label={label}
|
|
111
|
+
renderFieldComponent={renderFieldComponent}
|
|
112
|
+
/>
|
|
113
|
+
);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const MemoizedDateField = memo(DateField);
|
|
117
|
+
MemoizedDateField.displayName = "DateField";
|
|
118
|
+
|
|
119
|
+
export { MemoizedDateField as DateField };
|