@okta/odyssey-react-mui 1.15.8 → 1.20.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 (973) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +4 -0
  3. package/dist/Accordion.js +2 -0
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/Autocomplete.js +9 -0
  6. package/dist/Autocomplete.js.map +1 -1
  7. package/dist/Badge.js +1 -0
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Banner.js +6 -5
  10. package/dist/Banner.js.map +1 -1
  11. package/dist/Button.js +15 -11
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Callout.js +45 -7
  14. package/dist/Callout.js.map +1 -1
  15. package/dist/{Tile.js → Card.js} +43 -28
  16. package/dist/Card.js.map +1 -0
  17. package/dist/DataTable/DataTable.js +68 -40
  18. package/dist/DataTable/DataTable.js.map +1 -1
  19. package/dist/DataTable/DataTableRowActions.js.map +1 -1
  20. package/dist/DataTable/constants.js +0 -1
  21. package/dist/DataTable/constants.js.map +1 -1
  22. package/dist/DataTable/index.js +0 -1
  23. package/dist/DataTable/index.js.map +1 -1
  24. package/dist/Dialog.js +9 -3
  25. package/dist/Dialog.js.map +1 -1
  26. package/dist/{labs/Drawer.js → Drawer.js} +5 -5
  27. package/dist/Drawer.js.map +1 -0
  28. package/dist/{DataTable/DataTableEmptyState.js → EmptyState.js} +17 -15
  29. package/dist/EmptyState.js.map +1 -0
  30. package/dist/ErrorMessageList.js +1 -1
  31. package/dist/ErrorMessageList.js.map +1 -1
  32. package/dist/FieldError.js +3 -2
  33. package/dist/FieldError.js.map +1 -1
  34. package/dist/HtmlProps.js.map +1 -1
  35. package/dist/MenuItem.js +1 -0
  36. package/dist/MenuItem.js.map +1 -1
  37. package/dist/OdysseyCacheProvider.js +5 -2
  38. package/dist/OdysseyCacheProvider.js.map +1 -1
  39. package/dist/OdysseyProvider.js +1 -1
  40. package/dist/OdysseyProvider.js.map +1 -1
  41. package/dist/OdysseyTranslationProvider.js +1 -6
  42. package/dist/OdysseyTranslationProvider.js.map +1 -1
  43. package/dist/{DataTable/DataTablePagination.js → Pagination/Pagination.js} +56 -59
  44. package/dist/Pagination/Pagination.js.map +1 -0
  45. package/dist/Pagination/constants.js +14 -0
  46. package/dist/Pagination/constants.js.map +1 -0
  47. package/dist/Pagination/index.js +15 -0
  48. package/dist/Pagination/index.js.map +1 -0
  49. package/dist/Pagination/usePagination.js +51 -0
  50. package/dist/Pagination/usePagination.js.map +1 -0
  51. package/dist/Radio.js +17 -5
  52. package/dist/Radio.js.map +1 -1
  53. package/dist/ScreenReaderText.js +4 -0
  54. package/dist/ScreenReaderText.js.map +1 -1
  55. package/dist/Select.js +33 -42
  56. package/dist/Select.js.map +1 -1
  57. package/dist/Status.js +5 -3
  58. package/dist/Status.js.map +1 -1
  59. package/dist/Surface.js +38 -0
  60. package/dist/Surface.js.map +1 -0
  61. package/dist/Tabs.js +22 -0
  62. package/dist/Tabs.js.map +1 -1
  63. package/dist/TextField.js +48 -0
  64. package/dist/TextField.js.map +1 -1
  65. package/dist/Toast.js +37 -34
  66. package/dist/Toast.js.map +1 -1
  67. package/dist/assertEnv.d.ts +18 -0
  68. package/dist/assertEnv.d.ts.map +1 -0
  69. package/dist/assertEnv.js +32 -0
  70. package/dist/icons.generated/Add.js +1 -1
  71. package/dist/icons.generated/Add.js.map +1 -1
  72. package/dist/icons.generated/AddCircle.js +1 -1
  73. package/dist/icons.generated/AddCircle.js.map +1 -1
  74. package/dist/icons.generated/Apps.js +1 -1
  75. package/dist/icons.generated/Apps.js.map +1 -1
  76. package/dist/icons.generated/ArrowBottom.js +2 -2
  77. package/dist/icons.generated/ArrowBottom.js.map +1 -1
  78. package/dist/icons.generated/ArrowDown.js +1 -1
  79. package/dist/icons.generated/ArrowDown.js.map +1 -1
  80. package/dist/icons.generated/ArrowLeft.js +1 -1
  81. package/dist/icons.generated/ArrowLeft.js.map +1 -1
  82. package/dist/icons.generated/ArrowLowerLeft.js +1 -1
  83. package/dist/icons.generated/ArrowLowerLeft.js.map +1 -1
  84. package/dist/icons.generated/ArrowLowerRight.js +1 -1
  85. package/dist/icons.generated/ArrowLowerRight.js.map +1 -1
  86. package/dist/icons.generated/ArrowRight.js +1 -1
  87. package/dist/icons.generated/ArrowRight.js.map +1 -1
  88. package/dist/icons.generated/ArrowTop.js +2 -2
  89. package/dist/icons.generated/ArrowTop.js.map +1 -1
  90. package/dist/icons.generated/ArrowUnsorted.js +1 -1
  91. package/dist/icons.generated/ArrowUnsorted.js.map +1 -1
  92. package/dist/icons.generated/ArrowUp.js +1 -1
  93. package/dist/icons.generated/ArrowUp.js.map +1 -1
  94. package/dist/icons.generated/ArrowUpperLeft.js +1 -1
  95. package/dist/icons.generated/ArrowUpperLeft.js.map +1 -1
  96. package/dist/icons.generated/ArrowUpperRight.js +1 -1
  97. package/dist/icons.generated/ArrowUpperRight.js.map +1 -1
  98. package/dist/icons.generated/Bug.js +1 -1
  99. package/dist/icons.generated/Bug.js.map +1 -1
  100. package/dist/icons.generated/Calendar.js +1 -1
  101. package/dist/icons.generated/Calendar.js.map +1 -1
  102. package/dist/icons.generated/Call.js +1 -1
  103. package/dist/icons.generated/Call.js.map +1 -1
  104. package/dist/icons.generated/Chat.js +1 -1
  105. package/dist/icons.generated/Chat.js.map +1 -1
  106. package/dist/icons.generated/Check.js +1 -1
  107. package/dist/icons.generated/Check.js.map +1 -1
  108. package/dist/icons.generated/CheckCircleFilled.js +1 -1
  109. package/dist/icons.generated/CheckCircleFilled.js.map +1 -1
  110. package/dist/icons.generated/ChevronDown.js +1 -1
  111. package/dist/icons.generated/ChevronDown.js.map +1 -1
  112. package/dist/icons.generated/ChevronLeft.js +1 -1
  113. package/dist/icons.generated/ChevronLeft.js.map +1 -1
  114. package/dist/icons.generated/ChevronRight.js +1 -1
  115. package/dist/icons.generated/ChevronRight.js.map +1 -1
  116. package/dist/icons.generated/ChevronUp.js +1 -1
  117. package/dist/icons.generated/ChevronUp.js.map +1 -1
  118. package/dist/icons.generated/Clock.js +1 -1
  119. package/dist/icons.generated/Clock.js.map +1 -1
  120. package/dist/icons.generated/Close.js +1 -1
  121. package/dist/icons.generated/Close.js.map +1 -1
  122. package/dist/icons.generated/CloseCircleFilled.js +1 -1
  123. package/dist/icons.generated/CloseCircleFilled.js.map +1 -1
  124. package/dist/icons.generated/CollapseLeft.js +1 -1
  125. package/dist/icons.generated/CollapseLeft.js.map +1 -1
  126. package/dist/icons.generated/CollapseRight.js +1 -1
  127. package/dist/icons.generated/CollapseRight.js.map +1 -1
  128. package/dist/icons.generated/Copy.js +1 -1
  129. package/dist/icons.generated/Copy.js.map +1 -1
  130. package/dist/icons.generated/Custom.js +39 -0
  131. package/dist/icons.generated/Custom.js.map +1 -0
  132. package/dist/icons.generated/DangerDiamond.js +1 -1
  133. package/dist/icons.generated/DangerDiamond.js.map +1 -1
  134. package/dist/icons.generated/DangerDiamondFilled.js +1 -1
  135. package/dist/icons.generated/DangerDiamondFilled.js.map +1 -1
  136. package/dist/icons.generated/Delete.js +1 -1
  137. package/dist/icons.generated/Delete.js.map +1 -1
  138. package/dist/icons.generated/Deny.js +1 -1
  139. package/dist/icons.generated/Deny.js.map +1 -1
  140. package/dist/icons.generated/Devices.js +1 -1
  141. package/dist/icons.generated/Devices.js.map +1 -1
  142. package/dist/icons.generated/Directory.js +1 -1
  143. package/dist/icons.generated/Directory.js.map +1 -1
  144. package/dist/icons.generated/Documentation.js +1 -1
  145. package/dist/icons.generated/Documentation.js.map +1 -1
  146. package/dist/icons.generated/Download.js +1 -1
  147. package/dist/icons.generated/Download.js.map +1 -1
  148. package/dist/icons.generated/DragIndicator.js +1 -1
  149. package/dist/icons.generated/DragIndicator.js.map +1 -1
  150. package/dist/icons.generated/Duo.js +47 -0
  151. package/dist/icons.generated/Duo.js.map +1 -0
  152. package/dist/icons.generated/Edit.js +1 -1
  153. package/dist/icons.generated/Edit.js.map +1 -1
  154. package/dist/icons.generated/Email.js +38 -0
  155. package/dist/icons.generated/Email.js.map +1 -0
  156. package/dist/icons.generated/ExpandLeft.js +1 -1
  157. package/dist/icons.generated/ExpandLeft.js.map +1 -1
  158. package/dist/icons.generated/ExpandRight.js +1 -1
  159. package/dist/icons.generated/ExpandRight.js.map +1 -1
  160. package/dist/icons.generated/ExternalLink.js +1 -1
  161. package/dist/icons.generated/ExternalLink.js.map +1 -1
  162. package/dist/icons.generated/Fido2.js +57 -0
  163. package/dist/icons.generated/Fido2.js.map +1 -0
  164. package/dist/icons.generated/Filter.js +1 -1
  165. package/dist/icons.generated/Filter.js.map +1 -1
  166. package/dist/icons.generated/Folder.js +1 -1
  167. package/dist/icons.generated/Folder.js.map +1 -1
  168. package/dist/icons.generated/Globe.js +1 -1
  169. package/dist/icons.generated/Globe.js.map +1 -1
  170. package/dist/icons.generated/GoogleAuth.js +54 -0
  171. package/dist/icons.generated/GoogleAuth.js.map +1 -0
  172. package/dist/icons.generated/Grid.js +1 -1
  173. package/dist/icons.generated/Grid.js.map +1 -1
  174. package/dist/icons.generated/Group.js +1 -1
  175. package/dist/icons.generated/Group.js.map +1 -1
  176. package/dist/icons.generated/Hide.js +1 -1
  177. package/dist/icons.generated/Hide.js.map +1 -1
  178. package/dist/icons.generated/Home.js +1 -1
  179. package/dist/icons.generated/Home.js.map +1 -1
  180. package/dist/icons.generated/Idp.js +42 -0
  181. package/dist/icons.generated/Idp.js.map +1 -0
  182. package/dist/icons.generated/InformationCircle.js +1 -1
  183. package/dist/icons.generated/InformationCircle.js.map +1 -1
  184. package/dist/icons.generated/InformationCircleFilled.js +1 -1
  185. package/dist/icons.generated/InformationCircleFilled.js.map +1 -1
  186. package/dist/icons.generated/Link.js +1 -1
  187. package/dist/icons.generated/Link.js.map +1 -1
  188. package/dist/icons.generated/List.js +1 -1
  189. package/dist/icons.generated/List.js.map +1 -1
  190. package/dist/icons.generated/Lock.js +1 -1
  191. package/dist/icons.generated/Lock.js.map +1 -1
  192. package/dist/icons.generated/More.js +1 -1
  193. package/dist/icons.generated/More.js.map +1 -1
  194. package/dist/icons.generated/Notification.js +1 -1
  195. package/dist/icons.generated/Notification.js.map +1 -1
  196. package/dist/icons.generated/OktaVerify.js +33 -0
  197. package/dist/icons.generated/OktaVerify.js.map +1 -0
  198. package/dist/icons.generated/OnPremMfa.js +39 -0
  199. package/dist/icons.generated/OnPremMfa.js.map +1 -0
  200. package/dist/icons.generated/OneTimePassword.js +49 -0
  201. package/dist/icons.generated/OneTimePassword.js.map +1 -0
  202. package/dist/icons.generated/Password.js +61 -0
  203. package/dist/icons.generated/Password.js.map +1 -0
  204. package/dist/icons.generated/Pause.js +1 -1
  205. package/dist/icons.generated/Pause.js.map +1 -1
  206. package/dist/icons.generated/QuestionCircle.js +1 -1
  207. package/dist/icons.generated/QuestionCircle.js.map +1 -1
  208. package/dist/icons.generated/QuestionCircleFilled.js +1 -1
  209. package/dist/icons.generated/QuestionCircleFilled.js.map +1 -1
  210. package/dist/icons.generated/Refresh.js +1 -1
  211. package/dist/icons.generated/Refresh.js.map +1 -1
  212. package/dist/icons.generated/Reset.js +1 -1
  213. package/dist/icons.generated/Reset.js.map +1 -1
  214. package/dist/icons.generated/Resume.js +1 -1
  215. package/dist/icons.generated/Resume.js.map +1 -1
  216. package/dist/icons.generated/Search.js +1 -1
  217. package/dist/icons.generated/Search.js.map +1 -1
  218. package/dist/icons.generated/SecurityQuestion.js +41 -0
  219. package/dist/icons.generated/SecurityQuestion.js.map +1 -0
  220. package/dist/icons.generated/Server.js +1 -1
  221. package/dist/icons.generated/Server.js.map +1 -1
  222. package/dist/icons.generated/Settings.js +1 -1
  223. package/dist/icons.generated/Settings.js.map +1 -1
  224. package/dist/icons.generated/Show.js +1 -1
  225. package/dist/icons.generated/Show.js.map +1 -1
  226. package/dist/icons.generated/SmartCard.js +49 -0
  227. package/dist/icons.generated/SmartCard.js.map +1 -0
  228. package/dist/icons.generated/Sms.js +49 -0
  229. package/dist/icons.generated/Sms.js.map +1 -0
  230. package/dist/icons.generated/Subtract.js +1 -1
  231. package/dist/icons.generated/Subtract.js.map +1 -1
  232. package/dist/icons.generated/SymantecVip.js +38 -0
  233. package/dist/icons.generated/SymantecVip.js.map +1 -0
  234. package/dist/icons.generated/Sync.js +1 -1
  235. package/dist/icons.generated/Sync.js.map +1 -1
  236. package/dist/icons.generated/ThumbsDown.js +33 -0
  237. package/dist/icons.generated/ThumbsDown.js.map +1 -0
  238. package/dist/icons.generated/ThumbsUp.js +33 -0
  239. package/dist/icons.generated/ThumbsUp.js.map +1 -0
  240. package/dist/icons.generated/Unlock.js +1 -1
  241. package/dist/icons.generated/Unlock.js.map +1 -1
  242. package/dist/icons.generated/Upload.js +1 -1
  243. package/dist/icons.generated/Upload.js.map +1 -1
  244. package/dist/icons.generated/User.js +1 -1
  245. package/dist/icons.generated/User.js.map +1 -1
  246. package/dist/icons.generated/Video.js +1 -1
  247. package/dist/icons.generated/Video.js.map +1 -1
  248. package/dist/icons.generated/VoiceCall.js +54 -0
  249. package/dist/icons.generated/VoiceCall.js.map +1 -0
  250. package/dist/icons.generated/Warning.js +1 -1
  251. package/dist/icons.generated/Warning.js.map +1 -1
  252. package/dist/icons.generated/WarningFilled.js +1 -1
  253. package/dist/icons.generated/WarningFilled.js.map +1 -1
  254. package/dist/icons.generated/Yubikey.js +31 -0
  255. package/dist/icons.generated/Yubikey.js.map +1 -0
  256. package/dist/icons.generated/index.js +18 -0
  257. package/dist/icons.generated/index.js.map +1 -1
  258. package/dist/index.d.ts +24 -0
  259. package/dist/index.d.ts.map +1 -0
  260. package/dist/index.js +7 -2
  261. package/dist/index.js.map +1 -1
  262. package/dist/index.scss +457 -0
  263. package/dist/labs/DataComponents/BulkActionsMenu.js +77 -0
  264. package/dist/labs/DataComponents/BulkActionsMenu.js.map +1 -0
  265. package/dist/labs/DataComponents/DataStack.js +79 -0
  266. package/dist/labs/DataComponents/DataStack.js.map +1 -0
  267. package/dist/labs/DataComponents/DataTable.js +90 -0
  268. package/dist/labs/DataComponents/DataTable.js.map +1 -0
  269. package/dist/labs/DataComponents/DataView.js +278 -0
  270. package/dist/labs/DataComponents/DataView.js.map +1 -0
  271. package/dist/{src/DataTable/DataTableEmptyState.d.ts → labs/DataComponents/DetailPanel.js} +14 -9
  272. package/dist/labs/DataComponents/DetailPanel.js.map +1 -0
  273. package/dist/labs/DataComponents/LayoutSwitcher.js +53 -0
  274. package/dist/labs/DataComponents/LayoutSwitcher.js.map +1 -0
  275. package/dist/labs/DataComponents/RowActions.js +80 -0
  276. package/dist/labs/DataComponents/RowActions.js.map +1 -0
  277. package/dist/labs/DataComponents/StackCard.js +163 -0
  278. package/dist/labs/DataComponents/StackCard.js.map +1 -0
  279. package/dist/labs/DataComponents/StackContent.js +143 -0
  280. package/dist/labs/DataComponents/StackContent.js.map +1 -0
  281. package/dist/labs/DataComponents/TableContent.js +248 -0
  282. package/dist/labs/DataComponents/TableContent.js.map +1 -0
  283. package/dist/labs/DataComponents/TableSettings.js +96 -0
  284. package/dist/labs/DataComponents/TableSettings.js.map +1 -0
  285. package/dist/labs/DataComponents/componentTypes.js +2 -0
  286. package/dist/labs/DataComponents/componentTypes.js.map +1 -0
  287. package/dist/labs/DataComponents/constants.js +17 -0
  288. package/dist/labs/DataComponents/constants.js.map +1 -0
  289. package/dist/labs/DataComponents/dataTypes.js +2 -0
  290. package/dist/labs/DataComponents/dataTypes.js.map +1 -0
  291. package/dist/labs/DataComponents/fetchData.js +33 -0
  292. package/dist/labs/DataComponents/fetchData.js.map +1 -0
  293. package/dist/labs/DataComponents/index.js +18 -0
  294. package/dist/labs/DataComponents/index.js.map +1 -0
  295. package/dist/labs/DataComponents/tableConstants.js +146 -0
  296. package/dist/labs/DataComponents/tableConstants.js.map +1 -0
  297. package/dist/labs/DataComponents/useFilterConversion.js +58 -0
  298. package/dist/labs/DataComponents/useFilterConversion.js.map +1 -0
  299. package/dist/labs/DataFilters.js +139 -82
  300. package/dist/labs/DataFilters.js.map +1 -1
  301. package/dist/labs/DateField.js +77 -0
  302. package/dist/labs/DateField.js.map +1 -0
  303. package/dist/labs/DatePicker.js +186 -23
  304. package/dist/labs/DatePicker.js.map +1 -1
  305. package/dist/labs/{DatePicker.types.js → DatePicker.types.d.js} +1 -1
  306. package/dist/labs/DatePicker.types.d.js.map +1 -0
  307. package/dist/labs/FileUpload.js +28 -25
  308. package/dist/labs/FileUpload.js.map +1 -1
  309. package/dist/labs/FileUploadIllustration.js +1 -1
  310. package/dist/labs/FileUploadIllustration.js.map +1 -1
  311. package/dist/labs/FileUploadPreview.js +1 -0
  312. package/dist/labs/FileUploadPreview.js.map +1 -1
  313. package/dist/labs/Layout.js +49 -0
  314. package/dist/labs/Layout.js.map +1 -0
  315. package/dist/labs/NavAccordion.js +80 -0
  316. package/dist/labs/NavAccordion.js.map +1 -0
  317. package/dist/labs/PageTemplate.js +140 -0
  318. package/dist/labs/PageTemplate.js.map +1 -0
  319. package/dist/labs/SideNav.js +478 -0
  320. package/dist/labs/SideNav.js.map +1 -0
  321. package/dist/labs/Switch.js +186 -77
  322. package/dist/labs/Switch.js.map +1 -1
  323. package/dist/labs/datePickerTheme.js +138 -80
  324. package/dist/labs/datePickerTheme.js.map +1 -1
  325. package/dist/labs/index.js +5 -1
  326. package/dist/labs/index.js.map +1 -1
  327. package/dist/labs/useDatePickerTranslations.js +71 -0
  328. package/dist/labs/useDatePickerTranslations.js.map +1 -0
  329. package/dist/preset.d.ts +23 -0
  330. package/dist/preset.d.ts.map +1 -0
  331. package/dist/preset.js +35 -0
  332. package/dist/properties/ts/odyssey-react-mui.js +68 -10
  333. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  334. package/dist/properties/ts/odyssey-react-mui_cs.js +77 -2
  335. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  336. package/dist/properties/ts/odyssey-react-mui_da.js +77 -2
  337. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  338. package/dist/properties/ts/odyssey-react-mui_de.js +77 -2
  339. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  340. package/dist/properties/ts/odyssey-react-mui_el.js +77 -2
  341. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  342. package/dist/properties/ts/odyssey-react-mui_es.js +77 -2
  343. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  344. package/dist/properties/ts/odyssey-react-mui_fi.js +77 -2
  345. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  346. package/dist/properties/ts/odyssey-react-mui_fr.js +77 -2
  347. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  348. package/dist/properties/ts/odyssey-react-mui_ht.js +98 -0
  349. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -0
  350. package/dist/properties/ts/odyssey-react-mui_hu.js +77 -2
  351. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  352. package/dist/properties/ts/odyssey-react-mui_id.js +77 -2
  353. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  354. package/dist/properties/ts/odyssey-react-mui_it.js +77 -2
  355. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  356. package/dist/properties/ts/odyssey-react-mui_ja.js +77 -2
  357. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  358. package/dist/properties/ts/odyssey-react-mui_ko.js +77 -2
  359. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  360. package/dist/properties/ts/odyssey-react-mui_ms.js +77 -2
  361. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  362. package/dist/properties/ts/odyssey-react-mui_nb.js +77 -2
  363. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  364. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +77 -2
  365. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  366. package/dist/properties/ts/odyssey-react-mui_ok_PL.js +34 -3
  367. package/dist/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
  368. package/dist/properties/ts/odyssey-react-mui_ok_SK.js +34 -3
  369. package/dist/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
  370. package/dist/properties/ts/odyssey-react-mui_pl.js +77 -2
  371. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  372. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +77 -2
  373. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  374. package/dist/properties/ts/odyssey-react-mui_ro.js +77 -2
  375. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  376. package/dist/properties/ts/odyssey-react-mui_ru.js +77 -2
  377. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  378. package/dist/properties/ts/odyssey-react-mui_sv.js +77 -2
  379. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  380. package/dist/properties/ts/odyssey-react-mui_th.js +77 -2
  381. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  382. package/dist/properties/ts/odyssey-react-mui_tr.js +77 -2
  383. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  384. package/dist/properties/ts/odyssey-react-mui_uk.js +77 -2
  385. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  386. package/dist/properties/ts/odyssey-react-mui_vi.js +77 -2
  387. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  388. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +77 -2
  389. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  390. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +77 -2
  391. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  392. package/dist/remUtils.js +14 -0
  393. package/dist/remUtils.js.map +1 -0
  394. package/dist/scripts/generateTestSelectorsJson.d.ts +13 -0
  395. package/dist/scripts/generateTestSelectorsJson.d.ts.map +1 -0
  396. package/dist/src/Accordion.d.ts +1 -1
  397. package/dist/src/Accordion.d.ts.map +1 -1
  398. package/dist/src/Autocomplete.d.ts +7 -1
  399. package/dist/src/Autocomplete.d.ts.map +1 -1
  400. package/dist/src/Badge.d.ts +2 -2
  401. package/dist/src/Badge.d.ts.map +1 -1
  402. package/dist/src/Banner.d.ts.map +1 -1
  403. package/dist/src/Button.d.ts +10 -6
  404. package/dist/src/Button.d.ts.map +1 -1
  405. package/dist/src/Callout.d.ts +38 -2
  406. package/dist/src/Callout.d.ts.map +1 -1
  407. package/dist/src/{Tile.d.ts → Card.d.ts} +6 -27
  408. package/dist/src/Card.d.ts.map +1 -0
  409. package/dist/src/DataTable/DataTable.d.ts +70 -50
  410. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  411. package/dist/src/DataTable/DataTableRowActions.d.ts +1 -1
  412. package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
  413. package/dist/src/DataTable/constants.d.ts +0 -1
  414. package/dist/src/DataTable/constants.d.ts.map +1 -1
  415. package/dist/src/DataTable/index.d.ts +2 -3
  416. package/dist/src/DataTable/index.d.ts.map +1 -1
  417. package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
  418. package/dist/src/DataTable/useRowReordering.d.ts +3 -3
  419. package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
  420. package/dist/src/Dialog.d.ts +19 -7
  421. package/dist/src/Dialog.d.ts.map +1 -1
  422. package/dist/src/{labs/Drawer.d.ts → Drawer.d.ts} +3 -3
  423. package/dist/src/Drawer.d.ts.map +1 -0
  424. package/dist/src/EmptyState.d.ts +34 -0
  425. package/dist/src/EmptyState.d.ts.map +1 -0
  426. package/dist/src/ErrorMessageList.d.ts.map +1 -1
  427. package/dist/src/FieldError.d.ts.map +1 -1
  428. package/dist/src/HtmlProps.d.ts +1 -0
  429. package/dist/src/HtmlProps.d.ts.map +1 -1
  430. package/dist/src/MenuItem.d.ts.map +1 -1
  431. package/dist/src/OdysseyCacheProvider.d.ts +6 -2
  432. package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
  433. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  434. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  435. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  436. package/dist/src/Pagination/Pagination.d.ts +70 -0
  437. package/dist/src/Pagination/Pagination.d.ts.map +1 -0
  438. package/dist/src/Pagination/constants.d.ts +13 -0
  439. package/dist/src/Pagination/constants.d.ts.map +1 -0
  440. package/dist/src/Pagination/index.d.ts +15 -0
  441. package/dist/src/Pagination/index.d.ts.map +1 -0
  442. package/dist/src/Pagination/usePagination.d.ts +23 -0
  443. package/dist/src/Pagination/usePagination.d.ts.map +1 -0
  444. package/dist/src/Radio.d.ts +2 -2
  445. package/dist/src/Radio.d.ts.map +1 -1
  446. package/dist/src/ScreenReaderText.d.ts +3 -2
  447. package/dist/src/ScreenReaderText.d.ts.map +1 -1
  448. package/dist/src/Select.d.ts.map +1 -1
  449. package/dist/src/Status.d.ts +7 -2
  450. package/dist/src/Status.d.ts.map +1 -1
  451. package/dist/src/{labs/DatePicker.types.d.ts → Surface.d.ts} +7 -8
  452. package/dist/src/Surface.d.ts.map +1 -0
  453. package/dist/src/Tabs.d.ts +22 -0
  454. package/dist/src/Tabs.d.ts.map +1 -1
  455. package/dist/src/TextField.d.ts +48 -0
  456. package/dist/src/TextField.d.ts.map +1 -1
  457. package/dist/src/Toast.d.ts.map +1 -1
  458. package/dist/src/icons.generated/Add.d.ts +1 -1
  459. package/dist/src/icons.generated/AddCircle.d.ts +1 -1
  460. package/dist/src/icons.generated/Apps.d.ts +1 -1
  461. package/dist/src/icons.generated/ArrowBottom.d.ts +1 -1
  462. package/dist/src/icons.generated/ArrowDown.d.ts +1 -1
  463. package/dist/src/icons.generated/ArrowLeft.d.ts +1 -1
  464. package/dist/src/icons.generated/ArrowLowerLeft.d.ts +1 -1
  465. package/dist/src/icons.generated/ArrowLowerRight.d.ts +1 -1
  466. package/dist/src/icons.generated/ArrowRight.d.ts +1 -1
  467. package/dist/src/icons.generated/ArrowTop.d.ts +1 -1
  468. package/dist/src/icons.generated/ArrowUnsorted.d.ts +1 -1
  469. package/dist/src/icons.generated/ArrowUp.d.ts +1 -1
  470. package/dist/src/icons.generated/ArrowUpperLeft.d.ts +1 -1
  471. package/dist/src/icons.generated/ArrowUpperRight.d.ts +1 -1
  472. package/dist/src/icons.generated/Bug.d.ts +1 -1
  473. package/dist/src/icons.generated/Calendar.d.ts +1 -1
  474. package/dist/src/icons.generated/Call.d.ts +1 -1
  475. package/dist/src/icons.generated/Chat.d.ts +1 -1
  476. package/dist/src/icons.generated/Check.d.ts +1 -1
  477. package/dist/src/icons.generated/CheckCircleFilled.d.ts +1 -1
  478. package/dist/src/icons.generated/ChevronDown.d.ts +1 -1
  479. package/dist/src/icons.generated/ChevronLeft.d.ts +1 -1
  480. package/dist/src/icons.generated/ChevronRight.d.ts +1 -1
  481. package/dist/src/icons.generated/ChevronUp.d.ts +1 -1
  482. package/dist/src/icons.generated/Clock.d.ts +1 -1
  483. package/dist/src/icons.generated/Close.d.ts +1 -1
  484. package/dist/src/icons.generated/CloseCircleFilled.d.ts +1 -1
  485. package/dist/src/icons.generated/CollapseLeft.d.ts +1 -1
  486. package/dist/src/icons.generated/CollapseRight.d.ts +1 -1
  487. package/dist/src/icons.generated/Copy.d.ts +1 -1
  488. package/dist/src/icons.generated/Custom.d.ts +16 -0
  489. package/dist/src/icons.generated/Custom.d.ts.map +1 -0
  490. package/dist/src/icons.generated/DangerDiamond.d.ts +1 -1
  491. package/dist/src/icons.generated/DangerDiamondFilled.d.ts +1 -1
  492. package/dist/src/icons.generated/Delete.d.ts +1 -1
  493. package/dist/src/icons.generated/Deny.d.ts +1 -1
  494. package/dist/src/icons.generated/Devices.d.ts +1 -1
  495. package/dist/src/icons.generated/Directory.d.ts +1 -1
  496. package/dist/src/icons.generated/Documentation.d.ts +1 -1
  497. package/dist/src/icons.generated/Download.d.ts +1 -1
  498. package/dist/src/icons.generated/DragIndicator.d.ts +1 -1
  499. package/dist/src/icons.generated/Duo.d.ts +16 -0
  500. package/dist/src/icons.generated/Duo.d.ts.map +1 -0
  501. package/dist/src/icons.generated/Edit.d.ts +1 -1
  502. package/dist/src/icons.generated/Email.d.ts +16 -0
  503. package/dist/src/icons.generated/Email.d.ts.map +1 -0
  504. package/dist/src/icons.generated/ExpandLeft.d.ts +1 -1
  505. package/dist/src/icons.generated/ExpandRight.d.ts +1 -1
  506. package/dist/src/icons.generated/ExternalLink.d.ts +1 -1
  507. package/dist/src/icons.generated/Fido2.d.ts +16 -0
  508. package/dist/src/icons.generated/Fido2.d.ts.map +1 -0
  509. package/dist/src/icons.generated/Filter.d.ts +1 -1
  510. package/dist/src/icons.generated/Folder.d.ts +1 -1
  511. package/dist/src/icons.generated/Globe.d.ts +1 -1
  512. package/dist/src/icons.generated/GoogleAuth.d.ts +16 -0
  513. package/dist/src/icons.generated/GoogleAuth.d.ts.map +1 -0
  514. package/dist/src/icons.generated/Grid.d.ts +1 -1
  515. package/dist/src/icons.generated/Group.d.ts +1 -1
  516. package/dist/src/icons.generated/Hide.d.ts +1 -1
  517. package/dist/src/icons.generated/Home.d.ts +1 -1
  518. package/dist/src/icons.generated/Idp.d.ts +16 -0
  519. package/dist/src/icons.generated/Idp.d.ts.map +1 -0
  520. package/dist/src/icons.generated/InformationCircle.d.ts +1 -1
  521. package/dist/src/icons.generated/InformationCircleFilled.d.ts +1 -1
  522. package/dist/src/icons.generated/Link.d.ts +1 -1
  523. package/dist/src/icons.generated/List.d.ts +1 -1
  524. package/dist/src/icons.generated/Lock.d.ts +1 -1
  525. package/dist/src/icons.generated/More.d.ts +1 -1
  526. package/dist/src/icons.generated/Notification.d.ts +1 -1
  527. package/dist/src/icons.generated/OktaVerify.d.ts +16 -0
  528. package/dist/src/icons.generated/OktaVerify.d.ts.map +1 -0
  529. package/dist/src/icons.generated/OnPremMfa.d.ts +16 -0
  530. package/dist/src/icons.generated/OnPremMfa.d.ts.map +1 -0
  531. package/dist/src/icons.generated/OneTimePassword.d.ts +16 -0
  532. package/dist/src/icons.generated/OneTimePassword.d.ts.map +1 -0
  533. package/dist/src/icons.generated/Password.d.ts +16 -0
  534. package/dist/src/icons.generated/Password.d.ts.map +1 -0
  535. package/dist/src/icons.generated/Pause.d.ts +1 -1
  536. package/dist/src/icons.generated/QuestionCircle.d.ts +1 -1
  537. package/dist/src/icons.generated/QuestionCircleFilled.d.ts +1 -1
  538. package/dist/src/icons.generated/Refresh.d.ts +1 -1
  539. package/dist/src/icons.generated/Reset.d.ts +1 -1
  540. package/dist/src/icons.generated/Resume.d.ts +1 -1
  541. package/dist/src/icons.generated/Search.d.ts +1 -1
  542. package/dist/src/icons.generated/SecurityQuestion.d.ts +16 -0
  543. package/dist/src/icons.generated/SecurityQuestion.d.ts.map +1 -0
  544. package/dist/src/icons.generated/Server.d.ts +1 -1
  545. package/dist/src/icons.generated/Settings.d.ts +1 -1
  546. package/dist/src/icons.generated/Show.d.ts +1 -1
  547. package/dist/src/icons.generated/SmartCard.d.ts +16 -0
  548. package/dist/src/icons.generated/SmartCard.d.ts.map +1 -0
  549. package/dist/src/icons.generated/Sms.d.ts +16 -0
  550. package/dist/src/icons.generated/Sms.d.ts.map +1 -0
  551. package/dist/src/icons.generated/Subtract.d.ts +1 -1
  552. package/dist/src/icons.generated/SymantecVip.d.ts +16 -0
  553. package/dist/src/icons.generated/SymantecVip.d.ts.map +1 -0
  554. package/dist/src/icons.generated/Sync.d.ts +1 -1
  555. package/dist/src/icons.generated/ThumbsDown.d.ts +16 -0
  556. package/dist/src/icons.generated/ThumbsDown.d.ts.map +1 -0
  557. package/dist/src/icons.generated/ThumbsUp.d.ts +16 -0
  558. package/dist/src/icons.generated/ThumbsUp.d.ts.map +1 -0
  559. package/dist/src/icons.generated/Unlock.d.ts +1 -1
  560. package/dist/src/icons.generated/Upload.d.ts +1 -1
  561. package/dist/src/icons.generated/User.d.ts +1 -1
  562. package/dist/src/icons.generated/Video.d.ts +1 -1
  563. package/dist/src/icons.generated/VoiceCall.d.ts +16 -0
  564. package/dist/src/icons.generated/VoiceCall.d.ts.map +1 -0
  565. package/dist/src/icons.generated/Warning.d.ts +1 -1
  566. package/dist/src/icons.generated/WarningFilled.d.ts +1 -1
  567. package/dist/src/icons.generated/Yubikey.d.ts +16 -0
  568. package/dist/src/icons.generated/Yubikey.d.ts.map +1 -0
  569. package/dist/src/icons.generated/index.d.ts +18 -0
  570. package/dist/src/icons.generated/index.d.ts.map +1 -1
  571. package/dist/src/index.d.ts +7 -2
  572. package/dist/src/index.d.ts.map +1 -1
  573. package/dist/src/inputUtils.d.ts.map +1 -1
  574. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts +23 -0
  575. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +1 -0
  576. package/dist/src/labs/DataComponents/DataStack.d.ts +21 -0
  577. package/dist/src/labs/DataComponents/DataStack.d.ts.map +1 -0
  578. package/dist/src/labs/DataComponents/DataTable.d.ts +17 -0
  579. package/dist/src/labs/DataComponents/DataTable.d.ts.map +1 -0
  580. package/dist/src/labs/DataComponents/DataView.d.ts +17 -0
  581. package/dist/src/labs/DataComponents/DataView.d.ts.map +1 -0
  582. package/dist/src/labs/DataComponents/DetailPanel.d.ts +20 -0
  583. package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +1 -0
  584. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts +21 -0
  585. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +1 -0
  586. package/dist/src/labs/DataComponents/RowActions.d.ts +31 -0
  587. package/dist/src/labs/DataComponents/RowActions.d.ts.map +1 -0
  588. package/dist/src/labs/DataComponents/StackCard.d.ts +36 -0
  589. package/dist/src/labs/DataComponents/StackCard.d.ts.map +1 -0
  590. package/dist/src/labs/DataComponents/StackContent.d.ts +64 -0
  591. package/dist/src/labs/DataComponents/StackContent.d.ts.map +1 -0
  592. package/dist/src/labs/DataComponents/TableContent.d.ts +66 -0
  593. package/dist/src/labs/DataComponents/TableContent.d.ts.map +1 -0
  594. package/dist/src/labs/DataComponents/TableSettings.d.ts +21 -0
  595. package/dist/src/labs/DataComponents/TableSettings.d.ts.map +1 -0
  596. package/dist/src/labs/DataComponents/componentTypes.d.ts +81 -0
  597. package/dist/src/labs/DataComponents/componentTypes.d.ts.map +1 -0
  598. package/dist/src/labs/DataComponents/constants.d.ts +16 -0
  599. package/dist/src/labs/DataComponents/constants.d.ts.map +1 -0
  600. package/dist/src/labs/DataComponents/dataTypes.d.ts +52 -0
  601. package/dist/src/labs/DataComponents/dataTypes.d.ts.map +1 -0
  602. package/dist/src/labs/DataComponents/fetchData.d.ts +26 -0
  603. package/dist/src/labs/DataComponents/fetchData.d.ts.map +1 -0
  604. package/dist/src/labs/DataComponents/index.d.ts +18 -0
  605. package/dist/src/labs/DataComponents/index.d.ts.map +1 -0
  606. package/dist/src/labs/DataComponents/tableConstants.d.ts +100 -0
  607. package/dist/src/labs/DataComponents/tableConstants.d.ts.map +1 -0
  608. package/dist/src/labs/DataComponents/useFilterConversion.d.ts +20 -0
  609. package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +1 -0
  610. package/dist/src/labs/DataFilters.d.ts +14 -7
  611. package/dist/src/labs/DataFilters.d.ts.map +1 -1
  612. package/dist/src/labs/DateField.d.ts +23 -0
  613. package/dist/src/labs/DateField.d.ts.map +1 -0
  614. package/dist/src/labs/DatePicker.d.ts +31 -8
  615. package/dist/src/labs/DatePicker.d.ts.map +1 -1
  616. package/dist/src/labs/FileUpload.d.ts +2 -2
  617. package/dist/src/labs/FileUpload.d.ts.map +1 -1
  618. package/dist/src/labs/FileUploadPreview.d.ts.map +1 -1
  619. package/dist/src/labs/GroupPicker.d.ts.map +1 -1
  620. package/dist/src/labs/Layout.d.ts +28 -0
  621. package/dist/src/labs/Layout.d.ts.map +1 -0
  622. package/dist/src/labs/NavAccordion.d.ts +52 -0
  623. package/dist/src/labs/NavAccordion.d.ts.map +1 -0
  624. package/dist/src/labs/PageTemplate.d.ts +57 -0
  625. package/dist/src/labs/PageTemplate.d.ts.map +1 -0
  626. package/dist/src/labs/PaginatedTable.d.ts.map +1 -1
  627. package/dist/src/labs/SideNav.d.ts +120 -0
  628. package/dist/src/labs/SideNav.d.ts.map +1 -0
  629. package/dist/src/labs/StaticTable.d.ts.map +1 -1
  630. package/dist/src/labs/Switch.d.ts +3 -7
  631. package/dist/src/labs/Switch.d.ts.map +1 -1
  632. package/dist/src/labs/datePickerTheme.d.ts.map +1 -1
  633. package/dist/src/labs/index.d.ts +5 -1
  634. package/dist/src/labs/index.d.ts.map +1 -1
  635. package/dist/src/labs/useDatePickerTranslations.d.ts +15 -0
  636. package/dist/src/labs/useDatePickerTranslations.d.ts.map +1 -0
  637. package/dist/src/properties/ts/odyssey-react-mui.d.ts +66 -8
  638. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  639. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +77 -2
  640. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  641. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +77 -2
  642. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  643. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +77 -2
  644. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  645. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +77 -2
  646. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  647. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +77 -2
  648. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  649. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +77 -2
  650. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  651. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +77 -2
  652. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  653. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +98 -0
  654. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -0
  655. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +77 -2
  656. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  657. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +77 -2
  658. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  659. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +77 -2
  660. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  661. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +77 -2
  662. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  663. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +77 -2
  664. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  665. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +77 -2
  666. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  667. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +77 -2
  668. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  669. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +77 -2
  670. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  671. package/dist/src/properties/ts/odyssey-react-mui_ok_PL.d.ts +33 -2
  672. package/dist/src/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
  673. package/dist/src/properties/ts/odyssey-react-mui_ok_SK.d.ts +33 -2
  674. package/dist/src/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
  675. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +77 -2
  676. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  677. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +77 -2
  678. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  679. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +77 -2
  680. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  681. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +77 -2
  682. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  683. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +77 -2
  684. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  685. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +77 -2
  686. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  687. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +77 -2
  688. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  689. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +77 -2
  690. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  691. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +77 -2
  692. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  693. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +77 -2
  694. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  695. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +77 -2
  696. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  697. package/dist/src/remUtils.d.ts +24 -0
  698. package/dist/src/remUtils.d.ts.map +1 -0
  699. package/dist/src/test-selectors/featureTestSelector.d.ts +31 -0
  700. package/dist/src/test-selectors/featureTestSelector.d.ts.map +1 -0
  701. package/dist/src/test-selectors/index.d.ts +15 -0
  702. package/dist/src/test-selectors/index.d.ts.map +1 -0
  703. package/dist/src/test-selectors/odysseyTestSelectors.d.ts +120 -0
  704. package/dist/src/test-selectors/odysseyTestSelectors.d.ts.map +1 -0
  705. package/dist/src/test-selectors/querySelector.d.ts +3632 -0
  706. package/dist/src/test-selectors/querySelector.d.ts.map +1 -0
  707. package/dist/src/theme/components.d.ts +1 -1
  708. package/dist/src/theme/components.d.ts.map +1 -1
  709. package/dist/src/theme/components.types.d.ts +5 -3
  710. package/dist/src/theme/components.types.d.ts.map +1 -1
  711. package/dist/src/theme/createOdysseyMuiTheme.d.ts +1 -1
  712. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  713. package/dist/src/theme/mixins.d.ts.map +1 -1
  714. package/dist/src/theme/palette.d.ts.map +1 -1
  715. package/dist/src/theme/shape.d.ts.map +1 -1
  716. package/dist/src/theme/spacing.d.ts.map +1 -1
  717. package/dist/src/theme/typography.d.ts.map +1 -1
  718. package/dist/test-selectors/featureTestSelector.js +2 -0
  719. package/dist/test-selectors/featureTestSelector.js.map +1 -0
  720. package/dist/test-selectors/index.js +15 -0
  721. package/dist/test-selectors/index.js.map +1 -0
  722. package/dist/test-selectors/odysseyTestSelectors.js +20 -0
  723. package/dist/test-selectors/odysseyTestSelectors.js.map +1 -0
  724. package/dist/test-selectors/querySelector.js +78 -0
  725. package/dist/test-selectors/querySelector.js.map +1 -0
  726. package/dist/test-selectors/testSelectors.json +1 -0
  727. package/dist/theme/components.js +261 -181
  728. package/dist/theme/components.js.map +1 -1
  729. package/dist/theme/components.types.js.map +1 -1
  730. package/dist/tsconfig.production.tsbuildinfo +1 -1
  731. package/dist/tsconfig.tsbuildinfo +1 -0
  732. package/i18n.config.json +3 -1
  733. package/package.json +13 -5
  734. package/scripts/generateTestSelectorsJson.ts +28 -0
  735. package/src/Accordion.tsx +3 -0
  736. package/src/Autocomplete.tsx +13 -0
  737. package/src/Badge.tsx +4 -3
  738. package/src/Banner.tsx +4 -4
  739. package/src/Button.tsx +30 -16
  740. package/src/Callout.tsx +59 -12
  741. package/src/{Tile.tsx → Card.tsx} +63 -57
  742. package/src/DataTable/DataTable.tsx +195 -108
  743. package/src/DataTable/DataTableRowActions.tsx +1 -1
  744. package/src/DataTable/constants.ts +0 -1
  745. package/src/DataTable/index.tsx +2 -2
  746. package/src/Dialog.tsx +38 -13
  747. package/src/{labs/Drawer.tsx → Drawer.tsx} +10 -9
  748. package/src/{DataTable/DataTableEmptyState.tsx → EmptyState.tsx} +34 -19
  749. package/src/ErrorMessageList.tsx +6 -1
  750. package/src/FieldError.tsx +10 -5
  751. package/src/HtmlProps.ts +1 -0
  752. package/src/MenuItem.tsx +1 -0
  753. package/src/OdysseyCacheProvider.tsx +11 -3
  754. package/src/OdysseyProvider.tsx +1 -1
  755. package/src/OdysseyTranslationProvider.tsx +1 -17
  756. package/src/{DataTable/DataTablePagination.tsx → Pagination/Pagination.tsx} +107 -74
  757. package/src/Pagination/constants.ts +13 -0
  758. package/src/Pagination/index.ts +15 -0
  759. package/src/Pagination/usePagination.ts +49 -0
  760. package/src/Radio.tsx +18 -6
  761. package/src/ScreenReaderText.tsx +15 -3
  762. package/src/Select.tsx +84 -92
  763. package/src/Status.tsx +14 -2
  764. package/src/Surface.tsx +48 -0
  765. package/src/Tabs.tsx +24 -0
  766. package/src/TextField.tsx +50 -0
  767. package/src/Toast.tsx +44 -40
  768. package/src/icons.generated/Add.tsx +1 -1
  769. package/src/icons.generated/AddCircle.tsx +1 -1
  770. package/src/icons.generated/Apps.tsx +1 -1
  771. package/src/icons.generated/ArrowBottom.tsx +2 -2
  772. package/src/icons.generated/ArrowDown.tsx +1 -1
  773. package/src/icons.generated/ArrowLeft.tsx +1 -1
  774. package/src/icons.generated/ArrowLowerLeft.tsx +1 -1
  775. package/src/icons.generated/ArrowLowerRight.tsx +1 -1
  776. package/src/icons.generated/ArrowRight.tsx +1 -1
  777. package/src/icons.generated/ArrowTop.tsx +2 -2
  778. package/src/icons.generated/ArrowUnsorted.tsx +1 -1
  779. package/src/icons.generated/ArrowUp.tsx +1 -1
  780. package/src/icons.generated/ArrowUpperLeft.tsx +1 -1
  781. package/src/icons.generated/ArrowUpperRight.tsx +1 -1
  782. package/src/icons.generated/Bug.tsx +1 -1
  783. package/src/icons.generated/Calendar.tsx +1 -1
  784. package/src/icons.generated/Call.tsx +1 -1
  785. package/src/icons.generated/Chat.tsx +1 -1
  786. package/src/icons.generated/Check.tsx +1 -1
  787. package/src/icons.generated/CheckCircleFilled.tsx +1 -1
  788. package/src/icons.generated/ChevronDown.tsx +1 -1
  789. package/src/icons.generated/ChevronLeft.tsx +1 -1
  790. package/src/icons.generated/ChevronRight.tsx +1 -1
  791. package/src/icons.generated/ChevronUp.tsx +1 -1
  792. package/src/icons.generated/Clock.tsx +1 -1
  793. package/src/icons.generated/Close.tsx +1 -1
  794. package/src/icons.generated/CloseCircleFilled.tsx +1 -1
  795. package/src/icons.generated/CollapseLeft.tsx +1 -1
  796. package/src/icons.generated/CollapseRight.tsx +1 -1
  797. package/src/icons.generated/Copy.tsx +1 -1
  798. package/src/icons.generated/Custom.tsx +49 -0
  799. package/src/icons.generated/DangerDiamond.tsx +1 -1
  800. package/src/icons.generated/DangerDiamondFilled.tsx +1 -1
  801. package/src/icons.generated/Delete.tsx +1 -1
  802. package/src/icons.generated/Deny.tsx +1 -1
  803. package/src/icons.generated/Devices.tsx +1 -1
  804. package/src/icons.generated/Directory.tsx +1 -1
  805. package/src/icons.generated/Documentation.tsx +1 -1
  806. package/src/icons.generated/Download.tsx +1 -1
  807. package/src/icons.generated/DragIndicator.tsx +1 -1
  808. package/src/icons.generated/Duo.tsx +59 -0
  809. package/src/icons.generated/Edit.tsx +1 -1
  810. package/src/icons.generated/Email.tsx +48 -0
  811. package/src/icons.generated/ExpandLeft.tsx +1 -1
  812. package/src/icons.generated/ExpandRight.tsx +1 -1
  813. package/src/icons.generated/ExternalLink.tsx +1 -1
  814. package/src/icons.generated/Fido2.tsx +71 -0
  815. package/src/icons.generated/Filter.tsx +1 -1
  816. package/src/icons.generated/Folder.tsx +1 -1
  817. package/src/icons.generated/Globe.tsx +1 -1
  818. package/src/icons.generated/GoogleAuth.tsx +67 -0
  819. package/src/icons.generated/Grid.tsx +1 -1
  820. package/src/icons.generated/Group.tsx +1 -1
  821. package/src/icons.generated/Hide.tsx +1 -1
  822. package/src/icons.generated/Home.tsx +1 -1
  823. package/src/icons.generated/Idp.tsx +51 -0
  824. package/src/icons.generated/InformationCircle.tsx +1 -1
  825. package/src/icons.generated/InformationCircleFilled.tsx +1 -1
  826. package/src/icons.generated/Link.tsx +1 -1
  827. package/src/icons.generated/List.tsx +1 -1
  828. package/src/icons.generated/Lock.tsx +1 -1
  829. package/src/icons.generated/More.tsx +1 -1
  830. package/src/icons.generated/Notification.tsx +1 -1
  831. package/src/icons.generated/OktaVerify.tsx +43 -0
  832. package/src/icons.generated/OnPremMfa.tsx +49 -0
  833. package/src/icons.generated/OneTimePassword.tsx +63 -0
  834. package/src/icons.generated/Password.tsx +77 -0
  835. package/src/icons.generated/Pause.tsx +1 -1
  836. package/src/icons.generated/QuestionCircle.tsx +1 -1
  837. package/src/icons.generated/QuestionCircleFilled.tsx +1 -1
  838. package/src/icons.generated/Refresh.tsx +1 -1
  839. package/src/icons.generated/Reset.tsx +1 -1
  840. package/src/icons.generated/Resume.tsx +1 -1
  841. package/src/icons.generated/Search.tsx +1 -1
  842. package/src/icons.generated/SecurityQuestion.tsx +48 -0
  843. package/src/icons.generated/Server.tsx +1 -1
  844. package/src/icons.generated/Settings.tsx +1 -1
  845. package/src/icons.generated/Show.tsx +1 -1
  846. package/src/icons.generated/SmartCard.tsx +62 -0
  847. package/src/icons.generated/Sms.tsx +52 -0
  848. package/src/icons.generated/Subtract.tsx +1 -1
  849. package/src/icons.generated/SymantecVip.tsx +49 -0
  850. package/src/icons.generated/Sync.tsx +1 -1
  851. package/src/icons.generated/ThumbsDown.tsx +43 -0
  852. package/src/icons.generated/ThumbsUp.tsx +43 -0
  853. package/src/icons.generated/Unlock.tsx +1 -1
  854. package/src/icons.generated/Upload.tsx +1 -1
  855. package/src/icons.generated/User.tsx +1 -1
  856. package/src/icons.generated/Video.tsx +1 -1
  857. package/src/icons.generated/VoiceCall.tsx +59 -0
  858. package/src/icons.generated/Warning.tsx +1 -1
  859. package/src/icons.generated/WarningFilled.tsx +1 -1
  860. package/src/icons.generated/Yubikey.tsx +41 -0
  861. package/src/icons.generated/index.ts +18 -0
  862. package/src/index.ts +7 -2
  863. package/src/labs/DataComponents/BulkActionsMenu.tsx +97 -0
  864. package/src/labs/DataComponents/DataStack.tsx +99 -0
  865. package/src/labs/DataComponents/DataTable.tsx +111 -0
  866. package/src/labs/DataComponents/DataView.tsx +394 -0
  867. package/src/labs/DataComponents/DetailPanel.tsx +31 -0
  868. package/src/labs/DataComponents/LayoutSwitcher.tsx +73 -0
  869. package/src/labs/DataComponents/RowActions.tsx +122 -0
  870. package/src/labs/DataComponents/StackCard.tsx +256 -0
  871. package/src/labs/DataComponents/StackContent.tsx +254 -0
  872. package/src/labs/DataComponents/TableContent.tsx +390 -0
  873. package/src/labs/DataComponents/TableSettings.tsx +138 -0
  874. package/src/labs/DataComponents/componentTypes.ts +111 -0
  875. package/src/labs/DataComponents/constants.tsx +20 -0
  876. package/src/labs/DataComponents/dataTypes.ts +77 -0
  877. package/src/labs/DataComponents/fetchData.ts +47 -0
  878. package/src/labs/DataComponents/index.tsx +19 -0
  879. package/src/labs/DataComponents/tableConstants.tsx +162 -0
  880. package/src/labs/DataComponents/useFilterConversion.ts +92 -0
  881. package/src/labs/DataFilters.tsx +250 -162
  882. package/src/labs/DateField.tsx +119 -0
  883. package/src/labs/DatePicker.tsx +304 -31
  884. package/src/labs/{DatePicker.types.ts → DatePicker.types.d.ts} +0 -10
  885. package/src/labs/FileUpload.tsx +30 -21
  886. package/src/labs/FileUploadIllustration.tsx +1 -1
  887. package/src/labs/FileUploadPreview.tsx +1 -0
  888. package/src/labs/Layout.tsx +85 -0
  889. package/src/labs/NavAccordion.tsx +133 -0
  890. package/src/labs/PageTemplate.tsx +225 -0
  891. package/src/labs/SideNav.tsx +745 -0
  892. package/src/labs/Switch.tsx +240 -119
  893. package/src/labs/datePickerTheme.tsx +119 -83
  894. package/src/labs/index.ts +7 -1
  895. package/src/labs/useDatePickerTranslations.ts +92 -0
  896. package/src/properties/odyssey-react-mui.properties +76 -10
  897. package/src/properties/translations/odyssey-react-mui_cs.properties +92 -2
  898. package/src/properties/translations/odyssey-react-mui_da.properties +92 -2
  899. package/src/properties/translations/odyssey-react-mui_de.properties +92 -2
  900. package/src/properties/translations/odyssey-react-mui_el.properties +92 -2
  901. package/src/properties/translations/odyssey-react-mui_es.properties +92 -2
  902. package/src/properties/translations/odyssey-react-mui_fi.properties +92 -2
  903. package/src/properties/translations/odyssey-react-mui_fr.properties +92 -2
  904. package/src/properties/translations/odyssey-react-mui_ht.properties +112 -0
  905. package/src/properties/translations/odyssey-react-mui_hu.properties +92 -2
  906. package/src/properties/translations/odyssey-react-mui_id.properties +92 -2
  907. package/src/properties/translations/odyssey-react-mui_it.properties +92 -2
  908. package/src/properties/translations/odyssey-react-mui_ja.properties +92 -2
  909. package/src/properties/translations/odyssey-react-mui_ko.properties +92 -2
  910. package/src/properties/translations/odyssey-react-mui_ms.properties +92 -2
  911. package/src/properties/translations/odyssey-react-mui_nb.properties +92 -2
  912. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +92 -2
  913. package/src/properties/translations/odyssey-react-mui_ok_PL.properties +33 -2
  914. package/src/properties/translations/odyssey-react-mui_ok_SK.properties +33 -2
  915. package/src/properties/translations/odyssey-react-mui_pl.properties +92 -2
  916. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +92 -2
  917. package/src/properties/translations/odyssey-react-mui_ro.properties +92 -2
  918. package/src/properties/translations/odyssey-react-mui_ru.properties +92 -2
  919. package/src/properties/translations/odyssey-react-mui_sv.properties +92 -2
  920. package/src/properties/translations/odyssey-react-mui_th.properties +92 -2
  921. package/src/properties/translations/odyssey-react-mui_tr.properties +92 -2
  922. package/src/properties/translations/odyssey-react-mui_uk.properties +92 -2
  923. package/src/properties/translations/odyssey-react-mui_vi.properties +92 -2
  924. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +92 -2
  925. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +92 -2
  926. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  927. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  928. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  929. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  930. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  931. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  932. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  933. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  934. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -0
  935. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  936. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  937. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  938. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  939. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  940. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  941. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  942. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  943. package/src/properties/ts/odyssey-react-mui_ok_PL.ts +1 -1
  944. package/src/properties/ts/odyssey-react-mui_ok_SK.ts +1 -1
  945. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  946. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  947. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  948. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  949. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  950. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  951. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  952. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  953. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  954. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  955. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  956. package/src/remUtils.ts +27 -0
  957. package/src/test-selectors/featureTestSelector.ts +41 -0
  958. package/src/test-selectors/index.ts +15 -0
  959. package/src/test-selectors/odysseyTestSelectors.ts +22 -0
  960. package/src/test-selectors/querySelector.ts +198 -0
  961. package/src/theme/components.tsx +285 -192
  962. package/src/theme/components.types.ts +5 -3
  963. package/dist/DataTable/DataTableEmptyState.js.map +0 -1
  964. package/dist/DataTable/DataTablePagination.js.map +0 -1
  965. package/dist/Tile.js.map +0 -1
  966. package/dist/labs/DatePicker.types.js.map +0 -1
  967. package/dist/labs/Drawer.js.map +0 -1
  968. package/dist/src/DataTable/DataTableEmptyState.d.ts.map +0 -1
  969. package/dist/src/DataTable/DataTablePagination.d.ts +0 -33
  970. package/dist/src/DataTable/DataTablePagination.d.ts.map +0 -1
  971. package/dist/src/Tile.d.ts.map +0 -1
  972. package/dist/src/labs/DatePicker.types.d.ts.map +0 -1
  973. package/dist/src/labs/Drawer.d.ts.map +0 -1
@@ -0,0 +1,478 @@
1
+ /*!
2
+ * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import styled from "@emotion/styled";
14
+ import { memo, useMemo, useState, useCallback } from "react";
15
+ import { Box } from "../Box.js";
16
+ import { Button } from "../Button.js";
17
+ import { CollapseLeftIcon, ExpandLeftIcon } from "../icons.generated/index.js";
18
+ import { Link } from "../Link.js";
19
+ import { NavAccordion } from "./NavAccordion.js";
20
+ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
21
+ import { Status } from "../Status.js";
22
+ import { Heading6 } from "../Typography.js";
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { jsxs as _jsxs } from "react/jsx-runtime";
25
+ import { Fragment as _Fragment } from "react/jsx-runtime";
26
+ const SideNavCollapsedContainer = styled("div", {
27
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isSideNavCollapsed"
28
+ })(({
29
+ odysseyDesignTokens,
30
+ isSideNavCollapsed
31
+ }) => ({
32
+ backgroundColor: odysseyDesignTokens.HueNeutral300,
33
+ paddingTop: odysseyDesignTokens.Spacing5,
34
+ cursor: "pointer",
35
+ width: isSideNavCollapsed ? "auto" : 0,
36
+ opacity: isSideNavCollapsed ? 1 : 0,
37
+ visibility: isSideNavCollapsed ? "visible" : "hidden",
38
+ transitionProperty: "opacity",
39
+ transitionDuration: odysseyDesignTokens.TransitionDurationMain,
40
+ transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain
41
+ }));
42
+ const SideNavExpandContainer = styled("div", {
43
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isSideNavCollapsed"
44
+ })(({
45
+ odysseyDesignTokens,
46
+ isSideNavCollapsed
47
+ }) => ({
48
+ backgroundColor: odysseyDesignTokens.HueNeutralWhite,
49
+ flexDirection: "column",
50
+ display: "flex",
51
+ opacity: isSideNavCollapsed ? 0 : 1,
52
+ visibility: isSideNavCollapsed ? "hidden" : "visible",
53
+ width: isSideNavCollapsed ? "0" : "100%",
54
+ transitionProperty: "opacity, width",
55
+ transitionDuration: odysseyDesignTokens.TransitionDurationMain,
56
+ transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain
57
+ }));
58
+ const SideNavHeaderContainer = styled("div", {
59
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
60
+ })(({
61
+ odysseyDesignTokens
62
+ }) => ({
63
+ display: "flex",
64
+ justifyContent: "space-between",
65
+ alignItems: "center",
66
+ paddingLeft: odysseyDesignTokens.Spacing4,
67
+ paddingRight: odysseyDesignTokens.Spacing4,
68
+ paddingTop: odysseyDesignTokens.Spacing3,
69
+ paddingBottom: odysseyDesignTokens.Spacing3
70
+ }));
71
+ const CollapseIcon = ({
72
+ onClick
73
+ }) => {
74
+ const odysseyDesignTokens = useOdysseyDesignTokens();
75
+ const collapseButtonStyles = useMemo(() => ({
76
+ "& > button": {
77
+ height: odysseyDesignTokens.Spacing6,
78
+ width: odysseyDesignTokens.Spacing6,
79
+ color: odysseyDesignTokens.HueNeutral400
80
+ }
81
+ }), [odysseyDesignTokens]);
82
+ return _jsx(Box, {
83
+ sx: collapseButtonStyles,
84
+ children: _jsx(Button, {
85
+ tabIndex: 0,
86
+ variant: "secondary",
87
+ onClick: onClick,
88
+ startIcon: _jsx(CollapseLeftIcon, {}),
89
+ ariaLabel: "collapse side navigation"
90
+ })
91
+ });
92
+ };
93
+ const SideNavHeader = ({
94
+ navHeaderText,
95
+ isCollapsible,
96
+ onCollapse
97
+ }) => {
98
+ const odysseyDesignTokens = useOdysseyDesignTokens();
99
+ const sideNavHeaderStyles = useMemo(() => ({
100
+ marginTop: odysseyDesignTokens.Spacing2
101
+ }), [odysseyDesignTokens]);
102
+ return _jsxs(SideNavHeaderContainer, {
103
+ odysseyDesignTokens: odysseyDesignTokens,
104
+ children: [_jsx(Box, {
105
+ sx: sideNavHeaderStyles,
106
+ children: _jsx(Heading6, {
107
+ children: navHeaderText
108
+ })
109
+ }), isCollapsible && _jsx(CollapseIcon, {
110
+ onClick: onCollapse
111
+ })]
112
+ });
113
+ };
114
+ const SideNavListContainer = styled.ul({
115
+ padding: 0,
116
+ listStyle: "none",
117
+ listStyleType: "none"
118
+ });
119
+ const SectionHeader = styled("li", {
120
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
121
+ })(({
122
+ odysseyDesignTokens
123
+ }) => ({
124
+ fontSize: odysseyDesignTokens.TypographySizeOverline,
125
+ fontWeight: odysseyDesignTokens.TypographyWeightHeadingBold,
126
+ color: odysseyDesignTokens.HueNeutral600,
127
+ paddingTop: odysseyDesignTokens.Spacing3,
128
+ paddingBottom: odysseyDesignTokens.Spacing3,
129
+ paddingLeft: odysseyDesignTokens.Spacing4,
130
+ textTransform: "uppercase"
131
+ }));
132
+ const SideNavItemLabelContainer = styled("div", {
133
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isIconVisible"
134
+ })(({
135
+ odysseyDesignTokens,
136
+ isIconVisible
137
+ }) => ({
138
+ width: "100%",
139
+ display: "flex",
140
+ flexWrap: "wrap",
141
+ alignItems: "center",
142
+ fontSize: odysseyDesignTokens.TypographyScale0,
143
+ fontWeight: odysseyDesignTokens.TypographyWeightHeading,
144
+ marginLeft: isIconVisible ? odysseyDesignTokens.Spacing2 : 0,
145
+ "& a": {
146
+ color: `${odysseyDesignTokens.TypographyColorHeading} !important`,
147
+ fontSize: odysseyDesignTokens.TypographyScale0
148
+ },
149
+ "& a:hover": {
150
+ textDecoration: "none",
151
+ cursor: "pointer"
152
+ }
153
+ }));
154
+ const SideNavListItemContainer = styled("li", {
155
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isSelected" && prop !== "isDisabled"
156
+ })(({
157
+ odysseyDesignTokens,
158
+ isSelected,
159
+ isDisabled
160
+ }) => ({
161
+ display: "flex",
162
+ alignItems: "center",
163
+ cursor: isDisabled ? "default" : "pointer",
164
+ pointerEvents: isDisabled ? "none" : "auto",
165
+ backgroundColor: isSelected ? odysseyDesignTokens.HueNeutral50 : "unset",
166
+ margin: `${odysseyDesignTokens.Spacing1} 0`,
167
+ "&:last-child": {
168
+ marginBottom: odysseyDesignTokens.Spacing2
169
+ },
170
+ "& a": {
171
+ display: "flex",
172
+ alignItems: "center",
173
+ width: "100%",
174
+ minHeight: "48px",
175
+ padding: `${odysseyDesignTokens.Spacing3} ${odysseyDesignTokens.Spacing4}`,
176
+ color: `${odysseyDesignTokens.TypographyColorHeading} !important`,
177
+ pointerEvents: isDisabled ? "none" : "auto"
178
+ },
179
+ "& a:hover": {
180
+ textDecoration: "none",
181
+ cursor: isDisabled ? "default" : "pointer",
182
+ backgroundColor: !isDisabled ? odysseyDesignTokens.HueNeutral50 : "inherit"
183
+ },
184
+ "& a:focus-visible": {
185
+ outlineOffset: 0,
186
+ borderRadius: 0,
187
+ outlineWidth: odysseyDesignTokens.FocusOutlineWidthMain,
188
+ backgroundColor: !isDisabled ? odysseyDesignTokens.HueNeutral50 : "inherit"
189
+ }
190
+ }));
191
+ const SideNavFooterContainer = styled("div", {
192
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
193
+ })(({
194
+ odysseyDesignTokens
195
+ }) => ({
196
+ paddingTop: odysseyDesignTokens.Spacing2,
197
+ paddingBottom: odysseyDesignTokens.Spacing2,
198
+ display: "flex",
199
+ justifyContent: "center",
200
+ flexWrap: "wrap",
201
+ alignItems: "center",
202
+ fontSize: odysseyDesignTokens.TypographySizeOverline,
203
+ "& a": {
204
+ color: `${odysseyDesignTokens.TypographyColorHeading} !important`
205
+ },
206
+ "& a:hover": {
207
+ textDecoration: "none"
208
+ },
209
+ "& a:visited": {
210
+ color: odysseyDesignTokens.TypographyColorHeading
211
+ }
212
+ }));
213
+ const SideNavItemLinkContent = ({
214
+ label,
215
+ startIcon,
216
+ endIcon,
217
+ severity,
218
+ statusLabel
219
+ }) => {
220
+ const odysseyDesignTokens = useOdysseyDesignTokens();
221
+ const sideNavItemContentStyles = useMemo(() => ({
222
+ marginLeft: odysseyDesignTokens.Spacing2
223
+ }), [odysseyDesignTokens]);
224
+ return _jsxs(_Fragment, {
225
+ children: [startIcon && startIcon, _jsxs(SideNavItemLabelContainer, {
226
+ odysseyDesignTokens: odysseyDesignTokens,
227
+ isIconVisible: Boolean(startIcon),
228
+ children: [label, severity && _jsx(Box, {
229
+ sx: sideNavItemContentStyles,
230
+ children: _jsx(Status, {
231
+ severity: severity,
232
+ label: statusLabel || ""
233
+ })
234
+ })]
235
+ }), endIcon && endIcon]
236
+ });
237
+ };
238
+ const SideNavItemContent = ({
239
+ id,
240
+ label,
241
+ href,
242
+ target,
243
+ startIcon,
244
+ severity,
245
+ statusLabel,
246
+ endIcon,
247
+ onClick,
248
+ isSelected,
249
+ isDisabled
250
+ }) => {
251
+ const odysseyDesignTokens = useOdysseyDesignTokens();
252
+ const NavItemContentClickContainer = styled("div", {
253
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
254
+ })(() => ({
255
+ display: "flex",
256
+ alignItems: "center",
257
+ width: "100%",
258
+ minHeight: "48px",
259
+ padding: `${odysseyDesignTokens.Spacing3} ${odysseyDesignTokens.Spacing4}`,
260
+ color: `${isDisabled ? odysseyDesignTokens.TypographyColorDisabled : odysseyDesignTokens.TypographyColorHeading} !important`,
261
+ "&:focus-visible": {
262
+ borderRadius: 0,
263
+ outlineColor: odysseyDesignTokens.FocusOutlineColorPrimary,
264
+ outlineStyle: odysseyDesignTokens.FocusOutlineStyle,
265
+ outlineWidth: odysseyDesignTokens.FocusOutlineWidthMain,
266
+ backgroundColor: odysseyDesignTokens.HueNeutral50,
267
+ textDecoration: "none"
268
+ }
269
+ }));
270
+ const sideNavItemContentKeyHandler = useCallback(event => {
271
+ if (event?.key === "Enter") {
272
+ event.preventDefault();
273
+ onClick?.();
274
+ }
275
+ }, [onClick]);
276
+ const sideNavItemContent = useMemo(() => {
277
+ return _jsx(SideNavListItemContainer, {
278
+ id: id,
279
+ disabled: isDisabled,
280
+ "aria-disabled": isDisabled,
281
+ isDisabled: isDisabled,
282
+ isSelected: isSelected,
283
+ odysseyDesignTokens: odysseyDesignTokens,
284
+ children: isDisabled ? _jsx(NavItemContentClickContainer, {
285
+ children: _jsx(SideNavItemLinkContent, {
286
+ label: label,
287
+ startIcon: startIcon,
288
+ endIcon: endIcon,
289
+ statusLabel: statusLabel,
290
+ severity: severity
291
+ })
292
+ }) : !href ? _jsx(NavItemContentClickContainer, {
293
+ role: "button",
294
+ tabIndex: 0,
295
+ onClick: onClick,
296
+ onKeyDown: sideNavItemContentKeyHandler,
297
+ children: _jsx(SideNavItemLinkContent, {
298
+ label: label,
299
+ startIcon: startIcon,
300
+ endIcon: endIcon,
301
+ statusLabel: statusLabel,
302
+ severity: severity
303
+ })
304
+ }) : _jsx(Link, {
305
+ href: href,
306
+ target: target,
307
+ onClick: onClick,
308
+ children: _jsx(SideNavItemLinkContent, {
309
+ label: label,
310
+ startIcon: startIcon,
311
+ endIcon: endIcon,
312
+ statusLabel: statusLabel,
313
+ severity: severity
314
+ })
315
+ })
316
+ }, id);
317
+ }, [id, label, href, target, startIcon, severity, statusLabel, endIcon, onClick, isSelected, isDisabled, NavItemContentClickContainer, sideNavItemContentKeyHandler, odysseyDesignTokens]);
318
+ return sideNavItemContent;
319
+ };
320
+ const SideNavFooterContent = footerItems => {
321
+ const odysseyDesignTokens = useOdysseyDesignTokens();
322
+ const footerContent = useMemo(() => {
323
+ return footerItems?.map((item, index) => _jsxs(Box, {
324
+ sx: {
325
+ display: "flex"
326
+ },
327
+ children: [item.href ? _jsx(Link, {
328
+ href: item.href,
329
+ children: item.label
330
+ }, item.id) : _jsx(Box, {
331
+ component: "span",
332
+ children: item.label
333
+ }, item.id), index < footerItems.length - 1 && _jsx(Box, {
334
+ sx: {
335
+ marginLeft: odysseyDesignTokens.Spacing4,
336
+ marginRight: odysseyDesignTokens.Spacing4,
337
+ color: odysseyDesignTokens.HueNeutral300
338
+ },
339
+ children: "|"
340
+ }, `${item.id}-separator`)]
341
+ }, `${item.id}-wrapper`));
342
+ }, [footerItems, odysseyDesignTokens]);
343
+ return footerContent;
344
+ };
345
+ const SideNav = ({
346
+ navHeaderText,
347
+ isCollapsible,
348
+ onCollapse,
349
+ onExpand,
350
+ sideNavItems,
351
+ footerItems
352
+ }) => {
353
+ const [isSideNavCollapsed, setSideNavCollapsed] = useState(false);
354
+ const odysseyDesignTokens = useOdysseyDesignTokens();
355
+ const processedSideNavItems = useMemo(() => sideNavItems.map(item => ({
356
+ ...item,
357
+ children: item.children?.map(childProps => _jsx(SideNavItemContent, {
358
+ ...childProps
359
+ }, childProps.id))
360
+ })), [sideNavItems]);
361
+ const sideNavCollapseHandler = useCallback(() => {
362
+ setSideNavCollapsed(!isSideNavCollapsed);
363
+ onCollapse?.();
364
+ }, [isSideNavCollapsed, setSideNavCollapsed, onCollapse]);
365
+ const sideNavExpandClickHandler = useCallback(() => {
366
+ setSideNavCollapsed(!isSideNavCollapsed);
367
+ onExpand?.();
368
+ }, [isSideNavCollapsed, setSideNavCollapsed, onExpand]);
369
+ const sideNavExpandKeyHandler = useCallback(event => {
370
+ if (event?.key === "Enter" || event?.code === "Space") {
371
+ event.preventDefault();
372
+ setSideNavCollapsed(!isSideNavCollapsed);
373
+ onExpand?.();
374
+ }
375
+ }, [isSideNavCollapsed, setSideNavCollapsed, onExpand]);
376
+ const sideNavStyles = useMemo(() => ({
377
+ display: "flex",
378
+ height: "100vh"
379
+ }), []);
380
+ const sideNavHeaderContainerStyles = useMemo(() => ({
381
+ position: "sticky",
382
+ top: 0
383
+ }), []);
384
+ const sideNavListContainerStyles = useMemo(() => ({
385
+ flex: 1,
386
+ overflowY: "auto"
387
+ }), []);
388
+ const sideNavFooterContainerStyles = useMemo(() => ({
389
+ position: "sticky",
390
+ bottom: 0,
391
+ paddingTop: odysseyDesignTokens.Spacing2
392
+ }), [odysseyDesignTokens]);
393
+ const expandLeftIconStyles = useMemo(() => ({
394
+ fontSize: "1em",
395
+ margin: `0 ${odysseyDesignTokens.Spacing1}`
396
+ }), [odysseyDesignTokens]);
397
+ return _jsxs(Box, {
398
+ sx: sideNavStyles,
399
+ children: [_jsx(SideNavCollapsedContainer, {
400
+ tabIndex: 0,
401
+ role: "button",
402
+ odysseyDesignTokens: odysseyDesignTokens,
403
+ isSideNavCollapsed: isSideNavCollapsed,
404
+ onClick: sideNavExpandClickHandler,
405
+ onKeyDown: sideNavExpandKeyHandler,
406
+ "data-testid": "collapsed-region",
407
+ "data-aria-label": "expand side navigation",
408
+ children: _jsx(ExpandLeftIcon, {
409
+ sx: expandLeftIconStyles
410
+ })
411
+ }), _jsxs(SideNavExpandContainer, {
412
+ odysseyDesignTokens: odysseyDesignTokens,
413
+ isSideNavCollapsed: isSideNavCollapsed,
414
+ "data-testid": "expanded-region",
415
+ children: [_jsx(Box, {
416
+ sx: sideNavHeaderContainerStyles,
417
+ children: _jsx(SideNavHeader, {
418
+ navHeaderText: navHeaderText,
419
+ isCollapsible: isCollapsible,
420
+ onCollapse: sideNavCollapseHandler
421
+ })
422
+ }), _jsx(Box, {
423
+ sx: sideNavListContainerStyles,
424
+ children: _jsx(SideNavListContainer, {
425
+ children: processedSideNavItems?.map(item => {
426
+ const {
427
+ id,
428
+ label,
429
+ isSectionHeader,
430
+ startIcon,
431
+ children,
432
+ isDefaultExpanded,
433
+ isDisabled,
434
+ isExpanded
435
+ } = item;
436
+ if (isSectionHeader) {
437
+ return _jsx(SectionHeader, {
438
+ id: id,
439
+ odysseyDesignTokens: odysseyDesignTokens,
440
+ children: label
441
+ }, id);
442
+ } else if (children) {
443
+ return _jsx(SideNavListItemContainer, {
444
+ id: id,
445
+ odysseyDesignTokens: odysseyDesignTokens,
446
+ children: _jsx(NavAccordion, {
447
+ label: label,
448
+ isDefaultExpanded: isDefaultExpanded,
449
+ isExpanded: isExpanded,
450
+ startIcon: startIcon,
451
+ isDisabled: isDisabled,
452
+ children: _jsx(SideNavListContainer, {
453
+ id: `${id}-list`,
454
+ children: children
455
+ })
456
+ })
457
+ }, id);
458
+ } else {
459
+ return _jsx(SideNavItemContent, {
460
+ ...item
461
+ }, item.id);
462
+ }
463
+ })
464
+ })
465
+ }), footerItems && _jsx(Box, {
466
+ sx: sideNavFooterContainerStyles,
467
+ children: _jsx(SideNavFooterContainer, {
468
+ odysseyDesignTokens: odysseyDesignTokens,
469
+ children: SideNavFooterContent(footerItems)
470
+ })
471
+ })]
472
+ })]
473
+ });
474
+ };
475
+ const MemoizedSideNav = memo(SideNav);
476
+ MemoizedSideNav.displayName = "SideNav";
477
+ export { MemoizedSideNav as SideNav };
478
+ //# sourceMappingURL=SideNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNav.js","names":["styled","memo","useMemo","useState","useCallback","Box","Button","CollapseLeftIcon","ExpandLeftIcon","Link","NavAccordion","useOdysseyDesignTokens","Status","Heading6","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SideNavCollapsedContainer","shouldForwardProp","prop","odysseyDesignTokens","isSideNavCollapsed","backgroundColor","HueNeutral300","paddingTop","Spacing5","cursor","width","opacity","visibility","transitionProperty","transitionDuration","TransitionDurationMain","transitionTimingFunction","TransitionTimingMain","SideNavExpandContainer","HueNeutralWhite","flexDirection","display","SideNavHeaderContainer","justifyContent","alignItems","paddingLeft","Spacing4","paddingRight","Spacing3","paddingBottom","CollapseIcon","onClick","collapseButtonStyles","height","Spacing6","color","HueNeutral400","sx","children","tabIndex","variant","startIcon","ariaLabel","SideNavHeader","navHeaderText","isCollapsible","onCollapse","sideNavHeaderStyles","marginTop","Spacing2","SideNavListContainer","ul","padding","listStyle","listStyleType","SectionHeader","fontSize","TypographySizeOverline","fontWeight","TypographyWeightHeadingBold","HueNeutral600","textTransform","SideNavItemLabelContainer","isIconVisible","flexWrap","TypographyScale0","TypographyWeightHeading","marginLeft","TypographyColorHeading","textDecoration","SideNavListItemContainer","isSelected","isDisabled","pointerEvents","HueNeutral50","margin","Spacing1","marginBottom","minHeight","outlineOffset","borderRadius","outlineWidth","FocusOutlineWidthMain","SideNavFooterContainer","SideNavItemLinkContent","label","endIcon","severity","statusLabel","sideNavItemContentStyles","Boolean","SideNavItemContent","id","href","target","NavItemContentClickContainer","TypographyColorDisabled","outlineColor","FocusOutlineColorPrimary","outlineStyle","FocusOutlineStyle","sideNavItemContentKeyHandler","event","key","preventDefault","sideNavItemContent","disabled","role","onKeyDown","SideNavFooterContent","footerItems","footerContent","map","item","index","component","length","marginRight","SideNav","onExpand","sideNavItems","setSideNavCollapsed","processedSideNavItems","childProps","sideNavCollapseHandler","sideNavExpandClickHandler","sideNavExpandKeyHandler","code","sideNavStyles","sideNavHeaderContainerStyles","position","top","sideNavListContainerStyles","flex","overflowY","sideNavFooterContainerStyles","bottom","expandLeftIconStyles","isSectionHeader","isDefaultExpanded","isExpanded","MemoizedSideNav","displayName"],"sources":["../../src/labs/SideNav.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n memo,\n useMemo,\n useState,\n ReactElement,\n ReactNode,\n useCallback,\n KeyboardEvent,\n} from \"react\";\n\nimport { Box } from \"../Box\";\nimport { Button } from \"../Button\";\nimport type { HtmlProps } from \"../HtmlProps\";\nimport { CollapseLeftIcon, ExpandLeftIcon } from \"../icons.generated\";\nimport { Link } from \"../Link\";\nimport { NavAccordion } from \"./NavAccordion\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { Status, statusSeverityValues } from \"../Status\";\nimport { Heading6 } from \"../Typography\";\n\nexport type SideNavItem = {\n id: string;\n label: string;\n /**\n * The icon element to display at the end of the Nav Item\n */\n endIcon?: ReactElement;\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 children is not expandable.\n */\n isDisabled?: boolean;\n /**\n * Whether the item is active/selected\n */\n isSelected?: boolean;\n /**\n * Event fired when the nav item is clicked\n */\n onClick?(): void;\n /**\n * The status element to display after the label\n */\n severity?: (typeof statusSeverityValues)[number];\n /**\n * The icon element to display at the start of the Nav Item\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 /**\n * Determines if the side nav item is a section header\n */\n isSectionHeader: true;\n href?: never;\n children?: never;\n isDefaultExpanded?: never;\n isExpanded?: 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 children?: never;\n isSectionHeader?: never;\n isDefaultExpanded?: never;\n isExpanded?: never;\n }\n | {\n /**\n * An array of side nav items to be displayed as children within Accordion\n */\n children?: SideNavItem[];\n /**\n * Whether the accordion (nav item with children) 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 isSectionHeader?: never;\n href?: never;\n }\n);\n\nexport type SideNavFooterItem = {\n href?: string;\n id: string;\n label: string;\n};\n\nexport type SideNavProps = {\n /**\n * Side Nav header text that is usually reserved to show the App name\n */\n navHeaderText: string;\n /**\n * Determines whether the side nav is collapsible\n */\n isCollapsible?: boolean;\n /**\n * Footer items in the side nav\n */\n footerItems?: SideNavFooterItem[];\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 * Nav items in the side nav\n */\n sideNavItems: SideNavItem[];\n} & Pick<HtmlProps, \"testId\">;\n\nconst SideNavCollapsedContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutral300,\n paddingTop: odysseyDesignTokens.Spacing5,\n cursor: \"pointer\",\n width: isSideNavCollapsed ? \"auto\" : 0,\n opacity: isSideNavCollapsed ? 1 : 0,\n visibility: isSideNavCollapsed ? \"visible\" : \"hidden\",\n transitionProperty: \"opacity\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n }),\n);\n\nconst SideNavExpandContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isSideNavCollapsed\",\n})(\n ({\n odysseyDesignTokens,\n isSideNavCollapsed,\n }: {\n odysseyDesignTokens: DesignTokens;\n isSideNavCollapsed: boolean;\n }) => ({\n backgroundColor: odysseyDesignTokens.HueNeutralWhite,\n flexDirection: \"column\",\n display: \"flex\",\n opacity: isSideNavCollapsed ? 0 : 1,\n visibility: isSideNavCollapsed ? \"hidden\" : \"visible\",\n width: isSideNavCollapsed ? \"0\" : \"100%\",\n transitionProperty: \"opacity, width\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n transitionTimingFunction: odysseyDesignTokens.TransitionTimingMain,\n }),\n);\n\nconst SideNavHeaderContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingLeft: odysseyDesignTokens.Spacing4,\n paddingRight: odysseyDesignTokens.Spacing4,\n paddingTop: odysseyDesignTokens.Spacing3,\n paddingBottom: odysseyDesignTokens.Spacing3,\n}));\n\nconst CollapseIcon = ({ onClick }: { onClick?(): void }): ReactElement => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const collapseButtonStyles = useMemo(\n () => ({\n \"& > button\": {\n height: odysseyDesignTokens.Spacing6,\n width: odysseyDesignTokens.Spacing6,\n color: odysseyDesignTokens.HueNeutral400,\n },\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <Box sx={collapseButtonStyles}>\n <Button\n tabIndex={0}\n variant=\"secondary\"\n onClick={onClick}\n startIcon={<CollapseLeftIcon />}\n ariaLabel=\"collapse side navigation\"\n />\n </Box>\n );\n};\n\nconst SideNavHeader = ({\n navHeaderText,\n isCollapsible,\n onCollapse,\n}: Pick<\n SideNavProps,\n \"navHeaderText\" | \"isCollapsible\" | \"onCollapse\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavHeaderStyles = useMemo(\n () => ({\n marginTop: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <SideNavHeaderContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Box sx={sideNavHeaderStyles}>\n <Heading6>{navHeaderText}</Heading6>\n </Box>\n {isCollapsible && <CollapseIcon onClick={onCollapse} />}\n </SideNavHeaderContainer>\n );\n};\n\nconst SideNavListContainer = styled.ul({\n padding: 0,\n listStyle: \"none\",\n listStyleType: \"none\",\n});\n\nconst SectionHeader = styled(\"li\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n fontWeight: odysseyDesignTokens.TypographyWeightHeadingBold,\n color: odysseyDesignTokens.HueNeutral600,\n paddingTop: odysseyDesignTokens.Spacing3,\n paddingBottom: odysseyDesignTokens.Spacing3,\n paddingLeft: odysseyDesignTokens.Spacing4,\n textTransform: \"uppercase\",\n}));\n\nconst SideNavItemLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isIconVisible\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isIconVisible: boolean;\n}>(({ odysseyDesignTokens, isIconVisible }) => ({\n width: \"100%\",\n display: \"flex\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographyScale0,\n fontWeight: odysseyDesignTokens.TypographyWeightHeading,\n marginLeft: isIconVisible ? odysseyDesignTokens.Spacing2 : 0,\n \"& a\": {\n color: `${odysseyDesignTokens.TypographyColorHeading} !important`,\n fontSize: odysseyDesignTokens.TypographyScale0,\n },\n \"& a:hover\": {\n textDecoration: \"none\",\n cursor: \"pointer\",\n },\n}));\n\nconst SideNavListItemContainer = styled(\"li\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isSelected\" &&\n prop !== \"isDisabled\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isSelected?: boolean;\n disabled?: boolean;\n isDisabled?: boolean;\n}>(({ odysseyDesignTokens, isSelected, isDisabled }) => ({\n display: \"flex\",\n alignItems: \"center\",\n cursor: isDisabled ? \"default\" : \"pointer\",\n pointerEvents: isDisabled ? \"none\" : \"auto\",\n backgroundColor: isSelected ? odysseyDesignTokens.HueNeutral50 : \"unset\",\n margin: `${odysseyDesignTokens.Spacing1} 0`,\n \"&:last-child\": {\n marginBottom: odysseyDesignTokens.Spacing2,\n },\n \"& a\": {\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n minHeight: \"48px\",\n padding: `${odysseyDesignTokens.Spacing3} ${odysseyDesignTokens.Spacing4}`,\n color: `${odysseyDesignTokens.TypographyColorHeading} !important`,\n pointerEvents: isDisabled ? \"none\" : \"auto\",\n },\n \"& a:hover\": {\n textDecoration: \"none\",\n cursor: isDisabled ? \"default\" : \"pointer\",\n backgroundColor: !isDisabled ? odysseyDesignTokens.HueNeutral50 : \"inherit\",\n },\n \"& a:focus-visible\": {\n outlineOffset: 0,\n borderRadius: 0,\n outlineWidth: odysseyDesignTokens.FocusOutlineWidthMain,\n backgroundColor: !isDisabled ? odysseyDesignTokens.HueNeutral50 : \"inherit\",\n },\n}));\n\nconst SideNavFooterContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n paddingTop: odysseyDesignTokens.Spacing2,\n paddingBottom: odysseyDesignTokens.Spacing2,\n display: \"flex\",\n justifyContent: \"center\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n fontSize: odysseyDesignTokens.TypographySizeOverline,\n \"& a\": {\n color: `${odysseyDesignTokens.TypographyColorHeading} !important`,\n },\n \"& a:hover\": {\n textDecoration: \"none\",\n },\n \"& a:visited\": {\n color: odysseyDesignTokens.TypographyColorHeading,\n },\n}));\n\nconst SideNavItemLinkContent = ({\n label,\n startIcon,\n endIcon,\n severity,\n statusLabel,\n}: Pick<\n SideNavItem,\n \"label\" | \"startIcon\" | \"endIcon\" | \"severity\" | \"statusLabel\"\n>): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const sideNavItemContentStyles = useMemo(\n () => ({\n marginLeft: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <>\n {startIcon && startIcon}\n <SideNavItemLabelContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isIconVisible={Boolean(startIcon)}\n >\n {label}\n {severity && (\n <Box sx={sideNavItemContentStyles}>\n <Status severity={severity} label={statusLabel || \"\"} />\n </Box>\n )}\n </SideNavItemLabelContainer>\n {endIcon && endIcon}\n </>\n );\n};\n\nconst SideNavItemContent = ({\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isSelected,\n isDisabled,\n}: Pick<\n SideNavItem,\n | \"id\"\n | \"label\"\n | \"href\"\n | \"target\"\n | \"startIcon\"\n | \"severity\"\n | \"statusLabel\"\n | \"endIcon\"\n | \"onClick\"\n | \"isSelected\"\n | \"isDisabled\"\n>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const NavItemContentClickContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n })(() => ({\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n minHeight: \"48px\",\n padding: `${odysseyDesignTokens.Spacing3} ${odysseyDesignTokens.Spacing4}`,\n color: `${isDisabled ? odysseyDesignTokens.TypographyColorDisabled : odysseyDesignTokens.TypographyColorHeading} !important`,\n \"&:focus-visible\": {\n borderRadius: 0,\n outlineColor: odysseyDesignTokens.FocusOutlineColorPrimary,\n outlineStyle: odysseyDesignTokens.FocusOutlineStyle,\n outlineWidth: odysseyDesignTokens.FocusOutlineWidthMain,\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n textDecoration: \"none\",\n },\n }));\n\n const sideNavItemContentKeyHandler = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n onClick?.();\n }\n },\n [onClick],\n );\n\n const sideNavItemContent = useMemo(() => {\n return (\n <SideNavListItemContainer\n id={id}\n key={id}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n isDisabled={isDisabled}\n isSelected={isSelected}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {\n // Use Link for nav items with links and div for disabled or non-link items\n isDisabled ? (\n <NavItemContentClickContainer>\n <SideNavItemLinkContent\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n </NavItemContentClickContainer>\n ) : !href ? (\n <NavItemContentClickContainer\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={sideNavItemContentKeyHandler}\n >\n <SideNavItemLinkContent\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n </NavItemContentClickContainer>\n ) : (\n <Link href={href} target={target} onClick={onClick}>\n <SideNavItemLinkContent\n label={label}\n startIcon={startIcon}\n endIcon={endIcon}\n statusLabel={statusLabel}\n severity={severity}\n />\n </Link>\n )\n }\n </SideNavListItemContainer>\n );\n }, [\n id,\n label,\n href,\n target,\n startIcon,\n severity,\n statusLabel,\n endIcon,\n onClick,\n isSelected,\n isDisabled,\n NavItemContentClickContainer,\n sideNavItemContentKeyHandler,\n odysseyDesignTokens,\n ]);\n\n return sideNavItemContent;\n};\n\nconst SideNavFooterContent = (footerItems: SideNavFooterItem[]): ReactNode => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const footerContent = useMemo(() => {\n return footerItems?.map((item, index) => (\n <Box\n key={`${item.id}-wrapper`}\n sx={{\n display: \"flex\",\n }}\n >\n {item.href ? (\n <Link key={item.id} href={item.href}>\n {item.label}\n </Link>\n ) : (\n <Box component=\"span\" key={item.id}>\n {item.label}\n </Box>\n )}\n {index < footerItems.length - 1 && (\n <Box\n key={`${item.id}-separator`}\n sx={{\n marginLeft: odysseyDesignTokens.Spacing4,\n marginRight: odysseyDesignTokens.Spacing4,\n color: odysseyDesignTokens.HueNeutral300,\n }}\n >\n |\n </Box>\n )}\n </Box>\n ));\n }, [footerItems, odysseyDesignTokens]);\n\n return footerContent;\n};\n\nconst SideNav = ({\n navHeaderText,\n isCollapsible,\n onCollapse,\n onExpand,\n sideNavItems,\n footerItems,\n}: SideNavProps) => {\n const [isSideNavCollapsed, setSideNavCollapsed] = useState(false);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const processedSideNavItems = useMemo(\n () =>\n sideNavItems.map((item) => ({\n ...item,\n children: item.children?.map((childProps) => (\n <SideNavItemContent key={childProps.id} {...childProps} />\n )),\n })),\n [sideNavItems],\n );\n\n const sideNavCollapseHandler = useCallback(() => {\n setSideNavCollapsed(!isSideNavCollapsed);\n onCollapse?.();\n }, [isSideNavCollapsed, setSideNavCollapsed, onCollapse]);\n\n const sideNavExpandClickHandler = useCallback(() => {\n setSideNavCollapsed(!isSideNavCollapsed);\n onExpand?.();\n }, [isSideNavCollapsed, setSideNavCollapsed, onExpand]);\n\n const sideNavExpandKeyHandler = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event?.key === \"Enter\" || event?.code === \"Space\") {\n event.preventDefault();\n setSideNavCollapsed(!isSideNavCollapsed);\n onExpand?.();\n }\n },\n [isSideNavCollapsed, setSideNavCollapsed, onExpand],\n );\n\n const sideNavStyles = useMemo(\n () => ({\n display: \"flex\",\n height: \"100vh\",\n }),\n [],\n );\n\n const sideNavHeaderContainerStyles = useMemo(\n () => ({\n position: \"sticky\",\n top: 0,\n }),\n [],\n );\n\n const sideNavListContainerStyles = useMemo(\n () => ({\n flex: 1,\n overflowY: \"auto\",\n }),\n [],\n );\n\n const sideNavFooterContainerStyles = useMemo(\n () => ({\n position: \"sticky\",\n bottom: 0,\n paddingTop: odysseyDesignTokens.Spacing2,\n }),\n [odysseyDesignTokens],\n );\n\n const expandLeftIconStyles = useMemo(\n () => ({\n fontSize: \"1em\",\n margin: `0 ${odysseyDesignTokens.Spacing1}`,\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <Box sx={sideNavStyles}>\n <SideNavCollapsedContainer\n tabIndex={0}\n role=\"button\"\n odysseyDesignTokens={odysseyDesignTokens}\n isSideNavCollapsed={isSideNavCollapsed}\n onClick={sideNavExpandClickHandler}\n onKeyDown={sideNavExpandKeyHandler}\n data-testid=\"collapsed-region\"\n data-aria-label=\"expand side navigation\"\n >\n <ExpandLeftIcon sx={expandLeftIconStyles} />\n </SideNavCollapsedContainer>\n <SideNavExpandContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isSideNavCollapsed={isSideNavCollapsed}\n data-testid=\"expanded-region\"\n >\n <Box sx={sideNavHeaderContainerStyles}>\n <SideNavHeader\n navHeaderText={navHeaderText}\n isCollapsible={isCollapsible}\n onCollapse={sideNavCollapseHandler}\n />\n </Box>\n <Box sx={sideNavListContainerStyles}>\n <SideNavListContainer>\n {processedSideNavItems?.map((item) => {\n const {\n id,\n label,\n isSectionHeader,\n startIcon,\n children,\n isDefaultExpanded,\n isDisabled,\n isExpanded,\n } = item;\n\n if (isSectionHeader) {\n return (\n <SectionHeader\n id={id}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {label}\n </SectionHeader>\n );\n } else if (children) {\n return (\n <SideNavListItemContainer\n id={id}\n key={id}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <NavAccordion\n label={label}\n isDefaultExpanded={isDefaultExpanded}\n isExpanded={isExpanded}\n startIcon={startIcon}\n isDisabled={isDisabled}\n >\n <SideNavListContainer id={`${id}-list`}>\n {children}\n </SideNavListContainer>\n </NavAccordion>\n </SideNavListItemContainer>\n );\n } else {\n return <SideNavItemContent key={item.id} {...item} />;\n }\n })}\n </SideNavListContainer>\n </Box>\n {footerItems && (\n <Box sx={sideNavFooterContainerStyles}>\n <SideNavFooterContainer odysseyDesignTokens={odysseyDesignTokens}>\n {SideNavFooterContent(footerItems)}\n </SideNavFooterContainer>\n </Box>\n )}\n </SideNavExpandContainer>\n </Box>\n );\n};\n\nconst MemoizedSideNav = memo(SideNav);\nMemoizedSideNav.displayName = \"SideNav\";\n\nexport { MemoizedSideNav as SideNav };\n"],"mappings":"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"}