@okta/odyssey-react-mui 1.45.0 → 1.47.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 (1069) hide show
  1. package/dist/cjs/Autocomplete.cjs +3 -33
  2. package/dist/cjs/Autocomplete.cjs.map +1 -1
  3. package/dist/cjs/Banner.cjs +2 -2
  4. package/dist/cjs/Banner.cjs.map +1 -1
  5. package/dist/cjs/Breadcrumbs.cjs +2 -2
  6. package/dist/cjs/Breadcrumbs.cjs.map +1 -1
  7. package/dist/cjs/Callout.cjs +3 -27
  8. package/dist/cjs/Callout.cjs.map +1 -1
  9. package/dist/cjs/Card.cjs +2 -2
  10. package/dist/cjs/Card.cjs.map +1 -1
  11. package/dist/cjs/Checkbox.cjs +14 -12
  12. package/dist/cjs/Checkbox.cjs.map +1 -1
  13. package/dist/cjs/DataTable/DataTable.cjs +2 -2
  14. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  15. package/dist/cjs/DataTable/DataTableRowActions.cjs +6 -6
  16. package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
  17. package/dist/cjs/DataTable/DataTableSettings.cjs +2 -2
  18. package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
  19. package/dist/cjs/DataTable/useRowReordering.cjs +2 -2
  20. package/dist/cjs/DataTable/useRowReordering.cjs.map +1 -1
  21. package/dist/cjs/DatePickers/DateField.cjs +2 -2
  22. package/dist/cjs/DatePickers/DateField.cjs.map +1 -1
  23. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +2 -2
  24. package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
  25. package/dist/cjs/DatePickers/DatePicker.cjs +2 -2
  26. package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
  27. package/dist/cjs/DatePickers/useDateFieldsTranslations.cjs +2 -2
  28. package/dist/cjs/DatePickers/useDateFieldsTranslations.cjs.map +1 -1
  29. package/dist/cjs/DatePickers/useOdysseyDateFields.cjs +2 -2
  30. package/dist/cjs/DatePickers/useOdysseyDateFields.cjs.map +1 -1
  31. package/dist/cjs/Dialog.cjs +34 -31
  32. package/dist/cjs/Dialog.cjs.map +1 -1
  33. package/dist/cjs/Drawer.cjs +8 -4
  34. package/dist/cjs/Drawer.cjs.map +1 -1
  35. package/dist/cjs/Field.cjs +2 -2
  36. package/dist/cjs/Field.cjs.map +1 -1
  37. package/dist/cjs/FieldError.cjs +2 -2
  38. package/dist/cjs/FieldError.cjs.map +1 -1
  39. package/dist/cjs/FieldLabel.cjs +2 -2
  40. package/dist/cjs/FieldLabel.cjs.map +1 -1
  41. package/dist/cjs/FileUploader/FileUploadPreview.cjs +2 -2
  42. package/dist/cjs/FileUploader/FileUploadPreview.cjs.map +1 -1
  43. package/dist/cjs/FileUploader/FileUploader.cjs +2 -2
  44. package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
  45. package/dist/cjs/FullScreenOverlay.cjs +40 -0
  46. package/dist/cjs/FullScreenOverlay.cjs.map +1 -0
  47. package/dist/cjs/FullScreenOverlayContext.cjs +72 -0
  48. package/dist/cjs/FullScreenOverlayContext.cjs.map +1 -0
  49. package/dist/cjs/OdysseyCacheProvider.cjs +12 -17
  50. package/dist/cjs/OdysseyCacheProvider.cjs.map +1 -1
  51. package/dist/cjs/OdysseyProvider.cjs +18 -10
  52. package/dist/cjs/OdysseyProvider.cjs.map +1 -1
  53. package/dist/cjs/OdysseyThemeProvider.cjs +27 -16
  54. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  55. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +44 -0
  56. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -0
  57. package/dist/cjs/Pagination/Pagination.cjs +2 -3
  58. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  59. package/dist/cjs/Pagination/usePagination.cjs +2 -2
  60. package/dist/cjs/Pagination/usePagination.cjs.map +1 -1
  61. package/dist/cjs/PasswordField.cjs +2 -2
  62. package/dist/cjs/PasswordField.cjs.map +1 -1
  63. package/dist/cjs/Radio.cjs +22 -20
  64. package/dist/cjs/Radio.cjs.map +1 -1
  65. package/dist/cjs/SearchField.cjs +2 -2
  66. package/dist/cjs/SearchField.cjs.map +1 -1
  67. package/dist/cjs/Select.cjs +1 -37
  68. package/dist/cjs/Select.cjs.map +1 -1
  69. package/dist/cjs/Surface.cjs +3 -3
  70. package/dist/cjs/Surface.cjs.map +1 -1
  71. package/dist/cjs/Switch.cjs +2 -2
  72. package/dist/cjs/Switch.cjs.map +1 -1
  73. package/dist/cjs/Tabs.cjs +1 -21
  74. package/dist/cjs/Tabs.cjs.map +1 -1
  75. package/dist/cjs/Tag.cjs +2 -2
  76. package/dist/cjs/Tag.cjs.map +1 -1
  77. package/dist/cjs/TextField.cjs +1 -26
  78. package/dist/cjs/TextField.cjs.map +1 -1
  79. package/dist/cjs/Toast.cjs +2 -2
  80. package/dist/cjs/Toast.cjs.map +1 -1
  81. package/dist/cjs/__internal.cjs +149 -0
  82. package/dist/cjs/__internal.cjs.map +1 -0
  83. package/dist/cjs/i18n.generated/i18n.cjs +35 -0
  84. package/dist/cjs/i18n.generated/i18n.cjs.map +1 -0
  85. package/dist/cjs/i18n.generated/i18n.resources.cjs +81 -0
  86. package/dist/cjs/i18n.generated/i18n.resources.cjs.map +1 -0
  87. package/dist/{esm/shadow-dom/index.js → cjs/i18n.generated/i18n.types.cjs} +9 -4
  88. package/dist/cjs/i18n.generated/i18n.types.cjs.map +1 -0
  89. package/dist/cjs/index.cjs +49 -30
  90. package/dist/cjs/index.cjs.map +1 -1
  91. package/dist/cjs/labs/DataFilters.cjs +4 -4
  92. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  93. package/dist/cjs/labs/DataTable.cjs +2 -2
  94. package/dist/cjs/labs/DataTable.cjs.map +1 -1
  95. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +2 -2
  96. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
  97. package/dist/cjs/labs/DataView/DataCard.cjs +2 -2
  98. package/dist/cjs/labs/DataView/DataCard.cjs.map +1 -1
  99. package/dist/cjs/labs/DataView/DataView.cjs +2 -2
  100. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  101. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +2 -2
  102. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
  103. package/dist/cjs/labs/DataView/RowActions.cjs +2 -2
  104. package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
  105. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +2 -2
  106. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  107. package/dist/cjs/labs/DataView/TableSettings.cjs +2 -2
  108. package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
  109. package/dist/cjs/labs/DataView/fetchData.cjs +2 -2
  110. package/dist/cjs/labs/DataView/fetchData.cjs.map +1 -1
  111. package/dist/cjs/labs/DatePickers/DateTimeField.cjs +2 -2
  112. package/dist/cjs/labs/DatePickers/DateTimeField.cjs.map +1 -1
  113. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +2 -2
  114. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
  115. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +2 -2
  116. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs.map +1 -1
  117. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +4 -0
  118. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
  119. package/dist/cjs/labs/PageTemplate/Layout.cjs +2 -2
  120. package/dist/cjs/labs/PageTemplate/Layout.cjs.map +1 -1
  121. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
  122. package/dist/cjs/labs/PaginatedTable.cjs +4 -4
  123. package/dist/cjs/labs/PaginatedTable.cjs.map +1 -1
  124. package/dist/cjs/labs/StaticTable.cjs +2 -2
  125. package/dist/cjs/labs/StaticTable.cjs.map +1 -1
  126. package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
  127. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +5 -0
  128. package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
  129. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +5 -0
  130. package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
  131. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +6 -1
  132. package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
  133. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +5 -0
  134. package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
  135. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +5 -0
  136. package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
  137. package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +5 -0
  138. package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -1
  139. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +5 -0
  140. package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
  141. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +5 -0
  142. package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
  143. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +5 -0
  144. package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
  145. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +5 -0
  146. package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
  147. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +5 -0
  148. package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
  149. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +5 -0
  150. package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
  151. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +5 -0
  152. package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
  153. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +5 -0
  154. package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
  155. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +5 -0
  156. package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
  157. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +5 -0
  158. package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
  159. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +5 -0
  160. package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
  161. package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
  162. package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
  163. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +5 -0
  164. package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
  165. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +5 -0
  166. package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
  167. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +5 -0
  168. package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
  169. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +5 -0
  170. package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
  171. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +5 -0
  172. package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
  173. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +5 -0
  174. package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
  175. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +5 -0
  176. package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
  177. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +5 -0
  178. package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
  179. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +5 -0
  180. package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
  181. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +5 -0
  182. package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
  183. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +5 -0
  184. package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
  185. package/dist/cjs/test-selectors/AutocompleteTestSelector.cjs +49 -0
  186. package/dist/cjs/test-selectors/AutocompleteTestSelector.cjs.map +1 -0
  187. package/dist/cjs/test-selectors/CalloutTestSelector.cjs +43 -0
  188. package/dist/cjs/test-selectors/CalloutTestSelector.cjs.map +1 -0
  189. package/dist/cjs/test-selectors/SelectTestSelector.cjs +55 -0
  190. package/dist/cjs/test-selectors/SelectTestSelector.cjs.map +1 -0
  191. package/dist/cjs/{OdysseyTranslationProvider.types.cjs → test-selectors/TabsTestSelector.cjs} +23 -4
  192. package/dist/cjs/test-selectors/TabsTestSelector.cjs.map +1 -0
  193. package/dist/cjs/test-selectors/TextFieldTestSelector.cjs +44 -0
  194. package/dist/cjs/test-selectors/TextFieldTestSelector.cjs.map +1 -0
  195. package/dist/cjs/test-selectors/index.cjs +11 -0
  196. package/dist/cjs/test-selectors/index.cjs.map +1 -1
  197. package/dist/cjs/test-selectors/queryOdysseySelector.cjs +10 -10
  198. package/dist/cjs/test-selectors/queryOdysseySelector.cjs.map +1 -1
  199. package/dist/cjs/theme/components.cjs +5 -5
  200. package/dist/cjs/theme/components.cjs.map +1 -1
  201. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +2 -12
  202. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
  203. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +20 -15
  204. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs.map +1 -1
  205. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +137 -136
  206. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  207. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +2 -2
  208. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs.map +1 -1
  209. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +7 -4
  210. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
  211. package/dist/cjs/ui-shell/SideNav/SideNavItemContentContext.cjs.map +1 -1
  212. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -4
  213. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
  214. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +47 -0
  215. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs.map +1 -0
  216. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
  217. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
  218. package/dist/cjs/ui-shell/SideNav/SortableList/SortableItem.cjs +2 -2
  219. package/dist/cjs/ui-shell/SideNav/SortableList/SortableItem.cjs.map +1 -1
  220. package/dist/cjs/ui-shell/SideNav/SortableList/SortableList.cjs +2 -2
  221. package/dist/cjs/ui-shell/SideNav/SortableList/SortableList.cjs.map +1 -1
  222. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  223. package/dist/cjs/ui-shell/UiShell.cjs +4 -4
  224. package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
  225. package/dist/cjs/ui-shell/WideUiShellContent.cjs +2 -1
  226. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  227. package/dist/cjs/ui-shell/uiShellContentTypes.cjs +2 -1
  228. package/dist/cjs/ui-shell/uiShellContentTypes.cjs.map +1 -1
  229. package/dist/cjs/{shadow-dom/shadow-dom.cjs → web-component/createShadowDomElements.cjs} +8 -3
  230. package/dist/cjs/web-component/createShadowDomElements.cjs.map +1 -0
  231. package/dist/cjs/web-component/index.cjs +33 -0
  232. package/dist/cjs/web-component/index.cjs.map +1 -1
  233. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  234. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  235. package/dist/cjs/web-component/removeGlobalStylesFromShadowDom.cjs +35 -0
  236. package/dist/cjs/web-component/removeGlobalStylesFromShadowDom.cjs.map +1 -0
  237. package/dist/cjs/web-component/renderReactInWebComponent.cjs +5 -9
  238. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  239. package/dist/esm/Autocomplete.js +1 -31
  240. package/dist/esm/Autocomplete.js.map +1 -1
  241. package/dist/esm/Banner.js +1 -1
  242. package/dist/esm/Banner.js.map +1 -1
  243. package/dist/esm/Breadcrumbs.js +1 -1
  244. package/dist/esm/Breadcrumbs.js.map +1 -1
  245. package/dist/esm/Callout.js +1 -25
  246. package/dist/esm/Callout.js.map +1 -1
  247. package/dist/esm/Card.js +1 -1
  248. package/dist/esm/Card.js.map +1 -1
  249. package/dist/esm/Checkbox.js +13 -11
  250. package/dist/esm/Checkbox.js.map +1 -1
  251. package/dist/esm/DataTable/DataTable.js +1 -1
  252. package/dist/esm/DataTable/DataTable.js.map +1 -1
  253. package/dist/esm/DataTable/DataTableRowActions.js +1 -1
  254. package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
  255. package/dist/esm/DataTable/DataTableSettings.js +1 -1
  256. package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
  257. package/dist/esm/DataTable/useRowReordering.js +1 -1
  258. package/dist/esm/DataTable/useRowReordering.js.map +1 -1
  259. package/dist/esm/DatePickers/DateField.js +1 -1
  260. package/dist/esm/DatePickers/DateField.js.map +1 -1
  261. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  262. package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
  263. package/dist/esm/DatePickers/DatePicker.js +1 -1
  264. package/dist/esm/DatePickers/DatePicker.js.map +1 -1
  265. package/dist/esm/DatePickers/useDateFieldsTranslations.js +1 -1
  266. package/dist/esm/DatePickers/useDateFieldsTranslations.js.map +1 -1
  267. package/dist/esm/DatePickers/useOdysseyDateFields.js +1 -1
  268. package/dist/esm/DatePickers/useOdysseyDateFields.js.map +1 -1
  269. package/dist/esm/Dialog.js +33 -30
  270. package/dist/esm/Dialog.js.map +1 -1
  271. package/dist/esm/Drawer.js +7 -3
  272. package/dist/esm/Drawer.js.map +1 -1
  273. package/dist/esm/Field.js +1 -1
  274. package/dist/esm/Field.js.map +1 -1
  275. package/dist/esm/FieldError.js +1 -1
  276. package/dist/esm/FieldError.js.map +1 -1
  277. package/dist/esm/FieldLabel.js +1 -1
  278. package/dist/esm/FieldLabel.js.map +1 -1
  279. package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
  280. package/dist/esm/FileUploader/FileUploadPreview.js.map +1 -1
  281. package/dist/esm/FileUploader/FileUploader.js +1 -1
  282. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  283. package/dist/esm/FullScreenOverlay.js +35 -0
  284. package/dist/esm/FullScreenOverlay.js.map +1 -0
  285. package/dist/esm/FullScreenOverlayContext.js +66 -0
  286. package/dist/esm/FullScreenOverlayContext.js.map +1 -0
  287. package/dist/esm/OdysseyCacheProvider.js +12 -17
  288. package/dist/esm/OdysseyCacheProvider.js.map +1 -1
  289. package/dist/esm/OdysseyProvider.js +18 -10
  290. package/dist/esm/OdysseyProvider.js.map +1 -1
  291. package/dist/esm/OdysseyThemeProvider.js +27 -16
  292. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  293. package/dist/esm/OdysseyThemeProviderPropsContext.js +38 -0
  294. package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -0
  295. package/dist/esm/Pagination/Pagination.js +1 -2
  296. package/dist/esm/Pagination/Pagination.js.map +1 -1
  297. package/dist/esm/Pagination/usePagination.js +1 -1
  298. package/dist/esm/Pagination/usePagination.js.map +1 -1
  299. package/dist/esm/PasswordField.js +1 -1
  300. package/dist/esm/PasswordField.js.map +1 -1
  301. package/dist/esm/Radio.js +22 -20
  302. package/dist/esm/Radio.js.map +1 -1
  303. package/dist/esm/SearchField.js +1 -1
  304. package/dist/esm/SearchField.js.map +1 -1
  305. package/dist/esm/Select.js +0 -36
  306. package/dist/esm/Select.js.map +1 -1
  307. package/dist/esm/Surface.js +3 -3
  308. package/dist/esm/Surface.js.map +1 -1
  309. package/dist/esm/Switch.js +1 -1
  310. package/dist/esm/Switch.js.map +1 -1
  311. package/dist/esm/Tabs.js +0 -20
  312. package/dist/esm/Tabs.js.map +1 -1
  313. package/dist/esm/Tag.js +1 -1
  314. package/dist/esm/Tag.js.map +1 -1
  315. package/dist/esm/TextField.js +0 -25
  316. package/dist/esm/TextField.js.map +1 -1
  317. package/dist/esm/Toast.js +1 -1
  318. package/dist/esm/Toast.js.map +1 -1
  319. package/dist/esm/__internal.js +24 -0
  320. package/dist/esm/__internal.js.map +1 -0
  321. package/dist/esm/i18n.generated/i18n.js +25 -0
  322. package/dist/esm/i18n.generated/i18n.js.map +1 -0
  323. package/dist/esm/i18n.generated/i18n.resources.js +75 -0
  324. package/dist/esm/i18n.generated/i18n.resources.js.map +1 -0
  325. package/dist/{assets/uiShellSharedConstants-DD9UP82e.js → esm/i18n.generated/i18n.types.js} +3 -1
  326. package/dist/esm/i18n.generated/i18n.types.js.map +1 -0
  327. package/dist/esm/index.js +4 -3
  328. package/dist/esm/index.js.map +1 -1
  329. package/dist/esm/labs/DataFilters.js +1 -1
  330. package/dist/esm/labs/DataFilters.js.map +1 -1
  331. package/dist/esm/labs/DataTable.js +1 -1
  332. package/dist/esm/labs/DataTable.js.map +1 -1
  333. package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
  334. package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
  335. package/dist/esm/labs/DataView/DataCard.js +1 -1
  336. package/dist/esm/labs/DataView/DataCard.js.map +1 -1
  337. package/dist/esm/labs/DataView/DataView.js +1 -1
  338. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  339. package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
  340. package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
  341. package/dist/esm/labs/DataView/RowActions.js +1 -1
  342. package/dist/esm/labs/DataView/RowActions.js.map +1 -1
  343. package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
  344. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  345. package/dist/esm/labs/DataView/TableSettings.js +1 -1
  346. package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
  347. package/dist/esm/labs/DataView/fetchData.js +2 -2
  348. package/dist/esm/labs/DataView/fetchData.js.map +1 -1
  349. package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
  350. package/dist/esm/labs/DatePickers/DateTimeField.js.map +1 -1
  351. package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
  352. package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
  353. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
  354. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js.map +1 -1
  355. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +4 -0
  356. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
  357. package/dist/esm/labs/PageTemplate/Layout.js +2 -2
  358. package/dist/esm/labs/PageTemplate/Layout.js.map +1 -1
  359. package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
  360. package/dist/esm/labs/PaginatedTable.js +1 -1
  361. package/dist/esm/labs/PaginatedTable.js.map +1 -1
  362. package/dist/esm/labs/StaticTable.js +1 -1
  363. package/dist/esm/labs/StaticTable.js.map +1 -1
  364. package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
  365. package/dist/esm/properties/ts/odyssey-react-mui_cs.js +5 -0
  366. package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  367. package/dist/esm/properties/ts/odyssey-react-mui_da.js +5 -0
  368. package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
  369. package/dist/esm/properties/ts/odyssey-react-mui_de.js +6 -1
  370. package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
  371. package/dist/esm/properties/ts/odyssey-react-mui_el.js +5 -0
  372. package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
  373. package/dist/esm/properties/ts/odyssey-react-mui_es.js +5 -0
  374. package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
  375. package/dist/esm/properties/ts/odyssey-react-mui_eu.js +5 -0
  376. package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -1
  377. package/dist/esm/properties/ts/odyssey-react-mui_fi.js +5 -0
  378. package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  379. package/dist/esm/properties/ts/odyssey-react-mui_fr.js +5 -0
  380. package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  381. package/dist/esm/properties/ts/odyssey-react-mui_ht.js +5 -0
  382. package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  383. package/dist/esm/properties/ts/odyssey-react-mui_hu.js +5 -0
  384. package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  385. package/dist/esm/properties/ts/odyssey-react-mui_id.js +5 -0
  386. package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
  387. package/dist/esm/properties/ts/odyssey-react-mui_it.js +5 -0
  388. package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
  389. package/dist/esm/properties/ts/odyssey-react-mui_ja.js +5 -0
  390. package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  391. package/dist/esm/properties/ts/odyssey-react-mui_ko.js +5 -0
  392. package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  393. package/dist/esm/properties/ts/odyssey-react-mui_ms.js +5 -0
  394. package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  395. package/dist/esm/properties/ts/odyssey-react-mui_nb.js +5 -0
  396. package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  397. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +5 -0
  398. package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  399. package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
  400. package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
  401. package/dist/esm/properties/ts/odyssey-react-mui_pl.js +5 -0
  402. package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  403. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +5 -0
  404. package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  405. package/dist/esm/properties/ts/odyssey-react-mui_ro.js +5 -0
  406. package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  407. package/dist/esm/properties/ts/odyssey-react-mui_ru.js +5 -0
  408. package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  409. package/dist/esm/properties/ts/odyssey-react-mui_sv.js +5 -0
  410. package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  411. package/dist/esm/properties/ts/odyssey-react-mui_th.js +5 -0
  412. package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
  413. package/dist/esm/properties/ts/odyssey-react-mui_tr.js +5 -0
  414. package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  415. package/dist/esm/properties/ts/odyssey-react-mui_uk.js +5 -0
  416. package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  417. package/dist/esm/properties/ts/odyssey-react-mui_vi.js +5 -0
  418. package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  419. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +5 -0
  420. package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  421. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +5 -0
  422. package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  423. package/dist/esm/test-selectors/AutocompleteTestSelector.js +43 -0
  424. package/dist/esm/test-selectors/AutocompleteTestSelector.js.map +1 -0
  425. package/dist/esm/test-selectors/CalloutTestSelector.js +37 -0
  426. package/dist/esm/test-selectors/CalloutTestSelector.js.map +1 -0
  427. package/dist/esm/test-selectors/SelectTestSelector.js +49 -0
  428. package/dist/esm/test-selectors/SelectTestSelector.js.map +1 -0
  429. package/dist/{types/shadow-dom/index.d.ts → esm/test-selectors/TabsTestSelector.js} +22 -2
  430. package/dist/esm/test-selectors/TabsTestSelector.js.map +1 -0
  431. package/dist/esm/test-selectors/TextFieldTestSelector.js +38 -0
  432. package/dist/esm/test-selectors/TextFieldTestSelector.js.map +1 -0
  433. package/dist/esm/test-selectors/index.js +1 -0
  434. package/dist/esm/test-selectors/index.js.map +1 -1
  435. package/dist/esm/test-selectors/queryOdysseySelector.js +5 -5
  436. package/dist/esm/test-selectors/queryOdysseySelector.js.map +1 -1
  437. package/dist/esm/theme/components.js +5 -5
  438. package/dist/esm/theme/components.js.map +1 -1
  439. package/dist/esm/ui-shell/NarrowUiShellContent.js +3 -13
  440. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
  441. package/dist/esm/ui-shell/SideNav/NavAccordion.js +20 -15
  442. package/dist/esm/ui-shell/SideNav/NavAccordion.js.map +1 -1
  443. package/dist/esm/ui-shell/SideNav/SideNav.js +136 -135
  444. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  445. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
  446. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js.map +1 -1
  447. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +7 -4
  448. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
  449. package/dist/esm/ui-shell/SideNav/SideNavItemContentContext.js.map +1 -1
  450. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -4
  451. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
  452. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +42 -0
  453. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js.map +1 -0
  454. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +1 -1
  455. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
  456. package/dist/esm/ui-shell/SideNav/SortableList/SortableItem.js +1 -1
  457. package/dist/esm/ui-shell/SideNav/SortableList/SortableItem.js.map +1 -1
  458. package/dist/esm/ui-shell/SideNav/SortableList/SortableList.js +1 -1
  459. package/dist/esm/ui-shell/SideNav/SortableList/SortableList.js.map +1 -1
  460. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  461. package/dist/esm/ui-shell/UiShell.js +4 -4
  462. package/dist/esm/ui-shell/UiShell.js.map +1 -1
  463. package/dist/esm/ui-shell/WideUiShellContent.js +2 -1
  464. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  465. package/dist/esm/ui-shell/uiShellContentTypes.js +1 -0
  466. package/dist/esm/ui-shell/uiShellContentTypes.js.map +1 -1
  467. package/dist/esm/{shadow-dom/shadow-dom.js → web-component/createShadowDomElements.js} +8 -3
  468. package/dist/esm/web-component/createShadowDomElements.js.map +1 -0
  469. package/dist/esm/web-component/index.js +3 -0
  470. package/dist/esm/web-component/index.js.map +1 -1
  471. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  472. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  473. package/dist/esm/web-component/removeGlobalStylesFromShadowDom.js +28 -0
  474. package/dist/esm/web-component/removeGlobalStylesFromShadowDom.js.map +1 -0
  475. package/dist/esm/web-component/renderReactInWebComponent.js +5 -9
  476. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  477. package/dist/tsconfig.production.tsbuildinfo +1 -1
  478. package/dist/types/Autocomplete.d.ts +0 -30
  479. package/dist/types/Autocomplete.d.ts.map +1 -1
  480. package/dist/types/Banner.d.ts.map +1 -1
  481. package/dist/types/Breadcrumbs.d.ts.map +1 -1
  482. package/dist/types/Callout.d.ts +0 -24
  483. package/dist/types/Callout.d.ts.map +1 -1
  484. package/dist/types/Card.d.ts.map +1 -1
  485. package/dist/types/Checkbox.d.ts.map +1 -1
  486. package/dist/types/DataTable/DataTable.d.ts.map +1 -1
  487. package/dist/types/DataTable/DataTableRowActions.d.ts.map +1 -1
  488. package/dist/types/DatePickers/DatePicker.d.ts.map +1 -1
  489. package/dist/types/DatePickers/useDateFieldsTranslations.d.ts.map +1 -1
  490. package/dist/types/DatePickers/useOdysseyDateFields.d.ts.map +1 -1
  491. package/dist/types/Dialog.d.ts.map +1 -1
  492. package/dist/types/Drawer.d.ts.map +1 -1
  493. package/dist/types/Field.d.ts.map +1 -1
  494. package/dist/types/FieldError.d.ts.map +1 -1
  495. package/dist/types/FieldLabel.d.ts.map +1 -1
  496. package/dist/types/FileUploader/FileUploader.d.ts.map +1 -1
  497. package/dist/types/FullScreenOverlay.d.ts +19 -0
  498. package/dist/types/FullScreenOverlay.d.ts.map +1 -0
  499. package/dist/types/FullScreenOverlayContext.d.ts +31 -0
  500. package/dist/types/FullScreenOverlayContext.d.ts.map +1 -0
  501. package/dist/types/NativeSelect.d.ts +1 -1
  502. package/dist/types/OdysseyCacheProvider.d.ts +10 -3
  503. package/dist/types/OdysseyCacheProvider.d.ts.map +1 -1
  504. package/dist/types/OdysseyProvider.d.ts +8 -8
  505. package/dist/types/OdysseyProvider.d.ts.map +1 -1
  506. package/dist/types/OdysseyThemeProvider.d.ts +7 -16
  507. package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
  508. package/dist/types/OdysseyThemeProviderPropsContext.d.ts +27 -0
  509. package/dist/types/OdysseyThemeProviderPropsContext.d.ts.map +1 -0
  510. package/dist/types/Pagination/Pagination.d.ts +0 -1
  511. package/dist/types/Pagination/Pagination.d.ts.map +1 -1
  512. package/dist/types/Pagination/usePagination.d.ts.map +1 -1
  513. package/dist/types/PasswordField.d.ts.map +1 -1
  514. package/dist/types/Radio.d.ts.map +1 -1
  515. package/dist/types/SearchField.d.ts.map +1 -1
  516. package/dist/types/Select.d.ts +0 -36
  517. package/dist/types/Select.d.ts.map +1 -1
  518. package/dist/types/Surface.d.ts.map +1 -1
  519. package/dist/types/Switch.d.ts.map +1 -1
  520. package/dist/types/Tabs.d.ts +0 -20
  521. package/dist/types/Tabs.d.ts.map +1 -1
  522. package/dist/types/Tag.d.ts.map +1 -1
  523. package/dist/types/TextField.d.ts +0 -25
  524. package/dist/types/TextField.d.ts.map +1 -1
  525. package/dist/types/Toast.d.ts.map +1 -1
  526. package/dist/types/__internal.d.ts +30 -0
  527. package/dist/types/__internal.d.ts.map +1 -0
  528. package/dist/types/i18n.generated/i18n.d.ts +285 -0
  529. package/dist/types/i18n.generated/i18n.d.ts.map +1 -0
  530. package/dist/types/i18n.generated/i18n.resources.d.ts +4199 -0
  531. package/dist/types/{i18n.d.ts.map → i18n.generated/i18n.resources.d.ts.map} +1 -1
  532. package/dist/types/i18n.generated/i18n.types.d.ts +30 -0
  533. package/dist/types/i18n.generated/i18n.types.d.ts.map +1 -0
  534. package/dist/types/index.d.ts +4 -3
  535. package/dist/types/index.d.ts.map +1 -1
  536. package/dist/types/labs/DataTable.d.ts.map +1 -1
  537. package/dist/types/labs/DataView/DataCard.d.ts.map +1 -1
  538. package/dist/types/labs/DataView/RowActions.d.ts.map +1 -1
  539. package/dist/types/labs/DataView/fetchData.d.ts.map +1 -1
  540. package/dist/types/labs/DatePickers/DateTimePicker.d.ts.map +1 -1
  541. package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -1
  542. package/dist/types/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -1
  543. package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
  544. package/dist/types/labs/PaginatedTable.d.ts.map +1 -1
  545. package/dist/types/labs/StaticTable.d.ts.map +1 -1
  546. package/dist/types/properties/ts/odyssey-react-mui.d.ts +133 -133
  547. package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  548. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +133 -128
  549. package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  550. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +133 -128
  551. package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  552. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +133 -128
  553. package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  554. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +133 -128
  555. package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  556. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +133 -128
  557. package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  558. package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts +133 -128
  559. package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -1
  560. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +133 -128
  561. package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  562. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +133 -128
  563. package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  564. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +133 -128
  565. package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  566. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +133 -128
  567. package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  568. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +133 -128
  569. package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  570. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +133 -128
  571. package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  572. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +133 -128
  573. package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  574. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +133 -128
  575. package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  576. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +133 -128
  577. package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  578. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +133 -128
  579. package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  580. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +133 -128
  581. package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  582. package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +133 -133
  583. package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
  584. package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +133 -133
  585. package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
  586. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +133 -128
  587. package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  588. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +133 -128
  589. package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  590. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +133 -128
  591. package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  592. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +133 -128
  593. package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  594. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +133 -128
  595. package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  596. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +133 -128
  597. package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  598. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +133 -128
  599. package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  600. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +133 -128
  601. package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  602. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +133 -128
  603. package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  604. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +133 -128
  605. package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  606. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +133 -128
  607. package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  608. package/dist/types/test-selectors/AutocompleteTestSelector.d.ts +42 -0
  609. package/dist/types/test-selectors/AutocompleteTestSelector.d.ts.map +1 -0
  610. package/dist/types/test-selectors/CalloutTestSelector.d.ts +36 -0
  611. package/dist/types/test-selectors/CalloutTestSelector.d.ts.map +1 -0
  612. package/dist/types/test-selectors/SelectTestSelector.d.ts +48 -0
  613. package/dist/types/test-selectors/SelectTestSelector.d.ts.map +1 -0
  614. package/dist/types/test-selectors/TabsTestSelector.d.ts +32 -0
  615. package/dist/types/test-selectors/TabsTestSelector.d.ts.map +1 -0
  616. package/dist/types/test-selectors/TextFieldTestSelector.d.ts +37 -0
  617. package/dist/types/test-selectors/TextFieldTestSelector.d.ts.map +1 -0
  618. package/dist/types/test-selectors/index.d.ts +1 -0
  619. package/dist/types/test-selectors/index.d.ts.map +1 -1
  620. package/dist/types/test-selectors/queryOdysseySelector.d.ts.map +1 -1
  621. package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
  622. package/dist/types/ui-shell/SideNav/NavAccordion.d.ts.map +1 -1
  623. package/dist/types/ui-shell/SideNav/SideNav.d.ts +1 -1
  624. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  625. package/dist/types/ui-shell/SideNav/SideNavFooterContent.d.ts.map +1 -1
  626. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +2 -1
  627. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
  628. package/dist/types/ui-shell/SideNav/SideNavItemContentContext.d.ts +1 -0
  629. package/dist/types/ui-shell/SideNav/SideNavItemContentContext.d.ts.map +1 -1
  630. package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
  631. package/dist/types/ui-shell/SideNav/SideNavSortableList.d.ts +41 -0
  632. package/dist/types/ui-shell/SideNav/SideNavSortableList.d.ts.map +1 -0
  633. package/dist/types/ui-shell/SideNav/types.d.ts +13 -2
  634. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  635. package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
  636. package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
  637. package/dist/types/ui-shell/uiShellContentTypes.d.ts +4 -1
  638. package/dist/types/ui-shell/uiShellContentTypes.d.ts.map +1 -1
  639. package/dist/types/{shadow-dom/shadow-dom.d.ts → web-component/createShadowDomElements.d.ts} +6 -4
  640. package/dist/types/web-component/createShadowDomElements.d.ts.map +1 -0
  641. package/dist/types/web-component/index.d.ts +3 -0
  642. package/dist/types/web-component/index.d.ts.map +1 -1
  643. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  644. package/dist/{assets/useMountLifecycleEffect-CjsUCFhB.js → types/web-component/removeGlobalStylesFromShadowDom.d.ts} +9 -2
  645. package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts.map +1 -0
  646. package/dist/types/web-component/renderReactInWebComponent.d.ts +1 -1
  647. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  648. package/package.json +24 -15
  649. package/dist/appswitcher/admin-app-default.svg +0 -6
  650. package/dist/appswitcher/admin-app-selected.svg +0 -6
  651. package/dist/appswitcher/aerial-default.svg +0 -7
  652. package/dist/appswitcher/aerial-selected.svg +0 -7
  653. package/dist/appswitcher/okta-dashboard-default.svg +0 -7
  654. package/dist/appswitcher/okta-dashboard-selected.svg +0 -7
  655. package/dist/appswitcher/privileged-access-default.svg +0 -4
  656. package/dist/appswitcher/privileged-access-selected.svg +0 -4
  657. package/dist/appswitcher/workflows-default.svg +0 -5
  658. package/dist/appswitcher/workflows-selected.svg +0 -5
  659. package/dist/assets/Accordion-DLG6nIhh.js +0 -1
  660. package/dist/assets/Accordion.stories-VjVp52QD.js +0 -85
  661. package/dist/assets/AccordionSummary-xCoGLMoL.js +0 -1
  662. package/dist/assets/AlertTitle-DlG4YQWR.js +0 -1
  663. package/dist/assets/AppSwitcher-D7UlQ3S8.js +0 -21
  664. package/dist/assets/AppSwitcher.stories-Dv0DHDxk.js +0 -100
  665. package/dist/assets/AppTile _labs_.stories-CgXIqWmJ.js +0 -136
  666. package/dist/assets/ArrowDropDown-bSngWMh1.js +0 -1
  667. package/dist/assets/ArrowRight-DCIAiEpA.js +0 -1
  668. package/dist/assets/Autocomplete-MfScEzbR.js +0 -1
  669. package/dist/assets/Autocomplete-UE4wqxn0.js +0 -1
  670. package/dist/assets/Autocomplete.stories-CCtQosYH.js +0 -316
  671. package/dist/assets/Badge-DL9N0uiE.js +0 -11
  672. package/dist/assets/Banner-C66lWD3c.js +0 -1
  673. package/dist/assets/Banner.stories-D6KqnSl2.js +0 -74
  674. package/dist/assets/BaseButton-B5c4cgt8.js +0 -11
  675. package/dist/assets/BaseMenuButton-DbGGXXbP.js +0 -1
  676. package/dist/assets/Box-BCBP3C7Q.js +0 -1
  677. package/dist/assets/Box-BXOPvc0Q.js +0 -1
  678. package/dist/assets/Box-C2ekHaOu.js +0 -1
  679. package/dist/assets/Box-C_Qfmw-_.js +0 -11
  680. package/dist/assets/Box.stories-uaYeF2xg.js +0 -38
  681. package/dist/assets/Breadcrumbs-Qzfi3j0j.js +0 -6
  682. package/dist/assets/Breadcrumbs.stories-CHIGnsjh.js +0 -79
  683. package/dist/assets/Bug-m6zinguF.js +0 -1
  684. package/dist/assets/Button-BOzIr8Jh.js +0 -11
  685. package/dist/assets/Button-BqwcAVQ-.js +0 -1
  686. package/dist/assets/Button-Cf49fWiK.js +0 -31
  687. package/dist/assets/Button.stories-Db-QptTh.js +0 -271
  688. package/dist/assets/ButtonBase-BqXVk-1q.js +0 -74
  689. package/dist/assets/Calendar-CuqjwSb0.js +0 -1
  690. package/dist/assets/Callout-CaNoXhaj.js +0 -1
  691. package/dist/assets/Callout.stories-D2csAs8g.js +0 -105
  692. package/dist/assets/Card-B5eIV1vH.js +0 -1
  693. package/dist/assets/Card-Bfg-qZM7.js +0 -8
  694. package/dist/assets/Card.stories-BTaeWH4V.js +0 -129
  695. package/dist/assets/CardActionArea-yvoWcAsF.js +0 -1
  696. package/dist/assets/Check-BmyOKfcL.js +0 -1
  697. package/dist/assets/Checkbox-BTj1hXUa.js +0 -1
  698. package/dist/assets/Checkbox-luq82K1t.js +0 -1
  699. package/dist/assets/Checkbox.stories-ChhXQBH_.js +0 -96
  700. package/dist/assets/CheckboxGroup-Cgc2chES.js +0 -1
  701. package/dist/assets/CheckboxGroup.stories-DpGwHWla.js +0 -81
  702. package/dist/assets/ChevronDown-BnAWuc8V.js +0 -1
  703. package/dist/assets/ChevronRight-BB0bQIRj.js +0 -1
  704. package/dist/assets/ChevronUp-B9JV-jmd.js +0 -1
  705. package/dist/assets/Chip-BOK8DR8m.js +0 -1
  706. package/dist/assets/CircularProgress-DNk4kmx6.js +0 -28
  707. package/dist/assets/CircularProgress-Ur28_31H.js +0 -1
  708. package/dist/assets/CircularProgress.stories-gv9B0XLW.js +0 -44
  709. package/dist/assets/Clock-Byj5V_49.js +0 -1
  710. package/dist/assets/Close-DA7fBExu.js +0 -1
  711. package/dist/assets/Close-DA_Sph0R.js +0 -1
  712. package/dist/assets/CloseCircleFilled-D2aBlgBe.js +0 -1
  713. package/dist/assets/Code Styling Guidelines-CAzyRuHZ.js +0 -14
  714. package/dist/assets/Collapse-P1H1b4lO.js +0 -1
  715. package/dist/assets/Color-YHDXOIA2-CcHVwBQP.js +0 -1
  716. package/dist/assets/CssBaseline-C3xNeK8b.js +0 -1
  717. package/dist/assets/CssBaseline-CUjr0ON2.js +0 -190
  718. package/dist/assets/CssBaseline.stories-DgXaUmIC.js +0 -402
  719. package/dist/assets/Custom Theming-CKloJLS_.js +0 -136
  720. package/dist/assets/Custom Theming.stories-BHdYhCs2.js +0 -93
  721. package/dist/assets/DataFilters _labs_-D3S2uNi-.js +0 -55
  722. package/dist/assets/DataFilters _labs_.stories-RwWZVkCe.js +0 -31
  723. package/dist/assets/DataFilters-DVey1xPT.js +0 -1
  724. package/dist/assets/DataTable _labs_-CtXARbkP.js +0 -41
  725. package/dist/assets/DataTable _labs_.stories-U7XFYtR6.js +0 -21
  726. package/dist/assets/DataTable-CkACYzFJ.js +0 -404
  727. package/dist/assets/DataTable-CnCWIOTw.js +0 -21
  728. package/dist/assets/DataTable.stories-Db2HEmax.js +0 -438
  729. package/dist/assets/DataView _labs_-DZnmSNME.js +0 -332
  730. package/dist/assets/DataView _labs_.stories-CusuCHkc.js +0 -438
  731. package/dist/assets/DataView-BQBP0FCs.js +0 -101
  732. package/dist/assets/DatePicker-DIRg7n4d.js +0 -1
  733. package/dist/assets/DatePicker.stories-BPWj6DxY.js +0 -143
  734. package/dist/assets/DateTimePicker-CnXcHc5u.js +0 -1
  735. package/dist/assets/DateTimePicker.stories-nLmYctur.js +0 -168
  736. package/dist/assets/DefaultPropsProvider-B7tpShA7.js +0 -9
  737. package/dist/assets/Design Tokens-BxQ2eYvg.js +0 -4
  738. package/dist/assets/Dialog-BIM-1Zvj.js +0 -1
  739. package/dist/assets/Dialog.stories-D2UYs9Hc.js +0 -201
  740. package/dist/assets/DialogContent-C_FnZ5ZS.js +0 -1
  741. package/dist/assets/DialogTitle-CLDQZ0bg.js +0 -1
  742. package/dist/assets/Divider-CsWa3KCo.js +0 -1
  743. package/dist/assets/DocsRenderer-CFRXHY34-DEwq8OPY.js +0 -2
  744. package/dist/assets/Documentation-DM1hawvn.js +0 -1
  745. package/dist/assets/Download-Cp75oFKP.js +0 -1
  746. package/dist/assets/Drawer-Dg44iOBm.js +0 -27
  747. package/dist/assets/Drawer.stories-DRGYC84s.js +0 -95
  748. package/dist/assets/EmptyState-DQoihCwU.js +0 -11
  749. package/dist/assets/EmptyState.stories-C8kkt-lH.js +0 -11
  750. package/dist/assets/ExampleButton.stories-BKxnZulW.js +0 -11
  751. package/dist/assets/Extending Translations-BnOA8j0s.js +0 -146
  752. package/dist/assets/ExternalLink-DTdulgUc.js +0 -1
  753. package/dist/assets/Field-ilPS333M.js +0 -11
  754. package/dist/assets/FieldHint-Cv7aMlpU.js +0 -1
  755. package/dist/assets/Fieldset-CmtxEykF.js +0 -11
  756. package/dist/assets/Fieldset.stories-CeV3XwQn.js +0 -15
  757. package/dist/assets/FileUploader.stories-CmC83k5u.js +0 -58
  758. package/dist/assets/Filter-BAXcmMyf.js +0 -1
  759. package/dist/assets/Folder-Ddku_ujr.js +0 -1
  760. package/dist/assets/Form Field Accessibility-bATJbTW6.js +0 -18
  761. package/dist/assets/Form-CBnvE26F.js +0 -11
  762. package/dist/assets/Form.stories-Eg4GUI1C.js +0 -69
  763. package/dist/assets/FormControlLabel-CxCmH5hv.js +0 -1
  764. package/dist/assets/FormGroup-BaCH3e06.js +0 -1
  765. package/dist/assets/FormHelperText-ZkUAjajs.js +0 -1
  766. package/dist/assets/FormLabel-BLeax9q3.js +0 -1
  767. package/dist/assets/Generating Icons-CY4QgHRK.js +0 -16
  768. package/dist/assets/GlobalStyles-BxDN_5FT.js +0 -1
  769. package/dist/assets/Globe--OQ55RD1.js +0 -1
  770. package/dist/assets/Grid-B2PgWvdd.js +0 -1
  771. package/dist/assets/Group-W0XqkWVH.js +0 -1
  772. package/dist/assets/GroupPicker _labs_.stories-CP9ogL4g.js +0 -33
  773. package/dist/assets/Grow-CIie3qhp.js +0 -1
  774. package/dist/assets/Hide-RfKmYLNv.js +0 -1
  775. package/dist/assets/Home-BXMRmOIu.js +0 -1
  776. package/dist/assets/Icon _icons_.stories-CfG9aDh6.js +0 -16
  777. package/dist/assets/IconButton-CK9Do7vj.js +0 -1
  778. package/dist/assets/IconWithTooltip _icons_.stories-BriwOCod.js +0 -19
  779. package/dist/assets/InformationCircle-B71JRUfK.js +0 -1
  780. package/dist/assets/InputAdornment-CFgP75Dd.js +0 -1
  781. package/dist/assets/InputBase--xDu7aWm.js +0 -2
  782. package/dist/assets/Installing odyssey-react-mui-FI77Ty6y.js +0 -195
  783. package/dist/assets/Introduction-B_2OeBP6.js +0 -46
  784. package/dist/assets/Layout-Bojn6-Uj.js +0 -11
  785. package/dist/assets/Layout.stories-BN7leK7P.js +0 -217
  786. package/dist/assets/Legacy Migrations-eiPSj0S4.js +0 -86
  787. package/dist/assets/Link-ClKgpBXG.js +0 -1
  788. package/dist/assets/Link-DTvs7F4J.js +0 -11
  789. package/dist/assets/Link.stories-GP1qln9R.js +0 -43
  790. package/dist/assets/List-0o0OI1E9.js +0 -1
  791. package/dist/assets/List-W5kRT_jR.js +0 -1
  792. package/dist/assets/ListContext-C02XM7tn.js +0 -1
  793. package/dist/assets/ListItem-CcduKzQu.js +0 -1
  794. package/dist/assets/ListSubheader-DXKE8lW0.js +0 -1
  795. package/dist/assets/Menu-CGJO1mMf.js +0 -1
  796. package/dist/assets/MenuButton-DeZSGuxY.js +0 -9
  797. package/dist/assets/MenuButton-OjJFnmOD.js +0 -11
  798. package/dist/assets/MenuButton.stories-C8xNZymc.js +0 -246
  799. package/dist/assets/MenuContext-DKMyPMNY.js +0 -11
  800. package/dist/assets/MenuItem-CuP47MJ-.js +0 -1
  801. package/dist/assets/MenuItem-DjSqFwdt.js +0 -1
  802. package/dist/assets/MenuItem.stories-Cc5X-FtZ.js +0 -29
  803. package/dist/assets/MenuList-BboivbXC.js +0 -1
  804. package/dist/assets/Modal-CW5mOzJG.js +0 -1
  805. package/dist/assets/More-axx2rGKU.js +0 -1
  806. package/dist/assets/MuiPropsContext-DhRylJZk.js +0 -11
  807. package/dist/assets/NativeSelect.stories-D8Y2ITgz.js +0 -173
  808. package/dist/assets/OdysseyDesignTokensContext-BWQIA5ie.js +0 -11
  809. package/dist/assets/OdysseyProvider-BQyPcEvx.js +0 -41
  810. package/dist/assets/OdysseyProvider-BjO4GObW.js +0 -280
  811. package/dist/assets/OdysseyStorybookThemeDecorator-DginBfEq.js +0 -1
  812. package/dist/assets/OdysseyThemeProvider-aR5shtx6.js +0 -117
  813. package/dist/assets/PageHeader.stories-CtAENr0_.js +0 -90
  814. package/dist/assets/PageHeader.stories-WaRXuLcH.js +0 -17
  815. package/dist/assets/PageTemplate _labs_-CUXvNJxx.js +0 -8
  816. package/dist/assets/PageTemplate _labs_.stories-BVKInLfu.js +0 -306
  817. package/dist/assets/PageTemplate-DOXk_uAG.js +0 -21
  818. package/dist/assets/PaginatedTable _labs_.stories-Bet6WnQV.js +0 -65
  819. package/dist/assets/Pagination-CgxBDBwQ.js +0 -11
  820. package/dist/assets/Pagination.stories-7dUsTYEf.js +0 -17
  821. package/dist/assets/Paper-DbAuDGNI.js +0 -1
  822. package/dist/assets/PasswordField.stories-Bclv9Lsw.js +0 -129
  823. package/dist/assets/Picker _labs_.stories-Dzo7T9_p.js +0 -18
  824. package/dist/assets/PickerWithOptionAdornment _labs_.stories-C1ftphm9.js +0 -70
  825. package/dist/assets/PlaceholderLogo-JfVvgA23.js +0 -11
  826. package/dist/assets/Popper-CwLH-7YW.js +0 -1
  827. package/dist/assets/Portal-Bvf2g5iG.js +0 -1
  828. package/dist/assets/Radio-Bi1_KmSD.js +0 -1
  829. package/dist/assets/Radio-D85jg1Ri.js +0 -1
  830. package/dist/assets/Radio.stories-BrLSJa7w.js +0 -63
  831. package/dist/assets/RadioGroup-6XgStuIE.js +0 -10
  832. package/dist/assets/RadioGroup-BS6oYUQf.js +0 -1
  833. package/dist/assets/RadioGroup.stories-BcEJF09Q.js +0 -127
  834. package/dist/assets/Refresh-CPgGX1hz.js +0 -1
  835. package/dist/assets/Right-to-Left (RTL)-BK9_DI66.js +0 -62
  836. package/dist/assets/ScopedCssBaseline-FivWKbYZ.js +0 -1
  837. package/dist/assets/ScreenReaderText-DCDUyE9Y.js +0 -15
  838. package/dist/assets/ScreenReaderText-vq7_Ob_I.js +0 -1
  839. package/dist/assets/ScreenReaderText.stories-BZinu6VX.js +0 -8
  840. package/dist/assets/Search-BvCmvJcV.js +0 -1
  841. package/dist/assets/SearchDropdown _labs_.stories-CYbt2vgf.js +0 -53
  842. package/dist/assets/SearchField-jc9ws93I.js +0 -1
  843. package/dist/assets/SearchField.stories-3apxQKjy.js +0 -37
  844. package/dist/assets/Select-DVJCNQIV.js +0 -1
  845. package/dist/assets/Select.stories-Dnr0InYf.js +0 -293
  846. package/dist/assets/Server-F8KLZq7d.js +0 -1
  847. package/dist/assets/Settings-DjrryuBd.js +0 -1
  848. package/dist/assets/Shadow DOM-ErMvgTrT.js +0 -64
  849. package/dist/assets/Show-qQzUH4Sq.js +0 -1
  850. package/dist/assets/SideNav-CCPZq2Bh.js +0 -85
  851. package/dist/assets/SideNav-Duwk1--M.js +0 -125
  852. package/dist/assets/SideNav.stories-CHEyk4wu.js +0 -207
  853. package/dist/assets/Skeleton-BJLiCr2o.js +0 -51
  854. package/dist/assets/Stack-Ba8l39se.js +0 -1
  855. package/dist/assets/Stack.stories-CBatf2Aw.js +0 -1
  856. package/dist/assets/StaticTable _labs_.stories-HuypNvo4.js +0 -34
  857. package/dist/assets/Status-BYBMXN_H.js +0 -1
  858. package/dist/assets/Status.stories-C3BLGCGc.js +0 -66
  859. package/dist/assets/SvgIcon-BQAg6Jm7.js +0 -1
  860. package/dist/assets/Switch.stories-zEk8HMOP.js +0 -61
  861. package/dist/assets/SwitchBase-Bja5dn-O.js +0 -1
  862. package/dist/assets/Sync-Bmam4Lr_.js +0 -1
  863. package/dist/assets/Tabs-BEhcVkzW.js +0 -23
  864. package/dist/assets/Tabs-Buvkuz1V.js +0 -1
  865. package/dist/assets/Tabs-ChAj4m0g.js +0 -1
  866. package/dist/assets/Tabs.stories-BwOqe_a_.js +0 -100
  867. package/dist/assets/Tag-CjPSrGAL.js +0 -11
  868. package/dist/assets/Tag.stories-D1YMwKB7.js +0 -96
  869. package/dist/assets/TagList-BQKiA1TW.js +0 -1
  870. package/dist/assets/TextField-CZ0hstP2.js +0 -1
  871. package/dist/assets/TextField.stories-BVJr2VmB.js +0 -149
  872. package/dist/assets/Toast.stories-aIKtHa18.js +0 -134
  873. package/dist/assets/ToastManager.stories-Bst-XOOh.js +0 -269
  874. package/dist/assets/Tooltip-3088PjcT.js +0 -11
  875. package/dist/assets/Tooltip-B4GIR2eB.js +0 -1
  876. package/dist/assets/Tooltip.stories-GU5ZWKSu.js +0 -68
  877. package/dist/assets/TopNav-CWVyy01x.js +0 -11
  878. package/dist/assets/TopNav.stories-CIdyN7Ai.js +0 -13
  879. package/dist/assets/Trans-DZ9nii1x.js +0 -1
  880. package/dist/assets/TransitionGroup-BBx_tHs0.js +0 -9
  881. package/dist/assets/TransitionGroupContext-BMO0EZjQ.js +0 -9
  882. package/dist/assets/TransitionGroupContext-twgBS-Q3.js +0 -1
  883. package/dist/assets/Typography-BTrM-f_f.js +0 -9
  884. package/dist/assets/Typography-CiNRLenM.js +0 -1
  885. package/dist/assets/Typography-D7-qxuiy.js +0 -1
  886. package/dist/assets/Typography.stories-DOm50jIe.js +0 -139
  887. package/dist/assets/UiShell.stories-CcRPnzQe.js +0 -531
  888. package/dist/assets/UiShellProvider-D1w1Ocw9.js +0 -31
  889. package/dist/assets/Upload-DK3nRIto.js +0 -1
  890. package/dist/assets/User-BBdPovZN.js +0 -1
  891. package/dist/assets/UserProfile-xXh984n9.js +0 -11
  892. package/dist/assets/UserProfile.stories-cf7P_USw.js +0 -14
  893. package/dist/assets/UserProfileMenuButton.stories-DQvKwLs8.js +0 -30
  894. package/dist/assets/Video-DytabcyM.js +0 -1
  895. package/dist/assets/WarningFilled-Y3Vw7n_w.js +0 -1
  896. package/dist/assets/_commonjsHelpers-gnU0ypJ3.js +0 -1
  897. package/dist/assets/alertTitleClasses-CSPeaunQ.js +0 -1
  898. package/dist/assets/assertThisInitialized-B9jnkVVz.js +0 -1
  899. package/dist/assets/autocompleteClasses-Bi4FgC8v.js +0 -1
  900. package/dist/assets/axe-UFrR6cCR.js +0 -30
  901. package/dist/assets/axeRun-BfHtukUP.js +0 -40
  902. package/dist/assets/buttonBaseClasses-CSPKg76d.js +0 -1
  903. package/dist/assets/buttonClasses-DtIJBSf4.js +0 -1
  904. package/dist/assets/checkboxClasses-Dtdq1kQG.js +0 -1
  905. package/dist/assets/chipClasses-BMWKl3Eu.js +0 -1
  906. package/dist/assets/chunk-XP5HYGXS-BpfKkqn7.js +0 -1
  907. package/dist/assets/client-akVMpN0m.js +0 -1
  908. package/dist/assets/colorManipulator-O7SU8zMv.js +0 -1
  909. package/dist/assets/constants-CyailK6t.js +0 -11
  910. package/dist/assets/context-D_qJ2zXV.js +0 -1
  911. package/dist/assets/createChainedFunction-BO_9K8Jh.js +0 -1
  912. package/dist/assets/createSvgIcon-DiC7XVU3.js +0 -1
  913. package/dist/assets/createTheme-BmPXDA4p.js +0 -8
  914. package/dist/assets/createUniqueId-ByTaVY63.js +0 -1
  915. package/dist/assets/debounce-Be36O1Ab.js +0 -1
  916. package/dist/assets/emotion-react-jsx-runtime.browser.esm-B2sVIsIq.js +0 -1
  917. package/dist/assets/emotion-styled.browser.esm-Bcn7fuYX.js +0 -1
  918. package/dist/assets/entry-preview-4ElqUVRP.js +0 -2
  919. package/dist/assets/entry-preview-docs-BKXv92OK.js +0 -46
  920. package/dist/assets/fieldComponentPropsMetaData-BqbNLw6V.js +0 -11
  921. package/dist/assets/formControlLabelClasses-BtjP4uib.js +0 -1
  922. package/dist/assets/formGroupClasses-D9ChLj7o.js +0 -1
  923. package/dist/assets/formLabelClasses-xMgYguuN.js +0 -1
  924. package/dist/assets/generateUtilityClasses-DYvjsuMV.js +0 -1
  925. package/dist/assets/getScrollbarSize-Bqq2hMjQ.js +0 -1
  926. package/dist/assets/i18n-DmkmAJlT.js +0 -11
  927. package/dist/assets/i18next-DbMy2do-.js +0 -1
  928. package/dist/assets/iconUtils-Cxr8mVIA.js +0 -11
  929. package/dist/assets/iframe-C-RQ_TKY.js +0 -211
  930. package/dist/assets/index-B5xazMy1.js +0 -1
  931. package/dist/assets/index-B885ELRa.js +0 -1
  932. package/dist/assets/index-BJMTVygn.js +0 -240
  933. package/dist/assets/index-BJTM6NaI.js +0 -192
  934. package/dist/assets/index-BeeV6X6A.js +0 -1
  935. package/dist/assets/index-BpVuOoKb.js +0 -384
  936. package/dist/assets/index-BzN0w9dc.js +0 -1
  937. package/dist/assets/index-CDGerSbe.js +0 -1
  938. package/dist/assets/index-CXQShRbs.js +0 -8
  939. package/dist/assets/index-CpbQl8EB.js +0 -1
  940. package/dist/assets/index-CtY5BB1N.js +0 -1
  941. package/dist/assets/index-DieBXP3Z.js +0 -24
  942. package/dist/assets/index-DrFu-skq.js +0 -6
  943. package/dist/assets/index-NdkWRN8K.js +0 -9
  944. package/dist/assets/index.esm-D7MwfoQM.js +0 -138
  945. package/dist/assets/index.modern-CkASn_bb.js +0 -14
  946. package/dist/assets/inheritsLoose-CWawPfk8.js +0 -1
  947. package/dist/assets/inputAdornmentClasses-DYNxkEwO.js +0 -1
  948. package/dist/assets/inputBaseClasses-PAjj3ZBN.js +0 -1
  949. package/dist/assets/inputUtils-Dbi8XkA6.js +0 -11
  950. package/dist/assets/isHostComponent-DVu5iVWx.js +0 -1
  951. package/dist/assets/jsx-runtime-CnH95YSl.js +0 -9
  952. package/dist/assets/matchers-7Z3WT2CE-T3xScrR7.js +0 -14
  953. package/dist/assets/menuItemClasses-DFm3-Sf1.js +0 -1
  954. package/dist/assets/ownerDocument-DW-IO8s5.js +0 -1
  955. package/dist/assets/ownerWindow-HkKU3E4x.js +0 -1
  956. package/dist/assets/personData-CZJz4n06.js +0 -1
  957. package/dist/assets/personData-Ci-ru1S9.js +0 -11
  958. package/dist/assets/pickerComponentPropsMetadata-C9L3AhmF.js +0 -21
  959. package/dist/assets/popper-CMBiYTiD.js +0 -1
  960. package/dist/assets/preview-B-jDHJEN.js +0 -1
  961. package/dist/assets/preview-B8lJiyuQ.js +0 -34
  962. package/dist/assets/preview-BBWR9nbA.js +0 -1
  963. package/dist/assets/preview-BWzBA1C2.js +0 -396
  964. package/dist/assets/preview-BzLY45Eo.js +0 -2
  965. package/dist/assets/preview-CYp4EYYZ.js +0 -1
  966. package/dist/assets/preview-CeHM5zqH.js +0 -2
  967. package/dist/assets/preview-CvbIS5ZJ.js +0 -1
  968. package/dist/assets/preview-DGUiP6tS.js +0 -7
  969. package/dist/assets/preview-DHQbi4pV.js +0 -1
  970. package/dist/assets/preview-D_z0Z5cB.js +0 -1
  971. package/dist/assets/preview-MBifGIx_.js +0 -1
  972. package/dist/assets/queryOdysseySelector-B27JCf-A.js +0 -151
  973. package/dist/assets/radioClasses-f3ayyf7y.js +0 -1
  974. package/dist/assets/react-18-CxBTDaIe.js +0 -1
  975. package/dist/assets/resolveComponentProps-DMpKAZvD.js +0 -1
  976. package/dist/assets/tableRowClasses-inqOIkjd.js +0 -1
  977. package/dist/assets/test-utils-H9lH7T5D.js +0 -9
  978. package/dist/assets/tooltipClasses-C74HjonW.js +0 -1
  979. package/dist/assets/typographyClasses-D8vr2n3l.js +0 -1
  980. package/dist/assets/useAutocomplete-C7VK9p4p.js +0 -11
  981. package/dist/assets/useContrastMode-BthoHtLy.js +0 -21
  982. package/dist/assets/useControlled-NQulfz4l.js +0 -1
  983. package/dist/assets/useFormControl-BMISTZuX.js +0 -1
  984. package/dist/assets/useId-cMcvCE23.js +0 -1
  985. package/dist/assets/useId-kSseQ0DW.js +0 -1
  986. package/dist/assets/useIsFocusVisible-DH0qxT5e.js +0 -1
  987. package/dist/assets/useMobilePicker-CfUl5sFz.js +0 -6
  988. package/dist/assets/useOdysseyDateFields-DQkQFY7w.js +0 -61
  989. package/dist/assets/useScrollIndication-BJW9jXaC.js +0 -31
  990. package/dist/assets/useSlot-F4Qz2Wzp.js +0 -1
  991. package/dist/assets/useTheme-C05bJKih.js +0 -1
  992. package/dist/assets/useThemeProps-BG38P4ul.js +0 -1
  993. package/dist/assets/useThemeProps-Dy5sAWyz.js +0 -1
  994. package/dist/assets/useTranslation-vEf1lqoc.js +0 -1
  995. package/dist/assets/useUniqueId-Bsgqe1tm.js +0 -11
  996. package/dist/assets/utils-gq6yExow.js +0 -1
  997. package/dist/assets/utils-iop7lDec.js +0 -1
  998. package/dist/assets/v4-BOvFkHkt.js +0 -1
  999. package/dist/assets/visuallyHidden-Dan1xhjv.js +0 -1
  1000. package/dist/cjs/@types/i18next.d.cjs +0 -4
  1001. package/dist/cjs/@types/i18next.d.cjs.map +0 -1
  1002. package/dist/cjs/@types/properties.d.cjs +0 -2
  1003. package/dist/cjs/@types/properties.d.cjs.map +0 -1
  1004. package/dist/cjs/OdysseyTranslationProvider.cjs +0 -55
  1005. package/dist/cjs/OdysseyTranslationProvider.cjs.map +0 -1
  1006. package/dist/cjs/OdysseyTranslationProvider.types.cjs.map +0 -1
  1007. package/dist/cjs/i18n.cjs +0 -113
  1008. package/dist/cjs/i18n.cjs.map +0 -1
  1009. package/dist/cjs/shadow-dom/index.cjs +0 -17
  1010. package/dist/cjs/shadow-dom/index.cjs.map +0 -1
  1011. package/dist/cjs/shadow-dom/shadow-dom.cjs.map +0 -1
  1012. package/dist/esm/@types/i18next.d.js +0 -14
  1013. package/dist/esm/@types/i18next.d.js.map +0 -1
  1014. package/dist/esm/@types/properties.d.js +0 -2
  1015. package/dist/esm/@types/properties.d.js.map +0 -1
  1016. package/dist/esm/OdysseyTranslationProvider.js +0 -48
  1017. package/dist/esm/OdysseyTranslationProvider.js.map +0 -1
  1018. package/dist/esm/OdysseyTranslationProvider.types.js +0 -14
  1019. package/dist/esm/OdysseyTranslationProvider.types.js.map +0 -1
  1020. package/dist/esm/i18n.js +0 -100
  1021. package/dist/esm/i18n.js.map +0 -1
  1022. package/dist/esm/shadow-dom/index.js.map +0 -1
  1023. package/dist/esm/shadow-dom/shadow-dom.js.map +0 -1
  1024. package/dist/favicon.svg +0 -1
  1025. package/dist/iframe.html +0 -747
  1026. package/dist/index.cjs +0 -231
  1027. package/dist/index.d.ts +0 -233
  1028. package/dist/index.d.ts.map +0 -1
  1029. package/dist/index.html +0 -203
  1030. package/dist/index.js +0 -25
  1031. package/dist/index.json +0 -1
  1032. package/dist/index.mjs +0 -229
  1033. package/dist/index.scss +0 -549
  1034. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  1035. package/dist/nunito-sans-bold.woff2 +0 -0
  1036. package/dist/nunito-sans-italic.woff2 +0 -0
  1037. package/dist/nunito-sans-regular.woff2 +0 -0
  1038. package/dist/project.json +0 -1
  1039. package/dist/sb-addons/a11y-3/manager-bundle.js +0 -220
  1040. package/dist/sb-addons/docs-1/manager-bundle.js +0 -242
  1041. package/dist/sb-addons/essentials-actions-5/manager-bundle.js +0 -3
  1042. package/dist/sb-addons/essentials-backgrounds-6/manager-bundle.js +0 -12
  1043. package/dist/sb-addons/essentials-controls-4/manager-bundle.js +0 -402
  1044. package/dist/sb-addons/essentials-measure-9/manager-bundle.js +0 -3
  1045. package/dist/sb-addons/essentials-outline-10/manager-bundle.js +0 -3
  1046. package/dist/sb-addons/essentials-toolbars-8/manager-bundle.js +0 -3
  1047. package/dist/sb-addons/essentials-viewport-7/manager-bundle.js +0 -3
  1048. package/dist/sb-addons/interactions-11/manager-bundle.js +0 -222
  1049. package/dist/sb-addons/links-2/manager-bundle.js +0 -3
  1050. package/dist/sb-addons/rtl-12/manager-bundle.js +0 -3
  1051. package/dist/sb-addons/storybook-13/manager-bundle.js +0 -3
  1052. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
  1053. package/dist/sb-common-assets/favicon.svg +0 -1
  1054. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  1055. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  1056. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  1057. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  1058. package/dist/sb-manager/globals-module-info.js +0 -1052
  1059. package/dist/sb-manager/globals-runtime.js +0 -42127
  1060. package/dist/sb-manager/globals.js +0 -48
  1061. package/dist/sb-manager/runtime.js +0 -12048
  1062. package/dist/tsconfig.tsbuildinfo +0 -1
  1063. package/dist/types/OdysseyTranslationProvider.d.ts +0 -24
  1064. package/dist/types/OdysseyTranslationProvider.d.ts.map +0 -1
  1065. package/dist/types/OdysseyTranslationProvider.types.d.ts +0 -14
  1066. package/dist/types/OdysseyTranslationProvider.types.d.ts.map +0 -1
  1067. package/dist/types/i18n.d.ts +0 -3937
  1068. package/dist/types/shadow-dom/index.d.ts.map +0 -1
  1069. package/dist/types/shadow-dom/shadow-dom.d.ts.map +0 -1
@@ -12,8 +12,8 @@
12
12
 
13
13
  import styled from "@emotion/styled";
14
14
  import { memo, useMemo } from "react";
15
- import { useTranslation } from "react-i18next";
16
15
  import { Box } from "../../Box.js";
16
+ import { useTranslation } from "../../i18n.generated/i18n.js";
17
17
  import { Link } from "../../Link.js";
18
18
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
19
19
  import { useUiShellContext } from "../../ui-shell/UiShellProvider.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavFooterContent.js","names":["styled","memo","useMemo","useTranslation","Box","Link","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","StyledFooterNav","display","StyledFooterItemContainer","shouldForwardProp","prop","borderColor","odysseyDesignTokens","marginInlineStart","Spacing4","paddingInlineStart","borderInlineStart","HueNeutral300","SideNavFooterContent","footerItems","t","shellColors","memoizedFooterContent","map","item","sideNavContrastColors","fontColor","role","children","href","label","component","id","MemoizedSideNavFooterContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavFooterContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { SideNavFooterItem } from \"./types.js\";\n\nimport { Box } from \"../../Box.js\";\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { Link } from \"../../Link.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\n\nconst StyledFooterNav = styled(\"nav\")({\n display: \"flex\",\n});\n\nconst StyledFooterItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"borderColor\",\n})(\n ({\n borderColor,\n odysseyDesignTokens,\n }: {\n borderColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n \"& + &\": {\n marginInlineStart: odysseyDesignTokens.Spacing4,\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n borderInlineStart: `1px solid ${borderColor || odysseyDesignTokens.HueNeutral300}`,\n },\n }),\n);\n\nconst SideNavFooterContent = ({\n footerItems,\n}: {\n footerItems: SideNavFooterItem[];\n}) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const shellColors = useUiShellContext();\n\n const memoizedFooterContent = useMemo(() => {\n return footerItems?.map((item) => (\n <StyledFooterItemContainer\n borderColor={shellColors?.sideNavContrastColors?.fontColor}\n key={item.id}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"menuitem\"\n >\n {item.href ? (\n <Link href={item.href}>{item.label}</Link>\n ) : (\n <Box component=\"span\">{item.label}</Box>\n )}\n </StyledFooterItemContainer>\n ));\n }, [footerItems, odysseyDesignTokens, shellColors]);\n\n return (\n <StyledFooterNav aria-label={t(\"navigation.footer\")} role=\"menubar\">\n {memoizedFooterContent}\n </StyledFooterNav>\n );\n};\nconst MemoizedSideNavFooterContent = memo(SideNavFooterContent);\nMemoizedSideNavFooterContent.displayName = \"SideNavFooterContent\";\n\nexport { MemoizedSideNavFooterContent as SideNavFooterContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,cAAc,QAAQ,eAAe;AAI9C,SAASC,GAAG,QAAQ,cAAc;AAElC,SAASC,IAAI,QAAQ,eAAe;AACpC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,iBAAiB,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,eAAe,GAAGV,MAAM,CAAC,KAAK,CAAC,CAAC;EACpCW,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,yBAAyB,GAAGZ,MAAM,CAAC,KAAK,EAAE;EAC9Ca,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,WAAW;EACXC;AAIF,CAAC,MAAM;EACL,OAAO,EAAE;IACPC,iBAAiB,EAAED,mBAAmB,CAACE,QAAQ;IAC/CC,kBAAkB,EAAEH,mBAAmB,CAACE,QAAQ;IAChDE,iBAAiB,EAAE,aAAaL,WAAW,IAAIC,mBAAmB,CAACK,aAAa;EAClF;AACF,CAAC,CACH,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC;AAGF,CAAC,KAAK;EACJ,MAAMP,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEkB;EAAE,CAAC,GAAGrB,cAAc,CAAC,CAAC;EAC9B,MAAMsB,WAAW,GAAGlB,iBAAiB,CAAC,CAAC;EAEvC,MAAMmB,qBAAqB,GAAGxB,OAAO,CAAC,MAAM;IAC1C,OAAOqB,WAAW,EAAEI,GAAG,CAAEC,IAAI,IAC3BnB,IAAA,CAACG,yBAAyB;MACxBG,WAAW,EAAEU,WAAW,EAAEI,qBAAqB,EAAEC,SAAU;MAE3Dd,mBAAmB,EAAEA,mBAAoB;MACzCe,IAAI,EAAC,UAAU;MAAAC,QAAA,EAEdJ,IAAI,CAACK,IAAI,GACRxB,IAAA,CAACJ,IAAI;QAAC4B,IAAI,EAAEL,IAAI,CAACK,IAAK;QAAAD,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAO,CAAC,GAE1CzB,IAAA,CAACL,GAAG;QAAC+B,SAAS,EAAC,MAAM;QAAAH,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAM;IACxC,GARIN,IAAI,CAACQ,EASe,CAC5B,CAAC;EACJ,CAAC,EAAE,CAACb,WAAW,EAAEP,mBAAmB,EAAES,WAAW,CAAC,CAAC;EAEnD,OACEhB,IAAA,CAACC,eAAe;IAAC,cAAYc,CAAC,CAAC,mBAAmB,CAAE;IAACO,IAAI,EAAC,SAAS;IAAAC,QAAA,EAChEN;EAAqB,CACP,CAAC;AAEtB,CAAC;AACD,MAAMW,4BAA4B,GAAGpC,IAAI,CAACqB,oBAAoB,CAAC;AAC/De,4BAA4B,CAACC,WAAW,GAAG,sBAAsB;AAEjE,SAASD,4BAA4B,IAAIf,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"SideNavFooterContent.js","names":["styled","memo","useMemo","Box","useTranslation","Link","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","StyledFooterNav","display","StyledFooterItemContainer","shouldForwardProp","prop","borderColor","odysseyDesignTokens","marginInlineStart","Spacing4","paddingInlineStart","borderInlineStart","HueNeutral300","SideNavFooterContent","footerItems","t","shellColors","memoizedFooterContent","map","item","sideNavContrastColors","fontColor","role","children","href","label","component","id","MemoizedSideNavFooterContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavFooterContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, useMemo } from \"react\";\n\nimport type { SideNavFooterItem } from \"./types.js\";\n\nimport { Box } from \"../../Box.js\";\nimport { ContrastColors } from \"../../createContrastColors.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { Link } from \"../../Link.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { useUiShellContext } from \"../../ui-shell/UiShellProvider.js\";\n\nconst StyledFooterNav = styled(\"nav\")({\n display: \"flex\",\n});\n\nconst StyledFooterItemContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"borderColor\",\n})(\n ({\n borderColor,\n odysseyDesignTokens,\n }: {\n borderColor: ContrastColors[\"fontColor\"];\n odysseyDesignTokens: DesignTokens;\n }) => ({\n \"& + &\": {\n marginInlineStart: odysseyDesignTokens.Spacing4,\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n borderInlineStart: `1px solid ${borderColor || odysseyDesignTokens.HueNeutral300}`,\n },\n }),\n);\n\nconst SideNavFooterContent = ({\n footerItems,\n}: {\n footerItems: SideNavFooterItem[];\n}) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const shellColors = useUiShellContext();\n\n const memoizedFooterContent = useMemo(() => {\n return footerItems?.map((item) => (\n <StyledFooterItemContainer\n borderColor={shellColors?.sideNavContrastColors?.fontColor}\n key={item.id}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"menuitem\"\n >\n {item.href ? (\n <Link href={item.href}>{item.label}</Link>\n ) : (\n <Box component=\"span\">{item.label}</Box>\n )}\n </StyledFooterItemContainer>\n ));\n }, [footerItems, odysseyDesignTokens, shellColors]);\n\n return (\n <StyledFooterNav aria-label={t(\"navigation.footer\")} role=\"menubar\">\n {memoizedFooterContent}\n </StyledFooterNav>\n );\n};\nconst MemoizedSideNavFooterContent = memo(SideNavFooterContent);\nMemoizedSideNavFooterContent.displayName = \"SideNavFooterContent\";\n\nexport { MemoizedSideNavFooterContent as SideNavFooterContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAIrC,SAASC,GAAG,QAAQ,cAAc;AAElC,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,IAAI,QAAQ,eAAe;AACpC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,iBAAiB,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,eAAe,GAAGV,MAAM,CAAC,KAAK,CAAC,CAAC;EACpCW,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,yBAAyB,GAAGZ,MAAM,CAAC,KAAK,EAAE;EAC9Ca,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CACA,CAAC;EACCC,WAAW;EACXC;AAIF,CAAC,MAAM;EACL,OAAO,EAAE;IACPC,iBAAiB,EAAED,mBAAmB,CAACE,QAAQ;IAC/CC,kBAAkB,EAAEH,mBAAmB,CAACE,QAAQ;IAChDE,iBAAiB,EAAE,aAAaL,WAAW,IAAIC,mBAAmB,CAACK,aAAa;EAClF;AACF,CAAC,CACH,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC;AAGF,CAAC,KAAK;EACJ,MAAMP,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEkB;EAAE,CAAC,GAAGpB,cAAc,CAAC,CAAC;EAC9B,MAAMqB,WAAW,GAAGlB,iBAAiB,CAAC,CAAC;EAEvC,MAAMmB,qBAAqB,GAAGxB,OAAO,CAAC,MAAM;IAC1C,OAAOqB,WAAW,EAAEI,GAAG,CAAEC,IAAI,IAC3BnB,IAAA,CAACG,yBAAyB;MACxBG,WAAW,EAAEU,WAAW,EAAEI,qBAAqB,EAAEC,SAAU;MAE3Dd,mBAAmB,EAAEA,mBAAoB;MACzCe,IAAI,EAAC,UAAU;MAAAC,QAAA,EAEdJ,IAAI,CAACK,IAAI,GACRxB,IAAA,CAACJ,IAAI;QAAC4B,IAAI,EAAEL,IAAI,CAACK,IAAK;QAAAD,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAO,CAAC,GAE1CzB,IAAA,CAACN,GAAG;QAACgC,SAAS,EAAC,MAAM;QAAAH,QAAA,EAAEJ,IAAI,CAACM;MAAK,CAAM;IACxC,GARIN,IAAI,CAACQ,EASe,CAC5B,CAAC;EACJ,CAAC,EAAE,CAACb,WAAW,EAAEP,mBAAmB,EAAES,WAAW,CAAC,CAAC;EAEnD,OACEhB,IAAA,CAACC,eAAe;IAAC,cAAYc,CAAC,CAAC,mBAAmB,CAAE;IAACO,IAAI,EAAC,SAAS;IAAAC,QAAA,EAChEN;EAAqB,CACP,CAAC;AAEtB,CAAC;AACD,MAAMW,4BAA4B,GAAGpC,IAAI,CAACqB,oBAAoB,CAAC;AAC/De,4BAA4B,CAACC,WAAW,GAAG,sBAAsB;AAEjE,SAASD,4BAA4B,IAAIf,oBAAoB","ignoreList":[]}
@@ -95,9 +95,10 @@ export const getBaseNavItemContentStyles = ({
95
95
  });
96
96
  export const getNavItemContentStyles = ({
97
97
  odysseyDesignTokens,
98
- contextValue
98
+ contextValue,
99
+ paddingInlineStart = odysseyDesignTokens.Spacing6
99
100
  }) => ({
100
- paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${odysseyDesignTokens.Spacing6})`,
101
+ paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${paddingInlineStart})`,
101
102
  ...(contextValue.depth === 1 && {
102
103
  paddingInlineStart: odysseyDesignTokens.Spacing4
103
104
  }),
@@ -124,7 +125,8 @@ const NavItemContentContainer = styled("div", {
124
125
  }),
125
126
  ...getNavItemContentStyles({
126
127
  odysseyDesignTokens,
127
- contextValue
128
+ contextValue,
129
+ paddingInlineStart: contextValue.absolutePaddingStart
128
130
  })
129
131
  }));
130
132
  const StyledNavItemLink = styled(_Link, {
@@ -146,7 +148,8 @@ const StyledNavItemLink = styled(_Link, {
146
148
  }),
147
149
  ...getNavItemContentStyles({
148
150
  odysseyDesignTokens,
149
- contextValue
151
+ contextValue,
152
+ paddingInlineStart: contextValue.absolutePaddingStart
150
153
  })
151
154
  }));
152
155
  const SideNavItemContent = ({
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItemContent.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useState","ExternalLinkIcon","useOdysseyDesignTokens","useUiShellContext","useSideNavItemContent","SideNavItemLinkContent","jsx","_jsx","jsxs","_jsxs","StyledSideNavListItem","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","isActiveDropTarget","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","depth","Spacing6","isCompact","Spacing1","NavItemContentContainer","StyledNavItemLink","_Link","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","translate","uiShellContext","sidenavItemContentContext","setIsActiveDropTarget","localScrollRef","current","itemClickHandler","event","sideNavItemContentKeyHandler","key","preventDefault","undefined","disabled","onDragLeave","onDragOver","onDrop","ref","children","onKeyDown","role","tabIndex","className","MemoizedSideNavItemContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n disabled?: boolean;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n}: {\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n ...(isActiveDropTarget && {\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n }),\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n}: {\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${odysseyDesignTokens.Spacing6})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n | \"translate\"\n> & {\n onItemSelected?: (selectedItemId: string) => void;\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const [isActiveDropTarget, setIsActiveDropTarget] = useState(false);\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-current={isSelected ? \"page\" : undefined}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onDragLeave={() => {\n setIsActiveDropTarget(false);\n }}\n onDragOver={() => {\n setIsActiveDropTarget(true);\n }}\n onDrop={() => {\n setIsActiveDropTarget(false);\n }}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={false}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n href={href}\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideNavItemContent.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useState","ExternalLinkIcon","useOdysseyDesignTokens","useUiShellContext","useSideNavItemContent","SideNavItemLinkContent","jsx","_jsx","jsxs","_jsxs","StyledSideNavListItem","shouldForwardProp","prop","isSelected","odysseyDesignTokens","sideNavContrastColors","display","alignItems","backgroundColor","borderRadius","BorderRadiusMain","transition","TransitionDurationMain","color","fontColor","TypographyColorAction","itemSelectedBackgroundColor","HueBlue50","scrollToNode","node","scrollIntoView","behavior","block","inline","getBaseNavItemContentStyles","isDisabled","isActiveDropTarget","width","textDecoration","TypographyColorHeading","minHeight","paddingBlock","Spacing3","paddingInlineEnd","Spacing4","cursor","itemHoverBackgroundColor","HueNeutral50","fontWeight","TypographyWeightBodyBold","TypographyColorDisabled","itemDisabledFontColor","outline","boxShadow","focusRingColor","PalettePrimaryMain","getNavItemContentStyles","contextValue","paddingInlineStart","Spacing6","depth","isCompact","Spacing1","NavItemContentContainer","absolutePaddingStart","StyledNavItemLink","_Link","SideNavItemContent","count","id","label","href","target","startIcon","severity","statusLabel","endIcon","onClick","scrollRef","onItemSelected","translate","uiShellContext","sidenavItemContentContext","setIsActiveDropTarget","localScrollRef","current","itemClickHandler","event","sideNavItemContentKeyHandler","key","preventDefault","undefined","disabled","onDragLeave","onDragOver","onDrop","ref","children","onKeyDown","role","tabIndex","className","MemoizedSideNavItemContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { Link as NavItemLink } from \"@mui/material\";\nimport {\n KeyboardEventHandler,\n memo,\n MouseEventHandler,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { ExternalLinkIcon } from \"../../icons.generated/index.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../ui-shell/UiShellProvider.js\";\nimport {\n SideNavItemContentContextValue,\n useSideNavItemContent,\n} from \"./SideNavItemContentContext.js\";\nimport { SideNavItemLinkContent } from \"./SideNavItemLinkContent.js\";\n\nexport const StyledSideNavListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n disabled?: boolean;\n isSelected?: boolean;\n itemSelectedBackgroundColor?: string;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors?: UiShellColors[\"sideNavContrastColors\"];\n}>(({ isSelected, odysseyDesignTokens, sideNavContrastColors }) => ({\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"unset\",\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors.fontColor}`\n : `${odysseyDesignTokens.TypographyColorAction}`,\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n }),\n}));\n\nconst scrollToNode = (node: HTMLElement | null) => {\n if (node) {\n node?.scrollIntoView({\n behavior: \"instant\",\n block: \"center\",\n inline: \"nearest\",\n });\n }\n};\n\ntype ScrollIntoViewHandle = {\n scrollIntoView: () => void;\n};\n\nexport const getBaseNavItemContentStyles = ({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n}: {\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}) => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n textDecoration: \"none\",\n // !important needed here to override more specific base link styling\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorHeading} !important`,\n minHeight: \"unset\",\n paddingBlock: odysseyDesignTokens.Spacing3,\n paddingInlineEnd: odysseyDesignTokens.Spacing4,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `backgroundColor ${odysseyDesignTokens.TransitionDurationMain}, color ${odysseyDesignTokens.TransitionDurationMain}`,\n cursor: \"pointer\",\n ...(isActiveDropTarget && {\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n }),\n\n // When hover or focus of the drag handle, apply general hover styles\n \"&:hover, li:has(> button:hover, > button:focus, > button:focus-visible) &\": {\n textDecoration: \"none\",\n backgroundColor:\n sideNavContrastColors?.itemHoverBackgroundColor ||\n odysseyDesignTokens.HueNeutral50,\n\n ...(isSelected && {\n backgroundColor:\n sideNavContrastColors?.itemSelectedBackgroundColor ||\n odysseyDesignTokens.HueBlue50,\n color:\n sideNavContrastColors?.fontColor ||\n odysseyDesignTokens.TypographyColorAction,\n }),\n\n ...(isDisabled && {\n backgroundColor: \"unset\",\n }),\n },\n\n ...(isSelected && {\n color: sideNavContrastColors?.fontColor\n ? `${sideNavContrastColors?.fontColor} !important`\n : `${odysseyDesignTokens.TypographyColorAction} !important`,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }),\n\n ...(isDisabled && {\n cursor: \"default\",\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n\n ...(sideNavContrastColors?.itemDisabledFontColor && {\n color: `${sideNavContrastColors?.itemDisabledFontColor} !important`,\n }),\n }),\n\n \"&:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${sideNavContrastColors?.focusRingColor || odysseyDesignTokens.PalettePrimaryMain}`,\n },\n});\n\nexport const getNavItemContentStyles = ({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart = odysseyDesignTokens.Spacing6,\n}: {\n contextValue: SideNavItemContentContextValue;\n odysseyDesignTokens: DesignTokens;\n paddingInlineStart?: string;\n}) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.Spacing4} * ${contextValue.depth} + ${paddingInlineStart})`,\n\n ...(contextValue.depth === 1 && {\n paddingInlineStart: odysseyDesignTokens.Spacing4,\n }),\n\n ...(contextValue.isCompact && {\n paddingBlock: odysseyDesignTokens.Spacing1,\n }),\n});\n\nconst NavItemContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isSelected\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst StyledNavItemLink = styled(NavItemLink, {\n shouldForwardProp: (prop) =>\n prop != \"contextValue\" &&\n prop !== \"isDisabled\" &&\n prop !== \"isSelected\" &&\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"sideNavContrastColors\" &&\n prop !== \"isActiveDropTarget\",\n})<{\n contextValue: SideNavItemContentContextValue;\n isActiveDropTarget: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(\n ({\n isDisabled,\n isSelected,\n contextValue,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }) => ({\n ...getBaseNavItemContentStyles({\n isDisabled,\n isSelected,\n odysseyDesignTokens,\n sideNavContrastColors,\n isActiveDropTarget,\n }),\n\n ...getNavItemContentStyles({\n odysseyDesignTokens,\n contextValue,\n paddingInlineStart: contextValue.absolutePaddingStart,\n }),\n }),\n);\n\nconst SideNavItemContent = ({\n count,\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isDisabled,\n isSelected,\n scrollRef,\n onItemSelected,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isDisabled\"\n | \"isSelected\"\n | \"translate\"\n> & {\n onItemSelected?: (selectedItemId: string) => void;\n /**\n * The ref used to scroll to this item\n */\n scrollRef?: React.RefObject<ScrollIntoViewHandle>;\n}) => {\n const uiShellContext = useUiShellContext();\n const sidenavItemContentContext = useSideNavItemContent();\n const contextValue = useMemo(\n () => sidenavItemContentContext,\n [sidenavItemContentContext],\n );\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const [isActiveDropTarget, setIsActiveDropTarget] = useState(false);\n\n const localScrollRef = useRef<HTMLLIElement>(null);\n useImperativeHandle(scrollRef, () => {\n return {\n scrollIntoView: () => {\n scrollToNode(localScrollRef.current);\n },\n };\n }, []);\n\n const itemClickHandler = useCallback<\n MouseEventHandler<HTMLDivElement | HTMLAnchorElement>\n >(\n (event) => {\n onItemSelected?.(id);\n onClick?.(event);\n },\n [id, onClick, onItemSelected],\n );\n\n const sideNavItemContentKeyHandler = useCallback<\n KeyboardEventHandler<HTMLDivElement>\n >(\n (event) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onItemSelected?.(id);\n onClick?.(event);\n }\n },\n [id, onClick, onItemSelected],\n );\n\n return (\n <StyledSideNavListItem\n aria-current={isSelected ? \"page\" : undefined}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n id={id}\n isSelected={isSelected}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onDragLeave={() => {\n setIsActiveDropTarget(false);\n }}\n onDragOver={() => {\n setIsActiveDropTarget(true);\n }}\n onDrop={() => {\n setIsActiveDropTarget(false);\n }}\n ref={localScrollRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={false}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : !href ? (\n <NavItemContentContainer\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n onKeyDown={sideNavItemContentKeyHandler}\n role=\"button\"\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n tabIndex={0}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n </NavItemContentContainer>\n ) : (\n <StyledNavItemLink\n contextValue={contextValue}\n data-se=\"tb--sidenav-text-container\"\n href={href}\n isActiveDropTarget={isActiveDropTarget}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={itemClickHandler}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n target={target}\n >\n <SideNavItemLinkContent\n count={count}\n endIcon={endIcon}\n label={label}\n severity={severity}\n startIcon={startIcon}\n statusLabel={statusLabel}\n translate={translate}\n />\n {target === \"_blank\" && (\n <span className=\"Link-indicator\" role=\"presentation\">\n <ExternalLinkIcon />\n </span>\n )}\n </StyledNavItemLink>\n )\n }\n </StyledSideNavListItem>\n );\n};\n\nconst MemoizedSideNavItemContent = memo(SideNavItemContent);\nMemoizedSideNavItemContent.displayName = \"SideNavItemContent\";\n\nexport { MemoizedSideNavItemContent as SideNavItemContent };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItemContentContext.js","names":["createContext","useContext","SideNavItemContentContext","isCompact","isSortable","depth","useSideNavItemContent"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContentContext.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { createContext, useContext } from \"react\";\n\nexport type SideNavItemContentContextValue = {\n depth: number;\n isCompact?: boolean;\n isSortable?: boolean;\n};\n\nexport const SideNavItemContentContext =\n createContext<SideNavItemContentContextValue>({\n isCompact: false,\n isSortable: false,\n depth: 1,\n });\n\nexport const useSideNavItemContent = () =>\n useContext(SideNavItemContentContext);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAQjD,OAAO,MAAMC,yBAAyB,GACpCF,aAAa,CAAiC;EAC5CG,SAAS,EAAE,KAAK;EAChBC,UAAU,EAAE,KAAK;EACjBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEJ,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KACnCL,UAAU,CAACC,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"SideNavItemContentContext.js","names":["createContext","useContext","SideNavItemContentContext","isCompact","isSortable","depth","useSideNavItemContent"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemContentContext.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { createContext, useContext } from \"react\";\n\nexport type SideNavItemContentContextValue = {\n absolutePaddingStart?: string;\n depth: number;\n isCompact?: boolean;\n isSortable?: boolean;\n};\n\nexport const SideNavItemContentContext =\n createContext<SideNavItemContentContextValue>({\n isCompact: false,\n isSortable: false,\n depth: 1,\n });\n\nexport const useSideNavItemContent = () =>\n useContext(SideNavItemContentContext);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AASjD,OAAO,MAAMC,yBAAyB,GACpCF,aAAa,CAAiC;EAC5CG,SAAS,EAAE,KAAK;EAChBC,UAAU,EAAE,KAAK;EACjBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEJ,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KACnCL,UAAU,CAACC,yBAAyB,CAAC","ignoreList":[]}
@@ -23,13 +23,12 @@ const SideNavItemLabelContainer = styled("div", {
23
23
  odysseyDesignTokens,
24
24
  isIconVisible
25
25
  }) => ({
26
+ width: "100%",
27
+ marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,
26
28
  alignItems: "center",
27
29
  display: "flex",
28
- flexWrap: "wrap",
29
30
  fontSize: odysseyDesignTokens.TypographySizeBody,
30
- marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,
31
- overflowWrap: "anywhere",
32
- width: "100%"
31
+ overflowWrap: "anywhere"
33
32
  }));
34
33
  const SideNavItemLinkContent = ({
35
34
  count,
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItemLinkContent.js","names":["styled","memo","useMemo","Badge","Box","useOdysseyDesignTokens","Status","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SideNavItemLabelContainer","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","alignItems","display","flexWrap","fontSize","TypographySizeBody","marginInlineStart","Spacing3","overflowWrap","width","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","sideNavItemContentStyles","gap","Spacing1","Spacing2","children","Boolean","sx","badgeContent","MemoizedSideNavItemLinkContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { Badge } from \"../../Badge.js\";\nimport { Box } from \"../../Box.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Status } from \"../../Status.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n isIconVisible: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n alignItems: \"center\",\n display: \"flex\",\n flexWrap: \"wrap\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n overflowWrap: \"anywhere\", // New way to do `wordBreak: \"break-word\"`. Source: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word\n width: \"100%\",\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"label\"\n | \"startIcon\"\n | \"endIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"translate\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing1,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n isIconVisible={Boolean(startIcon)}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n {label}\n {!count && severity && (\n <Box sx={sideNavItemContentStyles}>\n {severity && (\n <Status label={statusLabel || \"\"} severity={severity} />\n )}\n </Box>\n )}\n {!severity && count && (\n <Box sx={sideNavItemContentStyles}>\n {count && <Badge badgeContent={count} />}\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAaC,OAAO,QAAQ,OAAO;AAIhD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,GAAG,QAAQ,cAAc;AAClC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,MAAM,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEzC,MAAMC,yBAAyB,GAAGb,MAAM,CAAC,KAAK,EAAE;EAC9Cc,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAc,CAAC,MAAM;EAC9CC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE,MAAM;EACfC,QAAQ,EAAE,MAAM;EAChBC,QAAQ,EAAEL,mBAAmB,CAACM,kBAAkB;EAChDC,iBAAiB,EAAEN,aAAa,GAAGD,mBAAmB,CAACQ,QAAQ,GAAG,CAAC;EACnEC,YAAY,EAAE,UAAU;EACxBC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEH,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC;AAUF,CAAC,KAAgB;EACf,MAAMlB,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;EAEpD,MAAM8B,wBAAwB,GAAGjC,OAAO,CACtC,OAAO;IACLgB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,MAAM;IACfiB,GAAG,EAAEpB,mBAAmB,CAACqB,QAAQ;IACjCd,iBAAiB,EAAEP,mBAAmB,CAACsB;EACzC,CAAC,CAAC,EACF,CAACtB,mBAAmB,CACtB,CAAC;EAED,OACEN,KAAA,CAAAE,SAAA;IAAA2B,QAAA,GACGT,SAAS,IAAIA,SAAS,EACvBpB,KAAA,CAACG,yBAAyB;MACxBI,aAAa,EAAEuB,OAAO,CAACV,SAAS,CAAE;MAClCd,mBAAmB,EAAEA,mBAAoB;MACzCkB,SAAS,EAAEA,SAAU;MAAAK,QAAA,GAEpBV,KAAK,EACL,CAACD,KAAK,IAAII,QAAQ,IACjBxB,IAAA,CAACJ,GAAG;QAACqC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BP,QAAQ,IACPxB,IAAA,CAACF,MAAM;UAACuB,KAAK,EAAEI,WAAW,IAAI,EAAG;UAACD,QAAQ,EAAEA;QAAS,CAAE;MACxD,CACE,CACN,EACA,CAACA,QAAQ,IAAIJ,KAAK,IACjBpB,IAAA,CAACJ,GAAG;QAACqC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BX,KAAK,IAAIpB,IAAA,CAACL,KAAK;UAACuC,YAAY,EAAEd;QAAM,CAAE;MAAC,CACrC,CACN;IAAA,CACwB,CAAC,EAC3BG,OAAO,IAAIA,OAAO;EAAA,CACnB,CAAC;AAEP,CAAC;AACD,MAAMY,8BAA8B,GAAG1C,IAAI,CAAC0B,sBAAsB,CAAC;AACnEgB,8BAA8B,CAACC,WAAW,GAAG,wBAAwB;AAErE,SAASD,8BAA8B,IAAIhB,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"SideNavItemLinkContent.js","names":["styled","memo","useMemo","Badge","Box","useOdysseyDesignTokens","Status","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SideNavItemLabelContainer","shouldForwardProp","prop","odysseyDesignTokens","isIconVisible","width","marginInlineStart","Spacing3","alignItems","display","fontSize","TypographySizeBody","overflowWrap","SideNavItemLinkContent","count","label","startIcon","endIcon","severity","statusLabel","translate","sideNavItemContentStyles","gap","Spacing1","Spacing2","children","Boolean","sx","badgeContent","MemoizedSideNavItemLinkContent","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavItemLinkContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { Badge } from \"../../Badge.js\";\nimport { Box } from \"../../Box.js\";\nimport {\n type DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Status } from \"../../Status.js\";\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n isIconVisible: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n marginInlineStart: isIconVisible ? odysseyDesignTokens.Spacing3 : 0,\n alignItems: \"center\",\n display: \"flex\",\n fontSize: odysseyDesignTokens.TypographySizeBody,\n overflowWrap: \"anywhere\", // New way to do `wordBreak: \"break-word\"`. Source: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word\n}));\n\nconst SideNavItemLinkContent = ({\n count,\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n translate,\n}: Pick<\n SideNavItem,\n | \"count\"\n | \"label\"\n | \"startIcon\"\n | \"endIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"translate\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n alignItems: \"center\",\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing1,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n isIconVisible={Boolean(startIcon)}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n {label}\n {!count && severity && (\n <Box sx={sideNavItemContentStyles}>\n {severity && (\n <Status label={statusLabel || \"\"} severity={severity} />\n )}\n </Box>\n )}\n {!severity && count && (\n <Box sx={sideNavItemContentStyles}>\n {count && <Badge badgeContent={count} />}\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\nconst MemoizedSideNavItemLinkContent = memo(SideNavItemLinkContent);\nMemoizedSideNavItemLinkContent.displayName = \"SideNavItemLinkContent\";\n\nexport { MemoizedSideNavItemLinkContent as SideNavItemLinkContent };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAaC,OAAO,QAAQ,OAAO;AAIhD,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,GAAG,QAAQ,cAAc;AAClC,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,MAAM,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEzC,MAAMC,yBAAyB,GAAGb,MAAM,CAAC,KAAK,EAAE;EAC9Cc,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAc,CAAC,MAAM;EAC9CC,KAAK,EAAE,MAAM;EACbC,iBAAiB,EAAEF,aAAa,GAAGD,mBAAmB,CAACI,QAAQ,GAAG,CAAC;EACnEC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE,MAAM;EACfC,QAAQ,EAAEP,mBAAmB,CAACQ,kBAAkB;EAChDC,YAAY,EAAE;AAChB,CAAC,CAAC,CAAC;AAEH,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC;AAUF,CAAC,KAAgB;EACf,MAAMjB,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;EAEpD,MAAM6B,wBAAwB,GAAGhC,OAAO,CACtC,OAAO;IACLmB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,MAAM;IACfa,GAAG,EAAEnB,mBAAmB,CAACoB,QAAQ;IACjCjB,iBAAiB,EAAEH,mBAAmB,CAACqB;EACzC,CAAC,CAAC,EACF,CAACrB,mBAAmB,CACtB,CAAC;EAED,OACEN,KAAA,CAAAE,SAAA;IAAA0B,QAAA,GACGT,SAAS,IAAIA,SAAS,EACvBnB,KAAA,CAACG,yBAAyB;MACxBI,aAAa,EAAEsB,OAAO,CAACV,SAAS,CAAE;MAClCb,mBAAmB,EAAEA,mBAAoB;MACzCiB,SAAS,EAAEA,SAAU;MAAAK,QAAA,GAEpBV,KAAK,EACL,CAACD,KAAK,IAAII,QAAQ,IACjBvB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BP,QAAQ,IACPvB,IAAA,CAACF,MAAM;UAACsB,KAAK,EAAEI,WAAW,IAAI,EAAG;UAACD,QAAQ,EAAEA;QAAS,CAAE;MACxD,CACE,CACN,EACA,CAACA,QAAQ,IAAIJ,KAAK,IACjBnB,IAAA,CAACJ,GAAG;QAACoC,EAAE,EAAEN,wBAAyB;QAAAI,QAAA,EAC/BX,KAAK,IAAInB,IAAA,CAACL,KAAK;UAACsC,YAAY,EAAEd;QAAM,CAAE;MAAC,CACrC,CACN;IAAA,CACwB,CAAC,EAC3BG,OAAO,IAAIA,OAAO;EAAA,CACnB,CAAC;AAEP,CAAC;AACD,MAAMY,8BAA8B,GAAGzC,IAAI,CAACyB,sBAAsB,CAAC;AACnEgB,8BAA8B,CAACC,WAAW,GAAG,wBAAwB;AAErE,SAASD,8BAA8B,IAAIhB,sBAAsB","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ /*!
2
+ * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { memo, useCallback, useMemo } from "react";
14
+ import { SortableList } from "./SortableList/SortableList.js";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ const SideNavSortableList = ({
17
+ items,
18
+ onChange,
19
+ parentId,
20
+ processSideNavItems,
21
+ depth = 1
22
+ }) => {
23
+ const processedItems = useMemo(() => processSideNavItems(items, depth), [processSideNavItems, items, depth]);
24
+ const sortableItems = useMemo(() => processedItems.map(item => item.sortableItem), [processedItems]);
25
+ const renderItem = useCallback(sortableItem => _jsx(SortableList.Item, {
26
+ id: sortableItem.id,
27
+ isDisabled: sortableItem.isDisabled,
28
+ isSelected: sortableItem.isSelected,
29
+ isSortable: sortableItem.isSortable,
30
+ children: sortableItem.navItem
31
+ }), []);
32
+ return _jsx(SortableList, {
33
+ items: sortableItems,
34
+ onChange: onChange,
35
+ parentId: parentId,
36
+ renderItem: renderItem
37
+ });
38
+ };
39
+ const MemoizedSideNavSortableList = memo(SideNavSortableList);
40
+ MemoizedSideNavSortableList.displayName = "SideNavSortableList";
41
+ export { MemoizedSideNavSortableList as SideNavSortableList };
42
+ //# sourceMappingURL=SideNavSortableList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNavSortableList.js","names":["memo","useCallback","useMemo","SortableList","jsx","_jsx","SideNavSortableList","items","onChange","parentId","processSideNavItems","depth","processedItems","sortableItems","map","item","sortableItem","renderItem","Item","id","isDisabled","isSelected","isSortable","children","navItem","MemoizedSideNavSortableList","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavSortableList.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 { UniqueIdentifier } from \"@dnd-kit/core\";\nimport { memo, useCallback, useMemo } from \"react\";\n\nimport type { SideNavItem } from \"./types.js\";\n\nimport { BaseItem, SortableList } from \"./SortableList/SortableList.js\";\n\nexport type SideNavSortableListProps = {\n /**\n * The depth level for nested items\n */\n depth?: number;\n /**\n * The nav items to render as sortable list\n */\n items: SideNavItem[];\n /**\n * Callback when items are reordered\n */\n onChange: (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n /**\n * The parent ID for the sortable list\n */\n parentId: string;\n /**\n * Function to process nav items into sortable items\n */\n processSideNavItems: (\n items: SideNavItem[],\n depth?: number,\n ) => (SideNavItem & { sortableItem: BaseItem })[];\n};\n\nconst SideNavSortableList = ({\n items,\n onChange,\n parentId,\n processSideNavItems,\n depth = 1,\n}: SideNavSortableListProps) => {\n const processedItems = useMemo(\n () => processSideNavItems(items, depth),\n [processSideNavItems, items, depth],\n );\n\n const sortableItems = useMemo(\n () => processedItems.map((item) => item.sortableItem),\n [processedItems],\n );\n\n const renderItem = useCallback(\n (sortableItem: BaseItem) => (\n <SortableList.Item\n id={sortableItem.id}\n isDisabled={sortableItem.isDisabled}\n isSelected={sortableItem.isSelected}\n isSortable={sortableItem.isSortable}\n >\n {sortableItem.navItem}\n </SortableList.Item>\n ),\n [],\n );\n\n return (\n <SortableList\n items={sortableItems}\n onChange={onChange}\n parentId={parentId}\n renderItem={renderItem}\n />\n );\n};\n\nconst MemoizedSideNavSortableList = memo(SideNavSortableList);\nMemoizedSideNavSortableList.displayName = \"SideNavSortableList\";\n\nexport { MemoizedSideNavSortableList as SideNavSortableList };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAIlD,SAAmBC,YAAY,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiCxE,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,mBAAmB;EACnBC,KAAK,GAAG;AACgB,CAAC,KAAK;EAC9B,MAAMC,cAAc,GAAGV,OAAO,CAC5B,MAAMQ,mBAAmB,CAACH,KAAK,EAAEI,KAAK,CAAC,EACvC,CAACD,mBAAmB,EAAEH,KAAK,EAAEI,KAAK,CACpC,CAAC;EAED,MAAME,aAAa,GAAGX,OAAO,CAC3B,MAAMU,cAAc,CAACE,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,YAAY,CAAC,EACrD,CAACJ,cAAc,CACjB,CAAC;EAED,MAAMK,UAAU,GAAGhB,WAAW,CAC3Be,YAAsB,IACrBX,IAAA,CAACF,YAAY,CAACe,IAAI;IAChBC,EAAE,EAAEH,YAAY,CAACG,EAAG;IACpBC,UAAU,EAAEJ,YAAY,CAACI,UAAW;IACpCC,UAAU,EAAEL,YAAY,CAACK,UAAW;IACpCC,UAAU,EAAEN,YAAY,CAACM,UAAW;IAAAC,QAAA,EAEnCP,YAAY,CAACQ;EAAO,CACJ,CACpB,EACD,EACF,CAAC;EAED,OACEnB,IAAA,CAACF,YAAY;IACXI,KAAK,EAAEM,aAAc;IACrBL,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBQ,UAAU,EAAEA;EAAW,CACxB,CAAC;AAEN,CAAC;AAED,MAAMQ,2BAA2B,GAAGzB,IAAI,CAACM,mBAAmB,CAAC;AAC7DmB,2BAA2B,CAACC,WAAW,GAAG,qBAAqB;AAE/D,SAASD,2BAA2B,IAAInB,mBAAmB","ignoreList":[]}
@@ -13,7 +13,7 @@ import _Button from "@mui/material/Button";
13
13
 
14
14
  import styled from "@emotion/styled";
15
15
  import { memo, useCallback, useEffect, useMemo, useRef } from "react";
16
- import { useTranslation } from "react-i18next";
16
+ import { useTranslation } from "../../i18n.generated/i18n.js";
17
17
  import { ChevronRightIcon } from "../../icons.generated/ChevronRight.js";
18
18
  import { MuiPropsContext } from "../../MuiPropsContext.js";
19
19
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavToggleButton.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useTranslation","ChevronRightIcon","MuiPropsContext","useOdysseyDesignTokens","Tooltip","UI_SHELL_OVERLAY_Z_INDEX","jsx","_jsx","SIDE_NAV_TOGGLE_ICON_SIZE","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","StyledToggleButton","_Button","shouldForwardProp","prop","clickAreaPadding","odysseyDesignTokens","border","height","left","padding","position","width","zIndex","backgroundColor","borderColor","boxShadow","color","PalettePrimaryText","outline","HueNeutralWhite","borderRadius","ShadowScale1","content","top","StyledChevronRightIcon","isSideNavCollapsed","fontSize","undefined","right","transform","transitionDuration","TransitionDurationMain","transitionProperty","transitionTimingFunction","defaultLocalButton","window","document","createElement","SideNavToggleButton","ariaControls","id","onClick","onHighlight","tabIndex","t","buttonRef","setHighlighted","setUnhighlighted","setFocusHighlighted","Boolean","current","matches","addEventListener","removeEventListener","toggleLabel","renderButton","muiProps","ref","element","variant","children","ariaType","placement","text","Consumer","MemoizedSideNavToggleButton","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavToggleButton.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material\";\n\nimport styled from \"@emotion/styled\";\nimport { Button as MuiButton } from \"@mui/material\";\nimport {\n HTMLAttributes,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ChevronRightIcon } from \"../../icons.generated/ChevronRight.js\";\nimport { MuiPropsContext, MuiPropsContextType } from \"../../MuiPropsContext.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Tooltip } from \"../../Tooltip.js\";\nimport { UI_SHELL_OVERLAY_Z_INDEX } from \"../uiShellSharedConstants.js\";\n\nexport const SIDE_NAV_TOGGLE_ICON_SIZE = 24;\nexport const SIDE_NAV_TOGGLE_ICON_HALF_SIZE = SIDE_NAV_TOGGLE_ICON_SIZE / 2;\n\nconst StyledToggleButton = styled(MuiButton, {\n shouldForwardProp: (prop) =>\n prop !== \"clickAreaPadding\" && prop !== \"odysseyDesignTokens\",\n})<{\n clickAreaPadding: number;\n odysseyDesignTokens: DesignTokens;\n}>(({ clickAreaPadding, odysseyDesignTokens }) => ({\n border: 0,\n height: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n left: `-${clickAreaPadding * 2}px`,\n padding: 0,\n position: \"relative\",\n width: `calc(${SIDE_NAV_TOGGLE_ICON_SIZE}px + (${clickAreaPadding}px * 2))`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n\n // `&&` is a CSS specificity override. Used here to counteract MUI Button styles.\n \"&&\": {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n boxShadow: \"none\",\n color: odysseyDesignTokens.PalettePrimaryText,\n },\n\n \"&:focus-visible\": {\n outline: \"none\",\n },\n\n \"&:hover, &:focus-visible\": {\n color: odysseyDesignTokens.HueNeutralWhite,\n },\n\n \"&::before\": {\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n borderColor: \"transparent\",\n borderRadius: \"50%\",\n boxShadow: odysseyDesignTokens.ShadowScale1,\n color: odysseyDesignTokens.PalettePrimaryText,\n content: \"''\",\n height: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n left: `${clickAreaPadding * 2}px`,\n position: \"absolute\",\n top: 0,\n width: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n },\n\n \"&:hover::before, &:focus-visible::before\": {\n backgroundColor: odysseyDesignTokens.PalettePrimaryText,\n },\n}));\n\nconst StyledChevronRightIcon = styled(ChevronRightIcon, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isSideNavCollapsed, odysseyDesignTokens }) => ({\n fontSize: \"125%\",\n left: isSideNavCollapsed ? undefined : \"4px\",\n position: \"absolute\",\n right: isSideNavCollapsed ? \"4px\" : undefined,\n top: \"3px\",\n transform: isSideNavCollapsed ? \"rotate(0deg)\" : \"rotate(-180deg)\", // Leave this as `-180deg` so it rotates over the top, not the bottom.\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionProperty: \"transform\",\n transitionTimingFunction: \"ease-in-out\",\n}));\n\nexport type SideNavToggleButtonProps = {\n /**\n * The `id` of the item this button controls\n */\n ariaControls: string;\n /**\n * Left padding in pixels for the click area of the button.\n *\n * Useful when moving the button around when trying to click it. This ensures the click area doesn't move to the right along with the button.\n */\n clickAreaPadding?: number;\n /**\n * HTML `id` attribute for the `<button>` element.\n */\n id?: string;\n isSideNavCollapsed: boolean;\n /**\n * Click event handler for the `<button>` element.\n */\n onClick?: MuiButtonProps[\"onClick\"];\n /**\n * Provides the hovered or focused state of the `<button>` element.\n */\n onHighlight?: (isHighlighted: boolean) => void;\n onKeyDown?: MuiButtonProps[\"onKeyDown\"];\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n};\n\n// This allows us to mutate the value with TypeScript. A singleton is fine because it gets overridden on render.\nconst defaultLocalButton =\n typeof window === \"undefined\" ? null : document.createElement(\"button\");\n\nconst SideNavToggleButton = ({\n ariaControls,\n clickAreaPadding = 0,\n id,\n isSideNavCollapsed,\n onClick,\n onHighlight,\n tabIndex,\n}: SideNavToggleButtonProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const buttonRef = useRef(defaultLocalButton);\n\n useEffect(() => {\n const setHighlighted = () => {\n onHighlight?.(true);\n };\n\n const setUnhighlighted = () => {\n onHighlight?.(false);\n };\n\n const setFocusHighlighted = () => {\n onHighlight?.(Boolean(buttonRef.current?.matches(\":focus-visible\")));\n };\n\n buttonRef.current?.addEventListener(\"mouseenter\", setHighlighted);\n\n buttonRef.current?.addEventListener(\"mouseleave\", setUnhighlighted);\n\n buttonRef.current?.addEventListener(\"focus\", setFocusHighlighted, true);\n\n buttonRef.current?.addEventListener(\"blur\", setFocusHighlighted, true);\n\n setUnhighlighted();\n\n return () => {\n buttonRef.current?.removeEventListener(\"mouseenter\", setHighlighted);\n\n buttonRef.current?.removeEventListener(\"mouseleave\", setUnhighlighted);\n\n buttonRef.current?.removeEventListener(\n \"focus\",\n setFocusHighlighted,\n true,\n );\n\n buttonRef.current?.removeEventListener(\"blur\", setFocusHighlighted, true);\n };\n }, [onHighlight]);\n\n const toggleLabel = useMemo(\n () =>\n isSideNavCollapsed\n ? t(\"sidenav.toggle.expand\")\n : t(\"sidenav.toggle.collapse\"),\n [isSideNavCollapsed, t],\n );\n\n const renderButton = useCallback(\n (muiProps: MuiPropsContextType) => {\n return (\n <StyledToggleButton\n {...muiProps}\n aria-controls={ariaControls}\n aria-expanded={!isSideNavCollapsed}\n aria-label={toggleLabel}\n clickAreaPadding={clickAreaPadding}\n data-se=\"sidenav-toggle-button\"\n data-sidenav-toggle\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={onClick}\n ref={(element: HTMLButtonElement) => {\n if (element) {\n buttonRef.current = element;\n //@ts-expect-error `ref` is an optional prop, but TypeScript doesn't know this.\n muiProps.ref?.(element);\n }\n }}\n tabIndex={tabIndex}\n variant=\"floating\"\n >\n <StyledChevronRightIcon\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </StyledToggleButton>\n );\n },\n [\n ariaControls,\n clickAreaPadding,\n id,\n isSideNavCollapsed,\n odysseyDesignTokens,\n onClick,\n tabIndex,\n toggleLabel,\n ],\n );\n\n return (\n <Tooltip ariaType=\"description\" placement=\"right\" text={toggleLabel}>\n <MuiPropsContext.Consumer>{renderButton}</MuiPropsContext.Consumer>\n </Tooltip>\n );\n};\n\nconst MemoizedSideNavToggleButton = memo(SideNavToggleButton);\nMemoizedSideNavToggleButton.displayName = \"SideNavToggleButton\";\n\nexport { MemoizedSideNavToggleButton as SideNavToggleButton };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideNavToggleButton.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useTranslation","ChevronRightIcon","MuiPropsContext","useOdysseyDesignTokens","Tooltip","UI_SHELL_OVERLAY_Z_INDEX","jsx","_jsx","SIDE_NAV_TOGGLE_ICON_SIZE","SIDE_NAV_TOGGLE_ICON_HALF_SIZE","StyledToggleButton","_Button","shouldForwardProp","prop","clickAreaPadding","odysseyDesignTokens","border","height","left","padding","position","width","zIndex","backgroundColor","borderColor","boxShadow","color","PalettePrimaryText","outline","HueNeutralWhite","borderRadius","ShadowScale1","content","top","StyledChevronRightIcon","isSideNavCollapsed","fontSize","undefined","right","transform","transitionDuration","TransitionDurationMain","transitionProperty","transitionTimingFunction","defaultLocalButton","window","document","createElement","SideNavToggleButton","ariaControls","id","onClick","onHighlight","tabIndex","t","buttonRef","setHighlighted","setUnhighlighted","setFocusHighlighted","Boolean","current","matches","addEventListener","removeEventListener","toggleLabel","renderButton","muiProps","ref","element","variant","children","ariaType","placement","text","Consumer","MemoizedSideNavToggleButton","displayName"],"sources":["../../../../src/ui-shell/SideNav/SideNavToggleButton.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material\";\n\nimport styled from \"@emotion/styled\";\nimport { Button as MuiButton } from \"@mui/material\";\nimport {\n HTMLAttributes,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronRightIcon } from \"../../icons.generated/ChevronRight.js\";\nimport { MuiPropsContext, MuiPropsContextType } from \"../../MuiPropsContext.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Tooltip } from \"../../Tooltip.js\";\nimport { UI_SHELL_OVERLAY_Z_INDEX } from \"../uiShellSharedConstants.js\";\n\nexport const SIDE_NAV_TOGGLE_ICON_SIZE = 24;\nexport const SIDE_NAV_TOGGLE_ICON_HALF_SIZE = SIDE_NAV_TOGGLE_ICON_SIZE / 2;\n\nconst StyledToggleButton = styled(MuiButton, {\n shouldForwardProp: (prop) =>\n prop !== \"clickAreaPadding\" && prop !== \"odysseyDesignTokens\",\n})<{\n clickAreaPadding: number;\n odysseyDesignTokens: DesignTokens;\n}>(({ clickAreaPadding, odysseyDesignTokens }) => ({\n border: 0,\n height: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n left: `-${clickAreaPadding * 2}px`,\n padding: 0,\n position: \"relative\",\n width: `calc(${SIDE_NAV_TOGGLE_ICON_SIZE}px + (${clickAreaPadding}px * 2))`,\n zIndex: UI_SHELL_OVERLAY_Z_INDEX,\n\n // `&&` is a CSS specificity override. Used here to counteract MUI Button styles.\n \"&&\": {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n boxShadow: \"none\",\n color: odysseyDesignTokens.PalettePrimaryText,\n },\n\n \"&:focus-visible\": {\n outline: \"none\",\n },\n\n \"&:hover, &:focus-visible\": {\n color: odysseyDesignTokens.HueNeutralWhite,\n },\n\n \"&::before\": {\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n borderColor: \"transparent\",\n borderRadius: \"50%\",\n boxShadow: odysseyDesignTokens.ShadowScale1,\n color: odysseyDesignTokens.PalettePrimaryText,\n content: \"''\",\n height: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n left: `${clickAreaPadding * 2}px`,\n position: \"absolute\",\n top: 0,\n width: `${SIDE_NAV_TOGGLE_ICON_SIZE}px`,\n },\n\n \"&:hover::before, &:focus-visible::before\": {\n backgroundColor: odysseyDesignTokens.PalettePrimaryText,\n },\n}));\n\nconst StyledChevronRightIcon = styled(ChevronRightIcon, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})<{\n isSideNavCollapsed: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isSideNavCollapsed, odysseyDesignTokens }) => ({\n fontSize: \"125%\",\n left: isSideNavCollapsed ? undefined : \"4px\",\n position: \"absolute\",\n right: isSideNavCollapsed ? \"4px\" : undefined,\n top: \"3px\",\n transform: isSideNavCollapsed ? \"rotate(0deg)\" : \"rotate(-180deg)\", // Leave this as `-180deg` so it rotates over the top, not the bottom.\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionProperty: \"transform\",\n transitionTimingFunction: \"ease-in-out\",\n}));\n\nexport type SideNavToggleButtonProps = {\n /**\n * The `id` of the item this button controls\n */\n ariaControls: string;\n /**\n * Left padding in pixels for the click area of the button.\n *\n * Useful when moving the button around when trying to click it. This ensures the click area doesn't move to the right along with the button.\n */\n clickAreaPadding?: number;\n /**\n * HTML `id` attribute for the `<button>` element.\n */\n id?: string;\n isSideNavCollapsed: boolean;\n /**\n * Click event handler for the `<button>` element.\n */\n onClick?: MuiButtonProps[\"onClick\"];\n /**\n * Provides the hovered or focused state of the `<button>` element.\n */\n onHighlight?: (isHighlighted: boolean) => void;\n onKeyDown?: MuiButtonProps[\"onKeyDown\"];\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n};\n\n// This allows us to mutate the value with TypeScript. A singleton is fine because it gets overridden on render.\nconst defaultLocalButton =\n typeof window === \"undefined\" ? null : document.createElement(\"button\");\n\nconst SideNavToggleButton = ({\n ariaControls,\n clickAreaPadding = 0,\n id,\n isSideNavCollapsed,\n onClick,\n onHighlight,\n tabIndex,\n}: SideNavToggleButtonProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const buttonRef = useRef(defaultLocalButton);\n\n useEffect(() => {\n const setHighlighted = () => {\n onHighlight?.(true);\n };\n\n const setUnhighlighted = () => {\n onHighlight?.(false);\n };\n\n const setFocusHighlighted = () => {\n onHighlight?.(Boolean(buttonRef.current?.matches(\":focus-visible\")));\n };\n\n buttonRef.current?.addEventListener(\"mouseenter\", setHighlighted);\n\n buttonRef.current?.addEventListener(\"mouseleave\", setUnhighlighted);\n\n buttonRef.current?.addEventListener(\"focus\", setFocusHighlighted, true);\n\n buttonRef.current?.addEventListener(\"blur\", setFocusHighlighted, true);\n\n setUnhighlighted();\n\n return () => {\n buttonRef.current?.removeEventListener(\"mouseenter\", setHighlighted);\n\n buttonRef.current?.removeEventListener(\"mouseleave\", setUnhighlighted);\n\n buttonRef.current?.removeEventListener(\n \"focus\",\n setFocusHighlighted,\n true,\n );\n\n buttonRef.current?.removeEventListener(\"blur\", setFocusHighlighted, true);\n };\n }, [onHighlight]);\n\n const toggleLabel = useMemo(\n () =>\n isSideNavCollapsed\n ? t(\"sidenav.toggle.expand\")\n : t(\"sidenav.toggle.collapse\"),\n [isSideNavCollapsed, t],\n );\n\n const renderButton = useCallback(\n (muiProps: MuiPropsContextType) => {\n return (\n <StyledToggleButton\n {...muiProps}\n aria-controls={ariaControls}\n aria-expanded={!isSideNavCollapsed}\n aria-label={toggleLabel}\n clickAreaPadding={clickAreaPadding}\n data-se=\"sidenav-toggle-button\"\n data-sidenav-toggle\n id={id}\n odysseyDesignTokens={odysseyDesignTokens}\n onClick={onClick}\n ref={(element: HTMLButtonElement) => {\n if (element) {\n buttonRef.current = element;\n //@ts-expect-error `ref` is an optional prop, but TypeScript doesn't know this.\n muiProps.ref?.(element);\n }\n }}\n tabIndex={tabIndex}\n variant=\"floating\"\n >\n <StyledChevronRightIcon\n isSideNavCollapsed={isSideNavCollapsed}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </StyledToggleButton>\n );\n },\n [\n ariaControls,\n clickAreaPadding,\n id,\n isSideNavCollapsed,\n odysseyDesignTokens,\n onClick,\n tabIndex,\n toggleLabel,\n ],\n );\n\n return (\n <Tooltip ariaType=\"description\" placement=\"right\" text={toggleLabel}>\n <MuiPropsContext.Consumer>{renderButton}</MuiPropsContext.Consumer>\n </Tooltip>\n );\n};\n\nconst MemoizedSideNavToggleButton = memo(SideNavToggleButton);\nMemoizedSideNavToggleButton.displayName = \"SideNavToggleButton\";\n\nexport { MemoizedSideNavToggleButton as SideNavToggleButton };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAEEC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,QACD,OAAO;AAEd,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,gBAAgB,QAAQ,uCAAuC;AACxE,SAASC,eAAe,QAA6B,0BAA0B;AAC/E,SAEEC,sBAAsB,QACjB,qCAAqC;AAC5C,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,wBAAwB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExE,OAAO,MAAMC,yBAAyB,GAAG,EAAE;AAC3C,OAAO,MAAMC,8BAA8B,GAAGD,yBAAyB,GAAG,CAAC;AAE3E,MAAME,kBAAkB,GAAGhB,MAAM,CAAAiB,OAAA,EAAY;EAC3CC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,kBAAkB,IAAIA,IAAI,KAAK;AAC5C,CAAC,CAAC,CAGC,CAAC;EAAEC,gBAAgB;EAAEC;AAAoB,CAAC,MAAM;EACjDC,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE,GAAGT,yBAAyB,IAAI;EACxCU,IAAI,EAAE,IAAIJ,gBAAgB,GAAG,CAAC,IAAI;EAClCK,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,QAAQb,yBAAyB,SAASM,gBAAgB,UAAU;EAC3EQ,MAAM,EAAEjB,wBAAwB;EAGhC,IAAI,EAAE;IACJkB,eAAe,EAAE,aAAa;IAC9BC,WAAW,EAAE,aAAa;IAC1BC,SAAS,EAAE,MAAM;IACjBC,KAAK,EAAEX,mBAAmB,CAACY;EAC7B,CAAC;EAED,iBAAiB,EAAE;IACjBC,OAAO,EAAE;EACX,CAAC;EAED,0BAA0B,EAAE;IAC1BF,KAAK,EAAEX,mBAAmB,CAACc;EAC7B,CAAC;EAED,WAAW,EAAE;IACXN,eAAe,EAAER,mBAAmB,CAACc,eAAe;IACpDL,WAAW,EAAE,aAAa;IAC1BM,YAAY,EAAE,KAAK;IACnBL,SAAS,EAAEV,mBAAmB,CAACgB,YAAY;IAC3CL,KAAK,EAAEX,mBAAmB,CAACY,kBAAkB;IAC7CK,OAAO,EAAE,IAAI;IACbf,MAAM,EAAE,GAAGT,yBAAyB,IAAI;IACxCU,IAAI,EAAE,GAAGJ,gBAAgB,GAAG,CAAC,IAAI;IACjCM,QAAQ,EAAE,UAAU;IACpBa,GAAG,EAAE,CAAC;IACNZ,KAAK,EAAE,GAAGb,yBAAyB;EACrC,CAAC;EAED,0CAA0C,EAAE;IAC1Ce,eAAe,EAAER,mBAAmB,CAACY;EACvC;AACF,CAAC,CAAC,CAAC;AAEH,MAAMO,sBAAsB,GAAGxC,MAAM,CAACO,gBAAgB,EAAE;EACtDW,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEsB,kBAAkB;EAAEpB;AAAoB,CAAC,MAAM;EACnDqB,QAAQ,EAAE,MAAM;EAChBlB,IAAI,EAAEiB,kBAAkB,GAAGE,SAAS,GAAG,KAAK;EAC5CjB,QAAQ,EAAE,UAAU;EACpBkB,KAAK,EAAEH,kBAAkB,GAAG,KAAK,GAAGE,SAAS;EAC7CJ,GAAG,EAAE,KAAK;EACVM,SAAS,EAAEJ,kBAAkB,GAAG,cAAc,GAAG,iBAAiB;EAClEK,kBAAkB,EAAEzB,mBAAmB,CAAC0B,sBAAsB;EAC9DC,kBAAkB,EAAE,WAAW;EAC/BC,wBAAwB,EAAE;AAC5B,CAAC,CAAC,CAAC;AA+BH,MAAMC,kBAAkB,GACtB,OAAOC,MAAM,KAAK,WAAW,GAAG,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;AAEzE,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,YAAY;EACZnC,gBAAgB,GAAG,CAAC;EACpBoC,EAAE;EACFf,kBAAkB;EAClBgB,OAAO;EACPC,WAAW;EACXC;AACwB,CAAC,KAAK;EAC9B,MAAMtC,mBAAmB,GAAGZ,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEmD;EAAE,CAAC,GAAGtD,cAAc,CAAC,CAAC;EAE9B,MAAMuD,SAAS,GAAGxD,MAAM,CAAC6C,kBAAkB,CAAC;EAE5C/C,SAAS,CAAC,MAAM;IACd,MAAM2D,cAAc,GAAGA,CAAA,KAAM;MAC3BJ,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;MAC7BL,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAMM,mBAAmB,GAAGA,CAAA,KAAM;MAChCN,WAAW,GAAGO,OAAO,CAACJ,SAAS,CAACK,OAAO,EAAEC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,CAAC;IAEDN,SAAS,CAACK,OAAO,EAAEE,gBAAgB,CAAC,YAAY,EAAEN,cAAc,CAAC;IAEjED,SAAS,CAACK,OAAO,EAAEE,gBAAgB,CAAC,YAAY,EAAEL,gBAAgB,CAAC;IAEnEF,SAAS,CAACK,OAAO,EAAEE,gBAAgB,CAAC,OAAO,EAAEJ,mBAAmB,EAAE,IAAI,CAAC;IAEvEH,SAAS,CAACK,OAAO,EAAEE,gBAAgB,CAAC,MAAM,EAAEJ,mBAAmB,EAAE,IAAI,CAAC;IAEtED,gBAAgB,CAAC,CAAC;IAElB,OAAO,MAAM;MACXF,SAAS,CAACK,OAAO,EAAEG,mBAAmB,CAAC,YAAY,EAAEP,cAAc,CAAC;MAEpED,SAAS,CAACK,OAAO,EAAEG,mBAAmB,CAAC,YAAY,EAAEN,gBAAgB,CAAC;MAEtEF,SAAS,CAACK,OAAO,EAAEG,mBAAmB,CACpC,OAAO,EACPL,mBAAmB,EACnB,IACF,CAAC;MAEDH,SAAS,CAACK,OAAO,EAAEG,mBAAmB,CAAC,MAAM,EAAEL,mBAAmB,EAAE,IAAI,CAAC;IAC3E,CAAC;EACH,CAAC,EAAE,CAACN,WAAW,CAAC,CAAC;EAEjB,MAAMY,WAAW,GAAGlE,OAAO,CACzB,MACEqC,kBAAkB,GACdmB,CAAC,CAAC,uBAAuB,CAAC,GAC1BA,CAAC,CAAC,yBAAyB,CAAC,EAClC,CAACnB,kBAAkB,EAAEmB,CAAC,CACxB,CAAC;EAED,MAAMW,YAAY,GAAGrE,WAAW,CAC7BsE,QAA6B,IAAK;IACjC,OACE3D,IAAA,CAACG,kBAAkB;MAAA,GACbwD,QAAQ;MACZ,iBAAejB,YAAa;MAC5B,iBAAe,CAACd,kBAAmB;MACnC,cAAY6B,WAAY;MACxBlD,gBAAgB,EAAEA,gBAAiB;MACnC,WAAQ,uBAAuB;MAC/B,2BAAmB;MACnBoC,EAAE,EAAEA,EAAG;MACPnC,mBAAmB,EAAEA,mBAAoB;MACzCoC,OAAO,EAAEA,OAAQ;MACjBgB,GAAG,EAAGC,OAA0B,IAAK;QACnC,IAAIA,OAAO,EAAE;UACXb,SAAS,CAACK,OAAO,GAAGQ,OAAO;UAE3BF,QAAQ,CAACC,GAAG,GAAGC,OAAO,CAAC;QACzB;MACF,CAAE;MACFf,QAAQ,EAAEA,QAAS;MACnBgB,OAAO,EAAC,UAAU;MAAAC,QAAA,EAElB/D,IAAA,CAAC2B,sBAAsB;QACrBC,kBAAkB,EAAEA,kBAAmB;QACvCpB,mBAAmB,EAAEA;MAAoB,CAC1C;IAAC,CACgB,CAAC;EAEzB,CAAC,EACD,CACEkC,YAAY,EACZnC,gBAAgB,EAChBoC,EAAE,EACFf,kBAAkB,EAClBpB,mBAAmB,EACnBoC,OAAO,EACPE,QAAQ,EACRW,WAAW,CAEf,CAAC;EAED,OACEzD,IAAA,CAACH,OAAO;IAACmE,QAAQ,EAAC,aAAa;IAACC,SAAS,EAAC,OAAO;IAACC,IAAI,EAAET,WAAY;IAAAM,QAAA,EAClE/D,IAAA,CAACL,eAAe,CAACwE,QAAQ;MAAAJ,QAAA,EAAEL;IAAY,CAA2B;EAAC,CAC5D,CAAC;AAEd,CAAC;AAED,MAAMU,2BAA2B,GAAGhF,IAAI,CAACqD,mBAAmB,CAAC;AAC7D2B,2BAA2B,CAACC,WAAW,GAAG,qBAAqB;AAE/D,SAASD,2BAA2B,IAAI3B,mBAAmB","ignoreList":[]}
@@ -14,7 +14,7 @@ import { useSortable } from "@dnd-kit/sortable";
14
14
  import { CSS } from "@dnd-kit/utilities";
15
15
  import styled from "@emotion/styled";
16
16
  import { createContext, createRef, useContext, useMemo } from "react";
17
- import { useTranslation } from "react-i18next";
17
+ import { useTranslation } from "../../../i18n.generated/i18n.js";
18
18
  import { useOdysseyDesignTokens } from "../../../OdysseyDesignTokensContext.js";
19
19
  import { useUiShellContext } from "../../../ui-shell/UiShellProvider.js";
20
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"SortableItem.js","names":["useSortable","CSS","styled","createContext","createRef","useContext","useMemo","useTranslation","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","jsxs","_jsxs","SortableItemContext","attributes","listeners","undefined","ref","StyledSortableListItem","shouldForwardProp","prop","odysseyDesignTokens","isSelected","sideNavContrastColors","position","button","top","left","Spacing2","transform","svg","path","fill","fontColor","opacity","outlineWidth","TypographyColorAction","StyledUl","padding","listStyle","listStyleType","StyledDragHandleButton","isDragging","focusRingColor","border","backgroundColor","cursor","transition","TransitionDurationMain","borderRadius","BorderRadiusMain","display","outline","boxShadow","PalettePrimaryMain","DragHandle","t","uiShellContext","children","height","viewBox","width","xmlns","clipRule","d","fillRule","SortableItem","id","isDisabled","isSortable","setNodeRef","setActivatorNodeRef","context","style","Translate","toString","Provider","value"],"sources":["../../../../../src/ui-shell/SideNav/SortableList/SortableItem.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type {\n DraggableSyntheticListeners,\n UniqueIdentifier,\n} from \"@dnd-kit/core\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport styled from \"@emotion/styled\";\nimport {\n createContext,\n createRef,\n CSSProperties,\n PropsWithChildren,\n RefObject,\n useContext,\n useMemo,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ContrastColors } from \"../../../createContrastColors.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../../ui-shell/UiShellProvider.js\";\n\ntype ItemProps = {\n id: UniqueIdentifier;\n isDisabled?: boolean;\n isSelected?: boolean;\n isSortable?: boolean;\n};\n\nexport type SortableItemContextType = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n attributes: Record<string, any>;\n listeners: DraggableSyntheticListeners;\n ref: RefObject<HTMLButtonElement>;\n};\n\nconst SortableItemContext = createContext<SortableItemContextType>({\n attributes: {},\n listeners: undefined,\n ref: createRef<HTMLButtonElement>(),\n});\n\nconst StyledSortableListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isSelected\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, isSelected, sideNavContrastColors }) => ({\n position: \"relative\",\n\n button: {\n top: \"50%\",\n left: odysseyDesignTokens.Spacing2,\n transform: \"translateY(-50%)\",\n },\n\n svg: {\n path: {\n fill: \"currentColor\",\n ...(sideNavContrastColors?.fontColor && {\n fill: sideNavContrastColors.fontColor,\n }),\n },\n },\n\n \"&:has(a:hover, button:hover, a:focus, button:focus, a:focus-visible, button:focus-visible, [role='button']:hover, [role='button']:focus, [role='button']:focus-visible)\":\n {\n button: {\n opacity: 1,\n outlineWidth: 0,\n },\n },\n\n ...(isSelected && {\n svg: {\n path: {\n fill: odysseyDesignTokens.TypographyColorAction,\n\n ...(sideNavContrastColors?.fontColor && {\n fill: sideNavContrastColors.fontColor,\n }),\n },\n },\n }),\n}));\n\nconst StyledUl = styled(\"ul\")({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n});\n\nconst StyledDragHandleButton = styled(\"button\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isDragging\" &&\n prop !== \"focusRingColor\",\n})<{\n focusRingColor: ContrastColors[\"focusRingColor\"];\n isDragging?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isDragging, focusRingColor }) => ({\n position: \"absolute\",\n opacity: 0,\n padding: odysseyDesignTokens.Spacing2,\n border: \"none\",\n backgroundColor: \"transparent\",\n cursor: `${isDragging ? \"grabbing\" : \"grab\"}`,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}`,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n\n svg: {\n display: \"flex\",\n },\n\n \"&:focus, &:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${odysseyDesignTokens.PalettePrimaryMain}`,\n\n ...(focusRingColor && {\n boxShadow: `inset 0 0 0 2px ${focusRingColor}`,\n }),\n },\n}));\n\ntype DragHandleProps = {\n isDisabled?: boolean;\n isDragging?: boolean;\n};\n\nexport const DragHandle = ({ isDragging }: DragHandleProps) => {\n const { attributes, listeners, ref } = useContext(SortableItemContext);\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const uiShellContext = useUiShellContext();\n\n return (\n <StyledDragHandleButton\n {...attributes}\n {...listeners}\n aria-label={t(\"navigation.drag.handle\")}\n focusRingColor={uiShellContext?.sideNavContrastColors?.focusRingColor}\n isDragging={isDragging}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={ref}\n >\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M6 2.33331C6 2.8856 5.55228 3.33331 5 3.33331C4.44772 3.33331 4 2.8856 4 2.33331C4 1.78103 4.44772 1.33331 5 1.33331C5.55228 1.33331 6 1.78103 6 2.33331ZM11 3.33331C11.5523 3.33331 12 2.8856 12 2.33331C12 1.78103 11.5523 1.33331 11 1.33331C10.4477 1.33331 10 1.78103 10 2.33331C10 2.8856 10.4477 3.33331 11 3.33331ZM11 7.11109C11.5523 7.11109 12 6.66338 12 6.11109C12 5.55881 11.5523 5.11109 11 5.11109C10.4477 5.11109 10 5.55881 10 6.11109C10 6.66338 10.4477 7.11109 11 7.11109ZM12 9.88887C12 10.4412 11.5523 10.8889 11 10.8889C10.4477 10.8889 10 10.4412 10 9.88887C10 9.33659 10.4477 8.88887 11 8.88887C11.5523 8.88887 12 9.33659 12 9.88887ZM11 14.6666C11.5523 14.6666 12 14.2189 12 13.6666C12 13.1144 11.5523 12.6666 11 12.6666C10.4477 12.6666 10 13.1144 10 13.6666C10 14.2189 10.4477 14.6666 11 14.6666ZM5 7.11109C5.55228 7.11109 6 6.66338 6 6.11109C6 5.55881 5.55228 5.11109 5 5.11109C4.44772 5.11109 4 5.55881 4 6.11109C4 6.66338 4.44772 7.11109 5 7.11109ZM6 9.88888C6 10.4412 5.55228 10.8889 5 10.8889C4.44772 10.8889 4 10.4412 4 9.88888C4 9.33659 4.44772 8.88888 5 8.88888C5.55228 8.88888 6 9.33659 6 9.88888ZM5 14.6666C5.55228 14.6666 6 14.2189 6 13.6666C6 13.1144 5.55228 12.6666 5 12.6666C4.44772 12.6666 4 13.1144 4 13.6666C4 14.2189 4.44772 14.6666 5 14.6666Z\"\n fill=\"#3F59E4\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledDragHandleButton>\n );\n};\n\nexport const SortableItem = ({\n id,\n isDisabled,\n isSelected,\n isSortable = true,\n children,\n}: PropsWithChildren<ItemProps>) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const context: SortableItemContextType = useMemo(\n () => ({\n attributes,\n listeners,\n // This library gives us a legacy ref function, and I can't change it, so I had to override the type. --Kevin Ghadyani\n ref: setActivatorNodeRef as unknown as RefObject<HTMLButtonElement>,\n }),\n [attributes, listeners, setActivatorNodeRef],\n );\n\n const style: CSSProperties = {\n opacity: isDragging ? 0.4 : undefined,\n transform: CSS.Translate.toString(transform),\n transition,\n };\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n\n return (\n <SortableItemContext.Provider value={context}>\n <StyledSortableListItem\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={setNodeRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n style={style}\n >\n {!isDisabled && isSortable && <DragHandle isDragging={isDragging} />}\n <StyledUl>{children}</StyledUl>\n </StyledSortableListItem>\n </SortableItemContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SortableItem.js","names":["useSortable","CSS","styled","createContext","createRef","useContext","useMemo","useTranslation","useOdysseyDesignTokens","useUiShellContext","jsx","_jsx","jsxs","_jsxs","SortableItemContext","attributes","listeners","undefined","ref","StyledSortableListItem","shouldForwardProp","prop","odysseyDesignTokens","isSelected","sideNavContrastColors","position","button","top","left","Spacing2","transform","svg","path","fill","fontColor","opacity","outlineWidth","TypographyColorAction","StyledUl","padding","listStyle","listStyleType","StyledDragHandleButton","isDragging","focusRingColor","border","backgroundColor","cursor","transition","TransitionDurationMain","borderRadius","BorderRadiusMain","display","outline","boxShadow","PalettePrimaryMain","DragHandle","t","uiShellContext","children","height","viewBox","width","xmlns","clipRule","d","fillRule","SortableItem","id","isDisabled","isSortable","setNodeRef","setActivatorNodeRef","context","style","Translate","toString","Provider","value"],"sources":["../../../../../src/ui-shell/SideNav/SortableList/SortableItem.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type {\n DraggableSyntheticListeners,\n UniqueIdentifier,\n} from \"@dnd-kit/core\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport styled from \"@emotion/styled\";\nimport {\n createContext,\n createRef,\n CSSProperties,\n PropsWithChildren,\n RefObject,\n useContext,\n useMemo,\n} from \"react\";\n\nimport { ContrastColors } from \"../../../createContrastColors.js\";\nimport { useTranslation } from \"../../../i18n.generated/i18n.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../../OdysseyDesignTokensContext.js\";\nimport {\n UiShellColors,\n useUiShellContext,\n} from \"../../../ui-shell/UiShellProvider.js\";\n\ntype ItemProps = {\n id: UniqueIdentifier;\n isDisabled?: boolean;\n isSelected?: boolean;\n isSortable?: boolean;\n};\n\nexport type SortableItemContextType = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n attributes: Record<string, any>;\n listeners: DraggableSyntheticListeners;\n ref: RefObject<HTMLButtonElement>;\n};\n\nconst SortableItemContext = createContext<SortableItemContextType>({\n attributes: {},\n listeners: undefined,\n ref: createRef<HTMLButtonElement>(),\n});\n\nconst StyledSortableListItem = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isSelected\" &&\n prop !== \"sideNavContrastColors\",\n})<{\n isSelected?: boolean;\n odysseyDesignTokens: DesignTokens;\n sideNavContrastColors: UiShellColors[\"sideNavContrastColors\"];\n}>(({ odysseyDesignTokens, isSelected, sideNavContrastColors }) => ({\n position: \"relative\",\n\n button: {\n top: \"50%\",\n left: odysseyDesignTokens.Spacing2,\n transform: \"translateY(-50%)\",\n },\n\n svg: {\n path: {\n fill: \"currentColor\",\n ...(sideNavContrastColors?.fontColor && {\n fill: sideNavContrastColors.fontColor,\n }),\n },\n },\n\n \"&:has(a:hover, button:hover, a:focus, button:focus, a:focus-visible, button:focus-visible, [role='button']:hover, [role='button']:focus, [role='button']:focus-visible)\":\n {\n button: {\n opacity: 1,\n outlineWidth: 0,\n },\n },\n\n ...(isSelected && {\n svg: {\n path: {\n fill: odysseyDesignTokens.TypographyColorAction,\n\n ...(sideNavContrastColors?.fontColor && {\n fill: sideNavContrastColors.fontColor,\n }),\n },\n },\n }),\n}));\n\nconst StyledUl = styled(\"ul\")({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n});\n\nconst StyledDragHandleButton = styled(\"button\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isDragging\" &&\n prop !== \"focusRingColor\",\n})<{\n focusRingColor: ContrastColors[\"focusRingColor\"];\n isDragging?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isDragging, focusRingColor }) => ({\n position: \"absolute\",\n opacity: 0,\n padding: odysseyDesignTokens.Spacing2,\n border: \"none\",\n backgroundColor: \"transparent\",\n cursor: `${isDragging ? \"grabbing\" : \"grab\"}`,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}`,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n\n svg: {\n display: \"flex\",\n },\n\n \"&:focus, &:focus-visible\": {\n outline: \"none\",\n boxShadow: `inset 0 0 0 2px ${odysseyDesignTokens.PalettePrimaryMain}`,\n\n ...(focusRingColor && {\n boxShadow: `inset 0 0 0 2px ${focusRingColor}`,\n }),\n },\n}));\n\ntype DragHandleProps = {\n isDisabled?: boolean;\n isDragging?: boolean;\n};\n\nexport const DragHandle = ({ isDragging }: DragHandleProps) => {\n const { attributes, listeners, ref } = useContext(SortableItemContext);\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const uiShellContext = useUiShellContext();\n\n return (\n <StyledDragHandleButton\n {...attributes}\n {...listeners}\n aria-label={t(\"navigation.drag.handle\")}\n focusRingColor={uiShellContext?.sideNavContrastColors?.focusRingColor}\n isDragging={isDragging}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={ref}\n >\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M6 2.33331C6 2.8856 5.55228 3.33331 5 3.33331C4.44772 3.33331 4 2.8856 4 2.33331C4 1.78103 4.44772 1.33331 5 1.33331C5.55228 1.33331 6 1.78103 6 2.33331ZM11 3.33331C11.5523 3.33331 12 2.8856 12 2.33331C12 1.78103 11.5523 1.33331 11 1.33331C10.4477 1.33331 10 1.78103 10 2.33331C10 2.8856 10.4477 3.33331 11 3.33331ZM11 7.11109C11.5523 7.11109 12 6.66338 12 6.11109C12 5.55881 11.5523 5.11109 11 5.11109C10.4477 5.11109 10 5.55881 10 6.11109C10 6.66338 10.4477 7.11109 11 7.11109ZM12 9.88887C12 10.4412 11.5523 10.8889 11 10.8889C10.4477 10.8889 10 10.4412 10 9.88887C10 9.33659 10.4477 8.88887 11 8.88887C11.5523 8.88887 12 9.33659 12 9.88887ZM11 14.6666C11.5523 14.6666 12 14.2189 12 13.6666C12 13.1144 11.5523 12.6666 11 12.6666C10.4477 12.6666 10 13.1144 10 13.6666C10 14.2189 10.4477 14.6666 11 14.6666ZM5 7.11109C5.55228 7.11109 6 6.66338 6 6.11109C6 5.55881 5.55228 5.11109 5 5.11109C4.44772 5.11109 4 5.55881 4 6.11109C4 6.66338 4.44772 7.11109 5 7.11109ZM6 9.88888C6 10.4412 5.55228 10.8889 5 10.8889C4.44772 10.8889 4 10.4412 4 9.88888C4 9.33659 4.44772 8.88888 5 8.88888C5.55228 8.88888 6 9.33659 6 9.88888ZM5 14.6666C5.55228 14.6666 6 14.2189 6 13.6666C6 13.1144 5.55228 12.6666 5 12.6666C4.44772 12.6666 4 13.1144 4 13.6666C4 14.2189 4.44772 14.6666 5 14.6666Z\"\n fill=\"#3F59E4\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledDragHandleButton>\n );\n};\n\nexport const SortableItem = ({\n id,\n isDisabled,\n isSelected,\n isSortable = true,\n children,\n}: PropsWithChildren<ItemProps>) => {\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const context: SortableItemContextType = useMemo(\n () => ({\n attributes,\n listeners,\n // This library gives us a legacy ref function, and I can't change it, so I had to override the type. --Kevin Ghadyani\n ref: setActivatorNodeRef as unknown as RefObject<HTMLButtonElement>,\n }),\n [attributes, listeners, setActivatorNodeRef],\n );\n\n const style: CSSProperties = {\n opacity: isDragging ? 0.4 : undefined,\n transform: CSS.Translate.toString(transform),\n transition,\n };\n\n const uiShellContext = useUiShellContext();\n const odysseyDesignTokens: DesignTokens = useOdysseyDesignTokens();\n\n return (\n <SortableItemContext.Provider value={context}>\n <StyledSortableListItem\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={setNodeRef}\n sideNavContrastColors={uiShellContext?.sideNavContrastColors}\n style={style}\n >\n {!isDisabled && isSortable && <DragHandle isDragging={isDragging} />}\n <StyledUl>{children}</StyledUl>\n </StyledSortableListItem>\n </SortableItemContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@
13
13
  import { DndContext, KeyboardSensor, PointerSensor, useSensor, useSensors } from "@dnd-kit/core";
14
14
  import { SortableContext, sortableKeyboardCoordinates } from "@dnd-kit/sortable";
15
15
  import { Fragment, useMemo, useState } from "react";
16
- import { useTranslation } from "react-i18next";
16
+ import { useTranslation } from "../../../i18n.generated/i18n.js";
17
17
  import { SortableItem } from "./SortableItem.js";
18
18
  import { SortableOverlay } from "./SortableOverlay.js";
19
19
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"SortableList.js","names":["DndContext","KeyboardSensor","PointerSensor","useSensor","useSensors","SortableContext","sortableKeyboardCoordinates","Fragment","useMemo","useState","useTranslation","SortableItem","SortableOverlay","jsx","_jsx","jsxs","_jsxs","SortableList","parentId","items","onChange","renderItem","active","setActive","activeItem","find","item","id","sensors","coordinateGetter","t","announcements","onDragStart","activeId","onDragOver","over","overId","onDragEnd","onDragCancel","accessibility","activeIndex","findIndex","overIndex","isSortable","children","map","Item"],"sources":["../../../../../src/ui-shell/SideNav/SortableList/SortableList.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type { ReactNode } from \"react\";\n\nimport {\n Active,\n Announcements,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n UniqueIdentifier,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport {\n SortableContext,\n sortableKeyboardCoordinates,\n} from \"@dnd-kit/sortable\";\nimport { Fragment, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SortableItem } from \"./SortableItem.js\";\nimport { SortableOverlay } from \"./SortableOverlay.js\";\n\nexport interface BaseItem {\n id: UniqueIdentifier;\n isDisabled: boolean | undefined;\n isSelected: boolean | undefined;\n isSortable: boolean | undefined;\n navItem: ReactNode;\n}\n\ninterface ListProps<T extends BaseItem> {\n items: T[];\n onChange: (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n parentId: string;\n renderItem: (item: T) => ReactNode;\n}\n\nexport const SortableList = <T extends BaseItem>({\n parentId,\n items,\n onChange,\n renderItem,\n}: ListProps<T>) => {\n const [active, setActive] = useState<Active | null>(null);\n\n const activeItem = useMemo(\n () => items.find((item) => item.id === active?.id),\n [active, items],\n );\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const { t } = useTranslation();\n const announcements: Announcements = useMemo(\n () => ({\n onDragStart: ({ active }) => {\n return `${t(\"sortable.list.drag.start\", { activeId: active.id })}`;\n },\n onDragOver: ({ active, over }) => {\n if (over) {\n return `${t(\"sortable.list.drag.moved.over\", { activeId: active.id, overId: over.id })}`;\n }\n return `${t(\"sortable.list.drag.nolonger.over\", { activeId: active.id })}`;\n },\n onDragEnd: ({ active, over }) => {\n if (over) {\n return `${t(\"sortable.list.drag.end.dropped.over\", { activeId: active.id, overId: over.id })}`;\n }\n return `${t(\"sortable.list.drag.end.dropped\", { activeId: active.id })}`;\n },\n onDragCancel: ({ active }) => {\n return `${t(\"sortable.list.drag.cancel\", { activeId: active.id })}`;\n },\n }),\n [t],\n );\n\n return (\n <DndContext\n accessibility={{ announcements: announcements }}\n onDragCancel={() => {\n setActive(null);\n }}\n onDragEnd={({ active, over }) => {\n if (over && active.id !== over?.id) {\n const activeIndex = items.findIndex(({ id }) => id === active.id);\n const overIndex = items.findIndex(({ id }) => id === over.id);\n // allow sorting by default except when isSortable is set to false explicitly\n if (items[overIndex].isSortable !== false) {\n onChange(parentId, active.id, activeIndex, overIndex);\n }\n }\n setActive(null);\n }}\n onDragStart={({ active }) => {\n setActive(active);\n }}\n sensors={sensors}\n >\n <SortableContext items={items}>\n {items.map((item) => (\n <Fragment key={item.id}>{renderItem(item)}</Fragment>\n ))}\n </SortableContext>\n <SortableOverlay>\n {activeItem ? renderItem(activeItem) : null}\n </SortableOverlay>\n </DndContext>\n );\n};\n\nSortableList.Item = SortableItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SortableList.js","names":["DndContext","KeyboardSensor","PointerSensor","useSensor","useSensors","SortableContext","sortableKeyboardCoordinates","Fragment","useMemo","useState","useTranslation","SortableItem","SortableOverlay","jsx","_jsx","jsxs","_jsxs","SortableList","parentId","items","onChange","renderItem","active","setActive","activeItem","find","item","id","sensors","coordinateGetter","t","announcements","onDragStart","activeId","onDragOver","over","overId","onDragEnd","onDragCancel","accessibility","activeIndex","findIndex","overIndex","isSortable","children","map","Item"],"sources":["../../../../../src/ui-shell/SideNav/SortableList/SortableList.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type { ReactNode } from \"react\";\n\nimport {\n Active,\n Announcements,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n UniqueIdentifier,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport {\n SortableContext,\n sortableKeyboardCoordinates,\n} from \"@dnd-kit/sortable\";\nimport { Fragment, useMemo, useState } from \"react\";\n\nimport { useTranslation } from \"../../../i18n.generated/i18n.js\";\nimport { SortableItem } from \"./SortableItem.js\";\nimport { SortableOverlay } from \"./SortableOverlay.js\";\n\nexport interface BaseItem {\n id: UniqueIdentifier;\n isDisabled: boolean | undefined;\n isSelected: boolean | undefined;\n isSortable: boolean | undefined;\n navItem: ReactNode;\n}\n\ninterface ListProps<T extends BaseItem> {\n items: T[];\n onChange: (\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n parentId: string;\n renderItem: (item: T) => ReactNode;\n}\n\nexport const SortableList = <T extends BaseItem>({\n parentId,\n items,\n onChange,\n renderItem,\n}: ListProps<T>) => {\n const [active, setActive] = useState<Active | null>(null);\n\n const activeItem = useMemo(\n () => items.find((item) => item.id === active?.id),\n [active, items],\n );\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const { t } = useTranslation();\n const announcements: Announcements = useMemo(\n () => ({\n onDragStart: ({ active }) => {\n return `${t(\"sortable.list.drag.start\", { activeId: active.id })}`;\n },\n onDragOver: ({ active, over }) => {\n if (over) {\n return `${t(\"sortable.list.drag.moved.over\", { activeId: active.id, overId: over.id })}`;\n }\n return `${t(\"sortable.list.drag.nolonger.over\", { activeId: active.id })}`;\n },\n onDragEnd: ({ active, over }) => {\n if (over) {\n return `${t(\"sortable.list.drag.end.dropped.over\", { activeId: active.id, overId: over.id })}`;\n }\n return `${t(\"sortable.list.drag.end.dropped\", { activeId: active.id })}`;\n },\n onDragCancel: ({ active }) => {\n return `${t(\"sortable.list.drag.cancel\", { activeId: active.id })}`;\n },\n }),\n [t],\n );\n\n return (\n <DndContext\n accessibility={{ announcements: announcements }}\n onDragCancel={() => {\n setActive(null);\n }}\n onDragEnd={({ active, over }) => {\n if (over && active.id !== over?.id) {\n const activeIndex = items.findIndex(({ id }) => id === active.id);\n const overIndex = items.findIndex(({ id }) => id === over.id);\n // allow sorting by default except when isSortable is set to false explicitly\n if (items[overIndex].isSortable !== false) {\n onChange(parentId, active.id, activeIndex, overIndex);\n }\n }\n setActive(null);\n }}\n onDragStart={({ active }) => {\n setActive(active);\n }}\n sensors={sensors}\n >\n <SortableContext items={items}>\n {items.map((item) => (\n <Fragment key={item.id}>{renderItem(item)}</Fragment>\n ))}\n </SortableContext>\n <SortableOverlay>\n {activeItem ? renderItem(activeItem) : null}\n </SortableOverlay>\n </DndContext>\n );\n};\n\nSortableList.Item = SortableItem;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/ui-shell/SideNav/types.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 type { ReactElement, SyntheticEvent } from \"react\";\n\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport type { statusSeverityValues } from \"../../Status.js\";\n\ntype LogoWithLink = {\n ariaLabel: string;\n href: string;\n};\ntype LogoWithNoLink = {\n ariaLabel?: never;\n href?: never;\n};\n\nexport type SideNavLogoProps = {\n isSameBackgroundAsMain?: boolean;\n /**\n * Event fired when the logo is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n} & (LogoWithLink | LogoWithNoLink) &\n (\n | {\n imageAltText?: never;\n imageUrl?: never;\n /**\n * a component to render as the logo\n */\n logoComponent: ReactElement;\n }\n | {\n /**\n * alt text for the img logo\n */\n imageAltText: string;\n /**\n * The src url to render in an `img` tag\n */\n imageUrl: string;\n logoComponent?: never;\n }\n | {\n /**\n * alt text for the img logo\n */\n imageAltText?: never;\n /**\n * The src url to render in an `img` tag\n */\n imageUrl?: never;\n logoComponent?: never;\n }\n );\n\nexport type SideNavProps = {\n /**\n * Side Nav header text that is usually reserved to show the App name\n */\n appName?: string;\n /**\n * If we want the collapse state to be based on session storage, then this needs to be `true`.\n */\n hasSessionStorageState?: boolean;\n /**\n * Determines whether the side nav is collapsed by default. When `true`, side nav also closes once and item is clicked.\n */\n isCollapsed?: boolean;\n /**\n * Determines whether the side nav is collapsible\n */\n isCollapsible?: boolean;\n /**\n * Determines whether the side nav items use compact layout\n */\n isCompact?: boolean;\n /**\n * Before the side nav has items, it will be in a loading state.\n */\n isLoading?: boolean;\n /**\n * If the side nav is up too much screen real estate. For instance, if you're in a narrower view, and it displays next to the content.\n *\n * When `true`, side nav will close itself after nav items are clicked.\n */\n isObtrusive?: boolean;\n /**\n * An optional logo component or src string for an img to display in the header. If not provided, will default to the Okta logo\n */\n logoProps?: SideNavLogoProps;\n /**\n * Triggers when the side nav is collapsed\n */\n onCollapse?: () => void;\n /**\n * Triggers when the side nav is expanded\n */\n onExpand?: () => void;\n /**\n * Triggers when the item is reordered\n */\n onSort?: (\n reorderedItems: SideNavItem[],\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n /**\n * Nav items in the side nav\n */\n sideNavItems?: SideNavItem[];\n} & (\n | {\n /**\n * The component to display as the footer; if present the `footerItems` are ignored and not rendered.\n */\n footerComponent?: ReactElement;\n footerItems?: never;\n hasCustomFooter: true;\n }\n | {\n footerComponent?: never;\n /**\n * Footer items in the side nav\n */\n footerItems?: SideNavFooterItem[];\n hasCustomFooter?: false;\n }\n) &\n Pick<HtmlProps, \"testId\">;\n\nexport type SideNavItem = {\n /**\n * The number to display as a count alongside the nav item\n */\n count?: number;\n /**\n * The icon element to display after the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n endIcon?: ReactElement;\n id: string;\n /**\n * Whether the item is disabled. When set to true the nav item is set to Disabled color,\n * the link/item is not clickable, and item with nestedNavItems is not expandable.\n */\n isDisabled?: boolean;\n /**\n * Whether the item is active/selected\n */\n isSelected?: boolean;\n /**\n * Whether the item is sortable within a sortable list\n */\n isSortable?: boolean;\n label: string;\n /**\n * Event fired when the nav item is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n /**\n * The status element to display after the label\n */\n severity?: (typeof statusSeverityValues)[number];\n /**\n * The icon element to display before the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n startIcon?: ReactElement;\n /**\n * The label to display inside the status\n */\n statusLabel?: string;\n /**\n * The link target prop. e.g., \"_blank\"\n */\n target?: string;\n} & (\n | {\n href?: never;\n isDefaultExpanded?: never;\n isExpanded?: never;\n /**\n * Determines if the side nav item is a section header\n */\n isSectionHeader: true;\n nestedNavItems?: never;\n }\n | {\n /**\n * link added to the nav item. if it is undefined, static text will be displayed.\n * fires onClick event when it is passed\n */\n href?: string;\n isDefaultExpanded?: never;\n isExpanded?: never;\n isSectionHeader?: never;\n nestedNavItems?: never;\n }\n | {\n href?: never;\n /**\n * Whether the accordion (nav item with nestedNavItems) is expanded by default\n */\n isDefaultExpanded?: boolean;\n /**\n * If true, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n isExpanded?: boolean;\n /**\n * If true, enables sorting for the accordion items\n */\n isSectionHeader?: never;\n /**\n * An array of side nav items to be displayed as nestedNavItems within Accordion\n */\n nestedNavItems: Array<Omit<SideNavItem, \"nestedNavItems\" | \"startIcon\">>;\n }\n | {\n href: string;\n isDefaultExpanded?: never;\n isExpanded?: never;\n isSectionHeader?: never;\n /**\n * An array of side nav items to be displayed as nestedNavItems within Accordion\n */\n nestedNavItems: Array<Omit<SideNavItem, \"nestedNavItems\" | \"startIcon\">>;\n }\n) &\n Pick<HtmlProps, \"translate\">;\n\nexport type SideNavFooterItem = {\n href?: string;\n id: string;\n label: string;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/ui-shell/SideNav/types.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 type { ReactElement, SyntheticEvent } from \"react\";\n\nimport { UniqueIdentifier } from \"@dnd-kit/core\";\n\nimport type { HtmlProps } from \"../../HtmlProps.js\";\nimport type { DesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport type { statusSeverityValues } from \"../../Status.js\";\n\n/**\n * Type representing spacing values from the design tokens.\n * odysseyDesignTokens.Spacing0, odysseyDesignTokens.Spacing1, etc.\n */\nexport type OdysseySpacingValue = DesignTokens[keyof Pick<\n DesignTokens,\n | \"Spacing0\"\n | \"Spacing1\"\n | \"Spacing2\"\n | \"Spacing3\"\n | \"Spacing4\"\n | \"Spacing5\"\n | \"Spacing6\"\n | \"Spacing7\"\n | \"Spacing8\"\n | \"Spacing9\"\n>];\n\ntype LogoWithLink = {\n ariaLabel: string;\n href: string;\n};\ntype LogoWithNoLink = {\n ariaLabel?: never;\n href?: never;\n};\n\nexport type SideNavLogoProps = {\n isSameBackgroundAsMain?: boolean;\n /**\n * Event fired when the logo is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n} & (LogoWithLink | LogoWithNoLink) &\n (\n | {\n imageAltText?: never;\n imageUrl?: never;\n /**\n * a component to render as the logo\n */\n logoComponent: ReactElement;\n }\n | {\n /**\n * alt text for the img logo\n */\n imageAltText: string;\n /**\n * The src url to render in an `img` tag\n */\n imageUrl: string;\n logoComponent?: never;\n }\n | {\n /**\n * alt text for the img logo\n */\n imageAltText?: never;\n /**\n * The src url to render in an `img` tag\n */\n imageUrl?: never;\n logoComponent?: never;\n }\n );\n\nexport type SideNavProps = {\n /**\n * Side Nav header text that is usually reserved to show the App name\n */\n appName?: string;\n /**\n * If we want the collapse state to be based on session storage, then this needs to be `true`.\n */\n hasSessionStorageState?: boolean;\n /**\n * Determines whether the side nav is collapsed by default. When `true`, side nav also closes once and item is clicked.\n */\n isCollapsed?: boolean;\n /**\n * Determines whether the side nav is collapsible\n */\n isCollapsible?: boolean;\n /**\n * Determines whether the side nav items use compact layout\n */\n isCompact?: boolean;\n /**\n * Before the side nav has items, it will be in a loading state.\n */\n isLoading?: boolean;\n /**\n * If the side nav is up too much screen real estate. For instance, if you're in a narrower view, and it displays next to the content.\n *\n * When `true`, side nav will close itself after nav items are clicked.\n */\n isObtrusive?: boolean;\n /**\n * Optional padding to apply to the start of the leaves (items which are not expanded).\n * Should be one of the Odyssey design token spacing values (e.g., odysseyDesignTokens.Spacing1, odysseyDesignTokens.Spacing2, etc.)\n */\n leavesPaddingStart?: OdysseySpacingValue;\n /**\n * An optional logo component or src string for an img to display in the header. If not provided, will default to the Okta logo\n */\n logoProps?: SideNavLogoProps;\n /**\n * Triggers when the side nav is collapsed\n */\n onCollapse?: () => void;\n /**\n * Triggers when the side nav is expanded\n */\n onExpand?: () => void;\n /**\n * Triggers when the item is reordered\n */\n onSort?: (\n reorderedItems: SideNavItem[],\n parentId: string,\n activeId: UniqueIdentifier,\n activeIndex: number,\n overIndex: number,\n ) => void;\n /**\n * Nav items in the side nav\n */\n sideNavItems?: SideNavItem[];\n} & (\n | {\n /**\n * The component to display as the footer; if present the `footerItems` are ignored and not rendered.\n */\n footerComponent?: ReactElement;\n footerItems?: never;\n hasCustomFooter: true;\n }\n | {\n footerComponent?: never;\n /**\n * Footer items in the side nav\n */\n footerItems?: SideNavFooterItem[];\n hasCustomFooter?: false;\n }\n) &\n Pick<HtmlProps, \"testId\">;\n\nexport type SideNavItem = {\n /**\n * The number to display as a count alongside the nav item\n */\n count?: number;\n /**\n * The icon element to display after the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n endIcon?: ReactElement;\n id: string;\n /**\n * Whether the item is disabled. When set to true the nav item is set to Disabled color,\n * the link/item is not clickable, and item with nestedNavItems is not expandable.\n */\n isDisabled?: boolean;\n /**\n * Whether the item is active/selected\n */\n isSelected?: boolean;\n /**\n * Whether the item is sortable within a sortable list\n */\n isSortable?: boolean;\n label: string;\n /**\n * Event fired when the nav item is clicked\n */\n onClick?: (event: SyntheticEvent) => void;\n /**\n * The status element to display after the label\n */\n severity?: (typeof statusSeverityValues)[number];\n /**\n * The icon element to display before the nav item text. Only use this with images that don't have React context. Even the official Odyssey Icons use MUI which references the MUI theme in context and will error when rendered in Unified UI Shell.\n */\n startIcon?: ReactElement;\n /**\n * The label to display inside the status\n */\n statusLabel?: string;\n /**\n * The link target prop. e.g., \"_blank\"\n */\n target?: string;\n} & (\n | {\n href?: never;\n isDefaultExpanded?: never;\n isExpanded?: never;\n /**\n * Determines if the side nav item is a section header\n */\n isSectionHeader: true;\n nestedNavItems?: never;\n }\n | {\n /**\n * link added to the nav item. if it is undefined, static text will be displayed.\n * fires onClick event when it is passed\n */\n href?: string;\n isDefaultExpanded?: never;\n isExpanded?: never;\n isSectionHeader?: never;\n nestedNavItems?: never;\n }\n | {\n href?: never;\n /**\n * Whether the accordion (nav item with nestedNavItems) is expanded by default\n */\n isDefaultExpanded?: boolean;\n /**\n * If true, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n isExpanded?: boolean;\n /**\n * If true, enables sorting for the accordion items\n */\n isSectionHeader?: never;\n /**\n * An array of side nav items to be displayed as nestedNavItems within Accordion\n */\n nestedNavItems: Array<SideNavItem>;\n }\n | {\n href: string;\n isDefaultExpanded?: never;\n isExpanded?: never;\n isSectionHeader?: never;\n /**\n * An array of side nav items to be displayed as nestedNavItems within Accordion\n */\n nestedNavItems: Array<SideNavItem>;\n }\n) &\n Pick<HtmlProps, \"translate\">;\n\nexport type SideNavFooterItem = {\n href?: string;\n id: string;\n label: string;\n};\n"],"mappings":"","ignoreList":[]}