@okta/odyssey-react-mui 1.32.4 → 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/pxToRem.cjs +21 -0
- 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 +62 -44
- 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 +3 -0
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs +2 -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 +37 -9
- 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/dist/cjs/ui-shell/uiShellContentTypes.cjs +20 -0
- 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/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/pxToRem.js +14 -0
- 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/dist/esm/theme/useMediaQuery.js +27 -0
- 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 +61 -43
- 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 +3 -0
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavLogo.js +2 -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 -1
- 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/dist/esm/ui-shell/uiShellContentTypes.js +14 -0
- package/dist/esm/ui-shell/uiShellContentTypes.js.map +1 -0
- package/dist/esm/ui-shell/uiShellSharedConstants.js +16 -0
- 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/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/pxToRem.d.ts +13 -0
- 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/dist/types/theme/useMediaQuery.d.ts +13 -0
- 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.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/types.d.ts +7 -1
- package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
- package/dist/types/ui-shell/TopNav/HamburgerMenuIcon.d.ts +16 -0
- 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/dist/types/ui-shell/WideUiShellContent.d.ts +16 -0
- 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/{UiShellContent.d.ts → uiShellContentTypes.d.ts} +45 -31
- package/dist/types/ui-shell/uiShellContentTypes.d.ts.map +1 -0
- package/dist/types/ui-shell/uiShellSharedConstants.d.ts +17 -0
- 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/dist/types/ui-shell/useUiShellBreakpoints.d.ts +18 -0
- 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/dist/cjs/ui-shell/UiShellContent.cjs +0 -242
- package/dist/cjs/ui-shell/UiShellContent.cjs.map +0 -1
- package/dist/esm/ui-shell/UiShellContent.js +0 -234
- package/dist/esm/ui-shell/UiShellContent.js.map +0 -1
- package/dist/types/ui-shell/UiShellContent.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
3
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
4
|
*
|
|
5
5
|
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
@@ -9,12 +9,11 @@
|
|
|
9
9
|
*
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
12
|
+
import { ReactElement } from "react";
|
|
13
13
|
import { ErrorBoundaryProps } from "react-error-boundary";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { ContrastMode } from "../useContrastMode.js";
|
|
14
|
+
import { AppSwitcherProps } from "./AppSwitcher/AppSwitcher.js";
|
|
15
|
+
import { SideNavProps } from "./SideNav/types.js";
|
|
16
|
+
import { TopNavProps } from "./TopNav/TopNav.js";
|
|
18
17
|
export declare const subComponentNames: readonly ["TopNav", "SideNav", "AppSwitcher"];
|
|
19
18
|
export type SubComponentName = (typeof subComponentNames)[number];
|
|
20
19
|
export type UiShellNavComponentProps = {
|
|
@@ -33,28 +32,35 @@ export type UiShellNavComponentProps = {
|
|
|
33
32
|
};
|
|
34
33
|
export type UiShellContentProps = {
|
|
35
34
|
/**
|
|
36
|
-
*
|
|
35
|
+
* **WARNING:** UI Shell will modify the styling of this element.
|
|
36
|
+
* HTML element where the app gets rendered. This typically called the React root element for your app.
|
|
37
|
+
*
|
|
38
|
+
* When passed, the app is expected to render into this element, not the Shadow DOM.
|
|
39
|
+
*
|
|
40
|
+
* UI Shell will position this element appropriately to match the content area inside the Shadow DOM.
|
|
41
|
+
*
|
|
42
|
+
* A major benefit to having this element separate from UI Shell is related to encapsulation. UI Shell has the capability of rendering inside a web component, but in doing so, the app would be subject to the styles in the web component and not the page itself.
|
|
43
|
+
* The app should either be in its own web component or use the global styles, and having this separate element allows us to accomplish that goal.
|
|
37
44
|
*/
|
|
38
|
-
|
|
45
|
+
appElement: HTMLDivElement;
|
|
39
46
|
/**
|
|
40
|
-
*
|
|
47
|
+
* Controls the scrolling behavior of the app element area.
|
|
48
|
+
*
|
|
49
|
+
* In the case of an app wanting to control their own scrolling, use `"none"`.
|
|
50
|
+
*
|
|
51
|
+
* Most apps will want to use `"vertical"` and let UI Shell manage scrolling behavior.
|
|
41
52
|
*/
|
|
42
|
-
|
|
53
|
+
appElementScrollingMode: "none" | "horizontal" | "vertical" | "both";
|
|
43
54
|
/**
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Controls the scrolling behavior of the app content area. Defaults to "vertical".
|
|
49
|
-
*/
|
|
50
|
-
appContainerScrollingMode?: "none" | "horizontal" | "vertical" | "both";
|
|
51
|
-
/**
|
|
52
|
-
* defaults to `true`. If `false`, the content area will have no padding provided
|
|
55
|
+
* Defaults to `true`.
|
|
56
|
+
*
|
|
57
|
+
* If `false`, the content area will have no padding provided. This is for the case where an app wants to manage this separate from UI Shell.
|
|
53
58
|
*/
|
|
54
59
|
hasStandardAppContentPadding?: boolean;
|
|
55
60
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
61
|
+
* Parts of UI Shell that are visible when rendered.
|
|
62
|
+
*
|
|
63
|
+
* For example, if `sideNavProps` is `undefined`, should there be a space left for side nav or should that space not exist?
|
|
58
64
|
*/
|
|
59
65
|
initialVisibleSections?: SubComponentName[];
|
|
60
66
|
/**
|
|
@@ -65,18 +71,26 @@ export type UiShellContentProps = {
|
|
|
65
71
|
* Components that will render as children of various other components such as the top nav or side nav.
|
|
66
72
|
*/
|
|
67
73
|
optionalComponents?: {
|
|
74
|
+
/**
|
|
75
|
+
* Spot for banners to go at the top of the page.
|
|
76
|
+
*/
|
|
68
77
|
banners?: ReactElement;
|
|
78
|
+
/**
|
|
79
|
+
* In narrow view, this is the right-side menu area.
|
|
80
|
+
*/
|
|
81
|
+
rightSideMenu?: ReactElement;
|
|
82
|
+
/**
|
|
83
|
+
* Footer in the side nav.
|
|
84
|
+
*/
|
|
69
85
|
sideNavFooter?: SideNavProps["footerComponent"];
|
|
86
|
+
/**
|
|
87
|
+
* Top nav is divided into 2 parts. This is the left-aligned half.
|
|
88
|
+
*/
|
|
70
89
|
topNavLeftSide?: TopNavProps["leftSideComponent"];
|
|
90
|
+
/**
|
|
91
|
+
* Top nav is divided into 2 parts. This is the right-aligned half.
|
|
92
|
+
*/
|
|
71
93
|
topNavRightSide?: TopNavProps["rightSideComponent"];
|
|
72
94
|
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export declare const setStylesToMatchElement: ({ additionalStyles, appContainerElement, appContentReferenceElement, }: {
|
|
76
|
-
additionalStyles: CSSProperties;
|
|
77
|
-
appContainerElement: HTMLElement;
|
|
78
|
-
appContentReferenceElement: HTMLElement;
|
|
79
|
-
}) => void;
|
|
80
|
-
declare const MemoizedUiShellContent: import("react").MemoExoticComponent<({ appContainerElement, hasStandardAppContentPadding, appContainerScrollingMode, initialVisibleSections, onError, optionalComponents, appSwitcherProps, sideNavProps, topNavProps, }: UiShellContentProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
81
|
-
export { MemoizedUiShellContent as UiShellContent };
|
|
82
|
-
//# sourceMappingURL=UiShellContent.d.ts.map
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=uiShellContentTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiShellContentTypes.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/uiShellContentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,+CAAgD,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC5D;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAChB,WAAW,EACX,mBAAmB,GAAG,oBAAoB,CAC3C,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;;;;;OAUG;IACH,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;;;OAMG;IACH,uBAAuB,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IACrE;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5C;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB;;WAEG;QACH,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB;;WAEG;QACH,aAAa,CAAC,EAAE,YAAY,CAAC;QAC7B;;WAEG;QACH,aAAa,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAChD;;WAEG;QACH,cAAc,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAClD;;WAEG;QACH,eAAe,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;KACrD,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION = "77px";
|
|
13
|
+
export declare const SIDE_NAV_WIDTH = "300px";
|
|
14
|
+
export declare const TOP_NAV_HEIGHT = "4.571428571428571rem";
|
|
15
|
+
export declare const UI_SHELL_BASE_Z_INDEX = 100;
|
|
16
|
+
export declare const UI_SHELL_OVERLAY_Z_INDEX = 200;
|
|
17
|
+
//# sourceMappingURL=uiShellSharedConstants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiShellSharedConstants.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/uiShellSharedConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,eAAO,MAAM,wCAAwC,SAAS,CAAC;AAE/D,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,cAAc,yBAAkB,CAAC;AAE9C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,eAAO,MAAM,wBAAwB,MAAM,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
import { CSSProperties, RefObject } from "react";
|
|
13
|
+
import { UiShellContentProps } from "./uiShellContentTypes.js";
|
|
14
|
+
export declare const convertCamelCaseToKebabCase: (string: string) => string;
|
|
15
|
+
export declare const setStylesToMatchElement: ({ additionalStyles, appContainerElement, appContentReferenceElement, parentElement, }: {
|
|
16
|
+
additionalStyles: CSSProperties;
|
|
17
|
+
appContainerElement: HTMLElement;
|
|
18
|
+
appContentReferenceElement: HTMLElement;
|
|
19
|
+
parentElement: HTMLElement;
|
|
20
|
+
}) => void;
|
|
21
|
+
export type UseMatchAppElementToUiShellAppAreaProps = {
|
|
22
|
+
/**
|
|
23
|
+
* Padding around the app area. "comfortable" is designed for wider views whereas "compact" is designed for narrower views.
|
|
24
|
+
*/
|
|
25
|
+
paddingMode: "comfortable" | "compact" | "none";
|
|
26
|
+
/**
|
|
27
|
+
* Ref for the App Container in UI Shell. This should be the one inside the Shell, **not** the element we're going to align.
|
|
28
|
+
*/
|
|
29
|
+
uiShellAppAreaRef: RefObject<HTMLDivElement>;
|
|
30
|
+
/**
|
|
31
|
+
* Array of refs of items that indirectly resize the app content area such as "side nav" and "top nav".
|
|
32
|
+
*/
|
|
33
|
+
uiShellResizableRefs: Array<RefObject<HTMLDivElement>>;
|
|
34
|
+
} & Pick<UiShellContentProps, "appElement" | "appElementScrollingMode">;
|
|
35
|
+
export declare const useMatchAppElementToUiShellAppArea: ({ appElement, appElementScrollingMode, paddingMode, uiShellAppAreaRef, uiShellResizableRefs, }: UseMatchAppElementToUiShellAppAreaProps) => {
|
|
36
|
+
parentContainerRef: RefObject<HTMLDivElement>;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=useMatchAppElementToUiShellAppArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMatchAppElementToUiShellAppArea.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/useMatchAppElementToUiShellAppArea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAA8B,MAAM,OAAO,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,2BAA2B,WAAY,MAAM,WACT,CAAC;AAElD,eAAO,MAAM,uBAAuB,0FAKjC;IACD,gBAAgB,EAAE,aAAa,CAAC;IAChC,mBAAmB,EAAE,WAAW,CAAC;IACjC,0BAA0B,EAAE,WAAW,CAAC;IACxC,aAAa,EAAE,WAAW,CAAC;CAC5B,SAqCA,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD;;OAEG;IACH,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C;;OAEG;IACH,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;CACxD,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,GAAG,yBAAyB,CAAC,CAAC;AAExE,eAAO,MAAM,kCAAkC,mGAM5C,uCAAuC;;CA8FzC,CAAC"}
|
|
@@ -11,6 +11,5 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const useScrollState: <ScrollableContentElement extends HTMLElement = HTMLDivElement>(scrollableContentElement?: ScrollableContentElement) => {
|
|
13
13
|
isContentScrolled: boolean;
|
|
14
|
-
scrollableContentRef: import("react").RefObject<ScrollableContentElement>;
|
|
15
14
|
};
|
|
16
15
|
//# sourceMappingURL=useScrollState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollState.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/useScrollState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,cAAc,GACzB,wBAAwB,SAAS,WAAW,8CAEjB,wBAAwB
|
|
1
|
+
{"version":3,"file":"useScrollState.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/useScrollState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,cAAc,GACzB,wBAAwB,SAAS,WAAW,8CAEjB,wBAAwB;;CAsCpD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
export declare const uiShellBreakpoint: {
|
|
13
|
+
readonly comfortable: 800;
|
|
14
|
+
readonly compact: 600;
|
|
15
|
+
readonly constrained: 0;
|
|
16
|
+
};
|
|
17
|
+
export declare const useUiShellBreakpoints: () => keyof typeof uiShellBreakpoint | "none";
|
|
18
|
+
//# sourceMappingURL=useUiShellBreakpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUiShellBreakpoints.d.ts","sourceRoot":"","sources":["../../../src/ui-shell/useUiShellBreakpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,qBAAqB,QAC9B,MAAM,OAAO,iBAAiB,GAC9B,MA2BH,CAAC"}
|
|
@@ -9,12 +9,10 @@
|
|
|
9
9
|
*
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export type ReactRootElements = {
|
|
13
13
|
/**
|
|
14
|
-
* The element your React
|
|
14
|
+
* The element your root React component renders into.
|
|
15
15
|
* React has to render or portal somewhere, and this element can be used for that root element.
|
|
16
|
-
*
|
|
17
|
-
* In the case of a web component, there is no defined root element, so you have to define it yourself.
|
|
18
16
|
*/
|
|
19
17
|
appRootElement: HTMLDivElement;
|
|
20
18
|
/**
|
|
@@ -22,6 +20,10 @@ export declare const createReactRootElements: () => {
|
|
|
22
20
|
*
|
|
23
21
|
* Specifically when rendering in a web component, there is no `<head>`, so you have to create a spot for styles to render.
|
|
24
22
|
*/
|
|
23
|
+
stylesRootElement: HTMLDivElement | HTMLHeadElement;
|
|
24
|
+
};
|
|
25
|
+
export declare const createReactRootElements: () => {
|
|
26
|
+
appRootElement: HTMLDivElement;
|
|
25
27
|
stylesRootElement: HTMLDivElement;
|
|
26
28
|
};
|
|
27
29
|
//# sourceMappingURL=createReactRootElements.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReactRootElements.d.ts","sourceRoot":"","sources":["../../../src/web-component/createReactRootElements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,
|
|
1
|
+
{"version":3,"file":"createReactRootElements.d.ts","sourceRoot":"","sources":["../../../src/web-component/createReactRootElements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,iBAAiB,EAAE,cAAc,GAAG,eAAe,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAenC,CAAC"}
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { type ReactNode } from "react";
|
|
13
13
|
import type { Root } from "react-dom/client";
|
|
14
|
-
import {
|
|
15
|
-
export type ReactRootElements = ReturnType<typeof createReactRootElements>;
|
|
14
|
+
import { type ReactRootElements } from "./createReactRootElements.js";
|
|
16
15
|
export declare const reactWebComponentElementName = "odyssey-react-web-component";
|
|
17
16
|
export type GetReactComponentInWebComponent = (reactRootElements: ReactRootElements) => ReactNode;
|
|
18
17
|
declare const SsrFriendlyHtmlElementClass: {
|
|
@@ -45,18 +44,26 @@ export type RenderReactInWebComponentProps = {
|
|
|
45
44
|
* You will need to have rendered `<slot>` elements in your React component or `children` won't show up.
|
|
46
45
|
*/
|
|
47
46
|
webComponentChildren?: HTMLElement | HTMLElement[];
|
|
47
|
+
} & ({
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* The React app renders in the web component, but the web component needs to be rendered in the document.
|
|
50
50
|
*
|
|
51
51
|
* This is the element the web component is rendered into.
|
|
52
52
|
*/
|
|
53
|
+
webComponentParentElement: HTMLElement;
|
|
54
|
+
webComponentRootElement?: never;
|
|
55
|
+
} | {
|
|
56
|
+
webComponentParentElement?: HTMLElement;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Use `webComponentParentElement` instead.
|
|
59
|
+
*/
|
|
53
60
|
webComponentRootElement: HTMLElement;
|
|
54
|
-
};
|
|
61
|
+
});
|
|
55
62
|
/**
|
|
56
63
|
* Lets you render React apps or components in a Web Component.
|
|
57
64
|
*
|
|
58
65
|
* This is useful when global styles are causing conflicts with your React components.
|
|
59
66
|
*/
|
|
60
|
-
export declare const renderReactInWebComponent: ({ getReactComponent, webComponentChildren, webComponentRootElement, }: RenderReactInWebComponentProps) => ReactInWebComponentElement;
|
|
67
|
+
export declare const renderReactInWebComponent: ({ getReactComponent, webComponentChildren, webComponentParentElement, webComponentRootElement, }: RenderReactInWebComponentProps) => ReactInWebComponentElement;
|
|
61
68
|
export {};
|
|
62
69
|
//# sourceMappingURL=renderReactInWebComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderReactInWebComponent.d.ts","sourceRoot":"","sources":["../../../src/web-component/renderReactInWebComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,
|
|
1
|
+
{"version":3,"file":"renderReactInWebComponent.d.ts","sourceRoot":"","sources":["../../../src/web-component/renderReactInWebComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,4BAA4B,gCAAgC,CAAC;AAE1E,MAAM,MAAM,+BAA+B,GAAG,CAC5C,iBAAiB,EAAE,iBAAiB,KACjC,SAAS,CAAC;AAEf,QAAA,MAAM,2BAA2B;;;CAG2B,CAAC;AAE7D,qBAAa,0BAA2B,SAAQ,2BAA2B;IACzE,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEpB,iBAAiB,EAAE,+BAA+B;IA4B9D,iBAAiB;IAMjB,oBAAoB;CAGrB;AAYD,MAAM,MAAM,8BAA8B,GAAG;IAC3C;;;;;;OAMG;IACH,iBAAiB,EAAE,+BAA+B,CAAC;IACnD;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;CACpD,GAAG,CACA;IACE;;;;OAIG;IACH,yBAAyB,EAAE,WAAW,CAAC;IACvC,uBAAuB,CAAC,EAAE,KAAK,CAAC;CACjC,GACD;IACE,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC;;OAEG;IACH,uBAAuB,EAAE,WAAW,CAAC;CACtC,CACJ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,qGAKnC,8BAA8B,+BAqBhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@okta/odyssey-react-mui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.33.0",
|
|
4
4
|
"description": "React MUI components for Odyssey, Okta's design system",
|
|
5
5
|
"author": "Okta, Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"@mui/system": "^5.16.14",
|
|
119
119
|
"@mui/utils": "^5.16.14",
|
|
120
120
|
"@mui/x-date-pickers": "^7.2.0",
|
|
121
|
-
"@okta/odyssey-design-tokens": "1.
|
|
121
|
+
"@okta/odyssey-design-tokens": "1.33.0",
|
|
122
122
|
"@types/luxon": "^3.4.2",
|
|
123
123
|
"date-fns": "^2.30.0",
|
|
124
124
|
"dom-accessibility-api": "^0.7.0",
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
"@babel/preset-react": "^7.26.3",
|
|
138
138
|
"@babel/preset-typescript": "^7.26.0",
|
|
139
139
|
"@happy-dom/jest-environment": "^15.7.4",
|
|
140
|
-
"@okta/browserslist-config-odyssey": "1.
|
|
140
|
+
"@okta/browserslist-config-odyssey": "1.33.0",
|
|
141
141
|
"@okta/odyssey-icons": "workspace:*",
|
|
142
142
|
"@okta/odyssey-typescript": "workspace:*",
|
|
143
143
|
"@svgr/cli": "^7.0.0",
|
|
@@ -173,5 +173,5 @@
|
|
|
173
173
|
"react": "^18.3.1",
|
|
174
174
|
"react-dom": "^18.3.1"
|
|
175
175
|
},
|
|
176
|
-
"gitHead": "
|
|
176
|
+
"gitHead": "30be01e7c5433d39285e55501fb689ae918f2eef"
|
|
177
177
|
}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.subComponentNames = exports.setStylesToMatchElement = exports.convertCamelCaseToKebabCase = exports.UiShellContent = void 0;
|
|
7
|
-
var _ScopedCssBaseline2 = _interopRequireDefault(require("@mui/material/ScopedCssBaseline"));
|
|
8
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _reactErrorBoundary = require("react-error-boundary");
|
|
11
|
-
var _index = require("./AppSwitcher/index.cjs");
|
|
12
|
-
var _index2 = require("./SideNav/index.cjs");
|
|
13
|
-
var _index3 = require("./TopNav/index.cjs");
|
|
14
|
-
var _OdysseyDesignTokensContext = require("../OdysseyDesignTokensContext.cjs");
|
|
15
|
-
var _useScrollState = require("./useScrollState.cjs");
|
|
16
|
-
var _UiShellProvider = require("./UiShellProvider.cjs");
|
|
17
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
/*!
|
|
20
|
-
* Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
21
|
-
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
22
|
-
*
|
|
23
|
-
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
24
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
25
|
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
26
|
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
27
|
-
*
|
|
28
|
-
* See the License for the specific language governing permissions and limitations under the License.
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
const fullHeightStyles = {
|
|
32
|
-
height: "100%"
|
|
33
|
-
};
|
|
34
|
-
const emptySideNavItems = [];
|
|
35
|
-
const StyledAppContainer = (0, _styled.default)("div", {
|
|
36
|
-
shouldForwardProp: prop => prop !== "appBackgroundColor" && prop !== "odysseyDesignTokens"
|
|
37
|
-
})(({
|
|
38
|
-
appBackgroundColor
|
|
39
|
-
}) => ({
|
|
40
|
-
gridArea: "app-content",
|
|
41
|
-
backgroundColor: appBackgroundColor
|
|
42
|
-
}));
|
|
43
|
-
const StyledBannersContainer = (0, _styled.default)("div")({
|
|
44
|
-
gridArea: "banners"
|
|
45
|
-
});
|
|
46
|
-
const StyledAppSwitcherContainer = (0, _styled.default)("div")({
|
|
47
|
-
gridArea: "app-switcher"
|
|
48
|
-
});
|
|
49
|
-
const StyledSideNavContainer = (0, _styled.default)("div")({
|
|
50
|
-
gridArea: "side-nav"
|
|
51
|
-
});
|
|
52
|
-
const StyledShellContainer = (0, _styled.default)("div", {
|
|
53
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
54
|
-
})(({
|
|
55
|
-
odysseyDesignTokens
|
|
56
|
-
}) => ({
|
|
57
|
-
backgroundColor: odysseyDesignTokens.HueNeutral50,
|
|
58
|
-
display: "grid",
|
|
59
|
-
gridGap: 0,
|
|
60
|
-
gridTemplateAreas: `
|
|
61
|
-
"banners banners banners"
|
|
62
|
-
"app-switcher side-nav top-nav"
|
|
63
|
-
"app-switcher side-nav app-content"
|
|
64
|
-
`,
|
|
65
|
-
gridTemplateColumns: "auto auto 1fr",
|
|
66
|
-
gridTemplateRows: "auto auto 1fr",
|
|
67
|
-
height: "100vh",
|
|
68
|
-
width: "100vw"
|
|
69
|
-
}));
|
|
70
|
-
const StyledTopNavContainer = (0, _styled.default)("div")({
|
|
71
|
-
gridArea: "top-nav"
|
|
72
|
-
});
|
|
73
|
-
const subComponentNames = exports.subComponentNames = ["TopNav", "SideNav", "AppSwitcher"];
|
|
74
|
-
const convertCamelCaseToKebabCase = string => string.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
75
|
-
exports.convertCamelCaseToKebabCase = convertCamelCaseToKebabCase;
|
|
76
|
-
const setStylesToMatchElement = ({
|
|
77
|
-
additionalStyles,
|
|
78
|
-
appContainerElement,
|
|
79
|
-
appContentReferenceElement
|
|
80
|
-
}) => {
|
|
81
|
-
const boundingRect = appContentReferenceElement.getBoundingClientRect();
|
|
82
|
-
appContainerElement.style.setProperty("position", "absolute");
|
|
83
|
-
appContainerElement.style.setProperty("top", `${boundingRect.y}px`);
|
|
84
|
-
appContainerElement.style.setProperty("left", `${boundingRect.x}px`);
|
|
85
|
-
appContainerElement.style.setProperty("width", `${boundingRect.width}px`);
|
|
86
|
-
appContainerElement.style.setProperty("height", `${boundingRect.height}px`);
|
|
87
|
-
Object.entries(additionalStyles).forEach(([cssPropertyName, cssPropertyValue]) => {
|
|
88
|
-
appContainerElement.style.setProperty(convertCamelCaseToKebabCase(cssPropertyName), String(cssPropertyValue));
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
exports.setStylesToMatchElement = setStylesToMatchElement;
|
|
92
|
-
const UiShellContent = ({
|
|
93
|
-
appContainerElement,
|
|
94
|
-
hasStandardAppContentPadding = true,
|
|
95
|
-
appContainerScrollingMode = "vertical",
|
|
96
|
-
initialVisibleSections = ["TopNav", "SideNav", "AppSwitcher"],
|
|
97
|
-
onError = console.error,
|
|
98
|
-
optionalComponents,
|
|
99
|
-
appSwitcherProps,
|
|
100
|
-
sideNavProps,
|
|
101
|
-
topNavProps
|
|
102
|
-
}) => {
|
|
103
|
-
const odysseyDesignTokens = (0, _OdysseyDesignTokensContext.useOdysseyDesignTokens)();
|
|
104
|
-
const {
|
|
105
|
-
isContentScrolled,
|
|
106
|
-
scrollableContentRef: appContainerRef
|
|
107
|
-
} = (0, _useScrollState.useScrollState)(appContainerElement);
|
|
108
|
-
const sideNavContainerRef = (0, _react.useRef)(null);
|
|
109
|
-
const topNavContainerRef = (0, _react.useRef)(null);
|
|
110
|
-
const uiShellContext = (0, _UiShellProvider.useUiShellContext)();
|
|
111
|
-
const appContainerElementStyles = (0, _react.useMemo)(() => ({
|
|
112
|
-
...(hasStandardAppContentPadding ? {
|
|
113
|
-
paddingBlock: odysseyDesignTokens.Spacing5 ?? null,
|
|
114
|
-
paddingInline: odysseyDesignTokens.Spacing8 ?? null
|
|
115
|
-
} : {}),
|
|
116
|
-
...(appContainerScrollingMode === "horizontal" || appContainerScrollingMode === "both" ? {
|
|
117
|
-
overflowX: "auto"
|
|
118
|
-
} : {
|
|
119
|
-
overflowX: "hidden"
|
|
120
|
-
}),
|
|
121
|
-
...(appContainerScrollingMode === "vertical" || appContainerScrollingMode === "both" ? {
|
|
122
|
-
overflowY: "auto"
|
|
123
|
-
} : {
|
|
124
|
-
overflowY: "hidden"
|
|
125
|
-
})
|
|
126
|
-
}), [hasStandardAppContentPadding, appContainerScrollingMode, odysseyDesignTokens]);
|
|
127
|
-
(0, _react.useEffect)(() => {
|
|
128
|
-
if (appContainerRef.current && appContainerElement) {
|
|
129
|
-
let animationFrameId;
|
|
130
|
-
const updateStyles = () => {
|
|
131
|
-
cancelAnimationFrame(animationFrameId);
|
|
132
|
-
animationFrameId = requestAnimationFrame(() => {
|
|
133
|
-
if (appContainerRef.current) {
|
|
134
|
-
setStylesToMatchElement({
|
|
135
|
-
additionalStyles: appContainerElementStyles,
|
|
136
|
-
appContentReferenceElement: appContainerRef.current,
|
|
137
|
-
appContainerElement
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
const sideNavElement = sideNavContainerRef.current;
|
|
143
|
-
sideNavElement?.addEventListener("transitionend", updateStyles);
|
|
144
|
-
const observer = new ResizeObserver(updateStyles);
|
|
145
|
-
observer.observe(appContainerRef.current);
|
|
146
|
-
if (sideNavElement) {
|
|
147
|
-
observer.observe(sideNavElement);
|
|
148
|
-
}
|
|
149
|
-
if (topNavContainerRef.current) {
|
|
150
|
-
observer.observe(topNavContainerRef.current);
|
|
151
|
-
}
|
|
152
|
-
updateStyles();
|
|
153
|
-
return () => {
|
|
154
|
-
observer.disconnect();
|
|
155
|
-
sideNavElement?.removeEventListener("transitionend", updateStyles);
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
return () => {};
|
|
159
|
-
}, [appContainerElement, appContainerElementStyles, appContainerRef]);
|
|
160
|
-
return (0, _jsxRuntime.jsxs)(StyledShellContainer, {
|
|
161
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
162
|
-
children: [(0, _jsxRuntime.jsx)(StyledBannersContainer, {
|
|
163
|
-
children: optionalComponents?.banners
|
|
164
|
-
}), (0, _jsxRuntime.jsx)(StyledAppSwitcherContainer, {
|
|
165
|
-
children: (0, _jsxRuntime.jsxs)(_ScopedCssBaseline2.default, {
|
|
166
|
-
sx: fullHeightStyles,
|
|
167
|
-
children: [initialVisibleSections?.includes("AppSwitcher") && !appSwitcherProps && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
168
|
-
fallback: null,
|
|
169
|
-
onError: onError,
|
|
170
|
-
children: (0, _jsxRuntime.jsx)(_index.AppSwitcher, {
|
|
171
|
-
isLoading: true,
|
|
172
|
-
appIcons: [],
|
|
173
|
-
selectedAppName: ""
|
|
174
|
-
})
|
|
175
|
-
}), appSwitcherProps && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
176
|
-
fallback: null,
|
|
177
|
-
onError: onError,
|
|
178
|
-
children: (0, _jsxRuntime.jsx)(_index.AppSwitcher, {
|
|
179
|
-
...appSwitcherProps
|
|
180
|
-
})
|
|
181
|
-
})]
|
|
182
|
-
})
|
|
183
|
-
}), (0, _jsxRuntime.jsx)(StyledSideNavContainer, {
|
|
184
|
-
ref: sideNavContainerRef,
|
|
185
|
-
children: (0, _jsxRuntime.jsxs)(_ScopedCssBaseline2.default, {
|
|
186
|
-
sx: fullHeightStyles,
|
|
187
|
-
children: [initialVisibleSections?.includes("SideNav") && sideNavProps === undefined && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
188
|
-
fallback: null,
|
|
189
|
-
onError: onError,
|
|
190
|
-
children: (0, _jsxRuntime.jsx)(_index2.SideNav, {
|
|
191
|
-
isLoading: true,
|
|
192
|
-
appName: "",
|
|
193
|
-
sideNavItems: emptySideNavItems
|
|
194
|
-
})
|
|
195
|
-
}), sideNavProps && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
196
|
-
fallback: null,
|
|
197
|
-
onError: onError,
|
|
198
|
-
children: (0, _jsxRuntime.jsx)(_index2.SideNav, {
|
|
199
|
-
...sideNavProps,
|
|
200
|
-
...(sideNavProps.hasCustomFooter && optionalComponents?.sideNavFooter ? {
|
|
201
|
-
footerComponent: optionalComponents.sideNavFooter,
|
|
202
|
-
footerItems: undefined,
|
|
203
|
-
hasCustomFooter: sideNavProps.hasCustomFooter
|
|
204
|
-
} : {
|
|
205
|
-
footerItems: sideNavProps.footerItems,
|
|
206
|
-
hasCustomFooter: false
|
|
207
|
-
})
|
|
208
|
-
})
|
|
209
|
-
})]
|
|
210
|
-
})
|
|
211
|
-
}), (0, _jsxRuntime.jsx)(StyledTopNavContainer, {
|
|
212
|
-
ref: topNavContainerRef,
|
|
213
|
-
children: (0, _jsxRuntime.jsxs)(_ScopedCssBaseline2.default, {
|
|
214
|
-
sx: fullHeightStyles,
|
|
215
|
-
children: [initialVisibleSections?.includes("TopNav") && topNavProps === undefined && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
216
|
-
fallback: null,
|
|
217
|
-
onError: onError,
|
|
218
|
-
children: (0, _jsxRuntime.jsx)(_index3.TopNav, {
|
|
219
|
-
leftSideComponent: optionalComponents?.topNavLeftSide,
|
|
220
|
-
rightSideComponent: optionalComponents?.topNavRightSide
|
|
221
|
-
})
|
|
222
|
-
}), topNavProps && (0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
223
|
-
fallback: null,
|
|
224
|
-
onError: onError,
|
|
225
|
-
children: (0, _jsxRuntime.jsx)(_index3.TopNav, {
|
|
226
|
-
...topNavProps,
|
|
227
|
-
isScrolled: isContentScrolled,
|
|
228
|
-
leftSideComponent: optionalComponents?.topNavLeftSide,
|
|
229
|
-
rightSideComponent: optionalComponents?.topNavRightSide
|
|
230
|
-
})
|
|
231
|
-
})]
|
|
232
|
-
})
|
|
233
|
-
}), (0, _jsxRuntime.jsx)(StyledAppContainer, {
|
|
234
|
-
appBackgroundColor: uiShellContext?.appBackgroundColor,
|
|
235
|
-
tabIndex: 0,
|
|
236
|
-
ref: appContainerRef
|
|
237
|
-
})]
|
|
238
|
-
});
|
|
239
|
-
};
|
|
240
|
-
const MemoizedUiShellContent = exports.UiShellContent = (0, _react.memo)(UiShellContent);
|
|
241
|
-
MemoizedUiShellContent.displayName = "UiShellContent";
|
|
242
|
-
//# sourceMappingURL=UiShellContent.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UiShellContent.cjs","names":["_styled","_interopRequireDefault","require","_react","_reactErrorBoundary","_index","_index2","_index3","_OdysseyDesignTokensContext","_useScrollState","_UiShellProvider","_jsxRuntime","e","__esModule","default","fullHeightStyles","height","emptySideNavItems","StyledAppContainer","styled","shouldForwardProp","prop","appBackgroundColor","gridArea","backgroundColor","StyledBannersContainer","StyledAppSwitcherContainer","StyledSideNavContainer","StyledShellContainer","odysseyDesignTokens","HueNeutral50","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","width","StyledTopNavContainer","subComponentNames","exports","convertCamelCaseToKebabCase","string","replace","toLowerCase","setStylesToMatchElement","additionalStyles","appContainerElement","appContentReferenceElement","boundingRect","getBoundingClientRect","style","setProperty","y","x","Object","entries","forEach","cssPropertyName","cssPropertyValue","String","UiShellContent","hasStandardAppContentPadding","appContainerScrollingMode","initialVisibleSections","onError","console","error","optionalComponents","appSwitcherProps","sideNavProps","topNavProps","useOdysseyDesignTokens","isContentScrolled","scrollableContentRef","appContainerRef","useScrollState","sideNavContainerRef","useRef","topNavContainerRef","uiShellContext","useUiShellContext","appContainerElementStyles","useMemo","paddingBlock","Spacing5","paddingInline","Spacing8","overflowX","overflowY","useEffect","current","animationFrameId","updateStyles","cancelAnimationFrame","requestAnimationFrame","sideNavElement","addEventListener","observer","ResizeObserver","observe","disconnect","removeEventListener","jsxs","children","jsx","banners","_ScopedCssBaseline2","sx","includes","ErrorBoundary","fallback","AppSwitcher","isLoading","appIcons","selectedAppName","ref","undefined","SideNav","appName","sideNavItems","hasCustomFooter","sideNavFooter","footerComponent","footerItems","TopNav","leftSideComponent","topNavLeftSide","rightSideComponent","topNavRightSide","isScrolled","tabIndex","MemoizedUiShellContent","memo","displayName"],"sources":["../../../src/ui-shell/UiShellContent.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 CSSProperties,\n memo,\n useEffect,\n useMemo,\n useRef,\n type ReactElement,\n} from \"react\";\nimport { ErrorBoundary, ErrorBoundaryProps } from \"react-error-boundary\";\n\nimport { AppSwitcher, type AppSwitcherProps } from \"./AppSwitcher/index.js\";\nimport { SideNav, type SideNavProps } from \"./SideNav/index.js\";\nimport { TopNav, type TopNavProps } from \"./TopNav/index.js\";\nimport {\n useOdysseyDesignTokens,\n type DesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { ContrastMode } from \"../useContrastMode.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\nimport { ScopedCssBaseline } from \"@mui/material\";\n\nconst fullHeightStyles = { height: \"100%\" };\n\nconst emptySideNavItems = [] satisfies SideNavProps[\"sideNavItems\"];\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"appBackgroundColor\" && prop !== \"odysseyDesignTokens\",\n})<{\n appBackgroundColor?: UiShellColors[\"appBackgroundColor\"];\n}>(({ appBackgroundColor }) => ({\n gridArea: \"app-content\",\n backgroundColor: appBackgroundColor,\n}));\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n});\n\nconst StyledAppSwitcherContainer = styled(\"div\")({\n gridArea: \"app-switcher\",\n});\n\nconst StyledSideNavContainer = styled(\"div\")({\n gridArea: \"side-nav\",\n});\n\nconst StyledShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners banners banners\"\n \"app-switcher side-nav top-nav\"\n \"app-switcher side-nav app-content\"\n `,\n gridTemplateColumns: \"auto auto 1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n width: \"100vw\",\n}));\n\nconst StyledTopNavContainer = styled(\"div\")({\n gridArea: \"top-nav\",\n});\n\nexport const subComponentNames = [\"TopNav\", \"SideNav\", \"AppSwitcher\"] as const;\nexport type SubComponentName = (typeof subComponentNames)[number];\n\nexport type UiShellNavComponentProps = {\n /**\n * Object that gets pass directly to the app switcher component.\n */\n appSwitcherProps?: AppSwitcherProps;\n /**\n * Object that gets pass directly to the side nav component. If `undefined` and in `initialVisibleSections`, SideNav will be initially rendered. Pass `null` to hide a previously-visible SideNav.\n */\n sideNavProps?: Omit<SideNavProps, \"footerComponent\"> | null;\n /**\n * Object that gets pass directly to the top nav component. If `undefined` and in `initialVisibleSections`, TopNav will be initially rendered. Pass `null` to hide a previously-visible TopNav.\n */\n topNavProps?: Omit<\n TopNavProps,\n \"leftSideComponent\" | \"rightSideComponent\"\n > | null;\n};\n\nexport type UiShellContentProps = {\n /**\n * Sets a custom background color for the app content area.\n */\n appBackgroundColor?: string;\n /**\n * Sets either a gray or white background color for the app content area.\n */\n appBackgroundContrastMode?: ContrastMode;\n /**\n * When passed, the app is expected to render into this element, not the Shadow DOM. UI Shell will position this element appropriately as if it was rendered in the app content area of the Shadow DOM.\n */\n appContainerElement: HTMLDivElement;\n /**\n * Controls the scrolling behavior of the app content area. Defaults to \"vertical\".\n */\n appContainerScrollingMode?: \"none\" | \"horizontal\" | \"vertical\" | \"both\";\n /**\n * defaults to `true`. If `false`, the content area will have no padding provided\n */\n hasStandardAppContentPadding?: boolean;\n /**\n * Which parts of the UI Shell should be visible initially? For example,\n * if sideNavProps is undefined, should the space for the sidenav be initially visible?\n */\n initialVisibleSections?: SubComponentName[];\n /**\n * Notifies when a React rendering error occurs. This could be useful for logging, flagging \"p0\"s, and recovering UI Shell when errors occur.\n */\n onError?: ErrorBoundaryProps[\"onError\"];\n /**\n * Components that will render as children of various other components such as the top nav or side nav.\n */\n optionalComponents?: {\n banners?: ReactElement;\n sideNavFooter?: SideNavProps[\"footerComponent\"];\n topNavLeftSide?: TopNavProps[\"leftSideComponent\"];\n topNavRightSide?: TopNavProps[\"rightSideComponent\"];\n };\n} & UiShellNavComponentProps;\n\nexport const convertCamelCaseToKebabCase = (string: string) =>\n string.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n\nexport const setStylesToMatchElement = ({\n additionalStyles,\n appContainerElement,\n appContentReferenceElement,\n}: {\n additionalStyles: CSSProperties;\n appContainerElement: HTMLElement;\n appContentReferenceElement: HTMLElement;\n}) => {\n const boundingRect = appContentReferenceElement.getBoundingClientRect();\n\n appContainerElement.style.setProperty(\"position\", \"absolute\");\n appContainerElement.style.setProperty(\"top\", `${boundingRect.y}px`);\n appContainerElement.style.setProperty(\"left\", `${boundingRect.x}px`);\n appContainerElement.style.setProperty(\"width\", `${boundingRect.width}px`);\n appContainerElement.style.setProperty(\"height\", `${boundingRect.height}px`);\n\n (\n Object.entries(additionalStyles) as Array<\n [\n keyof typeof additionalStyles,\n (typeof additionalStyles)[keyof typeof additionalStyles],\n ]\n >\n ).forEach(([cssPropertyName, cssPropertyValue]) => {\n appContainerElement.style.setProperty(\n convertCamelCaseToKebabCase(cssPropertyName),\n String(cssPropertyValue),\n );\n });\n};\n\n/**\n * Our new Unified Platform UI Shell.\n *\n * This includes the top and side navigation as well as the footer and provides a spot for your app to render into.\n *\n * If an error occurs, this will revert to only showing the app.\n */\nconst UiShellContent = ({\n appContainerElement,\n hasStandardAppContentPadding = true,\n appContainerScrollingMode = \"vertical\",\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n appSwitcherProps,\n sideNavProps,\n topNavProps,\n}: UiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isContentScrolled, scrollableContentRef: appContainerRef } =\n useScrollState(appContainerElement);\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellContext = useUiShellContext();\n\n const appContainerElementStyles = useMemo<CSSProperties>(\n () => ({\n ...(hasStandardAppContentPadding\n ? {\n paddingBlock: odysseyDesignTokens.Spacing5 ?? null,\n paddingInline: odysseyDesignTokens.Spacing8 ?? null,\n }\n : {}),\n ...(appContainerScrollingMode === \"horizontal\" ||\n appContainerScrollingMode === \"both\"\n ? {\n overflowX: \"auto\",\n }\n : {\n overflowX: \"hidden\",\n }),\n ...(appContainerScrollingMode === \"vertical\" ||\n appContainerScrollingMode === \"both\"\n ? {\n overflowY: \"auto\",\n }\n : {\n overflowY: \"hidden\",\n }),\n }),\n [\n hasStandardAppContentPadding,\n appContainerScrollingMode,\n odysseyDesignTokens,\n ],\n );\n\n useEffect(() => {\n // Once appContainerRef is rendered, we can position appContainerElement on top\n if (appContainerRef.current && appContainerElement) {\n let animationFrameId: number;\n\n const updateStyles = () => {\n cancelAnimationFrame(animationFrameId);\n animationFrameId = requestAnimationFrame(() => {\n if (appContainerRef.current) {\n setStylesToMatchElement({\n additionalStyles: appContainerElementStyles,\n appContentReferenceElement: appContainerRef.current,\n appContainerElement,\n });\n }\n });\n };\n\n // This element might have changed from `.current`, so it's important to keep track of the old one when we attach event listeners.\n const sideNavElement = sideNavContainerRef.current;\n\n sideNavElement?.addEventListener(\"transitionend\", updateStyles);\n\n // Setup a mutation observer to sync later updates\n const observer = new ResizeObserver(updateStyles);\n observer.observe(appContainerRef.current);\n\n if (sideNavElement) {\n observer.observe(sideNavElement);\n }\n\n if (topNavContainerRef.current) {\n observer.observe(topNavContainerRef.current);\n }\n\n // Set the initial styles\n updateStyles();\n\n return () => {\n observer.disconnect();\n sideNavElement?.removeEventListener(\"transitionend\", updateStyles);\n };\n }\n return () => {};\n }, [appContainerElement, appContainerElementStyles, appContainerRef]);\n\n return (\n <StyledShellContainer odysseyDesignTokens={odysseyDesignTokens}>\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n <StyledAppSwitcherContainer>\n <ScopedCssBaseline sx={fullHeightStyles}>\n {\n /* If AppSwitcher should be initially visible and we have not yet received props, render AppSwitcher in the loading state */\n initialVisibleSections?.includes(\"AppSwitcher\") &&\n !appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher isLoading appIcons={[]} selectedAppName=\"\" />\n </ErrorBoundary>\n )\n }\n {appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher {...appSwitcherProps} />\n </ErrorBoundary>\n )}\n </ScopedCssBaseline>\n </StyledAppSwitcherContainer>\n\n <StyledSideNavContainer ref={sideNavContainerRef}>\n <ScopedCssBaseline sx={fullHeightStyles}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n sideNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav\n isLoading\n appName=\"\"\n sideNavItems={emptySideNavItems}\n />\n </ErrorBoundary>\n )\n }\n {sideNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav\n {...{\n ...sideNavProps,\n ...(sideNavProps.hasCustomFooter &&\n optionalComponents?.sideNavFooter\n ? {\n footerComponent: optionalComponents.sideNavFooter,\n footerItems: undefined,\n hasCustomFooter: sideNavProps.hasCustomFooter,\n }\n : {\n footerItems: sideNavProps.footerItems,\n hasCustomFooter: false,\n }),\n }}\n />\n </ErrorBoundary>\n )}\n </ScopedCssBaseline>\n </StyledSideNavContainer>\n <StyledTopNavContainer ref={topNavContainerRef}>\n <ScopedCssBaseline sx={fullHeightStyles}>\n {\n /* If TopNav should be initially visible and we have not yet received props, render Topnav with minimal inputs */\n initialVisibleSections?.includes(\"TopNav\") &&\n topNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )\n }\n {topNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n {...topNavProps}\n isScrolled={isContentScrolled}\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )}\n </ScopedCssBaseline>\n </StyledTopNavContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={appContainerRef}\n />\n </StyledShellContainer>\n );\n};\n\nconst MemoizedUiShellContent = memo(UiShellContent);\nMemoizedUiShellContent.displayName = \"UiShellContent\";\n\nexport { MemoizedUiShellContent as UiShellContent };\n"],"mappings":"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","ignoreList":[]}
|