@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.
Files changed (759) hide show
  1. package/dist/cjs/Autocomplete.cjs +1 -1
  2. package/dist/cjs/Autocomplete.cjs.map +1 -1
  3. package/dist/cjs/Breadcrumbs.cjs +23 -7
  4. package/dist/cjs/Breadcrumbs.cjs.map +1 -1
  5. package/dist/cjs/DatePickers/datePickerTheme.cjs +1 -1
  6. package/dist/cjs/DatePickers/datePickerTheme.cjs.map +1 -1
  7. package/dist/cjs/OdysseyProvider.cjs +2 -2
  8. package/dist/cjs/OdysseyProvider.cjs.map +1 -1
  9. package/dist/cjs/OdysseyThemeProvider.cjs +2 -2
  10. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  11. package/dist/cjs/hexToRgb.cjs.map +1 -1
  12. package/dist/cjs/properties/ts/odyssey-react-mui.cjs +1 -0
  13. package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
  14. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +1 -0
  15. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
  16. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +1 -0
  17. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
  18. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +1 -0
  19. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
  20. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +1 -0
  21. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
  22. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +1 -0
  23. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
  24. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +1 -0
  25. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
  26. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +1 -0
  27. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
  28. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +1 -0
  29. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
  30. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +1 -0
  31. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
  32. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +1 -0
  33. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
  34. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +1 -0
  35. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
  36. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +1 -0
  37. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
  38. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +1 -0
  39. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
  40. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +1 -0
  41. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
  42. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +1 -0
  43. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
  44. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +1 -0
  45. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
  46. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +1 -0
  47. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
  48. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +1 -0
  49. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
  50. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +1 -0
  51. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
  52. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +1 -0
  53. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
  54. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +1 -0
  55. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
  56. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +1 -0
  57. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
  58. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +1 -0
  59. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
  60. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +1 -0
  61. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
  62. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +1 -0
  63. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
  64. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +1 -0
  65. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
  66. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +1 -0
  67. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
  68. package/dist/cjs/theme/components.cjs +6 -0
  69. package/dist/cjs/theme/components.cjs.map +1 -1
  70. package/{src/theme/palette.types.ts → dist/cjs/theme/pxToRem.cjs} +10 -13
  71. package/dist/cjs/theme/pxToRem.cjs.map +1 -0
  72. package/dist/cjs/theme/theme.cjs +22 -0
  73. package/dist/cjs/theme/theme.cjs.map +1 -1
  74. package/dist/cjs/theme/useMediaQuery.cjs +34 -0
  75. package/dist/cjs/theme/useMediaQuery.cjs.map +1 -0
  76. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +3 -3
  77. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs.map +1 -1
  78. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +340 -0
  79. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -0
  80. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +64 -45
  81. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  82. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +8 -5
  83. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs.map +1 -1
  84. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +39 -11
  85. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
  86. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -1
  87. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
  88. package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs +14 -2
  89. package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs.map +1 -1
  90. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -1
  91. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
  92. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  93. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +37 -0
  94. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs.map +1 -0
  95. package/dist/cjs/ui-shell/TopNav/TopNav.cjs +5 -5
  96. package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
  97. package/dist/cjs/ui-shell/UiShell.cjs +37 -18
  98. package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
  99. package/dist/cjs/ui-shell/UiShellProvider.cjs +10 -3
  100. package/dist/cjs/ui-shell/UiShellProvider.cjs.map +1 -1
  101. package/dist/cjs/ui-shell/WideUiShellContent.cjs +171 -0
  102. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -0
  103. package/dist/cjs/ui-shell/index.cjs +36 -0
  104. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  105. package/dist/cjs/ui-shell/renderUiShell.cjs +19 -20
  106. package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
  107. package/{src/TagListContext.tsx → dist/cjs/ui-shell/uiShellContentTypes.cjs} +9 -12
  108. package/dist/cjs/ui-shell/uiShellContentTypes.cjs.map +1 -0
  109. package/dist/cjs/ui-shell/uiShellSharedConstants.cjs +22 -0
  110. package/dist/cjs/ui-shell/uiShellSharedConstants.cjs.map +1 -0
  111. package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs +108 -0
  112. package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs.map +1 -0
  113. package/dist/cjs/ui-shell/useScrollState.cjs +2 -4
  114. package/dist/cjs/ui-shell/useScrollState.cjs.map +1 -1
  115. package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs +41 -0
  116. package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs.map +1 -0
  117. package/dist/cjs/useContrastMode.cjs +1 -1
  118. package/dist/cjs/useContrastMode.cjs.map +1 -1
  119. package/dist/cjs/web-component/createReactRootElements.cjs.map +1 -1
  120. package/dist/cjs/web-component/renderReactInWebComponent.cjs +6 -1
  121. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  122. package/dist/esm/Autocomplete.js +1 -1
  123. package/dist/esm/Autocomplete.js.map +1 -1
  124. package/dist/esm/Breadcrumbs.js +23 -7
  125. package/dist/esm/Breadcrumbs.js.map +1 -1
  126. package/dist/esm/DatePickers/datePickerTheme.js +1 -1
  127. package/dist/esm/DatePickers/datePickerTheme.js.map +1 -1
  128. package/dist/esm/OdysseyProvider.js +2 -2
  129. package/dist/esm/OdysseyProvider.js.map +1 -1
  130. package/dist/esm/OdysseyThemeProvider.js +2 -2
  131. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  132. package/dist/esm/hexToRgb.js.map +1 -1
  133. package/dist/esm/properties/ts/odyssey-react-mui.js +1 -0
  134. package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
  135. package/dist/esm/properties/ts/odyssey-react-mui_cs.js +1 -0
  136. package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  137. package/dist/esm/properties/ts/odyssey-react-mui_da.js +1 -0
  138. package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
  139. package/dist/esm/properties/ts/odyssey-react-mui_de.js +1 -0
  140. package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
  141. package/dist/esm/properties/ts/odyssey-react-mui_el.js +1 -0
  142. package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
  143. package/dist/esm/properties/ts/odyssey-react-mui_es.js +1 -0
  144. package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
  145. package/dist/esm/properties/ts/odyssey-react-mui_fi.js +1 -0
  146. package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  147. package/dist/esm/properties/ts/odyssey-react-mui_fr.js +1 -0
  148. package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  149. package/dist/esm/properties/ts/odyssey-react-mui_ht.js +1 -0
  150. package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  151. package/dist/esm/properties/ts/odyssey-react-mui_hu.js +1 -0
  152. package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  153. package/dist/esm/properties/ts/odyssey-react-mui_id.js +1 -0
  154. package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
  155. package/dist/esm/properties/ts/odyssey-react-mui_it.js +1 -0
  156. package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
  157. package/dist/esm/properties/ts/odyssey-react-mui_ja.js +1 -0
  158. package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  159. package/dist/esm/properties/ts/odyssey-react-mui_ko.js +1 -0
  160. package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  161. package/dist/esm/properties/ts/odyssey-react-mui_ms.js +1 -0
  162. package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  163. package/dist/esm/properties/ts/odyssey-react-mui_nb.js +1 -0
  164. package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  165. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +1 -0
  166. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  167. package/dist/esm/properties/ts/odyssey-react-mui_pl.js +1 -0
  168. package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  169. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +1 -0
  170. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  171. package/dist/esm/properties/ts/odyssey-react-mui_ro.js +1 -0
  172. package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  173. package/dist/esm/properties/ts/odyssey-react-mui_ru.js +1 -0
  174. package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  175. package/dist/esm/properties/ts/odyssey-react-mui_sv.js +1 -0
  176. package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  177. package/dist/esm/properties/ts/odyssey-react-mui_th.js +1 -0
  178. package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
  179. package/dist/esm/properties/ts/odyssey-react-mui_tr.js +1 -0
  180. package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  181. package/dist/esm/properties/ts/odyssey-react-mui_uk.js +1 -0
  182. package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  183. package/dist/esm/properties/ts/odyssey-react-mui_vi.js +1 -0
  184. package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  185. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +1 -0
  186. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  187. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +1 -0
  188. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  189. package/dist/esm/theme/components.js +6 -0
  190. package/dist/esm/theme/components.js.map +1 -1
  191. package/{src/shadow-dom/index.ts → dist/esm/theme/pxToRem.js} +2 -1
  192. package/dist/esm/theme/pxToRem.js.map +1 -0
  193. package/dist/esm/theme/theme.js +2 -0
  194. package/dist/esm/theme/theme.js.map +1 -1
  195. package/{src/ui-shell/useHasUiShell.ts → dist/esm/theme/useMediaQuery.js} +13 -11
  196. package/dist/esm/theme/useMediaQuery.js.map +1 -0
  197. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +2 -2
  198. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js.map +1 -1
  199. package/dist/esm/ui-shell/NarrowUiShellContent.js +334 -0
  200. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -0
  201. package/dist/esm/ui-shell/SideNav/SideNav.js +63 -44
  202. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  203. package/dist/esm/ui-shell/SideNav/SideNavHeader.js +7 -4
  204. package/dist/esm/ui-shell/SideNav/SideNavHeader.js.map +1 -1
  205. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +40 -12
  206. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
  207. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -1
  208. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
  209. package/dist/esm/ui-shell/SideNav/SideNavLogo.js +14 -2
  210. package/dist/esm/ui-shell/SideNav/SideNavLogo.js.map +1 -1
  211. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -1
  212. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
  213. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  214. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +32 -0
  215. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js.map +1 -0
  216. package/dist/esm/ui-shell/TopNav/TopNav.js +2 -2
  217. package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
  218. package/dist/esm/ui-shell/UiShell.js +37 -18
  219. package/dist/esm/ui-shell/UiShell.js.map +1 -1
  220. package/dist/esm/ui-shell/UiShellProvider.js +10 -3
  221. package/dist/esm/ui-shell/UiShellProvider.js.map +1 -1
  222. package/dist/esm/ui-shell/WideUiShellContent.js +165 -0
  223. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -0
  224. package/dist/esm/ui-shell/index.js +3 -0
  225. package/dist/esm/ui-shell/index.js.map +1 -1
  226. package/dist/esm/ui-shell/renderUiShell.js +19 -20
  227. package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
  228. package/{src/DataTable/constants.ts → dist/esm/ui-shell/uiShellContentTypes.js} +3 -2
  229. package/dist/esm/ui-shell/uiShellContentTypes.js.map +1 -0
  230. package/{src/CssBaseline.tsx → dist/esm/ui-shell/uiShellSharedConstants.js} +7 -11
  231. package/dist/esm/ui-shell/uiShellSharedConstants.js.map +1 -0
  232. package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js +99 -0
  233. package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js.map +1 -0
  234. package/dist/esm/ui-shell/useScrollState.js +3 -5
  235. package/dist/esm/ui-shell/useScrollState.js.map +1 -1
  236. package/dist/esm/ui-shell/useUiShellBreakpoints.js +34 -0
  237. package/dist/esm/ui-shell/useUiShellBreakpoints.js.map +1 -0
  238. package/dist/esm/useContrastMode.js +2 -2
  239. package/dist/esm/useContrastMode.js.map +1 -1
  240. package/dist/esm/web-component/createReactRootElements.js.map +1 -1
  241. package/dist/esm/web-component/renderReactInWebComponent.js +6 -1
  242. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  243. package/dist/index.cjs +1 -1
  244. package/dist/index.mjs +1 -1
  245. package/dist/index.scss +1 -1
  246. package/dist/tsconfig.production.tsbuildinfo +1 -1
  247. package/dist/types/Autocomplete.d.ts +1 -1
  248. package/dist/types/Breadcrumbs.d.ts +4 -3
  249. package/dist/types/Breadcrumbs.d.ts.map +1 -1
  250. package/dist/types/OdysseyProvider.d.ts +1 -1
  251. package/dist/types/OdysseyProvider.d.ts.map +1 -1
  252. package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
  253. package/dist/types/OdysseyTranslationProvider.d.ts +1 -1
  254. package/dist/types/OdysseyTranslationProvider.d.ts.map +1 -1
  255. package/dist/types/hexToRgb.d.ts.map +1 -1
  256. package/dist/types/i18n.d.ts +28 -0
  257. package/dist/types/i18n.d.ts.map +1 -1
  258. package/dist/types/properties/ts/odyssey-react-mui.d.ts +1 -0
  259. package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  260. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +1 -0
  261. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  262. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +1 -0
  263. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  264. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +1 -0
  265. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  266. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +1 -0
  267. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  268. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +1 -0
  269. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  270. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +1 -0
  271. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  272. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +1 -0
  273. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  274. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +1 -0
  275. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  276. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +1 -0
  277. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  278. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +1 -0
  279. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  280. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +1 -0
  281. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  282. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +1 -0
  283. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  284. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +1 -0
  285. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  286. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +1 -0
  287. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  288. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +1 -0
  289. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  290. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +1 -0
  291. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  292. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +1 -0
  293. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  294. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +1 -0
  295. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  296. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +1 -0
  297. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  298. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +1 -0
  299. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  300. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +1 -0
  301. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  302. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +1 -0
  303. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  304. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +1 -0
  305. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  306. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +1 -0
  307. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  308. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +1 -0
  309. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  310. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +1 -0
  311. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  312. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +1 -0
  313. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  314. package/dist/types/theme/components.d.ts.map +1 -1
  315. package/{src/DatePickers/index.ts → dist/types/theme/pxToRem.d.ts} +3 -5
  316. package/dist/types/theme/pxToRem.d.ts.map +1 -0
  317. package/dist/types/theme/theme.d.ts +2 -0
  318. package/dist/types/theme/theme.d.ts.map +1 -1
  319. package/{src/web-component/index.ts → dist/types/theme/useMediaQuery.d.ts} +2 -2
  320. package/dist/types/theme/useMediaQuery.d.ts.map +1 -0
  321. package/dist/types/ui-shell/AppSwitcher/AppSwitcher.d.ts.map +1 -1
  322. package/dist/types/ui-shell/NarrowUiShellContent.d.ts +17 -0
  323. package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -0
  324. package/dist/types/ui-shell/SideNav/SideNav.d.ts +1 -3
  325. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  326. package/dist/types/ui-shell/SideNav/SideNavHeader.d.ts.map +1 -1
  327. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +9 -7
  328. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
  329. package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts +1 -1
  330. package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
  331. package/dist/types/ui-shell/SideNav/SideNavLogo.d.ts.map +1 -1
  332. package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
  333. package/dist/types/ui-shell/SideNav/types.d.ts +12 -2
  334. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  335. package/{src/Buttons/ButtonContext.tsx → dist/types/ui-shell/TopNav/HamburgerMenuIcon.d.ts} +5 -12
  336. package/dist/types/ui-shell/TopNav/HamburgerMenuIcon.d.ts.map +1 -0
  337. package/dist/types/ui-shell/TopNav/TopNav.d.ts +0 -1
  338. package/dist/types/ui-shell/TopNav/TopNav.d.ts.map +1 -1
  339. package/dist/types/ui-shell/UiShell.d.ts +20 -7
  340. package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
  341. package/dist/types/ui-shell/UiShellProvider.d.ts +8 -6
  342. package/dist/types/ui-shell/UiShellProvider.d.ts.map +1 -1
  343. package/{src/Buttons/index.ts → dist/types/ui-shell/WideUiShellContent.d.ts} +5 -14
  344. package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -0
  345. package/dist/types/ui-shell/index.d.ts +3 -1
  346. package/dist/types/ui-shell/index.d.ts.map +1 -1
  347. package/dist/types/ui-shell/renderUiShell.d.ts +7 -11
  348. package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
  349. package/dist/types/ui-shell/uiShellContentTypes.d.ts +96 -0
  350. package/dist/types/ui-shell/uiShellContentTypes.d.ts.map +1 -0
  351. package/{src/@types/i18next.d.ts → dist/types/ui-shell/uiShellSharedConstants.d.ts} +7 -14
  352. package/dist/types/ui-shell/uiShellSharedConstants.d.ts.map +1 -0
  353. package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts +38 -0
  354. package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts.map +1 -0
  355. package/dist/types/ui-shell/useScrollState.d.ts +0 -1
  356. package/dist/types/ui-shell/useScrollState.d.ts.map +1 -1
  357. package/{src/FieldsetContext.tsx → dist/types/ui-shell/useUiShellBreakpoints.d.ts} +7 -12
  358. package/dist/types/ui-shell/useUiShellBreakpoints.d.ts.map +1 -0
  359. package/dist/types/web-component/createReactRootElements.d.ts +6 -4
  360. package/dist/types/web-component/createReactRootElements.d.ts.map +1 -1
  361. package/dist/types/web-component/renderReactInWebComponent.d.ts +12 -5
  362. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  363. package/package.json +4 -4
  364. package/.browserslistrc +0 -1
  365. package/.svgrrc.cjs +0 -13
  366. package/CHANGELOG.md +0 -1490
  367. package/babel.config.cjs +0 -112
  368. package/dist/cjs/ui-shell/UiShellContent.cjs +0 -226
  369. package/dist/cjs/ui-shell/UiShellContent.cjs.map +0 -1
  370. package/dist/esm/ui-shell/UiShellContent.js +0 -220
  371. package/dist/esm/ui-shell/UiShellContent.js.map +0 -1
  372. package/dist/types/ui-shell/UiShellContent.d.ts +0 -76
  373. package/dist/types/ui-shell/UiShellContent.d.ts.map +0 -1
  374. package/i18n.config.json +0 -10
  375. package/scripts/generateIconsIndex.ts +0 -49
  376. package/scripts/generateTestSelectorsJson.ts +0 -33
  377. package/scripts/properties-to-ts.ts +0 -111
  378. package/src/@types/properties.d.ts +0 -292
  379. package/src/@types/react-augment.d.ts +0 -22
  380. package/src/Accordion.tsx +0 -117
  381. package/src/Autocomplete.tsx +0 -321
  382. package/src/Badge.tsx +0 -112
  383. package/src/Banner.tsx +0 -112
  384. package/src/Box.tsx +0 -44
  385. package/src/Breadcrumbs.tsx +0 -221
  386. package/src/Buttons/BaseButton.tsx +0 -250
  387. package/src/Buttons/BaseMenuButton.tsx +0 -342
  388. package/src/Buttons/Button.tsx +0 -30
  389. package/src/Buttons/MenuButton.tsx +0 -33
  390. package/src/Buttons/MenuContext.ts +0 -25
  391. package/src/Buttons/MenuItem.tsx +0 -103
  392. package/src/Callout.tsx +0 -176
  393. package/src/Card.tsx +0 -186
  394. package/src/Checkbox.tsx +0 -261
  395. package/src/CheckboxGroup.tsx +0 -127
  396. package/src/CircularProgress.tsx +0 -42
  397. package/src/DataTable/DataTable.tsx +0 -968
  398. package/src/DataTable/DataTableRowActions.tsx +0 -132
  399. package/src/DataTable/DataTableSettings.tsx +0 -136
  400. package/src/DataTable/index.tsx +0 -28
  401. package/src/DataTable/reorderDataRowsLocally.tsx +0 -48
  402. package/src/DataTable/useRowReordering.tsx +0 -232
  403. package/src/DataTable/useScrollIndication.tsx +0 -125
  404. package/src/DatePickers/DateField.tsx +0 -267
  405. package/src/DatePickers/DateFieldActionBar.tsx +0 -65
  406. package/src/DatePickers/DateFieldLocalizationProvider.tsx +0 -46
  407. package/src/DatePickers/DatePicker.test.tsx +0 -66
  408. package/src/DatePickers/DatePicker.tsx +0 -299
  409. package/src/DatePickers/DatePicker.types.d.ts +0 -14
  410. package/src/DatePickers/TimeZonePicker.tsx +0 -59
  411. package/src/DatePickers/datePickerTheme.tsx +0 -377
  412. package/src/DatePickers/useDateFieldsTranslations.ts +0 -94
  413. package/src/DatePickers/useOdysseyDateFields.ts +0 -303
  414. package/src/Dialog.tsx +0 -178
  415. package/src/Drawer.tsx +0 -255
  416. package/src/EmptyState.tsx +0 -79
  417. package/src/ErrorMessageList.tsx +0 -56
  418. package/src/Field.tsx +0 -189
  419. package/src/FieldComponentProps.ts +0 -66
  420. package/src/FieldError.tsx +0 -59
  421. package/src/FieldHint.tsx +0 -72
  422. package/src/FieldLabel.tsx +0 -67
  423. package/src/Fieldset.tsx +0 -116
  424. package/src/FileUploader/FileUploadIllustration.tsx +0 -66
  425. package/src/FileUploader/FileUploadPreview.tsx +0 -151
  426. package/src/FileUploader/FileUploader.tsx +0 -311
  427. package/src/FileUploader/index.ts +0 -13
  428. package/src/Form.tsx +0 -185
  429. package/src/FormCheckedProps.ts +0 -59
  430. package/src/HintLink.tsx +0 -28
  431. package/src/HtmlProps.ts +0 -112
  432. package/src/IconWithTooltip.tsx +0 -90
  433. package/src/Link.tsx +0 -115
  434. package/src/MuiPropsChild.tsx +0 -42
  435. package/src/MuiPropsContext.ts +0 -18
  436. package/src/NativeSelect.tsx +0 -249
  437. package/src/NullElement.tsx +0 -13
  438. package/src/OdysseyCacheProvider.test.tsx +0 -39
  439. package/src/OdysseyCacheProvider.tsx +0 -86
  440. package/src/OdysseyDesignTokensContext.tsx +0 -23
  441. package/src/OdysseyProvider.tsx +0 -92
  442. package/src/OdysseyThemeProvider.test.tsx +0 -211
  443. package/src/OdysseyThemeProvider.tsx +0 -109
  444. package/src/OdysseyTranslationProvider.test.tsx +0 -95
  445. package/src/OdysseyTranslationProvider.tsx +0 -77
  446. package/src/OdysseyTranslationProvider.types.ts +0 -47
  447. package/src/Pagination/Pagination.test.tsx +0 -327
  448. package/src/Pagination/Pagination.tsx +0 -417
  449. package/src/Pagination/constants.ts +0 -13
  450. package/src/Pagination/index.ts +0 -15
  451. package/src/Pagination/usePagination.ts +0 -45
  452. package/src/PasswordField.tsx +0 -253
  453. package/src/Radio.tsx +0 -199
  454. package/src/RadioGroup.tsx +0 -164
  455. package/src/ScreenReaderText.tsx +0 -53
  456. package/src/SearchField.tsx +0 -240
  457. package/src/Select.tsx +0 -576
  458. package/src/Stack.tsx +0 -56
  459. package/src/Status.tsx +0 -67
  460. package/src/Surface.tsx +0 -61
  461. package/src/SvgIcon.ts +0 -22
  462. package/src/Switch.tsx +0 -425
  463. package/src/Tabs.tsx +0 -259
  464. package/src/Tag.tsx +0 -317
  465. package/src/TagList.tsx +0 -55
  466. package/src/TextField.tsx +0 -298
  467. package/src/Toast.tsx +0 -151
  468. package/src/ToastStack.tsx +0 -43
  469. package/src/Tooltip.tsx +0 -61
  470. package/src/Typography.test.tsx +0 -26
  471. package/src/Typography.tsx +0 -474
  472. package/src/createContrastColors.ts +0 -112
  473. package/src/createUniqueAlphabeticalId.test.ts +0 -22
  474. package/src/createUniqueAlphabeticalId.ts +0 -17
  475. package/src/createUniqueId.test.ts +0 -22
  476. package/src/createUniqueId.ts +0 -17
  477. package/src/getTypedObjectKeys.ts +0 -15
  478. package/src/hexToRgb.ts +0 -40
  479. package/src/i18n.ts +0 -110
  480. package/src/icons.generated/Add.tsx +0 -44
  481. package/src/icons.generated/AddCircle.tsx +0 -46
  482. package/src/icons.generated/Apps.tsx +0 -44
  483. package/src/icons.generated/ArrowBottom.tsx +0 -46
  484. package/src/icons.generated/ArrowDown.tsx +0 -46
  485. package/src/icons.generated/ArrowLeft.tsx +0 -46
  486. package/src/icons.generated/ArrowLowerLeft.tsx +0 -46
  487. package/src/icons.generated/ArrowLowerRight.tsx +0 -46
  488. package/src/icons.generated/ArrowRight.tsx +0 -46
  489. package/src/icons.generated/ArrowTop.tsx +0 -46
  490. package/src/icons.generated/ArrowUnsorted.tsx +0 -46
  491. package/src/icons.generated/ArrowUp.tsx +0 -46
  492. package/src/icons.generated/ArrowUpperLeft.tsx +0 -46
  493. package/src/icons.generated/ArrowUpperRight.tsx +0 -46
  494. package/src/icons.generated/Bug.tsx +0 -44
  495. package/src/icons.generated/Calendar.tsx +0 -46
  496. package/src/icons.generated/Call.tsx +0 -44
  497. package/src/icons.generated/Chat.tsx +0 -44
  498. package/src/icons.generated/Check.tsx +0 -44
  499. package/src/icons.generated/CheckCircleFilled.tsx +0 -47
  500. package/src/icons.generated/ChevronDown.tsx +0 -46
  501. package/src/icons.generated/ChevronLeft.tsx +0 -46
  502. package/src/icons.generated/ChevronRight.tsx +0 -46
  503. package/src/icons.generated/ChevronUp.tsx +0 -46
  504. package/src/icons.generated/Clock.tsx +0 -44
  505. package/src/icons.generated/Close.tsx +0 -44
  506. package/src/icons.generated/CloseCircleFilled.tsx +0 -47
  507. package/src/icons.generated/CollapseLeft.tsx +0 -46
  508. package/src/icons.generated/CollapseRight.tsx +0 -46
  509. package/src/icons.generated/Copy.tsx +0 -44
  510. package/src/icons.generated/Custom.tsx +0 -50
  511. package/src/icons.generated/DangerDiamond.tsx +0 -46
  512. package/src/icons.generated/DangerDiamondFilled.tsx +0 -47
  513. package/src/icons.generated/Delete.tsx +0 -44
  514. package/src/icons.generated/Deny.tsx +0 -44
  515. package/src/icons.generated/Devices.tsx +0 -46
  516. package/src/icons.generated/Directory.tsx +0 -46
  517. package/src/icons.generated/Documentation.tsx +0 -46
  518. package/src/icons.generated/Download.tsx +0 -46
  519. package/src/icons.generated/DragIndicator.tsx +0 -46
  520. package/src/icons.generated/Duo.tsx +0 -62
  521. package/src/icons.generated/Edit.tsx +0 -44
  522. package/src/icons.generated/Email.tsx +0 -49
  523. package/src/icons.generated/ExpandLeft.tsx +0 -46
  524. package/src/icons.generated/ExpandRight.tsx +0 -46
  525. package/src/icons.generated/ExternalLink.tsx +0 -44
  526. package/src/icons.generated/Fido2.tsx +0 -72
  527. package/src/icons.generated/Filter.tsx +0 -44
  528. package/src/icons.generated/Folder.tsx +0 -44
  529. package/src/icons.generated/Globe.tsx +0 -44
  530. package/src/icons.generated/GoogleAuth.tsx +0 -70
  531. package/src/icons.generated/Grid.tsx +0 -47
  532. package/src/icons.generated/Group.tsx +0 -44
  533. package/src/icons.generated/Hide.tsx +0 -44
  534. package/src/icons.generated/Home.tsx +0 -44
  535. package/src/icons.generated/Idp.tsx +0 -54
  536. package/src/icons.generated/InformationCircle.tsx +0 -47
  537. package/src/icons.generated/InformationCircleFilled.tsx +0 -47
  538. package/src/icons.generated/Link.tsx +0 -44
  539. package/src/icons.generated/List.tsx +0 -44
  540. package/src/icons.generated/Lock.tsx +0 -44
  541. package/src/icons.generated/More.tsx +0 -44
  542. package/src/icons.generated/Notification.tsx +0 -46
  543. package/src/icons.generated/OktaVerify.tsx +0 -46
  544. package/src/icons.generated/OnPremMfa.tsx +0 -52
  545. package/src/icons.generated/OneTimePassword.tsx +0 -65
  546. package/src/icons.generated/Password.tsx +0 -80
  547. package/src/icons.generated/Pause.tsx +0 -44
  548. package/src/icons.generated/QuestionCircle.tsx +0 -46
  549. package/src/icons.generated/QuestionCircleFilled.tsx +0 -47
  550. package/src/icons.generated/Refresh.tsx +0 -46
  551. package/src/icons.generated/Reset.tsx +0 -44
  552. package/src/icons.generated/Resume.tsx +0 -44
  553. package/src/icons.generated/Search.tsx +0 -44
  554. package/src/icons.generated/SecurityQuestion.tsx +0 -51
  555. package/src/icons.generated/Server.tsx +0 -44
  556. package/src/icons.generated/Settings.tsx +0 -46
  557. package/src/icons.generated/Show.tsx +0 -44
  558. package/src/icons.generated/SmartCard.tsx +0 -65
  559. package/src/icons.generated/Sms.tsx +0 -55
  560. package/src/icons.generated/Subtract.tsx +0 -46
  561. package/src/icons.generated/SymantecVip.tsx +0 -52
  562. package/src/icons.generated/Sync.tsx +0 -44
  563. package/src/icons.generated/ThumbsDown.tsx +0 -46
  564. package/src/icons.generated/ThumbsUp.tsx +0 -46
  565. package/src/icons.generated/Unlock.tsx +0 -44
  566. package/src/icons.generated/Upload.tsx +0 -44
  567. package/src/icons.generated/User.tsx +0 -44
  568. package/src/icons.generated/Video.tsx +0 -44
  569. package/src/icons.generated/VoiceCall.tsx +0 -62
  570. package/src/icons.generated/Warning.tsx +0 -46
  571. package/src/icons.generated/WarningFilled.tsx +0 -46
  572. package/src/icons.generated/Yubikey.tsx +0 -44
  573. package/src/icons.generated/index.ts +0 -107
  574. package/src/index.ts +0 -118
  575. package/src/inputUtils.ts +0 -80
  576. package/src/labs/AppTile.tsx +0 -421
  577. package/src/labs/DataFilters.tsx +0 -871
  578. package/src/labs/DataTable.tsx +0 -877
  579. package/src/labs/DataTablePagination.tsx +0 -88
  580. package/src/labs/DataView/BulkActionsMenu.tsx +0 -98
  581. package/src/labs/DataView/CardLayoutContent.tsx +0 -272
  582. package/src/labs/DataView/DataCard.tsx +0 -357
  583. package/src/labs/DataView/DataTable.tsx +0 -128
  584. package/src/labs/DataView/DataView.test.tsx +0 -1168
  585. package/src/labs/DataView/DataView.tsx +0 -504
  586. package/src/labs/DataView/DetailPanel.tsx +0 -31
  587. package/src/labs/DataView/LayoutSwitcher.tsx +0 -72
  588. package/src/labs/DataView/RowActions.tsx +0 -125
  589. package/src/labs/DataView/TableLayoutContent.tsx +0 -500
  590. package/src/labs/DataView/TableSettings.tsx +0 -144
  591. package/src/labs/DataView/componentTypes.ts +0 -129
  592. package/src/labs/DataView/constants.tsx +0 -28
  593. package/src/labs/DataView/dataTypes.ts +0 -83
  594. package/src/labs/DataView/fetchData.ts +0 -49
  595. package/src/labs/DataView/index.ts +0 -19
  596. package/src/labs/DataView/tableConstants.tsx +0 -137
  597. package/src/labs/DataView/testSupportData.tsx +0 -301
  598. package/src/labs/DataView/useFilterConversion.ts +0 -88
  599. package/src/labs/DatePickers/DateTimeField.tsx +0 -267
  600. package/src/labs/DatePickers/DateTimePicker.test.tsx +0 -70
  601. package/src/labs/DatePickers/DateTimePicker.tsx +0 -303
  602. package/src/labs/DatePickers/dateTimePickerTheme.ts +0 -216
  603. package/src/labs/DatePickers/index.ts +0 -13
  604. package/src/labs/GroupPicker.tsx +0 -261
  605. package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +0 -32
  606. package/src/labs/OdysseyPickers/ComposablePicker.tsx +0 -188
  607. package/src/labs/OdysseyPickers/Picker.tsx +0 -381
  608. package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +0 -192
  609. package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +0 -429
  610. package/src/labs/OdysseyPickers/index.ts +0 -15
  611. package/src/labs/PageTemplate/Layout.tsx +0 -85
  612. package/src/labs/PageTemplate/PageTemplate.tsx +0 -234
  613. package/src/labs/PageTemplate/index.ts +0 -14
  614. package/src/labs/PaginatedTable.tsx +0 -290
  615. package/src/labs/README.md +0 -46
  616. package/src/labs/StaticTable.tsx +0 -131
  617. package/src/labs/UserProfile.tsx +0 -104
  618. package/src/labs/UserProfileMenuButton.tsx +0 -86
  619. package/src/labs/index.ts +0 -47
  620. package/src/labs/materialReactTableTypes.tsx +0 -19
  621. package/src/properties/odyssey-react-mui.properties +0 -140
  622. package/src/properties/translations/odyssey-react-mui_cs.properties +0 -140
  623. package/src/properties/translations/odyssey-react-mui_da.properties +0 -140
  624. package/src/properties/translations/odyssey-react-mui_de.properties +0 -140
  625. package/src/properties/translations/odyssey-react-mui_el.properties +0 -140
  626. package/src/properties/translations/odyssey-react-mui_es.properties +0 -140
  627. package/src/properties/translations/odyssey-react-mui_fi.properties +0 -140
  628. package/src/properties/translations/odyssey-react-mui_fr.properties +0 -140
  629. package/src/properties/translations/odyssey-react-mui_ht.properties +0 -140
  630. package/src/properties/translations/odyssey-react-mui_hu.properties +0 -140
  631. package/src/properties/translations/odyssey-react-mui_id.properties +0 -140
  632. package/src/properties/translations/odyssey-react-mui_it.properties +0 -140
  633. package/src/properties/translations/odyssey-react-mui_ja.properties +0 -140
  634. package/src/properties/translations/odyssey-react-mui_ko.properties +0 -140
  635. package/src/properties/translations/odyssey-react-mui_ms.properties +0 -140
  636. package/src/properties/translations/odyssey-react-mui_nb.properties +0 -140
  637. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +0 -140
  638. package/src/properties/translations/odyssey-react-mui_ok_PL.properties +0 -126
  639. package/src/properties/translations/odyssey-react-mui_ok_SK.properties +0 -126
  640. package/src/properties/translations/odyssey-react-mui_pl.properties +0 -140
  641. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +0 -140
  642. package/src/properties/translations/odyssey-react-mui_ro.properties +0 -140
  643. package/src/properties/translations/odyssey-react-mui_ru.properties +0 -140
  644. package/src/properties/translations/odyssey-react-mui_sv.properties +0 -140
  645. package/src/properties/translations/odyssey-react-mui_th.properties +0 -140
  646. package/src/properties/translations/odyssey-react-mui_tr.properties +0 -140
  647. package/src/properties/translations/odyssey-react-mui_uk.properties +0 -140
  648. package/src/properties/translations/odyssey-react-mui_vi.properties +0 -140
  649. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +0 -140
  650. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +0 -140
  651. package/src/properties/ts/odyssey-react-mui.ts +0 -1
  652. package/src/properties/ts/odyssey-react-mui_cs.ts +0 -1
  653. package/src/properties/ts/odyssey-react-mui_da.ts +0 -1
  654. package/src/properties/ts/odyssey-react-mui_de.ts +0 -1
  655. package/src/properties/ts/odyssey-react-mui_el.ts +0 -1
  656. package/src/properties/ts/odyssey-react-mui_es.ts +0 -1
  657. package/src/properties/ts/odyssey-react-mui_fi.ts +0 -1
  658. package/src/properties/ts/odyssey-react-mui_fr.ts +0 -1
  659. package/src/properties/ts/odyssey-react-mui_ht.ts +0 -1
  660. package/src/properties/ts/odyssey-react-mui_hu.ts +0 -1
  661. package/src/properties/ts/odyssey-react-mui_id.ts +0 -1
  662. package/src/properties/ts/odyssey-react-mui_it.ts +0 -1
  663. package/src/properties/ts/odyssey-react-mui_ja.ts +0 -1
  664. package/src/properties/ts/odyssey-react-mui_ko.ts +0 -1
  665. package/src/properties/ts/odyssey-react-mui_ms.ts +0 -1
  666. package/src/properties/ts/odyssey-react-mui_nb.ts +0 -1
  667. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +0 -1
  668. package/src/properties/ts/odyssey-react-mui_ok_PL.ts +0 -1
  669. package/src/properties/ts/odyssey-react-mui_ok_SK.ts +0 -1
  670. package/src/properties/ts/odyssey-react-mui_pl.ts +0 -1
  671. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +0 -1
  672. package/src/properties/ts/odyssey-react-mui_ro.ts +0 -1
  673. package/src/properties/ts/odyssey-react-mui_ru.ts +0 -1
  674. package/src/properties/ts/odyssey-react-mui_sv.ts +0 -1
  675. package/src/properties/ts/odyssey-react-mui_th.ts +0 -1
  676. package/src/properties/ts/odyssey-react-mui_tr.ts +0 -1
  677. package/src/properties/ts/odyssey-react-mui_uk.ts +0 -1
  678. package/src/properties/ts/odyssey-react-mui_vi.ts +0 -1
  679. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +0 -1
  680. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +0 -1
  681. package/src/remUtils.ts +0 -27
  682. package/src/shadow-dom/shadow-dom.test.ts +0 -24
  683. package/src/shadow-dom/shadow-dom.ts +0 -54
  684. package/src/test-selectors/getByQuerySelector.ts +0 -176
  685. package/src/test-selectors/getComputedAccessibleErrorMessageText.ts +0 -52
  686. package/src/test-selectors/getComputedAccessibleText.ts +0 -36
  687. package/src/test-selectors/index.ts +0 -15
  688. package/src/test-selectors/interpolateString.ts +0 -41
  689. package/src/test-selectors/linkedHtmlSelectors.ts +0 -73
  690. package/src/test-selectors/queryOdysseySelector.ts +0 -36
  691. package/src/test-selectors/querySelector.ts +0 -249
  692. package/src/test-selectors/sanityChecks.ts +0 -53
  693. package/src/test-selectors/testSelector.ts +0 -143
  694. package/src/theme/components.tsx +0 -3275
  695. package/src/theme/components.types.ts +0 -111
  696. package/src/theme/createOdysseyMuiTheme.ts +0 -54
  697. package/src/theme/index.ts +0 -13
  698. package/src/theme/mixins.ts +0 -29
  699. package/src/theme/mixins.types.ts +0 -31
  700. package/src/theme/palette.ts +0 -112
  701. package/src/theme/shape.ts +0 -31
  702. package/src/theme/spacing.ts +0 -34
  703. package/src/theme/theme.ts +0 -13
  704. package/src/theme/typography.ts +0 -137
  705. package/src/theme/typography.types.ts +0 -41
  706. package/src/theme/useContrastMode.test.tsx +0 -504
  707. package/src/ui-shell/AppSwitcher/AppSwitcher.tsx +0 -94
  708. package/src/ui-shell/AppSwitcher/AppSwitcherApp.tsx +0 -146
  709. package/src/ui-shell/AppSwitcher/OktaAura.tsx +0 -50
  710. package/src/ui-shell/AppSwitcher/index.ts +0 -13
  711. package/src/ui-shell/SideNav/CollapseIcon.tsx +0 -34
  712. package/src/ui-shell/SideNav/HandleIcon.tsx +0 -35
  713. package/src/ui-shell/SideNav/NavAccordion.tsx +0 -243
  714. package/src/ui-shell/SideNav/OktaLogo.tsx +0 -34
  715. package/src/ui-shell/SideNav/SideNav.test.tsx +0 -326
  716. package/src/ui-shell/SideNav/SideNav.tsx +0 -810
  717. package/src/ui-shell/SideNav/SideNavFooterContent.tsx +0 -85
  718. package/src/ui-shell/SideNav/SideNavHeader.tsx +0 -134
  719. package/src/ui-shell/SideNav/SideNavItemContent.tsx +0 -402
  720. package/src/ui-shell/SideNav/SideNavItemContentContext.tsx +0 -29
  721. package/src/ui-shell/SideNav/SideNavItemLinkContent.tsx +0 -90
  722. package/src/ui-shell/SideNav/SideNavLogo.tsx +0 -65
  723. package/src/ui-shell/SideNav/SideNavToggleButton.tsx +0 -272
  724. package/src/ui-shell/SideNav/SortableList/SortableItem.tsx +0 -237
  725. package/src/ui-shell/SideNav/SortableList/SortableList.tsx +0 -132
  726. package/src/ui-shell/SideNav/SortableList/SortableOverlay.tsx +0 -34
  727. package/src/ui-shell/SideNav/index.ts +0 -16
  728. package/src/ui-shell/SideNav/types.ts +0 -224
  729. package/src/ui-shell/TopNav/TopNav.tsx +0 -109
  730. package/src/ui-shell/TopNav/TopNavLinksList.tsx +0 -68
  731. package/src/ui-shell/TopNav/TopNavListItem.tsx +0 -209
  732. package/src/ui-shell/TopNav/index.ts +0 -13
  733. package/src/ui-shell/UiShell.test.tsx +0 -366
  734. package/src/ui-shell/UiShell.tsx +0 -153
  735. package/src/ui-shell/UiShellContent.tsx +0 -350
  736. package/src/ui-shell/UiShellProvider.tsx +0 -103
  737. package/src/ui-shell/bufferLatest.test.ts +0 -79
  738. package/src/ui-shell/bufferLatest.ts +0 -64
  739. package/src/ui-shell/createMessageBus.test.ts +0 -115
  740. package/src/ui-shell/createMessageBus.ts +0 -53
  741. package/src/ui-shell/createStore.test.ts +0 -103
  742. package/src/ui-shell/createStore.ts +0 -37
  743. package/src/ui-shell/index.ts +0 -21
  744. package/src/ui-shell/renderUiShell.test.tsx +0 -203
  745. package/src/ui-shell/renderUiShell.tsx +0 -158
  746. package/src/ui-shell/useScrollState.ts +0 -59
  747. package/src/useAutocomplete.tsx +0 -184
  748. package/src/useContrastMode.tsx +0 -143
  749. package/src/useNormalizedKey.ts +0 -17
  750. package/src/useUniqueAlphabeticalId.ts +0 -21
  751. package/src/useUniqueId.ts +0 -21
  752. package/src/web-component/createReactRootElements.test.ts +0 -40
  753. package/src/web-component/createReactRootElements.ts +0 -39
  754. package/src/web-component/renderReactInWebComponent.test.tsx +0 -128
  755. package/src/web-component/renderReactInWebComponent.ts +0 -135
  756. package/tsconfig.json +0 -16
  757. package/tsconfig.production.json +0 -13
  758. package/vitest.config.ts +0 -36
  759. package/vitest.setup.ts +0 -32
@@ -14,8 +14,8 @@ import styled from "@emotion/styled";
14
14
  import { memo } from "react";
15
15
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
16
16
  import { useUiShellContext } from "../../ui-shell/UiShellProvider.js";
17
+ import { TOP_NAV_HEIGHT, UI_SHELL_BASE_Z_INDEX } from "../uiShellSharedConstants.js";
17
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
- export const TOP_NAV_HEIGHT = `${64 / 14}rem`;
19
19
  const StyledLeftSideContainer = styled("div")(() => ({
20
20
  flexGrow: 1
21
21
  }));
@@ -43,7 +43,7 @@ const StyledTopNavContainer = styled("div", {
43
43
  paddingInline: odysseyDesignTokens.Spacing8,
44
44
  position: "relative",
45
45
  transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,
46
- zIndex: 100,
46
+ zIndex: UI_SHELL_BASE_Z_INDEX,
47
47
  ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite && {
48
48
  borderBottom: `${odysseyDesignTokens.BorderWidthMain} ${odysseyDesignTokens.BorderStyleMain} ${odysseyDesignTokens.HueNeutral100}`
49
49
  })
@@ -1 +1 @@
1
- {"version":3,"file":"TopNav.js","names":["styled","memo","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","jsxs","_jsxs","TOP_NAV_HEIGHT","StyledLeftSideContainer","flexGrow","StyledRightSideContainer","flexShrink","StyledTopNavContainer","shouldForwardProp","prop","odysseyDesignTokens","isScrolled","topNavBackgroundColor","alignItems","backgroundColor","boxShadow","DepthMedium","undefined","clipPath","display","gap","Spacing4","height","justifyContent","maxHeight","minHeight","paddingBlock","Spacing2","paddingInline","Spacing8","position","transition","TransitionDurationMain","TransitionTimingMain","zIndex","HueNeutralWhite","borderBottom","BorderWidthMain","BorderStyleMain","HueNeutral100","TopNav","leftSideComponent","rightSideComponent","uiShellContext","children","MemoizedTopNav","displayName"],"sources":["../../../../src/ui-shell/TopNav/TopNav.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, type ReactElement } from \"react\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\n\nexport const TOP_NAV_HEIGHT = `${64 / 14}rem`;\n\nconst StyledLeftSideContainer = styled(\"div\")(() => ({\n flexGrow: 1,\n}));\n\nconst StyledRightSideContainer = styled(\"div\")(() => ({\n flexShrink: 0,\n}));\n\nconst StyledTopNavContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isScrolled, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n backgroundColor: topNavBackgroundColor,\n boxShadow: isScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing4,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing8,\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: 100,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite && {\n borderBottom: `${odysseyDesignTokens.BorderWidthMain} ${odysseyDesignTokens.BorderStyleMain} ${odysseyDesignTokens.HueNeutral100}`,\n }),\n}));\n\nexport type TopNavProps = {\n /**\n * Whether or not the underlying content has been scrolled\n */\n isScrolled?: boolean;\n /**\n * React components that render into the left side of the top nav.\n */\n leftSideComponent?: ReactElement;\n /**\n * React components that render into the right side of the top nav.\n */\n rightSideComponent?: ReactElement;\n} & Pick<HtmlProps, \"testId\">;\n\nconst TopNav = ({\n isScrolled,\n leftSideComponent,\n rightSideComponent,\n}: TopNavProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n return (\n <StyledTopNavContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isScrolled={isScrolled}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledLeftSideContainer>\n {leftSideComponent ?? <div />}\n </StyledLeftSideContainer>\n <StyledRightSideContainer>\n {rightSideComponent ?? <div />}\n </StyledRightSideContainer>\n </StyledTopNavContainer>\n );\n};\n\nconst MemoizedTopNav = memo(TopNav);\nMemoizedTopNav.displayName = \"TopNav\";\n\nexport { MemoizedTopNav as TopNav };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,QAA2B,OAAO;AAG/C,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAEEC,iBAAiB,QACZ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,OAAO,MAAMC,cAAc,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK;AAE7C,MAAMC,uBAAuB,GAAGT,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;EACnDU,QAAQ,EAAE;AACZ,CAAC,CAAC,CAAC;AAEH,MAAMC,wBAAwB,GAAGX,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;EACpDY,UAAU,EAAE;AACd,CAAC,CAAC,CAAC;AAEH,MAAMC,qBAAqB,GAAGb,MAAM,CAAC,KAAK,EAAE;EAC1Cc,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,YAAY,IACrBA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEC,mBAAmB;EAAEC,UAAU;EAAEC;AAAsB,CAAC,MAAM;EAClEC,UAAU,EAAE,QAAQ;EACpBC,eAAe,EAAEF,qBAAqB;EACtCG,SAAS,EAAEJ,UAAU,GAAGD,mBAAmB,CAACM,WAAW,GAAGC,SAAS;EACnEC,QAAQ,EAAE,qBAAqB;EAC/BC,OAAO,EAAE,MAAM;EACfC,GAAG,EAAEV,mBAAmB,CAACW,QAAQ;EACjCC,MAAM,EAAE,MAAM;EACdC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAEtB,cAAc;EACzBuB,SAAS,EAAEvB,cAAc;EACzBwB,YAAY,EAAEhB,mBAAmB,CAACiB,QAAQ;EAC1CC,aAAa,EAAElB,mBAAmB,CAACmB,QAAQ;EAC3CC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,cAAcrB,mBAAmB,CAACsB,sBAAsB,IAAItB,mBAAmB,CAACuB,oBAAoB,EAAE;EAClHC,MAAM,EAAE,GAAG;EAEX,IAAItB,qBAAqB,KAAKF,mBAAmB,CAACyB,eAAe,IAAI;IACnEC,YAAY,EAAE,GAAG1B,mBAAmB,CAAC2B,eAAe,IAAI3B,mBAAmB,CAAC4B,eAAe,IAAI5B,mBAAmB,CAAC6B,aAAa;EAClI,CAAC;AACH,CAAC,CAAC,CAAC;AAiBH,MAAMC,MAAM,GAAGA,CAAC;EACd7B,UAAU;EACV8B,iBAAiB;EACjBC;AACW,CAAC,KAAK;EACjB,MAAMhC,mBAAmB,GAAGd,sBAAsB,CAAC,CAAC;EACpD,MAAM+C,cAAc,GAAG9C,iBAAiB,CAAC,CAAC;EAE1C,OACEI,KAAA,CAACM,qBAAqB;IACpBG,mBAAmB,EAAEA,mBAAoB;IACzCC,UAAU,EAAEA,UAAW;IACvBC,qBAAqB,EAAE+B,cAAc,EAAE/B,qBAAsB;IAAAgC,QAAA,GAE7D7C,IAAA,CAACI,uBAAuB;MAAAyC,QAAA,EACrBH,iBAAiB,IAAI1C,IAAA,UAAM;IAAC,CACN,CAAC,EAC1BA,IAAA,CAACM,wBAAwB;MAAAuC,QAAA,EACtBF,kBAAkB,IAAI3C,IAAA,UAAM;IAAC,CACN,CAAC;EAAA,CACN,CAAC;AAE5B,CAAC;AAED,MAAM8C,cAAc,GAAGlD,IAAI,CAAC6C,MAAM,CAAC;AACnCK,cAAc,CAACC,WAAW,GAAG,QAAQ;AAErC,SAASD,cAAc,IAAIL,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"TopNav.js","names":["styled","memo","useOdysseyDesignTokens","useUiShellContext","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","jsx","_jsx","jsxs","_jsxs","StyledLeftSideContainer","flexGrow","StyledRightSideContainer","flexShrink","StyledTopNavContainer","shouldForwardProp","prop","odysseyDesignTokens","isScrolled","topNavBackgroundColor","alignItems","backgroundColor","boxShadow","DepthMedium","undefined","clipPath","display","gap","Spacing4","height","justifyContent","maxHeight","minHeight","paddingBlock","Spacing2","paddingInline","Spacing8","position","transition","TransitionDurationMain","TransitionTimingMain","zIndex","HueNeutralWhite","borderBottom","BorderWidthMain","BorderStyleMain","HueNeutral100","TopNav","leftSideComponent","rightSideComponent","uiShellContext","children","MemoizedTopNav","displayName"],"sources":["../../../../src/ui-shell/TopNav/TopNav.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, type ReactElement } from \"react\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.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 StyledLeftSideContainer = styled(\"div\")(() => ({\n flexGrow: 1,\n}));\n\nconst StyledRightSideContainer = styled(\"div\")(() => ({\n flexShrink: 0,\n}));\n\nconst StyledTopNavContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrolled\" &&\n prop !== \"topNavBackgroundColor\",\n})<{\n isScrolled?: boolean;\n odysseyDesignTokens: DesignTokens;\n topNavBackgroundColor?: UiShellColors[\"topNavBackgroundColor\"];\n}>(({ odysseyDesignTokens, isScrolled, topNavBackgroundColor }) => ({\n alignItems: \"center\",\n backgroundColor: topNavBackgroundColor,\n boxShadow: isScrolled ? odysseyDesignTokens.DepthMedium : undefined,\n clipPath: \"inset(0 0 -100vh 0)\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing4,\n height: \"100%\",\n justifyContent: \"space-between\",\n maxHeight: TOP_NAV_HEIGHT,\n minHeight: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing8,\n position: \"relative\",\n transition: `box-shadow ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n\n ...(topNavBackgroundColor === odysseyDesignTokens.HueNeutralWhite && {\n borderBottom: `${odysseyDesignTokens.BorderWidthMain} ${odysseyDesignTokens.BorderStyleMain} ${odysseyDesignTokens.HueNeutral100}`,\n }),\n}));\n\nexport type TopNavProps = {\n /**\n * Whether or not the underlying content has been scrolled\n */\n isScrolled?: boolean;\n /**\n * React components that render into the left side of the top nav.\n */\n leftSideComponent?: ReactElement;\n /**\n * React components that render into the right side of the top nav.\n */\n rightSideComponent?: ReactElement;\n} & Pick<HtmlProps, \"testId\">;\n\nconst TopNav = ({\n isScrolled,\n leftSideComponent,\n rightSideComponent,\n}: TopNavProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n return (\n <StyledTopNavContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isScrolled={isScrolled}\n topNavBackgroundColor={uiShellContext?.topNavBackgroundColor}\n >\n <StyledLeftSideContainer>\n {leftSideComponent ?? <div />}\n </StyledLeftSideContainer>\n <StyledRightSideContainer>\n {rightSideComponent ?? <div />}\n </StyledRightSideContainer>\n </StyledTopNavContainer>\n );\n};\n\nconst MemoizedTopNav = memo(TopNav);\nMemoizedTopNav.displayName = \"TopNav\";\n\nexport { MemoizedTopNav as TopNav };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,QAA2B,OAAO;AAG/C,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAEEC,iBAAiB,QACZ,mCAAmC;AAC1C,SACEC,cAAc,EACdC,qBAAqB,QAChB,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtC,MAAMC,uBAAuB,GAAGV,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;EACnDW,QAAQ,EAAE;AACZ,CAAC,CAAC,CAAC;AAEH,MAAMC,wBAAwB,GAAGZ,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;EACpDa,UAAU,EAAE;AACd,CAAC,CAAC,CAAC;AAEH,MAAMC,qBAAqB,GAAGd,MAAM,CAAC,KAAK,EAAE;EAC1Ce,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,YAAY,IACrBA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEC,mBAAmB;EAAEC,UAAU;EAAEC;AAAsB,CAAC,MAAM;EAClEC,UAAU,EAAE,QAAQ;EACpBC,eAAe,EAAEF,qBAAqB;EACtCG,SAAS,EAAEJ,UAAU,GAAGD,mBAAmB,CAACM,WAAW,GAAGC,SAAS;EACnEC,QAAQ,EAAE,qBAAqB;EAC/BC,OAAO,EAAE,MAAM;EACfC,GAAG,EAAEV,mBAAmB,CAACW,QAAQ;EACjCC,MAAM,EAAE,MAAM;EACdC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE3B,cAAc;EACzB4B,SAAS,EAAE5B,cAAc;EACzB6B,YAAY,EAAEhB,mBAAmB,CAACiB,QAAQ;EAC1CC,aAAa,EAAElB,mBAAmB,CAACmB,QAAQ;EAC3CC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,cAAcrB,mBAAmB,CAACsB,sBAAsB,IAAItB,mBAAmB,CAACuB,oBAAoB,EAAE;EAClHC,MAAM,EAAEpC,qBAAqB;EAE7B,IAAIc,qBAAqB,KAAKF,mBAAmB,CAACyB,eAAe,IAAI;IACnEC,YAAY,EAAE,GAAG1B,mBAAmB,CAAC2B,eAAe,IAAI3B,mBAAmB,CAAC4B,eAAe,IAAI5B,mBAAmB,CAAC6B,aAAa;EAClI,CAAC;AACH,CAAC,CAAC,CAAC;AAiBH,MAAMC,MAAM,GAAGA,CAAC;EACd7B,UAAU;EACV8B,iBAAiB;EACjBC;AACW,CAAC,KAAK;EACjB,MAAMhC,mBAAmB,GAAGf,sBAAsB,CAAC,CAAC;EACpD,MAAMgD,cAAc,GAAG/C,iBAAiB,CAAC,CAAC;EAE1C,OACEM,KAAA,CAACK,qBAAqB;IACpBG,mBAAmB,EAAEA,mBAAoB;IACzCC,UAAU,EAAEA,UAAW;IACvBC,qBAAqB,EAAE+B,cAAc,EAAE/B,qBAAsB;IAAAgC,QAAA,GAE7D5C,IAAA,CAACG,uBAAuB;MAAAyC,QAAA,EACrBH,iBAAiB,IAAIzC,IAAA,UAAM;IAAC,CACN,CAAC,EAC1BA,IAAA,CAACK,wBAAwB;MAAAuC,QAAA,EACtBF,kBAAkB,IAAI1C,IAAA,UAAM;IAAC,CACN,CAAC;EAAA,CACN,CAAC;AAE5B,CAAC;AAED,MAAM6C,cAAc,GAAGnD,IAAI,CAAC8C,MAAM,CAAC;AACnCK,cAAc,CAACC,WAAW,GAAG,QAAQ;AAErC,SAASD,cAAc,IAAIL,MAAM","ignoreList":[]}
@@ -13,32 +13,37 @@
13
13
  import { memo, useEffect, useState } from "react";
14
14
  import { ErrorBoundary } from "react-error-boundary";
15
15
  import { CssBaseline } from "../CssBaseline.js";
16
+ import { NarrowUiShellContent } from "./NarrowUiShellContent.js";
16
17
  import { OdysseyProvider } from "../OdysseyProvider.js";
17
- import { UiShellContent } from "./UiShellContent.js";
18
18
  import { UiShellProvider } from "./UiShellProvider.js";
19
+ import { useUiShellBreakpoints } from "./useUiShellBreakpoints.js";
20
+ import { WideUiShellContent } from "./WideUiShellContent.js";
19
21
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
22
  export const defaultComponentProps = {
21
23
  sideNavProps: undefined,
22
24
  topNavProps: undefined
23
25
  };
26
+ const errorComponent = _jsx("div", {
27
+ "data-error": true
28
+ });
24
29
  const UiShell = ({
25
30
  appBackgroundColor,
26
31
  appBackgroundContrastMode,
27
- appComponent,
28
- appRootElement,
29
- appContainerElement,
30
- appContainerScrollingMode,
32
+ appElement,
33
+ appElementScrollingMode,
31
34
  hasStandardAppContentPadding,
32
35
  initialVisibleSections,
33
36
  onError = console.error,
34
37
  onSubscriptionCreated,
35
38
  optionalComponents,
36
39
  sideNavBackgroundColor,
37
- stylesRootElement,
40
+ subscribeToPropChanges,
38
41
  topNavBackgroundColor,
39
- subscribeToPropChanges
42
+ uiShellAppElement,
43
+ uiShellStylesElement
40
44
  }) => {
41
45
  const [componentProps, setComponentProps] = useState(defaultComponentProps);
46
+ const activeBreakpoint = useUiShellBreakpoints();
42
47
  useEffect(() => {
43
48
  const unsubscribe = subscribeToPropChanges(componentProps => {
44
49
  setComponentProps(componentProps || defaultComponentProps);
@@ -48,30 +53,44 @@ const UiShell = ({
48
53
  unsubscribe();
49
54
  };
50
55
  }, [onSubscriptionCreated, subscribeToPropChanges]);
51
- return _jsx(ErrorBoundary, {
52
- fallback: appComponent,
56
+ return activeBreakpoint === "none" ? null : _jsx(ErrorBoundary, {
57
+ fallback: errorComponent,
53
58
  onError: onError,
54
59
  children: _jsx(OdysseyProvider, {
55
- emotionRootElement: stylesRootElement,
56
- shadowRootElement: appRootElement,
57
- hasScopedCssBaseline: false,
60
+ emotionRootElement: uiShellStylesElement,
61
+ shadowRootElement: uiShellAppElement,
58
62
  children: _jsxs(ErrorBoundary, {
59
- fallback: appComponent,
63
+ fallback: errorComponent,
60
64
  onError: onError,
61
- children: [_jsx(CssBaseline, {}), _jsx(UiShellProvider, {
65
+ children: [_jsx(CssBaseline, {}), _jsxs(UiShellProvider, {
62
66
  appBackgroundColor: appBackgroundColor,
63
67
  appBackgroundContrastMode: appBackgroundContrastMode,
64
68
  sideNavBackgroundColor: sideNavBackgroundColor,
65
69
  topNavBackgroundColor: topNavBackgroundColor,
66
- children: _jsx(UiShellContent, {
70
+ children: [activeBreakpoint === "constrained" && _jsx(NarrowUiShellContent, {
67
71
  ...componentProps,
68
- appContainerElement: appContainerElement,
69
- appContainerScrollingMode: appContainerScrollingMode,
72
+ appElement: appElement,
73
+ appElementScrollingMode: appElementScrollingMode,
70
74
  hasStandardAppContentPadding: hasStandardAppContentPadding,
71
75
  initialVisibleSections: initialVisibleSections,
72
76
  onError: onError,
73
77
  optionalComponents: optionalComponents
74
- })
78
+ }), (activeBreakpoint === "compact" || activeBreakpoint === "comfortable") && _jsx(WideUiShellContent, {
79
+ ...componentProps,
80
+ ...(componentProps.sideNavProps ? {
81
+ sideNavProps: {
82
+ ...componentProps.sideNavProps,
83
+ isCollapsed: activeBreakpoint === "compact" || componentProps.sideNavProps?.isCollapsed,
84
+ isCollapsible: activeBreakpoint === "compact" || componentProps.sideNavProps?.isCollapsible
85
+ }
86
+ } : {}),
87
+ appElement: appElement,
88
+ appElementScrollingMode: appElementScrollingMode,
89
+ hasStandardAppContentPadding: hasStandardAppContentPadding,
90
+ initialVisibleSections: initialVisibleSections,
91
+ onError: onError,
92
+ optionalComponents: optionalComponents
93
+ })]
75
94
  })]
76
95
  })
77
96
  })
@@ -1 +1 @@
1
- {"version":3,"file":"UiShell.js","names":["memo","useEffect","useState","ErrorBoundary","CssBaseline","OdysseyProvider","UiShellContent","UiShellProvider","jsx","_jsx","jsxs","_jsxs","defaultComponentProps","sideNavProps","undefined","topNavProps","UiShell","appBackgroundColor","appBackgroundContrastMode","appComponent","appRootElement","appContainerElement","appContainerScrollingMode","hasStandardAppContentPadding","initialVisibleSections","onError","console","error","onSubscriptionCreated","optionalComponents","sideNavBackgroundColor","stylesRootElement","topNavBackgroundColor","subscribeToPropChanges","componentProps","setComponentProps","unsubscribe","fallback","children","emotionRootElement","shadowRootElement","hasScopedCssBaseline","MemoizedUiShell","displayName"],"sources":["../../../src/ui-shell/UiShell.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 {\n memo,\n ReactNode,\n useEffect,\n useState,\n type SetStateAction,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { CssBaseline } from \"../CssBaseline.js\";\nimport { OdysseyProvider } from \"../OdysseyProvider.js\";\nimport {\n UiShellContent,\n type UiShellContentProps,\n type UiShellNavComponentProps,\n} from \"./UiShellContent.js\";\nimport { type ReactRootElements } from \"../web-component/renderReactInWebComponent.js\";\nimport { UiShellProvider } from \"./UiShellProvider.js\";\n\nexport const defaultComponentProps: UiShellNavComponentProps = {\n sideNavProps: undefined,\n topNavProps: undefined,\n} as const;\n\nexport type UiShellProps = {\n /**\n * Notifies when subscribed to prop changes.\n *\n * UI Shell listens to prop updates, and it won't subscribe synchronously. Because of that, this callback notifies when that subscription is ready.\n */\n onSubscriptionCreated: () => void;\n /**\n * This is a callback that provides a subscriber callback to listen for changes to state.\n * It allows UI Shell to listen for state changes.\n *\n * The props coming in this callback go directly to a React state; therefore, it shares the same signature and provides a previous state.\n */\n subscribeToPropChanges: (\n subscriber: (\n componentProps: SetStateAction<UiShellNavComponentProps>,\n ) => void,\n ) => () => void;\n /**\n * Sets a custom background color for the side nav area.\n */\n sideNavBackgroundColor?: string;\n /**\n * Sets a custom background color for the top nav area.\n */\n topNavBackgroundColor?: string;\n /**\n * React app component that renders as children in the correct location of the shell. Only used as fallback for ErrorBoundary.\n */\n appComponent?: ReactNode;\n} & Pick<ReactRootElements, \"appRootElement\" | \"stylesRootElement\"> &\n Pick<\n UiShellContentProps,\n | \"appBackgroundColor\"\n | \"appBackgroundContrastMode\"\n | \"appContainerElement\"\n | \"appContainerScrollingMode\"\n | \"hasStandardAppContentPadding\"\n | \"initialVisibleSections\"\n | \"onError\"\n | \"optionalComponents\"\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 UiShell = ({\n appBackgroundColor,\n appBackgroundContrastMode,\n appComponent,\n appRootElement,\n appContainerElement,\n appContainerScrollingMode,\n hasStandardAppContentPadding,\n initialVisibleSections,\n onError = console.error,\n onSubscriptionCreated,\n optionalComponents,\n sideNavBackgroundColor,\n stylesRootElement,\n topNavBackgroundColor,\n subscribeToPropChanges,\n}: UiShellProps) => {\n const [componentProps, setComponentProps] = useState(defaultComponentProps);\n\n useEffect(() => {\n const unsubscribe = subscribeToPropChanges((componentProps) => {\n // If for some reason nothing is passed as `componentProps`, we fallback on `defaultComponentProps` as a safety mechanism to ensure nothing breaks.\n setComponentProps(componentProps || defaultComponentProps);\n });\n\n onSubscriptionCreated();\n\n return () => {\n unsubscribe();\n };\n }, [onSubscriptionCreated, subscribeToPropChanges]);\n\n return (\n <ErrorBoundary fallback={appComponent} onError={onError}>\n <OdysseyProvider\n emotionRootElement={stylesRootElement}\n shadowRootElement={appRootElement}\n hasScopedCssBaseline={false}\n >\n <ErrorBoundary fallback={appComponent} onError={onError}>\n <CssBaseline />\n <UiShellProvider\n appBackgroundColor={appBackgroundColor}\n appBackgroundContrastMode={appBackgroundContrastMode}\n sideNavBackgroundColor={sideNavBackgroundColor}\n topNavBackgroundColor={topNavBackgroundColor}\n >\n <UiShellContent\n {...componentProps}\n appContainerElement={appContainerElement}\n appContainerScrollingMode={appContainerScrollingMode}\n hasStandardAppContentPadding={hasStandardAppContentPadding}\n initialVisibleSections={initialVisibleSections}\n onError={onError}\n optionalComponents={optionalComponents}\n />\n </UiShellProvider>\n </ErrorBoundary>\n </OdysseyProvider>\n </ErrorBoundary>\n );\n};\n\nconst MemoizedUiShell = memo(UiShell);\nMemoizedUiShell.displayName = \"UiShell\";\n\nexport { MemoizedUiShell as UiShell };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,IAAI,EAEJC,SAAS,EACTC,QAAQ,QAEH,OAAO;AACd,SAASC,aAAa,QAAQ,sBAAsB;AAEpD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SACEC,cAAc,QAGT,qBAAqB;AAE5B,SAASC,eAAe,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvD,OAAO,MAAMC,qBAA+C,GAAG;EAC7DC,YAAY,EAAEC,SAAS;EACvBC,WAAW,EAAED;AACf,CAAU;AAoDV,MAAME,OAAO,GAAGA,CAAC;EACfC,kBAAkB;EAClBC,yBAAyB;EACzBC,YAAY;EACZC,cAAc;EACdC,mBAAmB;EACnBC,yBAAyB;EACzBC,4BAA4B;EAC5BC,sBAAsB;EACtBC,OAAO,GAAGC,OAAO,CAACC,KAAK;EACvBC,qBAAqB;EACrBC,kBAAkB;EAClBC,sBAAsB;EACtBC,iBAAiB;EACjBC,qBAAqB;EACrBC;AACY,CAAC,KAAK;EAClB,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGjC,QAAQ,CAACU,qBAAqB,CAAC;EAE3EX,SAAS,CAAC,MAAM;IACd,MAAMmC,WAAW,GAAGH,sBAAsB,CAAEC,cAAc,IAAK;MAE7DC,iBAAiB,CAACD,cAAc,IAAItB,qBAAqB,CAAC;IAC5D,CAAC,CAAC;IAEFgB,qBAAqB,CAAC,CAAC;IAEvB,OAAO,MAAM;MACXQ,WAAW,CAAC,CAAC;IACf,CAAC;EACH,CAAC,EAAE,CAACR,qBAAqB,EAAEK,sBAAsB,CAAC,CAAC;EAEnD,OACExB,IAAA,CAACN,aAAa;IAACkC,QAAQ,EAAElB,YAAa;IAACM,OAAO,EAAEA,OAAQ;IAAAa,QAAA,EACtD7B,IAAA,CAACJ,eAAe;MACdkC,kBAAkB,EAAER,iBAAkB;MACtCS,iBAAiB,EAAEpB,cAAe;MAClCqB,oBAAoB,EAAE,KAAM;MAAAH,QAAA,EAE5B3B,KAAA,CAACR,aAAa;QAACkC,QAAQ,EAAElB,YAAa;QAACM,OAAO,EAAEA,OAAQ;QAAAa,QAAA,GACtD7B,IAAA,CAACL,WAAW,IAAE,CAAC,EACfK,IAAA,CAACF,eAAe;UACdU,kBAAkB,EAAEA,kBAAmB;UACvCC,yBAAyB,EAAEA,yBAA0B;UACrDY,sBAAsB,EAAEA,sBAAuB;UAC/CE,qBAAqB,EAAEA,qBAAsB;UAAAM,QAAA,EAE7C7B,IAAA,CAACH,cAAc;YAAA,GACT4B,cAAc;YAClBb,mBAAmB,EAAEA,mBAAoB;YACzCC,yBAAyB,EAAEA,yBAA0B;YACrDC,4BAA4B,EAAEA,4BAA6B;YAC3DC,sBAAsB,EAAEA,sBAAuB;YAC/CC,OAAO,EAAEA,OAAQ;YACjBI,kBAAkB,EAAEA;UAAmB,CACxC;QAAC,CACa,CAAC;MAAA,CACL;IAAC,CACD;EAAC,CACL,CAAC;AAEpB,CAAC;AAED,MAAMa,eAAe,GAAG1C,IAAI,CAACgB,OAAO,CAAC;AACrC0B,eAAe,CAACC,WAAW,GAAG,SAAS;AAEvC,SAASD,eAAe,IAAI1B,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"UiShell.js","names":["memo","useEffect","useState","ErrorBoundary","CssBaseline","NarrowUiShellContent","OdysseyProvider","UiShellProvider","useUiShellBreakpoints","WideUiShellContent","jsx","_jsx","jsxs","_jsxs","defaultComponentProps","sideNavProps","undefined","topNavProps","errorComponent","UiShell","appBackgroundColor","appBackgroundContrastMode","appElement","appElementScrollingMode","hasStandardAppContentPadding","initialVisibleSections","onError","console","error","onSubscriptionCreated","optionalComponents","sideNavBackgroundColor","subscribeToPropChanges","topNavBackgroundColor","uiShellAppElement","uiShellStylesElement","componentProps","setComponentProps","activeBreakpoint","unsubscribe","fallback","children","emotionRootElement","shadowRootElement","isCollapsed","isCollapsible","MemoizedUiShell","displayName"],"sources":["../../../src/ui-shell/UiShell.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, useEffect, useState, type SetStateAction } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { type ReactRootElements } from \"../web-component/createReactRootElements.js\";\nimport { CssBaseline } from \"../CssBaseline.js\";\nimport { NarrowUiShellContent } from \"./NarrowUiShellContent.js\";\nimport { OdysseyProvider } from \"../OdysseyProvider.js\";\nimport { UiShellProvider } from \"./UiShellProvider.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport { useUiShellBreakpoints } from \"./useUiShellBreakpoints.js\";\nimport { ContrastMode } from \"../useContrastMode.js\";\nimport { WideUiShellContent } from \"./WideUiShellContent.js\";\n\nexport const defaultComponentProps: UiShellNavComponentProps = {\n sideNavProps: undefined,\n topNavProps: undefined,\n} as const;\n\nconst errorComponent = <div data-error />;\n\nexport type UiShellProps = {\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 * Notifies when subscribed to prop changes.\n *\n * UI Shell listens to prop updates, and it won't subscribe synchronously. Because of that, this callback notifies when that subscription is ready.\n */\n onSubscriptionCreated: () => void;\n /**\n * This is a callback that provides a subscriber callback to listen for changes to state.\n * It allows UI Shell to listen for state changes.\n *\n * The props coming in this callback go directly to a React state; therefore, it shares the same signature and provides a previous state.\n */\n subscribeToPropChanges: (\n subscriber: (\n componentProps: SetStateAction<UiShellNavComponentProps>,\n ) => void,\n ) => () => void;\n /**\n * Sets a custom background color for the side nav area.\n */\n sideNavBackgroundColor?: string;\n /**\n * Sets a custom background color for the top nav area.\n */\n topNavBackgroundColor?: string;\n /**\n * Element inside UI Shell's React root component renders into. If using a web component, this is going to exist inside it.\n */\n uiShellAppElement: ReactRootElements[\"appRootElement\"];\n /**\n * Typically, this is your `<head>` element. If using a web component, you need to create one yourself as Shadow DOM's don't have a `<head>`.\n */\n uiShellStylesElement: ReactRootElements[\"stylesRootElement\"];\n} & Pick<\n UiShellContentProps,\n | \"appElement\"\n | \"appElementScrollingMode\"\n | \"hasStandardAppContentPadding\"\n | \"initialVisibleSections\"\n | \"onError\"\n | \"optionalComponents\"\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 UiShell = ({\n appBackgroundColor,\n appBackgroundContrastMode,\n appElement,\n appElementScrollingMode,\n hasStandardAppContentPadding,\n initialVisibleSections,\n onError = console.error,\n onSubscriptionCreated,\n optionalComponents,\n sideNavBackgroundColor,\n subscribeToPropChanges,\n topNavBackgroundColor,\n uiShellAppElement,\n uiShellStylesElement,\n}: UiShellProps) => {\n const [componentProps, setComponentProps] = useState(defaultComponentProps);\n\n const activeBreakpoint = useUiShellBreakpoints();\n\n useEffect(() => {\n const unsubscribe = subscribeToPropChanges((componentProps) => {\n // If for some reason nothing is passed as `componentProps`, we fallback on `defaultComponentProps` as a safety mechanism to ensure nothing breaks.\n setComponentProps(componentProps || defaultComponentProps);\n });\n\n onSubscriptionCreated();\n\n return () => {\n unsubscribe();\n };\n }, [onSubscriptionCreated, subscribeToPropChanges]);\n\n return activeBreakpoint === \"none\" ? null : (\n <ErrorBoundary fallback={errorComponent} onError={onError}>\n <OdysseyProvider\n emotionRootElement={uiShellStylesElement}\n shadowRootElement={uiShellAppElement}\n >\n <ErrorBoundary fallback={errorComponent} onError={onError}>\n <CssBaseline />\n\n <UiShellProvider\n appBackgroundColor={appBackgroundColor}\n appBackgroundContrastMode={appBackgroundContrastMode}\n sideNavBackgroundColor={sideNavBackgroundColor}\n topNavBackgroundColor={topNavBackgroundColor}\n >\n {activeBreakpoint === \"constrained\" && (\n <NarrowUiShellContent\n {...componentProps}\n appElement={appElement}\n appElementScrollingMode={appElementScrollingMode}\n hasStandardAppContentPadding={hasStandardAppContentPadding}\n initialVisibleSections={initialVisibleSections}\n onError={onError}\n optionalComponents={optionalComponents}\n />\n )}\n\n {(activeBreakpoint === \"compact\" ||\n activeBreakpoint === \"comfortable\") && (\n <WideUiShellContent\n {...{\n ...componentProps,\n ...(componentProps.sideNavProps\n ? {\n sideNavProps: {\n ...componentProps.sideNavProps,\n isCollapsed:\n activeBreakpoint === \"compact\" ||\n componentProps.sideNavProps?.isCollapsed,\n isCollapsible:\n activeBreakpoint === \"compact\" ||\n componentProps.sideNavProps?.isCollapsible,\n // We have to use `as` because sideNavProps expects you to have `sideNavItems` defined even though it had to be passed in `...componentProps.sideNavProps`.\n } as typeof componentProps.sideNavProps,\n }\n : {}),\n }}\n appElement={appElement}\n appElementScrollingMode={appElementScrollingMode}\n hasStandardAppContentPadding={hasStandardAppContentPadding}\n initialVisibleSections={initialVisibleSections}\n onError={onError}\n optionalComponents={optionalComponents}\n />\n )}\n </UiShellProvider>\n </ErrorBoundary>\n </OdysseyProvider>\n </ErrorBoundary>\n );\n};\n\nconst MemoizedUiShell = memo(UiShell);\nMemoizedUiShell.displayName = \"UiShell\";\n\nexport { MemoizedUiShell as UiShell };\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@
13
13
  import { createContext, memo, useContext, useMemo } from "react";
14
14
  import { generateContrastColors } from "../createContrastColors.js";
15
15
  import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
16
+ import { createMessageBus } from "./createMessageBus.js";
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
18
  const UiShellContext = createContext(undefined);
18
19
  export const useUiShellContext = () => {
@@ -21,9 +22,9 @@ export const useUiShellContext = () => {
21
22
  const UiShellProvider = ({
22
23
  appBackgroundColor,
23
24
  appBackgroundContrastMode = "lowContrast",
25
+ children,
24
26
  sideNavBackgroundColor,
25
- topNavBackgroundColor,
26
- children
27
+ topNavBackgroundColor
27
28
  }) => {
28
29
  const odysseyDesignTokens = useOdysseyDesignTokens();
29
30
  const defaultedSideNavBackgroundColor = sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite;
@@ -32,12 +33,18 @@ const UiShellProvider = ({
32
33
  const defaultTopAndAppBackgroundColor = isAppBackgroundHightContrast ? odysseyDesignTokens.HueNeutralWhite : odysseyDesignTokens.HueNeutral50;
33
34
  const topNavColor = topNavBackgroundColor || defaultTopAndAppBackgroundColor;
34
35
  const appContentBackgroundColor = appBackgroundColor || defaultTopAndAppBackgroundColor;
36
+ const {
37
+ publish: publishSideNavItemClicked,
38
+ subscribe: subscribeSideNavItemClicked
39
+ } = useMemo(() => createMessageBus(), []);
35
40
  const memoizedContextValue = useMemo(() => ({
36
41
  appBackgroundColor: appContentBackgroundColor,
42
+ publishSideNavItemClicked,
37
43
  sideNavBackgroundColor: sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite,
38
44
  sideNavContrastColors,
45
+ subscribeSideNavItemClicked,
39
46
  topNavBackgroundColor: topNavColor
40
- }), [appContentBackgroundColor, odysseyDesignTokens, sideNavBackgroundColor, sideNavContrastColors, topNavColor]);
47
+ }), [appContentBackgroundColor, odysseyDesignTokens, publishSideNavItemClicked, sideNavBackgroundColor, sideNavContrastColors, subscribeSideNavItemClicked, topNavColor]);
41
48
  return _jsx(UiShellContext.Provider, {
42
49
  value: memoizedContextValue,
43
50
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"UiShellProvider.js","names":["createContext","memo","useContext","useMemo","generateContrastColors","useOdysseyDesignTokens","jsx","_jsx","UiShellContext","undefined","useUiShellContext","UiShellProvider","appBackgroundColor","appBackgroundContrastMode","sideNavBackgroundColor","topNavBackgroundColor","children","odysseyDesignTokens","defaultedSideNavBackgroundColor","HueNeutralWhite","sideNavContrastColors","isAppBackgroundHightContrast","defaultTopAndAppBackgroundColor","HueNeutral50","topNavColor","appContentBackgroundColor","memoizedContextValue","Provider","value","MemoizedUiShellProvider"],"sources":["../../../src/ui-shell/UiShellProvider.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 {\n createContext,\n memo,\n PropsWithChildren,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n generateContrastColors,\n ContrastColors,\n} from \"../createContrastColors.js\";\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext.js\";\n\nexport type UiShellColors = {\n appBackgroundColor: string;\n sideNavBackgroundColor: string;\n sideNavContrastColors?: ContrastColors | undefined;\n topNavBackgroundColor: string;\n};\n\nconst UiShellContext = createContext<UiShellColors | undefined>(undefined);\n\nexport const useUiShellContext = () => {\n return useContext(UiShellContext);\n};\n\nexport type UiShellProviderProps = {\n appBackgroundColor?: string;\n sideNavBackgroundColor?: string;\n topNavBackgroundColor?: string;\n appBackgroundContrastMode?: string;\n};\n\nconst UiShellProvider = ({\n appBackgroundColor,\n appBackgroundContrastMode = \"lowContrast\",\n sideNavBackgroundColor,\n topNavBackgroundColor,\n children,\n}: PropsWithChildren<UiShellProviderProps>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const defaultedSideNavBackgroundColor =\n sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite;\n\n const sideNavContrastColors =\n defaultedSideNavBackgroundColor !== odysseyDesignTokens.HueNeutralWhite\n ? generateContrastColors(\n defaultedSideNavBackgroundColor,\n odysseyDesignTokens,\n )\n : undefined;\n\n const isAppBackgroundHightContrast =\n appBackgroundContrastMode === \"highContrast\";\n\n const defaultTopAndAppBackgroundColor = isAppBackgroundHightContrast\n ? odysseyDesignTokens.HueNeutralWhite\n : odysseyDesignTokens.HueNeutral50;\n\n const topNavColor = topNavBackgroundColor || defaultTopAndAppBackgroundColor;\n\n const appContentBackgroundColor =\n appBackgroundColor || defaultTopAndAppBackgroundColor;\n\n const memoizedContextValue = useMemo(\n () => ({\n appBackgroundColor: appContentBackgroundColor,\n sideNavBackgroundColor:\n sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite,\n sideNavContrastColors,\n topNavBackgroundColor: topNavColor,\n }),\n [\n appContentBackgroundColor,\n odysseyDesignTokens,\n sideNavBackgroundColor,\n sideNavContrastColors,\n topNavColor,\n ],\n );\n\n return (\n <UiShellContext.Provider value={memoizedContextValue}>\n {children}\n </UiShellContext.Provider>\n );\n};\n\nconst MemoizedUiShellProvider = memo(UiShellProvider);\n\nexport { MemoizedUiShellProvider as UiShellProvider };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,aAAa,EACbC,IAAI,EAEJC,UAAU,EACVC,OAAO,QACF,OAAO;AACd,SACEC,sBAAsB,QAEjB,4BAA4B;AACnC,SAASC,sBAAsB,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS1E,MAAMC,cAAc,GAAGR,aAAa,CAA4BS,SAAS,CAAC;AAE1E,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOR,UAAU,CAACM,cAAc,CAAC;AACnC,CAAC;AASD,MAAMG,eAAe,GAAGA,CAAC;EACvBC,kBAAkB;EAClBC,yBAAyB,GAAG,aAAa;EACzCC,sBAAsB;EACtBC,qBAAqB;EACrBC;AACuC,CAAC,KAAK;EAC7C,MAAMC,mBAAmB,GAAGZ,sBAAsB,CAAC,CAAC;EACpD,MAAMa,+BAA+B,GACnCJ,sBAAsB,IAAIG,mBAAmB,CAACE,eAAe;EAE/D,MAAMC,qBAAqB,GACzBF,+BAA+B,KAAKD,mBAAmB,CAACE,eAAe,GACnEf,sBAAsB,CACpBc,+BAA+B,EAC/BD,mBACF,CAAC,GACDR,SAAS;EAEf,MAAMY,4BAA4B,GAChCR,yBAAyB,KAAK,cAAc;EAE9C,MAAMS,+BAA+B,GAAGD,4BAA4B,GAChEJ,mBAAmB,CAACE,eAAe,GACnCF,mBAAmB,CAACM,YAAY;EAEpC,MAAMC,WAAW,GAAGT,qBAAqB,IAAIO,+BAA+B;EAE5E,MAAMG,yBAAyB,GAC7Bb,kBAAkB,IAAIU,+BAA+B;EAEvD,MAAMI,oBAAoB,GAAGvB,OAAO,CAClC,OAAO;IACLS,kBAAkB,EAAEa,yBAAyB;IAC7CX,sBAAsB,EACpBA,sBAAsB,IAAIG,mBAAmB,CAACE,eAAe;IAC/DC,qBAAqB;IACrBL,qBAAqB,EAAES;EACzB,CAAC,CAAC,EACF,CACEC,yBAAyB,EACzBR,mBAAmB,EACnBH,sBAAsB,EACtBM,qBAAqB,EACrBI,WAAW,CAEf,CAAC;EAED,OACEjB,IAAA,CAACC,cAAc,CAACmB,QAAQ;IAACC,KAAK,EAAEF,oBAAqB;IAAAV,QAAA,EAClDA;EAAQ,CACc,CAAC;AAE9B,CAAC;AAED,MAAMa,uBAAuB,GAAG5B,IAAI,CAACU,eAAe,CAAC;AAErD,SAASkB,uBAAuB,IAAIlB,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"UiShellProvider.js","names":["createContext","memo","useContext","useMemo","generateContrastColors","useOdysseyDesignTokens","createMessageBus","jsx","_jsx","UiShellContext","undefined","useUiShellContext","UiShellProvider","appBackgroundColor","appBackgroundContrastMode","children","sideNavBackgroundColor","topNavBackgroundColor","odysseyDesignTokens","defaultedSideNavBackgroundColor","HueNeutralWhite","sideNavContrastColors","isAppBackgroundHightContrast","defaultTopAndAppBackgroundColor","HueNeutral50","topNavColor","appContentBackgroundColor","publish","publishSideNavItemClicked","subscribe","subscribeSideNavItemClicked","memoizedContextValue","Provider","value","MemoizedUiShellProvider"],"sources":["../../../src/ui-shell/UiShellProvider.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 {\n createContext,\n memo,\n PropsWithChildren,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n ContrastColors,\n generateContrastColors,\n} from \"../createContrastColors.js\";\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext.js\";\nimport { createMessageBus, MessageBus } from \"./createMessageBus.js\";\n\nexport type UiShellColors = {\n appBackgroundColor: string;\n sideNavBackgroundColor: string;\n sideNavContrastColors?: ContrastColors | undefined;\n topNavBackgroundColor: string;\n};\n\nexport type UiShellContext = {\n publishSideNavItemClicked: MessageBus<void>[\"publish\"];\n subscribeSideNavItemClicked: MessageBus<void>[\"subscribe\"];\n} & UiShellColors;\n\nconst UiShellContext = createContext<UiShellContext | undefined>(undefined);\n\nexport const useUiShellContext = () => {\n return useContext(UiShellContext);\n};\n\nexport type UiShellProviderProps = {\n appBackgroundContrastMode?: string;\n} & Partial<\n Pick<\n UiShellColors,\n \"appBackgroundColor\" | \"sideNavBackgroundColor\" | \"topNavBackgroundColor\"\n >\n>;\n\nconst UiShellProvider = ({\n appBackgroundColor,\n appBackgroundContrastMode = \"lowContrast\",\n children,\n sideNavBackgroundColor,\n topNavBackgroundColor,\n}: PropsWithChildren<UiShellProviderProps>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const defaultedSideNavBackgroundColor =\n sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite;\n\n const sideNavContrastColors =\n defaultedSideNavBackgroundColor !== odysseyDesignTokens.HueNeutralWhite\n ? generateContrastColors(\n defaultedSideNavBackgroundColor,\n odysseyDesignTokens,\n )\n : undefined;\n\n const isAppBackgroundHightContrast =\n appBackgroundContrastMode === \"highContrast\";\n\n const defaultTopAndAppBackgroundColor = isAppBackgroundHightContrast\n ? odysseyDesignTokens.HueNeutralWhite\n : odysseyDesignTokens.HueNeutral50;\n\n const topNavColor = topNavBackgroundColor || defaultTopAndAppBackgroundColor;\n\n const appContentBackgroundColor =\n appBackgroundColor || defaultTopAndAppBackgroundColor;\n\n const {\n publish: publishSideNavItemClicked,\n subscribe: subscribeSideNavItemClicked,\n } = useMemo(() => createMessageBus(), []);\n\n const memoizedContextValue = useMemo(\n () => ({\n appBackgroundColor: appContentBackgroundColor,\n publishSideNavItemClicked,\n sideNavBackgroundColor:\n sideNavBackgroundColor || odysseyDesignTokens.HueNeutralWhite,\n sideNavContrastColors,\n subscribeSideNavItemClicked,\n topNavBackgroundColor: topNavColor,\n }),\n [\n appContentBackgroundColor,\n odysseyDesignTokens,\n publishSideNavItemClicked,\n sideNavBackgroundColor,\n sideNavContrastColors,\n subscribeSideNavItemClicked,\n topNavColor,\n ],\n );\n\n return (\n <UiShellContext.Provider value={memoizedContextValue}>\n {children}\n </UiShellContext.Provider>\n );\n};\n\nconst MemoizedUiShellProvider = memo(UiShellProvider);\n\nexport { MemoizedUiShellProvider as UiShellProvider };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,aAAa,EACbC,IAAI,EAEJC,UAAU,EACVC,OAAO,QACF,OAAO;AACd,SAEEC,sBAAsB,QACjB,4BAA4B;AACnC,SAASC,sBAAsB,QAAQ,kCAAkC;AACzE,SAASC,gBAAgB,QAAoB,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAcrE,MAAMC,cAAc,GAAGT,aAAa,CAA6BU,SAAS,CAAC;AAE3E,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOT,UAAU,CAACO,cAAc,CAAC;AACnC,CAAC;AAWD,MAAMG,eAAe,GAAGA,CAAC;EACvBC,kBAAkB;EAClBC,yBAAyB,GAAG,aAAa;EACzCC,QAAQ;EACRC,sBAAsB;EACtBC;AACuC,CAAC,KAAK;EAC7C,MAAMC,mBAAmB,GAAGb,sBAAsB,CAAC,CAAC;EACpD,MAAMc,+BAA+B,GACnCH,sBAAsB,IAAIE,mBAAmB,CAACE,eAAe;EAE/D,MAAMC,qBAAqB,GACzBF,+BAA+B,KAAKD,mBAAmB,CAACE,eAAe,GACnEhB,sBAAsB,CACpBe,+BAA+B,EAC/BD,mBACF,CAAC,GACDR,SAAS;EAEf,MAAMY,4BAA4B,GAChCR,yBAAyB,KAAK,cAAc;EAE9C,MAAMS,+BAA+B,GAAGD,4BAA4B,GAChEJ,mBAAmB,CAACE,eAAe,GACnCF,mBAAmB,CAACM,YAAY;EAEpC,MAAMC,WAAW,GAAGR,qBAAqB,IAAIM,+BAA+B;EAE5E,MAAMG,yBAAyB,GAC7Bb,kBAAkB,IAAIU,+BAA+B;EAEvD,MAAM;IACJI,OAAO,EAAEC,yBAAyB;IAClCC,SAAS,EAAEC;EACb,CAAC,GAAG3B,OAAO,CAAC,MAAMG,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;EAEzC,MAAMyB,oBAAoB,GAAG5B,OAAO,CAClC,OAAO;IACLU,kBAAkB,EAAEa,yBAAyB;IAC7CE,yBAAyB;IACzBZ,sBAAsB,EACpBA,sBAAsB,IAAIE,mBAAmB,CAACE,eAAe;IAC/DC,qBAAqB;IACrBS,2BAA2B;IAC3Bb,qBAAqB,EAAEQ;EACzB,CAAC,CAAC,EACF,CACEC,yBAAyB,EACzBR,mBAAmB,EACnBU,yBAAyB,EACzBZ,sBAAsB,EACtBK,qBAAqB,EACrBS,2BAA2B,EAC3BL,WAAW,CAEf,CAAC;EAED,OACEjB,IAAA,CAACC,cAAc,CAACuB,QAAQ;IAACC,KAAK,EAAEF,oBAAqB;IAAAhB,QAAA,EAClDA;EAAQ,CACc,CAAC;AAE9B,CAAC;AAED,MAAMmB,uBAAuB,GAAGjC,IAAI,CAACW,eAAe,CAAC;AAErD,SAASsB,uBAAuB,IAAItB,eAAe","ignoreList":[]}
@@ -0,0 +1,165 @@
1
+ /*!
2
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import styled from "@emotion/styled";
14
+ import { memo, useRef } from "react";
15
+ import { ErrorBoundary } from "react-error-boundary";
16
+ import { AppSwitcher } from "./AppSwitcher/index.js";
17
+ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
18
+ import { SideNav } from "./SideNav/index.js";
19
+ import { TopNav } from "./TopNav/index.js";
20
+ import { useScrollState } from "./useScrollState.js";
21
+ import { useMatchAppElementToUiShellAppArea } from "./useMatchAppElementToUiShellAppArea.js";
22
+ import { useUiShellContext } from "./UiShellProvider.js";
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ const emptySideNavItems = [];
25
+ const StyledAppContainer = styled("div", {
26
+ shouldForwardProp: prop => prop !== "appBackgroundColor" && prop !== "odysseyDesignTokens"
27
+ })(({
28
+ appBackgroundColor
29
+ }) => ({
30
+ gridArea: "app-content",
31
+ backgroundColor: appBackgroundColor
32
+ }));
33
+ const StyledAppSwitcherContainer = styled("div")({
34
+ gridArea: "app-switcher"
35
+ });
36
+ const StyledBannersContainer = styled("div")({
37
+ gridArea: "banners"
38
+ });
39
+ const StyledSideNavContainer = styled("div")({
40
+ gridArea: "side-nav"
41
+ });
42
+ const StyledShellContainer = styled("div", {
43
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
44
+ })(({
45
+ odysseyDesignTokens
46
+ }) => ({
47
+ backgroundColor: odysseyDesignTokens.HueNeutral50,
48
+ display: "grid",
49
+ gridGap: 0,
50
+ gridTemplateAreas: `
51
+ "banners banners banners"
52
+ "app-switcher side-nav top-nav"
53
+ "app-switcher side-nav app-content"
54
+ `,
55
+ gridTemplateColumns: "auto auto 1fr",
56
+ gridTemplateRows: "auto auto 1fr",
57
+ height: "100vh",
58
+ width: "100vw"
59
+ }));
60
+ const StyledTopNavContainer = styled("div")({
61
+ gridArea: "top-nav"
62
+ });
63
+ const WideUiShellContent = ({
64
+ appElement,
65
+ appElementScrollingMode,
66
+ appSwitcherProps,
67
+ hasStandardAppContentPadding = true,
68
+ initialVisibleSections = ["TopNav", "SideNav", "AppSwitcher"],
69
+ onError = console.error,
70
+ optionalComponents,
71
+ sideNavProps,
72
+ topNavProps
73
+ }) => {
74
+ const odysseyDesignTokens = useOdysseyDesignTokens();
75
+ const uiShellContext = useUiShellContext();
76
+ const {
77
+ isContentScrolled
78
+ } = useScrollState(appElement);
79
+ const sideNavContainerRef = useRef(null);
80
+ const topNavContainerRef = useRef(null);
81
+ const uiShellAppAreaRef = useRef(null);
82
+ const {
83
+ parentContainerRef
84
+ } = useMatchAppElementToUiShellAppArea({
85
+ appElement,
86
+ appElementScrollingMode,
87
+ paddingMode: hasStandardAppContentPadding ? "comfortable" : "none",
88
+ uiShellAppAreaRef,
89
+ uiShellResizableRefs: [sideNavContainerRef, topNavContainerRef, uiShellAppAreaRef]
90
+ });
91
+ return _jsxs(StyledShellContainer, {
92
+ odysseyDesignTokens: odysseyDesignTokens,
93
+ ref: parentContainerRef,
94
+ children: [_jsx(StyledBannersContainer, {
95
+ children: optionalComponents?.banners
96
+ }), _jsxs(StyledAppSwitcherContainer, {
97
+ children: [initialVisibleSections?.includes("AppSwitcher") && !appSwitcherProps && _jsx(ErrorBoundary, {
98
+ fallback: null,
99
+ onError: onError,
100
+ children: _jsx(AppSwitcher, {
101
+ isLoading: true,
102
+ appIcons: [],
103
+ selectedAppName: ""
104
+ })
105
+ }), appSwitcherProps && _jsx(ErrorBoundary, {
106
+ fallback: null,
107
+ onError: onError,
108
+ children: _jsx(AppSwitcher, {
109
+ ...appSwitcherProps
110
+ })
111
+ })]
112
+ }), _jsxs(StyledSideNavContainer, {
113
+ ref: sideNavContainerRef,
114
+ children: [initialVisibleSections?.includes("SideNav") && sideNavProps === undefined && _jsx(ErrorBoundary, {
115
+ fallback: null,
116
+ onError: onError,
117
+ children: _jsx(SideNav, {
118
+ isLoading: true,
119
+ sideNavItems: emptySideNavItems
120
+ })
121
+ }), sideNavProps && _jsx(ErrorBoundary, {
122
+ fallback: null,
123
+ onError: onError,
124
+ children: _jsx(SideNav, {
125
+ ...sideNavProps,
126
+ ...(sideNavProps.hasCustomFooter && optionalComponents?.sideNavFooter ? {
127
+ footerComponent: optionalComponents.sideNavFooter,
128
+ footerItems: undefined,
129
+ hasCustomFooter: sideNavProps.hasCustomFooter
130
+ } : {
131
+ footerItems: sideNavProps.footerItems,
132
+ hasCustomFooter: false
133
+ })
134
+ })
135
+ })]
136
+ }), _jsxs(StyledTopNavContainer, {
137
+ ref: topNavContainerRef,
138
+ children: [initialVisibleSections?.includes("TopNav") && topNavProps === undefined && _jsx(ErrorBoundary, {
139
+ fallback: null,
140
+ onError: onError,
141
+ children: _jsx(TopNav, {
142
+ leftSideComponent: optionalComponents?.topNavLeftSide,
143
+ rightSideComponent: optionalComponents?.topNavRightSide
144
+ })
145
+ }), topNavProps && _jsx(ErrorBoundary, {
146
+ fallback: null,
147
+ onError: onError,
148
+ children: _jsx(TopNav, {
149
+ ...topNavProps,
150
+ isScrolled: isContentScrolled,
151
+ leftSideComponent: optionalComponents?.topNavLeftSide,
152
+ rightSideComponent: optionalComponents?.topNavRightSide
153
+ })
154
+ })]
155
+ }), _jsx(StyledAppContainer, {
156
+ appBackgroundColor: uiShellContext?.appBackgroundColor,
157
+ tabIndex: 0,
158
+ ref: uiShellAppAreaRef
159
+ })]
160
+ });
161
+ };
162
+ const MemoizedWideUiShellContent = memo(WideUiShellContent);
163
+ MemoizedWideUiShellContent.displayName = "WideUiShellContent";
164
+ export { MemoizedWideUiShellContent as WideUiShellContent };
165
+ //# sourceMappingURL=WideUiShellContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WideUiShellContent.js","names":["styled","memo","useRef","ErrorBoundary","AppSwitcher","useOdysseyDesignTokens","SideNav","TopNav","useScrollState","useMatchAppElementToUiShellAppArea","useUiShellContext","jsx","_jsx","jsxs","_jsxs","emptySideNavItems","StyledAppContainer","shouldForwardProp","prop","appBackgroundColor","gridArea","backgroundColor","StyledAppSwitcherContainer","StyledBannersContainer","StyledSideNavContainer","StyledShellContainer","odysseyDesignTokens","HueNeutral50","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledTopNavContainer","WideUiShellContent","appElement","appElementScrollingMode","appSwitcherProps","hasStandardAppContentPadding","initialVisibleSections","onError","console","error","optionalComponents","sideNavProps","topNavProps","uiShellContext","isContentScrolled","sideNavContainerRef","topNavContainerRef","uiShellAppAreaRef","parentContainerRef","paddingMode","uiShellResizableRefs","ref","children","banners","includes","fallback","isLoading","appIcons","selectedAppName","undefined","sideNavItems","hasCustomFooter","sideNavFooter","footerComponent","footerItems","leftSideComponent","topNavLeftSide","rightSideComponent","topNavRightSide","isScrolled","tabIndex","MemoizedWideUiShellContent","displayName"],"sources":["../../../src/ui-shell/WideUiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useRef } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { AppSwitcher } from \"./AppSwitcher/index.js\";\nimport {\n useOdysseyDesignTokens,\n type DesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport {\n UiShellNavComponentProps,\n UiShellContentProps,\n} from \"./uiShellContentTypes.js\";\nimport { SideNav, type SideNavProps } from \"./SideNav/index.js\";\nimport { TopNav } from \"./TopNav/index.js\";\nimport { useScrollState } from \"./useScrollState.js\";\nimport { useMatchAppElementToUiShellAppArea } from \"./useMatchAppElementToUiShellAppArea.js\";\nimport { UiShellColors, useUiShellContext } from \"./UiShellProvider.js\";\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 StyledAppSwitcherContainer = styled(\"div\")({\n gridArea: \"app-switcher\",\n});\n\nconst StyledBannersContainer = styled(\"div\")({\n gridArea: \"banners\",\n});\n\nconst StyledSideNavContainer = styled(\"div\")({\n gridArea: \"side-nav\",\n});\n\nconst StyledShellContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n display: \"grid\",\n gridGap: 0,\n gridTemplateAreas: `\n \"banners banners banners\"\n \"app-switcher side-nav top-nav\"\n \"app-switcher side-nav app-content\"\n `,\n gridTemplateColumns: \"auto auto 1fr\",\n gridTemplateRows: \"auto auto 1fr\",\n height: \"100vh\",\n width: \"100vw\",\n}));\n\nconst StyledTopNavContainer = styled(\"div\")({\n gridArea: \"top-nav\",\n});\n\nexport type WideUiShellContentProps = UiShellNavComponentProps &\n UiShellContentProps;\n\n/**\n * Our new Unified Platform UI Shell.\n *\n * This includes the top and side navigation as well as the footer and provides a spot for your app to render into.\n *\n * If an error occurs, this will revert to only showing the app.\n */\nconst WideUiShellContent = ({\n appElement,\n appElementScrollingMode,\n appSwitcherProps,\n hasStandardAppContentPadding = true,\n initialVisibleSections = [\"TopNav\", \"SideNav\", \"AppSwitcher\"],\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: WideUiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n const { isContentScrolled } = useScrollState(appElement);\n\n const sideNavContainerRef = useRef<HTMLDivElement>(null);\n const topNavContainerRef = useRef<HTMLDivElement>(null);\n const uiShellAppAreaRef = useRef<HTMLDivElement>(null);\n\n const { parentContainerRef } = useMatchAppElementToUiShellAppArea({\n appElement,\n appElementScrollingMode,\n paddingMode: hasStandardAppContentPadding ? \"comfortable\" : \"none\",\n uiShellAppAreaRef,\n uiShellResizableRefs: [\n sideNavContainerRef,\n topNavContainerRef,\n uiShellAppAreaRef,\n ],\n });\n\n return (\n <StyledShellContainer\n odysseyDesignTokens={odysseyDesignTokens}\n ref={parentContainerRef}\n >\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n <StyledAppSwitcherContainer>\n {\n /* If AppSwitcher should be initially visible and we have not yet received props, render AppSwitcher in the loading state */\n initialVisibleSections?.includes(\"AppSwitcher\") &&\n !appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher isLoading appIcons={[]} selectedAppName=\"\" />\n </ErrorBoundary>\n )\n }\n\n {appSwitcherProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <AppSwitcher {...appSwitcherProps} />\n </ErrorBoundary>\n )}\n </StyledAppSwitcherContainer>\n\n <StyledSideNavContainer ref={sideNavContainerRef}>\n {\n /* If SideNav should be initially visible and we have not yet received props, render SideNav with minimal inputs */\n initialVisibleSections?.includes(\"SideNav\") &&\n sideNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <SideNav isLoading sideNavItems={emptySideNavItems} />\n </ErrorBoundary>\n )\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 </StyledSideNavContainer>\n\n <StyledTopNavContainer ref={topNavContainerRef}>\n {\n /* If TopNav should be initially visible and we have not yet received props, render Topnav with minimal inputs */\n initialVisibleSections?.includes(\"TopNav\") &&\n topNavProps === undefined && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )\n }\n\n {topNavProps && (\n <ErrorBoundary fallback={null} onError={onError}>\n <TopNav\n {...topNavProps}\n isScrolled={isContentScrolled}\n leftSideComponent={optionalComponents?.topNavLeftSide}\n rightSideComponent={optionalComponents?.topNavRightSide}\n />\n </ErrorBoundary>\n )}\n </StyledTopNavContainer>\n\n <StyledAppContainer\n appBackgroundColor={uiShellContext?.appBackgroundColor}\n tabIndex={0}\n ref={uiShellAppAreaRef}\n />\n </StyledShellContainer>\n );\n};\n\nconst MemoizedWideUiShellContent = memo(WideUiShellContent);\nMemoizedWideUiShellContent.displayName = \"WideUiShellContent\";\n\nexport { MemoizedWideUiShellContent as WideUiShellContent };\n"],"mappings":"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","ignoreList":[]}
@@ -11,10 +11,13 @@
11
11
  */
12
12
 
13
13
  export * from "./AppSwitcher/index.js";
14
+ export * from "./NarrowUiShellContent.js";
14
15
  export * from "./renderUiShell.js";
15
16
  export * from "./SideNav/index.js";
16
17
  export * from "./TopNav/index.js";
18
+ export * from "./uiShellContentTypes.js";
17
19
  export * from "./useHasUiShell.js";
18
20
  export * from "../web-component/renderReactInWebComponent.js";
21
+ export * from "./WideUiShellContent.js";
19
22
  export { UiShell } from "./UiShell.js";
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["UiShell"],"sources":["../../../src/ui-shell/index.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\nexport * from \"./AppSwitcher/index.js\";\nexport * from \"./renderUiShell.js\";\nexport * from \"./SideNav/index.js\";\nexport * from \"./TopNav/index.js\";\nexport * from \"./useHasUiShell.js\";\nexport * from \"../web-component/renderReactInWebComponent.js\"; // This is located here because some teams use React v17, and this uses React v18's `ReactDOM/client` import which isn't in older versions.\n\nexport { UiShell, type UiShellProps } from \"./UiShell.js\";\nexport { type UiShellNavComponentProps } from \"./UiShellContent.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,+CAA+C;AAE7D,SAASA,OAAO,QAA2B,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["UiShell"],"sources":["../../../src/ui-shell/index.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\nexport * from \"./AppSwitcher/index.js\";\nexport * from \"./NarrowUiShellContent.js\";\nexport * from \"./renderUiShell.js\";\nexport * from \"./SideNav/index.js\";\nexport * from \"./TopNav/index.js\";\nexport * from \"./uiShellContentTypes.js\";\nexport * from \"./useHasUiShell.js\";\nexport * from \"../web-component/renderReactInWebComponent.js\"; // This is located here because some teams use React v17, and this uses React v18's `ReactDOM/client` import which isn't in older versions.\nexport * from \"./WideUiShellContent.js\";\n\nexport { UiShell, type UiShellProps } from \"./UiShell.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,wBAAwB;AACtC,cAAc,2BAA2B;AACzC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,mBAAmB;AACjC,cAAc,0BAA0B;AACxC,cAAc,oBAAoB;AAClC,cAAc,+CAA+C;AAC7D,cAAc,yBAAyB;AAEvC,SAASA,OAAO,QAA2B,cAAc","ignoreList":[]}
@@ -14,11 +14,12 @@ import { ErrorBoundary } from "react-error-boundary";
14
14
  import { bufferLatest } from "./bufferLatest.js";
15
15
  import { createMessageBus } from "./createMessageBus.js";
16
16
  import { UiShell } from "./UiShell.js";
17
- import { renderReactInWebComponent } from "../web-component/renderReactInWebComponent.js";
18
17
  import { uiShellDataAttribute } from "./useHasUiShell.js";
18
+ import { renderReactInWebComponent } from "../web-component/renderReactInWebComponent.js";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
20
  export const optionalComponentSlotNames = {
21
21
  banners: "banners",
22
+ rightSideMenu: "right-side-menu",
22
23
  sideNavFooter: "side-nav-footer",
23
24
  topNavLeftSide: "top-nav-left-side",
24
25
  topNavRightSide: "top-nav-right-side"
@@ -26,17 +27,17 @@ export const optionalComponentSlotNames = {
26
27
  export const renderUiShell = ({
27
28
  appBackgroundColor,
28
29
  appBackgroundContrastMode,
29
- appContainerScrollingMode,
30
- appRootElement: explicitAppRootElement,
30
+ appElement: providedAppElement,
31
+ appElementScrollingMode,
31
32
  hasStandardAppContentPadding,
32
33
  initialVisibleSections,
33
34
  onError = console.error,
35
+ parentElement,
34
36
  sideNavBackgroundColor,
35
- topNavBackgroundColor,
36
- uiShellRootElement
37
+ topNavBackgroundColor
37
38
  }) => {
38
- const appRootElement = explicitAppRootElement || document.createElement("div");
39
- uiShellRootElement.setAttribute(uiShellDataAttribute, "");
39
+ const appElement = providedAppElement || document.createElement("div");
40
+ parentElement.setAttribute(uiShellDataAttribute, "");
40
41
  const {
41
42
  publish: publishPropChanges,
42
43
  subscribe: subscribeToPropChanges
@@ -54,21 +55,18 @@ export const renderUiShell = ({
54
55
  element.setAttribute("slot", slotName);
55
56
  return [optionalComponentKey, element];
56
57
  }));
57
- const appContainerElement = document.createElement("div");
58
- appContainerElement.appendChild(appRootElement);
59
58
  const webComponentChildren = Object.values(slottedElements);
60
- const appComponent = _jsx("slot", {});
61
59
  const uiShellElement = renderReactInWebComponent({
62
60
  getReactComponent: reactRootElements => _jsx(ErrorBoundary, {
63
- fallback: appComponent,
61
+ fallback: _jsx("div", {
62
+ "data-error": true
63
+ }),
64
64
  onError: onError,
65
65
  children: _jsx(UiShell, {
66
66
  appBackgroundColor: appBackgroundColor,
67
67
  appBackgroundContrastMode: appBackgroundContrastMode,
68
- appComponent: appComponent,
69
- appContainerElement: appContainerElement,
70
- appContainerScrollingMode: appContainerScrollingMode,
71
- appRootElement: reactRootElements.appRootElement,
68
+ appElement: appElement,
69
+ appElementScrollingMode: appElementScrollingMode,
72
70
  hasStandardAppContentPadding: hasStandardAppContentPadding,
73
71
  initialVisibleSections: initialVisibleSections,
74
72
  onError: onError,
@@ -77,17 +75,18 @@ export const renderUiShell = ({
77
75
  name: slotName
78
76
  })])),
79
77
  sideNavBackgroundColor: sideNavBackgroundColor,
80
- stylesRootElement: reactRootElements.stylesRootElement,
81
78
  subscribeToPropChanges: subscribeToPropChanges,
82
- topNavBackgroundColor: topNavBackgroundColor
79
+ topNavBackgroundColor: topNavBackgroundColor,
80
+ uiShellAppElement: reactRootElements.appRootElement,
81
+ uiShellStylesElement: reactRootElements.stylesRootElement
83
82
  })
84
83
  }),
85
- webComponentRootElement: uiShellRootElement,
84
+ webComponentParentElement: parentElement,
86
85
  webComponentChildren
87
86
  });
88
- uiShellRootElement.appendChild(appContainerElement);
87
+ parentElement.appendChild(appElement);
89
88
  return {
90
- appRootElement,
89
+ appElement,
91
90
  setComponentProps: publishAfterReactAppReadyForProps,
92
91
  slottedElements,
93
92
  uiShellElement