@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/FieldHint.tsx
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023-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 } from "react";
|
|
14
|
-
import styled from "@emotion/styled";
|
|
15
|
-
import { FormHelperText } from "@mui/material";
|
|
16
|
-
|
|
17
|
-
import { FieldComponentProps } from "./FieldComponentProps.js";
|
|
18
|
-
import type { HtmlProps } from "./HtmlProps.js";
|
|
19
|
-
import {
|
|
20
|
-
useOdysseyDesignTokens,
|
|
21
|
-
DesignTokens,
|
|
22
|
-
} from "./OdysseyDesignTokensContext.js";
|
|
23
|
-
|
|
24
|
-
const HintLinkContainer = styled.span<{ odysseyDesignTokens: DesignTokens }>(
|
|
25
|
-
({ odysseyDesignTokens }) => ({
|
|
26
|
-
a: {
|
|
27
|
-
color: odysseyDesignTokens.TypographyColorBody,
|
|
28
|
-
textDecoration: "underline",
|
|
29
|
-
|
|
30
|
-
"&:visited": {
|
|
31
|
-
color: odysseyDesignTokens.TypographyColorBody,
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
"&:hover": {
|
|
35
|
-
color: odysseyDesignTokens.TypographyColorSubordinate,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
}),
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
export type FieldHintProps = {
|
|
42
|
-
LinkComponent?: FieldComponentProps["HintLinkComponent"];
|
|
43
|
-
id?: string;
|
|
44
|
-
text: string;
|
|
45
|
-
} & Pick<HtmlProps, "testId" | "translate">;
|
|
46
|
-
|
|
47
|
-
const FieldHint = ({
|
|
48
|
-
id,
|
|
49
|
-
LinkComponent,
|
|
50
|
-
testId,
|
|
51
|
-
text,
|
|
52
|
-
translate,
|
|
53
|
-
}: FieldHintProps) => {
|
|
54
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<FormHelperText data-se={testId} id={id} translate={translate}>
|
|
58
|
-
{text}
|
|
59
|
-
{LinkComponent && (
|
|
60
|
-
<HintLinkContainer odysseyDesignTokens={odysseyDesignTokens}>
|
|
61
|
-
{" "}
|
|
62
|
-
{LinkComponent}
|
|
63
|
-
</HintLinkContainer>
|
|
64
|
-
)}
|
|
65
|
-
</FormHelperText>
|
|
66
|
-
);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const MemoizedFieldHint = memo(FieldHint);
|
|
70
|
-
MemoizedFieldHint.displayName = "FieldHint";
|
|
71
|
-
|
|
72
|
-
export { MemoizedFieldHint as FieldHint };
|
package/src/FieldLabel.tsx
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023-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 { InputLabel as MuiInputLabel } from "@mui/material";
|
|
14
|
-
import { memo, useMemo } from "react";
|
|
15
|
-
|
|
16
|
-
import { useTranslation } from "react-i18next";
|
|
17
|
-
import { ScreenReaderText } from "./ScreenReaderText.js";
|
|
18
|
-
import { Subordinate } from "./Typography.js";
|
|
19
|
-
import type { HtmlProps } from "./HtmlProps.js";
|
|
20
|
-
|
|
21
|
-
export type FieldLabelProps = {
|
|
22
|
-
hasVisibleLabel: boolean;
|
|
23
|
-
id: string;
|
|
24
|
-
inputId: string;
|
|
25
|
-
isOptional: boolean;
|
|
26
|
-
text: string;
|
|
27
|
-
} & Pick<HtmlProps, "testId" | "translate">;
|
|
28
|
-
|
|
29
|
-
const FieldLabel = ({
|
|
30
|
-
hasVisibleLabel,
|
|
31
|
-
id,
|
|
32
|
-
inputId,
|
|
33
|
-
isOptional,
|
|
34
|
-
testId,
|
|
35
|
-
translate,
|
|
36
|
-
text,
|
|
37
|
-
}: FieldLabelProps) => {
|
|
38
|
-
const { t } = useTranslation();
|
|
39
|
-
|
|
40
|
-
const inputLabel = useMemo(
|
|
41
|
-
() => (
|
|
42
|
-
<MuiInputLabel
|
|
43
|
-
data-se={testId}
|
|
44
|
-
htmlFor={inputId}
|
|
45
|
-
id={id}
|
|
46
|
-
translate={translate}
|
|
47
|
-
>
|
|
48
|
-
<span>{text}</span>
|
|
49
|
-
{isOptional && (
|
|
50
|
-
<Subordinate>{t("fieldlabel.optional.text")}</Subordinate>
|
|
51
|
-
)}
|
|
52
|
-
</MuiInputLabel>
|
|
53
|
-
),
|
|
54
|
-
[id, inputId, isOptional, testId, translate, text, t],
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
return hasVisibleLabel ? (
|
|
58
|
-
inputLabel
|
|
59
|
-
) : (
|
|
60
|
-
<ScreenReaderText translate={translate}>{inputLabel}</ScreenReaderText>
|
|
61
|
-
);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const MemoizedFieldLabel = memo(FieldLabel);
|
|
65
|
-
MemoizedFieldLabel.displayName = "FieldLabel";
|
|
66
|
-
|
|
67
|
-
export { MemoizedFieldLabel as FieldLabel };
|
package/src/Fieldset.tsx
DELETED
|
@@ -1,116 +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, useMemo } from "react";
|
|
14
|
-
import styled from "@emotion/styled";
|
|
15
|
-
|
|
16
|
-
import { Callout } from "./Callout.js";
|
|
17
|
-
import { FieldsetContext } from "./FieldsetContext.js";
|
|
18
|
-
import type { HtmlProps } from "./HtmlProps.js";
|
|
19
|
-
import { Legend, Support } from "./Typography.js";
|
|
20
|
-
import {
|
|
21
|
-
useOdysseyDesignTokens,
|
|
22
|
-
DesignTokens,
|
|
23
|
-
} from "./OdysseyDesignTokensContext.js";
|
|
24
|
-
import { useUniqueId } from "./useUniqueId.js";
|
|
25
|
-
|
|
26
|
-
const StyledFieldset = styled.fieldset<{
|
|
27
|
-
odysseyDesignTokens: DesignTokens;
|
|
28
|
-
}>(({ odysseyDesignTokens }) => ({
|
|
29
|
-
border: "0",
|
|
30
|
-
margin: odysseyDesignTokens.Spacing0,
|
|
31
|
-
marginBlockEnd: odysseyDesignTokens.Spacing6,
|
|
32
|
-
maxWidth: odysseyDesignTokens.TypographyLineLengthMax,
|
|
33
|
-
padding: odysseyDesignTokens.Spacing0,
|
|
34
|
-
|
|
35
|
-
"&:last-child": {
|
|
36
|
-
marginBlockEnd: odysseyDesignTokens.Spacing0,
|
|
37
|
-
},
|
|
38
|
-
}));
|
|
39
|
-
|
|
40
|
-
export type FieldsetProps = {
|
|
41
|
-
/**
|
|
42
|
-
* A Callout indicating a Fieldset-wide error or status update.
|
|
43
|
-
*/
|
|
44
|
-
alert?: ReactElement<typeof Callout>;
|
|
45
|
-
/**
|
|
46
|
-
* The Field components within the Fieldset
|
|
47
|
-
*/
|
|
48
|
-
children: ReactElement | Array<ReactElement>;
|
|
49
|
-
/**
|
|
50
|
-
* A supplementary description
|
|
51
|
-
*/
|
|
52
|
-
description?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Defines a unique identifier (ID) which must be unique in the whole document.
|
|
55
|
-
*/
|
|
56
|
-
id?: string;
|
|
57
|
-
/**
|
|
58
|
-
* Disables the component and any wrapped input fields.
|
|
59
|
-
*/
|
|
60
|
-
isDisabled?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* The title of the Fieldset
|
|
63
|
-
*/
|
|
64
|
-
legend: string;
|
|
65
|
-
/**
|
|
66
|
-
* The name associated with the group.
|
|
67
|
-
*/
|
|
68
|
-
name?: string;
|
|
69
|
-
} & Pick<HtmlProps, "testId" | "translate">;
|
|
70
|
-
|
|
71
|
-
const Fieldset = ({
|
|
72
|
-
alert,
|
|
73
|
-
children,
|
|
74
|
-
description,
|
|
75
|
-
id: idOverride,
|
|
76
|
-
isDisabled = false,
|
|
77
|
-
legend,
|
|
78
|
-
name,
|
|
79
|
-
testId,
|
|
80
|
-
translate,
|
|
81
|
-
}: FieldsetProps) => {
|
|
82
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
83
|
-
const id = useUniqueId(idOverride);
|
|
84
|
-
|
|
85
|
-
const fieldsetContextValue = useMemo(
|
|
86
|
-
() => ({
|
|
87
|
-
isDisabled,
|
|
88
|
-
}),
|
|
89
|
-
[isDisabled],
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
return (
|
|
93
|
-
<StyledFieldset
|
|
94
|
-
data-se={testId}
|
|
95
|
-
disabled={isDisabled}
|
|
96
|
-
id={id}
|
|
97
|
-
name={name}
|
|
98
|
-
odysseyDesignTokens={odysseyDesignTokens}
|
|
99
|
-
>
|
|
100
|
-
<Legend translate={translate}>{legend}</Legend>
|
|
101
|
-
|
|
102
|
-
{description && <Support translate={translate}>{description}</Support>}
|
|
103
|
-
|
|
104
|
-
{alert}
|
|
105
|
-
|
|
106
|
-
<FieldsetContext.Provider value={fieldsetContextValue}>
|
|
107
|
-
{children}
|
|
108
|
-
</FieldsetContext.Provider>
|
|
109
|
-
</StyledFieldset>
|
|
110
|
-
);
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
const MemoizedFieldset = memo(Fieldset);
|
|
114
|
-
MemoizedFieldset.displayName = "Fieldset";
|
|
115
|
-
|
|
116
|
-
export { MemoizedFieldset as Fieldset };
|
package/src/FieldsetContext.tsx
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023-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 { createContext, useContext } from "react";
|
|
14
|
-
|
|
15
|
-
export type FieldsetContextValue = {
|
|
16
|
-
isDisabled: boolean;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const FieldsetContext = createContext<FieldsetContextValue>({
|
|
20
|
-
isDisabled: false,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
export const useFieldset = () => useContext(FieldsetContext);
|
|
@@ -1,66 +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 } from "react";
|
|
14
|
-
import styled from "@emotion/styled";
|
|
15
|
-
|
|
16
|
-
import {
|
|
17
|
-
useOdysseyDesignTokens,
|
|
18
|
-
DesignTokens,
|
|
19
|
-
} from "../OdysseyDesignTokensContext.js";
|
|
20
|
-
|
|
21
|
-
const UploadIllustrationContainer = styled.div<{
|
|
22
|
-
odysseyDesignTokens: DesignTokens;
|
|
23
|
-
}>(({ odysseyDesignTokens }) => ({
|
|
24
|
-
marginBlockEnd: odysseyDesignTokens.Spacing3,
|
|
25
|
-
padding: odysseyDesignTokens.Spacing3,
|
|
26
|
-
backgroundColor: odysseyDesignTokens.HueNeutral50,
|
|
27
|
-
borderRadius: "50%",
|
|
28
|
-
|
|
29
|
-
svg: {
|
|
30
|
-
display: "flex",
|
|
31
|
-
width: odysseyDesignTokens.Spacing8,
|
|
32
|
-
height: odysseyDesignTokens.Spacing8,
|
|
33
|
-
},
|
|
34
|
-
}));
|
|
35
|
-
|
|
36
|
-
const FileUploadIllustration = () => {
|
|
37
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<UploadIllustrationContainer
|
|
41
|
-
aria-hidden="true"
|
|
42
|
-
odysseyDesignTokens={odysseyDesignTokens}
|
|
43
|
-
>
|
|
44
|
-
<svg
|
|
45
|
-
aria-hidden="true"
|
|
46
|
-
viewBox="0 0 44 45"
|
|
47
|
-
fill="none"
|
|
48
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
49
|
-
>
|
|
50
|
-
<path
|
|
51
|
-
d="M32.0763 11.001C29.3564 3.7855 21.6595 -0.565827 13.7765 0.726748C5.35441 2.10773 -0.676662 9.50714 0.0603005 17.8612C0.441865 22.1865 2.56458 25.9787 5.71703 28.614L8.28246 25.545C5.90122 23.5544 4.32811 20.7209 4.04483 17.5097C3.50262 11.3633 7.94433 5.73648 14.4238 4.67404C20.9164 3.60944 27.0806 7.52016 28.6895 13.5191C28.9239 14.3932 29.7162 15.001 30.6212 15.001H32.9114C36.8985 15.001 39.9997 18.0938 39.9997 21.7505C39.9997 24.3423 38.4576 26.6352 36.1259 27.7678L37.8736 31.3658C41.4737 29.6171 43.9997 25.9917 43.9997 21.7505C43.9997 15.7428 38.963 11.001 32.9114 11.001H32.0763Z"
|
|
52
|
-
fill={odysseyDesignTokens.HueNeutral200}
|
|
53
|
-
/>
|
|
54
|
-
<path
|
|
55
|
-
d="M23.9994 29.3277V44.5H19.9994V29.3289L14.4142 34.9141L11.5858 32.0857L19.7373 23.9342C20.9869 22.6845 23.0131 22.6845 24.2627 23.9342L32.4142 32.0857L29.5858 34.9141L23.9994 29.3277Z"
|
|
56
|
-
fill={odysseyDesignTokens.HueNeutral200}
|
|
57
|
-
/>
|
|
58
|
-
</svg>
|
|
59
|
-
</UploadIllustrationContainer>
|
|
60
|
-
);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const MemoizedFileUploadIllustration = memo(FileUploadIllustration);
|
|
64
|
-
MemoizedFileUploadIllustration.displayName = "FileUploadIllustration";
|
|
65
|
-
|
|
66
|
-
export { MemoizedFileUploadIllustration as FileUploadIllustration };
|
|
@@ -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 { memo, useCallback } from "react";
|
|
14
|
-
import styled from "@emotion/styled";
|
|
15
|
-
import { IconButton } from "@mui/material";
|
|
16
|
-
import { useTranslation } from "react-i18next";
|
|
17
|
-
|
|
18
|
-
import { FileUploaderProps } from "./FileUploader.js";
|
|
19
|
-
import {
|
|
20
|
-
useOdysseyDesignTokens,
|
|
21
|
-
DesignTokens,
|
|
22
|
-
} from "../OdysseyDesignTokensContext.js";
|
|
23
|
-
import { DeleteIcon } from "../icons.generated/index.js";
|
|
24
|
-
import { MuiPropsContext, MuiPropsContextType } from "../MuiPropsContext.js";
|
|
25
|
-
import { Tooltip } from "../Tooltip.js";
|
|
26
|
-
|
|
27
|
-
const PreviewContainer = styled.div<{
|
|
28
|
-
isDisabled: FileUploaderProps["isDisabled"];
|
|
29
|
-
odysseyDesignTokens: DesignTokens;
|
|
30
|
-
}>(({ isDisabled, odysseyDesignTokens }) => ({
|
|
31
|
-
color: isDisabled ? odysseyDesignTokens.TypographyColorDisabled : "inherit",
|
|
32
|
-
marginBlockStart: odysseyDesignTokens.Spacing2,
|
|
33
|
-
pointerEvents: isDisabled ? "none" : "auto",
|
|
34
|
-
}));
|
|
35
|
-
|
|
36
|
-
const UploadedFileContainer = styled.div<{ odysseyDesignTokens: DesignTokens }>(
|
|
37
|
-
{
|
|
38
|
-
display: "flex",
|
|
39
|
-
justifyContent: "space-between",
|
|
40
|
-
alignItems: "center",
|
|
41
|
-
|
|
42
|
-
button: {
|
|
43
|
-
transform: "scale(0)",
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
"&:hover, &:focus-within, &:focus": {
|
|
47
|
-
button: {
|
|
48
|
-
transform: "scale(1)",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
({ odysseyDesignTokens }) => ({
|
|
53
|
-
padding: `${odysseyDesignTokens.Spacing1} ${odysseyDesignTokens.Spacing2}`,
|
|
54
|
-
borderRadius: odysseyDesignTokens.BorderRadiusMain,
|
|
55
|
-
transition: `background-color ${odysseyDesignTokens.TransitionTimingMain}`,
|
|
56
|
-
|
|
57
|
-
"&:hover, &:focus-within": {
|
|
58
|
-
backgroundColor: odysseyDesignTokens.HueNeutral100,
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
"&:focus": {
|
|
62
|
-
borderColor: odysseyDesignTokens.FocusOutlineColorPrimary,
|
|
63
|
-
boxShadow: `0 0 0 2px ${odysseyDesignTokens.FocusOutlineColorPrimary}`,
|
|
64
|
-
outline: `${odysseyDesignTokens.FocusOutlineWidthMain} ${odysseyDesignTokens.FocusOutlineStyle} transparent`,
|
|
65
|
-
},
|
|
66
|
-
}),
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
type UploadedFileProps = {
|
|
70
|
-
name: string;
|
|
71
|
-
onFileRemove?: (name: string) => void;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const UploadedFile = ({ name, onFileRemove }: UploadedFileProps) => {
|
|
75
|
-
const { t } = useTranslation();
|
|
76
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
77
|
-
|
|
78
|
-
const deleteHandler = useCallback(() => {
|
|
79
|
-
onFileRemove?.(name);
|
|
80
|
-
}, [onFileRemove, name]);
|
|
81
|
-
|
|
82
|
-
const renderDeleteButton = useCallback(
|
|
83
|
-
(muiProps: MuiPropsContextType) => {
|
|
84
|
-
return (
|
|
85
|
-
<IconButton
|
|
86
|
-
{...muiProps}
|
|
87
|
-
aria-label={t("fileupload.removefile.text")}
|
|
88
|
-
onClick={deleteHandler}
|
|
89
|
-
size="small"
|
|
90
|
-
>
|
|
91
|
-
<DeleteIcon />
|
|
92
|
-
</IconButton>
|
|
93
|
-
);
|
|
94
|
-
},
|
|
95
|
-
[deleteHandler, t],
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
return (
|
|
99
|
-
<UploadedFileContainer
|
|
100
|
-
// tabindex added to make this element focusable
|
|
101
|
-
tabIndex={0}
|
|
102
|
-
odysseyDesignTokens={odysseyDesignTokens}
|
|
103
|
-
>
|
|
104
|
-
{name}
|
|
105
|
-
<Tooltip
|
|
106
|
-
ariaType="description"
|
|
107
|
-
placement="top"
|
|
108
|
-
text={t("fileupload.removefile.text")}
|
|
109
|
-
>
|
|
110
|
-
<MuiPropsContext.Consumer>
|
|
111
|
-
{renderDeleteButton}
|
|
112
|
-
</MuiPropsContext.Consumer>
|
|
113
|
-
</Tooltip>
|
|
114
|
-
</UploadedFileContainer>
|
|
115
|
-
);
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
type FileUploadPreviewProps = {
|
|
119
|
-
fileNames: string[];
|
|
120
|
-
isDisabled: FileUploaderProps["isDisabled"];
|
|
121
|
-
onFileRemove?: (name: string) => void;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
const FileUploadPreview = ({
|
|
125
|
-
fileNames,
|
|
126
|
-
isDisabled,
|
|
127
|
-
onFileRemove,
|
|
128
|
-
}: FileUploadPreviewProps) => {
|
|
129
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
130
|
-
|
|
131
|
-
return (
|
|
132
|
-
<PreviewContainer
|
|
133
|
-
data-file-preview-container="true"
|
|
134
|
-
isDisabled={isDisabled}
|
|
135
|
-
odysseyDesignTokens={odysseyDesignTokens}
|
|
136
|
-
>
|
|
137
|
-
{fileNames?.map((name, index) => (
|
|
138
|
-
<UploadedFile
|
|
139
|
-
key={`${index}-${name}`}
|
|
140
|
-
onFileRemove={onFileRemove}
|
|
141
|
-
name={name}
|
|
142
|
-
/>
|
|
143
|
-
))}
|
|
144
|
-
</PreviewContainer>
|
|
145
|
-
);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const MemoizedFileUploadPreview = memo(FileUploadPreview);
|
|
149
|
-
MemoizedFileUploadPreview.displayName = "FileUploadPreview";
|
|
150
|
-
|
|
151
|
-
export { MemoizedFileUploadPreview as FileUploadPreview };
|