@okta/odyssey-react-mui 1.56.0 → 1.57.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 (1151) hide show
  1. package/dist/cjs/Accordion.cjs +1 -1
  2. package/dist/cjs/Accordion.cjs.map +1 -1
  3. package/dist/cjs/Autocomplete.cjs +2 -1
  4. package/dist/cjs/Autocomplete.cjs.map +1 -1
  5. package/dist/cjs/Badge.cjs +1 -1
  6. package/dist/cjs/Badge.cjs.map +1 -1
  7. package/dist/cjs/Banner.cjs +1 -1
  8. package/dist/cjs/Banner.cjs.map +1 -1
  9. package/dist/cjs/Box.cjs +1 -1
  10. package/dist/cjs/Box.cjs.map +1 -1
  11. package/dist/cjs/Breadcrumbs.cjs +1 -1
  12. package/dist/cjs/Breadcrumbs.cjs.map +1 -1
  13. package/dist/cjs/Buttons/BaseButton.cjs +1 -1
  14. package/dist/cjs/Buttons/BaseButton.cjs.map +1 -1
  15. package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
  16. package/dist/cjs/Buttons/BaseMenuButton.cjs.map +1 -1
  17. package/dist/cjs/Buttons/Button.cjs +1 -1
  18. package/dist/cjs/Buttons/Button.cjs.map +1 -1
  19. package/dist/cjs/Buttons/MenuButton.cjs +1 -1
  20. package/dist/cjs/Buttons/MenuButton.cjs.map +1 -1
  21. package/dist/cjs/Buttons/MenuItem.cjs +1 -1
  22. package/dist/cjs/Buttons/MenuItem.cjs.map +1 -1
  23. package/dist/cjs/Callout.cjs +1 -1
  24. package/dist/cjs/Callout.cjs.map +1 -1
  25. package/dist/cjs/Card.cjs +1 -1
  26. package/dist/cjs/Card.cjs.map +1 -1
  27. package/dist/cjs/CircularProgress.cjs +1 -1
  28. package/dist/cjs/CircularProgress.cjs.map +1 -1
  29. package/dist/cjs/ConditionalWrapper.cjs +1 -1
  30. package/dist/cjs/ConditionalWrapper.cjs.map +1 -1
  31. package/dist/cjs/DataTable/DataTable.cjs +1 -1
  32. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  33. package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
  34. package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
  35. package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
  36. package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
  37. package/dist/cjs/DatePickers/DateField.cjs +4 -2
  38. package/dist/cjs/DatePickers/DateField.cjs.map +1 -1
  39. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
  40. package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
  41. package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
  42. package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs.map +1 -1
  43. package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
  44. package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
  45. package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
  46. package/dist/cjs/DatePickers/TimeZonePicker.cjs.map +1 -1
  47. package/dist/cjs/Dialog.cjs +1 -1
  48. package/dist/cjs/Dialog.cjs.map +1 -1
  49. package/dist/cjs/Drawer.cjs +1 -1
  50. package/dist/cjs/Drawer.cjs.map +1 -1
  51. package/dist/cjs/EmptyState.cjs +1 -1
  52. package/dist/cjs/EmptyState.cjs.map +1 -1
  53. package/dist/cjs/ErrorMessageList.cjs +1 -1
  54. package/dist/cjs/ErrorMessageList.cjs.map +1 -1
  55. package/dist/cjs/Field.cjs +1 -1
  56. package/dist/cjs/Field.cjs.map +1 -1
  57. package/dist/cjs/FieldError.cjs +1 -1
  58. package/dist/cjs/FieldError.cjs.map +1 -1
  59. package/dist/cjs/FieldHint.cjs +1 -1
  60. package/dist/cjs/FieldHint.cjs.map +1 -1
  61. package/dist/cjs/FieldLabel.cjs +1 -1
  62. package/dist/cjs/FieldLabel.cjs.map +1 -1
  63. package/dist/cjs/Fields/Checkbox.cjs +1 -1
  64. package/dist/cjs/Fields/Checkbox.cjs.map +1 -1
  65. package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
  66. package/dist/cjs/Fields/CheckboxGroup.cjs.map +1 -1
  67. package/dist/cjs/Fields/Radio.cjs +2 -2
  68. package/dist/cjs/Fields/Radio.cjs.map +1 -1
  69. package/dist/cjs/Fields/RadioGroup.cjs +1 -1
  70. package/dist/cjs/Fields/RadioGroup.cjs.map +1 -1
  71. package/dist/cjs/Fieldset.cjs +1 -1
  72. package/dist/cjs/Fieldset.cjs.map +1 -1
  73. package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
  74. package/dist/cjs/FileUploader/FileUploadIllustration.cjs.map +1 -1
  75. package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
  76. package/dist/cjs/FileUploader/FileUploadPreview.cjs.map +1 -1
  77. package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
  78. package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
  79. package/dist/cjs/Form.cjs +1 -1
  80. package/dist/cjs/Form.cjs.map +1 -1
  81. package/dist/cjs/FullScreenOverlay.cjs +1 -1
  82. package/dist/cjs/FullScreenOverlay.cjs.map +1 -1
  83. package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
  84. package/dist/cjs/FullScreenOverlayContext.cjs.map +1 -1
  85. package/dist/cjs/HintLink.cjs +1 -1
  86. package/dist/cjs/HintLink.cjs.map +1 -1
  87. package/dist/cjs/IconWithTooltip.cjs +1 -1
  88. package/dist/cjs/IconWithTooltip.cjs.map +1 -1
  89. package/dist/cjs/Link.cjs +1 -1
  90. package/dist/cjs/Link.cjs.map +1 -1
  91. package/dist/cjs/MuiPropsChild.cjs +1 -1
  92. package/dist/cjs/MuiPropsChild.cjs.map +1 -1
  93. package/dist/cjs/NativeSelect.cjs +1 -1
  94. package/dist/cjs/NativeSelect.cjs.map +1 -1
  95. package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
  96. package/dist/cjs/OdysseyCacheProvider.cjs.map +1 -1
  97. package/dist/cjs/OdysseyProvider.cjs +1 -1
  98. package/dist/cjs/OdysseyProvider.cjs.map +1 -1
  99. package/dist/cjs/OdysseyThemeProvider.cjs +1 -1
  100. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  101. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
  102. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -1
  103. package/dist/cjs/Pagination/Pagination.cjs +1 -1
  104. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  105. package/dist/cjs/PasswordField.cjs +3 -1
  106. package/dist/cjs/PasswordField.cjs.map +1 -1
  107. package/dist/cjs/ScreenReaderText.cjs +1 -1
  108. package/dist/cjs/ScreenReaderText.cjs.map +1 -1
  109. package/dist/cjs/SearchField.cjs +1 -1
  110. package/dist/cjs/SearchField.cjs.map +1 -1
  111. package/dist/cjs/Select.cjs +4 -2
  112. package/dist/cjs/Select.cjs.map +1 -1
  113. package/dist/cjs/Stack.cjs +1 -1
  114. package/dist/cjs/Stack.cjs.map +1 -1
  115. package/dist/cjs/Status.cjs +1 -1
  116. package/dist/cjs/Status.cjs.map +1 -1
  117. package/dist/cjs/Surface.cjs +1 -1
  118. package/dist/cjs/Surface.cjs.map +1 -1
  119. package/dist/cjs/Switch.cjs +3 -2
  120. package/dist/cjs/Switch.cjs.map +1 -1
  121. package/dist/cjs/Tabs.cjs +1 -1
  122. package/dist/cjs/Tabs.cjs.map +1 -1
  123. package/dist/cjs/Tag.cjs +1 -1
  124. package/dist/cjs/Tag.cjs.map +1 -1
  125. package/dist/cjs/TagList.cjs +1 -1
  126. package/dist/cjs/TagList.cjs.map +1 -1
  127. package/dist/cjs/TextField.cjs +11 -3
  128. package/dist/cjs/TextField.cjs.map +1 -1
  129. package/dist/cjs/Toast.cjs +1 -1
  130. package/dist/cjs/Toast.cjs.map +1 -1
  131. package/dist/cjs/ToastStack.cjs +1 -1
  132. package/dist/cjs/ToastStack.cjs.map +1 -1
  133. package/dist/cjs/Tooltip.cjs +1 -1
  134. package/dist/cjs/Tooltip.cjs.map +1 -1
  135. package/dist/cjs/Typography.cjs +12 -12
  136. package/dist/cjs/Typography.cjs.map +1 -1
  137. package/dist/cjs/icons.generated/Add.cjs +1 -1
  138. package/dist/cjs/icons.generated/Add.cjs.map +1 -1
  139. package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
  140. package/dist/cjs/icons.generated/AddCircle.cjs.map +1 -1
  141. package/dist/cjs/icons.generated/Apps.cjs +1 -1
  142. package/dist/cjs/icons.generated/Apps.cjs.map +1 -1
  143. package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
  144. package/dist/cjs/icons.generated/AppsSelected.cjs.map +1 -1
  145. package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
  146. package/dist/cjs/icons.generated/ArrowBottom.cjs.map +1 -1
  147. package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
  148. package/dist/cjs/icons.generated/ArrowDown.cjs.map +1 -1
  149. package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
  150. package/dist/cjs/icons.generated/ArrowLeft.cjs.map +1 -1
  151. package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
  152. package/dist/cjs/icons.generated/ArrowLowerLeft.cjs.map +1 -1
  153. package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
  154. package/dist/cjs/icons.generated/ArrowLowerRight.cjs.map +1 -1
  155. package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
  156. package/dist/cjs/icons.generated/ArrowRight.cjs.map +1 -1
  157. package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
  158. package/dist/cjs/icons.generated/ArrowTop.cjs.map +1 -1
  159. package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
  160. package/dist/cjs/icons.generated/ArrowUnsorted.cjs.map +1 -1
  161. package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
  162. package/dist/cjs/icons.generated/ArrowUp.cjs.map +1 -1
  163. package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
  164. package/dist/cjs/icons.generated/ArrowUpperLeft.cjs.map +1 -1
  165. package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
  166. package/dist/cjs/icons.generated/ArrowUpperRight.cjs.map +1 -1
  167. package/dist/cjs/icons.generated/Bug.cjs +1 -1
  168. package/dist/cjs/icons.generated/Bug.cjs.map +1 -1
  169. package/dist/cjs/icons.generated/Calendar.cjs +1 -1
  170. package/dist/cjs/icons.generated/Calendar.cjs.map +1 -1
  171. package/dist/cjs/icons.generated/Call.cjs +1 -1
  172. package/dist/cjs/icons.generated/Call.cjs.map +1 -1
  173. package/dist/cjs/icons.generated/Chat.cjs +1 -1
  174. package/dist/cjs/icons.generated/Chat.cjs.map +1 -1
  175. package/dist/cjs/icons.generated/Check.cjs +1 -1
  176. package/dist/cjs/icons.generated/Check.cjs.map +1 -1
  177. package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
  178. package/dist/cjs/icons.generated/CheckCircleFilled.cjs.map +1 -1
  179. package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
  180. package/dist/cjs/icons.generated/ChevronDown.cjs.map +1 -1
  181. package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
  182. package/dist/cjs/icons.generated/ChevronLeft.cjs.map +1 -1
  183. package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
  184. package/dist/cjs/icons.generated/ChevronRight.cjs.map +1 -1
  185. package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
  186. package/dist/cjs/icons.generated/ChevronUp.cjs.map +1 -1
  187. package/dist/cjs/icons.generated/Clock.cjs +1 -1
  188. package/dist/cjs/icons.generated/Clock.cjs.map +1 -1
  189. package/dist/cjs/icons.generated/Close.cjs +1 -1
  190. package/dist/cjs/icons.generated/Close.cjs.map +1 -1
  191. package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
  192. package/dist/cjs/icons.generated/CloseCircleFilled.cjs.map +1 -1
  193. package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
  194. package/dist/cjs/icons.generated/CollapseLeft.cjs.map +1 -1
  195. package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
  196. package/dist/cjs/icons.generated/CollapseRight.cjs.map +1 -1
  197. package/dist/cjs/icons.generated/Copy.cjs +1 -1
  198. package/dist/cjs/icons.generated/Copy.cjs.map +1 -1
  199. package/dist/cjs/icons.generated/Custom.cjs +1 -1
  200. package/dist/cjs/icons.generated/Custom.cjs.map +1 -1
  201. package/dist/cjs/icons.generated/Customizations.cjs +1 -1
  202. package/dist/cjs/icons.generated/Customizations.cjs.map +1 -1
  203. package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
  204. package/dist/cjs/icons.generated/CustomizationsSelected.cjs.map +1 -1
  205. package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
  206. package/dist/cjs/icons.generated/DangerDiamond.cjs.map +1 -1
  207. package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
  208. package/dist/cjs/icons.generated/DangerDiamondFilled.cjs.map +1 -1
  209. package/dist/cjs/icons.generated/Delete.cjs +1 -1
  210. package/dist/cjs/icons.generated/Delete.cjs.map +1 -1
  211. package/dist/cjs/icons.generated/Deny.cjs +1 -1
  212. package/dist/cjs/icons.generated/Deny.cjs.map +1 -1
  213. package/dist/cjs/icons.generated/Devices.cjs +1 -1
  214. package/dist/cjs/icons.generated/Devices.cjs.map +1 -1
  215. package/dist/cjs/icons.generated/Directory.cjs +1 -1
  216. package/dist/cjs/icons.generated/Directory.cjs.map +1 -1
  217. package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
  218. package/dist/cjs/icons.generated/DirectorySelected.cjs.map +1 -1
  219. package/dist/cjs/icons.generated/Documentation.cjs +1 -1
  220. package/dist/cjs/icons.generated/Documentation.cjs.map +1 -1
  221. package/dist/cjs/icons.generated/Download.cjs +1 -1
  222. package/dist/cjs/icons.generated/Download.cjs.map +1 -1
  223. package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
  224. package/dist/cjs/icons.generated/DragIndicator.cjs.map +1 -1
  225. package/dist/cjs/icons.generated/Duo.cjs +1 -1
  226. package/dist/cjs/icons.generated/Duo.cjs.map +1 -1
  227. package/dist/cjs/icons.generated/Edit.cjs +1 -1
  228. package/dist/cjs/icons.generated/Edit.cjs.map +1 -1
  229. package/dist/cjs/icons.generated/Email.cjs +1 -1
  230. package/dist/cjs/icons.generated/Email.cjs.map +1 -1
  231. package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
  232. package/dist/cjs/icons.generated/ExpandLeft.cjs.map +1 -1
  233. package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
  234. package/dist/cjs/icons.generated/ExpandRight.cjs.map +1 -1
  235. package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
  236. package/dist/cjs/icons.generated/ExternalLink.cjs.map +1 -1
  237. package/dist/cjs/icons.generated/Fido2.cjs +1 -1
  238. package/dist/cjs/icons.generated/Fido2.cjs.map +1 -1
  239. package/dist/cjs/icons.generated/Filter.cjs +1 -1
  240. package/dist/cjs/icons.generated/Filter.cjs.map +1 -1
  241. package/dist/cjs/icons.generated/Folder.cjs +1 -1
  242. package/dist/cjs/icons.generated/Folder.cjs.map +1 -1
  243. package/dist/cjs/icons.generated/Globe.cjs +1 -1
  244. package/dist/cjs/icons.generated/Globe.cjs.map +1 -1
  245. package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
  246. package/dist/cjs/icons.generated/GoogleAuth.cjs.map +1 -1
  247. package/dist/cjs/icons.generated/Grid.cjs +1 -1
  248. package/dist/cjs/icons.generated/Grid.cjs.map +1 -1
  249. package/dist/cjs/icons.generated/Group.cjs +1 -1
  250. package/dist/cjs/icons.generated/Group.cjs.map +1 -1
  251. package/dist/cjs/icons.generated/Happy.cjs +1 -1
  252. package/dist/cjs/icons.generated/Happy.cjs.map +1 -1
  253. package/dist/cjs/icons.generated/Hide.cjs +1 -1
  254. package/dist/cjs/icons.generated/Hide.cjs.map +1 -1
  255. package/dist/cjs/icons.generated/Home.cjs +1 -1
  256. package/dist/cjs/icons.generated/Home.cjs.map +1 -1
  257. package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
  258. package/dist/cjs/icons.generated/HomeSelected.cjs.map +1 -1
  259. package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
  260. package/dist/cjs/icons.generated/IdentityGovernance.cjs.map +1 -1
  261. package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
  262. package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs.map +1 -1
  263. package/dist/cjs/icons.generated/Idp.cjs +1 -1
  264. package/dist/cjs/icons.generated/Idp.cjs.map +1 -1
  265. package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
  266. package/dist/cjs/icons.generated/InformationCircle.cjs.map +1 -1
  267. package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
  268. package/dist/cjs/icons.generated/InformationCircleFilled.cjs.map +1 -1
  269. package/dist/cjs/icons.generated/Link.cjs +1 -1
  270. package/dist/cjs/icons.generated/Link.cjs.map +1 -1
  271. package/dist/cjs/icons.generated/List.cjs +1 -1
  272. package/dist/cjs/icons.generated/List.cjs.map +1 -1
  273. package/dist/cjs/icons.generated/Lock.cjs +1 -1
  274. package/dist/cjs/icons.generated/Lock.cjs.map +1 -1
  275. package/dist/cjs/icons.generated/Menu.cjs +1 -1
  276. package/dist/cjs/icons.generated/Menu.cjs.map +1 -1
  277. package/dist/cjs/icons.generated/More.cjs +1 -1
  278. package/dist/cjs/icons.generated/More.cjs.map +1 -1
  279. package/dist/cjs/icons.generated/Neutral.cjs +1 -1
  280. package/dist/cjs/icons.generated/Neutral.cjs.map +1 -1
  281. package/dist/cjs/icons.generated/Notification.cjs +1 -1
  282. package/dist/cjs/icons.generated/Notification.cjs.map +1 -1
  283. package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
  284. package/dist/cjs/icons.generated/OktaVerify.cjs.map +1 -1
  285. package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
  286. package/dist/cjs/icons.generated/OnPremMfa.cjs.map +1 -1
  287. package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
  288. package/dist/cjs/icons.generated/OneTimePassword.cjs.map +1 -1
  289. package/dist/cjs/icons.generated/Password.cjs +1 -1
  290. package/dist/cjs/icons.generated/Password.cjs.map +1 -1
  291. package/dist/cjs/icons.generated/Pause.cjs +1 -1
  292. package/dist/cjs/icons.generated/Pause.cjs.map +1 -1
  293. package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
  294. package/dist/cjs/icons.generated/QuestionCircle.cjs.map +1 -1
  295. package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
  296. package/dist/cjs/icons.generated/QuestionCircleFilled.cjs.map +1 -1
  297. package/dist/cjs/icons.generated/Refresh.cjs +1 -1
  298. package/dist/cjs/icons.generated/Refresh.cjs.map +1 -1
  299. package/dist/cjs/icons.generated/Reports.cjs +1 -1
  300. package/dist/cjs/icons.generated/Reports.cjs.map +1 -1
  301. package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
  302. package/dist/cjs/icons.generated/ReportsSelected.cjs.map +1 -1
  303. package/dist/cjs/icons.generated/Reset.cjs +1 -1
  304. package/dist/cjs/icons.generated/Reset.cjs.map +1 -1
  305. package/dist/cjs/icons.generated/Resume.cjs +1 -1
  306. package/dist/cjs/icons.generated/Resume.cjs.map +1 -1
  307. package/dist/cjs/icons.generated/Sad.cjs +1 -1
  308. package/dist/cjs/icons.generated/Sad.cjs.map +1 -1
  309. package/dist/cjs/icons.generated/Same.cjs +1 -1
  310. package/dist/cjs/icons.generated/Same.cjs.map +1 -1
  311. package/dist/cjs/icons.generated/Search.cjs +1 -1
  312. package/dist/cjs/icons.generated/Search.cjs.map +1 -1
  313. package/dist/cjs/icons.generated/Security.cjs +1 -1
  314. package/dist/cjs/icons.generated/Security.cjs.map +1 -1
  315. package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
  316. package/dist/cjs/icons.generated/SecurityQuestion.cjs.map +1 -1
  317. package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
  318. package/dist/cjs/icons.generated/SecuritySelected.cjs.map +1 -1
  319. package/dist/cjs/icons.generated/Send.cjs +1 -1
  320. package/dist/cjs/icons.generated/Send.cjs.map +1 -1
  321. package/dist/cjs/icons.generated/Server.cjs +1 -1
  322. package/dist/cjs/icons.generated/Server.cjs.map +1 -1
  323. package/dist/cjs/icons.generated/Settings.cjs +1 -1
  324. package/dist/cjs/icons.generated/Settings.cjs.map +1 -1
  325. package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
  326. package/dist/cjs/icons.generated/SettingsSelected.cjs.map +1 -1
  327. package/dist/cjs/icons.generated/Show.cjs +1 -1
  328. package/dist/cjs/icons.generated/Show.cjs.map +1 -1
  329. package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
  330. package/dist/cjs/icons.generated/SmartCard.cjs.map +1 -1
  331. package/dist/cjs/icons.generated/Sms.cjs +1 -1
  332. package/dist/cjs/icons.generated/Sms.cjs.map +1 -1
  333. package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
  334. package/dist/cjs/icons.generated/Sparkle.cjs.map +1 -1
  335. package/dist/cjs/icons.generated/Subtract.cjs +1 -1
  336. package/dist/cjs/icons.generated/Subtract.cjs.map +1 -1
  337. package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
  338. package/dist/cjs/icons.generated/SymantecVip.cjs.map +1 -1
  339. package/dist/cjs/icons.generated/Sync.cjs +1 -1
  340. package/dist/cjs/icons.generated/Sync.cjs.map +1 -1
  341. package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
  342. package/dist/cjs/icons.generated/ThumbsDown.cjs.map +1 -1
  343. package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
  344. package/dist/cjs/icons.generated/ThumbsUp.cjs.map +1 -1
  345. package/dist/cjs/icons.generated/Unlock.cjs +1 -1
  346. package/dist/cjs/icons.generated/Unlock.cjs.map +1 -1
  347. package/dist/cjs/icons.generated/Upload.cjs +1 -1
  348. package/dist/cjs/icons.generated/Upload.cjs.map +1 -1
  349. package/dist/cjs/icons.generated/User.cjs +1 -1
  350. package/dist/cjs/icons.generated/User.cjs.map +1 -1
  351. package/dist/cjs/icons.generated/Video.cjs +1 -1
  352. package/dist/cjs/icons.generated/Video.cjs.map +1 -1
  353. package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
  354. package/dist/cjs/icons.generated/VoiceCall.cjs.map +1 -1
  355. package/dist/cjs/icons.generated/Warning.cjs +1 -1
  356. package/dist/cjs/icons.generated/Warning.cjs.map +1 -1
  357. package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
  358. package/dist/cjs/icons.generated/WarningFilled.cjs.map +1 -1
  359. package/dist/cjs/icons.generated/Workflows.cjs +1 -1
  360. package/dist/cjs/icons.generated/Workflows.cjs.map +1 -1
  361. package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
  362. package/dist/cjs/icons.generated/WorkflowsSelected.cjs.map +1 -1
  363. package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
  364. package/dist/cjs/icons.generated/Yubikey.cjs.map +1 -1
  365. package/dist/cjs/labs/AppTile.cjs +1 -1
  366. package/dist/cjs/labs/AppTile.cjs.map +1 -1
  367. package/dist/cjs/labs/DataFilters.cjs +2 -2
  368. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  369. package/dist/cjs/labs/DataTable.cjs +1 -1
  370. package/dist/cjs/labs/DataTable.cjs.map +1 -1
  371. package/dist/cjs/labs/DataTablePagination.cjs +1 -1
  372. package/dist/cjs/labs/DataTablePagination.cjs.map +1 -1
  373. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
  374. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
  375. package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
  376. package/dist/cjs/labs/DataView/CardLayoutContent.cjs.map +1 -1
  377. package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
  378. package/dist/cjs/labs/DataView/DataCard.cjs.map +1 -1
  379. package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
  380. package/dist/cjs/labs/DataView/DataTable.cjs.map +1 -1
  381. package/dist/cjs/labs/DataView/DataView.cjs +1 -1
  382. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  383. package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
  384. package/dist/cjs/labs/DataView/DetailPanel.cjs.map +1 -1
  385. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
  386. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
  387. package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
  388. package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
  389. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
  390. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  391. package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
  392. package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
  393. package/dist/cjs/labs/DatePickers/DateTimeField.cjs +4 -2
  394. package/dist/cjs/labs/DatePickers/DateTimeField.cjs.map +1 -1
  395. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
  396. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
  397. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +2 -1
  398. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs.map +1 -1
  399. package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
  400. package/dist/cjs/labs/OdysseyPickers/Picker.cjs.map +1 -1
  401. package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
  402. package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs.map +1 -1
  403. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
  404. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
  405. package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
  406. package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs.map +1 -1
  407. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
  408. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs.map +1 -1
  409. package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
  410. package/dist/cjs/labs/PageTemplate/Layout.cjs.map +1 -1
  411. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
  412. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
  413. package/dist/cjs/labs/PaginatedTable.cjs +1 -1
  414. package/dist/cjs/labs/PaginatedTable.cjs.map +1 -1
  415. package/dist/cjs/labs/StaticTable.cjs +1 -1
  416. package/dist/cjs/labs/StaticTable.cjs.map +1 -1
  417. package/dist/cjs/labs/UserProfile.cjs +1 -1
  418. package/dist/cjs/labs/UserProfile.cjs.map +1 -1
  419. package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
  420. package/dist/cjs/labs/UserProfileMenuButton.cjs.map +1 -1
  421. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +2 -0
  422. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
  423. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +2 -0
  424. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
  425. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +2 -0
  426. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
  427. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +2 -0
  428. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
  429. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +2 -0
  430. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
  431. package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +2 -0
  432. package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -1
  433. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +2 -0
  434. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
  435. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +7 -5
  436. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
  437. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +2 -0
  438. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
  439. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +2 -0
  440. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
  441. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +2 -0
  442. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
  443. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +2 -0
  444. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
  445. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +2 -0
  446. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
  447. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +3 -1
  448. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
  449. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +2 -0
  450. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
  451. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +2 -0
  452. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
  453. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +2 -0
  454. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
  455. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +2 -0
  456. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
  457. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +2 -0
  458. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
  459. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +2 -0
  460. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
  461. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +2 -0
  462. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
  463. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +2 -0
  464. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
  465. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +2 -0
  466. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
  467. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +2 -0
  468. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
  469. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +2 -0
  470. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
  471. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +2 -0
  472. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
  473. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +2 -0
  474. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
  475. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +2 -0
  476. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
  477. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
  478. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs.map +1 -1
  479. package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
  480. package/dist/cjs/ui-shell/InnerAppContainer.cjs.map +1 -1
  481. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +1 -1
  482. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
  483. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +1 -1
  484. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs.map +1 -1
  485. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
  486. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  487. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
  488. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs.map +1 -1
  489. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
  490. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs.map +1 -1
  491. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
  492. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
  493. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
  494. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
  495. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
  496. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs.map +1 -1
  497. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -1
  498. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
  499. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
  500. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs.map +1 -1
  501. package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
  502. package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
  503. package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
  504. package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs.map +1 -1
  505. package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
  506. package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs.map +1 -1
  507. package/dist/cjs/ui-shell/UiShell.cjs +1 -1
  508. package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
  509. package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
  510. package/dist/cjs/ui-shell/UiShellLogo.cjs.map +1 -1
  511. package/dist/cjs/ui-shell/WideUiShellContent.cjs +1 -1
  512. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  513. package/dist/cjs/useAutocomplete.cjs +4 -1
  514. package/dist/cjs/useAutocomplete.cjs.map +1 -1
  515. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  516. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  517. package/dist/esm/Accordion.js +1 -1
  518. package/dist/esm/Accordion.js.map +1 -1
  519. package/dist/esm/Autocomplete.js +2 -1
  520. package/dist/esm/Autocomplete.js.map +1 -1
  521. package/dist/esm/Badge.js +1 -1
  522. package/dist/esm/Badge.js.map +1 -1
  523. package/dist/esm/Banner.js +1 -1
  524. package/dist/esm/Banner.js.map +1 -1
  525. package/dist/esm/Box.js +1 -1
  526. package/dist/esm/Box.js.map +1 -1
  527. package/dist/esm/Breadcrumbs.js +1 -1
  528. package/dist/esm/Breadcrumbs.js.map +1 -1
  529. package/dist/esm/Buttons/BaseButton.js +1 -1
  530. package/dist/esm/Buttons/BaseButton.js.map +1 -1
  531. package/dist/esm/Buttons/BaseMenuButton.js +1 -1
  532. package/dist/esm/Buttons/BaseMenuButton.js.map +1 -1
  533. package/dist/esm/Buttons/Button.js +1 -1
  534. package/dist/esm/Buttons/Button.js.map +1 -1
  535. package/dist/esm/Buttons/MenuButton.js +1 -1
  536. package/dist/esm/Buttons/MenuButton.js.map +1 -1
  537. package/dist/esm/Buttons/MenuItem.js +1 -1
  538. package/dist/esm/Buttons/MenuItem.js.map +1 -1
  539. package/dist/esm/Callout.js +1 -1
  540. package/dist/esm/Callout.js.map +1 -1
  541. package/dist/esm/Card.js +1 -1
  542. package/dist/esm/Card.js.map +1 -1
  543. package/dist/esm/CircularProgress.js +1 -1
  544. package/dist/esm/CircularProgress.js.map +1 -1
  545. package/dist/esm/ConditionalWrapper.js +1 -1
  546. package/dist/esm/ConditionalWrapper.js.map +1 -1
  547. package/dist/esm/DataTable/DataTable.js +1 -1
  548. package/dist/esm/DataTable/DataTable.js.map +1 -1
  549. package/dist/esm/DataTable/DataTableRowActions.js +1 -1
  550. package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
  551. package/dist/esm/DataTable/DataTableSettings.js +1 -1
  552. package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
  553. package/dist/esm/DatePickers/DateField.js +4 -2
  554. package/dist/esm/DatePickers/DateField.js.map +1 -1
  555. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  556. package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
  557. package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
  558. package/dist/esm/DatePickers/DateFieldLocalizationProvider.js.map +1 -1
  559. package/dist/esm/DatePickers/DatePicker.js +1 -1
  560. package/dist/esm/DatePickers/DatePicker.js.map +1 -1
  561. package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
  562. package/dist/esm/DatePickers/TimeZonePicker.js.map +1 -1
  563. package/dist/esm/Dialog.js +1 -1
  564. package/dist/esm/Dialog.js.map +1 -1
  565. package/dist/esm/Drawer.js +1 -1
  566. package/dist/esm/Drawer.js.map +1 -1
  567. package/dist/esm/EmptyState.js +1 -1
  568. package/dist/esm/EmptyState.js.map +1 -1
  569. package/dist/esm/ErrorMessageList.js +1 -1
  570. package/dist/esm/ErrorMessageList.js.map +1 -1
  571. package/dist/esm/Field.js +1 -1
  572. package/dist/esm/Field.js.map +1 -1
  573. package/dist/esm/FieldError.js +1 -1
  574. package/dist/esm/FieldError.js.map +1 -1
  575. package/dist/esm/FieldHint.js +1 -1
  576. package/dist/esm/FieldHint.js.map +1 -1
  577. package/dist/esm/FieldLabel.js +1 -1
  578. package/dist/esm/FieldLabel.js.map +1 -1
  579. package/dist/esm/Fields/Checkbox.js +1 -1
  580. package/dist/esm/Fields/Checkbox.js.map +1 -1
  581. package/dist/esm/Fields/CheckboxGroup.js +1 -1
  582. package/dist/esm/Fields/CheckboxGroup.js.map +1 -1
  583. package/dist/esm/Fields/Radio.js +2 -2
  584. package/dist/esm/Fields/Radio.js.map +1 -1
  585. package/dist/esm/Fields/RadioGroup.js +1 -1
  586. package/dist/esm/Fields/RadioGroup.js.map +1 -1
  587. package/dist/esm/Fieldset.js +1 -1
  588. package/dist/esm/Fieldset.js.map +1 -1
  589. package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
  590. package/dist/esm/FileUploader/FileUploadIllustration.js.map +1 -1
  591. package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
  592. package/dist/esm/FileUploader/FileUploadPreview.js.map +1 -1
  593. package/dist/esm/FileUploader/FileUploader.js +1 -1
  594. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  595. package/dist/esm/Form.js +1 -1
  596. package/dist/esm/Form.js.map +1 -1
  597. package/dist/esm/FullScreenOverlay.js +1 -1
  598. package/dist/esm/FullScreenOverlay.js.map +1 -1
  599. package/dist/esm/FullScreenOverlayContext.js +1 -1
  600. package/dist/esm/FullScreenOverlayContext.js.map +1 -1
  601. package/dist/esm/HintLink.js +1 -1
  602. package/dist/esm/HintLink.js.map +1 -1
  603. package/dist/esm/IconWithTooltip.js +1 -1
  604. package/dist/esm/IconWithTooltip.js.map +1 -1
  605. package/dist/esm/Link.js +1 -1
  606. package/dist/esm/Link.js.map +1 -1
  607. package/dist/esm/MuiPropsChild.js +1 -1
  608. package/dist/esm/MuiPropsChild.js.map +1 -1
  609. package/dist/esm/NativeSelect.js +1 -1
  610. package/dist/esm/NativeSelect.js.map +1 -1
  611. package/dist/esm/OdysseyCacheProvider.js +1 -1
  612. package/dist/esm/OdysseyCacheProvider.js.map +1 -1
  613. package/dist/esm/OdysseyProvider.js +1 -1
  614. package/dist/esm/OdysseyProvider.js.map +1 -1
  615. package/dist/esm/OdysseyThemeProvider.js +1 -1
  616. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  617. package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
  618. package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -1
  619. package/dist/esm/Pagination/Pagination.js +1 -1
  620. package/dist/esm/Pagination/Pagination.js.map +1 -1
  621. package/dist/esm/PasswordField.js +3 -1
  622. package/dist/esm/PasswordField.js.map +1 -1
  623. package/dist/esm/ScreenReaderText.js +1 -1
  624. package/dist/esm/ScreenReaderText.js.map +1 -1
  625. package/dist/esm/SearchField.js +1 -1
  626. package/dist/esm/SearchField.js.map +1 -1
  627. package/dist/esm/Select.js +4 -2
  628. package/dist/esm/Select.js.map +1 -1
  629. package/dist/esm/Stack.js +1 -1
  630. package/dist/esm/Stack.js.map +1 -1
  631. package/dist/esm/Status.js +1 -1
  632. package/dist/esm/Status.js.map +1 -1
  633. package/dist/esm/Surface.js +1 -1
  634. package/dist/esm/Surface.js.map +1 -1
  635. package/dist/esm/Switch.js +3 -2
  636. package/dist/esm/Switch.js.map +1 -1
  637. package/dist/esm/Tabs.js +1 -1
  638. package/dist/esm/Tabs.js.map +1 -1
  639. package/dist/esm/Tag.js +1 -1
  640. package/dist/esm/Tag.js.map +1 -1
  641. package/dist/esm/TagList.js +1 -1
  642. package/dist/esm/TagList.js.map +1 -1
  643. package/dist/esm/TextField.js +11 -3
  644. package/dist/esm/TextField.js.map +1 -1
  645. package/dist/esm/Toast.js +1 -1
  646. package/dist/esm/Toast.js.map +1 -1
  647. package/dist/esm/ToastStack.js +1 -1
  648. package/dist/esm/ToastStack.js.map +1 -1
  649. package/dist/esm/Tooltip.js +1 -1
  650. package/dist/esm/Tooltip.js.map +1 -1
  651. package/dist/esm/Typography.js +12 -12
  652. package/dist/esm/Typography.js.map +1 -1
  653. package/dist/esm/icons.generated/Add.js +1 -1
  654. package/dist/esm/icons.generated/Add.js.map +1 -1
  655. package/dist/esm/icons.generated/AddCircle.js +1 -1
  656. package/dist/esm/icons.generated/AddCircle.js.map +1 -1
  657. package/dist/esm/icons.generated/Apps.js +1 -1
  658. package/dist/esm/icons.generated/Apps.js.map +1 -1
  659. package/dist/esm/icons.generated/AppsSelected.js +1 -1
  660. package/dist/esm/icons.generated/AppsSelected.js.map +1 -1
  661. package/dist/esm/icons.generated/ArrowBottom.js +1 -1
  662. package/dist/esm/icons.generated/ArrowBottom.js.map +1 -1
  663. package/dist/esm/icons.generated/ArrowDown.js +1 -1
  664. package/dist/esm/icons.generated/ArrowDown.js.map +1 -1
  665. package/dist/esm/icons.generated/ArrowLeft.js +1 -1
  666. package/dist/esm/icons.generated/ArrowLeft.js.map +1 -1
  667. package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
  668. package/dist/esm/icons.generated/ArrowLowerLeft.js.map +1 -1
  669. package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
  670. package/dist/esm/icons.generated/ArrowLowerRight.js.map +1 -1
  671. package/dist/esm/icons.generated/ArrowRight.js +1 -1
  672. package/dist/esm/icons.generated/ArrowRight.js.map +1 -1
  673. package/dist/esm/icons.generated/ArrowTop.js +1 -1
  674. package/dist/esm/icons.generated/ArrowTop.js.map +1 -1
  675. package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
  676. package/dist/esm/icons.generated/ArrowUnsorted.js.map +1 -1
  677. package/dist/esm/icons.generated/ArrowUp.js +1 -1
  678. package/dist/esm/icons.generated/ArrowUp.js.map +1 -1
  679. package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
  680. package/dist/esm/icons.generated/ArrowUpperLeft.js.map +1 -1
  681. package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
  682. package/dist/esm/icons.generated/ArrowUpperRight.js.map +1 -1
  683. package/dist/esm/icons.generated/Bug.js +1 -1
  684. package/dist/esm/icons.generated/Bug.js.map +1 -1
  685. package/dist/esm/icons.generated/Calendar.js +1 -1
  686. package/dist/esm/icons.generated/Calendar.js.map +1 -1
  687. package/dist/esm/icons.generated/Call.js +1 -1
  688. package/dist/esm/icons.generated/Call.js.map +1 -1
  689. package/dist/esm/icons.generated/Chat.js +1 -1
  690. package/dist/esm/icons.generated/Chat.js.map +1 -1
  691. package/dist/esm/icons.generated/Check.js +1 -1
  692. package/dist/esm/icons.generated/Check.js.map +1 -1
  693. package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
  694. package/dist/esm/icons.generated/CheckCircleFilled.js.map +1 -1
  695. package/dist/esm/icons.generated/ChevronDown.js +1 -1
  696. package/dist/esm/icons.generated/ChevronDown.js.map +1 -1
  697. package/dist/esm/icons.generated/ChevronLeft.js +1 -1
  698. package/dist/esm/icons.generated/ChevronLeft.js.map +1 -1
  699. package/dist/esm/icons.generated/ChevronRight.js +1 -1
  700. package/dist/esm/icons.generated/ChevronRight.js.map +1 -1
  701. package/dist/esm/icons.generated/ChevronUp.js +1 -1
  702. package/dist/esm/icons.generated/ChevronUp.js.map +1 -1
  703. package/dist/esm/icons.generated/Clock.js +1 -1
  704. package/dist/esm/icons.generated/Clock.js.map +1 -1
  705. package/dist/esm/icons.generated/Close.js +1 -1
  706. package/dist/esm/icons.generated/Close.js.map +1 -1
  707. package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
  708. package/dist/esm/icons.generated/CloseCircleFilled.js.map +1 -1
  709. package/dist/esm/icons.generated/CollapseLeft.js +1 -1
  710. package/dist/esm/icons.generated/CollapseLeft.js.map +1 -1
  711. package/dist/esm/icons.generated/CollapseRight.js +1 -1
  712. package/dist/esm/icons.generated/CollapseRight.js.map +1 -1
  713. package/dist/esm/icons.generated/Copy.js +1 -1
  714. package/dist/esm/icons.generated/Copy.js.map +1 -1
  715. package/dist/esm/icons.generated/Custom.js +1 -1
  716. package/dist/esm/icons.generated/Custom.js.map +1 -1
  717. package/dist/esm/icons.generated/Customizations.js +1 -1
  718. package/dist/esm/icons.generated/Customizations.js.map +1 -1
  719. package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
  720. package/dist/esm/icons.generated/CustomizationsSelected.js.map +1 -1
  721. package/dist/esm/icons.generated/DangerDiamond.js +1 -1
  722. package/dist/esm/icons.generated/DangerDiamond.js.map +1 -1
  723. package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
  724. package/dist/esm/icons.generated/DangerDiamondFilled.js.map +1 -1
  725. package/dist/esm/icons.generated/Delete.js +1 -1
  726. package/dist/esm/icons.generated/Delete.js.map +1 -1
  727. package/dist/esm/icons.generated/Deny.js +1 -1
  728. package/dist/esm/icons.generated/Deny.js.map +1 -1
  729. package/dist/esm/icons.generated/Devices.js +1 -1
  730. package/dist/esm/icons.generated/Devices.js.map +1 -1
  731. package/dist/esm/icons.generated/Directory.js +1 -1
  732. package/dist/esm/icons.generated/Directory.js.map +1 -1
  733. package/dist/esm/icons.generated/DirectorySelected.js +1 -1
  734. package/dist/esm/icons.generated/DirectorySelected.js.map +1 -1
  735. package/dist/esm/icons.generated/Documentation.js +1 -1
  736. package/dist/esm/icons.generated/Documentation.js.map +1 -1
  737. package/dist/esm/icons.generated/Download.js +1 -1
  738. package/dist/esm/icons.generated/Download.js.map +1 -1
  739. package/dist/esm/icons.generated/DragIndicator.js +1 -1
  740. package/dist/esm/icons.generated/DragIndicator.js.map +1 -1
  741. package/dist/esm/icons.generated/Duo.js +1 -1
  742. package/dist/esm/icons.generated/Duo.js.map +1 -1
  743. package/dist/esm/icons.generated/Edit.js +1 -1
  744. package/dist/esm/icons.generated/Edit.js.map +1 -1
  745. package/dist/esm/icons.generated/Email.js +1 -1
  746. package/dist/esm/icons.generated/Email.js.map +1 -1
  747. package/dist/esm/icons.generated/ExpandLeft.js +1 -1
  748. package/dist/esm/icons.generated/ExpandLeft.js.map +1 -1
  749. package/dist/esm/icons.generated/ExpandRight.js +1 -1
  750. package/dist/esm/icons.generated/ExpandRight.js.map +1 -1
  751. package/dist/esm/icons.generated/ExternalLink.js +1 -1
  752. package/dist/esm/icons.generated/ExternalLink.js.map +1 -1
  753. package/dist/esm/icons.generated/Fido2.js +1 -1
  754. package/dist/esm/icons.generated/Fido2.js.map +1 -1
  755. package/dist/esm/icons.generated/Filter.js +1 -1
  756. package/dist/esm/icons.generated/Filter.js.map +1 -1
  757. package/dist/esm/icons.generated/Folder.js +1 -1
  758. package/dist/esm/icons.generated/Folder.js.map +1 -1
  759. package/dist/esm/icons.generated/Globe.js +1 -1
  760. package/dist/esm/icons.generated/Globe.js.map +1 -1
  761. package/dist/esm/icons.generated/GoogleAuth.js +1 -1
  762. package/dist/esm/icons.generated/GoogleAuth.js.map +1 -1
  763. package/dist/esm/icons.generated/Grid.js +1 -1
  764. package/dist/esm/icons.generated/Grid.js.map +1 -1
  765. package/dist/esm/icons.generated/Group.js +1 -1
  766. package/dist/esm/icons.generated/Group.js.map +1 -1
  767. package/dist/esm/icons.generated/Happy.js +1 -1
  768. package/dist/esm/icons.generated/Happy.js.map +1 -1
  769. package/dist/esm/icons.generated/Hide.js +1 -1
  770. package/dist/esm/icons.generated/Hide.js.map +1 -1
  771. package/dist/esm/icons.generated/Home.js +1 -1
  772. package/dist/esm/icons.generated/Home.js.map +1 -1
  773. package/dist/esm/icons.generated/HomeSelected.js +1 -1
  774. package/dist/esm/icons.generated/HomeSelected.js.map +1 -1
  775. package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
  776. package/dist/esm/icons.generated/IdentityGovernance.js.map +1 -1
  777. package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
  778. package/dist/esm/icons.generated/IdentityGovernanceSelected.js.map +1 -1
  779. package/dist/esm/icons.generated/Idp.js +1 -1
  780. package/dist/esm/icons.generated/Idp.js.map +1 -1
  781. package/dist/esm/icons.generated/InformationCircle.js +1 -1
  782. package/dist/esm/icons.generated/InformationCircle.js.map +1 -1
  783. package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
  784. package/dist/esm/icons.generated/InformationCircleFilled.js.map +1 -1
  785. package/dist/esm/icons.generated/Link.js +1 -1
  786. package/dist/esm/icons.generated/Link.js.map +1 -1
  787. package/dist/esm/icons.generated/List.js +1 -1
  788. package/dist/esm/icons.generated/List.js.map +1 -1
  789. package/dist/esm/icons.generated/Lock.js +1 -1
  790. package/dist/esm/icons.generated/Lock.js.map +1 -1
  791. package/dist/esm/icons.generated/Menu.js +1 -1
  792. package/dist/esm/icons.generated/Menu.js.map +1 -1
  793. package/dist/esm/icons.generated/More.js +1 -1
  794. package/dist/esm/icons.generated/More.js.map +1 -1
  795. package/dist/esm/icons.generated/Neutral.js +1 -1
  796. package/dist/esm/icons.generated/Neutral.js.map +1 -1
  797. package/dist/esm/icons.generated/Notification.js +1 -1
  798. package/dist/esm/icons.generated/Notification.js.map +1 -1
  799. package/dist/esm/icons.generated/OktaVerify.js +1 -1
  800. package/dist/esm/icons.generated/OktaVerify.js.map +1 -1
  801. package/dist/esm/icons.generated/OnPremMfa.js +1 -1
  802. package/dist/esm/icons.generated/OnPremMfa.js.map +1 -1
  803. package/dist/esm/icons.generated/OneTimePassword.js +1 -1
  804. package/dist/esm/icons.generated/OneTimePassword.js.map +1 -1
  805. package/dist/esm/icons.generated/Password.js +1 -1
  806. package/dist/esm/icons.generated/Password.js.map +1 -1
  807. package/dist/esm/icons.generated/Pause.js +1 -1
  808. package/dist/esm/icons.generated/Pause.js.map +1 -1
  809. package/dist/esm/icons.generated/QuestionCircle.js +1 -1
  810. package/dist/esm/icons.generated/QuestionCircle.js.map +1 -1
  811. package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
  812. package/dist/esm/icons.generated/QuestionCircleFilled.js.map +1 -1
  813. package/dist/esm/icons.generated/Refresh.js +1 -1
  814. package/dist/esm/icons.generated/Refresh.js.map +1 -1
  815. package/dist/esm/icons.generated/Reports.js +1 -1
  816. package/dist/esm/icons.generated/Reports.js.map +1 -1
  817. package/dist/esm/icons.generated/ReportsSelected.js +1 -1
  818. package/dist/esm/icons.generated/ReportsSelected.js.map +1 -1
  819. package/dist/esm/icons.generated/Reset.js +1 -1
  820. package/dist/esm/icons.generated/Reset.js.map +1 -1
  821. package/dist/esm/icons.generated/Resume.js +1 -1
  822. package/dist/esm/icons.generated/Resume.js.map +1 -1
  823. package/dist/esm/icons.generated/Sad.js +1 -1
  824. package/dist/esm/icons.generated/Sad.js.map +1 -1
  825. package/dist/esm/icons.generated/Same.js +1 -1
  826. package/dist/esm/icons.generated/Same.js.map +1 -1
  827. package/dist/esm/icons.generated/Search.js +1 -1
  828. package/dist/esm/icons.generated/Search.js.map +1 -1
  829. package/dist/esm/icons.generated/Security.js +1 -1
  830. package/dist/esm/icons.generated/Security.js.map +1 -1
  831. package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
  832. package/dist/esm/icons.generated/SecurityQuestion.js.map +1 -1
  833. package/dist/esm/icons.generated/SecuritySelected.js +1 -1
  834. package/dist/esm/icons.generated/SecuritySelected.js.map +1 -1
  835. package/dist/esm/icons.generated/Send.js +1 -1
  836. package/dist/esm/icons.generated/Send.js.map +1 -1
  837. package/dist/esm/icons.generated/Server.js +1 -1
  838. package/dist/esm/icons.generated/Server.js.map +1 -1
  839. package/dist/esm/icons.generated/Settings.js +1 -1
  840. package/dist/esm/icons.generated/Settings.js.map +1 -1
  841. package/dist/esm/icons.generated/SettingsSelected.js +1 -1
  842. package/dist/esm/icons.generated/SettingsSelected.js.map +1 -1
  843. package/dist/esm/icons.generated/Show.js +1 -1
  844. package/dist/esm/icons.generated/Show.js.map +1 -1
  845. package/dist/esm/icons.generated/SmartCard.js +1 -1
  846. package/dist/esm/icons.generated/SmartCard.js.map +1 -1
  847. package/dist/esm/icons.generated/Sms.js +1 -1
  848. package/dist/esm/icons.generated/Sms.js.map +1 -1
  849. package/dist/esm/icons.generated/Sparkle.js +1 -1
  850. package/dist/esm/icons.generated/Sparkle.js.map +1 -1
  851. package/dist/esm/icons.generated/Subtract.js +1 -1
  852. package/dist/esm/icons.generated/Subtract.js.map +1 -1
  853. package/dist/esm/icons.generated/SymantecVip.js +1 -1
  854. package/dist/esm/icons.generated/SymantecVip.js.map +1 -1
  855. package/dist/esm/icons.generated/Sync.js +1 -1
  856. package/dist/esm/icons.generated/Sync.js.map +1 -1
  857. package/dist/esm/icons.generated/ThumbsDown.js +1 -1
  858. package/dist/esm/icons.generated/ThumbsDown.js.map +1 -1
  859. package/dist/esm/icons.generated/ThumbsUp.js +1 -1
  860. package/dist/esm/icons.generated/ThumbsUp.js.map +1 -1
  861. package/dist/esm/icons.generated/Unlock.js +1 -1
  862. package/dist/esm/icons.generated/Unlock.js.map +1 -1
  863. package/dist/esm/icons.generated/Upload.js +1 -1
  864. package/dist/esm/icons.generated/Upload.js.map +1 -1
  865. package/dist/esm/icons.generated/User.js +1 -1
  866. package/dist/esm/icons.generated/User.js.map +1 -1
  867. package/dist/esm/icons.generated/Video.js +1 -1
  868. package/dist/esm/icons.generated/Video.js.map +1 -1
  869. package/dist/esm/icons.generated/VoiceCall.js +1 -1
  870. package/dist/esm/icons.generated/VoiceCall.js.map +1 -1
  871. package/dist/esm/icons.generated/Warning.js +1 -1
  872. package/dist/esm/icons.generated/Warning.js.map +1 -1
  873. package/dist/esm/icons.generated/WarningFilled.js +1 -1
  874. package/dist/esm/icons.generated/WarningFilled.js.map +1 -1
  875. package/dist/esm/icons.generated/Workflows.js +1 -1
  876. package/dist/esm/icons.generated/Workflows.js.map +1 -1
  877. package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
  878. package/dist/esm/icons.generated/WorkflowsSelected.js.map +1 -1
  879. package/dist/esm/icons.generated/Yubikey.js +1 -1
  880. package/dist/esm/icons.generated/Yubikey.js.map +1 -1
  881. package/dist/esm/labs/AppTile.js +1 -1
  882. package/dist/esm/labs/AppTile.js.map +1 -1
  883. package/dist/esm/labs/DataFilters.js +2 -2
  884. package/dist/esm/labs/DataFilters.js.map +1 -1
  885. package/dist/esm/labs/DataTable.js +1 -1
  886. package/dist/esm/labs/DataTable.js.map +1 -1
  887. package/dist/esm/labs/DataTablePagination.js +1 -1
  888. package/dist/esm/labs/DataTablePagination.js.map +1 -1
  889. package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
  890. package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
  891. package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
  892. package/dist/esm/labs/DataView/CardLayoutContent.js.map +1 -1
  893. package/dist/esm/labs/DataView/DataCard.js +1 -1
  894. package/dist/esm/labs/DataView/DataCard.js.map +1 -1
  895. package/dist/esm/labs/DataView/DataTable.js +1 -1
  896. package/dist/esm/labs/DataView/DataTable.js.map +1 -1
  897. package/dist/esm/labs/DataView/DataView.js +1 -1
  898. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  899. package/dist/esm/labs/DataView/DetailPanel.js +1 -1
  900. package/dist/esm/labs/DataView/DetailPanel.js.map +1 -1
  901. package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
  902. package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
  903. package/dist/esm/labs/DataView/RowActions.js +1 -1
  904. package/dist/esm/labs/DataView/RowActions.js.map +1 -1
  905. package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
  906. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  907. package/dist/esm/labs/DataView/TableSettings.js +1 -1
  908. package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
  909. package/dist/esm/labs/DatePickers/DateTimeField.js +4 -2
  910. package/dist/esm/labs/DatePickers/DateTimeField.js.map +1 -1
  911. package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
  912. package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
  913. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +2 -1
  914. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js.map +1 -1
  915. package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
  916. package/dist/esm/labs/OdysseyPickers/Picker.js.map +1 -1
  917. package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
  918. package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js.map +1 -1
  919. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
  920. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
  921. package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
  922. package/dist/esm/labs/OdysseyPickers/SearchDropdown.js.map +1 -1
  923. package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
  924. package/dist/esm/labs/PageTemplate/DocumentationLink.js.map +1 -1
  925. package/dist/esm/labs/PageTemplate/Layout.js +1 -1
  926. package/dist/esm/labs/PageTemplate/Layout.js.map +1 -1
  927. package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
  928. package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
  929. package/dist/esm/labs/PaginatedTable.js +1 -1
  930. package/dist/esm/labs/PaginatedTable.js.map +1 -1
  931. package/dist/esm/labs/StaticTable.js +1 -1
  932. package/dist/esm/labs/StaticTable.js.map +1 -1
  933. package/dist/esm/labs/UserProfile.js +1 -1
  934. package/dist/esm/labs/UserProfile.js.map +1 -1
  935. package/dist/esm/labs/UserProfileMenuButton.js +1 -1
  936. package/dist/esm/labs/UserProfileMenuButton.js.map +1 -1
  937. package/dist/esm/properties/ts/odyssey-react-mui_cs.js +2 -0
  938. package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  939. package/dist/esm/properties/ts/odyssey-react-mui_da.js +2 -0
  940. package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
  941. package/dist/esm/properties/ts/odyssey-react-mui_de.js +2 -0
  942. package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
  943. package/dist/esm/properties/ts/odyssey-react-mui_el.js +2 -0
  944. package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
  945. package/dist/esm/properties/ts/odyssey-react-mui_es.js +2 -0
  946. package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
  947. package/dist/esm/properties/ts/odyssey-react-mui_eu.js +2 -0
  948. package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -1
  949. package/dist/esm/properties/ts/odyssey-react-mui_fi.js +2 -0
  950. package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  951. package/dist/esm/properties/ts/odyssey-react-mui_fr.js +7 -5
  952. package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  953. package/dist/esm/properties/ts/odyssey-react-mui_ht.js +2 -0
  954. package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  955. package/dist/esm/properties/ts/odyssey-react-mui_hu.js +2 -0
  956. package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  957. package/dist/esm/properties/ts/odyssey-react-mui_id.js +2 -0
  958. package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
  959. package/dist/esm/properties/ts/odyssey-react-mui_it.js +2 -0
  960. package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
  961. package/dist/esm/properties/ts/odyssey-react-mui_ja.js +2 -0
  962. package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  963. package/dist/esm/properties/ts/odyssey-react-mui_ko.js +3 -1
  964. package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  965. package/dist/esm/properties/ts/odyssey-react-mui_ms.js +2 -0
  966. package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  967. package/dist/esm/properties/ts/odyssey-react-mui_nb.js +2 -0
  968. package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  969. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +2 -0
  970. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  971. package/dist/esm/properties/ts/odyssey-react-mui_pl.js +2 -0
  972. package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  973. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +2 -0
  974. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  975. package/dist/esm/properties/ts/odyssey-react-mui_ro.js +2 -0
  976. package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  977. package/dist/esm/properties/ts/odyssey-react-mui_ru.js +2 -0
  978. package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  979. package/dist/esm/properties/ts/odyssey-react-mui_sv.js +2 -0
  980. package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  981. package/dist/esm/properties/ts/odyssey-react-mui_th.js +2 -0
  982. package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
  983. package/dist/esm/properties/ts/odyssey-react-mui_tr.js +2 -0
  984. package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  985. package/dist/esm/properties/ts/odyssey-react-mui_uk.js +2 -0
  986. package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  987. package/dist/esm/properties/ts/odyssey-react-mui_vi.js +2 -0
  988. package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  989. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +2 -0
  990. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  991. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +2 -0
  992. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  993. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
  994. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js.map +1 -1
  995. package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
  996. package/dist/esm/ui-shell/InnerAppContainer.js.map +1 -1
  997. package/dist/esm/ui-shell/NarrowUiShellContent.js +1 -1
  998. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
  999. package/dist/esm/ui-shell/SideNav/NavAccordion.js +1 -1
  1000. package/dist/esm/ui-shell/SideNav/NavAccordion.js.map +1 -1
  1001. package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
  1002. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  1003. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
  1004. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js.map +1 -1
  1005. package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
  1006. package/dist/esm/ui-shell/SideNav/SideNavHeader.js.map +1 -1
  1007. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
  1008. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
  1009. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
  1010. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
  1011. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
  1012. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js.map +1 -1
  1013. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -1
  1014. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
  1015. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
  1016. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js.map +1 -1
  1017. package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
  1018. package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
  1019. package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
  1020. package/dist/esm/ui-shell/TopNav/TopNavLinksList.js.map +1 -1
  1021. package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
  1022. package/dist/esm/ui-shell/TopNav/TopNavListItem.js.map +1 -1
  1023. package/dist/esm/ui-shell/UiShell.js +1 -1
  1024. package/dist/esm/ui-shell/UiShell.js.map +1 -1
  1025. package/dist/esm/ui-shell/UiShellLogo.js +1 -1
  1026. package/dist/esm/ui-shell/UiShellLogo.js.map +1 -1
  1027. package/dist/esm/ui-shell/WideUiShellContent.js +1 -1
  1028. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  1029. package/dist/esm/useAutocomplete.js +4 -1
  1030. package/dist/esm/useAutocomplete.js.map +1 -1
  1031. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  1032. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  1033. package/dist/tsconfig.production.tsbuildinfo +1 -1
  1034. package/dist/types/Autocomplete.d.ts.map +1 -1
  1035. package/dist/types/DatePickers/DateField.d.ts.map +1 -1
  1036. package/dist/types/PasswordField.d.ts.map +1 -1
  1037. package/dist/types/Select.d.ts.map +1 -1
  1038. package/dist/types/Switch.d.ts.map +1 -1
  1039. package/dist/types/TextField.d.ts +24 -0
  1040. package/dist/types/TextField.d.ts.map +1 -1
  1041. package/dist/types/i18n.generated/i18n.resources.d.ts +62 -6
  1042. package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
  1043. package/dist/types/labs/DatePickers/DateTimeField.d.ts.map +1 -1
  1044. package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -1
  1045. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
  1046. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  1047. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +2 -0
  1048. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  1049. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +2 -0
  1050. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  1051. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +2 -0
  1052. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  1053. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +2 -0
  1054. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  1055. package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts +2 -0
  1056. package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -1
  1057. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
  1058. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  1059. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +7 -5
  1060. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  1061. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +2 -0
  1062. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  1063. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
  1064. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  1065. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +2 -0
  1066. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  1067. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +2 -0
  1068. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  1069. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
  1070. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  1071. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +3 -1
  1072. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  1073. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
  1074. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  1075. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
  1076. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  1077. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +2 -0
  1078. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  1079. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
  1080. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  1081. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +2 -0
  1082. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  1083. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
  1084. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  1085. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
  1086. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  1087. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
  1088. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  1089. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +2 -0
  1090. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  1091. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
  1092. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  1093. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
  1094. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  1095. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +2 -0
  1096. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  1097. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +2 -0
  1098. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  1099. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +2 -0
  1100. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  1101. package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
  1102. package/dist/types/useAutocomplete.d.ts +2 -2
  1103. package/dist/types/useAutocomplete.d.ts.map +1 -1
  1104. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  1105. package/package.json +8 -7
  1106. package/CHANGELOG.md +0 -63
  1107. package/dist/index.cjs +0 -231
  1108. package/dist/index.d.ts +0 -233
  1109. package/dist/index.d.ts.map +0 -1
  1110. package/dist/index.es.js +0 -3173
  1111. package/dist/index.es.js.map +0 -1
  1112. package/dist/index.iife.js +0 -9
  1113. package/dist/index.iife.js.map +0 -1
  1114. package/dist/index.js +0 -25
  1115. package/dist/index.mjs +0 -229
  1116. package/dist/index.scss +0 -549
  1117. package/dist/index.umd.cjs +0 -9
  1118. package/dist/index.umd.cjs.map +0 -1
  1119. package/dist/tsconfig.tsbuildinfo +0 -1
  1120. package/dist/types/getTranslationServices.browser.test.d.ts +0 -1
  1121. package/dist/types/getTranslationServices.browser.test.js +0 -88
  1122. package/dist/types/getTranslationServices.browser.test.js.map +0 -1
  1123. package/dist/types/getTranslationServices.d.ts +0 -89
  1124. package/dist/types/getTranslationServices.js +0 -77
  1125. package/dist/types/getTranslationServices.js.map +0 -1
  1126. package/dist/types/getTypedObjectEntries.d.ts +0 -1
  1127. package/dist/types/getTypedObjectEntries.js +0 -2
  1128. package/dist/types/getTypedObjectEntries.js.map +0 -1
  1129. package/dist/types/index.js +0 -3
  1130. package/dist/types/index.js.map +0 -1
  1131. package/dist/types/translationServices.types.d.ts +0 -2
  1132. package/dist/types/translationServices.types.js +0 -34
  1133. package/dist/types/translationServices.types.js.map +0 -1
  1134. package/dist/types/tsconfig.tsbuildinfo +0 -1
  1135. package/ok.yaml +0 -1
  1136. package/src/getTranslationServices.browser.test.tsx +0 -173
  1137. package/src/getTranslationServices.tsx +0 -288
  1138. package/src/getTypedObjectEntries.ts +0 -3
  1139. package/src/index.ts +0 -2
  1140. package/src/translationServices.types.ts +0 -36
  1141. package/src/tsconfig.json +0 -7
  1142. package/tsconfig.json +0 -41
  1143. package/vite.config.project.ts +0 -61
  1144. package/vite.config.ts +0 -21
  1145. package/vite.config.ts.bak +0 -33
  1146. package/vitest-browser-setup.ts +0 -14
  1147. package/vitest-jsdom-setup.ts +0 -13
  1148. package/vitest-node-setup.ts +0 -13
  1149. package/vitest.config.project.ts +0 -16
  1150. package/vitest.config.ts +0 -27
  1151. package/vitest.config.ts.bak +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"SideNav.js","names":["arrayMove","styled","memo","useCallback","useEffect","useMemo","useRef","useState","ErrorBoundary","useTranslation","useOdysseyDesignTokens","OdysseyThemeProvider","Overline","useUiShellContext","useMountLifecycleEffect","SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","SIDE_NAV_WIDTH","UI_SHELL_BASE_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","useElementAtContainerEdge","NavAccordion","SideNavFooterContent","SideNavHeader","SideNavItemContent","StyledSideNavListItem","SideNavItemContentContext","SideNavSortableList","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","SIDE_NAV_TOGGLE_ICON_SIZE","SideNavToggleButton","useIsSideNavCollapsedSessionStorage","jsx","_jsx","jsxs","_jsxs","SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED","SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED","flattenNestedItems","items","flatMap","item","nestedNavItems","StyledCollapsibleContent","shouldForwardProp","prop","odysseyDesignTokens","isSideNavCollapsed","position","display","gridTemplateColumns","height","transition","TransitionDurationMain","transitionTimingFunction","TransitionTimingMain","overflow","opacity","StyledOpacityTransitionContainer","gridTemplateRows","StyledSideNavContainer","backgroundColor","hasNeighbouringContentAtInlineStart","isAppContentWhiteBackground","isSideNavToggleHighlighted","HueNeutralWhite","width","content","pointerEvents","right","BorderWidthMain","top","userSelect","zIndex","BorderColorPrimaryControl","HueNeutral100","HueNeutral200","transform","borderRightColor","borderRightStyle","BorderStyleMain","borderRightWidth","StyledSideNavToggleButtonContainer","StyledSideNavHeaderContainer","borderColor","hasContentScrolled","flexShrink","borderBottomWidth","borderBottomStyle","borderBottomColor","concat","StyledSideNavListContainer","padding","listStyle","listStyleType","margin","StyledSideNavScrollableContainer","hasBlockStartPadding","overflowY","paddingBlockStart","Spacing2","paddingInline","StyledSectionHeaderContainer","contrastFontColor","color","HueNeutral600","marginBlock","Spacing3","paddingBlock","Spacing1","Spacing4","StyledSideNavFooter","sideNavBackgroundColor","StyledPersistentSideNavFooter","isContentScrollable","transitionProperty","transitionDuration","transitionTiming","boxShadow","StyledSideNavFooterItemsContainer","sideNavContrastColors","flexWrap","alignItems","fontSize","TypographySizeOverline","fontColor","textDecoration","HueNeutral900","StyledLoadingItemContainer","gap","getHasScrollableContent","scrollableContainer","scrollHeight","clientHeight","LoadingItem","children","_Skeleton","variant","SideNav","appName","footerComponent","footerItems","hasCustomFooter","hasSessionStorageState","isCollapsible","isCollapsed","isCompact","isLoading","isObtrusive","logoProps","leavesPaddingStart","onCollapse","onExpand","onSort","sideNavItems","setHasContentScrolled","setIsContentScrollable","setIsSideNavToggleHighlighted","sideNavItemsList","updateSideNavItemsList","isSideNavCollapsedLocalState","setIsSideNavCollapsedLocalState","sessionState","isSideNavCollapsedSessionState","setSessionState","setIsSideNavCollapsedSessionState","setIsSideNavCollapsed","uiShellContext","t","scrollableContentRef","resizeObserverRef","intersectionObserverRef","sideNavRef","isAtContainerInlineStart","element","current","monitoringElement","parentElement","blankElement","onMount","onUpdate","updateIsContentScrollable","resizeObserverDebounceTimer","ResizeObserver","cancelAnimationFrame","requestAnimationFrame","observe","IntersectionObserver","entries","isIntersecting","slice","sort","a","b","time","at","root","threshold","ulElement","liElement","Array","from","disconnect","scrollIntoViewRef","firstSideNavItemIdWithIsSelected","flattenedItems","firstItemWithIsSelected","find","sideNavItem","isSelected","id","scrollIntoView","getRefIfThisIsFirstNodeWithIsSelected","itemId","undefined","setSelectedItem","selectedItemId","updateNestedSelection","map","updatedSideNavItems","closeSideNavMenu","createAccordionContextValue","depth","createLeafItemContextValue","isSortable","absolutePaddingStart","renderSideNavItem","href","isDefaultExpanded","isDisabled","isExpanded","isSectionHeader","label","startIcon","onChange","translate","fallback","component","length","nestedChildren","role","setSortedItems","parentId","processSideNavItems","sortableItem","navItem","onItemSelected","scrollRef","disabled","Provider","value","sideNavExpandClickHandler","sideNavExpandKeyHandler","event","key","code","preventDefault","unsubscribe","subscribeToCloseSideNavMenu","activeId","activeIndex","overIndex","sortedSideNavItems","onSideNavToggleButtonHighlight","isHighlighted","appBackgroundColor","ref","ariaControls","clickAreaPadding","onClick","onHighlight","onKeyDown","fill","_","index","MemoizedSideNav","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNav.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 { UniqueIdentifier } from \"@dnd-kit/core\";\nimport { arrayMove } from \"@dnd-kit/sortable\";\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport { Property } from \"csstype\";\nimport {\n CSSProperties,\n KeyboardEventHandler,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport type { SideNavItem, SideNavProps } from \"./types.js\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { OdysseyThemeProvider } from \"../../OdysseyThemeProvider.js\";\nimport { Overline } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport { useMountLifecycleEffect } from \"../../useMountLifecycleEffect.js\";\nimport {\n SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n SIDE_NAV_WIDTH,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\nimport { useElementAtContainerEdge } from \"../useElementAtContainerEdge.js\";\nimport { NavAccordion } from \"./NavAccordion.js\";\nimport { SideNavFooterContent } from \"./SideNavFooterContent.js\";\nimport { SideNavHeader } from \"./SideNavHeader.js\";\nimport {\n SideNavItemContent,\n StyledSideNavListItem,\n} from \"./SideNavItemContent.js\";\nimport { SideNavItemContentContext } from \"./SideNavItemContentContext.js\";\nimport { SideNavSortableList } from \"./SideNavSortableList.js\";\nimport {\n SIDE_NAV_TOGGLE_ICON_HALF_SIZE,\n SIDE_NAV_TOGGLE_ICON_SIZE,\n SideNavToggleButton,\n SideNavToggleButtonProps,\n} from \"./SideNavToggleButton.js\";\nimport { BaseItem } from \"./SortableList/SortableList.js\";\nimport { useIsSideNavCollapsedSessionStorage } from \"./useIsSideNavCollapsedSessionStorage.js\";\n\nconst SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED = 12;\nconst SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED = 2;\n\nconst flattenNestedItems = (items: SideNavItem[]): SideNavItem[] => {\n return items.flatMap((item) => {\n if (item.nestedNavItems) {\n return [item, ...flattenNestedItems(item.nestedNavItems)];\n }\n return item;\n });\n};\n\nconst StyledCollapsibleContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isSideNavCollapsed }) => ({\n position: \"relative\",\n display: \"grid\",\n gridTemplateColumns: SIDE_NAV_WIDTH,\n height: \"100%\",\n transition: `grid-template-columns ${odysseyDesignTokens.TransitionDurationMain}, opacity 300ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n gridTemplateColumns: 0,\n opacity: 0,\n } satisfies CSSProperties)),\n}));\n\nconst StyledOpacityTransitionContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n }) => ({\n display: \"grid\",\n gridTemplateRows: \"max-content 1fr max-content\",\n height: \"100%\",\n transition: `opacity 50ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n opacity: 0,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavContainer = styled(\"nav\", {\n shouldForwardProp: (prop) =>\n prop !== \"backgroundColor\" &&\n prop !== \"hasNeighbouringContentAtInlineStart\" &&\n prop !== \"isAppContentWhiteBackground\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n backgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n hasNeighbouringContentAtInlineStart: boolean;\n isAppContentWhiteBackground: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n backgroundColor,\n hasNeighbouringContentAtInlineStart,\n isAppContentWhiteBackground,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n // Side nav container styles\n backgroundColor: backgroundColor || odysseyDesignTokens.HueNeutralWhite,\n height: \"100%\",\n position: \"relative\",\n width: \"fit-content\",\n\n // Right-side vertical line shared\n \"&::before, &::after\": {\n content: \"''\",\n height: \"100%\",\n pointerEvents: \"none\",\n position: \"absolute\",\n right: `-${odysseyDesignTokens.BorderWidthMain}`,\n top: 0,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}, transform ${odysseyDesignTokens.TransitionDurationMain}, width ${odysseyDesignTokens.TransitionDurationMain}`,\n userSelect: \"none\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n },\n\n // Right-side vertical line when open\n \"&::before\": {\n backgroundColor: isSideNavToggleHighlighted\n ? odysseyDesignTokens.BorderColorPrimaryControl\n : odysseyDesignTokens.HueNeutral100,\n opacity:\n isAppContentWhiteBackground ||\n (!isSideNavCollapsed && isSideNavToggleHighlighted)\n ? 1\n : 0,\n width: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n },\n\n // Side nav vertical fill line when no neighboring content\n \"&::after\": {\n backgroundColor: odysseyDesignTokens.HueNeutral200,\n opacity: isSideNavCollapsed ? 1 : 0,\n transform:\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? isSideNavToggleHighlighted\n ? `translateX(calc(100% - (${odysseyDesignTokens.BorderWidthMain} * 2)))`\n : `translateX(calc(100% - ${SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px))`\n : \"translateX(0)\",\n width: hasNeighbouringContentAtInlineStart\n ? 0\n : `calc(${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px + ${odysseyDesignTokens.BorderWidthMain} * 2)`,\n\n // Right-side vertical line when collapsed\n ...((isSideNavCollapsed && isSideNavToggleHighlighted\n ? {\n borderRightColor: odysseyDesignTokens.BorderColorPrimaryControl,\n borderRightStyle:\n odysseyDesignTokens.BorderStyleMain as Property.BorderRightStyle,\n borderRightWidth: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n }\n : {}) satisfies CSSProperties),\n },\n }),\n);\n\nconst StyledSideNavToggleButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"hasNeighbouringContentAtInlineStart\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n hasNeighbouringContentAtInlineStart: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n hasNeighbouringContentAtInlineStart,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n position: \"absolute\",\n right: `${SIDE_NAV_TOGGLE_ICON_HALF_SIZE}px`,\n top: SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n width: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n transform:\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? isSideNavToggleHighlighted\n ? `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px), 0, 0)`\n : `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED}px), 0, 0)`\n : \"translate3d(100%, 0, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX + 1,\n }),\n);\n\nconst StyledSideNavHeaderContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"borderColor\" &&\n prop !== \"hasContentScrolled\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n borderColor: ContrastColors[\"fontColor\"];\n hasContentScrolled: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ borderColor, hasContentScrolled, odysseyDesignTokens }) => ({\n flexShrink: 0,\n // The bottom border should appear only if the scrollable region has been scrolled\n ...(hasContentScrolled &&\n ({\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n\n ...(borderColor &&\n ({\n borderBottomColor: borderColor.concat(\"15\"),\n } satisfies CSSProperties)),\n } as CSSProperties)),\n}));\n\nconst StyledSideNavListContainer = styled(\"ul\")(() => ({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n margin: 0,\n width: \"100%\",\n}));\n\nconst StyledSideNavScrollableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasBlockStartPadding\",\n})<{ hasBlockStartPadding?: boolean; odysseyDesignTokens: DesignTokens }>(\n ({ odysseyDesignTokens, hasBlockStartPadding }) => ({\n display: \"inline-grid\",\n gridTemplateRows: \"1fr max-content\",\n overflowY: \"auto\",\n paddingBlockStart: hasBlockStartPadding ? odysseyDesignTokens.Spacing2 : 0,\n paddingInline: odysseyDesignTokens.Spacing2,\n }),\n);\n\nconst StyledSectionHeaderContainer = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n color: contrastFontColor || odysseyDesignTokens.HueNeutral600,\n marginBlock: `${odysseyDesignTokens.Spacing3}`,\n paddingBlock: odysseyDesignTokens.Spacing1,\n paddingInline: odysseyDesignTokens.Spacing4,\n }),\n);\n\nconst StyledSideNavFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavBackgroundColor\",\n})(\n ({\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n flexShrink: 0,\n padding: odysseyDesignTokens.Spacing4,\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledPersistentSideNavFooter = styled(StyledSideNavFooter, {\n shouldForwardProp: (prop) =>\n prop !== \"isContentScrollable\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavBackgroundColor\",\n})(\n ({\n isContentScrollable,\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n isContentScrollable: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n transitionProperty: \"box-shadow\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTiming: odysseyDesignTokens.TransitionTimingMain,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n\n // The box shadow should appear above the footer only if the scrollable region has overflow\n ...(isContentScrollable &&\n ({\n boxShadow: \"0px -8px 8px -8px rgba(39, 39, 39, 0.08)\",\n } satisfies CSSProperties)),\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavFooterItemsContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavContrastColors\",\n})<{\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n\n \"a, span\": {\n color: odysseyDesignTokens.HueNeutral600,\n transition: `color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n \"&:visited\": {\n color: odysseyDesignTokens.HueNeutral600,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n \"&:hover\": {\n textDecoration: \"none\",\n color: odysseyDesignTokens.HueNeutral900,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n}));\n\nconst StyledLoadingItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing4,\n}));\n\nconst getHasScrollableContent = (scrollableContainer: HTMLElement) =>\n scrollableContainer.scrollHeight > scrollableContainer.clientHeight;\n\nconst LoadingItem = () => {\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n return (\n <StyledLoadingItemContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Skeleton\n height={odysseyDesignTokens.Spacing4}\n variant=\"circular\"\n width={odysseyDesignTokens.Spacing4}\n />\n <Skeleton variant=\"rounded\" width=\"100%\" />\n </StyledLoadingItemContainer>\n );\n};\n\nconst SideNav = ({\n appName,\n footerComponent,\n footerItems,\n hasCustomFooter,\n hasSessionStorageState,\n isCollapsible,\n isCollapsed = false,\n isCompact,\n isLoading,\n isObtrusive,\n logoProps,\n leavesPaddingStart,\n onCollapse,\n onExpand,\n onSort,\n sideNavItems,\n}: SideNavProps) => {\n const [hasContentScrolled, setHasContentScrolled] = useState(false);\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const [isSideNavToggleHighlighted, setIsSideNavToggleHighlighted] =\n useState(false);\n const [sideNavItemsList, updateSideNavItemsList] = useState(\n sideNavItems || [],\n );\n\n const [isSideNavCollapsedLocalState, setIsSideNavCollapsedLocalState] =\n useState(isCollapsed);\n\n const {\n sessionState: isSideNavCollapsedSessionState,\n setSessionState: setIsSideNavCollapsedSessionState,\n } = useIsSideNavCollapsedSessionStorage(isCollapsed);\n\n const isSideNavCollapsed = hasSessionStorageState\n ? isSideNavCollapsedSessionState\n : isSideNavCollapsedLocalState;\n const setIsSideNavCollapsed = hasSessionStorageState\n ? setIsSideNavCollapsedSessionState\n : setIsSideNavCollapsedLocalState;\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const scrollableContentRef = useRef<HTMLUListElement>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const intersectionObserverRef = useRef<IntersectionObserver | null>(null);\n const sideNavRef = useRef<HTMLDivElement>(null);\n\n const { isAtContainerInlineStart } = useElementAtContainerEdge({\n element: sideNavRef.current,\n monitoringElement: sideNavRef.current?.parentElement?.parentElement,\n });\n\n const hasNeighbouringContentAtInlineStart = !isAtContainerInlineStart;\n\n const blankElement = useMemo(() => <div />, []);\n\n // The default value (sideNavItems) passed to useState is ONLY used by the useState hook for\n // the very first value. Subsequent updates to the prop (sideNavItems) need to cause the state\n // to update!\n useEffect(() => updateSideNavItemsList(sideNavItems || []), [sideNavItems]);\n\n // In the case that you can't control the side nav, then it should use whatever state was passed (app control) rather than what's stored in session storage (user control).\n const onMount = useCallback(() => {\n if (!isCollapsible) {\n setIsSideNavCollapsed(isCollapsed);\n }\n }, [isCollapsed, isCollapsible, setIsSideNavCollapsed]);\n\n const onUpdate = useCallback(() => {\n setIsSideNavCollapsed(isCollapsed);\n }, [isCollapsed, setIsSideNavCollapsed]);\n\n useMountLifecycleEffect({\n onMount,\n onUpdate,\n });\n\n useEffect(() => {\n // This is called directly in this effect AND perhaps as a result of the ResizeObserver\n const updateIsContentScrollable = () => {\n if (\n scrollableContentRef.current &&\n scrollableContentRef.current.parentElement\n ) {\n setIsContentScrollable(\n getHasScrollableContent(scrollableContentRef.current.parentElement),\n );\n }\n };\n\n // If the window is resized, we may need to re-determine if the scrollable container has overflow\n // Setup a ResizeObserver to know if the size of the scrollableContent changes\n let resizeObserverDebounceTimer: ReturnType<typeof requestAnimationFrame>;\n if (!resizeObserverRef.current) {\n resizeObserverRef.current = new ResizeObserver(() => {\n cancelAnimationFrame(resizeObserverDebounceTimer);\n resizeObserverDebounceTimer = requestAnimationFrame(\n updateIsContentScrollable,\n );\n });\n }\n\n if (resizeObserverRef.current && scrollableContentRef.current) {\n // Observe the <ul> itself (in case it changes size due to the content expanding)\n resizeObserverRef.current.observe(scrollableContentRef.current);\n if (scrollableContentRef.current.parentElement) {\n // ALSO observe the parent (<SideNavScrollableContainer>) in case the window resizes\n resizeObserverRef.current.observe(\n scrollableContentRef.current.parentElement,\n );\n }\n }\n\n // Determine if the scrollable container has overflow or not on load\n updateIsContentScrollable();\n\n // Finally, we only want to have the border on the bottom of the header iff the user has scrolled\n // the scrollable container\n if (!intersectionObserverRef.current && scrollableContentRef.current) {\n intersectionObserverRef.current = new IntersectionObserver(\n (entries) => {\n // If isIntersecting is true, then we're at the top of the scroll container\n // If isIntersecting is false, some scrolling has occurred.\n // The entries must be sorted by time and we only really need to look at the latest one\n const isIntersecting = entries\n .slice()\n .sort((a, b) => a.time - b.time)\n .at(0)?.isIntersecting;\n setHasContentScrolled(!isIntersecting);\n },\n {\n root: scrollableContentRef.current.parentElement,\n threshold: 1.0,\n },\n );\n }\n\n if (intersectionObserverRef.current && scrollableContentRef.current) {\n const ulElement = scrollableContentRef.current;\n const [liElement] = Array.from(ulElement?.children || []);\n\n if (liElement) {\n intersectionObserverRef.current.observe(liElement);\n }\n }\n\n // Cleanup when unmounted:\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n if (intersectionObserverRef.current) {\n intersectionObserverRef.current.disconnect();\n intersectionObserverRef.current = null;\n }\n cancelAnimationFrame(resizeObserverDebounceTimer); // Ensure timer is cleared on component unmount\n };\n }, [sideNavItemsList]);\n\n const scrollIntoViewRef = useRef<HTMLLIElement>(null);\n /**\n * Look through the sideNavItems and determine which is the first node\n * with isSelected. This should be the node we set a ref on in order to\n * call scrollIntoView in the effect\n */\n const firstSideNavItemIdWithIsSelected = useMemo(() => {\n const flattenedItems = flattenNestedItems(sideNavItemsList);\n const firstItemWithIsSelected = flattenedItems.find(\n (sideNavItem) => sideNavItem.isSelected,\n );\n return firstItemWithIsSelected?.id;\n }, [sideNavItemsList]);\n /**\n * Once we've rendered and if we have an item to scroll to, do the scroll action.\n * This must rely on checking firstSideNavItemIdWithIsSelected or it will not run\n * once the actual ref is populated.\n */\n useEffect(() => {\n if (firstSideNavItemIdWithIsSelected && scrollIntoViewRef.current) {\n scrollIntoViewRef.current.scrollIntoView();\n }\n }, [firstSideNavItemIdWithIsSelected]);\n\n /**\n * We only want to put a ref on a node iff it is the first selected node.\n * This function returns the ref only if the ID provided matches the first\n * selected node, otherwise returns undefined (so that the node has no ref)\n */\n const getRefIfThisIsFirstNodeWithIsSelected = useCallback(\n (itemId: string) =>\n itemId === firstSideNavItemIdWithIsSelected\n ? scrollIntoViewRef\n : undefined,\n [firstSideNavItemIdWithIsSelected],\n );\n\n const setSelectedItem = useCallback(\n (selectedItemId: string) => {\n // Recursive function to update nested items\n const updateNestedSelection = (items: SideNavItem[]): SideNavItem[] => {\n return items.map((item) => {\n if (item.nestedNavItems) {\n return {\n ...item,\n isSelected: item.id === selectedItemId,\n nestedNavItems: updateNestedSelection(item.nestedNavItems),\n };\n }\n\n return {\n ...item,\n isSelected: item.id === selectedItemId,\n };\n });\n };\n\n const updatedSideNavItems = updateNestedSelection(sideNavItemsList);\n updateSideNavItemsList(updatedSideNavItems);\n\n if (isCollapsed || isObtrusive) {\n if (isCollapsible) {\n uiShellContext?.closeSideNavMenu();\n } else {\n onCollapse?.();\n }\n }\n },\n [\n isCollapsed,\n isCollapsible,\n isObtrusive,\n onCollapse,\n sideNavItemsList,\n uiShellContext,\n ],\n );\n\n const createAccordionContextValue = useCallback(\n (depth: number) => ({\n depth,\n }),\n [],\n );\n\n const createLeafItemContextValue = useCallback(\n (depth: number, isSortable?: boolean) => ({\n isCompact,\n depth,\n isSortable,\n absolutePaddingStart: leavesPaddingStart,\n }),\n [isCompact, leavesPaddingStart],\n );\n\n const renderSideNavItem = (item: SideNavItem, depth: number = 1) => {\n const {\n href,\n id,\n isDefaultExpanded,\n isDisabled,\n isExpanded,\n isSectionHeader,\n label,\n startIcon,\n nestedNavItems,\n onChange,\n isSortable,\n translate,\n } = item;\n\n if (isSectionHeader) {\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSectionHeaderContainer\n contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Overline component=\"h3\">{label}</Overline>\n </StyledSectionHeaderContainer>\n </ErrorBoundary>\n );\n } else if (nestedNavItems && nestedNavItems.length > 0) {\n // Recursive case: item has nested children - ALWAYS render as accordion\n const nestedChildren = (\n <StyledSideNavListContainer role=\"presentation\">\n {isSortable ? (\n <SideNavSortableList\n depth={depth + 1}\n items={nestedNavItems}\n onChange={setSortedItems}\n parentId={item.id}\n processSideNavItems={processSideNavItems}\n />\n ) : (\n processSideNavItems(nestedNavItems, depth + 1).map(\n (item) => item.sortableItem.navItem,\n )\n )}\n </StyledSideNavListContainer>\n );\n\n return href ? (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContent\n {...item}\n href={href}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(item.id)}\n startIcon={item.startIcon}\n />\n\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={`${id}-items`}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {nestedChildren}\n </StyledSideNavListItem>\n </ErrorBoundary>\n ) : (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavItemContentContext.Provider\n key={id}\n value={createAccordionContextValue(depth)}\n >\n <NavAccordion\n isCompact={isCompact}\n isDefaultExpanded={isDefaultExpanded}\n isDisabled={isDisabled}\n isExpanded={isExpanded}\n label={label}\n onChange={onChange}\n startIcon={startIcon}\n >\n {nestedChildren}\n </NavAccordion>\n </SideNavItemContentContext.Provider>\n </StyledSideNavListItem>\n </ErrorBoundary>\n );\n } else {\n // Base case: leaf item with no children\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContentContext.Provider\n key={id}\n value={createLeafItemContextValue(depth, isSortable)}\n >\n <SideNavItemContent\n {...item}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(id)}\n startIcon={startIcon}\n translate={translate}\n />\n </SideNavItemContentContext.Provider>\n </ErrorBoundary>\n );\n }\n };\n\n const processSideNavItems = (\n items: SideNavItem[],\n depth: number = 1,\n ): (SideNavItem & { sortableItem: BaseItem })[] => {\n return items?.map((item) => ({\n ...item,\n sortableItem: {\n id: item.id,\n isSelected: item.isSelected,\n isDisabled: item.isDisabled,\n isSortable: item.isSortable,\n navItem: renderSideNavItem(item, depth),\n },\n }));\n };\n\n const sideNavExpandClickHandler = useCallback(() => {\n setIsSideNavCollapsed((isSideNavCollapsed) => {\n if (isSideNavCollapsed) {\n onExpand?.();\n } else {\n onCollapse?.();\n }\n\n return !isSideNavCollapsed;\n });\n }, [onCollapse, onExpand, setIsSideNavCollapsed]);\n\n const sideNavExpandKeyHandler = useCallback<\n KeyboardEventHandler<HTMLButtonElement>\n >(\n (event) => {\n if (event?.key === \"Enter\" || event?.code === \"Space\") {\n event.preventDefault();\n sideNavExpandClickHandler();\n }\n },\n [sideNavExpandClickHandler],\n );\n\n useEffect(() => {\n const unsubscribe = uiShellContext?.subscribeToCloseSideNavMenu(() => {\n onCollapse?.();\n setIsSideNavCollapsed(true);\n });\n\n return () => {\n unsubscribe?.();\n };\n }, [onCollapse, setIsSideNavCollapsed, uiShellContext]);\n\n const setSortedItems = useCallback(\n (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => {\n const sortedSideNavItems = sideNavItemsList.map((item) =>\n item.id === parentId && item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: arrayMove(\n item.nestedNavItems,\n activeIndex,\n overIndex,\n ),\n }\n : item,\n );\n updateSideNavItemsList(sortedSideNavItems);\n onSort?.(sortedSideNavItems, parentId, activeId, activeIndex, overIndex);\n },\n [onSort, sideNavItemsList],\n );\n\n const onSideNavToggleButtonHighlight = useCallback<\n NonNullable<SideNavToggleButtonProps[\"onHighlight\"]>\n >((isHighlighted) => {\n setIsSideNavToggleHighlighted(isHighlighted);\n }, []);\n\n return (\n <StyledSideNavContainer\n aria-label={t(\"navigation.label\")}\n backgroundColor={uiShellContext?.sideNavBackgroundColor}\n hasNeighbouringContentAtInlineStart={hasNeighbouringContentAtInlineStart}\n id=\"side-nav-expandable\"\n isAppContentWhiteBackground={\n uiShellContext?.appBackgroundColor ===\n odysseyDesignTokens.HueNeutralWhite\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={sideNavRef}\n >\n {isCollapsible && (\n <StyledSideNavToggleButtonContainer\n hasNeighbouringContentAtInlineStart={\n hasNeighbouringContentAtInlineStart\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavToggleButton\n ariaControls=\"side-nav-expandable\"\n clickAreaPadding={\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? SIDE_NAV_TOGGLE_ICON_SIZE / 2\n : 0\n }\n isSideNavCollapsed={isSideNavCollapsed}\n onClick={sideNavExpandClickHandler}\n onHighlight={onSideNavToggleButtonHighlight}\n onKeyDown={sideNavExpandKeyHandler}\n />\n </StyledSideNavToggleButtonContainer>\n )}\n\n <OdysseyThemeProvider>\n <StyledCollapsibleContent\n data-se=\"collapsible-region\"\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledOpacityTransitionContainer\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {appName || isLoading || logoProps ? (\n <StyledSideNavHeaderContainer\n borderColor={uiShellContext?.sideNavContrastColors?.fontColor}\n hasContentScrolled={hasContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {isLoading && !appName && !logoProps ? (\n <SideNavHeader isLoading={isLoading} />\n ) : (\n <SideNavHeader\n appName={appName}\n isLoading={isLoading}\n logoProps={logoProps}\n />\n )}\n </StyledSideNavHeaderContainer>\n ) : (\n <div />\n )}\n\n <StyledSideNavScrollableContainer\n data-se=\"scrollable-region\"\n hasBlockStartPadding={!appName}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavListContainer\n ref={scrollableContentRef}\n role=\"none\"\n >\n {isLoading\n ? Array(6)\n .fill(null)\n .map((_, index) => <LoadingItem key={index} />)\n : processSideNavItems(sideNavItemsList).map(\n (item) => item.sortableItem.navItem,\n )}\n </StyledSideNavListContainer>\n {!isLoading && footerItems && !hasCustomFooter && (\n <StyledSideNavFooter\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={\n uiShellContext?.sideNavBackgroundColor\n }\n >\n <StyledSideNavFooterItemsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={\n uiShellContext?.sideNavContrastColors\n }\n >\n <SideNavFooterContent footerItems={footerItems} />\n </StyledSideNavFooterItemsContainer>\n </StyledSideNavFooter>\n )}\n </StyledSideNavScrollableContainer>\n {!isLoading && !footerItems && hasCustomFooter && (\n <StyledPersistentSideNavFooter\n isContentScrollable={isContentScrollable}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n {footerComponent}\n </StyledPersistentSideNavFooter>\n )}\n </StyledOpacityTransitionContainer>\n </StyledCollapsibleContent>\n </OdysseyThemeProvider>\n </StyledSideNavContainer>\n );\n};\n\nconst MemoizedSideNav = memo(SideNav);\nMemoizedSideNav.displayName = \"SideNav\";\n\nexport { MemoizedSideNav as SideNav };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideNav.js","names":["arrayMove","styled","memo","useCallback","useEffect","useMemo","useRef","useState","ErrorBoundary","useTranslation","useOdysseyDesignTokens","OdysseyThemeProvider","Overline","useUiShellContext","useMountLifecycleEffect","SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","SIDE_NAV_WIDTH","UI_SHELL_BASE_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","useElementAtContainerEdge","NavAccordion","SideNavFooterContent","SideNavHeader","SideNavItemContent","StyledSideNavListItem","SideNavItemContentContext","SideNavSortableList","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","SIDE_NAV_TOGGLE_ICON_SIZE","SideNavToggleButton","useIsSideNavCollapsedSessionStorage","jsx","_jsx","jsxs","_jsxs","SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED","SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED","flattenNestedItems","items","flatMap","item","nestedNavItems","StyledCollapsibleContent","shouldForwardProp","prop","odysseyDesignTokens","isSideNavCollapsed","position","display","gridTemplateColumns","height","transition","TransitionDurationMain","transitionTimingFunction","TransitionTimingMain","overflow","opacity","StyledOpacityTransitionContainer","gridTemplateRows","StyledSideNavContainer","backgroundColor","hasNeighbouringContentAtInlineStart","isAppContentWhiteBackground","isSideNavToggleHighlighted","HueNeutralWhite","width","content","pointerEvents","right","BorderWidthMain","top","userSelect","zIndex","BorderColorPrimaryControl","HueNeutral100","HueNeutral200","transform","borderRightColor","borderRightStyle","BorderStyleMain","borderRightWidth","StyledSideNavToggleButtonContainer","StyledSideNavHeaderContainer","borderColor","hasContentScrolled","flexShrink","borderBottomWidth","borderBottomStyle","borderBottomColor","concat","StyledSideNavListContainer","padding","listStyle","listStyleType","margin","StyledSideNavScrollableContainer","hasBlockStartPadding","overflowY","paddingBlockStart","Spacing2","paddingInline","StyledSectionHeaderContainer","contrastFontColor","color","HueNeutral600","marginBlock","Spacing3","paddingBlock","Spacing1","Spacing4","StyledSideNavFooter","sideNavBackgroundColor","StyledPersistentSideNavFooter","isContentScrollable","transitionProperty","transitionDuration","transitionTiming","boxShadow","StyledSideNavFooterItemsContainer","sideNavContrastColors","flexWrap","alignItems","fontSize","TypographySizeOverline","fontColor","textDecoration","HueNeutral900","StyledLoadingItemContainer","gap","getHasScrollableContent","scrollableContainer","scrollHeight","clientHeight","LoadingItem","children","_Skeleton","variant","SideNav","appName","footerComponent","footerItems","hasCustomFooter","hasSessionStorageState","isCollapsible","isCollapsed","isCompact","isLoading","isObtrusive","logoProps","leavesPaddingStart","onCollapse","onExpand","onSort","sideNavItems","setHasContentScrolled","setIsContentScrollable","setIsSideNavToggleHighlighted","sideNavItemsList","updateSideNavItemsList","isSideNavCollapsedLocalState","setIsSideNavCollapsedLocalState","sessionState","isSideNavCollapsedSessionState","setSessionState","setIsSideNavCollapsedSessionState","setIsSideNavCollapsed","uiShellContext","t","scrollableContentRef","resizeObserverRef","intersectionObserverRef","sideNavRef","isAtContainerInlineStart","element","current","monitoringElement","parentElement","blankElement","onMount","onUpdate","updateIsContentScrollable","resizeObserverDebounceTimer","ResizeObserver","cancelAnimationFrame","requestAnimationFrame","observe","IntersectionObserver","entries","isIntersecting","slice","sort","a","b","time","at","root","threshold","ulElement","liElement","Array","from","disconnect","scrollIntoViewRef","firstSideNavItemIdWithIsSelected","flattenedItems","firstItemWithIsSelected","find","sideNavItem","isSelected","id","scrollIntoView","getRefIfThisIsFirstNodeWithIsSelected","itemId","undefined","setSelectedItem","selectedItemId","updateNestedSelection","map","updatedSideNavItems","closeSideNavMenu","createAccordionContextValue","depth","createLeafItemContextValue","isSortable","absolutePaddingStart","renderSideNavItem","href","isDefaultExpanded","isDisabled","isExpanded","isSectionHeader","label","startIcon","onChange","translate","fallback","component","length","nestedChildren","role","setSortedItems","parentId","processSideNavItems","sortableItem","navItem","onItemSelected","scrollRef","disabled","Provider","value","sideNavExpandClickHandler","sideNavExpandKeyHandler","event","key","code","preventDefault","unsubscribe","subscribeToCloseSideNavMenu","activeId","activeIndex","overIndex","sortedSideNavItems","onSideNavToggleButtonHighlight","isHighlighted","appBackgroundColor","ref","ariaControls","clickAreaPadding","onClick","onHighlight","onKeyDown","fill","_","index","MemoizedSideNav","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNav.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 { UniqueIdentifier } from \"@dnd-kit/core\";\nimport { arrayMove } from \"@dnd-kit/sortable\";\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport { Property } from \"csstype\";\nimport {\n CSSProperties,\n KeyboardEventHandler,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nimport type { SideNavItem, SideNavProps } from \"./types.js\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { OdysseyThemeProvider } from \"../../OdysseyThemeProvider.js\";\nimport { Overline } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport { useMountLifecycleEffect } from \"../../useMountLifecycleEffect.js\";\nimport {\n SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n SIDE_NAV_WIDTH,\n UI_SHELL_BASE_Z_INDEX,\n UI_SHELL_OVERLAY_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\nimport { useElementAtContainerEdge } from \"../useElementAtContainerEdge.js\";\nimport { NavAccordion } from \"./NavAccordion.js\";\nimport { SideNavFooterContent } from \"./SideNavFooterContent.js\";\nimport { SideNavHeader } from \"./SideNavHeader.js\";\nimport {\n SideNavItemContent,\n StyledSideNavListItem,\n} from \"./SideNavItemContent.js\";\nimport { SideNavItemContentContext } from \"./SideNavItemContentContext.js\";\nimport { SideNavSortableList } from \"./SideNavSortableList.js\";\nimport {\n SIDE_NAV_TOGGLE_ICON_HALF_SIZE,\n SIDE_NAV_TOGGLE_ICON_SIZE,\n SideNavToggleButton,\n SideNavToggleButtonProps,\n} from \"./SideNavToggleButton.js\";\nimport { BaseItem } from \"./SortableList/SortableList.js\";\nimport { useIsSideNavCollapsedSessionStorage } from \"./useIsSideNavCollapsedSessionStorage.js\";\n\nconst SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED = 12;\nconst SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED = 2;\n\nconst flattenNestedItems = (items: SideNavItem[]): SideNavItem[] => {\n return items.flatMap((item) => {\n if (item.nestedNavItems) {\n return [item, ...flattenNestedItems(item.nestedNavItems)];\n }\n return item;\n });\n};\n\nconst StyledCollapsibleContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isSideNavCollapsed }) => ({\n position: \"relative\",\n display: \"grid\",\n gridTemplateColumns: SIDE_NAV_WIDTH,\n height: \"100%\",\n transition: `grid-template-columns ${odysseyDesignTokens.TransitionDurationMain}, opacity 300ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n gridTemplateColumns: 0,\n opacity: 0,\n } satisfies CSSProperties)),\n}));\n\nconst StyledOpacityTransitionContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n }) => ({\n display: \"grid\",\n gridTemplateRows: \"max-content 1fr max-content\",\n height: \"100%\",\n transition: `opacity 50ms`,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n overflow: \"hidden\",\n\n ...(isSideNavCollapsed &&\n ({\n opacity: 0,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavContainer = styled(\"nav\", {\n shouldForwardProp: (prop) =>\n prop !== \"backgroundColor\" &&\n prop !== \"hasNeighbouringContentAtInlineStart\" &&\n prop !== \"isAppContentWhiteBackground\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n backgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n hasNeighbouringContentAtInlineStart: boolean;\n isAppContentWhiteBackground: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n backgroundColor,\n hasNeighbouringContentAtInlineStart,\n isAppContentWhiteBackground,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n // Side nav container styles\n backgroundColor: backgroundColor || odysseyDesignTokens.HueNeutralWhite,\n height: \"100%\",\n position: \"relative\",\n width: \"fit-content\",\n\n // Right-side vertical line shared\n \"&::before, &::after\": {\n content: \"''\",\n height: \"100%\",\n pointerEvents: \"none\",\n position: \"absolute\",\n right: `-${odysseyDesignTokens.BorderWidthMain}`,\n top: 0,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}, transform ${odysseyDesignTokens.TransitionDurationMain}, width ${odysseyDesignTokens.TransitionDurationMain}`,\n userSelect: \"none\",\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n },\n\n // Right-side vertical line when open\n \"&::before\": {\n backgroundColor: isSideNavToggleHighlighted\n ? odysseyDesignTokens.BorderColorPrimaryControl\n : odysseyDesignTokens.HueNeutral100,\n opacity:\n isAppContentWhiteBackground ||\n (!isSideNavCollapsed && isSideNavToggleHighlighted)\n ? 1\n : 0,\n width: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n },\n\n // Side nav vertical fill line when no neighboring content\n \"&::after\": {\n backgroundColor: odysseyDesignTokens.HueNeutral200,\n opacity: isSideNavCollapsed ? 1 : 0,\n transform:\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? isSideNavToggleHighlighted\n ? `translateX(calc(100% - (${odysseyDesignTokens.BorderWidthMain} * 2)))`\n : `translateX(calc(100% - ${SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px))`\n : \"translateX(0)\",\n width: hasNeighbouringContentAtInlineStart\n ? 0\n : `calc(${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px + ${odysseyDesignTokens.BorderWidthMain} * 2)`,\n\n // Right-side vertical line when collapsed\n ...((isSideNavCollapsed && isSideNavToggleHighlighted\n ? {\n borderRightColor: odysseyDesignTokens.BorderColorPrimaryControl,\n borderRightStyle:\n odysseyDesignTokens.BorderStyleMain as Property.BorderRightStyle,\n borderRightWidth: `calc(${odysseyDesignTokens.BorderWidthMain} * 2)`,\n }\n : {}) satisfies CSSProperties),\n },\n }),\n);\n\nconst StyledSideNavToggleButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"hasNeighbouringContentAtInlineStart\" &&\n prop !== \"isSideNavCollapsed\" &&\n prop !== \"isSideNavToggleHighlighted\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n hasNeighbouringContentAtInlineStart: boolean;\n isSideNavCollapsed: boolean;\n isSideNavToggleHighlighted: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n hasNeighbouringContentAtInlineStart,\n isSideNavCollapsed,\n isSideNavToggleHighlighted,\n odysseyDesignTokens,\n }) => ({\n position: \"absolute\",\n right: `${SIDE_NAV_TOGGLE_ICON_HALF_SIZE}px`,\n top: SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION,\n width: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n transform:\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? isSideNavToggleHighlighted\n ? `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_HIGHLIGHTED}px), 0, 0)`\n : `translate3d(calc(100% + ${SIDE_NAV_TOGGLE_ICON_HALF_SIZE + SIDE_NAV_COLLAPSED_PADDING_UNHIGHLIGHTED}px), 0, 0)`\n : \"translate3d(100%, 0, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX + 1,\n }),\n);\n\nconst StyledSideNavHeaderContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"borderColor\" &&\n prop !== \"hasContentScrolled\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n borderColor: ContrastColors[\"fontColor\"];\n hasContentScrolled: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ borderColor, hasContentScrolled, odysseyDesignTokens }) => ({\n flexShrink: 0,\n // The bottom border should appear only if the scrollable region has been scrolled\n ...(hasContentScrolled &&\n ({\n borderBottomWidth: odysseyDesignTokens.BorderWidthMain,\n borderBottomStyle: odysseyDesignTokens.BorderStyleMain,\n borderBottomColor: odysseyDesignTokens.HueNeutral100,\n\n ...(borderColor &&\n ({\n borderBottomColor: borderColor.concat(\"15\"),\n } satisfies CSSProperties)),\n } as CSSProperties)),\n}));\n\nconst StyledSideNavListContainer = styled(\"ul\")(() => ({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n margin: 0,\n width: \"100%\",\n}));\n\nconst StyledSideNavScrollableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasBlockStartPadding\",\n})<{ hasBlockStartPadding?: boolean; odysseyDesignTokens: DesignTokens }>(\n ({ odysseyDesignTokens, hasBlockStartPadding }) => ({\n display: \"inline-grid\",\n gridTemplateRows: \"1fr max-content\",\n overflowY: \"auto\",\n paddingBlockStart: hasBlockStartPadding ? odysseyDesignTokens.Spacing2 : 0,\n paddingInline: odysseyDesignTokens.Spacing2,\n }),\n);\n\nconst StyledSectionHeaderContainer = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n color: contrastFontColor || odysseyDesignTokens.HueNeutral600,\n marginBlock: `${odysseyDesignTokens.Spacing3}`,\n paddingBlock: odysseyDesignTokens.Spacing1,\n paddingInline: odysseyDesignTokens.Spacing4,\n }),\n);\n\nconst StyledSideNavFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavBackgroundColor\",\n})(\n ({\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n flexShrink: 0,\n padding: odysseyDesignTokens.Spacing4,\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledPersistentSideNavFooter = styled(StyledSideNavFooter, {\n shouldForwardProp: (prop) =>\n prop !== \"isContentScrollable\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavBackgroundColor\",\n})(\n ({\n isContentScrollable,\n odysseyDesignTokens,\n sideNavBackgroundColor,\n }: {\n isContentScrollable: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n }) => ({\n transitionProperty: \"box-shadow\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTiming: odysseyDesignTokens.TransitionTimingMain,\n zIndex: UI_SHELL_BASE_Z_INDEX,\n\n // The box shadow should appear above the footer only if the scrollable region has overflow\n ...(isContentScrollable &&\n ({\n boxShadow: \"0px -8px 8px -8px rgba(39, 39, 39, 0.08)\",\n } satisfies CSSProperties)),\n\n ...(sideNavBackgroundColor &&\n ({\n backgroundColor: sideNavBackgroundColor,\n } satisfies CSSProperties)),\n }),\n);\n\nconst StyledSideNavFooterItemsContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"sideNavContrastColors\",\n})<{\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n\n \"a, span\": {\n color: odysseyDesignTokens.HueNeutral600,\n transition: `color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n \"&:visited\": {\n color: odysseyDesignTokens.HueNeutral600,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n \"&:hover\": {\n textDecoration: \"none\",\n color: odysseyDesignTokens.HueNeutral900,\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n\n ...(sideNavContrastColors?.fontColor &&\n ({\n color: sideNavContrastColors?.fontColor,\n } satisfies CSSProperties)),\n },\n}));\n\nconst StyledLoadingItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n paddingBlock: odysseyDesignTokens.Spacing2,\n paddingInline: odysseyDesignTokens.Spacing4,\n}));\n\nconst getHasScrollableContent = (scrollableContainer: HTMLElement) =>\n scrollableContainer.scrollHeight > scrollableContainer.clientHeight;\n\nconst LoadingItem = () => {\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n return (\n <StyledLoadingItemContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Skeleton\n height={odysseyDesignTokens.Spacing4}\n variant=\"circular\"\n width={odysseyDesignTokens.Spacing4}\n />\n <Skeleton variant=\"rounded\" width=\"100%\" />\n </StyledLoadingItemContainer>\n );\n};\n\nconst SideNav = ({\n appName,\n footerComponent,\n footerItems,\n hasCustomFooter,\n hasSessionStorageState,\n isCollapsible,\n isCollapsed = false,\n isCompact,\n isLoading,\n isObtrusive,\n logoProps,\n leavesPaddingStart,\n onCollapse,\n onExpand,\n onSort,\n sideNavItems,\n}: SideNavProps) => {\n const [hasContentScrolled, setHasContentScrolled] = useState(false);\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const [isSideNavToggleHighlighted, setIsSideNavToggleHighlighted] =\n useState(false);\n const [sideNavItemsList, updateSideNavItemsList] = useState(\n sideNavItems || [],\n );\n\n const [isSideNavCollapsedLocalState, setIsSideNavCollapsedLocalState] =\n useState(isCollapsed);\n\n const {\n sessionState: isSideNavCollapsedSessionState,\n setSessionState: setIsSideNavCollapsedSessionState,\n } = useIsSideNavCollapsedSessionStorage(isCollapsed);\n\n const isSideNavCollapsed = hasSessionStorageState\n ? isSideNavCollapsedSessionState\n : isSideNavCollapsedLocalState;\n const setIsSideNavCollapsed = hasSessionStorageState\n ? setIsSideNavCollapsedSessionState\n : setIsSideNavCollapsedLocalState;\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const scrollableContentRef = useRef<HTMLUListElement>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n const intersectionObserverRef = useRef<IntersectionObserver | null>(null);\n const sideNavRef = useRef<HTMLDivElement>(null);\n\n const { isAtContainerInlineStart } = useElementAtContainerEdge({\n element: sideNavRef.current,\n monitoringElement: sideNavRef.current?.parentElement?.parentElement,\n });\n\n const hasNeighbouringContentAtInlineStart = !isAtContainerInlineStart;\n\n const blankElement = useMemo(() => <div />, []);\n\n // The default value (sideNavItems) passed to useState is ONLY used by the useState hook for\n // the very first value. Subsequent updates to the prop (sideNavItems) need to cause the state\n // to update!\n useEffect(() => updateSideNavItemsList(sideNavItems || []), [sideNavItems]);\n\n // In the case that you can't control the side nav, then it should use whatever state was passed (app control) rather than what's stored in session storage (user control).\n const onMount = useCallback(() => {\n if (!isCollapsible) {\n setIsSideNavCollapsed(isCollapsed);\n }\n }, [isCollapsed, isCollapsible, setIsSideNavCollapsed]);\n\n const onUpdate = useCallback(() => {\n setIsSideNavCollapsed(isCollapsed);\n }, [isCollapsed, setIsSideNavCollapsed]);\n\n useMountLifecycleEffect({\n onMount,\n onUpdate,\n });\n\n useEffect(() => {\n // This is called directly in this effect AND perhaps as a result of the ResizeObserver\n const updateIsContentScrollable = () => {\n if (\n scrollableContentRef.current &&\n scrollableContentRef.current.parentElement\n ) {\n setIsContentScrollable(\n getHasScrollableContent(scrollableContentRef.current.parentElement),\n );\n }\n };\n\n // If the window is resized, we may need to re-determine if the scrollable container has overflow\n // Setup a ResizeObserver to know if the size of the scrollableContent changes\n let resizeObserverDebounceTimer: ReturnType<typeof requestAnimationFrame>;\n if (!resizeObserverRef.current) {\n resizeObserverRef.current = new ResizeObserver(() => {\n cancelAnimationFrame(resizeObserverDebounceTimer);\n resizeObserverDebounceTimer = requestAnimationFrame(\n updateIsContentScrollable,\n );\n });\n }\n\n if (resizeObserverRef.current && scrollableContentRef.current) {\n // Observe the <ul> itself (in case it changes size due to the content expanding)\n resizeObserverRef.current.observe(scrollableContentRef.current);\n if (scrollableContentRef.current.parentElement) {\n // ALSO observe the parent (<SideNavScrollableContainer>) in case the window resizes\n resizeObserverRef.current.observe(\n scrollableContentRef.current.parentElement,\n );\n }\n }\n\n // Determine if the scrollable container has overflow or not on load\n updateIsContentScrollable();\n\n // Finally, we only want to have the border on the bottom of the header iff the user has scrolled\n // the scrollable container\n if (!intersectionObserverRef.current && scrollableContentRef.current) {\n intersectionObserverRef.current = new IntersectionObserver(\n (entries) => {\n // If isIntersecting is true, then we're at the top of the scroll container\n // If isIntersecting is false, some scrolling has occurred.\n // The entries must be sorted by time and we only really need to look at the latest one\n const isIntersecting = entries\n .slice()\n .sort((a, b) => a.time - b.time)\n .at(0)?.isIntersecting;\n setHasContentScrolled(!isIntersecting);\n },\n {\n root: scrollableContentRef.current.parentElement,\n threshold: 1.0,\n },\n );\n }\n\n if (intersectionObserverRef.current && scrollableContentRef.current) {\n const ulElement = scrollableContentRef.current;\n const [liElement] = Array.from(ulElement?.children || []);\n\n if (liElement) {\n intersectionObserverRef.current.observe(liElement);\n }\n }\n\n // Cleanup when unmounted:\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n if (intersectionObserverRef.current) {\n intersectionObserverRef.current.disconnect();\n intersectionObserverRef.current = null;\n }\n cancelAnimationFrame(resizeObserverDebounceTimer); // Ensure timer is cleared on component unmount\n };\n }, [sideNavItemsList]);\n\n const scrollIntoViewRef = useRef<HTMLLIElement>(null);\n /**\n * Look through the sideNavItems and determine which is the first node\n * with isSelected. This should be the node we set a ref on in order to\n * call scrollIntoView in the effect\n */\n const firstSideNavItemIdWithIsSelected = useMemo(() => {\n const flattenedItems = flattenNestedItems(sideNavItemsList);\n const firstItemWithIsSelected = flattenedItems.find(\n (sideNavItem) => sideNavItem.isSelected,\n );\n return firstItemWithIsSelected?.id;\n }, [sideNavItemsList]);\n /**\n * Once we've rendered and if we have an item to scroll to, do the scroll action.\n * This must rely on checking firstSideNavItemIdWithIsSelected or it will not run\n * once the actual ref is populated.\n */\n useEffect(() => {\n if (firstSideNavItemIdWithIsSelected && scrollIntoViewRef.current) {\n scrollIntoViewRef.current.scrollIntoView();\n }\n }, [firstSideNavItemIdWithIsSelected]);\n\n /**\n * We only want to put a ref on a node iff it is the first selected node.\n * This function returns the ref only if the ID provided matches the first\n * selected node, otherwise returns undefined (so that the node has no ref)\n */\n const getRefIfThisIsFirstNodeWithIsSelected = useCallback(\n (itemId: string) =>\n itemId === firstSideNavItemIdWithIsSelected\n ? scrollIntoViewRef\n : undefined,\n [firstSideNavItemIdWithIsSelected],\n );\n\n const setSelectedItem = useCallback(\n (selectedItemId: string) => {\n // Recursive function to update nested items\n const updateNestedSelection = (items: SideNavItem[]): SideNavItem[] => {\n return items.map((item) => {\n if (item.nestedNavItems) {\n return {\n ...item,\n isSelected: item.id === selectedItemId,\n nestedNavItems: updateNestedSelection(item.nestedNavItems),\n };\n }\n\n return {\n ...item,\n isSelected: item.id === selectedItemId,\n };\n });\n };\n\n const updatedSideNavItems = updateNestedSelection(sideNavItemsList);\n updateSideNavItemsList(updatedSideNavItems);\n\n if (isCollapsed || isObtrusive) {\n if (isCollapsible) {\n uiShellContext?.closeSideNavMenu();\n } else {\n onCollapse?.();\n }\n }\n },\n [\n isCollapsed,\n isCollapsible,\n isObtrusive,\n onCollapse,\n sideNavItemsList,\n uiShellContext,\n ],\n );\n\n const createAccordionContextValue = useCallback(\n (depth: number) => ({\n depth,\n }),\n [],\n );\n\n const createLeafItemContextValue = useCallback(\n (depth: number, isSortable?: boolean) => ({\n isCompact,\n depth,\n isSortable,\n absolutePaddingStart: leavesPaddingStart,\n }),\n [isCompact, leavesPaddingStart],\n );\n\n const renderSideNavItem = (item: SideNavItem, depth: number = 1) => {\n const {\n href,\n id,\n isDefaultExpanded,\n isDisabled,\n isExpanded,\n isSectionHeader,\n label,\n startIcon,\n nestedNavItems,\n onChange,\n isSortable,\n translate,\n } = item;\n\n if (isSectionHeader) {\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSectionHeaderContainer\n contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Overline component=\"h3\">{label}</Overline>\n </StyledSectionHeaderContainer>\n </ErrorBoundary>\n );\n } else if (nestedNavItems && nestedNavItems.length > 0) {\n // Recursive case: item has nested children - ALWAYS render as accordion\n const nestedChildren = (\n <StyledSideNavListContainer role=\"presentation\">\n {isSortable ? (\n <SideNavSortableList\n depth={depth + 1}\n items={nestedNavItems}\n onChange={setSortedItems}\n parentId={item.id}\n processSideNavItems={processSideNavItems}\n />\n ) : (\n processSideNavItems(nestedNavItems, depth + 1).map(\n (item) => item.sortableItem.navItem,\n )\n )}\n </StyledSideNavListContainer>\n );\n\n return href ? (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContent\n {...item}\n href={href}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(item.id)}\n startIcon={item.startIcon}\n />\n\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={`${id}-items`}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {nestedChildren}\n </StyledSideNavListItem>\n </ErrorBoundary>\n ) : (\n <ErrorBoundary fallback={blankElement} key={id}>\n <StyledSideNavListItem\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavItemContentContext.Provider\n key={id}\n value={createAccordionContextValue(depth)}\n >\n <NavAccordion\n isCompact={isCompact}\n isDefaultExpanded={isDefaultExpanded}\n isDisabled={isDisabled}\n isExpanded={isExpanded}\n label={label}\n onChange={onChange}\n startIcon={startIcon}\n >\n {nestedChildren}\n </NavAccordion>\n </SideNavItemContentContext.Provider>\n </StyledSideNavListItem>\n </ErrorBoundary>\n );\n } else {\n // Base case: leaf item with no children\n return (\n <ErrorBoundary fallback={blankElement} key={id}>\n <SideNavItemContentContext.Provider\n key={id}\n value={createLeafItemContextValue(depth, isSortable)}\n >\n <SideNavItemContent\n {...item}\n onItemSelected={setSelectedItem}\n scrollRef={getRefIfThisIsFirstNodeWithIsSelected(id)}\n startIcon={startIcon}\n translate={translate}\n />\n </SideNavItemContentContext.Provider>\n </ErrorBoundary>\n );\n }\n };\n\n const processSideNavItems = (\n items: SideNavItem[],\n depth: number = 1,\n ): (SideNavItem & { sortableItem: BaseItem })[] => {\n return items?.map((item) => ({\n ...item,\n sortableItem: {\n id: item.id,\n isSelected: item.isSelected,\n isDisabled: item.isDisabled,\n isSortable: item.isSortable,\n navItem: renderSideNavItem(item, depth),\n },\n }));\n };\n\n const sideNavExpandClickHandler = useCallback(() => {\n setIsSideNavCollapsed((isSideNavCollapsed) => {\n if (isSideNavCollapsed) {\n onExpand?.();\n } else {\n onCollapse?.();\n }\n\n return !isSideNavCollapsed;\n });\n }, [onCollapse, onExpand, setIsSideNavCollapsed]);\n\n const sideNavExpandKeyHandler = useCallback<\n KeyboardEventHandler<HTMLButtonElement>\n >(\n (event) => {\n if (event?.key === \"Enter\" || event?.code === \"Space\") {\n event.preventDefault();\n sideNavExpandClickHandler();\n }\n },\n [sideNavExpandClickHandler],\n );\n\n useEffect(() => {\n const unsubscribe = uiShellContext?.subscribeToCloseSideNavMenu(() => {\n onCollapse?.();\n setIsSideNavCollapsed(true);\n });\n\n return () => {\n unsubscribe?.();\n };\n }, [onCollapse, setIsSideNavCollapsed, uiShellContext]);\n\n const setSortedItems = useCallback(\n (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => {\n const sortedSideNavItems = sideNavItemsList.map((item) =>\n item.id === parentId && item.nestedNavItems\n ? {\n ...item,\n nestedNavItems: arrayMove(\n item.nestedNavItems,\n activeIndex,\n overIndex,\n ),\n }\n : item,\n );\n updateSideNavItemsList(sortedSideNavItems);\n onSort?.(sortedSideNavItems, parentId, activeId, activeIndex, overIndex);\n },\n [onSort, sideNavItemsList],\n );\n\n const onSideNavToggleButtonHighlight = useCallback<\n NonNullable<SideNavToggleButtonProps[\"onHighlight\"]>\n >((isHighlighted) => {\n setIsSideNavToggleHighlighted(isHighlighted);\n }, []);\n\n return (\n <StyledSideNavContainer\n aria-label={t(\"navigation.label\")}\n backgroundColor={uiShellContext?.sideNavBackgroundColor}\n hasNeighbouringContentAtInlineStart={hasNeighbouringContentAtInlineStart}\n id=\"side-nav-expandable\"\n isAppContentWhiteBackground={\n uiShellContext?.appBackgroundColor ===\n odysseyDesignTokens.HueNeutralWhite\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={sideNavRef}\n >\n {isCollapsible && (\n <StyledSideNavToggleButtonContainer\n hasNeighbouringContentAtInlineStart={\n hasNeighbouringContentAtInlineStart\n }\n isSideNavCollapsed={isSideNavCollapsed}\n isSideNavToggleHighlighted={isSideNavToggleHighlighted}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SideNavToggleButton\n ariaControls=\"side-nav-expandable\"\n clickAreaPadding={\n isSideNavCollapsed && !hasNeighbouringContentAtInlineStart\n ? SIDE_NAV_TOGGLE_ICON_SIZE / 2\n : 0\n }\n isSideNavCollapsed={isSideNavCollapsed}\n onClick={sideNavExpandClickHandler}\n onHighlight={onSideNavToggleButtonHighlight}\n onKeyDown={sideNavExpandKeyHandler}\n />\n </StyledSideNavToggleButtonContainer>\n )}\n\n <OdysseyThemeProvider>\n <StyledCollapsibleContent\n data-se=\"collapsible-region\"\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledOpacityTransitionContainer\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {appName || isLoading || logoProps ? (\n <StyledSideNavHeaderContainer\n borderColor={uiShellContext?.sideNavContrastColors?.fontColor}\n hasContentScrolled={hasContentScrolled}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {isLoading && !appName && !logoProps ? (\n <SideNavHeader isLoading={isLoading} />\n ) : (\n <SideNavHeader\n appName={appName}\n isLoading={isLoading}\n logoProps={logoProps}\n />\n )}\n </StyledSideNavHeaderContainer>\n ) : (\n <div />\n )}\n\n <StyledSideNavScrollableContainer\n data-se=\"scrollable-region\"\n hasBlockStartPadding={!appName}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledSideNavListContainer\n ref={scrollableContentRef}\n role=\"none\"\n >\n {isLoading\n ? Array(6)\n .fill(null)\n .map((_, index) => <LoadingItem key={index} />)\n : processSideNavItems(sideNavItemsList).map(\n (item) => item.sortableItem.navItem,\n )}\n </StyledSideNavListContainer>\n {!isLoading && footerItems && !hasCustomFooter && (\n <StyledSideNavFooter\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={\n uiShellContext?.sideNavBackgroundColor\n }\n >\n <StyledSideNavFooterItemsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={\n uiShellContext?.sideNavContrastColors\n }\n >\n <SideNavFooterContent footerItems={footerItems} />\n </StyledSideNavFooterItemsContainer>\n </StyledSideNavFooter>\n )}\n </StyledSideNavScrollableContainer>\n {!isLoading && !footerItems && hasCustomFooter && (\n <StyledPersistentSideNavFooter\n isContentScrollable={isContentScrollable}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n >\n {footerComponent}\n </StyledPersistentSideNavFooter>\n )}\n </StyledOpacityTransitionContainer>\n </StyledCollapsibleContent>\n </OdysseyThemeProvider>\n </StyledSideNavContainer>\n );\n};\n\nconst MemoizedSideNav = memo(SideNav);\nMemoizedSideNav.displayName = \"SideNav\";\n\nexport { MemoizedSideNav as SideNav };\n"],"mappings":"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","ignoreList":[]}
@@ -62,6 +62,6 @@ const SideNavFooterContent = ({
62
62
  });
63
63
  };
64
64
  const MemoizedSideNavFooterContent = memo(SideNavFooterContent);
65
- MemoizedSideNavFooterContent.displayName = "SideNavFooterContent";
65
+ MemoizedSideNavFooterContent.displayName = "SideNavFooterContent::pkg=odyssey&odysseyV=1.57.0";
66
66
  export { MemoizedSideNavFooterContent as SideNavFooterContent };
67
67
  //# sourceMappingURL=SideNavFooterContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavFooterContent.js","names":["styled","memo","useMemo","Box","useTranslation","Link","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","StyledFooterNav","display","StyledFooterItemContainer","shouldForwardProp","prop","borderColor","odysseyDesignTokens","marginInlineStart","Spacing4","paddingInlineStart","borderInlineStart","HueNeutral300","SideNavFooterContent","footerItems","t","shellColors","memoizedFooterContent","map","item","sideNavContrastColors","fontColor","role","children","href","label","component","id","MemoizedSideNavFooterContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavFooterContent.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, useMemo } from \"react\";\n\nimport type { SideNavFooterItem } from \"./types.js\";\n\nimport { Box } from \"../../Box.js\";\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { Link } from \"../../Link.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\n\nconst StyledFooterNav = styled(\"nav\")({\n display: \"flex\",\n});\n\nconst StyledFooterItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"borderColor\",\n})(\n ({\n borderColor,\n odysseyDesignTokens,\n }: {\n borderColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n \"& + &\": {\n marginInlineStart: odysseyDesignTokens.Spacing4,\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n borderInlineStart: `1px solid ${borderColor || odysseyDesignTokens.HueNeutral300}`,\n },\n }),\n);\n\nconst SideNavFooterContent = ({\n footerItems,\n}: {\n footerItems: SideNavFooterItem[];\n}) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const shellColors = useUiShellContext();\n\n const memoizedFooterContent = useMemo(() => {\n return footerItems?.map((item) => (\n <StyledFooterItemContainer\n borderColor={shellColors?.sideNavContrastColors?.fontColor}\n key={item.id}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"menuitem\"\n >\n {item.href ? (\n <Link href={item.href}>{item.label}</Link>\n ) : (\n <Box component=\"span\">{item.label}</Box>\n )}\n </StyledFooterItemContainer>\n ));\n }, [footerItems, odysseyDesignTokens, shellColors]);\n\n return (\n <StyledFooterNav aria-label={t(\"navigation.footer\")} role=\"menubar\">\n {memoizedFooterContent}\n </StyledFooterNav>\n );\n};\nconst MemoizedSideNavFooterContent = memo(SideNavFooterContent);\nMemoizedSideNavFooterContent.displayName = \"SideNavFooterContent\";\n\nexport { MemoizedSideNavFooterContent as SideNavFooterContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAIrC,SAASC,GAAG,QAAQ,cAAc;AAElC,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,IAAI,QAAQ,eAAe;AACpC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,iBAAiB,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,eAAe,GAAGV,MAAM,CAAC,KAAK,CAAC,CAAC;EACpCW,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,yBAAyB,GAAGZ,MAAM,CAAC,KAAK,EAAE;EAC9Ca,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,WAAW;EACXC;AAIF,CAAC,MAAM;EACL,OAAO,EAAE;IACPC,iBAAiB,EAAED,mBAAmB,CAACE,QAAQ;IAC/CC,kBAAkB,EAAEH,mBAAmB,CAACE,QAAQ;IAChDE,iBAAiB,EAAE,aAAaL,WAAW,IAAIC,mBAAmB,CAACK,aAAa;EAClF;AACF,CAAC,CACH,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC;AAGF,CAAC,KAAK;EACJ,MAAMP,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEkB;EAAE,CAAC,GAAGpB,cAAc,CAAC,CAAC;EAC9B,MAAMqB,WAAW,GAAGlB,iBAAiB,CAAC,CAAC;EAEvC,MAAMmB,qBAAqB,GAAGxB,OAAO,CAAC,MAAM;IAC1C,OAAOqB,WAAW,EAAEI,GAAG,CAAEC,IAAI,IAC3BnB,IAAA,CAACG,yBAAyB;MACxBG,WAAW,EAAEU,WAAW,EAAEI,qBAAqB,EAAEC,SAAU;MAE3Dd,mBAAmB,EAAEA,mBAAoB;MACzCe,IAAI,EAAC,UAAU;MAAAC,QAAA,EAEdJ,IAAI,CAACK,IAAI,GACRxB,IAAA,CAACJ,IAAI;QAAC4B,IAAI,EAAEL,IAAI,CAACK,IAAK;QAAAD,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAO,CAAC,GAE1CzB,IAAA,CAACN,GAAG;QAACgC,SAAS,EAAC,MAAM;QAAAH,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAM;IACxC,GARIN,IAAI,CAACQ,EASe,CAC5B,CAAC;EACJ,CAAC,EAAE,CAACb,WAAW,EAAEP,mBAAmB,EAAES,WAAW,CAAC,CAAC;EAEnD,OACEhB,IAAA,CAACC,eAAe;IAAC,cAAYc,CAAC,CAAC,mBAAmB,CAAE;IAACO,IAAI,EAAC,SAAS;IAAAC,QAAA,EAChEN;EAAqB,CACP,CAAC;AAEtB,CAAC;AACD,MAAMW,4BAA4B,GAAGpC,IAAI,CAACqB,oBAAoB,CAAC;AAC/De,4BAA4B,CAACC,WAAW,GAAG,sBAAsB;AAEjE,SAASD,4BAA4B,IAAIf,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"SideNavFooterContent.js","names":["styled","memo","useMemo","Box","useTranslation","Link","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","StyledFooterNav","display","StyledFooterItemContainer","shouldForwardProp","prop","borderColor","odysseyDesignTokens","marginInlineStart","Spacing4","paddingInlineStart","borderInlineStart","HueNeutral300","SideNavFooterContent","footerItems","t","shellColors","memoizedFooterContent","map","item","sideNavContrastColors","fontColor","role","children","href","label","component","id","MemoizedSideNavFooterContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavFooterContent.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, useMemo } from \"react\";\n\nimport type { SideNavFooterItem } from \"./types.js\";\n\nimport { Box } from \"../../Box.js\";\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { Link } from \"../../Link.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\n\nconst StyledFooterNav = styled(\"nav\")({\n display: \"flex\",\n});\n\nconst StyledFooterItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"borderColor\",\n})(\n ({\n borderColor,\n odysseyDesignTokens,\n }: {\n borderColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n \"& + &\": {\n marginInlineStart: odysseyDesignTokens.Spacing4,\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n borderInlineStart: `1px solid ${borderColor || odysseyDesignTokens.HueNeutral300}`,\n },\n }),\n);\n\nconst SideNavFooterContent = ({\n footerItems,\n}: {\n footerItems: SideNavFooterItem[];\n}) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const shellColors = useUiShellContext();\n\n const memoizedFooterContent = useMemo(() => {\n return footerItems?.map((item) => (\n <StyledFooterItemContainer\n borderColor={shellColors?.sideNavContrastColors?.fontColor}\n key={item.id}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"menuitem\"\n >\n {item.href ? (\n <Link href={item.href}>{item.label}</Link>\n ) : (\n <Box component=\"span\">{item.label}</Box>\n )}\n </StyledFooterItemContainer>\n ));\n }, [footerItems, odysseyDesignTokens, shellColors]);\n\n return (\n <StyledFooterNav aria-label={t(\"navigation.footer\")} role=\"menubar\">\n {memoizedFooterContent}\n </StyledFooterNav>\n );\n};\nconst MemoizedSideNavFooterContent = memo(SideNavFooterContent);\nMemoizedSideNavFooterContent.displayName = \"SideNavFooterContent\";\n\nexport { MemoizedSideNavFooterContent as SideNavFooterContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAIrC,SAASC,GAAG,QAAQ,cAAc;AAElC,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,IAAI,QAAQ,eAAe;AACpC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,iBAAiB,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,eAAe,GAAGV,MAAM,CAAC,KAAK,CAAC,CAAC;EACpCW,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,yBAAyB,GAAGZ,MAAM,CAAC,KAAK,EAAE;EAC9Ca,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,WAAW;EACXC;AAIF,CAAC,MAAM;EACL,OAAO,EAAE;IACPC,iBAAiB,EAAED,mBAAmB,CAACE,QAAQ;IAC/CC,kBAAkB,EAAEH,mBAAmB,CAACE,QAAQ;IAChDE,iBAAiB,EAAE,aAAaL,WAAW,IAAIC,mBAAmB,CAACK,aAAa;EAClF;AACF,CAAC,CACH,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC;AAGF,CAAC,KAAK;EACJ,MAAMP,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEkB;EAAE,CAAC,GAAGpB,cAAc,CAAC,CAAC;EAC9B,MAAMqB,WAAW,GAAGlB,iBAAiB,CAAC,CAAC;EAEvC,MAAMmB,qBAAqB,GAAGxB,OAAO,CAAC,MAAM;IAC1C,OAAOqB,WAAW,EAAEI,GAAG,CAAEC,IAAI,IAC3BnB,IAAA,CAACG,yBAAyB;MACxBG,WAAW,EAAEU,WAAW,EAAEI,qBAAqB,EAAEC,SAAU;MAE3Dd,mBAAmB,EAAEA,mBAAoB;MACzCe,IAAI,EAAC,UAAU;MAAAC,QAAA,EAEdJ,IAAI,CAACK,IAAI,GACRxB,IAAA,CAACJ,IAAI;QAAC4B,IAAI,EAAEL,IAAI,CAACK,IAAK;QAAAD,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAO,CAAC,GAE1CzB,IAAA,CAACN,GAAG;QAACgC,SAAS,EAAC,MAAM;QAAAH,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAM;IACxC,GARIN,IAAI,CAACQ,EASe,CAC5B,CAAC;EACJ,CAAC,EAAE,CAACb,WAAW,EAAEP,mBAAmB,EAAES,WAAW,CAAC,CAAC;EAEnD,OACEhB,IAAA,CAACC,eAAe;IAAC,cAAYc,CAAC,CAAC,mBAAmB,CAAE;IAACO,IAAI,EAAC,SAAS;IAAAC,QAAA,EAChEN;EAAqB,CACP,CAAC;AAEtB,CAAC;AACD,MAAMW,4BAA4B,GAAGpC,IAAI,CAACqB,oBAAoB,CAAC;AAC/De,4BAA4B,CAACC,WAAW,sDAAyB;AAEjE,SAASD,4BAA4B,IAAIf,oBAAoB","ignoreList":[]}
@@ -93,6 +93,6 @@ const SideNavHeader = ({
93
93
  });
94
94
  };
95
95
  const MemoizedSideNavHeader = memo(SideNavHeader);
96
- MemoizedSideNavHeader.displayName = "SideNavHeader";
96
+ MemoizedSideNavHeader.displayName = "SideNavHeader::pkg=odyssey&odysseyV=1.57.0";
97
97
  export { MemoizedSideNavHeader as SideNavHeader };
98
98
  //# sourceMappingURL=SideNavHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavHeader.js","names":["styled","memo","useOdysseyDesignTokens","Heading5","useUiShellContext","UiShellLogo","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","jsx","_jsx","jsxs","_jsxs","SideNavHeaderContainer","position","display","flexDirection","zIndex","SideNavLogoContainer","shouldForwardProp","prop","headerBackgroundColor","isSameBackgroundAsMain","odysseyDesignTokens","alignItems","height","paddingBlock","Spacing4","paddingInline","Spacing5","backgroundColor","HueNeutralWhite","maxHeight","width","maxWidth","SideNavHeadingContainer","contrastFontColor","justifyContent","margin","color","SideNavHeader","appName","isLoading","logoProps","uiShellContext","children","sideNavBackgroundColor","_Skeleton","variant","sideNavContrastColors","fontColor","component","MemoizedSideNavHeader","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavHeader.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading5 } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport { UiShellLogo, UiShellLogoProps } from \"../UiShellLogo.js\";\nimport {\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\n\nconst SideNavHeaderContainer = styled(\"div\")({\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst SideNavLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"headerBackgroundColor\" &&\n prop !== \"isSameBackgroundAsMain\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n headerBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n isSameBackgroundAsMain: UiShellLogoProps[\"isSameBackgroundAsMain\"];\n odysseyDesignTokens: DesignTokens;\n}>(\n ({ headerBackgroundColor, isSameBackgroundAsMain, odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n backgroundColor: isSameBackgroundAsMain\n ? headerBackgroundColor\n : odysseyDesignTokens.HueNeutralWhite,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n }),\n);\n\nconst SideNavHeadingContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n width: \"100%\",\n\n [\"& .MuiTypography-root\"]: {\n margin: 0,\n width: \"100%\",\n color: contrastFontColor || \"inherit\",\n },\n }),\n);\n\nexport type SideNavHeaderProps = {\n /**\n * The app's name.\n */\n appName?: string;\n /**\n * If the side nav currently has no items, it will be loading.\n */\n isLoading?: boolean;\n /**\n * Properties for displaying the logo image or passing a logo image component instead.\n */\n logoProps?: UiShellLogoProps;\n};\n\nconst SideNavHeader = ({\n appName,\n isLoading,\n logoProps,\n}: SideNavHeaderProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n return (\n <SideNavHeaderContainer>\n <SideNavLogoContainer\n data-se=\"sidenav-header-logo-container\"\n headerBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n isSameBackgroundAsMain={logoProps?.isSameBackgroundAsMain}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton height={24} variant=\"rounded\" width={67} />\n ) : (\n <UiShellLogo {...logoProps} />\n )}\n </SideNavLogoContainer>\n\n {appName && (\n <SideNavHeadingContainer\n contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Heading5 component=\"h2\">\n {isLoading ? <Skeleton /> : appName}\n </Heading5>\n </SideNavHeadingContainer>\n )}\n </SideNavHeaderContainer>\n );\n};\n\nconst MemoizedSideNavHeader = memo(SideNavHeader);\nMemoizedSideNavHeader.displayName = \"SideNavHeader\";\n\nexport { MemoizedSideNavHeader as SideNavHeader };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideNavHeader.js","names":["styled","memo","useOdysseyDesignTokens","Heading5","useUiShellContext","UiShellLogo","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","jsx","_jsx","jsxs","_jsxs","SideNavHeaderContainer","position","display","flexDirection","zIndex","SideNavLogoContainer","shouldForwardProp","prop","headerBackgroundColor","isSameBackgroundAsMain","odysseyDesignTokens","alignItems","height","paddingBlock","Spacing4","paddingInline","Spacing5","backgroundColor","HueNeutralWhite","maxHeight","width","maxWidth","SideNavHeadingContainer","contrastFontColor","justifyContent","margin","color","SideNavHeader","appName","isLoading","logoProps","uiShellContext","children","sideNavBackgroundColor","_Skeleton","variant","sideNavContrastColors","fontColor","component","MemoizedSideNavHeader","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavHeader.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Skeleton } from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading5 } from \"../../Typography.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport { UiShellLogo, UiShellLogoProps } from \"../UiShellLogo.js\";\nimport {\n TOP_NAV_HEIGHT,\n UI_SHELL_BASE_Z_INDEX,\n} from \"../uiShellSharedConstants.js\";\n\nconst SideNavHeaderContainer = styled(\"div\")({\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n zIndex: UI_SHELL_BASE_Z_INDEX,\n});\n\nconst SideNavLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"headerBackgroundColor\" &&\n prop !== \"isSameBackgroundAsMain\" &&\n prop !== \"odysseyDesignTokens\",\n})<{\n headerBackgroundColor?: UiShellColors[\"sideNavBackgroundColor\"];\n isSameBackgroundAsMain: UiShellLogoProps[\"isSameBackgroundAsMain\"];\n odysseyDesignTokens: DesignTokens;\n}>(\n ({ headerBackgroundColor, isSameBackgroundAsMain, odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n height: TOP_NAV_HEIGHT,\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n backgroundColor: isSameBackgroundAsMain\n ? headerBackgroundColor\n : odysseyDesignTokens.HueNeutralWhite,\n\n \"svg, img\": {\n maxHeight: \"100%\",\n width: \"auto\",\n maxWidth: \"100%\",\n },\n }),\n);\n\nconst SideNavHeadingContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastFontColor\",\n})(\n ({\n contrastFontColor,\n odysseyDesignTokens,\n }: {\n contrastFontColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBlock: odysseyDesignTokens.Spacing4,\n paddingInline: odysseyDesignTokens.Spacing5,\n width: \"100%\",\n\n [\"& .MuiTypography-root\"]: {\n margin: 0,\n width: \"100%\",\n color: contrastFontColor || \"inherit\",\n },\n }),\n);\n\nexport type SideNavHeaderProps = {\n /**\n * The app's name.\n */\n appName?: string;\n /**\n * If the side nav currently has no items, it will be loading.\n */\n isLoading?: boolean;\n /**\n * Properties for displaying the logo image or passing a logo image component instead.\n */\n logoProps?: UiShellLogoProps;\n};\n\nconst SideNavHeader = ({\n appName,\n isLoading,\n logoProps,\n}: SideNavHeaderProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const uiShellContext = useUiShellContext();\n\n return (\n <SideNavHeaderContainer>\n <SideNavLogoContainer\n data-se=\"sidenav-header-logo-container\"\n headerBackgroundColor={uiShellContext?.sideNavBackgroundColor}\n isSameBackgroundAsMain={logoProps?.isSameBackgroundAsMain}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {isLoading ? (\n // The skeleton takes the hardcoded dimensions of the Okta logo\n <Skeleton height={24} variant=\"rounded\" width={67} />\n ) : (\n <UiShellLogo {...logoProps} />\n )}\n </SideNavLogoContainer>\n\n {appName && (\n <SideNavHeadingContainer\n contrastFontColor={uiShellContext?.sideNavContrastColors?.fontColor}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Heading5 component=\"h2\">\n {isLoading ? <Skeleton /> : appName}\n </Heading5>\n </SideNavHeadingContainer>\n )}\n </SideNavHeaderContainer>\n );\n};\n\nconst MemoizedSideNavHeader = memo(SideNavHeader);\nMemoizedSideNavHeader.displayName = \"SideNavHeader\";\n\nexport { MemoizedSideNavHeader as SideNavHeader };\n"],"mappings":"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","ignoreList":[]}
@@ -277,6 +277,6 @@ const SideNavItemContent = ({
277
277
  }, id);
278
278
  };
279
279
  const MemoizedSideNavItemContent = memo(SideNavItemContent);
280
- MemoizedSideNavItemContent.displayName = "SideNavItemContent";
280
+ MemoizedSideNavItemContent.displayName = "SideNavItemContent::pkg=odyssey&odysseyV=1.57.0";
281
281
  export { MemoizedSideNavItemContent as SideNavItemContent };
282
282
  //# sourceMappingURL=SideNavItemContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItemContent.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useState","ExternalLinkIcon","useOdysseyDesignTokens","useUiShellContext","useSideNavItemContent","SideNavItemLinkContent","jsx","_jsx","jsxs","_jsxs","StyledSideNavListItem","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","isActiveDropTarget","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","Spacing6","depth","isCompact","Spacing1","NavItemContentContainer","absolutePaddingStart","StyledNavItemLink","_Link","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","translate","uiShellContext","sidenavItemContentContext","setIsActiveDropTarget","localScrollRef","current","itemClickHandler","event","sideNavItemContentKeyHandler","key","preventDefault","undefined","disabled","onDragLeave","onDragOver","onDrop","ref","children","onKeyDown","role","tabIndex","className","MemoizedSideNavItemContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n disabled?: boolean;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n}: {\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n ...(isActiveDropTarget && {\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n }),\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart = odysseyDesignTokens.Spacing6,\n}: {\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n paddingInlineStart?: string;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${paddingInlineStart})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n | \"translate\"\n> & {\n onItemSelected?: (selectedItemId: string) => void;\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const [isActiveDropTarget, setIsActiveDropTarget] = useState(false);\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-current={isSelected ? \"page\" : undefined}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onDragLeave={() => {\n setIsActiveDropTarget(false);\n }}\n onDragOver={() => {\n setIsActiveDropTarget(true);\n }}\n onDrop={() => {\n setIsActiveDropTarget(false);\n }}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={false}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n href={href}\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideNavItemContent.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useState","ExternalLinkIcon","useOdysseyDesignTokens","useUiShellContext","useSideNavItemContent","SideNavItemLinkContent","jsx","_jsx","jsxs","_jsxs","StyledSideNavListItem","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","isActiveDropTarget","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","Spacing6","depth","isCompact","Spacing1","NavItemContentContainer","absolutePaddingStart","StyledNavItemLink","_Link","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","translate","uiShellContext","sidenavItemContentContext","setIsActiveDropTarget","localScrollRef","current","itemClickHandler","event","sideNavItemContentKeyHandler","key","preventDefault","undefined","disabled","onDragLeave","onDragOver","onDrop","ref","children","onKeyDown","role","tabIndex","className","MemoizedSideNavItemContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n disabled?: boolean;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n}: {\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n ...(isActiveDropTarget && {\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n }),\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart = odysseyDesignTokens.Spacing6,\n}: {\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n paddingInlineStart?: string;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${paddingInlineStart})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n | \"translate\"\n> & {\n onItemSelected?: (selectedItemId: string) => void;\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const [isActiveDropTarget, setIsActiveDropTarget] = useState(false);\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-current={isSelected ? \"page\" : undefined}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onDragLeave={() => {\n setIsActiveDropTarget(false);\n }}\n onDragOver={() => {\n setIsActiveDropTarget(true);\n }}\n onDrop={() => {\n setIsActiveDropTarget(false);\n }}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={false}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n href={href}\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
@@ -67,6 +67,6 @@ const SideNavItemLinkContent = ({
67
67
  });
68
68
  };
69
69
  const MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);
70
- MemoizedSideNavItemLinkContent.displayName = "SideNavItemLinkContent";
70
+ MemoizedSideNavItemLinkContent.displayName = "SideNavItemLinkContent::pkg=odyssey&odysseyV=1.57.0";
71
71
  export { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };
72
72
  //# sourceMappingURL=SideNavItemLinkContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItemLinkContent.js","names":["styled","memo","useMemo","Badge","Box","useOdysseyDesignTokens","Status","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SideNavItemLabelContainer","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","marginInlineStart","Spacing3","alignItems","display","fontSize","TypographySizeBody","overflowWrap","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","sideNavItemContentStyles","gap","Spacing1","Spacing2","children","Boolean","sx","badgeContent","MemoizedSideNavItemLinkContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { Badge } from \"../../Badge.js\";\nimport { Box } from \"../../Box.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Status } from \"../../Status.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n isIconVisible: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n alignItems: \"center\",\n display: \"flex\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n overflowWrap: \"anywhere\", // New way to do `wordBreak: \"break-word\"`. Source: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"label\"\n | \"startIcon\"\n | \"endIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"translate\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing1,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n isIconVisible={Boolean(startIcon)}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n {label}\n {!count && severity && (\n <Box sx={sideNavItemContentStyles}>\n {severity && (\n <Status label={statusLabel || \"\"} severity={severity} />\n )}\n </Box>\n )}\n {!severity && count && (\n <Box sx={sideNavItemContentStyles}>\n {count && <Badge badgeContent={count} />}\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAaC,OAAO,QAAQ,OAAO;AAIhD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,GAAG,QAAQ,cAAc;AAClC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,MAAM,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEzC,MAAMC,yBAAyB,GAAGb,MAAM,CAAC,KAAK,EAAE;EAC9Cc,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAc,CAAC,MAAM;EAC9CC,KAAK,EAAE,MAAM;EACbC,iBAAiB,EAAEF,aAAa,GAAGD,mBAAmB,CAACI,QAAQ,GAAG,CAAC;EACnEC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE,MAAM;EACfC,QAAQ,EAAEP,mBAAmB,CAACQ,kBAAkB;EAChDC,YAAY,EAAE;AAChB,CAAC,CAAC,CAAC;AAEH,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC;AAUF,CAAC,KAAgB;EACf,MAAMjB,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;EAEpD,MAAM6B,wBAAwB,GAAGhC,OAAO,CACtC,OAAO;IACLmB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,MAAM;IACfa,GAAG,EAAEnB,mBAAmB,CAACoB,QAAQ;IACjCjB,iBAAiB,EAAEH,mBAAmB,CAACqB;EACzC,CAAC,CAAC,EACF,CAACrB,mBAAmB,CACtB,CAAC;EAED,OACEN,KAAA,CAAAE,SAAA;IAAA0B,QAAA,GACGT,SAAS,IAAIA,SAAS,EACvBnB,KAAA,CAACG,yBAAyB;MACxBI,aAAa,EAAEsB,OAAO,CAACV,SAAS,CAAE;MAClCb,mBAAmB,EAAEA,mBAAoB;MACzCiB,SAAS,EAAEA,SAAU;MAAAK,QAAA,GAEpBV,KAAK,EACL,CAACD,KAAK,IAAII,QAAQ,IACjBvB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BP,QAAQ,IACPvB,IAAA,CAACF,MAAM;UAACsB,KAAK,EAAEI,WAAW,IAAI,EAAG;UAACD,QAAQ,EAAEA;QAAS,CAAE;MACxD,CACE,CACN,EACA,CAACA,QAAQ,IAAIJ,KAAK,IACjBnB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BX,KAAK,IAAInB,IAAA,CAACL,KAAK;UAACsC,YAAY,EAAEd;QAAM,CAAE;MAAC,CACrC,CACN;IAAA,CACwB,CAAC,EAC3BG,OAAO,IAAIA,OAAO;EAAA,CACnB,CAAC;AAEP,CAAC;AACD,MAAMY,8BAA8B,GAAGzC,IAAI,CAACyB,sBAAsB,CAAC;AACnEgB,8BAA8B,CAACC,WAAW,GAAG,wBAAwB;AAErE,SAASD,8BAA8B,IAAIhB,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"SideNavItemLinkContent.js","names":["styled","memo","useMemo","Badge","Box","useOdysseyDesignTokens","Status","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SideNavItemLabelContainer","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","marginInlineStart","Spacing3","alignItems","display","fontSize","TypographySizeBody","overflowWrap","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","sideNavItemContentStyles","gap","Spacing1","Spacing2","children","Boolean","sx","badgeContent","MemoizedSideNavItemLinkContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { Badge } from \"../../Badge.js\";\nimport { Box } from \"../../Box.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Status } from \"../../Status.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n isIconVisible: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n alignItems: \"center\",\n display: \"flex\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n overflowWrap: \"anywhere\", // New way to do `wordBreak: \"break-word\"`. Source: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"label\"\n | \"startIcon\"\n | \"endIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"translate\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing1,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n isIconVisible={Boolean(startIcon)}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n {label}\n {!count && severity && (\n <Box sx={sideNavItemContentStyles}>\n {severity && (\n <Status label={statusLabel || \"\"} severity={severity} />\n )}\n </Box>\n )}\n {!severity && count && (\n <Box sx={sideNavItemContentStyles}>\n {count && <Badge badgeContent={count} />}\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAaC,OAAO,QAAQ,OAAO;AAIhD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,GAAG,QAAQ,cAAc;AAClC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,MAAM,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEzC,MAAMC,yBAAyB,GAAGb,MAAM,CAAC,KAAK,EAAE;EAC9Cc,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAc,CAAC,MAAM;EAC9CC,KAAK,EAAE,MAAM;EACbC,iBAAiB,EAAEF,aAAa,GAAGD,mBAAmB,CAACI,QAAQ,GAAG,CAAC;EACnEC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE,MAAM;EACfC,QAAQ,EAAEP,mBAAmB,CAACQ,kBAAkB;EAChDC,YAAY,EAAE;AAChB,CAAC,CAAC,CAAC;AAEH,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC;AAUF,CAAC,KAAgB;EACf,MAAMjB,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;EAEpD,MAAM6B,wBAAwB,GAAGhC,OAAO,CACtC,OAAO;IACLmB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,MAAM;IACfa,GAAG,EAAEnB,mBAAmB,CAACoB,QAAQ;IACjCjB,iBAAiB,EAAEH,mBAAmB,CAACqB;EACzC,CAAC,CAAC,EACF,CAACrB,mBAAmB,CACtB,CAAC;EAED,OACEN,KAAA,CAAAE,SAAA;IAAA0B,QAAA,GACGT,SAAS,IAAIA,SAAS,EACvBnB,KAAA,CAACG,yBAAyB;MACxBI,aAAa,EAAEsB,OAAO,CAACV,SAAS,CAAE;MAClCb,mBAAmB,EAAEA,mBAAoB;MACzCiB,SAAS,EAAEA,SAAU;MAAAK,QAAA,GAEpBV,KAAK,EACL,CAACD,KAAK,IAAII,QAAQ,IACjBvB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BP,QAAQ,IACPvB,IAAA,CAACF,MAAM;UAACsB,KAAK,EAAEI,WAAW,IAAI,EAAG;UAACD,QAAQ,EAAEA;QAAS,CAAE;MACxD,CACE,CACN,EACA,CAACA,QAAQ,IAAIJ,KAAK,IACjBnB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BX,KAAK,IAAInB,IAAA,CAACL,KAAK;UAACsC,YAAY,EAAEd;QAAM,CAAE;MAAC,CACrC,CACN;IAAA,CACwB,CAAC,EAC3BG,OAAO,IAAIA,OAAO;EAAA,CACnB,CAAC;AAEP,CAAC;AACD,MAAMY,8BAA8B,GAAGzC,IAAI,CAACyB,sBAAsB,CAAC;AACnEgB,8BAA8B,CAACC,WAAW,wDAA2B;AAErE,SAASD,8BAA8B,IAAIhB,sBAAsB","ignoreList":[]}
@@ -37,6 +37,6 @@ const SideNavSortableList = ({
37
37
  });
38
38
  };
39
39
  const MemoizedSideNavSortableList = memo(SideNavSortableList);
40
- MemoizedSideNavSortableList.displayName = "SideNavSortableList";
40
+ MemoizedSideNavSortableList.displayName = "SideNavSortableList::pkg=odyssey&odysseyV=1.57.0";
41
41
  export { MemoizedSideNavSortableList as SideNavSortableList };
42
42
  //# sourceMappingURL=SideNavSortableList.js.map