@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
|
@@ -1,342 +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
|
-
memo,
|
|
15
|
-
type ReactElement,
|
|
16
|
-
useCallback,
|
|
17
|
-
useMemo,
|
|
18
|
-
useState,
|
|
19
|
-
ReactNode,
|
|
20
|
-
} from "react";
|
|
21
|
-
import {
|
|
22
|
-
Menu as MuiMenu,
|
|
23
|
-
Popover as MuiPopover,
|
|
24
|
-
PopoverOrigin,
|
|
25
|
-
} from "@mui/material";
|
|
26
|
-
import styled from "@emotion/styled";
|
|
27
|
-
|
|
28
|
-
import { Box } from "../Box.js";
|
|
29
|
-
import {
|
|
30
|
-
BaseButton,
|
|
31
|
-
buttonSizeValues,
|
|
32
|
-
buttonVariantValues,
|
|
33
|
-
} from "./BaseButton.js";
|
|
34
|
-
import { FieldComponentProps } from "../FieldComponentProps.js";
|
|
35
|
-
import type { HtmlProps } from "../HtmlProps.js";
|
|
36
|
-
import { ChevronDownIcon, MoreIcon } from "../icons.generated/index.js";
|
|
37
|
-
import { MenuContext, MenuContextType } from "./MenuContext.js";
|
|
38
|
-
import { NullElement } from "../NullElement.js";
|
|
39
|
-
import {
|
|
40
|
-
useOdysseyDesignTokens,
|
|
41
|
-
DesignTokens,
|
|
42
|
-
} from "../OdysseyDesignTokensContext.js";
|
|
43
|
-
import { useUniqueId } from "../useUniqueId.js";
|
|
44
|
-
|
|
45
|
-
export const menuAlignmentValues = ["left", "right"] as const;
|
|
46
|
-
export const verticalDividerAlignmentValues = ["start", "end"] as const;
|
|
47
|
-
|
|
48
|
-
const StyledMenuButtonContainer = styled("div", {
|
|
49
|
-
shouldForwardProp: (prop) =>
|
|
50
|
-
prop !== "hasVerticalDivider" &&
|
|
51
|
-
prop !== "odysseyDesignTokens" &&
|
|
52
|
-
prop !== "verticalDividerAlignment",
|
|
53
|
-
})<{
|
|
54
|
-
hasVerticalDivider: BaseMenuButtonProps["hasVerticalDivider"];
|
|
55
|
-
odysseyDesignTokens: DesignTokens;
|
|
56
|
-
verticalDividerAlignment: BaseMenuButtonProps["verticalDividerAlignment"];
|
|
57
|
-
}>(({ hasVerticalDivider, odysseyDesignTokens, verticalDividerAlignment }) => ({
|
|
58
|
-
position: "relative",
|
|
59
|
-
|
|
60
|
-
...(hasVerticalDivider && {
|
|
61
|
-
display: "inline-block",
|
|
62
|
-
|
|
63
|
-
"&:before": {
|
|
64
|
-
position: "absolute",
|
|
65
|
-
top: "50%",
|
|
66
|
-
left: 0,
|
|
67
|
-
width: 1,
|
|
68
|
-
height: odysseyDesignTokens.Spacing6,
|
|
69
|
-
backgroundColor: odysseyDesignTokens.HueNeutral300,
|
|
70
|
-
content: '""',
|
|
71
|
-
transform: "translate3d(0, -50%, 0)",
|
|
72
|
-
transition: `opacity 200ms`,
|
|
73
|
-
|
|
74
|
-
...(verticalDividerAlignment === "end" && {
|
|
75
|
-
left: "unset",
|
|
76
|
-
right: 0,
|
|
77
|
-
}),
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
":has(> button:hover)": {
|
|
81
|
-
"&:before": {
|
|
82
|
-
opacity: 0,
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
":dir(rtl)": {
|
|
87
|
-
"&:before": {
|
|
88
|
-
left: "unset",
|
|
89
|
-
right: 0,
|
|
90
|
-
...(verticalDividerAlignment === "end" && {
|
|
91
|
-
right: "unset",
|
|
92
|
-
left: 0,
|
|
93
|
-
}),
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
}),
|
|
97
|
-
}));
|
|
98
|
-
|
|
99
|
-
export type BaseMenuButtonProps = {
|
|
100
|
-
/**
|
|
101
|
-
* The button children for the triggering Button. Only available internal to Odyssey here in BaseMenuButton. If set, buttonLabel is ignored.
|
|
102
|
-
*/
|
|
103
|
-
buttonChildren?: ReactNode;
|
|
104
|
-
/**
|
|
105
|
-
* The label on the triggering Button
|
|
106
|
-
*/
|
|
107
|
-
buttonLabel?: string;
|
|
108
|
-
/**
|
|
109
|
-
* The variant of the triggering Button
|
|
110
|
-
*/
|
|
111
|
-
buttonVariant?: (typeof buttonVariantValues)[number];
|
|
112
|
-
/**
|
|
113
|
-
* The end Icon on the trigggering Button
|
|
114
|
-
*/
|
|
115
|
-
endIcon?: ReactElement;
|
|
116
|
-
/**
|
|
117
|
-
* Add a vertical rule to divide the button from surrounding content
|
|
118
|
-
*/
|
|
119
|
-
hasVerticalDivider?: boolean;
|
|
120
|
-
/**
|
|
121
|
-
* Whether to omit the endIcon if not set (rather than use a default value for it based on overflow)
|
|
122
|
-
*/
|
|
123
|
-
omitEndIcon?: boolean;
|
|
124
|
-
/**
|
|
125
|
-
* The id of the Button
|
|
126
|
-
*/
|
|
127
|
-
id?: string;
|
|
128
|
-
/**
|
|
129
|
-
* If the MenuButton is an overflow menu or standard menu.
|
|
130
|
-
*/
|
|
131
|
-
isOverflow?: boolean;
|
|
132
|
-
/**
|
|
133
|
-
* The horizontal alignment of the menu.
|
|
134
|
-
*/
|
|
135
|
-
menuAlignment?: (typeof menuAlignmentValues)[number];
|
|
136
|
-
/**
|
|
137
|
-
* If true (the default), the menu will close when a child MenuItem is clicked.
|
|
138
|
-
* Otherwise, it will remain open.
|
|
139
|
-
*/
|
|
140
|
-
shouldCloseOnSelect?: boolean;
|
|
141
|
-
/**
|
|
142
|
-
* The size of the button
|
|
143
|
-
*/
|
|
144
|
-
size?: (typeof buttonSizeValues)[number];
|
|
145
|
-
/**
|
|
146
|
-
* The tooltip text for the Button if it's icon-only
|
|
147
|
-
*/
|
|
148
|
-
tooltipText?: string;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Show vertical rule before or after the button
|
|
152
|
-
*/
|
|
153
|
-
verticalDividerAlignment?: (typeof verticalDividerAlignmentValues)[number];
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// These are split and exported separately from the above because wrappers of this (e.g. MenuButton) will
|
|
157
|
-
// want to omit buttonChildren, which they cannot do from the combined union type. Instead, they should
|
|
158
|
-
// omit from BaseMenuButtonProps, then union with the AdditionalBaseMenuButtonProps (as seen in MenuButton)
|
|
159
|
-
export type AdditionalBaseMenuButtonProps = Pick<
|
|
160
|
-
HtmlProps,
|
|
161
|
-
"ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "testId" | "translate"
|
|
162
|
-
> &
|
|
163
|
-
Pick<FieldComponentProps, "isDisabled"> &
|
|
164
|
-
(
|
|
165
|
-
| { buttonLabel: string }
|
|
166
|
-
| (Required<Pick<HtmlProps, "ariaLabelledBy">> &
|
|
167
|
-
Partial<Pick<HtmlProps, "ariaLabel">> & {
|
|
168
|
-
buttonLabel?: undefined | "";
|
|
169
|
-
})
|
|
170
|
-
| (Required<Pick<HtmlProps, "ariaLabel">> &
|
|
171
|
-
Partial<Pick<HtmlProps, "ariaLabelledBy">> & {
|
|
172
|
-
buttonLabel?: undefined | "";
|
|
173
|
-
})
|
|
174
|
-
) &
|
|
175
|
-
(
|
|
176
|
-
| {
|
|
177
|
-
/**
|
|
178
|
-
* The <MenuItem> components within the Menu.
|
|
179
|
-
*/
|
|
180
|
-
children: ReactNode | NullElement;
|
|
181
|
-
/**
|
|
182
|
-
* popoverConten is disallowed if children are present
|
|
183
|
-
*/
|
|
184
|
-
popoverContent?: never;
|
|
185
|
-
}
|
|
186
|
-
| {
|
|
187
|
-
/**
|
|
188
|
-
* children is disallowed if popoverContent is present
|
|
189
|
-
*/
|
|
190
|
-
children?: never;
|
|
191
|
-
/**
|
|
192
|
-
* The content for the popover that is triggered on click.
|
|
193
|
-
*/
|
|
194
|
-
popoverContent: ReactNode | NullElement;
|
|
195
|
-
}
|
|
196
|
-
);
|
|
197
|
-
|
|
198
|
-
const BaseMenuButton = ({
|
|
199
|
-
ariaLabel,
|
|
200
|
-
ariaLabelledBy,
|
|
201
|
-
ariaDescribedBy,
|
|
202
|
-
buttonChildren,
|
|
203
|
-
buttonLabel = "",
|
|
204
|
-
buttonVariant = "secondary",
|
|
205
|
-
children,
|
|
206
|
-
popoverContent,
|
|
207
|
-
endIcon: endIconProp,
|
|
208
|
-
hasVerticalDivider = false,
|
|
209
|
-
id: idOverride,
|
|
210
|
-
isDisabled,
|
|
211
|
-
isOverflow,
|
|
212
|
-
menuAlignment = "left",
|
|
213
|
-
omitEndIcon = false,
|
|
214
|
-
shouldCloseOnSelect = true,
|
|
215
|
-
size,
|
|
216
|
-
testId,
|
|
217
|
-
tooltipText,
|
|
218
|
-
translate,
|
|
219
|
-
verticalDividerAlignment = "start",
|
|
220
|
-
}: BaseMenuButtonProps & AdditionalBaseMenuButtonProps) => {
|
|
221
|
-
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
222
|
-
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
|
|
223
|
-
|
|
224
|
-
const isOpen = Boolean(anchorEl);
|
|
225
|
-
|
|
226
|
-
const closeMenu = useCallback(() => {
|
|
227
|
-
setAnchorEl(null);
|
|
228
|
-
}, []);
|
|
229
|
-
|
|
230
|
-
const openMenu = useCallback<MenuContextType["openMenu"]>((event) => {
|
|
231
|
-
setAnchorEl(event.currentTarget);
|
|
232
|
-
}, []);
|
|
233
|
-
|
|
234
|
-
const uniqueId = useUniqueId(idOverride);
|
|
235
|
-
|
|
236
|
-
const menuListProps = useMemo(
|
|
237
|
-
() => ({ "aria-labelledby": `${uniqueId}-button` }),
|
|
238
|
-
[uniqueId],
|
|
239
|
-
);
|
|
240
|
-
|
|
241
|
-
const providerValue = useMemo<MenuContextType>(
|
|
242
|
-
() => ({
|
|
243
|
-
closeMenu,
|
|
244
|
-
openMenu,
|
|
245
|
-
shouldCloseOnSelect,
|
|
246
|
-
}),
|
|
247
|
-
[closeMenu, openMenu, shouldCloseOnSelect],
|
|
248
|
-
);
|
|
249
|
-
|
|
250
|
-
const endIcon = omitEndIcon ? undefined : endIconProp ? (
|
|
251
|
-
endIconProp
|
|
252
|
-
) : isOverflow ? (
|
|
253
|
-
<MoreIcon />
|
|
254
|
-
) : (
|
|
255
|
-
<ChevronDownIcon />
|
|
256
|
-
);
|
|
257
|
-
|
|
258
|
-
const anchorOrigin = useMemo(
|
|
259
|
-
() =>
|
|
260
|
-
({
|
|
261
|
-
horizontal: menuAlignment,
|
|
262
|
-
vertical: "bottom",
|
|
263
|
-
}) as PopoverOrigin,
|
|
264
|
-
[menuAlignment],
|
|
265
|
-
);
|
|
266
|
-
|
|
267
|
-
const transformOrigin = useMemo(
|
|
268
|
-
() =>
|
|
269
|
-
({
|
|
270
|
-
horizontal: menuAlignment,
|
|
271
|
-
vertical: "top",
|
|
272
|
-
}) as PopoverOrigin,
|
|
273
|
-
[menuAlignment],
|
|
274
|
-
);
|
|
275
|
-
|
|
276
|
-
return (
|
|
277
|
-
<StyledMenuButtonContainer
|
|
278
|
-
hasVerticalDivider={hasVerticalDivider}
|
|
279
|
-
odysseyDesignTokens={odysseyDesignTokens}
|
|
280
|
-
verticalDividerAlignment={verticalDividerAlignment}
|
|
281
|
-
>
|
|
282
|
-
<BaseButton
|
|
283
|
-
ariaControls={isOpen ? `${uniqueId}-menu` : undefined}
|
|
284
|
-
ariaExpanded={isOpen ? "true" : undefined}
|
|
285
|
-
ariaHasPopup="true"
|
|
286
|
-
ariaDescribedBy={ariaDescribedBy}
|
|
287
|
-
ariaLabel={ariaLabel}
|
|
288
|
-
ariaLabelledBy={ariaLabelledBy}
|
|
289
|
-
testId={testId}
|
|
290
|
-
endIcon={endIcon}
|
|
291
|
-
id={`${uniqueId}-button`}
|
|
292
|
-
isDisabled={isDisabled}
|
|
293
|
-
label={buttonLabel}
|
|
294
|
-
children={buttonChildren}
|
|
295
|
-
onClick={openMenu}
|
|
296
|
-
size={size}
|
|
297
|
-
tooltipText={tooltipText}
|
|
298
|
-
translate={translate}
|
|
299
|
-
variant={buttonVariant}
|
|
300
|
-
/>
|
|
301
|
-
|
|
302
|
-
{children && (
|
|
303
|
-
<MuiMenu
|
|
304
|
-
anchorOrigin={anchorOrigin}
|
|
305
|
-
transformOrigin={transformOrigin}
|
|
306
|
-
anchorEl={anchorEl}
|
|
307
|
-
id={`${uniqueId}-menu`}
|
|
308
|
-
MenuListProps={menuListProps}
|
|
309
|
-
onClose={closeMenu}
|
|
310
|
-
open={isOpen}
|
|
311
|
-
>
|
|
312
|
-
<MenuContext.Provider value={providerValue}>
|
|
313
|
-
{children}
|
|
314
|
-
</MenuContext.Provider>
|
|
315
|
-
</MuiMenu>
|
|
316
|
-
)}
|
|
317
|
-
|
|
318
|
-
{popoverContent && (
|
|
319
|
-
<MuiPopover
|
|
320
|
-
open={isOpen}
|
|
321
|
-
anchorEl={anchorEl}
|
|
322
|
-
onClose={closeMenu}
|
|
323
|
-
anchorOrigin={anchorOrigin}
|
|
324
|
-
transformOrigin={transformOrigin}
|
|
325
|
-
>
|
|
326
|
-
<Box
|
|
327
|
-
sx={{
|
|
328
|
-
padding: odysseyDesignTokens.Spacing4,
|
|
329
|
-
}}
|
|
330
|
-
>
|
|
331
|
-
{popoverContent}
|
|
332
|
-
</Box>
|
|
333
|
-
</MuiPopover>
|
|
334
|
-
)}
|
|
335
|
-
</StyledMenuButtonContainer>
|
|
336
|
-
);
|
|
337
|
-
};
|
|
338
|
-
|
|
339
|
-
const MemoizedBaseMenuButton = memo(BaseMenuButton);
|
|
340
|
-
MemoizedBaseMenuButton.displayName = "BaseMenuButton";
|
|
341
|
-
|
|
342
|
-
export { MemoizedBaseMenuButton as BaseMenuButton };
|
package/src/Buttons/Button.tsx
DELETED
|
@@ -1,30 +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 {
|
|
15
|
-
AdditionalBaseButtonProps,
|
|
16
|
-
BaseButton,
|
|
17
|
-
BaseButtonProps,
|
|
18
|
-
} from "./BaseButton.js";
|
|
19
|
-
|
|
20
|
-
export type ButtonProps = Omit<BaseButtonProps, "children"> &
|
|
21
|
-
AdditionalBaseButtonProps;
|
|
22
|
-
|
|
23
|
-
const Button = (props: ButtonProps) => {
|
|
24
|
-
return <BaseButton {...props} />;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const MemoizedButton = memo(Button);
|
|
28
|
-
MemoizedButton.displayName = "Button";
|
|
29
|
-
|
|
30
|
-
export { MemoizedButton as Button };
|
|
@@ -1,23 +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 { createContext, useContext } from "react";
|
|
14
|
-
|
|
15
|
-
export type ButtonContextValue = {
|
|
16
|
-
isFullWidth: boolean;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const ButtonContext = createContext<ButtonContextValue>({
|
|
20
|
-
isFullWidth: false,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
export const useButton = () => useContext(ButtonContext);
|
|
@@ -1,33 +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 {
|
|
15
|
-
AdditionalBaseMenuButtonProps,
|
|
16
|
-
BaseMenuButton,
|
|
17
|
-
BaseMenuButtonProps,
|
|
18
|
-
} from "./BaseMenuButton.js";
|
|
19
|
-
|
|
20
|
-
export type MenuButtonProps = Omit<
|
|
21
|
-
BaseMenuButtonProps,
|
|
22
|
-
"buttonChildren" | "omitEndIcon"
|
|
23
|
-
> &
|
|
24
|
-
AdditionalBaseMenuButtonProps;
|
|
25
|
-
|
|
26
|
-
const MenuButton = (props: MenuButtonProps) => {
|
|
27
|
-
return <BaseMenuButton {...props} />;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const MemoizedMenuButton = memo(MenuButton);
|
|
31
|
-
MemoizedMenuButton.displayName = "MenuButton";
|
|
32
|
-
|
|
33
|
-
export { MemoizedMenuButton as MenuButton };
|
|
@@ -1,25 +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 { MouseEventHandler, createContext } from "react";
|
|
14
|
-
|
|
15
|
-
export type MenuContextType = {
|
|
16
|
-
closeMenu: () => void;
|
|
17
|
-
openMenu: MouseEventHandler<HTMLElement>;
|
|
18
|
-
shouldCloseOnSelect: boolean;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const MenuContext = createContext<MenuContextType>({
|
|
22
|
-
closeMenu: () => {},
|
|
23
|
-
openMenu: () => {},
|
|
24
|
-
shouldCloseOnSelect: true,
|
|
25
|
-
});
|
package/src/Buttons/MenuItem.tsx
DELETED
|
@@ -1,103 +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
|
-
MenuItem as MuiMenuItem,
|
|
15
|
-
MenuItemProps as MuiMenuItemProps,
|
|
16
|
-
} from "@mui/material";
|
|
17
|
-
import { menuItemClasses } from "@mui/material/MenuItem";
|
|
18
|
-
import { memo, useCallback, useContext, type ReactNode } from "react";
|
|
19
|
-
|
|
20
|
-
import { MenuContext } from "./MenuContext.js";
|
|
21
|
-
import type { HtmlProps } from "../HtmlProps.js";
|
|
22
|
-
|
|
23
|
-
export type MenuItemProps = {
|
|
24
|
-
/**
|
|
25
|
-
* The content of the menu item.
|
|
26
|
-
*/
|
|
27
|
-
children: ReactNode;
|
|
28
|
-
/**
|
|
29
|
-
* If `true`, the menu item will receive focus automatically.
|
|
30
|
-
*/
|
|
31
|
-
hasInitialFocus?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* If `true`, the menu item will be visually marked as selected.
|
|
34
|
-
*/
|
|
35
|
-
isSelected?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* If `true`, the menu item will be visually marked as disabled.
|
|
38
|
-
*/
|
|
39
|
-
isDisabled?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Callback fired when the menu item is clicked.
|
|
42
|
-
*/
|
|
43
|
-
onClick?: MuiMenuItemProps["onClick"];
|
|
44
|
-
/**
|
|
45
|
-
* The value associated with the menu item.
|
|
46
|
-
*/
|
|
47
|
-
value?: string;
|
|
48
|
-
/**
|
|
49
|
-
* The variant of the menu item.
|
|
50
|
-
* - "default": The default variant.
|
|
51
|
-
* - "destructive": A variant indicating a destructive action.
|
|
52
|
-
*/
|
|
53
|
-
variant?: "default" | "destructive";
|
|
54
|
-
} & Pick<HtmlProps, "testId">;
|
|
55
|
-
|
|
56
|
-
const MenuItem = ({
|
|
57
|
-
children,
|
|
58
|
-
hasInitialFocus,
|
|
59
|
-
isSelected,
|
|
60
|
-
isDisabled,
|
|
61
|
-
onClick: onClickProp,
|
|
62
|
-
testId,
|
|
63
|
-
value,
|
|
64
|
-
variant = "default",
|
|
65
|
-
}: MenuItemProps) => {
|
|
66
|
-
const { closeMenu, shouldCloseOnSelect } = useContext(MenuContext);
|
|
67
|
-
|
|
68
|
-
const onClick = useCallback<NonNullable<MuiMenuItemProps["onClick"]>>(
|
|
69
|
-
(event) => {
|
|
70
|
-
onClickProp?.(event);
|
|
71
|
-
if (shouldCloseOnSelect) {
|
|
72
|
-
closeMenu();
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
[onClickProp, closeMenu, shouldCloseOnSelect],
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
return (
|
|
79
|
-
<MuiMenuItem
|
|
80
|
-
aria-current={isSelected}
|
|
81
|
-
/* eslint-disable-next-line jsx-a11y/no-autofocus */
|
|
82
|
-
autoFocus={hasInitialFocus}
|
|
83
|
-
className={
|
|
84
|
-
variant === "destructive"
|
|
85
|
-
? `${menuItemClasses.root}-destructive`
|
|
86
|
-
: undefined
|
|
87
|
-
}
|
|
88
|
-
data-se={testId}
|
|
89
|
-
disabled={isDisabled}
|
|
90
|
-
onClick={onClick}
|
|
91
|
-
selected={isSelected}
|
|
92
|
-
value={value}
|
|
93
|
-
tabIndex={0}
|
|
94
|
-
>
|
|
95
|
-
{children}
|
|
96
|
-
</MuiMenuItem>
|
|
97
|
-
);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
const MemoizedMenuItem = memo(MenuItem);
|
|
101
|
-
MemoizedMenuItem.displayName = "MenuItem";
|
|
102
|
-
|
|
103
|
-
export { MemoizedMenuItem as MenuItem };
|
package/src/Buttons/index.ts
DELETED
|
@@ -1,25 +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
|
-
export {
|
|
14
|
-
buttonSizeValues,
|
|
15
|
-
buttonTypeValues,
|
|
16
|
-
buttonVariantValues,
|
|
17
|
-
} from "./BaseButton.js";
|
|
18
|
-
export * from "./Button.js";
|
|
19
|
-
export * from "./ButtonContext.js";
|
|
20
|
-
export {
|
|
21
|
-
menuAlignmentValues,
|
|
22
|
-
verticalDividerAlignmentValues,
|
|
23
|
-
} from "./BaseMenuButton.js";
|
|
24
|
-
export * from "./MenuButton.js";
|
|
25
|
-
export * from "./MenuItem.js";
|