@okta/odyssey-react-mui 1.32.0 → 1.33.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/Autocomplete.cjs +1 -1
- package/dist/cjs/Autocomplete.cjs.map +1 -1
- package/dist/cjs/Breadcrumbs.cjs +23 -7
- package/dist/cjs/Breadcrumbs.cjs.map +1 -1
- package/dist/cjs/DatePickers/datePickerTheme.cjs +1 -1
- package/dist/cjs/DatePickers/datePickerTheme.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +2 -2
- package/dist/cjs/OdysseyProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs +2 -2
- package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
- package/dist/cjs/hexToRgb.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
- package/dist/cjs/theme/components.cjs +6 -0
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/{src/theme/palette.types.ts → dist/cjs/theme/pxToRem.cjs} +10 -13
- package/dist/cjs/theme/pxToRem.cjs.map +1 -0
- package/dist/cjs/theme/theme.cjs +22 -0
- package/dist/cjs/theme/theme.cjs.map +1 -1
- package/dist/cjs/theme/useMediaQuery.cjs +34 -0
- package/dist/cjs/theme/useMediaQuery.cjs.map +1 -0
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +3 -3
- package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +340 -0
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -0
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +64 -45
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +8 -5
- package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +39 -11
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs +14 -2
- package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -1
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +37 -0
- package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs.map +1 -0
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs +5 -5
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +37 -18
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs +10 -3
- package/dist/cjs/ui-shell/UiShellProvider.cjs.map +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +171 -0
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -0
- package/dist/cjs/ui-shell/index.cjs +36 -0
- package/dist/cjs/ui-shell/index.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +19 -20
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/{src/TagListContext.tsx → dist/cjs/ui-shell/uiShellContentTypes.cjs} +9 -12
- package/dist/cjs/ui-shell/uiShellContentTypes.cjs.map +1 -0
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs +22 -0
- package/dist/cjs/ui-shell/uiShellSharedConstants.cjs.map +1 -0
- package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs +108 -0
- package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs.map +1 -0
- package/dist/cjs/ui-shell/useScrollState.cjs +2 -4
- package/dist/cjs/ui-shell/useScrollState.cjs.map +1 -1
- package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs +41 -0
- package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs.map +1 -0
- package/dist/cjs/useContrastMode.cjs +1 -1
- package/dist/cjs/useContrastMode.cjs.map +1 -1
- package/dist/cjs/web-component/createReactRootElements.cjs.map +1 -1
- package/dist/cjs/web-component/renderReactInWebComponent.cjs +6 -1
- package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
- package/dist/esm/Autocomplete.js +1 -1
- package/dist/esm/Autocomplete.js.map +1 -1
- package/dist/esm/Breadcrumbs.js +23 -7
- package/dist/esm/Breadcrumbs.js.map +1 -1
- package/dist/esm/DatePickers/datePickerTheme.js +1 -1
- package/dist/esm/DatePickers/datePickerTheme.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +2 -2
- package/dist/esm/OdysseyProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProvider.js +2 -2
- package/dist/esm/OdysseyThemeProvider.js.map +1 -1
- package/dist/esm/hexToRgb.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/esm/theme/components.js +6 -0
- package/dist/esm/theme/components.js.map +1 -1
- package/{src/shadow-dom/index.ts → dist/esm/theme/pxToRem.js} +2 -1
- package/dist/esm/theme/pxToRem.js.map +1 -0
- package/dist/esm/theme/theme.js +2 -0
- package/dist/esm/theme/theme.js.map +1 -1
- package/{src/ui-shell/useHasUiShell.ts → dist/esm/theme/useMediaQuery.js} +13 -11
- package/dist/esm/theme/useMediaQuery.js.map +1 -0
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +2 -2
- package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +334 -0
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -0
- package/dist/esm/ui-shell/SideNav/SideNav.js +63 -44
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js +7 -4
- package/dist/esm/ui-shell/SideNav/SideNavHeader.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +40 -12
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavLogo.js +14 -2
- package/dist/esm/ui-shell/SideNav/SideNavLogo.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +32 -0
- package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js.map +1 -0
- package/dist/esm/ui-shell/TopNav/TopNav.js +2 -2
- package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +37 -18
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/UiShellProvider.js +10 -3
- package/dist/esm/ui-shell/UiShellProvider.js.map +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +165 -0
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -0
- package/dist/esm/ui-shell/index.js +3 -0
- package/dist/esm/ui-shell/index.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +19 -20
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/{src/DataTable/constants.ts → dist/esm/ui-shell/uiShellContentTypes.js} +3 -2
- package/dist/esm/ui-shell/uiShellContentTypes.js.map +1 -0
- package/{src/CssBaseline.tsx → dist/esm/ui-shell/uiShellSharedConstants.js} +7 -11
- package/dist/esm/ui-shell/uiShellSharedConstants.js.map +1 -0
- package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js +99 -0
- package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js.map +1 -0
- package/dist/esm/ui-shell/useScrollState.js +3 -5
- package/dist/esm/ui-shell/useScrollState.js.map +1 -1
- package/dist/esm/ui-shell/useUiShellBreakpoints.js +34 -0
- package/dist/esm/ui-shell/useUiShellBreakpoints.js.map +1 -0
- package/dist/esm/useContrastMode.js +2 -2
- package/dist/esm/useContrastMode.js.map +1 -1
- package/dist/esm/web-component/createReactRootElements.js.map +1 -1
- package/dist/esm/web-component/renderReactInWebComponent.js +6 -1
- package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/Autocomplete.d.ts +1 -1
- package/dist/types/Breadcrumbs.d.ts +4 -3
- package/dist/types/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/OdysseyProvider.d.ts +1 -1
- package/dist/types/OdysseyProvider.d.ts.map +1 -1
- package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
- package/dist/types/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/types/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/types/hexToRgb.d.ts.map +1 -1
- package/dist/types/i18n.d.ts +28 -0
- package/dist/types/i18n.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/{src/DatePickers/index.ts → dist/types/theme/pxToRem.d.ts} +3 -5
- package/dist/types/theme/pxToRem.d.ts.map +1 -0
- package/dist/types/theme/theme.d.ts +2 -0
- package/dist/types/theme/theme.d.ts.map +1 -1
- package/{src/web-component/index.ts → dist/types/theme/useMediaQuery.d.ts} +2 -2
- package/dist/types/theme/useMediaQuery.d.ts.map +1 -0
- package/dist/types/ui-shell/AppSwitcher/AppSwitcher.d.ts.map +1 -1
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts +17 -0
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -0
- package/dist/types/ui-shell/SideNav/SideNav.d.ts +1 -3
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavHeader.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +9 -7
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavLogo.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/types.d.ts +12 -2
- package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
- package/{src/Buttons/ButtonContext.tsx → dist/types/ui-shell/TopNav/HamburgerMenuIcon.d.ts} +5 -12
- package/dist/types/ui-shell/TopNav/HamburgerMenuIcon.d.ts.map +1 -0
- package/dist/types/ui-shell/TopNav/TopNav.d.ts +0 -1
- package/dist/types/ui-shell/TopNav/TopNav.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShell.d.ts +20 -7
- package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShellProvider.d.ts +8 -6
- package/dist/types/ui-shell/UiShellProvider.d.ts.map +1 -1
- package/{src/Buttons/index.ts → dist/types/ui-shell/WideUiShellContent.d.ts} +5 -14
- package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -0
- package/dist/types/ui-shell/index.d.ts +3 -1
- package/dist/types/ui-shell/index.d.ts.map +1 -1
- package/dist/types/ui-shell/renderUiShell.d.ts +7 -11
- package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/uiShellContentTypes.d.ts +96 -0
- package/dist/types/ui-shell/uiShellContentTypes.d.ts.map +1 -0
- package/{src/@types/i18next.d.ts → dist/types/ui-shell/uiShellSharedConstants.d.ts} +7 -14
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts.map +1 -0
- package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts +38 -0
- package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts.map +1 -0
- package/dist/types/ui-shell/useScrollState.d.ts +0 -1
- package/dist/types/ui-shell/useScrollState.d.ts.map +1 -1
- package/{src/FieldsetContext.tsx → dist/types/ui-shell/useUiShellBreakpoints.d.ts} +7 -12
- package/dist/types/ui-shell/useUiShellBreakpoints.d.ts.map +1 -0
- package/dist/types/web-component/createReactRootElements.d.ts +6 -4
- package/dist/types/web-component/createReactRootElements.d.ts.map +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts +12 -5
- package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
- package/package.json +4 -4
- package/.browserslistrc +0 -1
- package/.svgrrc.cjs +0 -13
- package/CHANGELOG.md +0 -1490
- package/babel.config.cjs +0 -112
- package/dist/cjs/ui-shell/UiShellContent.cjs +0 -226
- package/dist/cjs/ui-shell/UiShellContent.cjs.map +0 -1
- package/dist/esm/ui-shell/UiShellContent.js +0 -220
- package/dist/esm/ui-shell/UiShellContent.js.map +0 -1
- package/dist/types/ui-shell/UiShellContent.d.ts +0 -76
- package/dist/types/ui-shell/UiShellContent.d.ts.map +0 -1
- package/i18n.config.json +0 -10
- package/scripts/generateIconsIndex.ts +0 -49
- package/scripts/generateTestSelectorsJson.ts +0 -33
- package/scripts/properties-to-ts.ts +0 -111
- package/src/@types/properties.d.ts +0 -292
- package/src/@types/react-augment.d.ts +0 -22
- package/src/Accordion.tsx +0 -117
- package/src/Autocomplete.tsx +0 -321
- package/src/Badge.tsx +0 -112
- package/src/Banner.tsx +0 -112
- package/src/Box.tsx +0 -44
- package/src/Breadcrumbs.tsx +0 -221
- package/src/Buttons/BaseButton.tsx +0 -250
- package/src/Buttons/BaseMenuButton.tsx +0 -342
- package/src/Buttons/Button.tsx +0 -30
- package/src/Buttons/MenuButton.tsx +0 -33
- package/src/Buttons/MenuContext.ts +0 -25
- package/src/Buttons/MenuItem.tsx +0 -103
- package/src/Callout.tsx +0 -176
- package/src/Card.tsx +0 -186
- package/src/Checkbox.tsx +0 -261
- package/src/CheckboxGroup.tsx +0 -127
- package/src/CircularProgress.tsx +0 -42
- package/src/DataTable/DataTable.tsx +0 -968
- package/src/DataTable/DataTableRowActions.tsx +0 -132
- package/src/DataTable/DataTableSettings.tsx +0 -136
- package/src/DataTable/index.tsx +0 -28
- package/src/DataTable/reorderDataRowsLocally.tsx +0 -48
- package/src/DataTable/useRowReordering.tsx +0 -232
- package/src/DataTable/useScrollIndication.tsx +0 -125
- package/src/DatePickers/DateField.tsx +0 -267
- package/src/DatePickers/DateFieldActionBar.tsx +0 -65
- package/src/DatePickers/DateFieldLocalizationProvider.tsx +0 -46
- package/src/DatePickers/DatePicker.test.tsx +0 -66
- package/src/DatePickers/DatePicker.tsx +0 -299
- package/src/DatePickers/DatePicker.types.d.ts +0 -14
- package/src/DatePickers/TimeZonePicker.tsx +0 -59
- package/src/DatePickers/datePickerTheme.tsx +0 -377
- package/src/DatePickers/useDateFieldsTranslations.ts +0 -94
- package/src/DatePickers/useOdysseyDateFields.ts +0 -303
- package/src/Dialog.tsx +0 -178
- package/src/Drawer.tsx +0 -255
- package/src/EmptyState.tsx +0 -79
- package/src/ErrorMessageList.tsx +0 -56
- package/src/Field.tsx +0 -189
- package/src/FieldComponentProps.ts +0 -66
- package/src/FieldError.tsx +0 -59
- package/src/FieldHint.tsx +0 -72
- package/src/FieldLabel.tsx +0 -67
- package/src/Fieldset.tsx +0 -116
- package/src/FileUploader/FileUploadIllustration.tsx +0 -66
- package/src/FileUploader/FileUploadPreview.tsx +0 -151
- package/src/FileUploader/FileUploader.tsx +0 -311
- package/src/FileUploader/index.ts +0 -13
- package/src/Form.tsx +0 -185
- package/src/FormCheckedProps.ts +0 -59
- package/src/HintLink.tsx +0 -28
- package/src/HtmlProps.ts +0 -112
- package/src/IconWithTooltip.tsx +0 -90
- package/src/Link.tsx +0 -115
- package/src/MuiPropsChild.tsx +0 -42
- package/src/MuiPropsContext.ts +0 -18
- package/src/NativeSelect.tsx +0 -249
- package/src/NullElement.tsx +0 -13
- package/src/OdysseyCacheProvider.test.tsx +0 -39
- package/src/OdysseyCacheProvider.tsx +0 -86
- package/src/OdysseyDesignTokensContext.tsx +0 -23
- package/src/OdysseyProvider.tsx +0 -92
- package/src/OdysseyThemeProvider.test.tsx +0 -211
- package/src/OdysseyThemeProvider.tsx +0 -109
- package/src/OdysseyTranslationProvider.test.tsx +0 -95
- package/src/OdysseyTranslationProvider.tsx +0 -77
- package/src/OdysseyTranslationProvider.types.ts +0 -47
- package/src/Pagination/Pagination.test.tsx +0 -327
- package/src/Pagination/Pagination.tsx +0 -417
- package/src/Pagination/constants.ts +0 -13
- package/src/Pagination/index.ts +0 -15
- package/src/Pagination/usePagination.ts +0 -45
- package/src/PasswordField.tsx +0 -253
- package/src/Radio.tsx +0 -199
- package/src/RadioGroup.tsx +0 -164
- package/src/ScreenReaderText.tsx +0 -53
- package/src/SearchField.tsx +0 -240
- package/src/Select.tsx +0 -576
- package/src/Stack.tsx +0 -56
- package/src/Status.tsx +0 -67
- package/src/Surface.tsx +0 -61
- package/src/SvgIcon.ts +0 -22
- package/src/Switch.tsx +0 -425
- package/src/Tabs.tsx +0 -259
- package/src/Tag.tsx +0 -317
- package/src/TagList.tsx +0 -55
- package/src/TextField.tsx +0 -298
- package/src/Toast.tsx +0 -151
- package/src/ToastStack.tsx +0 -43
- package/src/Tooltip.tsx +0 -61
- package/src/Typography.test.tsx +0 -26
- package/src/Typography.tsx +0 -474
- package/src/createContrastColors.ts +0 -112
- package/src/createUniqueAlphabeticalId.test.ts +0 -22
- package/src/createUniqueAlphabeticalId.ts +0 -17
- package/src/createUniqueId.test.ts +0 -22
- package/src/createUniqueId.ts +0 -17
- package/src/getTypedObjectKeys.ts +0 -15
- package/src/hexToRgb.ts +0 -40
- package/src/i18n.ts +0 -110
- package/src/icons.generated/Add.tsx +0 -44
- package/src/icons.generated/AddCircle.tsx +0 -46
- package/src/icons.generated/Apps.tsx +0 -44
- package/src/icons.generated/ArrowBottom.tsx +0 -46
- package/src/icons.generated/ArrowDown.tsx +0 -46
- package/src/icons.generated/ArrowLeft.tsx +0 -46
- package/src/icons.generated/ArrowLowerLeft.tsx +0 -46
- package/src/icons.generated/ArrowLowerRight.tsx +0 -46
- package/src/icons.generated/ArrowRight.tsx +0 -46
- package/src/icons.generated/ArrowTop.tsx +0 -46
- package/src/icons.generated/ArrowUnsorted.tsx +0 -46
- package/src/icons.generated/ArrowUp.tsx +0 -46
- package/src/icons.generated/ArrowUpperLeft.tsx +0 -46
- package/src/icons.generated/ArrowUpperRight.tsx +0 -46
- package/src/icons.generated/Bug.tsx +0 -44
- package/src/icons.generated/Calendar.tsx +0 -46
- package/src/icons.generated/Call.tsx +0 -44
- package/src/icons.generated/Chat.tsx +0 -44
- package/src/icons.generated/Check.tsx +0 -44
- package/src/icons.generated/CheckCircleFilled.tsx +0 -47
- package/src/icons.generated/ChevronDown.tsx +0 -46
- package/src/icons.generated/ChevronLeft.tsx +0 -46
- package/src/icons.generated/ChevronRight.tsx +0 -46
- package/src/icons.generated/ChevronUp.tsx +0 -46
- package/src/icons.generated/Clock.tsx +0 -44
- package/src/icons.generated/Close.tsx +0 -44
- package/src/icons.generated/CloseCircleFilled.tsx +0 -47
- package/src/icons.generated/CollapseLeft.tsx +0 -46
- package/src/icons.generated/CollapseRight.tsx +0 -46
- package/src/icons.generated/Copy.tsx +0 -44
- package/src/icons.generated/Custom.tsx +0 -50
- package/src/icons.generated/DangerDiamond.tsx +0 -46
- package/src/icons.generated/DangerDiamondFilled.tsx +0 -47
- package/src/icons.generated/Delete.tsx +0 -44
- package/src/icons.generated/Deny.tsx +0 -44
- package/src/icons.generated/Devices.tsx +0 -46
- package/src/icons.generated/Directory.tsx +0 -46
- package/src/icons.generated/Documentation.tsx +0 -46
- package/src/icons.generated/Download.tsx +0 -46
- package/src/icons.generated/DragIndicator.tsx +0 -46
- package/src/icons.generated/Duo.tsx +0 -62
- package/src/icons.generated/Edit.tsx +0 -44
- package/src/icons.generated/Email.tsx +0 -49
- package/src/icons.generated/ExpandLeft.tsx +0 -46
- package/src/icons.generated/ExpandRight.tsx +0 -46
- package/src/icons.generated/ExternalLink.tsx +0 -44
- package/src/icons.generated/Fido2.tsx +0 -72
- package/src/icons.generated/Filter.tsx +0 -44
- package/src/icons.generated/Folder.tsx +0 -44
- package/src/icons.generated/Globe.tsx +0 -44
- package/src/icons.generated/GoogleAuth.tsx +0 -70
- package/src/icons.generated/Grid.tsx +0 -47
- package/src/icons.generated/Group.tsx +0 -44
- package/src/icons.generated/Hide.tsx +0 -44
- package/src/icons.generated/Home.tsx +0 -44
- package/src/icons.generated/Idp.tsx +0 -54
- package/src/icons.generated/InformationCircle.tsx +0 -47
- package/src/icons.generated/InformationCircleFilled.tsx +0 -47
- package/src/icons.generated/Link.tsx +0 -44
- package/src/icons.generated/List.tsx +0 -44
- package/src/icons.generated/Lock.tsx +0 -44
- package/src/icons.generated/More.tsx +0 -44
- package/src/icons.generated/Notification.tsx +0 -46
- package/src/icons.generated/OktaVerify.tsx +0 -46
- package/src/icons.generated/OnPremMfa.tsx +0 -52
- package/src/icons.generated/OneTimePassword.tsx +0 -65
- package/src/icons.generated/Password.tsx +0 -80
- package/src/icons.generated/Pause.tsx +0 -44
- package/src/icons.generated/QuestionCircle.tsx +0 -46
- package/src/icons.generated/QuestionCircleFilled.tsx +0 -47
- package/src/icons.generated/Refresh.tsx +0 -46
- package/src/icons.generated/Reset.tsx +0 -44
- package/src/icons.generated/Resume.tsx +0 -44
- package/src/icons.generated/Search.tsx +0 -44
- package/src/icons.generated/SecurityQuestion.tsx +0 -51
- package/src/icons.generated/Server.tsx +0 -44
- package/src/icons.generated/Settings.tsx +0 -46
- package/src/icons.generated/Show.tsx +0 -44
- package/src/icons.generated/SmartCard.tsx +0 -65
- package/src/icons.generated/Sms.tsx +0 -55
- package/src/icons.generated/Subtract.tsx +0 -46
- package/src/icons.generated/SymantecVip.tsx +0 -52
- package/src/icons.generated/Sync.tsx +0 -44
- package/src/icons.generated/ThumbsDown.tsx +0 -46
- package/src/icons.generated/ThumbsUp.tsx +0 -46
- package/src/icons.generated/Unlock.tsx +0 -44
- package/src/icons.generated/Upload.tsx +0 -44
- package/src/icons.generated/User.tsx +0 -44
- package/src/icons.generated/Video.tsx +0 -44
- package/src/icons.generated/VoiceCall.tsx +0 -62
- package/src/icons.generated/Warning.tsx +0 -46
- package/src/icons.generated/WarningFilled.tsx +0 -46
- package/src/icons.generated/Yubikey.tsx +0 -44
- package/src/icons.generated/index.ts +0 -107
- package/src/index.ts +0 -118
- package/src/inputUtils.ts +0 -80
- package/src/labs/AppTile.tsx +0 -421
- package/src/labs/DataFilters.tsx +0 -871
- package/src/labs/DataTable.tsx +0 -877
- package/src/labs/DataTablePagination.tsx +0 -88
- package/src/labs/DataView/BulkActionsMenu.tsx +0 -98
- package/src/labs/DataView/CardLayoutContent.tsx +0 -272
- package/src/labs/DataView/DataCard.tsx +0 -357
- package/src/labs/DataView/DataTable.tsx +0 -128
- package/src/labs/DataView/DataView.test.tsx +0 -1168
- package/src/labs/DataView/DataView.tsx +0 -504
- package/src/labs/DataView/DetailPanel.tsx +0 -31
- package/src/labs/DataView/LayoutSwitcher.tsx +0 -72
- package/src/labs/DataView/RowActions.tsx +0 -125
- package/src/labs/DataView/TableLayoutContent.tsx +0 -500
- package/src/labs/DataView/TableSettings.tsx +0 -144
- package/src/labs/DataView/componentTypes.ts +0 -129
- package/src/labs/DataView/constants.tsx +0 -28
- package/src/labs/DataView/dataTypes.ts +0 -83
- package/src/labs/DataView/fetchData.ts +0 -49
- package/src/labs/DataView/index.ts +0 -19
- package/src/labs/DataView/tableConstants.tsx +0 -137
- package/src/labs/DataView/testSupportData.tsx +0 -301
- package/src/labs/DataView/useFilterConversion.ts +0 -88
- package/src/labs/DatePickers/DateTimeField.tsx +0 -267
- package/src/labs/DatePickers/DateTimePicker.test.tsx +0 -70
- package/src/labs/DatePickers/DateTimePicker.tsx +0 -303
- package/src/labs/DatePickers/dateTimePickerTheme.ts +0 -216
- package/src/labs/DatePickers/index.ts +0 -13
- package/src/labs/GroupPicker.tsx +0 -261
- package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +0 -32
- package/src/labs/OdysseyPickers/ComposablePicker.tsx +0 -188
- package/src/labs/OdysseyPickers/Picker.tsx +0 -381
- package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +0 -192
- package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +0 -429
- package/src/labs/OdysseyPickers/index.ts +0 -15
- package/src/labs/PageTemplate/Layout.tsx +0 -85
- package/src/labs/PageTemplate/PageTemplate.tsx +0 -234
- package/src/labs/PageTemplate/index.ts +0 -14
- package/src/labs/PaginatedTable.tsx +0 -290
- package/src/labs/README.md +0 -46
- package/src/labs/StaticTable.tsx +0 -131
- package/src/labs/UserProfile.tsx +0 -104
- package/src/labs/UserProfileMenuButton.tsx +0 -86
- package/src/labs/index.ts +0 -47
- package/src/labs/materialReactTableTypes.tsx +0 -19
- package/src/properties/odyssey-react-mui.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_cs.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_da.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_de.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_el.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_es.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_fi.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_fr.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ht.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_hu.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_id.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_it.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ja.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ko.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ms.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_nb.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_nl_NL.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ok_PL.properties +0 -126
- package/src/properties/translations/odyssey-react-mui_ok_SK.properties +0 -126
- package/src/properties/translations/odyssey-react-mui_pl.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_pt_BR.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ro.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_ru.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_sv.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_th.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_tr.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_uk.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_vi.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_zh_CN.properties +0 -140
- package/src/properties/translations/odyssey-react-mui_zh_TW.properties +0 -140
- package/src/properties/ts/odyssey-react-mui.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_cs.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_da.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_de.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_el.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_es.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_fi.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_fr.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ht.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_hu.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_id.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_it.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ja.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ko.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ms.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_nb.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_nl_NL.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ok_PL.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ok_SK.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_pl.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_pt_BR.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ro.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_ru.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_sv.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_th.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_tr.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_uk.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_vi.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_zh_CN.ts +0 -1
- package/src/properties/ts/odyssey-react-mui_zh_TW.ts +0 -1
- package/src/remUtils.ts +0 -27
- package/src/shadow-dom/shadow-dom.test.ts +0 -24
- package/src/shadow-dom/shadow-dom.ts +0 -54
- package/src/test-selectors/getByQuerySelector.ts +0 -176
- package/src/test-selectors/getComputedAccessibleErrorMessageText.ts +0 -52
- package/src/test-selectors/getComputedAccessibleText.ts +0 -36
- package/src/test-selectors/index.ts +0 -15
- package/src/test-selectors/interpolateString.ts +0 -41
- package/src/test-selectors/linkedHtmlSelectors.ts +0 -73
- package/src/test-selectors/queryOdysseySelector.ts +0 -36
- package/src/test-selectors/querySelector.ts +0 -249
- package/src/test-selectors/sanityChecks.ts +0 -53
- package/src/test-selectors/testSelector.ts +0 -143
- package/src/theme/components.tsx +0 -3275
- package/src/theme/components.types.ts +0 -111
- package/src/theme/createOdysseyMuiTheme.ts +0 -54
- package/src/theme/index.ts +0 -13
- package/src/theme/mixins.ts +0 -29
- package/src/theme/mixins.types.ts +0 -31
- package/src/theme/palette.ts +0 -112
- package/src/theme/shape.ts +0 -31
- package/src/theme/spacing.ts +0 -34
- package/src/theme/theme.ts +0 -13
- package/src/theme/typography.ts +0 -137
- package/src/theme/typography.types.ts +0 -41
- package/src/theme/useContrastMode.test.tsx +0 -504
- package/src/ui-shell/AppSwitcher/AppSwitcher.tsx +0 -94
- package/src/ui-shell/AppSwitcher/AppSwitcherApp.tsx +0 -146
- package/src/ui-shell/AppSwitcher/OktaAura.tsx +0 -50
- package/src/ui-shell/AppSwitcher/index.ts +0 -13
- package/src/ui-shell/SideNav/CollapseIcon.tsx +0 -34
- package/src/ui-shell/SideNav/HandleIcon.tsx +0 -35
- package/src/ui-shell/SideNav/NavAccordion.tsx +0 -243
- package/src/ui-shell/SideNav/OktaLogo.tsx +0 -34
- package/src/ui-shell/SideNav/SideNav.test.tsx +0 -326
- package/src/ui-shell/SideNav/SideNav.tsx +0 -810
- package/src/ui-shell/SideNav/SideNavFooterContent.tsx +0 -85
- package/src/ui-shell/SideNav/SideNavHeader.tsx +0 -134
- package/src/ui-shell/SideNav/SideNavItemContent.tsx +0 -402
- package/src/ui-shell/SideNav/SideNavItemContentContext.tsx +0 -29
- package/src/ui-shell/SideNav/SideNavItemLinkContent.tsx +0 -90
- package/src/ui-shell/SideNav/SideNavLogo.tsx +0 -65
- package/src/ui-shell/SideNav/SideNavToggleButton.tsx +0 -272
- package/src/ui-shell/SideNav/SortableList/SortableItem.tsx +0 -237
- package/src/ui-shell/SideNav/SortableList/SortableList.tsx +0 -132
- package/src/ui-shell/SideNav/SortableList/SortableOverlay.tsx +0 -34
- package/src/ui-shell/SideNav/index.ts +0 -16
- package/src/ui-shell/SideNav/types.ts +0 -224
- package/src/ui-shell/TopNav/TopNav.tsx +0 -109
- package/src/ui-shell/TopNav/TopNavLinksList.tsx +0 -68
- package/src/ui-shell/TopNav/TopNavListItem.tsx +0 -209
- package/src/ui-shell/TopNav/index.ts +0 -13
- package/src/ui-shell/UiShell.test.tsx +0 -366
- package/src/ui-shell/UiShell.tsx +0 -153
- package/src/ui-shell/UiShellContent.tsx +0 -350
- package/src/ui-shell/UiShellProvider.tsx +0 -103
- package/src/ui-shell/bufferLatest.test.ts +0 -79
- package/src/ui-shell/bufferLatest.ts +0 -64
- package/src/ui-shell/createMessageBus.test.ts +0 -115
- package/src/ui-shell/createMessageBus.ts +0 -53
- package/src/ui-shell/createStore.test.ts +0 -103
- package/src/ui-shell/createStore.ts +0 -37
- package/src/ui-shell/index.ts +0 -21
- package/src/ui-shell/renderUiShell.test.tsx +0 -203
- package/src/ui-shell/renderUiShell.tsx +0 -158
- package/src/ui-shell/useScrollState.ts +0 -59
- package/src/useAutocomplete.tsx +0 -184
- package/src/useContrastMode.tsx +0 -143
- package/src/useNormalizedKey.ts +0 -17
- package/src/useUniqueAlphabeticalId.ts +0 -21
- package/src/useUniqueId.ts +0 -21
- package/src/web-component/createReactRootElements.test.ts +0 -40
- package/src/web-component/createReactRootElements.ts +0 -39
- package/src/web-component/renderReactInWebComponent.test.tsx +0 -128
- package/src/web-component/renderReactInWebComponent.ts +0 -135
- package/tsconfig.json +0 -16
- package/tsconfig.production.json +0 -13
- package/vitest.config.ts +0 -36
- package/vitest.setup.ts +0 -32
|
@@ -10,8 +10,8 @@ var _react = require("react");
|
|
|
10
10
|
var _OdysseyDesignTokensContext = require("../../OdysseyDesignTokensContext.cjs");
|
|
11
11
|
var _SideNavLogo = require("./SideNavLogo.cjs");
|
|
12
12
|
var _Typography = require("../../Typography.cjs");
|
|
13
|
-
var _index = require("../TopNav/index.cjs");
|
|
14
13
|
var _UiShellProvider = require("../../ui-shell/UiShellProvider.cjs");
|
|
14
|
+
var _uiShellSharedConstants = require("../uiShellSharedConstants.cjs");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
/*!
|
|
@@ -30,20 +30,21 @@ const SideNavHeaderContainer = (0, _styled.default)("div")({
|
|
|
30
30
|
position: "relative",
|
|
31
31
|
display: "flex",
|
|
32
32
|
flexDirection: "column",
|
|
33
|
-
zIndex:
|
|
33
|
+
zIndex: _uiShellSharedConstants.UI_SHELL_BASE_Z_INDEX
|
|
34
34
|
});
|
|
35
35
|
const SideNavLogoContainer = (0, _styled.default)("div", {
|
|
36
|
-
shouldForwardProp: prop => prop !== "
|
|
36
|
+
shouldForwardProp: prop => prop !== "headerBackgroundColor" && prop !== "isSameBackgroundAsMain" && prop !== "odysseyDesignTokens"
|
|
37
37
|
})(({
|
|
38
|
+
headerBackgroundColor,
|
|
38
39
|
isSameBackgroundAsMain,
|
|
39
40
|
odysseyDesignTokens
|
|
40
41
|
}) => ({
|
|
41
42
|
display: "flex",
|
|
42
43
|
alignItems: "center",
|
|
43
|
-
height:
|
|
44
|
+
height: _uiShellSharedConstants.TOP_NAV_HEIGHT,
|
|
44
45
|
paddingBlock: odysseyDesignTokens.Spacing4,
|
|
45
46
|
paddingInline: odysseyDesignTokens.Spacing5,
|
|
46
|
-
backgroundColor: isSameBackgroundAsMain ?
|
|
47
|
+
backgroundColor: isSameBackgroundAsMain ? headerBackgroundColor : odysseyDesignTokens.HueNeutralWhite,
|
|
47
48
|
"svg, img": {
|
|
48
49
|
maxHeight: "100%",
|
|
49
50
|
width: "auto",
|
|
@@ -78,7 +79,9 @@ const SideNavHeader = ({
|
|
|
78
79
|
return (0, _jsxRuntime.jsxs)(SideNavHeaderContainer, {
|
|
79
80
|
children: [(0, _jsxRuntime.jsx)(SideNavLogoContainer, {
|
|
80
81
|
isSameBackgroundAsMain: logoProps?.isSameBackgroundAsMain,
|
|
82
|
+
headerBackgroundColor: uiShellContext?.sideNavBackgroundColor,
|
|
81
83
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
84
|
+
"data-se": "sidenav-header-logo-container",
|
|
82
85
|
children: isLoading ? (0, _jsxRuntime.jsx)(_Skeleton2.default, {
|
|
83
86
|
variant: "rounded",
|
|
84
87
|
height: 24,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavHeader.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_SideNavLogo","_Typography","
|
|
1
|
+
{"version":3,"file":"SideNavHeader.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_SideNavLogo","_Typography","_UiShellProvider","_uiShellSharedConstants","_jsxRuntime","e","__esModule","default","SideNavHeaderContainer","styled","position","display","flexDirection","zIndex","UI_SHELL_BASE_Z_INDEX","SideNavLogoContainer","shouldForwardProp","prop","headerBackgroundColor","isSameBackgroundAsMain","odysseyDesignTokens","alignItems","height","TOP_NAV_HEIGHT","paddingBlock","Spacing4","paddingInline","Spacing5","backgroundColor","HueNeutralWhite","maxHeight","width","maxWidth","SideNavHeadingContainer","contrastFontColor","justifyContent","margin","color","SideNavHeader","appName","isLoading","logoProps","useOdysseyDesignTokens","uiShellContext","useUiShellContext","jsxs","children","jsx","sideNavBackgroundColor","_Skeleton2","variant","SideNavLogo","sideNavContrastColors","fontColor","Heading5","component","MemoizedSideNavHeader","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavHeader.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 } from \"react\";\nimport { Skeleton } from \"@mui/material\";\n\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { SideNavLogo } from \"./SideNavLogo.js\";\nimport { SideNavLogoProps, SideNavProps } from \"./types.js\";\nimport { Heading5 } from \"../../Typography.js\";\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\n\nconst SideNavHeaderContainer = styled(\"div\")({\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst SideNavLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"headerBackgroundColor\" &&\n prop !== \"isSameBackgroundAsMain\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n headerBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n isSameBackgroundAsMain: SideNavLogoProps[\"isSameBackgroundAsMain\"];\n odysseyDesignTokens: DesignTokens;\n}>(\n ({ headerBackgroundColor, isSameBackgroundAsMain, odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n backgroundColor: isSameBackgroundAsMain\n ? headerBackgroundColor\n : odysseyDesignTokens.HueNeutralWhite,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n }),\n);\n\nconst SideNavHeadingContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n width: \"100%\",\n\n [\"& .MuiTypography-root\"]: {\n margin: 0,\n width: \"100%\",\n color: contrastFontColor || \"inherit\",\n },\n }),\n);\n\nexport type SideNavHeaderProps = {\n /**\n * The app's name.\n */\n appName?: string;\n /**\n * If the side nav currently has no items, it will be loading.\n */\n isLoading?: boolean;\n} & Pick<SideNavProps, \"logoProps\">;\n\nconst SideNavHeader = ({\n appName,\n isLoading,\n logoProps,\n}: SideNavHeaderProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n return (\n <SideNavHeaderContainer>\n <SideNavLogoContainer\n isSameBackgroundAsMain={logoProps?.isSameBackgroundAsMain}\n headerBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n odysseyDesignTokens={odysseyDesignTokens}\n data-se=\"sidenav-header-logo-container\"\n >\n {isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton variant=\"rounded\" height={24} width={67} />\n ) : (\n <SideNavLogo {...logoProps} />\n )}\n </SideNavLogoContainer>\n\n {appName && (\n <SideNavHeadingContainer\n contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Heading5 component=\"h2\">\n {isLoading ? <Skeleton /> : appName}\n </Heading5>\n </SideNavHeadingContainer>\n )}\n </SideNavHeaderContainer>\n );\n};\n\nconst MemoizedSideNavHeader = memo(SideNavHeader);\nMemoizedSideNavHeader.displayName = \"SideNavHeader\";\n\nexport { MemoizedSideNavHeader as SideNavHeader };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,7 +56,8 @@ const getBaseNavItemContentStyles = ({
|
|
|
56
56
|
isDisabled,
|
|
57
57
|
isSelected,
|
|
58
58
|
odysseyDesignTokens,
|
|
59
|
-
sideNavContrastColors
|
|
59
|
+
sideNavContrastColors,
|
|
60
|
+
isActiveDropTarget
|
|
60
61
|
}) => ({
|
|
61
62
|
display: "flex",
|
|
62
63
|
alignItems: "center",
|
|
@@ -69,6 +70,9 @@ const getBaseNavItemContentStyles = ({
|
|
|
69
70
|
borderRadius: odysseyDesignTokens.BorderRadiusMain,
|
|
70
71
|
transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,
|
|
71
72
|
cursor: "pointer",
|
|
73
|
+
...(isActiveDropTarget && {
|
|
74
|
+
backgroundColor: sideNavContrastColors?.itemHoverBackgroundColor || odysseyDesignTokens.HueNeutral50
|
|
75
|
+
}),
|
|
72
76
|
"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &": {
|
|
73
77
|
textDecoration: "none",
|
|
74
78
|
backgroundColor: sideNavContrastColors?.itemHoverBackgroundColor || odysseyDesignTokens.HueNeutral50,
|
|
@@ -111,19 +115,21 @@ const getNavItemContentStyles = ({
|
|
|
111
115
|
});
|
|
112
116
|
exports.getNavItemContentStyles = getNavItemContentStyles;
|
|
113
117
|
const NavItemContentContainer = (0, _styled.default)("div", {
|
|
114
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop != "contextValue" && prop !== "isDisabled" && prop !== "sideNavContrastColors" && prop !== "isSelected"
|
|
118
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop != "contextValue" && prop !== "isDisabled" && prop !== "sideNavContrastColors" && prop !== "isSelected" && prop !== "isActiveDropTarget"
|
|
115
119
|
})(({
|
|
116
120
|
isDisabled,
|
|
117
121
|
isSelected,
|
|
118
122
|
contextValue,
|
|
119
123
|
odysseyDesignTokens,
|
|
120
|
-
sideNavContrastColors
|
|
124
|
+
sideNavContrastColors,
|
|
125
|
+
isActiveDropTarget
|
|
121
126
|
}) => ({
|
|
122
127
|
...getBaseNavItemContentStyles({
|
|
123
128
|
isDisabled,
|
|
124
129
|
isSelected,
|
|
125
130
|
odysseyDesignTokens,
|
|
126
|
-
sideNavContrastColors
|
|
131
|
+
sideNavContrastColors,
|
|
132
|
+
isActiveDropTarget
|
|
127
133
|
}),
|
|
128
134
|
...getNavItemContentStyles({
|
|
129
135
|
odysseyDesignTokens,
|
|
@@ -131,19 +137,21 @@ const NavItemContentContainer = (0, _styled.default)("div", {
|
|
|
131
137
|
})
|
|
132
138
|
}));
|
|
133
139
|
const StyledNavItemLink = (0, _styled.default)(_Link2.default, {
|
|
134
|
-
shouldForwardProp: prop => prop != "contextValue" && prop !== "isDisabled" && prop !== "isSelected" && prop !== "odysseyDesignTokens" && prop !== "sideNavContrastColors"
|
|
140
|
+
shouldForwardProp: prop => prop != "contextValue" && prop !== "isDisabled" && prop !== "isSelected" && prop !== "odysseyDesignTokens" && prop !== "sideNavContrastColors" && prop !== "isActiveDropTarget"
|
|
135
141
|
})(({
|
|
136
142
|
isDisabled,
|
|
137
143
|
isSelected,
|
|
138
144
|
contextValue,
|
|
139
145
|
odysseyDesignTokens,
|
|
140
|
-
sideNavContrastColors
|
|
146
|
+
sideNavContrastColors,
|
|
147
|
+
isActiveDropTarget
|
|
141
148
|
}) => ({
|
|
142
149
|
...getBaseNavItemContentStyles({
|
|
143
150
|
isDisabled,
|
|
144
151
|
isSelected,
|
|
145
152
|
odysseyDesignTokens,
|
|
146
|
-
sideNavContrastColors
|
|
153
|
+
sideNavContrastColors,
|
|
154
|
+
isActiveDropTarget
|
|
147
155
|
}),
|
|
148
156
|
...getNavItemContentStyles({
|
|
149
157
|
odysseyDesignTokens,
|
|
@@ -164,12 +172,14 @@ const SideNavItemContent = ({
|
|
|
164
172
|
isDisabled,
|
|
165
173
|
isSelected,
|
|
166
174
|
scrollRef,
|
|
167
|
-
onItemSelected
|
|
175
|
+
onItemSelected,
|
|
176
|
+
translate
|
|
168
177
|
}) => {
|
|
169
178
|
const uiShellContext = (0, _UiShellProvider.useUiShellContext)();
|
|
170
179
|
const sidenavItemContentContext = (0, _SideNavItemContentContext.useSideNavItemContent)();
|
|
171
180
|
const contextValue = (0, _react.useMemo)(() => sidenavItemContentContext, [sidenavItemContentContext]);
|
|
172
181
|
const odysseyDesignTokens = (0, _OdysseyDesignTokensContext.useOdysseyDesignTokens)();
|
|
182
|
+
const [isActiveDropTarget, setIsActiveDropTarget] = (0, _react.useState)(false);
|
|
173
183
|
const localScrollRef = (0, _react.useRef)(null);
|
|
174
184
|
(0, _react.useImperativeHandle)(scrollRef, () => {
|
|
175
185
|
return {
|
|
@@ -198,19 +208,31 @@ const SideNavItemContent = ({
|
|
|
198
208
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
199
209
|
ref: localScrollRef,
|
|
200
210
|
sideNavContrastColors: uiShellContext?.sideNavContrastColors,
|
|
211
|
+
onDragOver: () => {
|
|
212
|
+
setIsActiveDropTarget(true);
|
|
213
|
+
},
|
|
214
|
+
onDragLeave: () => {
|
|
215
|
+
setIsActiveDropTarget(false);
|
|
216
|
+
},
|
|
217
|
+
onDrop: () => {
|
|
218
|
+
setIsActiveDropTarget(false);
|
|
219
|
+
},
|
|
201
220
|
children: isDisabled ? (0, _jsxRuntime.jsx)(NavItemContentContainer, {
|
|
202
221
|
contextValue: contextValue,
|
|
203
222
|
isDisabled: isDisabled,
|
|
204
223
|
isSelected: isSelected,
|
|
205
224
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
206
225
|
sideNavContrastColors: uiShellContext?.sideNavContrastColors,
|
|
226
|
+
isActiveDropTarget: false,
|
|
227
|
+
"data-se": "tb--sidenav-text-container",
|
|
207
228
|
children: (0, _jsxRuntime.jsx)(_SideNavItemLinkContent.SideNavItemLinkContent, {
|
|
208
229
|
count: count,
|
|
209
230
|
label: label,
|
|
210
231
|
startIcon: startIcon,
|
|
211
232
|
endIcon: endIcon,
|
|
212
233
|
statusLabel: statusLabel,
|
|
213
|
-
severity: severity
|
|
234
|
+
severity: severity,
|
|
235
|
+
translate: translate
|
|
214
236
|
})
|
|
215
237
|
}) : !href ? (0, _jsxRuntime.jsx)(NavItemContentContainer, {
|
|
216
238
|
contextValue: contextValue,
|
|
@@ -222,13 +244,16 @@ const SideNavItemContent = ({
|
|
|
222
244
|
role: "button",
|
|
223
245
|
sideNavContrastColors: uiShellContext?.sideNavContrastColors,
|
|
224
246
|
tabIndex: 0,
|
|
247
|
+
isActiveDropTarget: isActiveDropTarget,
|
|
248
|
+
"data-se": "tb--sidenav-text-container",
|
|
225
249
|
children: (0, _jsxRuntime.jsx)(_SideNavItemLinkContent.SideNavItemLinkContent, {
|
|
226
250
|
count: count,
|
|
227
251
|
label: label,
|
|
228
252
|
startIcon: startIcon,
|
|
229
253
|
endIcon: endIcon,
|
|
230
254
|
statusLabel: statusLabel,
|
|
231
|
-
severity: severity
|
|
255
|
+
severity: severity,
|
|
256
|
+
translate: translate
|
|
232
257
|
})
|
|
233
258
|
}) : (0, _jsxRuntime.jsxs)(StyledNavItemLink, {
|
|
234
259
|
contextValue: contextValue,
|
|
@@ -239,13 +264,16 @@ const SideNavItemContent = ({
|
|
|
239
264
|
onClick: itemClickHandler,
|
|
240
265
|
sideNavContrastColors: uiShellContext?.sideNavContrastColors,
|
|
241
266
|
target: target,
|
|
267
|
+
isActiveDropTarget: isActiveDropTarget,
|
|
268
|
+
"data-se": "tb--sidenav-text-container",
|
|
242
269
|
children: [(0, _jsxRuntime.jsx)(_SideNavItemLinkContent.SideNavItemLinkContent, {
|
|
243
270
|
count: count,
|
|
244
271
|
label: label,
|
|
245
272
|
startIcon: startIcon,
|
|
246
273
|
endIcon: endIcon,
|
|
247
274
|
statusLabel: statusLabel,
|
|
248
|
-
severity: severity
|
|
275
|
+
severity: severity,
|
|
276
|
+
translate: translate
|
|
249
277
|
}), target === "_blank" && (0, _jsxRuntime.jsx)("span", {
|
|
250
278
|
className: "Link-indicator",
|
|
251
279
|
role: "presentation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItemContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_SideNavItemLinkContent","_SideNavItemContentContext","_index","_UiShellProvider","_jsxRuntime","e","__esModule","default","StyledSideNavListItem","exports","styled","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","depth","Spacing6","isCompact","Spacing1","NavItemContentContainer","StyledNavItemLink","_Link2","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","uiShellContext","useUiShellContext","sidenavItemContentContext","useSideNavItemContent","useMemo","useOdysseyDesignTokens","localScrollRef","useRef","useImperativeHandle","current","itemClickHandler","useCallback","event","sideNavItemContentKeyHandler","key","preventDefault","jsx","undefined","disabled","ref","children","SideNavItemLinkContent","onKeyDown","role","tabIndex","jsxs","className","ExternalLinkIcon","MemoizedSideNavItemContent","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.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 {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\nimport type { SideNavItem } from \"./types.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n odysseyDesignTokens: DesignTokens;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n disabled?: boolean;\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n}: {\n isSelected?: boolean;\n isDisabled?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n}: {\n odysseyDesignTokens: DesignTokens;\n contextValue: SideNavItemContentContextValue;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${odysseyDesignTokens.Spacing6})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\",\n})<{\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n isSelected?: boolean;\n isDisabled?: boolean;\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n isSelected?: boolean;\n isDisabled?: boolean;\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n> & {\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n onItemSelected?: (selectedItemId: string) => void;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n aria-current={isSelected ? \"page\" : undefined}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n isDisabled={isDisabled}\n isSelected={isSelected}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SideNavItemContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_SideNavItemLinkContent","_SideNavItemContentContext","_index","_UiShellProvider","_jsxRuntime","e","__esModule","default","StyledSideNavListItem","exports","styled","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","isActiveDropTarget","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","depth","Spacing6","isCompact","Spacing1","NavItemContentContainer","StyledNavItemLink","_Link2","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","translate","uiShellContext","useUiShellContext","sidenavItemContentContext","useSideNavItemContent","useMemo","useOdysseyDesignTokens","setIsActiveDropTarget","useState","localScrollRef","useRef","useImperativeHandle","current","itemClickHandler","useCallback","event","sideNavItemContentKeyHandler","key","preventDefault","jsx","undefined","disabled","ref","onDragOver","onDragLeave","onDrop","children","SideNavItemLinkContent","onKeyDown","role","tabIndex","jsxs","className","ExternalLinkIcon","MemoizedSideNavItemContent","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.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 {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\nimport type { SideNavItem } from \"./types.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n odysseyDesignTokens: DesignTokens;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n disabled?: boolean;\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n}: {\n isSelected?: boolean;\n isDisabled?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n isActiveDropTarget: boolean;\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n ...(isActiveDropTarget && {\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n }),\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n}: {\n odysseyDesignTokens: DesignTokens;\n contextValue: SideNavItemContentContextValue;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${odysseyDesignTokens.Spacing6})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n isSelected?: boolean;\n isDisabled?: boolean;\n isActiveDropTarget: boolean;\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n isSelected?: boolean;\n isDisabled?: boolean;\n isActiveDropTarget: boolean;\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n | \"translate\"\n> & {\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n onItemSelected?: (selectedItemId: string) => void;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const [isActiveDropTarget, setIsActiveDropTarget] = useState(false);\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n aria-current={isSelected ? \"page\" : undefined}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n onDragOver={() => {\n setIsActiveDropTarget(true);\n }}\n onDragLeave={() => {\n setIsActiveDropTarget(false);\n }}\n onDrop={() => {\n setIsActiveDropTarget(false);\n }}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n isActiveDropTarget={false}\n data-se=\"tb--sidenav-text-container\"\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n isDisabled={isDisabled}\n isSelected={isSelected}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n isActiveDropTarget={isActiveDropTarget}\n data-se=\"tb--sidenav-text-container\"\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n isActiveDropTarget={isActiveDropTarget}\n data-se=\"tb--sidenav-text-container\"\n >\n <SideNavItemLinkContent\n count={count}\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n translate={translate}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,7 +43,8 @@ const SideNavItemLinkContent = ({
|
|
|
43
43
|
startIcon,
|
|
44
44
|
endIcon,
|
|
45
45
|
severity,
|
|
46
|
-
statusLabel
|
|
46
|
+
statusLabel,
|
|
47
|
+
translate
|
|
47
48
|
}) => {
|
|
48
49
|
const odysseyDesignTokens = (0, _OdysseyDesignTokensContext.useOdysseyDesignTokens)();
|
|
49
50
|
const sideNavItemContentStyles = (0, _react.useMemo)(() => ({
|
|
@@ -56,6 +57,7 @@ const SideNavItemLinkContent = ({
|
|
|
56
57
|
children: [startIcon && startIcon, (0, _jsxRuntime.jsxs)(SideNavItemLabelContainer, {
|
|
57
58
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
58
59
|
isIconVisible: Boolean(startIcon),
|
|
60
|
+
translate: translate,
|
|
59
61
|
children: [label, !count && severity && (0, _jsxRuntime.jsx)(_Box.Box, {
|
|
60
62
|
sx: sideNavItemContentStyles,
|
|
61
63
|
children: severity && (0, _jsxRuntime.jsx)(_Status.Status, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItemLinkContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_Box","_Status","_Badge","_jsxRuntime","e","__esModule","default","SideNavItemLabelContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","display","flexWrap","alignItems","fontSize","TypographySizeBody","marginInlineStart","Spacing3","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","useOdysseyDesignTokens","sideNavItemContentStyles","useMemo","gap","Spacing1","Spacing2","jsxs","Fragment","children","Boolean","jsx","Box","sx","Status","Badge","badgeContent","MemoizedSideNavItemLinkContent","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.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, ReactNode, useMemo } from \"react\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Box } from \"../../Box.js\";\nimport { Status } from \"../../Status.js\";\nimport type { SideNavItem } from \"./types.js\";\nimport { Badge } from \"../../Badge.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isIconVisible: boolean;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n}: Pick<\n SideNavItem,\n \"count\"
|
|
1
|
+
{"version":3,"file":"SideNavItemLinkContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_Box","_Status","_Badge","_jsxRuntime","e","__esModule","default","SideNavItemLabelContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","display","flexWrap","alignItems","fontSize","TypographySizeBody","marginInlineStart","Spacing3","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","useOdysseyDesignTokens","sideNavItemContentStyles","useMemo","gap","Spacing1","Spacing2","jsxs","Fragment","children","Boolean","jsx","Box","sx","Status","Badge","badgeContent","MemoizedSideNavItemLinkContent","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.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, ReactNode, useMemo } from \"react\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Box } from \"../../Box.js\";\nimport { Status } from \"../../Status.js\";\nimport type { SideNavItem } from \"./types.js\";\nimport { Badge } from \"../../Badge.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isIconVisible: boolean;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"label\"\n | \"startIcon\"\n | \"endIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"translate\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing1,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isIconVisible={Boolean(startIcon)}\n translate={translate}\n >\n {label}\n {!count && severity && (\n <Box sx={sideNavItemContentStyles}>\n {severity && (\n <Status severity={severity} label={statusLabel || \"\"} />\n )}\n </Box>\n )}\n {!severity && count && (\n <Box sx={sideNavItemContentStyles}>\n {count && <Badge badgeContent={count} />}\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,10 +21,17 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
21
21
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
const StyledLogoContainer = (0, _styled.default)("div"
|
|
24
|
+
const StyledLogoContainer = (0, _styled.default)("div", {
|
|
25
|
+
shouldForwardProp: prop => prop !== "isLogoInteractive"
|
|
26
|
+
})(({
|
|
27
|
+
isLogoInteractive
|
|
28
|
+
}) => ({
|
|
25
29
|
display: "flex",
|
|
26
30
|
alignItems: "center",
|
|
27
|
-
height: "100%"
|
|
31
|
+
height: "100%",
|
|
32
|
+
...(isLogoInteractive && {
|
|
33
|
+
cursor: "pointer"
|
|
34
|
+
})
|
|
28
35
|
}));
|
|
29
36
|
const StyledLogoLink = (0, _styled.default)("a")(() => ({
|
|
30
37
|
display: "flex",
|
|
@@ -53,8 +60,13 @@ const SideNavLogo = ({
|
|
|
53
60
|
"aria-label": optionalProps.ariaLabel,
|
|
54
61
|
"data-se": "sidenav-header-logo",
|
|
55
62
|
href: optionalProps.href,
|
|
63
|
+
onClick: optionalProps.onClick,
|
|
56
64
|
children: logo
|
|
57
65
|
}) : (0, _jsxRuntime.jsx)(StyledLogoContainer, {
|
|
66
|
+
"aria-label": optionalProps.ariaLabel,
|
|
67
|
+
"data-se": "sidenav-header-logo",
|
|
68
|
+
isLogoInteractive: Boolean(optionalProps.onClick) || optionalProps.href,
|
|
69
|
+
onClick: optionalProps.onClick,
|
|
58
70
|
role: "presentation",
|
|
59
71
|
children: logo
|
|
60
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavLogo.cjs","names":["_react","require","_styled","_interopRequireDefault","_OktaLogo","_jsxRuntime","e","__esModule","default","StyledLogoContainer","styled","display","alignItems","height","StyledLogoLink","SideNavLogo","imageAltText","logoComponent","imageUrl","optionalProps","logo","useMemo","jsx","src","alt","OktaLogo","ariaLabel","href","children","role","MemoizedSideNavLogo","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavLogo.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 { memo, useMemo } from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { OktaLogo } from \"./OktaLogo.js\";\nimport { SideNavLogoProps } from \"./types.js\";\n\nconst StyledLogoContainer = styled(\"div\")(() => ({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n}));\n\nconst StyledLogoLink = styled(\"a\")(() => ({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n}));\n\nconst SideNavLogo = ({\n imageAltText,\n logoComponent,\n imageUrl,\n ...optionalProps\n}: SideNavLogoProps) => {\n const logo = useMemo(() => {\n if (logoComponent) {\n return logoComponent;\n }\n\n if (imageAltText && imageUrl) {\n return <img src={imageUrl} alt={imageAltText} />;\n }\n\n return <OktaLogo />;\n }, [imageAltText, logoComponent, imageUrl]);\n\n return \"href\" in optionalProps && \"ariaLabel\" in optionalProps ? (\n <StyledLogoLink\n aria-label={optionalProps.ariaLabel}\n data-se=\"sidenav-header-logo\"\n href={optionalProps.href}\n >\n {logo}\n </StyledLogoLink>\n ) : (\n <StyledLogoContainer role=\"presentation\"
|
|
1
|
+
{"version":3,"file":"SideNavLogo.cjs","names":["_react","require","_styled","_interopRequireDefault","_OktaLogo","_jsxRuntime","e","__esModule","default","StyledLogoContainer","styled","shouldForwardProp","prop","isLogoInteractive","display","alignItems","height","cursor","StyledLogoLink","SideNavLogo","imageAltText","logoComponent","imageUrl","optionalProps","logo","useMemo","jsx","src","alt","OktaLogo","ariaLabel","href","onClick","children","Boolean","role","MemoizedSideNavLogo","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavLogo.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 { memo, useMemo } from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { OktaLogo } from \"./OktaLogo.js\";\nimport { SideNavLogoProps } from \"./types.js\";\n\nconst StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"isLogoInteractive\",\n})<{\n isLogoInteractive?: boolean;\n}>(({ isLogoInteractive }) => ({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n ...(isLogoInteractive && {\n cursor: \"pointer\",\n }),\n}));\n\nconst StyledLogoLink = styled(\"a\")(() => ({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n}));\n\nconst SideNavLogo = ({\n imageAltText,\n logoComponent,\n imageUrl,\n ...optionalProps\n}: SideNavLogoProps) => {\n const logo = useMemo(() => {\n if (logoComponent) {\n return logoComponent;\n }\n\n if (imageAltText && imageUrl) {\n return <img src={imageUrl} alt={imageAltText} />;\n }\n\n return <OktaLogo />;\n }, [imageAltText, logoComponent, imageUrl]);\n\n return \"href\" in optionalProps && \"ariaLabel\" in optionalProps ? (\n <StyledLogoLink\n aria-label={optionalProps.ariaLabel}\n data-se=\"sidenav-header-logo\"\n href={optionalProps.href}\n onClick={optionalProps.onClick}\n >\n {logo}\n </StyledLogoLink>\n ) : (\n <StyledLogoContainer\n aria-label={optionalProps.ariaLabel}\n data-se=\"sidenav-header-logo\"\n isLogoInteractive={Boolean(optionalProps.onClick) || optionalProps.href}\n onClick={optionalProps.onClick}\n role=\"presentation\"\n >\n {logo}\n </StyledLogoContainer>\n );\n};\n\nconst MemoizedSideNavLogo = memo(SideNavLogo);\nMemoizedSideNavLogo.displayName = \"SideNavLogo\";\n\nexport { MemoizedSideNavLogo as SideNavLogo };\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAAyC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAfzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA,MAAMG,mBAAmB,GAAG,IAAAC,eAAM,EAAC,KAAK,EAAE;EACxCC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAkB,CAAC,MAAM;EAC7BC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE,MAAM;EACd,IAAIH,iBAAiB,IAAI;IACvBI,MAAM,EAAE;EACV,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAMC,cAAc,GAAG,IAAAR,eAAM,EAAC,GAAG,CAAC,CAAC,OAAO;EACxCI,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE;AACV,CAAC,CAAC,CAAC;AAEH,MAAMG,WAAW,GAAGA,CAAC;EACnBC,YAAY;EACZC,aAAa;EACbC,QAAQ;EACR,GAAGC;AACa,CAAC,KAAK;EACtB,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAM;IACzB,IAAIJ,aAAa,EAAE;MACjB,OAAOA,aAAa;IACtB;IAEA,IAAID,YAAY,IAAIE,QAAQ,EAAE;MAC5B,OAAO,IAAAjB,WAAA,CAAAqB,GAAA;QAAKC,GAAG,EAAEL,QAAS;QAACM,GAAG,EAAER;MAAa,CAAE,CAAC;IAClD;IAEA,OAAO,IAAAf,WAAA,CAAAqB,GAAA,EAACtB,SAAA,CAAAyB,QAAQ,IAAE,CAAC;EACrB,CAAC,EAAE,CAACT,YAAY,EAAEC,aAAa,EAAEC,QAAQ,CAAC,CAAC;EAE3C,OAAO,MAAM,IAAIC,aAAa,IAAI,WAAW,IAAIA,aAAa,GAC5D,IAAAlB,WAAA,CAAAqB,GAAA,EAACR,cAAc;IACb,cAAYK,aAAa,CAACO,SAAU;IACpC,WAAQ,qBAAqB;IAC7BC,IAAI,EAAER,aAAa,CAACQ,IAAK;IACzBC,OAAO,EAAET,aAAa,CAACS,OAAQ;IAAAC,QAAA,EAE9BT;EAAI,CACS,CAAC,GAEjB,IAAAnB,WAAA,CAAAqB,GAAA,EAACjB,mBAAmB;IAClB,cAAYc,aAAa,CAACO,SAAU;IACpC,WAAQ,qBAAqB;IAC7BjB,iBAAiB,EAAEqB,OAAO,CAACX,aAAa,CAACS,OAAO,CAAC,IAAIT,aAAa,CAACQ,IAAK;IACxEC,OAAO,EAAET,aAAa,CAACS,OAAQ;IAC/BG,IAAI,EAAC,cAAc;IAAAF,QAAA,EAElBT;EAAI,CACc,CACtB;AACH,CAAC;AAED,MAAMY,mBAAmB,GAAAC,OAAA,CAAAlB,WAAA,GAAG,IAAAmB,WAAI,EAACnB,WAAW,CAAC;AAC7CiB,mBAAmB,CAACG,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ var _MuiPropsContext = require("../../MuiPropsContext.cjs");
|
|
|
13
13
|
var _OdysseyDesignTokensContext = require("../../OdysseyDesignTokensContext.cjs");
|
|
14
14
|
var _Tooltip = require("../../Tooltip.cjs");
|
|
15
15
|
var _UiShellProvider = require("../../ui-shell/UiShellProvider.cjs");
|
|
16
|
+
var _uiShellSharedConstants = require("../uiShellSharedConstants.cjs");
|
|
16
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
19
|
/*!
|
|
@@ -39,7 +40,7 @@ const StyledToggleButton = (0, _styled.default)(_Button2.default, {
|
|
|
39
40
|
width: odysseyDesignTokens.Spacing6,
|
|
40
41
|
height: odysseyDesignTokens.Spacing6,
|
|
41
42
|
border: 0,
|
|
42
|
-
zIndex:
|
|
43
|
+
zIndex: _uiShellSharedConstants.UI_SHELL_OVERLAY_Z_INDEX,
|
|
43
44
|
"&:focus-visible": {
|
|
44
45
|
boxShadow: `inset 0 0 0 2px ${odysseyDesignTokens.PalettePrimaryMain}`,
|
|
45
46
|
outline: "none"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavToggleButton.cjs","names":["_react","require","_styled","_interopRequireDefault","_reactI18next","_createContrastColors","_MuiPropsContext","_OdysseyDesignTokensContext","_Tooltip","_UiShellProvider","_jsxRuntime","e","__esModule","default","StyledToggleButton","styled","_Button2","shouldForwardProp","prop","isSideNavCollapsed","odysseyDesignTokens","toggleContrastColors","backgroundColor","position","width","Spacing6","height","border","zIndex","boxShadow","PalettePrimaryMain","outline","animation","TransitionDurationMain","animationFillMode","transform","span","top","left","Spacing4","HueNeutral600","transition","fontColor","SideNavToggleButton","ariaControls","buttonRef","id","onClick","tabIndex","useOdysseyDesignTokens","t","useTranslation","uiShellContext","useUiShellContext","localButtonRef","useRef","useMemo","hasNonStandardAppBackgroundColor","appBackgroundColor","HueNeutralWhite","HueNeutral50","generateContrastColors","undefined","useImperativeHandle","focus","current","toggleLabel","renderButton","useCallback","muiProps","jsxs","ref","element","variant","children","jsx","Tooltip","ariaType","placement","text","MuiPropsContext","Consumer","MemoizedSideNavToggleButton","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavToggleButton.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 { Button as MuiButton } from \"@mui/material\";\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material\";\nimport {\n HTMLAttributes,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ContrastColors,\n generateContrastColors,\n} from \"../../createContrastColors.js\";\nimport { FocusHandle } from \"../../inputUtils.js\";\nimport { MuiPropsContext, MuiPropsContextType } from \"../../MuiPropsContext.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Tooltip } from \"../../Tooltip.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\n\nconst StyledToggleButton = styled(MuiButton, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"toggleContrastColors\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n toggleContrastColors?: ContrastColors;\n}>(({ isSideNavCollapsed, odysseyDesignTokens, toggleContrastColors }) => ({\n backgroundColor: \"transparent\",\n position: \"relative\",\n width: odysseyDesignTokens.Spacing6,\n height: odysseyDesignTokens.Spacing6,\n border: 0,\n zIndex: 2,\n\n \"&:focus-visible\": {\n boxShadow: `inset 0 0 0 2px ${odysseyDesignTokens.PalettePrimaryMain}`,\n outline: \"none\",\n },\n\n \"&:hover, &:focus-visible\": {\n backgroundColor: \"transparent\",\n\n \"#lineOne\": {\n animation: `lineOne-animate-to-collapse ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineOne-animate-to-collapse\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(-90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -27%, 0) rotate(-45deg) scaleY(.75)\",\n },\n },\n },\n\n \"#lineTwo\": {\n animation: `lineTwo-animate-to-collapse ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineTwo-animate-to-collapse\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(-90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -73%, 0) rotate(-135deg) scaleY(.75)\",\n },\n },\n },\n\n ...(isSideNavCollapsed && {\n \"#lineOne\": {\n animation: `lineOne-animate-to-expand ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineOne-animate-to-expand\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -73%, 0) rotate(135deg) scaleY(.75)\",\n },\n },\n },\n\n \"#lineTwo\": {\n animation: `lineTwo-animate-to-expand ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineTwo-animate-to-expand\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -27%, 0) rotate(45deg) scaleY(.75)\",\n },\n },\n },\n }),\n },\n\n span: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"2px\",\n height: odysseyDesignTokens.Spacing4,\n backgroundColor: odysseyDesignTokens.HueNeutral600,\n transform: \"translate3d(-50%, -50%, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(toggleContrastColors?.fontColor && {\n backgroundColor: toggleContrastColors.fontColor,\n }),\n },\n}));\n\nexport type SideNavToggleButtonProps = {\n /**\n * The ref forwarded to the Button\n */\n buttonRef?: React.RefObject<FocusHandle>;\n /**\n * The `id` of the item this button controls\n */\n ariaControls: string;\n /**\n * The ID of the Button\n */\n id?: string;\n isSideNavCollapsed: boolean;\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n /**\n * The click event handler for the Button\n */\n onClick?: MuiButtonProps[\"onClick\"];\n onKeyDown?: MuiButtonProps[\"onKeyDown\"];\n};\n\nconst SideNavToggleButton = ({\n ariaControls,\n buttonRef,\n id,\n isSideNavCollapsed,\n onClick,\n tabIndex,\n}: SideNavToggleButtonProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const uiShellContext = useUiShellContext();\n\n const localButtonRef = useRef<HTMLButtonElement | HTMLAnchorElement>(null);\n\n const toggleContrastColors = useMemo(() => {\n const hasNonStandardAppBackgroundColor =\n uiShellContext?.appBackgroundColor &&\n uiShellContext?.appBackgroundColor !==\n odysseyDesignTokens.HueNeutralWhite &&\n uiShellContext?.appBackgroundColor !== odysseyDesignTokens.HueNeutral50;\n\n if (hasNonStandardAppBackgroundColor) {\n return generateContrastColors(\n uiShellContext.appBackgroundColor,\n odysseyDesignTokens,\n );\n }\n\n return undefined;\n }, [odysseyDesignTokens, uiShellContext]);\n\n useImperativeHandle(\n buttonRef,\n () => ({\n focus: () => {\n localButtonRef.current?.focus();\n },\n }),\n [],\n );\n\n const toggleLabel = useMemo(\n () =>\n isSideNavCollapsed\n ? t(\"sidenav.toggle.expand\")\n : t(\"sidenav.toggle.collapse\"),\n [isSideNavCollapsed, t],\n );\n\n const renderButton = useCallback(\n (muiProps: MuiPropsContextType) => {\n return (\n <StyledToggleButton\n {...muiProps}\n aria-controls={ariaControls}\n aria-expanded={!isSideNavCollapsed}\n aria-label={toggleLabel}\n data-se=\"sidenav-toggle-button\"\n data-sidenav-toggle={true}\n id={id}\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={onClick}\n ref={(element) => {\n if (element) {\n (\n localButtonRef as React.MutableRefObject<HTMLButtonElement>\n ).current = element;\n //@ts-expect-error ref is not an optional prop on the props context type\n muiProps?.ref?.(element);\n }\n }}\n tabIndex={tabIndex}\n toggleContrastColors={toggleContrastColors}\n variant=\"floating\"\n >\n <span id=\"lineOne\" />\n <span id=\"lineTwo\" />\n </StyledToggleButton>\n );\n },\n [\n ariaControls,\n id,\n isSideNavCollapsed,\n odysseyDesignTokens,\n onClick,\n tabIndex,\n toggleContrastColors,\n toggleLabel,\n ],\n );\n\n return (\n <Tooltip ariaType=\"description\" placement=\"right\" text={toggleLabel}>\n <MuiPropsContext.Consumer>{renderButton}</MuiPropsContext.Consumer>\n </Tooltip>\n );\n};\n\nconst MemoizedSideNavToggleButton = memo(SideNavToggleButton);\nMemoizedSideNavToggleButton.displayName = \"SideNavToggleButton\";\n\nexport { MemoizedSideNavToggleButton as SideNavToggleButton };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SideNavToggleButton.cjs","names":["_react","require","_styled","_interopRequireDefault","_reactI18next","_createContrastColors","_MuiPropsContext","_OdysseyDesignTokensContext","_Tooltip","_UiShellProvider","_uiShellSharedConstants","_jsxRuntime","e","__esModule","default","StyledToggleButton","styled","_Button2","shouldForwardProp","prop","isSideNavCollapsed","odysseyDesignTokens","toggleContrastColors","backgroundColor","position","width","Spacing6","height","border","zIndex","UI_SHELL_OVERLAY_Z_INDEX","boxShadow","PalettePrimaryMain","outline","animation","TransitionDurationMain","animationFillMode","transform","span","top","left","Spacing4","HueNeutral600","transition","fontColor","SideNavToggleButton","ariaControls","buttonRef","id","onClick","tabIndex","useOdysseyDesignTokens","t","useTranslation","uiShellContext","useUiShellContext","localButtonRef","useRef","useMemo","hasNonStandardAppBackgroundColor","appBackgroundColor","HueNeutralWhite","HueNeutral50","generateContrastColors","undefined","useImperativeHandle","focus","current","toggleLabel","renderButton","useCallback","muiProps","jsxs","ref","element","variant","children","jsx","Tooltip","ariaType","placement","text","MuiPropsContext","Consumer","MemoizedSideNavToggleButton","exports","memo","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavToggleButton.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 { Button as MuiButton } from \"@mui/material\";\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material\";\nimport {\n HTMLAttributes,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ContrastColors,\n generateContrastColors,\n} from \"../../createContrastColors.js\";\nimport { FocusHandle } from \"../../inputUtils.js\";\nimport { MuiPropsContext, MuiPropsContextType } from \"../../MuiPropsContext.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Tooltip } from \"../../Tooltip.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\nimport { UI_SHELL_OVERLAY_Z_INDEX } from \"../uiShellSharedConstants.js\";\n\nconst StyledToggleButton = styled(MuiButton, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"toggleContrastColors\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n toggleContrastColors?: ContrastColors;\n}>(({ isSideNavCollapsed, odysseyDesignTokens, toggleContrastColors }) => ({\n backgroundColor: \"transparent\",\n position: \"relative\",\n width: odysseyDesignTokens.Spacing6,\n height: odysseyDesignTokens.Spacing6,\n border: 0,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n\n \"&:focus-visible\": {\n boxShadow: `inset 0 0 0 2px ${odysseyDesignTokens.PalettePrimaryMain}`,\n outline: \"none\",\n },\n\n \"&:hover, &:focus-visible\": {\n backgroundColor: \"transparent\",\n\n \"#lineOne\": {\n animation: `lineOne-animate-to-collapse ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineOne-animate-to-collapse\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(-90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -27%, 0) rotate(-45deg) scaleY(.75)\",\n },\n },\n },\n\n \"#lineTwo\": {\n animation: `lineTwo-animate-to-collapse ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineTwo-animate-to-collapse\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(-90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -73%, 0) rotate(-135deg) scaleY(.75)\",\n },\n },\n },\n\n ...(isSideNavCollapsed && {\n \"#lineOne\": {\n animation: `lineOne-animate-to-expand ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineOne-animate-to-expand\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -73%, 0) rotate(135deg) scaleY(.75)\",\n },\n },\n },\n\n \"#lineTwo\": {\n animation: `lineTwo-animate-to-expand ${odysseyDesignTokens.TransitionDurationMain} cubic-bezier(0, 0, 0.2, 1)`,\n animationFillMode: \"forwards\",\n \"@keyframes lineTwo-animate-to-expand\": {\n \"0%\": {\n transform: \"translate3d(-50%, -50%, 0)\",\n },\n \"50%\": {\n transform: \"translate3d(-50%, -50%, 0) rotate(90deg) scaleY(.75)\",\n },\n \"100%\": {\n transform: \"translate3d(-50%, -27%, 0) rotate(45deg) scaleY(.75)\",\n },\n },\n },\n }),\n },\n\n span: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"2px\",\n height: odysseyDesignTokens.Spacing4,\n backgroundColor: odysseyDesignTokens.HueNeutral600,\n transform: \"translate3d(-50%, -50%, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(toggleContrastColors?.fontColor && {\n backgroundColor: toggleContrastColors.fontColor,\n }),\n },\n}));\n\nexport type SideNavToggleButtonProps = {\n /**\n * The ref forwarded to the Button\n */\n buttonRef?: React.RefObject<FocusHandle>;\n /**\n * The `id` of the item this button controls\n */\n ariaControls: string;\n /**\n * The ID of the Button\n */\n id?: string;\n isSideNavCollapsed: boolean;\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n /**\n * The click event handler for the Button\n */\n onClick?: MuiButtonProps[\"onClick\"];\n onKeyDown?: MuiButtonProps[\"onKeyDown\"];\n};\n\nconst SideNavToggleButton = ({\n ariaControls,\n buttonRef,\n id,\n isSideNavCollapsed,\n onClick,\n tabIndex,\n}: SideNavToggleButtonProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const uiShellContext = useUiShellContext();\n\n const localButtonRef = useRef<HTMLButtonElement | HTMLAnchorElement>(null);\n\n const toggleContrastColors = useMemo(() => {\n const hasNonStandardAppBackgroundColor =\n uiShellContext?.appBackgroundColor &&\n uiShellContext?.appBackgroundColor !==\n odysseyDesignTokens.HueNeutralWhite &&\n uiShellContext?.appBackgroundColor !== odysseyDesignTokens.HueNeutral50;\n\n if (hasNonStandardAppBackgroundColor) {\n return generateContrastColors(\n uiShellContext.appBackgroundColor,\n odysseyDesignTokens,\n );\n }\n\n return undefined;\n }, [odysseyDesignTokens, uiShellContext]);\n\n useImperativeHandle(\n buttonRef,\n () => ({\n focus: () => {\n localButtonRef.current?.focus();\n },\n }),\n [],\n );\n\n const toggleLabel = useMemo(\n () =>\n isSideNavCollapsed\n ? t(\"sidenav.toggle.expand\")\n : t(\"sidenav.toggle.collapse\"),\n [isSideNavCollapsed, t],\n );\n\n const renderButton = useCallback(\n (muiProps: MuiPropsContextType) => {\n return (\n <StyledToggleButton\n {...muiProps}\n aria-controls={ariaControls}\n aria-expanded={!isSideNavCollapsed}\n aria-label={toggleLabel}\n data-se=\"sidenav-toggle-button\"\n data-sidenav-toggle={true}\n id={id}\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={onClick}\n ref={(element) => {\n if (element) {\n (\n localButtonRef as React.MutableRefObject<HTMLButtonElement>\n ).current = element;\n //@ts-expect-error ref is not an optional prop on the props context type\n muiProps?.ref?.(element);\n }\n }}\n tabIndex={tabIndex}\n toggleContrastColors={toggleContrastColors}\n variant=\"floating\"\n >\n <span id=\"lineOne\" />\n <span id=\"lineTwo\" />\n </StyledToggleButton>\n );\n },\n [\n ariaControls,\n id,\n isSideNavCollapsed,\n odysseyDesignTokens,\n onClick,\n tabIndex,\n toggleContrastColors,\n toggleLabel,\n ],\n );\n\n return (\n <Tooltip ariaType=\"description\" placement=\"right\" text={toggleLabel}>\n <MuiPropsContext.Consumer>{renderButton}</MuiPropsContext.Consumer>\n </Tooltip>\n );\n};\n\nconst MemoizedSideNavToggleButton = memo(SideNavToggleButton);\nMemoizedSideNavToggleButton.displayName = \"SideNavToggleButton\";\n\nexport { MemoizedSideNavToggleButton as SideNavToggleButton };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","names":[],"sources":["../../../../src/ui-shell/SideNav/types.ts"],"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 type { ReactElement, SyntheticEvent } from \"react\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport type { statusSeverityValues } from \"../../Status.js\";\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\n\ntype LogoWithLink = {\n href: string;\n ariaLabel: string;\n};\ntype LogoWithNoLink = {\n href?: never;\n ariaLabel?: never;\n};\n\nexport type SideNavLogoProps = {
|
|
1
|
+
{"version":3,"file":"types.cjs","names":[],"sources":["../../../../src/ui-shell/SideNav/types.ts"],"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 type { ReactElement, SyntheticEvent } from \"react\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport type { statusSeverityValues } from \"../../Status.js\";\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\n\ntype LogoWithLink = {\n href: string;\n ariaLabel: string;\n};\ntype LogoWithNoLink = {\n href?: never;\n ariaLabel?: never;\n};\n\nexport type SideNavLogoProps = {\n isSameBackgroundAsMain?: boolean;\n /**\n * Event fired when the logo is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n} & (LogoWithLink | LogoWithNoLink) &\n (\n | {\n /**\n * a component to render as the logo\n */\n logoComponent: ReactElement;\n imageAltText?: never;\n imageUrl?: never;\n }\n | {\n /**\n * The src url to render in an `img` tag\n */\n imageUrl: string;\n /**\n * alt text for the img logo\n */\n imageAltText: string;\n logoComponent?: never;\n }\n | {\n /**\n * The src url to render in an `img` tag\n */\n imageUrl?: never;\n /**\n * alt text for the img logo\n */\n imageAltText?: never;\n logoComponent?: never;\n }\n );\n\nexport type SideNavProps = {\n /**\n * Side Nav header text that is usually reserved to show the App name\n */\n appName?: string;\n /**\n * Determines whether the side nav is collapsible\n */\n isCollapsible?: boolean;\n /**\n * Determines whether the side nav is collapsed by default. When `true`, side nav also closes once and item is clicked.\n */\n isCollapsed?: boolean;\n /**\n * Determines whether the side nav items use compact layout\n */\n isCompact?: boolean;\n /**\n * Before the side nav has items, it will be in a loading state.\n */\n isLoading?: boolean;\n /**\n * If the side nav is up too much screen real estate. For instance, if you're in a narrower view, and it displays next to the content.\n *\n * When `true`, side nav will close itself after nav items are clicked.\n */\n isObtrusive?: boolean;\n /**\n * An optional logo component or src string for an img to display in the header. If not provided, will default to the Okta logo\n */\n logoProps?: SideNavLogoProps;\n /**\n * Triggers when the side nav is collapsed\n */\n onCollapse?: () => void;\n /**\n * Triggers when the side nav is expanded\n */\n onExpand?: () => void;\n /**\n * Triggers when the item is reordered\n */\n onSort?: (\n reorderedItems: SideNavItem[],\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n /**\n * Nav items in the side nav\n */\n sideNavItems: SideNavItem[];\n} & (\n | {\n /**\n * The component to display as the footer; if present the `footerItems` are ignored and not rendered.\n */\n footerComponent?: ReactElement;\n footerItems?: never;\n hasCustomFooter: true;\n }\n | {\n footerComponent?: never;\n /**\n * Footer items in the side nav\n */\n footerItems?: SideNavFooterItem[];\n hasCustomFooter?: false;\n }\n) &\n Pick<HtmlProps, \"testId\">;\n\nexport type SideNavItem = {\n /**\n * The number to display as a count alongside the nav item\n */\n count?: number;\n /**\n * The icon element to display after the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n endIcon?: ReactElement;\n id: string;\n /**\n * Whether the item is disabled. When set to true the nav item is set to Disabled color,\n * the link/item is not clickable, and item with nestedNavItems is not expandable.\n */\n isDisabled?: boolean;\n /**\n * Whether the item is active/selected\n */\n isSelected?: boolean;\n /**\n * Whether the item is sortable within a sortable list\n */\n isSortable?: boolean;\n label: string;\n /**\n * Event fired when the nav item is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n /**\n * The status element to display after the label\n */\n severity?: (typeof statusSeverityValues)[number];\n /**\n * The icon element to display before the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n startIcon?: ReactElement;\n /**\n * The label to display inside the status\n */\n statusLabel?: string;\n /**\n * The link target prop. e.g., \"_blank\"\n */\n target?: string;\n} & (\n | {\n nestedNavItems?: never;\n href?: never;\n isDefaultExpanded?: never;\n isExpanded?: never;\n /**\n * Determines if the side nav item is a section header\n */\n isSectionHeader: true;\n }\n | {\n nestedNavItems?: never;\n /**\n * link added to the nav item. if it is undefined, static text will be displayed.\n * fires onClick event when it is passed\n */\n href?: string;\n isDefaultExpanded?: never;\n isExpanded?: never;\n isSectionHeader?: never;\n }\n | {\n /**\n * An array of side nav items to be displayed as nestedNavItems within Accordion\n */\n nestedNavItems: Array<Omit<SideNavItem, \"nestedNavItems\" | \"startIcon\">>;\n href?: never;\n /**\n * Whether the accordion (nav item with nestedNavItems) is expanded by default\n */\n isDefaultExpanded?: boolean;\n /**\n * If true, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n isExpanded?: boolean;\n /**\n * If true, enables sorting for the accordion items\n */\n isSectionHeader?: never;\n }\n) &\n Pick<HtmlProps, \"translate\">;\n\nexport type SideNavFooterItem = {\n href?: string;\n id: string;\n label: string;\n};\n"],"mappings":"","ignoreList":[]}
|