@okta/odyssey-react-mui 1.57.0 → 1.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Accordion.cjs +1 -1
- package/dist/cjs/Autocomplete.cjs +3 -3
- package/dist/cjs/Autocomplete.cjs.map +1 -1
- package/dist/cjs/Badge.cjs +1 -1
- package/dist/cjs/Banner.cjs +1 -1
- package/dist/cjs/Box.cjs +1 -1
- package/dist/cjs/Breadcrumbs.cjs +5 -1
- package/dist/cjs/Breadcrumbs.cjs.map +1 -1
- package/dist/cjs/Buttons/BaseButton.cjs +1 -1
- package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
- package/dist/cjs/Buttons/Button.cjs +1 -1
- package/dist/cjs/Buttons/MenuButton.cjs +1 -1
- package/dist/cjs/Buttons/MenuItem.cjs +1 -1
- package/dist/cjs/Callout.cjs +1 -1
- package/dist/cjs/Card.cjs +1 -1
- package/dist/cjs/CircularProgress.cjs +1 -1
- package/dist/cjs/ConditionalWrapper.cjs +1 -1
- package/dist/cjs/DataTable/DataTable.cjs +5 -3
- package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
- package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
- package/dist/cjs/DatePickers/DateField.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
- package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
- package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
- package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
- package/dist/cjs/Dialog.cjs +1 -1
- package/dist/cjs/Drawer.cjs +1 -1
- package/dist/cjs/EmptyState.cjs +1 -1
- package/dist/cjs/ErrorMessageList.cjs +1 -1
- package/dist/cjs/Field.cjs +1 -1
- package/dist/cjs/FieldError.cjs +1 -1
- package/dist/cjs/FieldHint.cjs +1 -1
- package/dist/cjs/FieldLabel.cjs +1 -1
- package/dist/cjs/Fields/Checkbox.cjs +1 -1
- package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
- package/dist/cjs/Fields/Radio.cjs +1 -1
- package/dist/cjs/Fields/RadioGroup.cjs +1 -1
- package/dist/cjs/Fieldset.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/Form.cjs +1 -1
- package/dist/cjs/FullScreenOverlay.cjs +1 -1
- package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
- package/dist/cjs/HintLink.cjs +1 -1
- package/dist/cjs/IconWithTooltip.cjs +1 -1
- package/dist/cjs/Link.cjs +1 -1
- package/dist/cjs/MuiPropsChild.cjs +1 -1
- package/dist/cjs/NativeSelect.cjs +1 -1
- package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
- package/dist/cjs/OdysseyDesignTokensContext.cjs +3 -3
- package/dist/cjs/OdysseyDesignTokensContext.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs +27 -20
- package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/PasswordField.cjs +1 -1
- package/dist/cjs/ScreenReaderText.cjs +1 -1
- package/dist/cjs/SearchField.cjs +1 -1
- package/dist/cjs/Select.cjs +1 -1
- package/dist/cjs/Stack.cjs +1 -1
- package/dist/cjs/Status.cjs +1 -1
- package/dist/cjs/Surface.cjs +1 -1
- package/dist/cjs/Switch.cjs +2 -2
- package/dist/cjs/Tabs.cjs +1 -1
- package/dist/cjs/Tag.cjs +3 -2
- package/dist/cjs/Tag.cjs.map +1 -1
- package/dist/cjs/TagList.cjs +3 -1
- package/dist/cjs/TagList.cjs.map +1 -1
- package/dist/cjs/TextField.cjs +1 -1
- package/dist/cjs/Toast.cjs +1 -1
- package/dist/cjs/ToastStack.cjs +1 -1
- package/dist/cjs/Tooltip.cjs +1 -1
- package/dist/cjs/Typography.cjs +12 -12
- package/dist/cjs/icons.generated/Add.cjs +1 -1
- package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
- package/dist/cjs/icons.generated/Apps.cjs +1 -1
- package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
- package/dist/cjs/icons.generated/Bug.cjs +1 -1
- package/dist/cjs/icons.generated/Calendar.cjs +1 -1
- package/dist/cjs/icons.generated/Call.cjs +1 -1
- package/dist/cjs/icons.generated/Chat.cjs +1 -1
- package/dist/cjs/icons.generated/Check.cjs +1 -1
- package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
- package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
- package/dist/cjs/icons.generated/Clock.cjs +1 -1
- package/dist/cjs/icons.generated/Close.cjs +1 -1
- package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
- package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
- package/dist/cjs/icons.generated/Copy.cjs +1 -1
- package/dist/cjs/icons.generated/Custom.cjs +1 -1
- package/dist/cjs/icons.generated/Customizations.cjs +1 -1
- package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
- package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Delete.cjs +1 -1
- package/dist/cjs/icons.generated/Deny.cjs +1 -1
- package/dist/cjs/icons.generated/Devices.cjs +1 -1
- package/dist/cjs/icons.generated/Directory.cjs +1 -1
- package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
- package/dist/cjs/icons.generated/Documentation.cjs +1 -1
- package/dist/cjs/icons.generated/Download.cjs +1 -1
- package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
- package/dist/cjs/icons.generated/Duo.cjs +1 -1
- package/dist/cjs/icons.generated/Edit.cjs +1 -1
- package/dist/cjs/icons.generated/Email.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
- package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
- package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
- package/dist/cjs/icons.generated/Fido2.cjs +1 -1
- package/dist/cjs/icons.generated/Filter.cjs +1 -1
- package/dist/cjs/icons.generated/Folder.cjs +1 -1
- package/dist/cjs/icons.generated/Globe.cjs +1 -1
- package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
- package/dist/cjs/icons.generated/Grid.cjs +1 -1
- package/dist/cjs/icons.generated/Group.cjs +1 -1
- package/dist/cjs/icons.generated/Happy.cjs +1 -1
- package/dist/cjs/icons.generated/Hide.cjs +1 -1
- package/dist/cjs/icons.generated/Home.cjs +1 -1
- package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
- package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Idp.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
- package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Link.cjs +1 -1
- package/dist/cjs/icons.generated/List.cjs +1 -1
- package/dist/cjs/icons.generated/Lock.cjs +1 -1
- package/dist/cjs/icons.generated/Menu.cjs +1 -1
- package/dist/cjs/icons.generated/More.cjs +1 -1
- package/dist/cjs/icons.generated/Neutral.cjs +1 -1
- package/dist/cjs/icons.generated/Notification.cjs +1 -1
- package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
- package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
- package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
- package/dist/cjs/icons.generated/Password.cjs +1 -1
- package/dist/cjs/icons.generated/Pause.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
- package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Refresh.cjs +1 -1
- package/dist/cjs/icons.generated/Reports.cjs +1 -1
- package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Reset.cjs +1 -1
- package/dist/cjs/icons.generated/Resume.cjs +1 -1
- package/dist/cjs/icons.generated/Sad.cjs +1 -1
- package/dist/cjs/icons.generated/Same.cjs +1 -1
- package/dist/cjs/icons.generated/Search.cjs +1 -1
- package/dist/cjs/icons.generated/Security.cjs +1 -1
- package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
- package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
- package/dist/cjs/icons.generated/Send.cjs +1 -1
- package/dist/cjs/icons.generated/Server.cjs +1 -1
- package/dist/cjs/icons.generated/Settings.cjs +1 -1
- package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Show.cjs +1 -1
- package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
- package/dist/cjs/icons.generated/Sms.cjs +1 -1
- package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
- package/dist/cjs/icons.generated/Subtract.cjs +1 -1
- package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
- package/dist/cjs/icons.generated/Sync.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
- package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
- package/dist/cjs/icons.generated/Unlock.cjs +1 -1
- package/dist/cjs/icons.generated/Upload.cjs +1 -1
- package/dist/cjs/icons.generated/User.cjs +1 -1
- package/dist/cjs/icons.generated/Video.cjs +1 -1
- package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
- package/dist/cjs/icons.generated/Warning.cjs +1 -1
- package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
- package/dist/cjs/icons.generated/Workflows.cjs +1 -1
- package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
- package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/labs/AppTile.cjs +1 -1
- package/dist/cjs/labs/DataFilters.cjs +19 -5
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/labs/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataTablePagination.cjs +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
- package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
- package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs +19 -22
- package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
- package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
- package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
- package/dist/cjs/labs/DataView/dataTypes.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs +1 -1
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
- package/dist/cjs/labs/PaginatedTable.cjs +1 -1
- package/dist/cjs/labs/StaticTable.cjs +1 -1
- package/dist/cjs/labs/UserProfile.cjs +1 -1
- package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
- package/dist/cjs/theme/components.cjs +7 -7
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
- package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +5 -2
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
- package/dist/cjs/ui-shell/SkipToContent.cjs +124 -0
- package/dist/cjs/ui-shell/SkipToContent.cjs.map +1 -0
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +1 -1
- package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +5 -2
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/index.cjs +12 -0
- package/dist/cjs/ui-shell/index.cjs.map +1 -1
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs +2 -1
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs.map +1 -1
- package/dist/cjs/useContrastMode.cjs +38 -20
- package/dist/cjs/useContrastMode.cjs.map +1 -1
- package/dist/cjs/useThemeCache.cjs +53 -0
- package/dist/cjs/useThemeCache.cjs.map +1 -0
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/esm/Accordion.js +1 -1
- package/dist/esm/Autocomplete.js +4 -4
- package/dist/esm/Autocomplete.js.map +1 -1
- package/dist/esm/Badge.js +1 -1
- package/dist/esm/Banner.js +1 -1
- package/dist/esm/Box.js +1 -1
- package/dist/esm/Breadcrumbs.js +5 -1
- package/dist/esm/Breadcrumbs.js.map +1 -1
- package/dist/esm/Buttons/BaseButton.js +1 -1
- package/dist/esm/Buttons/BaseMenuButton.js +1 -1
- package/dist/esm/Buttons/Button.js +1 -1
- package/dist/esm/Buttons/MenuButton.js +1 -1
- package/dist/esm/Buttons/MenuItem.js +1 -1
- package/dist/esm/Callout.js +1 -1
- package/dist/esm/Card.js +1 -1
- package/dist/esm/CircularProgress.js +1 -1
- package/dist/esm/ConditionalWrapper.js +1 -1
- package/dist/esm/DataTable/DataTable.js +5 -3
- package/dist/esm/DataTable/DataTable.js.map +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js +1 -1
- package/dist/esm/DataTable/DataTableSettings.js +1 -1
- package/dist/esm/DatePickers/DateField.js +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
- package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
- package/dist/esm/DatePickers/DatePicker.js +1 -1
- package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
- package/dist/esm/Dialog.js +1 -1
- package/dist/esm/Drawer.js +1 -1
- package/dist/esm/EmptyState.js +1 -1
- package/dist/esm/ErrorMessageList.js +1 -1
- package/dist/esm/Field.js +1 -1
- package/dist/esm/FieldError.js +1 -1
- package/dist/esm/FieldHint.js +1 -1
- package/dist/esm/FieldLabel.js +1 -1
- package/dist/esm/Fields/Checkbox.js +1 -1
- package/dist/esm/Fields/CheckboxGroup.js +1 -1
- package/dist/esm/Fields/Radio.js +1 -1
- package/dist/esm/Fields/RadioGroup.js +1 -1
- package/dist/esm/Fieldset.js +1 -1
- package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
- package/dist/esm/FileUploader/FileUploader.js +1 -1
- package/dist/esm/Form.js +1 -1
- package/dist/esm/FullScreenOverlay.js +1 -1
- package/dist/esm/FullScreenOverlayContext.js +1 -1
- package/dist/esm/HintLink.js +1 -1
- package/dist/esm/IconWithTooltip.js +1 -1
- package/dist/esm/Link.js +1 -1
- package/dist/esm/MuiPropsChild.js +1 -1
- package/dist/esm/NativeSelect.js +1 -1
- package/dist/esm/OdysseyCacheProvider.js +1 -1
- package/dist/esm/OdysseyDesignTokensContext.js +3 -1
- package/dist/esm/OdysseyDesignTokensContext.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +1 -1
- package/dist/esm/OdysseyThemeProvider.js +28 -21
- package/dist/esm/OdysseyThemeProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
- package/dist/esm/Pagination/Pagination.js +1 -1
- package/dist/esm/PasswordField.js +1 -1
- package/dist/esm/ScreenReaderText.js +1 -1
- package/dist/esm/SearchField.js +1 -1
- package/dist/esm/Select.js +1 -1
- package/dist/esm/Stack.js +1 -1
- package/dist/esm/Status.js +1 -1
- package/dist/esm/Surface.js +1 -1
- package/dist/esm/Switch.js +2 -2
- package/dist/esm/Tabs.js +1 -1
- package/dist/esm/Tag.js +3 -2
- package/dist/esm/Tag.js.map +1 -1
- package/dist/esm/TagList.js +3 -1
- package/dist/esm/TagList.js.map +1 -1
- package/dist/esm/TextField.js +1 -1
- package/dist/esm/Toast.js +1 -1
- package/dist/esm/ToastStack.js +1 -1
- package/dist/esm/Tooltip.js +1 -1
- package/dist/esm/Typography.js +12 -12
- package/dist/esm/icons.generated/Add.js +1 -1
- package/dist/esm/icons.generated/AddCircle.js +1 -1
- package/dist/esm/icons.generated/Apps.js +1 -1
- package/dist/esm/icons.generated/AppsSelected.js +1 -1
- package/dist/esm/icons.generated/ArrowBottom.js +1 -1
- package/dist/esm/icons.generated/ArrowDown.js +1 -1
- package/dist/esm/icons.generated/ArrowLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
- package/dist/esm/icons.generated/ArrowRight.js +1 -1
- package/dist/esm/icons.generated/ArrowTop.js +1 -1
- package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
- package/dist/esm/icons.generated/ArrowUp.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
- package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
- package/dist/esm/icons.generated/Bug.js +1 -1
- package/dist/esm/icons.generated/Calendar.js +1 -1
- package/dist/esm/icons.generated/Call.js +1 -1
- package/dist/esm/icons.generated/Chat.js +1 -1
- package/dist/esm/icons.generated/Check.js +1 -1
- package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
- package/dist/esm/icons.generated/ChevronDown.js +1 -1
- package/dist/esm/icons.generated/ChevronLeft.js +1 -1
- package/dist/esm/icons.generated/ChevronRight.js +1 -1
- package/dist/esm/icons.generated/ChevronUp.js +1 -1
- package/dist/esm/icons.generated/Clock.js +1 -1
- package/dist/esm/icons.generated/Close.js +1 -1
- package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
- package/dist/esm/icons.generated/CollapseLeft.js +1 -1
- package/dist/esm/icons.generated/CollapseRight.js +1 -1
- package/dist/esm/icons.generated/Copy.js +1 -1
- package/dist/esm/icons.generated/Custom.js +1 -1
- package/dist/esm/icons.generated/Customizations.js +1 -1
- package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
- package/dist/esm/icons.generated/DangerDiamond.js +1 -1
- package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
- package/dist/esm/icons.generated/Delete.js +1 -1
- package/dist/esm/icons.generated/Deny.js +1 -1
- package/dist/esm/icons.generated/Devices.js +1 -1
- package/dist/esm/icons.generated/Directory.js +1 -1
- package/dist/esm/icons.generated/DirectorySelected.js +1 -1
- package/dist/esm/icons.generated/Documentation.js +1 -1
- package/dist/esm/icons.generated/Download.js +1 -1
- package/dist/esm/icons.generated/DragIndicator.js +1 -1
- package/dist/esm/icons.generated/Duo.js +1 -1
- package/dist/esm/icons.generated/Edit.js +1 -1
- package/dist/esm/icons.generated/Email.js +1 -1
- package/dist/esm/icons.generated/ExpandLeft.js +1 -1
- package/dist/esm/icons.generated/ExpandRight.js +1 -1
- package/dist/esm/icons.generated/ExternalLink.js +1 -1
- package/dist/esm/icons.generated/Fido2.js +1 -1
- package/dist/esm/icons.generated/Filter.js +1 -1
- package/dist/esm/icons.generated/Folder.js +1 -1
- package/dist/esm/icons.generated/Globe.js +1 -1
- package/dist/esm/icons.generated/GoogleAuth.js +1 -1
- package/dist/esm/icons.generated/Grid.js +1 -1
- package/dist/esm/icons.generated/Group.js +1 -1
- package/dist/esm/icons.generated/Happy.js +1 -1
- package/dist/esm/icons.generated/Hide.js +1 -1
- package/dist/esm/icons.generated/Home.js +1 -1
- package/dist/esm/icons.generated/HomeSelected.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
- package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
- package/dist/esm/icons.generated/Idp.js +1 -1
- package/dist/esm/icons.generated/InformationCircle.js +1 -1
- package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
- package/dist/esm/icons.generated/Link.js +1 -1
- package/dist/esm/icons.generated/List.js +1 -1
- package/dist/esm/icons.generated/Lock.js +1 -1
- package/dist/esm/icons.generated/Menu.js +1 -1
- package/dist/esm/icons.generated/More.js +1 -1
- package/dist/esm/icons.generated/Neutral.js +1 -1
- package/dist/esm/icons.generated/Notification.js +1 -1
- package/dist/esm/icons.generated/OktaVerify.js +1 -1
- package/dist/esm/icons.generated/OnPremMfa.js +1 -1
- package/dist/esm/icons.generated/OneTimePassword.js +1 -1
- package/dist/esm/icons.generated/Password.js +1 -1
- package/dist/esm/icons.generated/Pause.js +1 -1
- package/dist/esm/icons.generated/QuestionCircle.js +1 -1
- package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
- package/dist/esm/icons.generated/Refresh.js +1 -1
- package/dist/esm/icons.generated/Reports.js +1 -1
- package/dist/esm/icons.generated/ReportsSelected.js +1 -1
- package/dist/esm/icons.generated/Reset.js +1 -1
- package/dist/esm/icons.generated/Resume.js +1 -1
- package/dist/esm/icons.generated/Sad.js +1 -1
- package/dist/esm/icons.generated/Same.js +1 -1
- package/dist/esm/icons.generated/Search.js +1 -1
- package/dist/esm/icons.generated/Security.js +1 -1
- package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
- package/dist/esm/icons.generated/SecuritySelected.js +1 -1
- package/dist/esm/icons.generated/Send.js +1 -1
- package/dist/esm/icons.generated/Server.js +1 -1
- package/dist/esm/icons.generated/Settings.js +1 -1
- package/dist/esm/icons.generated/SettingsSelected.js +1 -1
- package/dist/esm/icons.generated/Show.js +1 -1
- package/dist/esm/icons.generated/SmartCard.js +1 -1
- package/dist/esm/icons.generated/Sms.js +1 -1
- package/dist/esm/icons.generated/Sparkle.js +1 -1
- package/dist/esm/icons.generated/Subtract.js +1 -1
- package/dist/esm/icons.generated/SymantecVip.js +1 -1
- package/dist/esm/icons.generated/Sync.js +1 -1
- package/dist/esm/icons.generated/ThumbsDown.js +1 -1
- package/dist/esm/icons.generated/ThumbsUp.js +1 -1
- package/dist/esm/icons.generated/Unlock.js +1 -1
- package/dist/esm/icons.generated/Upload.js +1 -1
- package/dist/esm/icons.generated/User.js +1 -1
- package/dist/esm/icons.generated/Video.js +1 -1
- package/dist/esm/icons.generated/VoiceCall.js +1 -1
- package/dist/esm/icons.generated/Warning.js +1 -1
- package/dist/esm/icons.generated/WarningFilled.js +1 -1
- package/dist/esm/icons.generated/Workflows.js +1 -1
- package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
- package/dist/esm/icons.generated/Yubikey.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/labs/AppTile.js +1 -1
- package/dist/esm/labs/DataFilters.js +19 -5
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataTable.js +1 -1
- package/dist/esm/labs/DataTablePagination.js +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
- package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
- package/dist/esm/labs/DataView/DataCard.js +1 -1
- package/dist/esm/labs/DataView/DataTable.js +1 -1
- package/dist/esm/labs/DataView/DataView.js +19 -22
- package/dist/esm/labs/DataView/DataView.js.map +1 -1
- package/dist/esm/labs/DataView/DetailPanel.js +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
- package/dist/esm/labs/DataView/RowActions.js +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
- package/dist/esm/labs/DataView/TableSettings.js +1 -1
- package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
- package/dist/esm/labs/DataView/dataTypes.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
- package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
- package/dist/esm/labs/PageTemplate/Layout.js +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
- package/dist/esm/labs/PaginatedTable.js +1 -1
- package/dist/esm/labs/StaticTable.js +1 -1
- package/dist/esm/labs/UserProfile.js +1 -1
- package/dist/esm/labs/UserProfileMenuButton.js +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
- package/dist/esm/theme/components.js +7 -7
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
- package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +5 -2
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/NavAccordion.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -2
- package/dist/esm/ui-shell/SkipToContent.js +118 -0
- package/dist/esm/ui-shell/SkipToContent.js.map +1 -0
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
- package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
- package/dist/esm/ui-shell/UiShell.js +1 -1
- package/dist/esm/ui-shell/UiShellLogo.js +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +5 -2
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/index.js +2 -1
- package/dist/esm/ui-shell/index.js.map +1 -1
- package/dist/esm/ui-shell/uiShellSharedConstants.js +1 -0
- package/dist/esm/ui-shell/uiShellSharedConstants.js.map +1 -1
- package/dist/esm/useContrastMode.js +37 -20
- package/dist/esm/useContrastMode.js.map +1 -1
- package/dist/esm/useThemeCache.js +46 -0
- package/dist/esm/useThemeCache.js.map +1 -0
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/Autocomplete.d.ts +3 -1
- package/dist/types/Autocomplete.d.ts.map +1 -1
- package/dist/types/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/DataTable/DataTable.d.ts +5 -1
- package/dist/types/DataTable/DataTable.d.ts.map +1 -1
- package/dist/types/OdysseyDesignTokensContext.d.ts +678 -3
- package/dist/types/OdysseyDesignTokensContext.d.ts.map +1 -1
- package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
- package/dist/types/Tag.d.ts +1 -1
- package/dist/types/Tag.d.ts.map +1 -1
- package/dist/types/TagList.d.ts +2 -2
- package/dist/types/TagList.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.d.ts +4 -0
- package/dist/types/i18n.generated/i18n.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.resources.d.ts +6 -0
- package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/labs/DataFilters.d.ts +10 -1
- package/dist/types/labs/DataFilters.d.ts.map +1 -1
- package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
- package/dist/types/labs/DataView/componentTypes.d.ts +4 -1
- package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
- package/dist/types/labs/DataView/dataTypes.d.ts +2 -1
- package/dist/types/labs/DataView/dataTypes.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SkipToContent.d.ts +17 -0
- package/dist/types/ui-shell/SkipToContent.d.ts.map +1 -0
- package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/index.d.ts +2 -1
- package/dist/types/ui-shell/index.d.ts.map +1 -1
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts +1 -0
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts.map +1 -1
- package/dist/types/useContrastMode.d.ts +6 -2
- package/dist/types/useContrastMode.d.ts.map +1 -1
- package/dist/types/useThemeCache.d.ts +28 -0
- package/dist/types/useThemeCache.d.ts.map +1 -0
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/package.json +7 -8
|
@@ -70,6 +70,6 @@ const AppSwitcher = ({
|
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
72
|
const MemoizedAppSwitcher = memo(AppSwitcher);
|
|
73
|
-
MemoizedAppSwitcher.displayName = "AppSwitcher::pkg=odyssey&odysseyV=1.
|
|
73
|
+
MemoizedAppSwitcher.displayName = "AppSwitcher::pkg=odyssey&odysseyV=1.59.0";
|
|
74
74
|
export { MemoizedAppSwitcher as AppSwitcher };
|
|
75
75
|
//# sourceMappingURL=AppSwitcher.js.map
|
|
@@ -52,6 +52,6 @@ const InnerAppContainer = ({
|
|
|
52
52
|
children: [_jsx(StyledAppContainerShadow1, {}), _jsx(StyledAppContainerShadow2, {}), _jsx(StyledAppContainerShadow3, {})]
|
|
53
53
|
}) : null;
|
|
54
54
|
const MemoizedInnerAppContainer = memo(InnerAppContainer);
|
|
55
|
-
MemoizedInnerAppContainer.displayName = "InnerAppContainer::pkg=odyssey&odysseyV=1.
|
|
55
|
+
MemoizedInnerAppContainer.displayName = "InnerAppContainer::pkg=odyssey&odysseyV=1.59.0";
|
|
56
56
|
export { MemoizedInnerAppContainer as InnerAppContainer };
|
|
57
57
|
//# sourceMappingURL=InnerAppContainer.js.map
|
|
@@ -21,6 +21,7 @@ import { MoreIcon } from "../icons.generated/More.js";
|
|
|
21
21
|
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
|
|
22
22
|
import { InnerAppContainer } from "./InnerAppContainer.js";
|
|
23
23
|
import { SideNav } from "./SideNav/SideNav.js";
|
|
24
|
+
import { SkipToContent } from "./SkipToContent.js";
|
|
24
25
|
import { HamburgerMenuIcon } from "./TopNav/HamburgerMenuIcon.js";
|
|
25
26
|
import { UiShellLogo } from "./UiShellLogo.js";
|
|
26
27
|
import { useUiShellContext } from "./UiShellProvider.js";
|
|
@@ -258,7 +259,9 @@ const NarrowUiShellContent = ({
|
|
|
258
259
|
}), _jsxs(StyledUiShellContainer, {
|
|
259
260
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
260
261
|
ref: parentContainerRef,
|
|
261
|
-
children: [_jsx(
|
|
262
|
+
children: [_jsx(SkipToContent, {
|
|
263
|
+
appElement: appElement
|
|
264
|
+
}), _jsx(StyledBannersContainer, {
|
|
262
265
|
children: optionalComponents?.banners
|
|
263
266
|
}), (initialVisibleSections?.includes("TopNav") || topNavProps) && _jsx(ErrorBoundary, {
|
|
264
267
|
fallback: null,
|
|
@@ -350,6 +353,6 @@ const NarrowUiShellContent = ({
|
|
|
350
353
|
});
|
|
351
354
|
};
|
|
352
355
|
const MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);
|
|
353
|
-
MemoizedNarrowUiShellContent.displayName = "NarrowUiShellContent::pkg=odyssey&odysseyV=1.
|
|
356
|
+
MemoizedNarrowUiShellContent.displayName = "NarrowUiShellContent::pkg=odyssey&odysseyV=1.59.0";
|
|
354
357
|
export { MemoizedNarrowUiShellContent as NarrowUiShellContent };
|
|
355
358
|
//# sourceMappingURL=NarrowUiShellContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NarrowUiShellContent.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","hexToRgb","useTranslation","CloseIcon","MoreIcon","useOdysseyDesignTokens","InnerAppContainer","SideNav","HamburgerMenuIcon","UiShellLogo","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","useMatchAppElementToUiShellAppArea","useScrollState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","display","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","overflowY","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasSideNavProps","hasStandardAppContentPadding","initialVisibleSections","logoProps","onError","console","error","optionalComponents","sideNavProps","topNavProps","t","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","handleKeyDown","event","key","document","addEventListener","removeEventListener","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","ariaLabel","startIcon","testId","variant","rightSideMenu","topNavLeftSide","isLoading","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","MemoizedNarrowUiShellContent","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport type { HtmlProps } from \"../HtmlProps.js\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport {\n UiShellContentProps,\n UiShellNavComponentProps,\n} from \"./uiShellContentTypes.js\";\nimport { UiShellLogo } from \"./UiShellLogo.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { useScrollState } from \"./useScrollState.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n position: \"absolute\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"logoProps\" | \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasSideNavProps,\n hasStandardAppContentPadding = true,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n logoProps,\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const { t } = useTranslation();\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n closeSideMenus();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [closeSideMenus]);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {hasSideNavProps &&\n (sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n ariaLabel={t(\"topnav.sidenavmenu.toggle\")}\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <UiShellLogo {...(sideNavProps?.logoProps || logoProps)} />\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n ariaLabel={t(\"topnav.usermenu.toggle\")}\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n onCollapse={closeSideMenus}\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n ref={uiShellAppAreaRef}\n tabIndex={0}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NarrowUiShellContent.js","names":["styled","memo","useCallback","useEffect","useRef","useState","ErrorBoundary","Button","hexToRgb","useTranslation","CloseIcon","MoreIcon","useOdysseyDesignTokens","InnerAppContainer","SideNav","SkipToContent","HamburgerMenuIcon","UiShellLogo","useUiShellContext","emptySideNavItems","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","useMatchAppElementToUiShellAppArea","useScrollState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StyledAppContentArea","gridArea","position","height","width","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","overflow","StyledBannersContainer","zIndex","StyledLeftSideContainer","isOpen","display","StyledRightSideContainer","odysseyDesignTokens","HueNeutralWhite","maxWidth","overflowY","right","StyledMenuLogo","alignItems","gap","Spacing3","StyledLogoContainer","paddingBlock","Spacing4","maxHeight","StyledPageOverlay","HueNeutral900","asFormattedString","replace","left","top","StyledSideNavContainer","StyledUiShellContainer","HueNeutral50","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","StyledTopNav","isContentScrolled","topNavBackgroundColor","boxShadow","DepthMedium","undefined","clipPath","flexDirection","justifyContent","transition","TransitionDurationMain","TransitionTimingMain","StyledTopNavMenu","minHeight","Spacing2","paddingInline","borderBottomColor","HueNeutral100","borderBottomStyle","BorderStyleMain","borderBottomWidth","BorderWidthMain","StyledTopNavSearch","NarrowUiShellContent","appElement","appElementScrollingMode","hasSideNavProps","hasStandardAppContentPadding","initialVisibleSections","logoProps","onError","console","error","optionalComponents","sideNavProps","topNavProps","t","uiShellContext","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","isLeftSideMenuOpen","setIsLeftSideMenuOpen","isRightSideMenuOpen","setIsRightSideMenuOpen","closeSideMenus","unsubscribeFromCloseRightSideMenu","subscribeToCloseRightSideMenu","unsubscribeFromSideNavItemClicked","subscribeToCloseSideNavMenu","toggleLeftSideMenu","toggleRightSideMenu","handleKeyDown","event","key","document","addEventListener","removeEventListener","parentContainerRef","paddingMode","uiShellResizableRefs","children","onClick","ref","banners","includes","fallback","sideNavBackgroundColor","isCollapsible","isCollapsed","ariaLabel","startIcon","testId","variant","rightSideMenu","topNavLeftSide","isLoading","sideNavItems","appName","hasCustomFooter","sideNavFooter","footerComponent","footerItems","isObtrusive","onCollapse","tabIndex","MemoizedNarrowUiShellContent","displayName"],"sources":["../../../src/ui-shell/NarrowUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport type { HtmlProps } from \"../HtmlProps.js\";\n\nimport { Button } from \"../Buttons/Button.js\";\nimport { hexToRgb } from \"../hexToRgb.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { CloseIcon } from \"../icons.generated/Close.js\";\nimport { MoreIcon } from \"../icons.generated/More.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SkipToContent } from \"./SkipToContent.js\";\nimport { HamburgerMenuIcon } from \"./TopNav/HamburgerMenuIcon.js\";\nimport {\n UiShellContentProps,\n UiShellNavComponentProps,\n} from \"./uiShellContentTypes.js\";\nimport { UiShellLogo } from \"./UiShellLogo.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport {\n emptySideNavItems,\n SIDE_NAV_WIDTH,\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"./uiShellSharedConstants.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { useScrollState } from \"./useScrollState.js\";\n\nconst StyledAppContentArea = styled(\"div\")({\n gridArea: \"app-content\",\n position: \"relative\",\n height: \"100%\",\n width: \"100%\",\n});\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n height: \"100%\",\n overflow: \"hidden\",\n width: \"100%\",\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst StyledLeftSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isOpen\",\n})<{\n isOpen: boolean;\n}>(({ isOpen }) => ({\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n position: \"absolute\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n}));\n\nconst StyledRightSideContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"isOpen\" && prop !== \"odysseyDesignTokens\",\n})<{\n isOpen: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isOpen, odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n display: isOpen ? \"block\" : \"none\",\n height: \"100%\",\n maxWidth: SIDE_NAV_WIDTH,\n overflowY: \"auto\",\n position: \"absolute\",\n right: 0,\n width: SIDE_NAV_WIDTH,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n}));\n\nconst StyledMenuLogo = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"inline-flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n}));\n\nconst StyledPageOverlay = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: hexToRgb(\n odysseyDesignTokens.HueNeutral900,\n ).asFormattedString.replace(/rgb\\((.+)\\)$/, \"rgba($1, 0.26)\"),\n gridArea: \"app-content\",\n height: \"100vh\",\n left: 0,\n position: \"absolute\",\n top: 0,\n width: \"100vw\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledSideNavContainer = styled(\"div\")({\n height: \"100%\", // Without this value, side nav won't fill up the height if the content is too short.\n});\n\nconst StyledUiShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners\"\n \"top-nav\"\n \"app-content\"\n `,\n gridTemplateColumns: \"1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n overflow: \"hidden\",\n width: \"100vw\",\n}));\n\nconst StyledTopNav = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isContentScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isContentScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isContentScrolled, topNavBackgroundColor }) => ({\n alignItems: \"stretch\",\n backgroundColor: odysseyDesignTokens.HueNeutralWhite || topNavBackgroundColor, // This logic doesn't make sense, but I wanted to leave it here for when we eventually make a decision on `topNavBackgroundColor`. --Kevin Ghadyani\n boxShadow: isContentScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n flexDirection: \"column\",\n gridArea: \"top-nav\",\n height: \"100%\",\n justifyContent: \"center\",\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n}));\n\nconst StyledTopNavMenu = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"topNavBackgroundColor\",\n})<{\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite &&\n ({\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n } as CSSProperties)),\n}));\n\nconst StyledTopNavSearch = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing3,\n}));\n\nexport type NarrowUiShellContentProps = Pick<HtmlProps, \"testId\"> &\n Pick<UiShellNavComponentProps, \"logoProps\" | \"sideNavProps\" | \"topNavProps\"> &\n UiShellContentProps;\n\nconst NarrowUiShellContent = ({\n appElement,\n appElementScrollingMode,\n hasSideNavProps,\n hasStandardAppContentPadding = true,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n logoProps,\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: NarrowUiShellContentProps) => {\n const { t } = useTranslation();\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const [isLeftSideMenuOpen, setIsLeftSideMenuOpen] = useState(false);\n const [isRightSideMenuOpen, setIsRightSideMenuOpen] = useState(false);\n\n const closeSideMenus = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen(false);\n }, []);\n\n useEffect(() => {\n const unsubscribeFromCloseRightSideMenu =\n uiShellContext?.subscribeToCloseRightSideMenu(() => {\n closeSideMenus();\n });\n\n const unsubscribeFromSideNavItemClicked =\n uiShellContext?.subscribeToCloseSideNavMenu(() => {\n closeSideMenus();\n });\n\n return () => {\n unsubscribeFromCloseRightSideMenu?.();\n unsubscribeFromSideNavItemClicked?.();\n };\n }, [closeSideMenus, uiShellContext]);\n\n const toggleLeftSideMenu = useCallback(() => {\n setIsRightSideMenuOpen(false);\n setIsLeftSideMenuOpen((isLeftSideMenuOpen) => !isLeftSideMenuOpen);\n }, []);\n\n const toggleRightSideMenu = useCallback(() => {\n setIsLeftSideMenuOpen(false);\n setIsRightSideMenuOpen((isRightSideMenuOpen) => !isRightSideMenuOpen);\n }, []);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n closeSideMenus();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [closeSideMenus]);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"compact\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <>\n {(isLeftSideMenuOpen || isRightSideMenuOpen) && (\n <StyledPageOverlay\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={closeSideMenus}\n />\n )}\n\n <StyledUiShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <SkipToContent appElement={appElement} />\n\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n {(initialVisibleSections?.includes(\"TopNav\") || topNavProps) && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledTopNav\n isContentScrolled={isContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledTopNavMenu\n odysseyDesignTokens={odysseyDesignTokens}\n topNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n <StyledMenuLogo odysseyDesignTokens={odysseyDesignTokens}>\n {hasSideNavProps &&\n (sideNavProps?.isCollapsible ||\n !sideNavProps?.isCollapsed) && (\n <Button\n ariaLabel={t(\"topnav.sidenavmenu.toggle\")}\n onClick={toggleLeftSideMenu}\n startIcon={<HamburgerMenuIcon />}\n testId=\"sidenav-menu--icon\"\n variant=\"floating\"\n />\n )}\n\n <StyledLogoContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <UiShellLogo {...(sideNavProps?.logoProps || logoProps)} />\n </StyledLogoContainer>\n </StyledMenuLogo>\n\n {optionalComponents?.rightSideMenu && (\n <Button\n ariaLabel={t(\"topnav.usermenu.toggle\")}\n onClick={toggleRightSideMenu}\n startIcon={\n isRightSideMenuOpen ? <CloseIcon /> : <MoreIcon />\n }\n testId=\"userprofile-menu--icon\"\n variant=\"floating\"\n />\n )}\n </StyledTopNavMenu>\n\n {optionalComponents?.topNavLeftSide && (\n <StyledTopNavSearch odysseyDesignTokens={odysseyDesignTokens}>\n {optionalComponents?.topNavLeftSide}\n </StyledTopNavSearch>\n )}\n </StyledTopNav>\n </ErrorBoundary>\n )}\n\n <StyledAppContentArea>\n <StyledLeftSideContainer isOpen={isLeftSideMenuOpen}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <StyledSideNavContainer>\n <SideNav\n {...{\n ...{\n ...sideNavProps,\n // This hides the side nav logo or app name from showing up as we already have one in the narrow top nav.\n appName: undefined,\n logoProps: undefined,\n },\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n isCollapsed={false}\n isCollapsible={false}\n isObtrusive\n onCollapse={closeSideMenus}\n />\n </StyledSideNavContainer>\n </ErrorBoundary>\n )}\n </StyledLeftSideContainer>\n\n <StyledRightSideContainer\n isOpen={isRightSideMenuOpen}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavContainer>\n {optionalComponents?.rightSideMenu}\n </StyledSideNavContainer>\n </StyledRightSideContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n ref={uiShellAppAreaRef}\n tabIndex={0}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledAppContentArea>\n </StyledUiShellContainer>\n </>\n );\n};\n\nconst MemoizedNarrowUiShellContent = memo(NarrowUiShellContent);\nMemoizedNarrowUiShellContent.displayName = \"NarrowUiShellContent\";\n\nexport { MemoizedNarrowUiShellContent as NarrowUiShellContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAEEC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,aAAa,QAAQ,sBAAsB;AAIpD,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,SAAS,QAAQ,6BAA6B;AACvD,SAASC,QAAQ,QAAQ,4BAA4B;AACrD,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,iBAAiB,QAAQ,+BAA+B;AAKjE,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAAwBC,iBAAiB,QAAQ,sBAAsB;AACvE,SACEC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,qBAAqB,EACrBC,wBAAwB,QACnB,6BAA6B;AACpC,SAASC,kCAAkC,QAAQ,yCAAyC;AAC5F,SAASC,cAAc,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAErD,MAAMC,oBAAoB,GAAGhC,MAAM,CAAC,KAAK,CAAC,CAAC;EACzCiC,QAAQ,EAAE,aAAa;EACvBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,MAAMC,kBAAkB,GAAGrC,MAAM,CAAC,KAAK,EAAE;EACvCsC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,oBAAoB,IAAIA,IAAI,KAAK;AAC9C,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAmB,CAAC,MAAM;EAC9BC,eAAe,EAAED,kBAAkB;EACnCL,MAAM,EAAE,MAAM;EACdO,QAAQ,EAAE,QAAQ;EAClBN,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMO,sBAAsB,GAAG3C,MAAM,CAAC,KAAK,CAAC,CAAC;EAC3CiC,QAAQ,EAAE,SAAS;EACnBW,MAAM,EAAEtB;AACV,CAAC,CAAC;AAEF,MAAMuB,uBAAuB,GAAG7C,MAAM,CAAC,KAAK,EAAE;EAC5CsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEO;AAAO,CAAC,MAAM;EAClBC,OAAO,EAAED,MAAM,GAAG,OAAO,GAAG,MAAM;EAClCX,MAAM,EAAE,MAAM;EACdD,QAAQ,EAAE,UAAU;EACpBU,MAAM,EAAErB;AACV,CAAC,CAAC,CAAC;AAEH,MAAMyB,wBAAwB,GAAGhD,MAAM,CAAC,KAAK,EAAE;EAC7CsC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK;AAClC,CAAC,CAAC,CAGC,CAAC;EAAEO,MAAM;EAAEG;AAAoB,CAAC,MAAM;EACvCR,eAAe,EAAEQ,mBAAmB,CAACC,eAAe;EACpDH,OAAO,EAAED,MAAM,GAAG,OAAO,GAAG,MAAM;EAClCX,MAAM,EAAE,MAAM;EACdgB,QAAQ,EAAE/B,cAAc;EACxBgC,SAAS,EAAE,MAAM;EACjBlB,QAAQ,EAAE,UAAU;EACpBmB,KAAK,EAAE,CAAC;EACRjB,KAAK,EAAEhB,cAAc;EACrBwB,MAAM,EAAErB;AACV,CAAC,CAAC,CAAC;AAEH,MAAM+B,cAAc,GAAGtD,MAAM,CAAC,KAAK,EAAE;EACnCsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BM,UAAU,EAAE,QAAQ;EACpBR,OAAO,EAAE,aAAa;EACtBS,GAAG,EAAEP,mBAAmB,CAACQ;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMC,mBAAmB,GAAG1D,MAAM,CAAC,KAAK,EAAE;EACxCsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/Bd,MAAM,EAAEd,cAAc;EACtBsC,YAAY,EAAEV,mBAAmB,CAACW,QAAQ;EAE1C,UAAU,EAAE;IACVC,SAAS,EAAE,MAAM;IACjBzB,KAAK,EAAE,MAAM;IACbe,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC;AAEH,MAAMW,iBAAiB,GAAG9D,MAAM,CAAC,KAAK,EAAE;EACtCsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BR,eAAe,EAAEjC,QAAQ,CACvByC,mBAAmB,CAACc,aACtB,CAAC,CAACC,iBAAiB,CAACC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC;EAC7DhC,QAAQ,EAAE,aAAa;EACvBE,MAAM,EAAE,OAAO;EACf+B,IAAI,EAAE,CAAC;EACPhC,QAAQ,EAAE,UAAU;EACpBiC,GAAG,EAAE,CAAC;EACN/B,KAAK,EAAE,OAAO;EACdQ,MAAM,EAAEtB;AACV,CAAC,CAAC,CAAC;AAEH,MAAM8C,sBAAsB,GAAGpE,MAAM,CAAC,KAAK,CAAC,CAAC;EAC3CmC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,MAAMkC,sBAAsB,GAAGrE,MAAM,CAAC,KAAK,EAAE;EAC3CsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BR,eAAe,EAAEQ,mBAAmB,CAACqB,YAAY;EACjDvB,OAAO,EAAE,MAAM;EACfwB,OAAO,EAAE,CAAC;EACVC,iBAAiB,EAAE;AACrB;AACA;AACA;AACA,GAAG;EACDC,mBAAmB,EAAE,KAAK;EAC1BC,gBAAgB,EAAE,eAAe;EACjCvC,MAAM,EAAE,OAAO;EACfO,QAAQ,EAAE,QAAQ;EAClBN,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMuC,YAAY,GAAG3E,MAAM,CAAC,KAAK,EAAE;EACjCsC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,mBAAmB,IAC5BA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEU,mBAAmB;EAAE2B,iBAAiB;EAAEC;AAAsB,CAAC,MAAM;EACzEtB,UAAU,EAAE,SAAS;EACrBd,eAAe,EAAEQ,mBAAmB,CAACC,eAAe,IAAI2B,qBAAqB;EAC7EC,SAAS,EAAEF,iBAAiB,GAAG3B,mBAAmB,CAAC8B,WAAW,GAAGC,SAAS;EAC1EC,QAAQ,EAAE,qBAAqB;EAC/BlC,OAAO,EAAE,MAAM;EACfmC,aAAa,EAAE,QAAQ;EACvBjD,QAAQ,EAAE,SAAS;EACnBE,MAAM,EAAE,MAAM;EACdgD,cAAc,EAAE,QAAQ;EACxBjD,QAAQ,EAAE,UAAU;EACpBkD,UAAU,EAAE,cAAcnC,mBAAmB,CAACoC,sBAAsB,IAAIpC,mBAAmB,CAACqC,oBAAoB,EAAE;EAClH1C,MAAM,EAAEtB;AACV,CAAC,CAAC,CAAC;AAEH,MAAMiE,gBAAgB,GAAGvF,MAAM,CAAC,KAAK,EAAE;EACrCsC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEU,mBAAmB;EAAE4B;AAAsB,CAAC,MAAM;EACtDtB,UAAU,EAAE,QAAQ;EACpBR,OAAO,EAAE,MAAM;EACfS,GAAG,EAAEP,mBAAmB,CAACQ,QAAQ;EACjCtB,MAAM,EAAE,MAAM;EACdgD,cAAc,EAAE,eAAe;EAC/BtB,SAAS,EAAExC,cAAc;EACzBmE,SAAS,EAAEnE,cAAc;EACzBsC,YAAY,EAAEV,mBAAmB,CAACwC,QAAQ;EAC1CC,aAAa,EAAEzC,mBAAmB,CAACQ,QAAQ;EAC3C2B,UAAU,EAAE,cAAcnC,mBAAmB,CAACoC,sBAAsB,IAAIpC,mBAAmB,CAACqC,oBAAoB,EAAE;EAElH,IAAIT,qBAAqB,KAAK5B,mBAAmB,CAACC,eAAe,IAC9D;IACCyC,iBAAiB,EAAE1C,mBAAmB,CAAC2C,aAAa;IACpDC,iBAAiB,EAAE5C,mBAAmB,CAAC6C,eAAe;IACtDC,iBAAiB,EAAE9C,mBAAmB,CAAC+C;EACzC,CAAmB;AACvB,CAAC,CAAC,CAAC;AAEH,MAAMC,kBAAkB,GAAGjG,MAAM,CAAC,KAAK,EAAE;EACvCsC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEU;AAAoB,CAAC,MAAM;EAC/BU,YAAY,EAAEV,mBAAmB,CAACwC,QAAQ;EAC1CC,aAAa,EAAEzC,mBAAmB,CAACQ;AACrC,CAAC,CAAC,CAAC;AAMH,MAAMyC,oBAAoB,GAAGA,CAAC;EAC5BC,UAAU;EACVC,uBAAuB;EACvBC,eAAe;EACfC,4BAA4B,GAAG,IAAI;EACnCC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;EAC7DC,SAAS;EACTC,OAAO,GAAGC,OAAO,CAACC,KAAK;EACvBC,kBAAkB;EAClBC,YAAY;EACZC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC;EAAE,CAAC,GAAGtG,cAAc,CAAC,CAAC;EAE9B,MAAMwC,mBAAmB,GAAGrC,sBAAsB,CAAC,CAAC;EACpD,MAAMoG,cAAc,GAAG9F,iBAAiB,CAAC,CAAC;EAE1C,MAAM;IAAE0D;EAAkB,CAAC,GAAGnD,cAAc,CAAC0E,UAAU,CAAC;EAExD,MAAMc,mBAAmB,GAAG7G,MAAM,CAAiB,IAAI,CAAC;EACxD,MAAM8G,kBAAkB,GAAG9G,MAAM,CAAiB,IAAI,CAAC;EACvD,MAAM+G,iBAAiB,GAAG/G,MAAM,CAAiB,IAAI,CAAC;EAEtD,MAAM,CAACgH,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGhH,QAAQ,CAAC,KAAK,CAAC;EACnE,MAAM,CAACiH,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGlH,QAAQ,CAAC,KAAK,CAAC;EAErE,MAAMmH,cAAc,GAAGtH,WAAW,CAAC,MAAM;IACvCmH,qBAAqB,CAAC,KAAK,CAAC;IAC5BE,sBAAsB,CAAC,KAAK,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAENpH,SAAS,CAAC,MAAM;IACd,MAAMsH,iCAAiC,GACrCT,cAAc,EAAEU,6BAA6B,CAAC,MAAM;MAClDF,cAAc,CAAC,CAAC;IAClB,CAAC,CAAC;IAEJ,MAAMG,iCAAiC,GACrCX,cAAc,EAAEY,2BAA2B,CAAC,MAAM;MAChDJ,cAAc,CAAC,CAAC;IAClB,CAAC,CAAC;IAEJ,OAAO,MAAM;MACXC,iCAAiC,GAAG,CAAC;MACrCE,iCAAiC,GAAG,CAAC;IACvC,CAAC;EACH,CAAC,EAAE,CAACH,cAAc,EAAER,cAAc,CAAC,CAAC;EAEpC,MAAMa,kBAAkB,GAAG3H,WAAW,CAAC,MAAM;IAC3CqH,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,qBAAqB,CAAED,kBAAkB,IAAK,CAACA,kBAAkB,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,mBAAmB,GAAG5H,WAAW,CAAC,MAAM;IAC5CmH,qBAAqB,CAAC,KAAK,CAAC;IAC5BE,sBAAsB,CAAED,mBAAmB,IAAK,CAACA,mBAAmB,CAAC;EACvE,CAAC,EAAE,EAAE,CAAC;EAENnH,SAAS,CAAC,MAAM;IACd,MAAM4H,aAAa,GAAIC,KAAoB,IAAK;MAC9C,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC1BT,cAAc,CAAC,CAAC;MAClB;IACF,CAAC;IAEDU,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,aAAa,CAAC;IAEnD,OAAO,MAAM;MACXG,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEL,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,CAACP,cAAc,CAAC,CAAC;EAEpB,MAAM;IAAEa;EAAmB,CAAC,GAAG7G,kCAAkC,CAAC;IAChE2E,UAAU;IACVC,uBAAuB;IACvBkC,WAAW,EAAEhC,4BAA4B,GAAG,SAAS,GAAG,MAAM;IAC9Da,iBAAiB;IACjBoB,oBAAoB,EAAE,CACpBtB,mBAAmB,EACnBC,kBAAkB,EAClBC,iBAAiB;EAErB,CAAC,CAAC;EAEF,OACEtF,KAAA,CAAAE,SAAA;IAAAyG,QAAA,GACG,CAACpB,kBAAkB,IAAIE,mBAAmB,KACzC3F,IAAA,CAACmC,iBAAiB;MAChBb,mBAAmB,EAAEA,mBAAoB;MACzCwF,OAAO,EAAEjB;IAAe,CACzB,CACF,EAED3F,KAAA,CAACwC,sBAAsB;MACrBpB,mBAAmB,EAAEA,mBAAoB;MACzCyF,GAAG,EAAEL,kBAAmB;MAAAG,QAAA,GAExB7G,IAAA,CAACZ,aAAa;QAACoF,UAAU,EAAEA;MAAW,CAAE,CAAC,EAEzCxE,IAAA,CAACgB,sBAAsB;QAAA6F,QAAA,EACpB5B,kBAAkB,EAAE+B;MAAO,CACN,CAAC,EAExB,CAACpC,sBAAsB,EAAEqC,QAAQ,CAAC,QAAQ,CAAC,IAAI9B,WAAW,KACzDnF,IAAA,CAACrB,aAAa;QAACuI,QAAQ,EAAE,IAAK;QAACpC,OAAO,EAAEA,OAAQ;QAAA+B,QAAA,EAC9C3G,KAAA,CAAC8C,YAAY;UACXC,iBAAiB,EAAEA,iBAAkB;UACrC3B,mBAAmB,EAAEA,mBAAoB;UACzC4B,qBAAqB,EAAEmC,cAAc,EAAEnC,qBAAsB;UAAA2D,QAAA,GAE7D3G,KAAA,CAAC0D,gBAAgB;YACftC,mBAAmB,EAAEA,mBAAoB;YACzC4B,qBAAqB,EAAEmC,cAAc,EAAE8B,sBAAuB;YAAAN,QAAA,GAE9D3G,KAAA,CAACyB,cAAc;cAACL,mBAAmB,EAAEA,mBAAoB;cAAAuF,QAAA,GACtDnC,eAAe,KACbQ,YAAY,EAAEkC,aAAa,IAC1B,CAAClC,YAAY,EAAEmC,WAAW,CAAC,IAC3BrH,IAAA,CAACpB,MAAM;gBACL0I,SAAS,EAAElC,CAAC,CAAC,2BAA2B,CAAE;gBAC1C0B,OAAO,EAAEZ,kBAAmB;gBAC5BqB,SAAS,EAAEvH,IAAA,CAACX,iBAAiB,IAAE,CAAE;gBACjCmI,MAAM,EAAC,oBAAoB;gBAC3BC,OAAO,EAAC;cAAU,CACnB,CACF,EAEHzH,IAAA,CAAC+B,mBAAmB;gBAClBT,mBAAmB,EAAEA,mBAAoB;gBAAAuF,QAAA,EAEzC7G,IAAA,CAACV,WAAW;kBAAA,IAAM4F,YAAY,EAAEL,SAAS,IAAIA,SAAS;gBAAA,CAAI;cAAC,CACxC,CAAC;YAAA,CACR,CAAC,EAEhBI,kBAAkB,EAAEyC,aAAa,IAChC1H,IAAA,CAACpB,MAAM;cACL0I,SAAS,EAAElC,CAAC,CAAC,wBAAwB,CAAE;cACvC0B,OAAO,EAAEX,mBAAoB;cAC7BoB,SAAS,EACP5B,mBAAmB,GAAG3F,IAAA,CAACjB,SAAS,IAAE,CAAC,GAAGiB,IAAA,CAAChB,QAAQ,IAAE,CAClD;cACDwI,MAAM,EAAC,wBAAwB;cAC/BC,OAAO,EAAC;YAAU,CACnB,CACF;UAAA,CACe,CAAC,EAElBxC,kBAAkB,EAAE0C,cAAc,IACjC3H,IAAA,CAACsE,kBAAkB;YAAChD,mBAAmB,EAAEA,mBAAoB;YAAAuF,QAAA,EAC1D5B,kBAAkB,EAAE0C;UAAc,CACjB,CACrB;QAAA,CACW;MAAC,CACF,CAChB,EAEDzH,KAAA,CAACG,oBAAoB;QAAAwG,QAAA,GACnB3G,KAAA,CAACgB,uBAAuB;UAACC,MAAM,EAAEsE,kBAAmB;UAAAoB,QAAA,GAGhDjC,sBAAsB,EAAEqC,QAAQ,CAAC,SAAS,CAAC,IACzC,CAACvC,eAAe,IACd1E,IAAA,CAACrB,aAAa;YAACuI,QAAQ,EAAE,IAAK;YAACpC,OAAO,EAAEA,OAAQ;YAAA+B,QAAA,EAC9C7G,IAAA,CAACb,OAAO;cAACyI,SAAS;cAACC,YAAY,EAAErI;YAAkB,CAAE;UAAC,CACzC,CAChB,EAGJkF,eAAe,IAAIQ,YAAY,IAC9BlF,IAAA,CAACrB,aAAa;YAACuI,QAAQ,EAAE,IAAK;YAACpC,OAAO,EAAEA,OAAQ;YAAA+B,QAAA,EAC9C7G,IAAA,CAACyC,sBAAsB;cAAAoE,QAAA,EACrB7G,IAAA,CAACb,OAAO;gBAEJ,GAAG;kBACD,GAAG+F,YAAY;kBAEf4C,OAAO,EAAEzE,SAAS;kBAClBwB,SAAS,EAAExB;gBACb,CAAC;gBACD,IAAI6B,YAAY,CAAC6C,eAAe,IAChC9C,kBAAkB,EAAE+C,aAAa,GAC7B;kBACEC,eAAe,EAAEhD,kBAAkB,CAAC+C,aAAa;kBACjDE,WAAW,EAAE7E,SAAS;kBACtB0E,eAAe,EAAE7C,YAAY,CAAC6C;gBAChC,CAAC,GACD;kBACEG,WAAW,EAAEhD,YAAY,CAACgD,WAAW;kBACrCH,eAAe,EAAE;gBACnB,CAAC,CAAC;gBAERV,WAAW,EAAE,KAAM;gBACnBD,aAAa,EAAE,KAAM;gBACrBe,WAAW;gBACXC,UAAU,EAAEvC;cAAe,CAC5B;YAAC,CACoB;UAAC,CACZ,CAChB;QAAA,CACsB,CAAC,EAE1B7F,IAAA,CAACqB,wBAAwB;UACvBF,MAAM,EAAEwE,mBAAoB;UAC5BrE,mBAAmB,EAAEA,mBAAoB;UAAAuF,QAAA,EAEzC7G,IAAA,CAACyC,sBAAsB;YAAAoE,QAAA,EACpB5B,kBAAkB,EAAEyC;UAAa,CACZ;QAAC,CACD,CAAC,EAE3B1H,IAAA,CAACU,kBAAkB;UACjBG,kBAAkB,EAAEwE,cAAc,EAAExE,kBAAmB;UACvDkG,GAAG,EAAEvB,iBAAkB;UACvB6C,QAAQ,EAAE,CAAE;UAAAxB,QAAA,EAEZ7G,IAAA,CAACd,iBAAiB;YAAC+D,iBAAiB,EAAEA;UAAkB,CAAE;QAAC,CACzC,CAAC;MAAA,CACD,CAAC;IAAA,CACD,CAAC;EAAA,CACzB,CAAC;AAEP,CAAC;AAED,MAAMqF,4BAA4B,GAAGhK,IAAI,CAACiG,oBAAoB,CAAC;AAC/D+D,4BAA4B,CAACC,WAAW,sDAAyB;AAEjE,SAASD,4BAA4B,IAAI/D,oBAAoB","ignoreList":[]}
|
|
@@ -163,6 +163,6 @@ const NavAccordion = ({
|
|
|
163
163
|
});
|
|
164
164
|
};
|
|
165
165
|
const MemoizedNavAccordion = memo(NavAccordion);
|
|
166
|
-
MemoizedNavAccordion.displayName = "NavAccordion::pkg=odyssey&odysseyV=1.
|
|
166
|
+
MemoizedNavAccordion.displayName = "NavAccordion::pkg=odyssey&odysseyV=1.59.0";
|
|
167
167
|
export { MemoizedNavAccordion as NavAccordion };
|
|
168
168
|
//# sourceMappingURL=NavAccordion.js.map
|
|
@@ -636,6 +636,6 @@ const SideNav = ({
|
|
|
636
636
|
});
|
|
637
637
|
};
|
|
638
638
|
const MemoizedSideNav = memo(SideNav);
|
|
639
|
-
MemoizedSideNav.displayName = "SideNav::pkg=odyssey&odysseyV=1.
|
|
639
|
+
MemoizedSideNav.displayName = "SideNav::pkg=odyssey&odysseyV=1.59.0";
|
|
640
640
|
export { MemoizedSideNav as SideNav };
|
|
641
641
|
//# sourceMappingURL=SideNav.js.map
|
|
@@ -62,6 +62,6 @@ const SideNavFooterContent = ({
|
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
const MemoizedSideNavFooterContent = memo(SideNavFooterContent);
|
|
65
|
-
MemoizedSideNavFooterContent.displayName = "SideNavFooterContent::pkg=odyssey&odysseyV=1.
|
|
65
|
+
MemoizedSideNavFooterContent.displayName = "SideNavFooterContent::pkg=odyssey&odysseyV=1.59.0";
|
|
66
66
|
export { MemoizedSideNavFooterContent as SideNavFooterContent };
|
|
67
67
|
//# sourceMappingURL=SideNavFooterContent.js.map
|
|
@@ -93,6 +93,6 @@ const SideNavHeader = ({
|
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
95
|
const MemoizedSideNavHeader = memo(SideNavHeader);
|
|
96
|
-
MemoizedSideNavHeader.displayName = "SideNavHeader::pkg=odyssey&odysseyV=1.
|
|
96
|
+
MemoizedSideNavHeader.displayName = "SideNavHeader::pkg=odyssey&odysseyV=1.59.0";
|
|
97
97
|
export { MemoizedSideNavHeader as SideNavHeader };
|
|
98
98
|
//# sourceMappingURL=SideNavHeader.js.map
|
|
@@ -277,6 +277,6 @@ const SideNavItemContent = ({
|
|
|
277
277
|
}, id);
|
|
278
278
|
};
|
|
279
279
|
const MemoizedSideNavItemContent = memo(SideNavItemContent);
|
|
280
|
-
MemoizedSideNavItemContent.displayName = "SideNavItemContent::pkg=odyssey&odysseyV=1.
|
|
280
|
+
MemoizedSideNavItemContent.displayName = "SideNavItemContent::pkg=odyssey&odysseyV=1.59.0";
|
|
281
281
|
export { MemoizedSideNavItemContent as SideNavItemContent };
|
|
282
282
|
//# sourceMappingURL=SideNavItemContent.js.map
|
|
@@ -67,6 +67,6 @@ const SideNavItemLinkContent = ({
|
|
|
67
67
|
});
|
|
68
68
|
};
|
|
69
69
|
const MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);
|
|
70
|
-
MemoizedSideNavItemLinkContent.displayName = "SideNavItemLinkContent::pkg=odyssey&odysseyV=1.
|
|
70
|
+
MemoizedSideNavItemLinkContent.displayName = "SideNavItemLinkContent::pkg=odyssey&odysseyV=1.59.0";
|
|
71
71
|
export { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };
|
|
72
72
|
//# sourceMappingURL=SideNavItemLinkContent.js.map
|
|
@@ -37,6 +37,6 @@ const SideNavSortableList = ({
|
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
39
|
const MemoizedSideNavSortableList = memo(SideNavSortableList);
|
|
40
|
-
MemoizedSideNavSortableList.displayName = "SideNavSortableList::pkg=odyssey&odysseyV=1.
|
|
40
|
+
MemoizedSideNavSortableList.displayName = "SideNavSortableList::pkg=odyssey&odysseyV=1.59.0";
|
|
41
41
|
export { MemoizedSideNavSortableList as SideNavSortableList };
|
|
42
42
|
//# sourceMappingURL=SideNavSortableList.js.map
|
|
@@ -80,7 +80,7 @@ const StyledChevronRightIcon = styled(ChevronRightIcon, {
|
|
|
80
80
|
transitionProperty: "transform",
|
|
81
81
|
transitionTimingFunction: "ease-in-out"
|
|
82
82
|
}));
|
|
83
|
-
StyledChevronRightIcon.displayName = "StyledChevronRightIcon::pkg=odyssey&odysseyV=1.
|
|
83
|
+
StyledChevronRightIcon.displayName = "StyledChevronRightIcon::pkg=odyssey&odysseyV=1.59.0";
|
|
84
84
|
const defaultLocalButton = typeof window === "undefined" ? null : document.createElement("button");
|
|
85
85
|
const SideNavToggleButton = ({
|
|
86
86
|
ariaControls,
|
|
@@ -155,6 +155,6 @@ const SideNavToggleButton = ({
|
|
|
155
155
|
});
|
|
156
156
|
};
|
|
157
157
|
const MemoizedSideNavToggleButton = memo(SideNavToggleButton);
|
|
158
|
-
MemoizedSideNavToggleButton.displayName = "SideNavToggleButton::pkg=odyssey&odysseyV=1.
|
|
158
|
+
MemoizedSideNavToggleButton.displayName = "SideNavToggleButton::pkg=odyssey&odysseyV=1.59.0";
|
|
159
159
|
export { MemoizedSideNavToggleButton as SideNavToggleButton };
|
|
160
160
|
//# sourceMappingURL=SideNavToggleButton.js.map
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026-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 styled from "@emotion/styled";
|
|
14
|
+
import { memo, useCallback, useEffect, useRef } from "react";
|
|
15
|
+
import { BaseButton } from "../Buttons/BaseButton.js";
|
|
16
|
+
import { useTranslation } from "../i18n.generated/i18n.js";
|
|
17
|
+
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
|
|
18
|
+
import { SKIP_LINKS_Z_INDEX } from "./uiShellSharedConstants.js";
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
+
const StyledContainer = styled("div", {
|
|
21
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
22
|
+
})(({
|
|
23
|
+
odysseyDesignTokens
|
|
24
|
+
}) => ({
|
|
25
|
+
left: odysseyDesignTokens.Spacing4,
|
|
26
|
+
position: "fixed",
|
|
27
|
+
top: odysseyDesignTokens.Spacing3,
|
|
28
|
+
zIndex: SKIP_LINKS_Z_INDEX,
|
|
29
|
+
"&:not(:focus-within)": {
|
|
30
|
+
clip: "rect(0 0 0 0)",
|
|
31
|
+
clipPath: "inset(50%)",
|
|
32
|
+
height: "1px",
|
|
33
|
+
overflow: "hidden",
|
|
34
|
+
pointerEvents: "none",
|
|
35
|
+
whiteSpace: "nowrap",
|
|
36
|
+
width: "1px"
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
const SkipToContent = ({
|
|
40
|
+
appElement
|
|
41
|
+
}) => {
|
|
42
|
+
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
43
|
+
const {
|
|
44
|
+
t
|
|
45
|
+
} = useTranslation();
|
|
46
|
+
const containerRef = useRef(null);
|
|
47
|
+
const buttonRef = useRef(null);
|
|
48
|
+
const interceptedFromRef = useRef(null);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (appElement) {
|
|
51
|
+
const hasTabIndex = appElement.hasAttribute("tabindex");
|
|
52
|
+
const hasOutlineStyle = appElement.style.getPropertyValue("outline") !== "";
|
|
53
|
+
if (!hasTabIndex) {
|
|
54
|
+
appElement.setAttribute("tabindex", "-1");
|
|
55
|
+
}
|
|
56
|
+
if (!hasOutlineStyle) {
|
|
57
|
+
appElement.style.setProperty("outline", "none");
|
|
58
|
+
}
|
|
59
|
+
return () => {
|
|
60
|
+
if (!hasTabIndex) {
|
|
61
|
+
appElement.removeAttribute("tabindex");
|
|
62
|
+
}
|
|
63
|
+
if (!hasOutlineStyle) {
|
|
64
|
+
appElement.style.removeProperty("outline");
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}, [appElement]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
const stopInterceptor = () => {
|
|
72
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
73
|
+
document.removeEventListener("pointerdown", stopInterceptor);
|
|
74
|
+
};
|
|
75
|
+
const handleKeyDown = keyboardEvent => {
|
|
76
|
+
if (keyboardEvent.key === "Tab" && !keyboardEvent.shiftKey && !containerRef.current?.contains(document.activeElement)) {
|
|
77
|
+
interceptedFromRef.current = document.activeElement;
|
|
78
|
+
keyboardEvent.preventDefault();
|
|
79
|
+
stopInterceptor();
|
|
80
|
+
requestAnimationFrame(() => {
|
|
81
|
+
buttonRef.current?.focus();
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
86
|
+
document.addEventListener("pointerdown", stopInterceptor);
|
|
87
|
+
return stopInterceptor;
|
|
88
|
+
}, []);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
const resumeFromInterceptedPosition = keyboardEvent => {
|
|
91
|
+
if (interceptedFromRef.current && keyboardEvent.key === "Tab" && !keyboardEvent.shiftKey && containerRef.current?.contains(document.activeElement)) {
|
|
92
|
+
interceptedFromRef.current.focus();
|
|
93
|
+
interceptedFromRef.current = null;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
document.addEventListener("keydown", resumeFromInterceptedPosition);
|
|
97
|
+
return () => {
|
|
98
|
+
document.removeEventListener("keydown", resumeFromInterceptedPosition);
|
|
99
|
+
};
|
|
100
|
+
}, []);
|
|
101
|
+
const focusMainContent = useCallback(() => {
|
|
102
|
+
appElement?.focus();
|
|
103
|
+
}, [appElement]);
|
|
104
|
+
return _jsx(StyledContainer, {
|
|
105
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
106
|
+
ref: containerRef,
|
|
107
|
+
children: _jsx(BaseButton, {
|
|
108
|
+
buttonRef: buttonRef,
|
|
109
|
+
label: t("skiplinks.main"),
|
|
110
|
+
onClick: focusMainContent,
|
|
111
|
+
variant: "primary"
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const MemoizedSkipToContent = memo(SkipToContent);
|
|
116
|
+
MemoizedSkipToContent.displayName = "SkipToContent::pkg=odyssey&odysseyV=1.59.0";
|
|
117
|
+
export { MemoizedSkipToContent as SkipToContent };
|
|
118
|
+
//# sourceMappingURL=SkipToContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkipToContent.js","names":["styled","memo","useCallback","useEffect","useRef","BaseButton","useTranslation","useOdysseyDesignTokens","SKIP_LINKS_Z_INDEX","jsx","_jsx","StyledContainer","shouldForwardProp","prop","odysseyDesignTokens","left","Spacing4","position","top","Spacing3","zIndex","clip","clipPath","height","overflow","pointerEvents","whiteSpace","width","SkipToContent","appElement","t","containerRef","buttonRef","interceptedFromRef","hasTabIndex","hasAttribute","hasOutlineStyle","style","getPropertyValue","setAttribute","setProperty","removeAttribute","removeProperty","stopInterceptor","document","removeEventListener","handleKeyDown","keyboardEvent","key","shiftKey","current","contains","activeElement","preventDefault","requestAnimationFrame","focus","addEventListener","resumeFromInterceptedPosition","focusMainContent","ref","children","label","onClick","variant","MemoizedSkipToContent","displayName"],"sources":["../../../src/ui-shell/SkipToContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2026-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useCallback, useEffect, useRef } from \"react\";\n\nimport { BaseButton } from \"../Buttons/BaseButton.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { FocusHandle } from \"../inputUtils.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SKIP_LINKS_Z_INDEX } from \"./uiShellSharedConstants.js\";\n\nconst StyledContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n left: odysseyDesignTokens.Spacing4,\n position: \"fixed\",\n top: odysseyDesignTokens.Spacing3,\n zIndex: SKIP_LINKS_Z_INDEX,\n // Visually hidden when not focused — the \"sr-only\" pattern.\n // https://www.a11yproject.com/posts/how-to-hide-content/\n //\n // We found this method via the A11y Project. It fixes axe color-contrast\n // violations that `opacity: 0` triggers (axe still evaluates contrast on\n // opacity-0 elements because they occupy space in the layout). The sr-only\n // pattern collapses the element to 1×1 px and clips it, which axe — and\n // every modern screen reader — treats as fully hidden. Unlike a large\n // negative `left` offset, it also avoids any risk of a phantom scrollbar.\n \"&:not(:focus-within)\": {\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n overflow: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n}));\n\ntype SkipToContentProps = {\n appElement: HTMLDivElement | null;\n};\n\nconst SkipToContent = ({ appElement }: SkipToContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<FocusHandle>(null);\n const interceptedFromRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (appElement) {\n const hasTabIndex = appElement.hasAttribute(\"tabindex\");\n const hasOutlineStyle =\n appElement.style.getPropertyValue(\"outline\") !== \"\";\n\n if (!hasTabIndex) {\n appElement.setAttribute(\"tabindex\", \"-1\");\n }\n if (!hasOutlineStyle) {\n appElement.style.setProperty(\"outline\", \"none\");\n }\n\n return () => {\n if (!hasTabIndex) {\n appElement.removeAttribute(\"tabindex\");\n }\n if (!hasOutlineStyle) {\n appElement.style.removeProperty(\"outline\");\n }\n };\n }\n\n return;\n }, [appElement]);\n\n useEffect(() => {\n const stopInterceptor = () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"pointerdown\", stopInterceptor);\n };\n\n const handleKeyDown = (keyboardEvent: globalThis.KeyboardEvent) => {\n if (\n keyboardEvent.key === \"Tab\" &&\n !keyboardEvent.shiftKey &&\n !containerRef.current?.contains(document.activeElement)\n ) {\n interceptedFromRef.current = document.activeElement as HTMLElement;\n keyboardEvent.preventDefault();\n stopInterceptor();\n\n requestAnimationFrame(() => {\n buttonRef.current?.focus();\n });\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"pointerdown\", stopInterceptor);\n\n return stopInterceptor;\n }, []);\n\n useEffect(() => {\n const resumeFromInterceptedPosition = (\n keyboardEvent: globalThis.KeyboardEvent,\n ) => {\n if (\n interceptedFromRef.current &&\n keyboardEvent.key === \"Tab\" &&\n !keyboardEvent.shiftKey &&\n containerRef.current?.contains(document.activeElement)\n ) {\n interceptedFromRef.current.focus();\n interceptedFromRef.current = null;\n }\n };\n\n document.addEventListener(\"keydown\", resumeFromInterceptedPosition);\n\n return () => {\n document.removeEventListener(\"keydown\", resumeFromInterceptedPosition);\n };\n }, []);\n\n const focusMainContent = useCallback(() => {\n appElement?.focus();\n }, [appElement]);\n\n return (\n <StyledContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={containerRef}\n >\n <BaseButton\n buttonRef={buttonRef}\n label={t(\"skiplinks.main\")}\n onClick={focusMainContent}\n variant=\"primary\"\n />\n </StyledContainer>\n );\n};\n\nconst MemoizedSkipToContent = memo(SkipToContent);\nMemoizedSkipToContent.displayName = \"SkipToContent\";\n\nexport { MemoizedSkipToContent as SkipToContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,6 +27,6 @@ const HamburgerMenuIcon = forwardRef((props, ref) => {
|
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
const MemoizedHamburgerMenuIcon = memo(HamburgerMenuIcon);
|
|
30
|
-
MemoizedHamburgerMenuIcon.displayName = "HamburgerMenuIcon::pkg=odyssey&odysseyV=1.
|
|
30
|
+
MemoizedHamburgerMenuIcon.displayName = "HamburgerMenuIcon::pkg=odyssey&odysseyV=1.59.0";
|
|
31
31
|
export { MemoizedHamburgerMenuIcon as HamburgerMenuIcon };
|
|
32
32
|
//# sourceMappingURL=HamburgerMenuIcon.js.map
|
|
@@ -62,6 +62,6 @@ const TopNav = ({
|
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
const MemoizedTopNav = memo(TopNav);
|
|
65
|
-
MemoizedTopNav.displayName = "TopNav::pkg=odyssey&odysseyV=1.
|
|
65
|
+
MemoizedTopNav.displayName = "TopNav::pkg=odyssey&odysseyV=1.59.0";
|
|
66
66
|
export { MemoizedTopNav as TopNav };
|
|
67
67
|
//# sourceMappingURL=TopNav.js.map
|
|
@@ -32,6 +32,6 @@ const TopNavLinksList = ({
|
|
|
32
32
|
})
|
|
33
33
|
});
|
|
34
34
|
const MemoizedTopNavLinksList = memo(TopNavLinksList);
|
|
35
|
-
MemoizedTopNavLinksList.displayName = "TopNavLinksList::pkg=odyssey&odysseyV=1.
|
|
35
|
+
MemoizedTopNavLinksList.displayName = "TopNavLinksList::pkg=odyssey&odysseyV=1.59.0";
|
|
36
36
|
export { MemoizedTopNavLinksList as TopNavLinksList };
|
|
37
37
|
//# sourceMappingURL=TopNavLinksList.js.map
|
|
@@ -126,6 +126,6 @@ const TopNavListItem = ({
|
|
|
126
126
|
});
|
|
127
127
|
};
|
|
128
128
|
const MemoizedTopNavListItem = memo(TopNavListItem);
|
|
129
|
-
MemoizedTopNavListItem.displayName = "TopNavListItem::pkg=odyssey&odysseyV=1.
|
|
129
|
+
MemoizedTopNavListItem.displayName = "TopNavListItem::pkg=odyssey&odysseyV=1.59.0";
|
|
130
130
|
export { MemoizedTopNavListItem as TopNavListItem };
|
|
131
131
|
//# sourceMappingURL=TopNavListItem.js.map
|
|
@@ -114,6 +114,6 @@ const UiShell = ({
|
|
|
114
114
|
});
|
|
115
115
|
};
|
|
116
116
|
const MemoizedUiShell = memo(UiShell);
|
|
117
|
-
MemoizedUiShell.displayName = "UiShell::pkg=odyssey&odysseyV=1.
|
|
117
|
+
MemoizedUiShell.displayName = "UiShell::pkg=odyssey&odysseyV=1.59.0";
|
|
118
118
|
export { MemoizedUiShell as UiShell };
|
|
119
119
|
//# sourceMappingURL=UiShell.js.map
|
|
@@ -65,6 +65,6 @@ const UiShellLogo = ({
|
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
67
|
const MemoizedUiShellLogo = memo(UiShellLogo);
|
|
68
|
-
MemoizedUiShellLogo.displayName = "UiShellLogo::pkg=odyssey&odysseyV=1.
|
|
68
|
+
MemoizedUiShellLogo.displayName = "UiShellLogo::pkg=odyssey&odysseyV=1.59.0";
|
|
69
69
|
export { MemoizedUiShellLogo as UiShellLogo };
|
|
70
70
|
//# sourceMappingURL=UiShellLogo.js.map
|
|
@@ -17,6 +17,7 @@ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
|
|
|
17
17
|
import { AppSwitcher } from "./AppSwitcher/AppSwitcher.js";
|
|
18
18
|
import { InnerAppContainer } from "./InnerAppContainer.js";
|
|
19
19
|
import { SideNav } from "./SideNav/SideNav.js";
|
|
20
|
+
import { SkipToContent } from "./SkipToContent.js";
|
|
20
21
|
import { TopNav } from "./TopNav/TopNav.js";
|
|
21
22
|
import { TURN_OFF_APP_SWITCHER } from "./uiShellContentTypes.js";
|
|
22
23
|
import { useUiShellContext } from "./UiShellProvider.js";
|
|
@@ -96,7 +97,9 @@ const WideUiShellContent = ({
|
|
|
96
97
|
return _jsxs(StyledShellContainer, {
|
|
97
98
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
98
99
|
ref: parentContainerRef,
|
|
99
|
-
children: [_jsx(
|
|
100
|
+
children: [_jsx(SkipToContent, {
|
|
101
|
+
appElement: appElement
|
|
102
|
+
}), _jsx(StyledBannersContainer, {
|
|
100
103
|
children: optionalComponents?.banners
|
|
101
104
|
}), _jsxs(StyledAppSwitcherContainer, {
|
|
102
105
|
children: [initialVisibleSections?.includes("AppSwitcher") && !appSwitcherProps && _jsx(ErrorBoundary, {
|
|
@@ -167,6 +170,6 @@ const WideUiShellContent = ({
|
|
|
167
170
|
});
|
|
168
171
|
};
|
|
169
172
|
const MemoizedWideUiShellContent = memo(WideUiShellContent);
|
|
170
|
-
MemoizedWideUiShellContent.displayName = "WideUiShellContent::pkg=odyssey&odysseyV=1.
|
|
173
|
+
MemoizedWideUiShellContent.displayName = "WideUiShellContent::pkg=odyssey&odysseyV=1.59.0";
|
|
171
174
|
export { MemoizedWideUiShellContent as WideUiShellContent };
|
|
172
175
|
//# sourceMappingURL=WideUiShellContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WideUiShellContent.js","names":["styled","memo","useRef","ErrorBoundary","useOdysseyDesignTokens","AppSwitcher","InnerAppContainer","SideNav","TopNav","TURN_OFF_APP_SWITCHER","useUiShellContext","emptySideNavItems","useMatchAppElementToUiShellAppArea","useScrollState","jsx","_jsx","jsxs","_jsxs","appSwitcherDefaultAppIcons","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","gridArea","position","StyledAppSwitcherContainer","StyledBannersContainer","StyledSideNavContainer","StyledShellContainer","odysseyDesignTokens","HueNeutral50","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledTopNavContainer","WideUiShellContent","appElement","appElementScrollingMode","appSwitcherProps","hasStandardAppContentPadding","hasSideNavProps","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","uiShellContext","isContentScrolled","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","parentContainerRef","paddingMode","uiShellResizableRefs","ref","children","banners","includes","fallback","appIcons","isLoading","selectedAppName","sideNavItems","hasCustomFooter","sideNavFooter","footerComponent","footerItems","undefined","leftSideComponent","topNavLeftSide","rightSideComponent","topNavRightSide","tabIndex","MemoizedWideUiShellContent","displayName"],"sources":["../../../src/ui-shell/WideUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useRef } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { AppSwitcher } from \"./AppSwitcher/AppSwitcher.js\";\nimport { AppSwitcherAppIconData } from \"./AppSwitcher/AppSwitcherApp.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { TopNav } from \"./TopNav/TopNav.js\";\nimport {\n TURN_OFF_APP_SWITCHER,\n UiShellContentProps,\n UiShellNavComponentProps,\n} from \"./uiShellContentTypes.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport { emptySideNavItems } from \"./uiShellSharedConstants.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { useScrollState } from \"./useScrollState.js\";\n\nconst appSwitcherDefaultAppIcons = [] satisfies AppSwitcherAppIconData[];\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-content\",\n position: \"relative\",\n}));\n\nconst StyledAppSwitcherContainer = styled(\"div\")({\n gridArea: \"app-switcher\",\n});\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n});\n\nconst StyledSideNavContainer = styled(\"div\")({\n gridArea: \"side-nav\",\n});\n\nconst StyledShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners banners banners\"\n \"app-switcher side-nav top-nav\"\n \"app-switcher side-nav app-content\"\n `,\n gridTemplateColumns: \"auto auto 1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n width: \"100vw\",\n}));\n\nconst StyledTopNavContainer = styled(\"div\")({\n gridArea: \"top-nav\",\n});\n\nexport type WideUiShellContentProps = UiShellNavComponentProps &\n UiShellContentProps;\n\n/**\n * Our new Unified Platform UI Shell.\n *\n * This includes the top and side navigation as well as the footer and provides a spot for your app to render into.\n *\n * If an error occurs, this will revert to only showing the app.\n */\nconst WideUiShellContent = ({\n appElement,\n appElementScrollingMode,\n appSwitcherProps,\n hasStandardAppContentPadding = true,\n hasSideNavProps,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: WideUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"comfortable\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <StyledShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n <StyledAppSwitcherContainer>\n {\n /* If AppSwitcher should be initially visible and we have not yet received props, render AppSwitcher in the loading state */\n initialVisibleSections?.includes(\"AppSwitcher\") &&\n !appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher\n appIcons={appSwitcherDefaultAppIcons}\n isLoading\n selectedAppName=\"\"\n />\n </ErrorBoundary>\n )\n }\n\n {appSwitcherProps && appSwitcherProps !== TURN_OFF_APP_SWITCHER && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher {...appSwitcherProps} />\n </ErrorBoundary>\n )}\n </StyledAppSwitcherContainer>\n\n <StyledSideNavContainer ref={sideNavContainerRef}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") && !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav\n {...{\n ...sideNavProps,\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n />\n </ErrorBoundary>\n )}\n </StyledSideNavContainer>\n\n <StyledTopNavContainer ref={topNavContainerRef}>\n {\n /* If TopNav should be initially visible and we have not yet received props, render Topnav with minimal inputs */\n initialVisibleSections?.includes(\"TopNav\") &&\n topNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )\n }\n\n {topNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n {...topNavProps}\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )}\n </StyledTopNavContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n ref={uiShellAppAreaRef}\n tabIndex={0}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledShellContainer>\n );\n};\n\nconst MemoizedWideUiShellContent = memo(WideUiShellContent);\nMemoizedWideUiShellContent.displayName = \"WideUiShellContent\";\n\nexport { MemoizedWideUiShellContent as WideUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WideUiShellContent.js","names":["styled","memo","useRef","ErrorBoundary","useOdysseyDesignTokens","AppSwitcher","InnerAppContainer","SideNav","SkipToContent","TopNav","TURN_OFF_APP_SWITCHER","useUiShellContext","emptySideNavItems","useMatchAppElementToUiShellAppArea","useScrollState","jsx","_jsx","jsxs","_jsxs","appSwitcherDefaultAppIcons","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","backgroundColor","gridArea","position","StyledAppSwitcherContainer","StyledBannersContainer","StyledSideNavContainer","StyledShellContainer","odysseyDesignTokens","HueNeutral50","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledTopNavContainer","WideUiShellContent","appElement","appElementScrollingMode","appSwitcherProps","hasStandardAppContentPadding","hasSideNavProps","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","uiShellContext","isContentScrolled","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","parentContainerRef","paddingMode","uiShellResizableRefs","ref","children","banners","includes","fallback","appIcons","isLoading","selectedAppName","sideNavItems","hasCustomFooter","sideNavFooter","footerComponent","footerItems","undefined","leftSideComponent","topNavLeftSide","rightSideComponent","topNavRightSide","tabIndex","MemoizedWideUiShellContent","displayName"],"sources":["../../../src/ui-shell/WideUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useRef } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { AppSwitcher } from \"./AppSwitcher/AppSwitcher.js\";\nimport { AppSwitcherAppIconData } from \"./AppSwitcher/AppSwitcherApp.js\";\nimport { InnerAppContainer } from \"./InnerAppContainer.js\";\nimport { SideNav } from \"./SideNav/SideNav.js\";\nimport { SkipToContent } from \"./SkipToContent.js\";\nimport { TopNav } from \"./TopNav/TopNav.js\";\nimport {\n TURN_OFF_APP_SWITCHER,\n UiShellContentProps,\n UiShellNavComponentProps,\n} from \"./uiShellContentTypes.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport { emptySideNavItems } from \"./uiShellSharedConstants.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { useScrollState } from \"./useScrollState.js\";\n\nconst appSwitcherDefaultAppIcons = [] satisfies AppSwitcherAppIconData[];\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n backgroundColor: appBackgroundColor,\n gridArea: \"app-content\",\n position: \"relative\",\n}));\n\nconst StyledAppSwitcherContainer = styled(\"div\")({\n gridArea: \"app-switcher\",\n});\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n});\n\nconst StyledSideNavContainer = styled(\"div\")({\n gridArea: \"side-nav\",\n});\n\nconst StyledShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners banners banners\"\n \"app-switcher side-nav top-nav\"\n \"app-switcher side-nav app-content\"\n `,\n gridTemplateColumns: \"auto auto 1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n width: \"100vw\",\n}));\n\nconst StyledTopNavContainer = styled(\"div\")({\n gridArea: \"top-nav\",\n});\n\nexport type WideUiShellContentProps = UiShellNavComponentProps &\n UiShellContentProps;\n\n/**\n * Our new Unified Platform UI Shell.\n *\n * This includes the top and side navigation as well as the footer and provides a spot for your app to render into.\n *\n * If an error occurs, this will revert to only showing the app.\n */\nconst WideUiShellContent = ({\n appElement,\n appElementScrollingMode,\n appSwitcherProps,\n hasStandardAppContentPadding = true,\n hasSideNavProps,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: WideUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"comfortable\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <StyledShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <SkipToContent appElement={appElement} />\n\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n <StyledAppSwitcherContainer>\n {\n /* If AppSwitcher should be initially visible and we have not yet received props, render AppSwitcher in the loading state */\n initialVisibleSections?.includes(\"AppSwitcher\") &&\n !appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher\n appIcons={appSwitcherDefaultAppIcons}\n isLoading\n selectedAppName=\"\"\n />\n </ErrorBoundary>\n )\n }\n\n {appSwitcherProps && appSwitcherProps !== TURN_OFF_APP_SWITCHER && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher {...appSwitcherProps} />\n </ErrorBoundary>\n )}\n </StyledAppSwitcherContainer>\n\n <StyledSideNavContainer ref={sideNavContainerRef}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") && !hasSideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\n }\n\n {hasSideNavProps && sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav\n {...{\n ...sideNavProps,\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n />\n </ErrorBoundary>\n )}\n </StyledSideNavContainer>\n\n <StyledTopNavContainer ref={topNavContainerRef}>\n {\n /* If TopNav should be initially visible and we have not yet received props, render Topnav with minimal inputs */\n initialVisibleSections?.includes(\"TopNav\") &&\n topNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )\n }\n\n {topNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n {...topNavProps}\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )}\n </StyledTopNavContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n ref={uiShellAppAreaRef}\n tabIndex={0}\n >\n <InnerAppContainer isContentScrolled={isContentScrolled} />\n </StyledAppContainer>\n </StyledShellContainer>\n );\n};\n\nconst MemoizedWideUiShellContent = memo(WideUiShellContent);\nMemoizedWideUiShellContent.displayName = \"WideUiShellContent\";\n\nexport { MemoizedWideUiShellContent as WideUiShellContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2026-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
3
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
4
|
*
|
|
5
5
|
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
@@ -16,6 +16,7 @@ export * from "./NarrowUiShellContent.js";
|
|
|
16
16
|
export * from "./renderUiShell.js";
|
|
17
17
|
export * from "./SideNav/SideNav.js";
|
|
18
18
|
export * from "./SideNav/types.js";
|
|
19
|
+
export * from "./SkipToContent.js";
|
|
19
20
|
export * from "./TopNav/TopNav.js";
|
|
20
21
|
export * from "./uiShellContentTypes.js";
|
|
21
22
|
export * from "./UiShellLogo.js";
|