@okta/odyssey-react-mui 1.25.0 → 1.26.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 (491) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Autocomplete.js +30 -191
  3. package/dist/Autocomplete.js.map +1 -1
  4. package/dist/Box.js +2 -0
  5. package/dist/Box.js.map +1 -1
  6. package/dist/Card.js +1 -0
  7. package/dist/Card.js.map +1 -1
  8. package/dist/OdysseyDesignTokensContext.js +3 -2
  9. package/dist/OdysseyDesignTokensContext.js.map +1 -1
  10. package/dist/OdysseyProvider.js +9 -7
  11. package/dist/OdysseyProvider.js.map +1 -1
  12. package/dist/OdysseyThemeProvider.js +33 -13
  13. package/dist/OdysseyThemeProvider.js.map +1 -1
  14. package/dist/Pagination/Pagination.js +46 -14
  15. package/dist/Pagination/Pagination.js.map +1 -1
  16. package/dist/Surface.js +4 -1
  17. package/dist/Surface.js.map +1 -1
  18. package/dist/Tag.js +42 -27
  19. package/dist/Tag.js.map +1 -1
  20. package/dist/index.js +6 -7
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.scss +1 -1
  23. package/dist/labs/AppTile.js +137 -39
  24. package/dist/labs/AppTile.js.map +1 -1
  25. package/dist/labs/DataView/CardLayoutContent.js +7 -8
  26. package/dist/labs/DataView/CardLayoutContent.js.map +1 -1
  27. package/dist/labs/DataView/DataCard.js +96 -43
  28. package/dist/labs/DataView/DataCard.js.map +1 -1
  29. package/dist/labs/DataView/TableLayoutContent.js +3 -2
  30. package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
  31. package/dist/labs/DataView/componentTypes.js.map +1 -1
  32. package/dist/labs/DataView/index.js.map +1 -1
  33. package/dist/labs/OdysseyPickers/ComposablePicker.js +113 -0
  34. package/dist/labs/OdysseyPickers/ComposablePicker.js.map +1 -0
  35. package/dist/labs/OdysseyPickers/Picker.js +261 -0
  36. package/dist/labs/OdysseyPickers/Picker.js.map +1 -0
  37. package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js +132 -0
  38. package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js.map +1 -0
  39. package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js +291 -0
  40. package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -0
  41. package/dist/{src/createShadowDomElements.d.ts → labs/OdysseyPickers/index.js} +4 -7
  42. package/dist/labs/OdysseyPickers/index.js.map +1 -0
  43. package/dist/labs/PageTemplate.js +14 -10
  44. package/dist/labs/PageTemplate.js.map +1 -1
  45. package/dist/labs/SideNav/CollapseIcon.js +11 -25
  46. package/dist/labs/SideNav/CollapseIcon.js.map +1 -1
  47. package/dist/labs/SideNav/HandleIcon.js +32 -0
  48. package/dist/labs/SideNav/HandleIcon.js.map +1 -0
  49. package/dist/labs/{NavAccordion.js → SideNav/NavAccordion.js} +35 -6
  50. package/dist/labs/SideNav/NavAccordion.js.map +1 -0
  51. package/dist/labs/SideNav/OktaAura.js +32 -0
  52. package/dist/labs/SideNav/OktaAura.js.map +1 -0
  53. package/dist/labs/SideNav/OktaLogo.js +6 -9
  54. package/dist/labs/SideNav/OktaLogo.js.map +1 -1
  55. package/dist/labs/SideNav/SideNav.js +239 -169
  56. package/dist/labs/SideNav/SideNav.js.map +1 -1
  57. package/dist/labs/SideNav/SideNavFooterContent.js +32 -18
  58. package/dist/labs/SideNav/SideNavFooterContent.js.map +1 -1
  59. package/dist/labs/SideNav/SideNavHeader.js +48 -37
  60. package/dist/labs/SideNav/SideNavHeader.js.map +1 -1
  61. package/dist/labs/SideNav/SideNavItemContent.js +100 -58
  62. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
  63. package/dist/labs/SideNav/SideNavItemContentContext.js +19 -0
  64. package/dist/labs/SideNav/SideNavItemContentContext.js.map +1 -0
  65. package/dist/labs/SideNav/SideNavItemLinkContent.js +14 -13
  66. package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -1
  67. package/dist/labs/SideNav/SideNavLogo.js +42 -0
  68. package/dist/labs/SideNav/SideNavLogo.js.map +1 -0
  69. package/dist/labs/SideNav/SideNavToggleButton.js +170 -0
  70. package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -0
  71. package/dist/labs/SideNav/types.js.map +1 -1
  72. package/dist/labs/TopNav/TopNav.js +65 -0
  73. package/dist/labs/TopNav/TopNav.js.map +1 -0
  74. package/dist/labs/TopNav/TopNavLinksList.js +38 -0
  75. package/dist/labs/TopNav/TopNavLinksList.js.map +1 -0
  76. package/dist/labs/TopNav/TopNavListItem.js +132 -0
  77. package/dist/labs/TopNav/TopNavListItem.js.map +1 -0
  78. package/dist/labs/TopNav/UserProfile.js +65 -0
  79. package/dist/labs/TopNav/UserProfile.js.map +1 -0
  80. package/dist/labs/TopNav/index.js +14 -0
  81. package/dist/labs/TopNav/index.js.map +1 -0
  82. package/dist/labs/UiShell/UiShell.js +68 -0
  83. package/dist/labs/UiShell/UiShell.js.map +1 -0
  84. package/dist/labs/UiShell/UiShellContent.js +114 -0
  85. package/dist/labs/UiShell/UiShellContent.js.map +1 -0
  86. package/dist/labs/UiShell/bufferLatest.js +37 -0
  87. package/dist/labs/UiShell/bufferLatest.js.map +1 -0
  88. package/dist/labs/UiShell/createMessageBus.js +30 -0
  89. package/dist/labs/UiShell/createMessageBus.js.map +1 -0
  90. package/dist/labs/UiShell/createStore.js +24 -0
  91. package/dist/labs/UiShell/createStore.js.map +1 -0
  92. package/dist/labs/UiShell/index.js +15 -0
  93. package/dist/labs/UiShell/index.js.map +1 -0
  94. package/dist/labs/UiShell/renderUiShell.js +78 -0
  95. package/dist/labs/UiShell/renderUiShell.js.map +1 -0
  96. package/dist/labs/UiShell/useHasUiShell.js +22 -0
  97. package/dist/labs/UiShell/useHasUiShell.js.map +1 -0
  98. package/dist/labs/UiShell/useScrollState.js +41 -0
  99. package/dist/labs/UiShell/useScrollState.js.map +1 -0
  100. package/dist/labs/index.js +5 -3
  101. package/dist/labs/index.js.map +1 -1
  102. package/dist/properties/ts/odyssey-react-mui.js +7 -1
  103. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  104. package/dist/properties/ts/odyssey-react-mui_cs.js +3 -1
  105. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  106. package/dist/properties/ts/odyssey-react-mui_da.js +3 -1
  107. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  108. package/dist/properties/ts/odyssey-react-mui_de.js +3 -1
  109. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  110. package/dist/properties/ts/odyssey-react-mui_el.js +3 -1
  111. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  112. package/dist/properties/ts/odyssey-react-mui_es.js +3 -1
  113. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  114. package/dist/properties/ts/odyssey-react-mui_fi.js +3 -1
  115. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  116. package/dist/properties/ts/odyssey-react-mui_fr.js +5 -3
  117. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  118. package/dist/properties/ts/odyssey-react-mui_ht.js +3 -1
  119. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  120. package/dist/properties/ts/odyssey-react-mui_hu.js +3 -1
  121. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  122. package/dist/properties/ts/odyssey-react-mui_id.js +3 -1
  123. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  124. package/dist/properties/ts/odyssey-react-mui_it.js +4 -2
  125. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  126. package/dist/properties/ts/odyssey-react-mui_ja.js +9 -7
  127. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  128. package/dist/properties/ts/odyssey-react-mui_ko.js +3 -1
  129. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  130. package/dist/properties/ts/odyssey-react-mui_ms.js +3 -1
  131. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  132. package/dist/properties/ts/odyssey-react-mui_nb.js +3 -1
  133. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  134. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +3 -1
  135. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  136. package/dist/properties/ts/odyssey-react-mui_pl.js +3 -1
  137. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  138. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +3 -1
  139. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  140. package/dist/properties/ts/odyssey-react-mui_ro.js +3 -1
  141. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  142. package/dist/properties/ts/odyssey-react-mui_ru.js +3 -1
  143. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  144. package/dist/properties/ts/odyssey-react-mui_sv.js +3 -1
  145. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  146. package/dist/properties/ts/odyssey-react-mui_th.js +3 -1
  147. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  148. package/dist/properties/ts/odyssey-react-mui_tr.js +4 -2
  149. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  150. package/dist/properties/ts/odyssey-react-mui_uk.js +3 -1
  151. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  152. package/dist/properties/ts/odyssey-react-mui_vi.js +3 -1
  153. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  154. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +3 -1
  155. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  156. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +3 -1
  157. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  158. package/dist/src/Autocomplete.d.ts +21 -22
  159. package/dist/src/Autocomplete.d.ts.map +1 -1
  160. package/dist/src/Box.d.ts +3 -1
  161. package/dist/src/Box.d.ts.map +1 -1
  162. package/dist/src/Card.d.ts.map +1 -1
  163. package/dist/src/OdysseyDesignTokensContext.d.ts +5 -4
  164. package/dist/src/OdysseyDesignTokensContext.d.ts.map +1 -1
  165. package/dist/src/OdysseyProvider.d.ts +3 -3
  166. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  167. package/dist/src/OdysseyThemeProvider.d.ts +10 -12
  168. package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
  169. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  170. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  171. package/dist/src/Pagination/Pagination.d.ts +21 -7
  172. package/dist/src/Pagination/Pagination.d.ts.map +1 -1
  173. package/dist/src/Surface.d.ts.map +1 -1
  174. package/dist/src/Tag.d.ts +5 -2
  175. package/dist/src/Tag.d.ts.map +1 -1
  176. package/dist/src/index.d.ts +6 -7
  177. package/dist/src/index.d.ts.map +1 -1
  178. package/dist/src/labs/AppTile.d.ts +3 -1
  179. package/dist/src/labs/AppTile.d.ts.map +1 -1
  180. package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -1
  181. package/dist/src/labs/DataView/DataCard.d.ts +9 -3
  182. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
  183. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  184. package/dist/src/labs/DataView/componentTypes.d.ts +1 -1
  185. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
  186. package/dist/src/labs/DataView/index.d.ts +1 -0
  187. package/dist/src/labs/DataView/index.d.ts.map +1 -1
  188. package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts +33 -0
  189. package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -0
  190. package/dist/src/labs/OdysseyPickers/Picker.d.ts +98 -0
  191. package/dist/src/labs/OdysseyPickers/Picker.d.ts.map +1 -0
  192. package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts +17 -0
  193. package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts.map +1 -0
  194. package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts +26 -0
  195. package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -0
  196. package/dist/src/labs/OdysseyPickers/index.d.ts +15 -0
  197. package/dist/src/labs/OdysseyPickers/index.d.ts.map +1 -0
  198. package/dist/src/labs/PageTemplate.d.ts +1 -1
  199. package/dist/src/labs/PageTemplate.d.ts.map +1 -1
  200. package/dist/src/labs/SideNav/CollapseIcon.d.ts +1 -4
  201. package/dist/src/labs/SideNav/CollapseIcon.d.ts.map +1 -1
  202. package/dist/src/labs/SideNav/HandleIcon.d.ts +14 -0
  203. package/dist/src/labs/SideNav/HandleIcon.d.ts.map +1 -0
  204. package/dist/src/labs/{NavAccordion.d.ts → SideNav/NavAccordion.d.ts} +6 -2
  205. package/dist/src/labs/SideNav/NavAccordion.d.ts.map +1 -0
  206. package/dist/src/labs/SideNav/OktaAura.d.ts +14 -0
  207. package/dist/src/labs/SideNav/OktaAura.d.ts.map +1 -0
  208. package/dist/src/labs/SideNav/OktaLogo.d.ts.map +1 -1
  209. package/dist/src/labs/SideNav/SideNav.d.ts +2 -1
  210. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
  211. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts +1 -1
  212. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts.map +1 -1
  213. package/dist/src/labs/SideNav/SideNavHeader.d.ts +12 -3
  214. package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -1
  215. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +2 -3
  216. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
  217. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts +18 -0
  218. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts.map +1 -0
  219. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts +1 -1
  220. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
  221. package/dist/src/labs/SideNav/SideNavLogo.d.ts +15 -0
  222. package/dist/src/labs/SideNav/SideNavLogo.d.ts.map +1 -0
  223. package/dist/src/labs/SideNav/SideNavToggleButton.d.ts +38 -0
  224. package/dist/src/labs/SideNav/SideNavToggleButton.d.ts.map +1 -0
  225. package/dist/src/labs/SideNav/types.d.ts +67 -33
  226. package/dist/src/labs/SideNav/types.d.ts.map +1 -1
  227. package/dist/src/labs/TopNav/TopNav.d.ts +31 -0
  228. package/dist/src/labs/TopNav/TopNav.d.ts.map +1 -0
  229. package/dist/src/labs/TopNav/TopNavLinksList.d.ts +44 -0
  230. package/dist/src/labs/TopNav/TopNavLinksList.d.ts.map +1 -0
  231. package/dist/src/labs/TopNav/TopNavListItem.d.ts +42 -0
  232. package/dist/src/labs/TopNav/TopNavListItem.d.ts.map +1 -0
  233. package/dist/src/labs/TopNav/UserProfile.d.ts +29 -0
  234. package/dist/src/labs/TopNav/UserProfile.d.ts.map +1 -0
  235. package/dist/src/labs/TopNav/index.d.ts +14 -0
  236. package/dist/src/labs/TopNav/index.d.ts.map +1 -0
  237. package/dist/src/labs/UiShell/UiShell.d.ts +33 -0
  238. package/dist/src/labs/UiShell/UiShell.d.ts.map +1 -0
  239. package/dist/src/labs/UiShell/UiShellContent.d.ts +47 -0
  240. package/dist/src/labs/UiShell/UiShellContent.d.ts.map +1 -0
  241. package/dist/src/labs/UiShell/bufferLatest.d.ts +31 -0
  242. package/dist/src/labs/UiShell/bufferLatest.d.ts.map +1 -0
  243. package/dist/src/labs/UiShell/createMessageBus.d.ts +24 -0
  244. package/dist/src/labs/UiShell/createMessageBus.d.ts.map +1 -0
  245. package/dist/src/labs/UiShell/createStore.d.ts +22 -0
  246. package/dist/src/labs/UiShell/createStore.d.ts.map +1 -0
  247. package/dist/src/labs/UiShell/index.d.ts +16 -0
  248. package/dist/src/labs/UiShell/index.d.ts.map +1 -0
  249. package/dist/src/labs/UiShell/renderUiShell.d.ts +45 -0
  250. package/dist/src/labs/UiShell/renderUiShell.d.ts.map +1 -0
  251. package/dist/src/labs/UiShell/useHasUiShell.d.ts +13 -0
  252. package/dist/src/labs/UiShell/useHasUiShell.d.ts.map +1 -0
  253. package/dist/src/labs/UiShell/useScrollState.d.ts +16 -0
  254. package/dist/src/labs/UiShell/useScrollState.d.ts.map +1 -0
  255. package/dist/src/labs/index.d.ts +6 -2
  256. package/dist/src/labs/index.d.ts.map +1 -1
  257. package/dist/src/properties/ts/odyssey-react-mui.d.ts +6 -0
  258. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  259. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
  260. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  261. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +2 -0
  262. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  263. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +2 -0
  264. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  265. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +2 -0
  266. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  267. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +2 -0
  268. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  269. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
  270. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  271. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +2 -0
  272. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  273. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +2 -0
  274. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  275. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
  276. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  277. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +2 -0
  278. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  279. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +2 -0
  280. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  281. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
  282. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  283. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +2 -0
  284. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  285. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
  286. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  287. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
  288. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  289. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +2 -0
  290. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  291. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
  292. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  293. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +2 -0
  294. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  295. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
  296. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  297. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
  298. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  299. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
  300. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  301. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +2 -0
  302. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  303. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
  304. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  305. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
  306. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  307. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +2 -0
  308. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  309. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +2 -0
  310. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  311. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +2 -0
  312. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  313. package/dist/src/test-selectors/querySelector.d.ts +2 -2
  314. package/dist/src/theme/components.d.ts +3 -1
  315. package/dist/src/theme/components.d.ts.map +1 -1
  316. package/dist/src/theme/createOdysseyMuiTheme.d.ts +2 -1
  317. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  318. package/dist/src/useAutocomplete.d.ts +29 -0
  319. package/dist/src/useAutocomplete.d.ts.map +1 -0
  320. package/dist/src/useContrastMode.d.ts +46 -0
  321. package/dist/src/useContrastMode.d.ts.map +1 -0
  322. package/dist/src/web-component/index.d.ts +14 -0
  323. package/dist/src/web-component/index.d.ts.map +1 -0
  324. package/dist/src/web-component/renderReactInWebComponent.d.ts +76 -0
  325. package/dist/src/web-component/renderReactInWebComponent.d.ts.map +1 -0
  326. package/dist/src/web-component/shadow-dom.d.ts +23 -0
  327. package/dist/src/web-component/shadow-dom.d.ts.map +1 -0
  328. package/dist/test-selectors/querySelector.js.map +1 -1
  329. package/dist/theme/components.js +36 -32
  330. package/dist/theme/components.js.map +1 -1
  331. package/dist/theme/createOdysseyMuiTheme.js +3 -2
  332. package/dist/theme/createOdysseyMuiTheme.js.map +1 -1
  333. package/dist/tsconfig.production.tsbuildinfo +1 -1
  334. package/dist/tsconfig.tsbuildinfo +1 -1
  335. package/dist/useAutocomplete.js +105 -0
  336. package/dist/useAutocomplete.js.map +1 -0
  337. package/dist/useContrastMode.js +93 -0
  338. package/dist/useContrastMode.js.map +1 -0
  339. package/dist/web-component/index.js +14 -0
  340. package/dist/web-component/index.js.map +1 -0
  341. package/dist/web-component/renderReactInWebComponent.js +72 -0
  342. package/dist/web-component/renderReactInWebComponent.js.map +1 -0
  343. package/dist/{createShadowDomElements.js → web-component/shadow-dom.js} +10 -12
  344. package/dist/web-component/shadow-dom.js.map +1 -0
  345. package/jest.config.cjs +1 -1
  346. package/jest.setup.js +0 -3
  347. package/package.json +4 -3
  348. package/src/Autocomplete.tsx +40 -330
  349. package/src/Box.tsx +4 -2
  350. package/src/Card.tsx +1 -0
  351. package/src/OdysseyDesignTokensContext.tsx +6 -3
  352. package/src/OdysseyProvider.tsx +13 -8
  353. package/src/OdysseyThemeProvider.test.tsx +209 -0
  354. package/src/OdysseyThemeProvider.tsx +42 -26
  355. package/src/Pagination/Pagination.test.tsx +305 -0
  356. package/src/Pagination/Pagination.tsx +86 -38
  357. package/src/Surface.tsx +2 -1
  358. package/src/Tag.tsx +64 -39
  359. package/src/createUniqueAlphabeticalId.test.ts +1 -1
  360. package/src/createUniqueId.test.ts +1 -1
  361. package/src/index.ts +6 -7
  362. package/src/labs/AppTile.tsx +169 -40
  363. package/src/labs/DataView/CardLayoutContent.tsx +12 -14
  364. package/src/labs/DataView/DataCard.tsx +137 -69
  365. package/src/labs/DataView/DataView.test.tsx +6 -4
  366. package/src/labs/DataView/TableLayoutContent.tsx +6 -2
  367. package/src/labs/DataView/componentTypes.ts +1 -1
  368. package/src/labs/DataView/index.tsx +1 -0
  369. package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +29 -0
  370. package/src/labs/OdysseyPickers/ComposablePicker.tsx +188 -0
  371. package/src/labs/OdysseyPickers/Picker.tsx +381 -0
  372. package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +191 -0
  373. package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +429 -0
  374. package/src/labs/OdysseyPickers/index.ts +15 -0
  375. package/src/labs/PageTemplate.tsx +18 -10
  376. package/src/labs/SideNav/CollapseIcon.tsx +14 -28
  377. package/src/labs/SideNav/HandleIcon.tsx +35 -0
  378. package/src/labs/{NavAccordion.tsx → SideNav/NavAccordion.tsx} +48 -8
  379. package/src/labs/SideNav/OktaAura.tsx +35 -0
  380. package/src/labs/SideNav/OktaLogo.tsx +5 -10
  381. package/src/labs/SideNav/SideNav.test.tsx +323 -0
  382. package/src/labs/SideNav/SideNav.tsx +291 -204
  383. package/src/labs/SideNav/SideNavFooterContent.tsx +36 -28
  384. package/src/labs/SideNav/SideNavHeader.tsx +62 -45
  385. package/src/labs/SideNav/SideNavItemContent.tsx +142 -62
  386. package/src/labs/SideNav/SideNavItemContentContext.tsx +27 -0
  387. package/src/labs/SideNav/SideNavItemLinkContent.tsx +17 -14
  388. package/src/labs/SideNav/SideNavLogo.tsx +41 -0
  389. package/src/labs/SideNav/SideNavToggleButton.tsx +249 -0
  390. package/src/labs/SideNav/types.ts +72 -33
  391. package/src/labs/TopNav/TopNav.tsx +95 -0
  392. package/src/labs/TopNav/TopNavLinksList.tsx +68 -0
  393. package/src/labs/TopNav/TopNavListItem.tsx +209 -0
  394. package/src/labs/TopNav/UserProfile.tsx +79 -0
  395. package/src/labs/TopNav/index.ts +14 -0
  396. package/src/labs/UiShell/UiShell.test.tsx +284 -0
  397. package/src/labs/UiShell/UiShell.tsx +109 -0
  398. package/src/labs/UiShell/UiShellContent.tsx +170 -0
  399. package/src/labs/UiShell/bufferLatest.test.ts +79 -0
  400. package/src/labs/UiShell/bufferLatest.ts +64 -0
  401. package/src/labs/UiShell/createMessageBus.test.ts +115 -0
  402. package/src/labs/UiShell/createMessageBus.ts +53 -0
  403. package/src/labs/UiShell/createStore.test.ts +103 -0
  404. package/src/labs/UiShell/createStore.ts +37 -0
  405. package/src/labs/UiShell/index.ts +17 -0
  406. package/src/labs/UiShell/renderUiShell.test.tsx +197 -0
  407. package/src/labs/UiShell/renderUiShell.tsx +132 -0
  408. package/src/labs/UiShell/useHasUiShell.ts +25 -0
  409. package/src/labs/UiShell/useScrollState.ts +56 -0
  410. package/src/labs/index.ts +10 -3
  411. package/src/properties/odyssey-react-mui.properties +7 -0
  412. package/src/properties/translations/odyssey-react-mui_cs.properties +2 -1
  413. package/src/properties/translations/odyssey-react-mui_da.properties +2 -1
  414. package/src/properties/translations/odyssey-react-mui_de.properties +2 -1
  415. package/src/properties/translations/odyssey-react-mui_el.properties +2 -1
  416. package/src/properties/translations/odyssey-react-mui_es.properties +2 -1
  417. package/src/properties/translations/odyssey-react-mui_fi.properties +2 -1
  418. package/src/properties/translations/odyssey-react-mui_fr.properties +4 -3
  419. package/src/properties/translations/odyssey-react-mui_ht.properties +2 -1
  420. package/src/properties/translations/odyssey-react-mui_hu.properties +2 -1
  421. package/src/properties/translations/odyssey-react-mui_id.properties +2 -1
  422. package/src/properties/translations/odyssey-react-mui_it.properties +3 -2
  423. package/src/properties/translations/odyssey-react-mui_ja.properties +8 -7
  424. package/src/properties/translations/odyssey-react-mui_ko.properties +2 -1
  425. package/src/properties/translations/odyssey-react-mui_ms.properties +2 -1
  426. package/src/properties/translations/odyssey-react-mui_nb.properties +2 -1
  427. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +2 -1
  428. package/src/properties/translations/odyssey-react-mui_pl.properties +2 -1
  429. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +2 -1
  430. package/src/properties/translations/odyssey-react-mui_ro.properties +2 -1
  431. package/src/properties/translations/odyssey-react-mui_ru.properties +2 -1
  432. package/src/properties/translations/odyssey-react-mui_sv.properties +2 -1
  433. package/src/properties/translations/odyssey-react-mui_th.properties +2 -1
  434. package/src/properties/translations/odyssey-react-mui_tr.properties +3 -2
  435. package/src/properties/translations/odyssey-react-mui_uk.properties +2 -1
  436. package/src/properties/translations/odyssey-react-mui_vi.properties +2 -1
  437. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +2 -1
  438. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +2 -1
  439. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  440. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  441. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  442. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  443. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  444. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  445. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  446. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  447. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -1
  448. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  449. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  450. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  451. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  452. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  453. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  454. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  455. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  456. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  457. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  458. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  459. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  460. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  461. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  462. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  463. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  464. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  465. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  466. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  467. package/src/test-selectors/querySelector.ts +1 -1
  468. package/src/theme/components.tsx +50 -33
  469. package/src/theme/createOdysseyMuiTheme.ts +4 -3
  470. package/src/theme/useContrastMode.test.tsx +503 -0
  471. package/src/useAutocomplete.tsx +183 -0
  472. package/src/useContrastMode.tsx +149 -0
  473. package/src/web-component/index.ts +14 -0
  474. package/src/web-component/renderReactInWebComponent.test.tsx +156 -0
  475. package/src/web-component/renderReactInWebComponent.ts +153 -0
  476. package/src/web-component/shadow-dom.test.ts +24 -0
  477. package/src/{createShadowDomElements.ts → web-component/shadow-dom.ts} +15 -14
  478. package/dist/ContrastModeProvider.js +0 -86
  479. package/dist/ContrastModeProvider.js.map +0 -1
  480. package/dist/createShadowDomElements.js.map +0 -1
  481. package/dist/labs/NavAccordion.js.map +0 -1
  482. package/dist/labs/TopNav.js +0 -281
  483. package/dist/labs/TopNav.js.map +0 -1
  484. package/dist/src/ContrastModeProvider.d.ts +0 -34
  485. package/dist/src/ContrastModeProvider.d.ts.map +0 -1
  486. package/dist/src/createShadowDomElements.d.ts.map +0 -1
  487. package/dist/src/labs/NavAccordion.d.ts.map +0 -1
  488. package/dist/src/labs/TopNav.d.ts +0 -78
  489. package/dist/src/labs/TopNav.d.ts.map +0 -1
  490. package/src/ContrastModeProvider.tsx +0 -131
  491. package/src/labs/TopNav.tsx +0 -396
@@ -0,0 +1,114 @@
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 } from "react";
15
+ import { ErrorBoundary } from "react-error-boundary";
16
+ import { SideNav } from "../SideNav/index.js";
17
+ import { TopNav } from "../TopNav/index.js";
18
+ import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
19
+ import { useScrollState } from "./useScrollState.js";
20
+ import { jsx as _jsx } from "react/jsx-runtime";
21
+ import { jsxs as _jsxs } from "react/jsx-runtime";
22
+ const StyledAppContainer = styled("div", {
23
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
24
+ })(({
25
+ odysseyDesignTokens
26
+ }) => ({
27
+ gridArea: "app-content",
28
+ overflowX: "hidden",
29
+ overflowY: "auto",
30
+ paddingBlock: odysseyDesignTokens.Spacing5,
31
+ paddingInline: odysseyDesignTokens.Spacing6
32
+ }));
33
+ const StyledBannersContainer = styled("div")(() => ({
34
+ gridArea: "banners"
35
+ }));
36
+ const StyledSideNavContainer = styled("div")(() => ({
37
+ gridArea: "side-nav"
38
+ }));
39
+ const StyledShellContainer = styled("div", {
40
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
41
+ })(({
42
+ odysseyDesignTokens
43
+ }) => ({
44
+ backgroundColor: odysseyDesignTokens.HueNeutral50,
45
+ display: "grid",
46
+ gridGap: 0,
47
+ gridTemplateAreas: `
48
+ "banners banners"
49
+ "side-nav top-nav"
50
+ "side-nav app-content"
51
+ `,
52
+ gridTemplateColumns: "auto 1fr",
53
+ gridTemplateRows: "auto auto 1fr",
54
+ height: "100vh",
55
+ width: "100vw"
56
+ }));
57
+ const StyledTopNavContainer = styled("div")(() => ({
58
+ gridArea: "top-nav"
59
+ }));
60
+ const UiShellContent = ({
61
+ appComponent,
62
+ onError = console.error,
63
+ optionalComponents,
64
+ sideNavProps,
65
+ topNavProps
66
+ }) => {
67
+ const odysseyDesignTokens = useOdysseyDesignTokens();
68
+ const {
69
+ isContentScrolled,
70
+ scrollableContentRef
71
+ } = useScrollState();
72
+ return _jsxs(StyledShellContainer, {
73
+ odysseyDesignTokens: odysseyDesignTokens,
74
+ children: [_jsx(StyledBannersContainer, {
75
+ children: optionalComponents?.banners
76
+ }), _jsx(StyledSideNavContainer, {
77
+ children: sideNavProps && _jsx(ErrorBoundary, {
78
+ fallback: null,
79
+ onError: onError,
80
+ children: _jsx(SideNav, {
81
+ ...sideNavProps,
82
+ ...(sideNavProps.hasCustomFooter && optionalComponents?.sideNavFooter ? {
83
+ footerComponent: optionalComponents.sideNavFooter,
84
+ footerItems: undefined,
85
+ hasCustomFooter: sideNavProps.hasCustomFooter
86
+ } : {
87
+ footerItems: sideNavProps.footerItems,
88
+ hasCustomFooter: false
89
+ })
90
+ })
91
+ })
92
+ }), _jsx(StyledTopNavContainer, {
93
+ children: _jsx(ErrorBoundary, {
94
+ fallback: null,
95
+ onError: onError,
96
+ children: _jsx(TopNav, {
97
+ ...topNavProps,
98
+ isScrolled: isContentScrolled,
99
+ leftSideComponent: optionalComponents?.topNavLeftSide,
100
+ rightSideComponent: optionalComponents?.topNavRightSide
101
+ })
102
+ })
103
+ }), _jsx(StyledAppContainer, {
104
+ odysseyDesignTokens: odysseyDesignTokens,
105
+ tabIndex: 0,
106
+ ref: scrollableContentRef,
107
+ children: appComponent
108
+ })]
109
+ });
110
+ };
111
+ const MemoizedUiShellContent = memo(UiShellContent);
112
+ MemoizedUiShellContent.displayName = "UiShellContent";
113
+ export { MemoizedUiShellContent as UiShellContent };
114
+ //# sourceMappingURL=UiShellContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiShellContent.js","names":["styled","memo","ErrorBoundary","SideNav","TopNav","useOdysseyDesignTokens","useScrollState","jsx","_jsx","jsxs","_jsxs","StyledAppContainer","shouldForwardProp","prop","odysseyDesignTokens","gridArea","overflowX","overflowY","paddingBlock","Spacing5","paddingInline","Spacing6","StyledBannersContainer","StyledSideNavContainer","StyledShellContainer","backgroundColor","HueNeutral50","display","gridGap","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","width","StyledTopNavContainer","UiShellContent","appComponent","onError","console","error","optionalComponents","sideNavProps","topNavProps","isContentScrolled","scrollableContentRef","children","banners","fallback","hasCustomFooter","sideNavFooter","footerComponent","footerItems","undefined","isScrolled","leftSideComponent","topNavLeftSide","rightSideComponent","topNavRightSide","tabIndex","ref","MemoizedUiShellContent","displayName"],"sources":["../../../src/labs/UiShell/UiShellContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, type ReactElement, type ReactNode } from \"react\";\nimport { ErrorBoundary, ErrorBoundaryProps } from \"react-error-boundary\";\n\nimport { SideNav, type SideNavProps } from \"../SideNav\";\nimport { TopNav, type TopNavProps } from \"../TopNav\";\nimport {\n useOdysseyDesignTokens,\n type DesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport { useScrollState } from \"./useScrollState\";\n\nconst StyledAppContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n gridArea: \"app-content\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n paddingBlock: odysseyDesignTokens.Spacing5,\n paddingInline: odysseyDesignTokens.Spacing6,\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\"\n \"side-nav top-nav\"\n \"side-nav app-content\"\n `,\n gridTemplateColumns: \"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 UiShellNavComponentProps = {\n /**\n * Object that gets pass directly to the side nav component.\n */\n sideNavProps?: Omit<SideNavProps, \"footerComponent\">;\n /**\n * Object that gets pass directly to the top nav component.\n */\n topNavProps: Omit<TopNavProps, \"leftSideComponent\" | \"rightSideComponent\">;\n};\n\nexport type UiShellContentProps = {\n /**\n * React app component that renders as children in the correct location of the shell.\n */\n appComponent: ReactNode;\n /**\n * Notifies when a React rendering error occurs. This could be useful for logging, flagging \"p0\"s, and recovering UI Shell when errors occur.\n */\n onError?: ErrorBoundaryProps[\"onError\"];\n /**\n * Components that will render as children of various other components such as the top nav or side nav.\n */\n optionalComponents?: {\n banners?: ReactElement;\n sideNavFooter?: SideNavProps[\"footerComponent\"];\n topNavLeftSide?: TopNavProps[\"leftSideComponent\"];\n topNavRightSide?: TopNavProps[\"rightSideComponent\"];\n };\n} & UiShellNavComponentProps;\n\n/**\n * Our new Unified Platform UI Shell.\n *\n * This includes the top and side navigation as well as the footer and provides a spot for your app to render into.\n *\n * If an error occurs, this will revert to only showing the app.\n */\nconst UiShellContent = ({\n appComponent,\n onError = console.error,\n optionalComponents,\n sideNavProps,\n topNavProps,\n}: UiShellContentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isContentScrolled, scrollableContentRef } = useScrollState();\n\n return (\n <StyledShellContainer odysseyDesignTokens={odysseyDesignTokens}>\n <StyledBannersContainer>\n {optionalComponents?.banners}\n </StyledBannersContainer>\n\n <StyledSideNavContainer>\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>\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 </StyledTopNavContainer>\n\n <StyledAppContainer\n odysseyDesignTokens={odysseyDesignTokens}\n tabIndex={0}\n ref={scrollableContentRef}\n >\n {appComponent}\n </StyledAppContainer>\n </StyledShellContainer>\n );\n};\n\nconst MemoizedUiShellContent = memo(UiShellContent);\nMemoizedUiShellContent.displayName = \"UiShellContent\";\n\nexport { MemoizedUiShellContent as UiShellContent };\n"],"mappings":"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"}
@@ -0,0 +1,37 @@
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
+ import { createStore } from "./createStore.js";
13
+ export const bufferLatest = ({
14
+ publish,
15
+ subscribe
16
+ }) => {
17
+ const store = createStore({
18
+ isReactAppReadyForProps: false
19
+ });
20
+ const unsubscribe = subscribe(() => {
21
+ unsubscribe();
22
+ store.setState("isReactAppReadyForProps", true);
23
+ store.getState("bufferedValue");
24
+ if (store.hasState("bufferedValue")) {
25
+ publish(store.getState("bufferedValue"));
26
+ }
27
+ });
28
+ const publishWhenReady = value => {
29
+ if (store.getState("isReactAppReadyForProps")) {
30
+ publish(value);
31
+ } else {
32
+ store.setState("bufferedValue", value);
33
+ }
34
+ };
35
+ return publishWhenReady;
36
+ };
37
+ //# sourceMappingURL=bufferLatest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bufferLatest.js","names":["createStore","bufferLatest","publish","subscribe","store","isReactAppReadyForProps","unsubscribe","setState","getState","hasState","publishWhenReady","value"],"sources":["../../../src/labs/UiShell/bufferLatest.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { createStore } from \"./createStore\";\n\n/**\n * Buffers the values passed to a publisher, keeping only the latest value, until the subscriber emits.\n *\n * This is useful in restricting publishers from firing events until specific subscribers are active. Once active, the `publish` function reverts to its previous behavior.\n */\nexport const bufferLatest = <Value>({\n publish,\n subscribe,\n}: {\n /**\n * A function that publishes values to a subscriber, but not the same subscriber as the one passed to this function.\n *\n * Only the latest value published by this publisher is kept until the subscriber emits.\n */\n publish: (value: Value) => void;\n /**\n * A subscription that listens for emissions from a separate publisher.\n *\n * When that separate publisher emits, the latest value from the passed-in publish function is emitted as are all future values.\n */\n subscribe: (subscriber: () => void) => () => void;\n}) => {\n const store = createStore<{\n bufferedValue?: Value;\n isReactAppReadyForProps: boolean;\n }>({\n isReactAppReadyForProps: false,\n });\n\n const unsubscribe = subscribe(() => {\n unsubscribe();\n\n store.setState(\"isReactAppReadyForProps\", true);\n store.getState(\"bufferedValue\");\n if (store.hasState(\"bufferedValue\")) {\n // If we have a state, then the value in here is what we want. TypeScript expects this to possibly be `undefined` because the type we sent to `createStore` listed `bufferedValue` as optional. TypeScript doesn't seem to have any way of knowing we passed in the value at some point.\n publish(store.getState(\"bufferedValue\")!);\n }\n });\n\n const publishWhenReady: typeof publish = (value) => {\n if (store.getState(\"isReactAppReadyForProps\")) {\n publish(value);\n } else {\n store.setState(\"bufferedValue\", value);\n }\n };\n\n return publishWhenReady;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,SAYSA,WAAW;AAOpB,OAAO,MAAMC,YAAY,GAAGA,CAAQ;EAClCC,OAAO;EACPC;AAcF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGJ,WAAW,CAGtB;IACDK,uBAAuB,EAAE;EAC3B,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGH,SAAS,CAAC,MAAM;IAClCG,WAAW,CAAC,CAAC;IAEbF,KAAK,CAACG,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC;IAC/CH,KAAK,CAACI,QAAQ,CAAC,eAAe,CAAC;IAC/B,IAAIJ,KAAK,CAACK,QAAQ,CAAC,eAAe,CAAC,EAAE;MAEnCP,OAAO,CAACE,KAAK,CAACI,QAAQ,CAAC,eAAe,CAAE,CAAC;IAC3C;EACF,CAAC,CAAC;EAEF,MAAME,gBAAgC,GAAIC,KAAK,IAAK;IAClD,IAAIP,KAAK,CAACI,QAAQ,CAAC,yBAAyB,CAAC,EAAE;MAC7CN,OAAO,CAACS,KAAK,CAAC;IAChB,CAAC,MAAM;MACLP,KAAK,CAACG,QAAQ,CAAC,eAAe,EAAEI,KAAK,CAAC;IACxC;EACF,CAAC;EAED,OAAOD,gBAAgB;AACzB,CAAC"}
@@ -0,0 +1,30 @@
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
+ */export const createMessageBus = () => {
12
+ const subscribers = new Map();
13
+ const publish = message => {
14
+ Array.from(subscribers.values()).forEach(subscriber => {
15
+ subscriber(message);
16
+ });
17
+ };
18
+ const subscribe = subscriber => {
19
+ const subscriberId = Symbol();
20
+ subscribers.set(subscriberId, subscriber);
21
+ return () => {
22
+ subscribers.delete(subscriberId);
23
+ };
24
+ };
25
+ return {
26
+ publish,
27
+ subscribe
28
+ };
29
+ };
30
+ //# sourceMappingURL=createMessageBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMessageBus.js","names":["createMessageBus","subscribers","Map","publish","message","Array","from","values","forEach","subscriber","subscribe","subscriberId","Symbol","set","delete"],"sources":["../../../src/labs/UiShell/createMessageBus.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 type MessageHandler<Message> = (message: Message) => void;\n\nexport type PublishMessage<Message> = MessageHandler<Message>;\n\nexport type UnsubscribeMessageSubscription = () => void;\n\nexport type MessageSubscription<Message> = (\n subscriber: MessageHandler<Message>,\n) => UnsubscribeMessageSubscription;\n\nexport type MessageBus<Message> = {\n publish: PublishMessage<Message>;\n subscribe: MessageSubscription<Message>;\n};\n\n/**\n * Create a self-contained message bus that allows you to subscribe to events published by the publisher.\n */\nexport const createMessageBus = <Message = void>(): MessageBus<Message> => {\n const subscribers = new Map<symbol, MessageHandler<Message>>();\n\n const publish: PublishMessage<Message> = (message) => {\n Array.from(subscribers.values()).forEach((subscriber) => {\n subscriber(message);\n });\n };\n\n const subscribe: MessageSubscription<Message> = (subscriber) => {\n const subscriberId = Symbol();\n subscribers.set(subscriberId, subscriber);\n\n return () => {\n subscribers.delete(subscriberId);\n };\n };\n\n return {\n publish,\n subscribe,\n };\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAoBA,OAAO,MAAMA,gBAAgB,GAAGA,CAAA,KAA2C;EACzE,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAkC,CAAC;EAE9D,MAAMC,OAAgC,GAAIC,OAAO,IAAK;IACpDC,KAAK,CAACC,IAAI,CAACL,WAAW,CAACM,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAEC,UAAU,IAAK;MACvDA,UAAU,CAACL,OAAO,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMM,SAAuC,GAAID,UAAU,IAAK;IAC9D,MAAME,YAAY,GAAGC,MAAM,CAAC,CAAC;IAC7BX,WAAW,CAACY,GAAG,CAACF,YAAY,EAAEF,UAAU,CAAC;IAEzC,OAAO,MAAM;MACXR,WAAW,CAACa,MAAM,CAACH,YAAY,CAAC;IAClC,CAAC;EACH,CAAC;EAED,OAAO;IACLR,OAAO;IACPO;EACF,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
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
+ */export const createStore = initialState => {
12
+ const state = initialState || {};
13
+ const hasState = name => name in state;
14
+ const getState = name => state[name];
15
+ const setState = (name, value) => {
16
+ state[name] = value;
17
+ };
18
+ return {
19
+ getState,
20
+ hasState,
21
+ setState
22
+ };
23
+ };
24
+ //# sourceMappingURL=createStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStore.js","names":["createStore","initialState","state","hasState","name","getState","setState","value"],"sources":["../../../src/labs/UiShell/createStore.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\n/**\n * Creates an internal state and gives access to those values via functions.\n *\n * It can be optionally given an initial state.\n */\nexport const createStore = <State extends object>(initialState?: State) => {\n const state = initialState || ({} as Partial<State>);\n\n const hasState = <Name extends keyof State>(name: Name) => name in state;\n\n const getState = <Name extends keyof State>(name: Name) => state[name];\n\n const setState = <Name extends keyof State>(\n name: Name,\n value: Required<State>[Name],\n ) => {\n state[name] = value;\n };\n\n return {\n getState,\n hasState,\n setState,\n };\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAOA,OAAO,MAAMA,WAAW,GAA0BC,YAAoB,IAAK;EACzE,MAAMC,KAAK,GAAGD,YAAY,IAAK,CAAC,CAAoB;EAEpD,MAAME,QAAQ,GAA8BC,IAAU,IAAKA,IAAI,IAAIF,KAAK;EAExE,MAAMG,QAAQ,GAA8BD,IAAU,IAAKF,KAAK,CAACE,IAAI,CAAC;EAEtE,MAAME,QAAQ,GAAGA,CACfF,IAAU,EACVG,KAA4B,KACzB;IACHL,KAAK,CAACE,IAAI,CAAC,GAAGG,KAAK;EACrB,CAAC;EAED,OAAO;IACLF,QAAQ;IACRF,QAAQ;IACRG;EACF,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
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
+ export * from "./renderUiShell.js";
13
+ export * from "./useHasUiShell.js";
14
+ export { UiShell } from "./UiShell.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["UiShell"],"sources":["../../../src/labs/UiShell/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 \"./renderUiShell\";\nexport * from \"./useHasUiShell\";\n\nexport { UiShell, type UiShellProps } from \"./UiShell\";\nexport { type UiShellNavComponentProps } from \"./UiShellContent\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA;AAAA;AAAA,SAeSA,OAAO"}
@@ -0,0 +1,78 @@
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 { ErrorBoundary } from "react-error-boundary";
14
+ import { bufferLatest } from "./bufferLatest.js";
15
+ import { createMessageBus } from "./createMessageBus.js";
16
+ import { UiShell } from "./UiShell.js";
17
+ import { renderReactInWebComponent } from "../../web-component/renderReactInWebComponent.js";
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ export const uiShellDataAttribute = "data-unified-ui-shell";
20
+ export const optionalComponentSlotNames = {
21
+ banners: "banners",
22
+ sideNavFooter: "side-nav-footer",
23
+ topNavLeftSide: "top-nav-left-side",
24
+ topNavRightSide: "top-nav-right-side"
25
+ };
26
+ export const renderUiShell = ({
27
+ appRootElement: explicitAppRootElement,
28
+ onError = console.error,
29
+ uiShellRootElement
30
+ }) => {
31
+ const appRootElement = explicitAppRootElement || document.createElement("div");
32
+ uiShellRootElement.setAttribute(uiShellDataAttribute, "");
33
+ const {
34
+ publish: publishPropChanges,
35
+ subscribe: subscribeToPropChanges
36
+ } = createMessageBus();
37
+ const {
38
+ publish: publishSubscriptionCreated,
39
+ subscribe: subscribeToReactAppSubscribed
40
+ } = createMessageBus();
41
+ const publishAfterReactAppReadyForProps = bufferLatest({
42
+ publish: publishPropChanges,
43
+ subscribe: subscribeToReactAppSubscribed
44
+ });
45
+ const slottedElements = Object.fromEntries(Object.entries(optionalComponentSlotNames).map(([optionalComponentKey, slotName]) => {
46
+ const element = document.createElement("div");
47
+ element.setAttribute("slot", slotName);
48
+ return [optionalComponentKey, element];
49
+ }));
50
+ const webComponentChildren = Object.values(slottedElements).concat(appRootElement);
51
+ const appComponent = _jsx("slot", {});
52
+ const uiShellElement = renderReactInWebComponent({
53
+ getReactComponent: reactRootElements => _jsx(ErrorBoundary, {
54
+ fallback: appComponent,
55
+ onError: onError,
56
+ children: _jsx(UiShell, {
57
+ appComponent: appComponent,
58
+ appRootElement: reactRootElements.appRootElement,
59
+ onError: onError,
60
+ onSubscriptionCreated: publishSubscriptionCreated,
61
+ optionalComponents: Object.fromEntries(Object.entries(optionalComponentSlotNames).map(([optionalComponentKey, slotName]) => [optionalComponentKey, _jsx("slot", {
62
+ name: slotName
63
+ })])),
64
+ stylesRootElement: reactRootElements.stylesRootElement,
65
+ subscribeToPropChanges: subscribeToPropChanges
66
+ })
67
+ }),
68
+ webComponentRootElement: uiShellRootElement,
69
+ webComponentChildren
70
+ });
71
+ return {
72
+ appRootElement,
73
+ setComponentProps: publishAfterReactAppReadyForProps,
74
+ slottedElements,
75
+ uiShellElement
76
+ };
77
+ };
78
+ //# sourceMappingURL=renderUiShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderUiShell.js","names":["ErrorBoundary","bufferLatest","createMessageBus","UiShell","renderReactInWebComponent","jsx","_jsx","uiShellDataAttribute","optionalComponentSlotNames","banners","sideNavFooter","topNavLeftSide","topNavRightSide","renderUiShell","appRootElement","explicitAppRootElement","onError","console","error","uiShellRootElement","document","createElement","setAttribute","publish","publishPropChanges","subscribe","subscribeToPropChanges","publishSubscriptionCreated","subscribeToReactAppSubscribed","publishAfterReactAppReadyForProps","slottedElements","Object","fromEntries","entries","map","optionalComponentKey","slotName","element","webComponentChildren","values","concat","appComponent","uiShellElement","getReactComponent","reactRootElements","fallback","children","onSubscriptionCreated","optionalComponents","name","stylesRootElement","webComponentRootElement","setComponentProps"],"sources":["../../../src/labs/UiShell/renderUiShell.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 { type SetStateAction } from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport { bufferLatest } from \"./bufferLatest\";\nimport { createMessageBus } from \"./createMessageBus\";\nimport { UiShell, UiShellProps } from \"./UiShell\";\nimport { renderReactInWebComponent } from \"../../web-component/renderReactInWebComponent\";\nimport { type UiShellNavComponentProps } from \"./UiShellContent\";\n\nexport const uiShellDataAttribute = \"data-unified-ui-shell\";\n\nexport const optionalComponentSlotNames: Record<\n keyof Required<UiShellProps>[\"optionalComponents\"],\n string\n> = {\n banners: \"banners\",\n sideNavFooter: \"side-nav-footer\",\n topNavLeftSide: \"top-nav-left-side\",\n topNavRightSide: \"top-nav-right-side\",\n};\n\n/**\n * This function renders UI Shell in a web component.\n * This function is agnostic to the UI framework for your app is using. Your application can be another web component, a React app, or even vanilla HTML.\n *\n * **All styles are self-contained.** Even though your application visually renders as children of the web component, its within the global `document` scope, not the web component's `ShadowRoot`. That means any global styles will not affect UI Shell but will affect your application.\n *\n * It places your app's root element in a web component <slot> and ensures it remains rendered in the event of a UI Shell error.\n * It also provides you with other elements fitted to slots in the web component. **In React, you can portal to these components.**\n */\nexport const renderUiShell = ({\n appRootElement: explicitAppRootElement,\n onError = console.error,\n uiShellRootElement,\n}: {\n /**\n * HTML element used as the root for a React app.\n */\n appRootElement?: HTMLDivElement;\n /**\n * Notifies when a React rendering error occurs. This could be useful for logging, reporting priority 0 issues, and recovering UI Shell when errors occur.\n */\n onError?: () => void;\n /**\n * HTML element used as the root for UI Shell.\n */\n uiShellRootElement: HTMLElement;\n}) => {\n const appRootElement =\n explicitAppRootElement || document.createElement(\"div\");\n\n // Add this attribute so `PageTemplate` and potentially other components will know if they're in UI Shell with special padding already available.\n uiShellRootElement.setAttribute(uiShellDataAttribute, \"\");\n\n const { publish: publishPropChanges, subscribe: subscribeToPropChanges } =\n createMessageBus<SetStateAction<UiShellNavComponentProps>>();\n\n const {\n publish: publishSubscriptionCreated,\n subscribe: subscribeToReactAppSubscribed,\n } = createMessageBus();\n\n const publishAfterReactAppReadyForProps = bufferLatest({\n publish: publishPropChanges,\n subscribe: subscribeToReactAppSubscribed,\n });\n\n const slottedElements = Object.fromEntries(\n Object.entries(optionalComponentSlotNames).map(\n ([optionalComponentKey, slotName]) => {\n const element = document.createElement(\"div\");\n\n element.setAttribute(\"slot\", slotName);\n\n return [optionalComponentKey, element];\n },\n ),\n ) as Record<\n keyof Required<UiShellProps>[\"optionalComponents\"],\n HTMLDivElement\n >;\n\n const webComponentChildren =\n Object.values(slottedElements).concat(appRootElement);\n\n const appComponent = <slot />;\n\n const uiShellElement = renderReactInWebComponent({\n getReactComponent: (reactRootElements) => (\n <ErrorBoundary fallback={appComponent} onError={onError}>\n <UiShell\n appComponent={appComponent}\n appRootElement={reactRootElements.appRootElement}\n onError={onError}\n onSubscriptionCreated={publishSubscriptionCreated}\n // `optionalComponents` doesn't need to be memoized because gets passed in once.\n optionalComponents={Object.fromEntries(\n Object.entries(optionalComponentSlotNames).map(\n ([optionalComponentKey, slotName]) => [\n optionalComponentKey,\n <slot name={slotName} />,\n ],\n ),\n )}\n stylesRootElement={reactRootElements.stylesRootElement}\n subscribeToPropChanges={subscribeToPropChanges}\n />\n </ErrorBoundary>\n ),\n webComponentRootElement: uiShellRootElement,\n webComponentChildren,\n });\n\n return {\n appRootElement,\n setComponentProps: publishAfterReactAppReadyForProps,\n slottedElements,\n uiShellElement,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
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 { useEffect, useState } from "react";
14
+ import { uiShellDataAttribute } from "./renderUiShell.js";
15
+ export const useHasUiShell = () => {
16
+ const [hasUiShell, setHasUiShell] = useState(false);
17
+ useEffect(() => {
18
+ setHasUiShell(Boolean(document.querySelector(`[${uiShellDataAttribute}]`)));
19
+ }, []);
20
+ return hasUiShell;
21
+ };
22
+ //# sourceMappingURL=useHasUiShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHasUiShell.js","names":["useEffect","useState","uiShellDataAttribute","useHasUiShell","hasUiShell","setHasUiShell","Boolean","document","querySelector"],"sources":["../../../src/labs/UiShell/useHasUiShell.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { useEffect, useState } from \"react\";\n\nimport { uiShellDataAttribute } from \"./renderUiShell\";\n\nexport const useHasUiShell = () => {\n const [hasUiShell, setHasUiShell] = useState(false);\n\n useEffect(() => {\n setHasUiShell(Boolean(document.querySelector(`[${uiShellDataAttribute}]`)));\n }, []);\n\n return hasUiShell;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAAC,SAEnCC,oBAAoB;AAE7B,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGJ,QAAQ,CAAC,KAAK,CAAC;EAEnDD,SAAS,CAAC,MAAM;IACdK,aAAa,CAACC,OAAO,CAACC,QAAQ,CAACC,aAAa,CAAE,IAAGN,oBAAqB,GAAE,CAAC,CAAC,CAAC;EAC7E,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOE,UAAU;AACnB,CAAC"}
@@ -0,0 +1,41 @@
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 { useEffect, useRef, useState } from "react";
14
+ export const useScrollState = () => {
15
+ const [isContentScrolled, setIsContentScrolled] = useState(false);
16
+ const scrollableContentRef = useRef(null);
17
+ useEffect(() => {
18
+ if (scrollableContentRef.current) {
19
+ let requestedAnimationFrameId;
20
+ const scrollableContentElement = scrollableContentRef.current;
21
+ const updateScrollState = () => {
22
+ cancelAnimationFrame(requestedAnimationFrameId);
23
+ requestedAnimationFrameId = requestAnimationFrame(() => {
24
+ setIsContentScrolled(scrollableContentElement.scrollTop > 0);
25
+ });
26
+ };
27
+ scrollableContentElement.addEventListener("scroll", updateScrollState);
28
+ updateScrollState();
29
+ return () => {
30
+ scrollableContentElement.removeEventListener("scroll", updateScrollState);
31
+ cancelAnimationFrame(requestedAnimationFrameId);
32
+ };
33
+ }
34
+ return () => {};
35
+ }, []);
36
+ return {
37
+ isContentScrolled,
38
+ scrollableContentRef
39
+ };
40
+ };
41
+ //# sourceMappingURL=useScrollState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollState.js","names":["useEffect","useRef","useState","useScrollState","isContentScrolled","setIsContentScrolled","scrollableContentRef","current","requestedAnimationFrameId","scrollableContentElement","updateScrollState","cancelAnimationFrame","requestAnimationFrame","scrollTop","addEventListener","removeEventListener"],"sources":["../../../src/labs/UiShell/useScrollState.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { useEffect, useRef, useState } from \"react\";\n\nexport const useScrollState = <\n ScrollableContentElement extends HTMLElement = HTMLDivElement,\n>() => {\n const [isContentScrolled, setIsContentScrolled] = useState(false);\n\n const scrollableContentRef = useRef<ScrollableContentElement>(null);\n\n useEffect(() => {\n if (scrollableContentRef.current) {\n let requestedAnimationFrameId: number;\n const scrollableContentElement = scrollableContentRef.current;\n\n const updateScrollState = () => {\n cancelAnimationFrame(requestedAnimationFrameId);\n\n requestedAnimationFrameId = requestAnimationFrame(() => {\n setIsContentScrolled(scrollableContentElement.scrollTop > 0);\n });\n };\n\n scrollableContentElement.addEventListener(\"scroll\", updateScrollState);\n\n updateScrollState();\n\n return () => {\n scrollableContentElement.removeEventListener(\n \"scroll\",\n updateScrollState,\n );\n\n cancelAnimationFrame(requestedAnimationFrameId);\n };\n }\n\n return () => {};\n }, []);\n\n return {\n isContentScrolled,\n scrollableContentRef,\n };\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAEvB;EACL,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGH,QAAQ,CAAC,KAAK,CAAC;EAEjE,MAAMI,oBAAoB,GAAGL,MAAM,CAA2B,IAAI,CAAC;EAEnED,SAAS,CAAC,MAAM;IACd,IAAIM,oBAAoB,CAACC,OAAO,EAAE;MAChC,IAAIC,yBAAiC;MACrC,MAAMC,wBAAwB,GAAGH,oBAAoB,CAACC,OAAO;MAE7D,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;QAC9BC,oBAAoB,CAACH,yBAAyB,CAAC;QAE/CA,yBAAyB,GAAGI,qBAAqB,CAAC,MAAM;UACtDP,oBAAoB,CAACI,wBAAwB,CAACI,SAAS,GAAG,CAAC,CAAC;QAC9D,CAAC,CAAC;MACJ,CAAC;MAEDJ,wBAAwB,CAACK,gBAAgB,CAAC,QAAQ,EAAEJ,iBAAiB,CAAC;MAEtEA,iBAAiB,CAAC,CAAC;MAEnB,OAAO,MAAM;QACXD,wBAAwB,CAACM,mBAAmB,CAC1C,QAAQ,EACRL,iBACF,CAAC;QAEDC,oBAAoB,CAACH,yBAAyB,CAAC;MACjD,CAAC;IACH;IAEA,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLJ,iBAAiB;IACjBE;EACF,CAAC;AACH,CAAC"}
@@ -21,10 +21,12 @@ export * from "./DataFilters.js";
21
21
  export * from "./Layout.js";
22
22
  export * from "./materialReactTableTypes.js";
23
23
  export * from "./StaticTable.js";
24
+ export * from "./OdysseyPickers/index.js";
24
25
  export * from "./PageTemplate.js";
25
26
  export * from "./PaginatedTable.js";
26
- export * from "./GroupPicker.js";
27
- export * from "./NavAccordion.js";
27
+ export { GroupPicker } from "./GroupPicker.js";
28
+ export * from "./SideNav/NavAccordion.js";
28
29
  export * from "./SideNav/index.js";
29
- export * from "./TopNav.js";
30
+ export * from "./TopNav/index.js";
31
+ export * from "./UiShell/index.js";
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AdapterDateFns","LocalizationProvider"],"sources":["../../src/labs/index.ts"],"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\nexport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nexport { LocalizationProvider } from \"@mui/x-date-pickers\";\nexport type { LocalizationProviderProps } from \"@mui/x-date-pickers\";\n\nexport * from \"./AppTile\";\n\nexport * from \"./DatePicker\";\nexport * from \"./datePickerTheme\";\n\nexport * from \"./DataView\";\n\n/** @deprecated Will be removed in a future Odyssey version in lieu of the one shipping with DataTable */\nexport * from \"./DataTablePagination\";\nexport * from \"./DataFilters\";\nexport * from \"./Layout\";\nexport * from \"./materialReactTableTypes\";\n/** @deprecated Will be removed in a future Odyssey version in lieu of DataTable */\nexport * from \"./StaticTable\";\nexport * from \"./PageTemplate\";\n/** @deprecated Will be removed in a future Odyssey version in lieu of DataTable */\nexport * from \"./PaginatedTable\";\n\nexport * from \"./GroupPicker\";\n\nexport * from \"./NavAccordion\";\nexport * from \"./SideNav\";\nexport * from \"./TopNav\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,oCAAoC;AACnE,SAASC,oBAAoB,QAAQ,qBAAqB;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["AdapterDateFns","LocalizationProvider","GroupPicker"],"sources":["../../src/labs/index.ts"],"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\nexport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nexport { LocalizationProvider } from \"@mui/x-date-pickers\";\nexport type { LocalizationProviderProps } from \"@mui/x-date-pickers\";\n\n// export * from \"./AdaptablePicker\";\nexport * from \"./AppTile\";\nexport * from \"./DatePicker\";\nexport * from \"./datePickerTheme\";\n\nexport * from \"./DataView\";\n\n/** @deprecated Will be removed in a future Odyssey version in lieu of the one shipping with DataTable */\nexport * from \"./DataTablePagination\";\nexport * from \"./DataFilters\";\nexport * from \"./Layout\";\nexport * from \"./materialReactTableTypes\";\n/** @deprecated Will be removed in a future Odyssey version in lieu of DataTable */\nexport * from \"./StaticTable\";\nexport * from \"./OdysseyPickers\";\nexport * from \"./PageTemplate\";\n/** @deprecated Will be removed in a future Odyssey version in lieu of DataTable */\nexport * from \"./PaginatedTable\";\n\nexport {\n /** @deprecated Will be removed in a future Odyssey version. Use `PickerWithOptionAdornment` */\n GroupPicker,\n type GroupPickerOptionType,\n type GroupPickerProps,\n} from \"./GroupPicker\";\n\nexport * from \"./SideNav/NavAccordion\";\nexport * from \"./SideNav\";\nexport * from \"./TopNav\";\nexport * from \"./UiShell\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,oCAAoC;AACnE,SAASC,oBAAoB,QAAQ,qBAAqB;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAwBzDC,WAAW;AAAA;AAAA;AAAA;AAAA"}
@@ -1,4 +1,6 @@
1
1
  export const translation = {
2
+ "navigation.label": "Main navigation",
3
+ "navigation.footer": "Navigation secondary links",
2
4
  "breadcrumbs.home.text": "Home",
3
5
  "breadcrumbs.label.text": "Breadcrumbs",
4
6
  "close.text": "Close",
@@ -74,6 +76,8 @@ export const translation = {
74
76
  "severity.info": "info",
75
77
  "severity.success": "success",
76
78
  "severity.warning": "warning",
79
+ "sidenav.toggle.expand": "Open navigation",
80
+ "sidenav.toggle.collapse": "Close navigation",
77
81
  "switch.active": "Active",
78
82
  "switch.inactive": "Inactive",
79
83
  "table.columnvisibility.arialabel": "Show/hide columns",
@@ -109,6 +113,8 @@ export const translation = {
109
113
  "table.rowexpansion.collapseall": "Collapse all",
110
114
  "dataview.layout.table": "Table",
111
115
  "dataview.layout.grid": "Grid",
112
- "dataview.layout.list": "List"
116
+ "dataview.layout.list": "List",
117
+ "topnav.helpicon": "help page",
118
+ "topnav.settingsicon": "settings page"
113
119
  };
114
120
  //# sourceMappingURL=odyssey-react-mui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"odyssey-react-mui.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Close\",\"clear.text\":\"Clear\",\"open.text\":\"Open\",\"picker.calendar.navigation.nextmonth\":\"Next month\",\"picker.calendar.navigation.previousmonth\":\"Previous month\",\"picker.date.toolbar.title\":\"Selected date\",\"picker.daterange.toolbar.title\":\"Select date range\",\"picker.datetime.toolbar.title\":\"Select date & time\",\"picker.error.invalid\":\"Correct the date format or select the date from the calendar.\",\"picker.error.mindate\":\"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.\",\"picker.error.maxdate\":\"Date entered is later than the allowed dates. Select a date from the range available in the calendar.\",\"picker.field.placeholder.day\":\"DD\",\"picker.field.placeholder.hours\":\"hh\",\"picker.field.placeholder.meridiem\":\"aa\",\"picker.field.placeholder.minutes\":\"mm\",\"picker.field.placeholder.month\":\"MM\",\"picker.field.placeholder.seconds\":\"ss\",\"picker.field.placeholder.year\":\"YYYY\",\"picker.labels.action.apply\":\"Apply\",\"picker.labels.action.cancel\":\"Cancel\",\"picker.labels.action.today\":\"Today\",\"picker.labels.clock.empty\":\"No time selected\",\"picker.labels.clock.hours\":\"hours\",\"picker.labels.clock.minutes\":\"minutes\",\"picker.labels.clock.seconds\":\"seconds\",\"picker.labels.clock.selected\":\"Selected time is\",\"picker.labels.date.choose\":\"Choose date\",\"picker.labels.date.selected\":\"Selected date is\",\"picker.labels.empty\":\"Empty\",\"picker.labels.field.clear\":\"Clear value\",\"picker.labels.range.end\":\"End\",\"picker.labels.range.enddate\":\"End date\",\"picker.labels.range.endtime\":\"End time\",\"picker.labels.range.start\":\"Start\",\"picker.labels.range.startdate\":\"Start date\",\"picker.labels.range.starttime\":\"Start time\",\"picker.labels.select\":\"Select\",\"picker.labels.table.date\":\"pick date\",\"picker.labels.table.time\":\"pick time\",\"picker.labels.time.choose\":\"Choose time\",\"picker.labels.time.selected\":\"selected time is\",\"picker.time.toolbar.title\":\"Select time\",\"picker.view.name.day\":\"Day\",\"picker.view.name.hours\":\"Hours\",\"picker.view.name.meridiem\":\"Meridiem\",\"picker.view.name.minutes\":\"Minutes\",\"picker.view.name.month\":\"Month\",\"picker.view.name.seconds\":\"Seconds\",\"picker.view.name.weekday\":\"Week day\",\"picker.view.name.year\":\"Year\",\"picker.view.navigation.open.nextview\":\"Open next view\",\"picker.view.navigation.open.previousview\":\"Open previous view\",\"picker.view.navigation.switch.calendarview\":\"year view is open, switch to calendar view\",\"picker.view.navigation.switch.yearview\":\"calendar view is open, switch to year view\",\"fielderror.screenreader.text\":\"Error\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Required\",\"filters.clear.label\":\"Clear filters\",\"filters.filter.any\":\"Any\",\"filters.filter.clear\":\"Clear filter\",\"filters.filters.arialabel\":\"Filters\",\"filters.menuitem.any\":\"Any {{label}}\",\"filters.menuitem.selected\":\"{{selected}} selected\",\"filters.search.label\":\"Search\",\"fileupload.button.text\":\"Add files\",\"fileupload.prompt.text\":\"Drag and drop files here or click to add files\",\"fileupload.removefile.text\":\"Remove file\",\"passwordfield.icon.label.hide\":\"Hide password\",\"passwordfield.icon.label.show\":\"Show password\",\"severity.error\":\"error\",\"severity.info\":\"info\",\"severity.success\":\"success\",\"severity.warning\":\"warning\",\"switch.active\":\"Active\",\"switch.inactive\":\"Inactive\",\"table.columnvisibility.arialabel\":\"Show/hide columns\",\"table.density.arialabel\":\"Table density\",\"table.draghandle.arialabel\":\"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.\",\"table.draghandle.tooltip\":\"Drag row or press space/enter key to start and stop reordering\",\"table.actions\":\"Actions\",\"table.error\":\"Error loading data.\",\"table.fetchedrows.text\":\"Fetched {{totalRows}} row\",\"table.fetchedrows.text_plural\":\"Fetched {{totalRows}} total rows\",\"table.moreactions.arialabel\":\"More actions\",\"table.noresults.heading\":\"There are no results.\",\"table.noresults.text\":\"Try a different query.\",\"table.reorder.backward\":\"Send backward\",\"table.reorder.forward\":\"Bring forward\",\"table.reorder.toback\":\"Send to back\",\"table.reorder.tofront\":\"Bring to front\",\"table.rows.text\":\"{{totalRows}} row\",\"table.rows.text_plural\":\"{{totalRows}} rows\",\"pagination.loadmore\":\"Show more\",\"pagination.next\":\"Next page\",\"pagination.previous\":\"Previous page\",\"pagination.page\":\"Page\",\"pagination.rowsperpage\":\"Rows per page\",\"pagination.rowswithtotal\":\"{{firstRow}}-{{lastRow}} of {{totalRows}} rows\",\"pagination.rowswithouttotal\":\"{{firstRow}}-{{lastRow}} rows\",\"table.actions.selectall\":\"Select all\",\"table.actions.selectnone\":\"Select none\",\"table.actions.selectsome\":\"{{selectedRowCount}} selected\",\"table.rowexpansion.expand\":\"Expand\",\"table.rowexpansion.expandall\":\"Expand all\",\"table.rowexpansion.collapse\":\"Collapse\",\"table.rowexpansion.collapseall\":\"Collapse all\",\"dataview.layout.table\":\"Table\",\"dataview.layout.grid\":\"Grid\",\"dataview.layout.list\":\"List\"};"],"mappings":"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"}
1
+ {"version":3,"file":"odyssey-react-mui.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui.ts"],"sourcesContent":["export const translation = {\"navigation.label\":\"Main navigation\",\"navigation.footer\":\"Navigation secondary links\",\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Close\",\"clear.text\":\"Clear\",\"open.text\":\"Open\",\"picker.calendar.navigation.nextmonth\":\"Next month\",\"picker.calendar.navigation.previousmonth\":\"Previous month\",\"picker.date.toolbar.title\":\"Selected date\",\"picker.daterange.toolbar.title\":\"Select date range\",\"picker.datetime.toolbar.title\":\"Select date & time\",\"picker.error.invalid\":\"Correct the date format or select the date from the calendar.\",\"picker.error.mindate\":\"Date entered is earlier than allowed dates. Select a date from the range available in the calendar.\",\"picker.error.maxdate\":\"Date entered is later than the allowed dates. Select a date from the range available in the calendar.\",\"picker.field.placeholder.day\":\"DD\",\"picker.field.placeholder.hours\":\"hh\",\"picker.field.placeholder.meridiem\":\"aa\",\"picker.field.placeholder.minutes\":\"mm\",\"picker.field.placeholder.month\":\"MM\",\"picker.field.placeholder.seconds\":\"ss\",\"picker.field.placeholder.year\":\"YYYY\",\"picker.labels.action.apply\":\"Apply\",\"picker.labels.action.cancel\":\"Cancel\",\"picker.labels.action.today\":\"Today\",\"picker.labels.clock.empty\":\"No time selected\",\"picker.labels.clock.hours\":\"hours\",\"picker.labels.clock.minutes\":\"minutes\",\"picker.labels.clock.seconds\":\"seconds\",\"picker.labels.clock.selected\":\"Selected time is\",\"picker.labels.date.choose\":\"Choose date\",\"picker.labels.date.selected\":\"Selected date is\",\"picker.labels.empty\":\"Empty\",\"picker.labels.field.clear\":\"Clear value\",\"picker.labels.range.end\":\"End\",\"picker.labels.range.enddate\":\"End date\",\"picker.labels.range.endtime\":\"End time\",\"picker.labels.range.start\":\"Start\",\"picker.labels.range.startdate\":\"Start date\",\"picker.labels.range.starttime\":\"Start time\",\"picker.labels.select\":\"Select\",\"picker.labels.table.date\":\"pick date\",\"picker.labels.table.time\":\"pick time\",\"picker.labels.time.choose\":\"Choose time\",\"picker.labels.time.selected\":\"selected time is\",\"picker.time.toolbar.title\":\"Select time\",\"picker.view.name.day\":\"Day\",\"picker.view.name.hours\":\"Hours\",\"picker.view.name.meridiem\":\"Meridiem\",\"picker.view.name.minutes\":\"Minutes\",\"picker.view.name.month\":\"Month\",\"picker.view.name.seconds\":\"Seconds\",\"picker.view.name.weekday\":\"Week day\",\"picker.view.name.year\":\"Year\",\"picker.view.navigation.open.nextview\":\"Open next view\",\"picker.view.navigation.open.previousview\":\"Open previous view\",\"picker.view.navigation.switch.calendarview\":\"year view is open, switch to calendar view\",\"picker.view.navigation.switch.yearview\":\"calendar view is open, switch to year view\",\"fielderror.screenreader.text\":\"Error\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Required\",\"filters.clear.label\":\"Clear filters\",\"filters.filter.any\":\"Any\",\"filters.filter.clear\":\"Clear filter\",\"filters.filters.arialabel\":\"Filters\",\"filters.menuitem.any\":\"Any {{label}}\",\"filters.menuitem.selected\":\"{{selected}} selected\",\"filters.search.label\":\"Search\",\"fileupload.button.text\":\"Add files\",\"fileupload.prompt.text\":\"Drag and drop files here or click to add files\",\"fileupload.removefile.text\":\"Remove file\",\"passwordfield.icon.label.hide\":\"Hide password\",\"passwordfield.icon.label.show\":\"Show password\",\"severity.error\":\"error\",\"severity.info\":\"info\",\"severity.success\":\"success\",\"severity.warning\":\"warning\",\"sidenav.toggle.expand\":\"Open navigation\",\"sidenav.toggle.collapse\":\"Close navigation\",\"switch.active\":\"Active\",\"switch.inactive\":\"Inactive\",\"table.columnvisibility.arialabel\":\"Show/hide columns\",\"table.density.arialabel\":\"Table density\",\"table.draghandle.arialabel\":\"Drag row to reorder. Or, press space or enter to start and stop reordering and esc to cancel.\",\"table.draghandle.tooltip\":\"Drag row or press space/enter key to start and stop reordering\",\"table.actions\":\"Actions\",\"table.error\":\"Error loading data.\",\"table.fetchedrows.text\":\"Fetched {{totalRows}} row\",\"table.fetchedrows.text_plural\":\"Fetched {{totalRows}} total rows\",\"table.moreactions.arialabel\":\"More actions\",\"table.noresults.heading\":\"There are no results.\",\"table.noresults.text\":\"Try a different query.\",\"table.reorder.backward\":\"Send backward\",\"table.reorder.forward\":\"Bring forward\",\"table.reorder.toback\":\"Send to back\",\"table.reorder.tofront\":\"Bring to front\",\"table.rows.text\":\"{{totalRows}} row\",\"table.rows.text_plural\":\"{{totalRows}} rows\",\"pagination.loadmore\":\"Show more\",\"pagination.next\":\"Next page\",\"pagination.previous\":\"Previous page\",\"pagination.page\":\"Page\",\"pagination.rowsperpage\":\"Rows per page\",\"pagination.rowswithtotal\":\"{{firstRow}}-{{lastRow}} of {{totalRows}} rows\",\"pagination.rowswithouttotal\":\"{{firstRow}}-{{lastRow}} rows\",\"table.actions.selectall\":\"Select all\",\"table.actions.selectnone\":\"Select none\",\"table.actions.selectsome\":\"{{selectedRowCount}} selected\",\"table.rowexpansion.expand\":\"Expand\",\"table.rowexpansion.expandall\":\"Expand all\",\"table.rowexpansion.collapse\":\"Collapse\",\"table.rowexpansion.collapseall\":\"Collapse all\",\"dataview.layout.table\":\"Table\",\"dataview.layout.grid\":\"Grid\",\"dataview.layout.list\":\"List\",\"topnav.helpicon\":\"help page\",\"topnav.settingsicon\":\"settings page\"};"],"mappings":"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"}
@@ -24,7 +24,8 @@ export const translation = {
24
24
  "picker.labels.action.today": "Dnes",
25
25
  "picker.labels.clock.empty": "Není vybraný čas",
26
26
  "picker.labels.clock.hours": "hod",
27
- "picker.labels.clock.minutes": "s",
27
+ "picker.labels.clock.minutes": "min",
28
+ "picker.labels.clock.seconds": "s",
28
29
  "picker.labels.clock.selected": "Vybraný čas je",
29
30
  "picker.labels.date.choose": "Zvolit datum",
30
31
  "picker.labels.date.selected": "Vybrané datum je",
@@ -40,6 +41,7 @@ export const translation = {
40
41
  "picker.labels.table.date": "vybrat datum",
41
42
  "picker.labels.table.time": "vybrat čas",
42
43
  "picker.labels.time.choose": "Zvolit čas",
44
+ "picker.labels.time.selected": "vybraný čas je",
43
45
  "picker.time.toolbar.title": "Vybrat čas",
44
46
  "picker.view.name.day": "Den",
45
47
  "picker.view.name.hours": "Hodiny",