@okta/odyssey-react-mui 1.57.0 → 1.59.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 (573) hide show
  1. package/dist/cjs/Accordion.cjs +1 -1
  2. package/dist/cjs/Autocomplete.cjs +3 -3
  3. package/dist/cjs/Autocomplete.cjs.map +1 -1
  4. package/dist/cjs/Badge.cjs +1 -1
  5. package/dist/cjs/Banner.cjs +1 -1
  6. package/dist/cjs/Box.cjs +1 -1
  7. package/dist/cjs/Breadcrumbs.cjs +5 -1
  8. package/dist/cjs/Breadcrumbs.cjs.map +1 -1
  9. package/dist/cjs/Buttons/BaseButton.cjs +1 -1
  10. package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
  11. package/dist/cjs/Buttons/Button.cjs +1 -1
  12. package/dist/cjs/Buttons/MenuButton.cjs +1 -1
  13. package/dist/cjs/Buttons/MenuItem.cjs +1 -1
  14. package/dist/cjs/Callout.cjs +1 -1
  15. package/dist/cjs/Card.cjs +1 -1
  16. package/dist/cjs/CircularProgress.cjs +1 -1
  17. package/dist/cjs/ConditionalWrapper.cjs +1 -1
  18. package/dist/cjs/DataTable/DataTable.cjs +5 -3
  19. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  20. package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
  21. package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
  22. package/dist/cjs/DatePickers/DateField.cjs +1 -1
  23. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
  24. package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
  25. package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
  26. package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
  27. package/dist/cjs/Dialog.cjs +1 -1
  28. package/dist/cjs/Drawer.cjs +1 -1
  29. package/dist/cjs/EmptyState.cjs +1 -1
  30. package/dist/cjs/ErrorMessageList.cjs +1 -1
  31. package/dist/cjs/Field.cjs +1 -1
  32. package/dist/cjs/FieldError.cjs +1 -1
  33. package/dist/cjs/FieldHint.cjs +1 -1
  34. package/dist/cjs/FieldLabel.cjs +1 -1
  35. package/dist/cjs/Fields/Checkbox.cjs +1 -1
  36. package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
  37. package/dist/cjs/Fields/Radio.cjs +1 -1
  38. package/dist/cjs/Fields/RadioGroup.cjs +1 -1
  39. package/dist/cjs/Fieldset.cjs +1 -1
  40. package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
  41. package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
  42. package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
  43. package/dist/cjs/Form.cjs +1 -1
  44. package/dist/cjs/FullScreenOverlay.cjs +1 -1
  45. package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
  46. package/dist/cjs/HintLink.cjs +1 -1
  47. package/dist/cjs/IconWithTooltip.cjs +1 -1
  48. package/dist/cjs/Link.cjs +1 -1
  49. package/dist/cjs/MuiPropsChild.cjs +1 -1
  50. package/dist/cjs/NativeSelect.cjs +1 -1
  51. package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
  52. package/dist/cjs/OdysseyDesignTokensContext.cjs +3 -3
  53. package/dist/cjs/OdysseyDesignTokensContext.cjs.map +1 -1
  54. package/dist/cjs/OdysseyProvider.cjs +1 -1
  55. package/dist/cjs/OdysseyThemeProvider.cjs +27 -20
  56. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  57. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
  58. package/dist/cjs/Pagination/Pagination.cjs +1 -1
  59. package/dist/cjs/PasswordField.cjs +1 -1
  60. package/dist/cjs/ScreenReaderText.cjs +1 -1
  61. package/dist/cjs/SearchField.cjs +1 -1
  62. package/dist/cjs/Select.cjs +1 -1
  63. package/dist/cjs/Stack.cjs +1 -1
  64. package/dist/cjs/Status.cjs +1 -1
  65. package/dist/cjs/Surface.cjs +1 -1
  66. package/dist/cjs/Switch.cjs +2 -2
  67. package/dist/cjs/Tabs.cjs +1 -1
  68. package/dist/cjs/Tag.cjs +3 -2
  69. package/dist/cjs/Tag.cjs.map +1 -1
  70. package/dist/cjs/TagList.cjs +3 -1
  71. package/dist/cjs/TagList.cjs.map +1 -1
  72. package/dist/cjs/TextField.cjs +1 -1
  73. package/dist/cjs/Toast.cjs +1 -1
  74. package/dist/cjs/ToastStack.cjs +1 -1
  75. package/dist/cjs/Tooltip.cjs +1 -1
  76. package/dist/cjs/Typography.cjs +12 -12
  77. package/dist/cjs/icons.generated/Add.cjs +1 -1
  78. package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
  79. package/dist/cjs/icons.generated/Apps.cjs +1 -1
  80. package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
  81. package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
  82. package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
  83. package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
  84. package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
  85. package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
  86. package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
  87. package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
  88. package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
  89. package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
  90. package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
  91. package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
  92. package/dist/cjs/icons.generated/Bug.cjs +1 -1
  93. package/dist/cjs/icons.generated/Calendar.cjs +1 -1
  94. package/dist/cjs/icons.generated/Call.cjs +1 -1
  95. package/dist/cjs/icons.generated/Chat.cjs +1 -1
  96. package/dist/cjs/icons.generated/Check.cjs +1 -1
  97. package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
  98. package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
  99. package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
  100. package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
  101. package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
  102. package/dist/cjs/icons.generated/Clock.cjs +1 -1
  103. package/dist/cjs/icons.generated/Close.cjs +1 -1
  104. package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
  105. package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
  106. package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
  107. package/dist/cjs/icons.generated/Copy.cjs +1 -1
  108. package/dist/cjs/icons.generated/Custom.cjs +1 -1
  109. package/dist/cjs/icons.generated/Customizations.cjs +1 -1
  110. package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
  111. package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
  112. package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
  113. package/dist/cjs/icons.generated/Delete.cjs +1 -1
  114. package/dist/cjs/icons.generated/Deny.cjs +1 -1
  115. package/dist/cjs/icons.generated/Devices.cjs +1 -1
  116. package/dist/cjs/icons.generated/Directory.cjs +1 -1
  117. package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
  118. package/dist/cjs/icons.generated/Documentation.cjs +1 -1
  119. package/dist/cjs/icons.generated/Download.cjs +1 -1
  120. package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
  121. package/dist/cjs/icons.generated/Duo.cjs +1 -1
  122. package/dist/cjs/icons.generated/Edit.cjs +1 -1
  123. package/dist/cjs/icons.generated/Email.cjs +1 -1
  124. package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
  125. package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
  126. package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
  127. package/dist/cjs/icons.generated/Fido2.cjs +1 -1
  128. package/dist/cjs/icons.generated/Filter.cjs +1 -1
  129. package/dist/cjs/icons.generated/Folder.cjs +1 -1
  130. package/dist/cjs/icons.generated/Globe.cjs +1 -1
  131. package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
  132. package/dist/cjs/icons.generated/Grid.cjs +1 -1
  133. package/dist/cjs/icons.generated/Group.cjs +1 -1
  134. package/dist/cjs/icons.generated/Happy.cjs +1 -1
  135. package/dist/cjs/icons.generated/Hide.cjs +1 -1
  136. package/dist/cjs/icons.generated/Home.cjs +1 -1
  137. package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
  138. package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
  139. package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
  140. package/dist/cjs/icons.generated/Idp.cjs +1 -1
  141. package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
  142. package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
  143. package/dist/cjs/icons.generated/Link.cjs +1 -1
  144. package/dist/cjs/icons.generated/List.cjs +1 -1
  145. package/dist/cjs/icons.generated/Lock.cjs +1 -1
  146. package/dist/cjs/icons.generated/Menu.cjs +1 -1
  147. package/dist/cjs/icons.generated/More.cjs +1 -1
  148. package/dist/cjs/icons.generated/Neutral.cjs +1 -1
  149. package/dist/cjs/icons.generated/Notification.cjs +1 -1
  150. package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
  151. package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
  152. package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
  153. package/dist/cjs/icons.generated/Password.cjs +1 -1
  154. package/dist/cjs/icons.generated/Pause.cjs +1 -1
  155. package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
  156. package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
  157. package/dist/cjs/icons.generated/Refresh.cjs +1 -1
  158. package/dist/cjs/icons.generated/Reports.cjs +1 -1
  159. package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
  160. package/dist/cjs/icons.generated/Reset.cjs +1 -1
  161. package/dist/cjs/icons.generated/Resume.cjs +1 -1
  162. package/dist/cjs/icons.generated/Sad.cjs +1 -1
  163. package/dist/cjs/icons.generated/Same.cjs +1 -1
  164. package/dist/cjs/icons.generated/Search.cjs +1 -1
  165. package/dist/cjs/icons.generated/Security.cjs +1 -1
  166. package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
  167. package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
  168. package/dist/cjs/icons.generated/Send.cjs +1 -1
  169. package/dist/cjs/icons.generated/Server.cjs +1 -1
  170. package/dist/cjs/icons.generated/Settings.cjs +1 -1
  171. package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
  172. package/dist/cjs/icons.generated/Show.cjs +1 -1
  173. package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
  174. package/dist/cjs/icons.generated/Sms.cjs +1 -1
  175. package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
  176. package/dist/cjs/icons.generated/Subtract.cjs +1 -1
  177. package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
  178. package/dist/cjs/icons.generated/Sync.cjs +1 -1
  179. package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
  180. package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
  181. package/dist/cjs/icons.generated/Unlock.cjs +1 -1
  182. package/dist/cjs/icons.generated/Upload.cjs +1 -1
  183. package/dist/cjs/icons.generated/User.cjs +1 -1
  184. package/dist/cjs/icons.generated/Video.cjs +1 -1
  185. package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
  186. package/dist/cjs/icons.generated/Warning.cjs +1 -1
  187. package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
  188. package/dist/cjs/icons.generated/Workflows.cjs +1 -1
  189. package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
  190. package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
  191. package/dist/cjs/index.cjs.map +1 -1
  192. package/dist/cjs/labs/AppTile.cjs +1 -1
  193. package/dist/cjs/labs/DataFilters.cjs +19 -5
  194. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  195. package/dist/cjs/labs/DataTable.cjs +1 -1
  196. package/dist/cjs/labs/DataTablePagination.cjs +1 -1
  197. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
  198. package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
  199. package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
  200. package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
  201. package/dist/cjs/labs/DataView/DataView.cjs +19 -22
  202. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  203. package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
  204. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
  205. package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
  206. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
  207. package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
  208. package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
  209. package/dist/cjs/labs/DataView/dataTypes.cjs.map +1 -1
  210. package/dist/cjs/labs/DatePickers/DateTimeField.cjs +1 -1
  211. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
  212. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +1 -1
  213. package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
  214. package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
  215. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
  216. package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
  217. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
  218. package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
  219. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
  220. package/dist/cjs/labs/PaginatedTable.cjs +1 -1
  221. package/dist/cjs/labs/StaticTable.cjs +1 -1
  222. package/dist/cjs/labs/UserProfile.cjs +1 -1
  223. package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
  224. package/dist/cjs/properties/ts/odyssey-react-mui.cjs +2 -0
  225. package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
  226. package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs +2 -0
  227. package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
  228. package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs +2 -0
  229. package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
  230. package/dist/cjs/theme/components.cjs +7 -7
  231. package/dist/cjs/theme/components.cjs.map +1 -1
  232. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
  233. package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
  234. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +5 -2
  235. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
  236. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +1 -1
  237. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
  238. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
  239. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
  240. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
  241. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
  242. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
  243. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
  244. package/dist/cjs/ui-shell/SkipToContent.cjs +124 -0
  245. package/dist/cjs/ui-shell/SkipToContent.cjs.map +1 -0
  246. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
  247. package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
  248. package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
  249. package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
  250. package/dist/cjs/ui-shell/UiShell.cjs +1 -1
  251. package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
  252. package/dist/cjs/ui-shell/WideUiShellContent.cjs +5 -2
  253. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  254. package/dist/cjs/ui-shell/index.cjs +12 -0
  255. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  256. package/dist/cjs/ui-shell/uiShellSharedConstants.cjs +2 -1
  257. package/dist/cjs/ui-shell/uiShellSharedConstants.cjs.map +1 -1
  258. package/dist/cjs/useContrastMode.cjs +38 -20
  259. package/dist/cjs/useContrastMode.cjs.map +1 -1
  260. package/dist/cjs/useThemeCache.cjs +53 -0
  261. package/dist/cjs/useThemeCache.cjs.map +1 -0
  262. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  263. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  264. package/dist/esm/Accordion.js +1 -1
  265. package/dist/esm/Autocomplete.js +4 -4
  266. package/dist/esm/Autocomplete.js.map +1 -1
  267. package/dist/esm/Badge.js +1 -1
  268. package/dist/esm/Banner.js +1 -1
  269. package/dist/esm/Box.js +1 -1
  270. package/dist/esm/Breadcrumbs.js +5 -1
  271. package/dist/esm/Breadcrumbs.js.map +1 -1
  272. package/dist/esm/Buttons/BaseButton.js +1 -1
  273. package/dist/esm/Buttons/BaseMenuButton.js +1 -1
  274. package/dist/esm/Buttons/Button.js +1 -1
  275. package/dist/esm/Buttons/MenuButton.js +1 -1
  276. package/dist/esm/Buttons/MenuItem.js +1 -1
  277. package/dist/esm/Callout.js +1 -1
  278. package/dist/esm/Card.js +1 -1
  279. package/dist/esm/CircularProgress.js +1 -1
  280. package/dist/esm/ConditionalWrapper.js +1 -1
  281. package/dist/esm/DataTable/DataTable.js +5 -3
  282. package/dist/esm/DataTable/DataTable.js.map +1 -1
  283. package/dist/esm/DataTable/DataTableRowActions.js +1 -1
  284. package/dist/esm/DataTable/DataTableSettings.js +1 -1
  285. package/dist/esm/DatePickers/DateField.js +1 -1
  286. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  287. package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
  288. package/dist/esm/DatePickers/DatePicker.js +1 -1
  289. package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
  290. package/dist/esm/Dialog.js +1 -1
  291. package/dist/esm/Drawer.js +1 -1
  292. package/dist/esm/EmptyState.js +1 -1
  293. package/dist/esm/ErrorMessageList.js +1 -1
  294. package/dist/esm/Field.js +1 -1
  295. package/dist/esm/FieldError.js +1 -1
  296. package/dist/esm/FieldHint.js +1 -1
  297. package/dist/esm/FieldLabel.js +1 -1
  298. package/dist/esm/Fields/Checkbox.js +1 -1
  299. package/dist/esm/Fields/CheckboxGroup.js +1 -1
  300. package/dist/esm/Fields/Radio.js +1 -1
  301. package/dist/esm/Fields/RadioGroup.js +1 -1
  302. package/dist/esm/Fieldset.js +1 -1
  303. package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
  304. package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
  305. package/dist/esm/FileUploader/FileUploader.js +1 -1
  306. package/dist/esm/Form.js +1 -1
  307. package/dist/esm/FullScreenOverlay.js +1 -1
  308. package/dist/esm/FullScreenOverlayContext.js +1 -1
  309. package/dist/esm/HintLink.js +1 -1
  310. package/dist/esm/IconWithTooltip.js +1 -1
  311. package/dist/esm/Link.js +1 -1
  312. package/dist/esm/MuiPropsChild.js +1 -1
  313. package/dist/esm/NativeSelect.js +1 -1
  314. package/dist/esm/OdysseyCacheProvider.js +1 -1
  315. package/dist/esm/OdysseyDesignTokensContext.js +3 -1
  316. package/dist/esm/OdysseyDesignTokensContext.js.map +1 -1
  317. package/dist/esm/OdysseyProvider.js +1 -1
  318. package/dist/esm/OdysseyThemeProvider.js +28 -21
  319. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  320. package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
  321. package/dist/esm/Pagination/Pagination.js +1 -1
  322. package/dist/esm/PasswordField.js +1 -1
  323. package/dist/esm/ScreenReaderText.js +1 -1
  324. package/dist/esm/SearchField.js +1 -1
  325. package/dist/esm/Select.js +1 -1
  326. package/dist/esm/Stack.js +1 -1
  327. package/dist/esm/Status.js +1 -1
  328. package/dist/esm/Surface.js +1 -1
  329. package/dist/esm/Switch.js +2 -2
  330. package/dist/esm/Tabs.js +1 -1
  331. package/dist/esm/Tag.js +3 -2
  332. package/dist/esm/Tag.js.map +1 -1
  333. package/dist/esm/TagList.js +3 -1
  334. package/dist/esm/TagList.js.map +1 -1
  335. package/dist/esm/TextField.js +1 -1
  336. package/dist/esm/Toast.js +1 -1
  337. package/dist/esm/ToastStack.js +1 -1
  338. package/dist/esm/Tooltip.js +1 -1
  339. package/dist/esm/Typography.js +12 -12
  340. package/dist/esm/icons.generated/Add.js +1 -1
  341. package/dist/esm/icons.generated/AddCircle.js +1 -1
  342. package/dist/esm/icons.generated/Apps.js +1 -1
  343. package/dist/esm/icons.generated/AppsSelected.js +1 -1
  344. package/dist/esm/icons.generated/ArrowBottom.js +1 -1
  345. package/dist/esm/icons.generated/ArrowDown.js +1 -1
  346. package/dist/esm/icons.generated/ArrowLeft.js +1 -1
  347. package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
  348. package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
  349. package/dist/esm/icons.generated/ArrowRight.js +1 -1
  350. package/dist/esm/icons.generated/ArrowTop.js +1 -1
  351. package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
  352. package/dist/esm/icons.generated/ArrowUp.js +1 -1
  353. package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
  354. package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
  355. package/dist/esm/icons.generated/Bug.js +1 -1
  356. package/dist/esm/icons.generated/Calendar.js +1 -1
  357. package/dist/esm/icons.generated/Call.js +1 -1
  358. package/dist/esm/icons.generated/Chat.js +1 -1
  359. package/dist/esm/icons.generated/Check.js +1 -1
  360. package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
  361. package/dist/esm/icons.generated/ChevronDown.js +1 -1
  362. package/dist/esm/icons.generated/ChevronLeft.js +1 -1
  363. package/dist/esm/icons.generated/ChevronRight.js +1 -1
  364. package/dist/esm/icons.generated/ChevronUp.js +1 -1
  365. package/dist/esm/icons.generated/Clock.js +1 -1
  366. package/dist/esm/icons.generated/Close.js +1 -1
  367. package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
  368. package/dist/esm/icons.generated/CollapseLeft.js +1 -1
  369. package/dist/esm/icons.generated/CollapseRight.js +1 -1
  370. package/dist/esm/icons.generated/Copy.js +1 -1
  371. package/dist/esm/icons.generated/Custom.js +1 -1
  372. package/dist/esm/icons.generated/Customizations.js +1 -1
  373. package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
  374. package/dist/esm/icons.generated/DangerDiamond.js +1 -1
  375. package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
  376. package/dist/esm/icons.generated/Delete.js +1 -1
  377. package/dist/esm/icons.generated/Deny.js +1 -1
  378. package/dist/esm/icons.generated/Devices.js +1 -1
  379. package/dist/esm/icons.generated/Directory.js +1 -1
  380. package/dist/esm/icons.generated/DirectorySelected.js +1 -1
  381. package/dist/esm/icons.generated/Documentation.js +1 -1
  382. package/dist/esm/icons.generated/Download.js +1 -1
  383. package/dist/esm/icons.generated/DragIndicator.js +1 -1
  384. package/dist/esm/icons.generated/Duo.js +1 -1
  385. package/dist/esm/icons.generated/Edit.js +1 -1
  386. package/dist/esm/icons.generated/Email.js +1 -1
  387. package/dist/esm/icons.generated/ExpandLeft.js +1 -1
  388. package/dist/esm/icons.generated/ExpandRight.js +1 -1
  389. package/dist/esm/icons.generated/ExternalLink.js +1 -1
  390. package/dist/esm/icons.generated/Fido2.js +1 -1
  391. package/dist/esm/icons.generated/Filter.js +1 -1
  392. package/dist/esm/icons.generated/Folder.js +1 -1
  393. package/dist/esm/icons.generated/Globe.js +1 -1
  394. package/dist/esm/icons.generated/GoogleAuth.js +1 -1
  395. package/dist/esm/icons.generated/Grid.js +1 -1
  396. package/dist/esm/icons.generated/Group.js +1 -1
  397. package/dist/esm/icons.generated/Happy.js +1 -1
  398. package/dist/esm/icons.generated/Hide.js +1 -1
  399. package/dist/esm/icons.generated/Home.js +1 -1
  400. package/dist/esm/icons.generated/HomeSelected.js +1 -1
  401. package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
  402. package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
  403. package/dist/esm/icons.generated/Idp.js +1 -1
  404. package/dist/esm/icons.generated/InformationCircle.js +1 -1
  405. package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
  406. package/dist/esm/icons.generated/Link.js +1 -1
  407. package/dist/esm/icons.generated/List.js +1 -1
  408. package/dist/esm/icons.generated/Lock.js +1 -1
  409. package/dist/esm/icons.generated/Menu.js +1 -1
  410. package/dist/esm/icons.generated/More.js +1 -1
  411. package/dist/esm/icons.generated/Neutral.js +1 -1
  412. package/dist/esm/icons.generated/Notification.js +1 -1
  413. package/dist/esm/icons.generated/OktaVerify.js +1 -1
  414. package/dist/esm/icons.generated/OnPremMfa.js +1 -1
  415. package/dist/esm/icons.generated/OneTimePassword.js +1 -1
  416. package/dist/esm/icons.generated/Password.js +1 -1
  417. package/dist/esm/icons.generated/Pause.js +1 -1
  418. package/dist/esm/icons.generated/QuestionCircle.js +1 -1
  419. package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
  420. package/dist/esm/icons.generated/Refresh.js +1 -1
  421. package/dist/esm/icons.generated/Reports.js +1 -1
  422. package/dist/esm/icons.generated/ReportsSelected.js +1 -1
  423. package/dist/esm/icons.generated/Reset.js +1 -1
  424. package/dist/esm/icons.generated/Resume.js +1 -1
  425. package/dist/esm/icons.generated/Sad.js +1 -1
  426. package/dist/esm/icons.generated/Same.js +1 -1
  427. package/dist/esm/icons.generated/Search.js +1 -1
  428. package/dist/esm/icons.generated/Security.js +1 -1
  429. package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
  430. package/dist/esm/icons.generated/SecuritySelected.js +1 -1
  431. package/dist/esm/icons.generated/Send.js +1 -1
  432. package/dist/esm/icons.generated/Server.js +1 -1
  433. package/dist/esm/icons.generated/Settings.js +1 -1
  434. package/dist/esm/icons.generated/SettingsSelected.js +1 -1
  435. package/dist/esm/icons.generated/Show.js +1 -1
  436. package/dist/esm/icons.generated/SmartCard.js +1 -1
  437. package/dist/esm/icons.generated/Sms.js +1 -1
  438. package/dist/esm/icons.generated/Sparkle.js +1 -1
  439. package/dist/esm/icons.generated/Subtract.js +1 -1
  440. package/dist/esm/icons.generated/SymantecVip.js +1 -1
  441. package/dist/esm/icons.generated/Sync.js +1 -1
  442. package/dist/esm/icons.generated/ThumbsDown.js +1 -1
  443. package/dist/esm/icons.generated/ThumbsUp.js +1 -1
  444. package/dist/esm/icons.generated/Unlock.js +1 -1
  445. package/dist/esm/icons.generated/Upload.js +1 -1
  446. package/dist/esm/icons.generated/User.js +1 -1
  447. package/dist/esm/icons.generated/Video.js +1 -1
  448. package/dist/esm/icons.generated/VoiceCall.js +1 -1
  449. package/dist/esm/icons.generated/Warning.js +1 -1
  450. package/dist/esm/icons.generated/WarningFilled.js +1 -1
  451. package/dist/esm/icons.generated/Workflows.js +1 -1
  452. package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
  453. package/dist/esm/icons.generated/Yubikey.js +1 -1
  454. package/dist/esm/index.js.map +1 -1
  455. package/dist/esm/labs/AppTile.js +1 -1
  456. package/dist/esm/labs/DataFilters.js +19 -5
  457. package/dist/esm/labs/DataFilters.js.map +1 -1
  458. package/dist/esm/labs/DataTable.js +1 -1
  459. package/dist/esm/labs/DataTablePagination.js +1 -1
  460. package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
  461. package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
  462. package/dist/esm/labs/DataView/DataCard.js +1 -1
  463. package/dist/esm/labs/DataView/DataTable.js +1 -1
  464. package/dist/esm/labs/DataView/DataView.js +19 -22
  465. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  466. package/dist/esm/labs/DataView/DetailPanel.js +1 -1
  467. package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
  468. package/dist/esm/labs/DataView/RowActions.js +1 -1
  469. package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
  470. package/dist/esm/labs/DataView/TableSettings.js +1 -1
  471. package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
  472. package/dist/esm/labs/DataView/dataTypes.js.map +1 -1
  473. package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
  474. package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
  475. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
  476. package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
  477. package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
  478. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
  479. package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
  480. package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
  481. package/dist/esm/labs/PageTemplate/Layout.js +1 -1
  482. package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
  483. package/dist/esm/labs/PaginatedTable.js +1 -1
  484. package/dist/esm/labs/StaticTable.js +1 -1
  485. package/dist/esm/labs/UserProfile.js +1 -1
  486. package/dist/esm/labs/UserProfileMenuButton.js +1 -1
  487. package/dist/esm/properties/ts/odyssey-react-mui.js +2 -0
  488. package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
  489. package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js +2 -0
  490. package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
  491. package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js +2 -0
  492. package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
  493. package/dist/esm/theme/components.js +7 -7
  494. package/dist/esm/theme/components.js.map +1 -1
  495. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
  496. package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
  497. package/dist/esm/ui-shell/NarrowUiShellContent.js +5 -2
  498. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
  499. package/dist/esm/ui-shell/SideNav/NavAccordion.js +1 -1
  500. package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
  501. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
  502. package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
  503. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
  504. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
  505. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
  506. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -2
  507. package/dist/esm/ui-shell/SkipToContent.js +118 -0
  508. package/dist/esm/ui-shell/SkipToContent.js.map +1 -0
  509. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
  510. package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
  511. package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
  512. package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
  513. package/dist/esm/ui-shell/UiShell.js +1 -1
  514. package/dist/esm/ui-shell/UiShellLogo.js +1 -1
  515. package/dist/esm/ui-shell/WideUiShellContent.js +5 -2
  516. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  517. package/dist/esm/ui-shell/index.js +2 -1
  518. package/dist/esm/ui-shell/index.js.map +1 -1
  519. package/dist/esm/ui-shell/uiShellSharedConstants.js +1 -0
  520. package/dist/esm/ui-shell/uiShellSharedConstants.js.map +1 -1
  521. package/dist/esm/useContrastMode.js +37 -20
  522. package/dist/esm/useContrastMode.js.map +1 -1
  523. package/dist/esm/useThemeCache.js +46 -0
  524. package/dist/esm/useThemeCache.js.map +1 -0
  525. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  526. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  527. package/dist/tsconfig.production.tsbuildinfo +1 -1
  528. package/dist/types/Autocomplete.d.ts +3 -1
  529. package/dist/types/Autocomplete.d.ts.map +1 -1
  530. package/dist/types/Breadcrumbs.d.ts.map +1 -1
  531. package/dist/types/DataTable/DataTable.d.ts +5 -1
  532. package/dist/types/DataTable/DataTable.d.ts.map +1 -1
  533. package/dist/types/OdysseyDesignTokensContext.d.ts +678 -3
  534. package/dist/types/OdysseyDesignTokensContext.d.ts.map +1 -1
  535. package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
  536. package/dist/types/Tag.d.ts +1 -1
  537. package/dist/types/Tag.d.ts.map +1 -1
  538. package/dist/types/TagList.d.ts +2 -2
  539. package/dist/types/TagList.d.ts.map +1 -1
  540. package/dist/types/i18n.generated/i18n.d.ts +4 -0
  541. package/dist/types/i18n.generated/i18n.d.ts.map +1 -1
  542. package/dist/types/i18n.generated/i18n.resources.d.ts +6 -0
  543. package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
  544. package/dist/types/index.d.ts +1 -0
  545. package/dist/types/index.d.ts.map +1 -1
  546. package/dist/types/labs/DataFilters.d.ts +10 -1
  547. package/dist/types/labs/DataFilters.d.ts.map +1 -1
  548. package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
  549. package/dist/types/labs/DataView/componentTypes.d.ts +4 -1
  550. package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
  551. package/dist/types/labs/DataView/dataTypes.d.ts +2 -1
  552. package/dist/types/labs/DataView/dataTypes.d.ts.map +1 -1
  553. package/dist/types/properties/ts/odyssey-react-mui.d.ts +2 -0
  554. package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  555. package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +2 -0
  556. package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
  557. package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +2 -0
  558. package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
  559. package/dist/types/theme/components.d.ts.map +1 -1
  560. package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
  561. package/dist/types/ui-shell/SkipToContent.d.ts +17 -0
  562. package/dist/types/ui-shell/SkipToContent.d.ts.map +1 -0
  563. package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
  564. package/dist/types/ui-shell/index.d.ts +2 -1
  565. package/dist/types/ui-shell/index.d.ts.map +1 -1
  566. package/dist/types/ui-shell/uiShellSharedConstants.d.ts +1 -0
  567. package/dist/types/ui-shell/uiShellSharedConstants.d.ts.map +1 -1
  568. package/dist/types/useContrastMode.d.ts +6 -2
  569. package/dist/types/useContrastMode.d.ts.map +1 -1
  570. package/dist/types/useThemeCache.d.ts +28 -0
  571. package/dist/types/useThemeCache.d.ts.map +1 -0
  572. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  573. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["_AppSwitcher","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_InnerAppContainer","_NarrowUiShellContent","_renderUiShell","_SideNav","_types","_TopNav","_uiShellContentTypes","_UiShellLogo","_useHasUiShell","_WideUiShellContent","_renderReactInWebComponent","_UiShell","_useUiShellBreakpoints"],"sources":["../../../src/ui-shell/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from \"./AppSwitcher/AppSwitcher.js\";\nexport * from \"./InnerAppContainer.js\";\nexport * from \"./NarrowUiShellContent.js\";\nexport * from \"./renderUiShell.js\";\nexport * from \"./SideNav/SideNav.js\";\nexport * from \"./SideNav/types.js\";\nexport * from \"./TopNav/TopNav.js\";\nexport * from \"./uiShellContentTypes.js\";\nexport * from \"./UiShellLogo.js\";\nexport * from \"./useHasUiShell.js\";\nexport * from \"./WideUiShellContent.js\";\n\nexport * from \"../web-component/renderReactInWebComponent.js\"; // This is located here because some teams use React v17, and this uses React v18's `ReactDOM/client` import which isn't in older versions.\n\nexport { UiShell, type UiShellProps } from \"./UiShell.js\";\nexport {\n adminAppUiShellBreakpoints,\n useUiShellBreakpoints,\n} from \"./useUiShellBreakpoints.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,kBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,kBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,kBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,kBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,qBAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,qBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,qBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,qBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,cAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,cAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAW,cAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,cAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,QAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,QAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAY,QAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,QAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,MAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,MAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAa,MAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,MAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,OAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,OAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAc,OAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,OAAA,CAAAd,GAAA;IAAA;EAAA;AAAA;AACA,IAAAe,oBAAA,GAAAnB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAiB,oBAAA,EAAAhB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAe,oBAAA,CAAAf,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,oBAAA,CAAAf,GAAA;IAAA;EAAA;AAAA;AACA,IAAAgB,YAAA,GAAApB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAkB,YAAA,EAAAjB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAgB,YAAA,CAAAhB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,YAAA,CAAAhB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAiB,cAAA,GAAArB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAmB,cAAA,EAAAlB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAiB,cAAA,CAAAjB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,cAAA,CAAAjB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAkB,mBAAA,GAAAtB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAoB,mBAAA,EAAAnB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAkB,mBAAA,CAAAlB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,mBAAA,CAAAlB,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAmB,0BAAA,GAAAvB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAqB,0BAAA,EAAApB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAmB,0BAAA,CAAAnB,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAW,0BAAA,CAAAnB,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAoB,QAAA,GAAAxB,OAAA;AACA,IAAAyB,sBAAA,GAAAzB,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.cjs","names":["_AppSwitcher","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_InnerAppContainer","_NarrowUiShellContent","_renderUiShell","_SideNav","_types","_SkipToContent","_TopNav","_uiShellContentTypes","_UiShellLogo","_useHasUiShell","_WideUiShellContent","_renderReactInWebComponent","_UiShell","_useUiShellBreakpoints"],"sources":["../../../src/ui-shell/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2026-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport * from \"./AppSwitcher/AppSwitcher.js\";\nexport * from \"./InnerAppContainer.js\";\nexport * from \"./NarrowUiShellContent.js\";\nexport * from \"./renderUiShell.js\";\nexport * from \"./SideNav/SideNav.js\";\nexport * from \"./SideNav/types.js\";\nexport * from \"./SkipToContent.js\";\nexport * from \"./TopNav/TopNav.js\";\nexport * from \"./uiShellContentTypes.js\";\nexport * from \"./UiShellLogo.js\";\nexport * from \"./useHasUiShell.js\";\nexport * from \"./WideUiShellContent.js\";\n\nexport * from \"../web-component/renderReactInWebComponent.js\"; // This is located here because some teams use React v17, and this uses React v18's `ReactDOM/client` import which isn't in older versions.\n\nexport { UiShell, type UiShellProps } from \"./UiShell.js\";\nexport {\n adminAppUiShellBreakpoints,\n useUiShellBreakpoints,\n} from \"./useUiShellBreakpoints.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.emptySideNavItems = exports.UI_SHELL_RAISED_Z_INDEX = exports.UI_SHELL_OVERLAY_Z_INDEX = exports.UI_SHELL_BASE_Z_INDEX = exports.TOP_NAV_HEIGHT = exports.SIDE_NAV_WIDTH = exports.SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION = void 0;
6
+ exports.emptySideNavItems = exports.UI_SHELL_RAISED_Z_INDEX = exports.UI_SHELL_OVERLAY_Z_INDEX = exports.UI_SHELL_BASE_Z_INDEX = exports.TOP_NAV_HEIGHT = exports.SKIP_LINKS_Z_INDEX = exports.SIDE_NAV_WIDTH = exports.SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION = void 0;
7
7
  /*!
8
8
  * Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
9
9
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -20,5 +20,6 @@ const TOP_NAV_HEIGHT = exports.TOP_NAV_HEIGHT = `${64 / 14}rem`;
20
20
  const UI_SHELL_BASE_Z_INDEX = exports.UI_SHELL_BASE_Z_INDEX = 100;
21
21
  const UI_SHELL_RAISED_Z_INDEX = exports.UI_SHELL_RAISED_Z_INDEX = 101;
22
22
  const UI_SHELL_OVERLAY_Z_INDEX = exports.UI_SHELL_OVERLAY_Z_INDEX = 200;
23
+ const SKIP_LINKS_Z_INDEX = exports.SKIP_LINKS_Z_INDEX = 300;
23
24
  const emptySideNavItems = exports.emptySideNavItems = [];
24
25
  //# sourceMappingURL=uiShellSharedConstants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiShellSharedConstants.cjs","names":["SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","exports","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","UI_SHELL_RAISED_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","emptySideNavItems"],"sources":["../../../src/ui-shell/uiShellSharedConstants.ts"],"sourcesContent":["/*!\n * Copyright (c) 2025-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 { SideNavProps } from \"./SideNav/types.js\";\n\n// It's important to bring all our constant values together, so we can change them in one location and ensure the values are all correct relative to each other.\n// This also lends us the capability of swapping these out for a more robust solution in the future.\n\n/* The side nav collapse icon is placed absolutely from the top (Logo container + nav header height) to align it in the middle of the nav header text */\nexport const SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION = \"77px\";\n\nexport const SIDE_NAV_WIDTH = \"300px\";\n\nexport const TOP_NAV_HEIGHT = `${64 / 14}rem`;\n\nexport const UI_SHELL_BASE_Z_INDEX = 100;\n\nexport const UI_SHELL_RAISED_Z_INDEX = 101;\n\nexport const UI_SHELL_OVERLAY_Z_INDEX = 200;\n\nexport const emptySideNavItems = [] satisfies SideNavProps[\"sideNavItems\"];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAQO,MAAMA,wCAAwC,GAAAC,OAAA,CAAAD,wCAAA,GAAG,MAAM;AAEvD,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,OAAO;AAE9B,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK;AAEtC,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AAEjC,MAAMC,uBAAuB,GAAAJ,OAAA,CAAAI,uBAAA,GAAG,GAAG;AAEnC,MAAMC,wBAAwB,GAAAL,OAAA,CAAAK,wBAAA,GAAG,GAAG;AAEpC,MAAMC,iBAAiB,GAAAN,OAAA,CAAAM,iBAAA,GAAG,EAAyC","ignoreList":[]}
1
+ {"version":3,"file":"uiShellSharedConstants.cjs","names":["SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION","exports","SIDE_NAV_WIDTH","TOP_NAV_HEIGHT","UI_SHELL_BASE_Z_INDEX","UI_SHELL_RAISED_Z_INDEX","UI_SHELL_OVERLAY_Z_INDEX","SKIP_LINKS_Z_INDEX","emptySideNavItems"],"sources":["../../../src/ui-shell/uiShellSharedConstants.ts"],"sourcesContent":["/*!\n * Copyright (c) 2025-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 { SideNavProps } from \"./SideNav/types.js\";\n\n// It's important to bring all our constant values together, so we can change them in one location and ensure the values are all correct relative to each other.\n// This also lends us the capability of swapping these out for a more robust solution in the future.\n\n/* The side nav collapse icon is placed absolutely from the top (Logo container + nav header height) to align it in the middle of the nav header text */\nexport const SIDE_NAV_VISIBILITY_TOGGLE_ICON_POSITION = \"77px\";\n\nexport const SIDE_NAV_WIDTH = \"300px\";\n\nexport const TOP_NAV_HEIGHT = `${64 / 14}rem`;\n\nexport const UI_SHELL_BASE_Z_INDEX = 100;\n\nexport const UI_SHELL_RAISED_Z_INDEX = 101;\n\nexport const UI_SHELL_OVERLAY_Z_INDEX = 200;\n\nexport const SKIP_LINKS_Z_INDEX = 300;\n\nexport const emptySideNavItems = [] satisfies SideNavProps[\"sideNavItems\"];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAQO,MAAMA,wCAAwC,GAAAC,OAAA,CAAAD,wCAAA,GAAG,MAAM;AAEvD,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,OAAO;AAE9B,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK;AAEtC,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AAEjC,MAAMC,uBAAuB,GAAAJ,OAAA,CAAAI,uBAAA,GAAG,GAAG;AAEnC,MAAMC,wBAAwB,GAAAL,OAAA,CAAAK,wBAAA,GAAG,GAAG;AAEpC,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,GAAG;AAE9B,MAAMC,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,GAAG,EAAyC","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useContrastModeContext = exports.useContrastMode = exports.normalizeRgbaToRgb = exports.normalizeBackgroundColor = exports.isTransparentColor = exports.hueNeutral50Rgb = exports.getElementComputedBackgroundColor = exports.getBackgroundColor = exports.defaultParentBackgroundColor = exports.defaultContrast = exports.ContrastModeContext = void 0;
6
+ exports.useContrastModeContext = exports.useContrastMode = exports.normalizeRgbaToRgb = exports.normalizeBackgroundColor = exports.isTransparentColor = exports.hueNeutral50Rgb = exports.getElementComputedBackgroundColor = exports.getBackgroundColor = exports.deriveContrastMode = exports.defaultParentBackgroundColor = exports.defaultContrast = exports.ContrastModeContext = void 0;
7
7
  var Tokens = _interopRequireWildcard(require("@okta/odyssey-design-tokens"));
8
8
  var _react = require("react");
9
9
  var _hexToRgb = require("./hexToRgb.cjs");
@@ -42,17 +42,29 @@ const normalizeBackgroundColor = bgColor => {
42
42
  };
43
43
  exports.normalizeBackgroundColor = normalizeBackgroundColor;
44
44
  const defaultParentBackgroundColor = exports.defaultParentBackgroundColor = Tokens.HueNeutral50;
45
+ const getParentElement = element => {
46
+ if (element.parentElement) {
47
+ return element.parentElement;
48
+ }
49
+ const root = element.getRootNode();
50
+ if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {
51
+ return root.host;
52
+ }
53
+ return null;
54
+ };
45
55
  const getBackgroundColor = element => {
46
56
  while (element) {
47
57
  const bgColor = getElementComputedBackgroundColor(element);
48
58
  if (!isTransparentColor(bgColor)) {
49
59
  return normalizeBackgroundColor(bgColor);
50
60
  }
51
- element = element.parentElement;
61
+ element = getParentElement(element);
52
62
  }
53
63
  return defaultParentBackgroundColor;
54
64
  };
55
65
  exports.getBackgroundColor = getBackgroundColor;
66
+ const deriveContrastMode = bgColor => bgColor === Tokens.HueNeutral50 ? "highContrast" : "lowContrast";
67
+ exports.deriveContrastMode = deriveContrastMode;
56
68
  const useContrastMode = ({
57
69
  contrastMode: explicitContrastMode
58
70
  }) => {
@@ -61,36 +73,42 @@ const useContrastMode = ({
61
73
  contrastMode: existingContrastMode
62
74
  } = useContrastModeContext();
63
75
  const [parentBackgroundColor, setParentBackgroundColor] = (0, _react.useState)(defaultParentBackgroundColor);
64
- const [contrastMode, setContrastMode] = (0, _react.useState)(() => explicitContrastMode || existingContrastMode);
76
+ const [detectedContrastMode, setDetectedContrastMode] = (0, _react.useState)(() => existingContrastMode);
77
+ const contrastMode = explicitContrastMode ?? detectedContrastMode;
65
78
  const updateBackgroundColor = (0, _react.useCallback)(() => {
66
79
  const newBgColor = getBackgroundColor(contrastContainerRef.current);
67
80
  setParentBackgroundColor(newBgColor);
68
- if (!explicitContrastMode) {
69
- setContrastMode(newBgColor === Tokens.HueNeutral50 ? "highContrast" : "lowContrast");
70
- }
71
- }, [explicitContrastMode]);
72
- (0, _react.useEffect)(() => {
81
+ setDetectedContrastMode(deriveContrastMode(newBgColor));
82
+ }, []);
83
+ (0, _react.useLayoutEffect)(() => {
84
+ if (explicitContrastMode) return;
73
85
  const observer = new MutationObserver(updateBackgroundColor);
74
- observer.observe(document.querySelector("html"), {
75
- attributes: true,
76
- attributeFilter: ["class", "style"]
77
- });
78
- observer.observe(document.head, {
79
- childList: true,
80
- subtree: true
81
- });
86
+ const htmlElement = document.documentElement;
87
+ if (htmlElement) {
88
+ observer.observe(htmlElement, {
89
+ attributes: true,
90
+ attributeFilter: ["class", "style"]
91
+ });
92
+ }
93
+ if (document.head) {
94
+ observer.observe(document.head, {
95
+ childList: true,
96
+ subtree: true
97
+ });
98
+ }
82
99
  const onTransitionEnd = event => {
83
- if (event.propertyName === "background-color") {
100
+ if (event instanceof TransitionEvent && event.propertyName === "background-color") {
84
101
  updateBackgroundColor();
85
102
  }
86
103
  };
87
- document.addEventListener("transitionend", onTransitionEnd);
104
+ const eventRoot = contrastContainerRef.current?.getRootNode() ?? document;
105
+ eventRoot.addEventListener("transitionend", onTransitionEnd);
88
106
  updateBackgroundColor();
89
107
  return () => {
90
- document.removeEventListener("transitionend", onTransitionEnd);
108
+ eventRoot.removeEventListener("transitionend", onTransitionEnd);
91
109
  observer.disconnect();
92
110
  };
93
- }, [updateBackgroundColor]);
111
+ }, [explicitContrastMode, updateBackgroundColor]);
94
112
  return {
95
113
  contrastContainerRef,
96
114
  contrastMode,
@@ -1 +1 @@
1
- {"version":3,"file":"useContrastMode.cjs","names":["Tokens","_interopRequireWildcard","require","_react","_hexToRgb","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContrastModeContext","exports","createContext","contrastMode","defaultContrast","useContrastModeContext","useContext","hueNeutral50Rgb","hexToRgb","HueNeutral50","asFormattedString","isTransparentColor","color","normalizeRgbaToRgb","rgba","replace","getElementComputedBackgroundColor","element","window","getComputedStyle","backgroundColor","normalizeBackgroundColor","bgColor","test","normalizedColor","defaultParentBackgroundColor","getBackgroundColor","parentElement","useContrastMode","explicitContrastMode","contrastContainerRef","useRef","existingContrastMode","parentBackgroundColor","setParentBackgroundColor","useState","setContrastMode","updateBackgroundColor","useCallback","newBgColor","current","useEffect","observer","MutationObserver","observe","document","querySelector","attributes","attributeFilter","head","childList","subtree","onTransitionEnd","event","propertyName","addEventListener","removeEventListener","disconnect"],"sources":["../../src/useContrastMode.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-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 * as Tokens from \"@okta/odyssey-design-tokens\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { hexToRgb } from \"./hexToRgb.js\";\n\nexport type ContrastMode = \"lowContrast\" | \"highContrast\";\nexport type ContrastModeContextType = {\n contrastMode: ContrastMode;\n};\n\nexport const ContrastModeContext = createContext<ContrastModeContextType>({\n contrastMode: \"lowContrast\",\n});\n\nexport const defaultContrast = \"lowContrast\";\n\nexport const useContrastModeContext = () => useContext(ContrastModeContext);\n\nexport const hueNeutral50Rgb = hexToRgb(Tokens.HueNeutral50).asFormattedString;\n\nexport const isTransparentColor = (color: string) =>\n color === \"rgba(0, 0, 0, 0)\" || color === \"transparent\";\n\nexport const normalizeRgbaToRgb = (rgba: string) =>\n rgba.replace(/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*[\\d.]+\\)/, \"rgb($1, $2, $3)\");\n\nexport const getElementComputedBackgroundColor = (\n element: HTMLElement,\n): string => window.getComputedStyle(element).backgroundColor;\n\nexport const normalizeBackgroundColor = (bgColor: string): string => {\n if (/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*[\\d.]+\\)/.test(bgColor)) {\n const normalizedColor = normalizeRgbaToRgb(bgColor);\n return normalizedColor === hueNeutral50Rgb\n ? Tokens.HueNeutral50\n : normalizedColor;\n }\n\n return bgColor === hueNeutral50Rgb ? Tokens.HueNeutral50 : bgColor;\n};\n\nexport const defaultParentBackgroundColor = Tokens.HueNeutral50;\n\n/**\n * Determines the effective background color of an element.\n *\n * @param element - The HTML element to check.\n * @returns The effective background color. Returns defaultParentBackgroundColor if no non-transparent background is found.\n *\n * Note:\n * - Low contrast mode is used for white background (defaultParentBackgroundColor or HueNeutralWhite).\n * - High contrast mode is used for gray background (#f4f4f4 or HueNeutral50).\n */\nexport const getBackgroundColor = (element: HTMLElement | null): string => {\n while (element) {\n const bgColor = getElementComputedBackgroundColor(element);\n if (!isTransparentColor(bgColor)) {\n return normalizeBackgroundColor(bgColor);\n }\n element = element.parentElement;\n }\n return defaultParentBackgroundColor; // Default to gray/high contrast if no background color is found\n};\n\ntype UseContrastModeProps = {\n contrastMode?: ContrastMode;\n};\n\nexport const useContrastMode = ({\n contrastMode: explicitContrastMode,\n}: UseContrastModeProps) => {\n const contrastContainerRef = useRef<HTMLDivElement>(null);\n const { contrastMode: existingContrastMode } = useContrastModeContext();\n\n const [parentBackgroundColor, setParentBackgroundColor] = useState(\n defaultParentBackgroundColor,\n );\n const [contrastMode, setContrastMode] = useState<ContrastMode>(\n () => explicitContrastMode || existingContrastMode,\n );\n\n const updateBackgroundColor = useCallback(() => {\n const newBgColor = getBackgroundColor(contrastContainerRef.current);\n setParentBackgroundColor(newBgColor);\n\n if (!explicitContrastMode) {\n setContrastMode(\n newBgColor === Tokens.HueNeutral50 ? \"highContrast\" : \"lowContrast\",\n );\n }\n }, [explicitContrastMode]);\n\n useEffect(() => {\n const observer = new MutationObserver(updateBackgroundColor);\n observer.observe(document.querySelector(\"html\") as HTMLHtmlElement, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n observer.observe(document.head, {\n childList: true,\n subtree: true,\n });\n\n const onTransitionEnd = (event: TransitionEvent) => {\n if (event.propertyName === \"background-color\") {\n updateBackgroundColor();\n }\n };\n\n document.addEventListener(\"transitionend\", onTransitionEnd);\n updateBackgroundColor();\n\n return () => {\n document.removeEventListener(\"transitionend\", onTransitionEnd);\n observer.disconnect();\n };\n }, [updateBackgroundColor]);\n\n return {\n contrastContainerRef,\n contrastMode,\n parentBackgroundColor,\n };\n};\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,SAAA,GAAAF,OAAA;AAAyC,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAtBzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBO,MAAMkB,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,oBAAa,EAA0B;EACxEC,YAAY,EAAE;AAChB,CAAC,CAAC;AAEK,MAAMC,eAAe,GAAAH,OAAA,CAAAG,eAAA,GAAG,aAAa;AAErC,MAAMC,sBAAsB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACN,mBAAmB,CAAC;AAACC,OAAA,CAAAI,sBAAA,GAAAA,sBAAA;AAErE,MAAME,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,IAAAC,kBAAQ,EAAChC,MAAM,CAACiC,YAAY,CAAC,CAACC,iBAAiB;AAEvE,MAAMC,kBAAkB,GAAIC,KAAa,IAC9CA,KAAK,KAAK,kBAAkB,IAAIA,KAAK,KAAK,aAAa;AAACX,OAAA,CAAAU,kBAAA,GAAAA,kBAAA;AAEnD,MAAME,kBAAkB,GAAIC,IAAY,IAC7CA,IAAI,CAACC,OAAO,CAAC,2CAA2C,EAAE,iBAAiB,CAAC;AAACd,OAAA,CAAAY,kBAAA,GAAAA,kBAAA;AAExE,MAAMG,iCAAiC,GAC5CC,OAAoB,IACTC,MAAM,CAACC,gBAAgB,CAACF,OAAO,CAAC,CAACG,eAAe;AAACnB,OAAA,CAAAe,iCAAA,GAAAA,iCAAA;AAEvD,MAAMK,wBAAwB,GAAIC,OAAe,IAAa;EACnE,IAAI,2CAA2C,CAACC,IAAI,CAACD,OAAO,CAAC,EAAE;IAC7D,MAAME,eAAe,GAAGX,kBAAkB,CAACS,OAAO,CAAC;IACnD,OAAOE,eAAe,KAAKjB,eAAe,GACtC/B,MAAM,CAACiC,YAAY,GACnBe,eAAe;EACrB;EAEA,OAAOF,OAAO,KAAKf,eAAe,GAAG/B,MAAM,CAACiC,YAAY,GAAGa,OAAO;AACpE,CAAC;AAACrB,OAAA,CAAAoB,wBAAA,GAAAA,wBAAA;AAEK,MAAMI,4BAA4B,GAAAxB,OAAA,CAAAwB,4BAAA,GAAGjD,MAAM,CAACiC,YAAY;AAYxD,MAAMiB,kBAAkB,GAAIT,OAA2B,IAAa;EACzE,OAAOA,OAAO,EAAE;IACd,MAAMK,OAAO,GAAGN,iCAAiC,CAACC,OAAO,CAAC;IAC1D,IAAI,CAACN,kBAAkB,CAACW,OAAO,CAAC,EAAE;MAChC,OAAOD,wBAAwB,CAACC,OAAO,CAAC;IAC1C;IACAL,OAAO,GAAGA,OAAO,CAACU,aAAa;EACjC;EACA,OAAOF,4BAA4B;AACrC,CAAC;AAACxB,OAAA,CAAAyB,kBAAA,GAAAA,kBAAA;AAMK,MAAME,eAAe,GAAGA,CAAC;EAC9BzB,YAAY,EAAE0B;AACM,CAAC,KAAK;EAC1B,MAAMC,oBAAoB,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EACzD,MAAM;IAAE5B,YAAY,EAAE6B;EAAqB,CAAC,GAAG3B,sBAAsB,CAAC,CAAC;EAEvE,MAAM,CAAC4B,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAC,eAAQ,EAChEV,4BACF,CAAC;EACD,MAAM,CAACtB,YAAY,EAAEiC,eAAe,CAAC,GAAG,IAAAD,eAAQ,EAC9C,MAAMN,oBAAoB,IAAIG,oBAChC,CAAC;EAED,MAAMK,qBAAqB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC9C,MAAMC,UAAU,GAAGb,kBAAkB,CAACI,oBAAoB,CAACU,OAAO,CAAC;IACnEN,wBAAwB,CAACK,UAAU,CAAC;IAEpC,IAAI,CAACV,oBAAoB,EAAE;MACzBO,eAAe,CACbG,UAAU,KAAK/D,MAAM,CAACiC,YAAY,GAAG,cAAc,GAAG,aACxD,CAAC;IACH;EACF,CAAC,EAAE,CAACoB,oBAAoB,CAAC,CAAC;EAE1B,IAAAY,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAG,IAAIC,gBAAgB,CAACN,qBAAqB,CAAC;IAC5DK,QAAQ,CAACE,OAAO,CAACC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC,EAAqB;MAClEC,UAAU,EAAE,IAAI;MAChBC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO;IACpC,CAAC,CAAC;IACFN,QAAQ,CAACE,OAAO,CAACC,QAAQ,CAACI,IAAI,EAAE;MAC9BC,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,MAAMC,eAAe,GAAIC,KAAsB,IAAK;MAClD,IAAIA,KAAK,CAACC,YAAY,KAAK,kBAAkB,EAAE;QAC7CjB,qBAAqB,CAAC,CAAC;MACzB;IACF,CAAC;IAEDQ,QAAQ,CAACU,gBAAgB,CAAC,eAAe,EAAEH,eAAe,CAAC;IAC3Df,qBAAqB,CAAC,CAAC;IAEvB,OAAO,MAAM;MACXQ,QAAQ,CAACW,mBAAmB,CAAC,eAAe,EAAEJ,eAAe,CAAC;MAC9DV,QAAQ,CAACe,UAAU,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACpB,qBAAqB,CAAC,CAAC;EAE3B,OAAO;IACLP,oBAAoB;IACpB3B,YAAY;IACZ8B;EACF,CAAC;AACH,CAAC;AAAChC,OAAA,CAAA2B,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"useContrastMode.cjs","names":["Tokens","_interopRequireWildcard","require","_react","_hexToRgb","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContrastModeContext","exports","createContext","contrastMode","defaultContrast","useContrastModeContext","useContext","hueNeutral50Rgb","hexToRgb","HueNeutral50","asFormattedString","isTransparentColor","color","normalizeRgbaToRgb","rgba","replace","getElementComputedBackgroundColor","element","window","getComputedStyle","backgroundColor","normalizeBackgroundColor","bgColor","test","normalizedColor","defaultParentBackgroundColor","getParentElement","parentElement","root","getRootNode","ShadowRoot","host","HTMLElement","getBackgroundColor","deriveContrastMode","useContrastMode","explicitContrastMode","contrastContainerRef","useRef","existingContrastMode","parentBackgroundColor","setParentBackgroundColor","useState","detectedContrastMode","setDetectedContrastMode","updateBackgroundColor","useCallback","newBgColor","current","useLayoutEffect","observer","MutationObserver","htmlElement","document","documentElement","observe","attributes","attributeFilter","head","childList","subtree","onTransitionEnd","event","TransitionEvent","propertyName","eventRoot","addEventListener","removeEventListener","disconnect"],"sources":["../../src/useContrastMode.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-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 * as Tokens from \"@okta/odyssey-design-tokens\";\nimport {\n createContext,\n useCallback,\n useContext,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { hexToRgb } from \"./hexToRgb.js\";\n\nexport type ContrastMode = \"lowContrast\" | \"highContrast\";\nexport type ContrastModeContextType = {\n contrastMode: ContrastMode;\n};\n\nexport const ContrastModeContext = createContext<ContrastModeContextType>({\n contrastMode: \"lowContrast\",\n});\n\nexport const defaultContrast = \"lowContrast\";\n\nexport const useContrastModeContext = () => useContext(ContrastModeContext);\n\nexport const hueNeutral50Rgb = hexToRgb(Tokens.HueNeutral50).asFormattedString;\n\nexport const isTransparentColor = (color: string) =>\n color === \"rgba(0, 0, 0, 0)\" || color === \"transparent\";\n\nexport const normalizeRgbaToRgb = (rgba: string) =>\n rgba.replace(/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*[\\d.]+\\)/, \"rgb($1, $2, $3)\");\n\nexport const getElementComputedBackgroundColor = (\n element: HTMLElement,\n): string => window.getComputedStyle(element).backgroundColor;\n\nexport const normalizeBackgroundColor = (bgColor: string): string => {\n if (/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*[\\d.]+\\)/.test(bgColor)) {\n const normalizedColor = normalizeRgbaToRgb(bgColor);\n return normalizedColor === hueNeutral50Rgb\n ? Tokens.HueNeutral50\n : normalizedColor;\n }\n\n return bgColor === hueNeutral50Rgb ? Tokens.HueNeutral50 : bgColor;\n};\n\n/** Default background color when none is detected: HueNeutral50 (gray = highContrast). */\nexport const defaultParentBackgroundColor = Tokens.HueNeutral50;\n\n/**\n * Returns the parent element, crossing shadow DOM boundaries when necessary.\n * When `parentElement` is null (e.g., at a shadow root), this checks if the\n * element is inside a ShadowRoot and jumps to the host element to continue\n * traversal.\n */\nconst getParentElement = (element: HTMLElement): HTMLElement | null => {\n if (element.parentElement) {\n return element.parentElement;\n }\n\n const root = element.getRootNode();\n if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {\n return root.host;\n }\n\n return null;\n};\n\n/**\n * Determines the effective background color of an element.\n *\n * @param element - The HTML element to check.\n * @returns The effective background color. Returns defaultParentBackgroundColor if no non-transparent background is found.\n *\n * Note:\n * - Low contrast mode is used for white background (HueNeutralWhite).\n * - High contrast mode is used for gray background (defaultParentBackgroundColor = HueNeutral50).\n * - Crosses shadow DOM boundaries via `getRootNode().host` to detect backgrounds\n * set outside of shadow roots.\n */\nexport const getBackgroundColor = (element: HTMLElement | null): string => {\n while (element) {\n const bgColor = getElementComputedBackgroundColor(element);\n if (!isTransparentColor(bgColor)) {\n return normalizeBackgroundColor(bgColor);\n }\n element = getParentElement(element);\n }\n return defaultParentBackgroundColor; // Default to gray/high contrast if no background color is found\n};\n\nexport const deriveContrastMode = (bgColor: string): ContrastMode =>\n bgColor === Tokens.HueNeutral50 ? \"highContrast\" : \"lowContrast\";\n\ntype UseContrastModeProps = {\n contrastMode?: ContrastMode;\n};\n\nexport const useContrastMode = ({\n contrastMode: explicitContrastMode,\n}: UseContrastModeProps) => {\n const contrastContainerRef = useRef<HTMLDivElement>(null);\n const { contrastMode: existingContrastMode } = useContrastModeContext();\n\n const [parentBackgroundColor, setParentBackgroundColor] = useState(\n defaultParentBackgroundColor,\n );\n const [detectedContrastMode, setDetectedContrastMode] =\n useState<ContrastMode>(() => existingContrastMode);\n\n const contrastMode = explicitContrastMode ?? detectedContrastMode;\n\n const updateBackgroundColor = useCallback(() => {\n const newBgColor = getBackgroundColor(contrastContainerRef.current);\n setParentBackgroundColor(newBgColor);\n setDetectedContrastMode(deriveContrastMode(newBgColor));\n }, []);\n\n useLayoutEffect(() => {\n if (explicitContrastMode) return;\n\n const observer = new MutationObserver(updateBackgroundColor);\n\n // In shadow DOM contexts, document.documentElement and\n // document.head may not be accessible. Guard against null to\n // prevent observer.observe(null) from throwing.\n const htmlElement = document.documentElement;\n if (htmlElement) {\n observer.observe(htmlElement, {\n attributes: true,\n attributeFilter: [\"class\", \"style\"],\n });\n }\n\n if (document.head) {\n observer.observe(document.head, {\n childList: true,\n subtree: true,\n });\n }\n\n const onTransitionEnd = (event: Event) => {\n if (\n event instanceof TransitionEvent &&\n event.propertyName === \"background-color\"\n ) {\n updateBackgroundColor();\n }\n };\n\n // Attach the transitionend listener to the element's root node so it\n // works inside shadow DOM (where events don't bubble to `document`).\n const eventRoot = contrastContainerRef.current?.getRootNode() ?? document;\n eventRoot.addEventListener(\"transitionend\", onTransitionEnd);\n updateBackgroundColor();\n\n return () => {\n eventRoot.removeEventListener(\"transitionend\", onTransitionEnd);\n observer.disconnect();\n };\n }, [explicitContrastMode, updateBackgroundColor]);\n\n return {\n contrastContainerRef,\n contrastMode,\n parentBackgroundColor,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useThemeCache = exports.ThemeCacheContext = void 0;
7
+ var _react = require("react");
8
+ var _theme = require("./theme/theme.cjs");
9
+ /*!
10
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
11
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
12
+ *
13
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ *
18
+ * See the License for the specific language governing permissions and limitations under the License.
19
+ */
20
+
21
+ const ThemeCacheContext = exports.ThemeCacheContext = (0, _react.createContext)(null);
22
+ const useThemeCache = ({
23
+ odysseyTokens,
24
+ shadowRootElement
25
+ }) => {
26
+ const existingCache = (0, _react.useContext)(ThemeCacheContext);
27
+ const localCache = (0, _react.useMemo)(() => new Map(), [odysseyTokens, shadowRootElement]);
28
+ const getOrCreateTheme = (0, _react.useCallback)(mode => {
29
+ if (existingCache && existingCache.odysseyTokens === odysseyTokens && existingCache.shadowRootElement === shadowRootElement) {
30
+ return existingCache.get(mode);
31
+ }
32
+ const cached = localCache.get(mode);
33
+ if (cached) return cached;
34
+ const theme = (0, _theme.createOdysseyMuiTheme)({
35
+ contrastMode: mode,
36
+ odysseyTokens,
37
+ shadowRootElement
38
+ });
39
+ localCache.set(mode, theme);
40
+ return theme;
41
+ }, [existingCache, localCache, odysseyTokens, shadowRootElement]);
42
+ const themeCache = (0, _react.useMemo)(() => ({
43
+ get: getOrCreateTheme,
44
+ odysseyTokens,
45
+ shadowRootElement
46
+ }), [getOrCreateTheme, odysseyTokens, shadowRootElement]);
47
+ return {
48
+ getOrCreateTheme,
49
+ themeCache
50
+ };
51
+ };
52
+ exports.useThemeCache = useThemeCache;
53
+ //# sourceMappingURL=useThemeCache.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemeCache.cjs","names":["_react","require","_theme","ThemeCacheContext","exports","createContext","useThemeCache","odysseyTokens","shadowRootElement","existingCache","useContext","localCache","useMemo","Map","getOrCreateTheme","useCallback","mode","get","cached","theme","createOdysseyMuiTheme","contrastMode","set","themeCache"],"sources":["../../src/useThemeCache.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Theme } from \"@mui/material/styles\";\nimport { createContext, useCallback, useContext, useMemo } from \"react\";\n\nimport { createOdysseyMuiTheme, DesignTokens } from \"./theme/theme.js\";\nimport { ContrastMode } from \"./useContrastMode.js\";\n\nexport type ThemeCache = {\n get: (contrastMode: ContrastMode) => Theme;\n odysseyTokens: DesignTokens;\n shadowRootElement: HTMLElement | undefined;\n};\n\nexport const ThemeCacheContext = createContext<ThemeCache | null>(null);\n\nexport const useThemeCache = ({\n odysseyTokens,\n shadowRootElement,\n}: {\n odysseyTokens: DesignTokens;\n shadowRootElement: HTMLElement | undefined;\n}) => {\n const existingCache = useContext(ThemeCacheContext);\n\n const localCache = useMemo(\n () => new Map<ContrastMode, Theme>(),\n [odysseyTokens, shadowRootElement],\n );\n\n const getOrCreateTheme = useCallback(\n (mode: ContrastMode) => {\n if (\n existingCache &&\n existingCache.odysseyTokens === odysseyTokens &&\n existingCache.shadowRootElement === shadowRootElement\n ) {\n return existingCache.get(mode);\n }\n const cached = localCache.get(mode);\n if (cached) return cached;\n const theme = createOdysseyMuiTheme({\n contrastMode: mode,\n odysseyTokens,\n shadowRootElement,\n });\n localCache.set(mode, theme);\n return theme;\n },\n [existingCache, localCache, odysseyTokens, shadowRootElement],\n );\n\n const themeCache = useMemo<ThemeCache>(\n () => ({ get: getOrCreateTheme, odysseyTokens, shadowRootElement }),\n [getOrCreateTheme, odysseyTokens, shadowRootElement],\n );\n\n return { getOrCreateTheme, themeCache };\n};\n"],"mappings":";;;;;;AAaA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,MAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAAE,oBAAa,EAAoB,IAAI,CAAC;AAEhE,MAAMC,aAAa,GAAGA,CAAC;EAC5BC,aAAa;EACbC;AAIF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACP,iBAAiB,CAAC;EAEnD,MAAMQ,UAAU,GAAG,IAAAC,cAAO,EACxB,MAAM,IAAIC,GAAG,CAAsB,CAAC,EACpC,CAACN,aAAa,EAAEC,iBAAiB,CACnC,CAAC;EAED,MAAMM,gBAAgB,GAAG,IAAAC,kBAAW,EACjCC,IAAkB,IAAK;IACtB,IACEP,aAAa,IACbA,aAAa,CAACF,aAAa,KAAKA,aAAa,IAC7CE,aAAa,CAACD,iBAAiB,KAAKA,iBAAiB,EACrD;MACA,OAAOC,aAAa,CAACQ,GAAG,CAACD,IAAI,CAAC;IAChC;IACA,MAAME,MAAM,GAAGP,UAAU,CAACM,GAAG,CAACD,IAAI,CAAC;IACnC,IAAIE,MAAM,EAAE,OAAOA,MAAM;IACzB,MAAMC,KAAK,GAAG,IAAAC,4BAAqB,EAAC;MAClCC,YAAY,EAAEL,IAAI;MAClBT,aAAa;MACbC;IACF,CAAC,CAAC;IACFG,UAAU,CAACW,GAAG,CAACN,IAAI,EAAEG,KAAK,CAAC;IAC3B,OAAOA,KAAK;EACd,CAAC,EACD,CAACV,aAAa,EAAEE,UAAU,EAAEJ,aAAa,EAAEC,iBAAiB,CAC9D,CAAC;EAED,MAAMe,UAAU,GAAG,IAAAX,cAAO,EACxB,OAAO;IAAEK,GAAG,EAAEH,gBAAgB;IAAEP,aAAa;IAAEC;EAAkB,CAAC,CAAC,EACnE,CAACM,gBAAgB,EAAEP,aAAa,EAAEC,iBAAiB,CACrD,CAAC;EAED,OAAO;IAAEM,gBAAgB;IAAES;EAAW,CAAC;AACzC,CAAC;AAACnB,OAAA,CAAAE,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -15,5 +15,5 @@ exports.default = void 0;
15
15
  *
16
16
  * See the License for the specific language governing permissions and limitations under the License.
17
17
  */
18
- var _default = exports.default = "1-57-0";
18
+ var _default = exports.default = "1-59-0";
19
19
  //# sourceMappingURL=odysseyWebComponentVersion.generated.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odysseyWebComponentVersion.generated.cjs","names":["_default","exports","default"],"sources":["../../../src/web-component/odysseyWebComponentVersion.generated.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/**\n * DO NOT UPDATE THIS FILE MANUALLY\n * This file is managed by scripts/updateWebComponentVersion.ts and any changes made will be overwritten\n * This script only needs to be run during release, and shouldn't be used during local development.\n */\n\nexport default \"1-57-0\";\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAkBe,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"odysseyWebComponentVersion.generated.cjs","names":["_default","exports","default"],"sources":["../../../src/web-component/odysseyWebComponentVersion.generated.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/**\n * DO NOT UPDATE THIS FILE MANUALLY\n * This file is managed by scripts/updateWebComponentVersion.ts and any changes made will be overwritten\n * This script only needs to be run during release, and shouldn't be used during local development.\n */\n\nexport default \"1-59-0\";\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAkBe,QAAQ","ignoreList":[]}
@@ -57,6 +57,6 @@ const Accordion = ({
57
57
  });
58
58
  };
59
59
  const MemoizedAccordion = memo(Accordion);
60
- MemoizedAccordion.displayName = "Accordion::pkg=odyssey&odysseyV=1.57.0";
60
+ MemoizedAccordion.displayName = "Accordion::pkg=odyssey&odysseyV=1.59.0";
61
61
  export { MemoizedAccordion as Accordion };
62
62
  //# sourceMappingURL=Accordion.js.map
@@ -10,11 +10,10 @@ import _Autocomplete from "@mui/material/Autocomplete";
10
10
  *
11
11
  * See the License for the specific language governing permissions and limitations under the License.
12
12
  */
13
- import { memo } from "react";
13
+ import { memo, createElement as _createElement } from "react";
14
14
  import { useTranslation } from "./i18n.generated/i18n.js";
15
15
  import { PickerVirtualizationListBox } from "./labs/OdysseyPickers/PickerVirtualizationListBox.js";
16
16
  import { useAutocomplete } from "./useAutocomplete.js";
17
- import { jsx as _jsx } from "react/jsx-runtime";
18
17
  const Autocomplete = ({
19
18
  ariaDescribedBy,
20
19
  defaultValue,
@@ -72,9 +71,10 @@ const Autocomplete = ({
72
71
  testId,
73
72
  value
74
73
  });
75
- return _jsx(_Autocomplete, {
74
+ return _createElement(_Autocomplete, {
76
75
  ...valueProps,
77
76
  ...inputValueProp,
77
+ key: hasMultipleChoices ? "multiple" : "single",
78
78
  ...(isVirtualizedRef.current && {
79
79
  ListboxComponent: PickerVirtualizationListBox
80
80
  }),
@@ -104,6 +104,6 @@ const Autocomplete = ({
104
104
  });
105
105
  };
106
106
  const MemoizedAutocomplete = memo(Autocomplete);
107
- MemoizedAutocomplete.displayName = "Autocomplete::pkg=odyssey&odysseyV=1.57.0";
107
+ MemoizedAutocomplete.displayName = "Autocomplete::pkg=odyssey&odysseyV=1.59.0";
108
108
  export { MemoizedAutocomplete as Autocomplete };
109
109
  //# sourceMappingURL=Autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","names":["memo","useTranslation","PickerVirtualizationListBox","useAutocomplete","jsx","_jsx","Autocomplete","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","getOptionLabel","hasMultipleChoices","hint","HintLinkComponent","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","label","name","nameOverride","noOptionsText","onBlur","onChange","onFocus","onInputChange","options","testId","translate","value","t","inputValueProp","isVirtualizedRef","renderInput","valueProps","_Autocomplete","current","ListboxComponent","clearText","closeText","disableCloseOnSelect","disabled","filterSelectedOptions","freeSolo","fullWidth","isOptionEqualToValue","loading","multiple","openText","readOnly","MemoizedAutocomplete","displayName"],"sources":["../../src/Autocomplete.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n UseAutocompleteProps as MuiUseAutocompleteProps,\n} from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { PickerVirtualizationListBox } from \"./labs/OdysseyPickers/PickerVirtualizationListBox.js\";\nimport { useAutocomplete } from \"./useAutocomplete.js\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /** Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n\n /**\n * Used to determine the string value for a given option. It's used to fill the input (and the list box options if renderOption is not provided). If used in free solo mode, it must accept both the type of the options and a string.\n *\n * `function(option: Value) => string`\n */\n getOptionLabel?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"getOptionLabel\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * If this component is required to display a virtualized list of options,\n * then this value needs to be set to true.\n * It is recommended if you're options are on the order of 10's of hundreds or more.\n */\n isVirtualized?: boolean;\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The text to display when no options are available\n *\n * default: \"No options\"\n */\n noOptionsText?: string;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\nconst Autocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n getIsOptionEqualToValue,\n getOptionLabel,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isFullWidth = false,\n isLoading,\n isOptional = false,\n isReadOnly,\n isVirtualized = false,\n label,\n name: nameOverride,\n noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n options,\n testId,\n translate,\n value,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const { t } = useTranslation();\n const { inputValueProp, isVirtualizedRef, renderInput, valueProps } =\n useAutocomplete<OptionType, HasMultipleChoices, IsCustomValueAllowed>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n inputValue,\n isFullWidth,\n isOptional,\n isReadOnly,\n isVirtualized,\n label,\n name: nameOverride,\n testId,\n value,\n });\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // conditionally provide the ListboxComponent if this needs to be virtualized\n {...(isVirtualizedRef.current && {\n ListboxComponent: PickerVirtualizationListBox,\n })}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n clearText={t(\"clear.text\")}\n closeText={t(\"close.text\")}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n filterSelectedOptions={true}\n freeSolo={isCustomValueAllowed}\n fullWidth={isFullWidth}\n getOptionLabel={getOptionLabel}\n id={idOverride}\n isOptionEqualToValue={getIsOptionEqualToValue}\n loading={isLoading}\n multiple={hasMultipleChoices}\n noOptionsText={noOptionsText || t(\"autocomplete.nooptions\")}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onInputChange={onInputChange}\n openText={t(\"open.text\")}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n translate={translate}\n />\n );\n};\n\n// Need the `typeof Autocomplete` because generics don't get passed through\nconst MemoizedAutocomplete = memo(Autocomplete) as typeof Autocomplete;\n// @ts-expect-error displayName is expected to not be on `typeof Autocomplete`\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as Autocomplete };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA,SAASA,IAAI,QAAQ,OAAO;AAK5B,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,2BAA2B,QAAQ,sDAAsD;AAClG,SAASC,eAAe,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAwKvD,MAAMC,YAAY,GAAGA,CAInB;EACAC,eAAe;EACfC,YAAY;EACZC,YAAY;EACZC,gBAAgB;EAChBC,uBAAuB;EACvBC,cAAc;EACdC,kBAAkB;EAClBC,IAAI;EACJC,iBAAiB;EACjBC,EAAE,EAAEC,UAAU;EACdC,UAAU;EACVC,oBAAoB;EACpBC,UAAU;EACVC,WAAW,GAAG,KAAK;EACnBC,SAAS;EACTC,UAAU,GAAG,KAAK;EAClBC,UAAU;EACVC,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,IAAI,EAAEC,YAAY;EAClBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,OAAO;EACPC,aAAa;EACbC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC;AACuE,CAAC,KAAK;EAC7E,MAAM;IAAEC;EAAE,CAAC,GAAGrC,cAAc,CAAC,CAAC;EAC9B,MAAM;IAAEsC,cAAc;IAAEC,gBAAgB;IAAEC,WAAW;IAAEC;EAAW,CAAC,GACjEvC,eAAe,CAAuD;IACpEI,eAAe;IACfC,YAAY;IACZC,YAAY;IACZC,gBAAgB;IAChBG,kBAAkB;IAClBC,IAAI;IACJC,iBAAiB;IACjBG,UAAU;IACVG,WAAW;IACXE,UAAU;IACVC,UAAU;IACVC,aAAa;IACbC,KAAK;IACLC,IAAI,EAAEC,YAAY;IAClBO,MAAM;IACNE;EACF,CAAC,CAAC;EAEJ,OACEhC,IAAA,CAAAsC,aAAA;IAAA,GACMD,UAAU;IAAA,GACVH,cAAc;IAAA,IAEbC,gBAAgB,CAACI,OAAO,IAAI;MAC/BC,gBAAgB,EAAE3C;IACpB,CAAC;IAED,iBAAekB,UAAW;IAC1B0B,SAAS,EAAER,CAAC,CAAC,YAAY,CAAE;IAC3BS,SAAS,EAAET,CAAC,CAAC,YAAY,CAAE;IAC3BU,oBAAoB,EAAEnC,kBAAmB;IACzCoC,QAAQ,EAAE7B,UAAW;IACrB8B,qBAAqB,EAAE,IAAK;IAC5BC,QAAQ,EAAEhC,oBAAqB;IAC/BiC,SAAS,EAAE/B,WAAY;IACvBT,cAAc,EAAEA,cAAe;IAC/BI,EAAE,EAAEC,UAAW;IACfoC,oBAAoB,EAAE1C,uBAAwB;IAC9C2C,OAAO,EAAEhC,SAAU;IACnBiC,QAAQ,EAAE1C,kBAAmB;IAC7BgB,aAAa,EAAEA,aAAa,IAAIS,CAAC,CAAC,wBAAwB,CAAE;IAC5DR,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BuB,QAAQ,EAAElB,CAAC,CAAC,WAAW,CAAE;IACzBJ,OAAO,EAAEA,OAAQ;IACjBuB,QAAQ,EAAEjC,UAAW;IACrBiB,WAAW,EAAEA,WAAY;IACzBL,SAAS,EAAEA;EAAU,CACtB,CAAC;AAEN,CAAC;AAGD,MAAMsB,oBAAoB,GAAG1D,IAAI,CAACM,YAAY,CAAwB;AAEtEoD,oBAAoB,CAACC,WAAW,8CAAiB;AAEjD,SAASD,oBAAoB,IAAIpD,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"Autocomplete.js","names":["memo","createElement","_createElement","useTranslation","PickerVirtualizationListBox","useAutocomplete","Autocomplete","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","getOptionLabel","hasMultipleChoices","hint","HintLinkComponent","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","label","name","nameOverride","noOptionsText","onBlur","onChange","onFocus","onInputChange","options","testId","translate","value","t","inputValueProp","isVirtualizedRef","renderInput","valueProps","_Autocomplete","key","current","ListboxComponent","clearText","closeText","disableCloseOnSelect","disabled","filterSelectedOptions","freeSolo","fullWidth","isOptionEqualToValue","loading","multiple","openText","readOnly","MemoizedAutocomplete","displayName"],"sources":["../../src/Autocomplete.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n UseAutocompleteProps as MuiUseAutocompleteProps,\n} from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { PickerVirtualizationListBox } from \"./labs/OdysseyPickers/PickerVirtualizationListBox.js\";\nimport { useAutocomplete } from \"./useAutocomplete.js\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /** Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n\n /**\n * Used to determine the string value for a given option. It's used to fill the input (and the list box options if renderOption is not provided). If used in free solo mode, it must accept both the type of the options and a string.\n *\n * `function(option: Value) => string`\n */\n getOptionLabel?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"getOptionLabel\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * If this component is required to display a virtualized list of options,\n * then this value needs to be set to true.\n * It is recommended if you're options are on the order of 10's of hundreds or more.\n */\n isVirtualized?: boolean;\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The text to display when no options are available\n *\n * default: \"No options\"\n */\n noOptionsText?: string;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\nconst Autocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n getIsOptionEqualToValue,\n getOptionLabel,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isFullWidth = false,\n isLoading,\n isOptional = false,\n isReadOnly,\n isVirtualized = false,\n label,\n name: nameOverride,\n noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n options,\n testId,\n translate,\n value,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const { t } = useTranslation();\n const { inputValueProp, isVirtualizedRef, renderInput, valueProps } =\n useAutocomplete<OptionType, HasMultipleChoices, IsCustomValueAllowed>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n inputValue,\n isFullWidth,\n isOptional,\n isReadOnly,\n isVirtualized,\n label,\n name: nameOverride,\n testId,\n value,\n });\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // MUI's value type is incompatible between single (null) and multiple (array)\n // modes. Changing `multiple` on a live instance causes a null.length crash,\n // so we force a remount when the mode changes. This resets internal UI state.\n key={hasMultipleChoices ? \"multiple\" : \"single\"}\n // conditionally provide the ListboxComponent if this needs to be virtualized\n {...(isVirtualizedRef.current && {\n ListboxComponent: PickerVirtualizationListBox,\n })}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n clearText={t(\"clear.text\")}\n closeText={t(\"close.text\")}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n filterSelectedOptions={true}\n freeSolo={isCustomValueAllowed}\n fullWidth={isFullWidth}\n getOptionLabel={getOptionLabel}\n id={idOverride}\n isOptionEqualToValue={getIsOptionEqualToValue}\n loading={isLoading}\n multiple={hasMultipleChoices}\n noOptionsText={noOptionsText || t(\"autocomplete.nooptions\")}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onInputChange={onInputChange}\n openText={t(\"open.text\")}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n translate={translate}\n />\n );\n};\n\nconst MemoizedAutocomplete = memo(Autocomplete) as typeof Autocomplete & {\n displayName?: string;\n};\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as Autocomplete };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA,SAASA,IAAI,EAAAC,aAAA,IAAAC,cAAA,QAAQ,OAAO;AAK5B,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,2BAA2B,QAAQ,sDAAsD;AAClG,SAASC,eAAe,QAAQ,sBAAsB;AAwKtD,MAAMC,YAAY,GAAGA,CAInB;EACAC,eAAe;EACfC,YAAY;EACZC,YAAY;EACZC,gBAAgB;EAChBC,uBAAuB;EACvBC,cAAc;EACdC,kBAAkB;EAClBC,IAAI;EACJC,iBAAiB;EACjBC,EAAE,EAAEC,UAAU;EACdC,UAAU;EACVC,oBAAoB;EACpBC,UAAU;EACVC,WAAW,GAAG,KAAK;EACnBC,SAAS;EACTC,UAAU,GAAG,KAAK;EAClBC,UAAU;EACVC,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,IAAI,EAAEC,YAAY;EAClBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,OAAO;EACPC,aAAa;EACbC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC;AACuE,CAAC,KAAK;EAC7E,MAAM;IAAEC;EAAE,CAAC,GAAGnC,cAAc,CAAC,CAAC;EAC9B,MAAM;IAAEoC,cAAc;IAAEC,gBAAgB;IAAEC,WAAW;IAAEC;EAAW,CAAC,GACjErC,eAAe,CAAuD;IACpEE,eAAe;IACfC,YAAY;IACZC,YAAY;IACZC,gBAAgB;IAChBG,kBAAkB;IAClBC,IAAI;IACJC,iBAAiB;IACjBG,UAAU;IACVG,WAAW;IACXE,UAAU;IACVC,UAAU;IACVC,aAAa;IACbC,KAAK;IACLC,IAAI,EAAEC,YAAY;IAClBO,MAAM;IACNE;EACF,CAAC,CAAC;EAEJ,OACEnC,cAAA,CAAAyC,aAAA;IAAA,GACMD,UAAU;IAAA,GACVH,cAAc;IAIlBK,GAAG,EAAE/B,kBAAkB,GAAG,UAAU,GAAG,QAAS;IAAA,IAE3C2B,gBAAgB,CAACK,OAAO,IAAI;MAC/BC,gBAAgB,EAAE1C;IACpB,CAAC;IAED,iBAAegB,UAAW;IAC1B2B,SAAS,EAAET,CAAC,CAAC,YAAY,CAAE;IAC3BU,SAAS,EAAEV,CAAC,CAAC,YAAY,CAAE;IAC3BW,oBAAoB,EAAEpC,kBAAmB;IACzCqC,QAAQ,EAAE9B,UAAW;IACrB+B,qBAAqB,EAAE,IAAK;IAC5BC,QAAQ,EAAEjC,oBAAqB;IAC/BkC,SAAS,EAAEhC,WAAY;IACvBT,cAAc,EAAEA,cAAe;IAC/BI,EAAE,EAAEC,UAAW;IACfqC,oBAAoB,EAAE3C,uBAAwB;IAC9C4C,OAAO,EAAEjC,SAAU;IACnBkC,QAAQ,EAAE3C,kBAAmB;IAC7BgB,aAAa,EAAEA,aAAa,IAAIS,CAAC,CAAC,wBAAwB,CAAE;IAC5DR,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BwB,QAAQ,EAAEnB,CAAC,CAAC,WAAW,CAAE;IACzBJ,OAAO,EAAEA,OAAQ;IACjBwB,QAAQ,EAAElC,UAAW;IACrBiB,WAAW,EAAEA,WAAY;IACzBL,SAAS,EAAEA;EAAU,CACtB,CAAC;AAEN,CAAC;AAED,MAAMuB,oBAAoB,GAAG3D,IAAI,CAACM,YAAY,CAE7C;AACDqD,oBAAoB,CAACC,WAAW,8CAAiB;AAEjD,SAASD,oBAAoB,IAAIrD,YAAY","ignoreList":[]}
package/dist/esm/Badge.js CHANGED
@@ -73,6 +73,6 @@ const Badge = ({
73
73
  return renderBadge;
74
74
  };
75
75
  const MemoizedBadge = memo(Badge);
76
- MemoizedBadge.displayName = "Badge::pkg=odyssey&odysseyV=1.57.0";
76
+ MemoizedBadge.displayName = "Badge::pkg=odyssey&odysseyV=1.59.0";
77
77
  export { MemoizedBadge as Badge };
78
78
  //# sourceMappingURL=Badge.js.map
@@ -58,6 +58,6 @@ const Banner = ({
58
58
  });
59
59
  };
60
60
  const MemoizedBanner = memo(Banner);
61
- MemoizedBanner.displayName = "Banner::pkg=odyssey&odysseyV=1.57.0";
61
+ MemoizedBanner.displayName = "Banner::pkg=odyssey&odysseyV=1.59.0";
62
62
  export { MemoizedBanner as Banner };
63
63
  //# sourceMappingURL=Banner.js.map
package/dist/esm/Box.js CHANGED
@@ -31,6 +31,6 @@ const Box = forwardRef(({
31
31
  translate: translate
32
32
  }));
33
33
  const MemoizedBox = memo(Box);
34
- MemoizedBox.displayName = "Box::pkg=odyssey&odysseyV=1.57.0";
34
+ MemoizedBox.displayName = "Box::pkg=odyssey&odysseyV=1.59.0";
35
35
  export { MemoizedBox as Box };
36
36
  //# sourceMappingURL=Box.js.map
@@ -126,6 +126,10 @@ const BreadcrumbList = ({
126
126
  "aria-label": t("breadcrumbs.label.text"),
127
127
  "data-se": testId,
128
128
  maxItems: children.length + 1,
129
+ separator: _jsx("span", {
130
+ translate: "no",
131
+ children: "/"
132
+ }),
129
133
  translate: translate,
130
134
  children: [homeHref && _jsx(_ButtonBase, {
131
135
  "aria-label": t("breadcrumbs.home.text"),
@@ -171,6 +175,6 @@ const BreadcrumbList = ({
171
175
  });
172
176
  };
173
177
  const MemoizedBreadcrumbList = memo(BreadcrumbList);
174
- MemoizedBreadcrumbList.displayName = "BreadcrumbList::pkg=odyssey&odysseyV=1.57.0";
178
+ MemoizedBreadcrumbList.displayName = "BreadcrumbList::pkg=odyssey&odysseyV=1.59.0";
175
179
  export { MemoizedBreadcrumbList as BreadcrumbList };
176
180
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","names":["styled","createContext","memo","useCallback","useContext","useMemo","useState","useTranslation","GroupIcon","HomeIcon","UserIcon","Subordinate","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BreadcrumbContext","breadcrumbType","BreadcrumbContent","span","Breadcrumb","children","href","iconName","onClick","onClickHandler","event","preventDefault","stopPropagation","breadcrumbContent","color","_MenuItem","component","ariaCurrent","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","maxVisibleItemsProp","testId","translate","t","anchorEl","setAnchorEl","Math","min","max","length","breadcrumbSections","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","floor","menuLength","slice","onMenuButtonClick","currentTarget","onCloseMenu","_Breadcrumbs","maxItems","map","breadcrumb","index","Provider","value","_Menu","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","onClose","open","Boolean","MemoizedBreadcrumbList","displayName"],"sources":["../../src/Breadcrumbs.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n createContext,\n memo,\n MouseEventHandler,\n ReactElement,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated/index.js\";\nimport { Subordinate } from \"./Typography.js\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href?: string;\n iconName?: \"user\" | \"group\";\n onClick?: MouseEventHandler;\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nconst BreadcrumbContent = styled.span`\n white-space: nowrap;\n overflow: hidden;\n max-width: 10rem;\n text-overflow: ellipsis;\n`;\n\nexport const Breadcrumb = ({\n children,\n href,\n iconName,\n onClick,\n}: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const onClickHandler = useCallback<MouseEventHandler<HTMLAnchorElement>>(\n (event) => {\n if (onClick) {\n event.preventDefault();\n event.stopPropagation();\n onClick(event);\n }\n },\n [onClick],\n );\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n <BreadcrumbContent>{children}</BreadcrumbContent>\n </>\n );\n\n if (!href) {\n return <Subordinate color=\"textPrimary\">{breadcrumbContent}</Subordinate>;\n }\n\n if (breadcrumbType === \"menuItem\") {\n return (\n <MenuItem component=\"a\" href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </MenuItem>\n );\n }\n\n if (breadcrumbType === \"currentPage\") {\n return (\n <Subordinate ariaCurrent=\"page\" color=\"textPrimary\">\n {breadcrumbContent}\n </Subordinate>\n );\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return (\n <ButtonBase href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </ButtonBase>\n );\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems: maxVisibleItemsProp = defaultTruncationValue,\n testId,\n translate,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const maxVisibleItems = useMemo(\n () => Math.min(Math.max(maxVisibleItemsProp, 0), children.length),\n [maxVisibleItemsProp, children],\n );\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n [],\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n aria-label={t(\"breadcrumbs.label.text\")}\n data-se={testId}\n maxItems={children.length + 1}\n translate={translate}\n >\n {homeHref && (\n <ButtonBase aria-label={t(\"breadcrumbs.home.text\")} href={homeHref}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb, index) => (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu.length > 0 && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>...</ButtonBase>\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n onClose={onCloseMenu}\n open={Boolean(anchorEl)}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, index) => {\n if (index === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Breadcrumbs.js","names":["styled","createContext","memo","useCallback","useContext","useMemo","useState","useTranslation","GroupIcon","HomeIcon","UserIcon","Subordinate","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BreadcrumbContext","breadcrumbType","BreadcrumbContent","span","Breadcrumb","children","href","iconName","onClick","onClickHandler","event","preventDefault","stopPropagation","breadcrumbContent","color","_MenuItem","component","ariaCurrent","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","maxVisibleItemsProp","testId","translate","t","anchorEl","setAnchorEl","Math","min","max","length","breadcrumbSections","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","floor","menuLength","slice","onMenuButtonClick","currentTarget","onCloseMenu","_Breadcrumbs","maxItems","separator","map","breadcrumb","index","Provider","value","_Menu","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","onClose","open","Boolean","MemoizedBreadcrumbList","displayName"],"sources":["../../src/Breadcrumbs.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n createContext,\n memo,\n MouseEventHandler,\n ReactElement,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated/index.js\";\nimport { Subordinate } from \"./Typography.js\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href?: string;\n iconName?: \"user\" | \"group\";\n onClick?: MouseEventHandler;\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nconst BreadcrumbContent = styled.span`\n white-space: nowrap;\n overflow: hidden;\n max-width: 10rem;\n text-overflow: ellipsis;\n`;\n\nexport const Breadcrumb = ({\n children,\n href,\n iconName,\n onClick,\n}: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const onClickHandler = useCallback<MouseEventHandler<HTMLAnchorElement>>(\n (event) => {\n if (onClick) {\n event.preventDefault();\n event.stopPropagation();\n onClick(event);\n }\n },\n [onClick],\n );\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n <BreadcrumbContent>{children}</BreadcrumbContent>\n </>\n );\n\n if (!href) {\n return <Subordinate color=\"textPrimary\">{breadcrumbContent}</Subordinate>;\n }\n\n if (breadcrumbType === \"menuItem\") {\n return (\n <MenuItem component=\"a\" href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </MenuItem>\n );\n }\n\n if (breadcrumbType === \"currentPage\") {\n return (\n <Subordinate ariaCurrent=\"page\" color=\"textPrimary\">\n {breadcrumbContent}\n </Subordinate>\n );\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return (\n <ButtonBase href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </ButtonBase>\n );\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems: maxVisibleItemsProp = defaultTruncationValue,\n testId,\n translate,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const maxVisibleItems = useMemo(\n () => Math.min(Math.max(maxVisibleItemsProp, 0), children.length),\n [maxVisibleItemsProp, children],\n );\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n [],\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n aria-label={t(\"breadcrumbs.label.text\")}\n data-se={testId}\n maxItems={children.length + 1}\n separator={<span translate=\"no\">/</span>}\n translate={translate}\n >\n {homeHref && (\n <ButtonBase aria-label={t(\"breadcrumbs.home.text\")} href={homeHref}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb, index) => (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu.length > 0 && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>...</ButtonBase>\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n onClose={onCloseMenu}\n open={Boolean(anchorEl)}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, index) => {\n if (index === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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","ignoreList":[]}
@@ -97,6 +97,6 @@ const BaseButton = ({
97
97
  return renderButton(muiProps);
98
98
  };
99
99
  const MemoizedBaseButton = memo(BaseButton);
100
- MemoizedBaseButton.displayName = "BaseButton::pkg=odyssey&odysseyV=1.57.0";
100
+ MemoizedBaseButton.displayName = "BaseButton::pkg=odyssey&odysseyV=1.59.0";
101
101
  export { MemoizedBaseButton as BaseButton };
102
102
  //# sourceMappingURL=BaseButton.js.map
@@ -165,6 +165,6 @@ const BaseMenuButton = ({
165
165
  });
166
166
  };
167
167
  const MemoizedBaseMenuButton = memo(BaseMenuButton);
168
- MemoizedBaseMenuButton.displayName = "BaseMenuButton::pkg=odyssey&odysseyV=1.57.0";
168
+ MemoizedBaseMenuButton.displayName = "BaseMenuButton::pkg=odyssey&odysseyV=1.59.0";
169
169
  export { MemoizedBaseMenuButton as BaseMenuButton };
170
170
  //# sourceMappingURL=BaseMenuButton.js.map
@@ -19,6 +19,6 @@ const Button = props => {
19
19
  });
20
20
  };
21
21
  const MemoizedButton = memo(Button);
22
- MemoizedButton.displayName = "Button::pkg=odyssey&odysseyV=1.57.0";
22
+ MemoizedButton.displayName = "Button::pkg=odyssey&odysseyV=1.59.0";
23
23
  export { MemoizedButton as Button };
24
24
  //# sourceMappingURL=Button.js.map
@@ -19,6 +19,6 @@ const MenuButton = props => {
19
19
  });
20
20
  };
21
21
  const MemoizedMenuButton = memo(MenuButton);
22
- MemoizedMenuButton.displayName = "MenuButton::pkg=odyssey&odysseyV=1.57.0";
22
+ MemoizedMenuButton.displayName = "MenuButton::pkg=odyssey&odysseyV=1.59.0";
23
23
  export { MemoizedMenuButton as MenuButton };
24
24
  //# sourceMappingURL=MenuButton.js.map
@@ -48,6 +48,6 @@ const MenuItem = ({
48
48
  });
49
49
  };
50
50
  const MemoizedMenuItem = memo(MenuItem);
51
- MemoizedMenuItem.displayName = "MenuItem::pkg=odyssey&odysseyV=1.57.0";
51
+ MemoizedMenuItem.displayName = "MenuItem::pkg=odyssey&odysseyV=1.59.0";
52
52
  export { MemoizedMenuItem as MenuItem };
53
53
  //# sourceMappingURL=MenuItem.js.map
@@ -84,6 +84,6 @@ const Callout = ({
84
84
  });
85
85
  };
86
86
  const MemoizedCallout = memo(Callout);
87
- MemoizedCallout.displayName = "Callout::pkg=odyssey&odysseyV=1.57.0";
87
+ MemoizedCallout.displayName = "Callout::pkg=odyssey&odysseyV=1.59.0";
88
88
  export { MemoizedCallout as Callout };
89
89
  //# sourceMappingURL=Callout.js.map
package/dist/esm/Card.js CHANGED
@@ -331,6 +331,6 @@ const Card = ({
331
331
  });
332
332
  };
333
333
  const MemoizedCard = memo(Card);
334
- MemoizedCard.displayName = "Card::pkg=odyssey&odysseyV=1.57.0";
334
+ MemoizedCard.displayName = "Card::pkg=odyssey&odysseyV=1.59.0";
335
335
  export { MemoizedCard as Card };
336
336
  //# sourceMappingURL=Card.js.map
@@ -23,6 +23,6 @@ const CircularProgress = ({
23
23
  variant: value ? "determinate" : "indeterminate"
24
24
  });
25
25
  const MemoizedCircularProgress = memo(CircularProgress);
26
- MemoizedCircularProgress.displayName = "CircularProgress::pkg=odyssey&odysseyV=1.57.0";
26
+ MemoizedCircularProgress.displayName = "CircularProgress::pkg=odyssey&odysseyV=1.59.0";
27
27
  export { MemoizedCircularProgress as CircularProgress };
28
28
  //# sourceMappingURL=CircularProgress.js.map