@okta/odyssey-react-mui 1.32.0 → 1.32.4
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/theme/components.cjs +6 -0
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +2 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +36 -11
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs +14 -2
- package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellContent.cjs +48 -32
- package/dist/cjs/ui-shell/UiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/index.cjs +9 -1
- package/dist/cjs/ui-shell/index.cjs.map +1 -1
- package/dist/cjs/useContrastMode.cjs +1 -1
- package/dist/cjs/useContrastMode.cjs.map +1 -1
- package/dist/esm/theme/components.js +6 -0
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +2 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +37 -12
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavLogo.js +14 -2
- package/dist/esm/ui-shell/SideNav/SideNavLogo.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
- package/dist/esm/ui-shell/UiShellContent.js +45 -31
- package/dist/esm/ui-shell/UiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/index.js +1 -0
- package/dist/esm/ui-shell/index.js.map +1 -1
- package/dist/esm/useContrastMode.js +2 -2
- package/dist/esm/useContrastMode.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +9 -7
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavLogo.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/types.d.ts +5 -1
- package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShellContent.d.ts +8 -2
- package/dist/types/ui-shell/UiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/index.d.ts +1 -1
- package/dist/types/ui-shell/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/.browserslistrc +0 -1
- package/.svgrrc.cjs +0 -13
- package/CHANGELOG.md +0 -1490
- package/babel.config.cjs +0 -112
- package/i18n.config.json +0 -10
- package/scripts/generateIconsIndex.ts +0 -49
- package/scripts/generateTestSelectorsJson.ts +0 -33
- package/scripts/properties-to-ts.ts +0 -111
- package/src/@types/i18next.d.ts +0 -24
- package/src/@types/properties.d.ts +0 -292
- package/src/@types/react-augment.d.ts +0 -22
- package/src/Accordion.tsx +0 -117
- package/src/Autocomplete.tsx +0 -321
- package/src/Badge.tsx +0 -112
- package/src/Banner.tsx +0 -112
- package/src/Box.tsx +0 -44
- package/src/Breadcrumbs.tsx +0 -221
- package/src/Buttons/BaseButton.tsx +0 -250
- package/src/Buttons/BaseMenuButton.tsx +0 -342
- package/src/Buttons/Button.tsx +0 -30
- package/src/Buttons/ButtonContext.tsx +0 -23
- package/src/Buttons/MenuButton.tsx +0 -33
- package/src/Buttons/MenuContext.ts +0 -25
- package/src/Buttons/MenuItem.tsx +0 -103
- package/src/Buttons/index.ts +0 -25
- package/src/Callout.tsx +0 -176
- package/src/Card.tsx +0 -186
- package/src/Checkbox.tsx +0 -261
- package/src/CheckboxGroup.tsx +0 -127
- package/src/CircularProgress.tsx +0 -42
- package/src/CssBaseline.tsx +0 -20
- package/src/DataTable/DataTable.tsx +0 -968
- package/src/DataTable/DataTableRowActions.tsx +0 -132
- package/src/DataTable/DataTableSettings.tsx +0 -136
- package/src/DataTable/constants.ts +0 -13
- package/src/DataTable/index.tsx +0 -28
- package/src/DataTable/reorderDataRowsLocally.tsx +0 -48
- package/src/DataTable/useRowReordering.tsx +0 -232
- package/src/DataTable/useScrollIndication.tsx +0 -125
- package/src/DatePickers/DateField.tsx +0 -267
- package/src/DatePickers/DateFieldActionBar.tsx +0 -65
- package/src/DatePickers/DateFieldLocalizationProvider.tsx +0 -46
- package/src/DatePickers/DatePicker.test.tsx +0 -66
- package/src/DatePickers/DatePicker.tsx +0 -299
- package/src/DatePickers/DatePicker.types.d.ts +0 -14
- package/src/DatePickers/TimeZonePicker.tsx +0 -59
- package/src/DatePickers/datePickerTheme.tsx +0 -377
- package/src/DatePickers/index.ts +0 -15
- package/src/DatePickers/useDateFieldsTranslations.ts +0 -94
- package/src/DatePickers/useOdysseyDateFields.ts +0 -303
- package/src/Dialog.tsx +0 -178
- package/src/Drawer.tsx +0 -255
- package/src/EmptyState.tsx +0 -79
- package/src/ErrorMessageList.tsx +0 -56
- package/src/Field.tsx +0 -189
- package/src/FieldComponentProps.ts +0 -66
- package/src/FieldError.tsx +0 -59
- package/src/FieldHint.tsx +0 -72
- package/src/FieldLabel.tsx +0 -67
- package/src/Fieldset.tsx +0 -116
- package/src/FieldsetContext.tsx +0 -23
- package/src/FileUploader/FileUploadIllustration.tsx +0 -66
- package/src/FileUploader/FileUploadPreview.tsx +0 -151
- package/src/FileUploader/FileUploader.tsx +0 -311
- package/src/FileUploader/index.ts +0 -13
- package/src/Form.tsx +0 -185
- package/src/FormCheckedProps.ts +0 -59
- package/src/HintLink.tsx +0 -28
- package/src/HtmlProps.ts +0 -112
- package/src/IconWithTooltip.tsx +0 -90
- package/src/Link.tsx +0 -115
- package/src/MuiPropsChild.tsx +0 -42
- package/src/MuiPropsContext.ts +0 -18
- package/src/NativeSelect.tsx +0 -249
- package/src/NullElement.tsx +0 -13
- package/src/OdysseyCacheProvider.test.tsx +0 -39
- package/src/OdysseyCacheProvider.tsx +0 -86
- package/src/OdysseyDesignTokensContext.tsx +0 -23
- package/src/OdysseyProvider.tsx +0 -92
- package/src/OdysseyThemeProvider.test.tsx +0 -211
- package/src/OdysseyThemeProvider.tsx +0 -109
- package/src/OdysseyTranslationProvider.test.tsx +0 -95
- package/src/OdysseyTranslationProvider.tsx +0 -77
- package/src/OdysseyTranslationProvider.types.ts +0 -47
- package/src/Pagination/Pagination.test.tsx +0 -327
- package/src/Pagination/Pagination.tsx +0 -417
- package/src/Pagination/constants.ts +0 -13
- package/src/Pagination/index.ts +0 -15
- package/src/Pagination/usePagination.ts +0 -45
- package/src/PasswordField.tsx +0 -253
- package/src/Radio.tsx +0 -199
- package/src/RadioGroup.tsx +0 -164
- package/src/ScreenReaderText.tsx +0 -53
- package/src/SearchField.tsx +0 -240
- package/src/Select.tsx +0 -576
- package/src/Stack.tsx +0 -56
- package/src/Status.tsx +0 -67
- package/src/Surface.tsx +0 -61
- package/src/SvgIcon.ts +0 -22
- package/src/Switch.tsx +0 -425
- package/src/Tabs.tsx +0 -259
- package/src/Tag.tsx +0 -317
- package/src/TagList.tsx +0 -55
- package/src/TagListContext.tsx +0 -23
- package/src/TextField.tsx +0 -298
- package/src/Toast.tsx +0 -151
- package/src/ToastStack.tsx +0 -43
- package/src/Tooltip.tsx +0 -61
- package/src/Typography.test.tsx +0 -26
- package/src/Typography.tsx +0 -474
- package/src/createContrastColors.ts +0 -112
- package/src/createUniqueAlphabeticalId.test.ts +0 -22
- package/src/createUniqueAlphabeticalId.ts +0 -17
- package/src/createUniqueId.test.ts +0 -22
- package/src/createUniqueId.ts +0 -17
- package/src/getTypedObjectKeys.ts +0 -15
- package/src/hexToRgb.ts +0 -40
- package/src/i18n.ts +0 -110
- package/src/icons.generated/Add.tsx +0 -44
- package/src/icons.generated/AddCircle.tsx +0 -46
- package/src/icons.generated/Apps.tsx +0 -44
- package/src/icons.generated/ArrowBottom.tsx +0 -46
- package/src/icons.generated/ArrowDown.tsx +0 -46
- package/src/icons.generated/ArrowLeft.tsx +0 -46
- package/src/icons.generated/ArrowLowerLeft.tsx +0 -46
- package/src/icons.generated/ArrowLowerRight.tsx +0 -46
- package/src/icons.generated/ArrowRight.tsx +0 -46
- package/src/icons.generated/ArrowTop.tsx +0 -46
- package/src/icons.generated/ArrowUnsorted.tsx +0 -46
- package/src/icons.generated/ArrowUp.tsx +0 -46
- package/src/icons.generated/ArrowUpperLeft.tsx +0 -46
- package/src/icons.generated/ArrowUpperRight.tsx +0 -46
- package/src/icons.generated/Bug.tsx +0 -44
- package/src/icons.generated/Calendar.tsx +0 -46
- package/src/icons.generated/Call.tsx +0 -44
- package/src/icons.generated/Chat.tsx +0 -44
- package/src/icons.generated/Check.tsx +0 -44
- package/src/icons.generated/CheckCircleFilled.tsx +0 -47
- package/src/icons.generated/ChevronDown.tsx +0 -46
- package/src/icons.generated/ChevronLeft.tsx +0 -46
- package/src/icons.generated/ChevronRight.tsx +0 -46
- package/src/icons.generated/ChevronUp.tsx +0 -46
- package/src/icons.generated/Clock.tsx +0 -44
- package/src/icons.generated/Close.tsx +0 -44
- package/src/icons.generated/CloseCircleFilled.tsx +0 -47
- package/src/icons.generated/CollapseLeft.tsx +0 -46
- package/src/icons.generated/CollapseRight.tsx +0 -46
- package/src/icons.generated/Copy.tsx +0 -44
- package/src/icons.generated/Custom.tsx +0 -50
- package/src/icons.generated/DangerDiamond.tsx +0 -46
- package/src/icons.generated/DangerDiamondFilled.tsx +0 -47
- package/src/icons.generated/Delete.tsx +0 -44
- package/src/icons.generated/Deny.tsx +0 -44
- package/src/icons.generated/Devices.tsx +0 -46
- package/src/icons.generated/Directory.tsx +0 -46
- package/src/icons.generated/Documentation.tsx +0 -46
- package/src/icons.generated/Download.tsx +0 -46
- package/src/icons.generated/DragIndicator.tsx +0 -46
- package/src/icons.generated/Duo.tsx +0 -62
- package/src/icons.generated/Edit.tsx +0 -44
- package/src/icons.generated/Email.tsx +0 -49
- package/src/icons.generated/ExpandLeft.tsx +0 -46
- package/src/icons.generated/ExpandRight.tsx +0 -46
- package/src/icons.generated/ExternalLink.tsx +0 -44
- package/src/icons.generated/Fido2.tsx +0 -72
- package/src/icons.generated/Filter.tsx +0 -44
- package/src/icons.generated/Folder.tsx +0 -44
- package/src/icons.generated/Globe.tsx +0 -44
- package/src/icons.generated/GoogleAuth.tsx +0 -70
- package/src/icons.generated/Grid.tsx +0 -47
- package/src/icons.generated/Group.tsx +0 -44
- package/src/icons.generated/Hide.tsx +0 -44
- package/src/icons.generated/Home.tsx +0 -44
- package/src/icons.generated/Idp.tsx +0 -54
- package/src/icons.generated/InformationCircle.tsx +0 -47
- package/src/icons.generated/InformationCircleFilled.tsx +0 -47
- package/src/icons.generated/Link.tsx +0 -44
- package/src/icons.generated/List.tsx +0 -44
- package/src/icons.generated/Lock.tsx +0 -44
- package/src/icons.generated/More.tsx +0 -44
- package/src/icons.generated/Notification.tsx +0 -46
- package/src/icons.generated/OktaVerify.tsx +0 -46
- package/src/icons.generated/OnPremMfa.tsx +0 -52
- package/src/icons.generated/OneTimePassword.tsx +0 -65
- package/src/icons.generated/Password.tsx +0 -80
- package/src/icons.generated/Pause.tsx +0 -44
- package/src/icons.generated/QuestionCircle.tsx +0 -46
- package/src/icons.generated/QuestionCircleFilled.tsx +0 -47
- package/src/icons.generated/Refresh.tsx +0 -46
- package/src/icons.generated/Reset.tsx +0 -44
- package/src/icons.generated/Resume.tsx +0 -44
- package/src/icons.generated/Search.tsx +0 -44
- package/src/icons.generated/SecurityQuestion.tsx +0 -51
- package/src/icons.generated/Server.tsx +0 -44
- package/src/icons.generated/Settings.tsx +0 -46
- package/src/icons.generated/Show.tsx +0 -44
- package/src/icons.generated/SmartCard.tsx +0 -65
- package/src/icons.generated/Sms.tsx +0 -55
- package/src/icons.generated/Subtract.tsx +0 -46
- package/src/icons.generated/SymantecVip.tsx +0 -52
- package/src/icons.generated/Sync.tsx +0 -44
- package/src/icons.generated/ThumbsDown.tsx +0 -46
- package/src/icons.generated/ThumbsUp.tsx +0 -46
- package/src/icons.generated/Unlock.tsx +0 -44
- package/src/icons.generated/Upload.tsx +0 -44
- package/src/icons.generated/User.tsx +0 -44
- package/src/icons.generated/Video.tsx +0 -44
- package/src/icons.generated/VoiceCall.tsx +0 -62
- package/src/icons.generated/Warning.tsx +0 -46
- package/src/icons.generated/WarningFilled.tsx +0 -46
- package/src/icons.generated/Yubikey.tsx +0 -44
- package/src/icons.generated/index.ts +0 -107
- package/src/index.ts +0 -118
- package/src/inputUtils.ts +0 -80
- package/src/labs/AppTile.tsx +0 -421
- package/src/labs/DataFilters.tsx +0 -871
- package/src/labs/DataTable.tsx +0 -877
- package/src/labs/DataTablePagination.tsx +0 -88
- package/src/labs/DataView/BulkActionsMenu.tsx +0 -98
- package/src/labs/DataView/CardLayoutContent.tsx +0 -272
- package/src/labs/DataView/DataCard.tsx +0 -357
- package/src/labs/DataView/DataTable.tsx +0 -128
- package/src/labs/DataView/DataView.test.tsx +0 -1168
- package/src/labs/DataView/DataView.tsx +0 -504
- package/src/labs/DataView/DetailPanel.tsx +0 -31
- package/src/labs/DataView/LayoutSwitcher.tsx +0 -72
- package/src/labs/DataView/RowActions.tsx +0 -125
- package/src/labs/DataView/TableLayoutContent.tsx +0 -500
- package/src/labs/DataView/TableSettings.tsx +0 -144
- package/src/labs/DataView/componentTypes.ts +0 -129
- package/src/labs/DataView/constants.tsx +0 -28
- package/src/labs/DataView/dataTypes.ts +0 -83
- package/src/labs/DataView/fetchData.ts +0 -49
- package/src/labs/DataView/index.ts +0 -19
- package/src/labs/DataView/tableConstants.tsx +0 -137
- package/src/labs/DataView/testSupportData.tsx +0 -301
- package/src/labs/DataView/useFilterConversion.ts +0 -88
- package/src/labs/DatePickers/DateTimeField.tsx +0 -267
- package/src/labs/DatePickers/DateTimePicker.test.tsx +0 -70
- package/src/labs/DatePickers/DateTimePicker.tsx +0 -303
- package/src/labs/DatePickers/dateTimePickerTheme.ts +0 -216
- package/src/labs/DatePickers/index.ts +0 -13
- package/src/labs/GroupPicker.tsx +0 -261
- package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +0 -32
- package/src/labs/OdysseyPickers/ComposablePicker.tsx +0 -188
- package/src/labs/OdysseyPickers/Picker.tsx +0 -381
- package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +0 -192
- package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +0 -429
- package/src/labs/OdysseyPickers/index.ts +0 -15
- package/src/labs/PageTemplate/Layout.tsx +0 -85
- package/src/labs/PageTemplate/PageTemplate.tsx +0 -234
- package/src/labs/PageTemplate/index.ts +0 -14
- package/src/labs/PaginatedTable.tsx +0 -290
- package/src/labs/README.md +0 -46
- package/src/labs/StaticTable.tsx +0 -131
- package/src/labs/UserProfile.tsx +0 -104
- package/src/labs/UserProfileMenuButton.tsx +0 -86
- package/src/labs/index.ts +0 -47
- package/src/labs/materialReactTableTypes.tsx +0 -19
- package/src/properties/odyssey-react-mui.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_cs.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_da.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_de.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_el.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_es.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_fi.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_fr.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ht.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_hu.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_id.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_it.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ja.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ko.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ms.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_nb.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_nl_NL.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ok_PL.properties +0 -126
- package/src/properties/translations/odyssey-react-mui_ok_SK.properties +0 -126
- package/src/properties/translations/odyssey-react-mui_pl.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_pt_BR.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ro.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ru.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_sv.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_th.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_tr.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_uk.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_vi.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_zh_CN.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_zh_TW.properties +0 -140
- package/src/properties/ts/odyssey-react-mui.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_cs.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_da.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_de.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_el.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_es.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_fi.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_fr.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ht.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_hu.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_id.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_it.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ja.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ko.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ms.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_nb.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_nl_NL.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ok_PL.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ok_SK.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_pl.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_pt_BR.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ro.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ru.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_sv.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_th.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_tr.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_uk.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_vi.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_zh_CN.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_zh_TW.ts +0 -1
- package/src/remUtils.ts +0 -27
- package/src/shadow-dom/index.ts +0 -13
- package/src/shadow-dom/shadow-dom.test.ts +0 -24
- package/src/shadow-dom/shadow-dom.ts +0 -54
- package/src/test-selectors/getByQuerySelector.ts +0 -176
- package/src/test-selectors/getComputedAccessibleErrorMessageText.ts +0 -52
- package/src/test-selectors/getComputedAccessibleText.ts +0 -36
- package/src/test-selectors/index.ts +0 -15
- package/src/test-selectors/interpolateString.ts +0 -41
- package/src/test-selectors/linkedHtmlSelectors.ts +0 -73
- package/src/test-selectors/queryOdysseySelector.ts +0 -36
- package/src/test-selectors/querySelector.ts +0 -249
- package/src/test-selectors/sanityChecks.ts +0 -53
- package/src/test-selectors/testSelector.ts +0 -143
- package/src/theme/components.tsx +0 -3275
- package/src/theme/components.types.ts +0 -111
- package/src/theme/createOdysseyMuiTheme.ts +0 -54
- package/src/theme/index.ts +0 -13
- package/src/theme/mixins.ts +0 -29
- package/src/theme/mixins.types.ts +0 -31
- package/src/theme/palette.ts +0 -112
- package/src/theme/palette.types.ts +0 -24
- package/src/theme/shape.ts +0 -31
- package/src/theme/spacing.ts +0 -34
- package/src/theme/theme.ts +0 -13
- package/src/theme/typography.ts +0 -137
- package/src/theme/typography.types.ts +0 -41
- package/src/theme/useContrastMode.test.tsx +0 -504
- package/src/ui-shell/AppSwitcher/AppSwitcher.tsx +0 -94
- package/src/ui-shell/AppSwitcher/AppSwitcherApp.tsx +0 -146
- package/src/ui-shell/AppSwitcher/OktaAura.tsx +0 -50
- package/src/ui-shell/AppSwitcher/index.ts +0 -13
- package/src/ui-shell/SideNav/CollapseIcon.tsx +0 -34
- package/src/ui-shell/SideNav/HandleIcon.tsx +0 -35
- package/src/ui-shell/SideNav/NavAccordion.tsx +0 -243
- package/src/ui-shell/SideNav/OktaLogo.tsx +0 -34
- package/src/ui-shell/SideNav/SideNav.test.tsx +0 -326
- package/src/ui-shell/SideNav/SideNav.tsx +0 -810
- package/src/ui-shell/SideNav/SideNavFooterContent.tsx +0 -85
- package/src/ui-shell/SideNav/SideNavHeader.tsx +0 -134
- package/src/ui-shell/SideNav/SideNavItemContent.tsx +0 -402
- package/src/ui-shell/SideNav/SideNavItemContentContext.tsx +0 -29
- package/src/ui-shell/SideNav/SideNavItemLinkContent.tsx +0 -90
- package/src/ui-shell/SideNav/SideNavLogo.tsx +0 -65
- package/src/ui-shell/SideNav/SideNavToggleButton.tsx +0 -272
- package/src/ui-shell/SideNav/SortableList/SortableItem.tsx +0 -237
- package/src/ui-shell/SideNav/SortableList/SortableList.tsx +0 -132
- package/src/ui-shell/SideNav/SortableList/SortableOverlay.tsx +0 -34
- package/src/ui-shell/SideNav/index.ts +0 -16
- package/src/ui-shell/SideNav/types.ts +0 -224
- package/src/ui-shell/TopNav/TopNav.tsx +0 -109
- package/src/ui-shell/TopNav/TopNavLinksList.tsx +0 -68
- package/src/ui-shell/TopNav/TopNavListItem.tsx +0 -209
- package/src/ui-shell/TopNav/index.ts +0 -13
- package/src/ui-shell/UiShell.test.tsx +0 -366
- package/src/ui-shell/UiShell.tsx +0 -153
- package/src/ui-shell/UiShellContent.tsx +0 -350
- package/src/ui-shell/UiShellProvider.tsx +0 -103
- package/src/ui-shell/bufferLatest.test.ts +0 -79
- package/src/ui-shell/bufferLatest.ts +0 -64
- package/src/ui-shell/createMessageBus.test.ts +0 -115
- package/src/ui-shell/createMessageBus.ts +0 -53
- package/src/ui-shell/createStore.test.ts +0 -103
- package/src/ui-shell/createStore.ts +0 -37
- package/src/ui-shell/index.ts +0 -21
- package/src/ui-shell/renderUiShell.test.tsx +0 -203
- package/src/ui-shell/renderUiShell.tsx +0 -158
- package/src/ui-shell/useHasUiShell.ts +0 -25
- package/src/ui-shell/useScrollState.ts +0 -59
- package/src/useAutocomplete.tsx +0 -184
- package/src/useContrastMode.tsx +0 -143
- package/src/useNormalizedKey.ts +0 -17
- package/src/useUniqueAlphabeticalId.ts +0 -21
- package/src/useUniqueId.ts +0 -21
- package/src/web-component/createReactRootElements.test.ts +0 -40
- package/src/web-component/createReactRootElements.ts +0 -39
- package/src/web-component/index.ts +0 -13
- package/src/web-component/renderReactInWebComponent.test.tsx +0 -128
- package/src/web-component/renderReactInWebComponent.ts +0 -135
- package/tsconfig.json +0 -16
- package/tsconfig.production.json +0 -13
- package/vitest.config.ts +0 -36
- package/vitest.setup.ts +0 -32
package/src/TextField.tsx
DELETED
|
@@ -1,298 +0,0 @@
|
|
|
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 {
|
|
14
|
-
ChangeEventHandler,
|
|
15
|
-
FocusEventHandler,
|
|
16
|
-
forwardRef,
|
|
17
|
-
InputHTMLAttributes,
|
|
18
|
-
memo,
|
|
19
|
-
ReactElement,
|
|
20
|
-
useCallback,
|
|
21
|
-
useImperativeHandle,
|
|
22
|
-
useRef,
|
|
23
|
-
} from "react";
|
|
24
|
-
import { InputAdornment, InputBase } from "@mui/material";
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
FieldComponentProps,
|
|
28
|
-
FieldComponentRenderProps,
|
|
29
|
-
} from "./FieldComponentProps.js";
|
|
30
|
-
import { Field } from "./Field.js";
|
|
31
|
-
import { HtmlProps } from "./HtmlProps.js";
|
|
32
|
-
import { FocusHandle, useInputValues, getControlState } from "./inputUtils.js";
|
|
33
|
-
import { type TestSelector } from "./test-selectors/index.js";
|
|
34
|
-
|
|
35
|
-
export const TextFieldTestSelector = {
|
|
36
|
-
accessibleText: {
|
|
37
|
-
errorMessage: "errorMessage",
|
|
38
|
-
hint: "description",
|
|
39
|
-
label: "label",
|
|
40
|
-
},
|
|
41
|
-
children: {
|
|
42
|
-
link: {
|
|
43
|
-
elementSelector: {
|
|
44
|
-
method: "ByRole",
|
|
45
|
-
options: {
|
|
46
|
-
label: "name",
|
|
47
|
-
},
|
|
48
|
-
role: "link",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
elementSelector: {
|
|
53
|
-
method: "ByRole",
|
|
54
|
-
options: {
|
|
55
|
-
label: "name",
|
|
56
|
-
},
|
|
57
|
-
role: "textbox",
|
|
58
|
-
},
|
|
59
|
-
} as const satisfies TestSelector;
|
|
60
|
-
|
|
61
|
-
export const textFieldTypeValues = [
|
|
62
|
-
"email",
|
|
63
|
-
"number",
|
|
64
|
-
"tel",
|
|
65
|
-
"text",
|
|
66
|
-
"url",
|
|
67
|
-
] as const;
|
|
68
|
-
|
|
69
|
-
export type TextFieldProps = {
|
|
70
|
-
/**
|
|
71
|
-
* This prop helps users to fill forms faster, especially on mobile devices.
|
|
72
|
-
* The name can be confusing, as it's more like an autofill.
|
|
73
|
-
* @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill
|
|
74
|
-
*/
|
|
75
|
-
autoCompleteType?: InputHTMLAttributes<HTMLInputElement>["autoComplete"];
|
|
76
|
-
/**
|
|
77
|
-
* The default value. Use when the component is not controlled.
|
|
78
|
-
*/
|
|
79
|
-
defaultValue?: string;
|
|
80
|
-
/**
|
|
81
|
-
* End `InputAdornment` for this component.
|
|
82
|
-
*/
|
|
83
|
-
endAdornment?: string | ReactElement;
|
|
84
|
-
/**
|
|
85
|
-
* If `true`, the component will receive focus automatically.
|
|
86
|
-
*/
|
|
87
|
-
hasInitialFocus?: boolean;
|
|
88
|
-
/**
|
|
89
|
-
* The ref forwarded to the TextField
|
|
90
|
-
*/
|
|
91
|
-
inputRef?: React.RefObject<FocusHandle>;
|
|
92
|
-
/**
|
|
93
|
-
* Hints at the type of data that might be entered by the user while editing the element or its contents
|
|
94
|
-
* @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
|
|
95
|
-
*/
|
|
96
|
-
inputMode?: InputHTMLAttributes<HTMLInputElement>["inputMode"];
|
|
97
|
-
/**
|
|
98
|
-
* If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
|
|
99
|
-
*/
|
|
100
|
-
isMultiline?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* The label for the `input` element.
|
|
103
|
-
*/
|
|
104
|
-
label: string;
|
|
105
|
-
/**
|
|
106
|
-
* Callback fired when the `input` element loses focus.
|
|
107
|
-
*/
|
|
108
|
-
onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
109
|
-
/**
|
|
110
|
-
* Callback fired when the value is changed.
|
|
111
|
-
*/
|
|
112
|
-
onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
|
|
113
|
-
/**
|
|
114
|
-
* Callback fired when the `input` element get focus.
|
|
115
|
-
*/
|
|
116
|
-
onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
117
|
-
/**
|
|
118
|
-
* The short hint displayed in the `input` before the user enters a value.
|
|
119
|
-
*/
|
|
120
|
-
placeholder?: string;
|
|
121
|
-
/**
|
|
122
|
-
* Start `InputAdornment` for this component.
|
|
123
|
-
*/
|
|
124
|
-
startAdornment?: string | ReactElement;
|
|
125
|
-
/**
|
|
126
|
-
* Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
|
|
127
|
-
*/
|
|
128
|
-
type?: (typeof textFieldTypeValues)[number];
|
|
129
|
-
/**
|
|
130
|
-
* The value of the `input` element, required for a controlled component.
|
|
131
|
-
*/
|
|
132
|
-
value?: string;
|
|
133
|
-
} & FieldComponentProps &
|
|
134
|
-
Pick<HtmlProps, "ariaDescribedBy" | "testId" | "translate">;
|
|
135
|
-
|
|
136
|
-
type FieldRenderProps = Partial<
|
|
137
|
-
Pick<FieldComponentRenderProps, "ariaDescribedBy" | "errorMessageElementId">
|
|
138
|
-
> &
|
|
139
|
-
Pick<FieldComponentRenderProps, "id" | "labelElementId">;
|
|
140
|
-
|
|
141
|
-
const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
142
|
-
(
|
|
143
|
-
{
|
|
144
|
-
ariaDescribedBy,
|
|
145
|
-
autoCompleteType,
|
|
146
|
-
defaultValue,
|
|
147
|
-
hasInitialFocus,
|
|
148
|
-
endAdornment,
|
|
149
|
-
errorMessage,
|
|
150
|
-
errorMessageList,
|
|
151
|
-
hint,
|
|
152
|
-
HintLinkComponent,
|
|
153
|
-
id: idOverride,
|
|
154
|
-
inputRef,
|
|
155
|
-
inputMode,
|
|
156
|
-
isDisabled = false,
|
|
157
|
-
isFullWidth = false,
|
|
158
|
-
isMultiline = false,
|
|
159
|
-
isOptional = false,
|
|
160
|
-
isReadOnly,
|
|
161
|
-
label,
|
|
162
|
-
name: nameOverride,
|
|
163
|
-
onBlur,
|
|
164
|
-
onChange: onChangeProp,
|
|
165
|
-
onFocus,
|
|
166
|
-
placeholder,
|
|
167
|
-
startAdornment,
|
|
168
|
-
testId,
|
|
169
|
-
translate,
|
|
170
|
-
type = "text",
|
|
171
|
-
value: value,
|
|
172
|
-
},
|
|
173
|
-
ref,
|
|
174
|
-
) => {
|
|
175
|
-
const controlledStateRef = useRef(
|
|
176
|
-
getControlState({
|
|
177
|
-
controlledValue: value,
|
|
178
|
-
uncontrolledValue: defaultValue,
|
|
179
|
-
}),
|
|
180
|
-
);
|
|
181
|
-
const inputValues = useInputValues({
|
|
182
|
-
defaultValue,
|
|
183
|
-
value,
|
|
184
|
-
controlState: controlledStateRef.current,
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
const localInputRef = useRef<HTMLInputElement>(null);
|
|
188
|
-
useImperativeHandle(inputRef, () => {
|
|
189
|
-
return {
|
|
190
|
-
focus: () => {
|
|
191
|
-
localInputRef.current?.focus();
|
|
192
|
-
},
|
|
193
|
-
};
|
|
194
|
-
}, []);
|
|
195
|
-
|
|
196
|
-
const onChange = useCallback<
|
|
197
|
-
NonNullable<ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>>
|
|
198
|
-
>(
|
|
199
|
-
(event) => {
|
|
200
|
-
onChangeProp?.(event);
|
|
201
|
-
},
|
|
202
|
-
[onChangeProp],
|
|
203
|
-
);
|
|
204
|
-
|
|
205
|
-
const renderFieldComponent = useCallback(
|
|
206
|
-
({
|
|
207
|
-
ariaDescribedBy,
|
|
208
|
-
errorMessageElementId,
|
|
209
|
-
id,
|
|
210
|
-
labelElementId,
|
|
211
|
-
}: FieldRenderProps) => (
|
|
212
|
-
<InputBase
|
|
213
|
-
{...inputValues}
|
|
214
|
-
aria-describedby={ariaDescribedBy}
|
|
215
|
-
autoComplete={autoCompleteType}
|
|
216
|
-
/* eslint-disable-next-line jsx-a11y/no-autofocus */
|
|
217
|
-
autoFocus={hasInitialFocus}
|
|
218
|
-
endAdornment={
|
|
219
|
-
endAdornment && (
|
|
220
|
-
<InputAdornment position="end" translate={translate}>
|
|
221
|
-
{endAdornment}
|
|
222
|
-
</InputAdornment>
|
|
223
|
-
)
|
|
224
|
-
}
|
|
225
|
-
id={id}
|
|
226
|
-
inputProps={{
|
|
227
|
-
"aria-errormessage": errorMessageElementId,
|
|
228
|
-
"aria-labelledby": labelElementId,
|
|
229
|
-
"data-se": testId,
|
|
230
|
-
inputMode,
|
|
231
|
-
}}
|
|
232
|
-
inputRef={localInputRef}
|
|
233
|
-
multiline={isMultiline}
|
|
234
|
-
name={nameOverride ?? id}
|
|
235
|
-
onBlur={onBlur}
|
|
236
|
-
onChange={onChange}
|
|
237
|
-
onFocus={onFocus}
|
|
238
|
-
placeholder={placeholder}
|
|
239
|
-
readOnly={isReadOnly}
|
|
240
|
-
ref={ref}
|
|
241
|
-
required={!isOptional}
|
|
242
|
-
startAdornment={
|
|
243
|
-
startAdornment && (
|
|
244
|
-
<InputAdornment position="start" translate={translate}>
|
|
245
|
-
{startAdornment}
|
|
246
|
-
</InputAdornment>
|
|
247
|
-
)
|
|
248
|
-
}
|
|
249
|
-
type={type}
|
|
250
|
-
translate={translate}
|
|
251
|
-
/>
|
|
252
|
-
),
|
|
253
|
-
[
|
|
254
|
-
autoCompleteType,
|
|
255
|
-
inputValues,
|
|
256
|
-
hasInitialFocus,
|
|
257
|
-
endAdornment,
|
|
258
|
-
inputMode,
|
|
259
|
-
isMultiline,
|
|
260
|
-
nameOverride,
|
|
261
|
-
onBlur,
|
|
262
|
-
onChange,
|
|
263
|
-
onFocus,
|
|
264
|
-
placeholder,
|
|
265
|
-
isOptional,
|
|
266
|
-
isReadOnly,
|
|
267
|
-
ref,
|
|
268
|
-
startAdornment,
|
|
269
|
-
testId,
|
|
270
|
-
translate,
|
|
271
|
-
type,
|
|
272
|
-
],
|
|
273
|
-
);
|
|
274
|
-
|
|
275
|
-
return (
|
|
276
|
-
<Field
|
|
277
|
-
ariaDescribedBy={ariaDescribedBy}
|
|
278
|
-
errorMessage={errorMessage}
|
|
279
|
-
errorMessageList={errorMessageList}
|
|
280
|
-
fieldType="single"
|
|
281
|
-
hasVisibleLabel
|
|
282
|
-
hint={hint}
|
|
283
|
-
HintLinkComponent={HintLinkComponent}
|
|
284
|
-
id={idOverride}
|
|
285
|
-
isDisabled={isDisabled}
|
|
286
|
-
isFullWidth={isFullWidth}
|
|
287
|
-
isOptional={isOptional}
|
|
288
|
-
label={label}
|
|
289
|
-
renderFieldComponent={renderFieldComponent}
|
|
290
|
-
/>
|
|
291
|
-
);
|
|
292
|
-
},
|
|
293
|
-
);
|
|
294
|
-
|
|
295
|
-
const MemoizedTextField = memo(TextField);
|
|
296
|
-
MemoizedTextField.displayName = "TextField";
|
|
297
|
-
|
|
298
|
-
export { MemoizedTextField as TextField };
|
package/src/Toast.tsx
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
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 { useEffect, memo, useState, useCallback } from "react";
|
|
14
|
-
import { useTranslation } from "react-i18next";
|
|
15
|
-
import { Alert, AlertTitle, Snackbar } from "@mui/material";
|
|
16
|
-
|
|
17
|
-
import { Button } from "./Buttons/index.js";
|
|
18
|
-
import { HtmlProps } from "./HtmlProps.js";
|
|
19
|
-
import { CloseIcon } from "./icons.generated/index.js";
|
|
20
|
-
import { Link } from "./Link.js";
|
|
21
|
-
import { ScreenReaderText } from "./ScreenReaderText.js";
|
|
22
|
-
|
|
23
|
-
export const toastRoleValues = ["status", "alert"] as const;
|
|
24
|
-
export const toastSeverityValues = [
|
|
25
|
-
"success",
|
|
26
|
-
"info",
|
|
27
|
-
"warning",
|
|
28
|
-
"error",
|
|
29
|
-
] as const;
|
|
30
|
-
|
|
31
|
-
export type ToastProps = {
|
|
32
|
-
/**
|
|
33
|
-
* If set, this determines how long the Toast should appear before automatically disappearing in milliseconds.
|
|
34
|
-
* It will only take effect if the Toast is not dismissible.
|
|
35
|
-
* If left blank, it defaults to 6000.
|
|
36
|
-
*/
|
|
37
|
-
autoHideDuration?: number;
|
|
38
|
-
/**
|
|
39
|
-
* If `true`, the Toast will include a close button.
|
|
40
|
-
*/
|
|
41
|
-
isDismissable?: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* If true, the Toast is visible
|
|
44
|
-
*/
|
|
45
|
-
isVisible?: boolean;
|
|
46
|
-
/**
|
|
47
|
-
* If linkUrl is not undefined, this is the text of the link.
|
|
48
|
-
* If left blank, it defaults to "Learn more".
|
|
49
|
-
* Note that linkText does nothing if linkUrl is not defined
|
|
50
|
-
*/
|
|
51
|
-
linkText?: string;
|
|
52
|
-
/**
|
|
53
|
-
* If defined, the Toast will include a link to the URL
|
|
54
|
-
*/
|
|
55
|
-
linkUrl?: string;
|
|
56
|
-
/**
|
|
57
|
-
* An optional function to run when the Toast is closed.
|
|
58
|
-
*/
|
|
59
|
-
onHide?: () => void;
|
|
60
|
-
/**
|
|
61
|
-
* Sets the ARIA role of the Toast
|
|
62
|
-
* ("status" for something that dynamically updates, "alert" for errors, null for something
|
|
63
|
-
* unchanging)
|
|
64
|
-
*/
|
|
65
|
-
role?: (typeof toastRoleValues)[number];
|
|
66
|
-
/**
|
|
67
|
-
* Determine the color and icon of the Toast
|
|
68
|
-
*/
|
|
69
|
-
severity: (typeof toastSeverityValues)[number];
|
|
70
|
-
/**
|
|
71
|
-
* The text content of the Toast
|
|
72
|
-
*/
|
|
73
|
-
text: string;
|
|
74
|
-
} & Pick<HtmlProps, "testId" | "translate">;
|
|
75
|
-
|
|
76
|
-
const ClickAwayListenerProps = { onClickAway: () => false };
|
|
77
|
-
|
|
78
|
-
const Toast = ({
|
|
79
|
-
autoHideDuration = 6000,
|
|
80
|
-
isDismissable,
|
|
81
|
-
linkText,
|
|
82
|
-
linkUrl,
|
|
83
|
-
isVisible: isVisibleProp,
|
|
84
|
-
onHide: onHideProp,
|
|
85
|
-
role,
|
|
86
|
-
severity,
|
|
87
|
-
testId,
|
|
88
|
-
text,
|
|
89
|
-
translate,
|
|
90
|
-
}: ToastProps) => {
|
|
91
|
-
const { t } = useTranslation();
|
|
92
|
-
const [isVisible, setIsVisible] = useState(isVisibleProp);
|
|
93
|
-
|
|
94
|
-
useEffect(() => {
|
|
95
|
-
setIsVisible(isVisibleProp);
|
|
96
|
-
}, [isVisibleProp]);
|
|
97
|
-
|
|
98
|
-
const onHide = useCallback(() => {
|
|
99
|
-
setIsVisible(false);
|
|
100
|
-
onHideProp?.();
|
|
101
|
-
}, [onHideProp]);
|
|
102
|
-
|
|
103
|
-
return (
|
|
104
|
-
<>
|
|
105
|
-
<Snackbar
|
|
106
|
-
open={isVisible}
|
|
107
|
-
autoHideDuration={
|
|
108
|
-
isDismissable || autoHideDuration <= 0 ? undefined : autoHideDuration
|
|
109
|
-
}
|
|
110
|
-
onClose={onHide}
|
|
111
|
-
className="Toast"
|
|
112
|
-
ClickAwayListenerProps={ClickAwayListenerProps}
|
|
113
|
-
>
|
|
114
|
-
<Alert
|
|
115
|
-
action={
|
|
116
|
-
isDismissable === true && (
|
|
117
|
-
<Button
|
|
118
|
-
ariaLabel={t("close.text")}
|
|
119
|
-
onClick={onHide}
|
|
120
|
-
size="small"
|
|
121
|
-
startIcon={<CloseIcon />}
|
|
122
|
-
variant="floating"
|
|
123
|
-
/>
|
|
124
|
-
)
|
|
125
|
-
}
|
|
126
|
-
data-se={testId}
|
|
127
|
-
role={role}
|
|
128
|
-
severity={severity}
|
|
129
|
-
variant="toast"
|
|
130
|
-
>
|
|
131
|
-
<AlertTitle translate={translate}>
|
|
132
|
-
<ScreenReaderText translate={translate}>
|
|
133
|
-
{t(`severity.${severity}`)}:
|
|
134
|
-
</ScreenReaderText>
|
|
135
|
-
{text}
|
|
136
|
-
</AlertTitle>
|
|
137
|
-
{linkUrl && (
|
|
138
|
-
<Link href={linkUrl} variant="monochrome" translate={translate}>
|
|
139
|
-
{linkText}
|
|
140
|
-
</Link>
|
|
141
|
-
)}
|
|
142
|
-
</Alert>
|
|
143
|
-
</Snackbar>
|
|
144
|
-
</>
|
|
145
|
-
);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const MemoizedToast = memo(Toast);
|
|
149
|
-
MemoizedToast.displayName = "Toast";
|
|
150
|
-
|
|
151
|
-
export { MemoizedToast as Toast };
|
package/src/ToastStack.tsx
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
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 { memo, ReactElement } from "react";
|
|
14
|
-
import { Box, Snackbar } from "@mui/material";
|
|
15
|
-
import { Toast } from "./Toast.js";
|
|
16
|
-
|
|
17
|
-
export type ToastListProps = {
|
|
18
|
-
/**
|
|
19
|
-
* The Toast or array of Toasts within the ToastStack
|
|
20
|
-
*/
|
|
21
|
-
children: ReactElement<typeof Toast> | Array<ReactElement<typeof Toast>>;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const ToastStack = ({ children }: ToastListProps) => {
|
|
25
|
-
return (
|
|
26
|
-
<Snackbar open={true}>
|
|
27
|
-
<Box
|
|
28
|
-
sx={{
|
|
29
|
-
display: "flex",
|
|
30
|
-
flexDirection: "column-reverse",
|
|
31
|
-
gap: 2,
|
|
32
|
-
}}
|
|
33
|
-
>
|
|
34
|
-
{children}
|
|
35
|
-
</Box>
|
|
36
|
-
</Snackbar>
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const MemoizedToastStack = memo(ToastStack);
|
|
41
|
-
MemoizedToastStack.displayName = "ToastStack";
|
|
42
|
-
|
|
43
|
-
export { MemoizedToastStack as ToastStack };
|
package/src/Tooltip.tsx
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
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 { Tooltip as MuiTooltip } from "@mui/material";
|
|
14
|
-
import type { TooltipProps as MuiTooltipProps } from "@mui/material";
|
|
15
|
-
|
|
16
|
-
import { MuiPropsChild } from "./MuiPropsChild.js";
|
|
17
|
-
import { ReactElement, memo } from "react";
|
|
18
|
-
import { HtmlProps } from "./HtmlProps.js";
|
|
19
|
-
|
|
20
|
-
export type TooltipProps = {
|
|
21
|
-
/**
|
|
22
|
-
* The type of ARIA attribute to use
|
|
23
|
-
*/
|
|
24
|
-
ariaType: "description" | "label";
|
|
25
|
-
/**
|
|
26
|
-
* The content that triggers the Tooltip when hovered
|
|
27
|
-
*/
|
|
28
|
-
children: ReactElement;
|
|
29
|
-
/**
|
|
30
|
-
* The placement of the Tooltip
|
|
31
|
-
*/
|
|
32
|
-
placement?: MuiTooltipProps["placement"];
|
|
33
|
-
/**
|
|
34
|
-
* The text to display in the Tooltip
|
|
35
|
-
*/
|
|
36
|
-
text: string;
|
|
37
|
-
} & Pick<HtmlProps, "testId" | "translate">;
|
|
38
|
-
|
|
39
|
-
const Tooltip = ({
|
|
40
|
-
ariaType,
|
|
41
|
-
children,
|
|
42
|
-
placement = "top",
|
|
43
|
-
testId,
|
|
44
|
-
text,
|
|
45
|
-
translate,
|
|
46
|
-
}: TooltipProps) => (
|
|
47
|
-
<MuiTooltip
|
|
48
|
-
data-se={testId}
|
|
49
|
-
describeChild={ariaType === "description"}
|
|
50
|
-
placement={placement}
|
|
51
|
-
title={text}
|
|
52
|
-
translate={translate}
|
|
53
|
-
>
|
|
54
|
-
<MuiPropsChild>{children}</MuiPropsChild>
|
|
55
|
-
</MuiTooltip>
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
const MemoizedTooltip = memo(Tooltip);
|
|
59
|
-
MemoizedTooltip.displayName = "Tooltip";
|
|
60
|
-
|
|
61
|
-
export { MemoizedTooltip as Tooltip };
|
package/src/Typography.test.tsx
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2024-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 { render, screen } from "@testing-library/react";
|
|
14
|
-
import { Typography } from "./Typography.js";
|
|
15
|
-
|
|
16
|
-
describe("Typography", () => {
|
|
17
|
-
test("renders Overline", () => {
|
|
18
|
-
render(
|
|
19
|
-
<Typography ariaLabel="overline" variant="overline">
|
|
20
|
-
Overline test
|
|
21
|
-
</Typography>,
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
expect(screen.getByLabelText("overline")).toBeVisible();
|
|
25
|
-
});
|
|
26
|
-
});
|